diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/builtins/add_bits.sail | 129 | ||||
| -rw-r--r-- | test/builtins/append.sail | 260 | ||||
| -rw-r--r-- | test/builtins/get_slice_int.sail | 468 | ||||
| -rw-r--r-- | test/builtins/mult_int.sail | 3038 | ||||
| -rw-r--r-- | test/builtins/not_bool.sail | 9 | ||||
| -rw-r--r-- | test/builtins/replicate_bits.sail | 93 | ||||
| -rwxr-xr-x | test/builtins/run_tests.sh | 92 | ||||
| -rw-r--r-- | test/builtins/set_slice_bits.sail | 683 | ||||
| -rw-r--r-- | test/builtins/shl_int.sail | 18 | ||||
| -rw-r--r-- | test/builtins/signed.sail | 1707 | ||||
| -rw-r--r-- | test/builtins/sub_int.sail | 249 | ||||
| -rw-r--r-- | test/builtins/unsigned1.sail | 3005 | ||||
| -rw-r--r-- | test/builtins/unsigned2.sail | 3001 | ||||
| -rw-r--r-- | test/builtins/unsigned3.sail | 3005 | ||||
| -rw-r--r-- | test/builtins/unsigned4.sail | 3001 | ||||
| -rw-r--r-- | test/builtins/unsigned5.sail | 2001 | ||||
| -rw-r--r-- | test/builtins/unsigned6.sail | 2575 | ||||
| -rw-r--r-- | test/builtins/vector_update_subrange.sail | 15 | ||||
| -rw-r--r-- | test/builtins/zeros.sail | 72 | ||||
| -rwxr-xr-x | test/run_tests.sh | 6 |
20 files changed, 23427 insertions, 0 deletions
diff --git a/test/builtins/add_bits.sail b/test/builtins/add_bits.sail new file mode 100644 index 00000000..5b161e86 --- /dev/null +++ b/test/builtins/add_bits.sail @@ -0,0 +1,129 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(64^0x0 + 64^0x0 == 64^0x0); + assert(64^0x0 + 64^0x1 == 64^0x1); + assert(64^0x0 + 64^0x3000020 == 64^0x3000020); + assert(64^0x0 + 64^0x3000058 == 64^0x3000058); + assert(64^0x0 + 64^0x3000068 == 64^0x3000068); + assert(64^0x0 + 64^0x30000c8 == 64^0x30000c8); + assert(64^0x0 + 64^0x30002a0 == 64^0x30002a0); + assert(64^0x0 + 64^0x3006b10 == 64^0x3006b10); + assert(64^0x0 + 64^0x3808064 == 64^0x3808064); + assert(64^0x0 + 64^0x3808068 == 64^0x3808068); + assert(64^0x0 + 64^0x3808070 == 64^0x3808070); + assert(64^0x0 + 64^0x3808078 == 64^0x3808078); + assert(64^0x0 + 64^0x3808080 == 64^0x3808080); + assert(64^0x0 + 64^0x3808140 == 64^0x3808140); + assert(64^0x0 + 64^0x3808a04 == 64^0x3808a04); + assert(64^0x0 + 64^0x3808a08 == 64^0x3808a08); + assert(64^0x0 + 64^0x3808a10 == 64^0x3808a10); + assert(64^0x0 + 64^0x3808a18 == 64^0x3808a18); + assert(64^0x0 + 64^0x3808a20 == 64^0x3808a20); + assert(64^0x0 + 64^0x3808a78 == 64^0x3808a78); + assert(64^0x0 + 64^0x3808b78 == 64^0x3808b78); + assert(64^0x0 + 64^0x3808b80 == 64^0x3808b80); + assert(64^0x0 + 64^0x3815618 == 64^0x3815618); + assert(64^0x0 + 64^0x3815624 == 64^0x3815624); + assert(64^0x0 + 64^0x3815628 == 64^0x3815628); + assert(64^0x1 + 64^0x1 == 64^0x2); + assert(64^0x10 + 64^0x1 == 64^0x11); + assert(64^0x100 + 64^0x1 == 64^0x101); + assert(64^0x1000 + 64^0x1 == 64^0x1001); + assert(64^0x10000 + 64^0x1 == 64^0x10001); + assert(64^0x10000 + 64^0x12000 == 64^0x22000); + assert(64^0x10000 + 64^0x380a000 == 64^0x381a000); + assert(64^0x1000078 + 64^0x10 == 64^0x1000088); + assert(64^0x1000080 + 64^0x10 == 64^0x1000090); + assert(64^0x1000088 + 64^0x0 == 64^0x1000088); + assert(64^0x1000090 + 64^0x4 == 64^0x1000094); + assert(64^0x1000090 + 64^0xffffffffff023458 == 64^0x234e8); + assert(64^0x1000094 + 64^0xc == 64^0x10000a0); + assert(64^0x100009c + 64^0x10 == 64^0x10000ac); + assert(64^0x100009c + 64^0xc == 64^0x10000a8); + assert(64^0x10000a0 + 64^0x0 == 64^0x10000a0); + assert(64^0x10000a8 + 64^0x10 == 64^0x10000b8); + assert(64^0x10000b0 + 64^0x4 == 64^0x10000b4); + assert(64^0x10000b0 + 64^0xffffffffff021770 == 64^0x21820); + assert(64^0x10000b4 + 64^0xffffffffffffffec == 64^0x10000a0); + assert(64^0x10000bc + 64^0x4 == 64^0x10000c0); + assert(64^0x10000bc + 64^0xffffffffff021764 == 64^0x21820); + assert(64^0x10000c0 + 64^0xffffffffffffffe0 == 64^0x10000a0); + assert(64^0x10001 + 64^0x1 == 64^0x10002); + assert(64^0x10056 + 64^0x1 == 64^0x10057); + assert(64^0x10057 + 64^0x1 == 64^0x10058); + assert(64^0x10058 + 64^0x1 == 64^0x10059); + assert(64^0x10059 + 64^0x1 == 64^0x1005a); + assert(64^0x1005a + 64^0x1 == 64^0x1005b); + assert(64^0x1018c + 64^0x1 == 64^0x1018d); + assert(64^0x14001d0 + 64^0xfffffffffffffffc == 64^0x14001cc); + assert(64^0x14001dc + 64^0x8 == 64^0x14001e4); + assert(64^0x14001f0 + 64^0x4 == 64^0x14001f4); + assert(64^0x14001f0 + 64^0xfffffffffec217f0 == 64^0x219e0); + assert(64^0x158f + 64^0x1 == 64^0x1590); + assert(64^0x1bdf8 + 64^0xffffffffffffffe0 == 64^0x1bdd8); + assert(64^0x1be + 64^0x1 == 64^0x1bf); + assert(64^0x1c4cc + 64^0x4 == 64^0x1c4d0); + assert(64^0x1c4cc + 64^0xffffffffffff9f54 == 64^0x16420); + assert(64^0x1c4d + 64^0x1 == 64^0x1c4e); + assert(64^0x1e180 + 64^0xffffffffffff8190 == 64^0x16310); + assert(64^0x1e19 + 64^0x1 == 64^0x1e1a); + assert(64^0x1e194 + 64^0xffffffffffffe88c == 64^0x1ca20); + assert(64^0x21d8e + 64^0x1 == 64^0x21d8f); + assert(64^0x22050 + 64^0xffffffffffffc680 == 64^0x1e6d0); + assert(64^0x2206 + 64^0x1 == 64^0x2207); + assert(64^0x2209 + 64^0x1 == 64^0x220a); + assert(64^0x22090 + 64^0xffffffffffffd0a8 == 64^0x1f138); + assert(64^0x220a + 64^0x1 == 64^0x220b); + assert(64^0x220b + 64^0x1 == 64^0x220c); + assert(64^0x220e + 64^0x1 == 64^0x220f); + assert(64^0x220e0 + 64^0x10 == 64^0x220f0); + assert(64^0x220e8 + 64^0xffffffffffffd0a8 == 64^0x1f190); + assert(64^0x220f + 64^0x1 == 64^0x2210); + assert(64^0x221 + 64^0x1 == 64^0x222); + assert(64^0x2212 + 64^0x1 == 64^0x2213); + assert(64^0x2b87 + 64^0x1 == 64^0x2b88); + assert(64^0x2ccf + 64^0x1 == 64^0x2cd0); + assert(64^0x2e01828 + 64^0x8 == 64^0x2e01830); + assert(64^0x2f00ba0 + 64^0x8 == 64^0x2f00ba8); + assert(64^0x2f00ba8 + 64^0x8 == 64^0x2f00bb0); + assert(64^0x31d084c + 64^0x60 == 64^0x31d08ac); + assert(64^0x31d0858 + 64^0x4 == 64^0x31d085c); + assert(64^0x31d0858 + 64^0xfffffffffffffd1c == 64^0x31d0574); + assert(64^0x31d085c + 64^0x4 == 64^0x31d0860); + assert(64^0x31d085c + 64^0xfffffffffffffdf8 == 64^0x31d0654); + assert(64^0x31d0860 + 64^0x4 == 64^0x31d0864); + assert(64^0x31d0860 + 64^0xfffffffffffffd1c == 64^0x31d057c); + assert(64^0x31d0874 + 64^0xfffffffffffffdcc == 64^0x31d0640); + assert(64^0x31d08cc + 64^0x8c == 64^0x31d0958); + assert(64^0x31d08f0 + 64^0x4 == 64^0x31d08f4); + assert(64^0x31d08f4 + 64^0x8 == 64^0x31d08fc); + assert(64^0x31d0950 + 64^0x4 == 64^0x31d0954); + assert(64^0x31d095c + 64^0xffffffffffffff74 == 64^0x31d08d0); + assert(64^0x31d09d4 + 64^0x8 == 64^0x31d09dc); + assert(64^0x31d09f0 + 64^0x4 == 64^0x31d09f4); + assert(64^0x3800440 + 64^0x8 == 64^0x3800448); + assert(64^0x3800440 + 64^0xfffffffffffffff0 == 64^0x3800430); + assert(64^0x3800450 + 64^0x0 == 64^0x3800450); + assert(64^0x3800450 + 64^0x10 == 64^0x3800460); + assert(64^0x3800450 + 64^0x8 == 64^0x3800458); + assert(64^0x3800450 + 64^0xfffffffffffffff0 == 64^0x3800440); + assert(64^0x3800460 + 64^0xfffffffffffffff0 == 64^0x3800450); + assert(64^0x3801 + 64^0x1 == 64^0x3802); + assert(64^0x3802 + 64^0x1 == 64^0x3803); + assert(64^0x40a9 + 64^0x1 == 64^0x40aa); + assert(64^0x6216008 + 64^0x3 == 64^0x621600b); + assert(64^0x621600c + 64^0x0 == 64^0x621600c); + assert(64^0x6643 + 64^0x1 == 64^0x6644); + assert(64^0x8f + 64^0x1 == 64^0x90); + assert(64^0x8f0 + 64^0x1 == 64^0x8f1); + assert(64^0xc0c + 64^0x1 == 64^0xc0d); + assert(64^0xc0c0 + 64^0x1 == 64^0xc0c1); + assert(64^0xfffd + 64^0x1 == 64^0xfffe); + assert(64^0xfffe + 64^0x1 == 64^0xffff); + assert(64^0xffff + 64^0x1 == 64^0x10000); +}
\ No newline at end of file diff --git a/test/builtins/append.sail b/test/builtins/append.sail new file mode 100644 index 00000000..aae60da6 --- /dev/null +++ b/test/builtins/append.sail @@ -0,0 +1,260 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(0^0x0 @ 128^0x0 == 128^0x0); + assert(0^0x0 @ 64^0x10000cc == 64^0x10000cc); + assert(0^0x0 @ 64^0x1000254 == 64^0x1000254); + assert(0^0x0 @ 64^0x101070 == 64^0x101070); + assert(0^0x0 @ 64^0x10200c == 64^0x10200c); + assert(0^0x0 @ 64^0x1021ac == 64^0x1021ac); + assert(0^0x0 @ 64^0x1040d8 == 64^0x1040d8); + assert(0^0x0 @ 64^0x104550 == 64^0x104550); + assert(0^0x0 @ 64^0x104e10 == 64^0x104e10); + assert(0^0x0 @ 64^0x104fc0 == 64^0x104fc0); + assert(0^0x0 @ 64^0x105190 == 64^0x105190); + assert(0^0x0 @ 64^0x1054a0 == 64^0x1054a0); + assert(0^0x0 @ 64^0x1056d4 == 64^0x1056d4); + assert(0^0x0 @ 64^0x10ef8 == 64^0x10ef8); + assert(0^0x0 @ 64^0x125a8 == 64^0x125a8); + assert(0^0x0 @ 64^0x140000c == 64^0x140000c); + assert(0^0x0 @ 64^0x14001b0 == 64^0x14001b0); + assert(0^0x0 @ 64^0x1400354 == 64^0x1400354); + assert(0^0x0 @ 64^0x14004f8 == 64^0x14004f8); + assert(0^0x0 @ 64^0x14006b0 == 64^0x14006b0); + assert(0^0x0 @ 64^0x1400860 == 64^0x1400860); + assert(0^0x0 @ 64^0x14d80 == 64^0x14d80); + assert(0^0x0 @ 64^0x164a8 == 64^0x164a8); + assert(0^0x0 @ 64^0x1a778 == 64^0x1a778); + assert(0^0x0 @ 64^0x1a9b8 == 64^0x1a9b8); + assert(0^0x0 @ 64^0x1ad3c == 64^0x1ad3c); + assert(0^0x0 @ 64^0x1af4c == 64^0x1af4c); + assert(0^0x0 @ 64^0x1b0e4 == 64^0x1b0e4); + assert(0^0x0 @ 64^0x1b2a0 == 64^0x1b2a0); + assert(0^0x0 @ 64^0x1b874 == 64^0x1b874); + assert(0^0x0 @ 64^0x1baf0 == 64^0x1baf0); + assert(0^0x0 @ 64^0x1beb8 == 64^0x1beb8); + assert(0^0x0 @ 64^0x1c0c0 == 64^0x1c0c0); + assert(0^0x0 @ 64^0x1c464 == 64^0x1c464); + assert(0^0x0 @ 64^0x1c624 == 64^0x1c624); + assert(0^0x0 @ 64^0x1c7c0 == 64^0x1c7c0); + assert(0^0x0 @ 64^0x1c9b8 == 64^0x1c9b8); + assert(0^0x0 @ 64^0x1cb50 == 64^0x1cb50); + assert(0^0x0 @ 64^0x1ccf0 == 64^0x1ccf0); + assert(0^0x0 @ 64^0x1cef4 == 64^0x1cef4); + assert(0^0x0 @ 64^0x1d0c8 == 64^0x1d0c8); + assert(0^0x0 @ 64^0x1d66c == 64^0x1d66c); + assert(0^0x0 @ 64^0x1e118 == 64^0x1e118); + assert(0^0x0 @ 64^0x1e644 == 64^0x1e644); + assert(0^0x0 @ 64^0x1ec33 == 64^0x1ec33); + assert(0^0x0 @ 64^0x1f600 == 64^0x1f600); + assert(0^0x0 @ 64^0x215c8 == 64^0x215c8); + assert(0^0x0 @ 64^0x217c2 == 64^0x217c2); + assert(0^0x0 @ 64^0x2197c == 64^0x2197c); + assert(0^0x0 @ 64^0x21a97 == 64^0x21a97); + assert(0^0x0 @ 64^0x21cd8 == 64^0x21cd8); + assert(0^0x0 @ 64^0x21d6e == 64^0x21d6e); + assert(0^0x0 @ 64^0x22348 == 64^0x22348); + assert(0^0x0 @ 64^0x2311c == 64^0x2311c); + assert(0^0x0 @ 64^0x23590 == 64^0x23590); + assert(0^0x0 @ 64^0x2e == 64^0x2e); + assert(0^0x0 @ 64^0x2e00310 == 64^0x2e00310); + assert(0^0x0 @ 64^0x2e010f8 == 64^0x2e010f8); + assert(0^0x0 @ 64^0x2e01418 == 64^0x2e01418); + assert(0^0x0 @ 64^0x2e01738 == 64^0x2e01738); + assert(0^0x0 @ 64^0x2f00110 == 64^0x2f00110); + assert(0^0x0 @ 64^0x2f00430 == 64^0x2f00430); + assert(0^0x0 @ 64^0x2f00750 == 64^0x2f00750); + assert(0^0x0 @ 64^0x2f00a70 == 64^0x2f00a70); + assert(0^0x0 @ 64^0x2f00d90 == 64^0x2f00d90); + assert(0^0x0 @ 64^0x3008d8c == 64^0x3008d8c); + assert(0^0x0 @ 64^0x31d00c0 == 64^0x31d00c0); + assert(0^0x0 @ 64^0x31d0594 == 64^0x31d0594); + assert(0^0x0 @ 64^0x31d0760 == 64^0x31d0760); + assert(0^0x0 @ 64^0x31d095c == 64^0x31d095c); + assert(0^0x0 @ 64^0x31d0af8 == 64^0x31d0af8); + assert(0^0x0 @ 64^0x31d0cc8 == 64^0x31d0cc8); + assert(0^0x0 @ 64^0x31d0e88 == 64^0x31d0e88); + assert(0^0x0 @ 64^0x31d11a4 == 64^0x31d11a4); + assert(0^0x0 @ 64^0x31d13e8 == 64^0x31d13e8); + assert(0^0x0 @ 64^0x31d1708 == 64^0x31d1708); + assert(0^0x0 @ 64^0x31d1c4c == 64^0x31d1c4c); + assert(0^0x0 @ 64^0x3808068 == 64^0x3808068); + assert(0^0x0 @ 64^0x3819d98 == 64^0x3819d98); + assert(0^0x0 @ 64^0x381b2f8 == 64^0x381b2f8); + assert(0^0x0 @ 64^0x600003c0 == 64^0x600003c0); + assert(0^0x0 @ 64^0x7c == 64^0x7c); + assert(0^0x0 @ 64^0x9 == 64^0x9); + assert(0^0x0 @ 64^0xc00fefff == 64^0xc00fefff); + assert(1^0x0 @ 5^0x1e == 6^0x1e); + assert(10^0x202 @ 1^0x0 == 11^0x404); + assert(14^0x0 @ 64^0x5c003 == 78^0x5c003); + assert(19^0x33 @ 2^0x0 == 21^0xcc); + assert(19^0x9f @ 2^0x0 == 21^0x27c); + assert(24^0x0 @ 32^0x8 == 56^0x8); + assert(26^0x1 @ 2^0x0 == 28^0x4); + assert(26^0x3b08414 @ 2^0x0 == 28^0xec21050); + assert(26^0x3ffdc6b @ 2^0x0 == 28^0xfff71ac); + assert(26^0x3ffe79d @ 2^0x0 == 28^0xfff9e74); + assert(26^0x3ffee69 @ 2^0x0 == 28^0xfffb9a4); + assert(26^0x56d @ 2^0x0 == 28^0x15b4); + assert(31^0x0 @ 33^0x37fb000 == 64^0x37fb000); + assert(32^0x0 @ 32^0x4b == 64^0x4b); + assert(32^0x0 @ 32^0xffffff80 == 64^0xffffff80); + assert(32^0x5 @ 8^0x0 == 40^0x500); + assert(34^0x1cd @ 14^0x754 == 48^0x734754); + assert(34^0xc44 @ 14^0x0 == 48^0x3110000); + assert(36^0x0 @ 28^0x6f8 == 64^0x6f8); + assert(36^0xfffffffff @ 28^0xec2138c == 64^0xfffffffffec2138c); + assert(36^0xfffffffff @ 28^0xfff8a40 == 64^0xffffffffffff8a40); + assert(36^0xfffffffff @ 28^0xfffa3b8 == 64^0xffffffffffffa3b8); + assert(36^0xfffffffff @ 28^0xfffee18 == 64^0xffffffffffffee18); + assert(38^0x100 @ 14^0xb == 52^0x40000b); + assert(38^0x182 @ 14^0x38 == 52^0x608038); + assert(38^0x182 @ 14^0xe0 == 52^0x6080e0); + assert(38^0x1ce @ 14^0x21c == 52^0x73821c); + assert(38^0x1ce @ 14^0x3a0 == 52^0x7383a0); + assert(38^0x1ce @ 14^0x530 == 52^0x738530); + assert(38^0x1ce @ 14^0x6c4 == 52^0x7386c4); + assert(38^0x1ce @ 14^0x85c == 52^0x73885c); + assert(38^0x1d1 @ 14^0x454 == 52^0x744454); + assert(38^0x55a @ 14^0x11b0 == 52^0x15691b0); + assert(38^0x55a @ 14^0x14a0 == 52^0x15694a0); + assert(38^0x55a @ 14^0x1790 == 52^0x1569790); + assert(38^0x55a @ 14^0x350 == 52^0x1568350); + assert(38^0x59a @ 14^0x168 == 52^0x1668168); + assert(38^0x59a @ 14^0x458 == 52^0x1668458); + assert(38^0x59a @ 14^0x748 == 52^0x1668748); + assert(38^0x59a @ 14^0xa38 == 52^0x1668a38); + assert(38^0x59a @ 14^0xd28 == 52^0x1668d28); + assert(38^0x602 @ 14^0xe38 == 52^0x1808e38); + assert(38^0x803 @ 14^0x18f8 == 52^0x200d8f8); + assert(38^0x806 @ 14^0x2ee0 == 52^0x201aee0); + assert(38^0x84 @ 14^0xecc == 52^0x210ecc); + assert(38^0x85 @ 14^0x24dc == 52^0x2164dc); + assert(38^0x85 @ 14^0xdac == 52^0x214dac); + assert(38^0x86 @ 14^0x28f8 == 52^0x21a8f8); + assert(38^0x86 @ 14^0x2c7c == 52^0x21ac7c); + assert(38^0x86 @ 14^0x2e0c == 52^0x21ae0c); + assert(38^0x86 @ 14^0x301c == 52^0x21b01c); + assert(38^0x86 @ 14^0x31b8 == 52^0x21b1b8); + assert(38^0x86 @ 14^0x3768 == 52^0x21b768); + assert(38^0x86 @ 14^0x398c == 52^0x21b98c); + assert(38^0x86 @ 14^0x3df0 == 52^0x21bdf0); + assert(38^0x87 @ 14^0x100 == 52^0x21c100); + assert(38^0x87 @ 14^0x14d8 == 52^0x21d4d8); + assert(38^0x87 @ 14^0x20a4 == 52^0x21e0a4); + assert(38^0x87 @ 14^0x2142 == 52^0x21e142); + assert(38^0x87 @ 14^0x2660 == 52^0x21e660); + assert(38^0x87 @ 14^0x2c38 == 52^0x21ec38); + assert(38^0x87 @ 14^0x3f0 == 52^0x21c3f0); + assert(38^0x87 @ 14^0x570 == 52^0x21c570); + assert(38^0x87 @ 14^0x714 == 52^0x21c714); + assert(38^0x87 @ 14^0x8ec == 52^0x21c8ec); + assert(38^0x87 @ 14^0xa68 == 52^0x21ca68); + assert(38^0x87 @ 14^0xbe4 == 52^0x21cbe4); + assert(38^0x87 @ 14^0xdb0 == 52^0x21cdb0); + assert(38^0x87 @ 14^0xf58 == 52^0x21cf58); + assert(38^0x88 @ 14^0x1568 == 52^0x221568); + assert(38^0x88 @ 14^0x17ae == 52^0x2217ae); + assert(38^0x88 @ 14^0x1964 == 52^0x221964); + assert(38^0x88 @ 14^0x1a64 == 52^0x221a64); + assert(38^0x88 @ 14^0x1c90 == 52^0x221c90); + assert(38^0x88 @ 14^0x1d58 == 52^0x221d58); + assert(38^0x88 @ 14^0x208c == 52^0x22208c); + assert(38^0x88 @ 14^0x3100 == 52^0x223100); + assert(38^0x88 @ 14^0x3574 == 52^0x223574); + assert(38^0xb11 @ 14^0x2008 == 52^0x2c46008); + assert(38^0xb8d @ 14^0x70 == 52^0x2e34070); + assert(4^0x0 @ 48^0x10423c == 52^0x10423c); + assert(4^0x0 @ 48^0x608094 == 52^0x608094); + assert(4^0x0 @ 52^0x10111c == 56^0x10111c); + assert(4^0x0 @ 52^0x102098 == 56^0x102098); + assert(4^0x0 @ 52^0x10400c == 56^0x10400c); + assert(4^0x0 @ 52^0x1041ac == 56^0x1041ac); + assert(4^0x0 @ 52^0x104728 == 56^0x104728); + assert(4^0x0 @ 52^0x104edc == 56^0x104edc); + assert(4^0x0 @ 52^0x1050ac == 56^0x1050ac); + assert(4^0x0 @ 52^0x105270 == 56^0x105270); + assert(4^0x0 @ 52^0x10558c == 56^0x10558c); + assert(4^0x0 @ 52^0x1057e8 == 56^0x1057e8); + assert(4^0x0 @ 52^0x1568200 == 56^0x1568200); + assert(4^0x0 @ 52^0x1568520 == 56^0x1568520); + assert(4^0x0 @ 52^0x1569310 == 56^0x1569310); + assert(4^0x0 @ 52^0x1569630 == 56^0x1569630); + assert(4^0x0 @ 52^0x1668090 == 56^0x1668090); + assert(4^0x0 @ 52^0x16683b0 == 56^0x16683b0); + assert(4^0x0 @ 52^0x16686d0 == 56^0x16686d0); + assert(4^0x0 @ 52^0x16689f0 == 56^0x16689f0); + assert(4^0x0 @ 52^0x1668d10 == 56^0x1668d10); + assert(4^0x0 @ 52^0x1808e28 == 56^0x1808e28); + assert(4^0x0 @ 52^0x200d8e0 == 56^0x200d8e0); + assert(4^0x0 @ 52^0x201acb8 == 56^0x201acb8); + assert(4^0x0 @ 52^0x210f64 == 56^0x210f64); + assert(4^0x0 @ 52^0x214db0 == 56^0x214db0); + assert(4^0x0 @ 52^0x2165e4 == 56^0x2165e4); + assert(4^0x0 @ 52^0x21a8d4 == 56^0x21a8d4); + assert(4^0x0 @ 52^0x21aa84 == 56^0x21aa84); + assert(4^0x0 @ 52^0x21ade8 == 56^0x21ade8); + assert(4^0x0 @ 52^0x21aff8 == 56^0x21aff8); + assert(4^0x0 @ 52^0x21b194 == 56^0x21b194); + assert(4^0x0 @ 52^0x21b744 == 56^0x21b744); + assert(4^0x0 @ 52^0x21b968 == 56^0x21b968); + assert(4^0x0 @ 52^0x21bdcc == 56^0x21bdcc); + assert(4^0x0 @ 52^0x21bfe4 == 56^0x21bfe4); + assert(4^0x0 @ 52^0x21c18c == 56^0x21c18c); + assert(4^0x0 @ 52^0x21c524 == 56^0x21c524); + assert(4^0x0 @ 52^0x21c6d8 == 56^0x21c6d8); + assert(4^0x0 @ 52^0x21c8dc == 56^0x21c8dc); + assert(4^0x0 @ 52^0x21ca70 == 56^0x21ca70); + assert(4^0x0 @ 52^0x21cc04 == 56^0x21cc04); + assert(4^0x0 @ 52^0x21cdf0 == 56^0x21cdf0); + assert(4^0x0 @ 52^0x21cfb8 == 56^0x21cfb8); + assert(4^0x0 @ 52^0x21d4e4 == 56^0x21d4e4); + assert(4^0x0 @ 52^0x21e0c8 == 56^0x21e0c8); + assert(4^0x0 @ 52^0x21e16c == 56^0x21e16c); + assert(4^0x0 @ 52^0x21e704 == 56^0x21e704); + assert(4^0x0 @ 52^0x21f1a4 == 56^0x21f1a4); + assert(4^0x0 @ 52^0x221528 == 56^0x221528); + assert(4^0x0 @ 52^0x22176c == 56^0x22176c); + assert(4^0x0 @ 52^0x221940 == 56^0x221940); + assert(4^0x0 @ 52^0x221a40 == 56^0x221a40); + assert(4^0x0 @ 52^0x221c6c == 56^0x221c6c); + assert(4^0x0 @ 52^0x221d4d == 56^0x221d4d); + assert(4^0x0 @ 52^0x221fc4 == 56^0x221fc4); + assert(4^0x0 @ 52^0x2230d4 == 56^0x2230d4); + assert(4^0x0 @ 52^0x223548 == 56^0x223548); + assert(4^0x0 @ 52^0x22364f == 56^0x22364f); + assert(4^0x0 @ 52^0x2e34018 == 56^0x2e34018); + assert(4^0x0 @ 52^0x2e50078 == 56^0x2e50078); + assert(4^0x0 @ 52^0x31d0144 == 56^0x31d0144); + assert(4^0x0 @ 52^0x31d05f8 == 56^0x31d05f8); + assert(4^0x0 @ 52^0x31d0808 == 56^0x31d0808); + assert(4^0x0 @ 52^0x31d09c0 == 56^0x31d09c0); + assert(4^0x0 @ 52^0x31d0b7c == 56^0x31d0b7c); + assert(4^0x0 @ 52^0x31d0d38 == 56^0x31d0d38); + assert(4^0x0 @ 52^0x31d0fb0 == 56^0x31d0fb0); + assert(4^0x0 @ 52^0x31d1224 == 56^0x31d1224); + assert(4^0x0 @ 52^0x31d14b0 == 56^0x31d14b0); + assert(4^0x0 @ 52^0x31d1818 == 56^0x31d1818); + assert(4^0x0 @ 52^0x400003 == 56^0x400003); + assert(4^0x0 @ 52^0x608118 == 56^0x608118); + assert(4^0x0 @ 52^0x60849c == 56^0x60849c); + assert(4^0x0 @ 52^0x738018 == 56^0x738018); + assert(4^0x0 @ 52^0x7381cc == 56^0x7381cc); + assert(4^0x0 @ 52^0x738370 == 56^0x738370); + assert(4^0x0 @ 52^0x73851c == 56^0x73851c); + assert(4^0x0 @ 52^0x7386cc == 56^0x7386cc); + assert(4^0x0 @ 52^0x73887c == 56^0x73887c); + assert(4^0xc @ 5^0x1 == 9^0x181); + assert(43^0x0 @ 21^0x324 == 64^0x324); + assert(43^0x7ffffffffff @ 21^0x1fffe0 == 64^0xffffffffffffffe0); + assert(48^0x31d183 @ 4^0x0 == 52^0x31d1830); + assert(52^0x0 @ 12^0xa == 64^0xa); + assert(64^0x2 @ 5^0x0 == 69^0x40); + assert(64^0x381a7d8 @ 0^0x0 == 64^0x381a7d8); + assert(9^0x182 @ 1^0x0 == 10^0x304); +} diff --git a/test/builtins/get_slice_int.sail b/test/builtins/get_slice_int.sail new file mode 100644 index 00000000..70894155 --- /dev/null +++ b/test/builtins/get_slice_int.sail @@ -0,0 +1,468 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(get_slice_int(1, -10, 6) == 1^0x1, "get_slice_int(1, -10, 6) == 1^0x1"); + assert(get_slice_int(1, -1, 6) == 1^0x1, "get_slice_int(1, -1, 6) == 1^0x1"); + assert(get_slice_int(1, -11, 6) == 1^0x1, "get_slice_int(1, -11, 6) == 1^0x1"); + assert(get_slice_int(1, -12, 6) == 1^0x1, "get_slice_int(1, -12, 6) == 1^0x1"); + assert(get_slice_int(1, -14, 6) == 1^0x1, "get_slice_int(1, -14, 6) == 1^0x1"); + assert(get_slice_int(1, -15, 6) == 1^0x1, "get_slice_int(1, -15, 6) == 1^0x1"); + assert(get_slice_int(1, -16, 6) == 1^0x1, "get_slice_int(1, -16, 6) == 1^0x1"); + assert(get_slice_int(1, -17, 6) == 1^0x1, "get_slice_int(1, -17, 6) == 1^0x1"); + assert(get_slice_int(1, -19, 6) == 1^0x1, "get_slice_int(1, -19, 6) == 1^0x1"); + assert(get_slice_int(1, -2, 6) == 1^0x1, "get_slice_int(1, -2, 6) == 1^0x1"); + assert(get_slice_int(1, -20, 6) == 1^0x1, "get_slice_int(1, -20, 6) == 1^0x1"); + assert(get_slice_int(1, -23, 6) == 1^0x1, "get_slice_int(1, -23, 6) == 1^0x1"); + assert(get_slice_int(1, -27, 6) == 1^0x1, "get_slice_int(1, -27, 6) == 1^0x1"); + assert(get_slice_int(1, -29, 6) == 1^0x1, "get_slice_int(1, -29, 6) == 1^0x1"); + assert(get_slice_int(1, -3, 6) == 1^0x1, "get_slice_int(1, -3, 6) == 1^0x1"); + assert(get_slice_int(1, -30, 6) == 1^0x1, "get_slice_int(1, -30, 6) == 1^0x1"); + assert(get_slice_int(1, -32, 6) == 1^0x1, "get_slice_int(1, -32, 6) == 1^0x1"); + assert(get_slice_int(1, -33, 6) == 1^0x1, "get_slice_int(1, -33, 6) == 1^0x1"); + assert(get_slice_int(1, -38, 6) == 1^0x1, "get_slice_int(1, -38, 6) == 1^0x1"); + assert(get_slice_int(1, -4, 6) == 1^0x1, "get_slice_int(1, -4, 6) == 1^0x1"); + assert(get_slice_int(1, -41, 6) == 1^0x1, "get_slice_int(1, -41, 6) == 1^0x1"); + assert(get_slice_int(1, -45, 6) == 1^0x1, "get_slice_int(1, -45, 6) == 1^0x1"); + assert(get_slice_int(1, -46, 6) == 1^0x1, "get_slice_int(1, -46, 6) == 1^0x1"); + assert(get_slice_int(1, -49, 6) == 1^0x1, "get_slice_int(1, -49, 6) == 1^0x1"); + assert(get_slice_int(1, -5, 6) == 1^0x1, "get_slice_int(1, -5, 6) == 1^0x1"); + assert(get_slice_int(1, -50, 6) == 1^0x1, "get_slice_int(1, -50, 6) == 1^0x1"); + assert(get_slice_int(1, -52, 6) == 1^0x1, "get_slice_int(1, -52, 6) == 1^0x1"); + assert(get_slice_int(1, -56, 6) == 1^0x1, "get_slice_int(1, -56, 6) == 1^0x1"); + assert(get_slice_int(1, -59, 6) == 1^0x1, "get_slice_int(1, -59, 6) == 1^0x1"); + assert(get_slice_int(1, -6, 6) == 1^0x1, "get_slice_int(1, -6, 6) == 1^0x1"); + assert(get_slice_int(1, -7, 6) == 1^0x1, "get_slice_int(1, -7, 6) == 1^0x1"); + assert(get_slice_int(1, -8, 6) == 1^0x1, "get_slice_int(1, -8, 6) == 1^0x1"); + assert(get_slice_int(1, -9, 6) == 1^0x1, "get_slice_int(1, -9, 6) == 1^0x1"); + assert(get_slice_int(1, 0, 6) == 1^0x0, "get_slice_int(1, 0, 6) == 1^0x0"); + assert(get_slice_int(1, 1, 0) == 1^0x1, "get_slice_int(1, 1, 0) == 1^0x1"); + assert(get_slice_int(1, 1, 6) == 1^0x0, "get_slice_int(1, 1, 6) == 1^0x0"); + assert(get_slice_int(1, 10, 6) == 1^0x0, "get_slice_int(1, 10, 6) == 1^0x0"); + assert(get_slice_int(1, 12, 6) == 1^0x0, "get_slice_int(1, 12, 6) == 1^0x0"); + assert(get_slice_int(1, 13, 6) == 1^0x0, "get_slice_int(1, 13, 6) == 1^0x0"); + assert(get_slice_int(1, 14, 6) == 1^0x0, "get_slice_int(1, 14, 6) == 1^0x0"); + assert(get_slice_int(1, 15, 6) == 1^0x0, "get_slice_int(1, 15, 6) == 1^0x0"); + assert(get_slice_int(1, 19, 6) == 1^0x0, "get_slice_int(1, 19, 6) == 1^0x0"); + assert(get_slice_int(1, 2, 6) == 1^0x0, "get_slice_int(1, 2, 6) == 1^0x0"); + assert(get_slice_int(1, 20, 6) == 1^0x0, "get_slice_int(1, 20, 6) == 1^0x0"); + assert(get_slice_int(1, 23, 6) == 1^0x0, "get_slice_int(1, 23, 6) == 1^0x0"); + assert(get_slice_int(1, 24, 6) == 1^0x0, "get_slice_int(1, 24, 6) == 1^0x0"); + assert(get_slice_int(1, 26, 6) == 1^0x0, "get_slice_int(1, 26, 6) == 1^0x0"); + assert(get_slice_int(1, 3, 6) == 1^0x0, "get_slice_int(1, 3, 6) == 1^0x0"); + assert(get_slice_int(1, 31, 6) == 1^0x0, "get_slice_int(1, 31, 6) == 1^0x0"); + assert(get_slice_int(1, 35, 6) == 1^0x0, "get_slice_int(1, 35, 6) == 1^0x0"); + assert(get_slice_int(1, 4, 6) == 1^0x0, "get_slice_int(1, 4, 6) == 1^0x0"); + assert(get_slice_int(1, 44, 6) == 1^0x0, "get_slice_int(1, 44, 6) == 1^0x0"); + assert(get_slice_int(1, 45, 6) == 1^0x0, "get_slice_int(1, 45, 6) == 1^0x0"); + assert(get_slice_int(1, 46, 6) == 1^0x0, "get_slice_int(1, 46, 6) == 1^0x0"); + assert(get_slice_int(1, 47, 6) == 1^0x0, "get_slice_int(1, 47, 6) == 1^0x0"); + assert(get_slice_int(1, 49, 6) == 1^0x0, "get_slice_int(1, 49, 6) == 1^0x0"); + assert(get_slice_int(1, 5, 6) == 1^0x0, "get_slice_int(1, 5, 6) == 1^0x0"); + assert(get_slice_int(1, 6, 6) == 1^0x0, "get_slice_int(1, 6, 6) == 1^0x0"); + assert(get_slice_int(1, 7, 6) == 1^0x0, "get_slice_int(1, 7, 6) == 1^0x0"); + assert(get_slice_int(11, 1024, 0) == 11^0x400, "get_slice_int(11, 1024, 0) == 11^0x400"); + assert(get_slice_int(2, 1, 0) == 2^0x1, "get_slice_int(2, 1, 0) == 2^0x1"); + assert(get_slice_int(2, 3, 0) == 2^0x3, "get_slice_int(2, 3, 0) == 2^0x3"); + assert(get_slice_int(3, 0, 0) == 3^0x0, "get_slice_int(3, 0, 0) == 3^0x0"); + assert(get_slice_int(3, 1, 0) == 3^0x1, "get_slice_int(3, 1, 0) == 3^0x1"); + assert(get_slice_int(3, 2, 0) == 3^0x2, "get_slice_int(3, 2, 0) == 3^0x2"); + assert(get_slice_int(3, 3, 0) == 3^0x3, "get_slice_int(3, 3, 0) == 3^0x3"); + assert(get_slice_int(3, 4, 0) == 3^0x4, "get_slice_int(3, 4, 0) == 3^0x4"); + assert(get_slice_int(3, 5, 0) == 3^0x5, "get_slice_int(3, 5, 0) == 3^0x5"); + assert(get_slice_int(3, 6, 0) == 3^0x6, "get_slice_int(3, 6, 0) == 3^0x6"); + assert(get_slice_int(3, 7, 0) == 3^0x7, "get_slice_int(3, 7, 0) == 3^0x7"); + assert(get_slice_int(32, 0, 0) == 32^0x0, "get_slice_int(32, 0, 0) == 32^0x0"); + assert(get_slice_int(32, 1, 0) == 32^0x1, "get_slice_int(32, 1, 0) == 32^0x1"); + assert(get_slice_int(32, 10, 0) == 32^0xa, "get_slice_int(32, 10, 0) == 32^0xa"); + assert(get_slice_int(32, 1056964608, 0) == 32^0x3f000000, "get_slice_int(32, 1056964608, 0) == 32^0x3f000000"); + assert(get_slice_int(32, 1057423360, 0) == 32^0x3f070000, "get_slice_int(32, 1057423360, 0) == 32^0x3f070000"); + assert(get_slice_int(32, 1073741824, 0) == 32^0x40000000, "get_slice_int(32, 1073741824, 0) == 32^0x40000000"); + assert(get_slice_int(32, 11, 0) == 32^0xb, "get_slice_int(32, 11, 0) == 32^0xb"); + assert(get_slice_int(32, 12, 0) == 32^0xc, "get_slice_int(32, 12, 0) == 32^0xc"); + assert(get_slice_int(32, 13, 0) == 32^0xd, "get_slice_int(32, 13, 0) == 32^0xd"); + assert(get_slice_int(32, 1342177280, 0) == 32^0x50000000, "get_slice_int(32, 1342177280, 0) == 32^0x50000000"); + assert(get_slice_int(32, 14, 0) == 32^0xe, "get_slice_int(32, 14, 0) == 32^0xe"); + assert(get_slice_int(32, 15, 0) == 32^0xf, "get_slice_int(32, 15, 0) == 32^0xf"); + assert(get_slice_int(32, 16, 0) == 32^0x10, "get_slice_int(32, 16, 0) == 32^0x10"); + assert(get_slice_int(32, 17, 0) == 32^0x11, "get_slice_int(32, 17, 0) == 32^0x11"); + assert(get_slice_int(32, 18, 0) == 32^0x12, "get_slice_int(32, 18, 0) == 32^0x12"); + assert(get_slice_int(32, 19, 0) == 32^0x13, "get_slice_int(32, 19, 0) == 32^0x13"); + assert(get_slice_int(32, 2, 0) == 32^0x2, "get_slice_int(32, 2, 0) == 32^0x2"); + assert(get_slice_int(32, 20, 0) == 32^0x14, "get_slice_int(32, 20, 0) == 32^0x14"); + assert(get_slice_int(32, 21, 0) == 32^0x15, "get_slice_int(32, 21, 0) == 32^0x15"); + assert(get_slice_int(32, 22, 0) == 32^0x16, "get_slice_int(32, 22, 0) == 32^0x16"); + assert(get_slice_int(32, 23, 0) == 32^0x17, "get_slice_int(32, 23, 0) == 32^0x17"); + assert(get_slice_int(32, 24, 0) == 32^0x18, "get_slice_int(32, 24, 0) == 32^0x18"); + assert(get_slice_int(32, 25, 0) == 32^0x19, "get_slice_int(32, 25, 0) == 32^0x19"); + assert(get_slice_int(32, 255, 0) == 32^0xff, "get_slice_int(32, 255, 0) == 32^0xff"); + assert(get_slice_int(32, 26, 0) == 32^0x1a, "get_slice_int(32, 26, 0) == 32^0x1a"); + assert(get_slice_int(32, 267386880, 0) == 32^0xff00000, "get_slice_int(32, 267386880, 0) == 32^0xff00000"); + assert(get_slice_int(32, 27, 0) == 32^0x1b, "get_slice_int(32, 27, 0) == 32^0x1b"); + assert(get_slice_int(32, 28, 0) == 32^0x1c, "get_slice_int(32, 28, 0) == 32^0x1c"); + assert(get_slice_int(32, 29, 0) == 32^0x1d, "get_slice_int(32, 29, 0) == 32^0x1d"); + assert(get_slice_int(32, 3, 0) == 32^0x3, "get_slice_int(32, 3, 0) == 32^0x3"); + assert(get_slice_int(32, 30, 0) == 32^0x1e, "get_slice_int(32, 30, 0) == 32^0x1e"); + assert(get_slice_int(32, 31, 0) == 32^0x1f, "get_slice_int(32, 31, 0) == 32^0x1f"); + assert(get_slice_int(32, 35, 0) == 32^0x23, "get_slice_int(32, 35, 0) == 32^0x23"); + assert(get_slice_int(32, 4, 0) == 32^0x4, "get_slice_int(32, 4, 0) == 32^0x4"); + assert(get_slice_int(32, 4027580415, 0) == 32^0xf00fffff, "get_slice_int(32, 4027580415, 0) == 32^0xf00fffff"); + assert(get_slice_int(32, 4294967256, 0) == 32^0xffffffd8, "get_slice_int(32, 4294967256, 0) == 32^0xffffffd8"); + assert(get_slice_int(32, 4294967264, 0) == 32^0xffffffe0, "get_slice_int(32, 4294967264, 0) == 32^0xffffffe0"); + assert(get_slice_int(32, 4294967268, 0) == 32^0xffffffe4, "get_slice_int(32, 4294967268, 0) == 32^0xffffffe4"); + assert(get_slice_int(32, 4294967269, 0) == 32^0xffffffe5, "get_slice_int(32, 4294967269, 0) == 32^0xffffffe5"); + assert(get_slice_int(32, 4294967273, 0) == 32^0xffffffe9, "get_slice_int(32, 4294967273, 0) == 32^0xffffffe9"); + assert(get_slice_int(32, 4294967276, 0) == 32^0xffffffec, "get_slice_int(32, 4294967276, 0) == 32^0xffffffec"); + assert(get_slice_int(32, 4294967277, 0) == 32^0xffffffed, "get_slice_int(32, 4294967277, 0) == 32^0xffffffed"); + assert(get_slice_int(32, 4294967278, 0) == 32^0xffffffee, "get_slice_int(32, 4294967278, 0) == 32^0xffffffee"); + assert(get_slice_int(32, 4294967279, 0) == 32^0xffffffef, "get_slice_int(32, 4294967279, 0) == 32^0xffffffef"); + assert(get_slice_int(32, 4294967280, 0) == 32^0xfffffff0, "get_slice_int(32, 4294967280, 0) == 32^0xfffffff0"); + assert(get_slice_int(32, 4294967281, 0) == 32^0xfffffff1, "get_slice_int(32, 4294967281, 0) == 32^0xfffffff1"); + assert(get_slice_int(32, 4294967282, 0) == 32^0xfffffff2, "get_slice_int(32, 4294967282, 0) == 32^0xfffffff2"); + assert(get_slice_int(32, 4294967283, 0) == 32^0xfffffff3, "get_slice_int(32, 4294967283, 0) == 32^0xfffffff3"); + assert(get_slice_int(32, 4294967284, 0) == 32^0xfffffff4, "get_slice_int(32, 4294967284, 0) == 32^0xfffffff4"); + assert(get_slice_int(32, 4294967285, 0) == 32^0xfffffff5, "get_slice_int(32, 4294967285, 0) == 32^0xfffffff5"); + assert(get_slice_int(32, 4294967286, 0) == 32^0xfffffff6, "get_slice_int(32, 4294967286, 0) == 32^0xfffffff6"); + assert(get_slice_int(32, 4294967287, 0) == 32^0xfffffff7, "get_slice_int(32, 4294967287, 0) == 32^0xfffffff7"); + assert(get_slice_int(32, 4294967288, 0) == 32^0xfffffff8, "get_slice_int(32, 4294967288, 0) == 32^0xfffffff8"); + assert(get_slice_int(32, 4294967289, 0) == 32^0xfffffff9, "get_slice_int(32, 4294967289, 0) == 32^0xfffffff9"); + assert(get_slice_int(32, 4294967290, 0) == 32^0xfffffffa, "get_slice_int(32, 4294967290, 0) == 32^0xfffffffa"); + assert(get_slice_int(32, 4294967291, 0) == 32^0xfffffffb, "get_slice_int(32, 4294967291, 0) == 32^0xfffffffb"); + assert(get_slice_int(32, 4294967292, 0) == 32^0xfffffffc, "get_slice_int(32, 4294967292, 0) == 32^0xfffffffc"); + assert(get_slice_int(32, 4294967293, 0) == 32^0xfffffffd, "get_slice_int(32, 4294967293, 0) == 32^0xfffffffd"); + assert(get_slice_int(32, 4294967294, 0) == 32^0xfffffffe, "get_slice_int(32, 4294967294, 0) == 32^0xfffffffe"); + assert(get_slice_int(32, 4294967295, 0) == 32^0xffffffff, "get_slice_int(32, 4294967295, 0) == 32^0xffffffff"); + assert(get_slice_int(32, 4294967296, 0) == 32^0x0, "get_slice_int(32, 4294967296, 0) == 32^0x0"); + assert(get_slice_int(32, 4294967297, 0) == 32^0x1, "get_slice_int(32, 4294967297, 0) == 32^0x1"); + assert(get_slice_int(32, 4294967298, 0) == 32^0x2, "get_slice_int(32, 4294967298, 0) == 32^0x2"); + assert(get_slice_int(32, 4294967299, 0) == 32^0x3, "get_slice_int(32, 4294967299, 0) == 32^0x3"); + assert(get_slice_int(32, 4294967300, 0) == 32^0x4, "get_slice_int(32, 4294967300, 0) == 32^0x4"); + assert(get_slice_int(32, 4294967301, 0) == 32^0x5, "get_slice_int(32, 4294967301, 0) == 32^0x5"); + assert(get_slice_int(32, 4294967304, 0) == 32^0x8, "get_slice_int(32, 4294967304, 0) == 32^0x8"); + assert(get_slice_int(32, 4294967305, 0) == 32^0x9, "get_slice_int(32, 4294967305, 0) == 32^0x9"); + assert(get_slice_int(32, 4294967306, 0) == 32^0xa, "get_slice_int(32, 4294967306, 0) == 32^0xa"); + assert(get_slice_int(32, 4294967307, 0) == 32^0xb, "get_slice_int(32, 4294967307, 0) == 32^0xb"); + assert(get_slice_int(32, 4294967308, 0) == 32^0xc, "get_slice_int(32, 4294967308, 0) == 32^0xc"); + assert(get_slice_int(32, 4294967309, 0) == 32^0xd, "get_slice_int(32, 4294967309, 0) == 32^0xd"); + assert(get_slice_int(32, 4294967310, 0) == 32^0xe, "get_slice_int(32, 4294967310, 0) == 32^0xe"); + assert(get_slice_int(32, 4294967311, 0) == 32^0xf, "get_slice_int(32, 4294967311, 0) == 32^0xf"); + assert(get_slice_int(32, 4294967313, 0) == 32^0x11, "get_slice_int(32, 4294967313, 0) == 32^0x11"); + assert(get_slice_int(32, 4294967316, 0) == 32^0x14, "get_slice_int(32, 4294967316, 0) == 32^0x14"); + assert(get_slice_int(32, 4294967317, 0) == 32^0x15, "get_slice_int(32, 4294967317, 0) == 32^0x15"); + assert(get_slice_int(32, 4294967321, 0) == 32^0x19, "get_slice_int(32, 4294967321, 0) == 32^0x19"); + assert(get_slice_int(32, 4294967324, 0) == 32^0x1c, "get_slice_int(32, 4294967324, 0) == 32^0x1c"); + assert(get_slice_int(32, 4294967326, 0) == 32^0x1e, "get_slice_int(32, 4294967326, 0) == 32^0x1e"); + assert(get_slice_int(32, 4294967327, 0) == 32^0x1f, "get_slice_int(32, 4294967327, 0) == 32^0x1f"); + assert(get_slice_int(32, 4294967328, 0) == 32^0x20, "get_slice_int(32, 4294967328, 0) == 32^0x20"); + assert(get_slice_int(32, 4294967329, 0) == 32^0x21, "get_slice_int(32, 4294967329, 0) == 32^0x21"); + assert(get_slice_int(32, 4294967333, 0) == 32^0x25, "get_slice_int(32, 4294967333, 0) == 32^0x25"); + assert(get_slice_int(32, 4294967334, 0) == 32^0x26, "get_slice_int(32, 4294967334, 0) == 32^0x26"); + assert(get_slice_int(32, 4294967335, 0) == 32^0x27, "get_slice_int(32, 4294967335, 0) == 32^0x27"); + assert(get_slice_int(32, 4294967336, 0) == 32^0x28, "get_slice_int(32, 4294967336, 0) == 32^0x28"); + assert(get_slice_int(32, 4294967337, 0) == 32^0x29, "get_slice_int(32, 4294967337, 0) == 32^0x29"); + assert(get_slice_int(32, 4294967338, 0) == 32^0x2a, "get_slice_int(32, 4294967338, 0) == 32^0x2a"); + assert(get_slice_int(32, 4294967339, 0) == 32^0x2b, "get_slice_int(32, 4294967339, 0) == 32^0x2b"); + assert(get_slice_int(32, 4294967341, 0) == 32^0x2d, "get_slice_int(32, 4294967341, 0) == 32^0x2d"); + assert(get_slice_int(32, 4294967342, 0) == 32^0x2e, "get_slice_int(32, 4294967342, 0) == 32^0x2e"); + assert(get_slice_int(32, 4294967343, 0) == 32^0x2f, "get_slice_int(32, 4294967343, 0) == 32^0x2f"); + assert(get_slice_int(32, 4294967344, 0) == 32^0x30, "get_slice_int(32, 4294967344, 0) == 32^0x30"); + assert(get_slice_int(32, 4294967345, 0) == 32^0x31, "get_slice_int(32, 4294967345, 0) == 32^0x31"); + assert(get_slice_int(32, 4294967346, 0) == 32^0x32, "get_slice_int(32, 4294967346, 0) == 32^0x32"); + assert(get_slice_int(32, 4294967347, 0) == 32^0x33, "get_slice_int(32, 4294967347, 0) == 32^0x33"); + assert(get_slice_int(32, 4294967348, 0) == 32^0x34, "get_slice_int(32, 4294967348, 0) == 32^0x34"); + assert(get_slice_int(32, 4294967350, 0) == 32^0x36, "get_slice_int(32, 4294967350, 0) == 32^0x36"); + assert(get_slice_int(32, 4294967352, 0) == 32^0x38, "get_slice_int(32, 4294967352, 0) == 32^0x38"); + assert(get_slice_int(32, 4294967354, 0) == 32^0x3a, "get_slice_int(32, 4294967354, 0) == 32^0x3a"); + assert(get_slice_int(32, 4294967356, 0) == 32^0x3c, "get_slice_int(32, 4294967356, 0) == 32^0x3c"); + assert(get_slice_int(32, 4294967358, 0) == 32^0x3e, "get_slice_int(32, 4294967358, 0) == 32^0x3e"); + assert(get_slice_int(32, 4294967359, 0) == 32^0x3f, "get_slice_int(32, 4294967359, 0) == 32^0x3f"); + assert(get_slice_int(32, 4294967360, 0) == 32^0x40, "get_slice_int(32, 4294967360, 0) == 32^0x40"); + assert(get_slice_int(32, 4294967361, 0) == 32^0x41, "get_slice_int(32, 4294967361, 0) == 32^0x41"); + assert(get_slice_int(32, 4294967363, 0) == 32^0x43, "get_slice_int(32, 4294967363, 0) == 32^0x43"); + assert(get_slice_int(32, 4294967364, 0) == 32^0x44, "get_slice_int(32, 4294967364, 0) == 32^0x44"); + assert(get_slice_int(32, 4294967365, 0) == 32^0x45, "get_slice_int(32, 4294967365, 0) == 32^0x45"); + assert(get_slice_int(32, 8589934591, 0) == 32^0xffffffff, "get_slice_int(32, 8589934591, 0) == 32^0xffffffff"); + assert(get_slice_int(32, 9, 0) == 32^0x9, "get_slice_int(32, 9, 0) == 32^0x9"); + assert(get_slice_int(4, 0, 0) == 4^0x0, "get_slice_int(4, 0, 0) == 4^0x0"); + assert(get_slice_int(4, 1, 0) == 4^0x1, "get_slice_int(4, 1, 0) == 4^0x1"); + assert(get_slice_int(4, 10, 0) == 4^0xa, "get_slice_int(4, 10, 0) == 4^0xa"); + assert(get_slice_int(4, 12, 0) == 4^0xc, "get_slice_int(4, 12, 0) == 4^0xc"); + assert(get_slice_int(4, 13, 0) == 4^0xd, "get_slice_int(4, 13, 0) == 4^0xd"); + assert(get_slice_int(4, 14, 0) == 4^0xe, "get_slice_int(4, 14, 0) == 4^0xe"); + assert(get_slice_int(4, 2, 0) == 4^0x2, "get_slice_int(4, 2, 0) == 4^0x2"); + assert(get_slice_int(4, 3, 0) == 4^0x3, "get_slice_int(4, 3, 0) == 4^0x3"); + assert(get_slice_int(4, 4, 0) == 4^0x4, "get_slice_int(4, 4, 0) == 4^0x4"); + assert(get_slice_int(4, 5, 0) == 4^0x5, "get_slice_int(4, 5, 0) == 4^0x5"); + assert(get_slice_int(4, 6, 0) == 4^0x6, "get_slice_int(4, 6, 0) == 4^0x6"); + assert(get_slice_int(4, 7, 0) == 4^0x7, "get_slice_int(4, 7, 0) == 4^0x7"); + assert(get_slice_int(4, 8, 0) == 4^0x8, "get_slice_int(4, 8, 0) == 4^0x8"); + assert(get_slice_int(4, undefined, 0) == 4^0x0, "get_slice_int(4, undefined, 0) == 4^0x0"); + assert(get_slice_int(5, 0, 0) == 5^0x0, "get_slice_int(5, 0, 0) == 5^0x0"); + assert(get_slice_int(5, 1, 0) == 5^0x1, "get_slice_int(5, 1, 0) == 5^0x1"); + assert(get_slice_int(5, 17, 0) == 5^0x11, "get_slice_int(5, 17, 0) == 5^0x11"); + assert(get_slice_int(5, 18, 0) == 5^0x12, "get_slice_int(5, 18, 0) == 5^0x12"); + assert(get_slice_int(5, 19, 0) == 5^0x13, "get_slice_int(5, 19, 0) == 5^0x13"); + assert(get_slice_int(5, 2, 0) == 5^0x2, "get_slice_int(5, 2, 0) == 5^0x2"); + assert(get_slice_int(5, 20, 0) == 5^0x14, "get_slice_int(5, 20, 0) == 5^0x14"); + assert(get_slice_int(5, 21, 0) == 5^0x15, "get_slice_int(5, 21, 0) == 5^0x15"); + assert(get_slice_int(5, 22, 0) == 5^0x16, "get_slice_int(5, 22, 0) == 5^0x16"); + assert(get_slice_int(5, 23, 0) == 5^0x17, "get_slice_int(5, 23, 0) == 5^0x17"); + assert(get_slice_int(5, 24, 0) == 5^0x18, "get_slice_int(5, 24, 0) == 5^0x18"); + assert(get_slice_int(5, 27, 0) == 5^0x1b, "get_slice_int(5, 27, 0) == 5^0x1b"); + assert(get_slice_int(5, 3, 0) == 5^0x3, "get_slice_int(5, 3, 0) == 5^0x3"); + assert(get_slice_int(5, 30, 0) == 5^0x1e, "get_slice_int(5, 30, 0) == 5^0x1e"); + assert(get_slice_int(5, 4, 0) == 5^0x4, "get_slice_int(5, 4, 0) == 5^0x4"); + assert(get_slice_int(5, 5, 0) == 5^0x5, "get_slice_int(5, 5, 0) == 5^0x5"); + assert(get_slice_int(5, 6, 0) == 5^0x6, "get_slice_int(5, 6, 0) == 5^0x6"); + assert(get_slice_int(5, 7, 0) == 5^0x7, "get_slice_int(5, 7, 0) == 5^0x7"); + assert(get_slice_int(5, 8, 0) == 5^0x8, "get_slice_int(5, 8, 0) == 5^0x8"); + assert(get_slice_int(52, 318767104, 0) == 52^0x13000000, "get_slice_int(52, 318767104, 0) == 52^0x13000000"); + assert(get_slice_int(52, 4503599627304960, 0) == 52^0xfffffffff0000, "get_slice_int(52, 4503599627304960, 0) == 52^0xfffffffff0000"); + assert(get_slice_int(6, -1, 0) == 6^0x3f, "get_slice_int(6, -1, 0) == 6^0x3f"); + assert(get_slice_int(6, -10, 0) == 6^0x36, "get_slice_int(6, -10, 0) == 6^0x36"); + assert(get_slice_int(6, -11, 0) == 6^0x35, "get_slice_int(6, -11, 0) == 6^0x35"); + assert(get_slice_int(6, -12, 0) == 6^0x34, "get_slice_int(6, -12, 0) == 6^0x34"); + assert(get_slice_int(6, -14, 0) == 6^0x32, "get_slice_int(6, -14, 0) == 6^0x32"); + assert(get_slice_int(6, -15, 0) == 6^0x31, "get_slice_int(6, -15, 0) == 6^0x31"); + assert(get_slice_int(6, -16, 0) == 6^0x30, "get_slice_int(6, -16, 0) == 6^0x30"); + assert(get_slice_int(6, -17, 0) == 6^0x2f, "get_slice_int(6, -17, 0) == 6^0x2f"); + assert(get_slice_int(6, -19, 0) == 6^0x2d, "get_slice_int(6, -19, 0) == 6^0x2d"); + assert(get_slice_int(6, -2, 0) == 6^0x3e, "get_slice_int(6, -2, 0) == 6^0x3e"); + assert(get_slice_int(6, -20, 0) == 6^0x2c, "get_slice_int(6, -20, 0) == 6^0x2c"); + assert(get_slice_int(6, -23, 0) == 6^0x29, "get_slice_int(6, -23, 0) == 6^0x29"); + assert(get_slice_int(6, -27, 0) == 6^0x25, "get_slice_int(6, -27, 0) == 6^0x25"); + assert(get_slice_int(6, -29, 0) == 6^0x23, "get_slice_int(6, -29, 0) == 6^0x23"); + assert(get_slice_int(6, -3, 0) == 6^0x3d, "get_slice_int(6, -3, 0) == 6^0x3d"); + assert(get_slice_int(6, -30, 0) == 6^0x22, "get_slice_int(6, -30, 0) == 6^0x22"); + assert(get_slice_int(6, -32, 0) == 6^0x20, "get_slice_int(6, -32, 0) == 6^0x20"); + assert(get_slice_int(6, -33, 0) == 6^0x1f, "get_slice_int(6, -33, 0) == 6^0x1f"); + assert(get_slice_int(6, -38, 0) == 6^0x1a, "get_slice_int(6, -38, 0) == 6^0x1a"); + assert(get_slice_int(6, -4, 0) == 6^0x3c, "get_slice_int(6, -4, 0) == 6^0x3c"); + assert(get_slice_int(6, -41, 0) == 6^0x17, "get_slice_int(6, -41, 0) == 6^0x17"); + assert(get_slice_int(6, -45, 0) == 6^0x13, "get_slice_int(6, -45, 0) == 6^0x13"); + assert(get_slice_int(6, -46, 0) == 6^0x12, "get_slice_int(6, -46, 0) == 6^0x12"); + assert(get_slice_int(6, -49, 0) == 6^0xf, "get_slice_int(6, -49, 0) == 6^0xf"); + assert(get_slice_int(64, 169869480, 0) == 64^0xa2000a8, "get_slice_int(64, 169869480, 0) == 64^0xa2000a8"); + assert(get_slice_int(64, 169869484, 0) == 64^0xa2000ac, "get_slice_int(64, 169869484, 0) == 64^0xa2000ac"); + assert(get_slice_int(64, 173015148, 0) == 64^0xa50006c, "get_slice_int(64, 173015148, 0) == 64^0xa50006c"); + assert(get_slice_int(64, 173015152, 0) == 64^0xa500070, "get_slice_int(64, 173015152, 0) == 64^0xa500070"); + assert(get_slice_int(64, 173015156, 0) == 64^0xa500074, "get_slice_int(64, 173015156, 0) == 64^0xa500074"); + assert(get_slice_int(64, 180224, 0) == 64^0x2c000, "get_slice_int(64, 180224, 0) == 64^0x2c000"); + assert(get_slice_int(64, 18446708893632421888, 0) == 64^0xffffe000ffffe000, "get_slice_int(64, 18446708893632421888, 0) == 64^0xffffe000ffffe000"); + assert(get_slice_int(64, 18446744073658712064, 0) == 64^0xfffffffffcf84000, "get_slice_int(64, 18446744073658712064, 0) == 64^0xfffffffffcf84000"); + assert(get_slice_int(64, 18446744073658777600, 0) == 64^0xfffffffffcf94000, "get_slice_int(64, 18446744073658777600, 0) == 64^0xfffffffffcf94000"); + assert(get_slice_int(64, 18446744073658843136, 0) == 64^0xfffffffffcfa4000, "get_slice_int(64, 18446744073658843136, 0) == 64^0xfffffffffcfa4000"); + assert(get_slice_int(64, 18446744073660252160, 0) == 64^0xfffffffffd0fc000, "get_slice_int(64, 18446744073660252160, 0) == 64^0xfffffffffd0fc000"); + assert(get_slice_int(64, 18446744073660317696, 0) == 64^0xfffffffffd10c000, "get_slice_int(64, 18446744073660317696, 0) == 64^0xfffffffffd10c000"); + assert(get_slice_int(64, 18446744073660465152, 0) == 64^0xfffffffffd130000, "get_slice_int(64, 18446744073660465152, 0) == 64^0xfffffffffd130000"); + assert(get_slice_int(64, 18446744073660530688, 0) == 64^0xfffffffffd140000, "get_slice_int(64, 18446744073660530688, 0) == 64^0xfffffffffd140000"); + assert(get_slice_int(64, 18446744073660727296, 0) == 64^0xfffffffffd170000, "get_slice_int(64, 18446744073660727296, 0) == 64^0xfffffffffd170000"); + assert(get_slice_int(64, 18446744073660841984, 0) == 64^0xfffffffffd18c000, "get_slice_int(64, 18446744073660841984, 0) == 64^0xfffffffffd18c000"); + assert(get_slice_int(64, 18446744073708961792, 0) == 64^0xfffffffffff70000, "get_slice_int(64, 18446744073708961792, 0) == 64^0xfffffffffff70000"); + assert(get_slice_int(64, 18446744073709027328, 0) == 64^0xfffffffffff80000, "get_slice_int(64, 18446744073709027328, 0) == 64^0xfffffffffff80000"); + assert(get_slice_int(64, 18446744073709289472, 0) == 64^0xfffffffffffc0000, "get_slice_int(64, 18446744073709289472, 0) == 64^0xfffffffffffc0000"); + assert(get_slice_int(64, 18446744073709355008, 0) == 64^0xfffffffffffd0000, "get_slice_int(64, 18446744073709355008, 0) == 64^0xfffffffffffd0000"); + assert(get_slice_int(64, 75248, 0) == 64^0x125f0, "get_slice_int(64, 75248, 0) == 64^0x125f0"); + assert(get_slice_int(64, 75252, 0) == 64^0x125f4, "get_slice_int(64, 75252, 0) == 64^0x125f4"); + assert(get_slice_int(64, 75256, 0) == 64^0x125f8, "get_slice_int(64, 75256, 0) == 64^0x125f8"); + assert(get_slice_int(64, 75260, 0) == 64^0x125fc, "get_slice_int(64, 75260, 0) == 64^0x125fc"); + assert(get_slice_int(64, 75264, 0) == 64^0x12600, "get_slice_int(64, 75264, 0) == 64^0x12600"); + assert(get_slice_int(64, 75268, 0) == 64^0x12604, "get_slice_int(64, 75268, 0) == 64^0x12604"); + assert(get_slice_int(64, 75272, 0) == 64^0x12608, "get_slice_int(64, 75272, 0) == 64^0x12608"); + assert(get_slice_int(64, 75276, 0) == 64^0x1260c, "get_slice_int(64, 75276, 0) == 64^0x1260c"); + assert(get_slice_int(64, 75280, 0) == 64^0x12610, "get_slice_int(64, 75280, 0) == 64^0x12610"); + assert(get_slice_int(64, 75296, 0) == 64^0x12620, "get_slice_int(64, 75296, 0) == 64^0x12620"); + assert(get_slice_int(64, 75872, 0) == 64^0x12860, "get_slice_int(64, 75872, 0) == 64^0x12860"); + assert(get_slice_int(64, 8, 0) == 64^0x8, "get_slice_int(64, 8, 0) == 64^0x8"); + assert(get_slice_int(64, 82944, 0) == 64^0x14400, "get_slice_int(64, 82944, 0) == 64^0x14400"); + assert(get_slice_int(64, 84660, 0) == 64^0x14ab4, "get_slice_int(64, 84660, 0) == 64^0x14ab4"); + assert(get_slice_int(64, 84664, 0) == 64^0x14ab8, "get_slice_int(64, 84664, 0) == 64^0x14ab8"); + assert(get_slice_int(64, 84668, 0) == 64^0x14abc, "get_slice_int(64, 84668, 0) == 64^0x14abc"); + assert(get_slice_int(64, 84672, 0) == 64^0x14ac0, "get_slice_int(64, 84672, 0) == 64^0x14ac0"); + assert(get_slice_int(64, 84676, 0) == 64^0x14ac4, "get_slice_int(64, 84676, 0) == 64^0x14ac4"); + assert(get_slice_int(64, 84680, 0) == 64^0x14ac8, "get_slice_int(64, 84680, 0) == 64^0x14ac8"); + assert(get_slice_int(64, 84692, 0) == 64^0x14ad4, "get_slice_int(64, 84692, 0) == 64^0x14ad4"); + assert(get_slice_int(64, 84696, 0) == 64^0x14ad8, "get_slice_int(64, 84696, 0) == 64^0x14ad8"); + assert(get_slice_int(64, 84700, 0) == 64^0x14adc, "get_slice_int(64, 84700, 0) == 64^0x14adc"); + assert(get_slice_int(64, 84704, 0) == 64^0x14ae0, "get_slice_int(64, 84704, 0) == 64^0x14ae0"); + assert(get_slice_int(64, 84708, 0) == 64^0x14ae4, "get_slice_int(64, 84708, 0) == 64^0x14ae4"); + assert(get_slice_int(64, 84712, 0) == 64^0x14ae8, "get_slice_int(64, 84712, 0) == 64^0x14ae8"); + assert(get_slice_int(64, 84716, 0) == 64^0x14aec, "get_slice_int(64, 84716, 0) == 64^0x14aec"); + assert(get_slice_int(64, 84720, 0) == 64^0x14af0, "get_slice_int(64, 84720, 0) == 64^0x14af0"); + assert(get_slice_int(64, 84724, 0) == 64^0x14af4, "get_slice_int(64, 84724, 0) == 64^0x14af4"); + assert(get_slice_int(64, 84728, 0) == 64^0x14af8, "get_slice_int(64, 84728, 0) == 64^0x14af8"); + assert(get_slice_int(64, 84732, 0) == 64^0x14afc, "get_slice_int(64, 84732, 0) == 64^0x14afc"); + assert(get_slice_int(64, 84736, 0) == 64^0x14b00, "get_slice_int(64, 84736, 0) == 64^0x14b00"); + assert(get_slice_int(64, 84740, 0) == 64^0x14b04, "get_slice_int(64, 84740, 0) == 64^0x14b04"); + assert(get_slice_int(64, 84872, 0) == 64^0x14b88, "get_slice_int(64, 84872, 0) == 64^0x14b88"); + assert(get_slice_int(64, 84876, 0) == 64^0x14b8c, "get_slice_int(64, 84876, 0) == 64^0x14b8c"); + assert(get_slice_int(64, 84880, 0) == 64^0x14b90, "get_slice_int(64, 84880, 0) == 64^0x14b90"); + assert(get_slice_int(64, 84884, 0) == 64^0x14b94, "get_slice_int(64, 84884, 0) == 64^0x14b94"); + assert(get_slice_int(64, 84888, 0) == 64^0x14b98, "get_slice_int(64, 84888, 0) == 64^0x14b98"); + assert(get_slice_int(64, 84892, 0) == 64^0x14b9c, "get_slice_int(64, 84892, 0) == 64^0x14b9c"); + assert(get_slice_int(64, 84896, 0) == 64^0x14ba0, "get_slice_int(64, 84896, 0) == 64^0x14ba0"); + assert(get_slice_int(64, 84900, 0) == 64^0x14ba4, "get_slice_int(64, 84900, 0) == 64^0x14ba4"); + assert(get_slice_int(64, 84904, 0) == 64^0x14ba8, "get_slice_int(64, 84904, 0) == 64^0x14ba8"); + assert(get_slice_int(64, 84908, 0) == 64^0x14bac, "get_slice_int(64, 84908, 0) == 64^0x14bac"); + assert(get_slice_int(64, 84912, 0) == 64^0x14bb0, "get_slice_int(64, 84912, 0) == 64^0x14bb0"); + assert(get_slice_int(64, 84916, 0) == 64^0x14bb4, "get_slice_int(64, 84916, 0) == 64^0x14bb4"); + assert(get_slice_int(64, 84920, 0) == 64^0x14bb8, "get_slice_int(64, 84920, 0) == 64^0x14bb8"); + assert(get_slice_int(64, 84924, 0) == 64^0x14bbc, "get_slice_int(64, 84924, 0) == 64^0x14bbc"); + assert(get_slice_int(64, 85348, 0) == 64^0x14d64, "get_slice_int(64, 85348, 0) == 64^0x14d64"); + assert(get_slice_int(64, 85352, 0) == 64^0x14d68, "get_slice_int(64, 85352, 0) == 64^0x14d68"); + assert(get_slice_int(64, 85356, 0) == 64^0x14d6c, "get_slice_int(64, 85356, 0) == 64^0x14d6c"); + assert(get_slice_int(64, 85360, 0) == 64^0x14d70, "get_slice_int(64, 85360, 0) == 64^0x14d70"); + assert(get_slice_int(64, 85364, 0) == 64^0x14d74, "get_slice_int(64, 85364, 0) == 64^0x14d74"); + assert(get_slice_int(64, 85368, 0) == 64^0x14d78, "get_slice_int(64, 85368, 0) == 64^0x14d78"); + assert(get_slice_int(64, 85372, 0) == 64^0x14d7c, "get_slice_int(64, 85372, 0) == 64^0x14d7c"); + assert(get_slice_int(64, 85376, 0) == 64^0x14d80, "get_slice_int(64, 85376, 0) == 64^0x14d80"); + assert(get_slice_int(64, 85380, 0) == 64^0x14d84, "get_slice_int(64, 85380, 0) == 64^0x14d84"); + assert(get_slice_int(64, 85384, 0) == 64^0x14d88, "get_slice_int(64, 85384, 0) == 64^0x14d88"); + assert(get_slice_int(64, 85388, 0) == 64^0x14d8c, "get_slice_int(64, 85388, 0) == 64^0x14d8c"); + assert(get_slice_int(64, 85392, 0) == 64^0x14d90, "get_slice_int(64, 85392, 0) == 64^0x14d90"); + assert(get_slice_int(64, 85396, 0) == 64^0x14d94, "get_slice_int(64, 85396, 0) == 64^0x14d94"); + assert(get_slice_int(64, 85400, 0) == 64^0x14d98, "get_slice_int(64, 85400, 0) == 64^0x14d98"); + assert(get_slice_int(64, 85404, 0) == 64^0x14d9c, "get_slice_int(64, 85404, 0) == 64^0x14d9c"); + assert(get_slice_int(64, 85408, 0) == 64^0x14da0, "get_slice_int(64, 85408, 0) == 64^0x14da0"); + assert(get_slice_int(64, 85412, 0) == 64^0x14da4, "get_slice_int(64, 85412, 0) == 64^0x14da4"); + assert(get_slice_int(64, 85416, 0) == 64^0x14da8, "get_slice_int(64, 85416, 0) == 64^0x14da8"); + assert(get_slice_int(64, 85420, 0) == 64^0x14dac, "get_slice_int(64, 85420, 0) == 64^0x14dac"); + assert(get_slice_int(64, 85424, 0) == 64^0x14db0, "get_slice_int(64, 85424, 0) == 64^0x14db0"); + assert(get_slice_int(64, 85428, 0) == 64^0x14db4, "get_slice_int(64, 85428, 0) == 64^0x14db4"); + assert(get_slice_int(64, 85432, 0) == 64^0x14db8, "get_slice_int(64, 85432, 0) == 64^0x14db8"); + assert(get_slice_int(64, 85436, 0) == 64^0x14dbc, "get_slice_int(64, 85436, 0) == 64^0x14dbc"); + assert(get_slice_int(64, 85440, 0) == 64^0x14dc0, "get_slice_int(64, 85440, 0) == 64^0x14dc0"); + assert(get_slice_int(64, 85444, 0) == 64^0x14dc4, "get_slice_int(64, 85444, 0) == 64^0x14dc4"); + assert(get_slice_int(64, 85448, 0) == 64^0x14dc8, "get_slice_int(64, 85448, 0) == 64^0x14dc8"); + assert(get_slice_int(64, 85452, 0) == 64^0x14dcc, "get_slice_int(64, 85452, 0) == 64^0x14dcc"); + assert(get_slice_int(64, 85456, 0) == 64^0x14dd0, "get_slice_int(64, 85456, 0) == 64^0x14dd0"); + assert(get_slice_int(64, 85460, 0) == 64^0x14dd4, "get_slice_int(64, 85460, 0) == 64^0x14dd4"); + assert(get_slice_int(64, 85464, 0) == 64^0x14dd8, "get_slice_int(64, 85464, 0) == 64^0x14dd8"); + assert(get_slice_int(64, 85468, 0) == 64^0x14ddc, "get_slice_int(64, 85468, 0) == 64^0x14ddc"); + assert(get_slice_int(64, 85472, 0) == 64^0x14de0, "get_slice_int(64, 85472, 0) == 64^0x14de0"); + assert(get_slice_int(64, 85476, 0) == 64^0x14de4, "get_slice_int(64, 85476, 0) == 64^0x14de4"); + assert(get_slice_int(64, 85480, 0) == 64^0x14de8, "get_slice_int(64, 85480, 0) == 64^0x14de8"); + assert(get_slice_int(64, 85484, 0) == 64^0x14dec, "get_slice_int(64, 85484, 0) == 64^0x14dec"); + assert(get_slice_int(64, 85488, 0) == 64^0x14df0, "get_slice_int(64, 85488, 0) == 64^0x14df0"); + assert(get_slice_int(64, 85492, 0) == 64^0x14df4, "get_slice_int(64, 85492, 0) == 64^0x14df4"); + assert(get_slice_int(64, 85496, 0) == 64^0x14df8, "get_slice_int(64, 85496, 0) == 64^0x14df8"); + assert(get_slice_int(64, 85500, 0) == 64^0x14dfc, "get_slice_int(64, 85500, 0) == 64^0x14dfc"); + assert(get_slice_int(64, 85504, 0) == 64^0x14e00, "get_slice_int(64, 85504, 0) == 64^0x14e00"); + assert(get_slice_int(64, 85508, 0) == 64^0x14e04, "get_slice_int(64, 85508, 0) == 64^0x14e04"); + assert(get_slice_int(64, 85512, 0) == 64^0x14e08, "get_slice_int(64, 85512, 0) == 64^0x14e08"); + assert(get_slice_int(64, 8736, 0) == 64^0x2220, "get_slice_int(64, 8736, 0) == 64^0x2220"); + assert(get_slice_int(64, 8764, 0) == 64^0x223c, "get_slice_int(64, 8764, 0) == 64^0x223c"); + assert(get_slice_int(64, 9, 0) == 64^0x9, "get_slice_int(64, 9, 0) == 64^0x9"); + assert(get_slice_int(64, 90688, 0) == 64^0x16240, "get_slice_int(64, 90688, 0) == 64^0x16240"); + assert(get_slice_int(64, 90692, 0) == 64^0x16244, "get_slice_int(64, 90692, 0) == 64^0x16244"); + assert(get_slice_int(64, 90896, 0) == 64^0x16310, "get_slice_int(64, 90896, 0) == 64^0x16310"); + assert(get_slice_int(64, 90900, 0) == 64^0x16314, "get_slice_int(64, 90900, 0) == 64^0x16314"); + assert(get_slice_int(64, 90904, 0) == 64^0x16318, "get_slice_int(64, 90904, 0) == 64^0x16318"); + assert(get_slice_int(64, 90908, 0) == 64^0x1631c, "get_slice_int(64, 90908, 0) == 64^0x1631c"); + assert(get_slice_int(64, 90912, 0) == 64^0x16320, "get_slice_int(64, 90912, 0) == 64^0x16320"); + assert(get_slice_int(64, 90916, 0) == 64^0x16324, "get_slice_int(64, 90916, 0) == 64^0x16324"); + assert(get_slice_int(64, 90920, 0) == 64^0x16328, "get_slice_int(64, 90920, 0) == 64^0x16328"); + assert(get_slice_int(64, 90924, 0) == 64^0x1632c, "get_slice_int(64, 90924, 0) == 64^0x1632c"); + assert(get_slice_int(64, 90928, 0) == 64^0x16330, "get_slice_int(64, 90928, 0) == 64^0x16330"); + assert(get_slice_int(64, 90932, 0) == 64^0x16334, "get_slice_int(64, 90932, 0) == 64^0x16334"); + assert(get_slice_int(64, 90984, 0) == 64^0x16368, "get_slice_int(64, 90984, 0) == 64^0x16368"); + assert(get_slice_int(64, 90988, 0) == 64^0x1636c, "get_slice_int(64, 90988, 0) == 64^0x1636c"); + assert(get_slice_int(64, 91012, 0) == 64^0x16384, "get_slice_int(64, 91012, 0) == 64^0x16384"); + assert(get_slice_int(64, 91016, 0) == 64^0x16388, "get_slice_int(64, 91016, 0) == 64^0x16388"); + assert(get_slice_int(64, 91072, 0) == 64^0x163c0, "get_slice_int(64, 91072, 0) == 64^0x163c0"); + assert(get_slice_int(64, 91076, 0) == 64^0x163c4, "get_slice_int(64, 91076, 0) == 64^0x163c4"); + assert(get_slice_int(64, 91088, 0) == 64^0x163d0, "get_slice_int(64, 91088, 0) == 64^0x163d0"); + assert(get_slice_int(64, 91092, 0) == 64^0x163d4, "get_slice_int(64, 91092, 0) == 64^0x163d4"); + assert(get_slice_int(64, 91104, 0) == 64^0x163e0, "get_slice_int(64, 91104, 0) == 64^0x163e0"); + assert(get_slice_int(64, 91108, 0) == 64^0x163e4, "get_slice_int(64, 91108, 0) == 64^0x163e4"); + assert(get_slice_int(64, 91120, 0) == 64^0x163f0, "get_slice_int(64, 91120, 0) == 64^0x163f0"); + assert(get_slice_int(64, 91124, 0) == 64^0x163f4, "get_slice_int(64, 91124, 0) == 64^0x163f4"); + assert(get_slice_int(64, 91128, 0) == 64^0x163f8, "get_slice_int(64, 91128, 0) == 64^0x163f8"); + assert(get_slice_int(64, 91132, 0) == 64^0x163fc, "get_slice_int(64, 91132, 0) == 64^0x163fc"); + assert(get_slice_int(64, 91136, 0) == 64^0x16400, "get_slice_int(64, 91136, 0) == 64^0x16400"); + assert(get_slice_int(64, 91140, 0) == 64^0x16404, "get_slice_int(64, 91140, 0) == 64^0x16404"); + assert(get_slice_int(64, 91144, 0) == 64^0x16408, "get_slice_int(64, 91144, 0) == 64^0x16408"); + assert(get_slice_int(64, 91148, 0) == 64^0x1640c, "get_slice_int(64, 91148, 0) == 64^0x1640c"); + assert(get_slice_int(64, 91168, 0) == 64^0x16420, "get_slice_int(64, 91168, 0) == 64^0x16420"); + assert(get_slice_int(64, 91172, 0) == 64^0x16424, "get_slice_int(64, 91172, 0) == 64^0x16424"); + assert(get_slice_int(64, 91176, 0) == 64^0x16428, "get_slice_int(64, 91176, 0) == 64^0x16428"); + assert(get_slice_int(64, 91180, 0) == 64^0x1642c, "get_slice_int(64, 91180, 0) == 64^0x1642c"); + assert(get_slice_int(64, 91212, 0) == 64^0x1644c, "get_slice_int(64, 91212, 0) == 64^0x1644c"); + assert(get_slice_int(64, 91216, 0) == 64^0x16450, "get_slice_int(64, 91216, 0) == 64^0x16450"); + assert(get_slice_int(64, 91228, 0) == 64^0x1645c, "get_slice_int(64, 91228, 0) == 64^0x1645c"); + assert(get_slice_int(64, 91232, 0) == 64^0x16460, "get_slice_int(64, 91232, 0) == 64^0x16460"); + assert(get_slice_int(64, 91236, 0) == 64^0x16464, "get_slice_int(64, 91236, 0) == 64^0x16464"); + assert(get_slice_int(64, 91252, 0) == 64^0x16474, "get_slice_int(64, 91252, 0) == 64^0x16474"); + assert(get_slice_int(64, 91256, 0) == 64^0x16478, "get_slice_int(64, 91256, 0) == 64^0x16478"); + assert(get_slice_int(64, 91260, 0) == 64^0x1647c, "get_slice_int(64, 91260, 0) == 64^0x1647c"); + assert(get_slice_int(64, 91264, 0) == 64^0x16480, "get_slice_int(64, 91264, 0) == 64^0x16480"); + assert(get_slice_int(64, 91268, 0) == 64^0x16484, "get_slice_int(64, 91268, 0) == 64^0x16484"); + assert(get_slice_int(64, 91272, 0) == 64^0x16488, "get_slice_int(64, 91272, 0) == 64^0x16488"); + assert(get_slice_int(64, 91276, 0) == 64^0x1648c, "get_slice_int(64, 91276, 0) == 64^0x1648c"); + assert(get_slice_int(64, 91280, 0) == 64^0x16490, "get_slice_int(64, 91280, 0) == 64^0x16490"); + assert(get_slice_int(64, 91284, 0) == 64^0x16494, "get_slice_int(64, 91284, 0) == 64^0x16494"); + assert(get_slice_int(64, 91288, 0) == 64^0x16498, "get_slice_int(64, 91288, 0) == 64^0x16498"); + assert(get_slice_int(64, 91292, 0) == 64^0x1649c, "get_slice_int(64, 91292, 0) == 64^0x1649c"); + assert(get_slice_int(64, 91296, 0) == 64^0x164a0, "get_slice_int(64, 91296, 0) == 64^0x164a0"); + assert(get_slice_int(64, 91300, 0) == 64^0x164a4, "get_slice_int(64, 91300, 0) == 64^0x164a4"); + assert(get_slice_int(64, 91304, 0) == 64^0x164a8, "get_slice_int(64, 91304, 0) == 64^0x164a8"); + assert(get_slice_int(64, 91308, 0) == 64^0x164ac, "get_slice_int(64, 91308, 0) == 64^0x164ac"); + assert(get_slice_int(64, 91312, 0) == 64^0x164b0, "get_slice_int(64, 91312, 0) == 64^0x164b0"); + assert(get_slice_int(64, 91316, 0) == 64^0x164b4, "get_slice_int(64, 91316, 0) == 64^0x164b4"); + assert(get_slice_int(64, 91320, 0) == 64^0x164b8, "get_slice_int(64, 91320, 0) == 64^0x164b8"); + assert(get_slice_int(64, 91348, 0) == 64^0x164d4, "get_slice_int(64, 91348, 0) == 64^0x164d4"); + assert(get_slice_int(64, 91352, 0) == 64^0x164d8, "get_slice_int(64, 91352, 0) == 64^0x164d8"); + assert(get_slice_int(64, 91356, 0) == 64^0x164dc, "get_slice_int(64, 91356, 0) == 64^0x164dc"); + assert(get_slice_int(64, 91360, 0) == 64^0x164e0, "get_slice_int(64, 91360, 0) == 64^0x164e0"); + assert(get_slice_int(64, 91408, 0) == 64^0x16510, "get_slice_int(64, 91408, 0) == 64^0x16510"); + assert(get_slice_int(64, 91412, 0) == 64^0x16514, "get_slice_int(64, 91412, 0) == 64^0x16514"); + assert(get_slice_int(64, 91416, 0) == 64^0x16518, "get_slice_int(64, 91416, 0) == 64^0x16518"); + assert(get_slice_int(64, 91420, 0) == 64^0x1651c, "get_slice_int(64, 91420, 0) == 64^0x1651c"); + assert(get_slice_int(64, 91432, 0) == 64^0x16528, "get_slice_int(64, 91432, 0) == 64^0x16528"); + assert(get_slice_int(64, 91436, 0) == 64^0x1652c, "get_slice_int(64, 91436, 0) == 64^0x1652c"); + assert(get_slice_int(64, 91536, 0) == 64^0x16590, "get_slice_int(64, 91536, 0) == 64^0x16590"); + assert(get_slice_int(64, 91540, 0) == 64^0x16594, "get_slice_int(64, 91540, 0) == 64^0x16594"); + assert(get_slice_int(64, 91544, 0) == 64^0x16598, "get_slice_int(64, 91544, 0) == 64^0x16598"); + assert(get_slice_int(64, 91572, 0) == 64^0x165b4, "get_slice_int(64, 91572, 0) == 64^0x165b4"); + assert(get_slice_int(64, 91576, 0) == 64^0x165b8, "get_slice_int(64, 91576, 0) == 64^0x165b8"); + assert(get_slice_int(64, 91580, 0) == 64^0x165bc, "get_slice_int(64, 91580, 0) == 64^0x165bc"); + assert(get_slice_int(64, 91592, 0) == 64^0x165c8, "get_slice_int(64, 91592, 0) == 64^0x165c8"); + assert(get_slice_int(64, 91596, 0) == 64^0x165cc, "get_slice_int(64, 91596, 0) == 64^0x165cc"); + assert(get_slice_int(64, 91600, 0) == 64^0x165d0, "get_slice_int(64, 91600, 0) == 64^0x165d0"); + assert(get_slice_int(64, 91616, 0) == 64^0x165e0, "get_slice_int(64, 91616, 0) == 64^0x165e0"); + assert(get_slice_int(64, 91620, 0) == 64^0x165e4, "get_slice_int(64, 91620, 0) == 64^0x165e4"); + assert(get_slice_int(64, 91624, 0) == 64^0x165e8, "get_slice_int(64, 91624, 0) == 64^0x165e8"); + assert(get_slice_int(64, 91628, 0) == 64^0x165ec, "get_slice_int(64, 91628, 0) == 64^0x165ec"); + assert(get_slice_int(64, 91632, 0) == 64^0x165f0, "get_slice_int(64, 91632, 0) == 64^0x165f0"); + assert(get_slice_int(64, 91636, 0) == 64^0x165f4, "get_slice_int(64, 91636, 0) == 64^0x165f4"); + assert(get_slice_int(64, 91640, 0) == 64^0x165f8, "get_slice_int(64, 91640, 0) == 64^0x165f8"); + assert(get_slice_int(64, 91644, 0) == 64^0x165fc, "get_slice_int(64, 91644, 0) == 64^0x165fc"); + assert(get_slice_int(64, 91648, 0) == 64^0x16600, "get_slice_int(64, 91648, 0) == 64^0x16600"); + assert(get_slice_int(64, 91660, 0) == 64^0x1660c, "get_slice_int(64, 91660, 0) == 64^0x1660c"); + assert(get_slice_int(64, 91664, 0) == 64^0x16610, "get_slice_int(64, 91664, 0) == 64^0x16610"); + assert(get_slice_int(64, 91668, 0) == 64^0x16614, "get_slice_int(64, 91668, 0) == 64^0x16614"); + assert(get_slice_int(64, 91708, 0) == 64^0x1663c, "get_slice_int(64, 91708, 0) == 64^0x1663c"); + assert(get_slice_int(64, 91712, 0) == 64^0x16640, "get_slice_int(64, 91712, 0) == 64^0x16640"); + assert(get_slice_int(64, 91716, 0) == 64^0x16644, "get_slice_int(64, 91716, 0) == 64^0x16644"); + assert(get_slice_int(64, 91720, 0) == 64^0x16648, "get_slice_int(64, 91720, 0) == 64^0x16648"); + assert(get_slice_int(64, 91724, 0) == 64^0x1664c, "get_slice_int(64, 91724, 0) == 64^0x1664c"); + assert(get_slice_int(64, 91728, 0) == 64^0x16650, "get_slice_int(64, 91728, 0) == 64^0x16650"); + assert(get_slice_int(64, 91732, 0) == 64^0x16654, "get_slice_int(64, 91732, 0) == 64^0x16654"); + assert(get_slice_int(64, 91736, 0) == 64^0x16658, "get_slice_int(64, 91736, 0) == 64^0x16658"); + assert(get_slice_int(64, 91740, 0) == 64^0x1665c, "get_slice_int(64, 91740, 0) == 64^0x1665c"); + assert(get_slice_int(64, 91752, 0) == 64^0x16668, "get_slice_int(64, 91752, 0) == 64^0x16668"); + assert(get_slice_int(64, 91756, 0) == 64^0x1666c, "get_slice_int(64, 91756, 0) == 64^0x1666c"); + assert(get_slice_int(64, 91768, 0) == 64^0x16678, "get_slice_int(64, 91768, 0) == 64^0x16678"); + assert(get_slice_int(64, 91772, 0) == 64^0x1667c, "get_slice_int(64, 91772, 0) == 64^0x1667c"); + assert(get_slice_int(64, 91776, 0) == 64^0x16680, "get_slice_int(64, 91776, 0) == 64^0x16680"); + assert(get_slice_int(64, 91780, 0) == 64^0x16684, "get_slice_int(64, 91780, 0) == 64^0x16684"); + assert(get_slice_int(64, 91808, 0) == 64^0x166a0, "get_slice_int(64, 91808, 0) == 64^0x166a0"); + assert(get_slice_int(64, 91812, 0) == 64^0x166a4, "get_slice_int(64, 91812, 0) == 64^0x166a4"); + assert(get_slice_int(64, 91816, 0) == 64^0x166a8, "get_slice_int(64, 91816, 0) == 64^0x166a8"); + assert(get_slice_int(64, 91820, 0) == 64^0x166ac, "get_slice_int(64, 91820, 0) == 64^0x166ac"); + assert(get_slice_int(64, 91824, 0) == 64^0x166b0, "get_slice_int(64, 91824, 0) == 64^0x166b0"); + assert(get_slice_int(64, 91828, 0) == 64^0x166b4, "get_slice_int(64, 91828, 0) == 64^0x166b4"); +}
\ No newline at end of file diff --git a/test/builtins/mult_int.sail b/test/builtins/mult_int.sail new file mode 100644 index 00000000..18667c50 --- /dev/null +++ b/test/builtins/mult_int.sail @@ -0,0 +1,3038 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> +$include <arith.sail> + +function main (() : unit) -> unit = { + assert(mult_int(0, 11) == 0); + assert(mult_int(0, 112) == 0); + assert(mult_int(0, 1120) == 0); + assert(mult_int(0, 12) == 0); + assert(mult_int(0, 2384) == 0); + assert(mult_int(0, 24) == 0); + assert(mult_int(0, 24576) == 0); + assert(mult_int(0, 28) == 0); + assert(mult_int(0, 280) == 0); + assert(mult_int(0, 3) == 0); + assert(mult_int(0, 48) == 0); + assert(mult_int(0, 49152) == 0); + assert(mult_int(0, 56) == 0); + assert(mult_int(0, 560) == 0); + assert(mult_int(0, 6) == 0); + assert(mult_int(0, 640) == 0); + assert(mult_int(0, 664) == 0); + assert(mult_int(0, 672) == 0); + assert(mult_int(1, 102850560) == 102850560); + assert(mult_int(1, 102850561) == 102850561); + assert(mult_int(1, 102850562) == 102850562); + assert(mult_int(1, 102850563) == 102850563); + assert(mult_int(1, 102850564) == 102850564); + assert(mult_int(1, 102850565) == 102850565); + assert(mult_int(1, 102850566) == 102850566); + assert(mult_int(1, 102850567) == 102850567); + assert(mult_int(1, 102850568) == 102850568); + assert(mult_int(1, 102850569) == 102850569); + assert(mult_int(1, 102850570) == 102850570); + assert(mult_int(1, 102850571) == 102850571); + assert(mult_int(1, 102850572) == 102850572); + assert(mult_int(1, 102850573) == 102850573); + assert(mult_int(1, 102850574) == 102850574); + assert(mult_int(1, 102850575) == 102850575); + assert(mult_int(1, 102850608) == 102850608); + assert(mult_int(1, 102850609) == 102850609); + assert(mult_int(1, 102850610) == 102850610); + assert(mult_int(1, 102850611) == 102850611); + assert(mult_int(1, 102850612) == 102850612); + assert(mult_int(1, 102850613) == 102850613); + assert(mult_int(1, 11) == 11); + assert(mult_int(1, 123052) == 123052); + assert(mult_int(1, 123053) == 123053); + assert(mult_int(1, 123054) == 123054); + assert(mult_int(1, 123055) == 123055); + assert(mult_int(1, 123056) == 123056); + assert(mult_int(1, 123057) == 123057); + assert(mult_int(1, 123058) == 123058); + assert(mult_int(1, 123059) == 123059); + assert(mult_int(1, 123060) == 123060); + assert(mult_int(1, 123119) == 123119); + assert(mult_int(1, 123120) == 123120); + assert(mult_int(1, 123121) == 123121); + assert(mult_int(1, 123122) == 123122); + assert(mult_int(1, 123123) == 123123); + assert(mult_int(1, 123124) == 123124); + assert(mult_int(1, 123125) == 123125); + assert(mult_int(1, 123126) == 123126); + assert(mult_int(1, 123127) == 123127); + assert(mult_int(1, 123128) == 123128); + assert(mult_int(1, 123129) == 123129); + assert(mult_int(1, 123130) == 123130); + assert(mult_int(1, 123131) == 123131); + assert(mult_int(1, 123132) == 123132); + assert(mult_int(1, 123133) == 123133); + assert(mult_int(1, 123134) == 123134); + assert(mult_int(1, 123135) == 123135); + assert(mult_int(1, 123136) == 123136); + assert(mult_int(1, 123137) == 123137); + assert(mult_int(1, 123138) == 123138); + assert(mult_int(1, 123139) == 123139); + assert(mult_int(1, 123140) == 123140); + assert(mult_int(1, 123141) == 123141); + assert(mult_int(1, 123142) == 123142); + assert(mult_int(1, 123143) == 123143); + assert(mult_int(1, 123144) == 123144); + assert(mult_int(1, 123145) == 123145); + assert(mult_int(1, 123146) == 123146); + assert(mult_int(1, 123147) == 123147); + assert(mult_int(1, 123148) == 123148); + assert(mult_int(1, 123149) == 123149); + assert(mult_int(1, 123150) == 123150); + assert(mult_int(1, 123151) == 123151); + assert(mult_int(1, 123152) == 123152); + assert(mult_int(1, 123153) == 123153); + assert(mult_int(1, 123154) == 123154); + assert(mult_int(1, 123155) == 123155); + assert(mult_int(1, 123156) == 123156); + assert(mult_int(1, 123157) == 123157); + assert(mult_int(1, 123158) == 123158); + assert(mult_int(1, 123159) == 123159); + assert(mult_int(1, 123160) == 123160); + assert(mult_int(1, 123161) == 123161); + assert(mult_int(1, 123162) == 123162); + assert(mult_int(1, 123163) == 123163); + assert(mult_int(1, 123164) == 123164); + assert(mult_int(1, 123165) == 123165); + assert(mult_int(1, 123166) == 123166); + assert(mult_int(1, 123200) == 123200); + assert(mult_int(1, 123201) == 123201); + assert(mult_int(1, 123202) == 123202); + assert(mult_int(1, 123203) == 123203); + assert(mult_int(1, 123204) == 123204); + assert(mult_int(1, 123205) == 123205); + assert(mult_int(1, 123206) == 123206); + assert(mult_int(1, 123207) == 123207); + assert(mult_int(1, 123208) == 123208); + assert(mult_int(1, 123209) == 123209); + assert(mult_int(1, 123210) == 123210); + assert(mult_int(1, 123211) == 123211); + assert(mult_int(1, 123212) == 123212); + assert(mult_int(1, 123213) == 123213); + assert(mult_int(1, 123214) == 123214); + assert(mult_int(1, 123215) == 123215); + assert(mult_int(1, 123216) == 123216); + assert(mult_int(1, 123217) == 123217); + assert(mult_int(1, 123218) == 123218); + assert(mult_int(1, 123219) == 123219); + assert(mult_int(1, 123220) == 123220); + assert(mult_int(1, 123221) == 123221); + assert(mult_int(1, 123222) == 123222); + assert(mult_int(1, 123223) == 123223); + assert(mult_int(1, 123224) == 123224); + assert(mult_int(1, 123225) == 123225); + assert(mult_int(1, 123226) == 123226); + assert(mult_int(1, 123227) == 123227); + assert(mult_int(1, 123228) == 123228); + assert(mult_int(1, 123288) == 123288); + assert(mult_int(1, 123289) == 123289); + assert(mult_int(1, 123290) == 123290); + assert(mult_int(1, 123291) == 123291); + assert(mult_int(1, 123292) == 123292); + assert(mult_int(1, 123293) == 123293); + assert(mult_int(1, 123294) == 123294); + assert(mult_int(1, 123295) == 123295); + assert(mult_int(1, 123296) == 123296); + assert(mult_int(1, 123297) == 123297); + assert(mult_int(1, 123298) == 123298); + assert(mult_int(1, 123299) == 123299); + assert(mult_int(1, 123300) == 123300); + assert(mult_int(1, 123301) == 123301); + assert(mult_int(1, 123302) == 123302); + assert(mult_int(1, 123303) == 123303); + assert(mult_int(1, 123304) == 123304); + assert(mult_int(1, 123305) == 123305); + assert(mult_int(1, 123306) == 123306); + assert(mult_int(1, 123307) == 123307); + assert(mult_int(1, 123308) == 123308); + assert(mult_int(1, 123309) == 123309); + assert(mult_int(1, 123310) == 123310); + assert(mult_int(1, 123311) == 123311); + assert(mult_int(1, 123312) == 123312); + assert(mult_int(1, 125988) == 125988); + assert(mult_int(1, 125989) == 125989); + assert(mult_int(1, 125990) == 125990); + assert(mult_int(1, 125991) == 125991); + assert(mult_int(1, 125992) == 125992); + assert(mult_int(1, 125993) == 125993); + assert(mult_int(1, 125994) == 125994); + assert(mult_int(1, 125995) == 125995); + assert(mult_int(1, 125996) == 125996); + assert(mult_int(1, 125997) == 125997); + assert(mult_int(1, 125998) == 125998); + assert(mult_int(1, 125999) == 125999); + assert(mult_int(1, 126000) == 126000); + assert(mult_int(1, 126001) == 126001); + assert(mult_int(1, 126002) == 126002); + assert(mult_int(1, 126003) == 126003); + assert(mult_int(1, 126004) == 126004); + assert(mult_int(1, 126005) == 126005); + assert(mult_int(1, 126006) == 126006); + assert(mult_int(1, 126007) == 126007); + assert(mult_int(1, 126008) == 126008); + assert(mult_int(1, 126009) == 126009); + assert(mult_int(1, 126010) == 126010); + assert(mult_int(1, 126076) == 126076); + assert(mult_int(1, 126077) == 126077); + assert(mult_int(1, 126078) == 126078); + assert(mult_int(1, 126079) == 126079); + assert(mult_int(1, 126080) == 126080); + assert(mult_int(1, 126081) == 126081); + assert(mult_int(1, 126082) == 126082); + assert(mult_int(1, 126083) == 126083); + assert(mult_int(1, 126084) == 126084); + assert(mult_int(1, 126085) == 126085); + assert(mult_int(1, 126086) == 126086); + assert(mult_int(1, 126087) == 126087); + assert(mult_int(1, 126088) == 126088); + assert(mult_int(1, 126089) == 126089); + assert(mult_int(1, 126090) == 126090); + assert(mult_int(1, 126091) == 126091); + assert(mult_int(1, 126092) == 126092); + assert(mult_int(1, 126093) == 126093); + assert(mult_int(1, 126094) == 126094); + assert(mult_int(1, 126095) == 126095); + assert(mult_int(1, 126096) == 126096); + assert(mult_int(1, 126097) == 126097); + assert(mult_int(1, 126098) == 126098); + assert(mult_int(1, 137040) == 137040); + assert(mult_int(1, 137041) == 137041); + assert(mult_int(1, 137042) == 137042); + assert(mult_int(1, 137043) == 137043); + assert(mult_int(1, 137044) == 137044); + assert(mult_int(1, 137045) == 137045); + assert(mult_int(1, 137046) == 137046); + assert(mult_int(1, 137047) == 137047); + assert(mult_int(1, 137048) == 137048); + assert(mult_int(1, 137049) == 137049); + assert(mult_int(1, 137050) == 137050); + assert(mult_int(1, 137051) == 137051); + assert(mult_int(1, 137052) == 137052); + assert(mult_int(1, 137053) == 137053); + assert(mult_int(1, 137054) == 137054); + assert(mult_int(1, 137055) == 137055); + assert(mult_int(1, 137056) == 137056); + assert(mult_int(1, 137057) == 137057); + assert(mult_int(1, 137060) == 137060); + assert(mult_int(1, 137061) == 137061); + assert(mult_int(1, 137062) == 137062); + assert(mult_int(1, 137063) == 137063); + assert(mult_int(1, 137064) == 137064); + assert(mult_int(1, 137065) == 137065); + assert(mult_int(1, 137066) == 137066); + assert(mult_int(1, 137128) == 137128); + assert(mult_int(1, 137129) == 137129); + assert(mult_int(1, 137130) == 137130); + assert(mult_int(1, 137131) == 137131); + assert(mult_int(1, 137132) == 137132); + assert(mult_int(1, 137133) == 137133); + assert(mult_int(1, 137134) == 137134); + assert(mult_int(1, 137135) == 137135); + assert(mult_int(1, 137136) == 137136); + assert(mult_int(1, 137137) == 137137); + assert(mult_int(1, 137138) == 137138); + assert(mult_int(1, 137139) == 137139); + assert(mult_int(1, 137140) == 137140); + assert(mult_int(1, 137141) == 137141); + assert(mult_int(1, 137142) == 137142); + assert(mult_int(1, 137143) == 137143); + assert(mult_int(1, 137144) == 137144); + assert(mult_int(1, 137145) == 137145); + assert(mult_int(1, 137148) == 137148); + assert(mult_int(1, 137149) == 137149); + assert(mult_int(1, 137150) == 137150); + assert(mult_int(1, 137151) == 137151); + assert(mult_int(1, 137152) == 137152); + assert(mult_int(1, 137153) == 137153); + assert(mult_int(1, 137154) == 137154); + assert(mult_int(1, 137580) == 137580); + assert(mult_int(1, 137581) == 137581); + assert(mult_int(1, 137582) == 137582); + assert(mult_int(1, 137583) == 137583); + assert(mult_int(1, 137584) == 137584); + assert(mult_int(1, 137585) == 137585); + assert(mult_int(1, 137586) == 137586); + assert(mult_int(1, 137587) == 137587); + assert(mult_int(1, 137588) == 137588); + assert(mult_int(1, 137589) == 137589); + assert(mult_int(1, 137590) == 137590); + assert(mult_int(1, 137591) == 137591); + assert(mult_int(1, 137592) == 137592); + assert(mult_int(1, 137593) == 137593); + assert(mult_int(1, 137594) == 137594); + assert(mult_int(1, 137595) == 137595); + assert(mult_int(1, 137596) == 137596); + assert(mult_int(1, 137597) == 137597); + assert(mult_int(1, 137598) == 137598); + assert(mult_int(1, 137599) == 137599); + assert(mult_int(1, 137600) == 137600); + assert(mult_int(1, 137601) == 137601); + assert(mult_int(1, 137602) == 137602); + assert(mult_int(1, 137603) == 137603); + assert(mult_int(1, 137668) == 137668); + assert(mult_int(1, 137669) == 137669); + assert(mult_int(1, 137670) == 137670); + assert(mult_int(1, 137671) == 137671); + assert(mult_int(1, 137672) == 137672); + assert(mult_int(1, 137673) == 137673); + assert(mult_int(1, 137674) == 137674); + assert(mult_int(1, 137675) == 137675); + assert(mult_int(1, 137676) == 137676); + assert(mult_int(1, 137677) == 137677); + assert(mult_int(1, 137678) == 137678); + assert(mult_int(1, 137679) == 137679); + assert(mult_int(1, 137680) == 137680); + assert(mult_int(1, 137681) == 137681); + assert(mult_int(1, 137682) == 137682); + assert(mult_int(1, 137683) == 137683); + assert(mult_int(1, 137684) == 137684); + assert(mult_int(1, 137685) == 137685); + assert(mult_int(1, 137686) == 137686); + assert(mult_int(1, 137687) == 137687); + assert(mult_int(1, 137688) == 137688); + assert(mult_int(1, 137689) == 137689); + assert(mult_int(1, 137690) == 137690); + assert(mult_int(1, 137691) == 137691); + assert(mult_int(1, 137872) == 137872); + assert(mult_int(1, 137873) == 137873); + assert(mult_int(1, 137874) == 137874); + assert(mult_int(1, 137875) == 137875); + assert(mult_int(1, 137876) == 137876); + assert(mult_int(1, 137877) == 137877); + assert(mult_int(1, 137878) == 137878); + assert(mult_int(1, 137879) == 137879); + assert(mult_int(1, 137880) == 137880); + assert(mult_int(1, 137881) == 137881); + assert(mult_int(1, 137882) == 137882); + assert(mult_int(1, 137883) == 137883); + assert(mult_int(1, 137884) == 137884); + assert(mult_int(1, 137885) == 137885); + assert(mult_int(1, 137886) == 137886); + assert(mult_int(1, 137887) == 137887); + assert(mult_int(1, 137888) == 137888); + assert(mult_int(1, 137889) == 137889); + assert(mult_int(1, 137890) == 137890); + assert(mult_int(1, 137891) == 137891); + assert(mult_int(1, 137892) == 137892); + assert(mult_int(1, 137893) == 137893); + assert(mult_int(1, 137894) == 137894); + assert(mult_int(1, 137895) == 137895); + assert(mult_int(1, 137896) == 137896); + assert(mult_int(1, 137897) == 137897); + assert(mult_int(1, 137898) == 137898); + assert(mult_int(1, 137960) == 137960); + assert(mult_int(1, 137961) == 137961); + assert(mult_int(1, 137962) == 137962); + assert(mult_int(1, 137963) == 137963); + assert(mult_int(1, 137964) == 137964); + assert(mult_int(1, 137965) == 137965); + assert(mult_int(1, 137966) == 137966); + assert(mult_int(1, 137967) == 137967); + assert(mult_int(1, 137968) == 137968); + assert(mult_int(1, 137969) == 137969); + assert(mult_int(1, 137970) == 137970); + assert(mult_int(1, 137971) == 137971); + assert(mult_int(1, 137972) == 137972); + assert(mult_int(1, 137973) == 137973); + assert(mult_int(1, 137974) == 137974); + assert(mult_int(1, 137975) == 137975); + assert(mult_int(1, 137976) == 137976); + assert(mult_int(1, 137977) == 137977); + assert(mult_int(1, 137978) == 137978); + assert(mult_int(1, 137979) == 137979); + assert(mult_int(1, 137980) == 137980); + assert(mult_int(1, 137981) == 137981); + assert(mult_int(1, 137982) == 137982); + assert(mult_int(1, 137983) == 137983); + assert(mult_int(1, 137984) == 137984); + assert(mult_int(1, 137985) == 137985); + assert(mult_int(1, 137986) == 137986); + assert(mult_int(1, 138504) == 138504); + assert(mult_int(1, 138505) == 138505); + assert(mult_int(1, 138506) == 138506); + assert(mult_int(1, 138507) == 138507); + assert(mult_int(1, 138508) == 138508); + assert(mult_int(1, 138509) == 138509); + assert(mult_int(1, 138510) == 138510); + assert(mult_int(1, 138511) == 138511); + assert(mult_int(1, 138512) == 138512); + assert(mult_int(1, 138513) == 138513); + assert(mult_int(1, 138516) == 138516); + assert(mult_int(1, 138517) == 138517); + assert(mult_int(1, 138518) == 138518); + assert(mult_int(1, 138519) == 138519); + assert(mult_int(1, 138520) == 138520); + assert(mult_int(1, 138521) == 138521); + assert(mult_int(1, 138522) == 138522); + assert(mult_int(1, 138523) == 138523); + assert(mult_int(1, 138524) == 138524); + assert(mult_int(1, 138525) == 138525); + assert(mult_int(1, 138526) == 138526); + assert(mult_int(1, 138527) == 138527); + assert(mult_int(1, 138528) == 138528); + assert(mult_int(1, 138529) == 138529); + assert(mult_int(1, 138530) == 138530); + assert(mult_int(1, 138531) == 138531); + assert(mult_int(1, 138532) == 138532); + assert(mult_int(1, 138533) == 138533); + assert(mult_int(1, 138534) == 138534); + assert(mult_int(1, 138535) == 138535); + assert(mult_int(1, 138536) == 138536); + assert(mult_int(1, 138537) == 138537); + assert(mult_int(1, 138538) == 138538); + assert(mult_int(1, 138539) == 138539); + assert(mult_int(1, 138540) == 138540); + assert(mult_int(1, 138541) == 138541); + assert(mult_int(1, 138544) == 138544); + assert(mult_int(1, 138545) == 138545); + assert(mult_int(1, 138546) == 138546); + assert(mult_int(1, 138547) == 138547); + assert(mult_int(1, 138548) == 138548); + assert(mult_int(1, 138549) == 138549); + assert(mult_int(1, 138550) == 138550); + assert(mult_int(1, 138551) == 138551); + assert(mult_int(1, 138552) == 138552); + assert(mult_int(1, 138553) == 138553); + assert(mult_int(1, 138556) == 138556); + assert(mult_int(1, 138557) == 138557); + assert(mult_int(1, 138558) == 138558); + assert(mult_int(1, 138559) == 138559); + assert(mult_int(1, 138560) == 138560); + assert(mult_int(1, 138561) == 138561); + assert(mult_int(1, 138562) == 138562); + assert(mult_int(1, 138563) == 138563); + assert(mult_int(1, 138564) == 138564); + assert(mult_int(1, 138565) == 138565); + assert(mult_int(1, 138568) == 138568); + assert(mult_int(1, 138569) == 138569); + assert(mult_int(1, 138570) == 138570); + assert(mult_int(1, 138571) == 138571); + assert(mult_int(1, 138572) == 138572); + assert(mult_int(1, 138573) == 138573); + assert(mult_int(1, 138574) == 138574); + assert(mult_int(1, 138575) == 138575); + assert(mult_int(1, 138576) == 138576); + assert(mult_int(1, 138577) == 138577); + assert(mult_int(1, 138580) == 138580); + assert(mult_int(1, 138581) == 138581); + assert(mult_int(1, 138582) == 138582); + assert(mult_int(1, 138583) == 138583); + assert(mult_int(1, 138584) == 138584); + assert(mult_int(1, 138585) == 138585); + assert(mult_int(1, 138586) == 138586); + assert(mult_int(1, 138587) == 138587); + assert(mult_int(1, 138588) == 138588); + assert(mult_int(1, 138589) == 138589); + assert(mult_int(1, 138592) == 138592); + assert(mult_int(1, 138593) == 138593); + assert(mult_int(1, 138594) == 138594); + assert(mult_int(1, 138595) == 138595); + assert(mult_int(1, 138596) == 138596); + assert(mult_int(1, 138597) == 138597); + assert(mult_int(1, 138598) == 138598); + assert(mult_int(1, 138599) == 138599); + assert(mult_int(1, 138600) == 138600); + assert(mult_int(1, 138601) == 138601); + assert(mult_int(1, 138604) == 138604); + assert(mult_int(1, 138605) == 138605); + assert(mult_int(1, 138606) == 138606); + assert(mult_int(1, 138607) == 138607); + assert(mult_int(1, 138608) == 138608); + assert(mult_int(1, 138609) == 138609); + assert(mult_int(1, 138610) == 138610); + assert(mult_int(1, 138611) == 138611); + assert(mult_int(1, 138612) == 138612); + assert(mult_int(1, 138613) == 138613); + assert(mult_int(1, 138614) == 138614); + assert(mult_int(1, 138615) == 138615); + assert(mult_int(1, 138616) == 138616); + assert(mult_int(1, 138617) == 138617); + assert(mult_int(1, 138618) == 138618); + assert(mult_int(1, 138619) == 138619); + assert(mult_int(1, 138620) == 138620); + assert(mult_int(1, 138621) == 138621); + assert(mult_int(1, 138622) == 138622); + assert(mult_int(1, 138623) == 138623); + assert(mult_int(1, 138624) == 138624); + assert(mult_int(1, 138625) == 138625); + assert(mult_int(1, 138626) == 138626); + assert(mult_int(1, 138627) == 138627); + assert(mult_int(1, 138628) == 138628); + assert(mult_int(1, 138629) == 138629); + assert(mult_int(1, 138632) == 138632); + assert(mult_int(1, 138633) == 138633); + assert(mult_int(1, 138634) == 138634); + assert(mult_int(1, 138635) == 138635); + assert(mult_int(1, 138636) == 138636); + assert(mult_int(1, 138637) == 138637); + assert(mult_int(1, 138638) == 138638); + assert(mult_int(1, 138639) == 138639); + assert(mult_int(1, 138640) == 138640); + assert(mult_int(1, 138641) == 138641); + assert(mult_int(1, 138644) == 138644); + assert(mult_int(1, 138645) == 138645); + assert(mult_int(1, 138646) == 138646); + assert(mult_int(1, 138647) == 138647); + assert(mult_int(1, 138648) == 138648); + assert(mult_int(1, 138649) == 138649); + assert(mult_int(1, 138650) == 138650); + assert(mult_int(1, 138651) == 138651); + assert(mult_int(1, 138652) == 138652); + assert(mult_int(1, 138653) == 138653); + assert(mult_int(1, 138656) == 138656); + assert(mult_int(1, 138657) == 138657); + assert(mult_int(1, 138658) == 138658); + assert(mult_int(1, 138659) == 138659); + assert(mult_int(1, 138660) == 138660); + assert(mult_int(1, 138661) == 138661); + assert(mult_int(1, 138662) == 138662); + assert(mult_int(1, 138663) == 138663); + assert(mult_int(1, 138664) == 138664); + assert(mult_int(1, 138665) == 138665); + assert(mult_int(1, 138668) == 138668); + assert(mult_int(1, 138669) == 138669); + assert(mult_int(1, 138670) == 138670); + assert(mult_int(1, 138671) == 138671); + assert(mult_int(1, 138672) == 138672); + assert(mult_int(1, 138673) == 138673); + assert(mult_int(1, 138674) == 138674); + assert(mult_int(1, 138675) == 138675); + assert(mult_int(1, 138676) == 138676); + assert(mult_int(1, 138677) == 138677); + assert(mult_int(1, 144864) == 144864); + assert(mult_int(1, 144865) == 144865); + assert(mult_int(1, 144866) == 144866); + assert(mult_int(1, 144867) == 144867); + assert(mult_int(1, 144868) == 144868); + assert(mult_int(1, 144869) == 144869); + assert(mult_int(1, 144870) == 144870); + assert(mult_int(1, 144871) == 144871); + assert(mult_int(1, 144872) == 144872); + assert(mult_int(1, 144873) == 144873); + assert(mult_int(1, 144874) == 144874); + assert(mult_int(1, 144875) == 144875); + assert(mult_int(1, 144876) == 144876); + assert(mult_int(1, 144877) == 144877); + assert(mult_int(1, 144878) == 144878); + assert(mult_int(1, 144879) == 144879); + assert(mult_int(1, 144880) == 144880); + assert(mult_int(1, 144881) == 144881); + assert(mult_int(1, 144882) == 144882); + assert(mult_int(1, 144883) == 144883); + assert(mult_int(1, 144884) == 144884); + assert(mult_int(1, 144885) == 144885); + assert(mult_int(1, 144886) == 144886); + assert(mult_int(1, 144887) == 144887); + assert(mult_int(1, 144888) == 144888); + assert(mult_int(1, 144952) == 144952); + assert(mult_int(1, 144953) == 144953); + assert(mult_int(1, 144954) == 144954); + assert(mult_int(1, 144955) == 144955); + assert(mult_int(1, 144956) == 144956); + assert(mult_int(1, 144957) == 144957); + assert(mult_int(1, 144958) == 144958); + assert(mult_int(1, 144959) == 144959); + assert(mult_int(1, 144960) == 144960); + assert(mult_int(1, 144961) == 144961); + assert(mult_int(1, 144962) == 144962); + assert(mult_int(1, 144963) == 144963); + assert(mult_int(1, 144964) == 144964); + assert(mult_int(1, 144965) == 144965); + assert(mult_int(1, 144966) == 144966); + assert(mult_int(1, 144967) == 144967); + assert(mult_int(1, 144968) == 144968); + assert(mult_int(1, 144969) == 144969); + assert(mult_int(1, 144970) == 144970); + assert(mult_int(1, 144971) == 144971); + assert(mult_int(1, 144972) == 144972); + assert(mult_int(1, 144973) == 144973); + assert(mult_int(1, 144974) == 144974); + assert(mult_int(1, 144975) == 144975); + assert(mult_int(1, 144976) == 144976); + assert(mult_int(1, 20971524) == 20971524); + assert(mult_int(1, 20971525) == 20971525); + assert(mult_int(1, 20971526) == 20971526); + assert(mult_int(1, 20971527) == 20971527); + assert(mult_int(1, 20971528) == 20971528); + assert(mult_int(1, 20971529) == 20971529); + assert(mult_int(1, 20971530) == 20971530); + assert(mult_int(1, 20971531) == 20971531); + assert(mult_int(1, 20971532) == 20971532); + assert(mult_int(1, 20971533) == 20971533); + assert(mult_int(1, 20971534) == 20971534); + assert(mult_int(1, 20971535) == 20971535); + assert(mult_int(1, 20971536) == 20971536); + assert(mult_int(1, 20971537) == 20971537); + assert(mult_int(1, 3145728) == 3145728); + assert(mult_int(1, 3145729) == 3145729); + assert(mult_int(1, 3145730) == 3145730); + assert(mult_int(1, 3145731) == 3145731); + assert(mult_int(1, 3145732) == 3145732); + assert(mult_int(1, 3145733) == 3145733); + assert(mult_int(1, 3145734) == 3145734); + assert(mult_int(1, 3145735) == 3145735); + assert(mult_int(1, 3145736) == 3145736); + assert(mult_int(1, 3145737) == 3145737); + assert(mult_int(1, 3145738) == 3145738); + assert(mult_int(1, 3145739) == 3145739); + assert(mult_int(1, 3145740) == 3145740); + assert(mult_int(1, 3145741) == 3145741); + assert(mult_int(1, 3145742) == 3145742); + assert(mult_int(1, 318767104) == 318767104); + assert(mult_int(1, 50367776) == 50367776); + assert(mult_int(1, 50367777) == 50367777); + assert(mult_int(1, 50367824) == 50367824); + assert(mult_int(1, 50367825) == 50367825); + assert(mult_int(1, 50367872) == 50367872); + assert(mult_int(1, 58720273) == 58720273); + assert(mult_int(1, 58720274) == 58720274); + assert(mult_int(1, 58720275) == 58720275); + assert(mult_int(1, 58720315) == 58720315); + assert(mult_int(1, 58720316) == 58720316); + assert(mult_int(1, 58720317) == 58720317); + assert(mult_int(1, 58720332) == 58720332); + assert(mult_int(1, 58720333) == 58720333); + assert(mult_int(1, 58720334) == 58720334); + assert(mult_int(1, 6) == 6); + assert(mult_int(1, 8) == 8); + assert(mult_int(10, 0) == 0); + assert(mult_int(10, 1) == 10); + assert(mult_int(10, 2) == 20); + assert(mult_int(10, 3) == 30); + assert(mult_int(1024, 1) == 1024); + assert(mult_int(16, 0) == 0); + assert(mult_int(16, 3147986) == 50367776); + assert(mult_int(16, 3147988) == 50367808); + assert(mult_int(16, 3147989) == 50367824); + assert(mult_int(16, 3147991) == 50367856); + assert(mult_int(16, 3147992) == 50367872); + assert(mult_int(16, 3147994) == 50367904); + assert(mult_int(16, 3147995) == 50367920); + assert(mult_int(16, 3147998) == 50367968); + assert(mult_int(16, 3147999) == 50367984); + assert(mult_int(16, 3148000) == 50368000); + assert(mult_int(16, 3148001) == 50368016); + assert(mult_int(16, 3148002) == 50368032); + assert(mult_int(16, 3670060) == 58720960); + assert(mult_int(16, 3670065) == 58721040); + assert(mult_int(16, 3670067) == 58721072); + assert(mult_int(16, 3670069) == 58721104); + assert(mult_int(16, 3670070) == 58721120); + assert(mult_int(16, 3670074) == 58721184); + assert(mult_int(16, 3670075) == 58721200); + assert(mult_int(16, 3670077) == 58721232); + assert(mult_int(16, 3670079) == 58721264); + assert(mult_int(16, 3670082) == 58721312); + assert(mult_int(16, 3670083) == 58721328); + assert(mult_int(16, 3670084) == 58721344); + assert(mult_int(16, 3670085) == 58721360); + assert(mult_int(16, 3670086) == 58721376); + assert(mult_int(16, 66650) == 1066400); + assert(mult_int(16, 66652) == 1066432); + assert(mult_int(16, 66663) == 1066608); + assert(mult_int(16, 66676) == 1066816); + assert(mult_int(2, 0) == 0); + assert(mult_int(2, 11) == 22); + assert(mult_int(3, 11) == 33); + assert(mult_int(4, 110624798) == 442499192); + assert(mult_int(4, 110624799) == 442499196); + assert(mult_int(4, 110624800) == 442499200); + assert(mult_int(4, 12582917) == 50331668); + assert(mult_int(4, 12582918) == 50331672); + assert(mult_int(4, 12582919) == 50331676); + assert(mult_int(4, 12582920) == 50331680); + assert(mult_int(4, 12582924) == 50331696); + assert(mult_int(4, 12582933) == 50331732); + assert(mult_int(4, 12582934) == 50331736); + assert(mult_int(4, 12582938) == 50331752); + assert(mult_int(4, 12582962) == 50331848); + assert(mult_int(4, 12589764) == 50359056); + assert(mult_int(4, 12589765) == 50359060); + assert(mult_int(4, 12591944) == 50367776); + assert(mult_int(4, 12591945) == 50367780); + assert(mult_int(4, 12591946) == 50367784); + assert(mult_int(4, 12591956) == 50367824); + assert(mult_int(4, 12591957) == 50367828); + assert(mult_int(4, 12591958) == 50367832); + assert(mult_int(4, 12591959) == 50367836); + assert(mult_int(4, 12591960) == 50367840); + assert(mult_int(4, 12591961) == 50367844); + assert(mult_int(4, 12591962) == 50367848); + assert(mult_int(4, 12591963) == 50367852); + assert(mult_int(4, 12591964) == 50367856); + assert(mult_int(4, 12591965) == 50367860); + assert(mult_int(4, 12591966) == 50367864); + assert(mult_int(4, 12591967) == 50367868); + assert(mult_int(4, 12591968) == 50367872); + assert(mult_int(4, 12591969) == 50367876); + assert(mult_int(4, 12591970) == 50367880); + assert(mult_int(4, 12591971) == 50367884); + assert(mult_int(4, 12591972) == 50367888); + assert(mult_int(4, 12591973) == 50367892); + assert(mult_int(4, 12591974) == 50367896); + assert(mult_int(4, 12591975) == 50367900); + assert(mult_int(4, 12591976) == 50367904); + assert(mult_int(4, 12591977) == 50367908); + assert(mult_int(4, 12591978) == 50367912); + assert(mult_int(4, 12591979) == 50367916); + assert(mult_int(4, 12591980) == 50367920); + assert(mult_int(4, 12591981) == 50367924); + assert(mult_int(4, 12591982) == 50367928); + assert(mult_int(4, 12591983) == 50367932); + assert(mult_int(4, 12591984) == 50367936); + assert(mult_int(4, 12591985) == 50367940); + assert(mult_int(4, 12591986) == 50367944); + assert(mult_int(4, 12591987) == 50367948); + assert(mult_int(4, 12591988) == 50367952); + assert(mult_int(4, 12591989) == 50367956); + assert(mult_int(4, 12591990) == 50367960); + assert(mult_int(4, 12591991) == 50367964); + assert(mult_int(4, 12591992) == 50367968); + assert(mult_int(4, 12591993) == 50367972); + assert(mult_int(4, 12591994) == 50367976); + assert(mult_int(4, 12591995) == 50367980); + assert(mult_int(4, 13058048) == 52232192); + assert(mult_int(4, 13058049) == 52232196); + assert(mult_int(4, 13058050) == 52232200); + assert(mult_int(4, 13058051) == 52232204); + assert(mult_int(4, 13058052) == 52232208); + assert(mult_int(4, 13058053) == 52232212); + assert(mult_int(4, 13058054) == 52232216); + assert(mult_int(4, 13058055) == 52232220); + assert(mult_int(4, 13058056) == 52232224); + assert(mult_int(4, 13058064) == 52232256); + assert(mult_int(4, 13058065) == 52232260); + assert(mult_int(4, 13058066) == 52232264); + assert(mult_int(4, 13058067) == 52232268); + assert(mult_int(4, 13058068) == 52232272); + assert(mult_int(4, 13058069) == 52232276); + assert(mult_int(4, 13058070) == 52232280); + assert(mult_int(4, 13058071) == 52232284); + assert(mult_int(4, 13058072) == 52232288); + assert(mult_int(4, 13058073) == 52232292); + assert(mult_int(4, 13058074) == 52232296); + assert(mult_int(4, 13058075) == 52232300); + assert(mult_int(4, 13058076) == 52232304); + assert(mult_int(4, 13058077) == 52232308); + assert(mult_int(4, 13058078) == 52232312); + assert(mult_int(4, 13058079) == 52232316); + assert(mult_int(4, 13058080) == 52232320); + assert(mult_int(4, 13058081) == 52232324); + assert(mult_int(4, 13058082) == 52232328); + assert(mult_int(4, 13058083) == 52232332); + assert(mult_int(4, 13058084) == 52232336); + assert(mult_int(4, 13058085) == 52232340); + assert(mult_int(4, 13058086) == 52232344); + assert(mult_int(4, 13058087) == 52232348); + assert(mult_int(4, 13058088) == 52232352); + assert(mult_int(4, 13058089) == 52232356); + assert(mult_int(4, 13058090) == 52232360); + assert(mult_int(4, 13058091) == 52232364); + assert(mult_int(4, 13058092) == 52232368); + assert(mult_int(4, 13058093) == 52232372); + assert(mult_int(4, 13058094) == 52232376); + assert(mult_int(4, 13058095) == 52232380); + assert(mult_int(4, 13058096) == 52232384); + assert(mult_int(4, 13058097) == 52232388); + assert(mult_int(4, 13058098) == 52232392); + assert(mult_int(4, 13058099) == 52232396); + assert(mult_int(4, 13058100) == 52232400); + assert(mult_int(4, 13058101) == 52232404); + assert(mult_int(4, 13058102) == 52232408); + assert(mult_int(4, 13058103) == 52232412); + assert(mult_int(4, 13058104) == 52232416); + assert(mult_int(4, 13058105) == 52232420); + assert(mult_int(4, 13058106) == 52232424); + assert(mult_int(4, 13058107) == 52232428); + assert(mult_int(4, 13058108) == 52232432); + assert(mult_int(4, 13058109) == 52232436); + assert(mult_int(4, 13058110) == 52232440); + assert(mult_int(4, 13058111) == 52232444); + assert(mult_int(4, 13058112) == 52232448); + assert(mult_int(4, 13058113) == 52232452); + assert(mult_int(4, 13058114) == 52232456); + assert(mult_int(4, 13058115) == 52232460); + assert(mult_int(4, 13058116) == 52232464); + assert(mult_int(4, 13058126) == 52232504); + assert(mult_int(4, 13058127) == 52232508); + assert(mult_int(4, 13058128) == 52232512); + assert(mult_int(4, 13058129) == 52232516); + assert(mult_int(4, 13058142) == 52232568); + assert(mult_int(4, 13058143) == 52232572); + assert(mult_int(4, 13058149) == 52232596); + assert(mult_int(4, 13058232) == 52232928); + assert(mult_int(4, 13058356) == 52233424); + assert(mult_int(4, 13058357) == 52233428); + assert(mult_int(4, 13058358) == 52233432); + assert(mult_int(4, 13058359) == 52233436); + assert(mult_int(4, 13058360) == 52233440); + assert(mult_int(4, 13058361) == 52233444); + assert(mult_int(4, 13058362) == 52233448); + assert(mult_int(4, 13058363) == 52233452); + assert(mult_int(4, 13058364) == 52233456); + assert(mult_int(4, 13058365) == 52233460); + assert(mult_int(4, 13058366) == 52233464); + assert(mult_int(4, 13058367) == 52233468); + assert(mult_int(4, 13058368) == 52233472); + assert(mult_int(4, 13058369) == 52233476); + assert(mult_int(4, 13058370) == 52233480); + assert(mult_int(4, 13058371) == 52233484); + assert(mult_int(4, 13058372) == 52233488); + assert(mult_int(4, 13058373) == 52233492); + assert(mult_int(4, 13058374) == 52233496); + assert(mult_int(4, 13058375) == 52233500); + assert(mult_int(4, 13058376) == 52233504); + assert(mult_int(4, 13058377) == 52233508); + assert(mult_int(4, 13058378) == 52233512); + assert(mult_int(4, 13058379) == 52233516); + assert(mult_int(4, 13058380) == 52233520); + assert(mult_int(4, 13058381) == 52233524); + assert(mult_int(4, 13058382) == 52233528); + assert(mult_int(4, 13058383) == 52233532); + assert(mult_int(4, 13058384) == 52233536); + assert(mult_int(4, 13058385) == 52233540); + assert(mult_int(4, 13058386) == 52233544); + assert(mult_int(4, 13058387) == 52233548); + assert(mult_int(4, 13058388) == 52233552); + assert(mult_int(4, 13058389) == 52233556); + assert(mult_int(4, 13058390) == 52233560); + assert(mult_int(4, 13058391) == 52233564); + assert(mult_int(4, 13058392) == 52233568); + assert(mult_int(4, 13058393) == 52233572); + assert(mult_int(4, 13058394) == 52233576); + assert(mult_int(4, 13058395) == 52233580); + assert(mult_int(4, 13058396) == 52233584); + assert(mult_int(4, 13058397) == 52233588); + assert(mult_int(4, 13058398) == 52233592); + assert(mult_int(4, 13058399) == 52233596); + assert(mult_int(4, 13058400) == 52233600); + assert(mult_int(4, 13058401) == 52233604); + assert(mult_int(4, 13058402) == 52233608); + assert(mult_int(4, 13058403) == 52233612); + assert(mult_int(4, 13058404) == 52233616); + assert(mult_int(4, 13058405) == 52233620); + assert(mult_int(4, 13058406) == 52233624); + assert(mult_int(4, 13058407) == 52233628); + assert(mult_int(4, 13058408) == 52233632); + assert(mult_int(4, 13058409) == 52233636); + assert(mult_int(4, 13058410) == 52233640); + assert(mult_int(4, 13058411) == 52233644); + assert(mult_int(4, 13058412) == 52233648); + assert(mult_int(4, 13058413) == 52233652); + assert(mult_int(4, 13058414) == 52233656); + assert(mult_int(4, 13058415) == 52233660); + assert(mult_int(4, 13058416) == 52233664); + assert(mult_int(4, 13058417) == 52233668); + assert(mult_int(4, 13058418) == 52233672); + assert(mult_int(4, 13058419) == 52233676); + assert(mult_int(4, 13058420) == 52233680); + assert(mult_int(4, 13058421) == 52233684); + assert(mult_int(4, 13058422) == 52233688); + assert(mult_int(4, 13058423) == 52233692); + assert(mult_int(4, 13058424) == 52233696); + assert(mult_int(4, 13058425) == 52233700); + assert(mult_int(4, 13058426) == 52233704); + assert(mult_int(4, 13058427) == 52233708); + assert(mult_int(4, 13058428) == 52233712); + assert(mult_int(4, 13058429) == 52233716); + assert(mult_int(4, 13058430) == 52233720); + assert(mult_int(4, 13058431) == 52233724); + assert(mult_int(4, 13058432) == 52233728); + assert(mult_int(4, 13058433) == 52233732); + assert(mult_int(4, 13058434) == 52233736); + assert(mult_int(4, 13058435) == 52233740); + assert(mult_int(4, 13058436) == 52233744); + assert(mult_int(4, 13058437) == 52233748); + assert(mult_int(4, 13058438) == 52233752); + assert(mult_int(4, 13058439) == 52233756); + assert(mult_int(4, 13058440) == 52233760); + assert(mult_int(4, 13058441) == 52233764); + assert(mult_int(4, 13058442) == 52233768); + assert(mult_int(4, 13058443) == 52233772); + assert(mult_int(4, 13058444) == 52233776); + assert(mult_int(4, 13058445) == 52233780); + assert(mult_int(4, 13058446) == 52233784); + assert(mult_int(4, 13058447) == 52233788); + assert(mult_int(4, 13058448) == 52233792); + assert(mult_int(4, 13058449) == 52233796); + assert(mult_int(4, 13058450) == 52233800); + assert(mult_int(4, 13058451) == 52233804); + assert(mult_int(4, 13058452) == 52233808); + assert(mult_int(4, 13058453) == 52233812); + assert(mult_int(4, 13058454) == 52233816); + assert(mult_int(4, 13058455) == 52233820); + assert(mult_int(4, 13058456) == 52233824); + assert(mult_int(4, 13058457) == 52233828); + assert(mult_int(4, 13058458) == 52233832); + assert(mult_int(4, 13058459) == 52233836); + assert(mult_int(4, 13058460) == 52233840); + assert(mult_int(4, 13058461) == 52233844); + assert(mult_int(4, 13058462) == 52233848); + assert(mult_int(4, 13058463) == 52233852); + assert(mult_int(4, 13058464) == 52233856); + assert(mult_int(4, 13058465) == 52233860); + assert(mult_int(4, 13058466) == 52233864); + assert(mult_int(4, 13058467) == 52233868); + assert(mult_int(4, 13058468) == 52233872); + assert(mult_int(4, 13058469) == 52233876); + assert(mult_int(4, 13058470) == 52233880); + assert(mult_int(4, 13058476) == 52233904); + assert(mult_int(4, 13058477) == 52233908); + assert(mult_int(4, 13058478) == 52233912); + assert(mult_int(4, 13058479) == 52233916); + assert(mult_int(4, 13058480) == 52233920); + assert(mult_int(4, 13058481) == 52233924); + assert(mult_int(4, 13058482) == 52233928); + assert(mult_int(4, 13058483) == 52233932); + assert(mult_int(4, 13058484) == 52233936); + assert(mult_int(4, 13058485) == 52233940); + assert(mult_int(4, 13058486) == 52233944); + assert(mult_int(4, 13058487) == 52233948); + assert(mult_int(4, 13058488) == 52233952); + assert(mult_int(4, 13058489) == 52233956); + assert(mult_int(4, 13058490) == 52233960); + assert(mult_int(4, 13058496) == 52233984); + assert(mult_int(4, 13058497) == 52233988); + assert(mult_int(4, 13058498) == 52233992); + assert(mult_int(4, 13058499) == 52233996); + assert(mult_int(4, 13058500) == 52234000); + assert(mult_int(4, 13058501) == 52234004); + assert(mult_int(4, 13058502) == 52234008); + assert(mult_int(4, 13058503) == 52234012); + assert(mult_int(4, 13058504) == 52234016); + assert(mult_int(4, 13058505) == 52234020); + assert(mult_int(4, 13058511) == 52234044); + assert(mult_int(4, 13058512) == 52234048); + assert(mult_int(4, 13058513) == 52234052); + assert(mult_int(4, 13058514) == 52234056); + assert(mult_int(4, 13058515) == 52234060); + assert(mult_int(4, 13058516) == 52234064); + assert(mult_int(4, 13058517) == 52234068); + assert(mult_int(4, 13058518) == 52234072); + assert(mult_int(4, 13058519) == 52234076); + assert(mult_int(4, 13058520) == 52234080); + assert(mult_int(4, 13058521) == 52234084); + assert(mult_int(4, 13058522) == 52234088); + assert(mult_int(4, 13058523) == 52234092); + assert(mult_int(4, 13058524) == 52234096); + assert(mult_int(4, 13058525) == 52234100); + assert(mult_int(4, 13058526) == 52234104); + assert(mult_int(4, 13058527) == 52234108); + assert(mult_int(4, 13058528) == 52234112); + assert(mult_int(4, 13058529) == 52234116); + assert(mult_int(4, 13058530) == 52234120); + assert(mult_int(4, 13058531) == 52234124); + assert(mult_int(4, 13058532) == 52234128); + assert(mult_int(4, 13058550) == 52234200); + assert(mult_int(4, 13058551) == 52234204); + assert(mult_int(4, 13058552) == 52234208); + assert(mult_int(4, 13058553) == 52234212); + assert(mult_int(4, 13058554) == 52234216); + assert(mult_int(4, 13058555) == 52234220); + assert(mult_int(4, 13058556) == 52234224); + assert(mult_int(4, 13058557) == 52234228); + assert(mult_int(4, 13058558) == 52234232); + assert(mult_int(4, 13058559) == 52234236); + assert(mult_int(4, 13058560) == 52234240); + assert(mult_int(4, 13058561) == 52234244); + assert(mult_int(4, 13058562) == 52234248); + assert(mult_int(4, 13058563) == 52234252); + assert(mult_int(4, 13058564) == 52234256); + assert(mult_int(4, 13058565) == 52234260); + assert(mult_int(4, 13058566) == 52234264); + assert(mult_int(4, 13058567) == 52234268); + assert(mult_int(4, 13058568) == 52234272); + assert(mult_int(4, 13058569) == 52234276); + assert(mult_int(4, 13058570) == 52234280); + assert(mult_int(4, 13058571) == 52234284); + assert(mult_int(4, 13058572) == 52234288); + assert(mult_int(4, 13058573) == 52234292); + assert(mult_int(4, 13058574) == 52234296); + assert(mult_int(4, 13058575) == 52234300); + assert(mult_int(4, 13058576) == 52234304); + assert(mult_int(4, 13058577) == 52234308); + assert(mult_int(4, 13058578) == 52234312); + assert(mult_int(4, 13058579) == 52234316); + assert(mult_int(4, 13058580) == 52234320); + assert(mult_int(4, 13058581) == 52234324); + assert(mult_int(4, 13058582) == 52234328); + assert(mult_int(4, 13058583) == 52234332); + assert(mult_int(4, 13058584) == 52234336); + assert(mult_int(4, 13058585) == 52234340); + assert(mult_int(4, 13058586) == 52234344); + assert(mult_int(4, 13058587) == 52234348); + assert(mult_int(4, 13058588) == 52234352); + assert(mult_int(4, 13058589) == 52234356); + assert(mult_int(4, 13058602) == 52234408); + assert(mult_int(4, 13058603) == 52234412); + assert(mult_int(4, 13058604) == 52234416); + assert(mult_int(4, 13058605) == 52234420); + assert(mult_int(4, 13058606) == 52234424); + assert(mult_int(4, 13058607) == 52234428); + assert(mult_int(4, 13058608) == 52234432); + assert(mult_int(4, 13058609) == 52234436); + assert(mult_int(4, 13058610) == 52234440); + assert(mult_int(4, 13058611) == 52234444); + assert(mult_int(4, 13058612) == 52234448); + assert(mult_int(4, 13058613) == 52234452); + assert(mult_int(4, 13058614) == 52234456); + assert(mult_int(4, 13058615) == 52234460); + assert(mult_int(4, 13058616) == 52234464); + assert(mult_int(4, 13058617) == 52234468); + assert(mult_int(4, 13058618) == 52234472); + assert(mult_int(4, 13058619) == 52234476); + assert(mult_int(4, 13058620) == 52234480); + assert(mult_int(4, 13058621) == 52234484); + assert(mult_int(4, 13058623) == 52234492); + assert(mult_int(4, 13058624) == 52234496); + assert(mult_int(4, 13058625) == 52234500); + assert(mult_int(4, 13058626) == 52234504); + assert(mult_int(4, 13058627) == 52234508); + assert(mult_int(4, 13058628) == 52234512); + assert(mult_int(4, 13058629) == 52234516); + assert(mult_int(4, 13058630) == 52234520); + assert(mult_int(4, 13058631) == 52234524); + assert(mult_int(4, 13058632) == 52234528); + assert(mult_int(4, 13058633) == 52234532); + assert(mult_int(4, 13058634) == 52234536); + assert(mult_int(4, 13058635) == 52234540); + assert(mult_int(4, 13058636) == 52234544); + assert(mult_int(4, 13058637) == 52234548); + assert(mult_int(4, 13058638) == 52234552); + assert(mult_int(4, 13058639) == 52234556); + assert(mult_int(4, 13058640) == 52234560); + assert(mult_int(4, 13058641) == 52234564); + assert(mult_int(4, 13058642) == 52234568); + assert(mult_int(4, 13058643) == 52234572); + assert(mult_int(4, 13058644) == 52234576); + assert(mult_int(4, 13058645) == 52234580); + assert(mult_int(4, 13058646) == 52234584); + assert(mult_int(4, 13058647) == 52234588); + assert(mult_int(4, 13058648) == 52234592); + assert(mult_int(4, 13058649) == 52234596); + assert(mult_int(4, 13058650) == 52234600); + assert(mult_int(4, 13058651) == 52234604); + assert(mult_int(4, 13058652) == 52234608); + assert(mult_int(4, 13058653) == 52234612); + assert(mult_int(4, 13058654) == 52234616); + assert(mult_int(4, 13058655) == 52234620); + assert(mult_int(4, 13058656) == 52234624); + assert(mult_int(4, 13058657) == 52234628); + assert(mult_int(4, 13058658) == 52234632); + assert(mult_int(4, 13058659) == 52234636); + assert(mult_int(4, 13058660) == 52234640); + assert(mult_int(4, 13058661) == 52234644); + assert(mult_int(4, 13058662) == 52234648); + assert(mult_int(4, 13058663) == 52234652); + assert(mult_int(4, 13058664) == 52234656); + assert(mult_int(4, 13058665) == 52234660); + assert(mult_int(4, 13058666) == 52234664); + assert(mult_int(4, 13058667) == 52234668); + assert(mult_int(4, 13058668) == 52234672); + assert(mult_int(4, 13058669) == 52234676); + assert(mult_int(4, 13058670) == 52234680); + assert(mult_int(4, 13058671) == 52234684); + assert(mult_int(4, 13058672) == 52234688); + assert(mult_int(4, 13058673) == 52234692); + assert(mult_int(4, 13058674) == 52234696); + assert(mult_int(4, 13058675) == 52234700); + assert(mult_int(4, 13058676) == 52234704); + assert(mult_int(4, 13058677) == 52234708); + assert(mult_int(4, 13058679) == 52234716); + assert(mult_int(4, 13058680) == 52234720); + assert(mult_int(4, 13058681) == 52234724); + assert(mult_int(4, 13058682) == 52234728); + assert(mult_int(4, 13058683) == 52234732); + assert(mult_int(4, 13058684) == 52234736); + assert(mult_int(4, 13058685) == 52234740); + assert(mult_int(4, 13058686) == 52234744); + assert(mult_int(4, 13058687) == 52234748); + assert(mult_int(4, 13058690) == 52234760); + assert(mult_int(4, 13058691) == 52234764); + assert(mult_int(4, 13058692) == 52234768); + assert(mult_int(4, 13058693) == 52234772); + assert(mult_int(4, 13058694) == 52234776); + assert(mult_int(4, 13058695) == 52234780); + assert(mult_int(4, 13058696) == 52234784); + assert(mult_int(4, 13058697) == 52234788); + assert(mult_int(4, 13058698) == 52234792); + assert(mult_int(4, 13058699) == 52234796); + assert(mult_int(4, 13058700) == 52234800); + assert(mult_int(4, 13058701) == 52234804); + assert(mult_int(4, 13058702) == 52234808); + assert(mult_int(4, 13058703) == 52234812); + assert(mult_int(4, 13058704) == 52234816); + assert(mult_int(4, 13058705) == 52234820); + assert(mult_int(4, 13058706) == 52234824); + assert(mult_int(4, 13058707) == 52234828); + assert(mult_int(4, 13058708) == 52234832); + assert(mult_int(4, 13058709) == 52234836); + assert(mult_int(4, 13058710) == 52234840); + assert(mult_int(4, 13058711) == 52234844); + assert(mult_int(4, 13058712) == 52234848); + assert(mult_int(4, 13058713) == 52234852); + assert(mult_int(4, 13058714) == 52234856); + assert(mult_int(4, 13058715) == 52234860); + assert(mult_int(4, 13058716) == 52234864); + assert(mult_int(4, 13058717) == 52234868); + assert(mult_int(4, 13058718) == 52234872); + assert(mult_int(4, 13058719) == 52234876); + assert(mult_int(4, 13058720) == 52234880); + assert(mult_int(4, 13058721) == 52234884); + assert(mult_int(4, 13058722) == 52234888); + assert(mult_int(4, 13058723) == 52234892); + assert(mult_int(4, 13058724) == 52234896); + assert(mult_int(4, 13058725) == 52234900); + assert(mult_int(4, 13058726) == 52234904); + assert(mult_int(4, 13058727) == 52234908); + assert(mult_int(4, 13058728) == 52234912); + assert(mult_int(4, 13058729) == 52234916); + assert(mult_int(4, 13058730) == 52234920); + assert(mult_int(4, 13058731) == 52234924); + assert(mult_int(4, 13058732) == 52234928); + assert(mult_int(4, 13058733) == 52234932); + assert(mult_int(4, 13058734) == 52234936); + assert(mult_int(4, 13058735) == 52234940); + assert(mult_int(4, 13058736) == 52234944); + assert(mult_int(4, 13058737) == 52234948); + assert(mult_int(4, 13058738) == 52234952); + assert(mult_int(4, 13058739) == 52234956); + assert(mult_int(4, 13058740) == 52234960); + assert(mult_int(4, 13058741) == 52234964); + assert(mult_int(4, 13058742) == 52234968); + assert(mult_int(4, 13058743) == 52234972); + assert(mult_int(4, 13058744) == 52234976); + assert(mult_int(4, 13058745) == 52234980); + assert(mult_int(4, 13058746) == 52234984); + assert(mult_int(4, 13058747) == 52234988); + assert(mult_int(4, 13058748) == 52234992); + assert(mult_int(4, 13058749) == 52234996); + assert(mult_int(4, 13058750) == 52235000); + assert(mult_int(4, 13058754) == 52235016); + assert(mult_int(4, 13058755) == 52235020); + assert(mult_int(4, 13058756) == 52235024); + assert(mult_int(4, 13058757) == 52235028); + assert(mult_int(4, 13058758) == 52235032); + assert(mult_int(4, 13058759) == 52235036); + assert(mult_int(4, 13058760) == 52235040); + assert(mult_int(4, 13058761) == 52235044); + assert(mult_int(4, 13058762) == 52235048); + assert(mult_int(4, 13058765) == 52235060); + assert(mult_int(4, 13058766) == 52235064); + assert(mult_int(4, 13058767) == 52235068); + assert(mult_int(4, 13058768) == 52235072); + assert(mult_int(4, 13058772) == 52235088); + assert(mult_int(4, 13058773) == 52235092); + assert(mult_int(4, 13058774) == 52235096); + assert(mult_int(4, 13058775) == 52235100); + assert(mult_int(4, 13058776) == 52235104); + assert(mult_int(4, 13058777) == 52235108); + assert(mult_int(4, 13058778) == 52235112); + assert(mult_int(4, 13058779) == 52235116); + assert(mult_int(4, 13058780) == 52235120); + assert(mult_int(4, 13058781) == 52235124); + assert(mult_int(4, 13058782) == 52235128); + assert(mult_int(4, 13058783) == 52235132); + assert(mult_int(4, 13058784) == 52235136); + assert(mult_int(4, 13058785) == 52235140); + assert(mult_int(4, 13058786) == 52235144); + assert(mult_int(4, 13058787) == 52235148); + assert(mult_int(4, 13058788) == 52235152); + assert(mult_int(4, 13058789) == 52235156); + assert(mult_int(4, 13058790) == 52235160); + assert(mult_int(4, 13058791) == 52235164); + assert(mult_int(4, 13058792) == 52235168); + assert(mult_int(4, 13058793) == 52235172); + assert(mult_int(4, 13058794) == 52235176); + assert(mult_int(4, 13058795) == 52235180); + assert(mult_int(4, 13058796) == 52235184); + assert(mult_int(4, 13058797) == 52235188); + assert(mult_int(4, 13058798) == 52235192); + assert(mult_int(4, 13058799) == 52235196); + assert(mult_int(4, 13058800) == 52235200); + assert(mult_int(4, 13058801) == 52235204); + assert(mult_int(4, 13058802) == 52235208); + assert(mult_int(4, 13058803) == 52235212); + assert(mult_int(4, 13058804) == 52235216); + assert(mult_int(4, 13058805) == 52235220); + assert(mult_int(4, 13058806) == 52235224); + assert(mult_int(4, 13058807) == 52235228); + assert(mult_int(4, 13058808) == 52235232); + assert(mult_int(4, 13058809) == 52235236); + assert(mult_int(4, 13058810) == 52235240); + assert(mult_int(4, 13058811) == 52235244); + assert(mult_int(4, 13058812) == 52235248); + assert(mult_int(4, 13058813) == 52235252); + assert(mult_int(4, 13058814) == 52235256); + assert(mult_int(4, 13058815) == 52235260); + assert(mult_int(4, 13058816) == 52235264); + assert(mult_int(4, 13058817) == 52235268); + assert(mult_int(4, 13058818) == 52235272); + assert(mult_int(4, 13058819) == 52235276); + assert(mult_int(4, 13058823) == 52235292); + assert(mult_int(4, 13058824) == 52235296); + assert(mult_int(4, 13058825) == 52235300); + assert(mult_int(4, 13058826) == 52235304); + assert(mult_int(4, 13058827) == 52235308); + assert(mult_int(4, 13058828) == 52235312); + assert(mult_int(4, 13058829) == 52235316); + assert(mult_int(4, 13058830) == 52235320); + assert(mult_int(4, 13058831) == 52235324); + assert(mult_int(4, 13058834) == 52235336); + assert(mult_int(4, 13058835) == 52235340); + assert(mult_int(4, 13058836) == 52235344); + assert(mult_int(4, 13058837) == 52235348); + assert(mult_int(4, 13058841) == 52235364); + assert(mult_int(4, 13058842) == 52235368); + assert(mult_int(4, 13058843) == 52235372); + assert(mult_int(4, 13058844) == 52235376); + assert(mult_int(4, 13058845) == 52235380); + assert(mult_int(4, 13058846) == 52235384); + assert(mult_int(4, 13058847) == 52235388); + assert(mult_int(4, 13058848) == 52235392); + assert(mult_int(4, 13058849) == 52235396); + assert(mult_int(4, 13058850) == 52235400); + assert(mult_int(4, 13058851) == 52235404); + assert(mult_int(4, 13058852) == 52235408); + assert(mult_int(4, 13058853) == 52235412); + assert(mult_int(4, 13058854) == 52235416); + assert(mult_int(4, 13058855) == 52235420); + assert(mult_int(4, 13058856) == 52235424); + assert(mult_int(4, 13058857) == 52235428); + assert(mult_int(4, 13058858) == 52235432); + assert(mult_int(4, 13058859) == 52235436); + assert(mult_int(4, 13058860) == 52235440); + assert(mult_int(4, 13058861) == 52235444); + assert(mult_int(4, 13058862) == 52235448); + assert(mult_int(4, 13058863) == 52235452); + assert(mult_int(4, 13058864) == 52235456); + assert(mult_int(4, 13058865) == 52235460); + assert(mult_int(4, 13058866) == 52235464); + assert(mult_int(4, 13058867) == 52235468); + assert(mult_int(4, 13058868) == 52235472); + assert(mult_int(4, 13058869) == 52235476); + assert(mult_int(4, 13058870) == 52235480); + assert(mult_int(4, 13058871) == 52235484); + assert(mult_int(4, 13058872) == 52235488); + assert(mult_int(4, 13058873) == 52235492); + assert(mult_int(4, 13058874) == 52235496); + assert(mult_int(4, 13058875) == 52235500); + assert(mult_int(4, 13058876) == 52235504); + assert(mult_int(4, 13058877) == 52235508); + assert(mult_int(4, 13058878) == 52235512); + assert(mult_int(4, 13058879) == 52235516); + assert(mult_int(4, 13058880) == 52235520); + assert(mult_int(4, 13058881) == 52235524); + assert(mult_int(4, 13058882) == 52235528); + assert(mult_int(4, 13058883) == 52235532); + assert(mult_int(4, 13058884) == 52235536); + assert(mult_int(4, 13058885) == 52235540); + assert(mult_int(4, 13058889) == 52235556); + assert(mult_int(4, 13058890) == 52235560); + assert(mult_int(4, 13058891) == 52235564); + assert(mult_int(4, 13058892) == 52235568); + assert(mult_int(4, 13058893) == 52235572); + assert(mult_int(4, 13058894) == 52235576); + assert(mult_int(4, 13058895) == 52235580); + assert(mult_int(4, 13058898) == 52235592); + assert(mult_int(4, 13058899) == 52235596); + assert(mult_int(4, 13058900) == 52235600); + assert(mult_int(4, 13058901) == 52235604); + assert(mult_int(4, 13058905) == 52235620); + assert(mult_int(4, 13058906) == 52235624); + assert(mult_int(4, 13058907) == 52235628); + assert(mult_int(4, 13058908) == 52235632); + assert(mult_int(4, 13058909) == 52235636); + assert(mult_int(4, 13058910) == 52235640); + assert(mult_int(4, 13058911) == 52235644); + assert(mult_int(4, 13058912) == 52235648); + assert(mult_int(4, 13058913) == 52235652); + assert(mult_int(4, 13058914) == 52235656); + assert(mult_int(4, 13058915) == 52235660); + assert(mult_int(4, 13058916) == 52235664); + assert(mult_int(4, 13058917) == 52235668); + assert(mult_int(4, 13058918) == 52235672); + assert(mult_int(4, 13058919) == 52235676); + assert(mult_int(4, 13058920) == 52235680); + assert(mult_int(4, 13058921) == 52235684); + assert(mult_int(4, 13058922) == 52235688); + assert(mult_int(4, 13058923) == 52235692); + assert(mult_int(4, 13058924) == 52235696); + assert(mult_int(4, 13058925) == 52235700); + assert(mult_int(4, 13058926) == 52235704); + assert(mult_int(4, 13058927) == 52235708); + assert(mult_int(4, 13058928) == 52235712); + assert(mult_int(4, 13058929) == 52235716); + assert(mult_int(4, 13058930) == 52235720); + assert(mult_int(4, 13058931) == 52235724); + assert(mult_int(4, 13058932) == 52235728); + assert(mult_int(4, 13058933) == 52235732); + assert(mult_int(4, 13058934) == 52235736); + assert(mult_int(4, 13058935) == 52235740); + assert(mult_int(4, 13058936) == 52235744); + assert(mult_int(4, 13058937) == 52235748); + assert(mult_int(4, 13058938) == 52235752); + assert(mult_int(4, 13058939) == 52235756); + assert(mult_int(4, 13058940) == 52235760); + assert(mult_int(4, 13058941) == 52235764); + assert(mult_int(4, 13058942) == 52235768); + assert(mult_int(4, 13058943) == 52235772); + assert(mult_int(4, 13058944) == 52235776); + assert(mult_int(4, 13058945) == 52235780); + assert(mult_int(4, 13058946) == 52235784); + assert(mult_int(4, 13058947) == 52235788); + assert(mult_int(4, 13058948) == 52235792); + assert(mult_int(4, 13058949) == 52235796); + assert(mult_int(4, 13058950) == 52235800); + assert(mult_int(4, 13058951) == 52235804); + assert(mult_int(4, 13058952) == 52235808); + assert(mult_int(4, 13058953) == 52235812); + assert(mult_int(4, 13058954) == 52235816); + assert(mult_int(4, 13058955) == 52235820); + assert(mult_int(4, 13058956) == 52235824); + assert(mult_int(4, 13058957) == 52235828); + assert(mult_int(4, 13058958) == 52235832); + assert(mult_int(4, 13058966) == 52235864); + assert(mult_int(4, 13058967) == 52235868); + assert(mult_int(4, 13058968) == 52235872); + assert(mult_int(4, 13058969) == 52235876); + assert(mult_int(4, 13058970) == 52235880); + assert(mult_int(4, 13058971) == 52235884); + assert(mult_int(4, 13058972) == 52235888); + assert(mult_int(4, 13058973) == 52235892); + assert(mult_int(4, 13058974) == 52235896); + assert(mult_int(4, 13058975) == 52235900); + assert(mult_int(4, 13058976) == 52235904); + assert(mult_int(4, 13058977) == 52235908); + assert(mult_int(4, 13058978) == 52235912); + assert(mult_int(4, 13058979) == 52235916); + assert(mult_int(4, 13059023) == 52236092); + assert(mult_int(4, 13059024) == 52236096); + assert(mult_int(4, 13059025) == 52236100); + assert(mult_int(4, 13059026) == 52236104); + assert(mult_int(4, 13059027) == 52236108); + assert(mult_int(4, 13059028) == 52236112); + assert(mult_int(4, 13059029) == 52236116); + assert(mult_int(4, 13059030) == 52236120); + assert(mult_int(4, 13059031) == 52236124); + assert(mult_int(4, 13059032) == 52236128); + assert(mult_int(4, 13059033) == 52236132); + assert(mult_int(4, 13059034) == 52236136); + assert(mult_int(4, 13059035) == 52236140); + assert(mult_int(4, 13059036) == 52236144); + assert(mult_int(4, 13059037) == 52236148); + assert(mult_int(4, 13059038) == 52236152); + assert(mult_int(4, 13059039) == 52236156); + assert(mult_int(4, 13059043) == 52236172); + assert(mult_int(4, 13059044) == 52236176); + assert(mult_int(4, 13059045) == 52236180); + assert(mult_int(4, 13059046) == 52236184); + assert(mult_int(4, 13059047) == 52236188); + assert(mult_int(4, 13059048) == 52236192); + assert(mult_int(4, 13059052) == 52236208); + assert(mult_int(4, 13059053) == 52236212); + assert(mult_int(4, 13059054) == 52236216); + assert(mult_int(4, 13059055) == 52236220); + assert(mult_int(4, 13059056) == 52236224); + assert(mult_int(4, 13059057) == 52236228); + assert(mult_int(4, 13059095) == 52236380); + assert(mult_int(4, 13059096) == 52236384); + assert(mult_int(4, 13059097) == 52236388); + assert(mult_int(4, 13059098) == 52236392); + assert(mult_int(4, 13059099) == 52236396); + assert(mult_int(4, 13059102) == 52236408); + assert(mult_int(4, 13059103) == 52236412); + assert(mult_int(4, 13059104) == 52236416); + assert(mult_int(4, 13059105) == 52236420); + assert(mult_int(4, 13059106) == 52236424); + assert(mult_int(4, 13059107) == 52236428); + assert(mult_int(4, 13059108) == 52236432); + assert(mult_int(4, 13059109) == 52236436); + assert(mult_int(4, 13059112) == 52236448); + assert(mult_int(4, 13059113) == 52236452); + assert(mult_int(4, 13059118) == 52236472); + assert(mult_int(4, 13059119) == 52236476); + assert(mult_int(4, 13059120) == 52236480); + assert(mult_int(4, 13059121) == 52236484); + assert(mult_int(4, 13059122) == 52236488); + assert(mult_int(4, 13059123) == 52236492); + assert(mult_int(4, 13059124) == 52236496); + assert(mult_int(4, 13059125) == 52236500); + assert(mult_int(4, 13059126) == 52236504); + assert(mult_int(4, 13059127) == 52236508); + assert(mult_int(4, 13059128) == 52236512); + assert(mult_int(4, 13059129) == 52236516); + assert(mult_int(4, 13059130) == 52236520); + assert(mult_int(4, 13059131) == 52236524); + assert(mult_int(4, 13059132) == 52236528); + assert(mult_int(4, 13059133) == 52236532); + assert(mult_int(4, 13059142) == 52236568); + assert(mult_int(4, 13059143) == 52236572); + assert(mult_int(4, 13059144) == 52236576); + assert(mult_int(4, 13059145) == 52236580); + assert(mult_int(4, 13059146) == 52236584); + assert(mult_int(4, 13059147) == 52236588); + assert(mult_int(4, 13059148) == 52236592); + assert(mult_int(4, 13059149) == 52236596); + assert(mult_int(4, 13059150) == 52236600); + assert(mult_int(4, 13059151) == 52236604); + assert(mult_int(4, 13059152) == 52236608); + assert(mult_int(4, 13059153) == 52236612); + assert(mult_int(4, 13059154) == 52236616); + assert(mult_int(4, 13059155) == 52236620); + assert(mult_int(4, 13059156) == 52236624); + assert(mult_int(4, 13059157) == 52236628); + assert(mult_int(4, 13059158) == 52236632); + assert(mult_int(4, 13059159) == 52236636); + assert(mult_int(4, 13059160) == 52236640); + assert(mult_int(4, 13059161) == 52236644); + assert(mult_int(4, 13059168) == 52236672); + assert(mult_int(4, 13059169) == 52236676); + assert(mult_int(4, 13059170) == 52236680); + assert(mult_int(4, 13059171) == 52236684); + assert(mult_int(4, 13059172) == 52236688); + assert(mult_int(4, 13059173) == 52236692); + assert(mult_int(4, 13059174) == 52236696); + assert(mult_int(4, 13059175) == 52236700); + assert(mult_int(4, 13059176) == 52236704); + assert(mult_int(4, 13059177) == 52236708); + assert(mult_int(4, 13059178) == 52236712); + assert(mult_int(4, 13059179) == 52236716); + assert(mult_int(4, 13059180) == 52236720); + assert(mult_int(4, 13059181) == 52236724); + assert(mult_int(4, 13059182) == 52236728); + assert(mult_int(4, 13059183) == 52236732); + assert(mult_int(4, 13059184) == 52236736); + assert(mult_int(4, 13059185) == 52236740); + assert(mult_int(4, 13059186) == 52236744); + assert(mult_int(4, 13059187) == 52236748); + assert(mult_int(4, 13059188) == 52236752); + assert(mult_int(4, 13059189) == 52236756); + assert(mult_int(4, 13059190) == 52236760); + assert(mult_int(4, 13059191) == 52236764); + assert(mult_int(4, 13059192) == 52236768); + assert(mult_int(4, 13059195) == 52236780); + assert(mult_int(4, 13059196) == 52236784); + assert(mult_int(4, 13059198) == 52236792); + assert(mult_int(4, 13059199) == 52236796); + assert(mult_int(4, 13059200) == 52236800); + assert(mult_int(4, 13059201) == 52236804); + assert(mult_int(4, 13059202) == 52236808); + assert(mult_int(4, 13059203) == 52236812); + assert(mult_int(4, 13059208) == 52236832); + assert(mult_int(4, 13059209) == 52236836); + assert(mult_int(4, 13059221) == 52236884); + assert(mult_int(4, 13059222) == 52236888); + assert(mult_int(4, 13059223) == 52236892); + assert(mult_int(4, 13059239) == 52236956); + assert(mult_int(4, 13059240) == 52236960); + assert(mult_int(4, 13059241) == 52236964); + assert(mult_int(4, 13059242) == 52236968); + assert(mult_int(4, 13059243) == 52236972); + assert(mult_int(4, 13059244) == 52236976); + assert(mult_int(4, 13059245) == 52236980); + assert(mult_int(4, 13059246) == 52236984); + assert(mult_int(4, 13059247) == 52236988); + assert(mult_int(4, 13059248) == 52236992); + assert(mult_int(4, 13059249) == 52236996); + assert(mult_int(4, 13059250) == 52237000); + assert(mult_int(4, 13059251) == 52237004); + assert(mult_int(4, 13059252) == 52237008); + assert(mult_int(4, 13059253) == 52237012); + assert(mult_int(4, 13059254) == 52237016); + assert(mult_int(4, 13059255) == 52237020); + assert(mult_int(4, 13059256) == 52237024); + assert(mult_int(4, 13059257) == 52237028); + assert(mult_int(4, 13059258) == 52237032); + assert(mult_int(4, 13059259) == 52237036); + assert(mult_int(4, 13059260) == 52237040); + assert(mult_int(4, 13059261) == 52237044); + assert(mult_int(4, 13059262) == 52237048); + assert(mult_int(4, 13059263) == 52237052); + assert(mult_int(4, 13059264) == 52237056); + assert(mult_int(4, 13059265) == 52237060); + assert(mult_int(4, 13059266) == 52237064); + assert(mult_int(4, 13059267) == 52237068); + assert(mult_int(4, 13059268) == 52237072); + assert(mult_int(4, 13059269) == 52237076); + assert(mult_int(4, 13059270) == 52237080); + assert(mult_int(4, 13059271) == 52237084); + assert(mult_int(4, 13059272) == 52237088); + assert(mult_int(4, 13059273) == 52237092); + assert(mult_int(4, 13059274) == 52237096); + assert(mult_int(4, 13059275) == 52237100); + assert(mult_int(4, 13059276) == 52237104); + assert(mult_int(4, 13059277) == 52237108); + assert(mult_int(4, 13059278) == 52237112); + assert(mult_int(4, 13059279) == 52237116); + assert(mult_int(4, 13059280) == 52237120); + assert(mult_int(4, 13059281) == 52237124); + assert(mult_int(4, 13059282) == 52237128); + assert(mult_int(4, 13059283) == 52237132); + assert(mult_int(4, 13059284) == 52237136); + assert(mult_int(4, 13059285) == 52237140); + assert(mult_int(4, 13059286) == 52237144); + assert(mult_int(4, 13059287) == 52237148); + assert(mult_int(4, 13059288) == 52237152); + assert(mult_int(4, 13059289) == 52237156); + assert(mult_int(4, 13059290) == 52237160); + assert(mult_int(4, 13059291) == 52237164); + assert(mult_int(4, 13059292) == 52237168); + assert(mult_int(4, 13059293) == 52237172); + assert(mult_int(4, 13059294) == 52237176); + assert(mult_int(4, 13059295) == 52237180); + assert(mult_int(4, 13059296) == 52237184); + assert(mult_int(4, 13059297) == 52237188); + assert(mult_int(4, 13059298) == 52237192); + assert(mult_int(4, 13059550) == 52238200); + assert(mult_int(4, 13059572) == 52238288); + assert(mult_int(4, 13059573) == 52238292); + assert(mult_int(4, 13059580) == 52238320); + assert(mult_int(4, 13059581) == 52238324); + assert(mult_int(4, 13059638) == 52238552); + assert(mult_int(4, 13059850) == 52239400); + assert(mult_int(4, 13059851) == 52239404); + assert(mult_int(4, 13059852) == 52239408); + assert(mult_int(4, 13059853) == 52239412); + assert(mult_int(4, 13059854) == 52239416); + assert(mult_int(4, 13059855) == 52239420); + assert(mult_int(4, 13059856) == 52239424); + assert(mult_int(4, 13059857) == 52239428); + assert(mult_int(4, 13059858) == 52239432); + assert(mult_int(4, 13059859) == 52239436); + assert(mult_int(4, 13059860) == 52239440); + assert(mult_int(4, 13059861) == 52239444); + assert(mult_int(4, 13059862) == 52239448); + assert(mult_int(4, 13059863) == 52239452); + assert(mult_int(4, 13059864) == 52239456); + assert(mult_int(4, 13059865) == 52239460); + assert(mult_int(4, 13059866) == 52239464); + assert(mult_int(4, 13059867) == 52239468); + assert(mult_int(4, 13059868) == 52239472); + assert(mult_int(4, 13059869) == 52239476); + assert(mult_int(4, 13059870) == 52239480); + assert(mult_int(4, 14680070) == 58720280); + assert(mult_int(4, 14680080) == 58720320); + assert(mult_int(4, 14680084) == 58720336); + assert(mult_int(4, 14680300) == 58721200); + assert(mult_int(4, 14680301) == 58721204); + assert(mult_int(4, 14680302) == 58721208); + assert(mult_int(4, 14680303) == 58721212); + assert(mult_int(4, 14680304) == 58721216); + assert(mult_int(4, 14680305) == 58721220); + assert(mult_int(4, 14680306) == 58721224); + assert(mult_int(4, 14680307) == 58721228); + assert(mult_int(4, 14680308) == 58721232); + assert(mult_int(4, 14680309) == 58721236); + assert(mult_int(4, 14680310) == 58721240); + assert(mult_int(4, 14680311) == 58721244); + assert(mult_int(4, 14680312) == 58721248); + assert(mult_int(4, 14680313) == 58721252); + assert(mult_int(4, 14680314) == 58721256); + assert(mult_int(4, 14680315) == 58721260); + assert(mult_int(4, 14688280) == 58753120); + assert(mult_int(4, 14688281) == 58753124); + assert(mult_int(4, 14688404) == 58753616); + assert(mult_int(4, 14688896) == 58755584); + assert(mult_int(4, 14688897) == 58755588); + assert(mult_int(4, 14688992) == 58755968); + assert(mult_int(4, 14693980) == 58775920); + assert(mult_int(4, 14693981) == 58775924); + assert(mult_int(4, 14693982) == 58775928); + assert(mult_int(4, 14693983) == 58775932); + assert(mult_int(4, 14693984) == 58775936); + assert(mult_int(4, 14693985) == 58775940); + assert(mult_int(4, 14693986) == 58775944); + assert(mult_int(4, 14693987) == 58775948); + assert(mult_int(4, 14693988) == 58775952); + assert(mult_int(4, 14693989) == 58775956); + assert(mult_int(4, 14693990) == 58775960); + assert(mult_int(4, 14693991) == 58775964); + assert(mult_int(4, 14693992) == 58775968); + assert(mult_int(4, 14693993) == 58775972); + assert(mult_int(4, 14693994) == 58775976); + assert(mult_int(4, 14693995) == 58775980); + assert(mult_int(4, 14701956) == 58807824); + assert(mult_int(4, 14701961) == 58807844); + assert(mult_int(4, 14701966) == 58807864); + assert(mult_int(4, 14701967) == 58807868); + assert(mult_int(4, 14702048) == 58808192); + assert(mult_int(4, 14702360) == 58809440); + assert(mult_int(4, 14706528) == 58826112); + assert(mult_int(4, 14706529) == 58826116); + assert(mult_int(4, 14706530) == 58826120); + assert(mult_int(4, 14706531) == 58826124); + assert(mult_int(4, 14706612) == 58826448); + assert(mult_int(4, 14706848) == 58827392); + assert(mult_int(4, 14706849) == 58827396); + assert(mult_int(4, 14706850) == 58827400); + assert(mult_int(4, 14706851) == 58827404); + assert(mult_int(4, 14706932) == 58827728); + assert(mult_int(4, 14707168) == 58828672); + assert(mult_int(4, 14707169) == 58828676); + assert(mult_int(4, 14707170) == 58828680); + assert(mult_int(4, 14707172) == 58828688); + assert(mult_int(4, 14707176) == 58828704); + assert(mult_int(4, 14707177) == 58828708); + assert(mult_int(4, 14707179) == 58828716); + assert(mult_int(4, 14707180) == 58828720); + assert(mult_int(4, 14707258) == 58829032); + assert(mult_int(4, 14707568) == 58830272); + assert(mult_int(4, 14707640) == 58830560); + assert(mult_int(4, 14707641) == 58830564); + assert(mult_int(4, 14707642) == 58830568); + assert(mult_int(4, 14707860) == 58831440); + assert(mult_int(4, 14707861) == 58831444); + assert(mult_int(4, 14707862) == 58831448); + assert(mult_int(4, 14707863) == 58831452); + assert(mult_int(4, 14707864) == 58831456); + assert(mult_int(4, 14707865) == 58831460); + assert(mult_int(4, 14707866) == 58831464); + assert(mult_int(4, 14707867) == 58831468); + assert(mult_int(4, 14707868) == 58831472); + assert(mult_int(4, 14707869) == 58831476); + assert(mult_int(4, 14707870) == 58831480); + assert(mult_int(4, 14707871) == 58831484); + assert(mult_int(4, 14707872) == 58831488); + assert(mult_int(4, 14707873) == 58831492); + assert(mult_int(4, 14707874) == 58831496); + assert(mult_int(4, 14707875) == 58831500); + assert(mult_int(4, 14707876) == 58831504); + assert(mult_int(4, 17329) == 69316); + assert(mult_int(4, 17330) == 69320); + assert(mult_int(4, 17331) == 69324); + assert(mult_int(4, 17332) == 69328); + assert(mult_int(4, 17333) == 69332); + assert(mult_int(4, 17334) == 69336); + assert(mult_int(4, 17335) == 69340); + assert(mult_int(4, 17336) == 69344); + assert(mult_int(4, 17337) == 69348); + assert(mult_int(4, 17338) == 69352); + assert(mult_int(4, 17339) == 69356); + assert(mult_int(4, 17340) == 69360); + assert(mult_int(4, 17341) == 69364); + assert(mult_int(4, 17342) == 69368); + assert(mult_int(4, 17343) == 69372); + assert(mult_int(4, 17344) == 69376); + assert(mult_int(4, 17345) == 69380); + assert(mult_int(4, 17346) == 69384); + assert(mult_int(4, 17347) == 69388); + assert(mult_int(4, 17348) == 69392); + assert(mult_int(4, 17349) == 69396); + assert(mult_int(4, 17350) == 69400); + assert(mult_int(4, 17351) == 69404); + assert(mult_int(4, 17352) == 69408); + assert(mult_int(4, 17353) == 69412); + assert(mult_int(4, 17354) == 69416); + assert(mult_int(4, 17355) == 69420); + assert(mult_int(4, 17356) == 69424); + assert(mult_int(4, 17357) == 69428); + assert(mult_int(4, 17358) == 69432); + assert(mult_int(4, 17359) == 69436); + assert(mult_int(4, 17360) == 69440); + assert(mult_int(4, 17361) == 69444); + assert(mult_int(4, 17362) == 69448); + assert(mult_int(4, 17363) == 69452); + assert(mult_int(4, 17364) == 69456); + assert(mult_int(4, 17365) == 69460); + assert(mult_int(4, 17366) == 69464); + assert(mult_int(4, 17367) == 69468); + assert(mult_int(4, 17368) == 69472); + assert(mult_int(4, 17369) == 69476); + assert(mult_int(4, 17370) == 69480); + assert(mult_int(4, 17371) == 69484); + assert(mult_int(4, 18780) == 75120); + assert(mult_int(4, 18781) == 75124); + assert(mult_int(4, 18782) == 75128); + assert(mult_int(4, 18783) == 75132); + assert(mult_int(4, 18784) == 75136); + assert(mult_int(4, 18785) == 75140); + assert(mult_int(4, 18786) == 75144); + assert(mult_int(4, 18787) == 75148); + assert(mult_int(4, 18788) == 75152); + assert(mult_int(4, 18789) == 75156); + assert(mult_int(4, 18790) == 75160); + assert(mult_int(4, 18791) == 75164); + assert(mult_int(4, 18792) == 75168); + assert(mult_int(4, 18793) == 75172); + assert(mult_int(4, 18794) == 75176); + assert(mult_int(4, 18795) == 75180); + assert(mult_int(4, 18796) == 75184); + assert(mult_int(4, 18797) == 75188); + assert(mult_int(4, 18798) == 75192); + assert(mult_int(4, 18799) == 75196); + assert(mult_int(4, 18800) == 75200); + assert(mult_int(4, 18801) == 75204); + assert(mult_int(4, 18802) == 75208); + assert(mult_int(4, 18803) == 75212); + assert(mult_int(4, 18804) == 75216); + assert(mult_int(4, 18805) == 75220); + assert(mult_int(4, 18806) == 75224); + assert(mult_int(4, 18807) == 75228); + assert(mult_int(4, 18808) == 75232); + assert(mult_int(4, 18809) == 75236); + assert(mult_int(4, 18810) == 75240); + assert(mult_int(4, 18811) == 75244); + assert(mult_int(4, 18812) == 75248); + assert(mult_int(4, 18813) == 75252); + assert(mult_int(4, 18814) == 75256); + assert(mult_int(4, 18815) == 75260); + assert(mult_int(4, 18816) == 75264); + assert(mult_int(4, 18817) == 75268); + assert(mult_int(4, 18818) == 75272); + assert(mult_int(4, 18819) == 75276); + assert(mult_int(4, 18820) == 75280); + assert(mult_int(4, 20736) == 82944); + assert(mult_int(4, 21165) == 84660); + assert(mult_int(4, 21166) == 84664); + assert(mult_int(4, 21167) == 84668); + assert(mult_int(4, 21168) == 84672); + assert(mult_int(4, 21169) == 84676); + assert(mult_int(4, 21170) == 84680); + assert(mult_int(4, 21173) == 84692); + assert(mult_int(4, 21174) == 84696); + assert(mult_int(4, 21175) == 84700); + assert(mult_int(4, 21176) == 84704); + assert(mult_int(4, 21177) == 84708); + assert(mult_int(4, 21178) == 84712); + assert(mult_int(4, 21179) == 84716); + assert(mult_int(4, 21180) == 84720); + assert(mult_int(4, 21181) == 84724); + assert(mult_int(4, 21182) == 84728); + assert(mult_int(4, 21183) == 84732); + assert(mult_int(4, 21184) == 84736); + assert(mult_int(4, 21185) == 84740); + assert(mult_int(4, 21218) == 84872); + assert(mult_int(4, 21219) == 84876); + assert(mult_int(4, 21220) == 84880); + assert(mult_int(4, 21221) == 84884); + assert(mult_int(4, 21222) == 84888); + assert(mult_int(4, 21223) == 84892); + assert(mult_int(4, 21224) == 84896); + assert(mult_int(4, 21225) == 84900); + assert(mult_int(4, 21226) == 84904); + assert(mult_int(4, 21227) == 84908); + assert(mult_int(4, 21228) == 84912); + assert(mult_int(4, 21229) == 84916); + assert(mult_int(4, 21230) == 84920); + assert(mult_int(4, 21231) == 84924); + assert(mult_int(4, 21337) == 85348); + assert(mult_int(4, 21338) == 85352); + assert(mult_int(4, 21339) == 85356); + assert(mult_int(4, 21340) == 85360); + assert(mult_int(4, 21341) == 85364); + assert(mult_int(4, 21342) == 85368); + assert(mult_int(4, 21343) == 85372); + assert(mult_int(4, 21344) == 85376); + assert(mult_int(4, 21345) == 85380); + assert(mult_int(4, 21346) == 85384); + assert(mult_int(4, 21347) == 85388); + assert(mult_int(4, 21348) == 85392); + assert(mult_int(4, 21349) == 85396); + assert(mult_int(4, 21350) == 85400); + assert(mult_int(4, 21351) == 85404); + assert(mult_int(4, 21352) == 85408); + assert(mult_int(4, 21353) == 85412); + assert(mult_int(4, 21354) == 85416); + assert(mult_int(4, 21355) == 85420); + assert(mult_int(4, 21356) == 85424); + assert(mult_int(4, 21357) == 85428); + assert(mult_int(4, 21358) == 85432); + assert(mult_int(4, 21359) == 85436); + assert(mult_int(4, 21360) == 85440); + assert(mult_int(4, 21361) == 85444); + assert(mult_int(4, 21362) == 85448); + assert(mult_int(4, 21363) == 85452); + assert(mult_int(4, 21364) == 85456); + assert(mult_int(4, 21365) == 85460); + assert(mult_int(4, 21366) == 85464); + assert(mult_int(4, 21367) == 85468); + assert(mult_int(4, 21368) == 85472); + assert(mult_int(4, 21369) == 85476); + assert(mult_int(4, 21370) == 85480); + assert(mult_int(4, 21371) == 85484); + assert(mult_int(4, 21372) == 85488); + assert(mult_int(4, 21373) == 85492); + assert(mult_int(4, 21374) == 85496); + assert(mult_int(4, 21375) == 85500); + assert(mult_int(4, 21376) == 85504); + assert(mult_int(4, 21377) == 85508); + assert(mult_int(4, 21378) == 85512); + assert(mult_int(4, 22672) == 90688); + assert(mult_int(4, 22673) == 90692); + assert(mult_int(4, 22724) == 90896); + assert(mult_int(4, 22725) == 90900); + assert(mult_int(4, 22726) == 90904); + assert(mult_int(4, 22727) == 90908); + assert(mult_int(4, 22728) == 90912); + assert(mult_int(4, 22729) == 90916); + assert(mult_int(4, 22730) == 90920); + assert(mult_int(4, 22731) == 90924); + assert(mult_int(4, 22732) == 90928); + assert(mult_int(4, 22733) == 90932); + assert(mult_int(4, 22746) == 90984); + assert(mult_int(4, 22747) == 90988); + assert(mult_int(4, 22753) == 91012); + assert(mult_int(4, 22768) == 91072); + assert(mult_int(4, 22769) == 91076); + assert(mult_int(4, 22772) == 91088); + assert(mult_int(4, 22773) == 91092); + assert(mult_int(4, 22776) == 91104); + assert(mult_int(4, 22777) == 91108); + assert(mult_int(4, 22780) == 91120); + assert(mult_int(4, 22781) == 91124); + assert(mult_int(4, 22782) == 91128); + assert(mult_int(4, 22783) == 91132); + assert(mult_int(4, 22784) == 91136); + assert(mult_int(4, 22785) == 91140); + assert(mult_int(4, 22786) == 91144); + assert(mult_int(4, 22787) == 91148); + assert(mult_int(4, 22792) == 91168); + assert(mult_int(4, 22793) == 91172); + assert(mult_int(4, 22794) == 91176); + assert(mult_int(4, 22795) == 91180); + assert(mult_int(4, 22803) == 91212); + assert(mult_int(4, 22804) == 91216); + assert(mult_int(4, 22807) == 91228); + assert(mult_int(4, 22808) == 91232); + assert(mult_int(4, 22809) == 91236); + assert(mult_int(4, 22813) == 91252); + assert(mult_int(4, 22814) == 91256); + assert(mult_int(4, 22815) == 91260); + assert(mult_int(4, 22816) == 91264); + assert(mult_int(4, 22817) == 91268); + assert(mult_int(4, 22818) == 91272); + assert(mult_int(4, 22819) == 91276); + assert(mult_int(4, 22820) == 91280); + assert(mult_int(4, 22821) == 91284); + assert(mult_int(4, 22822) == 91288); + assert(mult_int(4, 22823) == 91292); + assert(mult_int(4, 22824) == 91296); + assert(mult_int(4, 22825) == 91300); + assert(mult_int(4, 22826) == 91304); + assert(mult_int(4, 22827) == 91308); + assert(mult_int(4, 22828) == 91312); + assert(mult_int(4, 22829) == 91316); + assert(mult_int(4, 22830) == 91320); + assert(mult_int(4, 22837) == 91348); + assert(mult_int(4, 22838) == 91352); + assert(mult_int(4, 22839) == 91356); + assert(mult_int(4, 22840) == 91360); + assert(mult_int(4, 22852) == 91408); + assert(mult_int(4, 22853) == 91412); + assert(mult_int(4, 22854) == 91416); + assert(mult_int(4, 22855) == 91420); + assert(mult_int(4, 22858) == 91432); + assert(mult_int(4, 22859) == 91436); + assert(mult_int(4, 22884) == 91536); + assert(mult_int(4, 22885) == 91540); + assert(mult_int(4, 22886) == 91544); + assert(mult_int(4, 22893) == 91572); + assert(mult_int(4, 22894) == 91576); + assert(mult_int(4, 22895) == 91580); + assert(mult_int(4, 22898) == 91592); + assert(mult_int(4, 22899) == 91596); + assert(mult_int(4, 22900) == 91600); + assert(mult_int(4, 22904) == 91616); + assert(mult_int(4, 22905) == 91620); + assert(mult_int(4, 22906) == 91624); + assert(mult_int(4, 22907) == 91628); + assert(mult_int(4, 22908) == 91632); + assert(mult_int(4, 22909) == 91636); + assert(mult_int(4, 22910) == 91640); + assert(mult_int(4, 22911) == 91644); + assert(mult_int(4, 22912) == 91648); + assert(mult_int(4, 22915) == 91660); + assert(mult_int(4, 22916) == 91664); + assert(mult_int(4, 22917) == 91668); + assert(mult_int(4, 22927) == 91708); + assert(mult_int(4, 22928) == 91712); + assert(mult_int(4, 22929) == 91716); + assert(mult_int(4, 22930) == 91720); + assert(mult_int(4, 22931) == 91724); + assert(mult_int(4, 22932) == 91728); + assert(mult_int(4, 22933) == 91732); + assert(mult_int(4, 22934) == 91736); + assert(mult_int(4, 22935) == 91740); + assert(mult_int(4, 22938) == 91752); + assert(mult_int(4, 22939) == 91756); + assert(mult_int(4, 22942) == 91768); + assert(mult_int(4, 22943) == 91772); + assert(mult_int(4, 22944) == 91776); + assert(mult_int(4, 22945) == 91780); + assert(mult_int(4, 22952) == 91808); + assert(mult_int(4, 22953) == 91812); + assert(mult_int(4, 22954) == 91816); + assert(mult_int(4, 22955) == 91820); + assert(mult_int(4, 22956) == 91824); + assert(mult_int(4, 22957) == 91828); + assert(mult_int(4, 25712660) == 102850640); + assert(mult_int(4, 25712661) == 102850644); + assert(mult_int(4, 25712662) == 102850648); + assert(mult_int(4, 25712663) == 102850652); + assert(mult_int(4, 263168) == 1052672); + assert(mult_int(4, 263169) == 1052676); + assert(mult_int(4, 263170) == 1052680); + assert(mult_int(4, 263171) == 1052684); + assert(mult_int(4, 263172) == 1052688); + assert(mult_int(4, 263173) == 1052692); + assert(mult_int(4, 263174) == 1052696); + assert(mult_int(4, 263175) == 1052700); + assert(mult_int(4, 263176) == 1052704); + assert(mult_int(4, 263177) == 1052708); + assert(mult_int(4, 263178) == 1052712); + assert(mult_int(4, 263179) == 1052716); + assert(mult_int(4, 263180) == 1052720); + assert(mult_int(4, 263181) == 1052724); + assert(mult_int(4, 263182) == 1052728); + assert(mult_int(4, 263183) == 1052732); + assert(mult_int(4, 263184) == 1052736); + assert(mult_int(4, 263185) == 1052740); + assert(mult_int(4, 263186) == 1052744); + assert(mult_int(4, 263187) == 1052748); + assert(mult_int(4, 263188) == 1052752); + assert(mult_int(4, 263189) == 1052756); + assert(mult_int(4, 263190) == 1052760); + assert(mult_int(4, 263191) == 1052764); + assert(mult_int(4, 263192) == 1052768); + assert(mult_int(4, 263193) == 1052772); + assert(mult_int(4, 263194) == 1052776); + assert(mult_int(4, 263195) == 1052780); + assert(mult_int(4, 263196) == 1052784); + assert(mult_int(4, 263197) == 1052788); + assert(mult_int(4, 263198) == 1052792); + assert(mult_int(4, 263199) == 1052796); + assert(mult_int(4, 263200) == 1052800); + assert(mult_int(4, 263202) == 1052808); + assert(mult_int(4, 263203) == 1052812); + assert(mult_int(4, 263204) == 1052816); + assert(mult_int(4, 263205) == 1052820); + assert(mult_int(4, 263206) == 1052824); + assert(mult_int(4, 263207) == 1052828); + assert(mult_int(4, 263208) == 1052832); + assert(mult_int(4, 263211) == 1052844); + assert(mult_int(4, 263212) == 1052848); + assert(mult_int(4, 263213) == 1052852); + assert(mult_int(4, 263214) == 1052856); + assert(mult_int(4, 263216) == 1052864); + assert(mult_int(4, 263217) == 1052868); + assert(mult_int(4, 263218) == 1052872); + assert(mult_int(4, 263219) == 1052876); + assert(mult_int(4, 263220) == 1052880); + assert(mult_int(4, 263221) == 1052884); + assert(mult_int(4, 263222) == 1052888); + assert(mult_int(4, 263223) == 1052892); + assert(mult_int(4, 263224) == 1052896); + assert(mult_int(4, 263225) == 1052900); + assert(mult_int(4, 263226) == 1052904); + assert(mult_int(4, 263227) == 1052908); + assert(mult_int(4, 263228) == 1052912); + assert(mult_int(4, 263229) == 1052916); + assert(mult_int(4, 263230) == 1052920); + assert(mult_int(4, 263231) == 1052924); + assert(mult_int(4, 263232) == 1052928); + assert(mult_int(4, 263233) == 1052932); + assert(mult_int(4, 263234) == 1052936); + assert(mult_int(4, 263235) == 1052940); + assert(mult_int(4, 263236) == 1052944); + assert(mult_int(4, 263237) == 1052948); + assert(mult_int(4, 263238) == 1052952); + assert(mult_int(4, 263239) == 1052956); + assert(mult_int(4, 263240) == 1052960); + assert(mult_int(4, 263241) == 1052964); + assert(mult_int(4, 263242) == 1052968); + assert(mult_int(4, 263243) == 1052972); + assert(mult_int(4, 263244) == 1052976); + assert(mult_int(4, 263245) == 1052980); + assert(mult_int(4, 263246) == 1052984); + assert(mult_int(4, 263247) == 1052988); + assert(mult_int(4, 263248) == 1052992); + assert(mult_int(4, 263249) == 1052996); + assert(mult_int(4, 263250) == 1053000); + assert(mult_int(4, 263251) == 1053004); + assert(mult_int(4, 263252) == 1053008); + assert(mult_int(4, 263253) == 1053012); + assert(mult_int(4, 263254) == 1053016); + assert(mult_int(4, 263255) == 1053020); + assert(mult_int(4, 263256) == 1053024); + assert(mult_int(4, 263257) == 1053028); + assert(mult_int(4, 263258) == 1053032); + assert(mult_int(4, 263259) == 1053036); + assert(mult_int(4, 263260) == 1053040); + assert(mult_int(4, 263261) == 1053044); + assert(mult_int(4, 263262) == 1053048); + assert(mult_int(4, 263263) == 1053052); + assert(mult_int(4, 263264) == 1053056); + assert(mult_int(4, 263265) == 1053060); + assert(mult_int(4, 263266) == 1053064); + assert(mult_int(4, 263267) == 1053068); + assert(mult_int(4, 263268) == 1053072); + assert(mult_int(4, 263269) == 1053076); + assert(mult_int(4, 263270) == 1053080); + assert(mult_int(4, 263271) == 1053084); + assert(mult_int(4, 263272) == 1053088); + assert(mult_int(4, 263273) == 1053092); + assert(mult_int(4, 263274) == 1053096); + assert(mult_int(4, 263275) == 1053100); + assert(mult_int(4, 263276) == 1053104); + assert(mult_int(4, 263277) == 1053108); + assert(mult_int(4, 263278) == 1053112); + assert(mult_int(4, 263296) == 1053184); + assert(mult_int(4, 263297) == 1053188); + assert(mult_int(4, 263298) == 1053192); + assert(mult_int(4, 263299) == 1053196); + assert(mult_int(4, 263300) == 1053200); + assert(mult_int(4, 263301) == 1053204); + assert(mult_int(4, 263302) == 1053208); + assert(mult_int(4, 263303) == 1053212); + assert(mult_int(4, 264192) == 1056768); + assert(mult_int(4, 264193) == 1056772); + assert(mult_int(4, 264194) == 1056776); + assert(mult_int(4, 264195) == 1056780); + assert(mult_int(4, 264196) == 1056784); + assert(mult_int(4, 264197) == 1056788); + assert(mult_int(4, 264198) == 1056792); + assert(mult_int(4, 264199) == 1056796); + assert(mult_int(4, 264200) == 1056800); + assert(mult_int(4, 264201) == 1056804); + assert(mult_int(4, 264202) == 1056808); + assert(mult_int(4, 264203) == 1056812); + assert(mult_int(4, 264204) == 1056816); + assert(mult_int(4, 264205) == 1056820); + assert(mult_int(4, 264206) == 1056824); + assert(mult_int(4, 264207) == 1056828); + assert(mult_int(4, 264208) == 1056832); + assert(mult_int(4, 264209) == 1056836); + assert(mult_int(4, 264210) == 1056840); + assert(mult_int(4, 264211) == 1056844); + assert(mult_int(4, 264212) == 1056848); + assert(mult_int(4, 264213) == 1056852); + assert(mult_int(4, 264214) == 1056856); + assert(mult_int(4, 264215) == 1056860); + assert(mult_int(4, 264216) == 1056864); + assert(mult_int(4, 264217) == 1056868); + assert(mult_int(4, 264218) == 1056872); + assert(mult_int(4, 264219) == 1056876); + assert(mult_int(4, 264220) == 1056880); + assert(mult_int(4, 264221) == 1056884); + assert(mult_int(4, 264222) == 1056888); + assert(mult_int(4, 264223) == 1056892); + assert(mult_int(4, 264224) == 1056896); + assert(mult_int(4, 264225) == 1056900); + assert(mult_int(4, 264226) == 1056904); + assert(mult_int(4, 264227) == 1056908); + assert(mult_int(4, 264228) == 1056912); + assert(mult_int(4, 264230) == 1056920); + assert(mult_int(4, 264231) == 1056924); + assert(mult_int(4, 264232) == 1056928); + assert(mult_int(4, 264233) == 1056932); + assert(mult_int(4, 264234) == 1056936); + assert(mult_int(4, 264235) == 1056940); + assert(mult_int(4, 264236) == 1056944); + assert(mult_int(4, 264239) == 1056956); + assert(mult_int(4, 264240) == 1056960); + assert(mult_int(4, 264241) == 1056964); + assert(mult_int(4, 264242) == 1056968); + assert(mult_int(4, 264244) == 1056976); + assert(mult_int(4, 264245) == 1056980); + assert(mult_int(4, 264246) == 1056984); + assert(mult_int(4, 264247) == 1056988); + assert(mult_int(4, 264248) == 1056992); + assert(mult_int(4, 264249) == 1056996); + assert(mult_int(4, 264250) == 1057000); + assert(mult_int(4, 264251) == 1057004); + assert(mult_int(4, 264252) == 1057008); + assert(mult_int(4, 264253) == 1057012); + assert(mult_int(4, 264254) == 1057016); + assert(mult_int(4, 264255) == 1057020); + assert(mult_int(4, 264256) == 1057024); + assert(mult_int(4, 264257) == 1057028); + assert(mult_int(4, 264258) == 1057032); + assert(mult_int(4, 264259) == 1057036); + assert(mult_int(4, 264260) == 1057040); + assert(mult_int(4, 264261) == 1057044); + assert(mult_int(4, 264262) == 1057048); + assert(mult_int(4, 264263) == 1057052); + assert(mult_int(4, 264264) == 1057056); + assert(mult_int(4, 264265) == 1057060); + assert(mult_int(4, 264266) == 1057064); + assert(mult_int(4, 264267) == 1057068); + assert(mult_int(4, 264268) == 1057072); + assert(mult_int(4, 264269) == 1057076); + assert(mult_int(4, 264270) == 1057080); + assert(mult_int(4, 264271) == 1057084); + assert(mult_int(4, 264272) == 1057088); + assert(mult_int(4, 264273) == 1057092); + assert(mult_int(4, 264274) == 1057096); + assert(mult_int(4, 264275) == 1057100); + assert(mult_int(4, 264276) == 1057104); + assert(mult_int(4, 264277) == 1057108); + assert(mult_int(4, 264278) == 1057112); + assert(mult_int(4, 264279) == 1057116); + assert(mult_int(4, 264280) == 1057120); + assert(mult_int(4, 264281) == 1057124); + assert(mult_int(4, 264282) == 1057128); + assert(mult_int(4, 264283) == 1057132); + assert(mult_int(4, 264284) == 1057136); + assert(mult_int(4, 264285) == 1057140); + assert(mult_int(4, 264286) == 1057144); + assert(mult_int(4, 264287) == 1057148); + assert(mult_int(4, 264288) == 1057152); + assert(mult_int(4, 264289) == 1057156); + assert(mult_int(4, 264290) == 1057160); + assert(mult_int(4, 264291) == 1057164); + assert(mult_int(4, 264292) == 1057168); + assert(mult_int(4, 264293) == 1057172); + assert(mult_int(4, 264294) == 1057176); + assert(mult_int(4, 264295) == 1057180); + assert(mult_int(4, 264296) == 1057184); + assert(mult_int(4, 264297) == 1057188); + assert(mult_int(4, 264298) == 1057192); + assert(mult_int(4, 264299) == 1057196); + assert(mult_int(4, 264300) == 1057200); + assert(mult_int(4, 27197) == 108788); + assert(mult_int(4, 27198) == 108792); + assert(mult_int(4, 27199) == 108796); + assert(mult_int(4, 27200) == 108800); + assert(mult_int(4, 27201) == 108804); + assert(mult_int(4, 27202) == 108808); + assert(mult_int(4, 27203) == 108812); + assert(mult_int(4, 27204) == 108816); + assert(mult_int(4, 27205) == 108820); + assert(mult_int(4, 27206) == 108824); + assert(mult_int(4, 27207) == 108828); + assert(mult_int(4, 27208) == 108832); + assert(mult_int(4, 27209) == 108836); + assert(mult_int(4, 27210) == 108840); + assert(mult_int(4, 27211) == 108844); + assert(mult_int(4, 27212) == 108848); + assert(mult_int(4, 38273058) == 153092232); + assert(mult_int(4, 38273059) == 153092236); + assert(mult_int(4, 4194304) == 16777216); + assert(mult_int(4, 4194305) == 16777220); + assert(mult_int(4, 4194306) == 16777224); + assert(mult_int(4, 4194307) == 16777228); + assert(mult_int(4, 4194308) == 16777232); + assert(mult_int(4, 4194309) == 16777236); + assert(mult_int(4, 4194310) == 16777240); + assert(mult_int(4, 4194311) == 16777244); + assert(mult_int(4, 4194312) == 16777248); + assert(mult_int(4, 4194313) == 16777252); + assert(mult_int(4, 4194314) == 16777256); + assert(mult_int(4, 4194315) == 16777260); + assert(mult_int(4, 4194316) == 16777264); + assert(mult_int(4, 4194317) == 16777268); + assert(mult_int(8, 14187) == 113496); + assert(mult_int(8, 14188) == 113504); + assert(mult_int(8, 14197) == 113576); + assert(mult_int(8, 14318) == 114544); + assert(mult_int(8, 14329) == 114632); + assert(mult_int(8, 14505) == 116040); + assert(mult_int(8, 14506) == 116048); + assert(mult_int(8, 14507) == 116056); + assert(mult_int(8, 14508) == 116064); + assert(mult_int(8, 14509) == 116072); + assert(mult_int(8, 14510) == 116080); + assert(mult_int(8, 14511) == 116088); + assert(mult_int(8, 14512) == 116096); + assert(mult_int(8, 14515) == 116120); + assert(mult_int(8, 14516) == 116128); + assert(mult_int(8, 14517) == 116136); + assert(mult_int(8, 6029845) == 48238760); + assert(mult_int(8, 6029846) == 48238768); + assert(mult_int(8, 6029847) == 48238776); + assert(mult_int(8, 6029848) == 48238784); + assert(mult_int(8, 6029849) == 48238792); + assert(mult_int(8, 6029850) == 48238800); + assert(mult_int(8, 6029851) == 48238808); + assert(mult_int(8, 6029852) == 48238816); + assert(mult_int(8, 6029853) == 48238824); + assert(mult_int(8, 6029854) == 48238832); + assert(mult_int(8, 6029855) == 48238840); + assert(mult_int(8, 6029856) == 48238848); + assert(mult_int(8, 6029857) == 48238856); + assert(mult_int(8, 6029858) == 48238864); + assert(mult_int(8, 6029859) == 48238872); + assert(mult_int(8, 6029860) == 48238880); + assert(mult_int(8, 6029861) == 48238888); + assert(mult_int(8, 6029862) == 48238896); + assert(mult_int(8, 6029863) == 48238904); + assert(mult_int(8, 6029864) == 48238912); + assert(mult_int(8, 6029865) == 48238920); + assert(mult_int(8, 6029866) == 48238928); + assert(mult_int(8, 6029867) == 48238936); + assert(mult_int(8, 6029868) == 48238944); + assert(mult_int(8, 6029869) == 48238952); + assert(mult_int(8, 6029870) == 48238960); + assert(mult_int(8, 6029871) == 48238968); + assert(mult_int(8, 6029872) == 48238976); + assert(mult_int(8, 6029873) == 48238984); + assert(mult_int(8, 6029874) == 48238992); + assert(mult_int(8, 6029875) == 48239000); + assert(mult_int(8, 6029876) == 48239008); + assert(mult_int(8, 6029877) == 48239016); + assert(mult_int(8, 6029878) == 48239024); + assert(mult_int(8, 6029879) == 48239032); + assert(mult_int(8, 6029880) == 48239040); + assert(mult_int(8, 6029881) == 48239048); + assert(mult_int(8, 6029882) == 48239056); + assert(mult_int(8, 6029883) == 48239064); + assert(mult_int(8, 6029884) == 48239072); + assert(mult_int(8, 6029885) == 48239080); + assert(mult_int(8, 6029886) == 48239088); + assert(mult_int(8, 6029887) == 48239096); + assert(mult_int(8, 6029888) == 48239104); + assert(mult_int(8, 6029889) == 48239112); + assert(mult_int(8, 6029890) == 48239120); + assert(mult_int(8, 6029891) == 48239128); + assert(mult_int(8, 6029892) == 48239136); + assert(mult_int(8, 6029893) == 48239144); + assert(mult_int(8, 6029894) == 48239152); + assert(mult_int(8, 6029895) == 48239160); + assert(mult_int(8, 6029896) == 48239168); + assert(mult_int(8, 6029897) == 48239176); + assert(mult_int(8, 6029898) == 48239184); + assert(mult_int(8, 6029899) == 48239192); + assert(mult_int(8, 6029900) == 48239200); + assert(mult_int(8, 6029901) == 48239208); + assert(mult_int(8, 6029902) == 48239216); + assert(mult_int(8, 6029903) == 48239224); + assert(mult_int(8, 6029904) == 48239232); + assert(mult_int(8, 6029905) == 48239240); + assert(mult_int(8, 6029906) == 48239248); + assert(mult_int(8, 6029907) == 48239256); + assert(mult_int(8, 6029908) == 48239264); + assert(mult_int(8, 6029909) == 48239272); + assert(mult_int(8, 6029910) == 48239280); + assert(mult_int(8, 6029911) == 48239288); + assert(mult_int(8, 6029912) == 48239296); + assert(mult_int(8, 6029913) == 48239304); + assert(mult_int(8, 6029914) == 48239312); + assert(mult_int(8, 6029915) == 48239320); + assert(mult_int(8, 6029916) == 48239328); + assert(mult_int(8, 6029917) == 48239336); + assert(mult_int(8, 6029918) == 48239344); + assert(mult_int(8, 6029919) == 48239352); + assert(mult_int(8, 6029920) == 48239360); + assert(mult_int(8, 6029921) == 48239368); + assert(mult_int(8, 6029922) == 48239376); + assert(mult_int(8, 6029923) == 48239384); + assert(mult_int(8, 6029924) == 48239392); + assert(mult_int(8, 6029925) == 48239400); + assert(mult_int(8, 6029926) == 48239408); + assert(mult_int(8, 6029927) == 48239416); + assert(mult_int(8, 6029928) == 48239424); + assert(mult_int(8, 6029929) == 48239432); + assert(mult_int(8, 6029930) == 48239440); + assert(mult_int(8, 6029931) == 48239448); + assert(mult_int(8, 6029932) == 48239456); + assert(mult_int(8, 6029933) == 48239464); + assert(mult_int(8, 6029934) == 48239472); + assert(mult_int(8, 6029935) == 48239480); + assert(mult_int(8, 6029936) == 48239488); + assert(mult_int(8, 6029937) == 48239496); + assert(mult_int(8, 6029938) == 48239504); + assert(mult_int(8, 6029939) == 48239512); + assert(mult_int(8, 6029940) == 48239520); + assert(mult_int(8, 6029941) == 48239528); + assert(mult_int(8, 6029942) == 48239536); + assert(mult_int(8, 6029943) == 48239544); + assert(mult_int(8, 6029944) == 48239552); + assert(mult_int(8, 6029945) == 48239560); + assert(mult_int(8, 6029946) == 48239568); + assert(mult_int(8, 6029947) == 48239576); + assert(mult_int(8, 6029948) == 48239584); + assert(mult_int(8, 6029949) == 48239592); + assert(mult_int(8, 6029950) == 48239600); + assert(mult_int(8, 6029951) == 48239608); + assert(mult_int(8, 6029952) == 48239616); + assert(mult_int(8, 6029953) == 48239624); + assert(mult_int(8, 6029954) == 48239632); + assert(mult_int(8, 6029955) == 48239640); + assert(mult_int(8, 6029956) == 48239648); + assert(mult_int(8, 6029957) == 48239656); + assert(mult_int(8, 6029958) == 48239664); + assert(mult_int(8, 6029959) == 48239672); + assert(mult_int(8, 6029960) == 48239680); + assert(mult_int(8, 6029961) == 48239688); + assert(mult_int(8, 6029962) == 48239696); + assert(mult_int(8, 6029963) == 48239704); + assert(mult_int(8, 6029964) == 48239712); + assert(mult_int(8, 6029965) == 48239720); + assert(mult_int(8, 6029966) == 48239728); + assert(mult_int(8, 6029967) == 48239736); + assert(mult_int(8, 6029968) == 48239744); + assert(mult_int(8, 6029969) == 48239752); + assert(mult_int(8, 6029970) == 48239760); + assert(mult_int(8, 6029971) == 48239768); + assert(mult_int(8, 6029972) == 48239776); + assert(mult_int(8, 6029973) == 48239784); + assert(mult_int(8, 6029974) == 48239792); + assert(mult_int(8, 6029975) == 48239800); + assert(mult_int(8, 6029976) == 48239808); + assert(mult_int(8, 6029977) == 48239816); + assert(mult_int(8, 6029978) == 48239824); + assert(mult_int(8, 6029979) == 48239832); + assert(mult_int(8, 6029980) == 48239840); + assert(mult_int(8, 6029981) == 48239848); + assert(mult_int(8, 6029982) == 48239856); + assert(mult_int(8, 6029983) == 48239864); + assert(mult_int(8, 6029984) == 48239872); + assert(mult_int(8, 6029985) == 48239880); + assert(mult_int(8, 6029986) == 48239888); + assert(mult_int(8, 6029987) == 48239896); + assert(mult_int(8, 6029988) == 48239904); + assert(mult_int(8, 6029989) == 48239912); + assert(mult_int(8, 6029990) == 48239920); + assert(mult_int(8, 6029991) == 48239928); + assert(mult_int(8, 6029992) == 48239936); + assert(mult_int(8, 6029993) == 48239944); + assert(mult_int(8, 6029994) == 48239952); + assert(mult_int(8, 6029995) == 48239960); + assert(mult_int(8, 6029996) == 48239968); + assert(mult_int(8, 6029997) == 48239976); + assert(mult_int(8, 6029998) == 48239984); + assert(mult_int(8, 6029999) == 48239992); + assert(mult_int(8, 6030000) == 48240000); + assert(mult_int(8, 6030001) == 48240008); + assert(mult_int(8, 6030002) == 48240016); + assert(mult_int(8, 6030003) == 48240024); + assert(mult_int(8, 6030004) == 48240032); + assert(mult_int(8, 6030005) == 48240040); + assert(mult_int(8, 6030006) == 48240048); + assert(mult_int(8, 6030007) == 48240056); + assert(mult_int(8, 6030008) == 48240064); + assert(mult_int(8, 6030009) == 48240072); + assert(mult_int(8, 6030010) == 48240080); + assert(mult_int(8, 6030011) == 48240088); + assert(mult_int(8, 6030012) == 48240096); + assert(mult_int(8, 6030013) == 48240104); + assert(mult_int(8, 6030014) == 48240112); + assert(mult_int(8, 6030015) == 48240120); + assert(mult_int(8, 6030016) == 48240128); + assert(mult_int(8, 6030017) == 48240136); + assert(mult_int(8, 6030018) == 48240144); + assert(mult_int(8, 6030019) == 48240152); + assert(mult_int(8, 6030020) == 48240160); + assert(mult_int(8, 6030021) == 48240168); + assert(mult_int(8, 6030022) == 48240176); + assert(mult_int(8, 6030023) == 48240184); + assert(mult_int(8, 6030024) == 48240192); + assert(mult_int(8, 6030025) == 48240200); + assert(mult_int(8, 6030026) == 48240208); + assert(mult_int(8, 6030027) == 48240216); + assert(mult_int(8, 6030028) == 48240224); + assert(mult_int(8, 6030029) == 48240232); + assert(mult_int(8, 6030030) == 48240240); + assert(mult_int(8, 6030031) == 48240248); + assert(mult_int(8, 6030032) == 48240256); + assert(mult_int(8, 6030033) == 48240264); + assert(mult_int(8, 6030034) == 48240272); + assert(mult_int(8, 6030035) == 48240280); + assert(mult_int(8, 6030036) == 48240288); + assert(mult_int(8, 6030037) == 48240296); + assert(mult_int(8, 6030038) == 48240304); + assert(mult_int(8, 6030039) == 48240312); + assert(mult_int(8, 6030040) == 48240320); + assert(mult_int(8, 6030041) == 48240328); + assert(mult_int(8, 6030042) == 48240336); + assert(mult_int(8, 6030043) == 48240344); + assert(mult_int(8, 6030044) == 48240352); + assert(mult_int(8, 6030045) == 48240360); + assert(mult_int(8, 6030046) == 48240368); + assert(mult_int(8, 6030047) == 48240376); + assert(mult_int(8, 6030048) == 48240384); + assert(mult_int(8, 6030049) == 48240392); + assert(mult_int(8, 6030050) == 48240400); + assert(mult_int(8, 6030051) == 48240408); + assert(mult_int(8, 6030052) == 48240416); + assert(mult_int(8, 6030053) == 48240424); + assert(mult_int(8, 6030054) == 48240432); + assert(mult_int(8, 6030055) == 48240440); + assert(mult_int(8, 6030056) == 48240448); + assert(mult_int(8, 6030057) == 48240456); + assert(mult_int(8, 6030058) == 48240464); + assert(mult_int(8, 6030059) == 48240472); + assert(mult_int(8, 6030060) == 48240480); + assert(mult_int(8, 6030061) == 48240488); + assert(mult_int(8, 6030062) == 48240496); + assert(mult_int(8, 6030063) == 48240504); + assert(mult_int(8, 6030064) == 48240512); + assert(mult_int(8, 6030065) == 48240520); + assert(mult_int(8, 6030066) == 48240528); + assert(mult_int(8, 6030067) == 48240536); + assert(mult_int(8, 6030068) == 48240544); + assert(mult_int(8, 6030069) == 48240552); + assert(mult_int(8, 6030070) == 48240560); + assert(mult_int(8, 6030071) == 48240568); + assert(mult_int(8, 6030072) == 48240576); + assert(mult_int(8, 6030073) == 48240584); + assert(mult_int(8, 6030074) == 48240592); + assert(mult_int(8, 6030075) == 48240600); + assert(mult_int(8, 6030076) == 48240608); + assert(mult_int(8, 6030077) == 48240616); + assert(mult_int(8, 6030078) == 48240624); + assert(mult_int(8, 6030079) == 48240632); + assert(mult_int(8, 6030080) == 48240640); + assert(mult_int(8, 6030081) == 48240648); + assert(mult_int(8, 6030082) == 48240656); + assert(mult_int(8, 6030083) == 48240664); + assert(mult_int(8, 6030084) == 48240672); + assert(mult_int(8, 6030085) == 48240680); + assert(mult_int(8, 6030086) == 48240688); + assert(mult_int(8, 6030087) == 48240696); + assert(mult_int(8, 6030088) == 48240704); + assert(mult_int(8, 6030089) == 48240712); + assert(mult_int(8, 6030090) == 48240720); + assert(mult_int(8, 6030091) == 48240728); + assert(mult_int(8, 6030092) == 48240736); + assert(mult_int(8, 6030093) == 48240744); + assert(mult_int(8, 6030094) == 48240752); + assert(mult_int(8, 6030095) == 48240760); + assert(mult_int(8, 6030096) == 48240768); + assert(mult_int(8, 6030097) == 48240776); + assert(mult_int(8, 6030098) == 48240784); + assert(mult_int(8, 6030099) == 48240792); + assert(mult_int(8, 6030100) == 48240800); + assert(mult_int(8, 6030101) == 48240808); + assert(mult_int(8, 6030102) == 48240816); + assert(mult_int(8, 6030103) == 48240824); + assert(mult_int(8, 6119424) == 48955392); + assert(mult_int(8, 6127616) == 49020928); + assert(mult_int(8, 6144000) == 49152000); + assert(mult_int(8, 6152192) == 49217536); + assert(mult_int(8, 6152200) == 49217600); + assert(mult_int(8, 6160385) == 49283080); + assert(mult_int(8, 6160386) == 49283088); + assert(mult_int(8, 6160387) == 49283096); + assert(mult_int(8, 6160388) == 49283104); + assert(mult_int(8, 6160389) == 49283112); + assert(mult_int(8, 6160390) == 49283120); + assert(mult_int(8, 6160391) == 49283128); + assert(mult_int(8, 6160392) == 49283136); + assert(mult_int(8, 6160393) == 49283144); + assert(mult_int(8, 6160394) == 49283152); + assert(mult_int(8, 6160395) == 49283160); + assert(mult_int(8, 6160396) == 49283168); + assert(mult_int(8, 6160397) == 49283176); + assert(mult_int(8, 6160398) == 49283184); + assert(mult_int(8, 6160399) == 49283192); + assert(mult_int(8, 6160400) == 49283200); + assert(mult_int(8, 6160401) == 49283208); + assert(mult_int(8, 6160402) == 49283216); + assert(mult_int(8, 6160403) == 49283224); + assert(mult_int(8, 6160404) == 49283232); + assert(mult_int(8, 6160405) == 49283240); + assert(mult_int(8, 6160406) == 49283248); + assert(mult_int(8, 6160407) == 49283256); + assert(mult_int(8, 6160408) == 49283264); + assert(mult_int(8, 6160409) == 49283272); + assert(mult_int(8, 6160410) == 49283280); + assert(mult_int(8, 6160411) == 49283288); + assert(mult_int(8, 6160412) == 49283296); + assert(mult_int(8, 6160413) == 49283304); + assert(mult_int(8, 6160414) == 49283312); + assert(mult_int(8, 6160415) == 49283320); + assert(mult_int(8, 6160416) == 49283328); + assert(mult_int(8, 6160506) == 49284048); + assert(mult_int(8, 6160507) == 49284056); + assert(mult_int(8, 6160508) == 49284064); + assert(mult_int(8, 6160509) == 49284072); + assert(mult_int(8, 6160510) == 49284080); + assert(mult_int(8, 6160511) == 49284088); + assert(mult_int(8, 6160512) == 49284096); + assert(mult_int(8, 6160513) == 49284104); + assert(mult_int(8, 6160514) == 49284112); + assert(mult_int(8, 6160515) == 49284120); + assert(mult_int(8, 6160516) == 49284128); + assert(mult_int(8, 6160517) == 49284136); + assert(mult_int(8, 6160518) == 49284144); + assert(mult_int(8, 6160519) == 49284152); + assert(mult_int(8, 6160520) == 49284160); + assert(mult_int(8, 6160521) == 49284168); + assert(mult_int(8, 6160522) == 49284176); + assert(mult_int(8, 6160523) == 49284184); + assert(mult_int(8, 6160524) == 49284192); + assert(mult_int(8, 6160525) == 49284200); + assert(mult_int(8, 6160526) == 49284208); + assert(mult_int(8, 6160527) == 49284216); + assert(mult_int(8, 6160528) == 49284224); + assert(mult_int(8, 6160529) == 49284232); + assert(mult_int(8, 6160530) == 49284240); + assert(mult_int(8, 6160531) == 49284248); + assert(mult_int(8, 6160532) == 49284256); + assert(mult_int(8, 6160533) == 49284264); + assert(mult_int(8, 6160534) == 49284272); + assert(mult_int(8, 6160535) == 49284280); + assert(mult_int(8, 6160536) == 49284288); + assert(mult_int(8, 6160537) == 49284296); + assert(mult_int(8, 6160538) == 49284304); + assert(mult_int(8, 6160539) == 49284312); + assert(mult_int(8, 6160540) == 49284320); + assert(mult_int(8, 6160541) == 49284328); + assert(mult_int(8, 6160542) == 49284336); + assert(mult_int(8, 6160543) == 49284344); + assert(mult_int(8, 6160544) == 49284352); + assert(mult_int(8, 6160545) == 49284360); + assert(mult_int(8, 6160546) == 49284368); + assert(mult_int(8, 6160547) == 49284376); + assert(mult_int(8, 6160548) == 49284384); + assert(mult_int(8, 6160549) == 49284392); + assert(mult_int(8, 6160550) == 49284400); + assert(mult_int(8, 6160551) == 49284408); + assert(mult_int(8, 6160552) == 49284416); + assert(mult_int(8, 6160553) == 49284424); + assert(mult_int(8, 6160554) == 49284432); + assert(mult_int(8, 6160555) == 49284440); + assert(mult_int(8, 6160556) == 49284448); + assert(mult_int(8, 6160557) == 49284456); + assert(mult_int(8, 6160558) == 49284464); + assert(mult_int(8, 6160559) == 49284472); + assert(mult_int(8, 6160560) == 49284480); + assert(mult_int(8, 6160561) == 49284488); + assert(mult_int(8, 6160562) == 49284496); + assert(mult_int(8, 6160563) == 49284504); + assert(mult_int(8, 6160564) == 49284512); + assert(mult_int(8, 6160565) == 49284520); + assert(mult_int(8, 6160566) == 49284528); + assert(mult_int(8, 6160567) == 49284536); + assert(mult_int(8, 6160568) == 49284544); + assert(mult_int(8, 6160569) == 49284552); + assert(mult_int(8, 6160570) == 49284560); + assert(mult_int(8, 6160571) == 49284568); + assert(mult_int(8, 6160572) == 49284576); + assert(mult_int(8, 6160573) == 49284584); + assert(mult_int(8, 6160574) == 49284592); + assert(mult_int(8, 6160575) == 49284600); + assert(mult_int(8, 6160576) == 49284608); + assert(mult_int(8, 6160577) == 49284616); + assert(mult_int(8, 6160578) == 49284624); + assert(mult_int(8, 6160579) == 49284632); + assert(mult_int(8, 6160580) == 49284640); + assert(mult_int(8, 6160581) == 49284648); + assert(mult_int(8, 6160582) == 49284656); + assert(mult_int(8, 6160583) == 49284664); + assert(mult_int(8, 6160584) == 49284672); + assert(mult_int(8, 6160585) == 49284680); + assert(mult_int(8, 6160586) == 49284688); + assert(mult_int(8, 6160587) == 49284696); + assert(mult_int(8, 6160588) == 49284704); + assert(mult_int(8, 6160589) == 49284712); + assert(mult_int(8, 6160590) == 49284720); + assert(mult_int(8, 6160591) == 49284728); + assert(mult_int(8, 6160592) == 49284736); + assert(mult_int(8, 6160593) == 49284744); + assert(mult_int(8, 6160594) == 49284752); + assert(mult_int(8, 6160595) == 49284760); + assert(mult_int(8, 6160596) == 49284768); + assert(mult_int(8, 6160597) == 49284776); + assert(mult_int(8, 6160598) == 49284784); + assert(mult_int(8, 6160599) == 49284792); + assert(mult_int(8, 6160600) == 49284800); + assert(mult_int(8, 6160601) == 49284808); + assert(mult_int(8, 6160602) == 49284816); + assert(mult_int(8, 6160603) == 49284824); + assert(mult_int(8, 6160604) == 49284832); + assert(mult_int(8, 6160605) == 49284840); + assert(mult_int(8, 6160606) == 49284848); + assert(mult_int(8, 6160607) == 49284856); + assert(mult_int(8, 6160608) == 49284864); + assert(mult_int(8, 6160609) == 49284872); + assert(mult_int(8, 6160610) == 49284880); + assert(mult_int(8, 6160611) == 49284888); + assert(mult_int(8, 6160612) == 49284896); + assert(mult_int(8, 6160613) == 49284904); + assert(mult_int(8, 6160614) == 49284912); + assert(mult_int(8, 6160615) == 49284920); + assert(mult_int(8, 6160616) == 49284928); + assert(mult_int(8, 6160617) == 49284936); + assert(mult_int(8, 6160618) == 49284944); + assert(mult_int(8, 6160619) == 49284952); + assert(mult_int(8, 6160620) == 49284960); + assert(mult_int(8, 6160621) == 49284968); + assert(mult_int(8, 6160622) == 49284976); + assert(mult_int(8, 6160623) == 49284984); + assert(mult_int(8, 6160624) == 49284992); + assert(mult_int(8, 6160625) == 49285000); + assert(mult_int(8, 6160626) == 49285008); + assert(mult_int(8, 6160627) == 49285016); + assert(mult_int(8, 6160628) == 49285024); + assert(mult_int(8, 6160629) == 49285032); + assert(mult_int(8, 6160630) == 49285040); + assert(mult_int(8, 6160631) == 49285048); + assert(mult_int(8, 6160632) == 49285056); + assert(mult_int(8, 6160633) == 49285064); + assert(mult_int(8, 6160634) == 49285072); + assert(mult_int(8, 6160635) == 49285080); + assert(mult_int(8, 6160636) == 49285088); + assert(mult_int(8, 6160637) == 49285096); + assert(mult_int(8, 6160638) == 49285104); + assert(mult_int(8, 6160639) == 49285112); + assert(mult_int(8, 6160640) == 49285120); + assert(mult_int(8, 6160641) == 49285128); + assert(mult_int(8, 6160642) == 49285136); + assert(mult_int(8, 6160643) == 49285144); + assert(mult_int(8, 6160644) == 49285152); + assert(mult_int(8, 6160645) == 49285160); + assert(mult_int(8, 6160646) == 49285168); + assert(mult_int(8, 6160647) == 49285176); + assert(mult_int(8, 6160648) == 49285184); + assert(mult_int(8, 6160649) == 49285192); + assert(mult_int(8, 6160650) == 49285200); + assert(mult_int(8, 6160651) == 49285208); + assert(mult_int(8, 6160652) == 49285216); + assert(mult_int(8, 6160653) == 49285224); + assert(mult_int(8, 6160654) == 49285232); + assert(mult_int(8, 6160655) == 49285240); + assert(mult_int(8, 6160656) == 49285248); + assert(mult_int(8, 6160657) == 49285256); + assert(mult_int(8, 6160658) == 49285264); + assert(mult_int(8, 6160659) == 49285272); + assert(mult_int(8, 6160660) == 49285280); + assert(mult_int(8, 6160661) == 49285288); + assert(mult_int(8, 6160662) == 49285296); + assert(mult_int(8, 6160663) == 49285304); + assert(mult_int(8, 6160664) == 49285312); + assert(mult_int(8, 6160665) == 49285320); + assert(mult_int(8, 6160666) == 49285328); + assert(mult_int(8, 6160667) == 49285336); + assert(mult_int(8, 6160668) == 49285344); + assert(mult_int(8, 6160669) == 49285352); + assert(mult_int(8, 6160670) == 49285360); + assert(mult_int(8, 6160671) == 49285368); + assert(mult_int(8, 6160672) == 49285376); + assert(mult_int(8, 6160673) == 49285384); + assert(mult_int(8, 6160674) == 49285392); + assert(mult_int(8, 6160675) == 49285400); + assert(mult_int(8, 6160676) == 49285408); + assert(mult_int(8, 6160677) == 49285416); + assert(mult_int(8, 6160678) == 49285424); + assert(mult_int(8, 6160679) == 49285432); + assert(mult_int(8, 6160680) == 49285440); + assert(mult_int(8, 6160681) == 49285448); + assert(mult_int(8, 6160682) == 49285456); + assert(mult_int(8, 6160683) == 49285464); + assert(mult_int(8, 6160684) == 49285472); + assert(mult_int(8, 6160685) == 49285480); + assert(mult_int(8, 6160686) == 49285488); + assert(mult_int(8, 6160687) == 49285496); + assert(mult_int(8, 6160688) == 49285504); + assert(mult_int(8, 6160689) == 49285512); + assert(mult_int(8, 6160690) == 49285520); + assert(mult_int(8, 6160691) == 49285528); + assert(mult_int(8, 6160692) == 49285536); + assert(mult_int(8, 6160693) == 49285544); + assert(mult_int(8, 6160694) == 49285552); + assert(mult_int(8, 6160695) == 49285560); + assert(mult_int(8, 6160696) == 49285568); + assert(mult_int(8, 6160697) == 49285576); + assert(mult_int(8, 6160698) == 49285584); + assert(mult_int(8, 6160699) == 49285592); + assert(mult_int(8, 6160700) == 49285600); + assert(mult_int(8, 6160701) == 49285608); + assert(mult_int(8, 6160702) == 49285616); + assert(mult_int(8, 6160703) == 49285624); + assert(mult_int(8, 6160704) == 49285632); + assert(mult_int(8, 6160705) == 49285640); + assert(mult_int(8, 6160706) == 49285648); + assert(mult_int(8, 6160707) == 49285656); + assert(mult_int(8, 6160708) == 49285664); + assert(mult_int(8, 6160709) == 49285672); + assert(mult_int(8, 6160710) == 49285680); + assert(mult_int(8, 6160711) == 49285688); + assert(mult_int(8, 6160712) == 49285696); + assert(mult_int(8, 6160713) == 49285704); + assert(mult_int(8, 6160714) == 49285712); + assert(mult_int(8, 6160715) == 49285720); + assert(mult_int(8, 6160716) == 49285728); + assert(mult_int(8, 6160717) == 49285736); + assert(mult_int(8, 6160718) == 49285744); + assert(mult_int(8, 6160719) == 49285752); + assert(mult_int(8, 6160720) == 49285760); + assert(mult_int(8, 6160721) == 49285768); + assert(mult_int(8, 6160722) == 49285776); + assert(mult_int(8, 6160723) == 49285784); + assert(mult_int(8, 6160724) == 49285792); + assert(mult_int(8, 6160725) == 49285800); + assert(mult_int(8, 6160726) == 49285808); + assert(mult_int(8, 6160727) == 49285816); + assert(mult_int(8, 6160728) == 49285824); + assert(mult_int(8, 6160729) == 49285832); + assert(mult_int(8, 6160730) == 49285840); + assert(mult_int(8, 6160731) == 49285848); + assert(mult_int(8, 6160732) == 49285856); + assert(mult_int(8, 6160733) == 49285864); + assert(mult_int(8, 6160734) == 49285872); + assert(mult_int(8, 6160735) == 49285880); + assert(mult_int(8, 6160736) == 49285888); + assert(mult_int(8, 6160737) == 49285896); + assert(mult_int(8, 6160738) == 49285904); + assert(mult_int(8, 6160739) == 49285912); + assert(mult_int(8, 6160740) == 49285920); + assert(mult_int(8, 6160741) == 49285928); + assert(mult_int(8, 6160742) == 49285936); + assert(mult_int(8, 6160743) == 49285944); + assert(mult_int(8, 6160744) == 49285952); + assert(mult_int(8, 6160745) == 49285960); + assert(mult_int(8, 6160746) == 49285968); + assert(mult_int(8, 6160747) == 49285976); + assert(mult_int(8, 6160748) == 49285984); + assert(mult_int(8, 6160749) == 49285992); + assert(mult_int(8, 6160750) == 49286000); + assert(mult_int(8, 6160751) == 49286008); + assert(mult_int(8, 6160752) == 49286016); + assert(mult_int(8, 6160753) == 49286024); + assert(mult_int(8, 6160754) == 49286032); + assert(mult_int(8, 6160755) == 49286040); + assert(mult_int(8, 6160756) == 49286048); + assert(mult_int(8, 6160757) == 49286056); + assert(mult_int(8, 6160758) == 49286064); + assert(mult_int(8, 6160759) == 49286072); + assert(mult_int(8, 6160760) == 49286080); + assert(mult_int(8, 6160761) == 49286088); + assert(mult_int(8, 6160762) == 49286096); + assert(mult_int(8, 6160763) == 49286104); + assert(mult_int(8, 6160764) == 49286112); + assert(mult_int(8, 6160765) == 49286120); + assert(mult_int(8, 6160766) == 49286128); + assert(mult_int(8, 6160767) == 49286136); + assert(mult_int(8, 6160768) == 49286144); + assert(mult_int(8, 6160769) == 49286152); + assert(mult_int(8, 6160770) == 49286160); + assert(mult_int(8, 6160771) == 49286168); + assert(mult_int(8, 6160772) == 49286176); + assert(mult_int(8, 6160773) == 49286184); + assert(mult_int(8, 6160774) == 49286192); + assert(mult_int(8, 6160775) == 49286200); + assert(mult_int(8, 6160776) == 49286208); + assert(mult_int(8, 6160777) == 49286216); + assert(mult_int(8, 6160778) == 49286224); + assert(mult_int(8, 6160779) == 49286232); + assert(mult_int(8, 6160780) == 49286240); + assert(mult_int(8, 6160781) == 49286248); + assert(mult_int(8, 6160782) == 49286256); + assert(mult_int(8, 6160783) == 49286264); + assert(mult_int(8, 6160784) == 49286272); + assert(mult_int(8, 6160785) == 49286280); + assert(mult_int(8, 6160786) == 49286288); + assert(mult_int(8, 6160787) == 49286296); + assert(mult_int(8, 6160788) == 49286304); + assert(mult_int(8, 6160789) == 49286312); + assert(mult_int(8, 6160790) == 49286320); + assert(mult_int(8, 6160791) == 49286328); + assert(mult_int(8, 6160792) == 49286336); + assert(mult_int(8, 6160793) == 49286344); + assert(mult_int(8, 6160794) == 49286352); + assert(mult_int(8, 6160795) == 49286360); + assert(mult_int(8, 6160796) == 49286368); + assert(mult_int(8, 6160797) == 49286376); + assert(mult_int(8, 6160798) == 49286384); + assert(mult_int(8, 6160799) == 49286392); + assert(mult_int(8, 6160800) == 49286400); + assert(mult_int(8, 6160801) == 49286408); + assert(mult_int(8, 6160802) == 49286416); + assert(mult_int(8, 6160803) == 49286424); + assert(mult_int(8, 6160804) == 49286432); + assert(mult_int(8, 6160805) == 49286440); + assert(mult_int(8, 6160806) == 49286448); + assert(mult_int(8, 6160807) == 49286456); + assert(mult_int(8, 6160808) == 49286464); + assert(mult_int(8, 6160809) == 49286472); + assert(mult_int(8, 6160810) == 49286480); + assert(mult_int(8, 6160811) == 49286488); + assert(mult_int(8, 6160812) == 49286496); + assert(mult_int(8, 6160813) == 49286504); + assert(mult_int(8, 6160814) == 49286512); + assert(mult_int(8, 6160815) == 49286520); + assert(mult_int(8, 6160816) == 49286528); + assert(mult_int(8, 6160817) == 49286536); + assert(mult_int(8, 6160818) == 49286544); + assert(mult_int(8, 6160819) == 49286552); + assert(mult_int(8, 6160820) == 49286560); + assert(mult_int(8, 6160821) == 49286568); + assert(mult_int(8, 6160822) == 49286576); + assert(mult_int(8, 6160823) == 49286584); + assert(mult_int(8, 6160824) == 49286592); + assert(mult_int(8, 6160825) == 49286600); + assert(mult_int(8, 6160826) == 49286608); + assert(mult_int(8, 6160827) == 49286616); + assert(mult_int(8, 6160828) == 49286624); + assert(mult_int(8, 6160829) == 49286632); + assert(mult_int(8, 6160830) == 49286640); + assert(mult_int(8, 6168832) == 49350656); + assert(mult_int(8, 6193152) == 49545216); + assert(mult_int(8, 6201344) == 49610752); + assert(mult_int(8, 6201352) == 49610816); + assert(mult_int(8, 6209600) == 49676800); + assert(mult_int(8, 6217984) == 49743872); + assert(mult_int(8, 6291540) == 50332320); + assert(mult_int(8, 6292776) == 50342208); + assert(mult_int(8, 6295974) == 50367792); + assert(mult_int(8, 6295975) == 50367800); + assert(mult_int(8, 6295976) == 50367808); + assert(mult_int(8, 6295977) == 50367816); + assert(mult_int(8, 6295978) == 50367824); + assert(mult_int(8, 6295979) == 50367832); + assert(mult_int(8, 6295980) == 50367840); + assert(mult_int(8, 6295981) == 50367848); + assert(mult_int(8, 6295982) == 50367856); + assert(mult_int(8, 6295983) == 50367864); + assert(mult_int(8, 6295984) == 50367872); + assert(mult_int(8, 6295985) == 50367880); + assert(mult_int(8, 6295986) == 50367888); + assert(mult_int(8, 6295987) == 50367896); + assert(mult_int(8, 6295988) == 50367904); + assert(mult_int(8, 6295989) == 50367912); + assert(mult_int(8, 6295990) == 50367920); + assert(mult_int(8, 6295991) == 50367928); + assert(mult_int(8, 6295992) == 50367936); + assert(mult_int(8, 6295993) == 50367944); + assert(mult_int(8, 6295994) == 50367952); + assert(mult_int(8, 6295995) == 50367960); + assert(mult_int(8, 6295996) == 50367968); + assert(mult_int(8, 6295997) == 50367976); + assert(mult_int(8, 6295998) == 50367984); + assert(mult_int(8, 6295999) == 50367992); + assert(mult_int(8, 6296000) == 50368000); + assert(mult_int(8, 6296001) == 50368008); + assert(mult_int(8, 6296002) == 50368016); + assert(mult_int(8, 6296003) == 50368024); + assert(mult_int(8, 6296004) == 50368032); + assert(mult_int(8, 6296005) == 50368040); + assert(mult_int(8, 6296006) == 50368048); + assert(mult_int(8, 6296007) == 50368056); + assert(mult_int(8, 6406144) == 51249152); + assert(mult_int(8, 6414336) == 51314688); + assert(mult_int(8, 6422528) == 51380224); + assert(mult_int(8, 6422536) == 51380288); + assert(mult_int(8, 6430785) == 51446280); + assert(mult_int(8, 6439168) == 51513344); + assert(mult_int(8, 6529076) == 52232608); + assert(mult_int(8, 6529080) == 52232640); + assert(mult_int(8, 6529084) == 52232672); + assert(mult_int(8, 6529085) == 52232680); + assert(mult_int(8, 6529086) == 52232688); + assert(mult_int(8, 6529088) == 52232704); + assert(mult_int(8, 6529089) == 52232712); + assert(mult_int(8, 6529091) == 52232728); + assert(mult_int(8, 6529092) == 52232736); + assert(mult_int(8, 6529093) == 52232744); + assert(mult_int(8, 6529094) == 52232752); + assert(mult_int(8, 6529097) == 52232776); + assert(mult_int(8, 6529098) == 52232784); + assert(mult_int(8, 6529099) == 52232792); + assert(mult_int(8, 6529100) == 52232800); + assert(mult_int(8, 6529119) == 52232952); + assert(mult_int(8, 6529120) == 52232960); + assert(mult_int(8, 6529121) == 52232968); + assert(mult_int(8, 6529123) == 52232984); + assert(mult_int(8, 6529124) == 52232992); + assert(mult_int(8, 6529125) == 52233000); + assert(mult_int(8, 6529298) == 52234384); + assert(mult_int(8, 6529299) == 52234392); + assert(mult_int(8, 6529300) == 52234400); + assert(mult_int(8, 6529480) == 52235840); + assert(mult_int(8, 6529481) == 52235848); + assert(mult_int(8, 6529482) == 52235856); + assert(mult_int(8, 6529557) == 52236456); + assert(mult_int(8, 6529558) == 52236464); + assert(mult_int(8, 6529567) == 52236536); + assert(mult_int(8, 6529568) == 52236544); + assert(mult_int(8, 6529569) == 52236552); + assert(mult_int(8, 6529570) == 52236560); + assert(mult_int(8, 6529581) == 52236648); + assert(mult_int(8, 6529582) == 52236656); + assert(mult_int(8, 6529583) == 52236664); + assert(mult_int(8, 6529650) == 52237200); + assert(mult_int(8, 6529651) == 52237208); + assert(mult_int(8, 6529652) == 52237216); + assert(mult_int(8, 6529653) == 52237224); + assert(mult_int(8, 6529654) == 52237232); + assert(mult_int(8, 6529655) == 52237240); + assert(mult_int(8, 6529656) == 52237248); + assert(mult_int(8, 6529657) == 52237256); + assert(mult_int(8, 6529658) == 52237264); + assert(mult_int(8, 6529659) == 52237272); + assert(mult_int(8, 6529660) == 52237280); + assert(mult_int(8, 6529661) == 52237288); + assert(mult_int(8, 6529662) == 52237296); + assert(mult_int(8, 6529663) == 52237304); + assert(mult_int(8, 6529664) == 52237312); + assert(mult_int(8, 6529665) == 52237320); + assert(mult_int(8, 6529666) == 52237328); + assert(mult_int(8, 6529667) == 52237336); + assert(mult_int(8, 6529668) == 52237344); + assert(mult_int(8, 6529669) == 52237352); + assert(mult_int(8, 6529670) == 52237360); + assert(mult_int(8, 6529671) == 52237368); + assert(mult_int(8, 6529672) == 52237376); + assert(mult_int(8, 6529673) == 52237384); + assert(mult_int(8, 6529674) == 52237392); + assert(mult_int(8, 6529675) == 52237400); + assert(mult_int(8, 6529676) == 52237408); + assert(mult_int(8, 6529677) == 52237416); + assert(mult_int(8, 6529678) == 52237424); + assert(mult_int(8, 6529679) == 52237432); + assert(mult_int(8, 6529680) == 52237440); + assert(mult_int(8, 6529681) == 52237448); + assert(mult_int(8, 6529682) == 52237456); + assert(mult_int(8, 6529683) == 52237464); + assert(mult_int(8, 6529684) == 52237472); + assert(mult_int(8, 6529685) == 52237480); + assert(mult_int(8, 6529686) == 52237488); + assert(mult_int(8, 6529687) == 52237496); + assert(mult_int(8, 6529688) == 52237504); + assert(mult_int(8, 6529689) == 52237512); + assert(mult_int(8, 6529690) == 52237520); + assert(mult_int(8, 6529691) == 52237528); + assert(mult_int(8, 6529692) == 52237536); + assert(mult_int(8, 6529693) == 52237544); + assert(mult_int(8, 6529694) == 52237552); + assert(mult_int(8, 6529695) == 52237560); + assert(mult_int(8, 6529696) == 52237568); + assert(mult_int(8, 6529697) == 52237576); + assert(mult_int(8, 6529698) == 52237584); + assert(mult_int(8, 6529699) == 52237592); + assert(mult_int(8, 6529700) == 52237600); + assert(mult_int(8, 6529701) == 52237608); + assert(mult_int(8, 6529702) == 52237616); + assert(mult_int(8, 6529703) == 52237624); + assert(mult_int(8, 6529704) == 52237632); + assert(mult_int(8, 6529705) == 52237640); + assert(mult_int(8, 6529706) == 52237648); + assert(mult_int(8, 6529707) == 52237656); + assert(mult_int(8, 6529708) == 52237664); + assert(mult_int(8, 6529709) == 52237672); + assert(mult_int(8, 6529710) == 52237680); + assert(mult_int(8, 6529711) == 52237688); + assert(mult_int(8, 6529712) == 52237696); + assert(mult_int(8, 6529713) == 52237704); + assert(mult_int(8, 6529714) == 52237712); + assert(mult_int(8, 6529715) == 52237720); + assert(mult_int(8, 6529716) == 52237728); + assert(mult_int(8, 6529717) == 52237736); + assert(mult_int(8, 6529718) == 52237744); + assert(mult_int(8, 6529719) == 52237752); + assert(mult_int(8, 6529720) == 52237760); + assert(mult_int(8, 6529721) == 52237768); + assert(mult_int(8, 6529722) == 52237776); + assert(mult_int(8, 6529723) == 52237784); + assert(mult_int(8, 6529724) == 52237792); + assert(mult_int(8, 6529725) == 52237800); + assert(mult_int(8, 6529726) == 52237808); + assert(mult_int(8, 6529727) == 52237816); + assert(mult_int(8, 6529728) == 52237824); + assert(mult_int(8, 6529729) == 52237832); + assert(mult_int(8, 6529730) == 52237840); + assert(mult_int(8, 6529731) == 52237848); + assert(mult_int(8, 6529732) == 52237856); + assert(mult_int(8, 6529733) == 52237864); + assert(mult_int(8, 6529734) == 52237872); + assert(mult_int(8, 6529735) == 52237880); + assert(mult_int(8, 6529736) == 52237888); + assert(mult_int(8, 6529737) == 52237896); + assert(mult_int(8, 6529738) == 52237904); + assert(mult_int(8, 6529739) == 52237912); + assert(mult_int(8, 6529740) == 52237920); + assert(mult_int(8, 6529741) == 52237928); + assert(mult_int(8, 6529742) == 52237936); + assert(mult_int(8, 6529743) == 52237944); + assert(mult_int(8, 6529744) == 52237952); + assert(mult_int(8, 6529745) == 52237960); + assert(mult_int(8, 6529746) == 52237968); + assert(mult_int(8, 6529747) == 52237976); + assert(mult_int(8, 6529748) == 52237984); + assert(mult_int(8, 6529749) == 52237992); + assert(mult_int(8, 6529750) == 52238000); + assert(mult_int(8, 6529751) == 52238008); + assert(mult_int(8, 6529752) == 52238016); + assert(mult_int(8, 6529753) == 52238024); + assert(mult_int(8, 6529754) == 52238032); + assert(mult_int(8, 6529755) == 52238040); + assert(mult_int(8, 6529756) == 52238048); + assert(mult_int(8, 6529757) == 52238056); + assert(mult_int(8, 6529758) == 52238064); + assert(mult_int(8, 6529759) == 52238072); + assert(mult_int(8, 6529760) == 52238080); + assert(mult_int(8, 6529761) == 52238088); + assert(mult_int(8, 6529762) == 52238096); + assert(mult_int(8, 6529763) == 52238104); + assert(mult_int(8, 6529764) == 52238112); + assert(mult_int(8, 6529765) == 52238120); + assert(mult_int(8, 6529766) == 52238128); + assert(mult_int(8, 6529767) == 52238136); + assert(mult_int(8, 6529768) == 52238144); + assert(mult_int(8, 6529769) == 52238152); + assert(mult_int(8, 6529770) == 52238160); + assert(mult_int(8, 6529771) == 52238168); + assert(mult_int(8, 6529772) == 52238176); + assert(mult_int(8, 6529773) == 52238184); + assert(mult_int(8, 6529774) == 52238192); + assert(mult_int(8, 6529786) == 52238288); + assert(mult_int(8, 6529788) == 52238304); + assert(mult_int(8, 6529789) == 52238312); + assert(mult_int(8, 6529790) == 52238320); + assert(mult_int(8, 6529791) == 52238328); + assert(mult_int(8, 6529792) == 52238336); + assert(mult_int(8, 7340133) == 58721064); + assert(mult_int(8, 7340134) == 58721072); + assert(mult_int(8, 7340135) == 58721080); + assert(mult_int(8, 7340136) == 58721088); + assert(mult_int(8, 7340138) == 58721104); + assert(mult_int(8, 7340139) == 58721112); + assert(mult_int(8, 7340140) == 58721120); + assert(mult_int(8, 7340141) == 58721128); + assert(mult_int(8, 7340148) == 58721184); + assert(mult_int(8, 7340149) == 58721192); + assert(mult_int(8, 7340150) == 58721200); + assert(mult_int(8, 7340151) == 58721208); + assert(mult_int(8, 7340152) == 58721216); + assert(mult_int(8, 7340154) == 58721232); + assert(mult_int(8, 7340155) == 58721240); + assert(mult_int(8, 7340156) == 58721248); + assert(mult_int(8, 7340157) == 58721256); + assert(mult_int(8, 7340158) == 58721264); + assert(mult_int(8, 7353913) == 58831304); + assert(mult_int(8, 7353914) == 58831312); + assert(mult_int(8, 7353915) == 58831320); + assert(mult_int(8, 7353916) == 58831328); + assert(mult_int(8, 7353917) == 58831336); + assert(mult_int(8, 7353918) == 58831344); + assert(mult_int(8, 7353919) == 58831352); + assert(mult_int(8, 7353928) == 58831424); + assert(mult_int(8, 7353929) == 58831432); + assert(mult_int(8, 7353930) == 58831440); + assert(mult_int(8, 7353931) == 58831448); + assert(mult_int(8, 7353932) == 58831456); + assert(mult_int(8, 7353934) == 58831472); + assert(mult_int(8, 7353935) == 58831480); + assert(mult_int(8, 7353936) == 58831488); + assert(mult_int(8, 7353937) == 58831496); + assert(mult_int(8, 7353938) == 58831504); + assert(mult_int(8, 7353939) == 58831512); + assert(mult_int(8, 7353940) == 58831520); + assert(mult_int(8, 7353941) == 58831528); + assert(mult_int(8, 7353942) == 58831536); + assert(mult_int(8, 7353943) == 58831544); + assert(mult_int(8, 7353944) == 58831552); + assert(mult_int(8, 7353945) == 58831560); + assert(mult_int(8, 7353946) == 58831568); + assert(mult_int(8, 7353947) == 58831576); + assert(mult_int(8, 7353948) == 58831584); + assert(mult_int(8, 7353949) == 58831592); + assert(mult_int(8, 7353950) == 58831600); + assert(mult_int(8, 7353951) == 58831608); + assert(mult_int(8, 8) == 64); + assert(mult_int(8, 8746) == 69968); + assert(mult_int(8, 9412) == 75296); + assert(mult_int(8, 9484) == 75872); +}
\ No newline at end of file diff --git a/test/builtins/not_bool.sail b/test/builtins/not_bool.sail new file mode 100644 index 00000000..5bd8dd47 --- /dev/null +++ b/test/builtins/not_bool.sail @@ -0,0 +1,9 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> + +function main (() : unit) -> unit = { + assert(not_bool(false) == true); + assert(not_bool(true) == false); +}
\ No newline at end of file diff --git a/test/builtins/replicate_bits.sail b/test/builtins/replicate_bits.sail new file mode 100644 index 00000000..3e26943a --- /dev/null +++ b/test/builtins/replicate_bits.sail @@ -0,0 +1,93 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(replicate_bits(1^0x0, 0) == 0^0x0, "replicate_bits(1^0x0, 0) == 0^0x0"); + assert(replicate_bits(1^0x0, 1) == 1^0x0, "replicate_bits(1^0x0, 1) == 1^0x0"); + assert(replicate_bits(1^0x0, 10) == 10^0x0, "replicate_bits(1^0x0, 10) == 10^0x0"); + assert(replicate_bits(1^0x0, 11) == 11^0x0, "replicate_bits(1^0x0, 11) == 11^0x0"); + assert(replicate_bits(1^0x0, 12) == 12^0x0, "replicate_bits(1^0x0, 12) == 12^0x0"); + assert(replicate_bits(1^0x0, 13) == 13^0x0, "replicate_bits(1^0x0, 13) == 13^0x0"); + assert(replicate_bits(1^0x0, 14) == 14^0x0, "replicate_bits(1^0x0, 14) == 14^0x0"); + assert(replicate_bits(1^0x0, 16) == 16^0x0, "replicate_bits(1^0x0, 16) == 16^0x0"); + assert(replicate_bits(1^0x0, 18) == 18^0x0, "replicate_bits(1^0x0, 18) == 18^0x0"); + assert(replicate_bits(1^0x0, 2) == 2^0x0, "replicate_bits(1^0x0, 2) == 2^0x0"); + assert(replicate_bits(1^0x0, 20) == 20^0x0, "replicate_bits(1^0x0, 20) == 20^0x0"); + assert(replicate_bits(1^0x0, 21) == 21^0x0, "replicate_bits(1^0x0, 21) == 21^0x0"); + assert(replicate_bits(1^0x0, 22) == 22^0x0, "replicate_bits(1^0x0, 22) == 22^0x0"); + assert(replicate_bits(1^0x0, 24) == 24^0x0, "replicate_bits(1^0x0, 24) == 24^0x0"); + assert(replicate_bits(1^0x0, 25) == 25^0x0, "replicate_bits(1^0x0, 25) == 25^0x0"); + assert(replicate_bits(1^0x0, 26) == 26^0x0, "replicate_bits(1^0x0, 26) == 26^0x0"); + assert(replicate_bits(1^0x0, 28) == 28^0x0, "replicate_bits(1^0x0, 28) == 28^0x0"); + assert(replicate_bits(1^0x0, 29) == 29^0x0, "replicate_bits(1^0x0, 29) == 29^0x0"); + assert(replicate_bits(1^0x0, 3) == 3^0x0, "replicate_bits(1^0x0, 3) == 3^0x0"); + assert(replicate_bits(1^0x0, 30) == 30^0x0, "replicate_bits(1^0x0, 30) == 30^0x0"); + assert(replicate_bits(1^0x0, 31) == 31^0x0, "replicate_bits(1^0x0, 31) == 31^0x0"); + assert(replicate_bits(1^0x0, 32) == 32^0x0, "replicate_bits(1^0x0, 32) == 32^0x0"); + assert(replicate_bits(1^0x0, 34) == 34^0x0, "replicate_bits(1^0x0, 34) == 34^0x0"); + assert(replicate_bits(1^0x0, 36) == 36^0x0, "replicate_bits(1^0x0, 36) == 36^0x0"); + assert(replicate_bits(1^0x0, 38) == 38^0x0, "replicate_bits(1^0x0, 38) == 38^0x0"); + assert(replicate_bits(1^0x0, 4) == 4^0x0, "replicate_bits(1^0x0, 4) == 4^0x0"); + assert(replicate_bits(1^0x0, 40) == 40^0x0, "replicate_bits(1^0x0, 40) == 40^0x0"); + assert(replicate_bits(1^0x0, 42) == 42^0x0, "replicate_bits(1^0x0, 42) == 42^0x0"); + assert(replicate_bits(1^0x0, 43) == 43^0x0, "replicate_bits(1^0x0, 43) == 43^0x0"); + assert(replicate_bits(1^0x0, 44) == 44^0x0, "replicate_bits(1^0x0, 44) == 44^0x0"); + assert(replicate_bits(1^0x0, 46) == 46^0x0, "replicate_bits(1^0x0, 46) == 46^0x0"); + assert(replicate_bits(1^0x0, 47) == 47^0x0, "replicate_bits(1^0x0, 47) == 47^0x0"); + assert(replicate_bits(1^0x0, 48) == 48^0x0, "replicate_bits(1^0x0, 48) == 48^0x0"); + assert(replicate_bits(1^0x0, 5) == 5^0x0, "replicate_bits(1^0x0, 5) == 5^0x0"); + assert(replicate_bits(1^0x0, 50) == 50^0x0, "replicate_bits(1^0x0, 50) == 50^0x0"); + assert(replicate_bits(1^0x0, 52) == 52^0x0, "replicate_bits(1^0x0, 52) == 52^0x0"); + assert(replicate_bits(1^0x0, 54) == 54^0x0, "replicate_bits(1^0x0, 54) == 54^0x0"); + assert(replicate_bits(1^0x0, 55) == 55^0x0, "replicate_bits(1^0x0, 55) == 55^0x0"); + assert(replicate_bits(1^0x0, 56) == 56^0x0, "replicate_bits(1^0x0, 56) == 56^0x0"); + assert(replicate_bits(1^0x0, 57) == 57^0x0, "replicate_bits(1^0x0, 57) == 57^0x0"); + assert(replicate_bits(1^0x0, 58) == 58^0x0, "replicate_bits(1^0x0, 58) == 58^0x0"); + assert(replicate_bits(1^0x0, 6) == 6^0x0, "replicate_bits(1^0x0, 6) == 6^0x0"); + assert(replicate_bits(1^0x0, 60) == 60^0x0, "replicate_bits(1^0x0, 60) == 60^0x0"); + assert(replicate_bits(1^0x0, 62) == 62^0x0, "replicate_bits(1^0x0, 62) == 62^0x0"); + assert(replicate_bits(1^0x0, 64) == 64^0x0, "replicate_bits(1^0x0, 64) == 64^0x0"); + assert(replicate_bits(1^0x0, 7) == 7^0x0, "replicate_bits(1^0x0, 7) == 7^0x0"); + assert(replicate_bits(1^0x0, 8) == 8^0x0, "replicate_bits(1^0x0, 8) == 8^0x0"); + assert(replicate_bits(1^0x1, 1) == 1^0x1, "replicate_bits(1^0x1, 1) == 1^0x1"); + assert(replicate_bits(1^0x1, 16) == 16^0xffff, "replicate_bits(1^0x1, 16) == 16^0xffff"); + assert(replicate_bits(1^0x1, 2) == 2^0x3, "replicate_bits(1^0x1, 2) == 2^0x3"); + assert(replicate_bits(1^0x1, 3) == 3^0x7, "replicate_bits(1^0x1, 3) == 3^0x7"); + assert(replicate_bits(1^0x1, 32) == 32^0xffffffff, "replicate_bits(1^0x1, 32) == 32^0xffffffff"); + assert(replicate_bits(1^0x1, 36) == 36^0xfffffffff, "replicate_bits(1^0x1, 36) == 36^0xfffffffff"); + assert(replicate_bits(1^0x1, 4) == 4^0xf, "replicate_bits(1^0x1, 4) == 4^0xf"); + assert(replicate_bits(1^0x1, 43) == 43^0x7ffffffffff, "replicate_bits(1^0x1, 43) == 43^0x7ffffffffff"); + assert(replicate_bits(1^0x1, 48) == 48^0xffffffffffff, "replicate_bits(1^0x1, 48) == 48^0xffffffffffff"); + assert(replicate_bits(1^0x1, 5) == 5^0x1f, "replicate_bits(1^0x1, 5) == 5^0x1f"); + assert(replicate_bits(1^0x1, 57) == 57^0x1ffffffffffffff, "replicate_bits(1^0x1, 57) == 57^0x1ffffffffffffff"); + assert(replicate_bits(1^0x1, 6) == 6^0x3f, "replicate_bits(1^0x1, 6) == 6^0x3f"); + assert(replicate_bits(1^0x1, 64) == 64^0xffffffffffffffff, "replicate_bits(1^0x1, 64) == 64^0xffffffffffffffff"); + assert(replicate_bits(1^0x1, 8) == 8^0xff, "replicate_bits(1^0x1, 8) == 8^0xff"); + assert(replicate_bits(16^0x0, 4) == 64^0x0, "replicate_bits(16^0x0, 4) == 64^0x0"); + assert(replicate_bits(16^0xff, 4) == 64^0xff00ff00ff00ff, "replicate_bits(16^0xff, 4) == 64^0xff00ff00ff00ff"); + assert(replicate_bits(16^0xff00, 4) == 64^0xff00ff00ff00ff00, "replicate_bits(16^0xff00, 4) == 64^0xff00ff00ff00ff00"); + assert(replicate_bits(16^0xffff, 4) == 64^0xffffffffffffffff, "replicate_bits(16^0xffff, 4) == 64^0xffffffffffffffff"); + assert(replicate_bits(2^0x0, 32) == 64^0x0, "replicate_bits(2^0x0, 32) == 64^0x0"); + assert(replicate_bits(2^0x1, 32) == 64^0x5555555555555555, "replicate_bits(2^0x1, 32) == 64^0x5555555555555555"); + assert(replicate_bits(2^0x2, 32) == 64^0xaaaaaaaaaaaaaaaa, "replicate_bits(2^0x2, 32) == 64^0xaaaaaaaaaaaaaaaa"); + assert(replicate_bits(2^0x3, 32) == 64^0xffffffffffffffff, "replicate_bits(2^0x3, 32) == 64^0xffffffffffffffff"); + assert(replicate_bits(32^0x0, 2) == 64^0x0, "replicate_bits(32^0x0, 2) == 64^0x0"); + assert(replicate_bits(32^0xffff, 2) == 64^0xffff0000ffff, "replicate_bits(32^0xffff, 2) == 64^0xffff0000ffff"); + assert(replicate_bits(32^0xffff0000, 2) == 64^0xffff0000ffff0000, "replicate_bits(32^0xffff0000, 2) == 64^0xffff0000ffff0000"); + assert(replicate_bits(32^0xffffffff, 2) == 64^0xffffffffffffffff, "replicate_bits(32^0xffffffff, 2) == 64^0xffffffffffffffff"); + assert(replicate_bits(4^0x0, 16) == 64^0x0, "replicate_bits(4^0x0, 16) == 64^0x0"); + assert(replicate_bits(4^0x3, 16) == 64^0x3333333333333333, "replicate_bits(4^0x3, 16) == 64^0x3333333333333333"); + assert(replicate_bits(4^0xc, 16) == 64^0xcccccccccccccccc, "replicate_bits(4^0xc, 16) == 64^0xcccccccccccccccc"); + assert(replicate_bits(4^0xf, 16) == 64^0xffffffffffffffff, "replicate_bits(4^0xf, 16) == 64^0xffffffffffffffff"); + assert(replicate_bits(64^0x0, 1) == 64^0x0, "replicate_bits(64^0x0, 1) == 64^0x0"); + assert(replicate_bits(64^0xffffffff, 1) == 64^0xffffffff, "replicate_bits(64^0xffffffff, 1) == 64^0xffffffff"); + assert(replicate_bits(64^0xffffffff00000000, 1) == 64^0xffffffff00000000, "replicate_bits(64^0xffffffff00000000, 1) == 64^0xffffffff00000000"); + assert(replicate_bits(64^0xffffffffffffffff, 1) == 64^0xffffffffffffffff, "replicate_bits(64^0xffffffffffffffff, 1) == 64^0xffffffffffffffff"); + assert(replicate_bits(8^0x0, 8) == 64^0x0, "replicate_bits(8^0x0, 8) == 64^0x0"); + assert(replicate_bits(8^0xf, 8) == 64^0xf0f0f0f0f0f0f0f, "replicate_bits(8^0xf, 8) == 64^0xf0f0f0f0f0f0f0f"); + assert(replicate_bits(8^0xf0, 8) == 64^0xf0f0f0f0f0f0f0f0, "replicate_bits(8^0xf0, 8) == 64^0xf0f0f0f0f0f0f0f0"); + assert(replicate_bits(8^0xff, 8) == 64^0xffffffffffffffff, "replicate_bits(8^0xff, 8) == 64^0xffffffffffffffff"); +}
\ No newline at end of file diff --git a/test/builtins/run_tests.sh b/test/builtins/run_tests.sh new file mode 100755 index 00000000..b1d19639 --- /dev/null +++ b/test/builtins/run_tests.sh @@ -0,0 +1,92 @@ + +#!/usr/bin/env bash +set -e + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +cd $DIR +SAILDIR="$DIR/../.." + +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[0;33m' +NC='\033[0m' + +rm -f $DIR/tests.xml + +pass=0 +fail=0 +XML="" + +function green { + (( pass += 1 )) + printf "$1: ${GREEN}$2${NC}\n" + XML+=" <testcase name=\"$1\"/>\n" +} + +function yellow { + (( fail += 1 )) + printf "$1: ${YELLOW}$2${NC}\n" + XML+=" <testcase name=\"$1\">\n <error message=\"$2\">$2</error>\n </testcase>\n" +} + +function red { + (( fail += 1 )) + printf "$1: ${RED}$2${NC}\n" + XML+=" <testcase name=\"$1\">\n <error message=\"$2\">$2</error>\n </testcase>\n" +} + +function finish_suite { + printf "$1: Passed ${pass} out of $(( pass + fail ))\n\n" + XML=" <testsuite name=\"$1\" tests=\"$(( pass + fail ))\" failures=\"${fail}\" timestamp=\"$(date)\">\n$XML </testsuite>\n" + printf "$XML" >> $DIR/tests.xml + XML="" + pass=0 + fail=0 +} + +printf "<testsuites>\n" >> $DIR/tests.xml + +shopt -s nullglob; +for file in $DIR/*.sail; +do + if $SAILDIR/sail -no_warn -c $file 1> ${file%.sail}.c 2> /dev/null; + then + green "compiling $(basename $file) (C)" "ok"; + if gcc -I $SAILDIR/lib/ ${file%.sail}.c -lgmp; + then + green "compiling $(basename ${file%.sail}.c)" "ok"; + if $DIR/a.out; + then + green "tested $(basename ${file%.sail}) (C)" "ok" + else + red "tested $(basename ${file%.sail}) (C)" "fail" + fi + else + red "compiling $file" "fail" + fi + else + red "compiling $file" "fail" + fi; + + if $SAILDIR/sail -no_warn -o out -ocaml $file 1> /dev/null 2> /dev/null; + then + green "compiling $(basename $file) (OCaml)" "ok" + if $DIR/out; + then + green "tested $(basename ${file%.sail}) (OCaml)" "ok" + else + red "tested $(basename ${file%.sail}) (OCaml)" "fail" + fi + else + red "compiling $(basename $file) (OCaml)" "fail" + fi; + + rm -rf $DIR/_sbuild/; + rm -f ${file%.sail}.c; + rm -f a.out; + rm -f out +done + +finish_suite "builtin testing" + +printf "</testsuites>\n" >> $DIR/tests.xml diff --git a/test/builtins/set_slice_bits.sail b/test/builtins/set_slice_bits.sail new file mode 100644 index 00000000..67b11cdf --- /dev/null +++ b/test/builtins/set_slice_bits.sail @@ -0,0 +1,683 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(set_slice_bits(2, 1, 2^0x0, 0, 1^0x0) == 2^0x0, "set_slice_bits(2, 1, 2^0x0, 0, 1^0x0) == 2^0x0"); + assert(set_slice_bits(2, 1, 2^0x0, 1, 1^0x0) == 2^0x0, "set_slice_bits(2, 1, 2^0x0, 1, 1^0x0) == 2^0x0"); + assert(set_slice_bits(25, 16, 25^0x0, 0, 16^0x9) == 25^0x9, "set_slice_bits(25, 16, 25^0x0, 0, 16^0x9) == 25^0x9"); + assert(set_slice_bits(3, 1, 3^0x0, 0, 1^0x1) == 3^0x1, "set_slice_bits(3, 1, 3^0x0, 0, 1^0x1) == 3^0x1"); + assert(set_slice_bits(3, 1, 3^0x0, 1, 1^0x0) == 3^0x0, "set_slice_bits(3, 1, 3^0x0, 1, 1^0x0) == 3^0x0"); + assert(set_slice_bits(3, 1, 3^0x0, 1, 1^0x1) == 3^0x2, "set_slice_bits(3, 1, 3^0x0, 1, 1^0x1) == 3^0x2"); + assert(set_slice_bits(3, 1, 3^0x0, 2, 1^0x0) == 3^0x0, "set_slice_bits(3, 1, 3^0x0, 2, 1^0x0) == 3^0x0"); + assert(set_slice_bits(3, 1, 3^0x0, 2, 1^0x1) == 3^0x4, "set_slice_bits(3, 1, 3^0x0, 2, 1^0x1) == 3^0x4"); + assert(set_slice_bits(3, 1, 3^0x2, 0, 1^0x1) == 3^0x3, "set_slice_bits(3, 1, 3^0x2, 0, 1^0x1) == 3^0x3"); + assert(set_slice_bits(3, 1, 3^0x4, 1, 1^0x1) == 3^0x6, "set_slice_bits(3, 1, 3^0x4, 1, 1^0x1) == 3^0x6"); + assert(set_slice_bits(3, 1, 3^0x6, 0, 1^0x1) == 3^0x7, "set_slice_bits(3, 1, 3^0x6, 0, 1^0x1) == 3^0x7"); + assert(set_slice_bits(32, 1, 32^0x0, 0, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 0, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 1, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 1, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 1, 1^0x1) == 32^0x2, "set_slice_bits(32, 1, 32^0x0, 1, 1^0x1) == 32^0x2"); + assert(set_slice_bits(32, 1, 32^0x0, 10, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 10, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 11, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 11, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 11, 1^0x1) == 32^0x800, "set_slice_bits(32, 1, 32^0x0, 11, 1^0x1) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x0, 12, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 12, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 12, 1^0x1) == 32^0x1000, "set_slice_bits(32, 1, 32^0x0, 12, 1^0x1) == 32^0x1000"); + assert(set_slice_bits(32, 1, 32^0x0, 13, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 13, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 14, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 14, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 15, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 15, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 16, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 16, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 17, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 17, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 18, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 18, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 19, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 19, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 2, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 2, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 20, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 20, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 21, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 21, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 22, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 22, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 22, undefined) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 22, undefined) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 23, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 23, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 23, 1^0x1) == 32^0x800000, "set_slice_bits(32, 1, 32^0x0, 23, 1^0x1) == 32^0x800000"); + assert(set_slice_bits(32, 1, 32^0x0, 23, undefined) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 23, undefined) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 24, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 24, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 25, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 25, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 26, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 26, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 27, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 27, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 28, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 28, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 28, 1^0x1) == 32^0x10000000, "set_slice_bits(32, 1, 32^0x0, 28, 1^0x1) == 32^0x10000000"); + assert(set_slice_bits(32, 1, 32^0x0, 29, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 29, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 29, 1^0x1) == 32^0x20000000, "set_slice_bits(32, 1, 32^0x0, 29, 1^0x1) == 32^0x20000000"); + assert(set_slice_bits(32, 1, 32^0x0, 3, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 3, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 3, 1^0x1) == 32^0x8, "set_slice_bits(32, 1, 32^0x0, 3, 1^0x1) == 32^0x8"); + assert(set_slice_bits(32, 1, 32^0x0, 30, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 30, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 31, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 31, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 31, 1^0x1) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x0, 31, 1^0x1) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x0, 4, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 4, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 4, 1^0x1) == 32^0x10, "set_slice_bits(32, 1, 32^0x0, 4, 1^0x1) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x0, 5, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 5, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 6, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 6, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 6, 1^0x1) == 32^0x40, "set_slice_bits(32, 1, 32^0x0, 6, 1^0x1) == 32^0x40"); + assert(set_slice_bits(32, 1, 32^0x0, 7, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 7, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 8, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 8, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x0, 9, 1^0x0) == 32^0x0, "set_slice_bits(32, 1, 32^0x0, 9, 1^0x0) == 32^0x0"); + assert(set_slice_bits(32, 1, 32^0x1, 0, 1^0x1) == 32^0x1, "set_slice_bits(32, 1, 32^0x1, 0, 1^0x1) == 32^0x1"); + assert(set_slice_bits(32, 1, 32^0x1, 1, 1^0x0) == 32^0x1, "set_slice_bits(32, 1, 32^0x1, 1, 1^0x0) == 32^0x1"); + assert(set_slice_bits(32, 1, 32^0x10, 22, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 22, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 23, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 23, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 24, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 24, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 27, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 27, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 28, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 28, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 29, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 29, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 30, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 30, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 31, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 31, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 4, 1^0x1) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 4, 1^0x1) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 5, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 5, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 6, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 6, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 7, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 7, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 8, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 8, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x10, 9, 1^0x0) == 32^0x10, "set_slice_bits(32, 1, 32^0x10, 9, 1^0x0) == 32^0x10"); + assert(set_slice_bits(32, 1, 32^0x1000, 13, 1^0x0) == 32^0x1000, "set_slice_bits(32, 1, 32^0x1000, 13, 1^0x0) == 32^0x1000"); + assert(set_slice_bits(32, 1, 32^0x1000, 14, 1^0x0) == 32^0x1000, "set_slice_bits(32, 1, 32^0x1000, 14, 1^0x0) == 32^0x1000"); + assert(set_slice_bits(32, 1, 32^0x1000, 15, 1^0x1) == 32^0x9000, "set_slice_bits(32, 1, 32^0x1000, 15, 1^0x1) == 32^0x9000"); + assert(set_slice_bits(32, 1, 32^0x10000000, 29, 1^0x0) == 32^0x10000000, "set_slice_bits(32, 1, 32^0x10000000, 29, 1^0x0) == 32^0x10000000"); + assert(set_slice_bits(32, 1, 32^0x10000000, 30, 1^0x0) == 32^0x10000000, "set_slice_bits(32, 1, 32^0x10000000, 30, 1^0x0) == 32^0x10000000"); + assert(set_slice_bits(32, 1, 32^0x10000000, 31, 1^0x1) == 32^0x90000000, "set_slice_bits(32, 1, 32^0x10000000, 31, 1^0x1) == 32^0x90000000"); + assert(set_slice_bits(32, 1, 32^0x100800, 21, 1^0x0) == 32^0x100800, "set_slice_bits(32, 1, 32^0x100800, 21, 1^0x0) == 32^0x100800"); + assert(set_slice_bits(32, 1, 32^0x100800, 22, 1^0x1) == 32^0x500800, "set_slice_bits(32, 1, 32^0x100800, 22, 1^0x1) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x100818, 21, 1^0x0) == 32^0x100818, "set_slice_bits(32, 1, 32^0x100818, 21, 1^0x0) == 32^0x100818"); + assert(set_slice_bits(32, 1, 32^0x100818, 22, 1^0x1) == 32^0x500818, "set_slice_bits(32, 1, 32^0x100818, 22, 1^0x1) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x10500818, 28, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x10500818, 28, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x10830, 17, 1^0x0) == 32^0x10830, "set_slice_bits(32, 1, 32^0x10830, 17, 1^0x0) == 32^0x10830"); + assert(set_slice_bits(32, 1, 32^0x10830, 18, 1^0x1) == 32^0x50830, "set_slice_bits(32, 1, 32^0x10830, 18, 1^0x1) == 32^0x50830"); + assert(set_slice_bits(32, 1, 32^0x11169000, 12, 1^0x1) == 32^0x11169000, "set_slice_bits(32, 1, 32^0x11169000, 12, 1^0x1) == 32^0x11169000"); + assert(set_slice_bits(32, 1, 32^0x11169000, 13, 1^0x0) == 32^0x11169000, "set_slice_bits(32, 1, 32^0x11169000, 13, 1^0x0) == 32^0x11169000"); + assert(set_slice_bits(32, 1, 32^0x11169000, 14, 1^0x0) == 32^0x11169000, "set_slice_bits(32, 1, 32^0x11169000, 14, 1^0x0) == 32^0x11169000"); + assert(set_slice_bits(32, 1, 32^0x11169000, 15, 1^0x1) == 32^0x11169000, "set_slice_bits(32, 1, 32^0x11169000, 15, 1^0x1) == 32^0x11169000"); + assert(set_slice_bits(32, 1, 32^0x18, 11, 1^0x1) == 32^0x818, "set_slice_bits(32, 1, 32^0x18, 11, 1^0x1) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x18, 5, 1^0x0) == 32^0x18, "set_slice_bits(32, 1, 32^0x18, 5, 1^0x0) == 32^0x18"); + assert(set_slice_bits(32, 1, 32^0x18, 6, 1^0x0) == 32^0x18, "set_slice_bits(32, 1, 32^0x18, 6, 1^0x0) == 32^0x18"); + assert(set_slice_bits(32, 1, 32^0x18, 7, 1^0x0) == 32^0x18, "set_slice_bits(32, 1, 32^0x18, 7, 1^0x0) == 32^0x18"); + assert(set_slice_bits(32, 1, 32^0x18, 8, 1^0x0) == 32^0x18, "set_slice_bits(32, 1, 32^0x18, 8, 1^0x0) == 32^0x18"); + assert(set_slice_bits(32, 1, 32^0x1c0, 9, 1^0x1) == 32^0x3c0, "set_slice_bits(32, 1, 32^0x1c0, 9, 1^0x1) == 32^0x3c0"); + assert(set_slice_bits(32, 1, 32^0x2, 0, 1^0x0) == 32^0x2, "set_slice_bits(32, 1, 32^0x2, 0, 1^0x0) == 32^0x2"); + assert(set_slice_bits(32, 1, 32^0x2, 1, 1^0x1) == 32^0x2, "set_slice_bits(32, 1, 32^0x2, 1, 1^0x1) == 32^0x2"); + assert(set_slice_bits(32, 1, 32^0x2, 2, 1^0x0) == 32^0x2, "set_slice_bits(32, 1, 32^0x2, 2, 1^0x0) == 32^0x2"); + assert(set_slice_bits(32, 1, 32^0x2, 3, 1^0x1) == 32^0xa, "set_slice_bits(32, 1, 32^0x2, 3, 1^0x1) == 32^0xa"); + assert(set_slice_bits(32, 1, 32^0x20000000, 30, 1^0x0) == 32^0x20000000, "set_slice_bits(32, 1, 32^0x20000000, 30, 1^0x0) == 32^0x20000000"); + assert(set_slice_bits(32, 1, 32^0x20000000, 30, 1^0x1) == 32^0x60000000, "set_slice_bits(32, 1, 32^0x20000000, 30, 1^0x1) == 32^0x60000000"); + assert(set_slice_bits(32, 1, 32^0x20000000, 31, 1^0x0) == 32^0x20000000, "set_slice_bits(32, 1, 32^0x20000000, 31, 1^0x0) == 32^0x20000000"); + assert(set_slice_bits(32, 1, 32^0x20000000, 31, 1^0x1) == 32^0xa0000000, "set_slice_bits(32, 1, 32^0x20000000, 31, 1^0x1) == 32^0xa0000000"); + assert(set_slice_bits(32, 1, 32^0x30, 11, 1^0x1) == 32^0x830, "set_slice_bits(32, 1, 32^0x30, 11, 1^0x1) == 32^0x830"); + assert(set_slice_bits(32, 1, 32^0x30, 14, 1^0x0) == 32^0x30, "set_slice_bits(32, 1, 32^0x30, 14, 1^0x0) == 32^0x30"); + assert(set_slice_bits(32, 1, 32^0x30, 16, 1^0x0) == 32^0x30, "set_slice_bits(32, 1, 32^0x30, 16, 1^0x0) == 32^0x30"); + assert(set_slice_bits(32, 1, 32^0x30, 17, 1^0x0) == 32^0x30, "set_slice_bits(32, 1, 32^0x30, 17, 1^0x0) == 32^0x30"); + assert(set_slice_bits(32, 1, 32^0x30, 6, 1^0x0) == 32^0x30, "set_slice_bits(32, 1, 32^0x30, 6, 1^0x0) == 32^0x30"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 0, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 0, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 1, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 1, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 11, 1^0x1) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 11, 1^0x1) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 12, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 12, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 13, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 13, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 16, 1^0x1) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 16, 1^0x1) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 17, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 17, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 18, 1^0x1) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 18, 1^0x1) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 19, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 19, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 2, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 2, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 20, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 20, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 21, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 21, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 24, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 24, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 25, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 25, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 26, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 26, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 27, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 27, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 3, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 3, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 30, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 30, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x30c50830, 31, 1^0x0) == 32^0x30c50830, "set_slice_bits(32, 1, 32^0x30c50830, 31, 1^0x0) == 32^0x30c50830"); + assert(set_slice_bits(32, 1, 32^0x33ff, 10, 1^0x0) == 32^0x33ff, "set_slice_bits(32, 1, 32^0x33ff, 10, 1^0x0) == 32^0x33ff"); + assert(set_slice_bits(32, 1, 32^0x33ff, 11, 1^0x0) == 32^0x33ff, "set_slice_bits(32, 1, 32^0x33ff, 11, 1^0x0) == 32^0x33ff"); + assert(set_slice_bits(32, 1, 32^0x33ff, 15, 1^0x0) == 32^0x33ff, "set_slice_bits(32, 1, 32^0x33ff, 15, 1^0x0) == 32^0x33ff"); + assert(set_slice_bits(32, 1, 32^0x33ff, 28, 1^0x0) == 32^0x33ff, "set_slice_bits(32, 1, 32^0x33ff, 28, 1^0x0) == 32^0x33ff"); + assert(set_slice_bits(32, 1, 32^0x33ff, 31, 1^0x0) == 32^0x33ff, "set_slice_bits(32, 1, 32^0x33ff, 31, 1^0x0) == 32^0x33ff"); + assert(set_slice_bits(32, 1, 32^0x4, 4, 1^0x0) == 32^0x4, "set_slice_bits(32, 1, 32^0x4, 4, 1^0x0) == 32^0x4"); + assert(set_slice_bits(32, 1, 32^0x40, 7, 1^0x1) == 32^0xc0, "set_slice_bits(32, 1, 32^0x40, 7, 1^0x1) == 32^0xc0"); + assert(set_slice_bits(32, 1, 32^0x4000700, 0, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 0, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 1, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 1, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 2, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 2, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 26, 1^0x1) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 26, 1^0x1) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 27, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 27, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 28, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 28, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 29, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 29, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 3, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 3, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 30, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 30, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 31, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 31, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 4, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 4, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x4000700, 7, 1^0x0) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x4000700, 7, 1^0x0) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x400818, 20, 1^0x1) == 32^0x500818, "set_slice_bits(32, 1, 32^0x400818, 20, 1^0x1) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x400818, 23, 1^0x1) == 32^0xc00818, "set_slice_bits(32, 1, 32^0x400818, 23, 1^0x1) == 32^0xc00818"); + assert(set_slice_bits(32, 1, 32^0x444c004, 31, 1^0x1) == 32^0x8444c004, "set_slice_bits(32, 1, 32^0x444c004, 31, 1^0x1) == 32^0x8444c004"); + assert(set_slice_bits(32, 1, 32^0x500800, 0, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 0, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 1, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 1, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 10, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 10, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 11, 1^0x1) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 11, 1^0x1) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 12, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 12, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 13, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 13, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 14, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 14, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 15, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 15, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 16, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 16, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 17, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 17, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 18, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 18, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 19, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 19, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 2, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 2, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 20, 1^0x1) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 20, 1^0x1) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 21, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 21, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 22, 1^0x1) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 22, 1^0x1) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 23, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 23, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 24, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 24, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 25, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 25, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 26, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 26, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 27, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 27, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 28, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 28, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 29, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 29, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 3, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 3, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 30, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 30, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 31, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 31, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 4, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 4, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 5, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 5, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 6, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 6, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 7, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 7, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 8, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 8, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500800, 9, 1^0x0) == 32^0x500800, "set_slice_bits(32, 1, 32^0x500800, 9, 1^0x0) == 32^0x500800"); + assert(set_slice_bits(32, 1, 32^0x500818, 0, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 0, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 1, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 1, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 11, 1^0x1) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 11, 1^0x1) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 12, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 12, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 13, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 13, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 14, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 14, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 15, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 15, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 16, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 16, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 17, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 17, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 18, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 18, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 19, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 19, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 2, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 2, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 20, 1^0x0) == 32^0x400818, "set_slice_bits(32, 1, 32^0x500818, 20, 1^0x0) == 32^0x400818"); + assert(set_slice_bits(32, 1, 32^0x500818, 21, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 21, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 22, 1^0x1) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 22, 1^0x1) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 23, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 23, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 24, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 24, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 25, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 25, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 26, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 26, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 28, 1^0x1) == 32^0x10500818, "set_slice_bits(32, 1, 32^0x500818, 28, 1^0x1) == 32^0x10500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 29, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 29, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 3, 1^0x1) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 3, 1^0x1) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 30, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 30, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 31, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 31, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 4, 1^0x1) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 4, 1^0x1) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 5, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 5, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 6, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 6, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 7, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 7, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x500818, 8, 1^0x0) == 32^0x500818, "set_slice_bits(32, 1, 32^0x500818, 8, 1^0x0) == 32^0x500818"); + assert(set_slice_bits(32, 1, 32^0x50830, 19, 1^0x0) == 32^0x50830, "set_slice_bits(32, 1, 32^0x50830, 19, 1^0x0) == 32^0x50830"); + assert(set_slice_bits(32, 1, 32^0x50830, 20, 1^0x0) == 32^0x50830, "set_slice_bits(32, 1, 32^0x50830, 20, 1^0x0) == 32^0x50830"); + assert(set_slice_bits(32, 1, 32^0x50830, 21, 1^0x0) == 32^0x50830, "set_slice_bits(32, 1, 32^0x50830, 21, 1^0x0) == 32^0x50830"); + assert(set_slice_bits(32, 1, 32^0x60000000, 20, 1^0x0) == 32^0x60000000, "set_slice_bits(32, 1, 32^0x60000000, 20, 1^0x0) == 32^0x60000000"); + assert(set_slice_bits(32, 1, 32^0x60000000, 21, 1^0x0) == 32^0x60000000, "set_slice_bits(32, 1, 32^0x60000000, 21, 1^0x0) == 32^0x60000000"); + assert(set_slice_bits(32, 1, 32^0x60000000, 22, 1^0x0) == 32^0x60000000, "set_slice_bits(32, 1, 32^0x60000000, 22, 1^0x0) == 32^0x60000000"); + assert(set_slice_bits(32, 1, 32^0x60000000, 23, 1^0x0) == 32^0x60000000, "set_slice_bits(32, 1, 32^0x60000000, 23, 1^0x0) == 32^0x60000000"); + assert(set_slice_bits(32, 1, 32^0x60000000, 31, 1^0x0) == 32^0x60000000, "set_slice_bits(32, 1, 32^0x60000000, 31, 1^0x0) == 32^0x60000000"); + assert(set_slice_bits(32, 1, 32^0x600003c0, 0, 1^0x0) == 32^0x600003c0, "set_slice_bits(32, 1, 32^0x600003c0, 0, 1^0x0) == 32^0x600003c0"); + assert(set_slice_bits(32, 1, 32^0x600003c0, 4, 1^0x0) == 32^0x600003c0, "set_slice_bits(32, 1, 32^0x600003c0, 4, 1^0x0) == 32^0x600003c0"); + assert(set_slice_bits(32, 1, 32^0x700, 26, 1^0x1) == 32^0x4000700, "set_slice_bits(32, 1, 32^0x700, 26, 1^0x1) == 32^0x4000700"); + assert(set_slice_bits(32, 1, 32^0x8, 2, 1^0x1) == 32^0xc, "set_slice_bits(32, 1, 32^0x8, 2, 1^0x1) == 32^0xc"); + assert(set_slice_bits(32, 1, 32^0x8, 4, 1^0x1) == 32^0x18, "set_slice_bits(32, 1, 32^0x8, 4, 1^0x1) == 32^0x18"); + assert(set_slice_bits(32, 1, 32^0x800, 12, 1^0x0) == 32^0x800, "set_slice_bits(32, 1, 32^0x800, 12, 1^0x0) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x800, 13, 1^0x0) == 32^0x800, "set_slice_bits(32, 1, 32^0x800, 13, 1^0x0) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x800, 14, 1^0x0) == 32^0x800, "set_slice_bits(32, 1, 32^0x800, 14, 1^0x0) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x800, 15, 1^0x0) == 32^0x800, "set_slice_bits(32, 1, 32^0x800, 15, 1^0x0) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x800, 16, 1^0x0) == 32^0x800, "set_slice_bits(32, 1, 32^0x800, 16, 1^0x0) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x800, 17, 1^0x0) == 32^0x800, "set_slice_bits(32, 1, 32^0x800, 17, 1^0x0) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x800, 18, 1^0x0) == 32^0x800, "set_slice_bits(32, 1, 32^0x800, 18, 1^0x0) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x800, 19, 1^0x0) == 32^0x800, "set_slice_bits(32, 1, 32^0x800, 19, 1^0x0) == 32^0x800"); + assert(set_slice_bits(32, 1, 32^0x800, 20, 1^0x1) == 32^0x100800, "set_slice_bits(32, 1, 32^0x800, 20, 1^0x1) == 32^0x100800"); + assert(set_slice_bits(32, 1, 32^0x800000, 24, 1^0x0) == 32^0x800000, "set_slice_bits(32, 1, 32^0x800000, 24, 1^0x0) == 32^0x800000"); + assert(set_slice_bits(32, 1, 32^0x800000, 25, 1^0x0) == 32^0x800000, "set_slice_bits(32, 1, 32^0x800000, 25, 1^0x0) == 32^0x800000"); + assert(set_slice_bits(32, 1, 32^0x800000, 26, 1^0x0) == 32^0x800000, "set_slice_bits(32, 1, 32^0x800000, 26, 1^0x0) == 32^0x800000"); + assert(set_slice_bits(32, 1, 32^0x800000, 27, 1^0x0) == 32^0x800000, "set_slice_bits(32, 1, 32^0x800000, 27, 1^0x0) == 32^0x800000"); + assert(set_slice_bits(32, 1, 32^0x800000, 28, 1^0x0) == 32^0x800000, "set_slice_bits(32, 1, 32^0x800000, 28, 1^0x0) == 32^0x800000"); + assert(set_slice_bits(32, 1, 32^0x800000, 29, 1^0x0) == 32^0x800000, "set_slice_bits(32, 1, 32^0x800000, 29, 1^0x0) == 32^0x800000"); + assert(set_slice_bits(32, 1, 32^0x800000, 30, 1^0x0) == 32^0x800000, "set_slice_bits(32, 1, 32^0x800000, 30, 1^0x0) == 32^0x800000"); + assert(set_slice_bits(32, 1, 32^0x800000, 31, 1^0x1) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x800000, 31, 1^0x1) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80000000, 0, 1^0x0) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x80000000, 0, 1^0x0) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x80000000, 1, 1^0x0) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x80000000, 1, 1^0x0) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x80000000, 25, 1^0x0) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x80000000, 25, 1^0x0) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x80000000, 26, 1^0x0) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x80000000, 26, 1^0x0) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x80000000, 27, 1^0x0) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x80000000, 27, 1^0x0) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x80000000, 28, 1^0x0) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x80000000, 28, 1^0x0) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x80000000, 31, 1^0x1) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x80000000, 31, 1^0x1) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x80000000, 5, 1^0x0) == 32^0x80000000, "set_slice_bits(32, 1, 32^0x80000000, 5, 1^0x0) == 32^0x80000000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 19, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 19, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 21, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 21, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 22, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 22, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 23, 1^0x1) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 23, 1^0x1) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 24, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 24, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 25, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 25, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 26, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 26, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 27, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 27, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 28, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 28, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 29, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 29, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 30, 1^0x0) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 30, 1^0x0) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x80800000, 31, 1^0x1) == 32^0x80800000, "set_slice_bits(32, 1, 32^0x80800000, 31, 1^0x1) == 32^0x80800000"); + assert(set_slice_bits(32, 1, 32^0x818, 12, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 12, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 13, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 13, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 14, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 14, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 15, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 15, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 16, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 16, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 17, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 17, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 18, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 18, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 19, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 19, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 20, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 20, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 20, 1^0x1) == 32^0x100818, "set_slice_bits(32, 1, 32^0x818, 20, 1^0x1) == 32^0x100818"); + assert(set_slice_bits(32, 1, 32^0x818, 21, 1^0x0) == 32^0x818, "set_slice_bits(32, 1, 32^0x818, 21, 1^0x0) == 32^0x818"); + assert(set_slice_bits(32, 1, 32^0x818, 22, 1^0x1) == 32^0x400818, "set_slice_bits(32, 1, 32^0x818, 22, 1^0x1) == 32^0x400818"); + assert(set_slice_bits(32, 1, 32^0x830, 12, 1^0x0) == 32^0x830, "set_slice_bits(32, 1, 32^0x830, 12, 1^0x0) == 32^0x830"); + assert(set_slice_bits(32, 1, 32^0x830, 13, 1^0x0) == 32^0x830, "set_slice_bits(32, 1, 32^0x830, 13, 1^0x0) == 32^0x830"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x118) == 32^0x118, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x118) == 32^0x118"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x18) == 32^0x18, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x18) == 32^0x18"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x1c) == 32^0x1c, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x1c) == 32^0x1c"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x2) == 32^0x2, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x2) == 32^0x2"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x230) == 32^0x230, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x230) == 32^0x230"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x280) == 32^0x280, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x280) == 32^0x280"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x298) == 32^0x298, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x298) == 32^0x298"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x2a0) == 32^0x2a0, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x2a0) == 32^0x2a0"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x2f) == 32^0x2f, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x2f) == 32^0x2f"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x3) == 32^0x3, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x3) == 32^0x3"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x30) == 32^0x30, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x30) == 32^0x30"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x38) == 32^0x38, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x38) == 32^0x38"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x4) == 32^0x4, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x4) == 32^0x4"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x400) == 32^0x400, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x400) == 32^0x400"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x401) == 32^0x401, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x401) == 32^0x401"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x460) == 32^0x460, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x460) == 32^0x460"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x5) == 32^0x5, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x5) == 32^0x5"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x6000) == 32^0x6000, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x6000) == 32^0x6000"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x61) == 32^0x61, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x61) == 32^0x61"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x70) == 32^0x70, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x70) == 32^0x70"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x7f) == 32^0x7f, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x7f) == 32^0x7f"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x80) == 32^0x80, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x80) == 32^0x80"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x9) == 32^0x9, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x9) == 32^0x9"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0x950) == 32^0x950, "set_slice_bits(32, 16, 32^0x0, 0, 16^0x950) == 32^0x950"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0xa) == 32^0xa, "set_slice_bits(32, 16, 32^0x0, 0, 16^0xa) == 32^0xa"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0xc) == 32^0xc, "set_slice_bits(32, 16, 32^0x0, 0, 16^0xc) == 32^0xc"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0xc000) == 32^0xc000, "set_slice_bits(32, 16, 32^0x0, 0, 16^0xc000) == 32^0xc000"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0xe) == 32^0xe, "set_slice_bits(32, 16, 32^0x0, 0, 16^0xe) == 32^0xe"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0xe0) == 32^0xe0, "set_slice_bits(32, 16, 32^0x0, 0, 16^0xe0) == 32^0xe0"); + assert(set_slice_bits(32, 16, 32^0x0, 0, 16^0xff) == 32^0xff, "set_slice_bits(32, 16, 32^0x0, 0, 16^0xff) == 32^0xff"); + assert(set_slice_bits(32, 16, 32^0x0, 16, 16^0x0) == 32^0x0, "set_slice_bits(32, 16, 32^0x0, 16, 16^0x0) == 32^0x0"); + assert(set_slice_bits(32, 16, 32^0x0, 16, 16^0x8000) == 32^0x80000000, "set_slice_bits(32, 16, 32^0x0, 16, 16^0x8000) == 32^0x80000000"); + assert(set_slice_bits(32, 16, 32^0x0, 16, 16^0xe000) == 32^0xe0000000, "set_slice_bits(32, 16, 32^0x0, 16, 16^0xe000) == 32^0xe0000000"); + assert(set_slice_bits(32, 16, 32^0x0, 16, 16^0xff00) == 32^0xff000000, "set_slice_bits(32, 16, 32^0x0, 16, 16^0xff00) == 32^0xff000000"); + assert(set_slice_bits(32, 16, 32^0x18, 16, 16^0x5) == 32^0x50018, "set_slice_bits(32, 16, 32^0x18, 16, 16^0x5) == 32^0x50018"); + assert(set_slice_bits(32, 16, undefined, 0, 16^0x0) == 32^0x0, "set_slice_bits(32, 16, undefined, 0, 16^0x0) == 32^0x0"); + assert(set_slice_bits(32, 17, 32^0x0, 8, 17^0x0) == 32^0x0, "set_slice_bits(32, 17, 32^0x0, 8, 17^0x0) == 32^0x0"); + assert(set_slice_bits(32, 2, 32^0x0, 0, 2^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 0, 2^0x0) == 32^0x0"); + assert(set_slice_bits(32, 2, 32^0x0, 10, 2^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 10, 2^0x0) == 32^0x0"); + assert(set_slice_bits(32, 2, 32^0x0, 12, 2^0x0) == 32^0x0, "set_slice_bits(32, 2, 32^0x0, 12, 2^0x0) == 32^0x0"); + assert(set_slice_bits(32, 28, 32^0x0, 4, 28^0x0) == 32^0x0, "set_slice_bits(32, 28, 32^0x0, 4, 28^0x0) == 32^0x0"); + assert(set_slice_bits(32, 28, 32^0x2, 4, 28^0x0) == 32^0x2, "set_slice_bits(32, 28, 32^0x2, 4, 28^0x0) == 32^0x2"); + assert(set_slice_bits(32, 28, undefined, 4, 28^0x0) == 32^0x0, "set_slice_bits(32, 28, undefined, 4, 28^0x0) == 32^0x0"); + assert(set_slice_bits(32, 29, 32^0x0, 0, 29^0x0) == 32^0x0, "set_slice_bits(32, 29, 32^0x0, 0, 29^0x0) == 32^0x0"); + assert(set_slice_bits(32, 29, 32^0x0, 3, 29^0x0) == 32^0x0, "set_slice_bits(32, 29, 32^0x0, 3, 29^0x0) == 32^0x0"); + assert(set_slice_bits(32, 29, 32^0x2, 3, 29^0x0) == 32^0x2, "set_slice_bits(32, 29, 32^0x2, 3, 29^0x0) == 32^0x2"); + assert(set_slice_bits(32, 29, undefined, 0, 29^0x0) == 32^0x0, "set_slice_bits(32, 29, undefined, 0, 29^0x0) == 32^0x0"); + assert(set_slice_bits(32, 29, undefined, 3, 29^0x0) == 32^0x0, "set_slice_bits(32, 29, undefined, 3, 29^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, 32^0x0, 0, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, 32^0x0, 0, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, 32^0x0, 12, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, 32^0x0, 12, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, 32^0x0, 13, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, 32^0x0, 13, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, 32^0x0, 16, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, 32^0x0, 16, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, 32^0x0, 3, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, 32^0x0, 3, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, 32^0x0, 6, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, 32^0x0, 6, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, 32^0x0, 8, 3^0x7) == 32^0x700, "set_slice_bits(32, 3, 32^0x0, 8, 3^0x7) == 32^0x700"); + assert(set_slice_bits(32, 3, 32^0x4000700, 8, 3^0x7) == 32^0x4000700, "set_slice_bits(32, 3, 32^0x4000700, 8, 3^0x7) == 32^0x4000700"); + assert(set_slice_bits(32, 3, 32^0x444c004, 28, 3^0x0) == 32^0x444c004, "set_slice_bits(32, 3, 32^0x444c004, 28, 3^0x0) == 32^0x444c004"); + assert(set_slice_bits(32, 3, 32^0x8444c004, 28, 3^0x0) == 32^0x8444c004, "set_slice_bits(32, 3, 32^0x8444c004, 28, 3^0x0) == 32^0x8444c004"); + assert(set_slice_bits(32, 3, undefined, 0, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, undefined, 0, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, undefined, 3, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, undefined, 3, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 3, undefined, 6, 3^0x0) == 32^0x0, "set_slice_bits(32, 3, undefined, 6, 3^0x0) == 32^0x0"); + assert(set_slice_bits(32, 30, 32^0x0, 2, 30^0x0) == 32^0x0, "set_slice_bits(32, 30, 32^0x0, 2, 30^0x0) == 32^0x0"); + assert(set_slice_bits(32, 30, 32^0x1, 2, 30^0x0) == 32^0x1, "set_slice_bits(32, 30, 32^0x1, 2, 30^0x0) == 32^0x1"); + assert(set_slice_bits(32, 31, 32^0x0, 0, 31^0x0) == 32^0x0, "set_slice_bits(32, 31, 32^0x0, 0, 31^0x0) == 32^0x0"); + assert(set_slice_bits(32, 31, 32^0x0, 1, 31^0x0) == 32^0x0, "set_slice_bits(32, 31, 32^0x0, 1, 31^0x0) == 32^0x0"); + assert(set_slice_bits(32, 31, undefined, 0, 31^0x0) == 32^0x0, "set_slice_bits(32, 31, undefined, 0, 31^0x0) == 32^0x0"); + assert(set_slice_bits(32, 31, undefined, 1, 31^0x0) == 32^0x0, "set_slice_bits(32, 31, undefined, 1, 31^0x0) == 32^0x0"); + assert(set_slice_bits(32, 32, 32^0x0, 0, 32^0x0) == 32^0x0, "set_slice_bits(32, 32, 32^0x0, 0, 32^0x0) == 32^0x0"); + assert(set_slice_bits(32, 32, 32^0x0, 0, 32^0x1) == 32^0x1, "set_slice_bits(32, 32, 32^0x0, 0, 32^0x1) == 32^0x1"); + assert(set_slice_bits(32, 32, 32^0x0, 0, 32^0x3f000000) == 32^0x3f000000, "set_slice_bits(32, 32, 32^0x0, 0, 32^0x3f000000) == 32^0x3f000000"); + assert(set_slice_bits(32, 32, 32^0x0, 0, 32^0x3f070000) == 32^0x3f070000, "set_slice_bits(32, 32, 32^0x0, 0, 32^0x3f070000) == 32^0x3f070000"); + assert(set_slice_bits(32, 32, 32^0x0, 0, 32^0x40000000) == 32^0x40000000, "set_slice_bits(32, 32, 32^0x0, 0, 32^0x40000000) == 32^0x40000000"); + assert(set_slice_bits(32, 32, 32^0x0, 0, 32^0x50000000) == 32^0x50000000, "set_slice_bits(32, 32, 32^0x0, 0, 32^0x50000000) == 32^0x50000000"); + assert(set_slice_bits(32, 32, 32^0x1, 0, 32^0x1) == 32^0x1, "set_slice_bits(32, 32, 32^0x1, 0, 32^0x1) == 32^0x1"); + assert(set_slice_bits(32, 32, 32^0x1121110, 0, 32^0x1121110) == 32^0x1121110, "set_slice_bits(32, 32, 32^0x1121110, 0, 32^0x1121110) == 32^0x1121110"); + assert(set_slice_bits(32, 32, 32^0x121110, 0, 32^0x1121110) == 32^0x1121110, "set_slice_bits(32, 32, 32^0x121110, 0, 32^0x1121110) == 32^0x1121110"); + assert(set_slice_bits(32, 32, 32^0x12111111, 0, 32^0x13111111) == 32^0x13111111, "set_slice_bits(32, 32, 32^0x12111111, 0, 32^0x13111111) == 32^0x13111111"); + assert(set_slice_bits(32, 32, 32^0x13111111, 0, 32^0x13211111) == 32^0x13211111, "set_slice_bits(32, 32, 32^0x13111111, 0, 32^0x13211111) == 32^0x13211111"); + assert(set_slice_bits(32, 32, 32^0x13211111, 0, 32^0x13211111) == 32^0x13211111, "set_slice_bits(32, 32, 32^0x13211111, 0, 32^0x13211111) == 32^0x13211111"); + assert(set_slice_bits(32, 32, undefined, 0, 32^0x0) == 32^0x0, "set_slice_bits(32, 32, undefined, 0, 32^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 0, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 0, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 0, 4^0x1) == 32^0x1, "set_slice_bits(32, 4, 32^0x0, 0, 4^0x1) == 32^0x1"); + assert(set_slice_bits(32, 4, 32^0x0, 12, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 12, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 12, 4^0x1) == 32^0x1000, "set_slice_bits(32, 4, 32^0x0, 12, 4^0x1) == 32^0x1000"); + assert(set_slice_bits(32, 4, 32^0x0, 15, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 15, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 16, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 16, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 16, 4^0x6) == 32^0x60000, "set_slice_bits(32, 4, 32^0x0, 16, 4^0x6) == 32^0x60000"); + assert(set_slice_bits(32, 4, 32^0x0, 2, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 2, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 20, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 20, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 24, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 24, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 28, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 28, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 28, 4^0x4) == 32^0x40000000, "set_slice_bits(32, 4, 32^0x0, 28, 4^0x4) == 32^0x40000000"); + assert(set_slice_bits(32, 4, 32^0x0, 28, 4^0x6) == 32^0x60000000, "set_slice_bits(32, 4, 32^0x0, 28, 4^0x6) == 32^0x60000000"); + assert(set_slice_bits(32, 4, 32^0x0, 4, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 4, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 4, 4^0x1) == 32^0x10, "set_slice_bits(32, 4, 32^0x0, 4, 4^0x1) == 32^0x10"); + assert(set_slice_bits(32, 4, 32^0x0, 7, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 7, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x0, 8, 4^0x0) == 32^0x0, "set_slice_bits(32, 4, 32^0x0, 8, 4^0x0) == 32^0x0"); + assert(set_slice_bits(32, 4, 32^0x1, 0, 4^0x1) == 32^0x1, "set_slice_bits(32, 4, 32^0x1, 0, 4^0x1) == 32^0x1"); + assert(set_slice_bits(32, 4, 32^0x1, 4, 4^0x1) == 32^0x11, "set_slice_bits(32, 4, 32^0x1, 4, 4^0x1) == 32^0x11"); + assert(set_slice_bits(32, 4, 32^0x1, 4, 4^0x2) == 32^0x21, "set_slice_bits(32, 4, 32^0x1, 4, 4^0x2) == 32^0x21"); + assert(set_slice_bits(32, 4, 32^0x1, 4, 4^0x3) == 32^0x31, "set_slice_bits(32, 4, 32^0x1, 4, 4^0x3) == 32^0x31"); + assert(set_slice_bits(32, 4, 32^0x10, 0, 4^0x0) == 32^0x10, "set_slice_bits(32, 4, 32^0x10, 0, 4^0x0) == 32^0x10"); + assert(set_slice_bits(32, 4, 32^0x10, 16, 4^0x0) == 32^0x10, "set_slice_bits(32, 4, 32^0x10, 16, 4^0x0) == 32^0x10"); + assert(set_slice_bits(32, 4, 32^0x10, 8, 4^0x1) == 32^0x110, "set_slice_bits(32, 4, 32^0x10, 8, 4^0x1) == 32^0x110"); + assert(set_slice_bits(32, 4, 32^0x1000, 8, 4^0x1) == 32^0x1100, "set_slice_bits(32, 4, 32^0x1000, 8, 4^0x1) == 32^0x1100"); + assert(set_slice_bits(32, 4, 32^0x10066, 20, 4^0x0) == 32^0x10066, "set_slice_bits(32, 4, 32^0x10066, 20, 4^0x0) == 32^0x10066"); + assert(set_slice_bits(32, 4, 32^0x10066, 24, 4^0x3) == 32^0x3010066, "set_slice_bits(32, 4, 32^0x10066, 24, 4^0x3) == 32^0x3010066"); + assert(set_slice_bits(32, 4, 32^0x10101105, 0, 4^0x5) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x10101105, 0, 4^0x5) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x10101105, 12, 4^0x1) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x10101105, 12, 4^0x1) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x10101105, 16, 4^0x0) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x10101105, 16, 4^0x0) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x10101105, 20, 4^0x1) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x10101105, 20, 4^0x1) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x10101105, 24, 4^0x0) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x10101105, 24, 4^0x0) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x10101105, 28, 4^0x1) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x10101105, 28, 4^0x1) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x10101105, 4, 4^0x0) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x10101105, 4, 4^0x0) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x10101105, 8, 4^0x1) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x10101105, 8, 4^0x1) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x1011, 16, 4^0x1) == 32^0x11011, "set_slice_bits(32, 4, 32^0x1011, 16, 4^0x1) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x101105, 24, 4^0x0) == 32^0x101105, "set_slice_bits(32, 4, 32^0x101105, 24, 4^0x0) == 32^0x101105"); + assert(set_slice_bits(32, 4, 32^0x101105, 28, 4^0x1) == 32^0x10101105, "set_slice_bits(32, 4, 32^0x101105, 28, 4^0x1) == 32^0x10101105"); + assert(set_slice_bits(32, 4, 32^0x101110, 24, 4^0x2) == 32^0x2101110, "set_slice_bits(32, 4, 32^0x101110, 24, 4^0x2) == 32^0x2101110"); + assert(set_slice_bits(32, 4, 32^0x1011121, 16, 4^0x1) == 32^0x1011121, "set_slice_bits(32, 4, 32^0x1011121, 16, 4^0x1) == 32^0x1011121"); + assert(set_slice_bits(32, 4, 32^0x1011121, 24, 4^0x1) == 32^0x1011121, "set_slice_bits(32, 4, 32^0x1011121, 24, 4^0x1) == 32^0x1011121"); + assert(set_slice_bits(32, 4, 32^0x10111222, 0, 4^0x2) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x10111222, 0, 4^0x2) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x10111222, 12, 4^0x1) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x10111222, 12, 4^0x1) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x10111222, 16, 4^0x1) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x10111222, 16, 4^0x1) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x10111222, 20, 4^0x1) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x10111222, 20, 4^0x1) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x10111222, 24, 4^0x0) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x10111222, 24, 4^0x0) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x10111222, 28, 4^0x1) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x10111222, 28, 4^0x1) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x10111222, 4, 4^0x2) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x10111222, 4, 4^0x2) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x10111222, 8, 4^0x2) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x10111222, 8, 4^0x2) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x102211, 24, 4^0x2) == 32^0x2102211, "set_slice_bits(32, 4, 32^0x102211, 24, 4^0x2) == 32^0x2102211"); + assert(set_slice_bits(32, 4, 32^0x105, 12, 4^0x1) == 32^0x1105, "set_slice_bits(32, 4, 32^0x105, 12, 4^0x1) == 32^0x1105"); + assert(set_slice_bits(32, 4, 32^0x11, 12, 4^0x1) == 32^0x1011, "set_slice_bits(32, 4, 32^0x11, 12, 4^0x1) == 32^0x1011"); + assert(set_slice_bits(32, 4, 32^0x11, 8, 4^0x0) == 32^0x11, "set_slice_bits(32, 4, 32^0x11, 8, 4^0x0) == 32^0x11"); + assert(set_slice_bits(32, 4, 32^0x11, 8, 4^0x1) == 32^0x111, "set_slice_bits(32, 4, 32^0x11, 8, 4^0x1) == 32^0x111"); + assert(set_slice_bits(32, 4, 32^0x11, 8, 4^0x2) == 32^0x211, "set_slice_bits(32, 4, 32^0x11, 8, 4^0x2) == 32^0x211"); + assert(set_slice_bits(32, 4, 32^0x110, 12, 4^0x1) == 32^0x1110, "set_slice_bits(32, 4, 32^0x110, 12, 4^0x1) == 32^0x1110"); + assert(set_slice_bits(32, 4, 32^0x1100, 16, 4^0x2) == 32^0x21100, "set_slice_bits(32, 4, 32^0x1100, 16, 4^0x2) == 32^0x21100"); + assert(set_slice_bits(32, 4, 32^0x11011, 0, 4^0x1) == 32^0x11011, "set_slice_bits(32, 4, 32^0x11011, 0, 4^0x1) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x11011, 12, 4^0x1) == 32^0x11011, "set_slice_bits(32, 4, 32^0x11011, 12, 4^0x1) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x11011, 16, 4^0x1) == 32^0x11011, "set_slice_bits(32, 4, 32^0x11011, 16, 4^0x1) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x11011, 20, 4^0x0) == 32^0x11011, "set_slice_bits(32, 4, 32^0x11011, 20, 4^0x0) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x11011, 24, 4^0x0) == 32^0x11011, "set_slice_bits(32, 4, 32^0x11011, 24, 4^0x0) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x11011, 28, 4^0x0) == 32^0x11011, "set_slice_bits(32, 4, 32^0x11011, 28, 4^0x0) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x11011, 4, 4^0x1) == 32^0x11011, "set_slice_bits(32, 4, 32^0x11011, 4, 4^0x1) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x11011, 8, 4^0x0) == 32^0x11011, "set_slice_bits(32, 4, 32^0x11011, 8, 4^0x0) == 32^0x11011"); + assert(set_slice_bits(32, 4, 32^0x1105, 16, 4^0x0) == 32^0x1105, "set_slice_bits(32, 4, 32^0x1105, 16, 4^0x0) == 32^0x1105"); + assert(set_slice_bits(32, 4, 32^0x1105, 20, 4^0x1) == 32^0x101105, "set_slice_bits(32, 4, 32^0x1105, 20, 4^0x1) == 32^0x101105"); + assert(set_slice_bits(32, 4, 32^0x111, 12, 4^0x1) == 32^0x1111, "set_slice_bits(32, 4, 32^0x111, 12, 4^0x1) == 32^0x1111"); + assert(set_slice_bits(32, 4, 32^0x111, 12, 4^0x2) == 32^0x2111, "set_slice_bits(32, 4, 32^0x111, 12, 4^0x2) == 32^0x2111"); + assert(set_slice_bits(32, 4, 32^0x1110, 16, 4^0x0) == 32^0x1110, "set_slice_bits(32, 4, 32^0x1110, 16, 4^0x0) == 32^0x1110"); + assert(set_slice_bits(32, 4, 32^0x1110, 20, 4^0x1) == 32^0x101110, "set_slice_bits(32, 4, 32^0x1110, 20, 4^0x1) == 32^0x101110"); + assert(set_slice_bits(32, 4, 32^0x1111, 16, 4^0x1) == 32^0x11111, "set_slice_bits(32, 4, 32^0x1111, 16, 4^0x1) == 32^0x11111"); + assert(set_slice_bits(32, 4, 32^0x11111, 20, 4^0x1) == 32^0x111111, "set_slice_bits(32, 4, 32^0x11111, 20, 4^0x1) == 32^0x111111"); + assert(set_slice_bits(32, 4, 32^0x111111, 24, 4^0x2) == 32^0x2111111, "set_slice_bits(32, 4, 32^0x111111, 24, 4^0x2) == 32^0x2111111"); + assert(set_slice_bits(32, 4, 32^0x11121, 24, 4^0x1) == 32^0x1011121, "set_slice_bits(32, 4, 32^0x11121, 24, 4^0x1) == 32^0x1011121"); + assert(set_slice_bits(32, 4, 32^0x1112131, 0, 4^0x1) == 32^0x1112131, "set_slice_bits(32, 4, 32^0x1112131, 0, 4^0x1) == 32^0x1112131"); + assert(set_slice_bits(32, 4, 32^0x1112131, 12, 4^0x2) == 32^0x1112131, "set_slice_bits(32, 4, 32^0x1112131, 12, 4^0x2) == 32^0x1112131"); + assert(set_slice_bits(32, 4, 32^0x1112131, 16, 4^0x1) == 32^0x1112131, "set_slice_bits(32, 4, 32^0x1112131, 16, 4^0x1) == 32^0x1112131"); + assert(set_slice_bits(32, 4, 32^0x1112131, 20, 4^0x1) == 32^0x1112131, "set_slice_bits(32, 4, 32^0x1112131, 20, 4^0x1) == 32^0x1112131"); + assert(set_slice_bits(32, 4, 32^0x1112131, 24, 4^0x1) == 32^0x1112131, "set_slice_bits(32, 4, 32^0x1112131, 24, 4^0x1) == 32^0x1112131"); + assert(set_slice_bits(32, 4, 32^0x1112131, 28, 4^0x0) == 32^0x1112131, "set_slice_bits(32, 4, 32^0x1112131, 28, 4^0x0) == 32^0x1112131"); + assert(set_slice_bits(32, 4, 32^0x1112131, 4, 4^0x3) == 32^0x1112131, "set_slice_bits(32, 4, 32^0x1112131, 4, 4^0x3) == 32^0x1112131"); + assert(set_slice_bits(32, 4, 32^0x1112131, 8, 4^0x1) == 32^0x1112131, "set_slice_bits(32, 4, 32^0x1112131, 8, 4^0x1) == 32^0x1112131"); + assert(set_slice_bits(32, 4, 32^0x111222, 24, 4^0x0) == 32^0x111222, "set_slice_bits(32, 4, 32^0x111222, 24, 4^0x0) == 32^0x111222"); + assert(set_slice_bits(32, 4, 32^0x111222, 28, 4^0x1) == 32^0x10111222, "set_slice_bits(32, 4, 32^0x111222, 28, 4^0x1) == 32^0x10111222"); + assert(set_slice_bits(32, 4, 32^0x11142, 0, 4^0x2) == 32^0x11142, "set_slice_bits(32, 4, 32^0x11142, 0, 4^0x2) == 32^0x11142"); + assert(set_slice_bits(32, 4, 32^0x11142, 12, 4^0x1) == 32^0x11142, "set_slice_bits(32, 4, 32^0x11142, 12, 4^0x1) == 32^0x11142"); + assert(set_slice_bits(32, 4, 32^0x11142, 16, 4^0x1) == 32^0x11142, "set_slice_bits(32, 4, 32^0x11142, 16, 4^0x1) == 32^0x11142"); + assert(set_slice_bits(32, 4, 32^0x11142, 20, 4^0x0) == 32^0x11142, "set_slice_bits(32, 4, 32^0x11142, 20, 4^0x0) == 32^0x11142"); + assert(set_slice_bits(32, 4, 32^0x11142, 24, 4^0x0) == 32^0x11142, "set_slice_bits(32, 4, 32^0x11142, 24, 4^0x0) == 32^0x11142"); + assert(set_slice_bits(32, 4, 32^0x11142, 28, 4^0x0) == 32^0x11142, "set_slice_bits(32, 4, 32^0x11142, 28, 4^0x0) == 32^0x11142"); + assert(set_slice_bits(32, 4, 32^0x11142, 4, 4^0x4) == 32^0x11142, "set_slice_bits(32, 4, 32^0x11142, 4, 4^0x4) == 32^0x11142"); + assert(set_slice_bits(32, 4, 32^0x11142, 8, 4^0x1) == 32^0x11142, "set_slice_bits(32, 4, 32^0x11142, 8, 4^0x1) == 32^0x11142"); + assert(set_slice_bits(32, 4, 32^0x11169000, 16, 4^0x6) == 32^0x11169000, "set_slice_bits(32, 4, 32^0x11169000, 16, 4^0x6) == 32^0x11169000"); + assert(set_slice_bits(32, 4, 32^0x11169000, 20, 4^0x1) == 32^0x11169000, "set_slice_bits(32, 4, 32^0x11169000, 20, 4^0x1) == 32^0x11169000"); + assert(set_slice_bits(32, 4, 32^0x11169000, 24, 4^0x1) == 32^0x11169000, "set_slice_bits(32, 4, 32^0x11169000, 24, 4^0x1) == 32^0x11169000"); + assert(set_slice_bits(32, 4, 32^0x11169000, 28, 4^0x1) == 32^0x11169000, "set_slice_bits(32, 4, 32^0x11169000, 28, 4^0x1) == 32^0x11169000"); + assert(set_slice_bits(32, 4, 32^0x1121, 0, 4^0x1) == 32^0x1121, "set_slice_bits(32, 4, 32^0x1121, 0, 4^0x1) == 32^0x1121"); + assert(set_slice_bits(32, 4, 32^0x1121, 12, 4^0x1) == 32^0x1121, "set_slice_bits(32, 4, 32^0x1121, 12, 4^0x1) == 32^0x1121"); + assert(set_slice_bits(32, 4, 32^0x1121, 16, 4^0x0) == 32^0x1121, "set_slice_bits(32, 4, 32^0x1121, 16, 4^0x0) == 32^0x1121"); + assert(set_slice_bits(32, 4, 32^0x1121, 16, 4^0x1) == 32^0x11121, "set_slice_bits(32, 4, 32^0x1121, 16, 4^0x1) == 32^0x11121"); + assert(set_slice_bits(32, 4, 32^0x1121, 20, 4^0x0) == 32^0x1121, "set_slice_bits(32, 4, 32^0x1121, 20, 4^0x0) == 32^0x1121"); + assert(set_slice_bits(32, 4, 32^0x1121, 24, 4^0x0) == 32^0x1121, "set_slice_bits(32, 4, 32^0x1121, 24, 4^0x0) == 32^0x1121"); + assert(set_slice_bits(32, 4, 32^0x1121, 28, 4^0x0) == 32^0x1121, "set_slice_bits(32, 4, 32^0x1121, 28, 4^0x0) == 32^0x1121"); + assert(set_slice_bits(32, 4, 32^0x1121, 4, 4^0x2) == 32^0x1121, "set_slice_bits(32, 4, 32^0x1121, 4, 4^0x2) == 32^0x1121"); + assert(set_slice_bits(32, 4, 32^0x1121, 8, 4^0x1) == 32^0x1121, "set_slice_bits(32, 4, 32^0x1121, 8, 4^0x1) == 32^0x1121"); + assert(set_slice_bits(32, 4, 32^0x112111, 24, 4^0x3) == 32^0x3112111, "set_slice_bits(32, 4, 32^0x112111, 24, 4^0x3) == 32^0x3112111"); + assert(set_slice_bits(32, 9, undefined, 0, 9^0x0) == 32^0x0, "set_slice_bits(32, 9, undefined, 0, 9^0x0) == 32^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 0, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 0, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 1, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 1, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 11, 1^0x1) == 64^0x800, "set_slice_bits(64, 1, 64^0x0, 11, 1^0x1) == 64^0x800"); + assert(set_slice_bits(64, 1, 64^0x0, 12, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 12, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 13, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 13, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 14, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 14, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 15, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 15, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 16, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 16, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 17, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 17, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 18, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 18, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 19, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 19, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 2, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 2, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 20, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 20, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 21, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 21, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 22, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 22, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 23, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 23, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 23, 1^0x1) == 64^0x800000, "set_slice_bits(64, 1, 64^0x0, 23, 1^0x1) == 64^0x800000"); + assert(set_slice_bits(64, 1, 64^0x0, 24, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 24, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 25, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 25, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 26, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 26, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 27, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 27, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 28, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 28, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 29, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 29, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 3, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 3, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 30, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 30, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 31, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 31, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 31, 1^0x1) == 64^0x80000000, "set_slice_bits(64, 1, 64^0x0, 31, 1^0x1) == 64^0x80000000"); + assert(set_slice_bits(64, 1, 64^0x0, 32, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 32, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 33, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 33, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 36, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 36, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 37, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 37, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 38, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 38, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 4, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 4, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 41, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 41, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 42, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 42, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 43, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 43, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 44, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 44, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 45, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 45, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 46, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 46, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 47, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 47, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 48, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 48, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 49, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 49, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 5, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 5, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 50, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 50, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 1, 64^0x0, 52, 1^0x0) == 64^0x0, "set_slice_bits(64, 1, 64^0x0, 52, 1^0x0) == 64^0x0"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x1d) == 64^0x1d, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x1d) == 64^0x1d"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x1e) == 64^0x1e, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x1e) == 64^0x1e"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x1f) == 64^0x1f, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x1f) == 64^0x1f"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x2) == 64^0x2, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x2) == 64^0x2"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x20) == 64^0x20, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x20) == 64^0x20"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x200) == 64^0x200, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x200) == 64^0x200"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x2100) == 64^0x2100, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x2100) == 64^0x2100"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x2200) == 64^0x2200, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x2200) == 64^0x2200"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x2300) == 64^0x2300, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x2300) == 64^0x2300"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x24) == 64^0x24, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x24) == 64^0x24"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x270) == 64^0x270, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x270) == 64^0x270"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x288) == 64^0x288, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x288) == 64^0x288"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x2f) == 64^0x2f, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x2f) == 64^0x2f"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0x3) == 64^0x3, "set_slice_bits(64, 16, 64^0x0, 0, 16^0x3) == 64^0x3"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xd) == 64^0xd, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xd) == 64^0xd"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xe) == 64^0xe, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xe) == 64^0xe"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xe0) == 64^0xe0, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xe0) == 64^0xe0"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xee) == 64^0xee, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xee) == 64^0xee"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xf) == 64^0xf, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xf) == 64^0xf"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xff) == 64^0xff, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xff) == 64^0xff"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xfff) == 64^0xfff, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xfff) == 64^0xfff"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xfffa) == 64^0xfffa, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xfffa) == 64^0xfffa"); + assert(set_slice_bits(64, 16, 64^0x0, 0, 16^0xffff) == 64^0xffff, "set_slice_bits(64, 16, 64^0x0, 0, 16^0xffff) == 64^0xffff"); + assert(set_slice_bits(64, 16, 64^0x0, 16, 16^0x0) == 64^0x0, "set_slice_bits(64, 16, 64^0x0, 16, 16^0x0) == 64^0x0"); + assert(set_slice_bits(64, 16, 64^0x0, 16, 16^0x10) == 64^0x100000, "set_slice_bits(64, 16, 64^0x0, 16, 16^0x10) == 64^0x100000"); + assert(set_slice_bits(64, 16, 64^0x0, 16, 16^0x2e0) == 64^0x2e00000, "set_slice_bits(64, 16, 64^0x0, 16, 16^0x2e0) == 64^0x2e00000"); + assert(set_slice_bits(64, 16, 64^0x0, 16, 16^0x800) == 64^0x8000000, "set_slice_bits(64, 16, 64^0x0, 16, 16^0x800) == 64^0x8000000"); + assert(set_slice_bits(64, 16, 64^0x0, 32, 16^0x0) == 64^0x0, "set_slice_bits(64, 16, 64^0x0, 32, 16^0x0) == 64^0x0"); + assert(set_slice_bits(64, 16, 64^0x0, 40, 16^0x0) == 64^0x0, "set_slice_bits(64, 16, 64^0x0, 40, 16^0x0) == 64^0x0"); + assert(set_slice_bits(64, 16, 64^0x0, 48, 16^0x0) == 64^0x0, "set_slice_bits(64, 16, 64^0x0, 48, 16^0x0) == 64^0x0"); + assert(set_slice_bits(64, 16, 64^0x10, 16, 16^0x0) == 64^0x10, "set_slice_bits(64, 16, 64^0x10, 16, 16^0x0) == 64^0x10"); + assert(set_slice_bits(64, 16, 64^0x10, 32, 16^0x0) == 64^0x10, "set_slice_bits(64, 16, 64^0x10, 32, 16^0x0) == 64^0x10"); + assert(set_slice_bits(64, 16, 64^0x10, 48, 16^0x0) == 64^0x10, "set_slice_bits(64, 16, 64^0x10, 48, 16^0x0) == 64^0x10"); + assert(set_slice_bits(64, 2, 64^0x0, 34, 2^0x0) == 64^0x0, "set_slice_bits(64, 2, 64^0x0, 34, 2^0x0) == 64^0x0"); + assert(set_slice_bits(64, 2, 64^0x0, 8, 2^0x0) == 64^0x0, "set_slice_bits(64, 2, 64^0x0, 8, 2^0x0) == 64^0x0"); + assert(set_slice_bits(64, 20, 64^0x0, 44, 20^0x0) == 64^0x0, "set_slice_bits(64, 20, 64^0x0, 44, 20^0x0) == 64^0x0"); + assert(set_slice_bits(64, 21, 64^0xa200023, 0, 21^0x23) == 64^0xa200023, "set_slice_bits(64, 21, 64^0xa200023, 0, 21^0x23) == 64^0xa200023"); + assert(set_slice_bits(64, 21, undefined, 0, 21^0x23) == 64^0x23, "set_slice_bits(64, 21, undefined, 0, 21^0x23) == 64^0x23"); + assert(set_slice_bits(64, 24, 64^0x0, 32, 24^0x0) == 64^0x0, "set_slice_bits(64, 24, 64^0x0, 32, 24^0x0) == 64^0x0"); + assert(set_slice_bits(64, 24, 64^0x80000000, 40, 24^0x0) == 64^0x80000000, "set_slice_bits(64, 24, 64^0x80000000, 40, 24^0x0) == 64^0x80000000"); + assert(set_slice_bits(64, 25, 64^0x0, 39, 25^0x0) == 64^0x0, "set_slice_bits(64, 25, 64^0x0, 39, 25^0x0) == 64^0x0"); + assert(set_slice_bits(64, 25, 64^0x0, 6, 25^0x0) == 64^0x0, "set_slice_bits(64, 25, 64^0x0, 6, 25^0x0) == 64^0x0"); + assert(set_slice_bits(64, 26, 64^0x0, 38, 26^0x0) == 64^0x0, "set_slice_bits(64, 26, 64^0x0, 38, 26^0x0) == 64^0x0"); + assert(set_slice_bits(64, 28, 64^0x0, 36, 28^0x0) == 64^0x0, "set_slice_bits(64, 28, 64^0x0, 36, 28^0x0) == 64^0x0"); + assert(set_slice_bits(64, 28, 64^0x10101106, 36, 28^0x0) == 64^0x10101106, "set_slice_bits(64, 28, 64^0x10101106, 36, 28^0x0) == 64^0x10101106"); + assert(set_slice_bits(64, 28, 64^0x2222, 36, 28^0x0) == 64^0x2222, "set_slice_bits(64, 28, 64^0x2222, 36, 28^0x0) == 64^0x2222"); + assert(set_slice_bits(64, 3, 64^0x0, 3, 3^0x0) == 64^0x0, "set_slice_bits(64, 3, 64^0x0, 3, 3^0x0) == 64^0x0"); + assert(set_slice_bits(64, 3, 64^0x0, 53, 3^0x0) == 64^0x0, "set_slice_bits(64, 3, 64^0x0, 53, 3^0x0) == 64^0x0"); + assert(set_slice_bits(64, 3, 64^0x0, 56, 3^0x0) == 64^0x0, "set_slice_bits(64, 3, 64^0x0, 56, 3^0x0) == 64^0x0"); + assert(set_slice_bits(64, 3, 64^0x0, 59, 3^0x0) == 64^0x0, "set_slice_bits(64, 3, 64^0x0, 59, 3^0x0) == 64^0x0"); + assert(set_slice_bits(64, 3, 64^0x200023, 24, 3^0x2) == 64^0x2200023, "set_slice_bits(64, 3, 64^0x200023, 24, 3^0x2) == 64^0x2200023"); + assert(set_slice_bits(64, 3, 64^0x2200023, 27, 3^0x1) == 64^0xa200023, "set_slice_bits(64, 3, 64^0x2200023, 27, 3^0x1) == 64^0xa200023"); + assert(set_slice_bits(64, 3, 64^0x23, 21, 3^0x1) == 64^0x200023, "set_slice_bits(64, 3, 64^0x23, 21, 3^0x1) == 64^0x200023"); + assert(set_slice_bits(64, 3, 64^0xa200023, 21, 3^0x1) == 64^0xa200023, "set_slice_bits(64, 3, 64^0xa200023, 21, 3^0x1) == 64^0xa200023"); + assert(set_slice_bits(64, 3, 64^0xa200023, 24, 3^0x2) == 64^0xa200023, "set_slice_bits(64, 3, 64^0xa200023, 24, 3^0x2) == 64^0xa200023"); + assert(set_slice_bits(64, 3, 64^0xa200023, 27, 3^0x1) == 64^0xa200023, "set_slice_bits(64, 3, 64^0xa200023, 27, 3^0x1) == 64^0xa200023"); + assert(set_slice_bits(64, 3, 64^0xa200023, 30, 3^0x0) == 64^0xa200023, "set_slice_bits(64, 3, 64^0xa200023, 30, 3^0x0) == 64^0xa200023"); + assert(set_slice_bits(64, 3, undefined, 3, 3^0x0) == 64^0x0, "set_slice_bits(64, 3, undefined, 3, 3^0x0) == 64^0x0"); + assert(set_slice_bits(64, 31, 64^0xa200023, 33, 31^0x0) == 64^0xa200023, "set_slice_bits(64, 31, 64^0xa200023, 33, 31^0x0) == 64^0xa200023"); + assert(set_slice_bits(64, 32, 64^0x0, 0, 32^0x0) == 64^0x0, "set_slice_bits(64, 32, 64^0x0, 0, 32^0x0) == 64^0x0"); + assert(set_slice_bits(64, 32, 64^0x0, 32, 32^0x0) == 64^0x0, "set_slice_bits(64, 32, 64^0x0, 32, 32^0x0) == 64^0x0"); + assert(set_slice_bits(64, 32, 64^0x1125, 32, 32^0x0) == 64^0x1125, "set_slice_bits(64, 32, 64^0x1125, 32, 32^0x0) == 64^0x1125"); + assert(set_slice_bits(64, 32, 64^0x80800000, 32, 32^0x0) == 64^0x80800000, "set_slice_bits(64, 32, 64^0x80800000, 32, 32^0x0) == 64^0x80800000"); + assert(set_slice_bits(64, 32, undefined, 0, 32^0x0) == 64^0x0, "set_slice_bits(64, 32, undefined, 0, 32^0x0) == 64^0x0"); + assert(set_slice_bits(64, 36, 64^0x0, 12, 36^0x0) == 64^0x0, "set_slice_bits(64, 36, 64^0x0, 12, 36^0x0) == 64^0x0"); + assert(set_slice_bits(64, 36, 64^0x0, 28, 36^0x0) == 64^0x0, "set_slice_bits(64, 36, 64^0x0, 28, 36^0x0) == 64^0x0"); + assert(set_slice_bits(64, 36, 64^0x800, 12, 36^0x0) == 64^0x800, "set_slice_bits(64, 36, 64^0x800, 12, 36^0x0) == 64^0x800"); + assert(set_slice_bits(64, 4, 64^0x0, 0, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 0, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 0, 4^0x1) == 64^0x1, "set_slice_bits(64, 4, 64^0x0, 0, 4^0x1) == 64^0x1"); + assert(set_slice_bits(64, 4, 64^0x0, 1, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 1, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 12, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 12, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 16, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 16, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 20, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 20, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 20, 4^0x1) == 64^0x100000, "set_slice_bits(64, 4, 64^0x0, 20, 4^0x1) == 64^0x100000"); + assert(set_slice_bits(64, 4, 64^0x0, 24, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 24, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 28, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 28, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 32, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 32, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 4, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 4, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 4, 4^0x2) == 64^0x20, "set_slice_bits(64, 4, 64^0x0, 4, 4^0x2) == 64^0x20"); + assert(set_slice_bits(64, 4, 64^0x0, 40, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 40, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 48, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 48, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 7, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 7, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x0, 8, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, 64^0x0, 8, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, 64^0x1, 4, 4^0x1) == 64^0x11, "set_slice_bits(64, 4, 64^0x1, 4, 4^0x1) == 64^0x11"); + assert(set_slice_bits(64, 4, 64^0x100000, 16, 4^0x1) == 64^0x110000, "set_slice_bits(64, 4, 64^0x100000, 16, 4^0x1) == 64^0x110000"); + assert(set_slice_bits(64, 4, 64^0x1000011, 12, 4^0x1) == 64^0x1001011, "set_slice_bits(64, 4, 64^0x1000011, 12, 4^0x1) == 64^0x1001011"); + assert(set_slice_bits(64, 4, 64^0x1000011, 28, 4^0x0) == 64^0x1000011, "set_slice_bits(64, 4, 64^0x1000011, 28, 4^0x0) == 64^0x1000011"); + assert(set_slice_bits(64, 4, 64^0x1001011, 20, 4^0x1) == 64^0x1101011, "set_slice_bits(64, 4, 64^0x1001011, 20, 4^0x1) == 64^0x1101011"); + assert(set_slice_bits(64, 4, 64^0x10101106, 0, 4^0x6) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 0, 4^0x6) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10101106, 12, 4^0x1) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 12, 4^0x1) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10101106, 16, 4^0x0) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 16, 4^0x0) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10101106, 20, 4^0x1) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 20, 4^0x1) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10101106, 24, 4^0x0) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 24, 4^0x0) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10101106, 28, 4^0x1) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 28, 4^0x1) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10101106, 32, 4^0x0) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 32, 4^0x0) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10101106, 4, 4^0x0) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 4, 4^0x0) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10101106, 8, 4^0x1) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x10101106, 8, 4^0x1) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x101106, 24, 4^0x0) == 64^0x101106, "set_slice_bits(64, 4, 64^0x101106, 24, 4^0x0) == 64^0x101106"); + assert(set_slice_bits(64, 4, 64^0x101106, 28, 4^0x1) == 64^0x10101106, "set_slice_bits(64, 4, 64^0x101106, 28, 4^0x1) == 64^0x10101106"); + assert(set_slice_bits(64, 4, 64^0x10111, 12, 4^0x1) == 64^0x11111, "set_slice_bits(64, 4, 64^0x10111, 12, 4^0x1) == 64^0x11111"); + assert(set_slice_bits(64, 4, 64^0x10111122, 0, 4^0x2) == 64^0x10111122, "set_slice_bits(64, 4, 64^0x10111122, 0, 4^0x2) == 64^0x10111122"); + assert(set_slice_bits(64, 4, 64^0x10111122, 12, 4^0x2) == 64^0x10112122, "set_slice_bits(64, 4, 64^0x10111122, 12, 4^0x2) == 64^0x10112122"); + assert(set_slice_bits(64, 4, 64^0x10111122, 28, 4^0x1) == 64^0x10111122, "set_slice_bits(64, 4, 64^0x10111122, 28, 4^0x1) == 64^0x10111122"); + assert(set_slice_bits(64, 4, 64^0x10111122, 4, 4^0x2) == 64^0x10111122, "set_slice_bits(64, 4, 64^0x10111122, 4, 4^0x2) == 64^0x10111122"); + assert(set_slice_bits(64, 4, 64^0x10111122, 8, 4^0x1) == 64^0x10111122, "set_slice_bits(64, 4, 64^0x10111122, 8, 4^0x1) == 64^0x10111122"); + assert(set_slice_bits(64, 4, 64^0x10112122, 12, 4^0x1) == 64^0x10111122, "set_slice_bits(64, 4, 64^0x10112122, 12, 4^0x1) == 64^0x10111122"); + assert(set_slice_bits(64, 4, 64^0x10112122, 16, 4^0x1) == 64^0x10112122, "set_slice_bits(64, 4, 64^0x10112122, 16, 4^0x1) == 64^0x10112122"); + assert(set_slice_bits(64, 4, 64^0x10112122, 20, 4^0x2) == 64^0x10212122, "set_slice_bits(64, 4, 64^0x10112122, 20, 4^0x2) == 64^0x10212122"); + assert(set_slice_bits(64, 4, 64^0x10211120, 16, 4^0x1) == 64^0x10211120, "set_slice_bits(64, 4, 64^0x10211120, 16, 4^0x1) == 64^0x10211120"); + assert(set_slice_bits(64, 4, 64^0x10211120, 20, 4^0x2) == 64^0x10211120, "set_slice_bits(64, 4, 64^0x10211120, 20, 4^0x2) == 64^0x10211120"); + assert(set_slice_bits(64, 4, 64^0x10211120, 28, 4^0x1) == 64^0x10211120, "set_slice_bits(64, 4, 64^0x10211120, 28, 4^0x1) == 64^0x10211120"); + assert(set_slice_bits(64, 4, 64^0x10212122, 20, 4^0x1) == 64^0x10112122, "set_slice_bits(64, 4, 64^0x10212122, 20, 4^0x1) == 64^0x10112122"); + assert(set_slice_bits(64, 4, 64^0x106, 12, 4^0x1) == 64^0x1106, "set_slice_bits(64, 4, 64^0x106, 12, 4^0x1) == 64^0x1106"); + assert(set_slice_bits(64, 4, 64^0x11, 24, 4^0x1) == 64^0x1000011, "set_slice_bits(64, 4, 64^0x11, 24, 4^0x1) == 64^0x1000011"); + assert(set_slice_bits(64, 4, 64^0x11, 8, 4^0x0) == 64^0x11, "set_slice_bits(64, 4, 64^0x11, 8, 4^0x0) == 64^0x11"); + assert(set_slice_bits(64, 4, 64^0x11, 8, 4^0x1) == 64^0x111, "set_slice_bits(64, 4, 64^0x11, 8, 4^0x1) == 64^0x111"); + assert(set_slice_bits(64, 4, 64^0x1125, 24, 4^0x0) == 64^0x1125, "set_slice_bits(64, 4, 64^0x1125, 24, 4^0x0) == 64^0x1125"); + assert(set_slice_bits(64, 4, 64^0x1125, 28, 4^0x0) == 64^0x1125, "set_slice_bits(64, 4, 64^0x1125, 28, 4^0x0) == 64^0x1125"); + assert(set_slice_bits(64, 4, 64^0x1125, 4, 4^0x2) == 64^0x1125, "set_slice_bits(64, 4, 64^0x1125, 4, 4^0x2) == 64^0x1125"); + assert(set_slice_bits(64, 4, 64^0x1125, 8, 4^0x1) == 64^0x1125, "set_slice_bits(64, 4, 64^0x1125, 8, 4^0x1) == 64^0x1125"); + assert(set_slice_bits(64, 4, 64^0x1126, 0, 4^0x6) == 64^0x1126, "set_slice_bits(64, 4, 64^0x1126, 0, 4^0x6) == 64^0x1126"); + assert(set_slice_bits(64, 4, 64^0x120, 12, 4^0x1) == 64^0x1120, "set_slice_bits(64, 4, 64^0x120, 12, 4^0x1) == 64^0x1120"); + assert(set_slice_bits(64, 4, 64^0x12222, 20, 4^0x1) == 64^0x112222, "set_slice_bits(64, 4, 64^0x12222, 20, 4^0x1) == 64^0x112222"); + assert(set_slice_bits(64, 4, 64^0x125, 12, 4^0x1) == 64^0x1125, "set_slice_bits(64, 4, 64^0x125, 12, 4^0x1) == 64^0x1125"); + assert(set_slice_bits(64, 4, 64^0x20, 8, 4^0x1) == 64^0x120, "set_slice_bits(64, 4, 64^0x20, 8, 4^0x1) == 64^0x120"); + assert(set_slice_bits(64, 4, 64^0x2000, 8, 4^0x2) == 64^0x2200, "set_slice_bits(64, 4, 64^0x2000, 8, 4^0x2) == 64^0x2200"); + assert(set_slice_bits(64, 4, 64^0x211120, 28, 4^0x1) == 64^0x10211120, "set_slice_bits(64, 4, 64^0x211120, 28, 4^0x1) == 64^0x10211120"); + assert(set_slice_bits(64, 4, 64^0x2200, 4, 4^0x2) == 64^0x2220, "set_slice_bits(64, 4, 64^0x2200, 4, 4^0x2) == 64^0x2220"); + assert(set_slice_bits(64, 4, 64^0x2220, 0, 4^0x2) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2220, 0, 4^0x2) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 0, 4^0x2) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 0, 4^0x2) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 12, 4^0x2) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 12, 4^0x2) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 16, 4^0x0) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 16, 4^0x0) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 16, 4^0x1) == 64^0x12222, "set_slice_bits(64, 4, 64^0x2222, 16, 4^0x1) == 64^0x12222"); + assert(set_slice_bits(64, 4, 64^0x2222, 20, 4^0x0) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 20, 4^0x0) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 24, 4^0x0) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 24, 4^0x0) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 28, 4^0x0) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 28, 4^0x0) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 32, 4^0x0) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 32, 4^0x0) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 4, 4^0x2) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 4, 4^0x2) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x2222, 8, 4^0x2) == 64^0x2222, "set_slice_bits(64, 4, 64^0x2222, 8, 4^0x2) == 64^0x2222"); + assert(set_slice_bits(64, 4, 64^0x25, 8, 4^0x1) == 64^0x125, "set_slice_bits(64, 4, 64^0x25, 8, 4^0x1) == 64^0x125"); + assert(set_slice_bits(64, 4, 64^0x5, 4, 4^0x2) == 64^0x25, "set_slice_bits(64, 4, 64^0x5, 4, 4^0x2) == 64^0x25"); + assert(set_slice_bits(64, 4, 64^0x6, 4, 4^0x0) == 64^0x6, "set_slice_bits(64, 4, 64^0x6, 4, 4^0x0) == 64^0x6"); + assert(set_slice_bits(64, 4, 64^0x6, 8, 4^0x1) == 64^0x106, "set_slice_bits(64, 4, 64^0x6, 8, 4^0x1) == 64^0x106"); + assert(set_slice_bits(64, 4, 64^0x800, 7, 4^0x0) == 64^0x800, "set_slice_bits(64, 4, 64^0x800, 7, 4^0x0) == 64^0x800"); + assert(set_slice_bits(64, 4, undefined, 0, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, undefined, 0, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 4, undefined, 0, 4^0x5) == 64^0x5, "set_slice_bits(64, 4, undefined, 0, 4^0x5) == 64^0x5"); + assert(set_slice_bits(64, 4, undefined, 0, 4^0x6) == 64^0x6, "set_slice_bits(64, 4, undefined, 0, 4^0x6) == 64^0x6"); + assert(set_slice_bits(64, 4, undefined, 12, 4^0x2) == 64^0x2000, "set_slice_bits(64, 4, undefined, 12, 4^0x2) == 64^0x2000"); + assert(set_slice_bits(64, 4, undefined, 20, 4^0x0) == 64^0x0, "set_slice_bits(64, 4, undefined, 20, 4^0x0) == 64^0x0"); + assert(set_slice_bits(64, 40, 64^0x0, 12, 40^0x0) == 64^0x0, "set_slice_bits(64, 40, 64^0x0, 12, 40^0x0) == 64^0x0"); + assert(set_slice_bits(64, 40, 64^0x0, 24, 40^0x0) == 64^0x0, "set_slice_bits(64, 40, 64^0x0, 24, 40^0x0) == 64^0x0"); + assert(set_slice_bits(64, 44, 64^0x0, 20, 44^0x0) == 64^0x0, "set_slice_bits(64, 44, 64^0x0, 20, 44^0x0) == 64^0x0"); + assert(set_slice_bits(64, 48, 64^0x0, 0, 48^0x0) == 64^0x0, "set_slice_bits(64, 48, 64^0x0, 0, 48^0x0) == 64^0x0"); + assert(set_slice_bits(64, 48, 64^0x0, 16, 48^0x0) == 64^0x0, "set_slice_bits(64, 48, 64^0x0, 16, 48^0x0) == 64^0x0"); + assert(set_slice_bits(64, 48, undefined, 0, 48^0x0) == 64^0x0, "set_slice_bits(64, 48, undefined, 0, 48^0x0) == 64^0x0"); + assert(set_slice_bits(64, 5, 64^0x0, 13, 5^0x0) == 64^0x0, "set_slice_bits(64, 5, 64^0x0, 13, 5^0x0) == 64^0x0"); + assert(set_slice_bits(64, 5, 64^0x0, 25, 5^0x0) == 64^0x0, "set_slice_bits(64, 5, 64^0x0, 25, 5^0x0) == 64^0x0"); + assert(set_slice_bits(64, 8, 64^0x0, 16, 8^0x0) == 64^0x0, "set_slice_bits(64, 8, 64^0x0, 16, 8^0x0) == 64^0x0"); + assert(set_slice_bits(64, 8, 64^0x0, 24, 8^0x0) == 64^0x0, "set_slice_bits(64, 8, 64^0x0, 24, 8^0x0) == 64^0x0"); + assert(set_slice_bits(64, 8, 64^0x0, 56, 8^0x0) == 64^0x0, "set_slice_bits(64, 8, 64^0x0, 56, 8^0x0) == 64^0x0"); + assert(set_slice_bits(64, 8, 64^0x0, 8, 8^0x0) == 64^0x0, "set_slice_bits(64, 8, 64^0x0, 8, 8^0x0) == 64^0x0"); + assert(set_slice_bits(64, 8, 64^0x80000000, 0, 8^0x0) == 64^0x80000000, "set_slice_bits(64, 8, 64^0x80000000, 0, 8^0x0) == 64^0x80000000"); + assert(set_slice_bits(64, 8, 64^0x80000000, 16, 8^0x0) == 64^0x80000000, "set_slice_bits(64, 8, 64^0x80000000, 16, 8^0x0) == 64^0x80000000"); + assert(set_slice_bits(64, 8, 64^0x80000000, 32, 8^0x0) == 64^0x80000000, "set_slice_bits(64, 8, 64^0x80000000, 32, 8^0x0) == 64^0x80000000"); + assert(set_slice_bits(64, 8, 64^0x80000000, 8, 8^0x0) == 64^0x80000000, "set_slice_bits(64, 8, 64^0x80000000, 8, 8^0x0) == 64^0x80000000"); + assert(set_slice_bits(64, 8, undefined, 0, 8^0x0) == 64^0x0, "set_slice_bits(64, 8, undefined, 0, 8^0x0) == 64^0x0"); + assert(set_slice_bits(64, 9, 64^0x0, 14, 9^0x0) == 64^0x0, "set_slice_bits(64, 9, 64^0x0, 14, 9^0x0) == 64^0x0"); + assert(set_slice_bits(64, 9, 64^0x0, 32, 9^0x0) == 64^0x0, "set_slice_bits(64, 9, 64^0x0, 32, 9^0x0) == 64^0x0"); + assert(set_slice_bits(64, 9, 64^0x80800000, 14, 9^0x0) == 64^0x80800000, "set_slice_bits(64, 9, 64^0x80800000, 14, 9^0x0) == 64^0x80800000"); +}
\ No newline at end of file diff --git a/test/builtins/shl_int.sail b/test/builtins/shl_int.sail new file mode 100644 index 00000000..c65baefc --- /dev/null +++ b/test/builtins/shl_int.sail @@ -0,0 +1,18 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> +$include <arith.sail> + +function main (() : unit) -> unit = { + assert(shl_int(1, 10) == 1024); + assert(shl_int(1, 2) == 4); + assert(shl_int(1, 3) == 8); + assert(shl_int(1, 4) == 16); + assert(shl_int(1, 5) == 32); + assert(shl_int(1, 6) == 64); + assert(shl_int(8, 0) == 8); + assert(shl_int(8, 2) == 32); + assert(shl_int(8, 3) == 64); +}
\ No newline at end of file diff --git a/test/builtins/signed.sail b/test/builtins/signed.sail new file mode 100644 index 00000000..7b9160f7 --- /dev/null +++ b/test/builtins/signed.sail @@ -0,0 +1,1707 @@ +default Order dec + +$include <exception_basic.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(signed(zero_extend(0x0, 32)) == 0); + assert(signed(zero_extend(0x1, 32)) == 1); + assert(signed(zero_extend(0x10, 32)) == 16); + assert(signed(zero_extend(0x10000, 32)) == 65536); + assert(signed(zero_extend(0x10001, 32)) == 65537); + assert(signed(zero_extend(0x11, 32)) == 17); + assert(signed(zero_extend(0x11223344, 32)) == 287454020); + assert(signed(zero_extend(0x118, 32)) == 280); + assert(signed(zero_extend(0x12, 32)) == 18); + assert(signed(zero_extend(0x1234, 32)) == 4660); + assert(signed(zero_extend(0x12345678, 32)) == 305419896); + assert(signed(zero_extend(0x13, 32)) == 19); + assert(signed(zero_extend(0x14, 32)) == 20); + assert(signed(zero_extend(0x15, 32)) == 21); + assert(signed(zero_extend(0x16, 32)) == 22); + assert(signed(zero_extend(0x17, 32)) == 23); + assert(signed(zero_extend(0x17ffe, 32)) == 98302); + assert(signed(zero_extend(0x17fff, 32)) == 98303); + assert(signed(zero_extend(0x18, 32)) == 24); + assert(signed(zero_extend(0x18000, 32)) == 98304); + assert(signed(zero_extend(0x19, 32)) == 25); + assert(signed(zero_extend(0x1a, 32)) == 26); + assert(signed(zero_extend(0x1b, 32)) == 27); + assert(signed(zero_extend(0x1c, 32)) == 28); + assert(signed(zero_extend(0x1d, 32)) == 29); + assert(signed(zero_extend(0x1e, 32)) == 30); + assert(signed(zero_extend(0x1f, 32)) == 31); + assert(signed(zero_extend(0x2, 32)) == 2); + assert(signed(zero_extend(0x20, 32)) == 32); + assert(signed(zero_extend(0x20000, 32)) == 131072); + assert(signed(zero_extend(0x21, 32)) == 33); + assert(signed(zero_extend(0x23, 32)) == 35); + assert(signed(zero_extend(0x230, 32)) == 560); + assert(signed(zero_extend(0x25, 32)) == 37); + assert(signed(zero_extend(0x26, 32)) == 38); + assert(signed(zero_extend(0x27, 32)) == 39); + assert(signed(zero_extend(0x28, 32)) == 40); + assert(signed(zero_extend(0x29, 32)) == 41); + assert(signed(zero_extend(0x2a, 32)) == 42); + assert(signed(zero_extend(0x2a0, 32)) == 672); + assert(signed(zero_extend(0x2b, 32)) == 43); + assert(signed(zero_extend(0x2d, 32)) == 45); + assert(signed(zero_extend(0x2e, 32)) == 46); + assert(signed(zero_extend(0x2f, 32)) == 47); + assert(signed(zero_extend(0x3, 32)) == 3); + assert(signed(zero_extend(0x30, 32)) == 48); + assert(signed(zero_extend(0x31, 32)) == 49); + assert(signed(zero_extend(0x32, 32)) == 50); + assert(signed(zero_extend(0x33, 32)) == 51); + assert(signed(zero_extend(0x34, 32)) == 52); + assert(signed(zero_extend(0x35, 32)) == 53); + assert(signed(zero_extend(0x36, 32)) == 54); + assert(signed(zero_extend(0x37, 32)) == 55); + assert(signed(zero_extend(0x38, 32)) == 56); + assert(signed(zero_extend(0x39, 32)) == 57); + assert(signed(zero_extend(0x3a, 32)) == 58); + assert(signed(zero_extend(0x3c, 32)) == 60); + assert(signed(zero_extend(0x3e, 32)) == 62); + assert(signed(zero_extend(0x3f, 32)) == 63); + assert(signed(zero_extend(0x4, 32)) == 4); + assert(signed(zero_extend(0x40, 32)) == 64); + assert(signed(zero_extend(0x41, 32)) == 65); + assert(signed(zero_extend(0x43, 32)) == 67); + assert(signed(zero_extend(0x44, 32)) == 68); + assert(signed(zero_extend(0x45, 32)) == 69); + assert(signed(zero_extend(0x46, 32)) == 70); + assert(signed(zero_extend(0x460, 32)) == 1120); + assert(signed(zero_extend(0x47, 32)) == 71); + assert(signed(zero_extend(0x48, 32)) == 72); + assert(signed(zero_extend(0x4a, 32)) == 74); + assert(signed(zero_extend(0x4b, 32)) == 75); + assert(signed(zero_extend(0x4c, 32)) == 76); + assert(signed(zero_extend(0x4d, 32)) == 77); + assert(signed(zero_extend(0x4e, 32)) == 78); + assert(signed(zero_extend(0x4f, 32)) == 79); + assert(signed(zero_extend(0x5, 32)) == 5); + assert(signed(zero_extend(0x50, 32)) == 80); + assert(signed(zero_extend(0x52, 32)) == 82); + assert(signed(zero_extend(0x53, 32)) == 83); + assert(signed(zero_extend(0x54, 32)) == 84); + assert(signed(zero_extend(0x55, 32)) == 85); + assert(signed(zero_extend(0x5a5a, 32)) == 23130); + assert(signed(zero_extend(0x5a5a5a59, 32)) == 1515870809); + assert(signed(zero_extend(0x5a5a5a5a, 32)) == 1515870810); + assert(signed(zero_extend(0x5f, 32)) == 95); + assert(signed(zero_extend(0x6, 32)) == 6); + assert(signed(zero_extend(0x60000000, 32)) == 1610612736); + assert(signed(zero_extend(0x61, 32)) == 97); + assert(signed(zero_extend(0x62, 32)) == 98); + assert(signed(zero_extend(0x63, 32)) == 99); + assert(signed(zero_extend(0x64, 32)) == 100); + assert(signed(zero_extend(0x65, 32)) == 101); + assert(signed(zero_extend(0x66, 32)) == 102); + assert(signed(zero_extend(0x68, 32)) == 104); + assert(signed(zero_extend(0x69, 32)) == 105); + assert(signed(zero_extend(0x6b7c8d9f, 32)) == 1803324831); + assert(signed(zero_extend(0x6c, 32)) == 108); + assert(signed(zero_extend(0x6d, 32)) == 109); + assert(signed(zero_extend(0x6e, 32)) == 110); + assert(signed(zero_extend(0x6f, 32)) == 111); + assert(signed(zero_extend(0x7, 32)) == 7); + assert(signed(zero_extend(0x70, 32)) == 112); + assert(signed(zero_extend(0x72, 32)) == 114); + assert(signed(zero_extend(0x73, 32)) == 115); + assert(signed(zero_extend(0x74, 32)) == 116); + assert(signed(zero_extend(0x75, 32)) == 117); + assert(signed(zero_extend(0x76, 32)) == 118); + assert(signed(zero_extend(0x764c321, 32)) == 124044065); + assert(signed(zero_extend(0x78, 32)) == 120); + assert(signed(zero_extend(0x7ffe, 32)) == 32766); + assert(signed(zero_extend(0x7fff, 32)) == 32767); + assert(signed(zero_extend(0x7fff7fff, 32)) == 2147450879); + assert(signed(zero_extend(0x7ffffffe, 32)) == 2147483646); + assert(signed(zero_extend(0x7fffffff, 32)) == 2147483647); + assert(signed(zero_extend(0x8, 32)) == 8); + assert(signed(zero_extend(0x8000, 32)) == 32768); + assert(signed(zero_extend(0x80000000, 32)) == -2147483648); + assert(signed(zero_extend(0x80000001, 32)) == -2147483647); + assert(signed(zero_extend(0x80000002, 32)) == -2147483646); + assert(signed(zero_extend(0x80000003, 32)) == -2147483645); + assert(signed(zero_extend(0x80008000, 32)) == -2147450880); + assert(signed(zero_extend(0x8001, 32)) == 32769); + assert(signed(zero_extend(0x8002, 32)) == 32770); + assert(signed(zero_extend(0x8003, 32)) == 32771); + assert(signed(zero_extend(0x87654321, 32)) == -2023406815); + assert(signed(zero_extend(0x8899aabb, 32)) == -2003195205); + assert(signed(zero_extend(0x89ab, 32)) == 35243); + assert(signed(zero_extend(0x8fffffff, 32)) == -1879048193); + assert(signed(zero_extend(0x9, 32)) == 9); + assert(signed(zero_extend(0x90000000, 32)) == -1879048192); + assert(signed(zero_extend(0x90000001, 32)) == -1879048191); + assert(signed(zero_extend(0x9234567a, 32)) == -1842063750); + assert(signed(zero_extend(0x9be0, 32)) == 39904); + assert(signed(zero_extend(0xa, 32)) == 10); + assert(signed(zero_extend(0xa5a5, 32)) == 42405); + assert(signed(zero_extend(0xa5a5a5a5, 32)) == -1515870811); + assert(signed(zero_extend(0xb, 32)) == 11); + assert(signed(zero_extend(0xc, 32)) == 12); + assert(signed(zero_extend(0xc000, 32)) == 49152); + assert(signed(zero_extend(0xd, 32)) == 13); + assert(signed(zero_extend(0xe, 32)) == 14); + assert(signed(zero_extend(0xe0000000, 32)) == -536870912); + assert(signed(zero_extend(0xf, 32)) == 15); + assert(signed(zero_extend(0xff, 32)) == 255); + assert(signed(zero_extend(0xfffe, 32)) == 65534); + assert(signed(zero_extend(0xffff, 32)) == 65535); + assert(signed(zero_extend(0xffff8000, 32)) == -32768); + assert(signed(zero_extend(0xffffff00, 32)) == -256); + assert(signed(zero_extend(0xffffff87, 32)) == -121); + assert(signed(zero_extend(0xffffff8c, 32)) == -116); + assert(signed(zero_extend(0xffffff93, 32)) == -109); + assert(signed(zero_extend(0xffffff9b, 32)) == -101); + assert(signed(zero_extend(0xffffffa7, 32)) == -89); + assert(signed(zero_extend(0xffffffd0, 32)) == -48); + assert(signed(zero_extend(0xffffffd8, 32)) == -40); + assert(signed(zero_extend(0xffffffda, 32)) == -38); + assert(signed(zero_extend(0xffffffdf, 32)) == -33); + assert(signed(zero_extend(0xffffffe0, 32)) == -32); + assert(signed(zero_extend(0xffffffe1, 32)) == -31); + assert(signed(zero_extend(0xffffffe2, 32)) == -30); + assert(signed(zero_extend(0xffffffe3, 32)) == -29); + assert(signed(zero_extend(0xffffffe4, 32)) == -28); + assert(signed(zero_extend(0xffffffe5, 32)) == -27); + assert(signed(zero_extend(0xffffffe6, 32)) == -26); + assert(signed(zero_extend(0xffffffe7, 32)) == -25); + assert(signed(zero_extend(0xffffffe8, 32)) == -24); + assert(signed(zero_extend(0xffffffe9, 32)) == -23); + assert(signed(zero_extend(0xffffffea, 32)) == -22); + assert(signed(zero_extend(0xffffffeb, 32)) == -21); + assert(signed(zero_extend(0xffffffec, 32)) == -20); + assert(signed(zero_extend(0xffffffed, 32)) == -19); + assert(signed(zero_extend(0xffffffee, 32)) == -18); + assert(signed(zero_extend(0xffffffef, 32)) == -17); + assert(signed(zero_extend(0xfffffff, 32)) == 268435455); + assert(signed(zero_extend(0xfffffff0, 32)) == -16); + assert(signed(zero_extend(0xfffffff1, 32)) == -15); + assert(signed(zero_extend(0xfffffff2, 32)) == -14); + assert(signed(zero_extend(0xfffffff3, 32)) == -13); + assert(signed(zero_extend(0xfffffff4, 32)) == -12); + assert(signed(zero_extend(0xfffffff5, 32)) == -11); + assert(signed(zero_extend(0xfffffff6, 32)) == -10); + assert(signed(zero_extend(0xfffffff7, 32)) == -9); + assert(signed(zero_extend(0xfffffff8, 32)) == -8); + assert(signed(zero_extend(0xfffffff9, 32)) == -7); + assert(signed(zero_extend(0xfffffffa, 32)) == -6); + assert(signed(zero_extend(0xfffffffb, 32)) == -5); + assert(signed(zero_extend(0xfffffffc, 32)) == -4); + assert(signed(zero_extend(0xfffffffd, 32)) == -3); + assert(signed(zero_extend(0xfffffffe, 32)) == -2); + assert(signed(zero_extend(0xffffffff, 32)) == -1); + assert(signed(zero_extend(0x0, 64)) == 0); + assert(signed(zero_extend(0x1, 64)) == 1); + assert(signed(zero_extend(0x10, 64)) == 16); + assert(signed(zero_extend(0x100, 64)) == 256); + assert(signed(zero_extend(0x10000, 64)) == 65536); + assert(signed(zero_extend(0x100000000, 64)) == 4294967296); + assert(signed(zero_extend(0x100000000000, 64)) == 17592186044416); + assert(signed(zero_extend(0x100000001, 64)) == 4294967297); + assert(signed(zero_extend(0x10001, 64)) == 65537); + assert(signed(zero_extend(0x1000100010001, 64)) == 281479271743489); + assert(signed(zero_extend(0x101000, 64)) == 1052672); + assert(signed(zero_extend(0x101220, 64)) == 1053216); + assert(signed(zero_extend(0x102000, 64)) == 1056768); + assert(signed(zero_extend(0x102220, 64)) == 1057312); + assert(signed(zero_extend(0x104000, 64)) == 1064960); + assert(signed(zero_extend(0x10400000, 64)) == 272629760); + assert(signed(zero_extend(0x1040022c, 64)) == 272630316); + assert(signed(zero_extend(0x10401220, 64)) == 272634400); + assert(signed(zero_extend(0x10402220, 64)) == 272638496); + assert(signed(zero_extend(0x10422c, 64)) == 1065516); + assert(signed(zero_extend(0x104320, 64)) == 1065760); + assert(signed(zero_extend(0x104368, 64)) == 1065832); + assert(signed(zero_extend(0x104410, 64)) == 1066000); + assert(signed(zero_extend(0x104418, 64)) == 1066008); + assert(signed(zero_extend(0x104420, 64)) == 1066016); + assert(signed(zero_extend(0x104428, 64)) == 1066024); + assert(signed(zero_extend(0x104550, 64)) == 1066320); + assert(signed(zero_extend(0x1045a0, 64)) == 1066400); + assert(signed(zero_extend(0x1045b0, 64)) == 1066416); + assert(signed(zero_extend(0x1045c0, 64)) == 1066432); + assert(signed(zero_extend(0x104660, 64)) == 1066592); + assert(signed(zero_extend(0x104670, 64)) == 1066608); + assert(signed(zero_extend(0x104690, 64)) == 1066640); + assert(signed(zero_extend(0x104730, 64)) == 1066800); + assert(signed(zero_extend(0x104740, 64)) == 1066816); + assert(signed(zero_extend(0x104750, 64)) == 1066832); + assert(signed(zero_extend(0x10764c321, 64)) == 4419011361); + assert(signed(zero_extend(0x108, 64)) == 264); + assert(signed(zero_extend(0x11, 64)) == 17); + assert(signed(zero_extend(0x110, 64)) == 272); + assert(signed(zero_extend(0x11223344, 64)) == 287454020); + assert(signed(zero_extend(0x1122334411223344, 64)) == 1234605615291183940); + assert(signed(zero_extend(0x118, 64)) == 280); + assert(signed(zero_extend(0x12, 64)) == 18); + assert(signed(zero_extend(0x120, 64)) == 288); + assert(signed(zero_extend(0x1200, 64)) == 4608); + assert(signed(zero_extend(0x120005c, 64)) == 18874460); + assert(signed(zero_extend(0x1200060, 64)) == 18874464); + assert(signed(zero_extend(0x1200064, 64)) == 18874468); + assert(signed(zero_extend(0x1220, 64)) == 4640); + assert(signed(zero_extend(0x12200078, 64)) == 304087160); + assert(signed(zero_extend(0x1220007c, 64)) == 304087164); + assert(signed(zero_extend(0x12200080, 64)) == 304087168); + assert(signed(zero_extend(0x1234, 64)) == 4660); + assert(signed(zero_extend(0x12345678, 64)) == 305419896); + assert(signed(zero_extend(0x123456789abcdef0, 64)) == 1311768467463790320); + assert(signed(zero_extend(0x123456789abcdef1, 64)) == 1311768467463790321); + assert(signed(zero_extend(0x123c, 64)) == 4668); + assert(signed(zero_extend(0x12500054, 64)) == 307232852); + assert(signed(zero_extend(0x1250006c, 64)) == 307232876); + assert(signed(zero_extend(0x12500070, 64)) == 307232880); + assert(signed(zero_extend(0x12600064, 64)) == 308281444); + assert(signed(zero_extend(0x1260007c, 64)) == 308281468); + assert(signed(zero_extend(0x12600080, 64)) == 308281472); + assert(signed(zero_extend(0x13, 64)) == 19); + assert(signed(zero_extend(0x1300368, 64)) == 19923816); + assert(signed(zero_extend(0x130036c, 64)) == 19923820); + assert(signed(zero_extend(0x1300370, 64)) == 19923824); + assert(signed(zero_extend(0x13004b8, 64)) == 19924152); + assert(signed(zero_extend(0x13004bc, 64)) == 19924156); + assert(signed(zero_extend(0x13004c0, 64)) == 19924160); + assert(signed(zero_extend(0x1300608, 64)) == 19924488); + assert(signed(zero_extend(0x130060c, 64)) == 19924492); + assert(signed(zero_extend(0x1300610, 64)) == 19924496); + assert(signed(zero_extend(0x1300910, 64)) == 19925264); + assert(signed(zero_extend(0x1300914, 64)) == 19925268); + assert(signed(zero_extend(0x1300918, 64)) == 19925272); + assert(signed(zero_extend(0x13f8754, 64)) == 20940628); + assert(signed(zero_extend(0x13f8758, 64)) == 20940632); + assert(signed(zero_extend(0x13f875c, 64)) == 20940636); + assert(signed(zero_extend(0x13f88a4, 64)) == 20940964); + assert(signed(zero_extend(0x13f88a8, 64)) == 20940968); + assert(signed(zero_extend(0x13f88ac, 64)) == 20940972); + assert(signed(zero_extend(0x14, 64)) == 20); + assert(signed(zero_extend(0x140, 64)) == 320); + assert(signed(zero_extend(0x14000ac, 64)) == 20971692); + assert(signed(zero_extend(0x14000c0, 64)) == 20971712); + assert(signed(zero_extend(0x14000c4, 64)) == 20971716); + assert(signed(zero_extend(0x14000ec, 64)) == 20971756); + assert(signed(zero_extend(0x1400100, 64)) == 20971776); + assert(signed(zero_extend(0x1400104, 64)) == 20971780); + assert(signed(zero_extend(0x140012c, 64)) == 20971820); + assert(signed(zero_extend(0x140013c, 64)) == 20971836); + assert(signed(zero_extend(0x1400140, 64)) == 20971840); + assert(signed(zero_extend(0x1400178, 64)) == 20971896); + assert(signed(zero_extend(0x1400190, 64)) == 20971920); + assert(signed(zero_extend(0x1400194, 64)) == 20971924); + assert(signed(zero_extend(0x14002dc, 64)) == 20972252); + assert(signed(zero_extend(0x14002fc, 64)) == 20972284); + assert(signed(zero_extend(0x1400300, 64)) == 20972288); + assert(signed(zero_extend(0x1400348, 64)) == 20972360); + assert(signed(zero_extend(0x1400368, 64)) == 20972392); + assert(signed(zero_extend(0x140036c, 64)) == 20972396); + assert(signed(zero_extend(0x1400438, 64)) == 20972600); + assert(signed(zero_extend(0x1400454, 64)) == 20972628); + assert(signed(zero_extend(0x1400458, 64)) == 20972632); + assert(signed(zero_extend(0x140049c, 64)) == 20972700); + assert(signed(zero_extend(0x14004b8, 64)) == 20972728); + assert(signed(zero_extend(0x14004bc, 64)) == 20972732); + assert(signed(zero_extend(0x1400588, 64)) == 20972936); + assert(signed(zero_extend(0x14005a4, 64)) == 20972964); + assert(signed(zero_extend(0x14005a8, 64)) == 20972968); + assert(signed(zero_extend(0x14005ec, 64)) == 20973036); + assert(signed(zero_extend(0x1400608, 64)) == 20973064); + assert(signed(zero_extend(0x140060c, 64)) == 20973068); + assert(signed(zero_extend(0x14006d8, 64)) == 20973272); + assert(signed(zero_extend(0x14006f4, 64)) == 20973300); + assert(signed(zero_extend(0x14006f8, 64)) == 20973304); + assert(signed(zero_extend(0x1400738, 64)) == 20973368); + assert(signed(zero_extend(0x1400754, 64)) == 20973396); + assert(signed(zero_extend(0x1400758, 64)) == 20973400); + assert(signed(zero_extend(0x1400824, 64)) == 20973604); + assert(signed(zero_extend(0x1400840, 64)) == 20973632); + assert(signed(zero_extend(0x1400844, 64)) == 20973636); + assert(signed(zero_extend(0x1400888, 64)) == 20973704); + assert(signed(zero_extend(0x14008a4, 64)) == 20973732); + assert(signed(zero_extend(0x14008a8, 64)) == 20973736); + assert(signed(zero_extend(0x14008f0, 64)) == 20973808); + assert(signed(zero_extend(0x1400910, 64)) == 20973840); + assert(signed(zero_extend(0x1400914, 64)) == 20973844); + assert(signed(zero_extend(0x14086f0, 64)) == 21006064); + assert(signed(zero_extend(0x14086f4, 64)) == 21006068); + assert(signed(zero_extend(0x14086f8, 64)) == 21006072); + assert(signed(zero_extend(0x140883c, 64)) == 21006396); + assert(signed(zero_extend(0x1408840, 64)) == 21006400); + assert(signed(zero_extend(0x1408844, 64)) == 21006404); + assert(signed(zero_extend(0x148, 64)) == 328); + assert(signed(zero_extend(0x15, 64)) == 21); + assert(signed(zero_extend(0x150, 64)) == 336); + assert(signed(zero_extend(0x15002f8, 64)) == 22020856); + assert(signed(zero_extend(0x15002fc, 64)) == 22020860); + assert(signed(zero_extend(0x1500300, 64)) == 22020864); + assert(signed(zero_extend(0x1500450, 64)) == 22021200); + assert(signed(zero_extend(0x1500454, 64)) == 22021204); + assert(signed(zero_extend(0x1500458, 64)) == 22021208); + assert(signed(zero_extend(0x15005a0, 64)) == 22021536); + assert(signed(zero_extend(0x15005a4, 64)) == 22021540); + assert(signed(zero_extend(0x15005a8, 64)) == 22021544); + assert(signed(zero_extend(0x16, 64)) == 22); + assert(signed(zero_extend(0x160, 64)) == 352); + assert(signed(zero_extend(0x168, 64)) == 360); + assert(signed(zero_extend(0x17, 64)) == 23); + assert(signed(zero_extend(0x170, 64)) == 368); + assert(signed(zero_extend(0x17ffe, 64)) == 98302); + assert(signed(zero_extend(0x17fff, 64)) == 98303); + assert(signed(zero_extend(0x17fffffff, 64)) == 6442450943); + assert(signed(zero_extend(0x18, 64)) == 24); + assert(signed(zero_extend(0x180, 64)) == 384); + assert(signed(zero_extend(0x18000, 64)) == 98304); + assert(signed(zero_extend(0x180000000, 64)) == 6442450944); + assert(signed(zero_extend(0x18001, 64)) == 98305); + assert(signed(zero_extend(0x18899aabb, 64)) == 6586739387); + assert(signed(zero_extend(0x19, 64)) == 25); + assert(signed(zero_extend(0x1a, 64)) == 26); + assert(signed(zero_extend(0x1a0, 64)) == 416); + assert(signed(zero_extend(0x1a600078, 64)) == 442499192); + assert(signed(zero_extend(0x1a60007c, 64)) == 442499196); + assert(signed(zero_extend(0x1a600080, 64)) == 442499200); + assert(signed(zero_extend(0x1b, 64)) == 27); + assert(signed(zero_extend(0x1c, 64)) == 28); + assert(signed(zero_extend(0x1c0, 64)) == 448); + assert(signed(zero_extend(0x1d, 64)) == 29); + assert(signed(zero_extend(0x1e, 64)) == 30); + assert(signed(zero_extend(0x1e0, 64)) == 480); + assert(signed(zero_extend(0x1e0ac, 64)) == 123052); + assert(signed(zero_extend(0x1e0ad, 64)) == 123053); + assert(signed(zero_extend(0x1e0ae, 64)) == 123054); + assert(signed(zero_extend(0x1e0af, 64)) == 123055); + assert(signed(zero_extend(0x1e0b0, 64)) == 123056); + assert(signed(zero_extend(0x1e0b1, 64)) == 123057); + assert(signed(zero_extend(0x1e0b2, 64)) == 123058); + assert(signed(zero_extend(0x1e0b3, 64)) == 123059); + assert(signed(zero_extend(0x1e0b4, 64)) == 123060); + assert(signed(zero_extend(0x1e0b5, 64)) == 123061); + assert(signed(zero_extend(0x1e0b6, 64)) == 123062); + assert(signed(zero_extend(0x1e0b7, 64)) == 123063); + assert(signed(zero_extend(0x1e0b8, 64)) == 123064); + assert(signed(zero_extend(0x1e0b9, 64)) == 123065); + assert(signed(zero_extend(0x1e0ba, 64)) == 123066); + assert(signed(zero_extend(0x1e0bb, 64)) == 123067); + assert(signed(zero_extend(0x1e0bc, 64)) == 123068); + assert(signed(zero_extend(0x1e0bd, 64)) == 123069); + assert(signed(zero_extend(0x1e0be, 64)) == 123070); + assert(signed(zero_extend(0x1e0bf, 64)) == 123071); + assert(signed(zero_extend(0x1e0c0, 64)) == 123072); + assert(signed(zero_extend(0x1e0c1, 64)) == 123073); + assert(signed(zero_extend(0x1e0c2, 64)) == 123074); + assert(signed(zero_extend(0x1e0c3, 64)) == 123075); + assert(signed(zero_extend(0x1e0c4, 64)) == 123076); + assert(signed(zero_extend(0x1e0c5, 64)) == 123077); + assert(signed(zero_extend(0x1e0c6, 64)) == 123078); + assert(signed(zero_extend(0x1e0ec, 64)) == 123116); + assert(signed(zero_extend(0x1e0ed, 64)) == 123117); + assert(signed(zero_extend(0x1e0ee, 64)) == 123118); + assert(signed(zero_extend(0x1e0ef, 64)) == 123119); + assert(signed(zero_extend(0x1e0f0, 64)) == 123120); + assert(signed(zero_extend(0x1e0f1, 64)) == 123121); + assert(signed(zero_extend(0x1e0f2, 64)) == 123122); + assert(signed(zero_extend(0x1e0f3, 64)) == 123123); + assert(signed(zero_extend(0x1e0f4, 64)) == 123124); + assert(signed(zero_extend(0x1e0f5, 64)) == 123125); + assert(signed(zero_extend(0x1e0f6, 64)) == 123126); + assert(signed(zero_extend(0x1e0f7, 64)) == 123127); + assert(signed(zero_extend(0x1e0f8, 64)) == 123128); + assert(signed(zero_extend(0x1e0f9, 64)) == 123129); + assert(signed(zero_extend(0x1e0fa, 64)) == 123130); + assert(signed(zero_extend(0x1e0fb, 64)) == 123131); + assert(signed(zero_extend(0x1e0fc, 64)) == 123132); + assert(signed(zero_extend(0x1e0fd, 64)) == 123133); + assert(signed(zero_extend(0x1e0fe, 64)) == 123134); + assert(signed(zero_extend(0x1e0ff, 64)) == 123135); + assert(signed(zero_extend(0x1e100, 64)) == 123136); + assert(signed(zero_extend(0x1e101, 64)) == 123137); + assert(signed(zero_extend(0x1e102, 64)) == 123138); + assert(signed(zero_extend(0x1e103, 64)) == 123139); + assert(signed(zero_extend(0x1e104, 64)) == 123140); + assert(signed(zero_extend(0x1e105, 64)) == 123141); + assert(signed(zero_extend(0x1e106, 64)) == 123142); + assert(signed(zero_extend(0x1e107, 64)) == 123143); + assert(signed(zero_extend(0x1e108, 64)) == 123144); + assert(signed(zero_extend(0x1e109, 64)) == 123145); + assert(signed(zero_extend(0x1e10a, 64)) == 123146); + assert(signed(zero_extend(0x1e10b, 64)) == 123147); + assert(signed(zero_extend(0x1e10c, 64)) == 123148); + assert(signed(zero_extend(0x1e10d, 64)) == 123149); + assert(signed(zero_extend(0x1e10e, 64)) == 123150); + assert(signed(zero_extend(0x1e10f, 64)) == 123151); + assert(signed(zero_extend(0x1e110, 64)) == 123152); + assert(signed(zero_extend(0x1e111, 64)) == 123153); + assert(signed(zero_extend(0x1e112, 64)) == 123154); + assert(signed(zero_extend(0x1e113, 64)) == 123155); + assert(signed(zero_extend(0x1e114, 64)) == 123156); + assert(signed(zero_extend(0x1e115, 64)) == 123157); + assert(signed(zero_extend(0x1e116, 64)) == 123158); + assert(signed(zero_extend(0x1e117, 64)) == 123159); + assert(signed(zero_extend(0x1e118, 64)) == 123160); + assert(signed(zero_extend(0x1e119, 64)) == 123161); + assert(signed(zero_extend(0x1e11a, 64)) == 123162); + assert(signed(zero_extend(0x1e11b, 64)) == 123163); + assert(signed(zero_extend(0x1e11c, 64)) == 123164); + assert(signed(zero_extend(0x1e11d, 64)) == 123165); + assert(signed(zero_extend(0x1e11e, 64)) == 123166); + assert(signed(zero_extend(0x1e140, 64)) == 123200); + assert(signed(zero_extend(0x1e141, 64)) == 123201); + assert(signed(zero_extend(0x1e142, 64)) == 123202); + assert(signed(zero_extend(0x1e143, 64)) == 123203); + assert(signed(zero_extend(0x1e144, 64)) == 123204); + assert(signed(zero_extend(0x1e145, 64)) == 123205); + assert(signed(zero_extend(0x1e146, 64)) == 123206); + assert(signed(zero_extend(0x1e147, 64)) == 123207); + assert(signed(zero_extend(0x1e148, 64)) == 123208); + assert(signed(zero_extend(0x1e149, 64)) == 123209); + assert(signed(zero_extend(0x1e14a, 64)) == 123210); + assert(signed(zero_extend(0x1e14b, 64)) == 123211); + assert(signed(zero_extend(0x1e14c, 64)) == 123212); + assert(signed(zero_extend(0x1e14d, 64)) == 123213); + assert(signed(zero_extend(0x1e14e, 64)) == 123214); + assert(signed(zero_extend(0x1e14f, 64)) == 123215); + assert(signed(zero_extend(0x1e150, 64)) == 123216); + assert(signed(zero_extend(0x1e151, 64)) == 123217); + assert(signed(zero_extend(0x1e152, 64)) == 123218); + assert(signed(zero_extend(0x1e153, 64)) == 123219); + assert(signed(zero_extend(0x1e154, 64)) == 123220); + assert(signed(zero_extend(0x1e155, 64)) == 123221); + assert(signed(zero_extend(0x1e156, 64)) == 123222); + assert(signed(zero_extend(0x1e157, 64)) == 123223); + assert(signed(zero_extend(0x1e158, 64)) == 123224); + assert(signed(zero_extend(0x1e159, 64)) == 123225); + assert(signed(zero_extend(0x1e15a, 64)) == 123226); + assert(signed(zero_extend(0x1e15b, 64)) == 123227); + assert(signed(zero_extend(0x1e15c, 64)) == 123228); + assert(signed(zero_extend(0x1e198, 64)) == 123288); + assert(signed(zero_extend(0x1e199, 64)) == 123289); + assert(signed(zero_extend(0x1e19a, 64)) == 123290); + assert(signed(zero_extend(0x1e19b, 64)) == 123291); + assert(signed(zero_extend(0x1e19c, 64)) == 123292); + assert(signed(zero_extend(0x1e19d, 64)) == 123293); + assert(signed(zero_extend(0x1e19e, 64)) == 123294); + assert(signed(zero_extend(0x1e19f, 64)) == 123295); + assert(signed(zero_extend(0x1e1a0, 64)) == 123296); + assert(signed(zero_extend(0x1e1a1, 64)) == 123297); + assert(signed(zero_extend(0x1e1a2, 64)) == 123298); + assert(signed(zero_extend(0x1e1a3, 64)) == 123299); + assert(signed(zero_extend(0x1e1a4, 64)) == 123300); + assert(signed(zero_extend(0x1e1a5, 64)) == 123301); + assert(signed(zero_extend(0x1e1a6, 64)) == 123302); + assert(signed(zero_extend(0x1e1a7, 64)) == 123303); + assert(signed(zero_extend(0x1e1a8, 64)) == 123304); + assert(signed(zero_extend(0x1e1a9, 64)) == 123305); + assert(signed(zero_extend(0x1e1aa, 64)) == 123306); + assert(signed(zero_extend(0x1e1ab, 64)) == 123307); + assert(signed(zero_extend(0x1e1ac, 64)) == 123308); + assert(signed(zero_extend(0x1e1ad, 64)) == 123309); + assert(signed(zero_extend(0x1e1ae, 64)) == 123310); + assert(signed(zero_extend(0x1e1af, 64)) == 123311); + assert(signed(zero_extend(0x1e1b0, 64)) == 123312); + assert(signed(zero_extend(0x1ec24, 64)) == 125988); + assert(signed(zero_extend(0x1ec25, 64)) == 125989); + assert(signed(zero_extend(0x1ec26, 64)) == 125990); + assert(signed(zero_extend(0x1ec27, 64)) == 125991); + assert(signed(zero_extend(0x1ec28, 64)) == 125992); + assert(signed(zero_extend(0x1ec29, 64)) == 125993); + assert(signed(zero_extend(0x1ec2a, 64)) == 125994); + assert(signed(zero_extend(0x1ec2b, 64)) == 125995); + assert(signed(zero_extend(0x1ec2c, 64)) == 125996); + assert(signed(zero_extend(0x1ec2d, 64)) == 125997); + assert(signed(zero_extend(0x1ec2e, 64)) == 125998); + assert(signed(zero_extend(0x1ec2f, 64)) == 125999); + assert(signed(zero_extend(0x1ec30, 64)) == 126000); + assert(signed(zero_extend(0x1ec31, 64)) == 126001); + assert(signed(zero_extend(0x1ec32, 64)) == 126002); + assert(signed(zero_extend(0x1ec33, 64)) == 126003); + assert(signed(zero_extend(0x1ec34, 64)) == 126004); + assert(signed(zero_extend(0x1ec35, 64)) == 126005); + assert(signed(zero_extend(0x1ec36, 64)) == 126006); + assert(signed(zero_extend(0x1ec37, 64)) == 126007); + assert(signed(zero_extend(0x1ec38, 64)) == 126008); + assert(signed(zero_extend(0x1ec39, 64)) == 126009); + assert(signed(zero_extend(0x1ec3a, 64)) == 126010); + assert(signed(zero_extend(0x1ec7c, 64)) == 126076); + assert(signed(zero_extend(0x1ec7d, 64)) == 126077); + assert(signed(zero_extend(0x1ec7e, 64)) == 126078); + assert(signed(zero_extend(0x1ec7f, 64)) == 126079); + assert(signed(zero_extend(0x1ec80, 64)) == 126080); + assert(signed(zero_extend(0x1ec81, 64)) == 126081); + assert(signed(zero_extend(0x1ec82, 64)) == 126082); + assert(signed(zero_extend(0x1ec83, 64)) == 126083); + assert(signed(zero_extend(0x1ec84, 64)) == 126084); + assert(signed(zero_extend(0x1ec85, 64)) == 126085); + assert(signed(zero_extend(0x1ec86, 64)) == 126086); + assert(signed(zero_extend(0x1ec87, 64)) == 126087); + assert(signed(zero_extend(0x1ec88, 64)) == 126088); + assert(signed(zero_extend(0x1ec89, 64)) == 126089); + assert(signed(zero_extend(0x1ec8a, 64)) == 126090); + assert(signed(zero_extend(0x1ec8b, 64)) == 126091); + assert(signed(zero_extend(0x1ec8c, 64)) == 126092); + assert(signed(zero_extend(0x1ec8d, 64)) == 126093); + assert(signed(zero_extend(0x1ec8e, 64)) == 126094); + assert(signed(zero_extend(0x1ec8f, 64)) == 126095); + assert(signed(zero_extend(0x1ec90, 64)) == 126096); + assert(signed(zero_extend(0x1ec91, 64)) == 126097); + assert(signed(zero_extend(0x1ec92, 64)) == 126098); + assert(signed(zero_extend(0x1f, 64)) == 31); + assert(signed(zero_extend(0x2, 64)) == 2); + assert(signed(zero_extend(0x20, 64)) == 32); + assert(signed(zero_extend(0x200, 64)) == 512); + assert(signed(zero_extend(0x2000, 64)) == 8192); + assert(signed(zero_extend(0x20000, 64)) == 131072); + assert(signed(zero_extend(0x20000000, 64)) == 536870912); + assert(signed(zero_extend(0x208, 64)) == 520); + assert(signed(zero_extend(0x20800, 64)) == 133120); + assert(signed(zero_extend(0x21, 64)) == 33); + assert(signed(zero_extend(0x21750, 64)) == 137040); + assert(signed(zero_extend(0x21751, 64)) == 137041); + assert(signed(zero_extend(0x21752, 64)) == 137042); + assert(signed(zero_extend(0x21753, 64)) == 137043); + assert(signed(zero_extend(0x21754, 64)) == 137044); + assert(signed(zero_extend(0x21755, 64)) == 137045); + assert(signed(zero_extend(0x21756, 64)) == 137046); + assert(signed(zero_extend(0x21757, 64)) == 137047); + assert(signed(zero_extend(0x21758, 64)) == 137048); + assert(signed(zero_extend(0x21759, 64)) == 137049); + assert(signed(zero_extend(0x2175a, 64)) == 137050); + assert(signed(zero_extend(0x2175b, 64)) == 137051); + assert(signed(zero_extend(0x2175c, 64)) == 137052); + assert(signed(zero_extend(0x2175d, 64)) == 137053); + assert(signed(zero_extend(0x2175e, 64)) == 137054); + assert(signed(zero_extend(0x2175f, 64)) == 137055); + assert(signed(zero_extend(0x21760, 64)) == 137056); + assert(signed(zero_extend(0x21761, 64)) == 137057); + assert(signed(zero_extend(0x21764, 64)) == 137060); + assert(signed(zero_extend(0x21765, 64)) == 137061); + assert(signed(zero_extend(0x21766, 64)) == 137062); + assert(signed(zero_extend(0x21767, 64)) == 137063); + assert(signed(zero_extend(0x21768, 64)) == 137064); + assert(signed(zero_extend(0x21769, 64)) == 137065); + assert(signed(zero_extend(0x2176a, 64)) == 137066); + assert(signed(zero_extend(0x217a8, 64)) == 137128); + assert(signed(zero_extend(0x217a9, 64)) == 137129); + assert(signed(zero_extend(0x217aa, 64)) == 137130); + assert(signed(zero_extend(0x217ab, 64)) == 137131); + assert(signed(zero_extend(0x217ac, 64)) == 137132); + assert(signed(zero_extend(0x217ad, 64)) == 137133); + assert(signed(zero_extend(0x217ae, 64)) == 137134); + assert(signed(zero_extend(0x217af, 64)) == 137135); + assert(signed(zero_extend(0x217b0, 64)) == 137136); + assert(signed(zero_extend(0x217b1, 64)) == 137137); + assert(signed(zero_extend(0x217b2, 64)) == 137138); + assert(signed(zero_extend(0x217b3, 64)) == 137139); + assert(signed(zero_extend(0x217b4, 64)) == 137140); + assert(signed(zero_extend(0x217b5, 64)) == 137141); + assert(signed(zero_extend(0x217b6, 64)) == 137142); + assert(signed(zero_extend(0x217b7, 64)) == 137143); + assert(signed(zero_extend(0x217b8, 64)) == 137144); + assert(signed(zero_extend(0x217b9, 64)) == 137145); + assert(signed(zero_extend(0x217bc, 64)) == 137148); + assert(signed(zero_extend(0x217bd, 64)) == 137149); + assert(signed(zero_extend(0x217be, 64)) == 137150); + assert(signed(zero_extend(0x217bf, 64)) == 137151); + assert(signed(zero_extend(0x217c0, 64)) == 137152); + assert(signed(zero_extend(0x217c1, 64)) == 137153); + assert(signed(zero_extend(0x217c2, 64)) == 137154); + assert(signed(zero_extend(0x2196c, 64)) == 137580); + assert(signed(zero_extend(0x2196d, 64)) == 137581); + assert(signed(zero_extend(0x2196e, 64)) == 137582); + assert(signed(zero_extend(0x2196f, 64)) == 137583); + assert(signed(zero_extend(0x21970, 64)) == 137584); + assert(signed(zero_extend(0x21971, 64)) == 137585); + assert(signed(zero_extend(0x21972, 64)) == 137586); + assert(signed(zero_extend(0x21973, 64)) == 137587); + assert(signed(zero_extend(0x21974, 64)) == 137588); + assert(signed(zero_extend(0x21975, 64)) == 137589); + assert(signed(zero_extend(0x21976, 64)) == 137590); + assert(signed(zero_extend(0x21977, 64)) == 137591); + assert(signed(zero_extend(0x21978, 64)) == 137592); + assert(signed(zero_extend(0x21979, 64)) == 137593); + assert(signed(zero_extend(0x2197a, 64)) == 137594); + assert(signed(zero_extend(0x2197b, 64)) == 137595); + assert(signed(zero_extend(0x2197c, 64)) == 137596); + assert(signed(zero_extend(0x2197d, 64)) == 137597); + assert(signed(zero_extend(0x2197e, 64)) == 137598); + assert(signed(zero_extend(0x2197f, 64)) == 137599); + assert(signed(zero_extend(0x21980, 64)) == 137600); + assert(signed(zero_extend(0x21981, 64)) == 137601); + assert(signed(zero_extend(0x21982, 64)) == 137602); + assert(signed(zero_extend(0x21983, 64)) == 137603); + assert(signed(zero_extend(0x219c4, 64)) == 137668); + assert(signed(zero_extend(0x219c5, 64)) == 137669); + assert(signed(zero_extend(0x219c6, 64)) == 137670); + assert(signed(zero_extend(0x219c7, 64)) == 137671); + assert(signed(zero_extend(0x219c8, 64)) == 137672); + assert(signed(zero_extend(0x219c9, 64)) == 137673); + assert(signed(zero_extend(0x219ca, 64)) == 137674); + assert(signed(zero_extend(0x219cb, 64)) == 137675); + assert(signed(zero_extend(0x219cc, 64)) == 137676); + assert(signed(zero_extend(0x219cd, 64)) == 137677); + assert(signed(zero_extend(0x219ce, 64)) == 137678); + assert(signed(zero_extend(0x219cf, 64)) == 137679); + assert(signed(zero_extend(0x219d0, 64)) == 137680); + assert(signed(zero_extend(0x219d1, 64)) == 137681); + assert(signed(zero_extend(0x219d2, 64)) == 137682); + assert(signed(zero_extend(0x219d3, 64)) == 137683); + assert(signed(zero_extend(0x219d4, 64)) == 137684); + assert(signed(zero_extend(0x219d5, 64)) == 137685); + assert(signed(zero_extend(0x219d6, 64)) == 137686); + assert(signed(zero_extend(0x219d7, 64)) == 137687); + assert(signed(zero_extend(0x219d8, 64)) == 137688); + assert(signed(zero_extend(0x219d9, 64)) == 137689); + assert(signed(zero_extend(0x219da, 64)) == 137690); + assert(signed(zero_extend(0x219db, 64)) == 137691); + assert(signed(zero_extend(0x21a90, 64)) == 137872); + assert(signed(zero_extend(0x21a91, 64)) == 137873); + assert(signed(zero_extend(0x21a92, 64)) == 137874); + assert(signed(zero_extend(0x21a93, 64)) == 137875); + assert(signed(zero_extend(0x21a94, 64)) == 137876); + assert(signed(zero_extend(0x21a95, 64)) == 137877); + assert(signed(zero_extend(0x21a96, 64)) == 137878); + assert(signed(zero_extend(0x21a97, 64)) == 137879); + assert(signed(zero_extend(0x21a98, 64)) == 137880); + assert(signed(zero_extend(0x21a99, 64)) == 137881); + assert(signed(zero_extend(0x21a9a, 64)) == 137882); + assert(signed(zero_extend(0x21a9b, 64)) == 137883); + assert(signed(zero_extend(0x21a9c, 64)) == 137884); + assert(signed(zero_extend(0x21a9d, 64)) == 137885); + assert(signed(zero_extend(0x21a9e, 64)) == 137886); + assert(signed(zero_extend(0x21a9f, 64)) == 137887); + assert(signed(zero_extend(0x21aa0, 64)) == 137888); + assert(signed(zero_extend(0x21aa1, 64)) == 137889); + assert(signed(zero_extend(0x21aa2, 64)) == 137890); + assert(signed(zero_extend(0x21aa3, 64)) == 137891); + assert(signed(zero_extend(0x21aa4, 64)) == 137892); + assert(signed(zero_extend(0x21aa5, 64)) == 137893); + assert(signed(zero_extend(0x21aa6, 64)) == 137894); + assert(signed(zero_extend(0x21aa7, 64)) == 137895); + assert(signed(zero_extend(0x21aa8, 64)) == 137896); + assert(signed(zero_extend(0x21aa9, 64)) == 137897); + assert(signed(zero_extend(0x21aaa, 64)) == 137898); + assert(signed(zero_extend(0x21ae8, 64)) == 137960); + assert(signed(zero_extend(0x21ae9, 64)) == 137961); + assert(signed(zero_extend(0x21aea, 64)) == 137962); + assert(signed(zero_extend(0x21aeb, 64)) == 137963); + assert(signed(zero_extend(0x21aec, 64)) == 137964); + assert(signed(zero_extend(0x21aed, 64)) == 137965); + assert(signed(zero_extend(0x21aee, 64)) == 137966); + assert(signed(zero_extend(0x21aef, 64)) == 137967); + assert(signed(zero_extend(0x21af0, 64)) == 137968); + assert(signed(zero_extend(0x21af1, 64)) == 137969); + assert(signed(zero_extend(0x21af2, 64)) == 137970); + assert(signed(zero_extend(0x21af3, 64)) == 137971); + assert(signed(zero_extend(0x21af4, 64)) == 137972); + assert(signed(zero_extend(0x21af5, 64)) == 137973); + assert(signed(zero_extend(0x21af6, 64)) == 137974); + assert(signed(zero_extend(0x21af7, 64)) == 137975); + assert(signed(zero_extend(0x21af8, 64)) == 137976); + assert(signed(zero_extend(0x21af9, 64)) == 137977); + assert(signed(zero_extend(0x21afa, 64)) == 137978); + assert(signed(zero_extend(0x21afb, 64)) == 137979); + assert(signed(zero_extend(0x21afc, 64)) == 137980); + assert(signed(zero_extend(0x21afd, 64)) == 137981); + assert(signed(zero_extend(0x21afe, 64)) == 137982); + assert(signed(zero_extend(0x21aff, 64)) == 137983); + assert(signed(zero_extend(0x21b00, 64)) == 137984); + assert(signed(zero_extend(0x21b01, 64)) == 137985); + assert(signed(zero_extend(0x21b02, 64)) == 137986); + assert(signed(zero_extend(0x21d08, 64)) == 138504); + assert(signed(zero_extend(0x21d09, 64)) == 138505); + assert(signed(zero_extend(0x21d0a, 64)) == 138506); + assert(signed(zero_extend(0x21d0b, 64)) == 138507); + assert(signed(zero_extend(0x21d0c, 64)) == 138508); + assert(signed(zero_extend(0x21d0d, 64)) == 138509); + assert(signed(zero_extend(0x21d0e, 64)) == 138510); + assert(signed(zero_extend(0x21d0f, 64)) == 138511); + assert(signed(zero_extend(0x21d10, 64)) == 138512); + assert(signed(zero_extend(0x21d11, 64)) == 138513); + assert(signed(zero_extend(0x21d14, 64)) == 138516); + assert(signed(zero_extend(0x21d15, 64)) == 138517); + assert(signed(zero_extend(0x21d16, 64)) == 138518); + assert(signed(zero_extend(0x21d17, 64)) == 138519); + assert(signed(zero_extend(0x21d18, 64)) == 138520); + assert(signed(zero_extend(0x21d19, 64)) == 138521); + assert(signed(zero_extend(0x21d1a, 64)) == 138522); + assert(signed(zero_extend(0x21d1b, 64)) == 138523); + assert(signed(zero_extend(0x21d1c, 64)) == 138524); + assert(signed(zero_extend(0x21d1d, 64)) == 138525); + assert(signed(zero_extend(0x21d1e, 64)) == 138526); + assert(signed(zero_extend(0x21d1f, 64)) == 138527); + assert(signed(zero_extend(0x21d20, 64)) == 138528); + assert(signed(zero_extend(0x21d21, 64)) == 138529); + assert(signed(zero_extend(0x21d22, 64)) == 138530); + assert(signed(zero_extend(0x21d23, 64)) == 138531); + assert(signed(zero_extend(0x21d24, 64)) == 138532); + assert(signed(zero_extend(0x21d25, 64)) == 138533); + assert(signed(zero_extend(0x21d26, 64)) == 138534); + assert(signed(zero_extend(0x21d27, 64)) == 138535); + assert(signed(zero_extend(0x21d28, 64)) == 138536); + assert(signed(zero_extend(0x21d29, 64)) == 138537); + assert(signed(zero_extend(0x21d2a, 64)) == 138538); + assert(signed(zero_extend(0x21d2b, 64)) == 138539); + assert(signed(zero_extend(0x21d2c, 64)) == 138540); + assert(signed(zero_extend(0x21d2d, 64)) == 138541); + assert(signed(zero_extend(0x21d30, 64)) == 138544); + assert(signed(zero_extend(0x21d31, 64)) == 138545); + assert(signed(zero_extend(0x21d32, 64)) == 138546); + assert(signed(zero_extend(0x21d33, 64)) == 138547); + assert(signed(zero_extend(0x21d34, 64)) == 138548); + assert(signed(zero_extend(0x21d35, 64)) == 138549); + assert(signed(zero_extend(0x21d36, 64)) == 138550); + assert(signed(zero_extend(0x21d37, 64)) == 138551); + assert(signed(zero_extend(0x21d38, 64)) == 138552); + assert(signed(zero_extend(0x21d39, 64)) == 138553); + assert(signed(zero_extend(0x21d3c, 64)) == 138556); + assert(signed(zero_extend(0x21d3d, 64)) == 138557); + assert(signed(zero_extend(0x21d3e, 64)) == 138558); + assert(signed(zero_extend(0x21d3f, 64)) == 138559); + assert(signed(zero_extend(0x21d40, 64)) == 138560); + assert(signed(zero_extend(0x21d41, 64)) == 138561); + assert(signed(zero_extend(0x21d42, 64)) == 138562); + assert(signed(zero_extend(0x21d43, 64)) == 138563); + assert(signed(zero_extend(0x21d44, 64)) == 138564); + assert(signed(zero_extend(0x21d45, 64)) == 138565); + assert(signed(zero_extend(0x21d48, 64)) == 138568); + assert(signed(zero_extend(0x21d49, 64)) == 138569); + assert(signed(zero_extend(0x21d4a, 64)) == 138570); + assert(signed(zero_extend(0x21d4b, 64)) == 138571); + assert(signed(zero_extend(0x21d4c, 64)) == 138572); + assert(signed(zero_extend(0x21d4d, 64)) == 138573); + assert(signed(zero_extend(0x21d4e, 64)) == 138574); + assert(signed(zero_extend(0x21d4f, 64)) == 138575); + assert(signed(zero_extend(0x21d50, 64)) == 138576); + assert(signed(zero_extend(0x21d51, 64)) == 138577); + assert(signed(zero_extend(0x21d54, 64)) == 138580); + assert(signed(zero_extend(0x21d55, 64)) == 138581); + assert(signed(zero_extend(0x21d56, 64)) == 138582); + assert(signed(zero_extend(0x21d57, 64)) == 138583); + assert(signed(zero_extend(0x21d58, 64)) == 138584); + assert(signed(zero_extend(0x21d59, 64)) == 138585); + assert(signed(zero_extend(0x21d5a, 64)) == 138586); + assert(signed(zero_extend(0x21d5b, 64)) == 138587); + assert(signed(zero_extend(0x21d5c, 64)) == 138588); + assert(signed(zero_extend(0x21d5d, 64)) == 138589); + assert(signed(zero_extend(0x21d60, 64)) == 138592); + assert(signed(zero_extend(0x21d61, 64)) == 138593); + assert(signed(zero_extend(0x21d62, 64)) == 138594); + assert(signed(zero_extend(0x21d63, 64)) == 138595); + assert(signed(zero_extend(0x21d64, 64)) == 138596); + assert(signed(zero_extend(0x21d65, 64)) == 138597); + assert(signed(zero_extend(0x21d66, 64)) == 138598); + assert(signed(zero_extend(0x21d67, 64)) == 138599); + assert(signed(zero_extend(0x21d68, 64)) == 138600); + assert(signed(zero_extend(0x21d69, 64)) == 138601); + assert(signed(zero_extend(0x21d6c, 64)) == 138604); + assert(signed(zero_extend(0x21d6d, 64)) == 138605); + assert(signed(zero_extend(0x21d6e, 64)) == 138606); + assert(signed(zero_extend(0x21d6f, 64)) == 138607); + assert(signed(zero_extend(0x21d70, 64)) == 138608); + assert(signed(zero_extend(0x21d71, 64)) == 138609); + assert(signed(zero_extend(0x21d72, 64)) == 138610); + assert(signed(zero_extend(0x21d73, 64)) == 138611); + assert(signed(zero_extend(0x21d74, 64)) == 138612); + assert(signed(zero_extend(0x21d75, 64)) == 138613); + assert(signed(zero_extend(0x21d76, 64)) == 138614); + assert(signed(zero_extend(0x21d77, 64)) == 138615); + assert(signed(zero_extend(0x21d78, 64)) == 138616); + assert(signed(zero_extend(0x21d79, 64)) == 138617); + assert(signed(zero_extend(0x21d7a, 64)) == 138618); + assert(signed(zero_extend(0x21d7b, 64)) == 138619); + assert(signed(zero_extend(0x21d7c, 64)) == 138620); + assert(signed(zero_extend(0x21d7d, 64)) == 138621); + assert(signed(zero_extend(0x21d7e, 64)) == 138622); + assert(signed(zero_extend(0x21d7f, 64)) == 138623); + assert(signed(zero_extend(0x21d80, 64)) == 138624); + assert(signed(zero_extend(0x21d81, 64)) == 138625); + assert(signed(zero_extend(0x21d82, 64)) == 138626); + assert(signed(zero_extend(0x21d83, 64)) == 138627); + assert(signed(zero_extend(0x21d84, 64)) == 138628); + assert(signed(zero_extend(0x21d85, 64)) == 138629); + assert(signed(zero_extend(0x21d88, 64)) == 138632); + assert(signed(zero_extend(0x21d89, 64)) == 138633); + assert(signed(zero_extend(0x21d8a, 64)) == 138634); + assert(signed(zero_extend(0x21d8b, 64)) == 138635); + assert(signed(zero_extend(0x21d8c, 64)) == 138636); + assert(signed(zero_extend(0x21d8d, 64)) == 138637); + assert(signed(zero_extend(0x21d8e, 64)) == 138638); + assert(signed(zero_extend(0x21d8f, 64)) == 138639); + assert(signed(zero_extend(0x21d90, 64)) == 138640); + assert(signed(zero_extend(0x21d91, 64)) == 138641); + assert(signed(zero_extend(0x21d94, 64)) == 138644); + assert(signed(zero_extend(0x21d95, 64)) == 138645); + assert(signed(zero_extend(0x21d96, 64)) == 138646); + assert(signed(zero_extend(0x21d97, 64)) == 138647); + assert(signed(zero_extend(0x21d98, 64)) == 138648); + assert(signed(zero_extend(0x21d99, 64)) == 138649); + assert(signed(zero_extend(0x21d9a, 64)) == 138650); + assert(signed(zero_extend(0x21d9b, 64)) == 138651); + assert(signed(zero_extend(0x21d9c, 64)) == 138652); + assert(signed(zero_extend(0x21d9d, 64)) == 138653); + assert(signed(zero_extend(0x21da0, 64)) == 138656); + assert(signed(zero_extend(0x21da1, 64)) == 138657); + assert(signed(zero_extend(0x21da2, 64)) == 138658); + assert(signed(zero_extend(0x21da3, 64)) == 138659); + assert(signed(zero_extend(0x21da4, 64)) == 138660); + assert(signed(zero_extend(0x21da5, 64)) == 138661); + assert(signed(zero_extend(0x21da6, 64)) == 138662); + assert(signed(zero_extend(0x21da7, 64)) == 138663); + assert(signed(zero_extend(0x21da8, 64)) == 138664); + assert(signed(zero_extend(0x21da9, 64)) == 138665); + assert(signed(zero_extend(0x21dac, 64)) == 138668); + assert(signed(zero_extend(0x21dad, 64)) == 138669); + assert(signed(zero_extend(0x21dae, 64)) == 138670); + assert(signed(zero_extend(0x21daf, 64)) == 138671); + assert(signed(zero_extend(0x21db0, 64)) == 138672); + assert(signed(zero_extend(0x21db1, 64)) == 138673); + assert(signed(zero_extend(0x21db2, 64)) == 138674); + assert(signed(zero_extend(0x21db3, 64)) == 138675); + assert(signed(zero_extend(0x21db4, 64)) == 138676); + assert(signed(zero_extend(0x21db5, 64)) == 138677); + assert(signed(zero_extend(0x22, 64)) == 34); + assert(signed(zero_extend(0x220, 64)) == 544); + assert(signed(zero_extend(0x2200, 64)) == 8704); + assert(signed(zero_extend(0x22000, 64)) == 139264); + assert(signed(zero_extend(0x22088, 64)) == 139400); + assert(signed(zero_extend(0x220e0, 64)) == 139488); + assert(signed(zero_extend(0x2220, 64)) == 8736); + assert(signed(zero_extend(0x2222222222222223, 64)) == 2459565876494606883); + assert(signed(zero_extend(0x223c, 64)) == 8764); + assert(signed(zero_extend(0x22c, 64)) == 556); + assert(signed(zero_extend(0x23, 64)) == 35); + assert(signed(zero_extend(0x235e0, 64)) == 144864); + assert(signed(zero_extend(0x235e1, 64)) == 144865); + assert(signed(zero_extend(0x235e2, 64)) == 144866); + assert(signed(zero_extend(0x235e3, 64)) == 144867); + assert(signed(zero_extend(0x235e4, 64)) == 144868); + assert(signed(zero_extend(0x235e5, 64)) == 144869); + assert(signed(zero_extend(0x235e6, 64)) == 144870); + assert(signed(zero_extend(0x235e7, 64)) == 144871); + assert(signed(zero_extend(0x235e8, 64)) == 144872); + assert(signed(zero_extend(0x235e9, 64)) == 144873); + assert(signed(zero_extend(0x235ea, 64)) == 144874); + assert(signed(zero_extend(0x235eb, 64)) == 144875); + assert(signed(zero_extend(0x235ec, 64)) == 144876); + assert(signed(zero_extend(0x235ed, 64)) == 144877); + assert(signed(zero_extend(0x235ee, 64)) == 144878); + assert(signed(zero_extend(0x235ef, 64)) == 144879); + assert(signed(zero_extend(0x235f0, 64)) == 144880); + assert(signed(zero_extend(0x235f1, 64)) == 144881); + assert(signed(zero_extend(0x235f2, 64)) == 144882); + assert(signed(zero_extend(0x235f3, 64)) == 144883); + assert(signed(zero_extend(0x235f4, 64)) == 144884); + assert(signed(zero_extend(0x235f5, 64)) == 144885); + assert(signed(zero_extend(0x235f6, 64)) == 144886); + assert(signed(zero_extend(0x235f7, 64)) == 144887); + assert(signed(zero_extend(0x235f8, 64)) == 144888); + assert(signed(zero_extend(0x23638, 64)) == 144952); + assert(signed(zero_extend(0x23639, 64)) == 144953); + assert(signed(zero_extend(0x2363a, 64)) == 144954); + assert(signed(zero_extend(0x2363b, 64)) == 144955); + assert(signed(zero_extend(0x2363c, 64)) == 144956); + assert(signed(zero_extend(0x2363d, 64)) == 144957); + assert(signed(zero_extend(0x2363e, 64)) == 144958); + assert(signed(zero_extend(0x2363f, 64)) == 144959); + assert(signed(zero_extend(0x23640, 64)) == 144960); + assert(signed(zero_extend(0x23641, 64)) == 144961); + assert(signed(zero_extend(0x23642, 64)) == 144962); + assert(signed(zero_extend(0x23643, 64)) == 144963); + assert(signed(zero_extend(0x23644, 64)) == 144964); + assert(signed(zero_extend(0x23645, 64)) == 144965); + assert(signed(zero_extend(0x23646, 64)) == 144966); + assert(signed(zero_extend(0x23647, 64)) == 144967); + assert(signed(zero_extend(0x23648, 64)) == 144968); + assert(signed(zero_extend(0x23649, 64)) == 144969); + assert(signed(zero_extend(0x2364a, 64)) == 144970); + assert(signed(zero_extend(0x2364b, 64)) == 144971); + assert(signed(zero_extend(0x2364c, 64)) == 144972); + assert(signed(zero_extend(0x2364d, 64)) == 144973); + assert(signed(zero_extend(0x2364e, 64)) == 144974); + assert(signed(zero_extend(0x2364f, 64)) == 144975); + assert(signed(zero_extend(0x23650, 64)) == 144976); + assert(signed(zero_extend(0x24, 64)) == 36); + assert(signed(zero_extend(0x24c, 64)) == 588); + assert(signed(zero_extend(0x25, 64)) == 37); + assert(signed(zero_extend(0x26, 64)) == 38); + assert(signed(zero_extend(0x27, 64)) == 39); + assert(signed(zero_extend(0x270, 64)) == 624); + assert(signed(zero_extend(0x28, 64)) == 40); + assert(signed(zero_extend(0x288, 64)) == 648); + assert(signed(zero_extend(0x29, 64)) == 41); + assert(signed(zero_extend(0x2a, 64)) == 42); + assert(signed(zero_extend(0x2b, 64)) == 43); + assert(signed(zero_extend(0x2c, 64)) == 44); + assert(signed(zero_extend(0x2c000, 64)) == 180224); + assert(signed(zero_extend(0x2d, 64)) == 45); + assert(signed(zero_extend(0x2e, 64)) == 46); + assert(signed(zero_extend(0x2eb0000, 64)) == 48955392); + assert(signed(zero_extend(0x2ec0000, 64)) == 49020928); + assert(signed(zero_extend(0x2ee0000, 64)) == 49152000); + assert(signed(zero_extend(0x2ef0000, 64)) == 49217536); + assert(signed(zero_extend(0x2ef0040, 64)) == 49217600); + assert(signed(zero_extend(0x2f, 64)) == 47); + assert(signed(zero_extend(0x2f0, 64)) == 752); + assert(signed(zero_extend(0x2f00000, 64)) == 49283072); + assert(signed(zero_extend(0x2f00008, 64)) == 49283080); + assert(signed(zero_extend(0x2f00018, 64)) == 49283096); + assert(signed(zero_extend(0x2f00200, 64)) == 49283584); + assert(signed(zero_extend(0x2f00538, 64)) == 49284408); + assert(signed(zero_extend(0x2f10000, 64)) == 49348608); + assert(signed(zero_extend(0x2f10800, 64)) == 49350656); + assert(signed(zero_extend(0x2f40000, 64)) == 49545216); + assert(signed(zero_extend(0x2f50000, 64)) == 49610752); + assert(signed(zero_extend(0x2f50040, 64)) == 49610816); + assert(signed(zero_extend(0x2f60000, 64)) == 49676288); + assert(signed(zero_extend(0x2f60200, 64)) == 49676800); + assert(signed(zero_extend(0x2f70000, 64)) == 49741824); + assert(signed(zero_extend(0x2f70800, 64)) == 49743872); + assert(signed(zero_extend(0x3, 64)) == 3); + assert(signed(zero_extend(0x30, 64)) == 48); + assert(signed(zero_extend(0x3000, 64)) == 12288); + assert(signed(zero_extend(0x30000, 64)) == 196608); + assert(signed(zero_extend(0x300001c, 64)) == 50331676); + assert(signed(zero_extend(0x3000020, 64)) == 50331680); + assert(signed(zero_extend(0x3000024, 64)) == 50331684); + assert(signed(zero_extend(0x3000054, 64)) == 50331732); + assert(signed(zero_extend(0x3000058, 64)) == 50331736); + assert(signed(zero_extend(0x300005c, 64)) == 50331740); + assert(signed(zero_extend(0x3000068, 64)) == 50331752); + assert(signed(zero_extend(0x30000c4, 64)) == 50331844); + assert(signed(zero_extend(0x30000c8, 64)) == 50331848); + assert(signed(zero_extend(0x30000cc, 64)) == 50331852); + assert(signed(zero_extend(0x3000288, 64)) == 50332296); + assert(signed(zero_extend(0x30002a0, 64)) == 50332320); + assert(signed(zero_extend(0x3006b10, 64)) == 50359056); + assert(signed(zero_extend(0x3006b1c, 64)) == 50359068); + assert(signed(zero_extend(0x3006e40, 64)) == 50359872); + assert(signed(zero_extend(0x3008d20, 64)) == 50367776); + assert(signed(zero_extend(0x3008d30, 64)) == 50367792); + assert(signed(zero_extend(0x3008d40, 64)) == 50367808); + assert(signed(zero_extend(0x3008d50, 64)) == 50367824); + assert(signed(zero_extend(0x3008d60, 64)) == 50367840); + assert(signed(zero_extend(0x3008d70, 64)) == 50367856); + assert(signed(zero_extend(0x3008d80, 64)) == 50367872); + assert(signed(zero_extend(0x3008d90, 64)) == 50367888); + assert(signed(zero_extend(0x3008d98, 64)) == 50367896); + assert(signed(zero_extend(0x3008da0, 64)) == 50367904); + assert(signed(zero_extend(0x3008db0, 64)) == 50367920); + assert(signed(zero_extend(0x3008db8, 64)) == 50367928); + assert(signed(zero_extend(0x3008dc0, 64)) == 50367936); + assert(signed(zero_extend(0x3008dc8, 64)) == 50367944); + assert(signed(zero_extend(0x3008dd0, 64)) == 50367952); + assert(signed(zero_extend(0x3008de0, 64)) == 50367968); + assert(signed(zero_extend(0x3008de8, 64)) == 50367976); + assert(signed(zero_extend(0x3008df0, 64)) == 50367984); + assert(signed(zero_extend(0x3008df8, 64)) == 50367992); + assert(signed(zero_extend(0x3008e00, 64)) == 50368000); + assert(signed(zero_extend(0x3008e10, 64)) == 50368016); + assert(signed(zero_extend(0x3008e20, 64)) == 50368032); + assert(signed(zero_extend(0x3008e28, 64)) == 50368040); + assert(signed(zero_extend(0x3008e30, 64)) == 50368048); + assert(signed(zero_extend(0x3008e40, 64)) == 50368064); + assert(signed(zero_extend(0x3010e40, 64)) == 50400832); + assert(signed(zero_extend(0x30e0000, 64)) == 51249152); + assert(signed(zero_extend(0x30f0000, 64)) == 51314688); + assert(signed(zero_extend(0x31, 64)) == 49); + assert(signed(zero_extend(0x3100000, 64)) == 51380224); + assert(signed(zero_extend(0x3100040, 64)) == 51380288); + assert(signed(zero_extend(0x3110000, 64)) == 51445760); + assert(signed(zero_extend(0x3110208, 64)) == 51446280); + assert(signed(zero_extend(0x3120000, 64)) == 51511296); + assert(signed(zero_extend(0x3120800, 64)) == 51513344); + assert(signed(zero_extend(0x31d0000, 64)) == 52232192); + assert(signed(zero_extend(0x31d0200, 64)) == 52232704); + assert(signed(zero_extend(0x31d0208, 64)) == 52232712); + assert(signed(zero_extend(0x31d02f0, 64)) == 52232944); + assert(signed(zero_extend(0x31d02f8, 64)) == 52232952); + assert(signed(zero_extend(0x31d0300, 64)) == 52232960); + assert(signed(zero_extend(0x31d0308, 64)) == 52232968); + assert(signed(zero_extend(0x31d0318, 64)) == 52232984); + assert(signed(zero_extend(0x31d0320, 64)) == 52232992); + assert(signed(zero_extend(0x31d0328, 64)) == 52233000); + assert(signed(zero_extend(0x31d04d0, 64)) == 52233424); + assert(signed(zero_extend(0x31d04d8, 64)) == 52233432); + assert(signed(zero_extend(0x31d04e4, 64)) == 52233444); + assert(signed(zero_extend(0x31d04ec, 64)) == 52233452); + assert(signed(zero_extend(0x31d04f8, 64)) == 52233464); + assert(signed(zero_extend(0x31d0500, 64)) == 52233472); + assert(signed(zero_extend(0x31d050c, 64)) == 52233484); + assert(signed(zero_extend(0x31d0518, 64)) == 52233496); + assert(signed(zero_extend(0x31d0524, 64)) == 52233508); + assert(signed(zero_extend(0x31d052c, 64)) == 52233516); + assert(signed(zero_extend(0x31d0538, 64)) == 52233528); + assert(signed(zero_extend(0x31d0540, 64)) == 52233536); + assert(signed(zero_extend(0x31d054c, 64)) == 52233548); + assert(signed(zero_extend(0x31d0554, 64)) == 52233556); + assert(signed(zero_extend(0x31d0560, 64)) == 52233568); + assert(signed(zero_extend(0x31d0568, 64)) == 52233576); + assert(signed(zero_extend(0x31d0584, 64)) == 52233604); + assert(signed(zero_extend(0x31d058c, 64)) == 52233612); + assert(signed(zero_extend(0x31d0598, 64)) == 52233624); + assert(signed(zero_extend(0x31d05a0, 64)) == 52233632); + assert(signed(zero_extend(0x31d05ac, 64)) == 52233644); + assert(signed(zero_extend(0x31d05b4, 64)) == 52233652); + assert(signed(zero_extend(0x31d05c0, 64)) == 52233664); + assert(signed(zero_extend(0x31d05c8, 64)) == 52233672); + assert(signed(zero_extend(0x31d05d4, 64)) == 52233684); + assert(signed(zero_extend(0x31d05dc, 64)) == 52233692); + assert(signed(zero_extend(0x31d05e8, 64)) == 52233704); + assert(signed(zero_extend(0x31d05f0, 64)) == 52233712); + assert(signed(zero_extend(0x31d05fc, 64)) == 52233724); + assert(signed(zero_extend(0x31d0604, 64)) == 52233732); + assert(signed(zero_extend(0x31d0610, 64)) == 52233744); + assert(signed(zero_extend(0x31d0618, 64)) == 52233752); + assert(signed(zero_extend(0x31d0624, 64)) == 52233764); + assert(signed(zero_extend(0x31d062c, 64)) == 52233772); + assert(signed(zero_extend(0x31d0638, 64)) == 52233784); + assert(signed(zero_extend(0x31d0640, 64)) == 52233792); + assert(signed(zero_extend(0x31d064c, 64)) == 52233804); + assert(signed(zero_extend(0x31d0654, 64)) == 52233812); + assert(signed(zero_extend(0x31d0660, 64)) == 52233824); + assert(signed(zero_extend(0x31d0668, 64)) == 52233832); + assert(signed(zero_extend(0x31d0674, 64)) == 52233844); + assert(signed(zero_extend(0x31d067c, 64)) == 52233852); + assert(signed(zero_extend(0x31d0688, 64)) == 52233864); + assert(signed(zero_extend(0x31d0690, 64)) == 52233872); + assert(signed(zero_extend(0x31d06b0, 64)) == 52233904); + assert(signed(zero_extend(0x31d06b8, 64)) == 52233912); + assert(signed(zero_extend(0x31d06c4, 64)) == 52233924); + assert(signed(zero_extend(0x31d06cc, 64)) == 52233932); + assert(signed(zero_extend(0x31d06d8, 64)) == 52233944); + assert(signed(zero_extend(0x31d06e0, 64)) == 52233952); + assert(signed(zero_extend(0x31d0700, 64)) == 52233984); + assert(signed(zero_extend(0x31d0708, 64)) == 52233992); + assert(signed(zero_extend(0x31d0714, 64)) == 52234004); + assert(signed(zero_extend(0x31d071c, 64)) == 52234012); + assert(signed(zero_extend(0x31d073c, 64)) == 52234044); + assert(signed(zero_extend(0x31d0744, 64)) == 52234052); + assert(signed(zero_extend(0x31d0750, 64)) == 52234064); + assert(signed(zero_extend(0x31d0758, 64)) == 52234072); + assert(signed(zero_extend(0x31d0764, 64)) == 52234084); + assert(signed(zero_extend(0x31d076c, 64)) == 52234092); + assert(signed(zero_extend(0x31d0780, 64)) == 52234112); + assert(signed(zero_extend(0x31d0788, 64)) == 52234120); + assert(signed(zero_extend(0x31d1398, 64)) == 52237208); + assert(signed(zero_extend(0x31d13b8, 64)) == 52237240); + assert(signed(zero_extend(0x31d13d8, 64)) == 52237272); + assert(signed(zero_extend(0x31d13f8, 64)) == 52237304); + assert(signed(zero_extend(0x31d1418, 64)) == 52237336); + assert(signed(zero_extend(0x31d1438, 64)) == 52237368); + assert(signed(zero_extend(0x31d1458, 64)) == 52237400); + assert(signed(zero_extend(0x31d1478, 64)) == 52237432); + assert(signed(zero_extend(0x31d1498, 64)) == 52237464); + assert(signed(zero_extend(0x31d14b8, 64)) == 52237496); + assert(signed(zero_extend(0x31d14d8, 64)) == 52237528); + assert(signed(zero_extend(0x31d14f8, 64)) == 52237560); + assert(signed(zero_extend(0x31d1518, 64)) == 52237592); + assert(signed(zero_extend(0x31d1538, 64)) == 52237624); + assert(signed(zero_extend(0x31d1558, 64)) == 52237656); + assert(signed(zero_extend(0x31d1578, 64)) == 52237688); + assert(signed(zero_extend(0x31d1598, 64)) == 52237720); + assert(signed(zero_extend(0x31d15b8, 64)) == 52237752); + assert(signed(zero_extend(0x31d15d8, 64)) == 52237784); + assert(signed(zero_extend(0x31d15f8, 64)) == 52237816); + assert(signed(zero_extend(0x31d1618, 64)) == 52237848); + assert(signed(zero_extend(0x31d1638, 64)) == 52237880); + assert(signed(zero_extend(0x31d1658, 64)) == 52237912); + assert(signed(zero_extend(0x31d1678, 64)) == 52237944); + assert(signed(zero_extend(0x31d1698, 64)) == 52237976); + assert(signed(zero_extend(0x31d16b8, 64)) == 52238008); + assert(signed(zero_extend(0x31d16d8, 64)) == 52238040); + assert(signed(zero_extend(0x31d16f8, 64)) == 52238072); + assert(signed(zero_extend(0x31d1718, 64)) == 52238104); + assert(signed(zero_extend(0x31d1738, 64)) == 52238136); + assert(signed(zero_extend(0x31d1758, 64)) == 52238168); + assert(signed(zero_extend(0x31d1780, 64)) == 52238208); + assert(signed(zero_extend(0x31d17d0, 64)) == 52238288); + assert(signed(zero_extend(0x31d17e0, 64)) == 52238304); + assert(signed(zero_extend(0x31d17f0, 64)) == 52238320); + assert(signed(zero_extend(0x31d1890, 64)) == 52238480); + assert(signed(zero_extend(0x31d18a0, 64)) == 52238496); + assert(signed(zero_extend(0x31d18c0, 64)) == 52238528); + assert(signed(zero_extend(0x31d1920, 64)) == 52238624); + assert(signed(zero_extend(0x31d1938, 64)) == 52238648); + assert(signed(zero_extend(0x31d1950, 64)) == 52238672); + assert(signed(zero_extend(0x31d1960, 64)) == 52238688); + assert(signed(zero_extend(0x31d1968, 64)) == 52238696); + assert(signed(zero_extend(0x31d1970, 64)) == 52238704); + assert(signed(zero_extend(0x31d1980, 64)) == 52238720); + assert(signed(zero_extend(0x32, 64)) == 50); + assert(signed(zero_extend(0x320, 64)) == 800); + assert(signed(zero_extend(0x33, 64)) == 51); + assert(signed(zero_extend(0x34, 64)) == 52); + assert(signed(zero_extend(0x34000, 64)) == 212992); + assert(signed(zero_extend(0x34040, 64)) == 213056); + assert(signed(zero_extend(0x35, 64)) == 53); + assert(signed(zero_extend(0x36, 64)) == 54); + assert(signed(zero_extend(0x368, 64)) == 872); + assert(signed(zero_extend(0x37, 64)) == 55); + assert(signed(zero_extend(0x38, 64)) == 56); + assert(signed(zero_extend(0x3800000, 64)) == 58720256); + assert(signed(zero_extend(0x380000a, 64)) == 58720266); + assert(signed(zero_extend(0x3800010, 64)) == 58720272); + assert(signed(zero_extend(0x3800038, 64)) == 58720312); + assert(signed(zero_extend(0x380003a, 64)) == 58720314); + assert(signed(zero_extend(0x380004b, 64)) == 58720331); + assert(signed(zero_extend(0x3800060, 64)) == 58720352); + assert(signed(zero_extend(0x38002c0, 64)) == 58720960); + assert(signed(zero_extend(0x38002f8, 64)) == 58721016); + assert(signed(zero_extend(0x3800310, 64)) == 58721040); + assert(signed(zero_extend(0x3800330, 64)) == 58721072); + assert(signed(zero_extend(0x3800338, 64)) == 58721080); + assert(signed(zero_extend(0x3800350, 64)) == 58721104); + assert(signed(zero_extend(0x3800360, 64)) == 58721120); + assert(signed(zero_extend(0x38003a0, 64)) == 58721184); + assert(signed(zero_extend(0x38003b0, 64)) == 58721200); + assert(signed(zero_extend(0x38003c0, 64)) == 58721216); + assert(signed(zero_extend(0x38003d0, 64)) == 58721232); + assert(signed(zero_extend(0x38003e0, 64)) == 58721248); + assert(signed(zero_extend(0x38003f0, 64)) == 58721264); + assert(signed(zero_extend(0x38003f8, 64)) == 58721272); + assert(signed(zero_extend(0x3800410, 64)) == 58721296); + assert(signed(zero_extend(0x3800420, 64)) == 58721312); + assert(signed(zero_extend(0x3800430, 64)) == 58721328); + assert(signed(zero_extend(0x3800440, 64)) == 58721344); + assert(signed(zero_extend(0x3800448, 64)) == 58721352); + assert(signed(zero_extend(0x3800450, 64)) == 58721360); + assert(signed(zero_extend(0x3800460, 64)) == 58721376); + assert(signed(zero_extend(0x3808060, 64)) == 58753120); + assert(signed(zero_extend(0x3808064, 64)) == 58753124); + assert(signed(zero_extend(0x3808068, 64)) == 58753128); + assert(signed(zero_extend(0x3808070, 64)) == 58753136); + assert(signed(zero_extend(0x3808078, 64)) == 58753144); + assert(signed(zero_extend(0x3808080, 64)) == 58753152); + assert(signed(zero_extend(0x3808140, 64)) == 58753344); + assert(signed(zero_extend(0x3808258, 64)) == 58753624); + assert(signed(zero_extend(0x3808a00, 64)) == 58755584); + assert(signed(zero_extend(0x3808a04, 64)) == 58755588); + assert(signed(zero_extend(0x3808a08, 64)) == 58755592); + assert(signed(zero_extend(0x3808a10, 64)) == 58755600); + assert(signed(zero_extend(0x3808a18, 64)) == 58755608); + assert(signed(zero_extend(0x3808a20, 64)) == 58755616); + assert(signed(zero_extend(0x3808a70, 64)) == 58755696); + assert(signed(zero_extend(0x3808a78, 64)) == 58755704); + assert(signed(zero_extend(0x3808b78, 64)) == 58755960); + assert(signed(zero_extend(0x3808b80, 64)) == 58755968); + assert(signed(zero_extend(0x380d000, 64)) == 58773504); + assert(signed(zero_extend(0x380d610, 64)) == 58775056); + assert(signed(zero_extend(0x380d880, 64)) == 58775680); + assert(signed(zero_extend(0x380d8c0, 64)) == 58775744); + assert(signed(zero_extend(0x380d8d0, 64)) == 58775760); + assert(signed(zero_extend(0x380d8e0, 64)) == 58775776); + assert(signed(zero_extend(0x380d8e8, 64)) == 58775784); + assert(signed(zero_extend(0x380d8f0, 64)) == 58775792); + assert(signed(zero_extend(0x380d900, 64)) == 58775808); + assert(signed(zero_extend(0x380d910, 64)) == 58775824); + assert(signed(zero_extend(0x380d960, 64)) == 58775904); + assert(signed(zero_extend(0x380d970, 64)) == 58775920); + assert(signed(zero_extend(0x380d980, 64)) == 58775936); + assert(signed(zero_extend(0x380d990, 64)) == 58775952); + assert(signed(zero_extend(0x380d9a0, 64)) == 58775968); + assert(signed(zero_extend(0x380d9b0, 64)) == 58775984); + assert(signed(zero_extend(0x380d9b8, 64)) == 58775992); + assert(signed(zero_extend(0x380d9d0, 64)) == 58776016); + assert(signed(zero_extend(0x380d9e0, 64)) == 58776032); + assert(signed(zero_extend(0x380d9f0, 64)) == 58776048); + assert(signed(zero_extend(0x380da00, 64)) == 58776064); + assert(signed(zero_extend(0x380da10, 64)) == 58776080); + assert(signed(zero_extend(0x3811610, 64)) == 58791440); + assert(signed(zero_extend(0x3813610, 64)) == 58799632); + assert(signed(zero_extend(0x3815610, 64)) == 58807824); + assert(signed(zero_extend(0x3815618, 64)) == 58807832); + assert(signed(zero_extend(0x3815624, 64)) == 58807844); + assert(signed(zero_extend(0x3815628, 64)) == 58807848); + assert(signed(zero_extend(0x3815630, 64)) == 58807856); + assert(signed(zero_extend(0x3815638, 64)) == 58807864); + assert(signed(zero_extend(0x381563c, 64)) == 58807868); + assert(signed(zero_extend(0x3815640, 64)) == 58807872); + assert(signed(zero_extend(0x3815648, 64)) == 58807880); + assert(signed(zero_extend(0x3815650, 64)) == 58807888); + assert(signed(zero_extend(0x3815658, 64)) == 58807896); + assert(signed(zero_extend(0x3815668, 64)) == 58807912); + assert(signed(zero_extend(0x3815670, 64)) == 58807920); + assert(signed(zero_extend(0x3815678, 64)) == 58807928); + assert(signed(zero_extend(0x3815778, 64)) == 58808184); + assert(signed(zero_extend(0x3815780, 64)) == 58808192); + assert(signed(zero_extend(0x3815b50, 64)) == 58809168); + assert(signed(zero_extend(0x3815b58, 64)) == 58809176); + assert(signed(zero_extend(0x3815c58, 64)) == 58809432); + assert(signed(zero_extend(0x3815c60, 64)) == 58809440); + assert(signed(zero_extend(0x3815d80, 64)) == 58809728); + assert(signed(zero_extend(0x3817d80, 64)) == 58817920); + assert(signed(zero_extend(0x3819d80, 64)) == 58826112); + assert(signed(zero_extend(0x3819d84, 64)) == 58826116); + assert(signed(zero_extend(0x3819d88, 64)) == 58826120); + assert(signed(zero_extend(0x3819d8c, 64)) == 58826124); + assert(signed(zero_extend(0x3819d90, 64)) == 58826128); + assert(signed(zero_extend(0x3819d98, 64)) == 58826136); + assert(signed(zero_extend(0x3819da0, 64)) == 58826144); + assert(signed(zero_extend(0x3819da8, 64)) == 58826152); + assert(signed(zero_extend(0x3819db8, 64)) == 58826168); + assert(signed(zero_extend(0x3819dc0, 64)) == 58826176); + assert(signed(zero_extend(0x3819dc8, 64)) == 58826184); + assert(signed(zero_extend(0x3819ed0, 64)) == 58826448); + assert(signed(zero_extend(0x381a000, 64)) == 58826752); + assert(signed(zero_extend(0x381a280, 64)) == 58827392); + assert(signed(zero_extend(0x381a284, 64)) == 58827396); + assert(signed(zero_extend(0x381a288, 64)) == 58827400); + assert(signed(zero_extend(0x381a28c, 64)) == 58827404); + assert(signed(zero_extend(0x381a290, 64)) == 58827408); + assert(signed(zero_extend(0x381a298, 64)) == 58827416); + assert(signed(zero_extend(0x381a2a0, 64)) == 58827424); + assert(signed(zero_extend(0x381a2a8, 64)) == 58827432); + assert(signed(zero_extend(0x381a2b8, 64)) == 58827448); + assert(signed(zero_extend(0x381a2c0, 64)) == 58827456); + assert(signed(zero_extend(0x381a2c8, 64)) == 58827464); + assert(signed(zero_extend(0x381a3c8, 64)) == 58827720); + assert(signed(zero_extend(0x381a3d0, 64)) == 58827728); + assert(signed(zero_extend(0x381a780, 64)) == 58828672); + assert(signed(zero_extend(0x381a784, 64)) == 58828676); + assert(signed(zero_extend(0x381a788, 64)) == 58828680); + assert(signed(zero_extend(0x381a790, 64)) == 58828688); + assert(signed(zero_extend(0x381a798, 64)) == 58828696); + assert(signed(zero_extend(0x381a7a0, 64)) == 58828704); + assert(signed(zero_extend(0x381a7a4, 64)) == 58828708); + assert(signed(zero_extend(0x381a7ac, 64)) == 58828716); + assert(signed(zero_extend(0x381a7b0, 64)) == 58828720); + assert(signed(zero_extend(0x381a7b8, 64)) == 58828728); + assert(signed(zero_extend(0x381a7c0, 64)) == 58828736); + assert(signed(zero_extend(0x381a7c8, 64)) == 58828744); + assert(signed(zero_extend(0x381a7d8, 64)) == 58828760); + assert(signed(zero_extend(0x381a7e0, 64)) == 58828768); + assert(signed(zero_extend(0x381a8e0, 64)) == 58829024); + assert(signed(zero_extend(0x381a8e8, 64)) == 58829032); + assert(signed(zero_extend(0x381acb0, 64)) == 58830000); + assert(signed(zero_extend(0x381acb8, 64)) == 58830008); + assert(signed(zero_extend(0x381adb8, 64)) == 58830264); + assert(signed(zero_extend(0x381adc0, 64)) == 58830272); + assert(signed(zero_extend(0x381aee0, 64)) == 58830560); + assert(signed(zero_extend(0x381af00, 64)) == 58830592); + assert(signed(zero_extend(0x381b150, 64)) == 58831184); + assert(signed(zero_extend(0x381b188, 64)) == 58831240); + assert(signed(zero_extend(0x381b1a0, 64)) == 58831264); + assert(signed(zero_extend(0x381b1d0, 64)) == 58831312); + assert(signed(zero_extend(0x381b1d8, 64)) == 58831320); + assert(signed(zero_extend(0x381b1e0, 64)) == 58831328); + assert(signed(zero_extend(0x381b1f0, 64)) == 58831344); + assert(signed(zero_extend(0x381b200, 64)) == 58831360); + assert(signed(zero_extend(0x381b240, 64)) == 58831424); + assert(signed(zero_extend(0x381b250, 64)) == 58831440); + assert(signed(zero_extend(0x381b260, 64)) == 58831456); + assert(signed(zero_extend(0x381b270, 64)) == 58831472); + assert(signed(zero_extend(0x381b278, 64)) == 58831480); + assert(signed(zero_extend(0x381b280, 64)) == 58831488); + assert(signed(zero_extend(0x381b290, 64)) == 58831504); + assert(signed(zero_extend(0x381b298, 64)) == 58831512); + assert(signed(zero_extend(0x381b2b0, 64)) == 58831536); + assert(signed(zero_extend(0x381b2c0, 64)) == 58831552); + assert(signed(zero_extend(0x381b2d0, 64)) == 58831568); + assert(signed(zero_extend(0x381b2e0, 64)) == 58831584); + assert(signed(zero_extend(0x381b2e8, 64)) == 58831592); + assert(signed(zero_extend(0x381b2f0, 64)) == 58831600); + assert(signed(zero_extend(0x381b300, 64)) == 58831616); + assert(signed(zero_extend(0x39, 64)) == 57); + assert(signed(zero_extend(0x3a, 64)) == 58); + assert(signed(zero_extend(0x3b, 64)) == 59); + assert(signed(zero_extend(0x3c, 64)) == 60); + assert(signed(zero_extend(0x3d, 64)) == 61); + assert(signed(zero_extend(0x3e, 64)) == 62); + assert(signed(zero_extend(0x3f, 64)) == 63); + assert(signed(zero_extend(0x3ff83ff83ff83ff8, 64)) == 4609504554071375864); + assert(signed(zero_extend(0x3fff, 64)) == 16383); + assert(signed(zero_extend(0x3ffffffff, 64)) == 17179869183); + assert(signed(zero_extend(0x4, 64)) == 4); + assert(signed(zero_extend(0x40, 64)) == 64); + assert(signed(zero_extend(0x400, 64)) == 1024); + assert(signed(zero_extend(0x4000, 64)) == 16384); + assert(signed(zero_extend(0x400000000, 64)) == 17179869184); + assert(signed(zero_extend(0x41, 64)) == 65); + assert(signed(zero_extend(0x42, 64)) == 66); + assert(signed(zero_extend(0x43, 64)) == 67); + assert(signed(zero_extend(0x44, 64)) == 68); + assert(signed(zero_extend(0x45, 64)) == 69); + assert(signed(zero_extend(0x46, 64)) == 70); + assert(signed(zero_extend(0x47, 64)) == 71); + assert(signed(zero_extend(0x48, 64)) == 72); + assert(signed(zero_extend(0x49, 64)) == 73); + assert(signed(zero_extend(0x4a, 64)) == 74); + assert(signed(zero_extend(0x4b, 64)) == 75); + assert(signed(zero_extend(0x4c, 64)) == 76); + assert(signed(zero_extend(0x4c000, 64)) == 311296); + assert(signed(zero_extend(0x4c800, 64)) == 313344); + assert(signed(zero_extend(0x4d, 64)) == 77); + assert(signed(zero_extend(0x4e, 64)) == 78); + assert(signed(zero_extend(0x4f, 64)) == 79); + assert(signed(zero_extend(0x5, 64)) == 5); + assert(signed(zero_extend(0x50, 64)) == 80); + assert(signed(zero_extend(0x51, 64)) == 81); + assert(signed(zero_extend(0x52, 64)) == 82); + assert(signed(zero_extend(0x53, 64)) == 83); + assert(signed(zero_extend(0x530, 64)) == 1328); + assert(signed(zero_extend(0x54, 64)) == 84); + assert(signed(zero_extend(0x54000, 64)) == 344064); + assert(signed(zero_extend(0x55, 64)) == 85); + assert(signed(zero_extend(0x56, 64)) == 86); + assert(signed(zero_extend(0x57, 64)) == 87); + assert(signed(zero_extend(0x58, 64)) == 88); + assert(signed(zero_extend(0x58000, 64)) == 360448); + assert(signed(zero_extend(0x59, 64)) == 89); + assert(signed(zero_extend(0x5a, 64)) == 90); + assert(signed(zero_extend(0x5a5a, 64)) == 23130); + assert(signed(zero_extend(0x5a5a5a59, 64)) == 1515870809); + assert(signed(zero_extend(0x5a5a5a5a, 64)) == 1515870810); + assert(signed(zero_extend(0x5a5a5a5a5a5a5a59, 64)) == 6510615555426900569); + assert(signed(zero_extend(0x5a5a5a5a5a5a5a5a, 64)) == 6510615555426900570); + assert(signed(zero_extend(0x5b, 64)) == 91); + assert(signed(zero_extend(0x5c, 64)) == 92); + assert(signed(zero_extend(0x5c000, 64)) == 376832); + assert(signed(zero_extend(0x5c040, 64)) == 376896); + assert(signed(zero_extend(0x5d, 64)) == 93); + assert(signed(zero_extend(0x5e, 64)) == 94); + assert(signed(zero_extend(0x5f, 64)) == 95); + assert(signed(zero_extend(0x6, 64)) == 6); + assert(signed(zero_extend(0x60, 64)) == 96); + assert(signed(zero_extend(0x61, 64)) == 97); + assert(signed(zero_extend(0x610, 64)) == 1552); + assert(signed(zero_extend(0x62, 64)) == 98); + assert(signed(zero_extend(0x620e000, 64)) == 102817792); + assert(signed(zero_extend(0x620e010, 64)) == 102817808); + assert(signed(zero_extend(0x6216000, 64)) == 102850560); + assert(signed(zero_extend(0x6216004, 64)) == 102850564); + assert(signed(zero_extend(0x6216008, 64)) == 102850568); + assert(signed(zero_extend(0x621600c, 64)) == 102850572); + assert(signed(zero_extend(0x6216030, 64)) == 102850608); + assert(signed(zero_extend(0x6216034, 64)) == 102850612); + assert(signed(zero_extend(0x6216038, 64)) == 102850616); + assert(signed(zero_extend(0x621603c, 64)) == 102850620); + assert(signed(zero_extend(0x6216040, 64)) == 102850624); + assert(signed(zero_extend(0x6216044, 64)) == 102850628); + assert(signed(zero_extend(0x6216048, 64)) == 102850632); + assert(signed(zero_extend(0x621604c, 64)) == 102850636); + assert(signed(zero_extend(0x6216054, 64)) == 102850644); + assert(signed(zero_extend(0x6216058, 64)) == 102850648); + assert(signed(zero_extend(0x6216064, 64)) == 102850660); + assert(signed(zero_extend(0x6216069, 64)) == 102850665); + assert(signed(zero_extend(0x62160aa, 64)) == 102850730); + assert(signed(zero_extend(0x63, 64)) == 99); + assert(signed(zero_extend(0x64, 64)) == 100); + assert(signed(zero_extend(0x65, 64)) == 101); + assert(signed(zero_extend(0x66, 64)) == 102); + assert(signed(zero_extend(0x67, 64)) == 103); + assert(signed(zero_extend(0x68, 64)) == 104); + assert(signed(zero_extend(0x69, 64)) == 105); + assert(signed(zero_extend(0x6a, 64)) == 106); + assert(signed(zero_extend(0x6b, 64)) == 107); + assert(signed(zero_extend(0x6b7c8d9f, 64)) == 1803324831); + assert(signed(zero_extend(0x6c, 64)) == 108); + assert(signed(zero_extend(0x6d, 64)) == 109); + assert(signed(zero_extend(0x6e, 64)) == 110); + assert(signed(zero_extend(0x6ede4cbc6ede4cbb, 64)) == 7988907161199463611); + assert(signed(zero_extend(0x6f, 64)) == 111); + assert(signed(zero_extend(0x6ffffffffffffffe, 64)) == 8070450532247928830); + assert(signed(zero_extend(0x6fffffffffffffff, 64)) == 8070450532247928831); + assert(signed(zero_extend(0x7, 64)) == 7); + assert(signed(zero_extend(0x70, 64)) == 112); + assert(signed(zero_extend(0x71, 64)) == 113); + assert(signed(zero_extend(0x72, 64)) == 114); + assert(signed(zero_extend(0x73, 64)) == 115); + assert(signed(zero_extend(0x74, 64)) == 116); + assert(signed(zero_extend(0x75, 64)) == 117); + assert(signed(zero_extend(0x76, 64)) == 118); + assert(signed(zero_extend(0x764c321, 64)) == 124044065); + assert(signed(zero_extend(0x77, 64)) == 119); + assert(signed(zero_extend(0x7765554377655542, 64)) == 8603376411415500098); + assert(signed(zero_extend(0x7766554477665542, 64)) == 8603657890687243586); + assert(signed(zero_extend(0x78, 64)) == 120); + assert(signed(zero_extend(0x789abcdef0123456, 64)) == 8690466096661279830); + assert(signed(zero_extend(0x79, 64)) == 121); + assert(signed(zero_extend(0x7a, 64)) == 122); + assert(signed(zero_extend(0x7b, 64)) == 123); + assert(signed(zero_extend(0x7c, 64)) == 124); + assert(signed(zero_extend(0x7d, 64)) == 125); + assert(signed(zero_extend(0x7e, 64)) == 126); + assert(signed(zero_extend(0x7f, 64)) == 127); + assert(signed(zero_extend(0x7ff, 64)) == 2047); + assert(signed(zero_extend(0x7ffc, 64)) == 32764); + assert(signed(zero_extend(0x7ffe, 64)) == 32766); + assert(signed(zero_extend(0x7fff, 64)) == 32767); + assert(signed(zero_extend(0x7fff7fff, 64)) == 2147450879); + assert(signed(zero_extend(0x7fff7fff7fff7ffd, 64)) == 9223231297218904061); + assert(signed(zero_extend(0x7fff7fff7fff7fff, 64)) == 9223231297218904063); + assert(signed(zero_extend(0x7fffffc, 64)) == 134217724); + assert(signed(zero_extend(0x7ffffffe, 64)) == 2147483646); + assert(signed(zero_extend(0x7fffffff, 64)) == 2147483647); + assert(signed(zero_extend(0x7fffffff00000000, 64)) == 9223372032559808512); + assert(signed(zero_extend(0x7fffffff00000001, 64)) == 9223372032559808513); + assert(signed(zero_extend(0x7fffffff7ffffffe, 64)) == 9223372034707292158); + assert(signed(zero_extend(0x7fffffff7fffffff, 64)) == 9223372034707292159); + assert(signed(zero_extend(0x7fffffff80000000, 64)) == 9223372034707292160); + assert(signed(zero_extend(0x7fffffff80000001, 64)) == 9223372034707292161); + assert(signed(zero_extend(0x7fffffffffff0000, 64)) == 9223372036854710272); + assert(signed(zero_extend(0x7fffffffffff0001, 64)) == 9223372036854710273); + assert(signed(zero_extend(0x7fffffffffff7ffe, 64)) == 9223372036854743038); + assert(signed(zero_extend(0x7fffffffffff7fff, 64)) == 9223372036854743039); + assert(signed(zero_extend(0x7fffffffffff8000, 64)) == 9223372036854743040); + assert(signed(zero_extend(0x7fffffffffff8001, 64)) == 9223372036854743041); + assert(signed(zero_extend(0x7ffffffffffffffc, 64)) == 9223372036854775804); + assert(signed(zero_extend(0x7ffffffffffffffd, 64)) == 9223372036854775805); + assert(signed(zero_extend(0x7ffffffffffffffe, 64)) == 9223372036854775806); + assert(signed(zero_extend(0x7fffffffffffffff, 64)) == 9223372036854775807); + assert(signed(zero_extend(0x8, 64)) == 8); + assert(signed(zero_extend(0x80, 64)) == 128); + assert(signed(zero_extend(0x800, 64)) == 2048); + assert(signed(zero_extend(0x8000, 64)) == 32768); + assert(signed(zero_extend(0x80000000, 64)) == 2147483648); + assert(signed(zero_extend(0x8000000000000000, 64)) == -9223372036854775808); + assert(signed(zero_extend(0x8000000000000001, 64)) == -9223372036854775807); + assert(signed(zero_extend(0x8000000000000002, 64)) == -9223372036854775806); + assert(signed(zero_extend(0x8000000000000003, 64)) == -9223372036854775805); + assert(signed(zero_extend(0x8000000000007ffe, 64)) == -9223372036854743042); + assert(signed(zero_extend(0x8000000000007fff, 64)) == -9223372036854743041); + assert(signed(zero_extend(0x8000000000008000, 64)) == -9223372036854743040); + assert(signed(zero_extend(0x8000000000008001, 64)) == -9223372036854743039); + assert(signed(zero_extend(0x800000000000fffe, 64)) == -9223372036854710274); + assert(signed(zero_extend(0x800000000000ffff, 64)) == -9223372036854710273); + assert(signed(zero_extend(0x800000007ffffffe, 64)) == -9223372034707292162); + assert(signed(zero_extend(0x800000007fffffff, 64)) == -9223372034707292161); + assert(signed(zero_extend(0x8000000080000000, 64)) == -9223372034707292160); + assert(signed(zero_extend(0x8000000080000001, 64)) == -9223372034707292159); + assert(signed(zero_extend(0x80000000fffffffe, 64)) == -9223372032559808514); + assert(signed(zero_extend(0x80000000ffffffff, 64)) == -9223372032559808513); + assert(signed(zero_extend(0x80000001, 64)) == 2147483649); + assert(signed(zero_extend(0x80000002, 64)) == 2147483650); + assert(signed(zero_extend(0x80000003, 64)) == 2147483651); + assert(signed(zero_extend(0x80008000, 64)) == 2147516416); + assert(signed(zero_extend(0x8000800080008000, 64)) == -9223231297218904064); + assert(signed(zero_extend(0x8000800080008002, 64)) == -9223231297218904062); + assert(signed(zero_extend(0x8001, 64)) == 32769); + assert(signed(zero_extend(0x80010003, 64)) == 2147549187); + assert(signed(zero_extend(0x8002, 64)) == 32770); + assert(signed(zero_extend(0x8003, 64)) == 32771); + assert(signed(zero_extend(0x8004, 64)) == 32772); + assert(signed(zero_extend(0x8008, 64)) == 32776); + assert(signed(zero_extend(0x800c, 64)) == 32780); + assert(signed(zero_extend(0x8030, 64)) == 32816); + assert(signed(zero_extend(0x8034, 64)) == 32820); + assert(signed(zero_extend(0x8038, 64)) == 32824); + assert(signed(zero_extend(0x803c, 64)) == 32828); + assert(signed(zero_extend(0x8040, 64)) == 32832); + assert(signed(zero_extend(0x8054, 64)) == 32852); + assert(signed(zero_extend(0x8058, 64)) == 32856); + assert(signed(zero_extend(0x8064, 64)) == 32868); + assert(signed(zero_extend(0x8069, 64)) == 32873); + assert(signed(zero_extend(0x80aa, 64)) == 32938); + assert(signed(zero_extend(0x81, 64)) == 129); + assert(signed(zero_extend(0x82, 64)) == 130); + assert(signed(zero_extend(0x83, 64)) == 131); + assert(signed(zero_extend(0x84, 64)) == 132); + assert(signed(zero_extend(0x84000, 64)) == 540672); + assert(signed(zero_extend(0x84800, 64)) == 542720); + assert(signed(zero_extend(0x85, 64)) == 133); + assert(signed(zero_extend(0x86, 64)) == 134); + assert(signed(zero_extend(0x87, 64)) == 135); + assert(signed(zero_extend(0x87654321, 64)) == 2271560481); + assert(signed(zero_extend(0x876543210fedcba9, 64)) == -8690466096661279831); + assert(signed(zero_extend(0x88, 64)) == 136); + assert(signed(zero_extend(0x8899aabb, 64)) == 2291772091); + assert(signed(zero_extend(0x8899aabb8899aabb, 64)) == -8603657890687243589); + assert(signed(zero_extend(0x8899aabb8899aabd, 64)) == -8603657890687243587); + assert(signed(zero_extend(0x889aaabc889aaabd, 64)) == -8603376411415500099); + assert(signed(zero_extend(0x89, 64)) == 137); + assert(signed(zero_extend(0x89ab, 64)) == 35243); + assert(signed(zero_extend(0x8a, 64)) == 138); + assert(signed(zero_extend(0x8b, 64)) == 139); + assert(signed(zero_extend(0x8c, 64)) == 140); + assert(signed(zero_extend(0x8d, 64)) == 141); + assert(signed(zero_extend(0x8fffffffffffffff, 64)) == -8070450532247928833); + assert(signed(zero_extend(0x9, 64)) == 9); + assert(signed(zero_extend(0x90, 64)) == 144); + assert(signed(zero_extend(0x90000000, 64)) == 2415919104); + assert(signed(zero_extend(0x9000000000000000, 64)) == -8070450532247928832); + assert(signed(zero_extend(0x9000000000000001, 64)) == -8070450532247928831); + assert(signed(zero_extend(0x90000001, 64)) == 2415919105); + assert(signed(zero_extend(0x9121b3439121b344, 64)) == -7988907161199463612); + assert(signed(zero_extend(0x9200040, 64)) == 153092160); + assert(signed(zero_extend(0x920005c, 64)) == 153092188); + assert(signed(zero_extend(0x9200060, 64)) == 153092192); + assert(signed(zero_extend(0x9234567a, 64)) == 2452903546); + assert(signed(zero_extend(0x9be0, 64)) == 39904); + assert(signed(zero_extend(0xa, 64)) == 10); + assert(signed(zero_extend(0xa0, 64)) == 160); + assert(signed(zero_extend(0xa000, 64)) == 40960); + assert(signed(zero_extend(0xa0000000, 64)) == 2684354560); + assert(signed(zero_extend(0xa200060, 64)) == 169869408); + assert(signed(zero_extend(0xa20007c, 64)) == 169869436); + assert(signed(zero_extend(0xa200080, 64)) == 169869440); + assert(signed(zero_extend(0xa50006c, 64)) == 173015148); + assert(signed(zero_extend(0xa500070, 64)) == 173015152); + assert(signed(zero_extend(0xa500074, 64)) == 173015156); + assert(signed(zero_extend(0xa5a5, 64)) == 42405); + assert(signed(zero_extend(0xa5a5a5a5, 64)) == 2779096485); + assert(signed(zero_extend(0xa5a5a5a5a5a5a5a5, 64)) == -6510615555426900571); + assert(signed(zero_extend(0xa8, 64)) == 168); + assert(signed(zero_extend(0xb, 64)) == 11); + assert(signed(zero_extend(0xb0, 64)) == 176); + assert(signed(zero_extend(0xb8, 64)) == 184); + assert(signed(zero_extend(0xc, 64)) == 12); + assert(signed(zero_extend(0xc0, 64)) == 192); + assert(signed(zero_extend(0xc00fefff, 64)) == 3222269951); + assert(signed(zero_extend(0xd, 64)) == 13); + assert(signed(zero_extend(0xd0, 64)) == 208); + assert(signed(zero_extend(0xdddddddddddddddc, 64)) == -2459565876494606884); + assert(signed(zero_extend(0xe, 64)) == 14); + assert(signed(zero_extend(0xe0, 64)) == 224); + assert(signed(zero_extend(0xedcba9876543210e, 64)) == -1311768467463790322); + assert(signed(zero_extend(0xf, 64)) == 15); + assert(signed(zero_extend(0xf00, 64)) == 3840); + assert(signed(zero_extend(0xf000000000000000, 64)) == -1152921504606846976); + assert(signed(zero_extend(0xff, 64)) == 255); + assert(signed(zero_extend(0xfffe, 64)) == 65534); + assert(signed(zero_extend(0xffff, 64)) == 65535); + assert(signed(zero_extend(0xffff8000, 64)) == 4294934528); + assert(signed(zero_extend(0xffffc, 64)) == 1048572); + assert(signed(zero_extend(0xffffe000ffffe000, 64)) == -35180077129728); + assert(signed(zero_extend(0xfffffff, 64)) == 268435455); + assert(signed(zero_extend(0xfffffffe, 64)) == 4294967294); + assert(signed(zero_extend(0xfffffffe77665544, 64)) == -6586739388); + assert(signed(zero_extend(0xfffffffe7fffffff, 64)) == -6442450945); + assert(signed(zero_extend(0xfffffffe80000000, 64)) == -6442450944); + assert(signed(zero_extend(0xfffffffef89b3cde, 64)) == -4419011362); + assert(signed(zero_extend(0xfffffffefffffffe, 64)) == -4294967298); + assert(signed(zero_extend(0xfffffffeffffffff, 64)) == -4294967297); + assert(signed(zero_extend(0xffffffff, 64)) == 4294967295); + assert(signed(zero_extend(0xffffffff00000000, 64)) == -4294967296); + assert(signed(zero_extend(0xffffffff00000001, 64)) == -4294967295); + assert(signed(zero_extend(0xffffffff00007fff, 64)) == -4294934529); + assert(signed(zero_extend(0xffffffff3ff01000, 64)) == -3222269952); + assert(signed(zero_extend(0xffffffff5fffffff, 64)) == -2684354561); + assert(signed(zero_extend(0xffffffff6dcba985, 64)) == -2452903547); + assert(signed(zero_extend(0xffffffff6ffffffe, 64)) == -2415919106); + assert(signed(zero_extend(0xffffffff6fffffff, 64)) == -2415919105); + assert(signed(zero_extend(0xffffffff77665544, 64)) == -2291772092); + assert(signed(zero_extend(0xffffffff7ffefffc, 64)) == -2147549188); + assert(signed(zero_extend(0xffffffff7ffffffc, 64)) == -2147483652); + assert(signed(zero_extend(0xffffffff7ffffffd, 64)) == -2147483651); + assert(signed(zero_extend(0xffffffff7ffffffe, 64)) == -2147483650); + assert(signed(zero_extend(0xffffffff7fffffff, 64)) == -2147483649); + assert(signed(zero_extend(0xffffffff80000000, 64)) == -2147483648); + assert(signed(zero_extend(0xffffffff80000001, 64)) == -2147483647); + assert(signed(zero_extend(0xffffffff94837260, 64)) == -1803324832); + assert(signed(zero_extend(0xffffffffdfffffff, 64)) == -536870913); + assert(signed(zero_extend(0xffffffffed9fff7f, 64)) == -308281473); + assert(signed(zero_extend(0xffffffffedafff8f, 64)) == -307232881); + assert(signed(zero_extend(0xfffffffff0000000, 64)) == -268435456); + assert(signed(zero_extend(0xfffffffff7ffffff, 64)) == -134217729); + assert(signed(zero_extend(0xfffffffff89b3cde, 64)) == -124044066); + assert(signed(zero_extend(0xfffffffffcefffff, 64)) == -51380225); + assert(signed(zero_extend(0xfffffffffcf0ffff, 64)) == -51314689); + assert(signed(zero_extend(0xfffffffffcf1ffff, 64)) == -51249153); + assert(signed(zero_extend(0xfffffffffcf84000, 64)) == -50839552); + assert(signed(zero_extend(0xfffffffffcf94000, 64)) == -50774016); + assert(signed(zero_extend(0xfffffffffcfa4000, 64)) == -50708480); + assert(signed(zero_extend(0xfffffffffd0affff, 64)) == -49610753); + assert(signed(zero_extend(0xfffffffffd0bffff, 64)) == -49545217); + assert(signed(zero_extend(0xfffffffffd0fc000, 64)) == -49299456); + assert(signed(zero_extend(0xfffffffffd10c000, 64)) == -49233920); + assert(signed(zero_extend(0xfffffffffd10ffff, 64)) == -49217537); + assert(signed(zero_extend(0xfffffffffd11ffff, 64)) == -49152001); + assert(signed(zero_extend(0xfffffffffd130000, 64)) == -49086464); + assert(signed(zero_extend(0xfffffffffd13ffff, 64)) == -49020929); + assert(signed(zero_extend(0xfffffffffd140000, 64)) == -49020928); + assert(signed(zero_extend(0xfffffffffd14ffff, 64)) == -48955393); + assert(signed(zero_extend(0xfffffffffd170000, 64)) == -48824320); + assert(signed(zero_extend(0xfffffffffd18c000, 64)) == -48709632); + assert(signed(zero_extend(0xfffffffffebffe6b, 64)) == -20971925); + assert(signed(zero_extend(0xfffffffffebffefb, 64)) == -20971781); + assert(signed(zero_extend(0xfffffffffebfff3b, 64)) == -20971717); + assert(signed(zero_extend(0xffffffffffefffff, 64)) == -1048577); + assert(signed(zero_extend(0xfffffffffff, 64)) == 17592186044415); + assert(signed(zero_extend(0xfffffffffff70000, 64)) == -589824); + assert(signed(zero_extend(0xfffffffffff80000, 64)) == -524288); + assert(signed(zero_extend(0xfffffffffffc0000, 64)) == -262144); + assert(signed(zero_extend(0xfffffffffffd0000, 64)) == -196608); + assert(signed(zero_extend(0xfffffffffffdffff, 64)) == -131073); + assert(signed(zero_extend(0xfffffffffffe0000, 64)) == -131072); + assert(signed(zero_extend(0xfffffffffffe7ffe, 64)) == -98306); + assert(signed(zero_extend(0xfffffffffffe7fff, 64)) == -98305); + assert(signed(zero_extend(0xfffffffffffe8000, 64)) == -98304); + assert(signed(zero_extend(0xfffffffffffe8001, 64)) == -98303); + assert(signed(zero_extend(0xfffffffffffefffe, 64)) == -65538); + assert(signed(zero_extend(0xfffffffffffeffff, 64)) == -65537); + assert(signed(zero_extend(0xffffffffffff0000, 64)) == -65536); + assert(signed(zero_extend(0xffffffffffff0001, 64)) == -65535); + assert(signed(zero_extend(0xffffffffffff641f, 64)) == -39905); + assert(signed(zero_extend(0xffffffffffff7ffc, 64)) == -32772); + assert(signed(zero_extend(0xffffffffffff7ffd, 64)) == -32771); + assert(signed(zero_extend(0xffffffffffff7ffe, 64)) == -32770); + assert(signed(zero_extend(0xffffffffffff7fff, 64)) == -32769); + assert(signed(zero_extend(0xffffffffffff8000, 64)) == -32768); + assert(signed(zero_extend(0xffffffffffff8001, 64)) == -32767); + assert(signed(zero_extend(0xffffffffffffbeff, 64)) == -16641); + assert(signed(zero_extend(0xffffffffffffbf40, 64)) == -16576); + assert(signed(zero_extend(0xffffffffffffbf41, 64)) == -16575); + assert(signed(zero_extend(0xffffffffffffbfff, 64)) == -16385); + assert(signed(zero_extend(0xffffffffffffc22c, 64)) == -15828); + assert(signed(zero_extend(0xffffffffffffc24c, 64)) == -15796); + assert(signed(zero_extend(0xffffffffffffd220, 64)) == -11744); + assert(signed(zero_extend(0xffffffffffffd23c, 64)) == -11716); + assert(signed(zero_extend(0xffffffffffffe220, 64)) == -7648); + assert(signed(zero_extend(0xffffffffffffe23c, 64)) == -7620); + assert(signed(zero_extend(0xffffffffffffefff, 64)) == -4097); + assert(signed(zero_extend(0xfffffffffffffeef, 64)) == -273); + assert(signed(zero_extend(0xfffffffffffffeff, 64)) == -257); + assert(signed(zero_extend(0xffffffffffffff1f, 64)) == -225); + assert(signed(zero_extend(0xffffffffffffff2f, 64)) == -209); + assert(signed(zero_extend(0xffffffffffffff4f, 64)) == -177); + assert(signed(zero_extend(0xffffffffffffff6f, 64)) == -145); + assert(signed(zero_extend(0xffffffffffffff80, 64)) == -128); + assert(signed(zero_extend(0xffffffffffffff8f, 64)) == -113); + assert(signed(zero_extend(0xffffffffffffff9f, 64)) == -97); + assert(signed(zero_extend(0xffffffffffffffa0, 64)) == -96); + assert(signed(zero_extend(0xffffffffffffffaf, 64)) == -81); + assert(signed(zero_extend(0xffffffffffffffbf, 64)) == -65); + assert(signed(zero_extend(0xffffffffffffffc2, 64)) == -62); + assert(signed(zero_extend(0xffffffffffffffc4, 64)) == -60); + assert(signed(zero_extend(0xffffffffffffffc6, 64)) == -58); + assert(signed(zero_extend(0xffffffffffffffc8, 64)) == -56); + assert(signed(zero_extend(0xffffffffffffffca, 64)) == -54); + assert(signed(zero_extend(0xffffffffffffffcc, 64)) == -52); + assert(signed(zero_extend(0xffffffffffffffce, 64)) == -50); + assert(signed(zero_extend(0xffffffffffffffcf, 64)) == -49); + assert(signed(zero_extend(0xffffffffffffffd0, 64)) == -48); + assert(signed(zero_extend(0xffffffffffffffd2, 64)) == -46); + assert(signed(zero_extend(0xffffffffffffffd4, 64)) == -44); + assert(signed(zero_extend(0xffffffffffffffd6, 64)) == -42); + assert(signed(zero_extend(0xffffffffffffffd8, 64)) == -40); + assert(signed(zero_extend(0xffffffffffffffda, 64)) == -38); + assert(signed(zero_extend(0xffffffffffffffdb, 64)) == -37); + assert(signed(zero_extend(0xffffffffffffffdc, 64)) == -36); + assert(signed(zero_extend(0xffffffffffffffde, 64)) == -34); + assert(signed(zero_extend(0xffffffffffffffdf, 64)) == -33); + assert(signed(zero_extend(0xffffffffffffffe0, 64)) == -32); + assert(signed(zero_extend(0xffffffffffffffe2, 64)) == -30); + assert(signed(zero_extend(0xffffffffffffffe4, 64)) == -28); + assert(signed(zero_extend(0xffffffffffffffe6, 64)) == -26); + assert(signed(zero_extend(0xffffffffffffffe7, 64)) == -25); + assert(signed(zero_extend(0xffffffffffffffe8, 64)) == -24); + assert(signed(zero_extend(0xffffffffffffffea, 64)) == -22); + assert(signed(zero_extend(0xffffffffffffffec, 64)) == -20); + assert(signed(zero_extend(0xffffffffffffffee, 64)) == -18); + assert(signed(zero_extend(0xffffffffffffffef, 64)) == -17); + assert(signed(zero_extend(0xfffffffffffffff, 64)) == 1152921504606846975); + assert(signed(zero_extend(0xfffffffffffffff0, 64)) == -16); + assert(signed(zero_extend(0xfffffffffffffff1, 64)) == -15); + assert(signed(zero_extend(0xfffffffffffffff2, 64)) == -14); + assert(signed(zero_extend(0xfffffffffffffff4, 64)) == -12); + assert(signed(zero_extend(0xfffffffffffffff6, 64)) == -10); + assert(signed(zero_extend(0xfffffffffffffff7, 64)) == -9); + assert(signed(zero_extend(0xfffffffffffffff8, 64)) == -8); + assert(signed(zero_extend(0xfffffffffffffffa, 64)) == -6); + assert(signed(zero_extend(0xfffffffffffffffb, 64)) == -5); + assert(signed(zero_extend(0xfffffffffffffffc, 64)) == -4); + assert(signed(zero_extend(0xfffffffffffffffd, 64)) == -3); + assert(signed(zero_extend(0xfffffffffffffffe, 64)) == -2); + assert(signed(zero_extend(0xffffffffffffffff, 64)) == -1); +}
\ No newline at end of file diff --git a/test/builtins/sub_int.sail b/test/builtins/sub_int.sail new file mode 100644 index 00000000..083bae4f --- /dev/null +++ b/test/builtins/sub_int.sail @@ -0,0 +1,249 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> +$include <arith.sail> + +function main (() : unit) -> unit = { + assert(sub_int(0, 0) == 0); + assert(sub_int(0, 14) == -14); + assert(sub_int(0, 17) == -17); + assert(sub_int(0, 29) == -29); + assert(sub_int(0, 30) == -30); + assert(sub_int(0, 33) == -33); + assert(sub_int(0, 38) == -38); + assert(sub_int(0, 52) == -52); + assert(sub_int(0, 56) == -56); + assert(sub_int(1, 0) == 1); + assert(sub_int(1, 1) == 0); + assert(sub_int(1, 14) == -13); + assert(sub_int(1, 30) == -29); + assert(sub_int(1, 5) == -4); + assert(sub_int(1, 50) == -49); + assert(sub_int(10, 10) == 0); + assert(sub_int(10, 13) == -3); + assert(sub_int(10, 17) == -7); + assert(sub_int(10, 9) == 1); + assert(sub_int(100, 64) == 36); + assert(sub_int(1024, 1) == 1023); + assert(sub_int(11, 1) == 10); + assert(sub_int(11, 10) == 1); + assert(sub_int(11, 11) == 0); + assert(sub_int(11, 14) == -3); + assert(sub_int(11, 21) == -10); + assert(sub_int(11, 30) == -19); + assert(sub_int(111, 64) == 47); + assert(sub_int(12, 1) == 11); + assert(sub_int(12, 10) == 2); + assert(sub_int(12, 14) == -2); + assert(sub_int(128, 128) == 0); + assert(sub_int(13, 10) == 3); + assert(sub_int(13, 3) == 10); + assert(sub_int(13, 59) == -46); + assert(sub_int(14, 0) == 14); + assert(sub_int(14, 1) == 13); + assert(sub_int(14, 10) == 4); + assert(sub_int(14, 26) == -12); + assert(sub_int(14, 3) == 11); + assert(sub_int(14, 59) == -45); + assert(sub_int(14, 8) == 6); + assert(sub_int(15, 0) == 15); + assert(sub_int(15, 10) == 5); + assert(sub_int(15, 16) == -1); + assert(sub_int(16, 1) == 15); + assert(sub_int(16, 10) == 6); + assert(sub_int(16, 22) == -6); + assert(sub_int(16, 36) == -20); + assert(sub_int(17, 10) == 7); + assert(sub_int(17, 22) == -5); + assert(sub_int(17, 40) == -23); + assert(sub_int(17, 62) == -45); + assert(sub_int(18, 10) == 8); + assert(sub_int(18, 11) == 7); + assert(sub_int(18, 19) == -1); + assert(sub_int(18, 24) == -6); + assert(sub_int(19, 10) == 9); + assert(sub_int(2, 0) == 2); + assert(sub_int(2, 2) == 0); + assert(sub_int(2, 5) == -3); + assert(sub_int(20, 20) == 0); + assert(sub_int(21, 1) == 20); + assert(sub_int(21, 18) == 3); + assert(sub_int(21, 2) == 19); + assert(sub_int(21, 20) == 1); + assert(sub_int(22, 10) == 12); + assert(sub_int(22, 20) == 2); + assert(sub_int(23, 11) == 12); + assert(sub_int(23, 20) == 3); + assert(sub_int(23, 39) == -16); + assert(sub_int(24, 1) == 23); + assert(sub_int(24, 14) == 10); + assert(sub_int(24, 20) == 4); + assert(sub_int(24, 25) == -1); + assert(sub_int(24, 62) == -38); + assert(sub_int(25, 1) == 24); + assert(sub_int(25, 10) == 15); + assert(sub_int(25, 20) == 5); + assert(sub_int(25, 45) == -20); + assert(sub_int(256, 1) == 255); + assert(sub_int(26, 1) == 25); + assert(sub_int(26, 20) == 6); + assert(sub_int(26, 27) == -1); + assert(sub_int(27, 20) == 7); + assert(sub_int(27, 22) == 5); + assert(sub_int(27, 3) == 24); + assert(sub_int(27, 56) == -29); + assert(sub_int(27, 59) == -32); + assert(sub_int(28, 1) == 27); + assert(sub_int(28, 15) == 13); + assert(sub_int(28, 16) == 12); + assert(sub_int(28, 20) == 8); + assert(sub_int(28, 8) == 20); + assert(sub_int(29, 20) == 9); + assert(sub_int(29, 6) == 23); + assert(sub_int(3, 0) == 3); + assert(sub_int(3, 1) == 2); + assert(sub_int(3, 2) == 1); + assert(sub_int(3, 3) == 0); + assert(sub_int(3, 44) == -41); + assert(sub_int(3, 62) == -59); + assert(sub_int(30, 30) == 0); + assert(sub_int(31, 0) == 31); + assert(sub_int(31, 16) == 15); + assert(sub_int(31, 24) == 7); + assert(sub_int(31, 26) == 5); + assert(sub_int(31, 30) == 1); + assert(sub_int(31, 8) == 23); + assert(sub_int(32, 1) == 31); + assert(sub_int(32, 11) == 21); + assert(sub_int(32, 12) == 20); + assert(sub_int(32, 16) == 16); + assert(sub_int(32, 24) == 8); + assert(sub_int(32, 26) == 6); + assert(sub_int(32, 32) == 0); + assert(sub_int(32, 53) == -21); + assert(sub_int(32, 7) == 25); + assert(sub_int(32, 8) == 24); + assert(sub_int(33, 1) == 32); + assert(sub_int(33, 39) == -6); + assert(sub_int(34, 1) == 33); + assert(sub_int(35, 0) == 35); + assert(sub_int(35, 1) == 34); + assert(sub_int(35, 25) == 10); + assert(sub_int(35, 36) == -1); + assert(sub_int(35, 48) == -13); + assert(sub_int(36, 1) == 35); + assert(sub_int(36, 10) == 26); + assert(sub_int(36, 59) == -23); + assert(sub_int(39, 32) == 7); + assert(sub_int(4, 0) == 4); + assert(sub_int(4, 1) == 3); + assert(sub_int(4, 2) == 2); + assert(sub_int(4, 4) == 0); + assert(sub_int(4, 5) == -1); + assert(sub_int(4, 54) == -50); + assert(sub_int(4, 7) == -3); + assert(sub_int(4, 9) == -5); + assert(sub_int(40, 28) == 12); + assert(sub_int(40, 32) == 8); + assert(sub_int(42, 22) == 20); + assert(sub_int(42, 39) == 3); + assert(sub_int(42, 54) == -12); + assert(sub_int(43, 29) == 14); + assert(sub_int(43, 32) == 11); + assert(sub_int(44, 34) == 10); + assert(sub_int(45, 19) == 26); + assert(sub_int(46, 36) == 10); + assert(sub_int(46, 61) == -15); + assert(sub_int(47, 0) == 47); + assert(sub_int(47, 1) == 46); + assert(sub_int(47, 15) == 32); + assert(sub_int(47, 47) == 0); + assert(sub_int(48, 1) == 47); + assert(sub_int(48, 14) == 34); + assert(sub_int(48, 32) == 16); + assert(sub_int(48, 47) == 1); + assert(sub_int(49, 6) == 43); + assert(sub_int(5, 0) == 5); + assert(sub_int(5, 11) == -6); + assert(sub_int(5, 14) == -9); + assert(sub_int(5, 2) == 3); + assert(sub_int(5, 7) == -2); + assert(sub_int(51, 47) == 4); + assert(sub_int(51, 5) == 46); + assert(sub_int(51, 63) == -12); + assert(sub_int(52, 14) == 38); + assert(sub_int(52, 4) == 48); + assert(sub_int(52, 48) == 4); + assert(sub_int(52, 59) == -7); + assert(sub_int(54, 34) == 20); + assert(sub_int(54, 47) == 7); + assert(sub_int(55, 60) == -5); + assert(sub_int(55, 7) == 48); + assert(sub_int(56, 12) == 44); + assert(sub_int(56, 32) == 24); + assert(sub_int(56, 52) == 4); + assert(sub_int(57, 12) == 45); + assert(sub_int(58, 32) == 26); + assert(sub_int(58, 34) == 24); + assert(sub_int(58, 62) == -4); + assert(sub_int(59, 60) == -1); + assert(sub_int(6, 0) == 6); + assert(sub_int(6, 1) == 5); + assert(sub_int(6, 10) == -4); + assert(sub_int(6, 2) == 4); + assert(sub_int(6, 3) == 3); + assert(sub_int(6, 33) == -27); + assert(sub_int(6, 4) == 2); + assert(sub_int(6, 5) == 1); + assert(sub_int(6, 6) == 0); + assert(sub_int(6, 7) == -1); + assert(sub_int(61, 13) == 48); + assert(sub_int(62, 31) == 31); + assert(sub_int(62, 56) == 6); + assert(sub_int(62, 63) == -1); + assert(sub_int(63, 14) == 49); + assert(sub_int(63, 48) == 15); + assert(sub_int(64, 0) == 64); + assert(sub_int(64, 1) == 63); + assert(sub_int(64, 12) == 52); + assert(sub_int(64, 14) == 50); + assert(sub_int(64, 16) == 48); + assert(sub_int(64, 2) == 62); + assert(sub_int(64, 21) == 43); + assert(sub_int(64, 24) == 40); + assert(sub_int(64, 28) == 36); + assert(sub_int(64, 3) == 61); + assert(sub_int(64, 32) == 32); + assert(sub_int(64, 33) == 31); + assert(sub_int(64, 34) == 30); + assert(sub_int(64, 35) == 29); + assert(sub_int(64, 36) == 28); + assert(sub_int(64, 39) == 25); + assert(sub_int(64, 52) == 12); + assert(sub_int(64, 64) == 0); + assert(sub_int(64, 7) == 57); + assert(sub_int(64, 8) == 56); + assert(sub_int(64, 9) == 55); + assert(sub_int(68, 64) == 4); + assert(sub_int(7, 0) == 7); + assert(sub_int(7, 1) == 6); + assert(sub_int(7, 19) == -12); + assert(sub_int(7, 34) == -27); + assert(sub_int(7, 41) == -34); + assert(sub_int(72, 64) == 8); + assert(sub_int(76, 64) == 12); + assert(sub_int(78, 64) == 14); + assert(sub_int(8, 0) == 8); + assert(sub_int(8, 1) == 7); + assert(sub_int(8, 16) == -8); + assert(sub_int(8, 19) == -11); + assert(sub_int(8, 26) == -18); + assert(sub_int(89, 64) == 25); + assert(sub_int(9, 0) == 9); + assert(sub_int(9, 1) == 8); + assert(sub_int(9, 13) == -4); + assert(sub_int(9, 6) == 3); + assert(sub_int(9, 8) == 1); +}
\ No newline at end of file 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); +} diff --git a/test/builtins/unsigned2.sail b/test/builtins/unsigned2.sail new file mode 100644 index 00000000..dea6d9c5 --- /dev/null +++ b/test/builtins/unsigned2.sail @@ -0,0 +1,3001 @@ +default Order dec + +$include <exception_basic.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(unsigned(zero_extend(0x21ad18, 52)) == 2207000); + assert(unsigned(zero_extend(0x21ad1c, 52)) == 2207004); + assert(unsigned(zero_extend(0x21ad20, 52)) == 2207008); + assert(unsigned(zero_extend(0x21ad24, 52)) == 2207012); + assert(unsigned(zero_extend(0x21ad28, 52)) == 2207016); + assert(unsigned(zero_extend(0x21ad2c, 52)) == 2207020); + assert(unsigned(zero_extend(0x21ad30, 52)) == 2207024); + assert(unsigned(zero_extend(0x21ad34, 52)) == 2207028); + assert(unsigned(zero_extend(0x21ad38, 52)) == 2207032); + assert(unsigned(zero_extend(0x21ad3c, 52)) == 2207036); + assert(unsigned(zero_extend(0x21ad40, 52)) == 2207040); + assert(unsigned(zero_extend(0x21ad44, 52)) == 2207044); + assert(unsigned(zero_extend(0x21ad48, 52)) == 2207048); + assert(unsigned(zero_extend(0x21ad4c, 52)) == 2207052); + assert(unsigned(zero_extend(0x21ad50, 52)) == 2207056); + assert(unsigned(zero_extend(0x21ad54, 52)) == 2207060); + assert(unsigned(zero_extend(0x21ad58, 52)) == 2207064); + assert(unsigned(zero_extend(0x21ad5c, 52)) == 2207068); + assert(unsigned(zero_extend(0x21ad60, 52)) == 2207072); + assert(unsigned(zero_extend(0x21ad64, 52)) == 2207076); + assert(unsigned(zero_extend(0x21ad68, 52)) == 2207080); + assert(unsigned(zero_extend(0x21ad6c, 52)) == 2207084); + assert(unsigned(zero_extend(0x21ad70, 52)) == 2207088); + assert(unsigned(zero_extend(0x21ad74, 52)) == 2207092); + assert(unsigned(zero_extend(0x21ad78, 52)) == 2207096); + assert(unsigned(zero_extend(0x21ad7c, 52)) == 2207100); + assert(unsigned(zero_extend(0x21ad80, 52)) == 2207104); + assert(unsigned(zero_extend(0x21ad84, 52)) == 2207108); + assert(unsigned(zero_extend(0x21ad88, 52)) == 2207112); + assert(unsigned(zero_extend(0x21ad8c, 52)) == 2207116); + assert(unsigned(zero_extend(0x21ad90, 52)) == 2207120); + assert(unsigned(zero_extend(0x21ad94, 52)) == 2207124); + assert(unsigned(zero_extend(0x21ad98, 52)) == 2207128); + assert(unsigned(zero_extend(0x21ad9c, 52)) == 2207132); + assert(unsigned(zero_extend(0x21ada0, 52)) == 2207136); + assert(unsigned(zero_extend(0x21ada4, 52)) == 2207140); + assert(unsigned(zero_extend(0x21ada8, 52)) == 2207144); + assert(unsigned(zero_extend(0x21adac, 52)) == 2207148); + assert(unsigned(zero_extend(0x21adb0, 52)) == 2207152); + assert(unsigned(zero_extend(0x21adb4, 52)) == 2207156); + assert(unsigned(zero_extend(0x21adb8, 52)) == 2207160); + assert(unsigned(zero_extend(0x21adbc, 52)) == 2207164); + assert(unsigned(zero_extend(0x21adc0, 52)) == 2207168); + assert(unsigned(zero_extend(0x21adc4, 52)) == 2207172); + assert(unsigned(zero_extend(0x21adc8, 52)) == 2207176); + assert(unsigned(zero_extend(0x21adcc, 52)) == 2207180); + assert(unsigned(zero_extend(0x21add0, 52)) == 2207184); + assert(unsigned(zero_extend(0x21add4, 52)) == 2207188); + assert(unsigned(zero_extend(0x21add8, 52)) == 2207192); + assert(unsigned(zero_extend(0x21addc, 52)) == 2207196); + assert(unsigned(zero_extend(0x21ade0, 52)) == 2207200); + assert(unsigned(zero_extend(0x21ade4, 52)) == 2207204); + assert(unsigned(zero_extend(0x21ade8, 52)) == 2207208); + assert(unsigned(zero_extend(0x21adec, 52)) == 2207212); + assert(unsigned(zero_extend(0x21adf0, 52)) == 2207216); + assert(unsigned(zero_extend(0x21adf4, 52)) == 2207220); + assert(unsigned(zero_extend(0x21adf8, 52)) == 2207224); + assert(unsigned(zero_extend(0x21adfc, 52)) == 2207228); + assert(unsigned(zero_extend(0x21ae00, 52)) == 2207232); + assert(unsigned(zero_extend(0x21ae04, 52)) == 2207236); + assert(unsigned(zero_extend(0x21ae08, 52)) == 2207240); + assert(unsigned(zero_extend(0x21ae0c, 52)) == 2207244); + assert(unsigned(zero_extend(0x21ae10, 52)) == 2207248); + assert(unsigned(zero_extend(0x21ae14, 52)) == 2207252); + assert(unsigned(zero_extend(0x21ae18, 52)) == 2207256); + assert(unsigned(zero_extend(0x21ae1c, 52)) == 2207260); + assert(unsigned(zero_extend(0x21ae20, 52)) == 2207264); + assert(unsigned(zero_extend(0x21ae28, 52)) == 2207272); + assert(unsigned(zero_extend(0x21ae30, 52)) == 2207280); + assert(unsigned(zero_extend(0x21ae40, 52)) == 2207296); + assert(unsigned(zero_extend(0x21ae44, 52)) == 2207300); + assert(unsigned(zero_extend(0x21ae48, 52)) == 2207304); + assert(unsigned(zero_extend(0x21ae4c, 52)) == 2207308); + assert(unsigned(zero_extend(0x21ae50, 52)) == 2207312); + assert(unsigned(zero_extend(0x21ae54, 52)) == 2207316); + assert(unsigned(zero_extend(0x21ae58, 52)) == 2207320); + assert(unsigned(zero_extend(0x21ae5c, 52)) == 2207324); + assert(unsigned(zero_extend(0x21ae60, 52)) == 2207328); + assert(unsigned(zero_extend(0x21ae64, 52)) == 2207332); + assert(unsigned(zero_extend(0x21ae68, 52)) == 2207336); + assert(unsigned(zero_extend(0x21ae6c, 52)) == 2207340); + assert(unsigned(zero_extend(0x21ae70, 52)) == 2207344); + assert(unsigned(zero_extend(0x21ae74, 52)) == 2207348); + assert(unsigned(zero_extend(0x21ae78, 52)) == 2207352); + assert(unsigned(zero_extend(0x21ae80, 52)) == 2207360); + assert(unsigned(zero_extend(0x21ae88, 52)) == 2207368); + assert(unsigned(zero_extend(0x21aef0, 52)) == 2207472); + assert(unsigned(zero_extend(0x21aef4, 52)) == 2207476); + assert(unsigned(zero_extend(0x21aef8, 52)) == 2207480); + assert(unsigned(zero_extend(0x21aefc, 52)) == 2207484); + assert(unsigned(zero_extend(0x21af00, 52)) == 2207488); + assert(unsigned(zero_extend(0x21af04, 52)) == 2207492); + assert(unsigned(zero_extend(0x21af08, 52)) == 2207496); + assert(unsigned(zero_extend(0x21af0c, 52)) == 2207500); + assert(unsigned(zero_extend(0x21af10, 52)) == 2207504); + assert(unsigned(zero_extend(0x21af14, 52)) == 2207508); + assert(unsigned(zero_extend(0x21af18, 52)) == 2207512); + assert(unsigned(zero_extend(0x21af1c, 52)) == 2207516); + assert(unsigned(zero_extend(0x21af20, 52)) == 2207520); + assert(unsigned(zero_extend(0x21af24, 52)) == 2207524); + assert(unsigned(zero_extend(0x21af28, 52)) == 2207528); + assert(unsigned(zero_extend(0x21af2c, 52)) == 2207532); + assert(unsigned(zero_extend(0x21af30, 52)) == 2207536); + assert(unsigned(zero_extend(0x21af34, 52)) == 2207540); + assert(unsigned(zero_extend(0x21af38, 52)) == 2207544); + assert(unsigned(zero_extend(0x21af3c, 52)) == 2207548); + assert(unsigned(zero_extend(0x21af40, 52)) == 2207552); + assert(unsigned(zero_extend(0x21af44, 52)) == 2207556); + assert(unsigned(zero_extend(0x21af48, 52)) == 2207560); + assert(unsigned(zero_extend(0x21af4c, 52)) == 2207564); + assert(unsigned(zero_extend(0x21af50, 52)) == 2207568); + assert(unsigned(zero_extend(0x21af54, 52)) == 2207572); + assert(unsigned(zero_extend(0x21af58, 52)) == 2207576); + assert(unsigned(zero_extend(0x21af5c, 52)) == 2207580); + assert(unsigned(zero_extend(0x21af60, 52)) == 2207584); + assert(unsigned(zero_extend(0x21af64, 52)) == 2207588); + assert(unsigned(zero_extend(0x21af68, 52)) == 2207592); + assert(unsigned(zero_extend(0x21af6c, 52)) == 2207596); + assert(unsigned(zero_extend(0x21af70, 52)) == 2207600); + assert(unsigned(zero_extend(0x21af74, 52)) == 2207604); + assert(unsigned(zero_extend(0x21af78, 52)) == 2207608); + assert(unsigned(zero_extend(0x21af7c, 52)) == 2207612); + assert(unsigned(zero_extend(0x21af80, 52)) == 2207616); + assert(unsigned(zero_extend(0x21af84, 52)) == 2207620); + assert(unsigned(zero_extend(0x21af88, 52)) == 2207624); + assert(unsigned(zero_extend(0x21af8c, 52)) == 2207628); + assert(unsigned(zero_extend(0x21af90, 52)) == 2207632); + assert(unsigned(zero_extend(0x21af94, 52)) == 2207636); + assert(unsigned(zero_extend(0x21af98, 52)) == 2207640); + assert(unsigned(zero_extend(0x21af9c, 52)) == 2207644); + assert(unsigned(zero_extend(0x21afa0, 52)) == 2207648); + assert(unsigned(zero_extend(0x21afa4, 52)) == 2207652); + assert(unsigned(zero_extend(0x21afa8, 52)) == 2207656); + assert(unsigned(zero_extend(0x21afac, 52)) == 2207660); + assert(unsigned(zero_extend(0x21afb0, 52)) == 2207664); + assert(unsigned(zero_extend(0x21afb4, 52)) == 2207668); + assert(unsigned(zero_extend(0x21afb8, 52)) == 2207672); + assert(unsigned(zero_extend(0x21afbc, 52)) == 2207676); + assert(unsigned(zero_extend(0x21afc0, 52)) == 2207680); + assert(unsigned(zero_extend(0x21afc4, 52)) == 2207684); + assert(unsigned(zero_extend(0x21afc8, 52)) == 2207688); + assert(unsigned(zero_extend(0x21afcc, 52)) == 2207692); + assert(unsigned(zero_extend(0x21afd0, 52)) == 2207696); + assert(unsigned(zero_extend(0x21afd4, 52)) == 2207700); + assert(unsigned(zero_extend(0x21afd8, 52)) == 2207704); + assert(unsigned(zero_extend(0x21afdc, 52)) == 2207708); + assert(unsigned(zero_extend(0x21afe0, 52)) == 2207712); + assert(unsigned(zero_extend(0x21afe4, 52)) == 2207716); + assert(unsigned(zero_extend(0x21afe8, 52)) == 2207720); + assert(unsigned(zero_extend(0x21afec, 52)) == 2207724); + assert(unsigned(zero_extend(0x21aff0, 52)) == 2207728); + assert(unsigned(zero_extend(0x21aff4, 52)) == 2207732); + assert(unsigned(zero_extend(0x21aff8, 52)) == 2207736); + assert(unsigned(zero_extend(0x21affc, 52)) == 2207740); + assert(unsigned(zero_extend(0x21b000, 52)) == 2207744); + assert(unsigned(zero_extend(0x21b004, 52)) == 2207748); + assert(unsigned(zero_extend(0x21b008, 52)) == 2207752); + assert(unsigned(zero_extend(0x21b00c, 52)) == 2207756); + assert(unsigned(zero_extend(0x21b010, 52)) == 2207760); + assert(unsigned(zero_extend(0x21b014, 52)) == 2207764); + assert(unsigned(zero_extend(0x21b018, 52)) == 2207768); + assert(unsigned(zero_extend(0x21b01c, 52)) == 2207772); + assert(unsigned(zero_extend(0x21b020, 52)) == 2207776); + assert(unsigned(zero_extend(0x21b024, 52)) == 2207780); + assert(unsigned(zero_extend(0x21b028, 52)) == 2207784); + assert(unsigned(zero_extend(0x21b02c, 52)) == 2207788); + assert(unsigned(zero_extend(0x21b030, 52)) == 2207792); + assert(unsigned(zero_extend(0x21b034, 52)) == 2207796); + assert(unsigned(zero_extend(0x21b038, 52)) == 2207800); + assert(unsigned(zero_extend(0x21b03c, 52)) == 2207804); + assert(unsigned(zero_extend(0x21b040, 52)) == 2207808); + assert(unsigned(zero_extend(0x21b044, 52)) == 2207812); + assert(unsigned(zero_extend(0x21b048, 52)) == 2207816); + assert(unsigned(zero_extend(0x21b04c, 52)) == 2207820); + assert(unsigned(zero_extend(0x21b050, 52)) == 2207824); + assert(unsigned(zero_extend(0x21b054, 52)) == 2207828); + assert(unsigned(zero_extend(0x21b058, 52)) == 2207832); + assert(unsigned(zero_extend(0x21b05c, 52)) == 2207836); + assert(unsigned(zero_extend(0x21b060, 52)) == 2207840); + assert(unsigned(zero_extend(0x21b064, 52)) == 2207844); + assert(unsigned(zero_extend(0x21b068, 52)) == 2207848); + assert(unsigned(zero_extend(0x21b06c, 52)) == 2207852); + assert(unsigned(zero_extend(0x21b070, 52)) == 2207856); + assert(unsigned(zero_extend(0x21b074, 52)) == 2207860); + assert(unsigned(zero_extend(0x21b078, 52)) == 2207864); + assert(unsigned(zero_extend(0x21b07c, 52)) == 2207868); + assert(unsigned(zero_extend(0x21b080, 52)) == 2207872); + assert(unsigned(zero_extend(0x21b088, 52)) == 2207880); + assert(unsigned(zero_extend(0x21b090, 52)) == 2207888); + assert(unsigned(zero_extend(0x21b098, 52)) == 2207896); + assert(unsigned(zero_extend(0x21b09c, 52)) == 2207900); + assert(unsigned(zero_extend(0x21b0a0, 52)) == 2207904); + assert(unsigned(zero_extend(0x21b0a4, 52)) == 2207908); + assert(unsigned(zero_extend(0x21b0a8, 52)) == 2207912); + assert(unsigned(zero_extend(0x21b0ac, 52)) == 2207916); + assert(unsigned(zero_extend(0x21b0b0, 52)) == 2207920); + assert(unsigned(zero_extend(0x21b0b4, 52)) == 2207924); + assert(unsigned(zero_extend(0x21b0b8, 52)) == 2207928); + assert(unsigned(zero_extend(0x21b0bc, 52)) == 2207932); + assert(unsigned(zero_extend(0x21b0c0, 52)) == 2207936); + assert(unsigned(zero_extend(0x21b0c4, 52)) == 2207940); + assert(unsigned(zero_extend(0x21b0c8, 52)) == 2207944); + assert(unsigned(zero_extend(0x21b0cc, 52)) == 2207948); + assert(unsigned(zero_extend(0x21b0d0, 52)) == 2207952); + assert(unsigned(zero_extend(0x21b0d4, 52)) == 2207956); + assert(unsigned(zero_extend(0x21b0d8, 52)) == 2207960); + assert(unsigned(zero_extend(0x21b0dc, 52)) == 2207964); + assert(unsigned(zero_extend(0x21b0e0, 52)) == 2207968); + assert(unsigned(zero_extend(0x21b0e4, 52)) == 2207972); + assert(unsigned(zero_extend(0x21b0e8, 52)) == 2207976); + assert(unsigned(zero_extend(0x21b0ec, 52)) == 2207980); + assert(unsigned(zero_extend(0x21b0f0, 52)) == 2207984); + assert(unsigned(zero_extend(0x21b0f4, 52)) == 2207988); + assert(unsigned(zero_extend(0x21b0f8, 52)) == 2207992); + assert(unsigned(zero_extend(0x21b0fc, 52)) == 2207996); + assert(unsigned(zero_extend(0x21b100, 52)) == 2208000); + assert(unsigned(zero_extend(0x21b104, 52)) == 2208004); + assert(unsigned(zero_extend(0x21b108, 52)) == 2208008); + assert(unsigned(zero_extend(0x21b10c, 52)) == 2208012); + assert(unsigned(zero_extend(0x21b110, 52)) == 2208016); + assert(unsigned(zero_extend(0x21b114, 52)) == 2208020); + assert(unsigned(zero_extend(0x21b118, 52)) == 2208024); + assert(unsigned(zero_extend(0x21b11c, 52)) == 2208028); + assert(unsigned(zero_extend(0x21b120, 52)) == 2208032); + assert(unsigned(zero_extend(0x21b124, 52)) == 2208036); + assert(unsigned(zero_extend(0x21b128, 52)) == 2208040); + assert(unsigned(zero_extend(0x21b12c, 52)) == 2208044); + assert(unsigned(zero_extend(0x21b130, 52)) == 2208048); + assert(unsigned(zero_extend(0x21b134, 52)) == 2208052); + assert(unsigned(zero_extend(0x21b138, 52)) == 2208056); + assert(unsigned(zero_extend(0x21b13c, 52)) == 2208060); + assert(unsigned(zero_extend(0x21b140, 52)) == 2208064); + assert(unsigned(zero_extend(0x21b144, 52)) == 2208068); + assert(unsigned(zero_extend(0x21b148, 52)) == 2208072); + assert(unsigned(zero_extend(0x21b14c, 52)) == 2208076); + assert(unsigned(zero_extend(0x21b150, 52)) == 2208080); + assert(unsigned(zero_extend(0x21b154, 52)) == 2208084); + assert(unsigned(zero_extend(0x21b158, 52)) == 2208088); + assert(unsigned(zero_extend(0x21b15c, 52)) == 2208092); + assert(unsigned(zero_extend(0x21b160, 52)) == 2208096); + assert(unsigned(zero_extend(0x21b164, 52)) == 2208100); + assert(unsigned(zero_extend(0x21b168, 52)) == 2208104); + assert(unsigned(zero_extend(0x21b16c, 52)) == 2208108); + assert(unsigned(zero_extend(0x21b170, 52)) == 2208112); + assert(unsigned(zero_extend(0x21b174, 52)) == 2208116); + assert(unsigned(zero_extend(0x21b178, 52)) == 2208120); + assert(unsigned(zero_extend(0x21b17c, 52)) == 2208124); + assert(unsigned(zero_extend(0x21b180, 52)) == 2208128); + assert(unsigned(zero_extend(0x21b184, 52)) == 2208132); + assert(unsigned(zero_extend(0x21b188, 52)) == 2208136); + assert(unsigned(zero_extend(0x21b18c, 52)) == 2208140); + assert(unsigned(zero_extend(0x21b190, 52)) == 2208144); + assert(unsigned(zero_extend(0x21b194, 52)) == 2208148); + assert(unsigned(zero_extend(0x21b198, 52)) == 2208152); + assert(unsigned(zero_extend(0x21b19c, 52)) == 2208156); + assert(unsigned(zero_extend(0x21b1a0, 52)) == 2208160); + assert(unsigned(zero_extend(0x21b1a4, 52)) == 2208164); + assert(unsigned(zero_extend(0x21b1a8, 52)) == 2208168); + assert(unsigned(zero_extend(0x21b1ac, 52)) == 2208172); + assert(unsigned(zero_extend(0x21b1b0, 52)) == 2208176); + assert(unsigned(zero_extend(0x21b1b4, 52)) == 2208180); + assert(unsigned(zero_extend(0x21b1b8, 52)) == 2208184); + assert(unsigned(zero_extend(0x21b1bc, 52)) == 2208188); + assert(unsigned(zero_extend(0x21b1c0, 52)) == 2208192); + assert(unsigned(zero_extend(0x21b1c4, 52)) == 2208196); + assert(unsigned(zero_extend(0x21b1c8, 52)) == 2208200); + assert(unsigned(zero_extend(0x21b1cc, 52)) == 2208204); + assert(unsigned(zero_extend(0x21b1d0, 52)) == 2208208); + assert(unsigned(zero_extend(0x21b1d4, 52)) == 2208212); + assert(unsigned(zero_extend(0x21b1d8, 52)) == 2208216); + assert(unsigned(zero_extend(0x21b1dc, 52)) == 2208220); + assert(unsigned(zero_extend(0x21b1e0, 52)) == 2208224); + assert(unsigned(zero_extend(0x21b1e4, 52)) == 2208228); + assert(unsigned(zero_extend(0x21b1e8, 52)) == 2208232); + assert(unsigned(zero_extend(0x21b1f8, 52)) == 2208248); + assert(unsigned(zero_extend(0x21b1fc, 52)) == 2208252); + assert(unsigned(zero_extend(0x21b200, 52)) == 2208256); + assert(unsigned(zero_extend(0x21b204, 52)) == 2208260); + assert(unsigned(zero_extend(0x21b208, 52)) == 2208264); + assert(unsigned(zero_extend(0x21b20c, 52)) == 2208268); + assert(unsigned(zero_extend(0x21b210, 52)) == 2208272); + assert(unsigned(zero_extend(0x21b214, 52)) == 2208276); + assert(unsigned(zero_extend(0x21b218, 52)) == 2208280); + assert(unsigned(zero_extend(0x21b21c, 52)) == 2208284); + assert(unsigned(zero_extend(0x21b220, 52)) == 2208288); + assert(unsigned(zero_extend(0x21b224, 52)) == 2208292); + assert(unsigned(zero_extend(0x21b228, 52)) == 2208296); + assert(unsigned(zero_extend(0x21b22c, 52)) == 2208300); + assert(unsigned(zero_extend(0x21b230, 52)) == 2208304); + assert(unsigned(zero_extend(0x21b238, 52)) == 2208312); + assert(unsigned(zero_extend(0x21b240, 52)) == 2208320); + assert(unsigned(zero_extend(0x21b248, 52)) == 2208328); + assert(unsigned(zero_extend(0x21b250, 52)) == 2208336); + assert(unsigned(zero_extend(0x21b254, 52)) == 2208340); + assert(unsigned(zero_extend(0x21b258, 52)) == 2208344); + assert(unsigned(zero_extend(0x21b25c, 52)) == 2208348); + assert(unsigned(zero_extend(0x21b260, 52)) == 2208352); + assert(unsigned(zero_extend(0x21b264, 52)) == 2208356); + assert(unsigned(zero_extend(0x21b268, 52)) == 2208360); + assert(unsigned(zero_extend(0x21b26c, 52)) == 2208364); + assert(unsigned(zero_extend(0x21b270, 52)) == 2208368); + assert(unsigned(zero_extend(0x21b274, 52)) == 2208372); + assert(unsigned(zero_extend(0x21b278, 52)) == 2208376); + assert(unsigned(zero_extend(0x21b27c, 52)) == 2208380); + assert(unsigned(zero_extend(0x21b280, 52)) == 2208384); + assert(unsigned(zero_extend(0x21b288, 52)) == 2208392); + assert(unsigned(zero_extend(0x21b290, 52)) == 2208400); + assert(unsigned(zero_extend(0x21b298, 52)) == 2208408); + assert(unsigned(zero_extend(0x21b2a0, 52)) == 2208416); + assert(unsigned(zero_extend(0x21b2a8, 52)) == 2208424); + assert(unsigned(zero_extend(0x21b690, 52)) == 2209424); + assert(unsigned(zero_extend(0x21b694, 52)) == 2209428); + assert(unsigned(zero_extend(0x21b698, 52)) == 2209432); + assert(unsigned(zero_extend(0x21b69c, 52)) == 2209436); + assert(unsigned(zero_extend(0x21b6a0, 52)) == 2209440); + assert(unsigned(zero_extend(0x21b6a4, 52)) == 2209444); + assert(unsigned(zero_extend(0x21b6a8, 52)) == 2209448); + assert(unsigned(zero_extend(0x21b6ac, 52)) == 2209452); + assert(unsigned(zero_extend(0x21b6b0, 52)) == 2209456); + assert(unsigned(zero_extend(0x21b6b4, 52)) == 2209460); + assert(unsigned(zero_extend(0x21b6b8, 52)) == 2209464); + assert(unsigned(zero_extend(0x21b6bc, 52)) == 2209468); + assert(unsigned(zero_extend(0x21b6c0, 52)) == 2209472); + assert(unsigned(zero_extend(0x21b6c4, 52)) == 2209476); + assert(unsigned(zero_extend(0x21b6d4, 52)) == 2209492); + assert(unsigned(zero_extend(0x21b6d8, 52)) == 2209496); + assert(unsigned(zero_extend(0x21b6dc, 52)) == 2209500); + assert(unsigned(zero_extend(0x21b6e0, 52)) == 2209504); + assert(unsigned(zero_extend(0x21b6e4, 52)) == 2209508); + assert(unsigned(zero_extend(0x21b6e8, 52)) == 2209512); + assert(unsigned(zero_extend(0x21b6ec, 52)) == 2209516); + assert(unsigned(zero_extend(0x21b6f0, 52)) == 2209520); + assert(unsigned(zero_extend(0x21b6f4, 52)) == 2209524); + assert(unsigned(zero_extend(0x21b6f8, 52)) == 2209528); + assert(unsigned(zero_extend(0x21b6fc, 52)) == 2209532); + assert(unsigned(zero_extend(0x21b700, 52)) == 2209536); + assert(unsigned(zero_extend(0x21b704, 52)) == 2209540); + assert(unsigned(zero_extend(0x21b708, 52)) == 2209544); + assert(unsigned(zero_extend(0x21b70c, 52)) == 2209548); + assert(unsigned(zero_extend(0x21b710, 52)) == 2209552); + assert(unsigned(zero_extend(0x21b714, 52)) == 2209556); + assert(unsigned(zero_extend(0x21b718, 52)) == 2209560); + assert(unsigned(zero_extend(0x21b71c, 52)) == 2209564); + assert(unsigned(zero_extend(0x21b720, 52)) == 2209568); + assert(unsigned(zero_extend(0x21b724, 52)) == 2209572); + assert(unsigned(zero_extend(0x21b728, 52)) == 2209576); + assert(unsigned(zero_extend(0x21b72c, 52)) == 2209580); + assert(unsigned(zero_extend(0x21b730, 52)) == 2209584); + assert(unsigned(zero_extend(0x21b734, 52)) == 2209588); + assert(unsigned(zero_extend(0x21b738, 52)) == 2209592); + assert(unsigned(zero_extend(0x21b73c, 52)) == 2209596); + assert(unsigned(zero_extend(0x21b740, 52)) == 2209600); + assert(unsigned(zero_extend(0x21b744, 52)) == 2209604); + assert(unsigned(zero_extend(0x21b748, 52)) == 2209608); + assert(unsigned(zero_extend(0x21b74c, 52)) == 2209612); + assert(unsigned(zero_extend(0x21b750, 52)) == 2209616); + assert(unsigned(zero_extend(0x21b754, 52)) == 2209620); + assert(unsigned(zero_extend(0x21b758, 52)) == 2209624); + assert(unsigned(zero_extend(0x21b75c, 52)) == 2209628); + assert(unsigned(zero_extend(0x21b760, 52)) == 2209632); + assert(unsigned(zero_extend(0x21b764, 52)) == 2209636); + assert(unsigned(zero_extend(0x21b768, 52)) == 2209640); + assert(unsigned(zero_extend(0x21b76c, 52)) == 2209644); + assert(unsigned(zero_extend(0x21b770, 52)) == 2209648); + assert(unsigned(zero_extend(0x21b774, 52)) == 2209652); + assert(unsigned(zero_extend(0x21b778, 52)) == 2209656); + assert(unsigned(zero_extend(0x21b77c, 52)) == 2209660); + assert(unsigned(zero_extend(0x21b780, 52)) == 2209664); + assert(unsigned(zero_extend(0x21b784, 52)) == 2209668); + assert(unsigned(zero_extend(0x21b788, 52)) == 2209672); + assert(unsigned(zero_extend(0x21b78c, 52)) == 2209676); + assert(unsigned(zero_extend(0x21b7b8, 52)) == 2209720); + assert(unsigned(zero_extend(0x21b7bc, 52)) == 2209724); + assert(unsigned(zero_extend(0x21b7c0, 52)) == 2209728); + assert(unsigned(zero_extend(0x21b7c4, 52)) == 2209732); + assert(unsigned(zero_extend(0x21b7c8, 52)) == 2209736); + assert(unsigned(zero_extend(0x21b7cc, 52)) == 2209740); + assert(unsigned(zero_extend(0x21b7d0, 52)) == 2209744); + assert(unsigned(zero_extend(0x21b7d4, 52)) == 2209748); + assert(unsigned(zero_extend(0x21b7d8, 52)) == 2209752); + assert(unsigned(zero_extend(0x21b7dc, 52)) == 2209756); + assert(unsigned(zero_extend(0x21b7e0, 52)) == 2209760); + assert(unsigned(zero_extend(0x21b7e8, 52)) == 2209768); + assert(unsigned(zero_extend(0x21b7f0, 52)) == 2209776); + assert(unsigned(zero_extend(0x21b810, 52)) == 2209808); + assert(unsigned(zero_extend(0x21b814, 52)) == 2209812); + assert(unsigned(zero_extend(0x21b818, 52)) == 2209816); + assert(unsigned(zero_extend(0x21b81c, 52)) == 2209820); + assert(unsigned(zero_extend(0x21b820, 52)) == 2209824); + assert(unsigned(zero_extend(0x21b824, 52)) == 2209828); + assert(unsigned(zero_extend(0x21b828, 52)) == 2209832); + assert(unsigned(zero_extend(0x21b82c, 52)) == 2209836); + assert(unsigned(zero_extend(0x21b830, 52)) == 2209840); + assert(unsigned(zero_extend(0x21b838, 52)) == 2209848); + assert(unsigned(zero_extend(0x21b83c, 52)) == 2209852); + assert(unsigned(zero_extend(0x21b840, 52)) == 2209856); + assert(unsigned(zero_extend(0x21b844, 52)) == 2209860); + assert(unsigned(zero_extend(0x21b848, 52)) == 2209864); + assert(unsigned(zero_extend(0x21b84c, 52)) == 2209868); + assert(unsigned(zero_extend(0x21b850, 52)) == 2209872); + assert(unsigned(zero_extend(0x21b854, 52)) == 2209876); + assert(unsigned(zero_extend(0x21b858, 52)) == 2209880); + assert(unsigned(zero_extend(0x21b85c, 52)) == 2209884); + assert(unsigned(zero_extend(0x21b860, 52)) == 2209888); + assert(unsigned(zero_extend(0x21b864, 52)) == 2209892); + assert(unsigned(zero_extend(0x21b868, 52)) == 2209896); + assert(unsigned(zero_extend(0x21b86c, 52)) == 2209900); + assert(unsigned(zero_extend(0x21b870, 52)) == 2209904); + assert(unsigned(zero_extend(0x21b874, 52)) == 2209908); + assert(unsigned(zero_extend(0x21b878, 52)) == 2209912); + assert(unsigned(zero_extend(0x21b87c, 52)) == 2209916); + assert(unsigned(zero_extend(0x21b888, 52)) == 2209928); + assert(unsigned(zero_extend(0x21b890, 52)) == 2209936); + assert(unsigned(zero_extend(0x21b894, 52)) == 2209940); + assert(unsigned(zero_extend(0x21b898, 52)) == 2209944); + assert(unsigned(zero_extend(0x21b89c, 52)) == 2209948); + assert(unsigned(zero_extend(0x21b8a0, 52)) == 2209952); + assert(unsigned(zero_extend(0x21b8a4, 52)) == 2209956); + assert(unsigned(zero_extend(0x21b8a8, 52)) == 2209960); + assert(unsigned(zero_extend(0x21b8ac, 52)) == 2209964); + assert(unsigned(zero_extend(0x21b8b0, 52)) == 2209968); + assert(unsigned(zero_extend(0x21b8b4, 52)) == 2209972); + assert(unsigned(zero_extend(0x21b8b8, 52)) == 2209976); + assert(unsigned(zero_extend(0x21b8bc, 52)) == 2209980); + assert(unsigned(zero_extend(0x21b8c0, 52)) == 2209984); + assert(unsigned(zero_extend(0x21b8c4, 52)) == 2209988); + assert(unsigned(zero_extend(0x21b8c8, 52)) == 2209992); + assert(unsigned(zero_extend(0x21b8cc, 52)) == 2209996); + assert(unsigned(zero_extend(0x21b8d0, 52)) == 2210000); + assert(unsigned(zero_extend(0x21b8d4, 52)) == 2210004); + assert(unsigned(zero_extend(0x21b910, 52)) == 2210064); + assert(unsigned(zero_extend(0x21b914, 52)) == 2210068); + assert(unsigned(zero_extend(0x21b918, 52)) == 2210072); + assert(unsigned(zero_extend(0x21b91c, 52)) == 2210076); + assert(unsigned(zero_extend(0x21b920, 52)) == 2210080); + assert(unsigned(zero_extend(0x21b924, 52)) == 2210084); + assert(unsigned(zero_extend(0x21b928, 52)) == 2210088); + assert(unsigned(zero_extend(0x21b92c, 52)) == 2210092); + assert(unsigned(zero_extend(0x21b930, 52)) == 2210096); + assert(unsigned(zero_extend(0x21b934, 52)) == 2210100); + assert(unsigned(zero_extend(0x21b938, 52)) == 2210104); + assert(unsigned(zero_extend(0x21b93c, 52)) == 2210108); + assert(unsigned(zero_extend(0x21b940, 52)) == 2210112); + assert(unsigned(zero_extend(0x21b944, 52)) == 2210116); + assert(unsigned(zero_extend(0x21b948, 52)) == 2210120); + assert(unsigned(zero_extend(0x21b94c, 52)) == 2210124); + assert(unsigned(zero_extend(0x21b950, 52)) == 2210128); + assert(unsigned(zero_extend(0x21b954, 52)) == 2210132); + assert(unsigned(zero_extend(0x21b958, 52)) == 2210136); + assert(unsigned(zero_extend(0x21b95c, 52)) == 2210140); + assert(unsigned(zero_extend(0x21b960, 52)) == 2210144); + assert(unsigned(zero_extend(0x21b964, 52)) == 2210148); + assert(unsigned(zero_extend(0x21b968, 52)) == 2210152); + assert(unsigned(zero_extend(0x21b96c, 52)) == 2210156); + assert(unsigned(zero_extend(0x21b970, 52)) == 2210160); + assert(unsigned(zero_extend(0x21b974, 52)) == 2210164); + assert(unsigned(zero_extend(0x21b978, 52)) == 2210168); + assert(unsigned(zero_extend(0x21b97c, 52)) == 2210172); + assert(unsigned(zero_extend(0x21b980, 52)) == 2210176); + assert(unsigned(zero_extend(0x21b984, 52)) == 2210180); + assert(unsigned(zero_extend(0x21b988, 52)) == 2210184); + assert(unsigned(zero_extend(0x21b98c, 52)) == 2210188); + assert(unsigned(zero_extend(0x21b990, 52)) == 2210192); + assert(unsigned(zero_extend(0x21b994, 52)) == 2210196); + assert(unsigned(zero_extend(0x21b998, 52)) == 2210200); + assert(unsigned(zero_extend(0x21b99c, 52)) == 2210204); + assert(unsigned(zero_extend(0x21b9a0, 52)) == 2210208); + assert(unsigned(zero_extend(0x21b9a4, 52)) == 2210212); + assert(unsigned(zero_extend(0x21b9a8, 52)) == 2210216); + assert(unsigned(zero_extend(0x21b9ac, 52)) == 2210220); + assert(unsigned(zero_extend(0x21b9b0, 52)) == 2210224); + assert(unsigned(zero_extend(0x21b9b4, 52)) == 2210228); + assert(unsigned(zero_extend(0x21b9b8, 52)) == 2210232); + assert(unsigned(zero_extend(0x21b9bc, 52)) == 2210236); + assert(unsigned(zero_extend(0x21b9c0, 52)) == 2210240); + assert(unsigned(zero_extend(0x21b9c4, 52)) == 2210244); + assert(unsigned(zero_extend(0x21b9c8, 52)) == 2210248); + assert(unsigned(zero_extend(0x21b9cc, 52)) == 2210252); + assert(unsigned(zero_extend(0x21ba00, 52)) == 2210304); + assert(unsigned(zero_extend(0x21ba04, 52)) == 2210308); + assert(unsigned(zero_extend(0x21ba08, 52)) == 2210312); + assert(unsigned(zero_extend(0x21ba0c, 52)) == 2210316); + assert(unsigned(zero_extend(0x21ba10, 52)) == 2210320); + assert(unsigned(zero_extend(0x21ba14, 52)) == 2210324); + assert(unsigned(zero_extend(0x21ba18, 52)) == 2210328); + assert(unsigned(zero_extend(0x21ba1c, 52)) == 2210332); + assert(unsigned(zero_extend(0x21ba20, 52)) == 2210336); + assert(unsigned(zero_extend(0x21ba24, 52)) == 2210340); + assert(unsigned(zero_extend(0x21ba7c, 52)) == 2210428); + assert(unsigned(zero_extend(0x21ba80, 52)) == 2210432); + assert(unsigned(zero_extend(0x21ba84, 52)) == 2210436); + assert(unsigned(zero_extend(0x21ba88, 52)) == 2210440); + assert(unsigned(zero_extend(0x21ba8c, 52)) == 2210444); + assert(unsigned(zero_extend(0x21ba90, 52)) == 2210448); + assert(unsigned(zero_extend(0x21ba94, 52)) == 2210452); + assert(unsigned(zero_extend(0x21ba98, 52)) == 2210456); + assert(unsigned(zero_extend(0x21ba9c, 52)) == 2210460); + assert(unsigned(zero_extend(0x21baa0, 52)) == 2210464); + assert(unsigned(zero_extend(0x21baa4, 52)) == 2210468); + assert(unsigned(zero_extend(0x21baa8, 52)) == 2210472); + assert(unsigned(zero_extend(0x21bad0, 52)) == 2210512); + assert(unsigned(zero_extend(0x21bad4, 52)) == 2210516); + assert(unsigned(zero_extend(0x21bad8, 52)) == 2210520); + assert(unsigned(zero_extend(0x21badc, 52)) == 2210524); + assert(unsigned(zero_extend(0x21bae0, 52)) == 2210528); + assert(unsigned(zero_extend(0x21bae4, 52)) == 2210532); + assert(unsigned(zero_extend(0x21bae8, 52)) == 2210536); + assert(unsigned(zero_extend(0x21baec, 52)) == 2210540); + assert(unsigned(zero_extend(0x21baf0, 52)) == 2210544); + assert(unsigned(zero_extend(0x21baf4, 52)) == 2210548); + assert(unsigned(zero_extend(0x21baf8, 52)) == 2210552); + assert(unsigned(zero_extend(0x21bafc, 52)) == 2210556); + assert(unsigned(zero_extend(0x21bb00, 52)) == 2210560); + assert(unsigned(zero_extend(0x21bb08, 52)) == 2210568); + assert(unsigned(zero_extend(0x21bb28, 52)) == 2210600); + assert(unsigned(zero_extend(0x21bb2c, 52)) == 2210604); + assert(unsigned(zero_extend(0x21bb30, 52)) == 2210608); + assert(unsigned(zero_extend(0x21bb34, 52)) == 2210612); + assert(unsigned(zero_extend(0x21bb38, 52)) == 2210616); + assert(unsigned(zero_extend(0x21bb3c, 52)) == 2210620); + assert(unsigned(zero_extend(0x21bb40, 52)) == 2210624); + assert(unsigned(zero_extend(0x21bb44, 52)) == 2210628); + assert(unsigned(zero_extend(0x21bb48, 52)) == 2210632); + assert(unsigned(zero_extend(0x21bb50, 52)) == 2210640); + assert(unsigned(zero_extend(0x21bb58, 52)) == 2210648); + assert(unsigned(zero_extend(0x21bb60, 52)) == 2210656); + assert(unsigned(zero_extend(0x21bba8, 52)) == 2210728); + assert(unsigned(zero_extend(0x21bd68, 52)) == 2211176); + assert(unsigned(zero_extend(0x21bd6c, 52)) == 2211180); + assert(unsigned(zero_extend(0x21bd70, 52)) == 2211184); + assert(unsigned(zero_extend(0x21bd74, 52)) == 2211188); + assert(unsigned(zero_extend(0x21bd78, 52)) == 2211192); + assert(unsigned(zero_extend(0x21bd7c, 52)) == 2211196); + assert(unsigned(zero_extend(0x21bd80, 52)) == 2211200); + assert(unsigned(zero_extend(0x21bd84, 52)) == 2211204); + assert(unsigned(zero_extend(0x21bd88, 52)) == 2211208); + assert(unsigned(zero_extend(0x21bd8c, 52)) == 2211212); + assert(unsigned(zero_extend(0x21bd90, 52)) == 2211216); + assert(unsigned(zero_extend(0x21bd94, 52)) == 2211220); + assert(unsigned(zero_extend(0x21bd98, 52)) == 2211224); + assert(unsigned(zero_extend(0x21bd9c, 52)) == 2211228); + assert(unsigned(zero_extend(0x21bda0, 52)) == 2211232); + assert(unsigned(zero_extend(0x21bda4, 52)) == 2211236); + assert(unsigned(zero_extend(0x21bda8, 52)) == 2211240); + assert(unsigned(zero_extend(0x21bdac, 52)) == 2211244); + assert(unsigned(zero_extend(0x21bdb0, 52)) == 2211248); + assert(unsigned(zero_extend(0x21bdb4, 52)) == 2211252); + assert(unsigned(zero_extend(0x21bdb8, 52)) == 2211256); + assert(unsigned(zero_extend(0x21bdbc, 52)) == 2211260); + assert(unsigned(zero_extend(0x21bdc0, 52)) == 2211264); + assert(unsigned(zero_extend(0x21bdc4, 52)) == 2211268); + assert(unsigned(zero_extend(0x21bdc8, 52)) == 2211272); + assert(unsigned(zero_extend(0x21bdcc, 52)) == 2211276); + assert(unsigned(zero_extend(0x21bdd0, 52)) == 2211280); + assert(unsigned(zero_extend(0x21bdd4, 52)) == 2211284); + assert(unsigned(zero_extend(0x21bdd8, 52)) == 2211288); + assert(unsigned(zero_extend(0x21bddc, 52)) == 2211292); + assert(unsigned(zero_extend(0x21bde0, 52)) == 2211296); + assert(unsigned(zero_extend(0x21bde4, 52)) == 2211300); + assert(unsigned(zero_extend(0x21bde8, 52)) == 2211304); + assert(unsigned(zero_extend(0x21bdec, 52)) == 2211308); + assert(unsigned(zero_extend(0x21bdf0, 52)) == 2211312); + assert(unsigned(zero_extend(0x21bdf4, 52)) == 2211316); + assert(unsigned(zero_extend(0x21bdf8, 52)) == 2211320); + assert(unsigned(zero_extend(0x21bdfc, 52)) == 2211324); + assert(unsigned(zero_extend(0x21be00, 52)) == 2211328); + assert(unsigned(zero_extend(0x21be04, 52)) == 2211332); + assert(unsigned(zero_extend(0x21be08, 52)) == 2211336); + assert(unsigned(zero_extend(0x21be0c, 52)) == 2211340); + assert(unsigned(zero_extend(0x21be10, 52)) == 2211344); + assert(unsigned(zero_extend(0x21be14, 52)) == 2211348); + assert(unsigned(zero_extend(0x21be18, 52)) == 2211352); + assert(unsigned(zero_extend(0x21be1c, 52)) == 2211356); + assert(unsigned(zero_extend(0x21be20, 52)) == 2211360); + assert(unsigned(zero_extend(0x21be24, 52)) == 2211364); + assert(unsigned(zero_extend(0x21be28, 52)) == 2211368); + assert(unsigned(zero_extend(0x21be2c, 52)) == 2211372); + assert(unsigned(zero_extend(0x21be30, 52)) == 2211376); + assert(unsigned(zero_extend(0x21be34, 52)) == 2211380); + assert(unsigned(zero_extend(0x21be38, 52)) == 2211384); + assert(unsigned(zero_extend(0x21be3c, 52)) == 2211388); + assert(unsigned(zero_extend(0x21be40, 52)) == 2211392); + assert(unsigned(zero_extend(0x21be44, 52)) == 2211396); + assert(unsigned(zero_extend(0x21be48, 52)) == 2211400); + assert(unsigned(zero_extend(0x21be4c, 52)) == 2211404); + assert(unsigned(zero_extend(0x21be50, 52)) == 2211408); + assert(unsigned(zero_extend(0x21be54, 52)) == 2211412); + assert(unsigned(zero_extend(0x21be58, 52)) == 2211416); + assert(unsigned(zero_extend(0x21be5c, 52)) == 2211420); + assert(unsigned(zero_extend(0x21be60, 52)) == 2211424); + assert(unsigned(zero_extend(0x21be64, 52)) == 2211428); + assert(unsigned(zero_extend(0x21be68, 52)) == 2211432); + assert(unsigned(zero_extend(0x21be6c, 52)) == 2211436); + assert(unsigned(zero_extend(0x21be70, 52)) == 2211440); + assert(unsigned(zero_extend(0x21be74, 52)) == 2211444); + assert(unsigned(zero_extend(0x21be78, 52)) == 2211448); + assert(unsigned(zero_extend(0x21be7c, 52)) == 2211452); + assert(unsigned(zero_extend(0x21be80, 52)) == 2211456); + assert(unsigned(zero_extend(0x21be84, 52)) == 2211460); + assert(unsigned(zero_extend(0x21be88, 52)) == 2211464); + assert(unsigned(zero_extend(0x21be8c, 52)) == 2211468); + assert(unsigned(zero_extend(0x21be90, 52)) == 2211472); + assert(unsigned(zero_extend(0x21be94, 52)) == 2211476); + assert(unsigned(zero_extend(0x21be98, 52)) == 2211480); + assert(unsigned(zero_extend(0x21be9c, 52)) == 2211484); + assert(unsigned(zero_extend(0x21bea0, 52)) == 2211488); + assert(unsigned(zero_extend(0x21bea4, 52)) == 2211492); + assert(unsigned(zero_extend(0x21beb4, 52)) == 2211508); + assert(unsigned(zero_extend(0x21beb8, 52)) == 2211512); + assert(unsigned(zero_extend(0x21bebc, 52)) == 2211516); + assert(unsigned(zero_extend(0x21bec0, 52)) == 2211520); + assert(unsigned(zero_extend(0x21bec4, 52)) == 2211524); + assert(unsigned(zero_extend(0x21bec8, 52)) == 2211528); + assert(unsigned(zero_extend(0x21becc, 52)) == 2211532); + assert(unsigned(zero_extend(0x21bed0, 52)) == 2211536); + assert(unsigned(zero_extend(0x21bed4, 52)) == 2211540); + assert(unsigned(zero_extend(0x21bed8, 52)) == 2211544); + assert(unsigned(zero_extend(0x21bedc, 52)) == 2211548); + assert(unsigned(zero_extend(0x21bee0, 52)) == 2211552); + assert(unsigned(zero_extend(0x21bef0, 52)) == 2211568); + assert(unsigned(zero_extend(0x21bef4, 52)) == 2211572); + assert(unsigned(zero_extend(0x21bef8, 52)) == 2211576); + assert(unsigned(zero_extend(0x21befc, 52)) == 2211580); + assert(unsigned(zero_extend(0x21bf5c, 52)) == 2211676); + assert(unsigned(zero_extend(0x21bf60, 52)) == 2211680); + assert(unsigned(zero_extend(0x21bf64, 52)) == 2211684); + assert(unsigned(zero_extend(0x21bf68, 52)) == 2211688); + assert(unsigned(zero_extend(0x21bf6c, 52)) == 2211692); + assert(unsigned(zero_extend(0x21bf70, 52)) == 2211696); + assert(unsigned(zero_extend(0x21bf88, 52)) == 2211720); + assert(unsigned(zero_extend(0x21bf8c, 52)) == 2211724); + assert(unsigned(zero_extend(0x21bf90, 52)) == 2211728); + assert(unsigned(zero_extend(0x21bf94, 52)) == 2211732); + assert(unsigned(zero_extend(0x21bf98, 52)) == 2211736); + assert(unsigned(zero_extend(0x21bf9c, 52)) == 2211740); + assert(unsigned(zero_extend(0x21bfa0, 52)) == 2211744); + assert(unsigned(zero_extend(0x21bfa4, 52)) == 2211748); + assert(unsigned(zero_extend(0x21bfa8, 52)) == 2211752); + assert(unsigned(zero_extend(0x21bfac, 52)) == 2211756); + assert(unsigned(zero_extend(0x21bfb0, 52)) == 2211760); + assert(unsigned(zero_extend(0x21bfb4, 52)) == 2211764); + assert(unsigned(zero_extend(0x21bfb8, 52)) == 2211768); + assert(unsigned(zero_extend(0x21bfbc, 52)) == 2211772); + assert(unsigned(zero_extend(0x21bfc0, 52)) == 2211776); + assert(unsigned(zero_extend(0x21bfc4, 52)) == 2211780); + assert(unsigned(zero_extend(0x21bfc8, 52)) == 2211784); + assert(unsigned(zero_extend(0x21bfcc, 52)) == 2211788); + assert(unsigned(zero_extend(0x21bfd0, 52)) == 2211792); + assert(unsigned(zero_extend(0x21bfd4, 52)) == 2211796); + assert(unsigned(zero_extend(0x21bfd8, 52)) == 2211800); + assert(unsigned(zero_extend(0x21bfdc, 52)) == 2211804); + assert(unsigned(zero_extend(0x21bfe0, 52)) == 2211808); + assert(unsigned(zero_extend(0x21bfe4, 52)) == 2211812); + assert(unsigned(zero_extend(0x21bfe8, 52)) == 2211816); + assert(unsigned(zero_extend(0x21bfec, 52)) == 2211820); + assert(unsigned(zero_extend(0x21bff0, 52)) == 2211824); + assert(unsigned(zero_extend(0x21bff4, 52)) == 2211828); + assert(unsigned(zero_extend(0x21bff8, 52)) == 2211832); + assert(unsigned(zero_extend(0x21bffc, 52)) == 2211836); + assert(unsigned(zero_extend(0x21c000, 52)) == 2211840); + assert(unsigned(zero_extend(0x21c004, 52)) == 2211844); + assert(unsigned(zero_extend(0x21c008, 52)) == 2211848); + assert(unsigned(zero_extend(0x21c00c, 52)) == 2211852); + assert(unsigned(zero_extend(0x21c010, 52)) == 2211856); + assert(unsigned(zero_extend(0x21c014, 52)) == 2211860); + assert(unsigned(zero_extend(0x21c018, 52)) == 2211864); + assert(unsigned(zero_extend(0x21c01c, 52)) == 2211868); + assert(unsigned(zero_extend(0x21c020, 52)) == 2211872); + assert(unsigned(zero_extend(0x21c024, 52)) == 2211876); + assert(unsigned(zero_extend(0x21c028, 52)) == 2211880); + assert(unsigned(zero_extend(0x21c02c, 52)) == 2211884); + assert(unsigned(zero_extend(0x21c030, 52)) == 2211888); + assert(unsigned(zero_extend(0x21c034, 52)) == 2211892); + assert(unsigned(zero_extend(0x21c038, 52)) == 2211896); + assert(unsigned(zero_extend(0x21c03c, 52)) == 2211900); + assert(unsigned(zero_extend(0x21c040, 52)) == 2211904); + assert(unsigned(zero_extend(0x21c044, 52)) == 2211908); + assert(unsigned(zero_extend(0x21c048, 52)) == 2211912); + assert(unsigned(zero_extend(0x21c04c, 52)) == 2211916); + assert(unsigned(zero_extend(0x21c050, 52)) == 2211920); + assert(unsigned(zero_extend(0x21c054, 52)) == 2211924); + assert(unsigned(zero_extend(0x21c058, 52)) == 2211928); + assert(unsigned(zero_extend(0x21c05c, 52)) == 2211932); + assert(unsigned(zero_extend(0x21c060, 52)) == 2211936); + assert(unsigned(zero_extend(0x21c064, 52)) == 2211940); + assert(unsigned(zero_extend(0x21c068, 52)) == 2211944); + assert(unsigned(zero_extend(0x21c06c, 52)) == 2211948); + assert(unsigned(zero_extend(0x21c070, 52)) == 2211952); + assert(unsigned(zero_extend(0x21c074, 52)) == 2211956); + assert(unsigned(zero_extend(0x21c078, 52)) == 2211960); + assert(unsigned(zero_extend(0x21c07c, 52)) == 2211964); + assert(unsigned(zero_extend(0x21c080, 52)) == 2211968); + assert(unsigned(zero_extend(0x21c084, 52)) == 2211972); + assert(unsigned(zero_extend(0x21c088, 52)) == 2211976); + assert(unsigned(zero_extend(0x21c08c, 52)) == 2211980); + assert(unsigned(zero_extend(0x21c090, 52)) == 2211984); + assert(unsigned(zero_extend(0x21c094, 52)) == 2211988); + assert(unsigned(zero_extend(0x21c098, 52)) == 2211992); + assert(unsigned(zero_extend(0x21c09c, 52)) == 2211996); + assert(unsigned(zero_extend(0x21c0a0, 52)) == 2212000); + assert(unsigned(zero_extend(0x21c0a4, 52)) == 2212004); + assert(unsigned(zero_extend(0x21c0a8, 52)) == 2212008); + assert(unsigned(zero_extend(0x21c0ac, 52)) == 2212012); + assert(unsigned(zero_extend(0x21c0b0, 52)) == 2212016); + assert(unsigned(zero_extend(0x21c0b4, 52)) == 2212020); + assert(unsigned(zero_extend(0x21c0b8, 52)) == 2212024); + assert(unsigned(zero_extend(0x21c0bc, 52)) == 2212028); + assert(unsigned(zero_extend(0x21c0c0, 52)) == 2212032); + assert(unsigned(zero_extend(0x21c0c4, 52)) == 2212036); + assert(unsigned(zero_extend(0x21c0c8, 52)) == 2212040); + assert(unsigned(zero_extend(0x21c0cc, 52)) == 2212044); + assert(unsigned(zero_extend(0x21c0d0, 52)) == 2212048); + assert(unsigned(zero_extend(0x21c0d4, 52)) == 2212052); + assert(unsigned(zero_extend(0x21c0d8, 52)) == 2212056); + assert(unsigned(zero_extend(0x21c0dc, 52)) == 2212060); + assert(unsigned(zero_extend(0x21c0e0, 52)) == 2212064); + assert(unsigned(zero_extend(0x21c0e4, 52)) == 2212068); + assert(unsigned(zero_extend(0x21c0e8, 52)) == 2212072); + assert(unsigned(zero_extend(0x21c0ec, 52)) == 2212076); + assert(unsigned(zero_extend(0x21c0f0, 52)) == 2212080); + assert(unsigned(zero_extend(0x21c0f4, 52)) == 2212084); + assert(unsigned(zero_extend(0x21c0f8, 52)) == 2212088); + assert(unsigned(zero_extend(0x21c0fc, 52)) == 2212092); + assert(unsigned(zero_extend(0x21c100, 52)) == 2212096); + assert(unsigned(zero_extend(0x21c104, 52)) == 2212100); + assert(unsigned(zero_extend(0x21c108, 52)) == 2212104); + assert(unsigned(zero_extend(0x21c10c, 52)) == 2212108); + assert(unsigned(zero_extend(0x21c110, 52)) == 2212112); + assert(unsigned(zero_extend(0x21c114, 52)) == 2212116); + assert(unsigned(zero_extend(0x21c118, 52)) == 2212120); + assert(unsigned(zero_extend(0x21c11c, 52)) == 2212124); + assert(unsigned(zero_extend(0x21c120, 52)) == 2212128); + assert(unsigned(zero_extend(0x21c124, 52)) == 2212132); + assert(unsigned(zero_extend(0x21c128, 52)) == 2212136); + assert(unsigned(zero_extend(0x21c12c, 52)) == 2212140); + assert(unsigned(zero_extend(0x21c130, 52)) == 2212144); + assert(unsigned(zero_extend(0x21c134, 52)) == 2212148); + assert(unsigned(zero_extend(0x21c138, 52)) == 2212152); + assert(unsigned(zero_extend(0x21c13c, 52)) == 2212156); + assert(unsigned(zero_extend(0x21c140, 52)) == 2212160); + assert(unsigned(zero_extend(0x21c144, 52)) == 2212164); + assert(unsigned(zero_extend(0x21c148, 52)) == 2212168); + assert(unsigned(zero_extend(0x21c14c, 52)) == 2212172); + assert(unsigned(zero_extend(0x21c150, 52)) == 2212176); + assert(unsigned(zero_extend(0x21c154, 52)) == 2212180); + assert(unsigned(zero_extend(0x21c158, 52)) == 2212184); + assert(unsigned(zero_extend(0x21c168, 52)) == 2212200); + assert(unsigned(zero_extend(0x21c16c, 52)) == 2212204); + assert(unsigned(zero_extend(0x21c17c, 52)) == 2212220); + assert(unsigned(zero_extend(0x21c180, 52)) == 2212224); + assert(unsigned(zero_extend(0x21c184, 52)) == 2212228); + assert(unsigned(zero_extend(0x21c188, 52)) == 2212232); + assert(unsigned(zero_extend(0x21c18c, 52)) == 2212236); + assert(unsigned(zero_extend(0x21c190, 52)) == 2212240); + assert(unsigned(zero_extend(0x21c1a0, 52)) == 2212256); + assert(unsigned(zero_extend(0x21c1a4, 52)) == 2212260); + assert(unsigned(zero_extend(0x21c1a8, 52)) == 2212264); + assert(unsigned(zero_extend(0x21c1e8, 52)) == 2212328); + assert(unsigned(zero_extend(0x21c1ec, 52)) == 2212332); + assert(unsigned(zero_extend(0x21c1f0, 52)) == 2212336); + assert(unsigned(zero_extend(0x21c1f4, 52)) == 2212340); + assert(unsigned(zero_extend(0x21c1f8, 52)) == 2212344); + assert(unsigned(zero_extend(0x21c1fc, 52)) == 2212348); + assert(unsigned(zero_extend(0x21c200, 52)) == 2212352); + assert(unsigned(zero_extend(0x21c204, 52)) == 2212356); + assert(unsigned(zero_extend(0x21c208, 52)) == 2212360); + assert(unsigned(zero_extend(0x21c20c, 52)) == 2212364); + assert(unsigned(zero_extend(0x21c240, 52)) == 2212416); + assert(unsigned(zero_extend(0x21c244, 52)) == 2212420); + assert(unsigned(zero_extend(0x21c248, 52)) == 2212424); + assert(unsigned(zero_extend(0x21c24c, 52)) == 2212428); + assert(unsigned(zero_extend(0x21c250, 52)) == 2212432); + assert(unsigned(zero_extend(0x21c254, 52)) == 2212436); + assert(unsigned(zero_extend(0x21c258, 52)) == 2212440); + assert(unsigned(zero_extend(0x21c25c, 52)) == 2212444); + assert(unsigned(zero_extend(0x21c260, 52)) == 2212448); + assert(unsigned(zero_extend(0x21c264, 52)) == 2212452); + assert(unsigned(zero_extend(0x21c3ec, 52)) == 2212844); + assert(unsigned(zero_extend(0x21c3f0, 52)) == 2212848); + assert(unsigned(zero_extend(0x21c3f4, 52)) == 2212852); + assert(unsigned(zero_extend(0x21c3f8, 52)) == 2212856); + assert(unsigned(zero_extend(0x21c3fc, 52)) == 2212860); + assert(unsigned(zero_extend(0x21c400, 52)) == 2212864); + assert(unsigned(zero_extend(0x21c404, 52)) == 2212868); + assert(unsigned(zero_extend(0x21c408, 52)) == 2212872); + assert(unsigned(zero_extend(0x21c40c, 52)) == 2212876); + assert(unsigned(zero_extend(0x21c410, 52)) == 2212880); + assert(unsigned(zero_extend(0x21c414, 52)) == 2212884); + assert(unsigned(zero_extend(0x21c418, 52)) == 2212888); + assert(unsigned(zero_extend(0x21c41c, 52)) == 2212892); + assert(unsigned(zero_extend(0x21c420, 52)) == 2212896); + assert(unsigned(zero_extend(0x21c424, 52)) == 2212900); + assert(unsigned(zero_extend(0x21c428, 52)) == 2212904); + assert(unsigned(zero_extend(0x21c42c, 52)) == 2212908); + assert(unsigned(zero_extend(0x21c430, 52)) == 2212912); + assert(unsigned(zero_extend(0x21c434, 52)) == 2212916); + assert(unsigned(zero_extend(0x21c438, 52)) == 2212920); + assert(unsigned(zero_extend(0x21c43c, 52)) == 2212924); + assert(unsigned(zero_extend(0x21c440, 52)) == 2212928); + assert(unsigned(zero_extend(0x21c444, 52)) == 2212932); + assert(unsigned(zero_extend(0x21c448, 52)) == 2212936); + assert(unsigned(zero_extend(0x21c44c, 52)) == 2212940); + assert(unsigned(zero_extend(0x21c450, 52)) == 2212944); + assert(unsigned(zero_extend(0x21c454, 52)) == 2212948); + assert(unsigned(zero_extend(0x21c458, 52)) == 2212952); + assert(unsigned(zero_extend(0x21c45c, 52)) == 2212956); + assert(unsigned(zero_extend(0x21c460, 52)) == 2212960); + assert(unsigned(zero_extend(0x21c464, 52)) == 2212964); + assert(unsigned(zero_extend(0x21c468, 52)) == 2212968); + assert(unsigned(zero_extend(0x21c46c, 52)) == 2212972); + assert(unsigned(zero_extend(0x21c470, 52)) == 2212976); + assert(unsigned(zero_extend(0x21c474, 52)) == 2212980); + assert(unsigned(zero_extend(0x21c478, 52)) == 2212984); + assert(unsigned(zero_extend(0x21c47c, 52)) == 2212988); + assert(unsigned(zero_extend(0x21c480, 52)) == 2212992); + assert(unsigned(zero_extend(0x21c484, 52)) == 2212996); + assert(unsigned(zero_extend(0x21c488, 52)) == 2213000); + assert(unsigned(zero_extend(0x21c48c, 52)) == 2213004); + assert(unsigned(zero_extend(0x21c490, 52)) == 2213008); + assert(unsigned(zero_extend(0x21c494, 52)) == 2213012); + assert(unsigned(zero_extend(0x21c498, 52)) == 2213016); + assert(unsigned(zero_extend(0x21c49c, 52)) == 2213020); + assert(unsigned(zero_extend(0x21c4a0, 52)) == 2213024); + assert(unsigned(zero_extend(0x21c4a4, 52)) == 2213028); + assert(unsigned(zero_extend(0x21c4a8, 52)) == 2213032); + assert(unsigned(zero_extend(0x21c4ac, 52)) == 2213036); + assert(unsigned(zero_extend(0x21c4b0, 52)) == 2213040); + assert(unsigned(zero_extend(0x21c4b4, 52)) == 2213044); + assert(unsigned(zero_extend(0x21c4b8, 52)) == 2213048); + assert(unsigned(zero_extend(0x21c4c8, 52)) == 2213064); + assert(unsigned(zero_extend(0x21c4cc, 52)) == 2213068); + assert(unsigned(zero_extend(0x21c4d0, 52)) == 2213072); + assert(unsigned(zero_extend(0x21c4d4, 52)) == 2213076); + assert(unsigned(zero_extend(0x21c4d8, 52)) == 2213080); + assert(unsigned(zero_extend(0x21c4dc, 52)) == 2213084); + assert(unsigned(zero_extend(0x21c4e0, 52)) == 2213088); + assert(unsigned(zero_extend(0x21c4e4, 52)) == 2213092); + assert(unsigned(zero_extend(0x21c4e8, 52)) == 2213096); + assert(unsigned(zero_extend(0x21c4ec, 52)) == 2213100); + assert(unsigned(zero_extend(0x21c4f0, 52)) == 2213104); + assert(unsigned(zero_extend(0x21c4f4, 52)) == 2213108); + assert(unsigned(zero_extend(0x21c4f8, 52)) == 2213112); + assert(unsigned(zero_extend(0x21c4fc, 52)) == 2213116); + assert(unsigned(zero_extend(0x21c500, 52)) == 2213120); + assert(unsigned(zero_extend(0x21c504, 52)) == 2213124); + assert(unsigned(zero_extend(0x21c508, 52)) == 2213128); + assert(unsigned(zero_extend(0x21c50c, 52)) == 2213132); + assert(unsigned(zero_extend(0x21c510, 52)) == 2213136); + assert(unsigned(zero_extend(0x21c514, 52)) == 2213140); + assert(unsigned(zero_extend(0x21c518, 52)) == 2213144); + assert(unsigned(zero_extend(0x21c51c, 52)) == 2213148); + assert(unsigned(zero_extend(0x21c520, 52)) == 2213152); + assert(unsigned(zero_extend(0x21c524, 52)) == 2213156); + assert(unsigned(zero_extend(0x21c528, 52)) == 2213160); + assert(unsigned(zero_extend(0x21c52c, 52)) == 2213164); + assert(unsigned(zero_extend(0x21c530, 52)) == 2213168); + assert(unsigned(zero_extend(0x21c534, 52)) == 2213172); + assert(unsigned(zero_extend(0x21c538, 52)) == 2213176); + assert(unsigned(zero_extend(0x21c53c, 52)) == 2213180); + assert(unsigned(zero_extend(0x21c540, 52)) == 2213184); + assert(unsigned(zero_extend(0x21c544, 52)) == 2213188); + assert(unsigned(zero_extend(0x21c548, 52)) == 2213192); + assert(unsigned(zero_extend(0x21c54c, 52)) == 2213196); + assert(unsigned(zero_extend(0x21c550, 52)) == 2213200); + assert(unsigned(zero_extend(0x21c554, 52)) == 2213204); + assert(unsigned(zero_extend(0x21c558, 52)) == 2213208); + assert(unsigned(zero_extend(0x21c55c, 52)) == 2213212); + assert(unsigned(zero_extend(0x21c560, 52)) == 2213216); + assert(unsigned(zero_extend(0x21c564, 52)) == 2213220); + assert(unsigned(zero_extend(0x21c568, 52)) == 2213224); + assert(unsigned(zero_extend(0x21c56c, 52)) == 2213228); + assert(unsigned(zero_extend(0x21c570, 52)) == 2213232); + assert(unsigned(zero_extend(0x21c574, 52)) == 2213236); + assert(unsigned(zero_extend(0x21c578, 52)) == 2213240); + assert(unsigned(zero_extend(0x21c57c, 52)) == 2213244); + assert(unsigned(zero_extend(0x21c580, 52)) == 2213248); + assert(unsigned(zero_extend(0x21c584, 52)) == 2213252); + assert(unsigned(zero_extend(0x21c588, 52)) == 2213256); + assert(unsigned(zero_extend(0x21c58c, 52)) == 2213260); + assert(unsigned(zero_extend(0x21c590, 52)) == 2213264); + assert(unsigned(zero_extend(0x21c594, 52)) == 2213268); + assert(unsigned(zero_extend(0x21c598, 52)) == 2213272); + assert(unsigned(zero_extend(0x21c5a0, 52)) == 2213280); + assert(unsigned(zero_extend(0x21c5a8, 52)) == 2213288); + assert(unsigned(zero_extend(0x21c5b0, 52)) == 2213296); + assert(unsigned(zero_extend(0x21c5b8, 52)) == 2213304); + assert(unsigned(zero_extend(0x21c5c0, 52)) == 2213312); + assert(unsigned(zero_extend(0x21c5c8, 52)) == 2213320); + assert(unsigned(zero_extend(0x21c5d0, 52)) == 2213328); + assert(unsigned(zero_extend(0x21c5d8, 52)) == 2213336); + assert(unsigned(zero_extend(0x21c5e0, 52)) == 2213344); + assert(unsigned(zero_extend(0x21c5e4, 52)) == 2213348); + assert(unsigned(zero_extend(0x21c5e8, 52)) == 2213352); + assert(unsigned(zero_extend(0x21c5ec, 52)) == 2213356); + assert(unsigned(zero_extend(0x21c5f0, 52)) == 2213360); + assert(unsigned(zero_extend(0x21c5f4, 52)) == 2213364); + assert(unsigned(zero_extend(0x21c5f8, 52)) == 2213368); + assert(unsigned(zero_extend(0x21c5fc, 52)) == 2213372); + assert(unsigned(zero_extend(0x21c600, 52)) == 2213376); + assert(unsigned(zero_extend(0x21c604, 52)) == 2213380); + assert(unsigned(zero_extend(0x21c608, 52)) == 2213384); + assert(unsigned(zero_extend(0x21c60c, 52)) == 2213388); + assert(unsigned(zero_extend(0x21c610, 52)) == 2213392); + assert(unsigned(zero_extend(0x21c614, 52)) == 2213396); + assert(unsigned(zero_extend(0x21c618, 52)) == 2213400); + assert(unsigned(zero_extend(0x21c61c, 52)) == 2213404); + assert(unsigned(zero_extend(0x21c620, 52)) == 2213408); + assert(unsigned(zero_extend(0x21c624, 52)) == 2213412); + assert(unsigned(zero_extend(0x21c628, 52)) == 2213416); + assert(unsigned(zero_extend(0x21c62c, 52)) == 2213420); + assert(unsigned(zero_extend(0x21c630, 52)) == 2213424); + assert(unsigned(zero_extend(0x21c634, 52)) == 2213428); + assert(unsigned(zero_extend(0x21c638, 52)) == 2213432); + assert(unsigned(zero_extend(0x21c63c, 52)) == 2213436); + assert(unsigned(zero_extend(0x21c640, 52)) == 2213440); + assert(unsigned(zero_extend(0x21c644, 52)) == 2213444); + assert(unsigned(zero_extend(0x21c648, 52)) == 2213448); + assert(unsigned(zero_extend(0x21c64c, 52)) == 2213452); + assert(unsigned(zero_extend(0x21c650, 52)) == 2213456); + assert(unsigned(zero_extend(0x21c654, 52)) == 2213460); + assert(unsigned(zero_extend(0x21c658, 52)) == 2213464); + assert(unsigned(zero_extend(0x21c65c, 52)) == 2213468); + assert(unsigned(zero_extend(0x21c660, 52)) == 2213472); + assert(unsigned(zero_extend(0x21c664, 52)) == 2213476); + assert(unsigned(zero_extend(0x21c668, 52)) == 2213480); + assert(unsigned(zero_extend(0x21c66c, 52)) == 2213484); + assert(unsigned(zero_extend(0x21c670, 52)) == 2213488); + assert(unsigned(zero_extend(0x21c674, 52)) == 2213492); + assert(unsigned(zero_extend(0x21c678, 52)) == 2213496); + assert(unsigned(zero_extend(0x21c67c, 52)) == 2213500); + assert(unsigned(zero_extend(0x21c680, 52)) == 2213504); + assert(unsigned(zero_extend(0x21c684, 52)) == 2213508); + assert(unsigned(zero_extend(0x21c688, 52)) == 2213512); + assert(unsigned(zero_extend(0x21c68c, 52)) == 2213516); + assert(unsigned(zero_extend(0x21c690, 52)) == 2213520); + assert(unsigned(zero_extend(0x21c694, 52)) == 2213524); + assert(unsigned(zero_extend(0x21c698, 52)) == 2213528); + assert(unsigned(zero_extend(0x21c69c, 52)) == 2213532); + assert(unsigned(zero_extend(0x21c6a0, 52)) == 2213536); + assert(unsigned(zero_extend(0x21c6a4, 52)) == 2213540); + assert(unsigned(zero_extend(0x21c6a8, 52)) == 2213544); + assert(unsigned(zero_extend(0x21c6ac, 52)) == 2213548); + assert(unsigned(zero_extend(0x21c6b0, 52)) == 2213552); + assert(unsigned(zero_extend(0x21c6b4, 52)) == 2213556); + assert(unsigned(zero_extend(0x21c6b8, 52)) == 2213560); + assert(unsigned(zero_extend(0x21c6bc, 52)) == 2213564); + assert(unsigned(zero_extend(0x21c6c0, 52)) == 2213568); + assert(unsigned(zero_extend(0x21c6c4, 52)) == 2213572); + assert(unsigned(zero_extend(0x21c6c8, 52)) == 2213576); + assert(unsigned(zero_extend(0x21c6cc, 52)) == 2213580); + assert(unsigned(zero_extend(0x21c6d0, 52)) == 2213584); + assert(unsigned(zero_extend(0x21c6d4, 52)) == 2213588); + assert(unsigned(zero_extend(0x21c6d8, 52)) == 2213592); + assert(unsigned(zero_extend(0x21c6dc, 52)) == 2213596); + assert(unsigned(zero_extend(0x21c6e0, 52)) == 2213600); + assert(unsigned(zero_extend(0x21c6e4, 52)) == 2213604); + assert(unsigned(zero_extend(0x21c6f4, 52)) == 2213620); + assert(unsigned(zero_extend(0x21c6f8, 52)) == 2213624); + assert(unsigned(zero_extend(0x21c6fc, 52)) == 2213628); + assert(unsigned(zero_extend(0x21c700, 52)) == 2213632); + assert(unsigned(zero_extend(0x21c704, 52)) == 2213636); + assert(unsigned(zero_extend(0x21c708, 52)) == 2213640); + assert(unsigned(zero_extend(0x21c70c, 52)) == 2213644); + assert(unsigned(zero_extend(0x21c710, 52)) == 2213648); + assert(unsigned(zero_extend(0x21c714, 52)) == 2213652); + assert(unsigned(zero_extend(0x21c718, 52)) == 2213656); + assert(unsigned(zero_extend(0x21c71c, 52)) == 2213660); + assert(unsigned(zero_extend(0x21c720, 52)) == 2213664); + assert(unsigned(zero_extend(0x21c724, 52)) == 2213668); + assert(unsigned(zero_extend(0x21c728, 52)) == 2213672); + assert(unsigned(zero_extend(0x21c72c, 52)) == 2213676); + assert(unsigned(zero_extend(0x21c730, 52)) == 2213680); + assert(unsigned(zero_extend(0x21c734, 52)) == 2213684); + assert(unsigned(zero_extend(0x21c738, 52)) == 2213688); + assert(unsigned(zero_extend(0x21c73c, 52)) == 2213692); + assert(unsigned(zero_extend(0x21c740, 52)) == 2213696); + assert(unsigned(zero_extend(0x21c744, 52)) == 2213700); + assert(unsigned(zero_extend(0x21c748, 52)) == 2213704); + assert(unsigned(zero_extend(0x21c74c, 52)) == 2213708); + assert(unsigned(zero_extend(0x21c750, 52)) == 2213712); + assert(unsigned(zero_extend(0x21c754, 52)) == 2213716); + assert(unsigned(zero_extend(0x21c758, 52)) == 2213720); + assert(unsigned(zero_extend(0x21c75c, 52)) == 2213724); + assert(unsigned(zero_extend(0x21c760, 52)) == 2213728); + assert(unsigned(zero_extend(0x21c764, 52)) == 2213732); + assert(unsigned(zero_extend(0x21c768, 52)) == 2213736); + assert(unsigned(zero_extend(0x21c76c, 52)) == 2213740); + assert(unsigned(zero_extend(0x21c770, 52)) == 2213744); + assert(unsigned(zero_extend(0x21c774, 52)) == 2213748); + assert(unsigned(zero_extend(0x21c778, 52)) == 2213752); + assert(unsigned(zero_extend(0x21c77c, 52)) == 2213756); + assert(unsigned(zero_extend(0x21c780, 52)) == 2213760); + assert(unsigned(zero_extend(0x21c784, 52)) == 2213764); + assert(unsigned(zero_extend(0x21c788, 52)) == 2213768); + assert(unsigned(zero_extend(0x21c78c, 52)) == 2213772); + assert(unsigned(zero_extend(0x21c790, 52)) == 2213776); + assert(unsigned(zero_extend(0x21c794, 52)) == 2213780); + assert(unsigned(zero_extend(0x21c798, 52)) == 2213784); + assert(unsigned(zero_extend(0x21c79c, 52)) == 2213788); + assert(unsigned(zero_extend(0x21c7a0, 52)) == 2213792); + assert(unsigned(zero_extend(0x21c7a4, 52)) == 2213796); + assert(unsigned(zero_extend(0x21c7a8, 52)) == 2213800); + assert(unsigned(zero_extend(0x21c7ac, 52)) == 2213804); + assert(unsigned(zero_extend(0x21c7b0, 52)) == 2213808); + assert(unsigned(zero_extend(0x21c7b4, 52)) == 2213812); + assert(unsigned(zero_extend(0x21c7b8, 52)) == 2213816); + assert(unsigned(zero_extend(0x21c7bc, 52)) == 2213820); + assert(unsigned(zero_extend(0x21c7c0, 52)) == 2213824); + assert(unsigned(zero_extend(0x21c7c4, 52)) == 2213828); + assert(unsigned(zero_extend(0x21c7c8, 52)) == 2213832); + assert(unsigned(zero_extend(0x21c7cc, 52)) == 2213836); + assert(unsigned(zero_extend(0x21c7d0, 52)) == 2213840); + assert(unsigned(zero_extend(0x21c7d4, 52)) == 2213844); + assert(unsigned(zero_extend(0x21c7d8, 52)) == 2213848); + assert(unsigned(zero_extend(0x21c7dc, 52)) == 2213852); + assert(unsigned(zero_extend(0x21c7e0, 52)) == 2213856); + assert(unsigned(zero_extend(0x21c7e4, 52)) == 2213860); + assert(unsigned(zero_extend(0x21c7e8, 52)) == 2213864); + assert(unsigned(zero_extend(0x21c7f8, 52)) == 2213880); + assert(unsigned(zero_extend(0x21c7fc, 52)) == 2213884); + assert(unsigned(zero_extend(0x21c800, 52)) == 2213888); + assert(unsigned(zero_extend(0x21c804, 52)) == 2213892); + assert(unsigned(zero_extend(0x21c808, 52)) == 2213896); + assert(unsigned(zero_extend(0x21c80c, 52)) == 2213900); + assert(unsigned(zero_extend(0x21c810, 52)) == 2213904); + assert(unsigned(zero_extend(0x21c814, 52)) == 2213908); + assert(unsigned(zero_extend(0x21c818, 52)) == 2213912); + assert(unsigned(zero_extend(0x21c81c, 52)) == 2213916); + assert(unsigned(zero_extend(0x21c820, 52)) == 2213920); + assert(unsigned(zero_extend(0x21c824, 52)) == 2213924); + assert(unsigned(zero_extend(0x21c828, 52)) == 2213928); + assert(unsigned(zero_extend(0x21c838, 52)) == 2213944); + assert(unsigned(zero_extend(0x21c83c, 52)) == 2213948); + assert(unsigned(zero_extend(0x21c860, 52)) == 2213984); + assert(unsigned(zero_extend(0x21c864, 52)) == 2213988); + assert(unsigned(zero_extend(0x21c874, 52)) == 2214004); + assert(unsigned(zero_extend(0x21c878, 52)) == 2214008); + assert(unsigned(zero_extend(0x21c87c, 52)) == 2214012); + assert(unsigned(zero_extend(0x21c880, 52)) == 2214016); + assert(unsigned(zero_extend(0x21c890, 52)) == 2214032); + assert(unsigned(zero_extend(0x21c894, 52)) == 2214036); + assert(unsigned(zero_extend(0x21c8b0, 52)) == 2214064); + assert(unsigned(zero_extend(0x21c8b4, 52)) == 2214068); + assert(unsigned(zero_extend(0x21c8b8, 52)) == 2214072); + assert(unsigned(zero_extend(0x21c8bc, 52)) == 2214076); + assert(unsigned(zero_extend(0x21c8c0, 52)) == 2214080); + assert(unsigned(zero_extend(0x21c8c4, 52)) == 2214084); + assert(unsigned(zero_extend(0x21c8c8, 52)) == 2214088); + assert(unsigned(zero_extend(0x21c8cc, 52)) == 2214092); + assert(unsigned(zero_extend(0x21c8d0, 52)) == 2214096); + assert(unsigned(zero_extend(0x21c8d4, 52)) == 2214100); + assert(unsigned(zero_extend(0x21c8d8, 52)) == 2214104); + assert(unsigned(zero_extend(0x21c8dc, 52)) == 2214108); + assert(unsigned(zero_extend(0x21c8e0, 52)) == 2214112); + assert(unsigned(zero_extend(0x21c8e4, 52)) == 2214116); + assert(unsigned(zero_extend(0x21c8e8, 52)) == 2214120); + assert(unsigned(zero_extend(0x21c8ec, 52)) == 2214124); + assert(unsigned(zero_extend(0x21c8f0, 52)) == 2214128); + assert(unsigned(zero_extend(0x21c8f4, 52)) == 2214132); + assert(unsigned(zero_extend(0x21c8f8, 52)) == 2214136); + assert(unsigned(zero_extend(0x21c8fc, 52)) == 2214140); + assert(unsigned(zero_extend(0x21c900, 52)) == 2214144); + assert(unsigned(zero_extend(0x21c904, 52)) == 2214148); + assert(unsigned(zero_extend(0x21c908, 52)) == 2214152); + assert(unsigned(zero_extend(0x21c90c, 52)) == 2214156); + assert(unsigned(zero_extend(0x21c910, 52)) == 2214160); + assert(unsigned(zero_extend(0x21c914, 52)) == 2214164); + assert(unsigned(zero_extend(0x21c918, 52)) == 2214168); + assert(unsigned(zero_extend(0x21c91c, 52)) == 2214172); + assert(unsigned(zero_extend(0x21c920, 52)) == 2214176); + assert(unsigned(zero_extend(0x21c924, 52)) == 2214180); + assert(unsigned(zero_extend(0x21c928, 52)) == 2214184); + assert(unsigned(zero_extend(0x21c92c, 52)) == 2214188); + assert(unsigned(zero_extend(0x21c930, 52)) == 2214192); + assert(unsigned(zero_extend(0x21c934, 52)) == 2214196); + assert(unsigned(zero_extend(0x21c938, 52)) == 2214200); + assert(unsigned(zero_extend(0x21c93c, 52)) == 2214204); + assert(unsigned(zero_extend(0x21c940, 52)) == 2214208); + assert(unsigned(zero_extend(0x21c944, 52)) == 2214212); + assert(unsigned(zero_extend(0x21c948, 52)) == 2214216); + assert(unsigned(zero_extend(0x21c94c, 52)) == 2214220); + assert(unsigned(zero_extend(0x21c950, 52)) == 2214224); + assert(unsigned(zero_extend(0x21c954, 52)) == 2214228); + assert(unsigned(zero_extend(0x21c958, 52)) == 2214232); + assert(unsigned(zero_extend(0x21c95c, 52)) == 2214236); + assert(unsigned(zero_extend(0x21c960, 52)) == 2214240); + assert(unsigned(zero_extend(0x21c964, 52)) == 2214244); + assert(unsigned(zero_extend(0x21c968, 52)) == 2214248); + assert(unsigned(zero_extend(0x21c96c, 52)) == 2214252); + assert(unsigned(zero_extend(0x21c970, 52)) == 2214256); + assert(unsigned(zero_extend(0x21c974, 52)) == 2214260); + assert(unsigned(zero_extend(0x21c978, 52)) == 2214264); + assert(unsigned(zero_extend(0x21c97c, 52)) == 2214268); + assert(unsigned(zero_extend(0x21c980, 52)) == 2214272); + assert(unsigned(zero_extend(0x21c984, 52)) == 2214276); + assert(unsigned(zero_extend(0x21c988, 52)) == 2214280); + assert(unsigned(zero_extend(0x21c98c, 52)) == 2214284); + assert(unsigned(zero_extend(0x21c990, 52)) == 2214288); + assert(unsigned(zero_extend(0x21c994, 52)) == 2214292); + assert(unsigned(zero_extend(0x21c998, 52)) == 2214296); + assert(unsigned(zero_extend(0x21c99c, 52)) == 2214300); + assert(unsigned(zero_extend(0x21c9a0, 52)) == 2214304); + assert(unsigned(zero_extend(0x21c9a4, 52)) == 2214308); + assert(unsigned(zero_extend(0x21c9a8, 52)) == 2214312); + assert(unsigned(zero_extend(0x21c9ac, 52)) == 2214316); + assert(unsigned(zero_extend(0x21c9b0, 52)) == 2214320); + assert(unsigned(zero_extend(0x21c9b4, 52)) == 2214324); + assert(unsigned(zero_extend(0x21c9b8, 52)) == 2214328); + assert(unsigned(zero_extend(0x21c9bc, 52)) == 2214332); + assert(unsigned(zero_extend(0x21c9c0, 52)) == 2214336); + assert(unsigned(zero_extend(0x21c9c8, 52)) == 2214344); + assert(unsigned(zero_extend(0x21c9cc, 52)) == 2214348); + assert(unsigned(zero_extend(0x21c9d0, 52)) == 2214352); + assert(unsigned(zero_extend(0x21c9d4, 52)) == 2214356); + assert(unsigned(zero_extend(0x21c9d8, 52)) == 2214360); + assert(unsigned(zero_extend(0x21c9dc, 52)) == 2214364); + assert(unsigned(zero_extend(0x21c9e0, 52)) == 2214368); + assert(unsigned(zero_extend(0x21c9e4, 52)) == 2214372); + assert(unsigned(zero_extend(0x21c9e8, 52)) == 2214376); + assert(unsigned(zero_extend(0x21c9ec, 52)) == 2214380); + assert(unsigned(zero_extend(0x21c9f0, 52)) == 2214384); + assert(unsigned(zero_extend(0x21c9f4, 52)) == 2214388); + assert(unsigned(zero_extend(0x21c9f8, 52)) == 2214392); + assert(unsigned(zero_extend(0x21c9fc, 52)) == 2214396); + assert(unsigned(zero_extend(0x21ca00, 52)) == 2214400); + assert(unsigned(zero_extend(0x21ca04, 52)) == 2214404); + assert(unsigned(zero_extend(0x21ca08, 52)) == 2214408); + assert(unsigned(zero_extend(0x21ca0c, 52)) == 2214412); + assert(unsigned(zero_extend(0x21ca10, 52)) == 2214416); + assert(unsigned(zero_extend(0x21ca14, 52)) == 2214420); + assert(unsigned(zero_extend(0x21ca18, 52)) == 2214424); + assert(unsigned(zero_extend(0x21ca1c, 52)) == 2214428); + assert(unsigned(zero_extend(0x21ca20, 52)) == 2214432); + assert(unsigned(zero_extend(0x21ca24, 52)) == 2214436); + assert(unsigned(zero_extend(0x21ca28, 52)) == 2214440); + assert(unsigned(zero_extend(0x21ca2c, 52)) == 2214444); + assert(unsigned(zero_extend(0x21ca30, 52)) == 2214448); + assert(unsigned(zero_extend(0x21ca34, 52)) == 2214452); + assert(unsigned(zero_extend(0x21ca38, 52)) == 2214456); + assert(unsigned(zero_extend(0x21ca3c, 52)) == 2214460); + assert(unsigned(zero_extend(0x21ca40, 52)) == 2214464); + assert(unsigned(zero_extend(0x21ca44, 52)) == 2214468); + assert(unsigned(zero_extend(0x21ca48, 52)) == 2214472); + assert(unsigned(zero_extend(0x21ca4c, 52)) == 2214476); + assert(unsigned(zero_extend(0x21ca50, 52)) == 2214480); + assert(unsigned(zero_extend(0x21ca54, 52)) == 2214484); + assert(unsigned(zero_extend(0x21ca58, 52)) == 2214488); + assert(unsigned(zero_extend(0x21ca5c, 52)) == 2214492); + assert(unsigned(zero_extend(0x21ca60, 52)) == 2214496); + assert(unsigned(zero_extend(0x21ca64, 52)) == 2214500); + assert(unsigned(zero_extend(0x21ca68, 52)) == 2214504); + assert(unsigned(zero_extend(0x21ca6c, 52)) == 2214508); + assert(unsigned(zero_extend(0x21ca70, 52)) == 2214512); + assert(unsigned(zero_extend(0x21ca74, 52)) == 2214516); + assert(unsigned(zero_extend(0x21ca78, 52)) == 2214520); + assert(unsigned(zero_extend(0x21ca7c, 52)) == 2214524); + assert(unsigned(zero_extend(0x21ca80, 52)) == 2214528); + assert(unsigned(zero_extend(0x21ca84, 52)) == 2214532); + assert(unsigned(zero_extend(0x21ca88, 52)) == 2214536); + assert(unsigned(zero_extend(0x21ca8c, 52)) == 2214540); + assert(unsigned(zero_extend(0x21ca90, 52)) == 2214544); + assert(unsigned(zero_extend(0x21ca94, 52)) == 2214548); + assert(unsigned(zero_extend(0x21ca98, 52)) == 2214552); + assert(unsigned(zero_extend(0x21ca9c, 52)) == 2214556); + assert(unsigned(zero_extend(0x21caa0, 52)) == 2214560); + assert(unsigned(zero_extend(0x21caa4, 52)) == 2214564); + assert(unsigned(zero_extend(0x21caa8, 52)) == 2214568); + assert(unsigned(zero_extend(0x21caac, 52)) == 2214572); + assert(unsigned(zero_extend(0x21cab0, 52)) == 2214576); + assert(unsigned(zero_extend(0x21cab4, 52)) == 2214580); + assert(unsigned(zero_extend(0x21cab8, 52)) == 2214584); + assert(unsigned(zero_extend(0x21cabc, 52)) == 2214588); + assert(unsigned(zero_extend(0x21cac0, 52)) == 2214592); + assert(unsigned(zero_extend(0x21cac4, 52)) == 2214596); + assert(unsigned(zero_extend(0x21cac8, 52)) == 2214600); + assert(unsigned(zero_extend(0x21cacc, 52)) == 2214604); + assert(unsigned(zero_extend(0x21cad0, 52)) == 2214608); + assert(unsigned(zero_extend(0x21cad4, 52)) == 2214612); + assert(unsigned(zero_extend(0x21cad8, 52)) == 2214616); + assert(unsigned(zero_extend(0x21cadc, 52)) == 2214620); + assert(unsigned(zero_extend(0x21cae0, 52)) == 2214624); + assert(unsigned(zero_extend(0x21cae4, 52)) == 2214628); + assert(unsigned(zero_extend(0x21cae8, 52)) == 2214632); + assert(unsigned(zero_extend(0x21caec, 52)) == 2214636); + assert(unsigned(zero_extend(0x21caf0, 52)) == 2214640); + assert(unsigned(zero_extend(0x21caf4, 52)) == 2214644); + assert(unsigned(zero_extend(0x21caf8, 52)) == 2214648); + assert(unsigned(zero_extend(0x21cafc, 52)) == 2214652); + assert(unsigned(zero_extend(0x21cb00, 52)) == 2214656); + assert(unsigned(zero_extend(0x21cb04, 52)) == 2214660); + assert(unsigned(zero_extend(0x21cb08, 52)) == 2214664); + assert(unsigned(zero_extend(0x21cb0c, 52)) == 2214668); + assert(unsigned(zero_extend(0x21cb10, 52)) == 2214672); + assert(unsigned(zero_extend(0x21cb14, 52)) == 2214676); + assert(unsigned(zero_extend(0x21cb18, 52)) == 2214680); + assert(unsigned(zero_extend(0x21cb20, 52)) == 2214688); + assert(unsigned(zero_extend(0x21cb24, 52)) == 2214692); + assert(unsigned(zero_extend(0x21cb28, 52)) == 2214696); + assert(unsigned(zero_extend(0x21cb2c, 52)) == 2214700); + assert(unsigned(zero_extend(0x21cb30, 52)) == 2214704); + assert(unsigned(zero_extend(0x21cb34, 52)) == 2214708); + assert(unsigned(zero_extend(0x21cb38, 52)) == 2214712); + assert(unsigned(zero_extend(0x21cb3c, 52)) == 2214716); + assert(unsigned(zero_extend(0x21cb40, 52)) == 2214720); + assert(unsigned(zero_extend(0x21cb44, 52)) == 2214724); + assert(unsigned(zero_extend(0x21cb48, 52)) == 2214728); + assert(unsigned(zero_extend(0x21cb4c, 52)) == 2214732); + assert(unsigned(zero_extend(0x21cb50, 52)) == 2214736); + assert(unsigned(zero_extend(0x21cb54, 52)) == 2214740); + assert(unsigned(zero_extend(0x21cb58, 52)) == 2214744); + assert(unsigned(zero_extend(0x21cb5c, 52)) == 2214748); + assert(unsigned(zero_extend(0x21cb60, 52)) == 2214752); + assert(unsigned(zero_extend(0x21cb64, 52)) == 2214756); + assert(unsigned(zero_extend(0x21cb68, 52)) == 2214760); + assert(unsigned(zero_extend(0x21cb6c, 52)) == 2214764); + assert(unsigned(zero_extend(0x21cb70, 52)) == 2214768); + assert(unsigned(zero_extend(0x21cb74, 52)) == 2214772); + assert(unsigned(zero_extend(0x21cb78, 52)) == 2214776); + assert(unsigned(zero_extend(0x21cb7c, 52)) == 2214780); + assert(unsigned(zero_extend(0x21cb80, 52)) == 2214784); + assert(unsigned(zero_extend(0x21cb84, 52)) == 2214788); + assert(unsigned(zero_extend(0x21cb88, 52)) == 2214792); + assert(unsigned(zero_extend(0x21cb8c, 52)) == 2214796); + assert(unsigned(zero_extend(0x21cb90, 52)) == 2214800); + assert(unsigned(zero_extend(0x21cb94, 52)) == 2214804); + assert(unsigned(zero_extend(0x21cb98, 52)) == 2214808); + assert(unsigned(zero_extend(0x21cb9c, 52)) == 2214812); + assert(unsigned(zero_extend(0x21cba0, 52)) == 2214816); + assert(unsigned(zero_extend(0x21cba4, 52)) == 2214820); + assert(unsigned(zero_extend(0x21cba8, 52)) == 2214824); + assert(unsigned(zero_extend(0x21cbac, 52)) == 2214828); + assert(unsigned(zero_extend(0x21cbb0, 52)) == 2214832); + assert(unsigned(zero_extend(0x21cbb4, 52)) == 2214836); + assert(unsigned(zero_extend(0x21cbb8, 52)) == 2214840); + assert(unsigned(zero_extend(0x21cbbc, 52)) == 2214844); + assert(unsigned(zero_extend(0x21cbc0, 52)) == 2214848); + assert(unsigned(zero_extend(0x21cbc4, 52)) == 2214852); + assert(unsigned(zero_extend(0x21cbc8, 52)) == 2214856); + assert(unsigned(zero_extend(0x21cbcc, 52)) == 2214860); + assert(unsigned(zero_extend(0x21cbd0, 52)) == 2214864); + assert(unsigned(zero_extend(0x21cbd4, 52)) == 2214868); + assert(unsigned(zero_extend(0x21cbd8, 52)) == 2214872); + assert(unsigned(zero_extend(0x21cbdc, 52)) == 2214876); + assert(unsigned(zero_extend(0x21cbe0, 52)) == 2214880); + assert(unsigned(zero_extend(0x21cbe4, 52)) == 2214884); + assert(unsigned(zero_extend(0x21cbe8, 52)) == 2214888); + assert(unsigned(zero_extend(0x21cbec, 52)) == 2214892); + assert(unsigned(zero_extend(0x21cbf0, 52)) == 2214896); + assert(unsigned(zero_extend(0x21cbf4, 52)) == 2214900); + assert(unsigned(zero_extend(0x21cbf8, 52)) == 2214904); + assert(unsigned(zero_extend(0x21cbfc, 52)) == 2214908); + assert(unsigned(zero_extend(0x21cc00, 52)) == 2214912); + assert(unsigned(zero_extend(0x21cc04, 52)) == 2214916); + assert(unsigned(zero_extend(0x21cc08, 52)) == 2214920); + assert(unsigned(zero_extend(0x21cc0c, 52)) == 2214924); + assert(unsigned(zero_extend(0x21cc1c, 52)) == 2214940); + assert(unsigned(zero_extend(0x21cc20, 52)) == 2214944); + assert(unsigned(zero_extend(0x21cc24, 52)) == 2214948); + assert(unsigned(zero_extend(0x21cc28, 52)) == 2214952); + assert(unsigned(zero_extend(0x21cc2c, 52)) == 2214956); + assert(unsigned(zero_extend(0x21cc30, 52)) == 2214960); + assert(unsigned(zero_extend(0x21cc34, 52)) == 2214964); + assert(unsigned(zero_extend(0x21cc38, 52)) == 2214968); + assert(unsigned(zero_extend(0x21cc3c, 52)) == 2214972); + assert(unsigned(zero_extend(0x21cc40, 52)) == 2214976); + assert(unsigned(zero_extend(0x21cc44, 52)) == 2214980); + assert(unsigned(zero_extend(0x21cc48, 52)) == 2214984); + assert(unsigned(zero_extend(0x21cc4c, 52)) == 2214988); + assert(unsigned(zero_extend(0x21cc50, 52)) == 2214992); + assert(unsigned(zero_extend(0x21cc54, 52)) == 2214996); + assert(unsigned(zero_extend(0x21cc58, 52)) == 2215000); + assert(unsigned(zero_extend(0x21cc5c, 52)) == 2215004); + assert(unsigned(zero_extend(0x21cc60, 52)) == 2215008); + assert(unsigned(zero_extend(0x21cc64, 52)) == 2215012); + assert(unsigned(zero_extend(0x21cc68, 52)) == 2215016); + assert(unsigned(zero_extend(0x21cc6c, 52)) == 2215020); + assert(unsigned(zero_extend(0x21cc70, 52)) == 2215024); + assert(unsigned(zero_extend(0x21cc74, 52)) == 2215028); + assert(unsigned(zero_extend(0x21cc78, 52)) == 2215032); + assert(unsigned(zero_extend(0x21cc7c, 52)) == 2215036); + assert(unsigned(zero_extend(0x21cc80, 52)) == 2215040); + assert(unsigned(zero_extend(0x21cc84, 52)) == 2215044); + assert(unsigned(zero_extend(0x21cc88, 52)) == 2215048); + assert(unsigned(zero_extend(0x21cc8c, 52)) == 2215052); + assert(unsigned(zero_extend(0x21cc90, 52)) == 2215056); + assert(unsigned(zero_extend(0x21cc94, 52)) == 2215060); + assert(unsigned(zero_extend(0x21cc98, 52)) == 2215064); + assert(unsigned(zero_extend(0x21cc9c, 52)) == 2215068); + assert(unsigned(zero_extend(0x21cca0, 52)) == 2215072); + assert(unsigned(zero_extend(0x21cca4, 52)) == 2215076); + assert(unsigned(zero_extend(0x21cca8, 52)) == 2215080); + assert(unsigned(zero_extend(0x21ccac, 52)) == 2215084); + assert(unsigned(zero_extend(0x21ccb0, 52)) == 2215088); + assert(unsigned(zero_extend(0x21ccb4, 52)) == 2215092); + assert(unsigned(zero_extend(0x21ccb8, 52)) == 2215096); + assert(unsigned(zero_extend(0x21ccbc, 52)) == 2215100); + assert(unsigned(zero_extend(0x21ccc0, 52)) == 2215104); + assert(unsigned(zero_extend(0x21ccc4, 52)) == 2215108); + assert(unsigned(zero_extend(0x21ccc8, 52)) == 2215112); + assert(unsigned(zero_extend(0x21cccc, 52)) == 2215116); + assert(unsigned(zero_extend(0x21ccd0, 52)) == 2215120); + assert(unsigned(zero_extend(0x21ccd8, 52)) == 2215128); + assert(unsigned(zero_extend(0x21ccdc, 52)) == 2215132); + assert(unsigned(zero_extend(0x21cce0, 52)) == 2215136); + assert(unsigned(zero_extend(0x21cce4, 52)) == 2215140); + assert(unsigned(zero_extend(0x21cce8, 52)) == 2215144); + assert(unsigned(zero_extend(0x21ccec, 52)) == 2215148); + assert(unsigned(zero_extend(0x21ccf0, 52)) == 2215152); + assert(unsigned(zero_extend(0x21ccf4, 52)) == 2215156); + assert(unsigned(zero_extend(0x21ccf8, 52)) == 2215160); + assert(unsigned(zero_extend(0x21ccfc, 52)) == 2215164); + assert(unsigned(zero_extend(0x21cd00, 52)) == 2215168); + assert(unsigned(zero_extend(0x21cd30, 52)) == 2215216); + assert(unsigned(zero_extend(0x21cd34, 52)) == 2215220); + assert(unsigned(zero_extend(0x21cd38, 52)) == 2215224); + assert(unsigned(zero_extend(0x21cd3c, 52)) == 2215228); + assert(unsigned(zero_extend(0x21cd40, 52)) == 2215232); + assert(unsigned(zero_extend(0x21cd44, 52)) == 2215236); + assert(unsigned(zero_extend(0x21cd48, 52)) == 2215240); + assert(unsigned(zero_extend(0x21cd4c, 52)) == 2215244); + assert(unsigned(zero_extend(0x21cd50, 52)) == 2215248); + assert(unsigned(zero_extend(0x21cd54, 52)) == 2215252); + assert(unsigned(zero_extend(0x21cd58, 52)) == 2215256); + assert(unsigned(zero_extend(0x21cd7c, 52)) == 2215292); + assert(unsigned(zero_extend(0x21cd80, 52)) == 2215296); + assert(unsigned(zero_extend(0x21cd84, 52)) == 2215300); + assert(unsigned(zero_extend(0x21cd88, 52)) == 2215304); + assert(unsigned(zero_extend(0x21cd8c, 52)) == 2215308); + assert(unsigned(zero_extend(0x21cd90, 52)) == 2215312); + assert(unsigned(zero_extend(0x21cd94, 52)) == 2215316); + assert(unsigned(zero_extend(0x21cd98, 52)) == 2215320); + assert(unsigned(zero_extend(0x21cd9c, 52)) == 2215324); + assert(unsigned(zero_extend(0x21cda0, 52)) == 2215328); + assert(unsigned(zero_extend(0x21cda4, 52)) == 2215332); + assert(unsigned(zero_extend(0x21cda8, 52)) == 2215336); + assert(unsigned(zero_extend(0x21cdac, 52)) == 2215340); + assert(unsigned(zero_extend(0x21cdb0, 52)) == 2215344); + assert(unsigned(zero_extend(0x21cdb4, 52)) == 2215348); + assert(unsigned(zero_extend(0x21cdb8, 52)) == 2215352); + assert(unsigned(zero_extend(0x21cdbc, 52)) == 2215356); + assert(unsigned(zero_extend(0x21cdc0, 52)) == 2215360); + assert(unsigned(zero_extend(0x21cdc4, 52)) == 2215364); + assert(unsigned(zero_extend(0x21cdc8, 52)) == 2215368); + assert(unsigned(zero_extend(0x21cdcc, 52)) == 2215372); + assert(unsigned(zero_extend(0x21cdd0, 52)) == 2215376); + assert(unsigned(zero_extend(0x21cdd4, 52)) == 2215380); + assert(unsigned(zero_extend(0x21cdd8, 52)) == 2215384); + assert(unsigned(zero_extend(0x21cddc, 52)) == 2215388); + assert(unsigned(zero_extend(0x21cde0, 52)) == 2215392); + assert(unsigned(zero_extend(0x21cde4, 52)) == 2215396); + assert(unsigned(zero_extend(0x21cde8, 52)) == 2215400); + assert(unsigned(zero_extend(0x21cdec, 52)) == 2215404); + assert(unsigned(zero_extend(0x21cdf0, 52)) == 2215408); + assert(unsigned(zero_extend(0x21cdf4, 52)) == 2215412); + assert(unsigned(zero_extend(0x21cdf8, 52)) == 2215416); + assert(unsigned(zero_extend(0x21cdfc, 52)) == 2215420); + assert(unsigned(zero_extend(0x21ce00, 52)) == 2215424); + assert(unsigned(zero_extend(0x21ce04, 52)) == 2215428); + assert(unsigned(zero_extend(0x21ce08, 52)) == 2215432); + assert(unsigned(zero_extend(0x21ce0c, 52)) == 2215436); + assert(unsigned(zero_extend(0x21ce10, 52)) == 2215440); + assert(unsigned(zero_extend(0x21ce14, 52)) == 2215444); + assert(unsigned(zero_extend(0x21ce18, 52)) == 2215448); + assert(unsigned(zero_extend(0x21ce1c, 52)) == 2215452); + assert(unsigned(zero_extend(0x21ce20, 52)) == 2215456); + assert(unsigned(zero_extend(0x21ce24, 52)) == 2215460); + assert(unsigned(zero_extend(0x21ce28, 52)) == 2215464); + assert(unsigned(zero_extend(0x21ce2c, 52)) == 2215468); + assert(unsigned(zero_extend(0x21ce30, 52)) == 2215472); + assert(unsigned(zero_extend(0x21ce34, 52)) == 2215476); + assert(unsigned(zero_extend(0x21ce38, 52)) == 2215480); + assert(unsigned(zero_extend(0x21ce3c, 52)) == 2215484); + assert(unsigned(zero_extend(0x21ce40, 52)) == 2215488); + assert(unsigned(zero_extend(0x21ce44, 52)) == 2215492); + assert(unsigned(zero_extend(0x21ce48, 52)) == 2215496); + assert(unsigned(zero_extend(0x21ce4c, 52)) == 2215500); + assert(unsigned(zero_extend(0x21ce50, 52)) == 2215504); + assert(unsigned(zero_extend(0x21ce54, 52)) == 2215508); + assert(unsigned(zero_extend(0x21ce58, 52)) == 2215512); + assert(unsigned(zero_extend(0x21ce68, 52)) == 2215528); + assert(unsigned(zero_extend(0x21ce6c, 52)) == 2215532); + assert(unsigned(zero_extend(0x21ce70, 52)) == 2215536); + assert(unsigned(zero_extend(0x21ce74, 52)) == 2215540); + assert(unsigned(zero_extend(0x21ce78, 52)) == 2215544); + assert(unsigned(zero_extend(0x21ce7c, 52)) == 2215548); + assert(unsigned(zero_extend(0x21ce80, 52)) == 2215552); + assert(unsigned(zero_extend(0x21ce84, 52)) == 2215556); + assert(unsigned(zero_extend(0x21ce88, 52)) == 2215560); + assert(unsigned(zero_extend(0x21ce9c, 52)) == 2215580); + assert(unsigned(zero_extend(0x21cea0, 52)) == 2215584); + assert(unsigned(zero_extend(0x21cea4, 52)) == 2215588); + assert(unsigned(zero_extend(0x21cea8, 52)) == 2215592); + assert(unsigned(zero_extend(0x21ceac, 52)) == 2215596); + assert(unsigned(zero_extend(0x21ceb0, 52)) == 2215600); + assert(unsigned(zero_extend(0x21ceb4, 52)) == 2215604); + assert(unsigned(zero_extend(0x21ceb8, 52)) == 2215608); + assert(unsigned(zero_extend(0x21cebc, 52)) == 2215612); + assert(unsigned(zero_extend(0x21cec0, 52)) == 2215616); + assert(unsigned(zero_extend(0x21cec4, 52)) == 2215620); + assert(unsigned(zero_extend(0x21cec8, 52)) == 2215624); + assert(unsigned(zero_extend(0x21cecc, 52)) == 2215628); + assert(unsigned(zero_extend(0x21ced0, 52)) == 2215632); + assert(unsigned(zero_extend(0x21ced4, 52)) == 2215636); + assert(unsigned(zero_extend(0x21ced8, 52)) == 2215640); + assert(unsigned(zero_extend(0x21cee8, 52)) == 2215656); + assert(unsigned(zero_extend(0x21ceec, 52)) == 2215660); + assert(unsigned(zero_extend(0x21cef0, 52)) == 2215664); + assert(unsigned(zero_extend(0x21cef4, 52)) == 2215668); + assert(unsigned(zero_extend(0x21cef8, 52)) == 2215672); + assert(unsigned(zero_extend(0x21cefc, 52)) == 2215676); + assert(unsigned(zero_extend(0x21cf00, 52)) == 2215680); + assert(unsigned(zero_extend(0x21cf04, 52)) == 2215684); + assert(unsigned(zero_extend(0x21cf08, 52)) == 2215688); + assert(unsigned(zero_extend(0x21cf0c, 52)) == 2215692); + assert(unsigned(zero_extend(0x21cf10, 52)) == 2215696); + assert(unsigned(zero_extend(0x21cf14, 52)) == 2215700); + assert(unsigned(zero_extend(0x21cf18, 52)) == 2215704); + assert(unsigned(zero_extend(0x21cf1c, 52)) == 2215708); + assert(unsigned(zero_extend(0x21cf20, 52)) == 2215712); + assert(unsigned(zero_extend(0x21cf24, 52)) == 2215716); + assert(unsigned(zero_extend(0x21cf28, 52)) == 2215720); + assert(unsigned(zero_extend(0x21cf2c, 52)) == 2215724); + assert(unsigned(zero_extend(0x21cf30, 52)) == 2215728); + assert(unsigned(zero_extend(0x21cf40, 52)) == 2215744); + assert(unsigned(zero_extend(0x21cf44, 52)) == 2215748); + assert(unsigned(zero_extend(0x21cf48, 52)) == 2215752); + assert(unsigned(zero_extend(0x21cf4c, 52)) == 2215756); + assert(unsigned(zero_extend(0x21cf50, 52)) == 2215760); + assert(unsigned(zero_extend(0x21cf54, 52)) == 2215764); + assert(unsigned(zero_extend(0x21cf58, 52)) == 2215768); + assert(unsigned(zero_extend(0x21cf5c, 52)) == 2215772); + assert(unsigned(zero_extend(0x21cf64, 52)) == 2215780); + assert(unsigned(zero_extend(0x21cf68, 52)) == 2215784); + assert(unsigned(zero_extend(0x21cf6c, 52)) == 2215788); + assert(unsigned(zero_extend(0x21cf70, 52)) == 2215792); + assert(unsigned(zero_extend(0x21cf74, 52)) == 2215796); + assert(unsigned(zero_extend(0x21cf78, 52)) == 2215800); + assert(unsigned(zero_extend(0x21cf7c, 52)) == 2215804); + assert(unsigned(zero_extend(0x21cf80, 52)) == 2215808); + assert(unsigned(zero_extend(0x21cf84, 52)) == 2215812); + assert(unsigned(zero_extend(0x21cf88, 52)) == 2215816); + assert(unsigned(zero_extend(0x21cf8c, 52)) == 2215820); + assert(unsigned(zero_extend(0x21cf90, 52)) == 2215824); + assert(unsigned(zero_extend(0x21cf94, 52)) == 2215828); + assert(unsigned(zero_extend(0x21cf98, 52)) == 2215832); + assert(unsigned(zero_extend(0x21cf9c, 52)) == 2215836); + assert(unsigned(zero_extend(0x21cfa0, 52)) == 2215840); + assert(unsigned(zero_extend(0x21cfa4, 52)) == 2215844); + assert(unsigned(zero_extend(0x21cfa8, 52)) == 2215848); + assert(unsigned(zero_extend(0x21cfac, 52)) == 2215852); + assert(unsigned(zero_extend(0x21cfb0, 52)) == 2215856); + assert(unsigned(zero_extend(0x21cfb4, 52)) == 2215860); + assert(unsigned(zero_extend(0x21cfb8, 52)) == 2215864); + assert(unsigned(zero_extend(0x21cfbc, 52)) == 2215868); + assert(unsigned(zero_extend(0x21cfc0, 52)) == 2215872); + assert(unsigned(zero_extend(0x21cfc4, 52)) == 2215876); + assert(unsigned(zero_extend(0x21cfc8, 52)) == 2215880); + assert(unsigned(zero_extend(0x21cfcc, 52)) == 2215884); + assert(unsigned(zero_extend(0x21cfd0, 52)) == 2215888); + assert(unsigned(zero_extend(0x21cfd4, 52)) == 2215892); + assert(unsigned(zero_extend(0x21cfd8, 52)) == 2215896); + assert(unsigned(zero_extend(0x21cfdc, 52)) == 2215900); + assert(unsigned(zero_extend(0x21cfe0, 52)) == 2215904); + assert(unsigned(zero_extend(0x21cfe4, 52)) == 2215908); + assert(unsigned(zero_extend(0x21cfe8, 52)) == 2215912); + assert(unsigned(zero_extend(0x21cfec, 52)) == 2215916); + assert(unsigned(zero_extend(0x21cff0, 52)) == 2215920); + assert(unsigned(zero_extend(0x21cff4, 52)) == 2215924); + assert(unsigned(zero_extend(0x21cff8, 52)) == 2215928); + assert(unsigned(zero_extend(0x21cffc, 52)) == 2215932); + assert(unsigned(zero_extend(0x21d000, 52)) == 2215936); + assert(unsigned(zero_extend(0x21d004, 52)) == 2215940); + assert(unsigned(zero_extend(0x21d008, 52)) == 2215944); + assert(unsigned(zero_extend(0x21d00c, 52)) == 2215948); + assert(unsigned(zero_extend(0x21d010, 52)) == 2215952); + assert(unsigned(zero_extend(0x21d014, 52)) == 2215956); + assert(unsigned(zero_extend(0x21d018, 52)) == 2215960); + assert(unsigned(zero_extend(0x21d01c, 52)) == 2215964); + assert(unsigned(zero_extend(0x21d020, 52)) == 2215968); + assert(unsigned(zero_extend(0x21d024, 52)) == 2215972); + assert(unsigned(zero_extend(0x21d028, 52)) == 2215976); + assert(unsigned(zero_extend(0x21d02c, 52)) == 2215980); + assert(unsigned(zero_extend(0x21d030, 52)) == 2215984); + assert(unsigned(zero_extend(0x21d034, 52)) == 2215988); + assert(unsigned(zero_extend(0x21d038, 52)) == 2215992); + assert(unsigned(zero_extend(0x21d03c, 52)) == 2215996); + assert(unsigned(zero_extend(0x21d040, 52)) == 2216000); + assert(unsigned(zero_extend(0x21d044, 52)) == 2216004); + assert(unsigned(zero_extend(0x21d048, 52)) == 2216008); + assert(unsigned(zero_extend(0x21d04c, 52)) == 2216012); + assert(unsigned(zero_extend(0x21d050, 52)) == 2216016); + assert(unsigned(zero_extend(0x21d054, 52)) == 2216020); + assert(unsigned(zero_extend(0x21d058, 52)) == 2216024); + assert(unsigned(zero_extend(0x21d060, 52)) == 2216032); + assert(unsigned(zero_extend(0x21d068, 52)) == 2216040); + assert(unsigned(zero_extend(0x21d070, 52)) == 2216048); + assert(unsigned(zero_extend(0x21d078, 52)) == 2216056); + assert(unsigned(zero_extend(0x21d080, 52)) == 2216064); + assert(unsigned(zero_extend(0x21d088, 52)) == 2216072); + assert(unsigned(zero_extend(0x21d090, 52)) == 2216080); + assert(unsigned(zero_extend(0x21d098, 52)) == 2216088); + assert(unsigned(zero_extend(0x21d0a0, 52)) == 2216096); + assert(unsigned(zero_extend(0x21d0a8, 52)) == 2216104); + assert(unsigned(zero_extend(0x21d0b0, 52)) == 2216112); + assert(unsigned(zero_extend(0x21d0b8, 52)) == 2216120); + assert(unsigned(zero_extend(0x21d0c0, 52)) == 2216128); + assert(unsigned(zero_extend(0x21d0c8, 52)) == 2216136); + assert(unsigned(zero_extend(0x21d0d0, 52)) == 2216144); + assert(unsigned(zero_extend(0x21d0d8, 52)) == 2216152); + assert(unsigned(zero_extend(0x21d0e0, 52)) == 2216160); + assert(unsigned(zero_extend(0x21d0e8, 52)) == 2216168); + assert(unsigned(zero_extend(0x21d0f0, 52)) == 2216176); + assert(unsigned(zero_extend(0x21d0f8, 52)) == 2216184); + assert(unsigned(zero_extend(0x21d100, 52)) == 2216192); + assert(unsigned(zero_extend(0x21d108, 52)) == 2216200); + assert(unsigned(zero_extend(0x21d448, 52)) == 2217032); + assert(unsigned(zero_extend(0x21d44c, 52)) == 2217036); + assert(unsigned(zero_extend(0x21d450, 52)) == 2217040); + assert(unsigned(zero_extend(0x21d454, 52)) == 2217044); + assert(unsigned(zero_extend(0x21d458, 52)) == 2217048); + assert(unsigned(zero_extend(0x21d45c, 52)) == 2217052); + assert(unsigned(zero_extend(0x21d460, 52)) == 2217056); + assert(unsigned(zero_extend(0x21d464, 52)) == 2217060); + assert(unsigned(zero_extend(0x21d468, 52)) == 2217064); + assert(unsigned(zero_extend(0x21d46c, 52)) == 2217068); + assert(unsigned(zero_extend(0x21d470, 52)) == 2217072); + assert(unsigned(zero_extend(0x21d474, 52)) == 2217076); + assert(unsigned(zero_extend(0x21d478, 52)) == 2217080); + assert(unsigned(zero_extend(0x21d47c, 52)) == 2217084); + assert(unsigned(zero_extend(0x21d480, 52)) == 2217088); + assert(unsigned(zero_extend(0x21d484, 52)) == 2217092); + assert(unsigned(zero_extend(0x21d490, 52)) == 2217104); + assert(unsigned(zero_extend(0x21d494, 52)) == 2217108); + assert(unsigned(zero_extend(0x21d498, 52)) == 2217112); + assert(unsigned(zero_extend(0x21d49c, 52)) == 2217116); + assert(unsigned(zero_extend(0x21d4a0, 52)) == 2217120); + assert(unsigned(zero_extend(0x21d4a4, 52)) == 2217124); + assert(unsigned(zero_extend(0x21d4a8, 52)) == 2217128); + assert(unsigned(zero_extend(0x21d4ac, 52)) == 2217132); + assert(unsigned(zero_extend(0x21d4b0, 52)) == 2217136); + assert(unsigned(zero_extend(0x21d4b4, 52)) == 2217140); + assert(unsigned(zero_extend(0x21d4b8, 52)) == 2217144); + assert(unsigned(zero_extend(0x21d4bc, 52)) == 2217148); + assert(unsigned(zero_extend(0x21d4c0, 52)) == 2217152); + assert(unsigned(zero_extend(0x21d4c4, 52)) == 2217156); + assert(unsigned(zero_extend(0x21d4c8, 52)) == 2217160); + assert(unsigned(zero_extend(0x21d4cc, 52)) == 2217164); + assert(unsigned(zero_extend(0x21d4d0, 52)) == 2217168); + assert(unsigned(zero_extend(0x21d4d4, 52)) == 2217172); + assert(unsigned(zero_extend(0x21d4d8, 52)) == 2217176); + assert(unsigned(zero_extend(0x21d4dc, 52)) == 2217180); + assert(unsigned(zero_extend(0x21d4e0, 52)) == 2217184); + assert(unsigned(zero_extend(0x21d4e4, 52)) == 2217188); + assert(unsigned(zero_extend(0x21d4e8, 52)) == 2217192); + assert(unsigned(zero_extend(0x21d4ec, 52)) == 2217196); + assert(unsigned(zero_extend(0x21d4f0, 52)) == 2217200); + assert(unsigned(zero_extend(0x21d4f4, 52)) == 2217204); + assert(unsigned(zero_extend(0x21d4f8, 52)) == 2217208); + assert(unsigned(zero_extend(0x21d4fc, 52)) == 2217212); + assert(unsigned(zero_extend(0x21d500, 52)) == 2217216); + assert(unsigned(zero_extend(0x21d504, 52)) == 2217220); + assert(unsigned(zero_extend(0x21d508, 52)) == 2217224); + assert(unsigned(zero_extend(0x21d50c, 52)) == 2217228); + assert(unsigned(zero_extend(0x21d510, 52)) == 2217232); + assert(unsigned(zero_extend(0x21d514, 52)) == 2217236); + assert(unsigned(zero_extend(0x21d518, 52)) == 2217240); + assert(unsigned(zero_extend(0x21d51c, 52)) == 2217244); + assert(unsigned(zero_extend(0x21d520, 52)) == 2217248); + assert(unsigned(zero_extend(0x21d524, 52)) == 2217252); + assert(unsigned(zero_extend(0x21d528, 52)) == 2217256); + assert(unsigned(zero_extend(0x21d52c, 52)) == 2217260); + assert(unsigned(zero_extend(0x21d530, 52)) == 2217264); + assert(unsigned(zero_extend(0x21d534, 52)) == 2217268); + assert(unsigned(zero_extend(0x21d538, 52)) == 2217272); + assert(unsigned(zero_extend(0x21d53c, 52)) == 2217276); + assert(unsigned(zero_extend(0x21d540, 52)) == 2217280); + assert(unsigned(zero_extend(0x21d544, 52)) == 2217284); + assert(unsigned(zero_extend(0x21d548, 52)) == 2217288); + assert(unsigned(zero_extend(0x21d54c, 52)) == 2217292); + assert(unsigned(zero_extend(0x21d550, 52)) == 2217296); + assert(unsigned(zero_extend(0x21d554, 52)) == 2217300); + assert(unsigned(zero_extend(0x21d558, 52)) == 2217304); + assert(unsigned(zero_extend(0x21d560, 52)) == 2217312); + assert(unsigned(zero_extend(0x21d564, 52)) == 2217316); + assert(unsigned(zero_extend(0x21d568, 52)) == 2217320); + assert(unsigned(zero_extend(0x21d570, 52)) == 2217328); + assert(unsigned(zero_extend(0x21d5f8, 52)) == 2217464); + assert(unsigned(zero_extend(0x21d5fc, 52)) == 2217468); + assert(unsigned(zero_extend(0x21d600, 52)) == 2217472); + assert(unsigned(zero_extend(0x21d604, 52)) == 2217476); + assert(unsigned(zero_extend(0x21d608, 52)) == 2217480); + assert(unsigned(zero_extend(0x21d60c, 52)) == 2217484); + assert(unsigned(zero_extend(0x21d610, 52)) == 2217488); + assert(unsigned(zero_extend(0x21d614, 52)) == 2217492); + assert(unsigned(zero_extend(0x21d618, 52)) == 2217496); + assert(unsigned(zero_extend(0x21d61c, 52)) == 2217500); + assert(unsigned(zero_extend(0x21d620, 52)) == 2217504); + assert(unsigned(zero_extend(0x21d624, 52)) == 2217508); + assert(unsigned(zero_extend(0x21d628, 52)) == 2217512); + assert(unsigned(zero_extend(0x21d650, 52)) == 2217552); + assert(unsigned(zero_extend(0x21d654, 52)) == 2217556); + assert(unsigned(zero_extend(0x21d658, 52)) == 2217560); + assert(unsigned(zero_extend(0x21d65c, 52)) == 2217564); + assert(unsigned(zero_extend(0x21d660, 52)) == 2217568); + assert(unsigned(zero_extend(0x21d664, 52)) == 2217572); + assert(unsigned(zero_extend(0x21d668, 52)) == 2217576); + assert(unsigned(zero_extend(0x21d66c, 52)) == 2217580); + assert(unsigned(zero_extend(0x21d670, 52)) == 2217584); + assert(unsigned(zero_extend(0x21d674, 52)) == 2217588); + assert(unsigned(zero_extend(0x21d678, 52)) == 2217592); + assert(unsigned(zero_extend(0x21d67c, 52)) == 2217596); + assert(unsigned(zero_extend(0x21d680, 52)) == 2217600); + assert(unsigned(zero_extend(0x21e078, 52)) == 2220152); + assert(unsigned(zero_extend(0x21e07c, 52)) == 2220156); + assert(unsigned(zero_extend(0x21e080, 52)) == 2220160); + assert(unsigned(zero_extend(0x21e084, 52)) == 2220164); + assert(unsigned(zero_extend(0x21e088, 52)) == 2220168); + assert(unsigned(zero_extend(0x21e08c, 52)) == 2220172); + assert(unsigned(zero_extend(0x21e090, 52)) == 2220176); + assert(unsigned(zero_extend(0x21e094, 52)) == 2220180); + assert(unsigned(zero_extend(0x21e098, 52)) == 2220184); + assert(unsigned(zero_extend(0x21e09c, 52)) == 2220188); + assert(unsigned(zero_extend(0x21e0a0, 52)) == 2220192); + assert(unsigned(zero_extend(0x21e0a4, 52)) == 2220196); + assert(unsigned(zero_extend(0x21e0a8, 52)) == 2220200); + assert(unsigned(zero_extend(0x21e0ac, 52)) == 2220204); + assert(unsigned(zero_extend(0x21e0ad, 52)) == 2220205); + assert(unsigned(zero_extend(0x21e0ae, 52)) == 2220206); + assert(unsigned(zero_extend(0x21e0af, 52)) == 2220207); + assert(unsigned(zero_extend(0x21e0b0, 52)) == 2220208); + assert(unsigned(zero_extend(0x21e0b1, 52)) == 2220209); + assert(unsigned(zero_extend(0x21e0b2, 52)) == 2220210); + assert(unsigned(zero_extend(0x21e0b3, 52)) == 2220211); + assert(unsigned(zero_extend(0x21e0b4, 52)) == 2220212); + assert(unsigned(zero_extend(0x21e0b5, 52)) == 2220213); + assert(unsigned(zero_extend(0x21e0b6, 52)) == 2220214); + assert(unsigned(zero_extend(0x21e0b7, 52)) == 2220215); + assert(unsigned(zero_extend(0x21e0b8, 52)) == 2220216); + assert(unsigned(zero_extend(0x21e0b9, 52)) == 2220217); + assert(unsigned(zero_extend(0x21e0ba, 52)) == 2220218); + assert(unsigned(zero_extend(0x21e0bb, 52)) == 2220219); + assert(unsigned(zero_extend(0x21e0bc, 52)) == 2220220); + assert(unsigned(zero_extend(0x21e0bd, 52)) == 2220221); + assert(unsigned(zero_extend(0x21e0be, 52)) == 2220222); + assert(unsigned(zero_extend(0x21e0bf, 52)) == 2220223); + assert(unsigned(zero_extend(0x21e0c0, 52)) == 2220224); + assert(unsigned(zero_extend(0x21e0c1, 52)) == 2220225); + assert(unsigned(zero_extend(0x21e0c2, 52)) == 2220226); + assert(unsigned(zero_extend(0x21e0c3, 52)) == 2220227); + assert(unsigned(zero_extend(0x21e0c4, 52)) == 2220228); + assert(unsigned(zero_extend(0x21e0c5, 52)) == 2220229); + assert(unsigned(zero_extend(0x21e0c6, 52)) == 2220230); + assert(unsigned(zero_extend(0x21e0c8, 52)) == 2220232); + assert(unsigned(zero_extend(0x21e0cc, 52)) == 2220236); + assert(unsigned(zero_extend(0x21e0d0, 52)) == 2220240); + assert(unsigned(zero_extend(0x21e0d4, 52)) == 2220244); + assert(unsigned(zero_extend(0x21e0d8, 52)) == 2220248); + assert(unsigned(zero_extend(0x21e0dc, 52)) == 2220252); + assert(unsigned(zero_extend(0x21e0e0, 52)) == 2220256); + assert(unsigned(zero_extend(0x21e0e4, 52)) == 2220260); + assert(unsigned(zero_extend(0x21e0e8, 52)) == 2220264); + assert(unsigned(zero_extend(0x21e0ec, 52)) == 2220268); + assert(unsigned(zero_extend(0x21e0ed, 52)) == 2220269); + assert(unsigned(zero_extend(0x21e0ee, 52)) == 2220270); + assert(unsigned(zero_extend(0x21e0ef, 52)) == 2220271); + assert(unsigned(zero_extend(0x21e0f0, 52)) == 2220272); + assert(unsigned(zero_extend(0x21e0f1, 52)) == 2220273); + assert(unsigned(zero_extend(0x21e0f2, 52)) == 2220274); + assert(unsigned(zero_extend(0x21e0f3, 52)) == 2220275); + assert(unsigned(zero_extend(0x21e0f4, 52)) == 2220276); + assert(unsigned(zero_extend(0x21e0f5, 52)) == 2220277); + assert(unsigned(zero_extend(0x21e0f6, 52)) == 2220278); + assert(unsigned(zero_extend(0x21e0f7, 52)) == 2220279); + assert(unsigned(zero_extend(0x21e0f8, 52)) == 2220280); + assert(unsigned(zero_extend(0x21e0f9, 52)) == 2220281); + assert(unsigned(zero_extend(0x21e0fa, 52)) == 2220282); + assert(unsigned(zero_extend(0x21e0fb, 52)) == 2220283); + assert(unsigned(zero_extend(0x21e0fc, 52)) == 2220284); + assert(unsigned(zero_extend(0x21e0fd, 52)) == 2220285); + assert(unsigned(zero_extend(0x21e0fe, 52)) == 2220286); + assert(unsigned(zero_extend(0x21e0ff, 52)) == 2220287); + assert(unsigned(zero_extend(0x21e100, 52)) == 2220288); + assert(unsigned(zero_extend(0x21e101, 52)) == 2220289); + assert(unsigned(zero_extend(0x21e102, 52)) == 2220290); + assert(unsigned(zero_extend(0x21e103, 52)) == 2220291); + assert(unsigned(zero_extend(0x21e104, 52)) == 2220292); + assert(unsigned(zero_extend(0x21e105, 52)) == 2220293); + assert(unsigned(zero_extend(0x21e106, 52)) == 2220294); + assert(unsigned(zero_extend(0x21e107, 52)) == 2220295); + assert(unsigned(zero_extend(0x21e108, 52)) == 2220296); + assert(unsigned(zero_extend(0x21e109, 52)) == 2220297); + assert(unsigned(zero_extend(0x21e10a, 52)) == 2220298); + assert(unsigned(zero_extend(0x21e10b, 52)) == 2220299); + assert(unsigned(zero_extend(0x21e10c, 52)) == 2220300); + assert(unsigned(zero_extend(0x21e10d, 52)) == 2220301); + assert(unsigned(zero_extend(0x21e10e, 52)) == 2220302); + assert(unsigned(zero_extend(0x21e10f, 52)) == 2220303); + assert(unsigned(zero_extend(0x21e110, 52)) == 2220304); + assert(unsigned(zero_extend(0x21e111, 52)) == 2220305); + assert(unsigned(zero_extend(0x21e112, 52)) == 2220306); + assert(unsigned(zero_extend(0x21e113, 52)) == 2220307); + assert(unsigned(zero_extend(0x21e114, 52)) == 2220308); + assert(unsigned(zero_extend(0x21e115, 52)) == 2220309); + assert(unsigned(zero_extend(0x21e116, 52)) == 2220310); + assert(unsigned(zero_extend(0x21e117, 52)) == 2220311); + assert(unsigned(zero_extend(0x21e118, 52)) == 2220312); + assert(unsigned(zero_extend(0x21e119, 52)) == 2220313); + assert(unsigned(zero_extend(0x21e11a, 52)) == 2220314); + assert(unsigned(zero_extend(0x21e11b, 52)) == 2220315); + assert(unsigned(zero_extend(0x21e11c, 52)) == 2220316); + assert(unsigned(zero_extend(0x21e11d, 52)) == 2220317); + assert(unsigned(zero_extend(0x21e11e, 52)) == 2220318); + assert(unsigned(zero_extend(0x21e120, 52)) == 2220320); + assert(unsigned(zero_extend(0x21e124, 52)) == 2220324); + assert(unsigned(zero_extend(0x21e128, 52)) == 2220328); + assert(unsigned(zero_extend(0x21e12c, 52)) == 2220332); + assert(unsigned(zero_extend(0x21e130, 52)) == 2220336); + assert(unsigned(zero_extend(0x21e134, 52)) == 2220340); + assert(unsigned(zero_extend(0x21e138, 52)) == 2220344); + assert(unsigned(zero_extend(0x21e13c, 52)) == 2220348); + assert(unsigned(zero_extend(0x21e140, 52)) == 2220352); + assert(unsigned(zero_extend(0x21e141, 52)) == 2220353); + assert(unsigned(zero_extend(0x21e142, 52)) == 2220354); + assert(unsigned(zero_extend(0x21e143, 52)) == 2220355); + assert(unsigned(zero_extend(0x21e144, 52)) == 2220356); + assert(unsigned(zero_extend(0x21e145, 52)) == 2220357); + assert(unsigned(zero_extend(0x21e146, 52)) == 2220358); + assert(unsigned(zero_extend(0x21e147, 52)) == 2220359); + assert(unsigned(zero_extend(0x21e148, 52)) == 2220360); + assert(unsigned(zero_extend(0x21e149, 52)) == 2220361); + assert(unsigned(zero_extend(0x21e14a, 52)) == 2220362); + assert(unsigned(zero_extend(0x21e14b, 52)) == 2220363); + assert(unsigned(zero_extend(0x21e14c, 52)) == 2220364); + assert(unsigned(zero_extend(0x21e14d, 52)) == 2220365); + assert(unsigned(zero_extend(0x21e14e, 52)) == 2220366); + assert(unsigned(zero_extend(0x21e14f, 52)) == 2220367); + assert(unsigned(zero_extend(0x21e150, 52)) == 2220368); + assert(unsigned(zero_extend(0x21e151, 52)) == 2220369); + assert(unsigned(zero_extend(0x21e152, 52)) == 2220370); + assert(unsigned(zero_extend(0x21e153, 52)) == 2220371); + assert(unsigned(zero_extend(0x21e154, 52)) == 2220372); + assert(unsigned(zero_extend(0x21e155, 52)) == 2220373); + assert(unsigned(zero_extend(0x21e156, 52)) == 2220374); + assert(unsigned(zero_extend(0x21e157, 52)) == 2220375); + assert(unsigned(zero_extend(0x21e158, 52)) == 2220376); + assert(unsigned(zero_extend(0x21e159, 52)) == 2220377); + assert(unsigned(zero_extend(0x21e15a, 52)) == 2220378); + assert(unsigned(zero_extend(0x21e15b, 52)) == 2220379); + assert(unsigned(zero_extend(0x21e15c, 52)) == 2220380); + assert(unsigned(zero_extend(0x21e160, 52)) == 2220384); + assert(unsigned(zero_extend(0x21e164, 52)) == 2220388); + assert(unsigned(zero_extend(0x21e168, 52)) == 2220392); + assert(unsigned(zero_extend(0x21e16c, 52)) == 2220396); + assert(unsigned(zero_extend(0x21e170, 52)) == 2220400); + assert(unsigned(zero_extend(0x21e174, 52)) == 2220404); + assert(unsigned(zero_extend(0x21e178, 52)) == 2220408); + assert(unsigned(zero_extend(0x21e17c, 52)) == 2220412); + assert(unsigned(zero_extend(0x21e180, 52)) == 2220416); + assert(unsigned(zero_extend(0x21e184, 52)) == 2220420); + assert(unsigned(zero_extend(0x21e188, 52)) == 2220424); + assert(unsigned(zero_extend(0x21e18c, 52)) == 2220428); + assert(unsigned(zero_extend(0x21e190, 52)) == 2220432); + assert(unsigned(zero_extend(0x21e194, 52)) == 2220436); + assert(unsigned(zero_extend(0x21e198, 52)) == 2220440); + assert(unsigned(zero_extend(0x21e199, 52)) == 2220441); + assert(unsigned(zero_extend(0x21e19a, 52)) == 2220442); + assert(unsigned(zero_extend(0x21e19b, 52)) == 2220443); + assert(unsigned(zero_extend(0x21e19c, 52)) == 2220444); + assert(unsigned(zero_extend(0x21e19d, 52)) == 2220445); + assert(unsigned(zero_extend(0x21e19e, 52)) == 2220446); + assert(unsigned(zero_extend(0x21e19f, 52)) == 2220447); + assert(unsigned(zero_extend(0x21e1a0, 52)) == 2220448); + assert(unsigned(zero_extend(0x21e1a1, 52)) == 2220449); + assert(unsigned(zero_extend(0x21e1a2, 52)) == 2220450); + assert(unsigned(zero_extend(0x21e1a3, 52)) == 2220451); + assert(unsigned(zero_extend(0x21e1a4, 52)) == 2220452); + assert(unsigned(zero_extend(0x21e1a5, 52)) == 2220453); + assert(unsigned(zero_extend(0x21e1a6, 52)) == 2220454); + assert(unsigned(zero_extend(0x21e1a7, 52)) == 2220455); + assert(unsigned(zero_extend(0x21e1a8, 52)) == 2220456); + assert(unsigned(zero_extend(0x21e1a9, 52)) == 2220457); + assert(unsigned(zero_extend(0x21e1aa, 52)) == 2220458); + assert(unsigned(zero_extend(0x21e1ab, 52)) == 2220459); + assert(unsigned(zero_extend(0x21e1ac, 52)) == 2220460); + assert(unsigned(zero_extend(0x21e1ad, 52)) == 2220461); + assert(unsigned(zero_extend(0x21e1ae, 52)) == 2220462); + assert(unsigned(zero_extend(0x21e1af, 52)) == 2220463); + assert(unsigned(zero_extend(0x21e1b0, 52)) == 2220464); + assert(unsigned(zero_extend(0x21e600, 52)) == 2221568); + assert(unsigned(zero_extend(0x21e604, 52)) == 2221572); + assert(unsigned(zero_extend(0x21e608, 52)) == 2221576); + assert(unsigned(zero_extend(0x21e60c, 52)) == 2221580); + assert(unsigned(zero_extend(0x21e610, 52)) == 2221584); + assert(unsigned(zero_extend(0x21e614, 52)) == 2221588); + assert(unsigned(zero_extend(0x21e618, 52)) == 2221592); + assert(unsigned(zero_extend(0x21e61c, 52)) == 2221596); + assert(unsigned(zero_extend(0x21e620, 52)) == 2221600); + assert(unsigned(zero_extend(0x21e624, 52)) == 2221604); + assert(unsigned(zero_extend(0x21e628, 52)) == 2221608); + assert(unsigned(zero_extend(0x21e62c, 52)) == 2221612); + assert(unsigned(zero_extend(0x21e630, 52)) == 2221616); + assert(unsigned(zero_extend(0x21e634, 52)) == 2221620); + assert(unsigned(zero_extend(0x21e638, 52)) == 2221624); + assert(unsigned(zero_extend(0x21e63c, 52)) == 2221628); + assert(unsigned(zero_extend(0x21e640, 52)) == 2221632); + assert(unsigned(zero_extend(0x21e644, 52)) == 2221636); + assert(unsigned(zero_extend(0x21e648, 52)) == 2221640); + assert(unsigned(zero_extend(0x21e64c, 52)) == 2221644); + assert(unsigned(zero_extend(0x21e650, 52)) == 2221648); + assert(unsigned(zero_extend(0x21e658, 52)) == 2221656); + assert(unsigned(zero_extend(0x21e65c, 52)) == 2221660); + assert(unsigned(zero_extend(0x21e660, 52)) == 2221664); + assert(unsigned(zero_extend(0x21e664, 52)) == 2221668); + assert(unsigned(zero_extend(0x21e668, 52)) == 2221672); + assert(unsigned(zero_extend(0x21e66c, 52)) == 2221676); + assert(unsigned(zero_extend(0x21e670, 52)) == 2221680); + assert(unsigned(zero_extend(0x21e674, 52)) == 2221684); + assert(unsigned(zero_extend(0x21e678, 52)) == 2221688); + assert(unsigned(zero_extend(0x21e67c, 52)) == 2221692); + assert(unsigned(zero_extend(0x21e680, 52)) == 2221696); + assert(unsigned(zero_extend(0x21e684, 52)) == 2221700); + assert(unsigned(zero_extend(0x21e688, 52)) == 2221704); + assert(unsigned(zero_extend(0x21e68c, 52)) == 2221708); + assert(unsigned(zero_extend(0x21e690, 52)) == 2221712); + assert(unsigned(zero_extend(0x21e694, 52)) == 2221716); + assert(unsigned(zero_extend(0x21e698, 52)) == 2221720); + assert(unsigned(zero_extend(0x21e69c, 52)) == 2221724); + assert(unsigned(zero_extend(0x21e6a0, 52)) == 2221728); + assert(unsigned(zero_extend(0x21e6a4, 52)) == 2221732); + assert(unsigned(zero_extend(0x21e6a8, 52)) == 2221736); + assert(unsigned(zero_extend(0x21e6ac, 52)) == 2221740); + assert(unsigned(zero_extend(0x21e6b0, 52)) == 2221744); + assert(unsigned(zero_extend(0x21e6b4, 52)) == 2221748); + assert(unsigned(zero_extend(0x21e6b8, 52)) == 2221752); + assert(unsigned(zero_extend(0x21e6bc, 52)) == 2221756); + assert(unsigned(zero_extend(0x21e6c0, 52)) == 2221760); + assert(unsigned(zero_extend(0x21e6c4, 52)) == 2221764); + assert(unsigned(zero_extend(0x21e6c8, 52)) == 2221768); + assert(unsigned(zero_extend(0x21e6cc, 52)) == 2221772); + assert(unsigned(zero_extend(0x21e6d0, 52)) == 2221776); + assert(unsigned(zero_extend(0x21e6d4, 52)) == 2221780); + assert(unsigned(zero_extend(0x21e6d8, 52)) == 2221784); + assert(unsigned(zero_extend(0x21e6dc, 52)) == 2221788); + assert(unsigned(zero_extend(0x21e6e0, 52)) == 2221792); + assert(unsigned(zero_extend(0x21e6e4, 52)) == 2221796); + assert(unsigned(zero_extend(0x21e6e8, 52)) == 2221800); + assert(unsigned(zero_extend(0x21e6ec, 52)) == 2221804); + assert(unsigned(zero_extend(0x21e6f0, 52)) == 2221808); + assert(unsigned(zero_extend(0x21e6f4, 52)) == 2221812); + assert(unsigned(zero_extend(0x21e6f8, 52)) == 2221816); + assert(unsigned(zero_extend(0x21e6fc, 52)) == 2221820); + assert(unsigned(zero_extend(0x21e700, 52)) == 2221824); + assert(unsigned(zero_extend(0x21e704, 52)) == 2221828); + assert(unsigned(zero_extend(0x21e708, 52)) == 2221832); + assert(unsigned(zero_extend(0x21e70c, 52)) == 2221836); + assert(unsigned(zero_extend(0x21e710, 52)) == 2221840); + assert(unsigned(zero_extend(0x21e714, 52)) == 2221844); + assert(unsigned(zero_extend(0x21e718, 52)) == 2221848); + assert(unsigned(zero_extend(0x21e71c, 52)) == 2221852); + assert(unsigned(zero_extend(0x21e720, 52)) == 2221856); + assert(unsigned(zero_extend(0x21e724, 52)) == 2221860); + assert(unsigned(zero_extend(0x21e728, 52)) == 2221864); + assert(unsigned(zero_extend(0x21e72c, 52)) == 2221868); + assert(unsigned(zero_extend(0x21e730, 52)) == 2221872); + assert(unsigned(zero_extend(0x21e734, 52)) == 2221876); + assert(unsigned(zero_extend(0x21e738, 52)) == 2221880); + assert(unsigned(zero_extend(0x21e740, 52)) == 2221888); + assert(unsigned(zero_extend(0x21eb90, 52)) == 2222992); + assert(unsigned(zero_extend(0x21eb94, 52)) == 2222996); + assert(unsigned(zero_extend(0x21eb98, 52)) == 2223000); + assert(unsigned(zero_extend(0x21eb9c, 52)) == 2223004); + assert(unsigned(zero_extend(0x21eba0, 52)) == 2223008); + assert(unsigned(zero_extend(0x21eba4, 52)) == 2223012); + assert(unsigned(zero_extend(0x21eba8, 52)) == 2223016); + assert(unsigned(zero_extend(0x21ebc0, 52)) == 2223040); + assert(unsigned(zero_extend(0x21ebc4, 52)) == 2223044); + assert(unsigned(zero_extend(0x21ebc8, 52)) == 2223048); + assert(unsigned(zero_extend(0x21ebd4, 52)) == 2223060); + assert(unsigned(zero_extend(0x21ebd8, 52)) == 2223064); + assert(unsigned(zero_extend(0x21ebe8, 52)) == 2223080); + assert(unsigned(zero_extend(0x21ebec, 52)) == 2223084); + assert(unsigned(zero_extend(0x21ebf0, 52)) == 2223088); + assert(unsigned(zero_extend(0x21ebf4, 52)) == 2223092); + assert(unsigned(zero_extend(0x21ebf8, 52)) == 2223096); + assert(unsigned(zero_extend(0x21ebfc, 52)) == 2223100); + assert(unsigned(zero_extend(0x21ec00, 52)) == 2223104); + assert(unsigned(zero_extend(0x21ec18, 52)) == 2223128); + assert(unsigned(zero_extend(0x21ec1c, 52)) == 2223132); + assert(unsigned(zero_extend(0x21ec20, 52)) == 2223136); + assert(unsigned(zero_extend(0x21ec24, 52)) == 2223140); + assert(unsigned(zero_extend(0x21ec25, 52)) == 2223141); + assert(unsigned(zero_extend(0x21ec26, 52)) == 2223142); + assert(unsigned(zero_extend(0x21ec27, 52)) == 2223143); + assert(unsigned(zero_extend(0x21ec28, 52)) == 2223144); + assert(unsigned(zero_extend(0x21ec29, 52)) == 2223145); + assert(unsigned(zero_extend(0x21ec2a, 52)) == 2223146); + assert(unsigned(zero_extend(0x21ec2b, 52)) == 2223147); + assert(unsigned(zero_extend(0x21ec2c, 52)) == 2223148); + assert(unsigned(zero_extend(0x21ec2d, 52)) == 2223149); + assert(unsigned(zero_extend(0x21ec2e, 52)) == 2223150); + assert(unsigned(zero_extend(0x21ec2f, 52)) == 2223151); + assert(unsigned(zero_extend(0x21ec30, 52)) == 2223152); + assert(unsigned(zero_extend(0x21ec31, 52)) == 2223153); + assert(unsigned(zero_extend(0x21ec32, 52)) == 2223154); + assert(unsigned(zero_extend(0x21ec33, 52)) == 2223155); + assert(unsigned(zero_extend(0x21ec34, 52)) == 2223156); + assert(unsigned(zero_extend(0x21ec35, 52)) == 2223157); + assert(unsigned(zero_extend(0x21ec36, 52)) == 2223158); + assert(unsigned(zero_extend(0x21ec37, 52)) == 2223159); + assert(unsigned(zero_extend(0x21ec38, 52)) == 2223160); + assert(unsigned(zero_extend(0x21ec39, 52)) == 2223161); + assert(unsigned(zero_extend(0x21ec3a, 52)) == 2223162); + assert(unsigned(zero_extend(0x21ec48, 52)) == 2223176); + assert(unsigned(zero_extend(0x21ec7c, 52)) == 2223228); + assert(unsigned(zero_extend(0x21ec7d, 52)) == 2223229); + assert(unsigned(zero_extend(0x21ec7e, 52)) == 2223230); + assert(unsigned(zero_extend(0x21ec7f, 52)) == 2223231); + assert(unsigned(zero_extend(0x21ec80, 52)) == 2223232); + assert(unsigned(zero_extend(0x21ec81, 52)) == 2223233); + assert(unsigned(zero_extend(0x21ec82, 52)) == 2223234); + assert(unsigned(zero_extend(0x21ec83, 52)) == 2223235); + assert(unsigned(zero_extend(0x21ec84, 52)) == 2223236); + assert(unsigned(zero_extend(0x21ec85, 52)) == 2223237); + assert(unsigned(zero_extend(0x21ec86, 52)) == 2223238); + assert(unsigned(zero_extend(0x21ec87, 52)) == 2223239); + assert(unsigned(zero_extend(0x21ec88, 52)) == 2223240); + assert(unsigned(zero_extend(0x21ec89, 52)) == 2223241); + assert(unsigned(zero_extend(0x21ec8a, 52)) == 2223242); + assert(unsigned(zero_extend(0x21ec8b, 52)) == 2223243); + assert(unsigned(zero_extend(0x21ec8c, 52)) == 2223244); + assert(unsigned(zero_extend(0x21ec8d, 52)) == 2223245); + assert(unsigned(zero_extend(0x21ec8e, 52)) == 2223246); + assert(unsigned(zero_extend(0x21ec8f, 52)) == 2223247); + assert(unsigned(zero_extend(0x21ec90, 52)) == 2223248); + assert(unsigned(zero_extend(0x21ec91, 52)) == 2223249); + assert(unsigned(zero_extend(0x21ec92, 52)) == 2223250); + assert(unsigned(zero_extend(0x21f138, 52)) == 2224440); + assert(unsigned(zero_extend(0x21f13c, 52)) == 2224444); + assert(unsigned(zero_extend(0x21f140, 52)) == 2224448); + assert(unsigned(zero_extend(0x21f144, 52)) == 2224452); + assert(unsigned(zero_extend(0x21f148, 52)) == 2224456); + assert(unsigned(zero_extend(0x21f14c, 52)) == 2224460); + assert(unsigned(zero_extend(0x21f150, 52)) == 2224464); + assert(unsigned(zero_extend(0x21f154, 52)) == 2224468); + assert(unsigned(zero_extend(0x21f158, 52)) == 2224472); + assert(unsigned(zero_extend(0x21f15c, 52)) == 2224476); + assert(unsigned(zero_extend(0x21f160, 52)) == 2224480); + assert(unsigned(zero_extend(0x21f190, 52)) == 2224528); + assert(unsigned(zero_extend(0x21f194, 52)) == 2224532); + assert(unsigned(zero_extend(0x21f198, 52)) == 2224536); + assert(unsigned(zero_extend(0x21f19c, 52)) == 2224540); + assert(unsigned(zero_extend(0x21f1a0, 52)) == 2224544); + assert(unsigned(zero_extend(0x21f1a4, 52)) == 2224548); + assert(unsigned(zero_extend(0x21f1a8, 52)) == 2224552); + assert(unsigned(zero_extend(0x21f1ac, 52)) == 2224556); + assert(unsigned(zero_extend(0x21f1b0, 52)) == 2224560); + assert(unsigned(zero_extend(0x21f1b4, 52)) == 2224564); + assert(unsigned(zero_extend(0x21f1b8, 52)) == 2224568); + assert(unsigned(zero_extend(0x21f2d0, 52)) == 2224848); + assert(unsigned(zero_extend(0x21f2d4, 52)) == 2224852); + assert(unsigned(zero_extend(0x21f2d8, 52)) == 2224856); + assert(unsigned(zero_extend(0x21f2dc, 52)) == 2224860); + assert(unsigned(zero_extend(0x21f2e0, 52)) == 2224864); + assert(unsigned(zero_extend(0x21f2e4, 52)) == 2224868); + assert(unsigned(zero_extend(0x21f2e8, 52)) == 2224872); + assert(unsigned(zero_extend(0x21f2ec, 52)) == 2224876); + assert(unsigned(zero_extend(0x21f2f0, 52)) == 2224880); + assert(unsigned(zero_extend(0x21f2f4, 52)) == 2224884); + assert(unsigned(zero_extend(0x21f2f8, 52)) == 2224888); + assert(unsigned(zero_extend(0x21f2fc, 52)) == 2224892); + assert(unsigned(zero_extend(0x21f300, 52)) == 2224896); + assert(unsigned(zero_extend(0x21f304, 52)) == 2224900); + assert(unsigned(zero_extend(0x21f308, 52)) == 2224904); + assert(unsigned(zero_extend(0x21f310, 52)) == 2224912); + assert(unsigned(zero_extend(0x21f328, 52)) == 2224936); + assert(unsigned(zero_extend(0x21f32c, 52)) == 2224940); + assert(unsigned(zero_extend(0x21f330, 52)) == 2224944); + assert(unsigned(zero_extend(0x21f334, 52)) == 2224948); + assert(unsigned(zero_extend(0x21f338, 52)) == 2224952); + assert(unsigned(zero_extend(0x21f33c, 52)) == 2224956); + assert(unsigned(zero_extend(0x21f340, 52)) == 2224960); + assert(unsigned(zero_extend(0x21f344, 52)) == 2224964); + assert(unsigned(zero_extend(0x21f348, 52)) == 2224968); + assert(unsigned(zero_extend(0x21f34c, 52)) == 2224972); + assert(unsigned(zero_extend(0x21f350, 52)) == 2224976); + assert(unsigned(zero_extend(0x21f354, 52)) == 2224980); + assert(unsigned(zero_extend(0x21f358, 52)) == 2224984); + assert(unsigned(zero_extend(0x21f35c, 52)) == 2224988); + assert(unsigned(zero_extend(0x21f360, 52)) == 2224992); + assert(unsigned(zero_extend(0x21f368, 52)) == 2225000); + assert(unsigned(zero_extend(0x21f558, 52)) == 2225496); + assert(unsigned(zero_extend(0x21f55c, 52)) == 2225500); + assert(unsigned(zero_extend(0x21f560, 52)) == 2225504); + assert(unsigned(zero_extend(0x21f564, 52)) == 2225508); + assert(unsigned(zero_extend(0x21f568, 52)) == 2225512); + assert(unsigned(zero_extend(0x21f5a0, 52)) == 2225568); + assert(unsigned(zero_extend(0x21f5a8, 52)) == 2225576); + assert(unsigned(zero_extend(0x21f5b0, 52)) == 2225584); + assert(unsigned(zero_extend(0x21f5b4, 52)) == 2225588); + assert(unsigned(zero_extend(0x21f5b8, 52)) == 2225592); + assert(unsigned(zero_extend(0x21f5bc, 52)) == 2225596); + assert(unsigned(zero_extend(0x21f5c0, 52)) == 2225600); + assert(unsigned(zero_extend(0x21f5f8, 52)) == 2225656); + assert(unsigned(zero_extend(0x21f600, 52)) == 2225664); + assert(unsigned(zero_extend(0x221468, 52)) == 2233448); + assert(unsigned(zero_extend(0x22146c, 52)) == 2233452); + assert(unsigned(zero_extend(0x221470, 52)) == 2233456); + assert(unsigned(zero_extend(0x221474, 52)) == 2233460); + assert(unsigned(zero_extend(0x221478, 52)) == 2233464); + assert(unsigned(zero_extend(0x22147c, 52)) == 2233468); + assert(unsigned(zero_extend(0x221480, 52)) == 2233472); + assert(unsigned(zero_extend(0x221484, 52)) == 2233476); + assert(unsigned(zero_extend(0x221488, 52)) == 2233480); + assert(unsigned(zero_extend(0x22148c, 52)) == 2233484); + assert(unsigned(zero_extend(0x221490, 52)) == 2233488); + assert(unsigned(zero_extend(0x221494, 52)) == 2233492); + assert(unsigned(zero_extend(0x221498, 52)) == 2233496); + assert(unsigned(zero_extend(0x22149c, 52)) == 2233500); + assert(unsigned(zero_extend(0x2214a0, 52)) == 2233504); + assert(unsigned(zero_extend(0x2214a4, 52)) == 2233508); + assert(unsigned(zero_extend(0x2214a8, 52)) == 2233512); + assert(unsigned(zero_extend(0x2214ac, 52)) == 2233516); + assert(unsigned(zero_extend(0x2214b0, 52)) == 2233520); + assert(unsigned(zero_extend(0x2214b4, 52)) == 2233524); + assert(unsigned(zero_extend(0x2214b8, 52)) == 2233528); + assert(unsigned(zero_extend(0x2214bc, 52)) == 2233532); + assert(unsigned(zero_extend(0x2214c0, 52)) == 2233536); + assert(unsigned(zero_extend(0x2214c4, 52)) == 2233540); + assert(unsigned(zero_extend(0x2214c8, 52)) == 2233544); + assert(unsigned(zero_extend(0x2214cc, 52)) == 2233548); + assert(unsigned(zero_extend(0x2214d0, 52)) == 2233552); + assert(unsigned(zero_extend(0x2214d4, 52)) == 2233556); + assert(unsigned(zero_extend(0x2214d8, 52)) == 2233560); + assert(unsigned(zero_extend(0x2214dc, 52)) == 2233564); + assert(unsigned(zero_extend(0x2214e0, 52)) == 2233568); + assert(unsigned(zero_extend(0x2214e4, 52)) == 2233572); + assert(unsigned(zero_extend(0x2214e8, 52)) == 2233576); + assert(unsigned(zero_extend(0x2214ec, 52)) == 2233580); + assert(unsigned(zero_extend(0x2214f0, 52)) == 2233584); + assert(unsigned(zero_extend(0x2214f4, 52)) == 2233588); + assert(unsigned(zero_extend(0x2214f8, 52)) == 2233592); + assert(unsigned(zero_extend(0x2214fc, 52)) == 2233596); + assert(unsigned(zero_extend(0x221500, 52)) == 2233600); + assert(unsigned(zero_extend(0x221504, 52)) == 2233604); + assert(unsigned(zero_extend(0x221508, 52)) == 2233608); + assert(unsigned(zero_extend(0x22150c, 52)) == 2233612); + assert(unsigned(zero_extend(0x221510, 52)) == 2233616); + assert(unsigned(zero_extend(0x221514, 52)) == 2233620); + assert(unsigned(zero_extend(0x221518, 52)) == 2233624); + assert(unsigned(zero_extend(0x22151c, 52)) == 2233628); + assert(unsigned(zero_extend(0x221520, 52)) == 2233632); + assert(unsigned(zero_extend(0x221524, 52)) == 2233636); + assert(unsigned(zero_extend(0x221528, 52)) == 2233640); + assert(unsigned(zero_extend(0x22152c, 52)) == 2233644); + assert(unsigned(zero_extend(0x221530, 52)) == 2233648); + assert(unsigned(zero_extend(0x221534, 52)) == 2233652); + assert(unsigned(zero_extend(0x221538, 52)) == 2233656); + assert(unsigned(zero_extend(0x22153c, 52)) == 2233660); + assert(unsigned(zero_extend(0x221540, 52)) == 2233664); + assert(unsigned(zero_extend(0x221544, 52)) == 2233668); + assert(unsigned(zero_extend(0x221548, 52)) == 2233672); + assert(unsigned(zero_extend(0x221568, 52)) == 2233704); + assert(unsigned(zero_extend(0x22156c, 52)) == 2233708); + assert(unsigned(zero_extend(0x221570, 52)) == 2233712); + assert(unsigned(zero_extend(0x221574, 52)) == 2233716); + assert(unsigned(zero_extend(0x221578, 52)) == 2233720); + assert(unsigned(zero_extend(0x22157c, 52)) == 2233724); + assert(unsigned(zero_extend(0x221580, 52)) == 2233728); + assert(unsigned(zero_extend(0x221584, 52)) == 2233732); + assert(unsigned(zero_extend(0x221588, 52)) == 2233736); + assert(unsigned(zero_extend(0x22158c, 52)) == 2233740); + assert(unsigned(zero_extend(0x221590, 52)) == 2233744); + assert(unsigned(zero_extend(0x221594, 52)) == 2233748); + assert(unsigned(zero_extend(0x221598, 52)) == 2233752); + assert(unsigned(zero_extend(0x22159c, 52)) == 2233756); + assert(unsigned(zero_extend(0x2215a0, 52)) == 2233760); + assert(unsigned(zero_extend(0x2215a4, 52)) == 2233764); + assert(unsigned(zero_extend(0x2215c0, 52)) == 2233792); + assert(unsigned(zero_extend(0x2215c4, 52)) == 2233796); + assert(unsigned(zero_extend(0x2215c8, 52)) == 2233800); + assert(unsigned(zero_extend(0x2215cc, 52)) == 2233804); + assert(unsigned(zero_extend(0x2215d0, 52)) == 2233808); + assert(unsigned(zero_extend(0x2215d4, 52)) == 2233812); + assert(unsigned(zero_extend(0x2215d8, 52)) == 2233816); + assert(unsigned(zero_extend(0x2215dc, 52)) == 2233820); + assert(unsigned(zero_extend(0x2215e0, 52)) == 2233824); + assert(unsigned(zero_extend(0x2215e4, 52)) == 2233828); + assert(unsigned(zero_extend(0x2215e8, 52)) == 2233832); + assert(unsigned(zero_extend(0x2215ec, 52)) == 2233836); + assert(unsigned(zero_extend(0x2215f0, 52)) == 2233840); + assert(unsigned(zero_extend(0x2215f4, 52)) == 2233844); + assert(unsigned(zero_extend(0x2215f8, 52)) == 2233848); + assert(unsigned(zero_extend(0x2215fc, 52)) == 2233852); + assert(unsigned(zero_extend(0x221680, 52)) == 2233984); + assert(unsigned(zero_extend(0x221684, 52)) == 2233988); + assert(unsigned(zero_extend(0x221688, 52)) == 2233992); + assert(unsigned(zero_extend(0x22168c, 52)) == 2233996); + assert(unsigned(zero_extend(0x221690, 52)) == 2234000); + assert(unsigned(zero_extend(0x221694, 52)) == 2234004); + assert(unsigned(zero_extend(0x221698, 52)) == 2234008); + assert(unsigned(zero_extend(0x22169c, 52)) == 2234012); + assert(unsigned(zero_extend(0x2216a0, 52)) == 2234016); + assert(unsigned(zero_extend(0x2216a4, 52)) == 2234020); + assert(unsigned(zero_extend(0x2216a8, 52)) == 2234024); + assert(unsigned(zero_extend(0x2216ac, 52)) == 2234028); + assert(unsigned(zero_extend(0x2216b0, 52)) == 2234032); + assert(unsigned(zero_extend(0x2216b4, 52)) == 2234036); + assert(unsigned(zero_extend(0x2216b8, 52)) == 2234040); + assert(unsigned(zero_extend(0x2216d8, 52)) == 2234072); + assert(unsigned(zero_extend(0x2216dc, 52)) == 2234076); + assert(unsigned(zero_extend(0x2216e0, 52)) == 2234080); + assert(unsigned(zero_extend(0x2216e4, 52)) == 2234084); + assert(unsigned(zero_extend(0x2216e8, 52)) == 2234088); + assert(unsigned(zero_extend(0x2216ec, 52)) == 2234092); + assert(unsigned(zero_extend(0x2216f0, 52)) == 2234096); + assert(unsigned(zero_extend(0x2216f4, 52)) == 2234100); + assert(unsigned(zero_extend(0x2216f8, 52)) == 2234104); + assert(unsigned(zero_extend(0x2216fc, 52)) == 2234108); + assert(unsigned(zero_extend(0x221700, 52)) == 2234112); + assert(unsigned(zero_extend(0x221704, 52)) == 2234116); + assert(unsigned(zero_extend(0x221708, 52)) == 2234120); + assert(unsigned(zero_extend(0x22170c, 52)) == 2234124); + assert(unsigned(zero_extend(0x221710, 52)) == 2234128); + assert(unsigned(zero_extend(0x221714, 52)) == 2234132); + assert(unsigned(zero_extend(0x221718, 52)) == 2234136); + assert(unsigned(zero_extend(0x221720, 52)) == 2234144); + assert(unsigned(zero_extend(0x22174c, 52)) == 2234188); + assert(unsigned(zero_extend(0x221750, 52)) == 2234192); + assert(unsigned(zero_extend(0x221751, 52)) == 2234193); + assert(unsigned(zero_extend(0x221752, 52)) == 2234194); + assert(unsigned(zero_extend(0x221753, 52)) == 2234195); + assert(unsigned(zero_extend(0x221754, 52)) == 2234196); + assert(unsigned(zero_extend(0x221755, 52)) == 2234197); + assert(unsigned(zero_extend(0x221756, 52)) == 2234198); + assert(unsigned(zero_extend(0x221757, 52)) == 2234199); + assert(unsigned(zero_extend(0x221758, 52)) == 2234200); + assert(unsigned(zero_extend(0x221759, 52)) == 2234201); + assert(unsigned(zero_extend(0x22175a, 52)) == 2234202); + assert(unsigned(zero_extend(0x22175b, 52)) == 2234203); + assert(unsigned(zero_extend(0x22175c, 52)) == 2234204); + assert(unsigned(zero_extend(0x22175d, 52)) == 2234205); + assert(unsigned(zero_extend(0x22175e, 52)) == 2234206); + assert(unsigned(zero_extend(0x22175f, 52)) == 2234207); + assert(unsigned(zero_extend(0x221760, 52)) == 2234208); + assert(unsigned(zero_extend(0x221761, 52)) == 2234209); + assert(unsigned(zero_extend(0x221764, 52)) == 2234212); + assert(unsigned(zero_extend(0x221765, 52)) == 2234213); + assert(unsigned(zero_extend(0x221766, 52)) == 2234214); + assert(unsigned(zero_extend(0x221767, 52)) == 2234215); + assert(unsigned(zero_extend(0x221768, 52)) == 2234216); + assert(unsigned(zero_extend(0x221769, 52)) == 2234217); + assert(unsigned(zero_extend(0x22176a, 52)) == 2234218); + assert(unsigned(zero_extend(0x22176c, 52)) == 2234220); + assert(unsigned(zero_extend(0x221770, 52)) == 2234224); + assert(unsigned(zero_extend(0x221778, 52)) == 2234232); + assert(unsigned(zero_extend(0x2217a8, 52)) == 2234280); + assert(unsigned(zero_extend(0x2217a9, 52)) == 2234281); + assert(unsigned(zero_extend(0x2217aa, 52)) == 2234282); + assert(unsigned(zero_extend(0x2217ab, 52)) == 2234283); + assert(unsigned(zero_extend(0x2217ac, 52)) == 2234284); + assert(unsigned(zero_extend(0x2217ad, 52)) == 2234285); + assert(unsigned(zero_extend(0x2217ae, 52)) == 2234286); + assert(unsigned(zero_extend(0x2217af, 52)) == 2234287); + assert(unsigned(zero_extend(0x2217b0, 52)) == 2234288); + assert(unsigned(zero_extend(0x2217b1, 52)) == 2234289); + assert(unsigned(zero_extend(0x2217b2, 52)) == 2234290); + assert(unsigned(zero_extend(0x2217b3, 52)) == 2234291); + assert(unsigned(zero_extend(0x2217b4, 52)) == 2234292); + assert(unsigned(zero_extend(0x2217b5, 52)) == 2234293); + assert(unsigned(zero_extend(0x2217b6, 52)) == 2234294); + assert(unsigned(zero_extend(0x2217b7, 52)) == 2234295); + assert(unsigned(zero_extend(0x2217b8, 52)) == 2234296); + assert(unsigned(zero_extend(0x2217b9, 52)) == 2234297); + assert(unsigned(zero_extend(0x2217bc, 52)) == 2234300); + assert(unsigned(zero_extend(0x2217bd, 52)) == 2234301); + assert(unsigned(zero_extend(0x2217be, 52)) == 2234302); + assert(unsigned(zero_extend(0x2217bf, 52)) == 2234303); + assert(unsigned(zero_extend(0x2217c0, 52)) == 2234304); + assert(unsigned(zero_extend(0x2217c1, 52)) == 2234305); + assert(unsigned(zero_extend(0x2217c2, 52)) == 2234306); + assert(unsigned(zero_extend(0x221820, 52)) == 2234400); + assert(unsigned(zero_extend(0x221824, 52)) == 2234404); + assert(unsigned(zero_extend(0x221828, 52)) == 2234408); + assert(unsigned(zero_extend(0x22182c, 52)) == 2234412); + assert(unsigned(zero_extend(0x221830, 52)) == 2234416); + assert(unsigned(zero_extend(0x221834, 52)) == 2234420); + assert(unsigned(zero_extend(0x221838, 52)) == 2234424); + assert(unsigned(zero_extend(0x22183c, 52)) == 2234428); + assert(unsigned(zero_extend(0x221840, 52)) == 2234432); + assert(unsigned(zero_extend(0x221844, 52)) == 2234436); + assert(unsigned(zero_extend(0x221848, 52)) == 2234440); + assert(unsigned(zero_extend(0x22184c, 52)) == 2234444); + assert(unsigned(zero_extend(0x221850, 52)) == 2234448); + assert(unsigned(zero_extend(0x221854, 52)) == 2234452); + assert(unsigned(zero_extend(0x221858, 52)) == 2234456); + assert(unsigned(zero_extend(0x22185c, 52)) == 2234460); + assert(unsigned(zero_extend(0x221860, 52)) == 2234464); + assert(unsigned(zero_extend(0x221864, 52)) == 2234468); + assert(unsigned(zero_extend(0x221868, 52)) == 2234472); + assert(unsigned(zero_extend(0x22186c, 52)) == 2234476); + assert(unsigned(zero_extend(0x221870, 52)) == 2234480); + assert(unsigned(zero_extend(0x221874, 52)) == 2234484); + assert(unsigned(zero_extend(0x221878, 52)) == 2234488); + assert(unsigned(zero_extend(0x22187c, 52)) == 2234492); + assert(unsigned(zero_extend(0x221880, 52)) == 2234496); + assert(unsigned(zero_extend(0x221884, 52)) == 2234500); + assert(unsigned(zero_extend(0x221888, 52)) == 2234504); + assert(unsigned(zero_extend(0x22188c, 52)) == 2234508); + assert(unsigned(zero_extend(0x221890, 52)) == 2234512); + assert(unsigned(zero_extend(0x221894, 52)) == 2234516); + assert(unsigned(zero_extend(0x221898, 52)) == 2234520); + assert(unsigned(zero_extend(0x22189c, 52)) == 2234524); + assert(unsigned(zero_extend(0x2218a0, 52)) == 2234528); + assert(unsigned(zero_extend(0x2218a4, 52)) == 2234532); + assert(unsigned(zero_extend(0x2218a8, 52)) == 2234536); + assert(unsigned(zero_extend(0x2218ac, 52)) == 2234540); + assert(unsigned(zero_extend(0x2218b0, 52)) == 2234544); + assert(unsigned(zero_extend(0x2218b4, 52)) == 2234548); + assert(unsigned(zero_extend(0x2218b8, 52)) == 2234552); + assert(unsigned(zero_extend(0x2218bc, 52)) == 2234556); + assert(unsigned(zero_extend(0x2218c0, 52)) == 2234560); + assert(unsigned(zero_extend(0x2218c4, 52)) == 2234564); + assert(unsigned(zero_extend(0x2218c8, 52)) == 2234568); + assert(unsigned(zero_extend(0x2218cc, 52)) == 2234572); + assert(unsigned(zero_extend(0x2218d0, 52)) == 2234576); + assert(unsigned(zero_extend(0x2218d4, 52)) == 2234580); + assert(unsigned(zero_extend(0x2218d8, 52)) == 2234584); + assert(unsigned(zero_extend(0x2218dc, 52)) == 2234588); + assert(unsigned(zero_extend(0x2218e0, 52)) == 2234592); + assert(unsigned(zero_extend(0x2218e4, 52)) == 2234596); + assert(unsigned(zero_extend(0x2218e8, 52)) == 2234600); + assert(unsigned(zero_extend(0x2218ec, 52)) == 2234604); + assert(unsigned(zero_extend(0x2218f0, 52)) == 2234608); + assert(unsigned(zero_extend(0x2218f4, 52)) == 2234612); + assert(unsigned(zero_extend(0x2218f8, 52)) == 2234616); + assert(unsigned(zero_extend(0x2218fc, 52)) == 2234620); + assert(unsigned(zero_extend(0x221900, 52)) == 2234624); + assert(unsigned(zero_extend(0x221904, 52)) == 2234628); + assert(unsigned(zero_extend(0x221908, 52)) == 2234632); + assert(unsigned(zero_extend(0x22190c, 52)) == 2234636); + assert(unsigned(zero_extend(0x221910, 52)) == 2234640); + assert(unsigned(zero_extend(0x221914, 52)) == 2234644); + assert(unsigned(zero_extend(0x221918, 52)) == 2234648); + assert(unsigned(zero_extend(0x22191c, 52)) == 2234652); + assert(unsigned(zero_extend(0x221920, 52)) == 2234656); + assert(unsigned(zero_extend(0x221924, 52)) == 2234660); + assert(unsigned(zero_extend(0x221928, 52)) == 2234664); + assert(unsigned(zero_extend(0x22192c, 52)) == 2234668); + assert(unsigned(zero_extend(0x221930, 52)) == 2234672); + assert(unsigned(zero_extend(0x221934, 52)) == 2234676); + assert(unsigned(zero_extend(0x221938, 52)) == 2234680); + assert(unsigned(zero_extend(0x22193c, 52)) == 2234684); + assert(unsigned(zero_extend(0x221940, 52)) == 2234688); + assert(unsigned(zero_extend(0x221944, 52)) == 2234692); + assert(unsigned(zero_extend(0x221948, 52)) == 2234696); + assert(unsigned(zero_extend(0x22194c, 52)) == 2234700); + assert(unsigned(zero_extend(0x221950, 52)) == 2234704); + assert(unsigned(zero_extend(0x221954, 52)) == 2234708); + assert(unsigned(zero_extend(0x221958, 52)) == 2234712); + assert(unsigned(zero_extend(0x22195c, 52)) == 2234716); + assert(unsigned(zero_extend(0x221960, 52)) == 2234720); + assert(unsigned(zero_extend(0x221964, 52)) == 2234724); + assert(unsigned(zero_extend(0x221968, 52)) == 2234728); + assert(unsigned(zero_extend(0x22196c, 52)) == 2234732); + assert(unsigned(zero_extend(0x22196d, 52)) == 2234733); + assert(unsigned(zero_extend(0x22196e, 52)) == 2234734); + assert(unsigned(zero_extend(0x22196f, 52)) == 2234735); + assert(unsigned(zero_extend(0x221970, 52)) == 2234736); + assert(unsigned(zero_extend(0x221971, 52)) == 2234737); + assert(unsigned(zero_extend(0x221972, 52)) == 2234738); + assert(unsigned(zero_extend(0x221973, 52)) == 2234739); + assert(unsigned(zero_extend(0x221974, 52)) == 2234740); + assert(unsigned(zero_extend(0x221975, 52)) == 2234741); + assert(unsigned(zero_extend(0x221976, 52)) == 2234742); + assert(unsigned(zero_extend(0x221977, 52)) == 2234743); + assert(unsigned(zero_extend(0x221978, 52)) == 2234744); + assert(unsigned(zero_extend(0x221979, 52)) == 2234745); + assert(unsigned(zero_extend(0x22197a, 52)) == 2234746); + assert(unsigned(zero_extend(0x22197b, 52)) == 2234747); + assert(unsigned(zero_extend(0x22197c, 52)) == 2234748); + assert(unsigned(zero_extend(0x22197d, 52)) == 2234749); + assert(unsigned(zero_extend(0x22197e, 52)) == 2234750); + assert(unsigned(zero_extend(0x22197f, 52)) == 2234751); + assert(unsigned(zero_extend(0x221980, 52)) == 2234752); + assert(unsigned(zero_extend(0x221981, 52)) == 2234753); + assert(unsigned(zero_extend(0x221982, 52)) == 2234754); + assert(unsigned(zero_extend(0x221983, 52)) == 2234755); + assert(unsigned(zero_extend(0x221984, 52)) == 2234756); + assert(unsigned(zero_extend(0x221988, 52)) == 2234760); + assert(unsigned(zero_extend(0x22198c, 52)) == 2234764); + assert(unsigned(zero_extend(0x221990, 52)) == 2234768); + assert(unsigned(zero_extend(0x221994, 52)) == 2234772); + assert(unsigned(zero_extend(0x221998, 52)) == 2234776); + assert(unsigned(zero_extend(0x22199c, 52)) == 2234780); + assert(unsigned(zero_extend(0x2219a0, 52)) == 2234784); + assert(unsigned(zero_extend(0x2219a4, 52)) == 2234788); + assert(unsigned(zero_extend(0x2219a8, 52)) == 2234792); + assert(unsigned(zero_extend(0x2219ac, 52)) == 2234796); + assert(unsigned(zero_extend(0x2219b0, 52)) == 2234800); + assert(unsigned(zero_extend(0x2219b4, 52)) == 2234804); + assert(unsigned(zero_extend(0x2219b8, 52)) == 2234808); + assert(unsigned(zero_extend(0x2219bc, 52)) == 2234812); + assert(unsigned(zero_extend(0x2219c0, 52)) == 2234816); + assert(unsigned(zero_extend(0x2219c4, 52)) == 2234820); + assert(unsigned(zero_extend(0x2219c5, 52)) == 2234821); + assert(unsigned(zero_extend(0x2219c6, 52)) == 2234822); + assert(unsigned(zero_extend(0x2219c7, 52)) == 2234823); + assert(unsigned(zero_extend(0x2219c8, 52)) == 2234824); + assert(unsigned(zero_extend(0x2219c9, 52)) == 2234825); + assert(unsigned(zero_extend(0x2219ca, 52)) == 2234826); + assert(unsigned(zero_extend(0x2219cb, 52)) == 2234827); + assert(unsigned(zero_extend(0x2219cc, 52)) == 2234828); + assert(unsigned(zero_extend(0x2219cd, 52)) == 2234829); + assert(unsigned(zero_extend(0x2219ce, 52)) == 2234830); + assert(unsigned(zero_extend(0x2219cf, 52)) == 2234831); + assert(unsigned(zero_extend(0x2219d0, 52)) == 2234832); + assert(unsigned(zero_extend(0x2219d1, 52)) == 2234833); + assert(unsigned(zero_extend(0x2219d2, 52)) == 2234834); + assert(unsigned(zero_extend(0x2219d3, 52)) == 2234835); + assert(unsigned(zero_extend(0x2219d4, 52)) == 2234836); + assert(unsigned(zero_extend(0x2219d5, 52)) == 2234837); + assert(unsigned(zero_extend(0x2219d6, 52)) == 2234838); + assert(unsigned(zero_extend(0x2219d7, 52)) == 2234839); + assert(unsigned(zero_extend(0x2219d8, 52)) == 2234840); + assert(unsigned(zero_extend(0x2219d9, 52)) == 2234841); + assert(unsigned(zero_extend(0x2219da, 52)) == 2234842); + assert(unsigned(zero_extend(0x2219db, 52)) == 2234843); + assert(unsigned(zero_extend(0x2219dc, 52)) == 2234844); + assert(unsigned(zero_extend(0x2219e0, 52)) == 2234848); + assert(unsigned(zero_extend(0x2219e4, 52)) == 2234852); + assert(unsigned(zero_extend(0x2219e8, 52)) == 2234856); + assert(unsigned(zero_extend(0x2219ec, 52)) == 2234860); + assert(unsigned(zero_extend(0x2219f0, 52)) == 2234864); + assert(unsigned(zero_extend(0x2219f4, 52)) == 2234868); + assert(unsigned(zero_extend(0x2219f8, 52)) == 2234872); + assert(unsigned(zero_extend(0x2219fc, 52)) == 2234876); + assert(unsigned(zero_extend(0x221a00, 52)) == 2234880); + assert(unsigned(zero_extend(0x221a04, 52)) == 2234884); + assert(unsigned(zero_extend(0x221a08, 52)) == 2234888); + assert(unsigned(zero_extend(0x221a0c, 52)) == 2234892); + assert(unsigned(zero_extend(0x221a10, 52)) == 2234896); + assert(unsigned(zero_extend(0x221a14, 52)) == 2234900); + assert(unsigned(zero_extend(0x221a18, 52)) == 2234904); + assert(unsigned(zero_extend(0x221a1c, 52)) == 2234908); + assert(unsigned(zero_extend(0x221a20, 52)) == 2234912); + assert(unsigned(zero_extend(0x221a24, 52)) == 2234916); + assert(unsigned(zero_extend(0x221a28, 52)) == 2234920); + assert(unsigned(zero_extend(0x221a2c, 52)) == 2234924); + assert(unsigned(zero_extend(0x221a30, 52)) == 2234928); + assert(unsigned(zero_extend(0x221a34, 52)) == 2234932); + assert(unsigned(zero_extend(0x221a38, 52)) == 2234936); + assert(unsigned(zero_extend(0x221a3c, 52)) == 2234940); + assert(unsigned(zero_extend(0x221a40, 52)) == 2234944); + assert(unsigned(zero_extend(0x221a44, 52)) == 2234948); + assert(unsigned(zero_extend(0x221a48, 52)) == 2234952); + assert(unsigned(zero_extend(0x221a4c, 52)) == 2234956); + assert(unsigned(zero_extend(0x221a50, 52)) == 2234960); + assert(unsigned(zero_extend(0x221a54, 52)) == 2234964); + assert(unsigned(zero_extend(0x221a58, 52)) == 2234968); + assert(unsigned(zero_extend(0x221a5c, 52)) == 2234972); + assert(unsigned(zero_extend(0x221a60, 52)) == 2234976); + assert(unsigned(zero_extend(0x221a64, 52)) == 2234980); + assert(unsigned(zero_extend(0x221a68, 52)) == 2234984); + assert(unsigned(zero_extend(0x221a6c, 52)) == 2234988); + assert(unsigned(zero_extend(0x221a70, 52)) == 2234992); + assert(unsigned(zero_extend(0x221a74, 52)) == 2234996); + assert(unsigned(zero_extend(0x221a78, 52)) == 2235000); + assert(unsigned(zero_extend(0x221a7c, 52)) == 2235004); + assert(unsigned(zero_extend(0x221a80, 52)) == 2235008); + assert(unsigned(zero_extend(0x221a84, 52)) == 2235012); + assert(unsigned(zero_extend(0x221a88, 52)) == 2235016); + assert(unsigned(zero_extend(0x221a8c, 52)) == 2235020); + assert(unsigned(zero_extend(0x221a90, 52)) == 2235024); + assert(unsigned(zero_extend(0x221a91, 52)) == 2235025); + assert(unsigned(zero_extend(0x221a92, 52)) == 2235026); + assert(unsigned(zero_extend(0x221a93, 52)) == 2235027); + assert(unsigned(zero_extend(0x221a94, 52)) == 2235028); + assert(unsigned(zero_extend(0x221a95, 52)) == 2235029); + assert(unsigned(zero_extend(0x221a96, 52)) == 2235030); + assert(unsigned(zero_extend(0x221a97, 52)) == 2235031); + assert(unsigned(zero_extend(0x221a98, 52)) == 2235032); + assert(unsigned(zero_extend(0x221a99, 52)) == 2235033); + assert(unsigned(zero_extend(0x221a9a, 52)) == 2235034); + assert(unsigned(zero_extend(0x221a9b, 52)) == 2235035); + assert(unsigned(zero_extend(0x221a9c, 52)) == 2235036); + assert(unsigned(zero_extend(0x221a9d, 52)) == 2235037); + assert(unsigned(zero_extend(0x221a9e, 52)) == 2235038); + assert(unsigned(zero_extend(0x221a9f, 52)) == 2235039); + assert(unsigned(zero_extend(0x221aa0, 52)) == 2235040); + assert(unsigned(zero_extend(0x221aa1, 52)) == 2235041); + assert(unsigned(zero_extend(0x221aa2, 52)) == 2235042); + assert(unsigned(zero_extend(0x221aa3, 52)) == 2235043); + assert(unsigned(zero_extend(0x221aa4, 52)) == 2235044); + assert(unsigned(zero_extend(0x221aa5, 52)) == 2235045); + assert(unsigned(zero_extend(0x221aa6, 52)) == 2235046); + assert(unsigned(zero_extend(0x221aa7, 52)) == 2235047); + assert(unsigned(zero_extend(0x221aa8, 52)) == 2235048); + assert(unsigned(zero_extend(0x221aa9, 52)) == 2235049); + assert(unsigned(zero_extend(0x221aaa, 52)) == 2235050); + assert(unsigned(zero_extend(0x221ae0, 52)) == 2235104); + assert(unsigned(zero_extend(0x221ae8, 52)) == 2235112); + assert(unsigned(zero_extend(0x221ae9, 52)) == 2235113); + assert(unsigned(zero_extend(0x221aea, 52)) == 2235114); + assert(unsigned(zero_extend(0x221aeb, 52)) == 2235115); + assert(unsigned(zero_extend(0x221aec, 52)) == 2235116); + assert(unsigned(zero_extend(0x221aed, 52)) == 2235117); + assert(unsigned(zero_extend(0x221aee, 52)) == 2235118); + assert(unsigned(zero_extend(0x221aef, 52)) == 2235119); + assert(unsigned(zero_extend(0x221af0, 52)) == 2235120); + assert(unsigned(zero_extend(0x221af1, 52)) == 2235121); + assert(unsigned(zero_extend(0x221af2, 52)) == 2235122); + assert(unsigned(zero_extend(0x221af3, 52)) == 2235123); + assert(unsigned(zero_extend(0x221af4, 52)) == 2235124); + assert(unsigned(zero_extend(0x221af5, 52)) == 2235125); + assert(unsigned(zero_extend(0x221af6, 52)) == 2235126); + assert(unsigned(zero_extend(0x221af7, 52)) == 2235127); + assert(unsigned(zero_extend(0x221af8, 52)) == 2235128); + assert(unsigned(zero_extend(0x221af9, 52)) == 2235129); + assert(unsigned(zero_extend(0x221afa, 52)) == 2235130); + assert(unsigned(zero_extend(0x221afb, 52)) == 2235131); + assert(unsigned(zero_extend(0x221afc, 52)) == 2235132); + assert(unsigned(zero_extend(0x221afd, 52)) == 2235133); + assert(unsigned(zero_extend(0x221afe, 52)) == 2235134); + assert(unsigned(zero_extend(0x221aff, 52)) == 2235135); + assert(unsigned(zero_extend(0x221b00, 52)) == 2235136); + assert(unsigned(zero_extend(0x221b01, 52)) == 2235137); + assert(unsigned(zero_extend(0x221b02, 52)) == 2235138); + assert(unsigned(zero_extend(0x221c08, 52)) == 2235400); + assert(unsigned(zero_extend(0x221c0c, 52)) == 2235404); + assert(unsigned(zero_extend(0x221c10, 52)) == 2235408); + assert(unsigned(zero_extend(0x221c14, 52)) == 2235412); + assert(unsigned(zero_extend(0x221c18, 52)) == 2235416); + assert(unsigned(zero_extend(0x221c1c, 52)) == 2235420); + assert(unsigned(zero_extend(0x221c20, 52)) == 2235424); + assert(unsigned(zero_extend(0x221c24, 52)) == 2235428); + assert(unsigned(zero_extend(0x221c28, 52)) == 2235432); + assert(unsigned(zero_extend(0x221c2c, 52)) == 2235436); + assert(unsigned(zero_extend(0x221c30, 52)) == 2235440); + assert(unsigned(zero_extend(0x221c34, 52)) == 2235444); + assert(unsigned(zero_extend(0x221c38, 52)) == 2235448); + assert(unsigned(zero_extend(0x221c3c, 52)) == 2235452); + assert(unsigned(zero_extend(0x221c40, 52)) == 2235456); + assert(unsigned(zero_extend(0x221c44, 52)) == 2235460); + assert(unsigned(zero_extend(0x221c48, 52)) == 2235464); + assert(unsigned(zero_extend(0x221c4c, 52)) == 2235468); + assert(unsigned(zero_extend(0x221c50, 52)) == 2235472); + assert(unsigned(zero_extend(0x221c54, 52)) == 2235476); + assert(unsigned(zero_extend(0x221c58, 52)) == 2235480); + assert(unsigned(zero_extend(0x221c5c, 52)) == 2235484); + assert(unsigned(zero_extend(0x221c60, 52)) == 2235488); + assert(unsigned(zero_extend(0x221c64, 52)) == 2235492); + assert(unsigned(zero_extend(0x221c68, 52)) == 2235496); + assert(unsigned(zero_extend(0x221c6c, 52)) == 2235500); + assert(unsigned(zero_extend(0x221c70, 52)) == 2235504); + assert(unsigned(zero_extend(0x221c74, 52)) == 2235508); + assert(unsigned(zero_extend(0x221c78, 52)) == 2235512); + assert(unsigned(zero_extend(0x221c7c, 52)) == 2235516); + assert(unsigned(zero_extend(0x221c80, 52)) == 2235520); + assert(unsigned(zero_extend(0x221c84, 52)) == 2235524); + assert(unsigned(zero_extend(0x221c88, 52)) == 2235528); + assert(unsigned(zero_extend(0x221c8c, 52)) == 2235532); + assert(unsigned(zero_extend(0x221c90, 52)) == 2235536); + assert(unsigned(zero_extend(0x221c94, 52)) == 2235540); + assert(unsigned(zero_extend(0x221c98, 52)) == 2235544); + assert(unsigned(zero_extend(0x221c9c, 52)) == 2235548); + assert(unsigned(zero_extend(0x221ca0, 52)) == 2235552); + assert(unsigned(zero_extend(0x221ca4, 52)) == 2235556); + assert(unsigned(zero_extend(0x221ca8, 52)) == 2235560); + assert(unsigned(zero_extend(0x221cac, 52)) == 2235564); + assert(unsigned(zero_extend(0x221cb0, 52)) == 2235568); + assert(unsigned(zero_extend(0x221cb4, 52)) == 2235572); + assert(unsigned(zero_extend(0x221cb8, 52)) == 2235576); + assert(unsigned(zero_extend(0x221cbc, 52)) == 2235580); + assert(unsigned(zero_extend(0x221cc0, 52)) == 2235584); + assert(unsigned(zero_extend(0x221cc4, 52)) == 2235588); + assert(unsigned(zero_extend(0x221cc8, 52)) == 2235592); + assert(unsigned(zero_extend(0x221ccc, 52)) == 2235596); + assert(unsigned(zero_extend(0x221cd0, 52)) == 2235600); + assert(unsigned(zero_extend(0x221cd4, 52)) == 2235604); + assert(unsigned(zero_extend(0x221cd8, 52)) == 2235608); + assert(unsigned(zero_extend(0x221cdc, 52)) == 2235612); + assert(unsigned(zero_extend(0x221ce0, 52)) == 2235616); + assert(unsigned(zero_extend(0x221ce4, 52)) == 2235620); + assert(unsigned(zero_extend(0x221ce8, 52)) == 2235624); + assert(unsigned(zero_extend(0x221cec, 52)) == 2235628); + assert(unsigned(zero_extend(0x221cf0, 52)) == 2235632); + assert(unsigned(zero_extend(0x221cf4, 52)) == 2235636); + assert(unsigned(zero_extend(0x221cf8, 52)) == 2235640); + assert(unsigned(zero_extend(0x221cfc, 52)) == 2235644); + assert(unsigned(zero_extend(0x221d00, 52)) == 2235648); + assert(unsigned(zero_extend(0x221d04, 52)) == 2235652); + assert(unsigned(zero_extend(0x221d08, 52)) == 2235656); + assert(unsigned(zero_extend(0x221d09, 52)) == 2235657); + assert(unsigned(zero_extend(0x221d0a, 52)) == 2235658); + assert(unsigned(zero_extend(0x221d0b, 52)) == 2235659); + assert(unsigned(zero_extend(0x221d0c, 52)) == 2235660); + assert(unsigned(zero_extend(0x221d0d, 52)) == 2235661); + assert(unsigned(zero_extend(0x221d0e, 52)) == 2235662); + assert(unsigned(zero_extend(0x221d0f, 52)) == 2235663); + assert(unsigned(zero_extend(0x221d10, 52)) == 2235664); + assert(unsigned(zero_extend(0x221d11, 52)) == 2235665); + assert(unsigned(zero_extend(0x221d14, 52)) == 2235668); + assert(unsigned(zero_extend(0x221d15, 52)) == 2235669); + assert(unsigned(zero_extend(0x221d16, 52)) == 2235670); + assert(unsigned(zero_extend(0x221d17, 52)) == 2235671); + assert(unsigned(zero_extend(0x221d18, 52)) == 2235672); + assert(unsigned(zero_extend(0x221d19, 52)) == 2235673); + assert(unsigned(zero_extend(0x221d1a, 52)) == 2235674); + assert(unsigned(zero_extend(0x221d1b, 52)) == 2235675); + assert(unsigned(zero_extend(0x221d1c, 52)) == 2235676); + assert(unsigned(zero_extend(0x221d1d, 52)) == 2235677); + assert(unsigned(zero_extend(0x221d1e, 52)) == 2235678); + assert(unsigned(zero_extend(0x221d1f, 52)) == 2235679); + assert(unsigned(zero_extend(0x221d20, 52)) == 2235680); + assert(unsigned(zero_extend(0x221d21, 52)) == 2235681); + assert(unsigned(zero_extend(0x221d22, 52)) == 2235682); + assert(unsigned(zero_extend(0x221d23, 52)) == 2235683); + assert(unsigned(zero_extend(0x221d24, 52)) == 2235684); + assert(unsigned(zero_extend(0x221d25, 52)) == 2235685); + assert(unsigned(zero_extend(0x221d26, 52)) == 2235686); + assert(unsigned(zero_extend(0x221d27, 52)) == 2235687); + assert(unsigned(zero_extend(0x221d28, 52)) == 2235688); + assert(unsigned(zero_extend(0x221d29, 52)) == 2235689); + assert(unsigned(zero_extend(0x221d2a, 52)) == 2235690); + assert(unsigned(zero_extend(0x221d2b, 52)) == 2235691); + assert(unsigned(zero_extend(0x221d2c, 52)) == 2235692); + assert(unsigned(zero_extend(0x221d2d, 52)) == 2235693); + assert(unsigned(zero_extend(0x221d30, 52)) == 2235696); + assert(unsigned(zero_extend(0x221d31, 52)) == 2235697); + assert(unsigned(zero_extend(0x221d32, 52)) == 2235698); + assert(unsigned(zero_extend(0x221d33, 52)) == 2235699); + assert(unsigned(zero_extend(0x221d34, 52)) == 2235700); + assert(unsigned(zero_extend(0x221d35, 52)) == 2235701); + assert(unsigned(zero_extend(0x221d36, 52)) == 2235702); + assert(unsigned(zero_extend(0x221d37, 52)) == 2235703); + assert(unsigned(zero_extend(0x221d38, 52)) == 2235704); + assert(unsigned(zero_extend(0x221d39, 52)) == 2235705); + assert(unsigned(zero_extend(0x221d3c, 52)) == 2235708); + assert(unsigned(zero_extend(0x221d3d, 52)) == 2235709); + assert(unsigned(zero_extend(0x221d3e, 52)) == 2235710); + assert(unsigned(zero_extend(0x221d3f, 52)) == 2235711); + assert(unsigned(zero_extend(0x221d40, 52)) == 2235712); + assert(unsigned(zero_extend(0x221d41, 52)) == 2235713); + assert(unsigned(zero_extend(0x221d42, 52)) == 2235714); + assert(unsigned(zero_extend(0x221d43, 52)) == 2235715); + assert(unsigned(zero_extend(0x221d44, 52)) == 2235716); + assert(unsigned(zero_extend(0x221d45, 52)) == 2235717); + assert(unsigned(zero_extend(0x221d48, 52)) == 2235720); + assert(unsigned(zero_extend(0x221d49, 52)) == 2235721); + assert(unsigned(zero_extend(0x221d4a, 52)) == 2235722); + assert(unsigned(zero_extend(0x221d4b, 52)) == 2235723); + assert(unsigned(zero_extend(0x221d4c, 52)) == 2235724); + assert(unsigned(zero_extend(0x221d4d, 52)) == 2235725); + assert(unsigned(zero_extend(0x221d4e, 52)) == 2235726); + assert(unsigned(zero_extend(0x221d4f, 52)) == 2235727); + assert(unsigned(zero_extend(0x221d50, 52)) == 2235728); + assert(unsigned(zero_extend(0x221d51, 52)) == 2235729); + assert(unsigned(zero_extend(0x221d54, 52)) == 2235732); + assert(unsigned(zero_extend(0x221d55, 52)) == 2235733); + assert(unsigned(zero_extend(0x221d56, 52)) == 2235734); + assert(unsigned(zero_extend(0x221d57, 52)) == 2235735); + assert(unsigned(zero_extend(0x221d58, 52)) == 2235736); + assert(unsigned(zero_extend(0x221d59, 52)) == 2235737); + assert(unsigned(zero_extend(0x221d5a, 52)) == 2235738); + assert(unsigned(zero_extend(0x221d5b, 52)) == 2235739); + assert(unsigned(zero_extend(0x221d5c, 52)) == 2235740); + assert(unsigned(zero_extend(0x221d5d, 52)) == 2235741); + assert(unsigned(zero_extend(0x221d60, 52)) == 2235744); + assert(unsigned(zero_extend(0x221d61, 52)) == 2235745); + assert(unsigned(zero_extend(0x221d62, 52)) == 2235746); + assert(unsigned(zero_extend(0x221d63, 52)) == 2235747); + assert(unsigned(zero_extend(0x221d64, 52)) == 2235748); + assert(unsigned(zero_extend(0x221d65, 52)) == 2235749); + assert(unsigned(zero_extend(0x221d66, 52)) == 2235750); + assert(unsigned(zero_extend(0x221d67, 52)) == 2235751); + assert(unsigned(zero_extend(0x221d68, 52)) == 2235752); + assert(unsigned(zero_extend(0x221d69, 52)) == 2235753); + assert(unsigned(zero_extend(0x221d6c, 52)) == 2235756); + assert(unsigned(zero_extend(0x221d6d, 52)) == 2235757); + assert(unsigned(zero_extend(0x221d6e, 52)) == 2235758); + assert(unsigned(zero_extend(0x221d6f, 52)) == 2235759); + assert(unsigned(zero_extend(0x221d70, 52)) == 2235760); + assert(unsigned(zero_extend(0x221d71, 52)) == 2235761); + assert(unsigned(zero_extend(0x221d72, 52)) == 2235762); + assert(unsigned(zero_extend(0x221d73, 52)) == 2235763); + assert(unsigned(zero_extend(0x221d74, 52)) == 2235764); + assert(unsigned(zero_extend(0x221d75, 52)) == 2235765); + assert(unsigned(zero_extend(0x221d76, 52)) == 2235766); + assert(unsigned(zero_extend(0x221d77, 52)) == 2235767); + assert(unsigned(zero_extend(0x221d78, 52)) == 2235768); + assert(unsigned(zero_extend(0x221d79, 52)) == 2235769); + assert(unsigned(zero_extend(0x221d7a, 52)) == 2235770); + assert(unsigned(zero_extend(0x221d7b, 52)) == 2235771); + assert(unsigned(zero_extend(0x221d7c, 52)) == 2235772); + assert(unsigned(zero_extend(0x221d7d, 52)) == 2235773); + assert(unsigned(zero_extend(0x221d7e, 52)) == 2235774); + assert(unsigned(zero_extend(0x221d7f, 52)) == 2235775); + assert(unsigned(zero_extend(0x221d80, 52)) == 2235776); + assert(unsigned(zero_extend(0x221d81, 52)) == 2235777); + assert(unsigned(zero_extend(0x221d82, 52)) == 2235778); + assert(unsigned(zero_extend(0x221d83, 52)) == 2235779); + assert(unsigned(zero_extend(0x221d84, 52)) == 2235780); + assert(unsigned(zero_extend(0x221d85, 52)) == 2235781); + assert(unsigned(zero_extend(0x221d88, 52)) == 2235784); + assert(unsigned(zero_extend(0x221d89, 52)) == 2235785); + assert(unsigned(zero_extend(0x221d8a, 52)) == 2235786); + assert(unsigned(zero_extend(0x221d8b, 52)) == 2235787); + assert(unsigned(zero_extend(0x221d8c, 52)) == 2235788); + assert(unsigned(zero_extend(0x221d8d, 52)) == 2235789); + assert(unsigned(zero_extend(0x221d8e, 52)) == 2235790); + assert(unsigned(zero_extend(0x221d8f, 52)) == 2235791); + assert(unsigned(zero_extend(0x221d90, 52)) == 2235792); + assert(unsigned(zero_extend(0x221d91, 52)) == 2235793); + assert(unsigned(zero_extend(0x221d94, 52)) == 2235796); + assert(unsigned(zero_extend(0x221d95, 52)) == 2235797); + assert(unsigned(zero_extend(0x221d96, 52)) == 2235798); + assert(unsigned(zero_extend(0x221d97, 52)) == 2235799); + assert(unsigned(zero_extend(0x221d98, 52)) == 2235800); + assert(unsigned(zero_extend(0x221d99, 52)) == 2235801); + assert(unsigned(zero_extend(0x221d9a, 52)) == 2235802); + assert(unsigned(zero_extend(0x221d9b, 52)) == 2235803); + assert(unsigned(zero_extend(0x221d9c, 52)) == 2235804); + assert(unsigned(zero_extend(0x221d9d, 52)) == 2235805); + assert(unsigned(zero_extend(0x221da0, 52)) == 2235808); + assert(unsigned(zero_extend(0x221da1, 52)) == 2235809); + assert(unsigned(zero_extend(0x221da2, 52)) == 2235810); + assert(unsigned(zero_extend(0x221da3, 52)) == 2235811); + assert(unsigned(zero_extend(0x221da4, 52)) == 2235812); + assert(unsigned(zero_extend(0x221da5, 52)) == 2235813); + assert(unsigned(zero_extend(0x221da6, 52)) == 2235814); + assert(unsigned(zero_extend(0x221da7, 52)) == 2235815); + assert(unsigned(zero_extend(0x221da8, 52)) == 2235816); + assert(unsigned(zero_extend(0x221da9, 52)) == 2235817); + assert(unsigned(zero_extend(0x221dac, 52)) == 2235820); + assert(unsigned(zero_extend(0x221dad, 52)) == 2235821); + assert(unsigned(zero_extend(0x221dae, 52)) == 2235822); + assert(unsigned(zero_extend(0x221daf, 52)) == 2235823); + assert(unsigned(zero_extend(0x221db0, 52)) == 2235824); + assert(unsigned(zero_extend(0x221db1, 52)) == 2235825); + assert(unsigned(zero_extend(0x221db2, 52)) == 2235826); + assert(unsigned(zero_extend(0x221db3, 52)) == 2235827); + assert(unsigned(zero_extend(0x221db4, 52)) == 2235828); + assert(unsigned(zero_extend(0x221db5, 52)) == 2235829); + assert(unsigned(zero_extend(0x221f68, 52)) == 2236264); + assert(unsigned(zero_extend(0x221f6c, 52)) == 2236268); + assert(unsigned(zero_extend(0x221f70, 52)) == 2236272); + assert(unsigned(zero_extend(0x221f74, 52)) == 2236276); + assert(unsigned(zero_extend(0x221f78, 52)) == 2236280); + assert(unsigned(zero_extend(0x221f7c, 52)) == 2236284); + assert(unsigned(zero_extend(0x221f90, 52)) == 2236304); + assert(unsigned(zero_extend(0x221f98, 52)) == 2236312); + assert(unsigned(zero_extend(0x221fc0, 52)) == 2236352); + assert(unsigned(zero_extend(0x221fc4, 52)) == 2236356); + assert(unsigned(zero_extend(0x221fc8, 52)) == 2236360); + assert(unsigned(zero_extend(0x221fcc, 52)) == 2236364); + assert(unsigned(zero_extend(0x221fd0, 52)) == 2236368); + assert(unsigned(zero_extend(0x221fd4, 52)) == 2236372); + assert(unsigned(zero_extend(0x221fe8, 52)) == 2236392); + assert(unsigned(zero_extend(0x221ff0, 52)) == 2236400); + assert(unsigned(zero_extend(0x221ff8, 52)) == 2236408); + assert(unsigned(zero_extend(0x222050, 52)) == 2236496); + assert(unsigned(zero_extend(0x222088, 52)) == 2236552); + assert(unsigned(zero_extend(0x22208c, 52)) == 2236556); + assert(unsigned(zero_extend(0x222090, 52)) == 2236560); + assert(unsigned(zero_extend(0x222098, 52)) == 2236568); + assert(unsigned(zero_extend(0x2220e0, 52)) == 2236640); + assert(unsigned(zero_extend(0x2220e4, 52)) == 2236644); + assert(unsigned(zero_extend(0x2220e8, 52)) == 2236648); + assert(unsigned(zero_extend(0x2220f0, 52)) == 2236656); + assert(unsigned(zero_extend(0x222330, 52)) == 2237232); + assert(unsigned(zero_extend(0x222334, 52)) == 2237236); + assert(unsigned(zero_extend(0x222338, 52)) == 2237240); + assert(unsigned(zero_extend(0x22233c, 52)) == 2237244); + assert(unsigned(zero_extend(0x222340, 52)) == 2237248); + assert(unsigned(zero_extend(0x222344, 52)) == 2237252); + assert(unsigned(zero_extend(0x222348, 52)) == 2237256); + assert(unsigned(zero_extend(0x22234c, 52)) == 2237260); + assert(unsigned(zero_extend(0x222350, 52)) == 2237264); + assert(unsigned(zero_extend(0x222354, 52)) == 2237268); + assert(unsigned(zero_extend(0x222358, 52)) == 2237272); + assert(unsigned(zero_extend(0x22235c, 52)) == 2237276); + assert(unsigned(zero_extend(0x222360, 52)) == 2237280); + assert(unsigned(zero_extend(0x222364, 52)) == 2237284); + assert(unsigned(zero_extend(0x222368, 52)) == 2237288); + assert(unsigned(zero_extend(0x22236c, 52)) == 2237292); + assert(unsigned(zero_extend(0x222370, 52)) == 2237296); + assert(unsigned(zero_extend(0x222374, 52)) == 2237300); + assert(unsigned(zero_extend(0x222378, 52)) == 2237304); + assert(unsigned(zero_extend(0x22237c, 52)) == 2237308); + assert(unsigned(zero_extend(0x222380, 52)) == 2237312); + assert(unsigned(zero_extend(0x222384, 52)) == 2237316); + assert(unsigned(zero_extend(0x222388, 52)) == 2237320); + assert(unsigned(zero_extend(0x22238c, 52)) == 2237324); + assert(unsigned(zero_extend(0x222390, 52)) == 2237328); + assert(unsigned(zero_extend(0x222394, 52)) == 2237332); + assert(unsigned(zero_extend(0x222398, 52)) == 2237336); + assert(unsigned(zero_extend(0x22239c, 52)) == 2237340); + assert(unsigned(zero_extend(0x2223a0, 52)) == 2237344); + assert(unsigned(zero_extend(0x2223a4, 52)) == 2237348); + assert(unsigned(zero_extend(0x2223a8, 52)) == 2237352); + assert(unsigned(zero_extend(0x2223ac, 52)) == 2237356); + assert(unsigned(zero_extend(0x2223b0, 52)) == 2237360); + assert(unsigned(zero_extend(0x2223b4, 52)) == 2237364); + assert(unsigned(zero_extend(0x2223b8, 52)) == 2237368); + assert(unsigned(zero_extend(0x2223bc, 52)) == 2237372); + assert(unsigned(zero_extend(0x2223c0, 52)) == 2237376); + assert(unsigned(zero_extend(0x2223c4, 52)) == 2237380); + assert(unsigned(zero_extend(0x2223c8, 52)) == 2237384); + assert(unsigned(zero_extend(0x2223cc, 52)) == 2237388); + assert(unsigned(zero_extend(0x2223d0, 52)) == 2237392); + assert(unsigned(zero_extend(0x2223d4, 52)) == 2237396); + assert(unsigned(zero_extend(0x2223d8, 52)) == 2237400); + assert(unsigned(zero_extend(0x2223dc, 52)) == 2237404); + assert(unsigned(zero_extend(0x2223e0, 52)) == 2237408); + assert(unsigned(zero_extend(0x2223e4, 52)) == 2237412); + assert(unsigned(zero_extend(0x2223e8, 52)) == 2237416); + assert(unsigned(zero_extend(0x2223ec, 52)) == 2237420); + assert(unsigned(zero_extend(0x2223f0, 52)) == 2237424); + assert(unsigned(zero_extend(0x2223f4, 52)) == 2237428); + assert(unsigned(zero_extend(0x2223f8, 52)) == 2237432); + assert(unsigned(zero_extend(0x2223fc, 52)) == 2237436); + assert(unsigned(zero_extend(0x222400, 52)) == 2237440); + assert(unsigned(zero_extend(0x222404, 52)) == 2237444); + assert(unsigned(zero_extend(0x222408, 52)) == 2237448); + assert(unsigned(zero_extend(0x22240c, 52)) == 2237452); + assert(unsigned(zero_extend(0x222410, 52)) == 2237456); + assert(unsigned(zero_extend(0x222414, 52)) == 2237460); + assert(unsigned(zero_extend(0x222418, 52)) == 2237464); + assert(unsigned(zero_extend(0x222420, 52)) == 2237472); + assert(unsigned(zero_extend(0x223078, 52)) == 2240632); + assert(unsigned(zero_extend(0x22307c, 52)) == 2240636); + assert(unsigned(zero_extend(0x223080, 52)) == 2240640); + assert(unsigned(zero_extend(0x223084, 52)) == 2240644); + assert(unsigned(zero_extend(0x223088, 52)) == 2240648); + assert(unsigned(zero_extend(0x22308c, 52)) == 2240652); + assert(unsigned(zero_extend(0x223090, 52)) == 2240656); + assert(unsigned(zero_extend(0x223094, 52)) == 2240660); + assert(unsigned(zero_extend(0x223098, 52)) == 2240664); + assert(unsigned(zero_extend(0x22309c, 52)) == 2240668); + assert(unsigned(zero_extend(0x2230a0, 52)) == 2240672); + assert(unsigned(zero_extend(0x2230a4, 52)) == 2240676); + assert(unsigned(zero_extend(0x2230a8, 52)) == 2240680); + assert(unsigned(zero_extend(0x2230ac, 52)) == 2240684); + assert(unsigned(zero_extend(0x2230b0, 52)) == 2240688); + assert(unsigned(zero_extend(0x2230b4, 52)) == 2240692); + assert(unsigned(zero_extend(0x2230b8, 52)) == 2240696); + assert(unsigned(zero_extend(0x2230bc, 52)) == 2240700); + assert(unsigned(zero_extend(0x2230c0, 52)) == 2240704); + assert(unsigned(zero_extend(0x2230c4, 52)) == 2240708); + assert(unsigned(zero_extend(0x2230c8, 52)) == 2240712); + assert(unsigned(zero_extend(0x2230cc, 52)) == 2240716); + assert(unsigned(zero_extend(0x2230d0, 52)) == 2240720); + assert(unsigned(zero_extend(0x2230d4, 52)) == 2240724); + assert(unsigned(zero_extend(0x2230d8, 52)) == 2240728); + assert(unsigned(zero_extend(0x2230dc, 52)) == 2240732); + assert(unsigned(zero_extend(0x2230e0, 52)) == 2240736); + assert(unsigned(zero_extend(0x2230e4, 52)) == 2240740); + assert(unsigned(zero_extend(0x2230e8, 52)) == 2240744); + assert(unsigned(zero_extend(0x2230ec, 52)) == 2240748); + assert(unsigned(zero_extend(0x2230f0, 52)) == 2240752); + assert(unsigned(zero_extend(0x2230f4, 52)) == 2240756); + assert(unsigned(zero_extend(0x2230f8, 52)) == 2240760); + assert(unsigned(zero_extend(0x2230fc, 52)) == 2240764); + assert(unsigned(zero_extend(0x223100, 52)) == 2240768); + assert(unsigned(zero_extend(0x223104, 52)) == 2240772); + assert(unsigned(zero_extend(0x223108, 52)) == 2240776); + assert(unsigned(zero_extend(0x22310c, 52)) == 2240780); + assert(unsigned(zero_extend(0x223110, 52)) == 2240784); + assert(unsigned(zero_extend(0x223114, 52)) == 2240788); + assert(unsigned(zero_extend(0x223118, 52)) == 2240792); + assert(unsigned(zero_extend(0x22311c, 52)) == 2240796); + assert(unsigned(zero_extend(0x223120, 52)) == 2240800); + assert(unsigned(zero_extend(0x223124, 52)) == 2240804); + assert(unsigned(zero_extend(0x223128, 52)) == 2240808); + assert(unsigned(zero_extend(0x22312c, 52)) == 2240812); + assert(unsigned(zero_extend(0x223130, 52)) == 2240816); + assert(unsigned(zero_extend(0x223134, 52)) == 2240820); + assert(unsigned(zero_extend(0x223138, 52)) == 2240824); + assert(unsigned(zero_extend(0x22313c, 52)) == 2240828); + assert(unsigned(zero_extend(0x223140, 52)) == 2240832); + assert(unsigned(zero_extend(0x223144, 52)) == 2240836); + assert(unsigned(zero_extend(0x223148, 52)) == 2240840); + assert(unsigned(zero_extend(0x22314c, 52)) == 2240844); + assert(unsigned(zero_extend(0x223150, 52)) == 2240848); + assert(unsigned(zero_extend(0x223154, 52)) == 2240852); + assert(unsigned(zero_extend(0x223158, 52)) == 2240856); + assert(unsigned(zero_extend(0x22315c, 52)) == 2240860); + assert(unsigned(zero_extend(0x223160, 52)) == 2240864); + assert(unsigned(zero_extend(0x223164, 52)) == 2240868); + assert(unsigned(zero_extend(0x223168, 52)) == 2240872); + assert(unsigned(zero_extend(0x22316c, 52)) == 2240876); + assert(unsigned(zero_extend(0x223170, 52)) == 2240880); + assert(unsigned(zero_extend(0x223174, 52)) == 2240884); + assert(unsigned(zero_extend(0x223178, 52)) == 2240888); + assert(unsigned(zero_extend(0x22317c, 52)) == 2240892); + assert(unsigned(zero_extend(0x223180, 52)) == 2240896); + assert(unsigned(zero_extend(0x223184, 52)) == 2240900); + assert(unsigned(zero_extend(0x223188, 52)) == 2240904); + assert(unsigned(zero_extend(0x223430, 52)) == 2241584); + assert(unsigned(zero_extend(0x223434, 52)) == 2241588); + assert(unsigned(zero_extend(0x223438, 52)) == 2241592); + assert(unsigned(zero_extend(0x22343c, 52)) == 2241596); + assert(unsigned(zero_extend(0x223440, 52)) == 2241600); + assert(unsigned(zero_extend(0x223444, 52)) == 2241604); + assert(unsigned(zero_extend(0x223448, 52)) == 2241608); + assert(unsigned(zero_extend(0x22344c, 52)) == 2241612); + assert(unsigned(zero_extend(0x223450, 52)) == 2241616); + assert(unsigned(zero_extend(0x223454, 52)) == 2241620); + assert(unsigned(zero_extend(0x223458, 52)) == 2241624); + assert(unsigned(zero_extend(0x22345c, 52)) == 2241628); + assert(unsigned(zero_extend(0x223460, 52)) == 2241632); + assert(unsigned(zero_extend(0x223464, 52)) == 2241636); + assert(unsigned(zero_extend(0x223468, 52)) == 2241640); + assert(unsigned(zero_extend(0x223488, 52)) == 2241672); + assert(unsigned(zero_extend(0x22348c, 52)) == 2241676); + assert(unsigned(zero_extend(0x223490, 52)) == 2241680); + assert(unsigned(zero_extend(0x223494, 52)) == 2241684); + assert(unsigned(zero_extend(0x223498, 52)) == 2241688); + assert(unsigned(zero_extend(0x22349c, 52)) == 2241692); + assert(unsigned(zero_extend(0x2234a0, 52)) == 2241696); + assert(unsigned(zero_extend(0x2234a4, 52)) == 2241700); + assert(unsigned(zero_extend(0x2234a8, 52)) == 2241704); + assert(unsigned(zero_extend(0x2234ac, 52)) == 2241708); + assert(unsigned(zero_extend(0x2234b0, 52)) == 2241712); + assert(unsigned(zero_extend(0x2234b4, 52)) == 2241716); + assert(unsigned(zero_extend(0x2234b8, 52)) == 2241720); + assert(unsigned(zero_extend(0x2234bc, 52)) == 2241724); + assert(unsigned(zero_extend(0x2234c0, 52)) == 2241728); + assert(unsigned(zero_extend(0x2234e8, 52)) == 2241768); + assert(unsigned(zero_extend(0x2234ec, 52)) == 2241772); + assert(unsigned(zero_extend(0x2234f0, 52)) == 2241776); + assert(unsigned(zero_extend(0x2234f4, 52)) == 2241780); + assert(unsigned(zero_extend(0x2234f8, 52)) == 2241784); + assert(unsigned(zero_extend(0x2234fc, 52)) == 2241788); + assert(unsigned(zero_extend(0x223500, 52)) == 2241792); + assert(unsigned(zero_extend(0x223504, 52)) == 2241796); + assert(unsigned(zero_extend(0x223508, 52)) == 2241800); + assert(unsigned(zero_extend(0x22350c, 52)) == 2241804); + assert(unsigned(zero_extend(0x223510, 52)) == 2241808); + assert(unsigned(zero_extend(0x223514, 52)) == 2241812); + assert(unsigned(zero_extend(0x223518, 52)) == 2241816); + assert(unsigned(zero_extend(0x22351c, 52)) == 2241820); + assert(unsigned(zero_extend(0x223520, 52)) == 2241824); + assert(unsigned(zero_extend(0x223524, 52)) == 2241828); + assert(unsigned(zero_extend(0x223528, 52)) == 2241832); + assert(unsigned(zero_extend(0x22352c, 52)) == 2241836); + assert(unsigned(zero_extend(0x223530, 52)) == 2241840); + assert(unsigned(zero_extend(0x223534, 52)) == 2241844); + assert(unsigned(zero_extend(0x223538, 52)) == 2241848); + assert(unsigned(zero_extend(0x22353c, 52)) == 2241852); + assert(unsigned(zero_extend(0x223540, 52)) == 2241856); + assert(unsigned(zero_extend(0x223544, 52)) == 2241860); + assert(unsigned(zero_extend(0x223548, 52)) == 2241864); + assert(unsigned(zero_extend(0x22354c, 52)) == 2241868); + assert(unsigned(zero_extend(0x223550, 52)) == 2241872); + assert(unsigned(zero_extend(0x223554, 52)) == 2241876); + assert(unsigned(zero_extend(0x223558, 52)) == 2241880); + assert(unsigned(zero_extend(0x22355c, 52)) == 2241884); + assert(unsigned(zero_extend(0x223560, 52)) == 2241888); + assert(unsigned(zero_extend(0x223564, 52)) == 2241892); + assert(unsigned(zero_extend(0x223568, 52)) == 2241896); + assert(unsigned(zero_extend(0x22356c, 52)) == 2241900); + assert(unsigned(zero_extend(0x223570, 52)) == 2241904); + assert(unsigned(zero_extend(0x223574, 52)) == 2241908); + assert(unsigned(zero_extend(0x223578, 52)) == 2241912); + assert(unsigned(zero_extend(0x22357c, 52)) == 2241916); + assert(unsigned(zero_extend(0x223580, 52)) == 2241920); + assert(unsigned(zero_extend(0x223584, 52)) == 2241924); + assert(unsigned(zero_extend(0x223588, 52)) == 2241928); + assert(unsigned(zero_extend(0x22358c, 52)) == 2241932); + assert(unsigned(zero_extend(0x223590, 52)) == 2241936); + assert(unsigned(zero_extend(0x223594, 52)) == 2241940); + assert(unsigned(zero_extend(0x223598, 52)) == 2241944); + assert(unsigned(zero_extend(0x22359c, 52)) == 2241948); + assert(unsigned(zero_extend(0x2235a0, 52)) == 2241952); + assert(unsigned(zero_extend(0x2235a4, 52)) == 2241956); + assert(unsigned(zero_extend(0x2235a8, 52)) == 2241960); + assert(unsigned(zero_extend(0x2235ac, 52)) == 2241964); + assert(unsigned(zero_extend(0x2235b0, 52)) == 2241968); + assert(unsigned(zero_extend(0x2235b4, 52)) == 2241972); + assert(unsigned(zero_extend(0x2235b8, 52)) == 2241976); + assert(unsigned(zero_extend(0x2235bc, 52)) == 2241980); + assert(unsigned(zero_extend(0x2235c0, 52)) == 2241984); + assert(unsigned(zero_extend(0x2235c4, 52)) == 2241988); + assert(unsigned(zero_extend(0x2235c8, 52)) == 2241992); + assert(unsigned(zero_extend(0x2235cc, 52)) == 2241996); + assert(unsigned(zero_extend(0x2235d0, 52)) == 2242000); + assert(unsigned(zero_extend(0x2235d4, 52)) == 2242004); + assert(unsigned(zero_extend(0x2235d8, 52)) == 2242008); + assert(unsigned(zero_extend(0x2235dc, 52)) == 2242012); + assert(unsigned(zero_extend(0x2235e0, 52)) == 2242016); + assert(unsigned(zero_extend(0x2235e1, 52)) == 2242017); + assert(unsigned(zero_extend(0x2235e2, 52)) == 2242018); + assert(unsigned(zero_extend(0x2235e3, 52)) == 2242019); + assert(unsigned(zero_extend(0x2235e4, 52)) == 2242020); + assert(unsigned(zero_extend(0x2235e5, 52)) == 2242021); + assert(unsigned(zero_extend(0x2235e6, 52)) == 2242022); + assert(unsigned(zero_extend(0x2235e7, 52)) == 2242023); + assert(unsigned(zero_extend(0x2235e8, 52)) == 2242024); + assert(unsigned(zero_extend(0x2235e9, 52)) == 2242025); + assert(unsigned(zero_extend(0x2235ea, 52)) == 2242026); + assert(unsigned(zero_extend(0x2235eb, 52)) == 2242027); + assert(unsigned(zero_extend(0x2235ec, 52)) == 2242028); + assert(unsigned(zero_extend(0x2235ed, 52)) == 2242029); + assert(unsigned(zero_extend(0x2235ee, 52)) == 2242030); + assert(unsigned(zero_extend(0x2235ef, 52)) == 2242031); + assert(unsigned(zero_extend(0x2235f0, 52)) == 2242032); + assert(unsigned(zero_extend(0x2235f1, 52)) == 2242033); + assert(unsigned(zero_extend(0x2235f2, 52)) == 2242034); + assert(unsigned(zero_extend(0x2235f3, 52)) == 2242035); + assert(unsigned(zero_extend(0x2235f4, 52)) == 2242036); + assert(unsigned(zero_extend(0x2235f5, 52)) == 2242037); + assert(unsigned(zero_extend(0x2235f6, 52)) == 2242038); + assert(unsigned(zero_extend(0x2235f7, 52)) == 2242039); + assert(unsigned(zero_extend(0x2235f8, 52)) == 2242040); + assert(unsigned(zero_extend(0x2235fc, 52)) == 2242044); + assert(unsigned(zero_extend(0x223600, 52)) == 2242048); + assert(unsigned(zero_extend(0x223604, 52)) == 2242052); + assert(unsigned(zero_extend(0x223608, 52)) == 2242056); + assert(unsigned(zero_extend(0x22360c, 52)) == 2242060); + assert(unsigned(zero_extend(0x223610, 52)) == 2242064); + assert(unsigned(zero_extend(0x223614, 52)) == 2242068); + assert(unsigned(zero_extend(0x223618, 52)) == 2242072); + assert(unsigned(zero_extend(0x22361c, 52)) == 2242076); + assert(unsigned(zero_extend(0x223620, 52)) == 2242080); + assert(unsigned(zero_extend(0x223624, 52)) == 2242084); + assert(unsigned(zero_extend(0x223628, 52)) == 2242088); + assert(unsigned(zero_extend(0x22362c, 52)) == 2242092); + assert(unsigned(zero_extend(0x223630, 52)) == 2242096); + assert(unsigned(zero_extend(0x223638, 52)) == 2242104); + assert(unsigned(zero_extend(0x223639, 52)) == 2242105); + assert(unsigned(zero_extend(0x22363a, 52)) == 2242106); + assert(unsigned(zero_extend(0x22363b, 52)) == 2242107); + assert(unsigned(zero_extend(0x22363c, 52)) == 2242108); + assert(unsigned(zero_extend(0x22363d, 52)) == 2242109); + assert(unsigned(zero_extend(0x22363e, 52)) == 2242110); + assert(unsigned(zero_extend(0x22363f, 52)) == 2242111); + assert(unsigned(zero_extend(0x223640, 52)) == 2242112); + assert(unsigned(zero_extend(0x223641, 52)) == 2242113); + assert(unsigned(zero_extend(0x223642, 52)) == 2242114); + assert(unsigned(zero_extend(0x223643, 52)) == 2242115); + assert(unsigned(zero_extend(0x223644, 52)) == 2242116); + assert(unsigned(zero_extend(0x223645, 52)) == 2242117); + assert(unsigned(zero_extend(0x223646, 52)) == 2242118); + assert(unsigned(zero_extend(0x223647, 52)) == 2242119); + assert(unsigned(zero_extend(0x223648, 52)) == 2242120); + assert(unsigned(zero_extend(0x223649, 52)) == 2242121); + assert(unsigned(zero_extend(0x22364a, 52)) == 2242122); + assert(unsigned(zero_extend(0x22364b, 52)) == 2242123); + assert(unsigned(zero_extend(0x22364c, 52)) == 2242124); + assert(unsigned(zero_extend(0x22364d, 52)) == 2242125); + assert(unsigned(zero_extend(0x22364e, 52)) == 2242126); + assert(unsigned(zero_extend(0x22364f, 52)) == 2242127); + assert(unsigned(zero_extend(0x223650, 52)) == 2242128); + assert(unsigned(zero_extend(0x223658, 52)) == 2242136); + assert(unsigned(zero_extend(0x2c000, 52)) == 180224); + assert(unsigned(zero_extend(0x2c46000, 52)) == 46424064); + assert(unsigned(zero_extend(0x2c46001, 52)) == 46424065); + assert(unsigned(zero_extend(0x2c46002, 52)) == 46424066); + assert(unsigned(zero_extend(0x2c46003, 52)) == 46424067); + assert(unsigned(zero_extend(0x2c46004, 52)) == 46424068); + assert(unsigned(zero_extend(0x2c46005, 52)) == 46424069); + assert(unsigned(zero_extend(0x2c46006, 52)) == 46424070); + assert(unsigned(zero_extend(0x2c46007, 52)) == 46424071); + assert(unsigned(zero_extend(0x2c46008, 52)) == 46424072); + assert(unsigned(zero_extend(0x2c46009, 52)) == 46424073); + assert(unsigned(zero_extend(0x2c4600a, 52)) == 46424074); + assert(unsigned(zero_extend(0x2c4600b, 52)) == 46424075); + assert(unsigned(zero_extend(0x2c4600c, 52)) == 46424076); + assert(unsigned(zero_extend(0x2c4600d, 52)) == 46424077); + assert(unsigned(zero_extend(0x2c4600e, 52)) == 46424078); + assert(unsigned(zero_extend(0x2c4600f, 52)) == 46424079); + assert(unsigned(zero_extend(0x2c46030, 52)) == 46424112); + assert(unsigned(zero_extend(0x2c46031, 52)) == 46424113); + assert(unsigned(zero_extend(0x2c46032, 52)) == 46424114); + assert(unsigned(zero_extend(0x2c46033, 52)) == 46424115); + assert(unsigned(zero_extend(0x2c46034, 52)) == 46424116); + assert(unsigned(zero_extend(0x2c46035, 52)) == 46424117); + assert(unsigned(zero_extend(0x2c46036, 52)) == 46424118); + assert(unsigned(zero_extend(0x2c46037, 52)) == 46424119); + assert(unsigned(zero_extend(0x2c46038, 52)) == 46424120); + assert(unsigned(zero_extend(0x2c46039, 52)) == 46424121); + assert(unsigned(zero_extend(0x2c4603a, 52)) == 46424122); + assert(unsigned(zero_extend(0x2c4603b, 52)) == 46424123); + assert(unsigned(zero_extend(0x2c4603c, 52)) == 46424124); + assert(unsigned(zero_extend(0x2c4603d, 52)) == 46424125); + assert(unsigned(zero_extend(0x2c4603e, 52)) == 46424126); + assert(unsigned(zero_extend(0x2c4603f, 52)) == 46424127); + assert(unsigned(zero_extend(0x2c46040, 52)) == 46424128); + assert(unsigned(zero_extend(0x2c46041, 52)) == 46424129); + assert(unsigned(zero_extend(0x2c46042, 52)) == 46424130); + assert(unsigned(zero_extend(0x2c46043, 52)) == 46424131); + assert(unsigned(zero_extend(0x2c46044, 52)) == 46424132); + assert(unsigned(zero_extend(0x2c46045, 52)) == 46424133); +} diff --git a/test/builtins/unsigned3.sail b/test/builtins/unsigned3.sail new file mode 100644 index 00000000..5b1bc6c2 --- /dev/null +++ b/test/builtins/unsigned3.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(0x2c4604c, 52)) == 46424140); + assert(unsigned(flip_mask(0x2c4604d, 52)) == 46424141); + assert(unsigned(flip_mask(0x2c4604e, 52)) == 46424142); + assert(unsigned(flip_mask(0x2c4604f, 52)) == 46424143); + assert(unsigned(flip_mask(0x2c46050, 52)) == 46424144); + assert(unsigned(flip_mask(0x2c46054, 52)) == 46424148); + assert(unsigned(flip_mask(0x2c46058, 52)) == 46424152); + assert(unsigned(flip_mask(0x2c4605c, 52)) == 46424156); + assert(unsigned(flip_mask(0x2c46065, 52)) == 46424165); + assert(unsigned(flip_mask(0x2c46066, 52)) == 46424166); + assert(unsigned(flip_mask(0x2c46067, 52)) == 46424167); + assert(unsigned(flip_mask(0x2c4606a, 52)) == 46424170); + assert(unsigned(flip_mask(0x2c4606b, 52)) == 46424171); + assert(unsigned(flip_mask(0x2c4606c, 52)) == 46424172); + assert(unsigned(flip_mask(0x2e30000, 52)) == 48431104); + assert(unsigned(flip_mask(0x2e30004, 52)) == 48431108); + assert(unsigned(flip_mask(0x2e30008, 52)) == 48431112); + assert(unsigned(flip_mask(0x2e30010, 52)) == 48431120); + assert(unsigned(flip_mask(0x2e30014, 52)) == 48431124); + assert(unsigned(flip_mask(0x2e30018, 52)) == 48431128); + assert(unsigned(flip_mask(0x2e30020, 52)) == 48431136); + assert(unsigned(flip_mask(0x2e30024, 52)) == 48431140); + assert(unsigned(flip_mask(0x2e30028, 52)) == 48431144); + assert(unsigned(flip_mask(0x2e30030, 52)) == 48431152); + assert(unsigned(flip_mask(0x2e30034, 52)) == 48431156); + assert(unsigned(flip_mask(0x2e30038, 52)) == 48431160); + assert(unsigned(flip_mask(0x2e3003c, 52)) == 48431164); + assert(unsigned(flip_mask(0x2e30040, 52)) == 48431168); + assert(unsigned(flip_mask(0x2e30044, 52)) == 48431172); + assert(unsigned(flip_mask(0x2e30048, 52)) == 48431176); + assert(unsigned(flip_mask(0x2e3004c, 52)) == 48431180); + assert(unsigned(flip_mask(0x2e30050, 52)) == 48431184); + assert(unsigned(flip_mask(0x2e30054, 52)) == 48431188); + assert(unsigned(flip_mask(0x2e30058, 52)) == 48431192); + assert(unsigned(flip_mask(0x2e3005c, 52)) == 48431196); + assert(unsigned(flip_mask(0x2e30060, 52)) == 48431200); + assert(unsigned(flip_mask(0x2e30064, 52)) == 48431204); + assert(unsigned(flip_mask(0x2e30068, 52)) == 48431208); + assert(unsigned(flip_mask(0x2e3006c, 52)) == 48431212); + assert(unsigned(flip_mask(0x2e30070, 52)) == 48431216); + assert(unsigned(flip_mask(0x2e30074, 52)) == 48431220); + assert(unsigned(flip_mask(0x2e30078, 52)) == 48431224); + assert(unsigned(flip_mask(0x2e3007c, 52)) == 48431228); + assert(unsigned(flip_mask(0x2e30080, 52)) == 48431232); + assert(unsigned(flip_mask(0x2e30084, 52)) == 48431236); + assert(unsigned(flip_mask(0x2e30088, 52)) == 48431240); + assert(unsigned(flip_mask(0x2e3008c, 52)) == 48431244); + assert(unsigned(flip_mask(0x2e34000, 52)) == 48447488); + assert(unsigned(flip_mask(0x2e34004, 52)) == 48447492); + assert(unsigned(flip_mask(0x2e34008, 52)) == 48447496); + assert(unsigned(flip_mask(0x2e34010, 52)) == 48447504); + assert(unsigned(flip_mask(0x2e34014, 52)) == 48447508); + assert(unsigned(flip_mask(0x2e34018, 52)) == 48447512); + assert(unsigned(flip_mask(0x2e34020, 52)) == 48447520); + assert(unsigned(flip_mask(0x2e34024, 52)) == 48447524); + assert(unsigned(flip_mask(0x2e34028, 52)) == 48447528); + assert(unsigned(flip_mask(0x2e34030, 52)) == 48447536); + assert(unsigned(flip_mask(0x2e34034, 52)) == 48447540); + assert(unsigned(flip_mask(0x2e34038, 52)) == 48447544); + assert(unsigned(flip_mask(0x2e34040, 52)) == 48447552); + assert(unsigned(flip_mask(0x2e34044, 52)) == 48447556); + assert(unsigned(flip_mask(0x2e34048, 52)) == 48447560); + assert(unsigned(flip_mask(0x2e34050, 52)) == 48447568); + assert(unsigned(flip_mask(0x2e34054, 52)) == 48447572); + assert(unsigned(flip_mask(0x2e34058, 52)) == 48447576); + assert(unsigned(flip_mask(0x2e3405c, 52)) == 48447580); + assert(unsigned(flip_mask(0x2e34060, 52)) == 48447584); + assert(unsigned(flip_mask(0x2e34064, 52)) == 48447588); + assert(unsigned(flip_mask(0x2e34068, 52)) == 48447592); + assert(unsigned(flip_mask(0x2e3406c, 52)) == 48447596); + assert(unsigned(flip_mask(0x2e34070, 52)) == 48447600); + assert(unsigned(flip_mask(0x2e34074, 52)) == 48447604); + assert(unsigned(flip_mask(0x2e34078, 52)) == 48447608); + assert(unsigned(flip_mask(0x2e3407c, 52)) == 48447612); + assert(unsigned(flip_mask(0x2e34080, 52)) == 48447616); + assert(unsigned(flip_mask(0x2e34084, 52)) == 48447620); + assert(unsigned(flip_mask(0x2e34088, 52)) == 48447624); + assert(unsigned(flip_mask(0x2e3408c, 52)) == 48447628); + assert(unsigned(flip_mask(0x2e34090, 52)) == 48447632); + assert(unsigned(flip_mask(0x2e34094, 52)) == 48447636); + assert(unsigned(flip_mask(0x2e34098, 52)) == 48447640); + assert(unsigned(flip_mask(0x2e3409c, 52)) == 48447644); + assert(unsigned(flip_mask(0x2e340a0, 52)) == 48447648); + assert(unsigned(flip_mask(0x2e340a4, 52)) == 48447652); + assert(unsigned(flip_mask(0x2e340a8, 52)) == 48447656); + assert(unsigned(flip_mask(0x2e340ac, 52)) == 48447660); + assert(unsigned(flip_mask(0x2e3c06c, 52)) == 48480364); + assert(unsigned(flip_mask(0x2e3c070, 52)) == 48480368); + assert(unsigned(flip_mask(0x2e3c074, 52)) == 48480372); + assert(unsigned(flip_mask(0x2e44078, 52)) == 48513144); + assert(unsigned(flip_mask(0x2e4407c, 52)) == 48513148); + assert(unsigned(flip_mask(0x2e44080, 52)) == 48513152); + assert(unsigned(flip_mask(0x2e4c000, 52)) == 48545792); + assert(unsigned(flip_mask(0x2e4c004, 52)) == 48545796); + assert(unsigned(flip_mask(0x2e4c008, 52)) == 48545800); + assert(unsigned(flip_mask(0x2e4c010, 52)) == 48545808); + assert(unsigned(flip_mask(0x2e4c014, 52)) == 48545812); + assert(unsigned(flip_mask(0x2e4c018, 52)) == 48545816); + assert(unsigned(flip_mask(0x2e4c020, 52)) == 48545824); + assert(unsigned(flip_mask(0x2e4c024, 52)) == 48545828); + assert(unsigned(flip_mask(0x2e4c028, 52)) == 48545832); + assert(unsigned(flip_mask(0x2e4c030, 52)) == 48545840); + assert(unsigned(flip_mask(0x2e4c034, 52)) == 48545844); + assert(unsigned(flip_mask(0x2e4c038, 52)) == 48545848); + assert(unsigned(flip_mask(0x2e4c040, 52)) == 48545856); + assert(unsigned(flip_mask(0x2e4c044, 52)) == 48545860); + assert(unsigned(flip_mask(0x2e4c048, 52)) == 48545864); + assert(unsigned(flip_mask(0x2e4c04c, 52)) == 48545868); + assert(unsigned(flip_mask(0x2e4c050, 52)) == 48545872); + assert(unsigned(flip_mask(0x2e4c054, 52)) == 48545876); + assert(unsigned(flip_mask(0x2e4c058, 52)) == 48545880); + assert(unsigned(flip_mask(0x2e4c05c, 52)) == 48545884); + assert(unsigned(flip_mask(0x2e4c060, 52)) == 48545888); + assert(unsigned(flip_mask(0x2e4c064, 52)) == 48545892); + assert(unsigned(flip_mask(0x2e4c068, 52)) == 48545896); + assert(unsigned(flip_mask(0x2e4c06c, 52)) == 48545900); + assert(unsigned(flip_mask(0x2e4c070, 52)) == 48545904); + assert(unsigned(flip_mask(0x2e4c074, 52)) == 48545908); + assert(unsigned(flip_mask(0x2e4c078, 52)) == 48545912); + assert(unsigned(flip_mask(0x2e4c07c, 52)) == 48545916); + assert(unsigned(flip_mask(0x2e4c080, 52)) == 48545920); + assert(unsigned(flip_mask(0x2e4c084, 52)) == 48545924); + assert(unsigned(flip_mask(0x2e4c088, 52)) == 48545928); + assert(unsigned(flip_mask(0x2e4c08c, 52)) == 48545932); + assert(unsigned(flip_mask(0x2e4c090, 52)) == 48545936); + assert(unsigned(flip_mask(0x2e4c094, 52)) == 48545940); + assert(unsigned(flip_mask(0x2e4c098, 52)) == 48545944); + assert(unsigned(flip_mask(0x2e50000, 52)) == 48562176); + assert(unsigned(flip_mask(0x2e50004, 52)) == 48562180); + assert(unsigned(flip_mask(0x2e50008, 52)) == 48562184); + assert(unsigned(flip_mask(0x2e50010, 52)) == 48562192); + assert(unsigned(flip_mask(0x2e50014, 52)) == 48562196); + assert(unsigned(flip_mask(0x2e50018, 52)) == 48562200); + assert(unsigned(flip_mask(0x2e50020, 52)) == 48562208); + assert(unsigned(flip_mask(0x2e50024, 52)) == 48562212); + assert(unsigned(flip_mask(0x2e50028, 52)) == 48562216); + assert(unsigned(flip_mask(0x2e50030, 52)) == 48562224); + assert(unsigned(flip_mask(0x2e50034, 52)) == 48562228); + assert(unsigned(flip_mask(0x2e50038, 52)) == 48562232); + assert(unsigned(flip_mask(0x2e50040, 52)) == 48562240); + assert(unsigned(flip_mask(0x2e50044, 52)) == 48562244); + assert(unsigned(flip_mask(0x2e50048, 52)) == 48562248); + assert(unsigned(flip_mask(0x2e50050, 52)) == 48562256); + assert(unsigned(flip_mask(0x2e50054, 52)) == 48562260); + assert(unsigned(flip_mask(0x2e50058, 52)) == 48562264); + assert(unsigned(flip_mask(0x2e5005c, 52)) == 48562268); + assert(unsigned(flip_mask(0x2e50060, 52)) == 48562272); + assert(unsigned(flip_mask(0x2e50064, 52)) == 48562276); + assert(unsigned(flip_mask(0x2e50068, 52)) == 48562280); + assert(unsigned(flip_mask(0x2e5006c, 52)) == 48562284); + assert(unsigned(flip_mask(0x2e50070, 52)) == 48562288); + assert(unsigned(flip_mask(0x2e50074, 52)) == 48562292); + assert(unsigned(flip_mask(0x2e50078, 52)) == 48562296); + assert(unsigned(flip_mask(0x2e5007c, 52)) == 48562300); + assert(unsigned(flip_mask(0x2e50080, 52)) == 48562304); + assert(unsigned(flip_mask(0x2e50084, 52)) == 48562308); + assert(unsigned(flip_mask(0x2e50088, 52)) == 48562312); + assert(unsigned(flip_mask(0x2e5008c, 52)) == 48562316); + assert(unsigned(flip_mask(0x2e50090, 52)) == 48562320); + assert(unsigned(flip_mask(0x2e50094, 52)) == 48562324); + assert(unsigned(flip_mask(0x2e50098, 52)) == 48562328); + assert(unsigned(flip_mask(0x2e5009c, 52)) == 48562332); + assert(unsigned(flip_mask(0x2e500a0, 52)) == 48562336); + assert(unsigned(flip_mask(0x2e500a4, 52)) == 48562340); + assert(unsigned(flip_mask(0x2e500a8, 52)) == 48562344); + assert(unsigned(flip_mask(0x2e54078, 52)) == 48578680); + assert(unsigned(flip_mask(0x2e5407c, 52)) == 48578684); + assert(unsigned(flip_mask(0x2e54080, 52)) == 48578688); + assert(unsigned(flip_mask(0x2eb0000, 52)) == 48955392); + assert(unsigned(flip_mask(0x2ec0000, 52)) == 49020928); + assert(unsigned(flip_mask(0x2ee0000, 52)) == 49152000); + assert(unsigned(flip_mask(0x2ef0000, 52)) == 49217536); + assert(unsigned(flip_mask(0x2ef0040, 52)) == 49217600); + assert(unsigned(flip_mask(0x2f00200, 52)) == 49283584); + assert(unsigned(flip_mask(0x2f10800, 52)) == 49350656); + assert(unsigned(flip_mask(0x2f40000, 52)) == 49545216); + assert(unsigned(flip_mask(0x2f50000, 52)) == 49610752); + assert(unsigned(flip_mask(0x2f50040, 52)) == 49610816); + assert(unsigned(flip_mask(0x2f60200, 52)) == 49676800); + assert(unsigned(flip_mask(0x2f70800, 52)) == 49743872); + assert(unsigned(flip_mask(0x30000, 52)) == 196608); + assert(unsigned(flip_mask(0x30e0000, 52)) == 51249152); + assert(unsigned(flip_mask(0x30f0000, 52)) == 51314688); + assert(unsigned(flip_mask(0x3100000, 52)) == 51380224); + assert(unsigned(flip_mask(0x3100040, 52)) == 51380288); + assert(unsigned(flip_mask(0x3110208, 52)) == 51446280); + assert(unsigned(flip_mask(0x3120800, 52)) == 51513344); + assert(unsigned(flip_mask(0x31d0000, 52)) == 52232192); + assert(unsigned(flip_mask(0x31d0004, 52)) == 52232196); + assert(unsigned(flip_mask(0x31d0008, 52)) == 52232200); + assert(unsigned(flip_mask(0x31d000c, 52)) == 52232204); + assert(unsigned(flip_mask(0x31d0010, 52)) == 52232208); + assert(unsigned(flip_mask(0x31d0014, 52)) == 52232212); + assert(unsigned(flip_mask(0x31d0018, 52)) == 52232216); + assert(unsigned(flip_mask(0x31d001c, 52)) == 52232220); + assert(unsigned(flip_mask(0x31d0020, 52)) == 52232224); + assert(unsigned(flip_mask(0x31d0040, 52)) == 52232256); + assert(unsigned(flip_mask(0x31d0044, 52)) == 52232260); + assert(unsigned(flip_mask(0x31d0048, 52)) == 52232264); + assert(unsigned(flip_mask(0x31d004c, 52)) == 52232268); + assert(unsigned(flip_mask(0x31d0050, 52)) == 52232272); + assert(unsigned(flip_mask(0x31d0054, 52)) == 52232276); + assert(unsigned(flip_mask(0x31d0058, 52)) == 52232280); + assert(unsigned(flip_mask(0x31d005c, 52)) == 52232284); + assert(unsigned(flip_mask(0x31d0060, 52)) == 52232288); + assert(unsigned(flip_mask(0x31d0064, 52)) == 52232292); + assert(unsigned(flip_mask(0x31d0068, 52)) == 52232296); + assert(unsigned(flip_mask(0x31d006c, 52)) == 52232300); + assert(unsigned(flip_mask(0x31d0070, 52)) == 52232304); + assert(unsigned(flip_mask(0x31d0074, 52)) == 52232308); + assert(unsigned(flip_mask(0x31d0078, 52)) == 52232312); + assert(unsigned(flip_mask(0x31d007c, 52)) == 52232316); + assert(unsigned(flip_mask(0x31d0080, 52)) == 52232320); + assert(unsigned(flip_mask(0x31d0084, 52)) == 52232324); + assert(unsigned(flip_mask(0x31d0088, 52)) == 52232328); + assert(unsigned(flip_mask(0x31d008c, 52)) == 52232332); + assert(unsigned(flip_mask(0x31d0090, 52)) == 52232336); + assert(unsigned(flip_mask(0x31d0094, 52)) == 52232340); + assert(unsigned(flip_mask(0x31d0098, 52)) == 52232344); + assert(unsigned(flip_mask(0x31d009c, 52)) == 52232348); + assert(unsigned(flip_mask(0x31d00a0, 52)) == 52232352); + assert(unsigned(flip_mask(0x31d00a4, 52)) == 52232356); + assert(unsigned(flip_mask(0x31d00a8, 52)) == 52232360); + assert(unsigned(flip_mask(0x31d00ac, 52)) == 52232364); + assert(unsigned(flip_mask(0x31d00b0, 52)) == 52232368); + assert(unsigned(flip_mask(0x31d00b4, 52)) == 52232372); + assert(unsigned(flip_mask(0x31d00b8, 52)) == 52232376); + assert(unsigned(flip_mask(0x31d00bc, 52)) == 52232380); + assert(unsigned(flip_mask(0x31d00c0, 52)) == 52232384); + assert(unsigned(flip_mask(0x31d00c4, 52)) == 52232388); + assert(unsigned(flip_mask(0x31d00c8, 52)) == 52232392); + assert(unsigned(flip_mask(0x31d00cc, 52)) == 52232396); + assert(unsigned(flip_mask(0x31d00d0, 52)) == 52232400); + assert(unsigned(flip_mask(0x31d00d4, 52)) == 52232404); + assert(unsigned(flip_mask(0x31d00d8, 52)) == 52232408); + assert(unsigned(flip_mask(0x31d00dc, 52)) == 52232412); + assert(unsigned(flip_mask(0x31d00e0, 52)) == 52232416); + assert(unsigned(flip_mask(0x31d00e4, 52)) == 52232420); + assert(unsigned(flip_mask(0x31d00e8, 52)) == 52232424); + assert(unsigned(flip_mask(0x31d00ec, 52)) == 52232428); + assert(unsigned(flip_mask(0x31d00f0, 52)) == 52232432); + assert(unsigned(flip_mask(0x31d00f4, 52)) == 52232436); + assert(unsigned(flip_mask(0x31d00f8, 52)) == 52232440); + assert(unsigned(flip_mask(0x31d00fc, 52)) == 52232444); + assert(unsigned(flip_mask(0x31d0100, 52)) == 52232448); + assert(unsigned(flip_mask(0x31d0104, 52)) == 52232452); + assert(unsigned(flip_mask(0x31d0108, 52)) == 52232456); + assert(unsigned(flip_mask(0x31d010c, 52)) == 52232460); + assert(unsigned(flip_mask(0x31d0110, 52)) == 52232464); + assert(unsigned(flip_mask(0x31d0138, 52)) == 52232504); + assert(unsigned(flip_mask(0x31d013c, 52)) == 52232508); + assert(unsigned(flip_mask(0x31d0140, 52)) == 52232512); + assert(unsigned(flip_mask(0x31d0144, 52)) == 52232516); + assert(unsigned(flip_mask(0x31d0178, 52)) == 52232568); + assert(unsigned(flip_mask(0x31d017c, 52)) == 52232572); + assert(unsigned(flip_mask(0x31d0194, 52)) == 52232596); + assert(unsigned(flip_mask(0x31d01a0, 52)) == 52232608); + assert(unsigned(flip_mask(0x31d01c0, 52)) == 52232640); + assert(unsigned(flip_mask(0x31d01e0, 52)) == 52232672); + assert(unsigned(flip_mask(0x31d01e8, 52)) == 52232680); + assert(unsigned(flip_mask(0x31d01f0, 52)) == 52232688); + assert(unsigned(flip_mask(0x31d0200, 52)) == 52232704); + assert(unsigned(flip_mask(0x31d0208, 52)) == 52232712); + assert(unsigned(flip_mask(0x31d0218, 52)) == 52232728); + assert(unsigned(flip_mask(0x31d0220, 52)) == 52232736); + assert(unsigned(flip_mask(0x31d0228, 52)) == 52232744); + assert(unsigned(flip_mask(0x31d0230, 52)) == 52232752); + assert(unsigned(flip_mask(0x31d0248, 52)) == 52232776); + assert(unsigned(flip_mask(0x31d0250, 52)) == 52232784); + assert(unsigned(flip_mask(0x31d0258, 52)) == 52232792); + assert(unsigned(flip_mask(0x31d0260, 52)) == 52232800); + assert(unsigned(flip_mask(0x31d02e0, 52)) == 52232928); + assert(unsigned(flip_mask(0x31d02f8, 52)) == 52232952); + assert(unsigned(flip_mask(0x31d0300, 52)) == 52232960); + assert(unsigned(flip_mask(0x31d0308, 52)) == 52232968); + assert(unsigned(flip_mask(0x31d0318, 52)) == 52232984); + assert(unsigned(flip_mask(0x31d0320, 52)) == 52232992); + assert(unsigned(flip_mask(0x31d0328, 52)) == 52233000); + assert(unsigned(flip_mask(0x31d04d0, 52)) == 52233424); + assert(unsigned(flip_mask(0x31d04d4, 52)) == 52233428); + assert(unsigned(flip_mask(0x31d04d8, 52)) == 52233432); + assert(unsigned(flip_mask(0x31d04dc, 52)) == 52233436); + assert(unsigned(flip_mask(0x31d04e0, 52)) == 52233440); + assert(unsigned(flip_mask(0x31d04e4, 52)) == 52233444); + assert(unsigned(flip_mask(0x31d04e8, 52)) == 52233448); + assert(unsigned(flip_mask(0x31d04ec, 52)) == 52233452); + assert(unsigned(flip_mask(0x31d04f0, 52)) == 52233456); + assert(unsigned(flip_mask(0x31d04f4, 52)) == 52233460); + assert(unsigned(flip_mask(0x31d04f8, 52)) == 52233464); + assert(unsigned(flip_mask(0x31d04fc, 52)) == 52233468); + assert(unsigned(flip_mask(0x31d0500, 52)) == 52233472); + assert(unsigned(flip_mask(0x31d0504, 52)) == 52233476); + assert(unsigned(flip_mask(0x31d0508, 52)) == 52233480); + assert(unsigned(flip_mask(0x31d050c, 52)) == 52233484); + assert(unsigned(flip_mask(0x31d0510, 52)) == 52233488); + assert(unsigned(flip_mask(0x31d0514, 52)) == 52233492); + assert(unsigned(flip_mask(0x31d0518, 52)) == 52233496); + assert(unsigned(flip_mask(0x31d051c, 52)) == 52233500); + assert(unsigned(flip_mask(0x31d0520, 52)) == 52233504); + assert(unsigned(flip_mask(0x31d0524, 52)) == 52233508); + assert(unsigned(flip_mask(0x31d0528, 52)) == 52233512); + assert(unsigned(flip_mask(0x31d052c, 52)) == 52233516); + assert(unsigned(flip_mask(0x31d0530, 52)) == 52233520); + assert(unsigned(flip_mask(0x31d0534, 52)) == 52233524); + assert(unsigned(flip_mask(0x31d0538, 52)) == 52233528); + assert(unsigned(flip_mask(0x31d053c, 52)) == 52233532); + assert(unsigned(flip_mask(0x31d0540, 52)) == 52233536); + assert(unsigned(flip_mask(0x31d0544, 52)) == 52233540); + assert(unsigned(flip_mask(0x31d0548, 52)) == 52233544); + assert(unsigned(flip_mask(0x31d054c, 52)) == 52233548); + assert(unsigned(flip_mask(0x31d0550, 52)) == 52233552); + assert(unsigned(flip_mask(0x31d0554, 52)) == 52233556); + assert(unsigned(flip_mask(0x31d0558, 52)) == 52233560); + assert(unsigned(flip_mask(0x31d055c, 52)) == 52233564); + assert(unsigned(flip_mask(0x31d0560, 52)) == 52233568); + assert(unsigned(flip_mask(0x31d0564, 52)) == 52233572); + assert(unsigned(flip_mask(0x31d0568, 52)) == 52233576); + assert(unsigned(flip_mask(0x31d056c, 52)) == 52233580); + assert(unsigned(flip_mask(0x31d0570, 52)) == 52233584); + assert(unsigned(flip_mask(0x31d0574, 52)) == 52233588); + assert(unsigned(flip_mask(0x31d0578, 52)) == 52233592); + assert(unsigned(flip_mask(0x31d057c, 52)) == 52233596); + assert(unsigned(flip_mask(0x31d0580, 52)) == 52233600); + assert(unsigned(flip_mask(0x31d0584, 52)) == 52233604); + assert(unsigned(flip_mask(0x31d0588, 52)) == 52233608); + assert(unsigned(flip_mask(0x31d058c, 52)) == 52233612); + assert(unsigned(flip_mask(0x31d0590, 52)) == 52233616); + assert(unsigned(flip_mask(0x31d0594, 52)) == 52233620); + assert(unsigned(flip_mask(0x31d0598, 52)) == 52233624); + assert(unsigned(flip_mask(0x31d059c, 52)) == 52233628); + assert(unsigned(flip_mask(0x31d05a0, 52)) == 52233632); + assert(unsigned(flip_mask(0x31d05a4, 52)) == 52233636); + assert(unsigned(flip_mask(0x31d05a8, 52)) == 52233640); + assert(unsigned(flip_mask(0x31d05ac, 52)) == 52233644); + assert(unsigned(flip_mask(0x31d05b0, 52)) == 52233648); + assert(unsigned(flip_mask(0x31d05b4, 52)) == 52233652); + assert(unsigned(flip_mask(0x31d05b8, 52)) == 52233656); + assert(unsigned(flip_mask(0x31d05bc, 52)) == 52233660); + assert(unsigned(flip_mask(0x31d05c0, 52)) == 52233664); + assert(unsigned(flip_mask(0x31d05c4, 52)) == 52233668); + assert(unsigned(flip_mask(0x31d05c8, 52)) == 52233672); + assert(unsigned(flip_mask(0x31d05cc, 52)) == 52233676); + assert(unsigned(flip_mask(0x31d05d0, 52)) == 52233680); + assert(unsigned(flip_mask(0x31d05d4, 52)) == 52233684); + assert(unsigned(flip_mask(0x31d05d8, 52)) == 52233688); + assert(unsigned(flip_mask(0x31d05dc, 52)) == 52233692); + assert(unsigned(flip_mask(0x31d05e0, 52)) == 52233696); + assert(unsigned(flip_mask(0x31d05e4, 52)) == 52233700); + assert(unsigned(flip_mask(0x31d05e8, 52)) == 52233704); + assert(unsigned(flip_mask(0x31d05ec, 52)) == 52233708); + assert(unsigned(flip_mask(0x31d05f0, 52)) == 52233712); + assert(unsigned(flip_mask(0x31d05f4, 52)) == 52233716); + assert(unsigned(flip_mask(0x31d05f8, 52)) == 52233720); + assert(unsigned(flip_mask(0x31d05fc, 52)) == 52233724); + assert(unsigned(flip_mask(0x31d0600, 52)) == 52233728); + assert(unsigned(flip_mask(0x31d0604, 52)) == 52233732); + assert(unsigned(flip_mask(0x31d0608, 52)) == 52233736); + assert(unsigned(flip_mask(0x31d060c, 52)) == 52233740); + assert(unsigned(flip_mask(0x31d0610, 52)) == 52233744); + assert(unsigned(flip_mask(0x31d0614, 52)) == 52233748); + assert(unsigned(flip_mask(0x31d0618, 52)) == 52233752); + assert(unsigned(flip_mask(0x31d061c, 52)) == 52233756); + assert(unsigned(flip_mask(0x31d0620, 52)) == 52233760); + assert(unsigned(flip_mask(0x31d0624, 52)) == 52233764); + assert(unsigned(flip_mask(0x31d0628, 52)) == 52233768); + assert(unsigned(flip_mask(0x31d062c, 52)) == 52233772); + assert(unsigned(flip_mask(0x31d0630, 52)) == 52233776); + assert(unsigned(flip_mask(0x31d0634, 52)) == 52233780); + assert(unsigned(flip_mask(0x31d0638, 52)) == 52233784); + assert(unsigned(flip_mask(0x31d063c, 52)) == 52233788); + assert(unsigned(flip_mask(0x31d0640, 52)) == 52233792); + assert(unsigned(flip_mask(0x31d0644, 52)) == 52233796); + assert(unsigned(flip_mask(0x31d0648, 52)) == 52233800); + assert(unsigned(flip_mask(0x31d064c, 52)) == 52233804); + assert(unsigned(flip_mask(0x31d0650, 52)) == 52233808); + assert(unsigned(flip_mask(0x31d0654, 52)) == 52233812); + assert(unsigned(flip_mask(0x31d0658, 52)) == 52233816); + assert(unsigned(flip_mask(0x31d065c, 52)) == 52233820); + assert(unsigned(flip_mask(0x31d0660, 52)) == 52233824); + assert(unsigned(flip_mask(0x31d0664, 52)) == 52233828); + assert(unsigned(flip_mask(0x31d0668, 52)) == 52233832); + assert(unsigned(flip_mask(0x31d066c, 52)) == 52233836); + assert(unsigned(flip_mask(0x31d0670, 52)) == 52233840); + assert(unsigned(flip_mask(0x31d0674, 52)) == 52233844); + assert(unsigned(flip_mask(0x31d0678, 52)) == 52233848); + assert(unsigned(flip_mask(0x31d067c, 52)) == 52233852); + assert(unsigned(flip_mask(0x31d0680, 52)) == 52233856); + assert(unsigned(flip_mask(0x31d0684, 52)) == 52233860); + assert(unsigned(flip_mask(0x31d0688, 52)) == 52233864); + assert(unsigned(flip_mask(0x31d068c, 52)) == 52233868); + assert(unsigned(flip_mask(0x31d0690, 52)) == 52233872); + assert(unsigned(flip_mask(0x31d0694, 52)) == 52233876); + assert(unsigned(flip_mask(0x31d0698, 52)) == 52233880); + assert(unsigned(flip_mask(0x31d06b0, 52)) == 52233904); + assert(unsigned(flip_mask(0x31d06b4, 52)) == 52233908); + assert(unsigned(flip_mask(0x31d06b8, 52)) == 52233912); + assert(unsigned(flip_mask(0x31d06bc, 52)) == 52233916); + assert(unsigned(flip_mask(0x31d06c0, 52)) == 52233920); + assert(unsigned(flip_mask(0x31d06c4, 52)) == 52233924); + assert(unsigned(flip_mask(0x31d06c8, 52)) == 52233928); + assert(unsigned(flip_mask(0x31d06cc, 52)) == 52233932); + assert(unsigned(flip_mask(0x31d06d0, 52)) == 52233936); + assert(unsigned(flip_mask(0x31d06d4, 52)) == 52233940); + assert(unsigned(flip_mask(0x31d06d8, 52)) == 52233944); + assert(unsigned(flip_mask(0x31d06dc, 52)) == 52233948); + assert(unsigned(flip_mask(0x31d06e0, 52)) == 52233952); + assert(unsigned(flip_mask(0x31d06e4, 52)) == 52233956); + assert(unsigned(flip_mask(0x31d06e8, 52)) == 52233960); + assert(unsigned(flip_mask(0x31d0700, 52)) == 52233984); + assert(unsigned(flip_mask(0x31d0704, 52)) == 52233988); + assert(unsigned(flip_mask(0x31d0708, 52)) == 52233992); + assert(unsigned(flip_mask(0x31d070c, 52)) == 52233996); + assert(unsigned(flip_mask(0x31d0710, 52)) == 52234000); + assert(unsigned(flip_mask(0x31d0714, 52)) == 52234004); + assert(unsigned(flip_mask(0x31d0718, 52)) == 52234008); + assert(unsigned(flip_mask(0x31d071c, 52)) == 52234012); + assert(unsigned(flip_mask(0x31d0720, 52)) == 52234016); + assert(unsigned(flip_mask(0x31d0724, 52)) == 52234020); + assert(unsigned(flip_mask(0x31d073c, 52)) == 52234044); + assert(unsigned(flip_mask(0x31d0740, 52)) == 52234048); + assert(unsigned(flip_mask(0x31d0744, 52)) == 52234052); + assert(unsigned(flip_mask(0x31d0748, 52)) == 52234056); + assert(unsigned(flip_mask(0x31d074c, 52)) == 52234060); + assert(unsigned(flip_mask(0x31d0750, 52)) == 52234064); + assert(unsigned(flip_mask(0x31d0754, 52)) == 52234068); + assert(unsigned(flip_mask(0x31d0758, 52)) == 52234072); + assert(unsigned(flip_mask(0x31d075c, 52)) == 52234076); + assert(unsigned(flip_mask(0x31d0760, 52)) == 52234080); + assert(unsigned(flip_mask(0x31d0764, 52)) == 52234084); + assert(unsigned(flip_mask(0x31d0768, 52)) == 52234088); + assert(unsigned(flip_mask(0x31d076c, 52)) == 52234092); + assert(unsigned(flip_mask(0x31d0770, 52)) == 52234096); + assert(unsigned(flip_mask(0x31d0774, 52)) == 52234100); + assert(unsigned(flip_mask(0x31d0778, 52)) == 52234104); + assert(unsigned(flip_mask(0x31d077c, 52)) == 52234108); + assert(unsigned(flip_mask(0x31d0780, 52)) == 52234112); + assert(unsigned(flip_mask(0x31d0784, 52)) == 52234116); + assert(unsigned(flip_mask(0x31d0788, 52)) == 52234120); + assert(unsigned(flip_mask(0x31d078c, 52)) == 52234124); + assert(unsigned(flip_mask(0x31d0790, 52)) == 52234128); + assert(unsigned(flip_mask(0x31d07d8, 52)) == 52234200); + assert(unsigned(flip_mask(0x31d07dc, 52)) == 52234204); + assert(unsigned(flip_mask(0x31d07e0, 52)) == 52234208); + assert(unsigned(flip_mask(0x31d07e4, 52)) == 52234212); + assert(unsigned(flip_mask(0x31d07e8, 52)) == 52234216); + assert(unsigned(flip_mask(0x31d07ec, 52)) == 52234220); + assert(unsigned(flip_mask(0x31d07f0, 52)) == 52234224); + assert(unsigned(flip_mask(0x31d07f4, 52)) == 52234228); + assert(unsigned(flip_mask(0x31d07f8, 52)) == 52234232); + assert(unsigned(flip_mask(0x31d07fc, 52)) == 52234236); + assert(unsigned(flip_mask(0x31d0800, 52)) == 52234240); + assert(unsigned(flip_mask(0x31d0804, 52)) == 52234244); + assert(unsigned(flip_mask(0x31d0808, 52)) == 52234248); + assert(unsigned(flip_mask(0x31d080c, 52)) == 52234252); + assert(unsigned(flip_mask(0x31d0810, 52)) == 52234256); + assert(unsigned(flip_mask(0x31d0814, 52)) == 52234260); + assert(unsigned(flip_mask(0x31d0818, 52)) == 52234264); + assert(unsigned(flip_mask(0x31d081c, 52)) == 52234268); + assert(unsigned(flip_mask(0x31d0820, 52)) == 52234272); + assert(unsigned(flip_mask(0x31d0824, 52)) == 52234276); + assert(unsigned(flip_mask(0x31d0828, 52)) == 52234280); + assert(unsigned(flip_mask(0x31d082c, 52)) == 52234284); + assert(unsigned(flip_mask(0x31d0830, 52)) == 52234288); + assert(unsigned(flip_mask(0x31d0834, 52)) == 52234292); + assert(unsigned(flip_mask(0x31d0838, 52)) == 52234296); + assert(unsigned(flip_mask(0x31d083c, 52)) == 52234300); + assert(unsigned(flip_mask(0x31d0840, 52)) == 52234304); + assert(unsigned(flip_mask(0x31d0844, 52)) == 52234308); + assert(unsigned(flip_mask(0x31d0848, 52)) == 52234312); + assert(unsigned(flip_mask(0x31d084c, 52)) == 52234316); + assert(unsigned(flip_mask(0x31d0850, 52)) == 52234320); + assert(unsigned(flip_mask(0x31d0854, 52)) == 52234324); + assert(unsigned(flip_mask(0x31d0858, 52)) == 52234328); + assert(unsigned(flip_mask(0x31d085c, 52)) == 52234332); + assert(unsigned(flip_mask(0x31d0860, 52)) == 52234336); + assert(unsigned(flip_mask(0x31d0864, 52)) == 52234340); + assert(unsigned(flip_mask(0x31d0868, 52)) == 52234344); + assert(unsigned(flip_mask(0x31d086c, 52)) == 52234348); + assert(unsigned(flip_mask(0x31d0870, 52)) == 52234352); + assert(unsigned(flip_mask(0x31d0874, 52)) == 52234356); + assert(unsigned(flip_mask(0x31d0890, 52)) == 52234384); + assert(unsigned(flip_mask(0x31d0898, 52)) == 52234392); + assert(unsigned(flip_mask(0x31d08a0, 52)) == 52234400); + assert(unsigned(flip_mask(0x31d08a8, 52)) == 52234408); + assert(unsigned(flip_mask(0x31d08ac, 52)) == 52234412); + assert(unsigned(flip_mask(0x31d08b0, 52)) == 52234416); + assert(unsigned(flip_mask(0x31d08b4, 52)) == 52234420); + assert(unsigned(flip_mask(0x31d08b8, 52)) == 52234424); + assert(unsigned(flip_mask(0x31d08bc, 52)) == 52234428); + assert(unsigned(flip_mask(0x31d08c0, 52)) == 52234432); + assert(unsigned(flip_mask(0x31d08c4, 52)) == 52234436); + assert(unsigned(flip_mask(0x31d08c8, 52)) == 52234440); + assert(unsigned(flip_mask(0x31d08cc, 52)) == 52234444); + assert(unsigned(flip_mask(0x31d08d0, 52)) == 52234448); + assert(unsigned(flip_mask(0x31d08d4, 52)) == 52234452); + assert(unsigned(flip_mask(0x31d08d8, 52)) == 52234456); + assert(unsigned(flip_mask(0x31d08dc, 52)) == 52234460); + assert(unsigned(flip_mask(0x31d08e0, 52)) == 52234464); + assert(unsigned(flip_mask(0x31d08e4, 52)) == 52234468); + assert(unsigned(flip_mask(0x31d08e8, 52)) == 52234472); + assert(unsigned(flip_mask(0x31d08ec, 52)) == 52234476); + assert(unsigned(flip_mask(0x31d08f0, 52)) == 52234480); + assert(unsigned(flip_mask(0x31d08f4, 52)) == 52234484); + assert(unsigned(flip_mask(0x31d08fc, 52)) == 52234492); + assert(unsigned(flip_mask(0x31d0900, 52)) == 52234496); + assert(unsigned(flip_mask(0x31d0904, 52)) == 52234500); + assert(unsigned(flip_mask(0x31d0908, 52)) == 52234504); + assert(unsigned(flip_mask(0x31d090c, 52)) == 52234508); + assert(unsigned(flip_mask(0x31d0910, 52)) == 52234512); + assert(unsigned(flip_mask(0x31d0914, 52)) == 52234516); + assert(unsigned(flip_mask(0x31d0918, 52)) == 52234520); + assert(unsigned(flip_mask(0x31d091c, 52)) == 52234524); + assert(unsigned(flip_mask(0x31d0920, 52)) == 52234528); + assert(unsigned(flip_mask(0x31d0924, 52)) == 52234532); + assert(unsigned(flip_mask(0x31d0928, 52)) == 52234536); + assert(unsigned(flip_mask(0x31d092c, 52)) == 52234540); + assert(unsigned(flip_mask(0x31d0930, 52)) == 52234544); + assert(unsigned(flip_mask(0x31d0934, 52)) == 52234548); + assert(unsigned(flip_mask(0x31d0938, 52)) == 52234552); + assert(unsigned(flip_mask(0x31d093c, 52)) == 52234556); + assert(unsigned(flip_mask(0x31d0940, 52)) == 52234560); + assert(unsigned(flip_mask(0x31d0944, 52)) == 52234564); + assert(unsigned(flip_mask(0x31d0948, 52)) == 52234568); + assert(unsigned(flip_mask(0x31d094c, 52)) == 52234572); + assert(unsigned(flip_mask(0x31d0950, 52)) == 52234576); + assert(unsigned(flip_mask(0x31d0954, 52)) == 52234580); + assert(unsigned(flip_mask(0x31d0958, 52)) == 52234584); + assert(unsigned(flip_mask(0x31d095c, 52)) == 52234588); + assert(unsigned(flip_mask(0x31d0960, 52)) == 52234592); + assert(unsigned(flip_mask(0x31d0964, 52)) == 52234596); + assert(unsigned(flip_mask(0x31d0968, 52)) == 52234600); + assert(unsigned(flip_mask(0x31d096c, 52)) == 52234604); + assert(unsigned(flip_mask(0x31d0970, 52)) == 52234608); + assert(unsigned(flip_mask(0x31d0974, 52)) == 52234612); + assert(unsigned(flip_mask(0x31d0978, 52)) == 52234616); + assert(unsigned(flip_mask(0x31d097c, 52)) == 52234620); + assert(unsigned(flip_mask(0x31d0980, 52)) == 52234624); + assert(unsigned(flip_mask(0x31d0984, 52)) == 52234628); + assert(unsigned(flip_mask(0x31d0988, 52)) == 52234632); + assert(unsigned(flip_mask(0x31d098c, 52)) == 52234636); + assert(unsigned(flip_mask(0x31d0990, 52)) == 52234640); + assert(unsigned(flip_mask(0x31d0994, 52)) == 52234644); + assert(unsigned(flip_mask(0x31d0998, 52)) == 52234648); + assert(unsigned(flip_mask(0x31d099c, 52)) == 52234652); + assert(unsigned(flip_mask(0x31d09a0, 52)) == 52234656); + assert(unsigned(flip_mask(0x31d09a4, 52)) == 52234660); + assert(unsigned(flip_mask(0x31d09a8, 52)) == 52234664); + assert(unsigned(flip_mask(0x31d09ac, 52)) == 52234668); + assert(unsigned(flip_mask(0x31d09b0, 52)) == 52234672); + assert(unsigned(flip_mask(0x31d09b4, 52)) == 52234676); + assert(unsigned(flip_mask(0x31d09b8, 52)) == 52234680); + assert(unsigned(flip_mask(0x31d09bc, 52)) == 52234684); + assert(unsigned(flip_mask(0x31d09c0, 52)) == 52234688); + assert(unsigned(flip_mask(0x31d09c4, 52)) == 52234692); + assert(unsigned(flip_mask(0x31d09c8, 52)) == 52234696); + assert(unsigned(flip_mask(0x31d09cc, 52)) == 52234700); + assert(unsigned(flip_mask(0x31d09d0, 52)) == 52234704); + assert(unsigned(flip_mask(0x31d09d4, 52)) == 52234708); + assert(unsigned(flip_mask(0x31d09dc, 52)) == 52234716); + assert(unsigned(flip_mask(0x31d09e0, 52)) == 52234720); + assert(unsigned(flip_mask(0x31d09e4, 52)) == 52234724); + assert(unsigned(flip_mask(0x31d09e8, 52)) == 52234728); + assert(unsigned(flip_mask(0x31d09ec, 52)) == 52234732); + assert(unsigned(flip_mask(0x31d09f0, 52)) == 52234736); + assert(unsigned(flip_mask(0x31d09f4, 52)) == 52234740); + assert(unsigned(flip_mask(0x31d09f8, 52)) == 52234744); + assert(unsigned(flip_mask(0x31d09fc, 52)) == 52234748); + assert(unsigned(flip_mask(0x31d0a08, 52)) == 52234760); + assert(unsigned(flip_mask(0x31d0a0c, 52)) == 52234764); + assert(unsigned(flip_mask(0x31d0a10, 52)) == 52234768); + assert(unsigned(flip_mask(0x31d0a14, 52)) == 52234772); + assert(unsigned(flip_mask(0x31d0a18, 52)) == 52234776); + assert(unsigned(flip_mask(0x31d0a1c, 52)) == 52234780); + assert(unsigned(flip_mask(0x31d0a20, 52)) == 52234784); + assert(unsigned(flip_mask(0x31d0a24, 52)) == 52234788); + assert(unsigned(flip_mask(0x31d0a28, 52)) == 52234792); + assert(unsigned(flip_mask(0x31d0a2c, 52)) == 52234796); + assert(unsigned(flip_mask(0x31d0a30, 52)) == 52234800); + assert(unsigned(flip_mask(0x31d0a34, 52)) == 52234804); + assert(unsigned(flip_mask(0x31d0a38, 52)) == 52234808); + assert(unsigned(flip_mask(0x31d0a3c, 52)) == 52234812); + assert(unsigned(flip_mask(0x31d0a40, 52)) == 52234816); + assert(unsigned(flip_mask(0x31d0a44, 52)) == 52234820); + assert(unsigned(flip_mask(0x31d0a48, 52)) == 52234824); + assert(unsigned(flip_mask(0x31d0a4c, 52)) == 52234828); + assert(unsigned(flip_mask(0x31d0a50, 52)) == 52234832); + assert(unsigned(flip_mask(0x31d0a54, 52)) == 52234836); + assert(unsigned(flip_mask(0x31d0a58, 52)) == 52234840); + assert(unsigned(flip_mask(0x31d0a5c, 52)) == 52234844); + assert(unsigned(flip_mask(0x31d0a60, 52)) == 52234848); + assert(unsigned(flip_mask(0x31d0a64, 52)) == 52234852); + assert(unsigned(flip_mask(0x31d0a68, 52)) == 52234856); + assert(unsigned(flip_mask(0x31d0a6c, 52)) == 52234860); + assert(unsigned(flip_mask(0x31d0a70, 52)) == 52234864); + assert(unsigned(flip_mask(0x31d0a74, 52)) == 52234868); + assert(unsigned(flip_mask(0x31d0a78, 52)) == 52234872); + assert(unsigned(flip_mask(0x31d0a7c, 52)) == 52234876); + assert(unsigned(flip_mask(0x31d0a80, 52)) == 52234880); + assert(unsigned(flip_mask(0x31d0a84, 52)) == 52234884); + assert(unsigned(flip_mask(0x31d0a88, 52)) == 52234888); + assert(unsigned(flip_mask(0x31d0a8c, 52)) == 52234892); + assert(unsigned(flip_mask(0x31d0a90, 52)) == 52234896); + assert(unsigned(flip_mask(0x31d0a94, 52)) == 52234900); + assert(unsigned(flip_mask(0x31d0a98, 52)) == 52234904); + assert(unsigned(flip_mask(0x31d0a9c, 52)) == 52234908); + assert(unsigned(flip_mask(0x31d0aa0, 52)) == 52234912); + assert(unsigned(flip_mask(0x31d0aa4, 52)) == 52234916); + assert(unsigned(flip_mask(0x31d0aa8, 52)) == 52234920); + assert(unsigned(flip_mask(0x31d0aac, 52)) == 52234924); + assert(unsigned(flip_mask(0x31d0ab0, 52)) == 52234928); + assert(unsigned(flip_mask(0x31d0ab4, 52)) == 52234932); + assert(unsigned(flip_mask(0x31d0ab8, 52)) == 52234936); + assert(unsigned(flip_mask(0x31d0abc, 52)) == 52234940); + assert(unsigned(flip_mask(0x31d0ac0, 52)) == 52234944); + assert(unsigned(flip_mask(0x31d0ac4, 52)) == 52234948); + assert(unsigned(flip_mask(0x31d0ac8, 52)) == 52234952); + assert(unsigned(flip_mask(0x31d0acc, 52)) == 52234956); + assert(unsigned(flip_mask(0x31d0ad0, 52)) == 52234960); + assert(unsigned(flip_mask(0x31d0ad4, 52)) == 52234964); + assert(unsigned(flip_mask(0x31d0ad8, 52)) == 52234968); + assert(unsigned(flip_mask(0x31d0adc, 52)) == 52234972); + assert(unsigned(flip_mask(0x31d0ae0, 52)) == 52234976); + assert(unsigned(flip_mask(0x31d0ae4, 52)) == 52234980); + assert(unsigned(flip_mask(0x31d0ae8, 52)) == 52234984); + assert(unsigned(flip_mask(0x31d0aec, 52)) == 52234988); + assert(unsigned(flip_mask(0x31d0af0, 52)) == 52234992); + assert(unsigned(flip_mask(0x31d0af4, 52)) == 52234996); + assert(unsigned(flip_mask(0x31d0af8, 52)) == 52235000); + assert(unsigned(flip_mask(0x31d0b08, 52)) == 52235016); + assert(unsigned(flip_mask(0x31d0b0c, 52)) == 52235020); + assert(unsigned(flip_mask(0x31d0b10, 52)) == 52235024); + assert(unsigned(flip_mask(0x31d0b14, 52)) == 52235028); + assert(unsigned(flip_mask(0x31d0b18, 52)) == 52235032); + assert(unsigned(flip_mask(0x31d0b1c, 52)) == 52235036); + assert(unsigned(flip_mask(0x31d0b20, 52)) == 52235040); + assert(unsigned(flip_mask(0x31d0b24, 52)) == 52235044); + assert(unsigned(flip_mask(0x31d0b28, 52)) == 52235048); + assert(unsigned(flip_mask(0x31d0b34, 52)) == 52235060); + assert(unsigned(flip_mask(0x31d0b38, 52)) == 52235064); + assert(unsigned(flip_mask(0x31d0b3c, 52)) == 52235068); + assert(unsigned(flip_mask(0x31d0b40, 52)) == 52235072); + assert(unsigned(flip_mask(0x31d0b50, 52)) == 52235088); + assert(unsigned(flip_mask(0x31d0b54, 52)) == 52235092); + assert(unsigned(flip_mask(0x31d0b58, 52)) == 52235096); + assert(unsigned(flip_mask(0x31d0b5c, 52)) == 52235100); + assert(unsigned(flip_mask(0x31d0b60, 52)) == 52235104); + assert(unsigned(flip_mask(0x31d0b64, 52)) == 52235108); + assert(unsigned(flip_mask(0x31d0b68, 52)) == 52235112); + assert(unsigned(flip_mask(0x31d0b6c, 52)) == 52235116); + assert(unsigned(flip_mask(0x31d0b70, 52)) == 52235120); + assert(unsigned(flip_mask(0x31d0b74, 52)) == 52235124); + assert(unsigned(flip_mask(0x31d0b78, 52)) == 52235128); + assert(unsigned(flip_mask(0x31d0b7c, 52)) == 52235132); + assert(unsigned(flip_mask(0x31d0b80, 52)) == 52235136); + assert(unsigned(flip_mask(0x31d0b84, 52)) == 52235140); + assert(unsigned(flip_mask(0x31d0b88, 52)) == 52235144); + assert(unsigned(flip_mask(0x31d0b8c, 52)) == 52235148); + assert(unsigned(flip_mask(0x31d0b90, 52)) == 52235152); + assert(unsigned(flip_mask(0x31d0b94, 52)) == 52235156); + assert(unsigned(flip_mask(0x31d0b98, 52)) == 52235160); + assert(unsigned(flip_mask(0x31d0b9c, 52)) == 52235164); + assert(unsigned(flip_mask(0x31d0ba0, 52)) == 52235168); + assert(unsigned(flip_mask(0x31d0ba4, 52)) == 52235172); + assert(unsigned(flip_mask(0x31d0ba8, 52)) == 52235176); + assert(unsigned(flip_mask(0x31d0bac, 52)) == 52235180); + assert(unsigned(flip_mask(0x31d0bb0, 52)) == 52235184); + assert(unsigned(flip_mask(0x31d0bb4, 52)) == 52235188); + assert(unsigned(flip_mask(0x31d0bb8, 52)) == 52235192); + assert(unsigned(flip_mask(0x31d0bbc, 52)) == 52235196); + assert(unsigned(flip_mask(0x31d0bc0, 52)) == 52235200); + assert(unsigned(flip_mask(0x31d0bc4, 52)) == 52235204); + assert(unsigned(flip_mask(0x31d0bc8, 52)) == 52235208); + assert(unsigned(flip_mask(0x31d0bcc, 52)) == 52235212); + assert(unsigned(flip_mask(0x31d0bd0, 52)) == 52235216); + assert(unsigned(flip_mask(0x31d0bd4, 52)) == 52235220); + assert(unsigned(flip_mask(0x31d0bd8, 52)) == 52235224); + assert(unsigned(flip_mask(0x31d0bdc, 52)) == 52235228); + assert(unsigned(flip_mask(0x31d0be0, 52)) == 52235232); + assert(unsigned(flip_mask(0x31d0be4, 52)) == 52235236); + assert(unsigned(flip_mask(0x31d0be8, 52)) == 52235240); + assert(unsigned(flip_mask(0x31d0bec, 52)) == 52235244); + assert(unsigned(flip_mask(0x31d0bf0, 52)) == 52235248); + assert(unsigned(flip_mask(0x31d0bf4, 52)) == 52235252); + assert(unsigned(flip_mask(0x31d0bf8, 52)) == 52235256); + assert(unsigned(flip_mask(0x31d0bfc, 52)) == 52235260); + assert(unsigned(flip_mask(0x31d0c00, 52)) == 52235264); + assert(unsigned(flip_mask(0x31d0c04, 52)) == 52235268); + assert(unsigned(flip_mask(0x31d0c08, 52)) == 52235272); + assert(unsigned(flip_mask(0x31d0c0c, 52)) == 52235276); + assert(unsigned(flip_mask(0x31d0c1c, 52)) == 52235292); + assert(unsigned(flip_mask(0x31d0c20, 52)) == 52235296); + assert(unsigned(flip_mask(0x31d0c24, 52)) == 52235300); + assert(unsigned(flip_mask(0x31d0c28, 52)) == 52235304); + assert(unsigned(flip_mask(0x31d0c2c, 52)) == 52235308); + assert(unsigned(flip_mask(0x31d0c30, 52)) == 52235312); + assert(unsigned(flip_mask(0x31d0c34, 52)) == 52235316); + assert(unsigned(flip_mask(0x31d0c38, 52)) == 52235320); + assert(unsigned(flip_mask(0x31d0c3c, 52)) == 52235324); + assert(unsigned(flip_mask(0x31d0c48, 52)) == 52235336); + assert(unsigned(flip_mask(0x31d0c4c, 52)) == 52235340); + assert(unsigned(flip_mask(0x31d0c50, 52)) == 52235344); + assert(unsigned(flip_mask(0x31d0c54, 52)) == 52235348); + assert(unsigned(flip_mask(0x31d0c64, 52)) == 52235364); + assert(unsigned(flip_mask(0x31d0c68, 52)) == 52235368); + assert(unsigned(flip_mask(0x31d0c6c, 52)) == 52235372); + assert(unsigned(flip_mask(0x31d0c70, 52)) == 52235376); + assert(unsigned(flip_mask(0x31d0c74, 52)) == 52235380); + assert(unsigned(flip_mask(0x31d0c78, 52)) == 52235384); + assert(unsigned(flip_mask(0x31d0c7c, 52)) == 52235388); + assert(unsigned(flip_mask(0x31d0c80, 52)) == 52235392); + assert(unsigned(flip_mask(0x31d0c84, 52)) == 52235396); + assert(unsigned(flip_mask(0x31d0c88, 52)) == 52235400); + assert(unsigned(flip_mask(0x31d0c8c, 52)) == 52235404); + assert(unsigned(flip_mask(0x31d0c90, 52)) == 52235408); + assert(unsigned(flip_mask(0x31d0c94, 52)) == 52235412); + assert(unsigned(flip_mask(0x31d0c98, 52)) == 52235416); + assert(unsigned(flip_mask(0x31d0c9c, 52)) == 52235420); + assert(unsigned(flip_mask(0x31d0ca0, 52)) == 52235424); + assert(unsigned(flip_mask(0x31d0ca4, 52)) == 52235428); + assert(unsigned(flip_mask(0x31d0ca8, 52)) == 52235432); + assert(unsigned(flip_mask(0x31d0cac, 52)) == 52235436); + assert(unsigned(flip_mask(0x31d0cb0, 52)) == 52235440); + assert(unsigned(flip_mask(0x31d0cb4, 52)) == 52235444); + assert(unsigned(flip_mask(0x31d0cb8, 52)) == 52235448); + assert(unsigned(flip_mask(0x31d0cbc, 52)) == 52235452); + assert(unsigned(flip_mask(0x31d0cc0, 52)) == 52235456); + assert(unsigned(flip_mask(0x31d0cc4, 52)) == 52235460); + assert(unsigned(flip_mask(0x31d0cc8, 52)) == 52235464); + assert(unsigned(flip_mask(0x31d0ccc, 52)) == 52235468); + assert(unsigned(flip_mask(0x31d0cd0, 52)) == 52235472); + assert(unsigned(flip_mask(0x31d0cd4, 52)) == 52235476); + assert(unsigned(flip_mask(0x31d0cd8, 52)) == 52235480); + assert(unsigned(flip_mask(0x31d0cdc, 52)) == 52235484); + assert(unsigned(flip_mask(0x31d0ce0, 52)) == 52235488); + assert(unsigned(flip_mask(0x31d0ce4, 52)) == 52235492); + assert(unsigned(flip_mask(0x31d0ce8, 52)) == 52235496); + assert(unsigned(flip_mask(0x31d0cec, 52)) == 52235500); + assert(unsigned(flip_mask(0x31d0cf0, 52)) == 52235504); + assert(unsigned(flip_mask(0x31d0cf4, 52)) == 52235508); + assert(unsigned(flip_mask(0x31d0cf8, 52)) == 52235512); + assert(unsigned(flip_mask(0x31d0cfc, 52)) == 52235516); + assert(unsigned(flip_mask(0x31d0d00, 52)) == 52235520); + assert(unsigned(flip_mask(0x31d0d04, 52)) == 52235524); + assert(unsigned(flip_mask(0x31d0d08, 52)) == 52235528); + assert(unsigned(flip_mask(0x31d0d0c, 52)) == 52235532); + assert(unsigned(flip_mask(0x31d0d10, 52)) == 52235536); + assert(unsigned(flip_mask(0x31d0d14, 52)) == 52235540); + assert(unsigned(flip_mask(0x31d0d24, 52)) == 52235556); + assert(unsigned(flip_mask(0x31d0d28, 52)) == 52235560); + assert(unsigned(flip_mask(0x31d0d2c, 52)) == 52235564); + assert(unsigned(flip_mask(0x31d0d30, 52)) == 52235568); + assert(unsigned(flip_mask(0x31d0d34, 52)) == 52235572); + assert(unsigned(flip_mask(0x31d0d38, 52)) == 52235576); + assert(unsigned(flip_mask(0x31d0d3c, 52)) == 52235580); + assert(unsigned(flip_mask(0x31d0d48, 52)) == 52235592); + assert(unsigned(flip_mask(0x31d0d4c, 52)) == 52235596); + assert(unsigned(flip_mask(0x31d0d50, 52)) == 52235600); + assert(unsigned(flip_mask(0x31d0d54, 52)) == 52235604); + assert(unsigned(flip_mask(0x31d0d64, 52)) == 52235620); + assert(unsigned(flip_mask(0x31d0d68, 52)) == 52235624); + assert(unsigned(flip_mask(0x31d0d6c, 52)) == 52235628); + assert(unsigned(flip_mask(0x31d0d70, 52)) == 52235632); + assert(unsigned(flip_mask(0x31d0d74, 52)) == 52235636); + assert(unsigned(flip_mask(0x31d0d78, 52)) == 52235640); + assert(unsigned(flip_mask(0x31d0d7c, 52)) == 52235644); + assert(unsigned(flip_mask(0x31d0d80, 52)) == 52235648); + assert(unsigned(flip_mask(0x31d0d84, 52)) == 52235652); + assert(unsigned(flip_mask(0x31d0d88, 52)) == 52235656); + assert(unsigned(flip_mask(0x31d0d8c, 52)) == 52235660); + assert(unsigned(flip_mask(0x31d0d90, 52)) == 52235664); + assert(unsigned(flip_mask(0x31d0d94, 52)) == 52235668); + assert(unsigned(flip_mask(0x31d0d98, 52)) == 52235672); + assert(unsigned(flip_mask(0x31d0d9c, 52)) == 52235676); + assert(unsigned(flip_mask(0x31d0da0, 52)) == 52235680); + assert(unsigned(flip_mask(0x31d0da4, 52)) == 52235684); + assert(unsigned(flip_mask(0x31d0da8, 52)) == 52235688); + assert(unsigned(flip_mask(0x31d0dac, 52)) == 52235692); + assert(unsigned(flip_mask(0x31d0db0, 52)) == 52235696); + assert(unsigned(flip_mask(0x31d0db4, 52)) == 52235700); + assert(unsigned(flip_mask(0x31d0db8, 52)) == 52235704); + assert(unsigned(flip_mask(0x31d0dbc, 52)) == 52235708); + assert(unsigned(flip_mask(0x31d0dc0, 52)) == 52235712); + assert(unsigned(flip_mask(0x31d0dc4, 52)) == 52235716); + assert(unsigned(flip_mask(0x31d0dc8, 52)) == 52235720); + assert(unsigned(flip_mask(0x31d0dcc, 52)) == 52235724); + assert(unsigned(flip_mask(0x31d0dd0, 52)) == 52235728); + assert(unsigned(flip_mask(0x31d0dd4, 52)) == 52235732); + assert(unsigned(flip_mask(0x31d0dd8, 52)) == 52235736); + assert(unsigned(flip_mask(0x31d0ddc, 52)) == 52235740); + assert(unsigned(flip_mask(0x31d0de0, 52)) == 52235744); + assert(unsigned(flip_mask(0x31d0de4, 52)) == 52235748); + assert(unsigned(flip_mask(0x31d0de8, 52)) == 52235752); + assert(unsigned(flip_mask(0x31d0dec, 52)) == 52235756); + assert(unsigned(flip_mask(0x31d0df0, 52)) == 52235760); + assert(unsigned(flip_mask(0x31d0df4, 52)) == 52235764); + assert(unsigned(flip_mask(0x31d0df8, 52)) == 52235768); + assert(unsigned(flip_mask(0x31d0dfc, 52)) == 52235772); + assert(unsigned(flip_mask(0x31d0e00, 52)) == 52235776); + assert(unsigned(flip_mask(0x31d0e04, 52)) == 52235780); + assert(unsigned(flip_mask(0x31d0e08, 52)) == 52235784); + assert(unsigned(flip_mask(0x31d0e0c, 52)) == 52235788); + assert(unsigned(flip_mask(0x31d0e10, 52)) == 52235792); + assert(unsigned(flip_mask(0x31d0e14, 52)) == 52235796); + assert(unsigned(flip_mask(0x31d0e18, 52)) == 52235800); + assert(unsigned(flip_mask(0x31d0e1c, 52)) == 52235804); + assert(unsigned(flip_mask(0x31d0e20, 52)) == 52235808); + assert(unsigned(flip_mask(0x31d0e24, 52)) == 52235812); + assert(unsigned(flip_mask(0x31d0e28, 52)) == 52235816); + assert(unsigned(flip_mask(0x31d0e2c, 52)) == 52235820); + assert(unsigned(flip_mask(0x31d0e30, 52)) == 52235824); + assert(unsigned(flip_mask(0x31d0e34, 52)) == 52235828); + assert(unsigned(flip_mask(0x31d0e38, 52)) == 52235832); + assert(unsigned(flip_mask(0x31d0e40, 52)) == 52235840); + assert(unsigned(flip_mask(0x31d0e48, 52)) == 52235848); + assert(unsigned(flip_mask(0x31d0e50, 52)) == 52235856); + assert(unsigned(flip_mask(0x31d0e58, 52)) == 52235864); + assert(unsigned(flip_mask(0x31d0e5c, 52)) == 52235868); + assert(unsigned(flip_mask(0x31d0e60, 52)) == 52235872); + assert(unsigned(flip_mask(0x31d0e64, 52)) == 52235876); + assert(unsigned(flip_mask(0x31d0e68, 52)) == 52235880); + assert(unsigned(flip_mask(0x31d0e6c, 52)) == 52235884); + assert(unsigned(flip_mask(0x31d0e70, 52)) == 52235888); + assert(unsigned(flip_mask(0x31d0e74, 52)) == 52235892); + assert(unsigned(flip_mask(0x31d0e78, 52)) == 52235896); + assert(unsigned(flip_mask(0x31d0e7c, 52)) == 52235900); + assert(unsigned(flip_mask(0x31d0e80, 52)) == 52235904); + assert(unsigned(flip_mask(0x31d0e84, 52)) == 52235908); + assert(unsigned(flip_mask(0x31d0e88, 52)) == 52235912); + assert(unsigned(flip_mask(0x31d0e8c, 52)) == 52235916); + assert(unsigned(flip_mask(0x31d0f3c, 52)) == 52236092); + assert(unsigned(flip_mask(0x31d0f40, 52)) == 52236096); + assert(unsigned(flip_mask(0x31d0f44, 52)) == 52236100); + assert(unsigned(flip_mask(0x31d0f48, 52)) == 52236104); + assert(unsigned(flip_mask(0x31d0f4c, 52)) == 52236108); + assert(unsigned(flip_mask(0x31d0f50, 52)) == 52236112); + assert(unsigned(flip_mask(0x31d0f54, 52)) == 52236116); + assert(unsigned(flip_mask(0x31d0f58, 52)) == 52236120); + assert(unsigned(flip_mask(0x31d0f5c, 52)) == 52236124); + assert(unsigned(flip_mask(0x31d0f60, 52)) == 52236128); + assert(unsigned(flip_mask(0x31d0f64, 52)) == 52236132); + assert(unsigned(flip_mask(0x31d0f68, 52)) == 52236136); + assert(unsigned(flip_mask(0x31d0f6c, 52)) == 52236140); + assert(unsigned(flip_mask(0x31d0f70, 52)) == 52236144); + assert(unsigned(flip_mask(0x31d0f74, 52)) == 52236148); + assert(unsigned(flip_mask(0x31d0f78, 52)) == 52236152); + assert(unsigned(flip_mask(0x31d0f7c, 52)) == 52236156); + assert(unsigned(flip_mask(0x31d0f8c, 52)) == 52236172); + assert(unsigned(flip_mask(0x31d0f90, 52)) == 52236176); + assert(unsigned(flip_mask(0x31d0f94, 52)) == 52236180); + assert(unsigned(flip_mask(0x31d0f98, 52)) == 52236184); + assert(unsigned(flip_mask(0x31d0f9c, 52)) == 52236188); + assert(unsigned(flip_mask(0x31d0fa0, 52)) == 52236192); + assert(unsigned(flip_mask(0x31d0fb0, 52)) == 52236208); + assert(unsigned(flip_mask(0x31d0fb4, 52)) == 52236212); + assert(unsigned(flip_mask(0x31d0fb8, 52)) == 52236216); + assert(unsigned(flip_mask(0x31d0fbc, 52)) == 52236220); + assert(unsigned(flip_mask(0x31d0fc0, 52)) == 52236224); + assert(unsigned(flip_mask(0x31d0fc4, 52)) == 52236228); + assert(unsigned(flip_mask(0x31d105c, 52)) == 52236380); + assert(unsigned(flip_mask(0x31d1060, 52)) == 52236384); + assert(unsigned(flip_mask(0x31d1064, 52)) == 52236388); + assert(unsigned(flip_mask(0x31d1068, 52)) == 52236392); + assert(unsigned(flip_mask(0x31d106c, 52)) == 52236396); + assert(unsigned(flip_mask(0x31d1078, 52)) == 52236408); + assert(unsigned(flip_mask(0x31d107c, 52)) == 52236412); + assert(unsigned(flip_mask(0x31d1080, 52)) == 52236416); + assert(unsigned(flip_mask(0x31d1084, 52)) == 52236420); + assert(unsigned(flip_mask(0x31d1088, 52)) == 52236424); + assert(unsigned(flip_mask(0x31d108c, 52)) == 52236428); + assert(unsigned(flip_mask(0x31d1090, 52)) == 52236432); + assert(unsigned(flip_mask(0x31d1094, 52)) == 52236436); + assert(unsigned(flip_mask(0x31d10a0, 52)) == 52236448); + assert(unsigned(flip_mask(0x31d10a4, 52)) == 52236452); + assert(unsigned(flip_mask(0x31d10a8, 52)) == 52236456); + assert(unsigned(flip_mask(0x31d10b0, 52)) == 52236464); + assert(unsigned(flip_mask(0x31d10b8, 52)) == 52236472); + assert(unsigned(flip_mask(0x31d10bc, 52)) == 52236476); + assert(unsigned(flip_mask(0x31d10c0, 52)) == 52236480); + assert(unsigned(flip_mask(0x31d10c4, 52)) == 52236484); + assert(unsigned(flip_mask(0x31d10c8, 52)) == 52236488); + assert(unsigned(flip_mask(0x31d10cc, 52)) == 52236492); + assert(unsigned(flip_mask(0x31d10d0, 52)) == 52236496); + assert(unsigned(flip_mask(0x31d10d4, 52)) == 52236500); + assert(unsigned(flip_mask(0x31d10d8, 52)) == 52236504); + assert(unsigned(flip_mask(0x31d10dc, 52)) == 52236508); + assert(unsigned(flip_mask(0x31d10e0, 52)) == 52236512); + assert(unsigned(flip_mask(0x31d10e4, 52)) == 52236516); + assert(unsigned(flip_mask(0x31d10e8, 52)) == 52236520); + assert(unsigned(flip_mask(0x31d10ec, 52)) == 52236524); + assert(unsigned(flip_mask(0x31d10f0, 52)) == 52236528); + assert(unsigned(flip_mask(0x31d10f4, 52)) == 52236532); + assert(unsigned(flip_mask(0x31d10f8, 52)) == 52236536); + assert(unsigned(flip_mask(0x31d1100, 52)) == 52236544); + assert(unsigned(flip_mask(0x31d1108, 52)) == 52236552); + assert(unsigned(flip_mask(0x31d1110, 52)) == 52236560); + assert(unsigned(flip_mask(0x31d1118, 52)) == 52236568); + assert(unsigned(flip_mask(0x31d111c, 52)) == 52236572); + assert(unsigned(flip_mask(0x31d1120, 52)) == 52236576); + assert(unsigned(flip_mask(0x31d1124, 52)) == 52236580); + assert(unsigned(flip_mask(0x31d1128, 52)) == 52236584); + assert(unsigned(flip_mask(0x31d112c, 52)) == 52236588); + assert(unsigned(flip_mask(0x31d1130, 52)) == 52236592); + assert(unsigned(flip_mask(0x31d1134, 52)) == 52236596); + assert(unsigned(flip_mask(0x31d1138, 52)) == 52236600); + assert(unsigned(flip_mask(0x31d113c, 52)) == 52236604); + assert(unsigned(flip_mask(0x31d1140, 52)) == 52236608); + assert(unsigned(flip_mask(0x31d1144, 52)) == 52236612); + assert(unsigned(flip_mask(0x31d1148, 52)) == 52236616); + assert(unsigned(flip_mask(0x31d114c, 52)) == 52236620); + assert(unsigned(flip_mask(0x31d1150, 52)) == 52236624); + assert(unsigned(flip_mask(0x31d1154, 52)) == 52236628); + assert(unsigned(flip_mask(0x31d1158, 52)) == 52236632); + assert(unsigned(flip_mask(0x31d115c, 52)) == 52236636); + assert(unsigned(flip_mask(0x31d1160, 52)) == 52236640); + assert(unsigned(flip_mask(0x31d1164, 52)) == 52236644); + assert(unsigned(flip_mask(0x31d1168, 52)) == 52236648); + assert(unsigned(flip_mask(0x31d1170, 52)) == 52236656); + assert(unsigned(flip_mask(0x31d1178, 52)) == 52236664); + assert(unsigned(flip_mask(0x31d1180, 52)) == 52236672); + assert(unsigned(flip_mask(0x31d1184, 52)) == 52236676); + assert(unsigned(flip_mask(0x31d1188, 52)) == 52236680); + assert(unsigned(flip_mask(0x31d118c, 52)) == 52236684); + assert(unsigned(flip_mask(0x31d1190, 52)) == 52236688); + assert(unsigned(flip_mask(0x31d1194, 52)) == 52236692); + assert(unsigned(flip_mask(0x31d1198, 52)) == 52236696); + assert(unsigned(flip_mask(0x31d119c, 52)) == 52236700); + assert(unsigned(flip_mask(0x31d11a0, 52)) == 52236704); + assert(unsigned(flip_mask(0x31d11a4, 52)) == 52236708); + assert(unsigned(flip_mask(0x31d11a8, 52)) == 52236712); + assert(unsigned(flip_mask(0x31d11ac, 52)) == 52236716); + assert(unsigned(flip_mask(0x31d11b0, 52)) == 52236720); + assert(unsigned(flip_mask(0x31d11b4, 52)) == 52236724); + assert(unsigned(flip_mask(0x31d11b8, 52)) == 52236728); + assert(unsigned(flip_mask(0x31d11bc, 52)) == 52236732); + assert(unsigned(flip_mask(0x31d11c0, 52)) == 52236736); + assert(unsigned(flip_mask(0x31d11c4, 52)) == 52236740); + assert(unsigned(flip_mask(0x31d11c8, 52)) == 52236744); + assert(unsigned(flip_mask(0x31d11cc, 52)) == 52236748); + assert(unsigned(flip_mask(0x31d11d0, 52)) == 52236752); + assert(unsigned(flip_mask(0x31d11d4, 52)) == 52236756); + assert(unsigned(flip_mask(0x31d11d8, 52)) == 52236760); + assert(unsigned(flip_mask(0x31d11dc, 52)) == 52236764); + assert(unsigned(flip_mask(0x31d11e0, 52)) == 52236768); + assert(unsigned(flip_mask(0x31d11ec, 52)) == 52236780); + assert(unsigned(flip_mask(0x31d11f0, 52)) == 52236784); + assert(unsigned(flip_mask(0x31d11f8, 52)) == 52236792); + assert(unsigned(flip_mask(0x31d11fc, 52)) == 52236796); + assert(unsigned(flip_mask(0x31d1200, 52)) == 52236800); + assert(unsigned(flip_mask(0x31d1204, 52)) == 52236804); + assert(unsigned(flip_mask(0x31d1208, 52)) == 52236808); + assert(unsigned(flip_mask(0x31d120c, 52)) == 52236812); + assert(unsigned(flip_mask(0x31d1220, 52)) == 52236832); + assert(unsigned(flip_mask(0x31d1224, 52)) == 52236836); + assert(unsigned(flip_mask(0x31d1254, 52)) == 52236884); + assert(unsigned(flip_mask(0x31d1258, 52)) == 52236888); + assert(unsigned(flip_mask(0x31d125c, 52)) == 52236892); + assert(unsigned(flip_mask(0x31d129c, 52)) == 52236956); + assert(unsigned(flip_mask(0x31d12a0, 52)) == 52236960); + assert(unsigned(flip_mask(0x31d12a4, 52)) == 52236964); + assert(unsigned(flip_mask(0x31d12a8, 52)) == 52236968); + assert(unsigned(flip_mask(0x31d12ac, 52)) == 52236972); + assert(unsigned(flip_mask(0x31d12b0, 52)) == 52236976); + assert(unsigned(flip_mask(0x31d12b4, 52)) == 52236980); + assert(unsigned(flip_mask(0x31d12b8, 52)) == 52236984); + assert(unsigned(flip_mask(0x31d12bc, 52)) == 52236988); + assert(unsigned(flip_mask(0x31d12c0, 52)) == 52236992); + assert(unsigned(flip_mask(0x31d12c4, 52)) == 52236996); + assert(unsigned(flip_mask(0x31d12c8, 52)) == 52237000); + assert(unsigned(flip_mask(0x31d12cc, 52)) == 52237004); + assert(unsigned(flip_mask(0x31d12d0, 52)) == 52237008); + assert(unsigned(flip_mask(0x31d12d4, 52)) == 52237012); + assert(unsigned(flip_mask(0x31d12d8, 52)) == 52237016); + assert(unsigned(flip_mask(0x31d12dc, 52)) == 52237020); + assert(unsigned(flip_mask(0x31d12e0, 52)) == 52237024); + assert(unsigned(flip_mask(0x31d12e4, 52)) == 52237028); + assert(unsigned(flip_mask(0x31d12e8, 52)) == 52237032); + assert(unsigned(flip_mask(0x31d12ec, 52)) == 52237036); + assert(unsigned(flip_mask(0x31d12f0, 52)) == 52237040); + assert(unsigned(flip_mask(0x31d12f4, 52)) == 52237044); + assert(unsigned(flip_mask(0x31d12f8, 52)) == 52237048); + assert(unsigned(flip_mask(0x31d12fc, 52)) == 52237052); + assert(unsigned(flip_mask(0x31d1300, 52)) == 52237056); + assert(unsigned(flip_mask(0x31d1304, 52)) == 52237060); + assert(unsigned(flip_mask(0x31d1308, 52)) == 52237064); + assert(unsigned(flip_mask(0x31d130c, 52)) == 52237068); + assert(unsigned(flip_mask(0x31d1310, 52)) == 52237072); + assert(unsigned(flip_mask(0x31d1314, 52)) == 52237076); + assert(unsigned(flip_mask(0x31d1318, 52)) == 52237080); + assert(unsigned(flip_mask(0x31d131c, 52)) == 52237084); + assert(unsigned(flip_mask(0x31d1320, 52)) == 52237088); + assert(unsigned(flip_mask(0x31d1324, 52)) == 52237092); + assert(unsigned(flip_mask(0x31d1328, 52)) == 52237096); + assert(unsigned(flip_mask(0x31d132c, 52)) == 52237100); + assert(unsigned(flip_mask(0x31d1330, 52)) == 52237104); + assert(unsigned(flip_mask(0x31d1334, 52)) == 52237108); + assert(unsigned(flip_mask(0x31d1338, 52)) == 52237112); + assert(unsigned(flip_mask(0x31d133c, 52)) == 52237116); + assert(unsigned(flip_mask(0x31d1340, 52)) == 52237120); + assert(unsigned(flip_mask(0x31d1344, 52)) == 52237124); + assert(unsigned(flip_mask(0x31d1348, 52)) == 52237128); + assert(unsigned(flip_mask(0x31d134c, 52)) == 52237132); + assert(unsigned(flip_mask(0x31d1350, 52)) == 52237136); + assert(unsigned(flip_mask(0x31d1354, 52)) == 52237140); + assert(unsigned(flip_mask(0x31d1358, 52)) == 52237144); + assert(unsigned(flip_mask(0x31d135c, 52)) == 52237148); + assert(unsigned(flip_mask(0x31d1360, 52)) == 52237152); + assert(unsigned(flip_mask(0x31d1364, 52)) == 52237156); + assert(unsigned(flip_mask(0x31d1368, 52)) == 52237160); + assert(unsigned(flip_mask(0x31d136c, 52)) == 52237164); + assert(unsigned(flip_mask(0x31d1370, 52)) == 52237168); + assert(unsigned(flip_mask(0x31d1374, 52)) == 52237172); + assert(unsigned(flip_mask(0x31d1378, 52)) == 52237176); + assert(unsigned(flip_mask(0x31d137c, 52)) == 52237180); + assert(unsigned(flip_mask(0x31d1380, 52)) == 52237184); + assert(unsigned(flip_mask(0x31d1384, 52)) == 52237188); + assert(unsigned(flip_mask(0x31d1388, 52)) == 52237192); + assert(unsigned(flip_mask(0x31d1390, 52)) == 52237200); + assert(unsigned(flip_mask(0x31d1398, 52)) == 52237208); + assert(unsigned(flip_mask(0x31d13a0, 52)) == 52237216); + assert(unsigned(flip_mask(0x31d13a8, 52)) == 52237224); + assert(unsigned(flip_mask(0x31d13b0, 52)) == 52237232); + assert(unsigned(flip_mask(0x31d13b8, 52)) == 52237240); + assert(unsigned(flip_mask(0x31d13c0, 52)) == 52237248); + assert(unsigned(flip_mask(0x31d13c8, 52)) == 52237256); + assert(unsigned(flip_mask(0x31d13d0, 52)) == 52237264); + assert(unsigned(flip_mask(0x31d13d8, 52)) == 52237272); + assert(unsigned(flip_mask(0x31d13e0, 52)) == 52237280); + assert(unsigned(flip_mask(0x31d13e8, 52)) == 52237288); + assert(unsigned(flip_mask(0x31d13f0, 52)) == 52237296); + assert(unsigned(flip_mask(0x31d13f8, 52)) == 52237304); + assert(unsigned(flip_mask(0x31d1400, 52)) == 52237312); + assert(unsigned(flip_mask(0x31d1408, 52)) == 52237320); + assert(unsigned(flip_mask(0x31d1410, 52)) == 52237328); + assert(unsigned(flip_mask(0x31d1418, 52)) == 52237336); + assert(unsigned(flip_mask(0x31d1420, 52)) == 52237344); + assert(unsigned(flip_mask(0x31d1428, 52)) == 52237352); + assert(unsigned(flip_mask(0x31d1430, 52)) == 52237360); + assert(unsigned(flip_mask(0x31d1438, 52)) == 52237368); + assert(unsigned(flip_mask(0x31d1440, 52)) == 52237376); + assert(unsigned(flip_mask(0x31d1448, 52)) == 52237384); + assert(unsigned(flip_mask(0x31d1450, 52)) == 52237392); + assert(unsigned(flip_mask(0x31d1458, 52)) == 52237400); + assert(unsigned(flip_mask(0x31d1460, 52)) == 52237408); + assert(unsigned(flip_mask(0x31d1468, 52)) == 52237416); + assert(unsigned(flip_mask(0x31d1470, 52)) == 52237424); + assert(unsigned(flip_mask(0x31d1478, 52)) == 52237432); + assert(unsigned(flip_mask(0x31d1480, 52)) == 52237440); + assert(unsigned(flip_mask(0x31d1488, 52)) == 52237448); + assert(unsigned(flip_mask(0x31d1490, 52)) == 52237456); + assert(unsigned(flip_mask(0x31d1498, 52)) == 52237464); + assert(unsigned(flip_mask(0x31d14a0, 52)) == 52237472); + assert(unsigned(flip_mask(0x31d14a8, 52)) == 52237480); + assert(unsigned(flip_mask(0x31d14b0, 52)) == 52237488); + assert(unsigned(flip_mask(0x31d14b8, 52)) == 52237496); + assert(unsigned(flip_mask(0x31d14c0, 52)) == 52237504); + assert(unsigned(flip_mask(0x31d14c8, 52)) == 52237512); + assert(unsigned(flip_mask(0x31d14d0, 52)) == 52237520); + assert(unsigned(flip_mask(0x31d14d8, 52)) == 52237528); + assert(unsigned(flip_mask(0x31d14e0, 52)) == 52237536); + assert(unsigned(flip_mask(0x31d14e8, 52)) == 52237544); + assert(unsigned(flip_mask(0x31d14f0, 52)) == 52237552); + assert(unsigned(flip_mask(0x31d14f8, 52)) == 52237560); + assert(unsigned(flip_mask(0x31d1500, 52)) == 52237568); + assert(unsigned(flip_mask(0x31d1508, 52)) == 52237576); + assert(unsigned(flip_mask(0x31d1510, 52)) == 52237584); + assert(unsigned(flip_mask(0x31d1518, 52)) == 52237592); + assert(unsigned(flip_mask(0x31d1520, 52)) == 52237600); + assert(unsigned(flip_mask(0x31d1528, 52)) == 52237608); + assert(unsigned(flip_mask(0x31d1530, 52)) == 52237616); + assert(unsigned(flip_mask(0x31d1538, 52)) == 52237624); + assert(unsigned(flip_mask(0x31d1540, 52)) == 52237632); + assert(unsigned(flip_mask(0x31d1548, 52)) == 52237640); + assert(unsigned(flip_mask(0x31d1550, 52)) == 52237648); + assert(unsigned(flip_mask(0x31d1558, 52)) == 52237656); + assert(unsigned(flip_mask(0x31d1560, 52)) == 52237664); + assert(unsigned(flip_mask(0x31d1568, 52)) == 52237672); + assert(unsigned(flip_mask(0x31d1570, 52)) == 52237680); + assert(unsigned(flip_mask(0x31d1578, 52)) == 52237688); + assert(unsigned(flip_mask(0x31d1580, 52)) == 52237696); + assert(unsigned(flip_mask(0x31d1588, 52)) == 52237704); + assert(unsigned(flip_mask(0x31d1590, 52)) == 52237712); + assert(unsigned(flip_mask(0x31d1598, 52)) == 52237720); + assert(unsigned(flip_mask(0x31d15a0, 52)) == 52237728); + assert(unsigned(flip_mask(0x31d15a8, 52)) == 52237736); + assert(unsigned(flip_mask(0x31d15b0, 52)) == 52237744); + assert(unsigned(flip_mask(0x31d15b8, 52)) == 52237752); + assert(unsigned(flip_mask(0x31d15c0, 52)) == 52237760); + assert(unsigned(flip_mask(0x31d15c8, 52)) == 52237768); + assert(unsigned(flip_mask(0x31d15d0, 52)) == 52237776); + assert(unsigned(flip_mask(0x31d15d8, 52)) == 52237784); + assert(unsigned(flip_mask(0x31d15e0, 52)) == 52237792); + assert(unsigned(flip_mask(0x31d15e8, 52)) == 52237800); + assert(unsigned(flip_mask(0x31d15f0, 52)) == 52237808); + assert(unsigned(flip_mask(0x31d15f8, 52)) == 52237816); + assert(unsigned(flip_mask(0x31d1600, 52)) == 52237824); + assert(unsigned(flip_mask(0x31d1608, 52)) == 52237832); + assert(unsigned(flip_mask(0x31d1610, 52)) == 52237840); + assert(unsigned(flip_mask(0x31d1618, 52)) == 52237848); + assert(unsigned(flip_mask(0x31d1620, 52)) == 52237856); + assert(unsigned(flip_mask(0x31d1628, 52)) == 52237864); + assert(unsigned(flip_mask(0x31d1630, 52)) == 52237872); + assert(unsigned(flip_mask(0x31d1638, 52)) == 52237880); + assert(unsigned(flip_mask(0x31d1640, 52)) == 52237888); + assert(unsigned(flip_mask(0x31d1648, 52)) == 52237896); + assert(unsigned(flip_mask(0x31d1650, 52)) == 52237904); + assert(unsigned(flip_mask(0x31d1658, 52)) == 52237912); + assert(unsigned(flip_mask(0x31d1660, 52)) == 52237920); + assert(unsigned(flip_mask(0x31d1668, 52)) == 52237928); + assert(unsigned(flip_mask(0x31d1670, 52)) == 52237936); + assert(unsigned(flip_mask(0x31d1678, 52)) == 52237944); + assert(unsigned(flip_mask(0x31d1680, 52)) == 52237952); + assert(unsigned(flip_mask(0x31d1688, 52)) == 52237960); + assert(unsigned(flip_mask(0x31d1690, 52)) == 52237968); + assert(unsigned(flip_mask(0x31d1698, 52)) == 52237976); + assert(unsigned(flip_mask(0x31d16a0, 52)) == 52237984); + assert(unsigned(flip_mask(0x31d16a8, 52)) == 52237992); + assert(unsigned(flip_mask(0x31d16b0, 52)) == 52238000); + assert(unsigned(flip_mask(0x31d16b8, 52)) == 52238008); + assert(unsigned(flip_mask(0x31d16c0, 52)) == 52238016); + assert(unsigned(flip_mask(0x31d16c8, 52)) == 52238024); + assert(unsigned(flip_mask(0x31d16d0, 52)) == 52238032); + assert(unsigned(flip_mask(0x31d16d8, 52)) == 52238040); + assert(unsigned(flip_mask(0x31d16e0, 52)) == 52238048); + assert(unsigned(flip_mask(0x31d16e8, 52)) == 52238056); + assert(unsigned(flip_mask(0x31d16f0, 52)) == 52238064); + assert(unsigned(flip_mask(0x31d16f8, 52)) == 52238072); + assert(unsigned(flip_mask(0x31d1700, 52)) == 52238080); + assert(unsigned(flip_mask(0x31d1708, 52)) == 52238088); + assert(unsigned(flip_mask(0x31d1710, 52)) == 52238096); + assert(unsigned(flip_mask(0x31d1718, 52)) == 52238104); + assert(unsigned(flip_mask(0x31d1720, 52)) == 52238112); + assert(unsigned(flip_mask(0x31d1728, 52)) == 52238120); + assert(unsigned(flip_mask(0x31d1730, 52)) == 52238128); + assert(unsigned(flip_mask(0x31d1738, 52)) == 52238136); + assert(unsigned(flip_mask(0x31d1740, 52)) == 52238144); + assert(unsigned(flip_mask(0x31d1748, 52)) == 52238152); + assert(unsigned(flip_mask(0x31d1750, 52)) == 52238160); + assert(unsigned(flip_mask(0x31d1758, 52)) == 52238168); + assert(unsigned(flip_mask(0x31d1760, 52)) == 52238176); + assert(unsigned(flip_mask(0x31d1768, 52)) == 52238184); + assert(unsigned(flip_mask(0x31d1770, 52)) == 52238192); + assert(unsigned(flip_mask(0x31d1778, 52)) == 52238200); + assert(unsigned(flip_mask(0x31d17d0, 52)) == 52238288); + assert(unsigned(flip_mask(0x31d17d4, 52)) == 52238292); + assert(unsigned(flip_mask(0x31d17e0, 52)) == 52238304); + assert(unsigned(flip_mask(0x31d17e8, 52)) == 52238312); + assert(unsigned(flip_mask(0x31d17f0, 52)) == 52238320); + assert(unsigned(flip_mask(0x31d17f4, 52)) == 52238324); + assert(unsigned(flip_mask(0x31d17f8, 52)) == 52238328); + assert(unsigned(flip_mask(0x31d1800, 52)) == 52238336); + assert(unsigned(flip_mask(0x31d1808, 52)) == 52238344); + assert(unsigned(flip_mask(0x31d1810, 52)) == 52238352); + assert(unsigned(flip_mask(0x31d1818, 52)) == 52238360); + assert(unsigned(flip_mask(0x31d1820, 52)) == 52238368); + assert(unsigned(flip_mask(0x31d1828, 52)) == 52238376); + assert(unsigned(flip_mask(0x31d1830, 52)) == 52238384); + assert(unsigned(flip_mask(0x31d1838, 52)) == 52238392); + assert(unsigned(flip_mask(0x31d1840, 52)) == 52238400); + assert(unsigned(flip_mask(0x31d1848, 52)) == 52238408); + assert(unsigned(flip_mask(0x31d1850, 52)) == 52238416); + assert(unsigned(flip_mask(0x31d1858, 52)) == 52238424); + assert(unsigned(flip_mask(0x31d1860, 52)) == 52238432); + assert(unsigned(flip_mask(0x31d1868, 52)) == 52238440); + assert(unsigned(flip_mask(0x31d1870, 52)) == 52238448); + assert(unsigned(flip_mask(0x31d1878, 52)) == 52238456); + assert(unsigned(flip_mask(0x31d1880, 52)) == 52238464); + assert(unsigned(flip_mask(0x31d1888, 52)) == 52238472); + assert(unsigned(flip_mask(0x31d1890, 52)) == 52238480); + assert(unsigned(flip_mask(0x31d1898, 52)) == 52238488); + assert(unsigned(flip_mask(0x31d18a0, 52)) == 52238496); + assert(unsigned(flip_mask(0x31d18a8, 52)) == 52238504); + assert(unsigned(flip_mask(0x31d18b0, 52)) == 52238512); + assert(unsigned(flip_mask(0x31d18b8, 52)) == 52238520); + assert(unsigned(flip_mask(0x31d18c0, 52)) == 52238528); + assert(unsigned(flip_mask(0x31d18d0, 52)) == 52238544); + assert(unsigned(flip_mask(0x31d18d8, 52)) == 52238552); + assert(unsigned(flip_mask(0x31d18e0, 52)) == 52238560); + assert(unsigned(flip_mask(0x31d18e8, 52)) == 52238568); + assert(unsigned(flip_mask(0x31d18f0, 52)) == 52238576); + assert(unsigned(flip_mask(0x31d18f8, 52)) == 52238584); + assert(unsigned(flip_mask(0x31d1900, 52)) == 52238592); + assert(unsigned(flip_mask(0x31d1908, 52)) == 52238600); + assert(unsigned(flip_mask(0x31d1910, 52)) == 52238608); + assert(unsigned(flip_mask(0x31d1918, 52)) == 52238616); + assert(unsigned(flip_mask(0x31d1920, 52)) == 52238624); + assert(unsigned(flip_mask(0x31d1928, 52)) == 52238632); + assert(unsigned(flip_mask(0x31d1930, 52)) == 52238640); + assert(unsigned(flip_mask(0x31d1938, 52)) == 52238648); + assert(unsigned(flip_mask(0x31d1940, 52)) == 52238656); + assert(unsigned(flip_mask(0x31d1948, 52)) == 52238664); + assert(unsigned(flip_mask(0x31d1950, 52)) == 52238672); + assert(unsigned(flip_mask(0x31d1958, 52)) == 52238680); + assert(unsigned(flip_mask(0x31d1960, 52)) == 52238688); + assert(unsigned(flip_mask(0x31d1968, 52)) == 52238696); + assert(unsigned(flip_mask(0x31d1970, 52)) == 52238704); + assert(unsigned(flip_mask(0x31d1b80, 52)) == 52239232); + assert(unsigned(flip_mask(0x31d1b88, 52)) == 52239240); + assert(unsigned(flip_mask(0x31d1b90, 52)) == 52239248); + assert(unsigned(flip_mask(0x31d1b98, 52)) == 52239256); + assert(unsigned(flip_mask(0x31d1ba0, 52)) == 52239264); + assert(unsigned(flip_mask(0x31d1ba8, 52)) == 52239272); + assert(unsigned(flip_mask(0x31d1bb0, 52)) == 52239280); + assert(unsigned(flip_mask(0x31d1bb8, 52)) == 52239288); + assert(unsigned(flip_mask(0x31d1bc0, 52)) == 52239296); + assert(unsigned(flip_mask(0x31d1bc8, 52)) == 52239304); + assert(unsigned(flip_mask(0x31d1bd0, 52)) == 52239312); + assert(unsigned(flip_mask(0x31d1bd8, 52)) == 52239320); + assert(unsigned(flip_mask(0x31d1be0, 52)) == 52239328); + assert(unsigned(flip_mask(0x31d1be8, 52)) == 52239336); + assert(unsigned(flip_mask(0x31d1bf0, 52)) == 52239344); + assert(unsigned(flip_mask(0x31d1bf8, 52)) == 52239352); + assert(unsigned(flip_mask(0x31d1c00, 52)) == 52239360); + assert(unsigned(flip_mask(0x31d1c08, 52)) == 52239368); + assert(unsigned(flip_mask(0x31d1c10, 52)) == 52239376); + assert(unsigned(flip_mask(0x31d1c18, 52)) == 52239384); + assert(unsigned(flip_mask(0x31d1c20, 52)) == 52239392); + assert(unsigned(flip_mask(0x31d1c28, 52)) == 52239400); + assert(unsigned(flip_mask(0x31d1c2c, 52)) == 52239404); + assert(unsigned(flip_mask(0x31d1c30, 52)) == 52239408); + assert(unsigned(flip_mask(0x31d1c34, 52)) == 52239412); + assert(unsigned(flip_mask(0x31d1c38, 52)) == 52239416); + assert(unsigned(flip_mask(0x31d1c3c, 52)) == 52239420); + assert(unsigned(flip_mask(0x31d1c40, 52)) == 52239424); + assert(unsigned(flip_mask(0x31d1c44, 52)) == 52239428); + assert(unsigned(flip_mask(0x31d1c48, 52)) == 52239432); + assert(unsigned(flip_mask(0x31d1c4c, 52)) == 52239436); + assert(unsigned(flip_mask(0x31d1c50, 52)) == 52239440); + assert(unsigned(flip_mask(0x31d1c54, 52)) == 52239444); + assert(unsigned(flip_mask(0x31d1c58, 52)) == 52239448); + assert(unsigned(flip_mask(0x31d1c5c, 52)) == 52239452); + assert(unsigned(flip_mask(0x31d1c60, 52)) == 52239456); + assert(unsigned(flip_mask(0x31d1c64, 52)) == 52239460); + assert(unsigned(flip_mask(0x31d1c68, 52)) == 52239464); + assert(unsigned(flip_mask(0x31d1c6c, 52)) == 52239468); + assert(unsigned(flip_mask(0x31d1c70, 52)) == 52239472); + assert(unsigned(flip_mask(0x31d1c74, 52)) == 52239476); + assert(unsigned(flip_mask(0x31d1c78, 52)) == 52239480); + assert(unsigned(flip_mask(0x34000, 52)) == 212992); + assert(unsigned(flip_mask(0x34008, 52)) == 213000); + assert(unsigned(flip_mask(0x34018, 52)) == 213016); + assert(unsigned(flip_mask(0x34040, 52)) == 213056); + assert(unsigned(flip_mask(0x34048, 52)) == 213064); + assert(unsigned(flip_mask(0x38020, 52)) == 229408); + assert(unsigned(flip_mask(0x38028, 52)) == 229416); + assert(unsigned(flip_mask(0x38030, 52)) == 229424); + assert(unsigned(flip_mask(0x38038, 52)) == 229432); + assert(unsigned(flip_mask(0x38040, 52)) == 229440); + assert(unsigned(flip_mask(0x3e000, 52)) == 253952); + assert(unsigned(flip_mask(0x3f000000, 52)) == 1056964608); + assert(unsigned(flip_mask(0x3f070000, 52)) == 1057423360); + assert(unsigned(flip_mask(0x4000, 52)) == 16384); + assert(unsigned(flip_mask(0x400000, 52)) == 4194304); + assert(unsigned(flip_mask(0x40000000, 52)) == 1073741824); + assert(unsigned(flip_mask(0x400001, 52)) == 4194305); + assert(unsigned(flip_mask(0x400002, 52)) == 4194306); + assert(unsigned(flip_mask(0x400003, 52)) == 4194307); + assert(unsigned(flip_mask(0x400004, 52)) == 4194308); + assert(unsigned(flip_mask(0x400005, 52)) == 4194309); + assert(unsigned(flip_mask(0x400006, 52)) == 4194310); + assert(unsigned(flip_mask(0x400007, 52)) == 4194311); + assert(unsigned(flip_mask(0x400008, 52)) == 4194312); + assert(unsigned(flip_mask(0x400009, 52)) == 4194313); + assert(unsigned(flip_mask(0x40000a, 52)) == 4194314); + assert(unsigned(flip_mask(0x40000b, 52)) == 4194315); + assert(unsigned(flip_mask(0x40000c, 52)) == 4194316); + assert(unsigned(flip_mask(0x40000d, 52)) == 4194317); + assert(unsigned(flip_mask(0x40000e, 52)) == 4194318); + assert(unsigned(flip_mask(0x42000, 52)) == 270336); + assert(unsigned(flip_mask(0x43000, 52)) == 274432); + assert(unsigned(flip_mask(0x43018, 52)) == 274456); + assert(unsigned(flip_mask(0x43028, 52)) == 274472); + assert(unsigned(flip_mask(0x48428, 52)) == 295976); + assert(unsigned(flip_mask(0x4c800, 52)) == 313344); + assert(unsigned(flip_mask(0x50000000, 52)) == 1342177280); + assert(unsigned(flip_mask(0x54000, 52)) == 344064); + assert(unsigned(flip_mask(0x58000, 52)) == 360448); + assert(unsigned(flip_mask(0x5c000, 52)) == 376832); + assert(unsigned(flip_mask(0x5c008, 52)) == 376840); + assert(unsigned(flip_mask(0x5c018, 52)) == 376856); + assert(unsigned(flip_mask(0x5c020, 52)) == 376864); + assert(unsigned(flip_mask(0x5c028, 52)) == 376872); + assert(unsigned(flip_mask(0x5c040, 52)) == 376896); + assert(unsigned(flip_mask(0x5c048, 52)) == 376904); + assert(unsigned(flip_mask(0x5c068, 52)) == 376936); + assert(unsigned(flip_mask(0x60028, 52)) == 393256); + assert(unsigned(flip_mask(0x60030, 52)) == 393264); + assert(unsigned(flip_mask(0x60038, 52)) == 393272); + assert(unsigned(flip_mask(0x60040, 52)) == 393280); + assert(unsigned(flip_mask(0x60600, 52)) == 394752); + assert(unsigned(flip_mask(0x608000, 52)) == 6324224); + assert(unsigned(flip_mask(0x608004, 52)) == 6324228); + assert(unsigned(flip_mask(0x608008, 52)) == 6324232); + assert(unsigned(flip_mask(0x60800c, 52)) == 6324236); + assert(unsigned(flip_mask(0x608010, 52)) == 6324240); + assert(unsigned(flip_mask(0x608014, 52)) == 6324244); + assert(unsigned(flip_mask(0x608018, 52)) == 6324248); + assert(unsigned(flip_mask(0x60801c, 52)) == 6324252); + assert(unsigned(flip_mask(0x608020, 52)) == 6324256); + assert(unsigned(flip_mask(0x608024, 52)) == 6324260); + assert(unsigned(flip_mask(0x608028, 52)) == 6324264); + assert(unsigned(flip_mask(0x60802c, 52)) == 6324268); + assert(unsigned(flip_mask(0x608030, 52)) == 6324272); + assert(unsigned(flip_mask(0x608034, 52)) == 6324276); + assert(unsigned(flip_mask(0x608038, 52)) == 6324280); + assert(unsigned(flip_mask(0x60803c, 52)) == 6324284); + assert(unsigned(flip_mask(0x608040, 52)) == 6324288); + assert(unsigned(flip_mask(0x608044, 52)) == 6324292); + assert(unsigned(flip_mask(0x608048, 52)) == 6324296); + assert(unsigned(flip_mask(0x60804c, 52)) == 6324300); + assert(unsigned(flip_mask(0x608050, 52)) == 6324304); + assert(unsigned(flip_mask(0x608054, 52)) == 6324308); + assert(unsigned(flip_mask(0x608058, 52)) == 6324312); + assert(unsigned(flip_mask(0x60805c, 52)) == 6324316); + assert(unsigned(flip_mask(0x608060, 52)) == 6324320); + assert(unsigned(flip_mask(0x608064, 52)) == 6324324); + assert(unsigned(flip_mask(0x608068, 52)) == 6324328); + assert(unsigned(flip_mask(0x60806c, 52)) == 6324332); + assert(unsigned(flip_mask(0x608070, 52)) == 6324336); + assert(unsigned(flip_mask(0x608074, 52)) == 6324340); + assert(unsigned(flip_mask(0x608078, 52)) == 6324344); + assert(unsigned(flip_mask(0x60807c, 52)) == 6324348); + assert(unsigned(flip_mask(0x608080, 52)) == 6324352); + assert(unsigned(flip_mask(0x608088, 52)) == 6324360); + assert(unsigned(flip_mask(0x608090, 52)) == 6324368); + assert(unsigned(flip_mask(0x608094, 52)) == 6324372); + assert(unsigned(flip_mask(0x608098, 52)) == 6324376); + assert(unsigned(flip_mask(0x60809c, 52)) == 6324380); + assert(unsigned(flip_mask(0x6080a0, 52)) == 6324384); + assert(unsigned(flip_mask(0x6080a8, 52)) == 6324392); + assert(unsigned(flip_mask(0x6080ac, 52)) == 6324396); + assert(unsigned(flip_mask(0x6080b0, 52)) == 6324400); + assert(unsigned(flip_mask(0x6080b4, 52)) == 6324404); + assert(unsigned(flip_mask(0x6080b8, 52)) == 6324408); + assert(unsigned(flip_mask(0x6080bc, 52)) == 6324412); + assert(unsigned(flip_mask(0x6080c0, 52)) == 6324416); + assert(unsigned(flip_mask(0x6080c4, 52)) == 6324420); + assert(unsigned(flip_mask(0x6080c8, 52)) == 6324424); + assert(unsigned(flip_mask(0x6080cc, 52)) == 6324428); + assert(unsigned(flip_mask(0x6080d0, 52)) == 6324432); + assert(unsigned(flip_mask(0x6080d4, 52)) == 6324436); + assert(unsigned(flip_mask(0x6080d8, 52)) == 6324440); + assert(unsigned(flip_mask(0x6080dc, 52)) == 6324444); + assert(unsigned(flip_mask(0x6080e0, 52)) == 6324448); + assert(unsigned(flip_mask(0x6080e4, 52)) == 6324452); + assert(unsigned(flip_mask(0x6080e8, 52)) == 6324456); + assert(unsigned(flip_mask(0x6080ec, 52)) == 6324460); + assert(unsigned(flip_mask(0x6080f0, 52)) == 6324464); + assert(unsigned(flip_mask(0x6080f4, 52)) == 6324468); + assert(unsigned(flip_mask(0x6080f8, 52)) == 6324472); + assert(unsigned(flip_mask(0x6080fc, 52)) == 6324476); + assert(unsigned(flip_mask(0x608100, 52)) == 6324480); + assert(unsigned(flip_mask(0x608104, 52)) == 6324484); + assert(unsigned(flip_mask(0x608108, 52)) == 6324488); + assert(unsigned(flip_mask(0x60810c, 52)) == 6324492); + assert(unsigned(flip_mask(0x608110, 52)) == 6324496); + assert(unsigned(flip_mask(0x608114, 52)) == 6324500); + assert(unsigned(flip_mask(0x608118, 52)) == 6324504); + assert(unsigned(flip_mask(0x60811c, 52)) == 6324508); + assert(unsigned(flip_mask(0x608120, 52)) == 6324512); + assert(unsigned(flip_mask(0x608124, 52)) == 6324516); + assert(unsigned(flip_mask(0x608128, 52)) == 6324520); + assert(unsigned(flip_mask(0x60812c, 52)) == 6324524); + assert(unsigned(flip_mask(0x608130, 52)) == 6324528); + assert(unsigned(flip_mask(0x608134, 52)) == 6324532); + assert(unsigned(flip_mask(0x608138, 52)) == 6324536); + assert(unsigned(flip_mask(0x60813c, 52)) == 6324540); + assert(unsigned(flip_mask(0x608140, 52)) == 6324544); + assert(unsigned(flip_mask(0x608144, 52)) == 6324548); + assert(unsigned(flip_mask(0x608148, 52)) == 6324552); + assert(unsigned(flip_mask(0x60814c, 52)) == 6324556); + assert(unsigned(flip_mask(0x608150, 52)) == 6324560); + assert(unsigned(flip_mask(0x608154, 52)) == 6324564); + assert(unsigned(flip_mask(0x608158, 52)) == 6324568); + assert(unsigned(flip_mask(0x60815c, 52)) == 6324572); + assert(unsigned(flip_mask(0x608160, 52)) == 6324576); + assert(unsigned(flip_mask(0x608164, 52)) == 6324580); + assert(unsigned(flip_mask(0x608168, 52)) == 6324584); + assert(unsigned(flip_mask(0x60816c, 52)) == 6324588); + assert(unsigned(flip_mask(0x608170, 52)) == 6324592); + assert(unsigned(flip_mask(0x608174, 52)) == 6324596); + assert(unsigned(flip_mask(0x608178, 52)) == 6324600); + assert(unsigned(flip_mask(0x60817c, 52)) == 6324604); + assert(unsigned(flip_mask(0x608180, 52)) == 6324608); + assert(unsigned(flip_mask(0x608184, 52)) == 6324612); + assert(unsigned(flip_mask(0x608188, 52)) == 6324616); + assert(unsigned(flip_mask(0x60818c, 52)) == 6324620); + assert(unsigned(flip_mask(0x608190, 52)) == 6324624); + assert(unsigned(flip_mask(0x608194, 52)) == 6324628); + assert(unsigned(flip_mask(0x608198, 52)) == 6324632); + assert(unsigned(flip_mask(0x60819c, 52)) == 6324636); + assert(unsigned(flip_mask(0x6081a0, 52)) == 6324640); + assert(unsigned(flip_mask(0x6081a4, 52)) == 6324644); + assert(unsigned(flip_mask(0x6081a8, 52)) == 6324648); + assert(unsigned(flip_mask(0x6081ac, 52)) == 6324652); + assert(unsigned(flip_mask(0x6081b0, 52)) == 6324656); + assert(unsigned(flip_mask(0x6081b4, 52)) == 6324660); + assert(unsigned(flip_mask(0x6081b8, 52)) == 6324664); + assert(unsigned(flip_mask(0x6081bc, 52)) == 6324668); + assert(unsigned(flip_mask(0x6081c0, 52)) == 6324672); + assert(unsigned(flip_mask(0x6081c4, 52)) == 6324676); + assert(unsigned(flip_mask(0x6081c8, 52)) == 6324680); + assert(unsigned(flip_mask(0x6081cc, 52)) == 6324684); + assert(unsigned(flip_mask(0x6081d0, 52)) == 6324688); + assert(unsigned(flip_mask(0x6081d4, 52)) == 6324692); + assert(unsigned(flip_mask(0x6081d8, 52)) == 6324696); + assert(unsigned(flip_mask(0x6081dc, 52)) == 6324700); + assert(unsigned(flip_mask(0x6081e0, 52)) == 6324704); + assert(unsigned(flip_mask(0x6081e4, 52)) == 6324708); + assert(unsigned(flip_mask(0x6081e8, 52)) == 6324712); + assert(unsigned(flip_mask(0x6081ec, 52)) == 6324716); + assert(unsigned(flip_mask(0x6081f0, 52)) == 6324720); + assert(unsigned(flip_mask(0x6081f4, 52)) == 6324724); + assert(unsigned(flip_mask(0x6081f8, 52)) == 6324728); + assert(unsigned(flip_mask(0x6081fc, 52)) == 6324732); + assert(unsigned(flip_mask(0x608200, 52)) == 6324736); + assert(unsigned(flip_mask(0x608204, 52)) == 6324740); + assert(unsigned(flip_mask(0x608208, 52)) == 6324744); + assert(unsigned(flip_mask(0x60820c, 52)) == 6324748); + assert(unsigned(flip_mask(0x608210, 52)) == 6324752); + assert(unsigned(flip_mask(0x608214, 52)) == 6324756); + assert(unsigned(flip_mask(0x608218, 52)) == 6324760); + assert(unsigned(flip_mask(0x60821c, 52)) == 6324764); + assert(unsigned(flip_mask(0x608220, 52)) == 6324768); + assert(unsigned(flip_mask(0x608224, 52)) == 6324772); + assert(unsigned(flip_mask(0x608228, 52)) == 6324776); + assert(unsigned(flip_mask(0x60822c, 52)) == 6324780); + assert(unsigned(flip_mask(0x608230, 52)) == 6324784); + assert(unsigned(flip_mask(0x608234, 52)) == 6324788); + assert(unsigned(flip_mask(0x608238, 52)) == 6324792); + assert(unsigned(flip_mask(0x60823c, 52)) == 6324796); + assert(unsigned(flip_mask(0x608240, 52)) == 6324800); + assert(unsigned(flip_mask(0x608244, 52)) == 6324804); + assert(unsigned(flip_mask(0x608248, 52)) == 6324808); + assert(unsigned(flip_mask(0x60824c, 52)) == 6324812); + assert(unsigned(flip_mask(0x608250, 52)) == 6324816); + assert(unsigned(flip_mask(0x608254, 52)) == 6324820); + assert(unsigned(flip_mask(0x608258, 52)) == 6324824); + assert(unsigned(flip_mask(0x60825c, 52)) == 6324828); + assert(unsigned(flip_mask(0x608454, 52)) == 6325332); + assert(unsigned(flip_mask(0x608458, 52)) == 6325336); + assert(unsigned(flip_mask(0x60845c, 52)) == 6325340); + assert(unsigned(flip_mask(0x608460, 52)) == 6325344); + assert(unsigned(flip_mask(0x608464, 52)) == 6325348); + assert(unsigned(flip_mask(0x608468, 52)) == 6325352); + assert(unsigned(flip_mask(0x60846c, 52)) == 6325356); + assert(unsigned(flip_mask(0x608470, 52)) == 6325360); + assert(unsigned(flip_mask(0x608474, 52)) == 6325364); + assert(unsigned(flip_mask(0x608478, 52)) == 6325368); + assert(unsigned(flip_mask(0x60847c, 52)) == 6325372); + assert(unsigned(flip_mask(0x608480, 52)) == 6325376); + assert(unsigned(flip_mask(0x608484, 52)) == 6325380); + assert(unsigned(flip_mask(0x608488, 52)) == 6325384); + assert(unsigned(flip_mask(0x60848c, 52)) == 6325388); + assert(unsigned(flip_mask(0x608490, 52)) == 6325392); + assert(unsigned(flip_mask(0x608494, 52)) == 6325396); + assert(unsigned(flip_mask(0x608498, 52)) == 6325400); + assert(unsigned(flip_mask(0x60849c, 52)) == 6325404); + assert(unsigned(flip_mask(0x6084a0, 52)) == 6325408); + assert(unsigned(flip_mask(0x6084a4, 52)) == 6325412); + assert(unsigned(flip_mask(0x6084a8, 52)) == 6325416); + assert(unsigned(flip_mask(0x6084ac, 52)) == 6325420); + assert(unsigned(flip_mask(0x6084b0, 52)) == 6325424); + assert(unsigned(flip_mask(0x6084b4, 52)) == 6325428); + assert(unsigned(flip_mask(0x6084b8, 52)) == 6325432); + assert(unsigned(flip_mask(0x6084bc, 52)) == 6325436); + assert(unsigned(flip_mask(0x6084c0, 52)) == 6325440); + assert(unsigned(flip_mask(0x6084c4, 52)) == 6325444); + assert(unsigned(flip_mask(0x6084c8, 52)) == 6325448); + assert(unsigned(flip_mask(0x6084cc, 52)) == 6325452); + assert(unsigned(flip_mask(0x6084d0, 52)) == 6325456); + assert(unsigned(flip_mask(0x6084d8, 52)) == 6325464); + assert(unsigned(flip_mask(0x6084e0, 52)) == 6325472); + assert(unsigned(flip_mask(0x6084e4, 52)) == 6325476); + assert(unsigned(flip_mask(0x6084e8, 52)) == 6325480); + assert(unsigned(flip_mask(0x6084ec, 52)) == 6325484); + assert(unsigned(flip_mask(0x6084f0, 52)) == 6325488); + assert(unsigned(flip_mask(0x6084f4, 52)) == 6325492); + assert(unsigned(flip_mask(0x6084f8, 52)) == 6325496); + assert(unsigned(flip_mask(0x6084fc, 52)) == 6325500); + assert(unsigned(flip_mask(0x608500, 52)) == 6325504); + assert(unsigned(flip_mask(0x608504, 52)) == 6325508); + assert(unsigned(flip_mask(0x608508, 52)) == 6325512); + assert(unsigned(flip_mask(0x60850c, 52)) == 6325516); + assert(unsigned(flip_mask(0x608510, 52)) == 6325520); + assert(unsigned(flip_mask(0x608514, 52)) == 6325524); + assert(unsigned(flip_mask(0x608518, 52)) == 6325528); + assert(unsigned(flip_mask(0x60851c, 52)) == 6325532); + assert(unsigned(flip_mask(0x608520, 52)) == 6325536); + assert(unsigned(flip_mask(0x608524, 52)) == 6325540); + assert(unsigned(flip_mask(0x608528, 52)) == 6325544); + assert(unsigned(flip_mask(0x60852c, 52)) == 6325548); + assert(unsigned(flip_mask(0x608530, 52)) == 6325552); + assert(unsigned(flip_mask(0x608534, 52)) == 6325556); + assert(unsigned(flip_mask(0x608538, 52)) == 6325560); + assert(unsigned(flip_mask(0x60853c, 52)) == 6325564); + assert(unsigned(flip_mask(0x608540, 52)) == 6325568); + assert(unsigned(flip_mask(0x608544, 52)) == 6325572); + assert(unsigned(flip_mask(0x608548, 52)) == 6325576); + assert(unsigned(flip_mask(0x608804, 52)) == 6326276); + assert(unsigned(flip_mask(0x608808, 52)) == 6326280); + assert(unsigned(flip_mask(0x60880c, 52)) == 6326284); + assert(unsigned(flip_mask(0x608810, 52)) == 6326288); + assert(unsigned(flip_mask(0x608814, 52)) == 6326292); + assert(unsigned(flip_mask(0x608818, 52)) == 6326296); + assert(unsigned(flip_mask(0x62000, 52)) == 401408); + assert(unsigned(flip_mask(0x62400, 52)) == 402432); + assert(unsigned(flip_mask(0x62600, 52)) == 402944); + assert(unsigned(flip_mask(0x627f0, 52)) == 403440); + assert(unsigned(flip_mask(0x62800, 52)) == 403456); + assert(unsigned(flip_mask(0x62810, 52)) == 403472); + assert(unsigned(flip_mask(0x62a00, 52)) == 403968); + assert(unsigned(flip_mask(0x66400, 52)) == 418816); + assert(unsigned(flip_mask(0x68400, 52)) == 427008); + assert(unsigned(flip_mask(0x68a00, 52)) == 428544); + assert(unsigned(flip_mask(0x6cc00, 52)) == 445440); + assert(unsigned(flip_mask(0x70400, 52)) == 459776); + assert(unsigned(flip_mask(0x70a00, 52)) == 461312); + assert(unsigned(flip_mask(0x70c00, 52)) == 461824); + assert(unsigned(flip_mask(0x72000, 52)) == 466944); + assert(unsigned(flip_mask(0x72c05c, 52)) == 7520348); + assert(unsigned(flip_mask(0x72c060, 52)) == 7520352); + assert(unsigned(flip_mask(0x72c064, 52)) == 7520356); + assert(unsigned(flip_mask(0x730368, 52)) == 7537512); + assert(unsigned(flip_mask(0x73036c, 52)) == 7537516); + assert(unsigned(flip_mask(0x730370, 52)) == 7537520); + assert(unsigned(flip_mask(0x7304b8, 52)) == 7537848); + assert(unsigned(flip_mask(0x7304bc, 52)) == 7537852); + assert(unsigned(flip_mask(0x7304c0, 52)) == 7537856); + assert(unsigned(flip_mask(0x730608, 52)) == 7538184); + assert(unsigned(flip_mask(0x73060c, 52)) == 7538188); + assert(unsigned(flip_mask(0x730610, 52)) == 7538192); + assert(unsigned(flip_mask(0x730910, 52)) == 7538960); + assert(unsigned(flip_mask(0x730914, 52)) == 7538964); + assert(unsigned(flip_mask(0x730918, 52)) == 7538968); + assert(unsigned(flip_mask(0x734754, 52)) == 7554900); + assert(unsigned(flip_mask(0x734758, 52)) == 7554904); + assert(unsigned(flip_mask(0x73475c, 52)) == 7554908); + assert(unsigned(flip_mask(0x7348a4, 52)) == 7555236); + assert(unsigned(flip_mask(0x7348a8, 52)) == 7555240); + assert(unsigned(flip_mask(0x7348ac, 52)) == 7555244); + assert(unsigned(flip_mask(0x738000, 52)) == 7569408); + assert(unsigned(flip_mask(0x738004, 52)) == 7569412); + assert(unsigned(flip_mask(0x738005, 52)) == 7569413); + assert(unsigned(flip_mask(0x738006, 52)) == 7569414); + assert(unsigned(flip_mask(0x738007, 52)) == 7569415); + assert(unsigned(flip_mask(0x738008, 52)) == 7569416); + assert(unsigned(flip_mask(0x738009, 52)) == 7569417); + assert(unsigned(flip_mask(0x73800a, 52)) == 7569418); + assert(unsigned(flip_mask(0x73800b, 52)) == 7569419); + assert(unsigned(flip_mask(0x73800c, 52)) == 7569420); + assert(unsigned(flip_mask(0x73800d, 52)) == 7569421); + assert(unsigned(flip_mask(0x73800e, 52)) == 7569422); + assert(unsigned(flip_mask(0x73800f, 52)) == 7569423); + assert(unsigned(flip_mask(0x738010, 52)) == 7569424); + assert(unsigned(flip_mask(0x738011, 52)) == 7569425); + assert(unsigned(flip_mask(0x738014, 52)) == 7569428); + assert(unsigned(flip_mask(0x738018, 52)) == 7569432); + assert(unsigned(flip_mask(0x73801c, 52)) == 7569436); + assert(unsigned(flip_mask(0x738020, 52)) == 7569440); + assert(unsigned(flip_mask(0x738024, 52)) == 7569444); + assert(unsigned(flip_mask(0x738028, 52)) == 7569448); + assert(unsigned(flip_mask(0x73802c, 52)) == 7569452); + assert(unsigned(flip_mask(0x738030, 52)) == 7569456); + assert(unsigned(flip_mask(0x738038, 52)) == 7569464); + assert(unsigned(flip_mask(0x73803c, 52)) == 7569468); + assert(unsigned(flip_mask(0x738044, 52)) == 7569476); + assert(unsigned(flip_mask(0x738048, 52)) == 7569480); + assert(unsigned(flip_mask(0x73804c, 52)) == 7569484); + assert(unsigned(flip_mask(0x738050, 52)) == 7569488); + assert(unsigned(flip_mask(0x738054, 52)) == 7569492); + assert(unsigned(flip_mask(0x738058, 52)) == 7569496); + assert(unsigned(flip_mask(0x73805c, 52)) == 7569500); + assert(unsigned(flip_mask(0x738060, 52)) == 7569504); + assert(unsigned(flip_mask(0x738064, 52)) == 7569508); + assert(unsigned(flip_mask(0x738068, 52)) == 7569512); + assert(unsigned(flip_mask(0x738070, 52)) == 7569520); + assert(unsigned(flip_mask(0x738074, 52)) == 7569524); + assert(unsigned(flip_mask(0x738080, 52)) == 7569536); + assert(unsigned(flip_mask(0x738084, 52)) == 7569540); + assert(unsigned(flip_mask(0x738088, 52)) == 7569544); + assert(unsigned(flip_mask(0x73808c, 52)) == 7569548); + assert(unsigned(flip_mask(0x738090, 52)) == 7569552); + assert(unsigned(flip_mask(0x738094, 52)) == 7569556); + assert(unsigned(flip_mask(0x738098, 52)) == 7569560); + assert(unsigned(flip_mask(0x73809c, 52)) == 7569564); + assert(unsigned(flip_mask(0x7380a0, 52)) == 7569568); + assert(unsigned(flip_mask(0x7380a4, 52)) == 7569572); + assert(unsigned(flip_mask(0x7380a8, 52)) == 7569576); + assert(unsigned(flip_mask(0x7380ac, 52)) == 7569580); + assert(unsigned(flip_mask(0x7380b0, 52)) == 7569584); + assert(unsigned(flip_mask(0x7380b4, 52)) == 7569588); + assert(unsigned(flip_mask(0x7380b8, 52)) == 7569592); + assert(unsigned(flip_mask(0x7380bc, 52)) == 7569596); + assert(unsigned(flip_mask(0x7380c0, 52)) == 7569600); + assert(unsigned(flip_mask(0x7380c4, 52)) == 7569604); + assert(unsigned(flip_mask(0x7380c8, 52)) == 7569608); + assert(unsigned(flip_mask(0x7380cc, 52)) == 7569612); + assert(unsigned(flip_mask(0x7380d0, 52)) == 7569616); + assert(unsigned(flip_mask(0x7380d4, 52)) == 7569620); + assert(unsigned(flip_mask(0x7380d8, 52)) == 7569624); + assert(unsigned(flip_mask(0x7380dc, 52)) == 7569628); + assert(unsigned(flip_mask(0x7380e0, 52)) == 7569632); + assert(unsigned(flip_mask(0x7380e4, 52)) == 7569636); + assert(unsigned(flip_mask(0x7380e8, 52)) == 7569640); + assert(unsigned(flip_mask(0x7380ec, 52)) == 7569644); + assert(unsigned(flip_mask(0x7380f0, 52)) == 7569648); + assert(unsigned(flip_mask(0x7380f4, 52)) == 7569652); + assert(unsigned(flip_mask(0x7380f8, 52)) == 7569656); + assert(unsigned(flip_mask(0x738100, 52)) == 7569664); + assert(unsigned(flip_mask(0x738104, 52)) == 7569668); + assert(unsigned(flip_mask(0x738108, 52)) == 7569672); + assert(unsigned(flip_mask(0x73810c, 52)) == 7569676); + assert(unsigned(flip_mask(0x738110, 52)) == 7569680); + assert(unsigned(flip_mask(0x738114, 52)) == 7569684); + assert(unsigned(flip_mask(0x738118, 52)) == 7569688); + assert(unsigned(flip_mask(0x73811c, 52)) == 7569692); + assert(unsigned(flip_mask(0x738120, 52)) == 7569696); + assert(unsigned(flip_mask(0x738124, 52)) == 7569700); + assert(unsigned(flip_mask(0x738128, 52)) == 7569704); + assert(unsigned(flip_mask(0x73812c, 52)) == 7569708); + assert(unsigned(flip_mask(0x738130, 52)) == 7569712); + assert(unsigned(flip_mask(0x738134, 52)) == 7569716); + assert(unsigned(flip_mask(0x738138, 52)) == 7569720); + assert(unsigned(flip_mask(0x73813c, 52)) == 7569724); + assert(unsigned(flip_mask(0x738140, 52)) == 7569728); + assert(unsigned(flip_mask(0x738148, 52)) == 7569736); + assert(unsigned(flip_mask(0x73814c, 52)) == 7569740); + assert(unsigned(flip_mask(0x738154, 52)) == 7569748); + assert(unsigned(flip_mask(0x738158, 52)) == 7569752); + assert(unsigned(flip_mask(0x73815c, 52)) == 7569756); + assert(unsigned(flip_mask(0x738160, 52)) == 7569760); + assert(unsigned(flip_mask(0x738164, 52)) == 7569764); + assert(unsigned(flip_mask(0x738168, 52)) == 7569768); + assert(unsigned(flip_mask(0x73816c, 52)) == 7569772); + assert(unsigned(flip_mask(0x738170, 52)) == 7569776); + assert(unsigned(flip_mask(0x738174, 52)) == 7569780); + assert(unsigned(flip_mask(0x738178, 52)) == 7569784); + assert(unsigned(flip_mask(0x73817c, 52)) == 7569788); + assert(unsigned(flip_mask(0x738180, 52)) == 7569792); + assert(unsigned(flip_mask(0x738184, 52)) == 7569796); + assert(unsigned(flip_mask(0x738188, 52)) == 7569800); + assert(unsigned(flip_mask(0x738190, 52)) == 7569808); + assert(unsigned(flip_mask(0x738194, 52)) == 7569812); + assert(unsigned(flip_mask(0x738198, 52)) == 7569816); + assert(unsigned(flip_mask(0x73819c, 52)) == 7569820); + assert(unsigned(flip_mask(0x7381a0, 52)) == 7569824); + assert(unsigned(flip_mask(0x7381a4, 52)) == 7569828); + assert(unsigned(flip_mask(0x7381a8, 52)) == 7569832); + assert(unsigned(flip_mask(0x7381ac, 52)) == 7569836); + assert(unsigned(flip_mask(0x7381b0, 52)) == 7569840); + assert(unsigned(flip_mask(0x7381b4, 52)) == 7569844); + assert(unsigned(flip_mask(0x7381b8, 52)) == 7569848); + assert(unsigned(flip_mask(0x7381bc, 52)) == 7569852); + assert(unsigned(flip_mask(0x7381c0, 52)) == 7569856); + assert(unsigned(flip_mask(0x7381c4, 52)) == 7569860); + assert(unsigned(flip_mask(0x7381c8, 52)) == 7569864); + assert(unsigned(flip_mask(0x7381cc, 52)) == 7569868); + assert(unsigned(flip_mask(0x7381d0, 52)) == 7569872); + assert(unsigned(flip_mask(0x7381d8, 52)) == 7569880); + assert(unsigned(flip_mask(0x7381dc, 52)) == 7569884); + assert(unsigned(flip_mask(0x7381e4, 52)) == 7569892); + assert(unsigned(flip_mask(0x7381e8, 52)) == 7569896); + assert(unsigned(flip_mask(0x7381ec, 52)) == 7569900); + assert(unsigned(flip_mask(0x7381f0, 52)) == 7569904); + assert(unsigned(flip_mask(0x7381f4, 52)) == 7569908); + assert(unsigned(flip_mask(0x7381f8, 52)) == 7569912); + assert(unsigned(flip_mask(0x7381fc, 52)) == 7569916); + assert(unsigned(flip_mask(0x738200, 52)) == 7569920); + assert(unsigned(flip_mask(0x738204, 52)) == 7569924); + assert(unsigned(flip_mask(0x738208, 52)) == 7569928); + assert(unsigned(flip_mask(0x73820c, 52)) == 7569932); + assert(unsigned(flip_mask(0x738210, 52)) == 7569936); + assert(unsigned(flip_mask(0x738214, 52)) == 7569940); + assert(unsigned(flip_mask(0x73821c, 52)) == 7569948); + assert(unsigned(flip_mask(0x738220, 52)) == 7569952); + assert(unsigned(flip_mask(0x73822c, 52)) == 7569964); + assert(unsigned(flip_mask(0x738230, 52)) == 7569968); + assert(unsigned(flip_mask(0x738234, 52)) == 7569972); + assert(unsigned(flip_mask(0x738238, 52)) == 7569976); + assert(unsigned(flip_mask(0x73823c, 52)) == 7569980); + assert(unsigned(flip_mask(0x738240, 52)) == 7569984); + assert(unsigned(flip_mask(0x738244, 52)) == 7569988); + assert(unsigned(flip_mask(0x738248, 52)) == 7569992); + assert(unsigned(flip_mask(0x73824c, 52)) == 7569996); + assert(unsigned(flip_mask(0x738250, 52)) == 7570000); + assert(unsigned(flip_mask(0x738254, 52)) == 7570004); + assert(unsigned(flip_mask(0x738258, 52)) == 7570008); + assert(unsigned(flip_mask(0x73825c, 52)) == 7570012); + assert(unsigned(flip_mask(0x738260, 52)) == 7570016); + assert(unsigned(flip_mask(0x738264, 52)) == 7570020); + assert(unsigned(flip_mask(0x738268, 52)) == 7570024); + assert(unsigned(flip_mask(0x73826c, 52)) == 7570028); + assert(unsigned(flip_mask(0x738270, 52)) == 7570032); + assert(unsigned(flip_mask(0x738274, 52)) == 7570036); + assert(unsigned(flip_mask(0x738278, 52)) == 7570040); + assert(unsigned(flip_mask(0x73827c, 52)) == 7570044); + assert(unsigned(flip_mask(0x738280, 52)) == 7570048); + assert(unsigned(flip_mask(0x738284, 52)) == 7570052); + assert(unsigned(flip_mask(0x738288, 52)) == 7570056); + assert(unsigned(flip_mask(0x73828c, 52)) == 7570060); + assert(unsigned(flip_mask(0x738290, 52)) == 7570064); + assert(unsigned(flip_mask(0x738294, 52)) == 7570068); + assert(unsigned(flip_mask(0x738298, 52)) == 7570072); + assert(unsigned(flip_mask(0x73829c, 52)) == 7570076); + assert(unsigned(flip_mask(0x7382a0, 52)) == 7570080); + assert(unsigned(flip_mask(0x7382a4, 52)) == 7570084); + assert(unsigned(flip_mask(0x7382a8, 52)) == 7570088); + assert(unsigned(flip_mask(0x7382ac, 52)) == 7570092); + assert(unsigned(flip_mask(0x7382b0, 52)) == 7570096); + assert(unsigned(flip_mask(0x7382b4, 52)) == 7570100); + assert(unsigned(flip_mask(0x7382b8, 52)) == 7570104); + assert(unsigned(flip_mask(0x7382bc, 52)) == 7570108); + assert(unsigned(flip_mask(0x7382c0, 52)) == 7570112); + assert(unsigned(flip_mask(0x7382c4, 52)) == 7570116); + assert(unsigned(flip_mask(0x7382c8, 52)) == 7570120); + assert(unsigned(flip_mask(0x7382cc, 52)) == 7570124); + assert(unsigned(flip_mask(0x7382d0, 52)) == 7570128); + assert(unsigned(flip_mask(0x7382d4, 52)) == 7570132); + assert(unsigned(flip_mask(0x7382d8, 52)) == 7570136); + assert(unsigned(flip_mask(0x7382dc, 52)) == 7570140); + assert(unsigned(flip_mask(0x7382e0, 52)) == 7570144); + assert(unsigned(flip_mask(0x7382e4, 52)) == 7570148); + assert(unsigned(flip_mask(0x7382e8, 52)) == 7570152); + assert(unsigned(flip_mask(0x7382ec, 52)) == 7570156); + assert(unsigned(flip_mask(0x7382f0, 52)) == 7570160); + assert(unsigned(flip_mask(0x7382f4, 52)) == 7570164); + assert(unsigned(flip_mask(0x7382f8, 52)) == 7570168); + assert(unsigned(flip_mask(0x7382fc, 52)) == 7570172); + assert(unsigned(flip_mask(0x738300, 52)) == 7570176); + assert(unsigned(flip_mask(0x738304, 52)) == 7570180); + assert(unsigned(flip_mask(0x738308, 52)) == 7570184); + assert(unsigned(flip_mask(0x73830c, 52)) == 7570188); + assert(unsigned(flip_mask(0x738310, 52)) == 7570192); + assert(unsigned(flip_mask(0x738314, 52)) == 7570196); + assert(unsigned(flip_mask(0x738318, 52)) == 7570200); + assert(unsigned(flip_mask(0x73831c, 52)) == 7570204); + assert(unsigned(flip_mask(0x738320, 52)) == 7570208); + assert(unsigned(flip_mask(0x738324, 52)) == 7570212); + assert(unsigned(flip_mask(0x738328, 52)) == 7570216); + assert(unsigned(flip_mask(0x73832c, 52)) == 7570220); + assert(unsigned(flip_mask(0x738330, 52)) == 7570224); + assert(unsigned(flip_mask(0x738334, 52)) == 7570228); + assert(unsigned(flip_mask(0x738338, 52)) == 7570232); + assert(unsigned(flip_mask(0x73833c, 52)) == 7570236); + assert(unsigned(flip_mask(0x738340, 52)) == 7570240); + assert(unsigned(flip_mask(0x738344, 52)) == 7570244); + assert(unsigned(flip_mask(0x738348, 52)) == 7570248); + assert(unsigned(flip_mask(0x73834c, 52)) == 7570252); + assert(unsigned(flip_mask(0x738350, 52)) == 7570256); + assert(unsigned(flip_mask(0x738354, 52)) == 7570260); + assert(unsigned(flip_mask(0x738358, 52)) == 7570264); + assert(unsigned(flip_mask(0x73835c, 52)) == 7570268); + assert(unsigned(flip_mask(0x738360, 52)) == 7570272); + assert(unsigned(flip_mask(0x738364, 52)) == 7570276); + assert(unsigned(flip_mask(0x738368, 52)) == 7570280); + assert(unsigned(flip_mask(0x73836c, 52)) == 7570284); + assert(unsigned(flip_mask(0x738370, 52)) == 7570288); + assert(unsigned(flip_mask(0x738374, 52)) == 7570292); + assert(unsigned(flip_mask(0x738378, 52)) == 7570296); + assert(unsigned(flip_mask(0x73837c, 52)) == 7570300); + assert(unsigned(flip_mask(0x738380, 52)) == 7570304); + assert(unsigned(flip_mask(0x738384, 52)) == 7570308); + assert(unsigned(flip_mask(0x738388, 52)) == 7570312); + assert(unsigned(flip_mask(0x73838c, 52)) == 7570316); + assert(unsigned(flip_mask(0x738390, 52)) == 7570320); + assert(unsigned(flip_mask(0x738394, 52)) == 7570324); + assert(unsigned(flip_mask(0x738398, 52)) == 7570328); + assert(unsigned(flip_mask(0x73839c, 52)) == 7570332); + assert(unsigned(flip_mask(0x7383a0, 52)) == 7570336); + assert(unsigned(flip_mask(0x7383a4, 52)) == 7570340); + assert(unsigned(flip_mask(0x7383a8, 52)) == 7570344); + assert(unsigned(flip_mask(0x7383ac, 52)) == 7570348); + assert(unsigned(flip_mask(0x7383b0, 52)) == 7570352); + assert(unsigned(flip_mask(0x7383b8, 52)) == 7570360); + assert(unsigned(flip_mask(0x7383bc, 52)) == 7570364); + assert(unsigned(flip_mask(0x7383c4, 52)) == 7570372); + assert(unsigned(flip_mask(0x7383c8, 52)) == 7570376); + assert(unsigned(flip_mask(0x7383cc, 52)) == 7570380); + assert(unsigned(flip_mask(0x7383d0, 52)) == 7570384); + assert(unsigned(flip_mask(0x7383d4, 52)) == 7570388); + assert(unsigned(flip_mask(0x7383d8, 52)) == 7570392); + assert(unsigned(flip_mask(0x7383dc, 52)) == 7570396); + assert(unsigned(flip_mask(0x7383e0, 52)) == 7570400); + assert(unsigned(flip_mask(0x7383e4, 52)) == 7570404); + assert(unsigned(flip_mask(0x7383e8, 52)) == 7570408); + assert(unsigned(flip_mask(0x7383ec, 52)) == 7570412); + assert(unsigned(flip_mask(0x7383f4, 52)) == 7570420); + assert(unsigned(flip_mask(0x7383f8, 52)) == 7570424); + assert(unsigned(flip_mask(0x738404, 52)) == 7570436); + assert(unsigned(flip_mask(0x738408, 52)) == 7570440); + assert(unsigned(flip_mask(0x73840c, 52)) == 7570444); + assert(unsigned(flip_mask(0x738410, 52)) == 7570448); + assert(unsigned(flip_mask(0x738414, 52)) == 7570452); + assert(unsigned(flip_mask(0x738418, 52)) == 7570456); + assert(unsigned(flip_mask(0x73841c, 52)) == 7570460); + assert(unsigned(flip_mask(0x738420, 52)) == 7570464); + assert(unsigned(flip_mask(0x738424, 52)) == 7570468); + assert(unsigned(flip_mask(0x738428, 52)) == 7570472); + assert(unsigned(flip_mask(0x73842c, 52)) == 7570476); + assert(unsigned(flip_mask(0x738430, 52)) == 7570480); + assert(unsigned(flip_mask(0x738434, 52)) == 7570484); + assert(unsigned(flip_mask(0x738438, 52)) == 7570488); + assert(unsigned(flip_mask(0x73843c, 52)) == 7570492); + assert(unsigned(flip_mask(0x738440, 52)) == 7570496); + assert(unsigned(flip_mask(0x738444, 52)) == 7570500); + assert(unsigned(flip_mask(0x738448, 52)) == 7570504); + assert(unsigned(flip_mask(0x73844c, 52)) == 7570508); + assert(unsigned(flip_mask(0x738450, 52)) == 7570512); + assert(unsigned(flip_mask(0x738454, 52)) == 7570516); + assert(unsigned(flip_mask(0x738458, 52)) == 7570520); + assert(unsigned(flip_mask(0x73845c, 52)) == 7570524); + assert(unsigned(flip_mask(0x738460, 52)) == 7570528); + assert(unsigned(flip_mask(0x738464, 52)) == 7570532); + assert(unsigned(flip_mask(0x738468, 52)) == 7570536); + assert(unsigned(flip_mask(0x73846c, 52)) == 7570540); + assert(unsigned(flip_mask(0x738470, 52)) == 7570544); + assert(unsigned(flip_mask(0x738474, 52)) == 7570548); + assert(unsigned(flip_mask(0x738478, 52)) == 7570552); + assert(unsigned(flip_mask(0x73847c, 52)) == 7570556); + assert(unsigned(flip_mask(0x738480, 52)) == 7570560); + assert(unsigned(flip_mask(0x738484, 52)) == 7570564); + assert(unsigned(flip_mask(0x738488, 52)) == 7570568); + assert(unsigned(flip_mask(0x73848c, 52)) == 7570572); + assert(unsigned(flip_mask(0x738490, 52)) == 7570576); + assert(unsigned(flip_mask(0x738494, 52)) == 7570580); + assert(unsigned(flip_mask(0x738498, 52)) == 7570584); + assert(unsigned(flip_mask(0x73849c, 52)) == 7570588); + assert(unsigned(flip_mask(0x7384a0, 52)) == 7570592); + assert(unsigned(flip_mask(0x7384a4, 52)) == 7570596); + assert(unsigned(flip_mask(0x7384a8, 52)) == 7570600); + assert(unsigned(flip_mask(0x7384ac, 52)) == 7570604); + assert(unsigned(flip_mask(0x7384b0, 52)) == 7570608); + assert(unsigned(flip_mask(0x7384b4, 52)) == 7570612); + assert(unsigned(flip_mask(0x7384b8, 52)) == 7570616); + assert(unsigned(flip_mask(0x7384bc, 52)) == 7570620); + assert(unsigned(flip_mask(0x7384c0, 52)) == 7570624); + assert(unsigned(flip_mask(0x7384c4, 52)) == 7570628); + assert(unsigned(flip_mask(0x7384c8, 52)) == 7570632); + assert(unsigned(flip_mask(0x7384cc, 52)) == 7570636); + assert(unsigned(flip_mask(0x7384d0, 52)) == 7570640); + assert(unsigned(flip_mask(0x7384d4, 52)) == 7570644); + assert(unsigned(flip_mask(0x7384d8, 52)) == 7570648); + assert(unsigned(flip_mask(0x7384dc, 52)) == 7570652); + assert(unsigned(flip_mask(0x7384e0, 52)) == 7570656); + assert(unsigned(flip_mask(0x7384e4, 52)) == 7570660); + assert(unsigned(flip_mask(0x7384e8, 52)) == 7570664); + assert(unsigned(flip_mask(0x7384ec, 52)) == 7570668); + assert(unsigned(flip_mask(0x7384f0, 52)) == 7570672); + assert(unsigned(flip_mask(0x7384f4, 52)) == 7570676); + assert(unsigned(flip_mask(0x7384f8, 52)) == 7570680); + assert(unsigned(flip_mask(0x7384fc, 52)) == 7570684); + assert(unsigned(flip_mask(0x738500, 52)) == 7570688); + assert(unsigned(flip_mask(0x738508, 52)) == 7570696); + assert(unsigned(flip_mask(0x73850c, 52)) == 7570700); + assert(unsigned(flip_mask(0x738514, 52)) == 7570708); + assert(unsigned(flip_mask(0x738518, 52)) == 7570712); + assert(unsigned(flip_mask(0x73851c, 52)) == 7570716); + assert(unsigned(flip_mask(0x738520, 52)) == 7570720); + assert(unsigned(flip_mask(0x738524, 52)) == 7570724); + assert(unsigned(flip_mask(0x738528, 52)) == 7570728); + assert(unsigned(flip_mask(0x73852c, 52)) == 7570732); + assert(unsigned(flip_mask(0x738530, 52)) == 7570736); + assert(unsigned(flip_mask(0x738534, 52)) == 7570740); + assert(unsigned(flip_mask(0x738538, 52)) == 7570744); + assert(unsigned(flip_mask(0x73853c, 52)) == 7570748); + assert(unsigned(flip_mask(0x738544, 52)) == 7570756); + assert(unsigned(flip_mask(0x738548, 52)) == 7570760); + assert(unsigned(flip_mask(0x738554, 52)) == 7570772); + assert(unsigned(flip_mask(0x738558, 52)) == 7570776); + assert(unsigned(flip_mask(0x73855c, 52)) == 7570780); + assert(unsigned(flip_mask(0x738560, 52)) == 7570784); + assert(unsigned(flip_mask(0x738564, 52)) == 7570788); + assert(unsigned(flip_mask(0x738568, 52)) == 7570792); + assert(unsigned(flip_mask(0x73856c, 52)) == 7570796); + assert(unsigned(flip_mask(0x738570, 52)) == 7570800); + assert(unsigned(flip_mask(0x738574, 52)) == 7570804); + assert(unsigned(flip_mask(0x738578, 52)) == 7570808); + assert(unsigned(flip_mask(0x73857c, 52)) == 7570812); + assert(unsigned(flip_mask(0x738580, 52)) == 7570816); + assert(unsigned(flip_mask(0x738584, 52)) == 7570820); + assert(unsigned(flip_mask(0x738588, 52)) == 7570824); + assert(unsigned(flip_mask(0x73858c, 52)) == 7570828); + assert(unsigned(flip_mask(0x738590, 52)) == 7570832); + assert(unsigned(flip_mask(0x738594, 52)) == 7570836); + assert(unsigned(flip_mask(0x738598, 52)) == 7570840); + assert(unsigned(flip_mask(0x73859c, 52)) == 7570844); + assert(unsigned(flip_mask(0x7385a0, 52)) == 7570848); + assert(unsigned(flip_mask(0x7385a4, 52)) == 7570852); + assert(unsigned(flip_mask(0x7385a8, 52)) == 7570856); + assert(unsigned(flip_mask(0x7385ac, 52)) == 7570860); + assert(unsigned(flip_mask(0x7385b0, 52)) == 7570864); + assert(unsigned(flip_mask(0x7385b4, 52)) == 7570868); + assert(unsigned(flip_mask(0x7385b8, 52)) == 7570872); + assert(unsigned(flip_mask(0x7385bc, 52)) == 7570876); + assert(unsigned(flip_mask(0x7385c0, 52)) == 7570880); + assert(unsigned(flip_mask(0x7385c4, 52)) == 7570884); + assert(unsigned(flip_mask(0x7385c8, 52)) == 7570888); + assert(unsigned(flip_mask(0x7385cc, 52)) == 7570892); + assert(unsigned(flip_mask(0x7385d0, 52)) == 7570896); + assert(unsigned(flip_mask(0x7385d4, 52)) == 7570900); + assert(unsigned(flip_mask(0x7385d8, 52)) == 7570904); + assert(unsigned(flip_mask(0x7385dc, 52)) == 7570908); + assert(unsigned(flip_mask(0x7385e0, 52)) == 7570912); + assert(unsigned(flip_mask(0x7385e4, 52)) == 7570916); + assert(unsigned(flip_mask(0x7385e8, 52)) == 7570920); + assert(unsigned(flip_mask(0x7385ec, 52)) == 7570924); + assert(unsigned(flip_mask(0x7385f0, 52)) == 7570928); + assert(unsigned(flip_mask(0x7385f4, 52)) == 7570932); + assert(unsigned(flip_mask(0x7385f8, 52)) == 7570936); + assert(unsigned(flip_mask(0x7385fc, 52)) == 7570940); + assert(unsigned(flip_mask(0x738600, 52)) == 7570944); + assert(unsigned(flip_mask(0x738604, 52)) == 7570948); + assert(unsigned(flip_mask(0x738608, 52)) == 7570952); + assert(unsigned(flip_mask(0x73860c, 52)) == 7570956); + assert(unsigned(flip_mask(0x738610, 52)) == 7570960); + assert(unsigned(flip_mask(0x738614, 52)) == 7570964); + assert(unsigned(flip_mask(0x738618, 52)) == 7570968); + assert(unsigned(flip_mask(0x73861c, 52)) == 7570972); + assert(unsigned(flip_mask(0x738620, 52)) == 7570976); + assert(unsigned(flip_mask(0x738624, 52)) == 7570980); + assert(unsigned(flip_mask(0x738628, 52)) == 7570984); + assert(unsigned(flip_mask(0x73862c, 52)) == 7570988); + assert(unsigned(flip_mask(0x738630, 52)) == 7570992); + assert(unsigned(flip_mask(0x738634, 52)) == 7570996); + assert(unsigned(flip_mask(0x738638, 52)) == 7571000); + assert(unsigned(flip_mask(0x73863c, 52)) == 7571004); + assert(unsigned(flip_mask(0x738640, 52)) == 7571008); + assert(unsigned(flip_mask(0x738644, 52)) == 7571012); + assert(unsigned(flip_mask(0x738648, 52)) == 7571016); + assert(unsigned(flip_mask(0x73864c, 52)) == 7571020); + assert(unsigned(flip_mask(0x738650, 52)) == 7571024); + assert(unsigned(flip_mask(0x738658, 52)) == 7571032); + assert(unsigned(flip_mask(0x73865c, 52)) == 7571036); + assert(unsigned(flip_mask(0x738664, 52)) == 7571044); + assert(unsigned(flip_mask(0x738668, 52)) == 7571048); + assert(unsigned(flip_mask(0x73866c, 52)) == 7571052); + assert(unsigned(flip_mask(0x738670, 52)) == 7571056); + assert(unsigned(flip_mask(0x738674, 52)) == 7571060); + assert(unsigned(flip_mask(0x738678, 52)) == 7571064); + assert(unsigned(flip_mask(0x73867c, 52)) == 7571068); + assert(unsigned(flip_mask(0x738680, 52)) == 7571072); + assert(unsigned(flip_mask(0x738684, 52)) == 7571076); + assert(unsigned(flip_mask(0x738688, 52)) == 7571080); + assert(unsigned(flip_mask(0x73868c, 52)) == 7571084); + assert(unsigned(flip_mask(0x738694, 52)) == 7571092); + assert(unsigned(flip_mask(0x738698, 52)) == 7571096); + assert(unsigned(flip_mask(0x7386a4, 52)) == 7571108); + assert(unsigned(flip_mask(0x7386a8, 52)) == 7571112); + assert(unsigned(flip_mask(0x7386ac, 52)) == 7571116); + assert(unsigned(flip_mask(0x7386b0, 52)) == 7571120); + assert(unsigned(flip_mask(0x7386b4, 52)) == 7571124); + assert(unsigned(flip_mask(0x7386b8, 52)) == 7571128); + assert(unsigned(flip_mask(0x7386bc, 52)) == 7571132); + assert(unsigned(flip_mask(0x7386c0, 52)) == 7571136); + assert(unsigned(flip_mask(0x7386c4, 52)) == 7571140); + assert(unsigned(flip_mask(0x7386c8, 52)) == 7571144); + assert(unsigned(flip_mask(0x7386cc, 52)) == 7571148); + assert(unsigned(flip_mask(0x7386d0, 52)) == 7571152); + assert(unsigned(flip_mask(0x7386d4, 52)) == 7571156); + assert(unsigned(flip_mask(0x7386d8, 52)) == 7571160); + assert(unsigned(flip_mask(0x7386dc, 52)) == 7571164); + assert(unsigned(flip_mask(0x7386e0, 52)) == 7571168); + assert(unsigned(flip_mask(0x7386e4, 52)) == 7571172); + assert(unsigned(flip_mask(0x7386e8, 52)) == 7571176); + assert(unsigned(flip_mask(0x7386ec, 52)) == 7571180); + assert(unsigned(flip_mask(0x7386f0, 52)) == 7571184); + assert(unsigned(flip_mask(0x7386f4, 52)) == 7571188); + assert(unsigned(flip_mask(0x7386f8, 52)) == 7571192); + assert(unsigned(flip_mask(0x7386fc, 52)) == 7571196); + assert(unsigned(flip_mask(0x738700, 52)) == 7571200); + assert(unsigned(flip_mask(0x738704, 52)) == 7571204); + assert(unsigned(flip_mask(0x738708, 52)) == 7571208); + assert(unsigned(flip_mask(0x73870c, 52)) == 7571212); + assert(unsigned(flip_mask(0x738710, 52)) == 7571216); + assert(unsigned(flip_mask(0x738714, 52)) == 7571220); + assert(unsigned(flip_mask(0x738724, 52)) == 7571236); + assert(unsigned(flip_mask(0x738728, 52)) == 7571240); + assert(unsigned(flip_mask(0x73872c, 52)) == 7571244); + assert(unsigned(flip_mask(0x738730, 52)) == 7571248); + assert(unsigned(flip_mask(0x738734, 52)) == 7571252); + assert(unsigned(flip_mask(0x738738, 52)) == 7571256); + assert(unsigned(flip_mask(0x73873c, 52)) == 7571260); + assert(unsigned(flip_mask(0x738740, 52)) == 7571264); + assert(unsigned(flip_mask(0x738744, 52)) == 7571268); + assert(unsigned(flip_mask(0x738748, 52)) == 7571272); + assert(unsigned(flip_mask(0x73874c, 52)) == 7571276); + assert(unsigned(flip_mask(0x738750, 52)) == 7571280); + assert(unsigned(flip_mask(0x738754, 52)) == 7571284); + assert(unsigned(flip_mask(0x738758, 52)) == 7571288); + assert(unsigned(flip_mask(0x73875c, 52)) == 7571292); + assert(unsigned(flip_mask(0x738760, 52)) == 7571296); + assert(unsigned(flip_mask(0x738764, 52)) == 7571300); + assert(unsigned(flip_mask(0x738768, 52)) == 7571304); + assert(unsigned(flip_mask(0x73876c, 52)) == 7571308); + assert(unsigned(flip_mask(0x738770, 52)) == 7571312); + assert(unsigned(flip_mask(0x738774, 52)) == 7571316); + assert(unsigned(flip_mask(0x738778, 52)) == 7571320); + assert(unsigned(flip_mask(0x73877c, 52)) == 7571324); + assert(unsigned(flip_mask(0x738780, 52)) == 7571328); + assert(unsigned(flip_mask(0x738784, 52)) == 7571332); + assert(unsigned(flip_mask(0x738788, 52)) == 7571336); + assert(unsigned(flip_mask(0x73878c, 52)) == 7571340); + assert(unsigned(flip_mask(0x738790, 52)) == 7571344); + assert(unsigned(flip_mask(0x738794, 52)) == 7571348); + assert(unsigned(flip_mask(0x738798, 52)) == 7571352); + assert(unsigned(flip_mask(0x73879c, 52)) == 7571356); + assert(unsigned(flip_mask(0x7387a4, 52)) == 7571364); + assert(unsigned(flip_mask(0x7387a8, 52)) == 7571368); + assert(unsigned(flip_mask(0x7387b0, 52)) == 7571376); + assert(unsigned(flip_mask(0x7387b4, 52)) == 7571380); + assert(unsigned(flip_mask(0x7387b8, 52)) == 7571384); + assert(unsigned(flip_mask(0x7387bc, 52)) == 7571388); + assert(unsigned(flip_mask(0x7387c0, 52)) == 7571392); + assert(unsigned(flip_mask(0x7387c4, 52)) == 7571396); + assert(unsigned(flip_mask(0x7387c8, 52)) == 7571400); + assert(unsigned(flip_mask(0x7387cc, 52)) == 7571404); + assert(unsigned(flip_mask(0x7387d0, 52)) == 7571408); + assert(unsigned(flip_mask(0x7387d4, 52)) == 7571412); + assert(unsigned(flip_mask(0x7387d8, 52)) == 7571416); + assert(unsigned(flip_mask(0x7387e0, 52)) == 7571424); + assert(unsigned(flip_mask(0x7387e4, 52)) == 7571428); + assert(unsigned(flip_mask(0x7387f0, 52)) == 7571440); + assert(unsigned(flip_mask(0x7387f4, 52)) == 7571444); + assert(unsigned(flip_mask(0x7387f8, 52)) == 7571448); + assert(unsigned(flip_mask(0x7387fc, 52)) == 7571452); + assert(unsigned(flip_mask(0x738800, 52)) == 7571456); + assert(unsigned(flip_mask(0x738804, 52)) == 7571460); + assert(unsigned(flip_mask(0x738808, 52)) == 7571464); + assert(unsigned(flip_mask(0x73880c, 52)) == 7571468); + assert(unsigned(flip_mask(0x738810, 52)) == 7571472); + assert(unsigned(flip_mask(0x738814, 52)) == 7571476); + assert(unsigned(flip_mask(0x738818, 52)) == 7571480); + assert(unsigned(flip_mask(0x73881c, 52)) == 7571484); + assert(unsigned(flip_mask(0x738820, 52)) == 7571488); + assert(unsigned(flip_mask(0x738824, 52)) == 7571492); + assert(unsigned(flip_mask(0x738828, 52)) == 7571496); + assert(unsigned(flip_mask(0x73882c, 52)) == 7571500); + assert(unsigned(flip_mask(0x738830, 52)) == 7571504); + assert(unsigned(flip_mask(0x738834, 52)) == 7571508); + assert(unsigned(flip_mask(0x738838, 52)) == 7571512); + assert(unsigned(flip_mask(0x73883c, 52)) == 7571516); + assert(unsigned(flip_mask(0x738840, 52)) == 7571520); + assert(unsigned(flip_mask(0x738844, 52)) == 7571524); + assert(unsigned(flip_mask(0x738848, 52)) == 7571528); + assert(unsigned(flip_mask(0x73884c, 52)) == 7571532); + assert(unsigned(flip_mask(0x738850, 52)) == 7571536); + assert(unsigned(flip_mask(0x738854, 52)) == 7571540); + assert(unsigned(flip_mask(0x738858, 52)) == 7571544); + assert(unsigned(flip_mask(0x73885c, 52)) == 7571548); + assert(unsigned(flip_mask(0x738860, 52)) == 7571552); + assert(unsigned(flip_mask(0x738864, 52)) == 7571556); + assert(unsigned(flip_mask(0x738868, 52)) == 7571560); + assert(unsigned(flip_mask(0x73886c, 52)) == 7571564); + assert(unsigned(flip_mask(0x738870, 52)) == 7571568); + assert(unsigned(flip_mask(0x738874, 52)) == 7571572); + assert(unsigned(flip_mask(0x738878, 52)) == 7571576); + assert(unsigned(flip_mask(0x73887c, 52)) == 7571580); + assert(unsigned(flip_mask(0x738880, 52)) == 7571584); + assert(unsigned(flip_mask(0x738884, 52)) == 7571588); + assert(unsigned(flip_mask(0x738888, 52)) == 7571592); + assert(unsigned(flip_mask(0x73888c, 52)) == 7571596); + assert(unsigned(flip_mask(0x738890, 52)) == 7571600); + assert(unsigned(flip_mask(0x738894, 52)) == 7571604); + assert(unsigned(flip_mask(0x738898, 52)) == 7571608); + assert(unsigned(flip_mask(0x73889c, 52)) == 7571612); + assert(unsigned(flip_mask(0x7388a0, 52)) == 7571616); + assert(unsigned(flip_mask(0x7388a4, 52)) == 7571620); + assert(unsigned(flip_mask(0x7388a8, 52)) == 7571624); + assert(unsigned(flip_mask(0x7388ac, 52)) == 7571628); + assert(unsigned(flip_mask(0x7388b0, 52)) == 7571632); + assert(unsigned(flip_mask(0x7388b4, 52)) == 7571636); + assert(unsigned(flip_mask(0x7388b8, 52)) == 7571640); + assert(unsigned(flip_mask(0x7388bc, 52)) == 7571644); + assert(unsigned(flip_mask(0x7388c0, 52)) == 7571648); + assert(unsigned(flip_mask(0x7388c4, 52)) == 7571652); + assert(unsigned(flip_mask(0x7388c8, 52)) == 7571656); + assert(unsigned(flip_mask(0x7388cc, 52)) == 7571660); + assert(unsigned(flip_mask(0x7388d0, 52)) == 7571664); + assert(unsigned(flip_mask(0x7388d4, 52)) == 7571668); + assert(unsigned(flip_mask(0x7388d8, 52)) == 7571672); + assert(unsigned(flip_mask(0x7388dc, 52)) == 7571676); + assert(unsigned(flip_mask(0x7388e0, 52)) == 7571680); + assert(unsigned(flip_mask(0x7388e4, 52)) == 7571684); + assert(unsigned(flip_mask(0x7388e8, 52)) == 7571688); + assert(unsigned(flip_mask(0x7388ec, 52)) == 7571692); + assert(unsigned(flip_mask(0x7388f0, 52)) == 7571696); + assert(unsigned(flip_mask(0x7388f4, 52)) == 7571700); + assert(unsigned(flip_mask(0x7388f8, 52)) == 7571704); + assert(unsigned(flip_mask(0x7388fc, 52)) == 7571708); + assert(unsigned(flip_mask(0x738900, 52)) == 7571712); + assert(unsigned(flip_mask(0x738904, 52)) == 7571716); + assert(unsigned(flip_mask(0x738908, 52)) == 7571720); + assert(unsigned(flip_mask(0x73890c, 52)) == 7571724); + assert(unsigned(flip_mask(0x738910, 52)) == 7571728); + assert(unsigned(flip_mask(0x738914, 52)) == 7571732); + assert(unsigned(flip_mask(0x738918, 52)) == 7571736); + assert(unsigned(flip_mask(0x73891c, 52)) == 7571740); + assert(unsigned(flip_mask(0x738920, 52)) == 7571744); + assert(unsigned(flip_mask(0x738924, 52)) == 7571748); + assert(unsigned(flip_mask(0x738928, 52)) == 7571752); + assert(unsigned(flip_mask(0x73892c, 52)) == 7571756); + assert(unsigned(flip_mask(0x738930, 52)) == 7571760); + assert(unsigned(flip_mask(0x7406f0, 52)) == 7603952); + assert(unsigned(flip_mask(0x7406f4, 52)) == 7603956); + assert(unsigned(flip_mask(0x7406f8, 52)) == 7603960); + assert(unsigned(flip_mask(0x74083c, 52)) == 7604284); + assert(unsigned(flip_mask(0x740840, 52)) == 7604288); + assert(unsigned(flip_mask(0x740844, 52)) == 7604292); + assert(unsigned(flip_mask(0x7442f8, 52)) == 7619320); + assert(unsigned(flip_mask(0x7442fc, 52)) == 7619324); + assert(unsigned(flip_mask(0x744300, 52)) == 7619328); + assert(unsigned(flip_mask(0x744450, 52)) == 7619664); + assert(unsigned(flip_mask(0x744454, 52)) == 7619668); + assert(unsigned(flip_mask(0x744458, 52)) == 7619672); + assert(unsigned(flip_mask(0x7445a0, 52)) == 7620000); + assert(unsigned(flip_mask(0x7445a4, 52)) == 7620004); + assert(unsigned(flip_mask(0x7445a8, 52)) == 7620008); + assert(unsigned(flip_mask(0x75c00, 52)) == 482304); + assert(unsigned(flip_mask(0x75e00, 52)) == 482816); + assert(unsigned(flip_mask(0x76000, 52)) == 483328); + assert(unsigned(flip_mask(0x76008, 52)) == 483336); + assert(unsigned(flip_mask(0x76010, 52)) == 483344); + assert(unsigned(flip_mask(0x77000, 52)) == 487424); + assert(unsigned(flip_mask(0x77010, 52)) == 487440); + assert(unsigned(flip_mask(0x8000, 52)) == 32768); + assert(unsigned(flip_mask(0x8008, 52)) == 32776); + assert(unsigned(flip_mask(0x8018, 52)) == 32792); + assert(unsigned(flip_mask(0x8040, 52)) == 32832); + assert(unsigned(flip_mask(0x80428, 52)) == 525352); + assert(unsigned(flip_mask(0x8048, 52)) == 32840); + assert(unsigned(flip_mask(0x84800, 52)) == 542720); + assert(unsigned(flip_mask(0xc020, 52)) == 49184); + assert(unsigned(flip_mask(0xc028, 52)) == 49192); + assert(unsigned(flip_mask(0xc030, 52)) == 49200); + assert(unsigned(flip_mask(0xc038, 52)) == 49208); + assert(unsigned(flip_mask(0xc040, 52)) == 49216); + assert(unsigned(flip_mask(0x0, 6)) == 0); + assert(unsigned(flip_mask(0x1, 6)) == 1); + assert(unsigned(flip_mask(0x10, 6)) == 16); + assert(unsigned(flip_mask(0x11, 6)) == 17); + assert(unsigned(flip_mask(0x12, 6)) == 18); + assert(unsigned(flip_mask(0x13, 6)) == 19); + assert(unsigned(flip_mask(0x15, 6)) == 21); + assert(unsigned(flip_mask(0x16, 6)) == 22); + assert(unsigned(flip_mask(0x17, 6)) == 23); + assert(unsigned(flip_mask(0x18, 6)) == 24); + assert(unsigned(flip_mask(0x19, 6)) == 25); + assert(unsigned(flip_mask(0x1a, 6)) == 26); + assert(unsigned(flip_mask(0x1b, 6)) == 27); + assert(unsigned(flip_mask(0x1c, 6)) == 28); + assert(unsigned(flip_mask(0x1d, 6)) == 29); + assert(unsigned(flip_mask(0x1e, 6)) == 30); + assert(unsigned(flip_mask(0x1f, 6)) == 31); + assert(unsigned(flip_mask(0x2, 6)) == 2); + assert(unsigned(flip_mask(0x20, 6)) == 32); + assert(unsigned(flip_mask(0x21, 6)) == 33); + assert(unsigned(flip_mask(0x22, 6)) == 34); + assert(unsigned(flip_mask(0x23, 6)) == 35); + assert(unsigned(flip_mask(0x24, 6)) == 36); + assert(unsigned(flip_mask(0x26, 6)) == 38); + assert(unsigned(flip_mask(0x27, 6)) == 39); + assert(unsigned(flip_mask(0x28, 6)) == 40); + assert(unsigned(flip_mask(0x29, 6)) == 41); + assert(unsigned(flip_mask(0x2a, 6)) == 42); + assert(unsigned(flip_mask(0x2b, 6)) == 43); + assert(unsigned(flip_mask(0x2c, 6)) == 44); + assert(unsigned(flip_mask(0x2d, 6)) == 45); + assert(unsigned(flip_mask(0x2e, 6)) == 46); + assert(unsigned(flip_mask(0x2f, 6)) == 47); + assert(unsigned(flip_mask(0x3, 6)) == 3); + assert(unsigned(flip_mask(0x30, 6)) == 48); + assert(unsigned(flip_mask(0x31, 6)) == 49); + assert(unsigned(flip_mask(0x32, 6)) == 50); + assert(unsigned(flip_mask(0x33, 6)) == 51); + assert(unsigned(flip_mask(0x34, 6)) == 52); + assert(unsigned(flip_mask(0x35, 6)) == 53); + assert(unsigned(flip_mask(0x36, 6)) == 54); + assert(unsigned(flip_mask(0x37, 6)) == 55); + assert(unsigned(flip_mask(0x38, 6)) == 56); + assert(unsigned(flip_mask(0x39, 6)) == 57); + assert(unsigned(flip_mask(0x3a, 6)) == 58); + assert(unsigned(flip_mask(0x3b, 6)) == 59); + assert(unsigned(flip_mask(0x3c, 6)) == 60); + assert(unsigned(flip_mask(0x3d, 6)) == 61); + assert(unsigned(flip_mask(0x3e, 6)) == 62); + assert(unsigned(flip_mask(0x3f, 6)) == 63); + assert(unsigned(flip_mask(0x4, 6)) == 4); + assert(unsigned(flip_mask(0x5, 6)) == 5); + assert(unsigned(flip_mask(0x6, 6)) == 6); + assert(unsigned(flip_mask(0x7, 6)) == 7); + assert(unsigned(flip_mask(0x8, 6)) == 8); + assert(unsigned(flip_mask(0x9, 6)) == 9); + assert(unsigned(flip_mask(0xa, 6)) == 10); + assert(unsigned(flip_mask(0xb, 6)) == 11); + assert(unsigned(flip_mask(0xc, 6)) == 12); + assert(unsigned(flip_mask(0xd, 6)) == 13); + assert(unsigned(flip_mask(0xe, 6)) == 14); + assert(unsigned(flip_mask(0xf, 6)) == 15); + assert(unsigned(flip_mask(0x0, 64)) == 0); + assert(unsigned(flip_mask(0x1, 64)) == 1); + assert(unsigned(flip_mask(0x10, 64)) == 16); + assert(unsigned(flip_mask(0x100, 64)) == 256); + assert(unsigned(flip_mask(0x10000, 64)) == 65536); + assert(unsigned(flip_mask(0x1000000, 64)) == 16777216); + assert(unsigned(flip_mask(0x100000000, 64)) == 4294967296); + assert(unsigned(flip_mask(0x100000000000, 64)) == 17592186044416); + assert(unsigned(flip_mask(0x100000001, 64)) == 4294967297); + assert(unsigned(flip_mask(0x1000004, 64)) == 16777220); + assert(unsigned(flip_mask(0x1000008, 64)) == 16777224); + assert(unsigned(flip_mask(0x100000c, 64)) == 16777228); + assert(unsigned(flip_mask(0x1000010, 64)) == 16777232); + assert(unsigned(flip_mask(0x1000014, 64)) == 16777236); + assert(unsigned(flip_mask(0x1000018, 64)) == 16777240); + assert(unsigned(flip_mask(0x100001c, 64)) == 16777244); + assert(unsigned(flip_mask(0x1000020, 64)) == 16777248); + assert(unsigned(flip_mask(0x1000024, 64)) == 16777252); + assert(unsigned(flip_mask(0x1000028, 64)) == 16777256); + assert(unsigned(flip_mask(0x100002c, 64)) == 16777260); + assert(unsigned(flip_mask(0x1000030, 64)) == 16777264); + assert(unsigned(flip_mask(0x1000034, 64)) == 16777268); + assert(unsigned(flip_mask(0x1000038, 64)) == 16777272); + assert(unsigned(flip_mask(0x100003c, 64)) == 16777276); + assert(unsigned(flip_mask(0x1000040, 64)) == 16777280); + assert(unsigned(flip_mask(0x1000044, 64)) == 16777284); + assert(unsigned(flip_mask(0x1000048, 64)) == 16777288); + assert(unsigned(flip_mask(0x100004c, 64)) == 16777292); + assert(unsigned(flip_mask(0x1000050, 64)) == 16777296); + assert(unsigned(flip_mask(0x1000054, 64)) == 16777300); + assert(unsigned(flip_mask(0x1000058, 64)) == 16777304); + assert(unsigned(flip_mask(0x100005c, 64)) == 16777308); + assert(unsigned(flip_mask(0x1000060, 64)) == 16777312); + assert(unsigned(flip_mask(0x1000064, 64)) == 16777316); + assert(unsigned(flip_mask(0x1000068, 64)) == 16777320); + assert(unsigned(flip_mask(0x100006c, 64)) == 16777324); + assert(unsigned(flip_mask(0x1000070, 64)) == 16777328); + assert(unsigned(flip_mask(0x1000074, 64)) == 16777332); + assert(unsigned(flip_mask(0x1000078, 64)) == 16777336); + assert(unsigned(flip_mask(0x100007c, 64)) == 16777340); + assert(unsigned(flip_mask(0x1000080, 64)) == 16777344); + assert(unsigned(flip_mask(0x1000088, 64)) == 16777352); + assert(unsigned(flip_mask(0x1000090, 64)) == 16777360); + assert(unsigned(flip_mask(0x1000094, 64)) == 16777364); + assert(unsigned(flip_mask(0x1000098, 64)) == 16777368); + assert(unsigned(flip_mask(0x100009c, 64)) == 16777372); + assert(unsigned(flip_mask(0x10000a0, 64)) == 16777376); + assert(unsigned(flip_mask(0x10000a8, 64)) == 16777384); + assert(unsigned(flip_mask(0x10000ac, 64)) == 16777388); + assert(unsigned(flip_mask(0x10000b0, 64)) == 16777392); + assert(unsigned(flip_mask(0x10000b4, 64)) == 16777396); + assert(unsigned(flip_mask(0x10000b8, 64)) == 16777400); + assert(unsigned(flip_mask(0x10000bc, 64)) == 16777404); + assert(unsigned(flip_mask(0x10000c0, 64)) == 16777408); + assert(unsigned(flip_mask(0x10000c4, 64)) == 16777412); + assert(unsigned(flip_mask(0x10000c8, 64)) == 16777416); + assert(unsigned(flip_mask(0x10000cc, 64)) == 16777420); + assert(unsigned(flip_mask(0x10000d0, 64)) == 16777424); + assert(unsigned(flip_mask(0x10000d4, 64)) == 16777428); + assert(unsigned(flip_mask(0x10000d8, 64)) == 16777432); + assert(unsigned(flip_mask(0x10000dc, 64)) == 16777436); + assert(unsigned(flip_mask(0x10000e0, 64)) == 16777440); + assert(unsigned(flip_mask(0x10000e4, 64)) == 16777444); + assert(unsigned(flip_mask(0x10000e8, 64)) == 16777448); + assert(unsigned(flip_mask(0x10000ec, 64)) == 16777452); + assert(unsigned(flip_mask(0x10000f0, 64)) == 16777456); + assert(unsigned(flip_mask(0x10000f4, 64)) == 16777460); + assert(unsigned(flip_mask(0x10000f8, 64)) == 16777464); + assert(unsigned(flip_mask(0x10000fc, 64)) == 16777468); + assert(unsigned(flip_mask(0x10001, 64)) == 65537); + assert(unsigned(flip_mask(0x1000100, 64)) == 16777472); + assert(unsigned(flip_mask(0x1000100010001, 64)) == 281479271743489); + assert(unsigned(flip_mask(0x1000104, 64)) == 16777476); + assert(unsigned(flip_mask(0x1000108, 64)) == 16777480); + assert(unsigned(flip_mask(0x100010c, 64)) == 16777484); + assert(unsigned(flip_mask(0x1000110, 64)) == 16777488); + assert(unsigned(flip_mask(0x1000114, 64)) == 16777492); + assert(unsigned(flip_mask(0x1000118, 64)) == 16777496); + assert(unsigned(flip_mask(0x100011c, 64)) == 16777500); + assert(unsigned(flip_mask(0x1000120, 64)) == 16777504); + assert(unsigned(flip_mask(0x1000124, 64)) == 16777508); + assert(unsigned(flip_mask(0x1000128, 64)) == 16777512); + assert(unsigned(flip_mask(0x100012c, 64)) == 16777516); + assert(unsigned(flip_mask(0x1000130, 64)) == 16777520); + assert(unsigned(flip_mask(0x1000134, 64)) == 16777524); + assert(unsigned(flip_mask(0x1000138, 64)) == 16777528); + assert(unsigned(flip_mask(0x100013c, 64)) == 16777532); + assert(unsigned(flip_mask(0x1000140, 64)) == 16777536); + assert(unsigned(flip_mask(0x1000144, 64)) == 16777540); + assert(unsigned(flip_mask(0x1000148, 64)) == 16777544); + assert(unsigned(flip_mask(0x100014c, 64)) == 16777548); + assert(unsigned(flip_mask(0x1000150, 64)) == 16777552); + assert(unsigned(flip_mask(0x1000154, 64)) == 16777556); + assert(unsigned(flip_mask(0x1000158, 64)) == 16777560); + assert(unsigned(flip_mask(0x100015c, 64)) == 16777564); + assert(unsigned(flip_mask(0x1000160, 64)) == 16777568); + assert(unsigned(flip_mask(0x1000164, 64)) == 16777572); + assert(unsigned(flip_mask(0x1000168, 64)) == 16777576); + assert(unsigned(flip_mask(0x100016c, 64)) == 16777580); + assert(unsigned(flip_mask(0x1000170, 64)) == 16777584); + assert(unsigned(flip_mask(0x1000174, 64)) == 16777588); + assert(unsigned(flip_mask(0x1000178, 64)) == 16777592); + assert(unsigned(flip_mask(0x100017c, 64)) == 16777596); + assert(unsigned(flip_mask(0x1000180, 64)) == 16777600); + assert(unsigned(flip_mask(0x1000184, 64)) == 16777604); + assert(unsigned(flip_mask(0x1000188, 64)) == 16777608); + assert(unsigned(flip_mask(0x100018c, 64)) == 16777612); + assert(unsigned(flip_mask(0x1000190, 64)) == 16777616); + assert(unsigned(flip_mask(0x1000194, 64)) == 16777620); + assert(unsigned(flip_mask(0x1000198, 64)) == 16777624); + assert(unsigned(flip_mask(0x100019c, 64)) == 16777628); + assert(unsigned(flip_mask(0x10001a0, 64)) == 16777632); + assert(unsigned(flip_mask(0x10001a4, 64)) == 16777636); + assert(unsigned(flip_mask(0x10001a8, 64)) == 16777640); + assert(unsigned(flip_mask(0x10001ac, 64)) == 16777644); + assert(unsigned(flip_mask(0x10001b0, 64)) == 16777648); + assert(unsigned(flip_mask(0x10001b4, 64)) == 16777652); + assert(unsigned(flip_mask(0x10001b8, 64)) == 16777656); + assert(unsigned(flip_mask(0x10001bc, 64)) == 16777660); + assert(unsigned(flip_mask(0x10001c0, 64)) == 16777664); + assert(unsigned(flip_mask(0x10001c4, 64)) == 16777668); + assert(unsigned(flip_mask(0x10001c8, 64)) == 16777672); + assert(unsigned(flip_mask(0x10001cc, 64)) == 16777676); + assert(unsigned(flip_mask(0x10001d0, 64)) == 16777680); + assert(unsigned(flip_mask(0x10001d4, 64)) == 16777684); + assert(unsigned(flip_mask(0x10001d8, 64)) == 16777688); + assert(unsigned(flip_mask(0x10001dc, 64)) == 16777692); + assert(unsigned(flip_mask(0x10001e0, 64)) == 16777696); + assert(unsigned(flip_mask(0x10001e4, 64)) == 16777700); + assert(unsigned(flip_mask(0x10001e8, 64)) == 16777704); + assert(unsigned(flip_mask(0x10001ec, 64)) == 16777708); + assert(unsigned(flip_mask(0x10001f0, 64)) == 16777712); + assert(unsigned(flip_mask(0x10001f4, 64)) == 16777716); + assert(unsigned(flip_mask(0x10001f8, 64)) == 16777720); + assert(unsigned(flip_mask(0x10001fc, 64)) == 16777724); + assert(unsigned(flip_mask(0x1000200, 64)) == 16777728); + assert(unsigned(flip_mask(0x1000204, 64)) == 16777732); + assert(unsigned(flip_mask(0x1000208, 64)) == 16777736); + assert(unsigned(flip_mask(0x100020c, 64)) == 16777740); + assert(unsigned(flip_mask(0x1000210, 64)) == 16777744); + assert(unsigned(flip_mask(0x1000214, 64)) == 16777748); + assert(unsigned(flip_mask(0x1000218, 64)) == 16777752); + assert(unsigned(flip_mask(0x100021c, 64)) == 16777756); + assert(unsigned(flip_mask(0x1000220, 64)) == 16777760); + assert(unsigned(flip_mask(0x1000224, 64)) == 16777764); + assert(unsigned(flip_mask(0x1000228, 64)) == 16777768); + assert(unsigned(flip_mask(0x100022c, 64)) == 16777772); + assert(unsigned(flip_mask(0x1000230, 64)) == 16777776); + assert(unsigned(flip_mask(0x1000234, 64)) == 16777780); + assert(unsigned(flip_mask(0x1000238, 64)) == 16777784); + assert(unsigned(flip_mask(0x100023c, 64)) == 16777788); + assert(unsigned(flip_mask(0x1000240, 64)) == 16777792); + assert(unsigned(flip_mask(0x1000244, 64)) == 16777796); + assert(unsigned(flip_mask(0x1000248, 64)) == 16777800); + assert(unsigned(flip_mask(0x100024c, 64)) == 16777804); + assert(unsigned(flip_mask(0x1000250, 64)) == 16777808); + assert(unsigned(flip_mask(0x1000254, 64)) == 16777812); + assert(unsigned(flip_mask(0x1000258, 64)) == 16777816); + assert(unsigned(flip_mask(0x100025c, 64)) == 16777820); + assert(unsigned(flip_mask(0x1000454, 64)) == 16778324); + assert(unsigned(flip_mask(0x1000458, 64)) == 16778328); + assert(unsigned(flip_mask(0x100045c, 64)) == 16778332); + assert(unsigned(flip_mask(0x1000460, 64)) == 16778336); + assert(unsigned(flip_mask(0x1000464, 64)) == 16778340); + assert(unsigned(flip_mask(0x1000468, 64)) == 16778344); + assert(unsigned(flip_mask(0x100046c, 64)) == 16778348); + assert(unsigned(flip_mask(0x1000470, 64)) == 16778352); + assert(unsigned(flip_mask(0x1000474, 64)) == 16778356); + assert(unsigned(flip_mask(0x1000478, 64)) == 16778360); + assert(unsigned(flip_mask(0x100047c, 64)) == 16778364); + assert(unsigned(flip_mask(0x1000480, 64)) == 16778368); + assert(unsigned(flip_mask(0x1000484, 64)) == 16778372); + assert(unsigned(flip_mask(0x1000488, 64)) == 16778376); + assert(unsigned(flip_mask(0x100048c, 64)) == 16778380); + assert(unsigned(flip_mask(0x1000490, 64)) == 16778384); + assert(unsigned(flip_mask(0x1000494, 64)) == 16778388); + assert(unsigned(flip_mask(0x1000498, 64)) == 16778392); + assert(unsigned(flip_mask(0x100049c, 64)) == 16778396); + assert(unsigned(flip_mask(0x10004a0, 64)) == 16778400); + assert(unsigned(flip_mask(0x10004a4, 64)) == 16778404); + assert(unsigned(flip_mask(0x10004a8, 64)) == 16778408); + assert(unsigned(flip_mask(0x10004ac, 64)) == 16778412); + assert(unsigned(flip_mask(0x10004b0, 64)) == 16778416); + assert(unsigned(flip_mask(0x10004b4, 64)) == 16778420); + assert(unsigned(flip_mask(0x10004b8, 64)) == 16778424); + assert(unsigned(flip_mask(0x10004bc, 64)) == 16778428); + assert(unsigned(flip_mask(0x10004c0, 64)) == 16778432); + assert(unsigned(flip_mask(0x10004c4, 64)) == 16778436); + assert(unsigned(flip_mask(0x10004c8, 64)) == 16778440); + assert(unsigned(flip_mask(0x10004cc, 64)) == 16778444); + assert(unsigned(flip_mask(0x10004d0, 64)) == 16778448); + assert(unsigned(flip_mask(0x10004d8, 64)) == 16778456); + assert(unsigned(flip_mask(0x10004e0, 64)) == 16778464); + assert(unsigned(flip_mask(0x10004e4, 64)) == 16778468); + assert(unsigned(flip_mask(0x10004e8, 64)) == 16778472); + assert(unsigned(flip_mask(0x10004ec, 64)) == 16778476); + assert(unsigned(flip_mask(0x10004f0, 64)) == 16778480); + assert(unsigned(flip_mask(0x10004f4, 64)) == 16778484); + assert(unsigned(flip_mask(0x10004f8, 64)) == 16778488); + assert(unsigned(flip_mask(0x10004fc, 64)) == 16778492); + assert(unsigned(flip_mask(0x1000500, 64)) == 16778496); + assert(unsigned(flip_mask(0x1000504, 64)) == 16778500); + assert(unsigned(flip_mask(0x1000508, 64)) == 16778504); + assert(unsigned(flip_mask(0x100050c, 64)) == 16778508); + assert(unsigned(flip_mask(0x1000510, 64)) == 16778512); + assert(unsigned(flip_mask(0x1000514, 64)) == 16778516); + assert(unsigned(flip_mask(0x1000518, 64)) == 16778520); + assert(unsigned(flip_mask(0x100051c, 64)) == 16778524); + assert(unsigned(flip_mask(0x1000520, 64)) == 16778528); + assert(unsigned(flip_mask(0x1000524, 64)) == 16778532); + assert(unsigned(flip_mask(0x1000528, 64)) == 16778536); + assert(unsigned(flip_mask(0x100052c, 64)) == 16778540); + assert(unsigned(flip_mask(0x1000530, 64)) == 16778544); + assert(unsigned(flip_mask(0x1000534, 64)) == 16778548); + assert(unsigned(flip_mask(0x1000538, 64)) == 16778552); + assert(unsigned(flip_mask(0x100053c, 64)) == 16778556); + assert(unsigned(flip_mask(0x1000540, 64)) == 16778560); + assert(unsigned(flip_mask(0x1000544, 64)) == 16778564); + assert(unsigned(flip_mask(0x1000548, 64)) == 16778568); + assert(unsigned(flip_mask(0x1000804, 64)) == 16779268); + assert(unsigned(flip_mask(0x1000808, 64)) == 16779272); + assert(unsigned(flip_mask(0x100080c, 64)) == 16779276); + assert(unsigned(flip_mask(0x1000810, 64)) == 16779280); + assert(unsigned(flip_mask(0x1000814, 64)) == 16779284); + assert(unsigned(flip_mask(0x1000818, 64)) == 16779288); + assert(unsigned(flip_mask(0x101000, 64)) == 1052672); + assert(unsigned(flip_mask(0x101004, 64)) == 1052676); + assert(unsigned(flip_mask(0x101008, 64)) == 1052680); + assert(unsigned(flip_mask(0x10100c, 64)) == 1052684); + assert(unsigned(flip_mask(0x101010, 64)) == 1052688); + assert(unsigned(flip_mask(0x101014, 64)) == 1052692); + assert(unsigned(flip_mask(0x101018, 64)) == 1052696); + assert(unsigned(flip_mask(0x10101c, 64)) == 1052700); + assert(unsigned(flip_mask(0x101020, 64)) == 1052704); + assert(unsigned(flip_mask(0x101024, 64)) == 1052708); + assert(unsigned(flip_mask(0x101028, 64)) == 1052712); + assert(unsigned(flip_mask(0x10102c, 64)) == 1052716); + assert(unsigned(flip_mask(0x101030, 64)) == 1052720); + assert(unsigned(flip_mask(0x101034, 64)) == 1052724); + assert(unsigned(flip_mask(0x101038, 64)) == 1052728); + assert(unsigned(flip_mask(0x10103c, 64)) == 1052732); + assert(unsigned(flip_mask(0x101040, 64)) == 1052736); + assert(unsigned(flip_mask(0x101044, 64)) == 1052740); + assert(unsigned(flip_mask(0x101048, 64)) == 1052744); + assert(unsigned(flip_mask(0x10104c, 64)) == 1052748); + assert(unsigned(flip_mask(0x101050, 64)) == 1052752); + assert(unsigned(flip_mask(0x101054, 64)) == 1052756); + assert(unsigned(flip_mask(0x101058, 64)) == 1052760); + assert(unsigned(flip_mask(0x10105c, 64)) == 1052764); + assert(unsigned(flip_mask(0x101060, 64)) == 1052768); + assert(unsigned(flip_mask(0x101064, 64)) == 1052772); + assert(unsigned(flip_mask(0x101068, 64)) == 1052776); + assert(unsigned(flip_mask(0x10106c, 64)) == 1052780); + assert(unsigned(flip_mask(0x101070, 64)) == 1052784); + assert(unsigned(flip_mask(0x101074, 64)) == 1052788); + assert(unsigned(flip_mask(0x101078, 64)) == 1052792); + assert(unsigned(flip_mask(0x10107c, 64)) == 1052796); + assert(unsigned(flip_mask(0x101080, 64)) == 1052800); + assert(unsigned(flip_mask(0x101088, 64)) == 1052808); + assert(unsigned(flip_mask(0x10108c, 64)) == 1052812); + assert(unsigned(flip_mask(0x101090, 64)) == 1052816); + assert(unsigned(flip_mask(0x101094, 64)) == 1052820); + assert(unsigned(flip_mask(0x101098, 64)) == 1052824); + assert(unsigned(flip_mask(0x10109c, 64)) == 1052828); + assert(unsigned(flip_mask(0x1010a0, 64)) == 1052832); + assert(unsigned(flip_mask(0x1010ac, 64)) == 1052844); + assert(unsigned(flip_mask(0x1010b0, 64)) == 1052848); + assert(unsigned(flip_mask(0x1010b4, 64)) == 1052852); + assert(unsigned(flip_mask(0x1010b8, 64)) == 1052856); + assert(unsigned(flip_mask(0x1010c0, 64)) == 1052864); + assert(unsigned(flip_mask(0x1010c4, 64)) == 1052868); + assert(unsigned(flip_mask(0x1010c8, 64)) == 1052872); + assert(unsigned(flip_mask(0x1010cc, 64)) == 1052876); + assert(unsigned(flip_mask(0x1010d0, 64)) == 1052880); + assert(unsigned(flip_mask(0x1010d4, 64)) == 1052884); + assert(unsigned(flip_mask(0x1010d8, 64)) == 1052888); + assert(unsigned(flip_mask(0x1010dc, 64)) == 1052892); + assert(unsigned(flip_mask(0x1010e0, 64)) == 1052896); + assert(unsigned(flip_mask(0x1010e4, 64)) == 1052900); + assert(unsigned(flip_mask(0x1010e8, 64)) == 1052904); + assert(unsigned(flip_mask(0x1010ec, 64)) == 1052908); + assert(unsigned(flip_mask(0x1010f0, 64)) == 1052912); + assert(unsigned(flip_mask(0x1010f4, 64)) == 1052916); + assert(unsigned(flip_mask(0x1010f8, 64)) == 1052920); + assert(unsigned(flip_mask(0x1010fc, 64)) == 1052924); + assert(unsigned(flip_mask(0x101100, 64)) == 1052928); + assert(unsigned(flip_mask(0x101104, 64)) == 1052932); + assert(unsigned(flip_mask(0x101108, 64)) == 1052936); + assert(unsigned(flip_mask(0x10110c, 64)) == 1052940); + assert(unsigned(flip_mask(0x101110, 64)) == 1052944); + assert(unsigned(flip_mask(0x101114, 64)) == 1052948); + assert(unsigned(flip_mask(0x101118, 64)) == 1052952); + assert(unsigned(flip_mask(0x10111c, 64)) == 1052956); + assert(unsigned(flip_mask(0x101120, 64)) == 1052960); + assert(unsigned(flip_mask(0x101124, 64)) == 1052964); + assert(unsigned(flip_mask(0x101128, 64)) == 1052968); + assert(unsigned(flip_mask(0x10112c, 64)) == 1052972); + assert(unsigned(flip_mask(0x101130, 64)) == 1052976); + assert(unsigned(flip_mask(0x101134, 64)) == 1052980); + assert(unsigned(flip_mask(0x101138, 64)) == 1052984); + assert(unsigned(flip_mask(0x10113c, 64)) == 1052988); + assert(unsigned(flip_mask(0x101140, 64)) == 1052992); + assert(unsigned(flip_mask(0x101144, 64)) == 1052996); + assert(unsigned(flip_mask(0x101148, 64)) == 1053000); + assert(unsigned(flip_mask(0x10114c, 64)) == 1053004); + assert(unsigned(flip_mask(0x101150, 64)) == 1053008); + assert(unsigned(flip_mask(0x101154, 64)) == 1053012); + assert(unsigned(flip_mask(0x101158, 64)) == 1053016); + assert(unsigned(flip_mask(0x10115c, 64)) == 1053020); + assert(unsigned(flip_mask(0x101160, 64)) == 1053024); + assert(unsigned(flip_mask(0x101164, 64)) == 1053028); + assert(unsigned(flip_mask(0x101168, 64)) == 1053032); + assert(unsigned(flip_mask(0x10116c, 64)) == 1053036); + assert(unsigned(flip_mask(0x101170, 64)) == 1053040); + assert(unsigned(flip_mask(0x101174, 64)) == 1053044); + assert(unsigned(flip_mask(0x101178, 64)) == 1053048); + assert(unsigned(flip_mask(0x10117c, 64)) == 1053052); + assert(unsigned(flip_mask(0x101180, 64)) == 1053056); + assert(unsigned(flip_mask(0x101184, 64)) == 1053060); + assert(unsigned(flip_mask(0x101188, 64)) == 1053064); + assert(unsigned(flip_mask(0x10118c, 64)) == 1053068); + assert(unsigned(flip_mask(0x101190, 64)) == 1053072); + assert(unsigned(flip_mask(0x101194, 64)) == 1053076); + assert(unsigned(flip_mask(0x101198, 64)) == 1053080); + assert(unsigned(flip_mask(0x10119c, 64)) == 1053084); + assert(unsigned(flip_mask(0x1011a0, 64)) == 1053088); + assert(unsigned(flip_mask(0x1011a4, 64)) == 1053092); + assert(unsigned(flip_mask(0x1011a8, 64)) == 1053096); + assert(unsigned(flip_mask(0x1011ac, 64)) == 1053100); + assert(unsigned(flip_mask(0x1011b0, 64)) == 1053104); + assert(unsigned(flip_mask(0x1011b4, 64)) == 1053108); + assert(unsigned(flip_mask(0x1011b8, 64)) == 1053112); + assert(unsigned(flip_mask(0x101200, 64)) == 1053184); + assert(unsigned(flip_mask(0x101204, 64)) == 1053188); + assert(unsigned(flip_mask(0x101208, 64)) == 1053192); + assert(unsigned(flip_mask(0x10120c, 64)) == 1053196); + assert(unsigned(flip_mask(0x101210, 64)) == 1053200); + assert(unsigned(flip_mask(0x101214, 64)) == 1053204); + assert(unsigned(flip_mask(0x101218, 64)) == 1053208); + assert(unsigned(flip_mask(0x10121c, 64)) == 1053212); + assert(unsigned(flip_mask(0x101220, 64)) == 1053216); + assert(unsigned(flip_mask(0x101240, 64)) == 1053248); + assert(unsigned(flip_mask(0x101248, 64)) == 1053256); + assert(unsigned(flip_mask(0x101250, 64)) == 1053264); + assert(unsigned(flip_mask(0x101258, 64)) == 1053272); + assert(unsigned(flip_mask(0x101260, 64)) == 1053280); + assert(unsigned(flip_mask(0x101270, 64)) == 1053296); + assert(unsigned(flip_mask(0x101278, 64)) == 1053304); + assert(unsigned(flip_mask(0x101280, 64)) == 1053312); + assert(unsigned(flip_mask(0x102000, 64)) == 1056768); + assert(unsigned(flip_mask(0x102004, 64)) == 1056772); + assert(unsigned(flip_mask(0x102008, 64)) == 1056776); + assert(unsigned(flip_mask(0x10200c, 64)) == 1056780); + assert(unsigned(flip_mask(0x102010, 64)) == 1056784); + assert(unsigned(flip_mask(0x102014, 64)) == 1056788); + assert(unsigned(flip_mask(0x102018, 64)) == 1056792); + assert(unsigned(flip_mask(0x10201c, 64)) == 1056796); + assert(unsigned(flip_mask(0x102020, 64)) == 1056800); + assert(unsigned(flip_mask(0x102024, 64)) == 1056804); + assert(unsigned(flip_mask(0x102028, 64)) == 1056808); + assert(unsigned(flip_mask(0x10202c, 64)) == 1056812); + assert(unsigned(flip_mask(0x102030, 64)) == 1056816); + assert(unsigned(flip_mask(0x102034, 64)) == 1056820); + assert(unsigned(flip_mask(0x102038, 64)) == 1056824); + assert(unsigned(flip_mask(0x10203c, 64)) == 1056828); + assert(unsigned(flip_mask(0x102040, 64)) == 1056832); + assert(unsigned(flip_mask(0x102044, 64)) == 1056836); + assert(unsigned(flip_mask(0x102048, 64)) == 1056840); + assert(unsigned(flip_mask(0x10204c, 64)) == 1056844); + assert(unsigned(flip_mask(0x102050, 64)) == 1056848); + assert(unsigned(flip_mask(0x102054, 64)) == 1056852); + assert(unsigned(flip_mask(0x102058, 64)) == 1056856); + assert(unsigned(flip_mask(0x10205c, 64)) == 1056860); + assert(unsigned(flip_mask(0x102060, 64)) == 1056864); + assert(unsigned(flip_mask(0x102064, 64)) == 1056868); + assert(unsigned(flip_mask(0x102068, 64)) == 1056872); + assert(unsigned(flip_mask(0x10206c, 64)) == 1056876); + assert(unsigned(flip_mask(0x102070, 64)) == 1056880); + assert(unsigned(flip_mask(0x102074, 64)) == 1056884); + assert(unsigned(flip_mask(0x102078, 64)) == 1056888); + assert(unsigned(flip_mask(0x10207c, 64)) == 1056892); + assert(unsigned(flip_mask(0x102080, 64)) == 1056896); + assert(unsigned(flip_mask(0x102084, 64)) == 1056900); + assert(unsigned(flip_mask(0x102088, 64)) == 1056904); + assert(unsigned(flip_mask(0x10208c, 64)) == 1056908); + assert(unsigned(flip_mask(0x102090, 64)) == 1056912); + assert(unsigned(flip_mask(0x102098, 64)) == 1056920); + assert(unsigned(flip_mask(0x10209c, 64)) == 1056924); + assert(unsigned(flip_mask(0x1020a0, 64)) == 1056928); + assert(unsigned(flip_mask(0x1020a4, 64)) == 1056932); + assert(unsigned(flip_mask(0x1020a8, 64)) == 1056936); + assert(unsigned(flip_mask(0x1020ac, 64)) == 1056940); + assert(unsigned(flip_mask(0x1020b0, 64)) == 1056944); + assert(unsigned(flip_mask(0x1020bc, 64)) == 1056956); + assert(unsigned(flip_mask(0x1020c0, 64)) == 1056960); + assert(unsigned(flip_mask(0x1020c4, 64)) == 1056964); + assert(unsigned(flip_mask(0x1020c8, 64)) == 1056968); + assert(unsigned(flip_mask(0x1020d0, 64)) == 1056976); + assert(unsigned(flip_mask(0x1020d4, 64)) == 1056980); + assert(unsigned(flip_mask(0x1020d8, 64)) == 1056984); + assert(unsigned(flip_mask(0x1020dc, 64)) == 1056988); + assert(unsigned(flip_mask(0x1020e0, 64)) == 1056992); + assert(unsigned(flip_mask(0x1020e4, 64)) == 1056996); + assert(unsigned(flip_mask(0x1020e8, 64)) == 1057000); + assert(unsigned(flip_mask(0x1020ec, 64)) == 1057004); + assert(unsigned(flip_mask(0x1020f0, 64)) == 1057008); + assert(unsigned(flip_mask(0x1020f4, 64)) == 1057012); + assert(unsigned(flip_mask(0x1020f8, 64)) == 1057016); + assert(unsigned(flip_mask(0x1020fc, 64)) == 1057020); + assert(unsigned(flip_mask(0x102100, 64)) == 1057024); + assert(unsigned(flip_mask(0x102104, 64)) == 1057028); + assert(unsigned(flip_mask(0x102108, 64)) == 1057032); + assert(unsigned(flip_mask(0x10210c, 64)) == 1057036); + assert(unsigned(flip_mask(0x102110, 64)) == 1057040); + assert(unsigned(flip_mask(0x102114, 64)) == 1057044); + assert(unsigned(flip_mask(0x102118, 64)) == 1057048); + assert(unsigned(flip_mask(0x10211c, 64)) == 1057052); + assert(unsigned(flip_mask(0x102120, 64)) == 1057056); + assert(unsigned(flip_mask(0x102124, 64)) == 1057060); + assert(unsigned(flip_mask(0x102128, 64)) == 1057064); + assert(unsigned(flip_mask(0x10212c, 64)) == 1057068); + assert(unsigned(flip_mask(0x102130, 64)) == 1057072); + assert(unsigned(flip_mask(0x102134, 64)) == 1057076); + assert(unsigned(flip_mask(0x102138, 64)) == 1057080); + assert(unsigned(flip_mask(0x10213c, 64)) == 1057084); + assert(unsigned(flip_mask(0x102140, 64)) == 1057088); + assert(unsigned(flip_mask(0x102144, 64)) == 1057092); + assert(unsigned(flip_mask(0x102148, 64)) == 1057096); + assert(unsigned(flip_mask(0x10214c, 64)) == 1057100); + assert(unsigned(flip_mask(0x102150, 64)) == 1057104); + assert(unsigned(flip_mask(0x102154, 64)) == 1057108); + assert(unsigned(flip_mask(0x102158, 64)) == 1057112); + assert(unsigned(flip_mask(0x10215c, 64)) == 1057116); + assert(unsigned(flip_mask(0x102160, 64)) == 1057120); + assert(unsigned(flip_mask(0x102164, 64)) == 1057124); + assert(unsigned(flip_mask(0x102168, 64)) == 1057128); + assert(unsigned(flip_mask(0x10216c, 64)) == 1057132); + assert(unsigned(flip_mask(0x102170, 64)) == 1057136); + assert(unsigned(flip_mask(0x102174, 64)) == 1057140); + assert(unsigned(flip_mask(0x102178, 64)) == 1057144); + assert(unsigned(flip_mask(0x10217c, 64)) == 1057148); + assert(unsigned(flip_mask(0x102180, 64)) == 1057152); + assert(unsigned(flip_mask(0x102184, 64)) == 1057156); + assert(unsigned(flip_mask(0x102188, 64)) == 1057160); + assert(unsigned(flip_mask(0x10218c, 64)) == 1057164); + assert(unsigned(flip_mask(0x102190, 64)) == 1057168); + assert(unsigned(flip_mask(0x102194, 64)) == 1057172); + assert(unsigned(flip_mask(0x102198, 64)) == 1057176); + assert(unsigned(flip_mask(0x10219c, 64)) == 1057180); + assert(unsigned(flip_mask(0x1021a0, 64)) == 1057184); + assert(unsigned(flip_mask(0x1021a4, 64)) == 1057188); + assert(unsigned(flip_mask(0x1021a8, 64)) == 1057192); + assert(unsigned(flip_mask(0x1021ac, 64)) == 1057196); + assert(unsigned(flip_mask(0x1021b0, 64)) == 1057200); + assert(unsigned(flip_mask(0x1021b4, 64)) == 1057204); + assert(unsigned(flip_mask(0x1021b8, 64)) == 1057208); + assert(unsigned(flip_mask(0x102200, 64)) == 1057280); + assert(unsigned(flip_mask(0x102204, 64)) == 1057284); + assert(unsigned(flip_mask(0x102208, 64)) == 1057288); + assert(unsigned(flip_mask(0x10220c, 64)) == 1057292); + assert(unsigned(flip_mask(0x102210, 64)) == 1057296); + assert(unsigned(flip_mask(0x102214, 64)) == 1057300); + assert(unsigned(flip_mask(0x102218, 64)) == 1057304); + assert(unsigned(flip_mask(0x10221c, 64)) == 1057308); + assert(unsigned(flip_mask(0x102220, 64)) == 1057312); + assert(unsigned(flip_mask(0x102240, 64)) == 1057344); + assert(unsigned(flip_mask(0x102248, 64)) == 1057352); + assert(unsigned(flip_mask(0x102250, 64)) == 1057360); + assert(unsigned(flip_mask(0x102258, 64)) == 1057368); + assert(unsigned(flip_mask(0x102260, 64)) == 1057376); + assert(unsigned(flip_mask(0x102270, 64)) == 1057392); + assert(unsigned(flip_mask(0x102278, 64)) == 1057400); + assert(unsigned(flip_mask(0x102280, 64)) == 1057408); + assert(unsigned(flip_mask(0x10300000, 64)) == 271581184); + assert(unsigned(flip_mask(0x10300004, 64)) == 271581188); + assert(unsigned(flip_mask(0x10300008, 64)) == 271581192); + assert(unsigned(flip_mask(0x10300010, 64)) == 271581200); + assert(unsigned(flip_mask(0x104000, 64)) == 1064960); + assert(unsigned(flip_mask(0x10400000, 64)) == 272629760); + assert(unsigned(flip_mask(0x1040022c, 64)) == 272630316); + assert(unsigned(flip_mask(0x10400230, 64)) == 272630320); + assert(unsigned(flip_mask(0x10400234, 64)) == 272630324); + assert(unsigned(flip_mask(0x10400238, 64)) == 272630328); + assert(unsigned(flip_mask(0x1040023c, 64)) == 272630332); + assert(unsigned(flip_mask(0x10400240, 64)) == 272630336); + assert(unsigned(flip_mask(0x10400244, 64)) == 272630340); + assert(unsigned(flip_mask(0x10400248, 64)) == 272630344); + assert(unsigned(flip_mask(0x104004, 64)) == 1064964); + assert(unsigned(flip_mask(0x104008, 64)) == 1064968); + assert(unsigned(flip_mask(0x10400c, 64)) == 1064972); + assert(unsigned(flip_mask(0x104010, 64)) == 1064976); + assert(unsigned(flip_mask(0x10401220, 64)) == 272634400); + assert(unsigned(flip_mask(0x10401224, 64)) == 272634404); + assert(unsigned(flip_mask(0x10401228, 64)) == 272634408); + assert(unsigned(flip_mask(0x1040122c, 64)) == 272634412); + assert(unsigned(flip_mask(0x10401230, 64)) == 272634416); + assert(unsigned(flip_mask(0x10401234, 64)) == 272634420); + assert(unsigned(flip_mask(0x10401238, 64)) == 272634424); + assert(unsigned(flip_mask(0x104014, 64)) == 1064980); + assert(unsigned(flip_mask(0x104018, 64)) == 1064984); + assert(unsigned(flip_mask(0x10401c, 64)) == 1064988); + assert(unsigned(flip_mask(0x104020, 64)) == 1064992); + assert(unsigned(flip_mask(0x10402220, 64)) == 272638496); + assert(unsigned(flip_mask(0x10402224, 64)) == 272638500); + assert(unsigned(flip_mask(0x10402228, 64)) == 272638504); + assert(unsigned(flip_mask(0x1040222c, 64)) == 272638508); + assert(unsigned(flip_mask(0x10402230, 64)) == 272638512); + assert(unsigned(flip_mask(0x10402234, 64)) == 272638516); + assert(unsigned(flip_mask(0x10402238, 64)) == 272638520); + assert(unsigned(flip_mask(0x104024, 64)) == 1064996); + assert(unsigned(flip_mask(0x104028, 64)) == 1065000); + assert(unsigned(flip_mask(0x10402c, 64)) == 1065004); + assert(unsigned(flip_mask(0x104030, 64)) == 1065008); + assert(unsigned(flip_mask(0x104034, 64)) == 1065012); + assert(unsigned(flip_mask(0x104038, 64)) == 1065016); + assert(unsigned(flip_mask(0x10403c, 64)) == 1065020); + assert(unsigned(flip_mask(0x104040, 64)) == 1065024); + assert(unsigned(flip_mask(0x104044, 64)) == 1065028); + assert(unsigned(flip_mask(0x104048, 64)) == 1065032); + assert(unsigned(flip_mask(0x10404c, 64)) == 1065036); + assert(unsigned(flip_mask(0x104050, 64)) == 1065040); + assert(unsigned(flip_mask(0x104054, 64)) == 1065044); + assert(unsigned(flip_mask(0x104058, 64)) == 1065048); + assert(unsigned(flip_mask(0x10405c, 64)) == 1065052); + assert(unsigned(flip_mask(0x104060, 64)) == 1065056); + assert(unsigned(flip_mask(0x104064, 64)) == 1065060); + assert(unsigned(flip_mask(0x104068, 64)) == 1065064); + assert(unsigned(flip_mask(0x10406c, 64)) == 1065068); + assert(unsigned(flip_mask(0x104070, 64)) == 1065072); + assert(unsigned(flip_mask(0x104074, 64)) == 1065076); + assert(unsigned(flip_mask(0x104078, 64)) == 1065080); + assert(unsigned(flip_mask(0x10407c, 64)) == 1065084); + assert(unsigned(flip_mask(0x104080, 64)) == 1065088); + assert(unsigned(flip_mask(0x104088, 64)) == 1065096); + assert(unsigned(flip_mask(0x10408c, 64)) == 1065100); + assert(unsigned(flip_mask(0x104090, 64)) == 1065104); + assert(unsigned(flip_mask(0x104094, 64)) == 1065108); + assert(unsigned(flip_mask(0x104098, 64)) == 1065112); + assert(unsigned(flip_mask(0x10409c, 64)) == 1065116); + assert(unsigned(flip_mask(0x1040a0, 64)) == 1065120); + assert(unsigned(flip_mask(0x1040ac, 64)) == 1065132); + assert(unsigned(flip_mask(0x1040b0, 64)) == 1065136); + assert(unsigned(flip_mask(0x1040b4, 64)) == 1065140); + assert(unsigned(flip_mask(0x1040b8, 64)) == 1065144); + assert(unsigned(flip_mask(0x1040c0, 64)) == 1065152); + assert(unsigned(flip_mask(0x1040c4, 64)) == 1065156); + assert(unsigned(flip_mask(0x1040c8, 64)) == 1065160); + assert(unsigned(flip_mask(0x1040cc, 64)) == 1065164); + assert(unsigned(flip_mask(0x1040d0, 64)) == 1065168); + assert(unsigned(flip_mask(0x1040d4, 64)) == 1065172); + assert(unsigned(flip_mask(0x1040d8, 64)) == 1065176); + assert(unsigned(flip_mask(0x1040dc, 64)) == 1065180); + assert(unsigned(flip_mask(0x1040e0, 64)) == 1065184); + assert(unsigned(flip_mask(0x1040e4, 64)) == 1065188); + assert(unsigned(flip_mask(0x1040e8, 64)) == 1065192); + assert(unsigned(flip_mask(0x1040ec, 64)) == 1065196); + assert(unsigned(flip_mask(0x1040f0, 64)) == 1065200); + assert(unsigned(flip_mask(0x1040f4, 64)) == 1065204); + assert(unsigned(flip_mask(0x1040f8, 64)) == 1065208); + assert(unsigned(flip_mask(0x1040fc, 64)) == 1065212); + assert(unsigned(flip_mask(0x104100, 64)) == 1065216); + assert(unsigned(flip_mask(0x104104, 64)) == 1065220); + assert(unsigned(flip_mask(0x104108, 64)) == 1065224); + assert(unsigned(flip_mask(0x10410c, 64)) == 1065228); + assert(unsigned(flip_mask(0x104110, 64)) == 1065232); + assert(unsigned(flip_mask(0x104114, 64)) == 1065236); + assert(unsigned(flip_mask(0x104118, 64)) == 1065240); + assert(unsigned(flip_mask(0x10411c, 64)) == 1065244); + assert(unsigned(flip_mask(0x104120, 64)) == 1065248); + assert(unsigned(flip_mask(0x104124, 64)) == 1065252); + assert(unsigned(flip_mask(0x104128, 64)) == 1065256); + assert(unsigned(flip_mask(0x10412c, 64)) == 1065260); + assert(unsigned(flip_mask(0x104130, 64)) == 1065264); + assert(unsigned(flip_mask(0x104134, 64)) == 1065268); + assert(unsigned(flip_mask(0x104138, 64)) == 1065272); + assert(unsigned(flip_mask(0x10413c, 64)) == 1065276); + assert(unsigned(flip_mask(0x104140, 64)) == 1065280); + assert(unsigned(flip_mask(0x104144, 64)) == 1065284); + assert(unsigned(flip_mask(0x104148, 64)) == 1065288); + assert(unsigned(flip_mask(0x10414c, 64)) == 1065292); + assert(unsigned(flip_mask(0x104150, 64)) == 1065296); + assert(unsigned(flip_mask(0x104154, 64)) == 1065300); + assert(unsigned(flip_mask(0x104158, 64)) == 1065304); + assert(unsigned(flip_mask(0x10415c, 64)) == 1065308); + assert(unsigned(flip_mask(0x104160, 64)) == 1065312); + assert(unsigned(flip_mask(0x104164, 64)) == 1065316); + assert(unsigned(flip_mask(0x104168, 64)) == 1065320); + assert(unsigned(flip_mask(0x10416c, 64)) == 1065324); + assert(unsigned(flip_mask(0x104170, 64)) == 1065328); + assert(unsigned(flip_mask(0x104174, 64)) == 1065332); + assert(unsigned(flip_mask(0x104178, 64)) == 1065336); + assert(unsigned(flip_mask(0x10417c, 64)) == 1065340); + assert(unsigned(flip_mask(0x104180, 64)) == 1065344); + assert(unsigned(flip_mask(0x104184, 64)) == 1065348); + assert(unsigned(flip_mask(0x104188, 64)) == 1065352); + assert(unsigned(flip_mask(0x10418c, 64)) == 1065356); + assert(unsigned(flip_mask(0x104190, 64)) == 1065360); + assert(unsigned(flip_mask(0x104194, 64)) == 1065364); + assert(unsigned(flip_mask(0x104198, 64)) == 1065368); + assert(unsigned(flip_mask(0x10419c, 64)) == 1065372); + assert(unsigned(flip_mask(0x1041a0, 64)) == 1065376); + assert(unsigned(flip_mask(0x1041a4, 64)) == 1065380); + assert(unsigned(flip_mask(0x1041a8, 64)) == 1065384); + assert(unsigned(flip_mask(0x1041ac, 64)) == 1065388); + assert(unsigned(flip_mask(0x1041b0, 64)) == 1065392); + assert(unsigned(flip_mask(0x1041b4, 64)) == 1065396); + assert(unsigned(flip_mask(0x1041b8, 64)) == 1065400); + assert(unsigned(flip_mask(0x1041bc, 64)) == 1065404); + assert(unsigned(flip_mask(0x1041c0, 64)) == 1065408); + assert(unsigned(flip_mask(0x104200, 64)) == 1065472); + assert(unsigned(flip_mask(0x104204, 64)) == 1065476); + assert(unsigned(flip_mask(0x104208, 64)) == 1065480); + assert(unsigned(flip_mask(0x10420c, 64)) == 1065484); + assert(unsigned(flip_mask(0x104210, 64)) == 1065488); + assert(unsigned(flip_mask(0x104214, 64)) == 1065492); + assert(unsigned(flip_mask(0x104218, 64)) == 1065496); + assert(unsigned(flip_mask(0x10421c, 64)) == 1065500); + assert(unsigned(flip_mask(0x104220, 64)) == 1065504); + assert(unsigned(flip_mask(0x104224, 64)) == 1065508); + assert(unsigned(flip_mask(0x104228, 64)) == 1065512); + assert(unsigned(flip_mask(0x10422c, 64)) == 1065516); + assert(unsigned(flip_mask(0x104250, 64)) == 1065552); + assert(unsigned(flip_mask(0x104258, 64)) == 1065560); + assert(unsigned(flip_mask(0x104260, 64)) == 1065568); + assert(unsigned(flip_mask(0x104268, 64)) == 1065576); + assert(unsigned(flip_mask(0x104270, 64)) == 1065584); + assert(unsigned(flip_mask(0x104278, 64)) == 1065592); + assert(unsigned(flip_mask(0x10427c, 64)) == 1065596); + assert(unsigned(flip_mask(0x104280, 64)) == 1065600); + assert(unsigned(flip_mask(0x104284, 64)) == 1065604); + assert(unsigned(flip_mask(0x1042b8, 64)) == 1065656); + assert(unsigned(flip_mask(0x1042bc, 64)) == 1065660); + assert(unsigned(flip_mask(0x1042d4, 64)) == 1065684); + assert(unsigned(flip_mask(0x1042e0, 64)) == 1065696); + assert(unsigned(flip_mask(0x104300, 64)) == 1065728); + assert(unsigned(flip_mask(0x104308, 64)) == 1065736); + assert(unsigned(flip_mask(0x104310, 64)) == 1065744); + assert(unsigned(flip_mask(0x104320, 64)) == 1065760); + assert(unsigned(flip_mask(0x104328, 64)) == 1065768); + assert(unsigned(flip_mask(0x104330, 64)) == 1065776); + assert(unsigned(flip_mask(0x104338, 64)) == 1065784); + assert(unsigned(flip_mask(0x104340, 64)) == 1065792); + assert(unsigned(flip_mask(0x104360, 64)) == 1065824); + assert(unsigned(flip_mask(0x104368, 64)) == 1065832); + assert(unsigned(flip_mask(0x104410, 64)) == 1066000); + assert(unsigned(flip_mask(0x104418, 64)) == 1066008); + assert(unsigned(flip_mask(0x104420, 64)) == 1066016); + assert(unsigned(flip_mask(0x104428, 64)) == 1066024); + assert(unsigned(flip_mask(0x104550, 64)) == 1066320); + assert(unsigned(flip_mask(0x1045a0, 64)) == 1066400); + assert(unsigned(flip_mask(0x1045a4, 64)) == 1066404); + assert(unsigned(flip_mask(0x1045b0, 64)) == 1066416); + assert(unsigned(flip_mask(0x1045b8, 64)) == 1066424); + assert(unsigned(flip_mask(0x1045c0, 64)) == 1066432); + assert(unsigned(flip_mask(0x1045c4, 64)) == 1066436); + assert(unsigned(flip_mask(0x1045c8, 64)) == 1066440); + assert(unsigned(flip_mask(0x1045d0, 64)) == 1066448); + assert(unsigned(flip_mask(0x1045d8, 64)) == 1066456); + assert(unsigned(flip_mask(0x1045e0, 64)) == 1066464); + assert(unsigned(flip_mask(0x1045e8, 64)) == 1066472); + assert(unsigned(flip_mask(0x1045f0, 64)) == 1066480); + assert(unsigned(flip_mask(0x1045f8, 64)) == 1066488); + assert(unsigned(flip_mask(0x104600, 64)) == 1066496); + assert(unsigned(flip_mask(0x104608, 64)) == 1066504); + assert(unsigned(flip_mask(0x104610, 64)) == 1066512); + assert(unsigned(flip_mask(0x104618, 64)) == 1066520); + assert(unsigned(flip_mask(0x104620, 64)) == 1066528); + assert(unsigned(flip_mask(0x104628, 64)) == 1066536); + assert(unsigned(flip_mask(0x104630, 64)) == 1066544); + assert(unsigned(flip_mask(0x104638, 64)) == 1066552); + assert(unsigned(flip_mask(0x104640, 64)) == 1066560); + assert(unsigned(flip_mask(0x104648, 64)) == 1066568); + assert(unsigned(flip_mask(0x104650, 64)) == 1066576); + assert(unsigned(flip_mask(0x104658, 64)) == 1066584); + assert(unsigned(flip_mask(0x104660, 64)) == 1066592); + assert(unsigned(flip_mask(0x104668, 64)) == 1066600); + assert(unsigned(flip_mask(0x104670, 64)) == 1066608); + assert(unsigned(flip_mask(0x104678, 64)) == 1066616); + assert(unsigned(flip_mask(0x104680, 64)) == 1066624); + assert(unsigned(flip_mask(0x104688, 64)) == 1066632); + assert(unsigned(flip_mask(0x104690, 64)) == 1066640); + assert(unsigned(flip_mask(0x1046a0, 64)) == 1066656); + assert(unsigned(flip_mask(0x1046a8, 64)) == 1066664); + assert(unsigned(flip_mask(0x1046b0, 64)) == 1066672); + assert(unsigned(flip_mask(0x1046b8, 64)) == 1066680); + assert(unsigned(flip_mask(0x1046c0, 64)) == 1066688); + assert(unsigned(flip_mask(0x1046c8, 64)) == 1066696); + assert(unsigned(flip_mask(0x1046d0, 64)) == 1066704); + assert(unsigned(flip_mask(0x1046d8, 64)) == 1066712); + assert(unsigned(flip_mask(0x1046e0, 64)) == 1066720); + assert(unsigned(flip_mask(0x1046e8, 64)) == 1066728); + assert(unsigned(flip_mask(0x1046f0, 64)) == 1066736); + assert(unsigned(flip_mask(0x1046f8, 64)) == 1066744); + assert(unsigned(flip_mask(0x104700, 64)) == 1066752); + assert(unsigned(flip_mask(0x104708, 64)) == 1066760); + assert(unsigned(flip_mask(0x104710, 64)) == 1066768); + assert(unsigned(flip_mask(0x104718, 64)) == 1066776); + assert(unsigned(flip_mask(0x104720, 64)) == 1066784); + assert(unsigned(flip_mask(0x104728, 64)) == 1066792); + assert(unsigned(flip_mask(0x104730, 64)) == 1066800); + assert(unsigned(flip_mask(0x104738, 64)) == 1066808); + assert(unsigned(flip_mask(0x104740, 64)) == 1066816); + assert(unsigned(flip_mask(0x104750, 64)) == 1066832); + assert(unsigned(flip_mask(0x104d50, 64)) == 1068368); + assert(unsigned(flip_mask(0x104d54, 64)) == 1068372); + assert(unsigned(flip_mask(0x104d58, 64)) == 1068376); + assert(unsigned(flip_mask(0x104d5c, 64)) == 1068380); + assert(unsigned(flip_mask(0x104d60, 64)) == 1068384); + assert(unsigned(flip_mask(0x104d64, 64)) == 1068388); + assert(unsigned(flip_mask(0x104d68, 64)) == 1068392); + assert(unsigned(flip_mask(0x104d6c, 64)) == 1068396); + assert(unsigned(flip_mask(0x104d70, 64)) == 1068400); + assert(unsigned(flip_mask(0x104d74, 64)) == 1068404); + assert(unsigned(flip_mask(0x104d78, 64)) == 1068408); + assert(unsigned(flip_mask(0x104d7c, 64)) == 1068412); + assert(unsigned(flip_mask(0x104d80, 64)) == 1068416); + assert(unsigned(flip_mask(0x104d84, 64)) == 1068420); + assert(unsigned(flip_mask(0x104d88, 64)) == 1068424); + assert(unsigned(flip_mask(0x104d8c, 64)) == 1068428); + assert(unsigned(flip_mask(0x104d90, 64)) == 1068432); + assert(unsigned(flip_mask(0x104d94, 64)) == 1068436); + assert(unsigned(flip_mask(0x104d98, 64)) == 1068440); + assert(unsigned(flip_mask(0x104d9c, 64)) == 1068444); + assert(unsigned(flip_mask(0x104da0, 64)) == 1068448); + assert(unsigned(flip_mask(0x104da4, 64)) == 1068452); + assert(unsigned(flip_mask(0x104da8, 64)) == 1068456); + assert(unsigned(flip_mask(0x104dac, 64)) == 1068460); + assert(unsigned(flip_mask(0x104db0, 64)) == 1068464); + assert(unsigned(flip_mask(0x104db4, 64)) == 1068468); + assert(unsigned(flip_mask(0x104db8, 64)) == 1068472); + assert(unsigned(flip_mask(0x104dbc, 64)) == 1068476); + assert(unsigned(flip_mask(0x104dc0, 64)) == 1068480); + assert(unsigned(flip_mask(0x104dc8, 64)) == 1068488); + assert(unsigned(flip_mask(0x104dcc, 64)) == 1068492); + assert(unsigned(flip_mask(0x104dd0, 64)) == 1068496); + assert(unsigned(flip_mask(0x104dd4, 64)) == 1068500); + assert(unsigned(flip_mask(0x104dd8, 64)) == 1068504); + assert(unsigned(flip_mask(0x104ddc, 64)) == 1068508); + assert(unsigned(flip_mask(0x104de0, 64)) == 1068512); + assert(unsigned(flip_mask(0x104de4, 64)) == 1068516); + assert(unsigned(flip_mask(0x104de8, 64)) == 1068520); + assert(unsigned(flip_mask(0x104df4, 64)) == 1068532); + assert(unsigned(flip_mask(0x104df8, 64)) == 1068536); + assert(unsigned(flip_mask(0x104dfc, 64)) == 1068540); + assert(unsigned(flip_mask(0x104e00, 64)) == 1068544); + assert(unsigned(flip_mask(0x104e04, 64)) == 1068548); + assert(unsigned(flip_mask(0x104e08, 64)) == 1068552); + assert(unsigned(flip_mask(0x104e0c, 64)) == 1068556); + assert(unsigned(flip_mask(0x104e10, 64)) == 1068560); + assert(unsigned(flip_mask(0x104e14, 64)) == 1068564); + assert(unsigned(flip_mask(0x104e18, 64)) == 1068568); + assert(unsigned(flip_mask(0x104e1c, 64)) == 1068572); + assert(unsigned(flip_mask(0x104e20, 64)) == 1068576); + assert(unsigned(flip_mask(0x104e24, 64)) == 1068580); + assert(unsigned(flip_mask(0x104e28, 64)) == 1068584); + assert(unsigned(flip_mask(0x104e2c, 64)) == 1068588); + assert(unsigned(flip_mask(0x104e30, 64)) == 1068592); + assert(unsigned(flip_mask(0x104e34, 64)) == 1068596); + assert(unsigned(flip_mask(0x104e38, 64)) == 1068600); + assert(unsigned(flip_mask(0x104e3c, 64)) == 1068604); + assert(unsigned(flip_mask(0x104e40, 64)) == 1068608); + assert(unsigned(flip_mask(0x104e44, 64)) == 1068612); + assert(unsigned(flip_mask(0x104e48, 64)) == 1068616); + assert(unsigned(flip_mask(0x104e4c, 64)) == 1068620); + assert(unsigned(flip_mask(0x104e50, 64)) == 1068624); + assert(unsigned(flip_mask(0x104e54, 64)) == 1068628); + assert(unsigned(flip_mask(0x104e58, 64)) == 1068632); + assert(unsigned(flip_mask(0x104e5c, 64)) == 1068636); + assert(unsigned(flip_mask(0x104e60, 64)) == 1068640); + assert(unsigned(flip_mask(0x104e64, 64)) == 1068644); + assert(unsigned(flip_mask(0x104e68, 64)) == 1068648); + assert(unsigned(flip_mask(0x104e6c, 64)) == 1068652); + assert(unsigned(flip_mask(0x104e70, 64)) == 1068656); + assert(unsigned(flip_mask(0x104e74, 64)) == 1068660); + assert(unsigned(flip_mask(0x104e78, 64)) == 1068664); + assert(unsigned(flip_mask(0x104e7c, 64)) == 1068668); + assert(unsigned(flip_mask(0x104e80, 64)) == 1068672); + assert(unsigned(flip_mask(0x104e84, 64)) == 1068676); + assert(unsigned(flip_mask(0x104e88, 64)) == 1068680); + assert(unsigned(flip_mask(0x104e8c, 64)) == 1068684); + assert(unsigned(flip_mask(0x104e90, 64)) == 1068688); + assert(unsigned(flip_mask(0x104e94, 64)) == 1068692); + assert(unsigned(flip_mask(0x104e98, 64)) == 1068696); + assert(unsigned(flip_mask(0x104e9c, 64)) == 1068700); + assert(unsigned(flip_mask(0x104ea0, 64)) == 1068704); + assert(unsigned(flip_mask(0x104ea4, 64)) == 1068708); + assert(unsigned(flip_mask(0x104ea8, 64)) == 1068712); + assert(unsigned(flip_mask(0x104eac, 64)) == 1068716); + assert(unsigned(flip_mask(0x104eb0, 64)) == 1068720); + assert(unsigned(flip_mask(0x104eb4, 64)) == 1068724); + assert(unsigned(flip_mask(0x104eb8, 64)) == 1068728); + assert(unsigned(flip_mask(0x104ebc, 64)) == 1068732); + assert(unsigned(flip_mask(0x104ec0, 64)) == 1068736); + assert(unsigned(flip_mask(0x104ec4, 64)) == 1068740); + assert(unsigned(flip_mask(0x104ec8, 64)) == 1068744); + assert(unsigned(flip_mask(0x104ecc, 64)) == 1068748); +} diff --git a/test/builtins/unsigned4.sail b/test/builtins/unsigned4.sail new file mode 100644 index 00000000..c92e568f --- /dev/null +++ b/test/builtins/unsigned4.sail @@ -0,0 +1,3001 @@ +default Order dec + +$include <exception_basic.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(unsigned(zero_extend(0x104ef4, 64)) == 1068788); + assert(unsigned(zero_extend(0x104ef8, 64)) == 1068792); + assert(unsigned(zero_extend(0x104efc, 64)) == 1068796); + assert(unsigned(zero_extend(0x104f00, 64)) == 1068800); + assert(unsigned(zero_extend(0x104f04, 64)) == 1068804); + assert(unsigned(zero_extend(0x104f08, 64)) == 1068808); + assert(unsigned(zero_extend(0x104f0c, 64)) == 1068812); + assert(unsigned(zero_extend(0x104f10, 64)) == 1068816); + assert(unsigned(zero_extend(0x104f14, 64)) == 1068820); + assert(unsigned(zero_extend(0x104f20, 64)) == 1068832); + assert(unsigned(zero_extend(0x104f24, 64)) == 1068836); + assert(unsigned(zero_extend(0x104f28, 64)) == 1068840); + assert(unsigned(zero_extend(0x104f2c, 64)) == 1068844); + assert(unsigned(zero_extend(0x104f3c, 64)) == 1068860); + assert(unsigned(zero_extend(0x104f40, 64)) == 1068864); + assert(unsigned(zero_extend(0x104f44, 64)) == 1068868); + assert(unsigned(zero_extend(0x104f48, 64)) == 1068872); + assert(unsigned(zero_extend(0x104f4c, 64)) == 1068876); + assert(unsigned(zero_extend(0x104f50, 64)) == 1068880); + assert(unsigned(zero_extend(0x104f54, 64)) == 1068884); + assert(unsigned(zero_extend(0x104f58, 64)) == 1068888); + assert(unsigned(zero_extend(0x104f5c, 64)) == 1068892); + assert(unsigned(zero_extend(0x104f60, 64)) == 1068896); + assert(unsigned(zero_extend(0x104f64, 64)) == 1068900); + assert(unsigned(zero_extend(0x104f68, 64)) == 1068904); + assert(unsigned(zero_extend(0x104f6c, 64)) == 1068908); + assert(unsigned(zero_extend(0x104f70, 64)) == 1068912); + assert(unsigned(zero_extend(0x104f74, 64)) == 1068916); + assert(unsigned(zero_extend(0x104f78, 64)) == 1068920); + assert(unsigned(zero_extend(0x104f7c, 64)) == 1068924); + assert(unsigned(zero_extend(0x104f80, 64)) == 1068928); + assert(unsigned(zero_extend(0x104f84, 64)) == 1068932); + assert(unsigned(zero_extend(0x104f88, 64)) == 1068936); + assert(unsigned(zero_extend(0x104f8c, 64)) == 1068940); + assert(unsigned(zero_extend(0x104f90, 64)) == 1068944); + assert(unsigned(zero_extend(0x104f94, 64)) == 1068948); + assert(unsigned(zero_extend(0x104f98, 64)) == 1068952); + assert(unsigned(zero_extend(0x104f9c, 64)) == 1068956); + assert(unsigned(zero_extend(0x104fa0, 64)) == 1068960); + assert(unsigned(zero_extend(0x104fa4, 64)) == 1068964); + assert(unsigned(zero_extend(0x104fa8, 64)) == 1068968); + assert(unsigned(zero_extend(0x104fac, 64)) == 1068972); + assert(unsigned(zero_extend(0x104fb0, 64)) == 1068976); + assert(unsigned(zero_extend(0x104fb4, 64)) == 1068980); + assert(unsigned(zero_extend(0x104fb8, 64)) == 1068984); + assert(unsigned(zero_extend(0x104fbc, 64)) == 1068988); + assert(unsigned(zero_extend(0x104fc0, 64)) == 1068992); + assert(unsigned(zero_extend(0x104fc4, 64)) == 1068996); + assert(unsigned(zero_extend(0x104fc8, 64)) == 1069000); + assert(unsigned(zero_extend(0x104fcc, 64)) == 1069004); + assert(unsigned(zero_extend(0x104fd0, 64)) == 1069008); + assert(unsigned(zero_extend(0x104fd4, 64)) == 1069012); + assert(unsigned(zero_extend(0x104fd8, 64)) == 1069016); + assert(unsigned(zero_extend(0x104fdc, 64)) == 1069020); + assert(unsigned(zero_extend(0x104fe0, 64)) == 1069024); + assert(unsigned(zero_extend(0x104fe4, 64)) == 1069028); + assert(unsigned(zero_extend(0x104fe8, 64)) == 1069032); + assert(unsigned(zero_extend(0x104fec, 64)) == 1069036); + assert(unsigned(zero_extend(0x104ff0, 64)) == 1069040); + assert(unsigned(zero_extend(0x104ff4, 64)) == 1069044); + assert(unsigned(zero_extend(0x104ff8, 64)) == 1069048); + assert(unsigned(zero_extend(0x105008, 64)) == 1069064); + assert(unsigned(zero_extend(0x10500c, 64)) == 1069068); + assert(unsigned(zero_extend(0x105010, 64)) == 1069072); + assert(unsigned(zero_extend(0x105014, 64)) == 1069076); + assert(unsigned(zero_extend(0x105018, 64)) == 1069080); + assert(unsigned(zero_extend(0x10501c, 64)) == 1069084); + assert(unsigned(zero_extend(0x105020, 64)) == 1069088); + assert(unsigned(zero_extend(0x105024, 64)) == 1069092); + assert(unsigned(zero_extend(0x105028, 64)) == 1069096); + assert(unsigned(zero_extend(0x105034, 64)) == 1069108); + assert(unsigned(zero_extend(0x105038, 64)) == 1069112); + assert(unsigned(zero_extend(0x10503c, 64)) == 1069116); + assert(unsigned(zero_extend(0x105040, 64)) == 1069120); + assert(unsigned(zero_extend(0x105050, 64)) == 1069136); + assert(unsigned(zero_extend(0x105054, 64)) == 1069140); + assert(unsigned(zero_extend(0x105058, 64)) == 1069144); + assert(unsigned(zero_extend(0x10505c, 64)) == 1069148); + assert(unsigned(zero_extend(0x105060, 64)) == 1069152); + assert(unsigned(zero_extend(0x105064, 64)) == 1069156); + assert(unsigned(zero_extend(0x105068, 64)) == 1069160); + assert(unsigned(zero_extend(0x10506c, 64)) == 1069164); + assert(unsigned(zero_extend(0x105070, 64)) == 1069168); + assert(unsigned(zero_extend(0x105074, 64)) == 1069172); + assert(unsigned(zero_extend(0x105078, 64)) == 1069176); + assert(unsigned(zero_extend(0x10507c, 64)) == 1069180); + assert(unsigned(zero_extend(0x105080, 64)) == 1069184); + assert(unsigned(zero_extend(0x105084, 64)) == 1069188); + assert(unsigned(zero_extend(0x105088, 64)) == 1069192); + assert(unsigned(zero_extend(0x10508c, 64)) == 1069196); + assert(unsigned(zero_extend(0x105090, 64)) == 1069200); + assert(unsigned(zero_extend(0x105094, 64)) == 1069204); + assert(unsigned(zero_extend(0x105098, 64)) == 1069208); + assert(unsigned(zero_extend(0x10509c, 64)) == 1069212); + assert(unsigned(zero_extend(0x1050a0, 64)) == 1069216); + assert(unsigned(zero_extend(0x1050a4, 64)) == 1069220); + assert(unsigned(zero_extend(0x1050a8, 64)) == 1069224); + assert(unsigned(zero_extend(0x1050ac, 64)) == 1069228); + assert(unsigned(zero_extend(0x1050b0, 64)) == 1069232); + assert(unsigned(zero_extend(0x1050b4, 64)) == 1069236); + assert(unsigned(zero_extend(0x1050b8, 64)) == 1069240); + assert(unsigned(zero_extend(0x1050bc, 64)) == 1069244); + assert(unsigned(zero_extend(0x1050c0, 64)) == 1069248); + assert(unsigned(zero_extend(0x1050c4, 64)) == 1069252); + assert(unsigned(zero_extend(0x1050c8, 64)) == 1069256); + assert(unsigned(zero_extend(0x1050cc, 64)) == 1069260); + assert(unsigned(zero_extend(0x1050d0, 64)) == 1069264); + assert(unsigned(zero_extend(0x1050d4, 64)) == 1069268); + assert(unsigned(zero_extend(0x1050d8, 64)) == 1069272); + assert(unsigned(zero_extend(0x1050dc, 64)) == 1069276); + assert(unsigned(zero_extend(0x1050e0, 64)) == 1069280); + assert(unsigned(zero_extend(0x1050e4, 64)) == 1069284); + assert(unsigned(zero_extend(0x1050e8, 64)) == 1069288); + assert(unsigned(zero_extend(0x1050ec, 64)) == 1069292); + assert(unsigned(zero_extend(0x1050f0, 64)) == 1069296); + assert(unsigned(zero_extend(0x1050f4, 64)) == 1069300); + assert(unsigned(zero_extend(0x1050f8, 64)) == 1069304); + assert(unsigned(zero_extend(0x1050fc, 64)) == 1069308); + assert(unsigned(zero_extend(0x105100, 64)) == 1069312); + assert(unsigned(zero_extend(0x105110, 64)) == 1069328); + assert(unsigned(zero_extend(0x105114, 64)) == 1069332); + assert(unsigned(zero_extend(0x105118, 64)) == 1069336); + assert(unsigned(zero_extend(0x10511c, 64)) == 1069340); + assert(unsigned(zero_extend(0x105120, 64)) == 1069344); + assert(unsigned(zero_extend(0x105124, 64)) == 1069348); + assert(unsigned(zero_extend(0x105128, 64)) == 1069352); + assert(unsigned(zero_extend(0x105134, 64)) == 1069364); + assert(unsigned(zero_extend(0x105138, 64)) == 1069368); + assert(unsigned(zero_extend(0x10513c, 64)) == 1069372); + assert(unsigned(zero_extend(0x105140, 64)) == 1069376); + assert(unsigned(zero_extend(0x105150, 64)) == 1069392); + assert(unsigned(zero_extend(0x105154, 64)) == 1069396); + assert(unsigned(zero_extend(0x105158, 64)) == 1069400); + assert(unsigned(zero_extend(0x10515c, 64)) == 1069404); + assert(unsigned(zero_extend(0x105160, 64)) == 1069408); + assert(unsigned(zero_extend(0x105164, 64)) == 1069412); + assert(unsigned(zero_extend(0x105168, 64)) == 1069416); + assert(unsigned(zero_extend(0x10516c, 64)) == 1069420); + assert(unsigned(zero_extend(0x105170, 64)) == 1069424); + assert(unsigned(zero_extend(0x105174, 64)) == 1069428); + assert(unsigned(zero_extend(0x105178, 64)) == 1069432); + assert(unsigned(zero_extend(0x10517c, 64)) == 1069436); + assert(unsigned(zero_extend(0x105180, 64)) == 1069440); + assert(unsigned(zero_extend(0x105184, 64)) == 1069444); + assert(unsigned(zero_extend(0x105188, 64)) == 1069448); + assert(unsigned(zero_extend(0x10518c, 64)) == 1069452); + assert(unsigned(zero_extend(0x105190, 64)) == 1069456); + assert(unsigned(zero_extend(0x105194, 64)) == 1069460); + assert(unsigned(zero_extend(0x105198, 64)) == 1069464); + assert(unsigned(zero_extend(0x10519c, 64)) == 1069468); + assert(unsigned(zero_extend(0x1051a0, 64)) == 1069472); + assert(unsigned(zero_extend(0x1051a4, 64)) == 1069476); + assert(unsigned(zero_extend(0x1051a8, 64)) == 1069480); + assert(unsigned(zero_extend(0x1051ac, 64)) == 1069484); + assert(unsigned(zero_extend(0x1051b0, 64)) == 1069488); + assert(unsigned(zero_extend(0x1051b4, 64)) == 1069492); + assert(unsigned(zero_extend(0x1051b8, 64)) == 1069496); + assert(unsigned(zero_extend(0x1051bc, 64)) == 1069500); + assert(unsigned(zero_extend(0x1051c0, 64)) == 1069504); + assert(unsigned(zero_extend(0x1051c4, 64)) == 1069508); + assert(unsigned(zero_extend(0x1051c8, 64)) == 1069512); + assert(unsigned(zero_extend(0x1051cc, 64)) == 1069516); + assert(unsigned(zero_extend(0x1051d0, 64)) == 1069520); + assert(unsigned(zero_extend(0x1051d4, 64)) == 1069524); + assert(unsigned(zero_extend(0x1051d8, 64)) == 1069528); + assert(unsigned(zero_extend(0x1051dc, 64)) == 1069532); + assert(unsigned(zero_extend(0x1051e0, 64)) == 1069536); + assert(unsigned(zero_extend(0x1051e4, 64)) == 1069540); + assert(unsigned(zero_extend(0x1051e8, 64)) == 1069544); + assert(unsigned(zero_extend(0x1051ec, 64)) == 1069548); + assert(unsigned(zero_extend(0x1051f0, 64)) == 1069552); + assert(unsigned(zero_extend(0x1051f4, 64)) == 1069556); + assert(unsigned(zero_extend(0x1051f8, 64)) == 1069560); + assert(unsigned(zero_extend(0x1051fc, 64)) == 1069564); + assert(unsigned(zero_extend(0x105200, 64)) == 1069568); + assert(unsigned(zero_extend(0x105208, 64)) == 1069576); + assert(unsigned(zero_extend(0x10520c, 64)) == 1069580); + assert(unsigned(zero_extend(0x105210, 64)) == 1069584); + assert(unsigned(zero_extend(0x105214, 64)) == 1069588); + assert(unsigned(zero_extend(0x105218, 64)) == 1069592); + assert(unsigned(zero_extend(0x10521c, 64)) == 1069596); + assert(unsigned(zero_extend(0x105220, 64)) == 1069600); + assert(unsigned(zero_extend(0x105224, 64)) == 1069604); + assert(unsigned(zero_extend(0x105228, 64)) == 1069608); + assert(unsigned(zero_extend(0x105230, 64)) == 1069616); + assert(unsigned(zero_extend(0x105238, 64)) == 1069624); + assert(unsigned(zero_extend(0x105240, 64)) == 1069632); + assert(unsigned(zero_extend(0x105248, 64)) == 1069640); + assert(unsigned(zero_extend(0x10524c, 64)) == 1069644); + assert(unsigned(zero_extend(0x105250, 64)) == 1069648); + assert(unsigned(zero_extend(0x105254, 64)) == 1069652); + assert(unsigned(zero_extend(0x105258, 64)) == 1069656); + assert(unsigned(zero_extend(0x10525c, 64)) == 1069660); + assert(unsigned(zero_extend(0x105260, 64)) == 1069664); + assert(unsigned(zero_extend(0x105264, 64)) == 1069668); + assert(unsigned(zero_extend(0x105268, 64)) == 1069672); + assert(unsigned(zero_extend(0x10526c, 64)) == 1069676); + assert(unsigned(zero_extend(0x105270, 64)) == 1069680); + assert(unsigned(zero_extend(0x105274, 64)) == 1069684); + assert(unsigned(zero_extend(0x105278, 64)) == 1069688); + assert(unsigned(zero_extend(0x10527c, 64)) == 1069692); + assert(unsigned(zero_extend(0x10532c, 64)) == 1069868); + assert(unsigned(zero_extend(0x105330, 64)) == 1069872); + assert(unsigned(zero_extend(0x105334, 64)) == 1069876); + assert(unsigned(zero_extend(0x105338, 64)) == 1069880); + assert(unsigned(zero_extend(0x10533c, 64)) == 1069884); + assert(unsigned(zero_extend(0x105340, 64)) == 1069888); + assert(unsigned(zero_extend(0x105344, 64)) == 1069892); + assert(unsigned(zero_extend(0x105348, 64)) == 1069896); + assert(unsigned(zero_extend(0x10534c, 64)) == 1069900); + assert(unsigned(zero_extend(0x105350, 64)) == 1069904); + assert(unsigned(zero_extend(0x105354, 64)) == 1069908); + assert(unsigned(zero_extend(0x105358, 64)) == 1069912); + assert(unsigned(zero_extend(0x10535c, 64)) == 1069916); + assert(unsigned(zero_extend(0x105360, 64)) == 1069920); + assert(unsigned(zero_extend(0x105364, 64)) == 1069924); + assert(unsigned(zero_extend(0x105368, 64)) == 1069928); + assert(unsigned(zero_extend(0x10536c, 64)) == 1069932); + assert(unsigned(zero_extend(0x10537c, 64)) == 1069948); + assert(unsigned(zero_extend(0x105380, 64)) == 1069952); + assert(unsigned(zero_extend(0x105384, 64)) == 1069956); + assert(unsigned(zero_extend(0x105388, 64)) == 1069960); + assert(unsigned(zero_extend(0x10538c, 64)) == 1069964); + assert(unsigned(zero_extend(0x105390, 64)) == 1069968); + assert(unsigned(zero_extend(0x1053a0, 64)) == 1069984); + assert(unsigned(zero_extend(0x1053a4, 64)) == 1069988); + assert(unsigned(zero_extend(0x1053a8, 64)) == 1069992); + assert(unsigned(zero_extend(0x1053ac, 64)) == 1069996); + assert(unsigned(zero_extend(0x1053b0, 64)) == 1070000); + assert(unsigned(zero_extend(0x1053b4, 64)) == 1070004); + assert(unsigned(zero_extend(0x10544c, 64)) == 1070156); + assert(unsigned(zero_extend(0x105450, 64)) == 1070160); + assert(unsigned(zero_extend(0x105454, 64)) == 1070164); + assert(unsigned(zero_extend(0x105458, 64)) == 1070168); + assert(unsigned(zero_extend(0x10545c, 64)) == 1070172); + assert(unsigned(zero_extend(0x105468, 64)) == 1070184); + assert(unsigned(zero_extend(0x10546c, 64)) == 1070188); + assert(unsigned(zero_extend(0x105470, 64)) == 1070192); + assert(unsigned(zero_extend(0x105474, 64)) == 1070196); + assert(unsigned(zero_extend(0x105478, 64)) == 1070200); + assert(unsigned(zero_extend(0x10547c, 64)) == 1070204); + assert(unsigned(zero_extend(0x105480, 64)) == 1070208); + assert(unsigned(zero_extend(0x105484, 64)) == 1070212); + assert(unsigned(zero_extend(0x105490, 64)) == 1070224); + assert(unsigned(zero_extend(0x105494, 64)) == 1070228); + assert(unsigned(zero_extend(0x105498, 64)) == 1070232); + assert(unsigned(zero_extend(0x1054a0, 64)) == 1070240); + assert(unsigned(zero_extend(0x1054a8, 64)) == 1070248); + assert(unsigned(zero_extend(0x1054ac, 64)) == 1070252); + assert(unsigned(zero_extend(0x1054b0, 64)) == 1070256); + assert(unsigned(zero_extend(0x1054b4, 64)) == 1070260); + assert(unsigned(zero_extend(0x1054b8, 64)) == 1070264); + assert(unsigned(zero_extend(0x1054bc, 64)) == 1070268); + assert(unsigned(zero_extend(0x1054c0, 64)) == 1070272); + assert(unsigned(zero_extend(0x1054c4, 64)) == 1070276); + assert(unsigned(zero_extend(0x1054c8, 64)) == 1070280); + assert(unsigned(zero_extend(0x1054cc, 64)) == 1070284); + assert(unsigned(zero_extend(0x1054d0, 64)) == 1070288); + assert(unsigned(zero_extend(0x1054d4, 64)) == 1070292); + assert(unsigned(zero_extend(0x1054d8, 64)) == 1070296); + assert(unsigned(zero_extend(0x1054dc, 64)) == 1070300); + assert(unsigned(zero_extend(0x1054e0, 64)) == 1070304); + assert(unsigned(zero_extend(0x1054e4, 64)) == 1070308); + assert(unsigned(zero_extend(0x1054e8, 64)) == 1070312); + assert(unsigned(zero_extend(0x1054f0, 64)) == 1070320); + assert(unsigned(zero_extend(0x1054f8, 64)) == 1070328); + assert(unsigned(zero_extend(0x105500, 64)) == 1070336); + assert(unsigned(zero_extend(0x105508, 64)) == 1070344); + assert(unsigned(zero_extend(0x10550c, 64)) == 1070348); + assert(unsigned(zero_extend(0x105510, 64)) == 1070352); + assert(unsigned(zero_extend(0x105514, 64)) == 1070356); + assert(unsigned(zero_extend(0x105518, 64)) == 1070360); + assert(unsigned(zero_extend(0x10551c, 64)) == 1070364); + assert(unsigned(zero_extend(0x105520, 64)) == 1070368); + assert(unsigned(zero_extend(0x105524, 64)) == 1070372); + assert(unsigned(zero_extend(0x105528, 64)) == 1070376); + assert(unsigned(zero_extend(0x10552c, 64)) == 1070380); + assert(unsigned(zero_extend(0x105530, 64)) == 1070384); + assert(unsigned(zero_extend(0x105534, 64)) == 1070388); + assert(unsigned(zero_extend(0x105538, 64)) == 1070392); + assert(unsigned(zero_extend(0x10553c, 64)) == 1070396); + assert(unsigned(zero_extend(0x105540, 64)) == 1070400); + assert(unsigned(zero_extend(0x105544, 64)) == 1070404); + assert(unsigned(zero_extend(0x105548, 64)) == 1070408); + assert(unsigned(zero_extend(0x10554c, 64)) == 1070412); + assert(unsigned(zero_extend(0x105550, 64)) == 1070416); + assert(unsigned(zero_extend(0x105554, 64)) == 1070420); + assert(unsigned(zero_extend(0x105558, 64)) == 1070424); + assert(unsigned(zero_extend(0x105560, 64)) == 1070432); + assert(unsigned(zero_extend(0x105568, 64)) == 1070440); + assert(unsigned(zero_extend(0x105570, 64)) == 1070448); + assert(unsigned(zero_extend(0x105574, 64)) == 1070452); + assert(unsigned(zero_extend(0x105578, 64)) == 1070456); + assert(unsigned(zero_extend(0x10557c, 64)) == 1070460); + assert(unsigned(zero_extend(0x105580, 64)) == 1070464); + assert(unsigned(zero_extend(0x105584, 64)) == 1070468); + assert(unsigned(zero_extend(0x105588, 64)) == 1070472); + assert(unsigned(zero_extend(0x10558c, 64)) == 1070476); + assert(unsigned(zero_extend(0x105590, 64)) == 1070480); + assert(unsigned(zero_extend(0x105594, 64)) == 1070484); + assert(unsigned(zero_extend(0x105598, 64)) == 1070488); + assert(unsigned(zero_extend(0x10559c, 64)) == 1070492); + assert(unsigned(zero_extend(0x1055a0, 64)) == 1070496); + assert(unsigned(zero_extend(0x1055a4, 64)) == 1070500); + assert(unsigned(zero_extend(0x1055a8, 64)) == 1070504); + assert(unsigned(zero_extend(0x1055ac, 64)) == 1070508); + assert(unsigned(zero_extend(0x1055b0, 64)) == 1070512); + assert(unsigned(zero_extend(0x1055b4, 64)) == 1070516); + assert(unsigned(zero_extend(0x1055b8, 64)) == 1070520); + assert(unsigned(zero_extend(0x1055bc, 64)) == 1070524); + assert(unsigned(zero_extend(0x1055c0, 64)) == 1070528); + assert(unsigned(zero_extend(0x1055c4, 64)) == 1070532); + assert(unsigned(zero_extend(0x1055c8, 64)) == 1070536); + assert(unsigned(zero_extend(0x1055cc, 64)) == 1070540); + assert(unsigned(zero_extend(0x1055d0, 64)) == 1070544); + assert(unsigned(zero_extend(0x1055dc, 64)) == 1070556); + assert(unsigned(zero_extend(0x1055e0, 64)) == 1070560); + assert(unsigned(zero_extend(0x1055e8, 64)) == 1070568); + assert(unsigned(zero_extend(0x1055ec, 64)) == 1070572); + assert(unsigned(zero_extend(0x1055f0, 64)) == 1070576); + assert(unsigned(zero_extend(0x1055f4, 64)) == 1070580); + assert(unsigned(zero_extend(0x1055f8, 64)) == 1070584); + assert(unsigned(zero_extend(0x1055fc, 64)) == 1070588); + assert(unsigned(zero_extend(0x105610, 64)) == 1070608); + assert(unsigned(zero_extend(0x105614, 64)) == 1070612); + assert(unsigned(zero_extend(0x105644, 64)) == 1070660); + assert(unsigned(zero_extend(0x105648, 64)) == 1070664); + assert(unsigned(zero_extend(0x10564c, 64)) == 1070668); + assert(unsigned(zero_extend(0x10568c, 64)) == 1070732); + assert(unsigned(zero_extend(0x105690, 64)) == 1070736); + assert(unsigned(zero_extend(0x105694, 64)) == 1070740); + assert(unsigned(zero_extend(0x105698, 64)) == 1070744); + assert(unsigned(zero_extend(0x10569c, 64)) == 1070748); + assert(unsigned(zero_extend(0x1056a0, 64)) == 1070752); + assert(unsigned(zero_extend(0x1056a4, 64)) == 1070756); + assert(unsigned(zero_extend(0x1056a8, 64)) == 1070760); + assert(unsigned(zero_extend(0x1056ac, 64)) == 1070764); + assert(unsigned(zero_extend(0x1056b0, 64)) == 1070768); + assert(unsigned(zero_extend(0x1056b4, 64)) == 1070772); + assert(unsigned(zero_extend(0x1056b8, 64)) == 1070776); + assert(unsigned(zero_extend(0x1056bc, 64)) == 1070780); + assert(unsigned(zero_extend(0x1056c0, 64)) == 1070784); + assert(unsigned(zero_extend(0x1056c4, 64)) == 1070788); + assert(unsigned(zero_extend(0x1056c8, 64)) == 1070792); + assert(unsigned(zero_extend(0x1056cc, 64)) == 1070796); + assert(unsigned(zero_extend(0x1056d0, 64)) == 1070800); + assert(unsigned(zero_extend(0x1056d4, 64)) == 1070804); + assert(unsigned(zero_extend(0x1056d8, 64)) == 1070808); + assert(unsigned(zero_extend(0x1056dc, 64)) == 1070812); + assert(unsigned(zero_extend(0x1056e0, 64)) == 1070816); + assert(unsigned(zero_extend(0x1056e4, 64)) == 1070820); + assert(unsigned(zero_extend(0x1056e8, 64)) == 1070824); + assert(unsigned(zero_extend(0x1056ec, 64)) == 1070828); + assert(unsigned(zero_extend(0x1056f0, 64)) == 1070832); + assert(unsigned(zero_extend(0x1056f4, 64)) == 1070836); + assert(unsigned(zero_extend(0x1056f8, 64)) == 1070840); + assert(unsigned(zero_extend(0x1056fc, 64)) == 1070844); + assert(unsigned(zero_extend(0x105700, 64)) == 1070848); + assert(unsigned(zero_extend(0x105704, 64)) == 1070852); + assert(unsigned(zero_extend(0x105708, 64)) == 1070856); + assert(unsigned(zero_extend(0x10570c, 64)) == 1070860); + assert(unsigned(zero_extend(0x105710, 64)) == 1070864); + assert(unsigned(zero_extend(0x105714, 64)) == 1070868); + assert(unsigned(zero_extend(0x105718, 64)) == 1070872); + assert(unsigned(zero_extend(0x10571c, 64)) == 1070876); + assert(unsigned(zero_extend(0x105720, 64)) == 1070880); + assert(unsigned(zero_extend(0x105724, 64)) == 1070884); + assert(unsigned(zero_extend(0x105728, 64)) == 1070888); + assert(unsigned(zero_extend(0x10572c, 64)) == 1070892); + assert(unsigned(zero_extend(0x105730, 64)) == 1070896); + assert(unsigned(zero_extend(0x105734, 64)) == 1070900); + assert(unsigned(zero_extend(0x105738, 64)) == 1070904); + assert(unsigned(zero_extend(0x10573c, 64)) == 1070908); + assert(unsigned(zero_extend(0x105740, 64)) == 1070912); + assert(unsigned(zero_extend(0x105744, 64)) == 1070916); + assert(unsigned(zero_extend(0x105748, 64)) == 1070920); + assert(unsigned(zero_extend(0x10574c, 64)) == 1070924); + assert(unsigned(zero_extend(0x105750, 64)) == 1070928); + assert(unsigned(zero_extend(0x105754, 64)) == 1070932); + assert(unsigned(zero_extend(0x105758, 64)) == 1070936); + assert(unsigned(zero_extend(0x10575c, 64)) == 1070940); + assert(unsigned(zero_extend(0x105760, 64)) == 1070944); + assert(unsigned(zero_extend(0x105764, 64)) == 1070948); + assert(unsigned(zero_extend(0x105768, 64)) == 1070952); + assert(unsigned(zero_extend(0x10576c, 64)) == 1070956); + assert(unsigned(zero_extend(0x105770, 64)) == 1070960); + assert(unsigned(zero_extend(0x105774, 64)) == 1070964); + assert(unsigned(zero_extend(0x105778, 64)) == 1070968); + assert(unsigned(zero_extend(0x105780, 64)) == 1070976); + assert(unsigned(zero_extend(0x1057a8, 64)) == 1071016); + assert(unsigned(zero_extend(0x1057b0, 64)) == 1071024); + assert(unsigned(zero_extend(0x1057b8, 64)) == 1071032); + assert(unsigned(zero_extend(0x1057c0, 64)) == 1071040); + assert(unsigned(zero_extend(0x1057c8, 64)) == 1071048); + assert(unsigned(zero_extend(0x1057d0, 64)) == 1071056); + assert(unsigned(zero_extend(0x1057d8, 64)) == 1071064); + assert(unsigned(zero_extend(0x1057e0, 64)) == 1071072); + assert(unsigned(zero_extend(0x1057e8, 64)) == 1071080); + assert(unsigned(zero_extend(0x1057f0, 64)) == 1071088); + assert(unsigned(zero_extend(0x1057f8, 64)) == 1071096); + assert(unsigned(zero_extend(0x105800, 64)) == 1071104); + assert(unsigned(zero_extend(0x105808, 64)) == 1071112); + assert(unsigned(zero_extend(0x105810, 64)) == 1071120); + assert(unsigned(zero_extend(0x105818, 64)) == 1071128); + assert(unsigned(zero_extend(0x105820, 64)) == 1071136); + assert(unsigned(zero_extend(0x105828, 64)) == 1071144); + assert(unsigned(zero_extend(0x105830, 64)) == 1071152); + assert(unsigned(zero_extend(0x105838, 64)) == 1071160); + assert(unsigned(zero_extend(0x105840, 64)) == 1071168); + assert(unsigned(zero_extend(0x105848, 64)) == 1071176); + assert(unsigned(zero_extend(0x105850, 64)) == 1071184); + assert(unsigned(zero_extend(0x105858, 64)) == 1071192); + assert(unsigned(zero_extend(0x10585c, 64)) == 1071196); + assert(unsigned(zero_extend(0x105860, 64)) == 1071200); + assert(unsigned(zero_extend(0x105864, 64)) == 1071204); + assert(unsigned(zero_extend(0x105868, 64)) == 1071208); + assert(unsigned(zero_extend(0x10586c, 64)) == 1071212); + assert(unsigned(zero_extend(0x105870, 64)) == 1071216); + assert(unsigned(zero_extend(0x105874, 64)) == 1071220); + assert(unsigned(zero_extend(0x105878, 64)) == 1071224); + assert(unsigned(zero_extend(0x10587c, 64)) == 1071228); + assert(unsigned(zero_extend(0x105880, 64)) == 1071232); + assert(unsigned(zero_extend(0x105884, 64)) == 1071236); + assert(unsigned(zero_extend(0x105888, 64)) == 1071240); + assert(unsigned(zero_extend(0x10588c, 64)) == 1071244); + assert(unsigned(zero_extend(0x105890, 64)) == 1071248); + assert(unsigned(zero_extend(0x105894, 64)) == 1071252); + assert(unsigned(zero_extend(0x105898, 64)) == 1071256); + assert(unsigned(zero_extend(0x10589c, 64)) == 1071260); + assert(unsigned(zero_extend(0x1058a0, 64)) == 1071264); + assert(unsigned(zero_extend(0x1058a4, 64)) == 1071268); + assert(unsigned(zero_extend(0x1058a8, 64)) == 1071272); + assert(unsigned(zero_extend(0x10764c321, 64)) == 4419011361); + assert(unsigned(zero_extend(0x108, 64)) == 264); + assert(unsigned(zero_extend(0x10ec4, 64)) == 69316); + assert(unsigned(zero_extend(0x10ec8, 64)) == 69320); + assert(unsigned(zero_extend(0x10ecc, 64)) == 69324); + assert(unsigned(zero_extend(0x10ed0, 64)) == 69328); + assert(unsigned(zero_extend(0x10ed4, 64)) == 69332); + assert(unsigned(zero_extend(0x10ed8, 64)) == 69336); + assert(unsigned(zero_extend(0x10edc, 64)) == 69340); + assert(unsigned(zero_extend(0x10ee0, 64)) == 69344); + assert(unsigned(zero_extend(0x10ee4, 64)) == 69348); + assert(unsigned(zero_extend(0x10ee8, 64)) == 69352); + assert(unsigned(zero_extend(0x10eec, 64)) == 69356); + assert(unsigned(zero_extend(0x10ef0, 64)) == 69360); + assert(unsigned(zero_extend(0x10ef4, 64)) == 69364); + assert(unsigned(zero_extend(0x10ef8, 64)) == 69368); + assert(unsigned(zero_extend(0x10efc, 64)) == 69372); + assert(unsigned(zero_extend(0x10f00, 64)) == 69376); + assert(unsigned(zero_extend(0x10f04, 64)) == 69380); + assert(unsigned(zero_extend(0x10f08, 64)) == 69384); + assert(unsigned(zero_extend(0x10f0c, 64)) == 69388); + assert(unsigned(zero_extend(0x10f10, 64)) == 69392); + assert(unsigned(zero_extend(0x10f14, 64)) == 69396); + assert(unsigned(zero_extend(0x10f18, 64)) == 69400); + assert(unsigned(zero_extend(0x10f1c, 64)) == 69404); + assert(unsigned(zero_extend(0x10f20, 64)) == 69408); + assert(unsigned(zero_extend(0x10f24, 64)) == 69412); + assert(unsigned(zero_extend(0x10f28, 64)) == 69416); + assert(unsigned(zero_extend(0x10f2c, 64)) == 69420); + assert(unsigned(zero_extend(0x10f30, 64)) == 69424); + assert(unsigned(zero_extend(0x10f34, 64)) == 69428); + assert(unsigned(zero_extend(0x10f38, 64)) == 69432); + assert(unsigned(zero_extend(0x10f3c, 64)) == 69436); + assert(unsigned(zero_extend(0x10f40, 64)) == 69440); + assert(unsigned(zero_extend(0x10f44, 64)) == 69444); + assert(unsigned(zero_extend(0x10f48, 64)) == 69448); + assert(unsigned(zero_extend(0x10f4c, 64)) == 69452); + assert(unsigned(zero_extend(0x10f50, 64)) == 69456); + assert(unsigned(zero_extend(0x10f54, 64)) == 69460); + assert(unsigned(zero_extend(0x10f58, 64)) == 69464); + assert(unsigned(zero_extend(0x10f5c, 64)) == 69468); + assert(unsigned(zero_extend(0x10f60, 64)) == 69472); + assert(unsigned(zero_extend(0x10f64, 64)) == 69476); + assert(unsigned(zero_extend(0x10f68, 64)) == 69480); + assert(unsigned(zero_extend(0x10f6c, 64)) == 69484); + assert(unsigned(zero_extend(0x11, 64)) == 17); + assert(unsigned(zero_extend(0x110, 64)) == 272); + assert(unsigned(zero_extend(0x11150, 64)) == 69968); + assert(unsigned(zero_extend(0x11223344, 64)) == 287454020); + assert(unsigned(zero_extend(0x1122334411223344, 64)) == 1234605615291183940); + assert(unsigned(zero_extend(0x118, 64)) == 280); + assert(unsigned(zero_extend(0x12, 64)) == 18); + assert(unsigned(zero_extend(0x120, 64)) == 288); + assert(unsigned(zero_extend(0x1200, 64)) == 4608); + assert(unsigned(zero_extend(0x120005c, 64)) == 18874460); + assert(unsigned(zero_extend(0x1200060, 64)) == 18874464); + assert(unsigned(zero_extend(0x1200064, 64)) == 18874468); + assert(unsigned(zero_extend(0x1220, 64)) == 4640); + assert(unsigned(zero_extend(0x12200078, 64)) == 304087160); + assert(unsigned(zero_extend(0x1220007c, 64)) == 304087164); + assert(unsigned(zero_extend(0x12200080, 64)) == 304087168); + assert(unsigned(zero_extend(0x1234, 64)) == 4660); + assert(unsigned(zero_extend(0x12345678, 64)) == 305419896); + assert(unsigned(zero_extend(0x123456789abcdef0, 64)) == 1311768467463790320); + assert(unsigned(zero_extend(0x123456789abcdef1, 64)) == 1311768467463790321); + assert(unsigned(zero_extend(0x123c, 64)) == 4668); + assert(unsigned(zero_extend(0x12500000, 64)) == 307232768); + assert(unsigned(zero_extend(0x12500004, 64)) == 307232772); + assert(unsigned(zero_extend(0x12500008, 64)) == 307232776); + assert(unsigned(zero_extend(0x12500010, 64)) == 307232784); + assert(unsigned(zero_extend(0x12500014, 64)) == 307232788); + assert(unsigned(zero_extend(0x12500018, 64)) == 307232792); + assert(unsigned(zero_extend(0x12500020, 64)) == 307232800); + assert(unsigned(zero_extend(0x12500024, 64)) == 307232804); + assert(unsigned(zero_extend(0x12500028, 64)) == 307232808); + assert(unsigned(zero_extend(0x12500030, 64)) == 307232816); + assert(unsigned(zero_extend(0x12500034, 64)) == 307232820); + assert(unsigned(zero_extend(0x12500038, 64)) == 307232824); + assert(unsigned(zero_extend(0x12500040, 64)) == 307232832); + assert(unsigned(zero_extend(0x12500044, 64)) == 307232836); + assert(unsigned(zero_extend(0x12500048, 64)) == 307232840); + assert(unsigned(zero_extend(0x1250004c, 64)) == 307232844); + assert(unsigned(zero_extend(0x12500050, 64)) == 307232848); + assert(unsigned(zero_extend(0x12500054, 64)) == 307232852); + assert(unsigned(zero_extend(0x12500058, 64)) == 307232856); + assert(unsigned(zero_extend(0x1250005c, 64)) == 307232860); + assert(unsigned(zero_extend(0x12500060, 64)) == 307232864); + assert(unsigned(zero_extend(0x12500064, 64)) == 307232868); + assert(unsigned(zero_extend(0x12500068, 64)) == 307232872); + assert(unsigned(zero_extend(0x1250006c, 64)) == 307232876); + assert(unsigned(zero_extend(0x12500070, 64)) == 307232880); + assert(unsigned(zero_extend(0x12500074, 64)) == 307232884); + assert(unsigned(zero_extend(0x12500078, 64)) == 307232888); + assert(unsigned(zero_extend(0x1250007c, 64)) == 307232892); + assert(unsigned(zero_extend(0x12500080, 64)) == 307232896); + assert(unsigned(zero_extend(0x12500084, 64)) == 307232900); + assert(unsigned(zero_extend(0x12500088, 64)) == 307232904); + assert(unsigned(zero_extend(0x1250008c, 64)) == 307232908); + assert(unsigned(zero_extend(0x12500090, 64)) == 307232912); + assert(unsigned(zero_extend(0x12500094, 64)) == 307232916); + assert(unsigned(zero_extend(0x12500098, 64)) == 307232920); + assert(unsigned(zero_extend(0x12570, 64)) == 75120); + assert(unsigned(zero_extend(0x12574, 64)) == 75124); + assert(unsigned(zero_extend(0x12578, 64)) == 75128); + assert(unsigned(zero_extend(0x1257c, 64)) == 75132); + assert(unsigned(zero_extend(0x12580, 64)) == 75136); + assert(unsigned(zero_extend(0x12584, 64)) == 75140); + assert(unsigned(zero_extend(0x12588, 64)) == 75144); + assert(unsigned(zero_extend(0x1258c, 64)) == 75148); + assert(unsigned(zero_extend(0x12590, 64)) == 75152); + assert(unsigned(zero_extend(0x12594, 64)) == 75156); + assert(unsigned(zero_extend(0x12598, 64)) == 75160); + assert(unsigned(zero_extend(0x1259c, 64)) == 75164); + assert(unsigned(zero_extend(0x125a0, 64)) == 75168); + assert(unsigned(zero_extend(0x125a4, 64)) == 75172); + assert(unsigned(zero_extend(0x125a8, 64)) == 75176); + assert(unsigned(zero_extend(0x125ac, 64)) == 75180); + assert(unsigned(zero_extend(0x125b0, 64)) == 75184); + assert(unsigned(zero_extend(0x125b4, 64)) == 75188); + assert(unsigned(zero_extend(0x125b8, 64)) == 75192); + assert(unsigned(zero_extend(0x125bc, 64)) == 75196); + assert(unsigned(zero_extend(0x125c0, 64)) == 75200); + assert(unsigned(zero_extend(0x125c4, 64)) == 75204); + assert(unsigned(zero_extend(0x125c8, 64)) == 75208); + assert(unsigned(zero_extend(0x125cc, 64)) == 75212); + assert(unsigned(zero_extend(0x125d0, 64)) == 75216); + assert(unsigned(zero_extend(0x125d4, 64)) == 75220); + assert(unsigned(zero_extend(0x125d8, 64)) == 75224); + assert(unsigned(zero_extend(0x125dc, 64)) == 75228); + assert(unsigned(zero_extend(0x125e0, 64)) == 75232); + assert(unsigned(zero_extend(0x125e4, 64)) == 75236); + assert(unsigned(zero_extend(0x125e8, 64)) == 75240); + assert(unsigned(zero_extend(0x125ec, 64)) == 75244); + assert(unsigned(zero_extend(0x125f0, 64)) == 75248); + assert(unsigned(zero_extend(0x125f4, 64)) == 75252); + assert(unsigned(zero_extend(0x125f8, 64)) == 75256); + assert(unsigned(zero_extend(0x125fc, 64)) == 75260); + assert(unsigned(zero_extend(0x12600, 64)) == 75264); + assert(unsigned(zero_extend(0x12600000, 64)) == 308281344); + assert(unsigned(zero_extend(0x12600004, 64)) == 308281348); + assert(unsigned(zero_extend(0x12600008, 64)) == 308281352); + assert(unsigned(zero_extend(0x12600010, 64)) == 308281360); + assert(unsigned(zero_extend(0x12600014, 64)) == 308281364); + assert(unsigned(zero_extend(0x12600018, 64)) == 308281368); + assert(unsigned(zero_extend(0x12600020, 64)) == 308281376); + assert(unsigned(zero_extend(0x12600024, 64)) == 308281380); + assert(unsigned(zero_extend(0x12600028, 64)) == 308281384); + assert(unsigned(zero_extend(0x12600030, 64)) == 308281392); + assert(unsigned(zero_extend(0x12600034, 64)) == 308281396); + assert(unsigned(zero_extend(0x12600038, 64)) == 308281400); + assert(unsigned(zero_extend(0x12600040, 64)) == 308281408); + assert(unsigned(zero_extend(0x12600044, 64)) == 308281412); + assert(unsigned(zero_extend(0x12600048, 64)) == 308281416); + assert(unsigned(zero_extend(0x12600050, 64)) == 308281424); + assert(unsigned(zero_extend(0x12600054, 64)) == 308281428); + assert(unsigned(zero_extend(0x12600058, 64)) == 308281432); + assert(unsigned(zero_extend(0x1260005c, 64)) == 308281436); + assert(unsigned(zero_extend(0x12600060, 64)) == 308281440); + assert(unsigned(zero_extend(0x12600064, 64)) == 308281444); + assert(unsigned(zero_extend(0x12600068, 64)) == 308281448); + assert(unsigned(zero_extend(0x1260006c, 64)) == 308281452); + assert(unsigned(zero_extend(0x12600070, 64)) == 308281456); + assert(unsigned(zero_extend(0x12600074, 64)) == 308281460); + assert(unsigned(zero_extend(0x12600078, 64)) == 308281464); + assert(unsigned(zero_extend(0x1260007c, 64)) == 308281468); + assert(unsigned(zero_extend(0x12600080, 64)) == 308281472); + assert(unsigned(zero_extend(0x12600084, 64)) == 308281476); + assert(unsigned(zero_extend(0x12600088, 64)) == 308281480); + assert(unsigned(zero_extend(0x1260008c, 64)) == 308281484); + assert(unsigned(zero_extend(0x12600090, 64)) == 308281488); + assert(unsigned(zero_extend(0x12600094, 64)) == 308281492); + assert(unsigned(zero_extend(0x12600098, 64)) == 308281496); + assert(unsigned(zero_extend(0x1260009c, 64)) == 308281500); + assert(unsigned(zero_extend(0x126000a0, 64)) == 308281504); + assert(unsigned(zero_extend(0x126000a4, 64)) == 308281508); + assert(unsigned(zero_extend(0x126000a8, 64)) == 308281512); + assert(unsigned(zero_extend(0x12604, 64)) == 75268); + assert(unsigned(zero_extend(0x12608, 64)) == 75272); + assert(unsigned(zero_extend(0x1260c, 64)) == 75276); + assert(unsigned(zero_extend(0x12610, 64)) == 75280); + assert(unsigned(zero_extend(0x12620, 64)) == 75296); + assert(unsigned(zero_extend(0x12860, 64)) == 75872); + assert(unsigned(zero_extend(0x13, 64)) == 19); + assert(unsigned(zero_extend(0x13000000, 64)) == 318767104); + assert(unsigned(zero_extend(0x1300368, 64)) == 19923816); + assert(unsigned(zero_extend(0x130036c, 64)) == 19923820); + assert(unsigned(zero_extend(0x1300370, 64)) == 19923824); + assert(unsigned(zero_extend(0x13004b8, 64)) == 19924152); + assert(unsigned(zero_extend(0x13004bc, 64)) == 19924156); + assert(unsigned(zero_extend(0x13004c0, 64)) == 19924160); + assert(unsigned(zero_extend(0x1300608, 64)) == 19924488); + assert(unsigned(zero_extend(0x130060c, 64)) == 19924492); + assert(unsigned(zero_extend(0x1300610, 64)) == 19924496); + assert(unsigned(zero_extend(0x1300910, 64)) == 19925264); + assert(unsigned(zero_extend(0x1300914, 64)) == 19925268); + assert(unsigned(zero_extend(0x1300918, 64)) == 19925272); + assert(unsigned(zero_extend(0x13f8754, 64)) == 20940628); + assert(unsigned(zero_extend(0x13f8758, 64)) == 20940632); + assert(unsigned(zero_extend(0x13f875c, 64)) == 20940636); + assert(unsigned(zero_extend(0x13f88a4, 64)) == 20940964); + assert(unsigned(zero_extend(0x13f88a8, 64)) == 20940968); + assert(unsigned(zero_extend(0x13f88ac, 64)) == 20940972); + assert(unsigned(zero_extend(0x14, 64)) == 20); + assert(unsigned(zero_extend(0x140, 64)) == 320); + assert(unsigned(zero_extend(0x1400000, 64)) == 20971520); + assert(unsigned(zero_extend(0x1400004, 64)) == 20971524); + assert(unsigned(zero_extend(0x1400005, 64)) == 20971525); + assert(unsigned(zero_extend(0x1400006, 64)) == 20971526); + assert(unsigned(zero_extend(0x1400007, 64)) == 20971527); + assert(unsigned(zero_extend(0x1400008, 64)) == 20971528); + assert(unsigned(zero_extend(0x1400009, 64)) == 20971529); + assert(unsigned(zero_extend(0x140000a, 64)) == 20971530); + assert(unsigned(zero_extend(0x140000b, 64)) == 20971531); + assert(unsigned(zero_extend(0x140000c, 64)) == 20971532); + assert(unsigned(zero_extend(0x140000d, 64)) == 20971533); + assert(unsigned(zero_extend(0x140000e, 64)) == 20971534); + assert(unsigned(zero_extend(0x140000f, 64)) == 20971535); + assert(unsigned(zero_extend(0x1400010, 64)) == 20971536); + assert(unsigned(zero_extend(0x1400011, 64)) == 20971537); + assert(unsigned(zero_extend(0x1400014, 64)) == 20971540); + assert(unsigned(zero_extend(0x1400018, 64)) == 20971544); + assert(unsigned(zero_extend(0x140001c, 64)) == 20971548); + assert(unsigned(zero_extend(0x1400020, 64)) == 20971552); + assert(unsigned(zero_extend(0x1400024, 64)) == 20971556); + assert(unsigned(zero_extend(0x1400028, 64)) == 20971560); + assert(unsigned(zero_extend(0x140002c, 64)) == 20971564); + assert(unsigned(zero_extend(0x1400030, 64)) == 20971568); + assert(unsigned(zero_extend(0x1400038, 64)) == 20971576); + assert(unsigned(zero_extend(0x140003c, 64)) == 20971580); + assert(unsigned(zero_extend(0x1400044, 64)) == 20971588); + assert(unsigned(zero_extend(0x1400048, 64)) == 20971592); + assert(unsigned(zero_extend(0x140004c, 64)) == 20971596); + assert(unsigned(zero_extend(0x1400050, 64)) == 20971600); + assert(unsigned(zero_extend(0x1400054, 64)) == 20971604); + assert(unsigned(zero_extend(0x1400058, 64)) == 20971608); + assert(unsigned(zero_extend(0x140005c, 64)) == 20971612); + assert(unsigned(zero_extend(0x1400060, 64)) == 20971616); + assert(unsigned(zero_extend(0x1400064, 64)) == 20971620); + assert(unsigned(zero_extend(0x1400068, 64)) == 20971624); + assert(unsigned(zero_extend(0x1400070, 64)) == 20971632); + assert(unsigned(zero_extend(0x1400074, 64)) == 20971636); + assert(unsigned(zero_extend(0x1400080, 64)) == 20971648); + assert(unsigned(zero_extend(0x1400084, 64)) == 20971652); + assert(unsigned(zero_extend(0x1400088, 64)) == 20971656); + assert(unsigned(zero_extend(0x140008c, 64)) == 20971660); + assert(unsigned(zero_extend(0x1400090, 64)) == 20971664); + assert(unsigned(zero_extend(0x1400094, 64)) == 20971668); + assert(unsigned(zero_extend(0x1400098, 64)) == 20971672); + assert(unsigned(zero_extend(0x140009c, 64)) == 20971676); + assert(unsigned(zero_extend(0x14000a0, 64)) == 20971680); + assert(unsigned(zero_extend(0x14000a4, 64)) == 20971684); + assert(unsigned(zero_extend(0x14000a8, 64)) == 20971688); + assert(unsigned(zero_extend(0x14000ac, 64)) == 20971692); + assert(unsigned(zero_extend(0x14000b0, 64)) == 20971696); + assert(unsigned(zero_extend(0x14000b4, 64)) == 20971700); + assert(unsigned(zero_extend(0x14000b8, 64)) == 20971704); + assert(unsigned(zero_extend(0x14000bc, 64)) == 20971708); + assert(unsigned(zero_extend(0x14000c0, 64)) == 20971712); + assert(unsigned(zero_extend(0x14000c4, 64)) == 20971716); + assert(unsigned(zero_extend(0x14000c8, 64)) == 20971720); + assert(unsigned(zero_extend(0x14000cc, 64)) == 20971724); + assert(unsigned(zero_extend(0x14000d0, 64)) == 20971728); + assert(unsigned(zero_extend(0x14000d4, 64)) == 20971732); + assert(unsigned(zero_extend(0x14000d8, 64)) == 20971736); + assert(unsigned(zero_extend(0x14000dc, 64)) == 20971740); + assert(unsigned(zero_extend(0x14000e0, 64)) == 20971744); + assert(unsigned(zero_extend(0x14000e4, 64)) == 20971748); + assert(unsigned(zero_extend(0x14000e8, 64)) == 20971752); + assert(unsigned(zero_extend(0x14000ec, 64)) == 20971756); + assert(unsigned(zero_extend(0x14000f0, 64)) == 20971760); + assert(unsigned(zero_extend(0x14000f4, 64)) == 20971764); + assert(unsigned(zero_extend(0x14000f8, 64)) == 20971768); + assert(unsigned(zero_extend(0x1400100, 64)) == 20971776); + assert(unsigned(zero_extend(0x1400104, 64)) == 20971780); + assert(unsigned(zero_extend(0x1400108, 64)) == 20971784); + assert(unsigned(zero_extend(0x140010c, 64)) == 20971788); + assert(unsigned(zero_extend(0x1400110, 64)) == 20971792); + assert(unsigned(zero_extend(0x1400114, 64)) == 20971796); + assert(unsigned(zero_extend(0x1400118, 64)) == 20971800); + assert(unsigned(zero_extend(0x140011c, 64)) == 20971804); + assert(unsigned(zero_extend(0x1400120, 64)) == 20971808); + assert(unsigned(zero_extend(0x1400124, 64)) == 20971812); + assert(unsigned(zero_extend(0x1400128, 64)) == 20971816); + assert(unsigned(zero_extend(0x140012c, 64)) == 20971820); + assert(unsigned(zero_extend(0x1400130, 64)) == 20971824); + assert(unsigned(zero_extend(0x1400134, 64)) == 20971828); + assert(unsigned(zero_extend(0x1400138, 64)) == 20971832); + assert(unsigned(zero_extend(0x140013c, 64)) == 20971836); + assert(unsigned(zero_extend(0x1400140, 64)) == 20971840); + assert(unsigned(zero_extend(0x1400148, 64)) == 20971848); + assert(unsigned(zero_extend(0x140014c, 64)) == 20971852); + assert(unsigned(zero_extend(0x1400154, 64)) == 20971860); + assert(unsigned(zero_extend(0x1400158, 64)) == 20971864); + assert(unsigned(zero_extend(0x140015c, 64)) == 20971868); + assert(unsigned(zero_extend(0x1400160, 64)) == 20971872); + assert(unsigned(zero_extend(0x1400164, 64)) == 20971876); + assert(unsigned(zero_extend(0x1400168, 64)) == 20971880); + assert(unsigned(zero_extend(0x140016c, 64)) == 20971884); + assert(unsigned(zero_extend(0x1400170, 64)) == 20971888); + assert(unsigned(zero_extend(0x1400174, 64)) == 20971892); + assert(unsigned(zero_extend(0x1400178, 64)) == 20971896); + assert(unsigned(zero_extend(0x140017c, 64)) == 20971900); + assert(unsigned(zero_extend(0x1400180, 64)) == 20971904); + assert(unsigned(zero_extend(0x1400184, 64)) == 20971908); + assert(unsigned(zero_extend(0x1400188, 64)) == 20971912); + assert(unsigned(zero_extend(0x1400190, 64)) == 20971920); + assert(unsigned(zero_extend(0x1400194, 64)) == 20971924); + assert(unsigned(zero_extend(0x1400198, 64)) == 20971928); + assert(unsigned(zero_extend(0x140019c, 64)) == 20971932); + assert(unsigned(zero_extend(0x14001a0, 64)) == 20971936); + assert(unsigned(zero_extend(0x14001a4, 64)) == 20971940); + assert(unsigned(zero_extend(0x14001a8, 64)) == 20971944); + assert(unsigned(zero_extend(0x14001ac, 64)) == 20971948); + assert(unsigned(zero_extend(0x14001b0, 64)) == 20971952); + assert(unsigned(zero_extend(0x14001b4, 64)) == 20971956); + assert(unsigned(zero_extend(0x14001b8, 64)) == 20971960); + assert(unsigned(zero_extend(0x14001bc, 64)) == 20971964); + assert(unsigned(zero_extend(0x14001c0, 64)) == 20971968); + assert(unsigned(zero_extend(0x14001c4, 64)) == 20971972); + assert(unsigned(zero_extend(0x14001c8, 64)) == 20971976); + assert(unsigned(zero_extend(0x14001cc, 64)) == 20971980); + assert(unsigned(zero_extend(0x14001d0, 64)) == 20971984); + assert(unsigned(zero_extend(0x14001d8, 64)) == 20971992); + assert(unsigned(zero_extend(0x14001dc, 64)) == 20971996); + assert(unsigned(zero_extend(0x14001e4, 64)) == 20972004); + assert(unsigned(zero_extend(0x14001e8, 64)) == 20972008); + assert(unsigned(zero_extend(0x14001ec, 64)) == 20972012); + assert(unsigned(zero_extend(0x14001f0, 64)) == 20972016); + assert(unsigned(zero_extend(0x14001f4, 64)) == 20972020); + assert(unsigned(zero_extend(0x14001f8, 64)) == 20972024); + assert(unsigned(zero_extend(0x14001fc, 64)) == 20972028); + assert(unsigned(zero_extend(0x1400200, 64)) == 20972032); + assert(unsigned(zero_extend(0x1400204, 64)) == 20972036); + assert(unsigned(zero_extend(0x1400208, 64)) == 20972040); + assert(unsigned(zero_extend(0x140020c, 64)) == 20972044); + assert(unsigned(zero_extend(0x1400210, 64)) == 20972048); + assert(unsigned(zero_extend(0x1400214, 64)) == 20972052); + assert(unsigned(zero_extend(0x140021c, 64)) == 20972060); + assert(unsigned(zero_extend(0x1400220, 64)) == 20972064); + assert(unsigned(zero_extend(0x140022c, 64)) == 20972076); + assert(unsigned(zero_extend(0x1400230, 64)) == 20972080); + assert(unsigned(zero_extend(0x1400234, 64)) == 20972084); + assert(unsigned(zero_extend(0x1400238, 64)) == 20972088); + assert(unsigned(zero_extend(0x140023c, 64)) == 20972092); + assert(unsigned(zero_extend(0x1400240, 64)) == 20972096); + assert(unsigned(zero_extend(0x1400244, 64)) == 20972100); + assert(unsigned(zero_extend(0x1400248, 64)) == 20972104); + assert(unsigned(zero_extend(0x140024c, 64)) == 20972108); + assert(unsigned(zero_extend(0x1400250, 64)) == 20972112); + assert(unsigned(zero_extend(0x1400254, 64)) == 20972116); + assert(unsigned(zero_extend(0x1400258, 64)) == 20972120); + assert(unsigned(zero_extend(0x140025c, 64)) == 20972124); + assert(unsigned(zero_extend(0x1400260, 64)) == 20972128); + assert(unsigned(zero_extend(0x1400264, 64)) == 20972132); + assert(unsigned(zero_extend(0x1400268, 64)) == 20972136); + assert(unsigned(zero_extend(0x140026c, 64)) == 20972140); + assert(unsigned(zero_extend(0x1400270, 64)) == 20972144); + assert(unsigned(zero_extend(0x1400274, 64)) == 20972148); + assert(unsigned(zero_extend(0x1400278, 64)) == 20972152); + assert(unsigned(zero_extend(0x140027c, 64)) == 20972156); + assert(unsigned(zero_extend(0x1400280, 64)) == 20972160); + assert(unsigned(zero_extend(0x1400284, 64)) == 20972164); + assert(unsigned(zero_extend(0x1400288, 64)) == 20972168); + assert(unsigned(zero_extend(0x140028c, 64)) == 20972172); + assert(unsigned(zero_extend(0x1400290, 64)) == 20972176); + assert(unsigned(zero_extend(0x1400294, 64)) == 20972180); + assert(unsigned(zero_extend(0x1400298, 64)) == 20972184); + assert(unsigned(zero_extend(0x140029c, 64)) == 20972188); + assert(unsigned(zero_extend(0x14002a0, 64)) == 20972192); + assert(unsigned(zero_extend(0x14002a4, 64)) == 20972196); + assert(unsigned(zero_extend(0x14002a8, 64)) == 20972200); + assert(unsigned(zero_extend(0x14002ac, 64)) == 20972204); + assert(unsigned(zero_extend(0x14002b0, 64)) == 20972208); + assert(unsigned(zero_extend(0x14002b4, 64)) == 20972212); + assert(unsigned(zero_extend(0x14002b8, 64)) == 20972216); + assert(unsigned(zero_extend(0x14002bc, 64)) == 20972220); + assert(unsigned(zero_extend(0x14002c0, 64)) == 20972224); + assert(unsigned(zero_extend(0x14002c4, 64)) == 20972228); + assert(unsigned(zero_extend(0x14002c8, 64)) == 20972232); + assert(unsigned(zero_extend(0x14002cc, 64)) == 20972236); + assert(unsigned(zero_extend(0x14002d0, 64)) == 20972240); + assert(unsigned(zero_extend(0x14002d4, 64)) == 20972244); + assert(unsigned(zero_extend(0x14002d8, 64)) == 20972248); + assert(unsigned(zero_extend(0x14002dc, 64)) == 20972252); + assert(unsigned(zero_extend(0x14002e0, 64)) == 20972256); + assert(unsigned(zero_extend(0x14002e4, 64)) == 20972260); + assert(unsigned(zero_extend(0x14002e8, 64)) == 20972264); + assert(unsigned(zero_extend(0x14002ec, 64)) == 20972268); + assert(unsigned(zero_extend(0x14002f0, 64)) == 20972272); + assert(unsigned(zero_extend(0x14002f4, 64)) == 20972276); + assert(unsigned(zero_extend(0x14002f8, 64)) == 20972280); + assert(unsigned(zero_extend(0x14002fc, 64)) == 20972284); + assert(unsigned(zero_extend(0x1400300, 64)) == 20972288); + assert(unsigned(zero_extend(0x1400304, 64)) == 20972292); + assert(unsigned(zero_extend(0x1400308, 64)) == 20972296); + assert(unsigned(zero_extend(0x140030c, 64)) == 20972300); + assert(unsigned(zero_extend(0x1400310, 64)) == 20972304); + assert(unsigned(zero_extend(0x1400314, 64)) == 20972308); + assert(unsigned(zero_extend(0x1400318, 64)) == 20972312); + assert(unsigned(zero_extend(0x140031c, 64)) == 20972316); + assert(unsigned(zero_extend(0x1400320, 64)) == 20972320); + assert(unsigned(zero_extend(0x1400324, 64)) == 20972324); + assert(unsigned(zero_extend(0x1400328, 64)) == 20972328); + assert(unsigned(zero_extend(0x140032c, 64)) == 20972332); + assert(unsigned(zero_extend(0x1400330, 64)) == 20972336); + assert(unsigned(zero_extend(0x1400334, 64)) == 20972340); + assert(unsigned(zero_extend(0x1400338, 64)) == 20972344); + assert(unsigned(zero_extend(0x140033c, 64)) == 20972348); + assert(unsigned(zero_extend(0x1400340, 64)) == 20972352); + assert(unsigned(zero_extend(0x1400344, 64)) == 20972356); + assert(unsigned(zero_extend(0x1400348, 64)) == 20972360); + assert(unsigned(zero_extend(0x140034c, 64)) == 20972364); + assert(unsigned(zero_extend(0x1400350, 64)) == 20972368); + assert(unsigned(zero_extend(0x1400354, 64)) == 20972372); + assert(unsigned(zero_extend(0x1400358, 64)) == 20972376); + assert(unsigned(zero_extend(0x140035c, 64)) == 20972380); + assert(unsigned(zero_extend(0x1400360, 64)) == 20972384); + assert(unsigned(zero_extend(0x1400364, 64)) == 20972388); + assert(unsigned(zero_extend(0x1400368, 64)) == 20972392); + assert(unsigned(zero_extend(0x140036c, 64)) == 20972396); + assert(unsigned(zero_extend(0x1400370, 64)) == 20972400); + assert(unsigned(zero_extend(0x1400374, 64)) == 20972404); + assert(unsigned(zero_extend(0x1400378, 64)) == 20972408); + assert(unsigned(zero_extend(0x140037c, 64)) == 20972412); + assert(unsigned(zero_extend(0x1400380, 64)) == 20972416); + assert(unsigned(zero_extend(0x1400384, 64)) == 20972420); + assert(unsigned(zero_extend(0x1400388, 64)) == 20972424); + assert(unsigned(zero_extend(0x140038c, 64)) == 20972428); + assert(unsigned(zero_extend(0x1400390, 64)) == 20972432); + assert(unsigned(zero_extend(0x1400394, 64)) == 20972436); + assert(unsigned(zero_extend(0x1400398, 64)) == 20972440); + assert(unsigned(zero_extend(0x140039c, 64)) == 20972444); + assert(unsigned(zero_extend(0x14003a0, 64)) == 20972448); + assert(unsigned(zero_extend(0x14003a4, 64)) == 20972452); + assert(unsigned(zero_extend(0x14003a8, 64)) == 20972456); + assert(unsigned(zero_extend(0x14003ac, 64)) == 20972460); + assert(unsigned(zero_extend(0x14003b0, 64)) == 20972464); + assert(unsigned(zero_extend(0x14003b8, 64)) == 20972472); + assert(unsigned(zero_extend(0x14003bc, 64)) == 20972476); + assert(unsigned(zero_extend(0x14003c4, 64)) == 20972484); + assert(unsigned(zero_extend(0x14003c8, 64)) == 20972488); + assert(unsigned(zero_extend(0x14003cc, 64)) == 20972492); + assert(unsigned(zero_extend(0x14003d0, 64)) == 20972496); + assert(unsigned(zero_extend(0x14003d4, 64)) == 20972500); + assert(unsigned(zero_extend(0x14003d8, 64)) == 20972504); + assert(unsigned(zero_extend(0x14003dc, 64)) == 20972508); + assert(unsigned(zero_extend(0x14003e0, 64)) == 20972512); + assert(unsigned(zero_extend(0x14003e4, 64)) == 20972516); + assert(unsigned(zero_extend(0x14003e8, 64)) == 20972520); + assert(unsigned(zero_extend(0x14003ec, 64)) == 20972524); + assert(unsigned(zero_extend(0x14003f4, 64)) == 20972532); + assert(unsigned(zero_extend(0x14003f8, 64)) == 20972536); + assert(unsigned(zero_extend(0x1400404, 64)) == 20972548); + assert(unsigned(zero_extend(0x1400408, 64)) == 20972552); + assert(unsigned(zero_extend(0x140040c, 64)) == 20972556); + assert(unsigned(zero_extend(0x1400410, 64)) == 20972560); + assert(unsigned(zero_extend(0x1400414, 64)) == 20972564); + assert(unsigned(zero_extend(0x1400418, 64)) == 20972568); + assert(unsigned(zero_extend(0x140041c, 64)) == 20972572); + assert(unsigned(zero_extend(0x1400420, 64)) == 20972576); + assert(unsigned(zero_extend(0x1400424, 64)) == 20972580); + assert(unsigned(zero_extend(0x1400428, 64)) == 20972584); + assert(unsigned(zero_extend(0x140042c, 64)) == 20972588); + assert(unsigned(zero_extend(0x1400430, 64)) == 20972592); + assert(unsigned(zero_extend(0x1400434, 64)) == 20972596); + assert(unsigned(zero_extend(0x1400438, 64)) == 20972600); + assert(unsigned(zero_extend(0x140043c, 64)) == 20972604); + assert(unsigned(zero_extend(0x1400440, 64)) == 20972608); + assert(unsigned(zero_extend(0x1400444, 64)) == 20972612); + assert(unsigned(zero_extend(0x1400448, 64)) == 20972616); + assert(unsigned(zero_extend(0x140044c, 64)) == 20972620); + assert(unsigned(zero_extend(0x1400450, 64)) == 20972624); + assert(unsigned(zero_extend(0x1400454, 64)) == 20972628); + assert(unsigned(zero_extend(0x1400458, 64)) == 20972632); + assert(unsigned(zero_extend(0x140045c, 64)) == 20972636); + assert(unsigned(zero_extend(0x1400460, 64)) == 20972640); + assert(unsigned(zero_extend(0x1400464, 64)) == 20972644); + assert(unsigned(zero_extend(0x1400468, 64)) == 20972648); + assert(unsigned(zero_extend(0x140046c, 64)) == 20972652); + assert(unsigned(zero_extend(0x1400470, 64)) == 20972656); + assert(unsigned(zero_extend(0x1400474, 64)) == 20972660); + assert(unsigned(zero_extend(0x1400478, 64)) == 20972664); + assert(unsigned(zero_extend(0x140047c, 64)) == 20972668); + assert(unsigned(zero_extend(0x1400480, 64)) == 20972672); + assert(unsigned(zero_extend(0x1400484, 64)) == 20972676); + assert(unsigned(zero_extend(0x1400488, 64)) == 20972680); + assert(unsigned(zero_extend(0x140048c, 64)) == 20972684); + assert(unsigned(zero_extend(0x1400490, 64)) == 20972688); + assert(unsigned(zero_extend(0x1400494, 64)) == 20972692); + assert(unsigned(zero_extend(0x1400498, 64)) == 20972696); + assert(unsigned(zero_extend(0x140049c, 64)) == 20972700); + assert(unsigned(zero_extend(0x14004a0, 64)) == 20972704); + assert(unsigned(zero_extend(0x14004a4, 64)) == 20972708); + assert(unsigned(zero_extend(0x14004a8, 64)) == 20972712); + assert(unsigned(zero_extend(0x14004ac, 64)) == 20972716); + assert(unsigned(zero_extend(0x14004b0, 64)) == 20972720); + assert(unsigned(zero_extend(0x14004b4, 64)) == 20972724); + assert(unsigned(zero_extend(0x14004b8, 64)) == 20972728); + assert(unsigned(zero_extend(0x14004bc, 64)) == 20972732); + assert(unsigned(zero_extend(0x14004c0, 64)) == 20972736); + assert(unsigned(zero_extend(0x14004c4, 64)) == 20972740); + assert(unsigned(zero_extend(0x14004c8, 64)) == 20972744); + assert(unsigned(zero_extend(0x14004cc, 64)) == 20972748); + assert(unsigned(zero_extend(0x14004d0, 64)) == 20972752); + assert(unsigned(zero_extend(0x14004d4, 64)) == 20972756); + assert(unsigned(zero_extend(0x14004d8, 64)) == 20972760); + assert(unsigned(zero_extend(0x14004dc, 64)) == 20972764); + assert(unsigned(zero_extend(0x14004e0, 64)) == 20972768); + assert(unsigned(zero_extend(0x14004e4, 64)) == 20972772); + assert(unsigned(zero_extend(0x14004e8, 64)) == 20972776); + assert(unsigned(zero_extend(0x14004ec, 64)) == 20972780); + assert(unsigned(zero_extend(0x14004f0, 64)) == 20972784); + assert(unsigned(zero_extend(0x14004f4, 64)) == 20972788); + assert(unsigned(zero_extend(0x14004f8, 64)) == 20972792); + assert(unsigned(zero_extend(0x14004fc, 64)) == 20972796); + assert(unsigned(zero_extend(0x1400500, 64)) == 20972800); + assert(unsigned(zero_extend(0x1400508, 64)) == 20972808); + assert(unsigned(zero_extend(0x140050c, 64)) == 20972812); + assert(unsigned(zero_extend(0x1400514, 64)) == 20972820); + assert(unsigned(zero_extend(0x1400518, 64)) == 20972824); + assert(unsigned(zero_extend(0x140051c, 64)) == 20972828); + assert(unsigned(zero_extend(0x1400520, 64)) == 20972832); + assert(unsigned(zero_extend(0x1400524, 64)) == 20972836); + assert(unsigned(zero_extend(0x1400528, 64)) == 20972840); + assert(unsigned(zero_extend(0x140052c, 64)) == 20972844); + assert(unsigned(zero_extend(0x1400530, 64)) == 20972848); + assert(unsigned(zero_extend(0x1400534, 64)) == 20972852); + assert(unsigned(zero_extend(0x1400538, 64)) == 20972856); + assert(unsigned(zero_extend(0x140053c, 64)) == 20972860); + assert(unsigned(zero_extend(0x1400544, 64)) == 20972868); + assert(unsigned(zero_extend(0x1400548, 64)) == 20972872); + assert(unsigned(zero_extend(0x1400554, 64)) == 20972884); + assert(unsigned(zero_extend(0x1400558, 64)) == 20972888); + assert(unsigned(zero_extend(0x140055c, 64)) == 20972892); + assert(unsigned(zero_extend(0x1400560, 64)) == 20972896); + assert(unsigned(zero_extend(0x1400564, 64)) == 20972900); + assert(unsigned(zero_extend(0x1400568, 64)) == 20972904); + assert(unsigned(zero_extend(0x140056c, 64)) == 20972908); + assert(unsigned(zero_extend(0x1400570, 64)) == 20972912); + assert(unsigned(zero_extend(0x1400574, 64)) == 20972916); + assert(unsigned(zero_extend(0x1400578, 64)) == 20972920); + assert(unsigned(zero_extend(0x140057c, 64)) == 20972924); + assert(unsigned(zero_extend(0x1400580, 64)) == 20972928); + assert(unsigned(zero_extend(0x1400584, 64)) == 20972932); + assert(unsigned(zero_extend(0x1400588, 64)) == 20972936); + assert(unsigned(zero_extend(0x140058c, 64)) == 20972940); + assert(unsigned(zero_extend(0x1400590, 64)) == 20972944); + assert(unsigned(zero_extend(0x1400594, 64)) == 20972948); + assert(unsigned(zero_extend(0x1400598, 64)) == 20972952); + assert(unsigned(zero_extend(0x140059c, 64)) == 20972956); + assert(unsigned(zero_extend(0x14005a0, 64)) == 20972960); + assert(unsigned(zero_extend(0x14005a4, 64)) == 20972964); + assert(unsigned(zero_extend(0x14005a8, 64)) == 20972968); + assert(unsigned(zero_extend(0x14005ac, 64)) == 20972972); + assert(unsigned(zero_extend(0x14005b0, 64)) == 20972976); + assert(unsigned(zero_extend(0x14005b4, 64)) == 20972980); + assert(unsigned(zero_extend(0x14005b8, 64)) == 20972984); + assert(unsigned(zero_extend(0x14005bc, 64)) == 20972988); + assert(unsigned(zero_extend(0x14005c0, 64)) == 20972992); + assert(unsigned(zero_extend(0x14005c4, 64)) == 20972996); + assert(unsigned(zero_extend(0x14005c8, 64)) == 20973000); + assert(unsigned(zero_extend(0x14005cc, 64)) == 20973004); + assert(unsigned(zero_extend(0x14005d0, 64)) == 20973008); + assert(unsigned(zero_extend(0x14005d4, 64)) == 20973012); + assert(unsigned(zero_extend(0x14005d8, 64)) == 20973016); + assert(unsigned(zero_extend(0x14005dc, 64)) == 20973020); + assert(unsigned(zero_extend(0x14005e0, 64)) == 20973024); + assert(unsigned(zero_extend(0x14005e4, 64)) == 20973028); + assert(unsigned(zero_extend(0x14005e8, 64)) == 20973032); + assert(unsigned(zero_extend(0x14005ec, 64)) == 20973036); + assert(unsigned(zero_extend(0x14005f0, 64)) == 20973040); + assert(unsigned(zero_extend(0x14005f4, 64)) == 20973044); + assert(unsigned(zero_extend(0x14005f8, 64)) == 20973048); + assert(unsigned(zero_extend(0x14005fc, 64)) == 20973052); + assert(unsigned(zero_extend(0x1400600, 64)) == 20973056); + assert(unsigned(zero_extend(0x1400604, 64)) == 20973060); + assert(unsigned(zero_extend(0x1400608, 64)) == 20973064); + assert(unsigned(zero_extend(0x140060c, 64)) == 20973068); + assert(unsigned(zero_extend(0x1400610, 64)) == 20973072); + assert(unsigned(zero_extend(0x1400614, 64)) == 20973076); + assert(unsigned(zero_extend(0x1400618, 64)) == 20973080); + assert(unsigned(zero_extend(0x140061c, 64)) == 20973084); + assert(unsigned(zero_extend(0x1400620, 64)) == 20973088); + assert(unsigned(zero_extend(0x1400624, 64)) == 20973092); + assert(unsigned(zero_extend(0x1400628, 64)) == 20973096); + assert(unsigned(zero_extend(0x140062c, 64)) == 20973100); + assert(unsigned(zero_extend(0x1400630, 64)) == 20973104); + assert(unsigned(zero_extend(0x1400634, 64)) == 20973108); + assert(unsigned(zero_extend(0x1400638, 64)) == 20973112); + assert(unsigned(zero_extend(0x140063c, 64)) == 20973116); + assert(unsigned(zero_extend(0x1400640, 64)) == 20973120); + assert(unsigned(zero_extend(0x1400644, 64)) == 20973124); + assert(unsigned(zero_extend(0x1400648, 64)) == 20973128); + assert(unsigned(zero_extend(0x140064c, 64)) == 20973132); + assert(unsigned(zero_extend(0x1400650, 64)) == 20973136); + assert(unsigned(zero_extend(0x1400658, 64)) == 20973144); + assert(unsigned(zero_extend(0x140065c, 64)) == 20973148); + assert(unsigned(zero_extend(0x1400664, 64)) == 20973156); + assert(unsigned(zero_extend(0x1400668, 64)) == 20973160); + assert(unsigned(zero_extend(0x140066c, 64)) == 20973164); + assert(unsigned(zero_extend(0x1400670, 64)) == 20973168); + assert(unsigned(zero_extend(0x1400674, 64)) == 20973172); + assert(unsigned(zero_extend(0x1400678, 64)) == 20973176); + assert(unsigned(zero_extend(0x140067c, 64)) == 20973180); + assert(unsigned(zero_extend(0x1400680, 64)) == 20973184); + assert(unsigned(zero_extend(0x1400684, 64)) == 20973188); + assert(unsigned(zero_extend(0x1400688, 64)) == 20973192); + assert(unsigned(zero_extend(0x140068c, 64)) == 20973196); + assert(unsigned(zero_extend(0x1400694, 64)) == 20973204); + assert(unsigned(zero_extend(0x1400698, 64)) == 20973208); + assert(unsigned(zero_extend(0x14006a4, 64)) == 20973220); + assert(unsigned(zero_extend(0x14006a8, 64)) == 20973224); + assert(unsigned(zero_extend(0x14006ac, 64)) == 20973228); + assert(unsigned(zero_extend(0x14006b0, 64)) == 20973232); + assert(unsigned(zero_extend(0x14006b4, 64)) == 20973236); + assert(unsigned(zero_extend(0x14006b8, 64)) == 20973240); + assert(unsigned(zero_extend(0x14006bc, 64)) == 20973244); + assert(unsigned(zero_extend(0x14006c0, 64)) == 20973248); + assert(unsigned(zero_extend(0x14006c4, 64)) == 20973252); + assert(unsigned(zero_extend(0x14006c8, 64)) == 20973256); + assert(unsigned(zero_extend(0x14006cc, 64)) == 20973260); + assert(unsigned(zero_extend(0x14006d0, 64)) == 20973264); + assert(unsigned(zero_extend(0x14006d4, 64)) == 20973268); + assert(unsigned(zero_extend(0x14006d8, 64)) == 20973272); + assert(unsigned(zero_extend(0x14006dc, 64)) == 20973276); + assert(unsigned(zero_extend(0x14006e0, 64)) == 20973280); + assert(unsigned(zero_extend(0x14006e4, 64)) == 20973284); + assert(unsigned(zero_extend(0x14006e8, 64)) == 20973288); + assert(unsigned(zero_extend(0x14006ec, 64)) == 20973292); + assert(unsigned(zero_extend(0x14006f0, 64)) == 20973296); + assert(unsigned(zero_extend(0x14006f4, 64)) == 20973300); + assert(unsigned(zero_extend(0x14006f8, 64)) == 20973304); + assert(unsigned(zero_extend(0x14006fc, 64)) == 20973308); + assert(unsigned(zero_extend(0x1400700, 64)) == 20973312); + assert(unsigned(zero_extend(0x1400704, 64)) == 20973316); + assert(unsigned(zero_extend(0x1400708, 64)) == 20973320); + assert(unsigned(zero_extend(0x140070c, 64)) == 20973324); + assert(unsigned(zero_extend(0x1400710, 64)) == 20973328); + assert(unsigned(zero_extend(0x1400714, 64)) == 20973332); + assert(unsigned(zero_extend(0x1400724, 64)) == 20973348); + assert(unsigned(zero_extend(0x1400728, 64)) == 20973352); + assert(unsigned(zero_extend(0x140072c, 64)) == 20973356); + assert(unsigned(zero_extend(0x1400730, 64)) == 20973360); + assert(unsigned(zero_extend(0x1400734, 64)) == 20973364); + assert(unsigned(zero_extend(0x1400738, 64)) == 20973368); + assert(unsigned(zero_extend(0x140073c, 64)) == 20973372); + assert(unsigned(zero_extend(0x1400740, 64)) == 20973376); + assert(unsigned(zero_extend(0x1400744, 64)) == 20973380); + assert(unsigned(zero_extend(0x1400748, 64)) == 20973384); + assert(unsigned(zero_extend(0x140074c, 64)) == 20973388); + assert(unsigned(zero_extend(0x1400750, 64)) == 20973392); + assert(unsigned(zero_extend(0x1400754, 64)) == 20973396); + assert(unsigned(zero_extend(0x1400758, 64)) == 20973400); + assert(unsigned(zero_extend(0x140075c, 64)) == 20973404); + assert(unsigned(zero_extend(0x1400760, 64)) == 20973408); + assert(unsigned(zero_extend(0x1400764, 64)) == 20973412); + assert(unsigned(zero_extend(0x1400768, 64)) == 20973416); + assert(unsigned(zero_extend(0x140076c, 64)) == 20973420); + assert(unsigned(zero_extend(0x1400770, 64)) == 20973424); + assert(unsigned(zero_extend(0x1400774, 64)) == 20973428); + assert(unsigned(zero_extend(0x1400778, 64)) == 20973432); + assert(unsigned(zero_extend(0x140077c, 64)) == 20973436); + assert(unsigned(zero_extend(0x1400780, 64)) == 20973440); + assert(unsigned(zero_extend(0x1400784, 64)) == 20973444); + assert(unsigned(zero_extend(0x1400788, 64)) == 20973448); + assert(unsigned(zero_extend(0x140078c, 64)) == 20973452); + assert(unsigned(zero_extend(0x1400790, 64)) == 20973456); + assert(unsigned(zero_extend(0x1400794, 64)) == 20973460); + assert(unsigned(zero_extend(0x1400798, 64)) == 20973464); + assert(unsigned(zero_extend(0x140079c, 64)) == 20973468); + assert(unsigned(zero_extend(0x14007a4, 64)) == 20973476); + assert(unsigned(zero_extend(0x14007a8, 64)) == 20973480); + assert(unsigned(zero_extend(0x14007b0, 64)) == 20973488); + assert(unsigned(zero_extend(0x14007b4, 64)) == 20973492); + assert(unsigned(zero_extend(0x14007b8, 64)) == 20973496); + assert(unsigned(zero_extend(0x14007bc, 64)) == 20973500); + assert(unsigned(zero_extend(0x14007c0, 64)) == 20973504); + assert(unsigned(zero_extend(0x14007c4, 64)) == 20973508); + assert(unsigned(zero_extend(0x14007c8, 64)) == 20973512); + assert(unsigned(zero_extend(0x14007cc, 64)) == 20973516); + assert(unsigned(zero_extend(0x14007d0, 64)) == 20973520); + assert(unsigned(zero_extend(0x14007d4, 64)) == 20973524); + assert(unsigned(zero_extend(0x14007d8, 64)) == 20973528); + assert(unsigned(zero_extend(0x14007e0, 64)) == 20973536); + assert(unsigned(zero_extend(0x14007e4, 64)) == 20973540); + assert(unsigned(zero_extend(0x14007f0, 64)) == 20973552); + assert(unsigned(zero_extend(0x14007f4, 64)) == 20973556); + assert(unsigned(zero_extend(0x14007f8, 64)) == 20973560); + assert(unsigned(zero_extend(0x14007fc, 64)) == 20973564); + assert(unsigned(zero_extend(0x1400800, 64)) == 20973568); + assert(unsigned(zero_extend(0x1400804, 64)) == 20973572); + assert(unsigned(zero_extend(0x1400808, 64)) == 20973576); + assert(unsigned(zero_extend(0x140080c, 64)) == 20973580); + assert(unsigned(zero_extend(0x1400810, 64)) == 20973584); + assert(unsigned(zero_extend(0x1400814, 64)) == 20973588); + assert(unsigned(zero_extend(0x1400818, 64)) == 20973592); + assert(unsigned(zero_extend(0x140081c, 64)) == 20973596); + assert(unsigned(zero_extend(0x1400820, 64)) == 20973600); + assert(unsigned(zero_extend(0x1400824, 64)) == 20973604); + assert(unsigned(zero_extend(0x1400828, 64)) == 20973608); + assert(unsigned(zero_extend(0x140082c, 64)) == 20973612); + assert(unsigned(zero_extend(0x1400830, 64)) == 20973616); + assert(unsigned(zero_extend(0x1400834, 64)) == 20973620); + assert(unsigned(zero_extend(0x1400838, 64)) == 20973624); + assert(unsigned(zero_extend(0x140083c, 64)) == 20973628); + assert(unsigned(zero_extend(0x1400840, 64)) == 20973632); + assert(unsigned(zero_extend(0x1400844, 64)) == 20973636); + assert(unsigned(zero_extend(0x1400848, 64)) == 20973640); + assert(unsigned(zero_extend(0x140084c, 64)) == 20973644); + assert(unsigned(zero_extend(0x1400850, 64)) == 20973648); + assert(unsigned(zero_extend(0x1400854, 64)) == 20973652); + assert(unsigned(zero_extend(0x1400858, 64)) == 20973656); + assert(unsigned(zero_extend(0x140085c, 64)) == 20973660); + assert(unsigned(zero_extend(0x1400860, 64)) == 20973664); + assert(unsigned(zero_extend(0x1400864, 64)) == 20973668); + assert(unsigned(zero_extend(0x1400868, 64)) == 20973672); + assert(unsigned(zero_extend(0x140086c, 64)) == 20973676); + assert(unsigned(zero_extend(0x1400870, 64)) == 20973680); + assert(unsigned(zero_extend(0x1400874, 64)) == 20973684); + assert(unsigned(zero_extend(0x1400878, 64)) == 20973688); + assert(unsigned(zero_extend(0x140087c, 64)) == 20973692); + assert(unsigned(zero_extend(0x1400880, 64)) == 20973696); + assert(unsigned(zero_extend(0x1400884, 64)) == 20973700); + assert(unsigned(zero_extend(0x1400888, 64)) == 20973704); + assert(unsigned(zero_extend(0x140088c, 64)) == 20973708); + assert(unsigned(zero_extend(0x1400890, 64)) == 20973712); + assert(unsigned(zero_extend(0x1400894, 64)) == 20973716); + assert(unsigned(zero_extend(0x1400898, 64)) == 20973720); + assert(unsigned(zero_extend(0x140089c, 64)) == 20973724); + assert(unsigned(zero_extend(0x14008a0, 64)) == 20973728); + assert(unsigned(zero_extend(0x14008a4, 64)) == 20973732); + assert(unsigned(zero_extend(0x14008a8, 64)) == 20973736); + assert(unsigned(zero_extend(0x14008ac, 64)) == 20973740); + assert(unsigned(zero_extend(0x14008b0, 64)) == 20973744); + assert(unsigned(zero_extend(0x14008b4, 64)) == 20973748); + assert(unsigned(zero_extend(0x14008b8, 64)) == 20973752); + assert(unsigned(zero_extend(0x14008bc, 64)) == 20973756); + assert(unsigned(zero_extend(0x14008c0, 64)) == 20973760); + assert(unsigned(zero_extend(0x14008c4, 64)) == 20973764); + assert(unsigned(zero_extend(0x14008c8, 64)) == 20973768); + assert(unsigned(zero_extend(0x14008cc, 64)) == 20973772); + assert(unsigned(zero_extend(0x14008d0, 64)) == 20973776); + assert(unsigned(zero_extend(0x14008d4, 64)) == 20973780); + assert(unsigned(zero_extend(0x14008d8, 64)) == 20973784); + assert(unsigned(zero_extend(0x14008dc, 64)) == 20973788); + assert(unsigned(zero_extend(0x14008e0, 64)) == 20973792); + assert(unsigned(zero_extend(0x14008e4, 64)) == 20973796); + assert(unsigned(zero_extend(0x14008e8, 64)) == 20973800); + assert(unsigned(zero_extend(0x14008ec, 64)) == 20973804); + assert(unsigned(zero_extend(0x14008f0, 64)) == 20973808); + assert(unsigned(zero_extend(0x14008f4, 64)) == 20973812); + assert(unsigned(zero_extend(0x14008f8, 64)) == 20973816); + assert(unsigned(zero_extend(0x14008fc, 64)) == 20973820); + assert(unsigned(zero_extend(0x1400900, 64)) == 20973824); + assert(unsigned(zero_extend(0x1400904, 64)) == 20973828); + assert(unsigned(zero_extend(0x1400908, 64)) == 20973832); + assert(unsigned(zero_extend(0x140090c, 64)) == 20973836); + assert(unsigned(zero_extend(0x1400910, 64)) == 20973840); + assert(unsigned(zero_extend(0x1400914, 64)) == 20973844); + assert(unsigned(zero_extend(0x1400918, 64)) == 20973848); + assert(unsigned(zero_extend(0x140091c, 64)) == 20973852); + assert(unsigned(zero_extend(0x1400920, 64)) == 20973856); + assert(unsigned(zero_extend(0x1400924, 64)) == 20973860); + assert(unsigned(zero_extend(0x1400928, 64)) == 20973864); + assert(unsigned(zero_extend(0x140092c, 64)) == 20973868); + assert(unsigned(zero_extend(0x1400930, 64)) == 20973872); + assert(unsigned(zero_extend(0x14086f0, 64)) == 21006064); + assert(unsigned(zero_extend(0x14086f4, 64)) == 21006068); + assert(unsigned(zero_extend(0x14086f8, 64)) == 21006072); + assert(unsigned(zero_extend(0x140883c, 64)) == 21006396); + assert(unsigned(zero_extend(0x1408840, 64)) == 21006400); + assert(unsigned(zero_extend(0x1408844, 64)) == 21006404); + assert(unsigned(zero_extend(0x14400, 64)) == 82944); + assert(unsigned(zero_extend(0x148, 64)) == 328); + assert(unsigned(zero_extend(0x14ab4, 64)) == 84660); + assert(unsigned(zero_extend(0x14ab8, 64)) == 84664); + assert(unsigned(zero_extend(0x14abc, 64)) == 84668); + assert(unsigned(zero_extend(0x14ac0, 64)) == 84672); + assert(unsigned(zero_extend(0x14ac4, 64)) == 84676); + assert(unsigned(zero_extend(0x14ac8, 64)) == 84680); + assert(unsigned(zero_extend(0x14ad4, 64)) == 84692); + assert(unsigned(zero_extend(0x14ad8, 64)) == 84696); + assert(unsigned(zero_extend(0x14adc, 64)) == 84700); + assert(unsigned(zero_extend(0x14ae0, 64)) == 84704); + assert(unsigned(zero_extend(0x14ae4, 64)) == 84708); + assert(unsigned(zero_extend(0x14ae8, 64)) == 84712); + assert(unsigned(zero_extend(0x14aec, 64)) == 84716); + assert(unsigned(zero_extend(0x14af0, 64)) == 84720); + assert(unsigned(zero_extend(0x14af4, 64)) == 84724); + assert(unsigned(zero_extend(0x14af8, 64)) == 84728); + assert(unsigned(zero_extend(0x14afc, 64)) == 84732); + assert(unsigned(zero_extend(0x14b00, 64)) == 84736); + assert(unsigned(zero_extend(0x14b04, 64)) == 84740); + assert(unsigned(zero_extend(0x14b88, 64)) == 84872); + assert(unsigned(zero_extend(0x14b8c, 64)) == 84876); + assert(unsigned(zero_extend(0x14b90, 64)) == 84880); + assert(unsigned(zero_extend(0x14b94, 64)) == 84884); + assert(unsigned(zero_extend(0x14b98, 64)) == 84888); + assert(unsigned(zero_extend(0x14b9c, 64)) == 84892); + assert(unsigned(zero_extend(0x14ba0, 64)) == 84896); + assert(unsigned(zero_extend(0x14ba4, 64)) == 84900); + assert(unsigned(zero_extend(0x14ba8, 64)) == 84904); + assert(unsigned(zero_extend(0x14bac, 64)) == 84908); + assert(unsigned(zero_extend(0x14bb0, 64)) == 84912); + assert(unsigned(zero_extend(0x14bb4, 64)) == 84916); + assert(unsigned(zero_extend(0x14bb8, 64)) == 84920); + assert(unsigned(zero_extend(0x14bbc, 64)) == 84924); + assert(unsigned(zero_extend(0x14d64, 64)) == 85348); + assert(unsigned(zero_extend(0x14d68, 64)) == 85352); + assert(unsigned(zero_extend(0x14d6c, 64)) == 85356); + assert(unsigned(zero_extend(0x14d70, 64)) == 85360); + assert(unsigned(zero_extend(0x14d74, 64)) == 85364); + assert(unsigned(zero_extend(0x14d78, 64)) == 85368); + assert(unsigned(zero_extend(0x14d7c, 64)) == 85372); + assert(unsigned(zero_extend(0x14d80, 64)) == 85376); + assert(unsigned(zero_extend(0x14d84, 64)) == 85380); + assert(unsigned(zero_extend(0x14d88, 64)) == 85384); + assert(unsigned(zero_extend(0x14d8c, 64)) == 85388); + assert(unsigned(zero_extend(0x14d90, 64)) == 85392); + assert(unsigned(zero_extend(0x14d94, 64)) == 85396); + assert(unsigned(zero_extend(0x14d98, 64)) == 85400); + assert(unsigned(zero_extend(0x14d9c, 64)) == 85404); + assert(unsigned(zero_extend(0x14da0, 64)) == 85408); + assert(unsigned(zero_extend(0x14da4, 64)) == 85412); + assert(unsigned(zero_extend(0x14da8, 64)) == 85416); + assert(unsigned(zero_extend(0x14dac, 64)) == 85420); + assert(unsigned(zero_extend(0x14db0, 64)) == 85424); + assert(unsigned(zero_extend(0x14db4, 64)) == 85428); + assert(unsigned(zero_extend(0x14db8, 64)) == 85432); + assert(unsigned(zero_extend(0x14dbc, 64)) == 85436); + assert(unsigned(zero_extend(0x14dc0, 64)) == 85440); + assert(unsigned(zero_extend(0x14dc4, 64)) == 85444); + assert(unsigned(zero_extend(0x14dc8, 64)) == 85448); + assert(unsigned(zero_extend(0x14dcc, 64)) == 85452); + assert(unsigned(zero_extend(0x14dd0, 64)) == 85456); + assert(unsigned(zero_extend(0x14dd4, 64)) == 85460); + assert(unsigned(zero_extend(0x14dd8, 64)) == 85464); + assert(unsigned(zero_extend(0x14ddc, 64)) == 85468); + assert(unsigned(zero_extend(0x14de0, 64)) == 85472); + assert(unsigned(zero_extend(0x14de4, 64)) == 85476); + assert(unsigned(zero_extend(0x14de8, 64)) == 85480); + assert(unsigned(zero_extend(0x14dec, 64)) == 85484); + assert(unsigned(zero_extend(0x14df0, 64)) == 85488); + assert(unsigned(zero_extend(0x14df4, 64)) == 85492); + assert(unsigned(zero_extend(0x14df8, 64)) == 85496); + assert(unsigned(zero_extend(0x14dfc, 64)) == 85500); + assert(unsigned(zero_extend(0x14e00, 64)) == 85504); + assert(unsigned(zero_extend(0x14e04, 64)) == 85508); + assert(unsigned(zero_extend(0x14e08, 64)) == 85512); + assert(unsigned(zero_extend(0x15, 64)) == 21); + assert(unsigned(zero_extend(0x150, 64)) == 336); + assert(unsigned(zero_extend(0x15002f8, 64)) == 22020856); + assert(unsigned(zero_extend(0x15002fc, 64)) == 22020860); + assert(unsigned(zero_extend(0x1500300, 64)) == 22020864); + assert(unsigned(zero_extend(0x1500450, 64)) == 22021200); + assert(unsigned(zero_extend(0x1500454, 64)) == 22021204); + assert(unsigned(zero_extend(0x1500458, 64)) == 22021208); + assert(unsigned(zero_extend(0x15005a0, 64)) == 22021536); + assert(unsigned(zero_extend(0x15005a4, 64)) == 22021540); + assert(unsigned(zero_extend(0x15005a8, 64)) == 22021544); + assert(unsigned(zero_extend(0x16, 64)) == 22); + assert(unsigned(zero_extend(0x160, 64)) == 352); + assert(unsigned(zero_extend(0x16240, 64)) == 90688); + assert(unsigned(zero_extend(0x16244, 64)) == 90692); + assert(unsigned(zero_extend(0x16310, 64)) == 90896); + assert(unsigned(zero_extend(0x16314, 64)) == 90900); + assert(unsigned(zero_extend(0x16318, 64)) == 90904); + assert(unsigned(zero_extend(0x1631c, 64)) == 90908); + assert(unsigned(zero_extend(0x16320, 64)) == 90912); + assert(unsigned(zero_extend(0x16324, 64)) == 90916); + assert(unsigned(zero_extend(0x16328, 64)) == 90920); + assert(unsigned(zero_extend(0x1632c, 64)) == 90924); + assert(unsigned(zero_extend(0x16330, 64)) == 90928); + assert(unsigned(zero_extend(0x16334, 64)) == 90932); + assert(unsigned(zero_extend(0x16368, 64)) == 90984); + assert(unsigned(zero_extend(0x1636c, 64)) == 90988); + assert(unsigned(zero_extend(0x16384, 64)) == 91012); + assert(unsigned(zero_extend(0x16388, 64)) == 91016); + assert(unsigned(zero_extend(0x163c0, 64)) == 91072); + assert(unsigned(zero_extend(0x163c4, 64)) == 91076); + assert(unsigned(zero_extend(0x163d0, 64)) == 91088); + assert(unsigned(zero_extend(0x163d4, 64)) == 91092); + assert(unsigned(zero_extend(0x163e0, 64)) == 91104); + assert(unsigned(zero_extend(0x163e4, 64)) == 91108); + assert(unsigned(zero_extend(0x163f0, 64)) == 91120); + assert(unsigned(zero_extend(0x163f4, 64)) == 91124); + assert(unsigned(zero_extend(0x163f8, 64)) == 91128); + assert(unsigned(zero_extend(0x163fc, 64)) == 91132); + assert(unsigned(zero_extend(0x16400, 64)) == 91136); + assert(unsigned(zero_extend(0x16404, 64)) == 91140); + assert(unsigned(zero_extend(0x16408, 64)) == 91144); + assert(unsigned(zero_extend(0x1640c, 64)) == 91148); + assert(unsigned(zero_extend(0x16420, 64)) == 91168); + assert(unsigned(zero_extend(0x16424, 64)) == 91172); + assert(unsigned(zero_extend(0x16428, 64)) == 91176); + assert(unsigned(zero_extend(0x1642c, 64)) == 91180); + assert(unsigned(zero_extend(0x1644c, 64)) == 91212); + assert(unsigned(zero_extend(0x16450, 64)) == 91216); + assert(unsigned(zero_extend(0x1645c, 64)) == 91228); + assert(unsigned(zero_extend(0x16460, 64)) == 91232); + assert(unsigned(zero_extend(0x16464, 64)) == 91236); + assert(unsigned(zero_extend(0x16474, 64)) == 91252); + assert(unsigned(zero_extend(0x16478, 64)) == 91256); + assert(unsigned(zero_extend(0x1647c, 64)) == 91260); + assert(unsigned(zero_extend(0x16480, 64)) == 91264); + assert(unsigned(zero_extend(0x16484, 64)) == 91268); + assert(unsigned(zero_extend(0x16488, 64)) == 91272); + assert(unsigned(zero_extend(0x1648c, 64)) == 91276); + assert(unsigned(zero_extend(0x16490, 64)) == 91280); + assert(unsigned(zero_extend(0x16494, 64)) == 91284); + assert(unsigned(zero_extend(0x16498, 64)) == 91288); + assert(unsigned(zero_extend(0x1649c, 64)) == 91292); + assert(unsigned(zero_extend(0x164a0, 64)) == 91296); + assert(unsigned(zero_extend(0x164a4, 64)) == 91300); + assert(unsigned(zero_extend(0x164a8, 64)) == 91304); + assert(unsigned(zero_extend(0x164ac, 64)) == 91308); + assert(unsigned(zero_extend(0x164b0, 64)) == 91312); + assert(unsigned(zero_extend(0x164b4, 64)) == 91316); + assert(unsigned(zero_extend(0x164b8, 64)) == 91320); + assert(unsigned(zero_extend(0x164d4, 64)) == 91348); + assert(unsigned(zero_extend(0x164d8, 64)) == 91352); + assert(unsigned(zero_extend(0x164dc, 64)) == 91356); + assert(unsigned(zero_extend(0x164e0, 64)) == 91360); + assert(unsigned(zero_extend(0x16510, 64)) == 91408); + assert(unsigned(zero_extend(0x16514, 64)) == 91412); + assert(unsigned(zero_extend(0x16518, 64)) == 91416); + assert(unsigned(zero_extend(0x1651c, 64)) == 91420); + assert(unsigned(zero_extend(0x16528, 64)) == 91432); + assert(unsigned(zero_extend(0x1652c, 64)) == 91436); + assert(unsigned(zero_extend(0x16590, 64)) == 91536); + assert(unsigned(zero_extend(0x16594, 64)) == 91540); + assert(unsigned(zero_extend(0x16598, 64)) == 91544); + assert(unsigned(zero_extend(0x165b4, 64)) == 91572); + assert(unsigned(zero_extend(0x165b8, 64)) == 91576); + assert(unsigned(zero_extend(0x165bc, 64)) == 91580); + assert(unsigned(zero_extend(0x165c8, 64)) == 91592); + assert(unsigned(zero_extend(0x165cc, 64)) == 91596); + assert(unsigned(zero_extend(0x165d0, 64)) == 91600); + assert(unsigned(zero_extend(0x165e0, 64)) == 91616); + assert(unsigned(zero_extend(0x165e4, 64)) == 91620); + assert(unsigned(zero_extend(0x165e8, 64)) == 91624); + assert(unsigned(zero_extend(0x165ec, 64)) == 91628); + assert(unsigned(zero_extend(0x165f0, 64)) == 91632); + assert(unsigned(zero_extend(0x165f4, 64)) == 91636); + assert(unsigned(zero_extend(0x165f8, 64)) == 91640); + assert(unsigned(zero_extend(0x165fc, 64)) == 91644); + assert(unsigned(zero_extend(0x16600, 64)) == 91648); + assert(unsigned(zero_extend(0x1660c, 64)) == 91660); + assert(unsigned(zero_extend(0x16610, 64)) == 91664); + assert(unsigned(zero_extend(0x16614, 64)) == 91668); + assert(unsigned(zero_extend(0x1663c, 64)) == 91708); + assert(unsigned(zero_extend(0x16640, 64)) == 91712); + assert(unsigned(zero_extend(0x16644, 64)) == 91716); + assert(unsigned(zero_extend(0x16648, 64)) == 91720); + assert(unsigned(zero_extend(0x1664c, 64)) == 91724); + assert(unsigned(zero_extend(0x16650, 64)) == 91728); + assert(unsigned(zero_extend(0x16654, 64)) == 91732); + assert(unsigned(zero_extend(0x16658, 64)) == 91736); + assert(unsigned(zero_extend(0x1665c, 64)) == 91740); + assert(unsigned(zero_extend(0x16668, 64)) == 91752); + assert(unsigned(zero_extend(0x1666c, 64)) == 91756); + assert(unsigned(zero_extend(0x16678, 64)) == 91768); + assert(unsigned(zero_extend(0x1667c, 64)) == 91772); + assert(unsigned(zero_extend(0x16680, 64)) == 91776); + assert(unsigned(zero_extend(0x16684, 64)) == 91780); + assert(unsigned(zero_extend(0x166a0, 64)) == 91808); + assert(unsigned(zero_extend(0x166a4, 64)) == 91812); + assert(unsigned(zero_extend(0x166a8, 64)) == 91816); + assert(unsigned(zero_extend(0x166ac, 64)) == 91820); + assert(unsigned(zero_extend(0x166b0, 64)) == 91824); + assert(unsigned(zero_extend(0x166b4, 64)) == 91828); + assert(unsigned(zero_extend(0x168, 64)) == 360); + assert(unsigned(zero_extend(0x17, 64)) == 23); + assert(unsigned(zero_extend(0x170, 64)) == 368); + assert(unsigned(zero_extend(0x17ffe, 64)) == 98302); + assert(unsigned(zero_extend(0x17fff, 64)) == 98303); + assert(unsigned(zero_extend(0x17fffffff, 64)) == 6442450943); + assert(unsigned(zero_extend(0x18, 64)) == 24); + assert(unsigned(zero_extend(0x180, 64)) == 384); + assert(unsigned(zero_extend(0x18000, 64)) == 98304); + assert(unsigned(zero_extend(0x180000000, 64)) == 6442450944); + assert(unsigned(zero_extend(0x18001, 64)) == 98305); + assert(unsigned(zero_extend(0x18899aabb, 64)) == 6586739387); + assert(unsigned(zero_extend(0x19, 64)) == 25); + assert(unsigned(zero_extend(0x1a, 64)) == 26); + assert(unsigned(zero_extend(0x1a0, 64)) == 416); + assert(unsigned(zero_extend(0x1a590, 64)) == 107920); + assert(unsigned(zero_extend(0x1a594, 64)) == 107924); + assert(unsigned(zero_extend(0x1a598, 64)) == 107928); + assert(unsigned(zero_extend(0x1a59c, 64)) == 107932); + assert(unsigned(zero_extend(0x1a5a0, 64)) == 107936); + assert(unsigned(zero_extend(0x1a5a4, 64)) == 107940); + assert(unsigned(zero_extend(0x1a5a8, 64)) == 107944); + assert(unsigned(zero_extend(0x1a5ac, 64)) == 107948); + assert(unsigned(zero_extend(0x1a5b0, 64)) == 107952); + assert(unsigned(zero_extend(0x1a5b4, 64)) == 107956); + assert(unsigned(zero_extend(0x1a5b8, 64)) == 107960); + assert(unsigned(zero_extend(0x1a5bc, 64)) == 107964); + assert(unsigned(zero_extend(0x1a5d4, 64)) == 107988); + assert(unsigned(zero_extend(0x1a5d8, 64)) == 107992); + assert(unsigned(zero_extend(0x1a5f4, 64)) == 108020); + assert(unsigned(zero_extend(0x1a5f8, 64)) == 108024); + assert(unsigned(zero_extend(0x1a5fc, 64)) == 108028); + assert(unsigned(zero_extend(0x1a600, 64)) == 108032); + assert(unsigned(zero_extend(0x1a600078, 64)) == 442499192); + assert(unsigned(zero_extend(0x1a60007c, 64)) == 442499196); + assert(unsigned(zero_extend(0x1a600080, 64)) == 442499200); + assert(unsigned(zero_extend(0x1a75c, 64)) == 108380); + assert(unsigned(zero_extend(0x1a760, 64)) == 108384); + assert(unsigned(zero_extend(0x1a764, 64)) == 108388); + assert(unsigned(zero_extend(0x1a768, 64)) == 108392); + assert(unsigned(zero_extend(0x1a76c, 64)) == 108396); + assert(unsigned(zero_extend(0x1a770, 64)) == 108400); + assert(unsigned(zero_extend(0x1a774, 64)) == 108404); + assert(unsigned(zero_extend(0x1a778, 64)) == 108408); + assert(unsigned(zero_extend(0x1a77c, 64)) == 108412); + assert(unsigned(zero_extend(0x1a780, 64)) == 108416); + assert(unsigned(zero_extend(0x1a784, 64)) == 108420); + assert(unsigned(zero_extend(0x1a788, 64)) == 108424); + assert(unsigned(zero_extend(0x1a78c, 64)) == 108428); + assert(unsigned(zero_extend(0x1a790, 64)) == 108432); + assert(unsigned(zero_extend(0x1a794, 64)) == 108436); + assert(unsigned(zero_extend(0x1a798, 64)) == 108440); + assert(unsigned(zero_extend(0x1a79c, 64)) == 108444); + assert(unsigned(zero_extend(0x1a840, 64)) == 108608); + assert(unsigned(zero_extend(0x1a844, 64)) == 108612); + assert(unsigned(zero_extend(0x1a848, 64)) == 108616); + assert(unsigned(zero_extend(0x1a84c, 64)) == 108620); + assert(unsigned(zero_extend(0x1a850, 64)) == 108624); + assert(unsigned(zero_extend(0x1a858, 64)) == 108632); + assert(unsigned(zero_extend(0x1a85c, 64)) == 108636); + assert(unsigned(zero_extend(0x1a860, 64)) == 108640); + assert(unsigned(zero_extend(0x1a864, 64)) == 108644); + assert(unsigned(zero_extend(0x1a870, 64)) == 108656); + assert(unsigned(zero_extend(0x1a878, 64)) == 108664); + assert(unsigned(zero_extend(0x1a87c, 64)) == 108668); + assert(unsigned(zero_extend(0x1a880, 64)) == 108672); + assert(unsigned(zero_extend(0x1a884, 64)) == 108676); + assert(unsigned(zero_extend(0x1a888, 64)) == 108680); + assert(unsigned(zero_extend(0x1a88c, 64)) == 108684); + assert(unsigned(zero_extend(0x1a890, 64)) == 108688); + assert(unsigned(zero_extend(0x1a894, 64)) == 108692); + assert(unsigned(zero_extend(0x1a898, 64)) == 108696); + assert(unsigned(zero_extend(0x1a89c, 64)) == 108700); + assert(unsigned(zero_extend(0x1a8a0, 64)) == 108704); + assert(unsigned(zero_extend(0x1a8a4, 64)) == 108708); + assert(unsigned(zero_extend(0x1a8a8, 64)) == 108712); + assert(unsigned(zero_extend(0x1a8ac, 64)) == 108716); + assert(unsigned(zero_extend(0x1a8b0, 64)) == 108720); + assert(unsigned(zero_extend(0x1a8b4, 64)) == 108724); + assert(unsigned(zero_extend(0x1a8b8, 64)) == 108728); + assert(unsigned(zero_extend(0x1a8bc, 64)) == 108732); + assert(unsigned(zero_extend(0x1a8c0, 64)) == 108736); + assert(unsigned(zero_extend(0x1a8c4, 64)) == 108740); + assert(unsigned(zero_extend(0x1a8c8, 64)) == 108744); + assert(unsigned(zero_extend(0x1a8cc, 64)) == 108748); + assert(unsigned(zero_extend(0x1a8d0, 64)) == 108752); + assert(unsigned(zero_extend(0x1a8d4, 64)) == 108756); + assert(unsigned(zero_extend(0x1a8d8, 64)) == 108760); + assert(unsigned(zero_extend(0x1a8dc, 64)) == 108764); + assert(unsigned(zero_extend(0x1a8e0, 64)) == 108768); + assert(unsigned(zero_extend(0x1a8e4, 64)) == 108772); + assert(unsigned(zero_extend(0x1a8e8, 64)) == 108776); + assert(unsigned(zero_extend(0x1a8ec, 64)) == 108780); + assert(unsigned(zero_extend(0x1a8f0, 64)) == 108784); + assert(unsigned(zero_extend(0x1a8f4, 64)) == 108788); + assert(unsigned(zero_extend(0x1a8f8, 64)) == 108792); + assert(unsigned(zero_extend(0x1a8fc, 64)) == 108796); + assert(unsigned(zero_extend(0x1a900, 64)) == 108800); + assert(unsigned(zero_extend(0x1a904, 64)) == 108804); + assert(unsigned(zero_extend(0x1a908, 64)) == 108808); + assert(unsigned(zero_extend(0x1a90c, 64)) == 108812); + assert(unsigned(zero_extend(0x1a910, 64)) == 108816); + assert(unsigned(zero_extend(0x1a914, 64)) == 108820); + assert(unsigned(zero_extend(0x1a918, 64)) == 108824); + assert(unsigned(zero_extend(0x1a91c, 64)) == 108828); + assert(unsigned(zero_extend(0x1a920, 64)) == 108832); + assert(unsigned(zero_extend(0x1a924, 64)) == 108836); + assert(unsigned(zero_extend(0x1a928, 64)) == 108840); + assert(unsigned(zero_extend(0x1a92c, 64)) == 108844); + assert(unsigned(zero_extend(0x1a930, 64)) == 108848); + assert(unsigned(zero_extend(0x1a934, 64)) == 108852); + assert(unsigned(zero_extend(0x1a938, 64)) == 108856); + assert(unsigned(zero_extend(0x1a93c, 64)) == 108860); + assert(unsigned(zero_extend(0x1a940, 64)) == 108864); + assert(unsigned(zero_extend(0x1a944, 64)) == 108868); + assert(unsigned(zero_extend(0x1a948, 64)) == 108872); + assert(unsigned(zero_extend(0x1a94c, 64)) == 108876); + assert(unsigned(zero_extend(0x1a950, 64)) == 108880); + assert(unsigned(zero_extend(0x1a954, 64)) == 108884); + assert(unsigned(zero_extend(0x1a958, 64)) == 108888); + assert(unsigned(zero_extend(0x1a95c, 64)) == 108892); + assert(unsigned(zero_extend(0x1a960, 64)) == 108896); + assert(unsigned(zero_extend(0x1a964, 64)) == 108900); + assert(unsigned(zero_extend(0x1a968, 64)) == 108904); + assert(unsigned(zero_extend(0x1a96c, 64)) == 108908); + assert(unsigned(zero_extend(0x1a970, 64)) == 108912); + assert(unsigned(zero_extend(0x1a974, 64)) == 108916); + assert(unsigned(zero_extend(0x1a978, 64)) == 108920); + assert(unsigned(zero_extend(0x1a97c, 64)) == 108924); + assert(unsigned(zero_extend(0x1a980, 64)) == 108928); + assert(unsigned(zero_extend(0x1a984, 64)) == 108932); + assert(unsigned(zero_extend(0x1a988, 64)) == 108936); + assert(unsigned(zero_extend(0x1a98c, 64)) == 108940); + assert(unsigned(zero_extend(0x1a990, 64)) == 108944); + assert(unsigned(zero_extend(0x1a994, 64)) == 108948); + assert(unsigned(zero_extend(0x1a998, 64)) == 108952); + assert(unsigned(zero_extend(0x1a99c, 64)) == 108956); + assert(unsigned(zero_extend(0x1a9a0, 64)) == 108960); + assert(unsigned(zero_extend(0x1a9a4, 64)) == 108964); + assert(unsigned(zero_extend(0x1a9a8, 64)) == 108968); + assert(unsigned(zero_extend(0x1a9ac, 64)) == 108972); + assert(unsigned(zero_extend(0x1a9b0, 64)) == 108976); + assert(unsigned(zero_extend(0x1a9b4, 64)) == 108980); + assert(unsigned(zero_extend(0x1a9b8, 64)) == 108984); + assert(unsigned(zero_extend(0x1a9bc, 64)) == 108988); + assert(unsigned(zero_extend(0x1a9c0, 64)) == 108992); + assert(unsigned(zero_extend(0x1a9c4, 64)) == 108996); + assert(unsigned(zero_extend(0x1a9c8, 64)) == 109000); + assert(unsigned(zero_extend(0x1a9cc, 64)) == 109004); + assert(unsigned(zero_extend(0x1a9d0, 64)) == 109008); + assert(unsigned(zero_extend(0x1a9d4, 64)) == 109012); + assert(unsigned(zero_extend(0x1a9d8, 64)) == 109016); + assert(unsigned(zero_extend(0x1a9dc, 64)) == 109020); + assert(unsigned(zero_extend(0x1a9e0, 64)) == 109024); + assert(unsigned(zero_extend(0x1a9e4, 64)) == 109028); + assert(unsigned(zero_extend(0x1a9e8, 64)) == 109032); + assert(unsigned(zero_extend(0x1a9f4, 64)) == 109044); + assert(unsigned(zero_extend(0x1a9f8, 64)) == 109048); + assert(unsigned(zero_extend(0x1a9fc, 64)) == 109052); + assert(unsigned(zero_extend(0x1aa00, 64)) == 109056); + assert(unsigned(zero_extend(0x1aa04, 64)) == 109060); + assert(unsigned(zero_extend(0x1aa08, 64)) == 109064); + assert(unsigned(zero_extend(0x1aa0c, 64)) == 109068); + assert(unsigned(zero_extend(0x1aa10, 64)) == 109072); + assert(unsigned(zero_extend(0x1aa14, 64)) == 109076); + assert(unsigned(zero_extend(0x1aa18, 64)) == 109080); + assert(unsigned(zero_extend(0x1aa1c, 64)) == 109084); + assert(unsigned(zero_extend(0x1aa20, 64)) == 109088); + assert(unsigned(zero_extend(0x1aa24, 64)) == 109092); + assert(unsigned(zero_extend(0x1aa28, 64)) == 109096); + assert(unsigned(zero_extend(0x1aa2c, 64)) == 109100); + assert(unsigned(zero_extend(0x1aa30, 64)) == 109104); + assert(unsigned(zero_extend(0x1aa34, 64)) == 109108); + assert(unsigned(zero_extend(0x1aa38, 64)) == 109112); + assert(unsigned(zero_extend(0x1aa3c, 64)) == 109116); + assert(unsigned(zero_extend(0x1aa40, 64)) == 109120); + assert(unsigned(zero_extend(0x1aa50, 64)) == 109136); + assert(unsigned(zero_extend(0x1aa58, 64)) == 109144); + assert(unsigned(zero_extend(0x1aa60, 64)) == 109152); + assert(unsigned(zero_extend(0x1aa68, 64)) == 109160); + assert(unsigned(zero_extend(0x1aa6c, 64)) == 109164); + assert(unsigned(zero_extend(0x1aa70, 64)) == 109168); + assert(unsigned(zero_extend(0x1aa74, 64)) == 109172); + assert(unsigned(zero_extend(0x1aa78, 64)) == 109176); + assert(unsigned(zero_extend(0x1aa7c, 64)) == 109180); + assert(unsigned(zero_extend(0x1aa80, 64)) == 109184); + assert(unsigned(zero_extend(0x1aa84, 64)) == 109188); + assert(unsigned(zero_extend(0x1aa88, 64)) == 109192); + assert(unsigned(zero_extend(0x1aaa8, 64)) == 109224); + assert(unsigned(zero_extend(0x1aab0, 64)) == 109232); + assert(unsigned(zero_extend(0x1aab8, 64)) == 109240); + assert(unsigned(zero_extend(0x1aac0, 64)) == 109248); + assert(unsigned(zero_extend(0x1ac70, 64)) == 109680); + assert(unsigned(zero_extend(0x1ac74, 64)) == 109684); + assert(unsigned(zero_extend(0x1ac78, 64)) == 109688); + assert(unsigned(zero_extend(0x1ac7c, 64)) == 109692); + assert(unsigned(zero_extend(0x1ac80, 64)) == 109696); + assert(unsigned(zero_extend(0x1ac84, 64)) == 109700); + assert(unsigned(zero_extend(0x1ac88, 64)) == 109704); + assert(unsigned(zero_extend(0x1ac8c, 64)) == 109708); + assert(unsigned(zero_extend(0x1ac90, 64)) == 109712); + assert(unsigned(zero_extend(0x1ac94, 64)) == 109716); + assert(unsigned(zero_extend(0x1ac98, 64)) == 109720); + assert(unsigned(zero_extend(0x1ac9c, 64)) == 109724); + assert(unsigned(zero_extend(0x1aca0, 64)) == 109728); + assert(unsigned(zero_extend(0x1aca4, 64)) == 109732); + assert(unsigned(zero_extend(0x1aca8, 64)) == 109736); + assert(unsigned(zero_extend(0x1acac, 64)) == 109740); + assert(unsigned(zero_extend(0x1acb0, 64)) == 109744); + assert(unsigned(zero_extend(0x1acb4, 64)) == 109748); + assert(unsigned(zero_extend(0x1acb8, 64)) == 109752); + assert(unsigned(zero_extend(0x1acbc, 64)) == 109756); + assert(unsigned(zero_extend(0x1acc0, 64)) == 109760); + assert(unsigned(zero_extend(0x1acc4, 64)) == 109764); + assert(unsigned(zero_extend(0x1acc8, 64)) == 109768); + assert(unsigned(zero_extend(0x1accc, 64)) == 109772); + assert(unsigned(zero_extend(0x1acd0, 64)) == 109776); + assert(unsigned(zero_extend(0x1acd4, 64)) == 109780); + assert(unsigned(zero_extend(0x1acd8, 64)) == 109784); + assert(unsigned(zero_extend(0x1acdc, 64)) == 109788); + assert(unsigned(zero_extend(0x1ace0, 64)) == 109792); + assert(unsigned(zero_extend(0x1ace4, 64)) == 109796); + assert(unsigned(zero_extend(0x1ace8, 64)) == 109800); + assert(unsigned(zero_extend(0x1acec, 64)) == 109804); + assert(unsigned(zero_extend(0x1acf0, 64)) == 109808); + assert(unsigned(zero_extend(0x1acf4, 64)) == 109812); + assert(unsigned(zero_extend(0x1acf8, 64)) == 109816); + assert(unsigned(zero_extend(0x1acfc, 64)) == 109820); + assert(unsigned(zero_extend(0x1ad00, 64)) == 109824); + assert(unsigned(zero_extend(0x1ad04, 64)) == 109828); + assert(unsigned(zero_extend(0x1ad08, 64)) == 109832); + assert(unsigned(zero_extend(0x1ad0c, 64)) == 109836); + assert(unsigned(zero_extend(0x1ad10, 64)) == 109840); + assert(unsigned(zero_extend(0x1ad14, 64)) == 109844); + assert(unsigned(zero_extend(0x1ad18, 64)) == 109848); + assert(unsigned(zero_extend(0x1ad1c, 64)) == 109852); + assert(unsigned(zero_extend(0x1ad20, 64)) == 109856); + assert(unsigned(zero_extend(0x1ad24, 64)) == 109860); + assert(unsigned(zero_extend(0x1ad28, 64)) == 109864); + assert(unsigned(zero_extend(0x1ad2c, 64)) == 109868); + assert(unsigned(zero_extend(0x1ad30, 64)) == 109872); + assert(unsigned(zero_extend(0x1ad34, 64)) == 109876); + assert(unsigned(zero_extend(0x1ad38, 64)) == 109880); + assert(unsigned(zero_extend(0x1ad3c, 64)) == 109884); + assert(unsigned(zero_extend(0x1ad40, 64)) == 109888); + assert(unsigned(zero_extend(0x1ad44, 64)) == 109892); + assert(unsigned(zero_extend(0x1ad48, 64)) == 109896); + assert(unsigned(zero_extend(0x1ad4c, 64)) == 109900); + assert(unsigned(zero_extend(0x1ad50, 64)) == 109904); + assert(unsigned(zero_extend(0x1ad54, 64)) == 109908); + assert(unsigned(zero_extend(0x1ad58, 64)) == 109912); + assert(unsigned(zero_extend(0x1ad5c, 64)) == 109916); + assert(unsigned(zero_extend(0x1ad60, 64)) == 109920); + assert(unsigned(zero_extend(0x1ad64, 64)) == 109924); + assert(unsigned(zero_extend(0x1ad68, 64)) == 109928); + assert(unsigned(zero_extend(0x1ad6c, 64)) == 109932); + assert(unsigned(zero_extend(0x1ad70, 64)) == 109936); + assert(unsigned(zero_extend(0x1ad74, 64)) == 109940); + assert(unsigned(zero_extend(0x1ad78, 64)) == 109944); + assert(unsigned(zero_extend(0x1ad7c, 64)) == 109948); + assert(unsigned(zero_extend(0x1ad80, 64)) == 109952); + assert(unsigned(zero_extend(0x1ad84, 64)) == 109956); + assert(unsigned(zero_extend(0x1ad88, 64)) == 109960); + assert(unsigned(zero_extend(0x1ad8c, 64)) == 109964); + assert(unsigned(zero_extend(0x1ad90, 64)) == 109968); + assert(unsigned(zero_extend(0x1ad94, 64)) == 109972); + assert(unsigned(zero_extend(0x1ad98, 64)) == 109976); + assert(unsigned(zero_extend(0x1ad9c, 64)) == 109980); + assert(unsigned(zero_extend(0x1ada0, 64)) == 109984); + assert(unsigned(zero_extend(0x1ada4, 64)) == 109988); + assert(unsigned(zero_extend(0x1ada8, 64)) == 109992); + assert(unsigned(zero_extend(0x1adac, 64)) == 109996); + assert(unsigned(zero_extend(0x1adb0, 64)) == 110000); + assert(unsigned(zero_extend(0x1adb4, 64)) == 110004); + assert(unsigned(zero_extend(0x1adb8, 64)) == 110008); + assert(unsigned(zero_extend(0x1adbc, 64)) == 110012); + assert(unsigned(zero_extend(0x1adc0, 64)) == 110016); + assert(unsigned(zero_extend(0x1adc4, 64)) == 110020); + assert(unsigned(zero_extend(0x1adc8, 64)) == 110024); + assert(unsigned(zero_extend(0x1adcc, 64)) == 110028); + assert(unsigned(zero_extend(0x1add0, 64)) == 110032); + assert(unsigned(zero_extend(0x1add4, 64)) == 110036); + assert(unsigned(zero_extend(0x1add8, 64)) == 110040); + assert(unsigned(zero_extend(0x1addc, 64)) == 110044); + assert(unsigned(zero_extend(0x1ade0, 64)) == 110048); + assert(unsigned(zero_extend(0x1ade4, 64)) == 110052); + assert(unsigned(zero_extend(0x1ade8, 64)) == 110056); + assert(unsigned(zero_extend(0x1adec, 64)) == 110060); + assert(unsigned(zero_extend(0x1adf0, 64)) == 110064); + assert(unsigned(zero_extend(0x1adf4, 64)) == 110068); + assert(unsigned(zero_extend(0x1adf8, 64)) == 110072); + assert(unsigned(zero_extend(0x1adfc, 64)) == 110076); + assert(unsigned(zero_extend(0x1ae00, 64)) == 110080); + assert(unsigned(zero_extend(0x1ae04, 64)) == 110084); + assert(unsigned(zero_extend(0x1ae08, 64)) == 110088); + assert(unsigned(zero_extend(0x1ae0c, 64)) == 110092); + assert(unsigned(zero_extend(0x1ae10, 64)) == 110096); + assert(unsigned(zero_extend(0x1ae14, 64)) == 110100); + assert(unsigned(zero_extend(0x1ae18, 64)) == 110104); + assert(unsigned(zero_extend(0x1ae1c, 64)) == 110108); + assert(unsigned(zero_extend(0x1ae20, 64)) == 110112); + assert(unsigned(zero_extend(0x1ae28, 64)) == 110120); + assert(unsigned(zero_extend(0x1ae30, 64)) == 110128); + assert(unsigned(zero_extend(0x1ae40, 64)) == 110144); + assert(unsigned(zero_extend(0x1ae44, 64)) == 110148); + assert(unsigned(zero_extend(0x1ae48, 64)) == 110152); + assert(unsigned(zero_extend(0x1ae4c, 64)) == 110156); + assert(unsigned(zero_extend(0x1ae50, 64)) == 110160); + assert(unsigned(zero_extend(0x1ae54, 64)) == 110164); + assert(unsigned(zero_extend(0x1ae58, 64)) == 110168); + assert(unsigned(zero_extend(0x1ae5c, 64)) == 110172); + assert(unsigned(zero_extend(0x1ae60, 64)) == 110176); + assert(unsigned(zero_extend(0x1ae64, 64)) == 110180); + assert(unsigned(zero_extend(0x1ae68, 64)) == 110184); + assert(unsigned(zero_extend(0x1ae6c, 64)) == 110188); + assert(unsigned(zero_extend(0x1ae70, 64)) == 110192); + assert(unsigned(zero_extend(0x1ae74, 64)) == 110196); + assert(unsigned(zero_extend(0x1ae78, 64)) == 110200); + assert(unsigned(zero_extend(0x1ae80, 64)) == 110208); + assert(unsigned(zero_extend(0x1ae88, 64)) == 110216); + assert(unsigned(zero_extend(0x1aef0, 64)) == 110320); + assert(unsigned(zero_extend(0x1aef4, 64)) == 110324); + assert(unsigned(zero_extend(0x1aef8, 64)) == 110328); + assert(unsigned(zero_extend(0x1aefc, 64)) == 110332); + assert(unsigned(zero_extend(0x1af00, 64)) == 110336); + assert(unsigned(zero_extend(0x1af04, 64)) == 110340); + assert(unsigned(zero_extend(0x1af08, 64)) == 110344); + assert(unsigned(zero_extend(0x1af0c, 64)) == 110348); + assert(unsigned(zero_extend(0x1af10, 64)) == 110352); + assert(unsigned(zero_extend(0x1af14, 64)) == 110356); + assert(unsigned(zero_extend(0x1af18, 64)) == 110360); + assert(unsigned(zero_extend(0x1af1c, 64)) == 110364); + assert(unsigned(zero_extend(0x1af20, 64)) == 110368); + assert(unsigned(zero_extend(0x1af24, 64)) == 110372); + assert(unsigned(zero_extend(0x1af28, 64)) == 110376); + assert(unsigned(zero_extend(0x1af2c, 64)) == 110380); + assert(unsigned(zero_extend(0x1af30, 64)) == 110384); + assert(unsigned(zero_extend(0x1af34, 64)) == 110388); + assert(unsigned(zero_extend(0x1af38, 64)) == 110392); + assert(unsigned(zero_extend(0x1af3c, 64)) == 110396); + assert(unsigned(zero_extend(0x1af40, 64)) == 110400); + assert(unsigned(zero_extend(0x1af44, 64)) == 110404); + assert(unsigned(zero_extend(0x1af48, 64)) == 110408); + assert(unsigned(zero_extend(0x1af4c, 64)) == 110412); + assert(unsigned(zero_extend(0x1af50, 64)) == 110416); + assert(unsigned(zero_extend(0x1af54, 64)) == 110420); + assert(unsigned(zero_extend(0x1af58, 64)) == 110424); + assert(unsigned(zero_extend(0x1af5c, 64)) == 110428); + assert(unsigned(zero_extend(0x1af60, 64)) == 110432); + assert(unsigned(zero_extend(0x1af64, 64)) == 110436); + assert(unsigned(zero_extend(0x1af68, 64)) == 110440); + assert(unsigned(zero_extend(0x1af6c, 64)) == 110444); + assert(unsigned(zero_extend(0x1af70, 64)) == 110448); + assert(unsigned(zero_extend(0x1af74, 64)) == 110452); + assert(unsigned(zero_extend(0x1af78, 64)) == 110456); + assert(unsigned(zero_extend(0x1af7c, 64)) == 110460); + assert(unsigned(zero_extend(0x1af80, 64)) == 110464); + assert(unsigned(zero_extend(0x1af84, 64)) == 110468); + assert(unsigned(zero_extend(0x1af88, 64)) == 110472); + assert(unsigned(zero_extend(0x1af8c, 64)) == 110476); + assert(unsigned(zero_extend(0x1af90, 64)) == 110480); + assert(unsigned(zero_extend(0x1af94, 64)) == 110484); + assert(unsigned(zero_extend(0x1af98, 64)) == 110488); + assert(unsigned(zero_extend(0x1af9c, 64)) == 110492); + assert(unsigned(zero_extend(0x1afa0, 64)) == 110496); + assert(unsigned(zero_extend(0x1afa4, 64)) == 110500); + assert(unsigned(zero_extend(0x1afa8, 64)) == 110504); + assert(unsigned(zero_extend(0x1afac, 64)) == 110508); + assert(unsigned(zero_extend(0x1afb0, 64)) == 110512); + assert(unsigned(zero_extend(0x1afb4, 64)) == 110516); + assert(unsigned(zero_extend(0x1afb8, 64)) == 110520); + assert(unsigned(zero_extend(0x1afbc, 64)) == 110524); + assert(unsigned(zero_extend(0x1afc0, 64)) == 110528); + assert(unsigned(zero_extend(0x1afc4, 64)) == 110532); + assert(unsigned(zero_extend(0x1afc8, 64)) == 110536); + assert(unsigned(zero_extend(0x1afcc, 64)) == 110540); + assert(unsigned(zero_extend(0x1afd0, 64)) == 110544); + assert(unsigned(zero_extend(0x1afd4, 64)) == 110548); + assert(unsigned(zero_extend(0x1afd8, 64)) == 110552); + assert(unsigned(zero_extend(0x1afdc, 64)) == 110556); + assert(unsigned(zero_extend(0x1afe0, 64)) == 110560); + assert(unsigned(zero_extend(0x1afe4, 64)) == 110564); + assert(unsigned(zero_extend(0x1afe8, 64)) == 110568); + assert(unsigned(zero_extend(0x1afec, 64)) == 110572); + assert(unsigned(zero_extend(0x1aff0, 64)) == 110576); + assert(unsigned(zero_extend(0x1aff4, 64)) == 110580); + assert(unsigned(zero_extend(0x1aff8, 64)) == 110584); + assert(unsigned(zero_extend(0x1affc, 64)) == 110588); + assert(unsigned(zero_extend(0x1b, 64)) == 27); + assert(unsigned(zero_extend(0x1b000, 64)) == 110592); + assert(unsigned(zero_extend(0x1b004, 64)) == 110596); + assert(unsigned(zero_extend(0x1b008, 64)) == 110600); + assert(unsigned(zero_extend(0x1b00c, 64)) == 110604); + assert(unsigned(zero_extend(0x1b010, 64)) == 110608); + assert(unsigned(zero_extend(0x1b014, 64)) == 110612); + assert(unsigned(zero_extend(0x1b018, 64)) == 110616); + assert(unsigned(zero_extend(0x1b01c, 64)) == 110620); + assert(unsigned(zero_extend(0x1b020, 64)) == 110624); + assert(unsigned(zero_extend(0x1b024, 64)) == 110628); + assert(unsigned(zero_extend(0x1b028, 64)) == 110632); + assert(unsigned(zero_extend(0x1b02c, 64)) == 110636); + assert(unsigned(zero_extend(0x1b030, 64)) == 110640); + assert(unsigned(zero_extend(0x1b034, 64)) == 110644); + assert(unsigned(zero_extend(0x1b038, 64)) == 110648); + assert(unsigned(zero_extend(0x1b03c, 64)) == 110652); + assert(unsigned(zero_extend(0x1b040, 64)) == 110656); + assert(unsigned(zero_extend(0x1b044, 64)) == 110660); + assert(unsigned(zero_extend(0x1b048, 64)) == 110664); + assert(unsigned(zero_extend(0x1b04c, 64)) == 110668); + assert(unsigned(zero_extend(0x1b050, 64)) == 110672); + assert(unsigned(zero_extend(0x1b054, 64)) == 110676); + assert(unsigned(zero_extend(0x1b058, 64)) == 110680); + assert(unsigned(zero_extend(0x1b05c, 64)) == 110684); + assert(unsigned(zero_extend(0x1b060, 64)) == 110688); + assert(unsigned(zero_extend(0x1b064, 64)) == 110692); + assert(unsigned(zero_extend(0x1b068, 64)) == 110696); + assert(unsigned(zero_extend(0x1b06c, 64)) == 110700); + assert(unsigned(zero_extend(0x1b070, 64)) == 110704); + assert(unsigned(zero_extend(0x1b074, 64)) == 110708); + assert(unsigned(zero_extend(0x1b078, 64)) == 110712); + assert(unsigned(zero_extend(0x1b07c, 64)) == 110716); + assert(unsigned(zero_extend(0x1b080, 64)) == 110720); + assert(unsigned(zero_extend(0x1b088, 64)) == 110728); + assert(unsigned(zero_extend(0x1b090, 64)) == 110736); + assert(unsigned(zero_extend(0x1b098, 64)) == 110744); + assert(unsigned(zero_extend(0x1b09c, 64)) == 110748); + assert(unsigned(zero_extend(0x1b0a0, 64)) == 110752); + assert(unsigned(zero_extend(0x1b0a4, 64)) == 110756); + assert(unsigned(zero_extend(0x1b0a8, 64)) == 110760); + assert(unsigned(zero_extend(0x1b0ac, 64)) == 110764); + assert(unsigned(zero_extend(0x1b0b0, 64)) == 110768); + assert(unsigned(zero_extend(0x1b0b4, 64)) == 110772); + assert(unsigned(zero_extend(0x1b0b8, 64)) == 110776); + assert(unsigned(zero_extend(0x1b0bc, 64)) == 110780); + assert(unsigned(zero_extend(0x1b0c0, 64)) == 110784); + assert(unsigned(zero_extend(0x1b0c4, 64)) == 110788); + assert(unsigned(zero_extend(0x1b0c8, 64)) == 110792); + assert(unsigned(zero_extend(0x1b0cc, 64)) == 110796); + assert(unsigned(zero_extend(0x1b0d0, 64)) == 110800); + assert(unsigned(zero_extend(0x1b0d4, 64)) == 110804); + assert(unsigned(zero_extend(0x1b0d8, 64)) == 110808); + assert(unsigned(zero_extend(0x1b0dc, 64)) == 110812); + assert(unsigned(zero_extend(0x1b0e0, 64)) == 110816); + assert(unsigned(zero_extend(0x1b0e4, 64)) == 110820); + assert(unsigned(zero_extend(0x1b0e8, 64)) == 110824); + assert(unsigned(zero_extend(0x1b0ec, 64)) == 110828); + assert(unsigned(zero_extend(0x1b0f0, 64)) == 110832); + assert(unsigned(zero_extend(0x1b0f4, 64)) == 110836); + assert(unsigned(zero_extend(0x1b0f8, 64)) == 110840); + assert(unsigned(zero_extend(0x1b0fc, 64)) == 110844); + assert(unsigned(zero_extend(0x1b100, 64)) == 110848); + assert(unsigned(zero_extend(0x1b104, 64)) == 110852); + assert(unsigned(zero_extend(0x1b108, 64)) == 110856); + assert(unsigned(zero_extend(0x1b10c, 64)) == 110860); + assert(unsigned(zero_extend(0x1b110, 64)) == 110864); + assert(unsigned(zero_extend(0x1b114, 64)) == 110868); + assert(unsigned(zero_extend(0x1b118, 64)) == 110872); + assert(unsigned(zero_extend(0x1b11c, 64)) == 110876); + assert(unsigned(zero_extend(0x1b120, 64)) == 110880); + assert(unsigned(zero_extend(0x1b124, 64)) == 110884); + assert(unsigned(zero_extend(0x1b128, 64)) == 110888); + assert(unsigned(zero_extend(0x1b12c, 64)) == 110892); + assert(unsigned(zero_extend(0x1b130, 64)) == 110896); + assert(unsigned(zero_extend(0x1b134, 64)) == 110900); + assert(unsigned(zero_extend(0x1b138, 64)) == 110904); + assert(unsigned(zero_extend(0x1b13c, 64)) == 110908); + assert(unsigned(zero_extend(0x1b140, 64)) == 110912); + assert(unsigned(zero_extend(0x1b144, 64)) == 110916); + assert(unsigned(zero_extend(0x1b148, 64)) == 110920); + assert(unsigned(zero_extend(0x1b14c, 64)) == 110924); + assert(unsigned(zero_extend(0x1b150, 64)) == 110928); + assert(unsigned(zero_extend(0x1b154, 64)) == 110932); + assert(unsigned(zero_extend(0x1b158, 64)) == 110936); + assert(unsigned(zero_extend(0x1b15c, 64)) == 110940); + assert(unsigned(zero_extend(0x1b160, 64)) == 110944); + assert(unsigned(zero_extend(0x1b164, 64)) == 110948); + assert(unsigned(zero_extend(0x1b168, 64)) == 110952); + assert(unsigned(zero_extend(0x1b16c, 64)) == 110956); + assert(unsigned(zero_extend(0x1b170, 64)) == 110960); + assert(unsigned(zero_extend(0x1b174, 64)) == 110964); + assert(unsigned(zero_extend(0x1b178, 64)) == 110968); + assert(unsigned(zero_extend(0x1b17c, 64)) == 110972); + assert(unsigned(zero_extend(0x1b180, 64)) == 110976); + assert(unsigned(zero_extend(0x1b184, 64)) == 110980); + assert(unsigned(zero_extend(0x1b188, 64)) == 110984); + assert(unsigned(zero_extend(0x1b18c, 64)) == 110988); + assert(unsigned(zero_extend(0x1b190, 64)) == 110992); + assert(unsigned(zero_extend(0x1b194, 64)) == 110996); + assert(unsigned(zero_extend(0x1b198, 64)) == 111000); + assert(unsigned(zero_extend(0x1b19c, 64)) == 111004); + assert(unsigned(zero_extend(0x1b1a0, 64)) == 111008); + assert(unsigned(zero_extend(0x1b1a4, 64)) == 111012); + assert(unsigned(zero_extend(0x1b1a8, 64)) == 111016); + assert(unsigned(zero_extend(0x1b1ac, 64)) == 111020); + assert(unsigned(zero_extend(0x1b1b0, 64)) == 111024); + assert(unsigned(zero_extend(0x1b1b4, 64)) == 111028); + assert(unsigned(zero_extend(0x1b1b8, 64)) == 111032); + assert(unsigned(zero_extend(0x1b1bc, 64)) == 111036); + assert(unsigned(zero_extend(0x1b1c0, 64)) == 111040); + assert(unsigned(zero_extend(0x1b1c4, 64)) == 111044); + assert(unsigned(zero_extend(0x1b1c8, 64)) == 111048); + assert(unsigned(zero_extend(0x1b1cc, 64)) == 111052); + assert(unsigned(zero_extend(0x1b1d0, 64)) == 111056); + assert(unsigned(zero_extend(0x1b1d4, 64)) == 111060); + assert(unsigned(zero_extend(0x1b1d8, 64)) == 111064); + assert(unsigned(zero_extend(0x1b1dc, 64)) == 111068); + assert(unsigned(zero_extend(0x1b1e0, 64)) == 111072); + assert(unsigned(zero_extend(0x1b1e4, 64)) == 111076); + assert(unsigned(zero_extend(0x1b1e8, 64)) == 111080); + assert(unsigned(zero_extend(0x1b1f8, 64)) == 111096); + assert(unsigned(zero_extend(0x1b1fc, 64)) == 111100); + assert(unsigned(zero_extend(0x1b200, 64)) == 111104); + assert(unsigned(zero_extend(0x1b204, 64)) == 111108); + assert(unsigned(zero_extend(0x1b208, 64)) == 111112); + assert(unsigned(zero_extend(0x1b20c, 64)) == 111116); + assert(unsigned(zero_extend(0x1b210, 64)) == 111120); + assert(unsigned(zero_extend(0x1b214, 64)) == 111124); + assert(unsigned(zero_extend(0x1b218, 64)) == 111128); + assert(unsigned(zero_extend(0x1b21c, 64)) == 111132); + assert(unsigned(zero_extend(0x1b220, 64)) == 111136); + assert(unsigned(zero_extend(0x1b224, 64)) == 111140); + assert(unsigned(zero_extend(0x1b228, 64)) == 111144); + assert(unsigned(zero_extend(0x1b22c, 64)) == 111148); + assert(unsigned(zero_extend(0x1b230, 64)) == 111152); + assert(unsigned(zero_extend(0x1b238, 64)) == 111160); + assert(unsigned(zero_extend(0x1b240, 64)) == 111168); + assert(unsigned(zero_extend(0x1b248, 64)) == 111176); + assert(unsigned(zero_extend(0x1b250, 64)) == 111184); + assert(unsigned(zero_extend(0x1b254, 64)) == 111188); + assert(unsigned(zero_extend(0x1b258, 64)) == 111192); + assert(unsigned(zero_extend(0x1b25c, 64)) == 111196); + assert(unsigned(zero_extend(0x1b260, 64)) == 111200); + assert(unsigned(zero_extend(0x1b264, 64)) == 111204); + assert(unsigned(zero_extend(0x1b268, 64)) == 111208); + assert(unsigned(zero_extend(0x1b26c, 64)) == 111212); + assert(unsigned(zero_extend(0x1b270, 64)) == 111216); + assert(unsigned(zero_extend(0x1b274, 64)) == 111220); + assert(unsigned(zero_extend(0x1b278, 64)) == 111224); + assert(unsigned(zero_extend(0x1b27c, 64)) == 111228); + assert(unsigned(zero_extend(0x1b280, 64)) == 111232); + assert(unsigned(zero_extend(0x1b288, 64)) == 111240); + assert(unsigned(zero_extend(0x1b290, 64)) == 111248); + assert(unsigned(zero_extend(0x1b298, 64)) == 111256); + assert(unsigned(zero_extend(0x1b2a0, 64)) == 111264); + assert(unsigned(zero_extend(0x1b2a8, 64)) == 111272); + assert(unsigned(zero_extend(0x1b690, 64)) == 112272); + assert(unsigned(zero_extend(0x1b694, 64)) == 112276); + assert(unsigned(zero_extend(0x1b698, 64)) == 112280); + assert(unsigned(zero_extend(0x1b69c, 64)) == 112284); + assert(unsigned(zero_extend(0x1b6a0, 64)) == 112288); + assert(unsigned(zero_extend(0x1b6a4, 64)) == 112292); + assert(unsigned(zero_extend(0x1b6a8, 64)) == 112296); + assert(unsigned(zero_extend(0x1b6ac, 64)) == 112300); + assert(unsigned(zero_extend(0x1b6b0, 64)) == 112304); + assert(unsigned(zero_extend(0x1b6b4, 64)) == 112308); + assert(unsigned(zero_extend(0x1b6b8, 64)) == 112312); + assert(unsigned(zero_extend(0x1b6bc, 64)) == 112316); + assert(unsigned(zero_extend(0x1b6c0, 64)) == 112320); + assert(unsigned(zero_extend(0x1b6c4, 64)) == 112324); + assert(unsigned(zero_extend(0x1b6d4, 64)) == 112340); + assert(unsigned(zero_extend(0x1b6d8, 64)) == 112344); + assert(unsigned(zero_extend(0x1b6dc, 64)) == 112348); + assert(unsigned(zero_extend(0x1b6e0, 64)) == 112352); + assert(unsigned(zero_extend(0x1b6e4, 64)) == 112356); + assert(unsigned(zero_extend(0x1b6e8, 64)) == 112360); + assert(unsigned(zero_extend(0x1b6ec, 64)) == 112364); + assert(unsigned(zero_extend(0x1b6f0, 64)) == 112368); + assert(unsigned(zero_extend(0x1b6f4, 64)) == 112372); + assert(unsigned(zero_extend(0x1b6f8, 64)) == 112376); + assert(unsigned(zero_extend(0x1b6fc, 64)) == 112380); + assert(unsigned(zero_extend(0x1b700, 64)) == 112384); + assert(unsigned(zero_extend(0x1b704, 64)) == 112388); + assert(unsigned(zero_extend(0x1b708, 64)) == 112392); + assert(unsigned(zero_extend(0x1b70c, 64)) == 112396); + assert(unsigned(zero_extend(0x1b710, 64)) == 112400); + assert(unsigned(zero_extend(0x1b714, 64)) == 112404); + assert(unsigned(zero_extend(0x1b718, 64)) == 112408); + assert(unsigned(zero_extend(0x1b71c, 64)) == 112412); + assert(unsigned(zero_extend(0x1b720, 64)) == 112416); + assert(unsigned(zero_extend(0x1b724, 64)) == 112420); + assert(unsigned(zero_extend(0x1b728, 64)) == 112424); + assert(unsigned(zero_extend(0x1b72c, 64)) == 112428); + assert(unsigned(zero_extend(0x1b730, 64)) == 112432); + assert(unsigned(zero_extend(0x1b734, 64)) == 112436); + assert(unsigned(zero_extend(0x1b738, 64)) == 112440); + assert(unsigned(zero_extend(0x1b73c, 64)) == 112444); + assert(unsigned(zero_extend(0x1b740, 64)) == 112448); + assert(unsigned(zero_extend(0x1b744, 64)) == 112452); + assert(unsigned(zero_extend(0x1b748, 64)) == 112456); + assert(unsigned(zero_extend(0x1b74c, 64)) == 112460); + assert(unsigned(zero_extend(0x1b750, 64)) == 112464); + assert(unsigned(zero_extend(0x1b754, 64)) == 112468); + assert(unsigned(zero_extend(0x1b758, 64)) == 112472); + assert(unsigned(zero_extend(0x1b75c, 64)) == 112476); + assert(unsigned(zero_extend(0x1b760, 64)) == 112480); + assert(unsigned(zero_extend(0x1b764, 64)) == 112484); + assert(unsigned(zero_extend(0x1b768, 64)) == 112488); + assert(unsigned(zero_extend(0x1b76c, 64)) == 112492); + assert(unsigned(zero_extend(0x1b770, 64)) == 112496); + assert(unsigned(zero_extend(0x1b774, 64)) == 112500); + assert(unsigned(zero_extend(0x1b778, 64)) == 112504); + assert(unsigned(zero_extend(0x1b77c, 64)) == 112508); + assert(unsigned(zero_extend(0x1b780, 64)) == 112512); + assert(unsigned(zero_extend(0x1b784, 64)) == 112516); + assert(unsigned(zero_extend(0x1b788, 64)) == 112520); + assert(unsigned(zero_extend(0x1b78c, 64)) == 112524); + assert(unsigned(zero_extend(0x1b7b8, 64)) == 112568); + assert(unsigned(zero_extend(0x1b7bc, 64)) == 112572); + assert(unsigned(zero_extend(0x1b7c0, 64)) == 112576); + assert(unsigned(zero_extend(0x1b7c4, 64)) == 112580); + assert(unsigned(zero_extend(0x1b7c8, 64)) == 112584); + assert(unsigned(zero_extend(0x1b7cc, 64)) == 112588); + assert(unsigned(zero_extend(0x1b7d0, 64)) == 112592); + assert(unsigned(zero_extend(0x1b7d4, 64)) == 112596); + assert(unsigned(zero_extend(0x1b7d8, 64)) == 112600); + assert(unsigned(zero_extend(0x1b7dc, 64)) == 112604); + assert(unsigned(zero_extend(0x1b7e0, 64)) == 112608); + assert(unsigned(zero_extend(0x1b7e8, 64)) == 112616); + assert(unsigned(zero_extend(0x1b7f0, 64)) == 112624); + assert(unsigned(zero_extend(0x1b810, 64)) == 112656); + assert(unsigned(zero_extend(0x1b814, 64)) == 112660); + assert(unsigned(zero_extend(0x1b818, 64)) == 112664); + assert(unsigned(zero_extend(0x1b81c, 64)) == 112668); + assert(unsigned(zero_extend(0x1b820, 64)) == 112672); + assert(unsigned(zero_extend(0x1b824, 64)) == 112676); + assert(unsigned(zero_extend(0x1b828, 64)) == 112680); + assert(unsigned(zero_extend(0x1b82c, 64)) == 112684); + assert(unsigned(zero_extend(0x1b830, 64)) == 112688); + assert(unsigned(zero_extend(0x1b838, 64)) == 112696); + assert(unsigned(zero_extend(0x1b83c, 64)) == 112700); + assert(unsigned(zero_extend(0x1b840, 64)) == 112704); + assert(unsigned(zero_extend(0x1b844, 64)) == 112708); + assert(unsigned(zero_extend(0x1b848, 64)) == 112712); + assert(unsigned(zero_extend(0x1b84c, 64)) == 112716); + assert(unsigned(zero_extend(0x1b850, 64)) == 112720); + assert(unsigned(zero_extend(0x1b854, 64)) == 112724); + assert(unsigned(zero_extend(0x1b858, 64)) == 112728); + assert(unsigned(zero_extend(0x1b85c, 64)) == 112732); + assert(unsigned(zero_extend(0x1b860, 64)) == 112736); + assert(unsigned(zero_extend(0x1b864, 64)) == 112740); + assert(unsigned(zero_extend(0x1b868, 64)) == 112744); + assert(unsigned(zero_extend(0x1b86c, 64)) == 112748); + assert(unsigned(zero_extend(0x1b870, 64)) == 112752); + assert(unsigned(zero_extend(0x1b874, 64)) == 112756); + assert(unsigned(zero_extend(0x1b878, 64)) == 112760); + assert(unsigned(zero_extend(0x1b87c, 64)) == 112764); + assert(unsigned(zero_extend(0x1b888, 64)) == 112776); + assert(unsigned(zero_extend(0x1b890, 64)) == 112784); + assert(unsigned(zero_extend(0x1b894, 64)) == 112788); + assert(unsigned(zero_extend(0x1b898, 64)) == 112792); + assert(unsigned(zero_extend(0x1b89c, 64)) == 112796); + assert(unsigned(zero_extend(0x1b8a0, 64)) == 112800); + assert(unsigned(zero_extend(0x1b8a4, 64)) == 112804); + assert(unsigned(zero_extend(0x1b8a8, 64)) == 112808); + assert(unsigned(zero_extend(0x1b8ac, 64)) == 112812); + assert(unsigned(zero_extend(0x1b8b0, 64)) == 112816); + assert(unsigned(zero_extend(0x1b8b4, 64)) == 112820); + assert(unsigned(zero_extend(0x1b8b8, 64)) == 112824); + assert(unsigned(zero_extend(0x1b8bc, 64)) == 112828); + assert(unsigned(zero_extend(0x1b8c0, 64)) == 112832); + assert(unsigned(zero_extend(0x1b8c4, 64)) == 112836); + assert(unsigned(zero_extend(0x1b8c8, 64)) == 112840); + assert(unsigned(zero_extend(0x1b8cc, 64)) == 112844); + assert(unsigned(zero_extend(0x1b8d0, 64)) == 112848); + assert(unsigned(zero_extend(0x1b8d4, 64)) == 112852); + assert(unsigned(zero_extend(0x1b910, 64)) == 112912); + assert(unsigned(zero_extend(0x1b914, 64)) == 112916); + assert(unsigned(zero_extend(0x1b918, 64)) == 112920); + assert(unsigned(zero_extend(0x1b91c, 64)) == 112924); + assert(unsigned(zero_extend(0x1b920, 64)) == 112928); + assert(unsigned(zero_extend(0x1b924, 64)) == 112932); + assert(unsigned(zero_extend(0x1b928, 64)) == 112936); + assert(unsigned(zero_extend(0x1b92c, 64)) == 112940); + assert(unsigned(zero_extend(0x1b930, 64)) == 112944); + assert(unsigned(zero_extend(0x1b934, 64)) == 112948); + assert(unsigned(zero_extend(0x1b938, 64)) == 112952); + assert(unsigned(zero_extend(0x1b93c, 64)) == 112956); + assert(unsigned(zero_extend(0x1b940, 64)) == 112960); + assert(unsigned(zero_extend(0x1b944, 64)) == 112964); + assert(unsigned(zero_extend(0x1b948, 64)) == 112968); + assert(unsigned(zero_extend(0x1b94c, 64)) == 112972); + assert(unsigned(zero_extend(0x1b950, 64)) == 112976); + assert(unsigned(zero_extend(0x1b954, 64)) == 112980); + assert(unsigned(zero_extend(0x1b958, 64)) == 112984); + assert(unsigned(zero_extend(0x1b95c, 64)) == 112988); + assert(unsigned(zero_extend(0x1b960, 64)) == 112992); + assert(unsigned(zero_extend(0x1b964, 64)) == 112996); + assert(unsigned(zero_extend(0x1b968, 64)) == 113000); + assert(unsigned(zero_extend(0x1b96c, 64)) == 113004); + assert(unsigned(zero_extend(0x1b970, 64)) == 113008); + assert(unsigned(zero_extend(0x1b974, 64)) == 113012); + assert(unsigned(zero_extend(0x1b978, 64)) == 113016); + assert(unsigned(zero_extend(0x1b97c, 64)) == 113020); + assert(unsigned(zero_extend(0x1b980, 64)) == 113024); + assert(unsigned(zero_extend(0x1b984, 64)) == 113028); + assert(unsigned(zero_extend(0x1b988, 64)) == 113032); + assert(unsigned(zero_extend(0x1b98c, 64)) == 113036); + assert(unsigned(zero_extend(0x1b990, 64)) == 113040); + assert(unsigned(zero_extend(0x1b994, 64)) == 113044); + assert(unsigned(zero_extend(0x1b998, 64)) == 113048); + assert(unsigned(zero_extend(0x1b99c, 64)) == 113052); + assert(unsigned(zero_extend(0x1b9a0, 64)) == 113056); + assert(unsigned(zero_extend(0x1b9a4, 64)) == 113060); + assert(unsigned(zero_extend(0x1b9a8, 64)) == 113064); + assert(unsigned(zero_extend(0x1b9ac, 64)) == 113068); + assert(unsigned(zero_extend(0x1b9b0, 64)) == 113072); + assert(unsigned(zero_extend(0x1b9b4, 64)) == 113076); + assert(unsigned(zero_extend(0x1b9b8, 64)) == 113080); + assert(unsigned(zero_extend(0x1b9bc, 64)) == 113084); + assert(unsigned(zero_extend(0x1b9c0, 64)) == 113088); + assert(unsigned(zero_extend(0x1b9c4, 64)) == 113092); + assert(unsigned(zero_extend(0x1b9c8, 64)) == 113096); + assert(unsigned(zero_extend(0x1b9cc, 64)) == 113100); + assert(unsigned(zero_extend(0x1ba00, 64)) == 113152); + assert(unsigned(zero_extend(0x1ba04, 64)) == 113156); + assert(unsigned(zero_extend(0x1ba08, 64)) == 113160); + assert(unsigned(zero_extend(0x1ba0c, 64)) == 113164); + assert(unsigned(zero_extend(0x1ba10, 64)) == 113168); + assert(unsigned(zero_extend(0x1ba14, 64)) == 113172); + assert(unsigned(zero_extend(0x1ba18, 64)) == 113176); + assert(unsigned(zero_extend(0x1ba1c, 64)) == 113180); + assert(unsigned(zero_extend(0x1ba20, 64)) == 113184); + assert(unsigned(zero_extend(0x1ba24, 64)) == 113188); + assert(unsigned(zero_extend(0x1ba7c, 64)) == 113276); + assert(unsigned(zero_extend(0x1ba80, 64)) == 113280); + assert(unsigned(zero_extend(0x1ba84, 64)) == 113284); + assert(unsigned(zero_extend(0x1ba88, 64)) == 113288); + assert(unsigned(zero_extend(0x1ba8c, 64)) == 113292); + assert(unsigned(zero_extend(0x1ba90, 64)) == 113296); + assert(unsigned(zero_extend(0x1ba94, 64)) == 113300); + assert(unsigned(zero_extend(0x1ba98, 64)) == 113304); + assert(unsigned(zero_extend(0x1ba9c, 64)) == 113308); + assert(unsigned(zero_extend(0x1baa0, 64)) == 113312); + assert(unsigned(zero_extend(0x1baa4, 64)) == 113316); + assert(unsigned(zero_extend(0x1baa8, 64)) == 113320); + assert(unsigned(zero_extend(0x1bad0, 64)) == 113360); + assert(unsigned(zero_extend(0x1bad4, 64)) == 113364); + assert(unsigned(zero_extend(0x1bad8, 64)) == 113368); + assert(unsigned(zero_extend(0x1badc, 64)) == 113372); + assert(unsigned(zero_extend(0x1bae0, 64)) == 113376); + assert(unsigned(zero_extend(0x1bae4, 64)) == 113380); + assert(unsigned(zero_extend(0x1bae8, 64)) == 113384); + assert(unsigned(zero_extend(0x1baec, 64)) == 113388); + assert(unsigned(zero_extend(0x1baf0, 64)) == 113392); + assert(unsigned(zero_extend(0x1baf4, 64)) == 113396); + assert(unsigned(zero_extend(0x1baf8, 64)) == 113400); + assert(unsigned(zero_extend(0x1bafc, 64)) == 113404); + assert(unsigned(zero_extend(0x1bb00, 64)) == 113408); + assert(unsigned(zero_extend(0x1bb08, 64)) == 113416); + assert(unsigned(zero_extend(0x1bb28, 64)) == 113448); + assert(unsigned(zero_extend(0x1bb2c, 64)) == 113452); + assert(unsigned(zero_extend(0x1bb30, 64)) == 113456); + assert(unsigned(zero_extend(0x1bb34, 64)) == 113460); + assert(unsigned(zero_extend(0x1bb38, 64)) == 113464); + assert(unsigned(zero_extend(0x1bb3c, 64)) == 113468); + assert(unsigned(zero_extend(0x1bb40, 64)) == 113472); + assert(unsigned(zero_extend(0x1bb44, 64)) == 113476); + assert(unsigned(zero_extend(0x1bb48, 64)) == 113480); + assert(unsigned(zero_extend(0x1bb50, 64)) == 113488); + assert(unsigned(zero_extend(0x1bb58, 64)) == 113496); + assert(unsigned(zero_extend(0x1bb60, 64)) == 113504); + assert(unsigned(zero_extend(0x1bba8, 64)) == 113576); + assert(unsigned(zero_extend(0x1bd68, 64)) == 114024); + assert(unsigned(zero_extend(0x1bd6c, 64)) == 114028); + assert(unsigned(zero_extend(0x1bd70, 64)) == 114032); + assert(unsigned(zero_extend(0x1bd74, 64)) == 114036); + assert(unsigned(zero_extend(0x1bd78, 64)) == 114040); + assert(unsigned(zero_extend(0x1bd7c, 64)) == 114044); + assert(unsigned(zero_extend(0x1bd80, 64)) == 114048); + assert(unsigned(zero_extend(0x1bd84, 64)) == 114052); + assert(unsigned(zero_extend(0x1bd88, 64)) == 114056); + assert(unsigned(zero_extend(0x1bd8c, 64)) == 114060); + assert(unsigned(zero_extend(0x1bd90, 64)) == 114064); + assert(unsigned(zero_extend(0x1bd94, 64)) == 114068); + assert(unsigned(zero_extend(0x1bd98, 64)) == 114072); + assert(unsigned(zero_extend(0x1bd9c, 64)) == 114076); + assert(unsigned(zero_extend(0x1bda0, 64)) == 114080); + assert(unsigned(zero_extend(0x1bda4, 64)) == 114084); + assert(unsigned(zero_extend(0x1bda8, 64)) == 114088); + assert(unsigned(zero_extend(0x1bdac, 64)) == 114092); + assert(unsigned(zero_extend(0x1bdb0, 64)) == 114096); + assert(unsigned(zero_extend(0x1bdb4, 64)) == 114100); + assert(unsigned(zero_extend(0x1bdb8, 64)) == 114104); + assert(unsigned(zero_extend(0x1bdbc, 64)) == 114108); + assert(unsigned(zero_extend(0x1bdc0, 64)) == 114112); + assert(unsigned(zero_extend(0x1bdc4, 64)) == 114116); + assert(unsigned(zero_extend(0x1bdc8, 64)) == 114120); + assert(unsigned(zero_extend(0x1bdcc, 64)) == 114124); + assert(unsigned(zero_extend(0x1bdd0, 64)) == 114128); + assert(unsigned(zero_extend(0x1bdd4, 64)) == 114132); + assert(unsigned(zero_extend(0x1bdd8, 64)) == 114136); + assert(unsigned(zero_extend(0x1bddc, 64)) == 114140); + assert(unsigned(zero_extend(0x1bde0, 64)) == 114144); + assert(unsigned(zero_extend(0x1bde4, 64)) == 114148); + assert(unsigned(zero_extend(0x1bde8, 64)) == 114152); + assert(unsigned(zero_extend(0x1bdec, 64)) == 114156); + assert(unsigned(zero_extend(0x1bdf0, 64)) == 114160); + assert(unsigned(zero_extend(0x1bdf4, 64)) == 114164); + assert(unsigned(zero_extend(0x1bdf8, 64)) == 114168); + assert(unsigned(zero_extend(0x1bdfc, 64)) == 114172); + assert(unsigned(zero_extend(0x1be00, 64)) == 114176); + assert(unsigned(zero_extend(0x1be04, 64)) == 114180); + assert(unsigned(zero_extend(0x1be08, 64)) == 114184); + assert(unsigned(zero_extend(0x1be0c, 64)) == 114188); + assert(unsigned(zero_extend(0x1be10, 64)) == 114192); + assert(unsigned(zero_extend(0x1be14, 64)) == 114196); + assert(unsigned(zero_extend(0x1be18, 64)) == 114200); + assert(unsigned(zero_extend(0x1be1c, 64)) == 114204); + assert(unsigned(zero_extend(0x1be20, 64)) == 114208); + assert(unsigned(zero_extend(0x1be24, 64)) == 114212); + assert(unsigned(zero_extend(0x1be28, 64)) == 114216); + assert(unsigned(zero_extend(0x1be2c, 64)) == 114220); + assert(unsigned(zero_extend(0x1be30, 64)) == 114224); + assert(unsigned(zero_extend(0x1be34, 64)) == 114228); + assert(unsigned(zero_extend(0x1be38, 64)) == 114232); + assert(unsigned(zero_extend(0x1be3c, 64)) == 114236); + assert(unsigned(zero_extend(0x1be40, 64)) == 114240); + assert(unsigned(zero_extend(0x1be44, 64)) == 114244); + assert(unsigned(zero_extend(0x1be48, 64)) == 114248); + assert(unsigned(zero_extend(0x1be4c, 64)) == 114252); + assert(unsigned(zero_extend(0x1be50, 64)) == 114256); + assert(unsigned(zero_extend(0x1be54, 64)) == 114260); + assert(unsigned(zero_extend(0x1be58, 64)) == 114264); + assert(unsigned(zero_extend(0x1be5c, 64)) == 114268); + assert(unsigned(zero_extend(0x1be60, 64)) == 114272); + assert(unsigned(zero_extend(0x1be64, 64)) == 114276); + assert(unsigned(zero_extend(0x1be68, 64)) == 114280); + assert(unsigned(zero_extend(0x1be6c, 64)) == 114284); + assert(unsigned(zero_extend(0x1be70, 64)) == 114288); + assert(unsigned(zero_extend(0x1be74, 64)) == 114292); + assert(unsigned(zero_extend(0x1be78, 64)) == 114296); + assert(unsigned(zero_extend(0x1be7c, 64)) == 114300); + assert(unsigned(zero_extend(0x1be80, 64)) == 114304); + assert(unsigned(zero_extend(0x1be84, 64)) == 114308); + assert(unsigned(zero_extend(0x1be88, 64)) == 114312); + assert(unsigned(zero_extend(0x1be8c, 64)) == 114316); + assert(unsigned(zero_extend(0x1be90, 64)) == 114320); + assert(unsigned(zero_extend(0x1be94, 64)) == 114324); + assert(unsigned(zero_extend(0x1be98, 64)) == 114328); + assert(unsigned(zero_extend(0x1be9c, 64)) == 114332); + assert(unsigned(zero_extend(0x1bea0, 64)) == 114336); + assert(unsigned(zero_extend(0x1bea4, 64)) == 114340); + assert(unsigned(zero_extend(0x1beb4, 64)) == 114356); + assert(unsigned(zero_extend(0x1beb8, 64)) == 114360); + assert(unsigned(zero_extend(0x1bebc, 64)) == 114364); + assert(unsigned(zero_extend(0x1bec0, 64)) == 114368); + assert(unsigned(zero_extend(0x1bec4, 64)) == 114372); + assert(unsigned(zero_extend(0x1bec8, 64)) == 114376); + assert(unsigned(zero_extend(0x1becc, 64)) == 114380); + assert(unsigned(zero_extend(0x1bed0, 64)) == 114384); + assert(unsigned(zero_extend(0x1bed4, 64)) == 114388); + assert(unsigned(zero_extend(0x1bed8, 64)) == 114392); + assert(unsigned(zero_extend(0x1bedc, 64)) == 114396); + assert(unsigned(zero_extend(0x1bee0, 64)) == 114400); + assert(unsigned(zero_extend(0x1bef0, 64)) == 114416); + assert(unsigned(zero_extend(0x1bef4, 64)) == 114420); + assert(unsigned(zero_extend(0x1bef8, 64)) == 114424); + assert(unsigned(zero_extend(0x1befc, 64)) == 114428); + assert(unsigned(zero_extend(0x1bf5c, 64)) == 114524); + assert(unsigned(zero_extend(0x1bf60, 64)) == 114528); + assert(unsigned(zero_extend(0x1bf64, 64)) == 114532); + assert(unsigned(zero_extend(0x1bf68, 64)) == 114536); + assert(unsigned(zero_extend(0x1bf6c, 64)) == 114540); + assert(unsigned(zero_extend(0x1bf70, 64)) == 114544); + assert(unsigned(zero_extend(0x1bf88, 64)) == 114568); + assert(unsigned(zero_extend(0x1bf8c, 64)) == 114572); + assert(unsigned(zero_extend(0x1bf90, 64)) == 114576); + assert(unsigned(zero_extend(0x1bf94, 64)) == 114580); + assert(unsigned(zero_extend(0x1bf98, 64)) == 114584); + assert(unsigned(zero_extend(0x1bf9c, 64)) == 114588); + assert(unsigned(zero_extend(0x1bfa0, 64)) == 114592); + assert(unsigned(zero_extend(0x1bfa4, 64)) == 114596); + assert(unsigned(zero_extend(0x1bfa8, 64)) == 114600); + assert(unsigned(zero_extend(0x1bfac, 64)) == 114604); + assert(unsigned(zero_extend(0x1bfb0, 64)) == 114608); + assert(unsigned(zero_extend(0x1bfb4, 64)) == 114612); + assert(unsigned(zero_extend(0x1bfb8, 64)) == 114616); + assert(unsigned(zero_extend(0x1bfbc, 64)) == 114620); + assert(unsigned(zero_extend(0x1bfc0, 64)) == 114624); + assert(unsigned(zero_extend(0x1bfc4, 64)) == 114628); + assert(unsigned(zero_extend(0x1bfc8, 64)) == 114632); + assert(unsigned(zero_extend(0x1bfcc, 64)) == 114636); + assert(unsigned(zero_extend(0x1bfd0, 64)) == 114640); + assert(unsigned(zero_extend(0x1bfd4, 64)) == 114644); + assert(unsigned(zero_extend(0x1bfd8, 64)) == 114648); + assert(unsigned(zero_extend(0x1bfdc, 64)) == 114652); + assert(unsigned(zero_extend(0x1bfe0, 64)) == 114656); + assert(unsigned(zero_extend(0x1bfe4, 64)) == 114660); + assert(unsigned(zero_extend(0x1bfe8, 64)) == 114664); + assert(unsigned(zero_extend(0x1bfec, 64)) == 114668); + assert(unsigned(zero_extend(0x1bff0, 64)) == 114672); + assert(unsigned(zero_extend(0x1bff4, 64)) == 114676); + assert(unsigned(zero_extend(0x1bff8, 64)) == 114680); + assert(unsigned(zero_extend(0x1bffc, 64)) == 114684); + assert(unsigned(zero_extend(0x1c, 64)) == 28); + assert(unsigned(zero_extend(0x1c0, 64)) == 448); + assert(unsigned(zero_extend(0x1c000, 64)) == 114688); + assert(unsigned(zero_extend(0x1c004, 64)) == 114692); + assert(unsigned(zero_extend(0x1c008, 64)) == 114696); + assert(unsigned(zero_extend(0x1c00c, 64)) == 114700); + assert(unsigned(zero_extend(0x1c010, 64)) == 114704); + assert(unsigned(zero_extend(0x1c014, 64)) == 114708); + assert(unsigned(zero_extend(0x1c018, 64)) == 114712); + assert(unsigned(zero_extend(0x1c01c, 64)) == 114716); + assert(unsigned(zero_extend(0x1c020, 64)) == 114720); + assert(unsigned(zero_extend(0x1c024, 64)) == 114724); + assert(unsigned(zero_extend(0x1c028, 64)) == 114728); + assert(unsigned(zero_extend(0x1c02c, 64)) == 114732); + assert(unsigned(zero_extend(0x1c030, 64)) == 114736); + assert(unsigned(zero_extend(0x1c034, 64)) == 114740); + assert(unsigned(zero_extend(0x1c038, 64)) == 114744); + assert(unsigned(zero_extend(0x1c03c, 64)) == 114748); + assert(unsigned(zero_extend(0x1c040, 64)) == 114752); + assert(unsigned(zero_extend(0x1c044, 64)) == 114756); + assert(unsigned(zero_extend(0x1c048, 64)) == 114760); + assert(unsigned(zero_extend(0x1c04c, 64)) == 114764); + assert(unsigned(zero_extend(0x1c050, 64)) == 114768); + assert(unsigned(zero_extend(0x1c054, 64)) == 114772); + assert(unsigned(zero_extend(0x1c058, 64)) == 114776); + assert(unsigned(zero_extend(0x1c05c, 64)) == 114780); + assert(unsigned(zero_extend(0x1c060, 64)) == 114784); + assert(unsigned(zero_extend(0x1c064, 64)) == 114788); + assert(unsigned(zero_extend(0x1c068, 64)) == 114792); + assert(unsigned(zero_extend(0x1c06c, 64)) == 114796); + assert(unsigned(zero_extend(0x1c070, 64)) == 114800); + assert(unsigned(zero_extend(0x1c074, 64)) == 114804); + assert(unsigned(zero_extend(0x1c078, 64)) == 114808); + assert(unsigned(zero_extend(0x1c07c, 64)) == 114812); + assert(unsigned(zero_extend(0x1c080, 64)) == 114816); + assert(unsigned(zero_extend(0x1c084, 64)) == 114820); + assert(unsigned(zero_extend(0x1c088, 64)) == 114824); + assert(unsigned(zero_extend(0x1c08c, 64)) == 114828); + assert(unsigned(zero_extend(0x1c090, 64)) == 114832); + assert(unsigned(zero_extend(0x1c094, 64)) == 114836); + assert(unsigned(zero_extend(0x1c098, 64)) == 114840); + assert(unsigned(zero_extend(0x1c09c, 64)) == 114844); + assert(unsigned(zero_extend(0x1c0a0, 64)) == 114848); + assert(unsigned(zero_extend(0x1c0a4, 64)) == 114852); + assert(unsigned(zero_extend(0x1c0a8, 64)) == 114856); + assert(unsigned(zero_extend(0x1c0ac, 64)) == 114860); + assert(unsigned(zero_extend(0x1c0b0, 64)) == 114864); + assert(unsigned(zero_extend(0x1c0b4, 64)) == 114868); + assert(unsigned(zero_extend(0x1c0b8, 64)) == 114872); + assert(unsigned(zero_extend(0x1c0bc, 64)) == 114876); + assert(unsigned(zero_extend(0x1c0c0, 64)) == 114880); + assert(unsigned(zero_extend(0x1c0c4, 64)) == 114884); + assert(unsigned(zero_extend(0x1c0c8, 64)) == 114888); + assert(unsigned(zero_extend(0x1c0cc, 64)) == 114892); + assert(unsigned(zero_extend(0x1c0d0, 64)) == 114896); + assert(unsigned(zero_extend(0x1c0d4, 64)) == 114900); + assert(unsigned(zero_extend(0x1c0d8, 64)) == 114904); + assert(unsigned(zero_extend(0x1c0dc, 64)) == 114908); + assert(unsigned(zero_extend(0x1c0e0, 64)) == 114912); + assert(unsigned(zero_extend(0x1c0e4, 64)) == 114916); + assert(unsigned(zero_extend(0x1c0e8, 64)) == 114920); + assert(unsigned(zero_extend(0x1c0ec, 64)) == 114924); + assert(unsigned(zero_extend(0x1c0f0, 64)) == 114928); + assert(unsigned(zero_extend(0x1c0f4, 64)) == 114932); + assert(unsigned(zero_extend(0x1c0f8, 64)) == 114936); + assert(unsigned(zero_extend(0x1c0fc, 64)) == 114940); + assert(unsigned(zero_extend(0x1c100, 64)) == 114944); + assert(unsigned(zero_extend(0x1c104, 64)) == 114948); + assert(unsigned(zero_extend(0x1c108, 64)) == 114952); + assert(unsigned(zero_extend(0x1c10c, 64)) == 114956); + assert(unsigned(zero_extend(0x1c110, 64)) == 114960); + assert(unsigned(zero_extend(0x1c114, 64)) == 114964); + assert(unsigned(zero_extend(0x1c118, 64)) == 114968); + assert(unsigned(zero_extend(0x1c11c, 64)) == 114972); + assert(unsigned(zero_extend(0x1c120, 64)) == 114976); + assert(unsigned(zero_extend(0x1c124, 64)) == 114980); + assert(unsigned(zero_extend(0x1c128, 64)) == 114984); + assert(unsigned(zero_extend(0x1c12c, 64)) == 114988); + assert(unsigned(zero_extend(0x1c130, 64)) == 114992); + assert(unsigned(zero_extend(0x1c134, 64)) == 114996); + assert(unsigned(zero_extend(0x1c138, 64)) == 115000); + assert(unsigned(zero_extend(0x1c13c, 64)) == 115004); + assert(unsigned(zero_extend(0x1c140, 64)) == 115008); + assert(unsigned(zero_extend(0x1c144, 64)) == 115012); + assert(unsigned(zero_extend(0x1c148, 64)) == 115016); + assert(unsigned(zero_extend(0x1c14c, 64)) == 115020); + assert(unsigned(zero_extend(0x1c150, 64)) == 115024); + assert(unsigned(zero_extend(0x1c154, 64)) == 115028); + assert(unsigned(zero_extend(0x1c158, 64)) == 115032); + assert(unsigned(zero_extend(0x1c168, 64)) == 115048); + assert(unsigned(zero_extend(0x1c16c, 64)) == 115052); + assert(unsigned(zero_extend(0x1c17c, 64)) == 115068); + assert(unsigned(zero_extend(0x1c180, 64)) == 115072); + assert(unsigned(zero_extend(0x1c184, 64)) == 115076); + assert(unsigned(zero_extend(0x1c188, 64)) == 115080); + assert(unsigned(zero_extend(0x1c18c, 64)) == 115084); + assert(unsigned(zero_extend(0x1c190, 64)) == 115088); + assert(unsigned(zero_extend(0x1c1a0, 64)) == 115104); + assert(unsigned(zero_extend(0x1c1a4, 64)) == 115108); + assert(unsigned(zero_extend(0x1c1a8, 64)) == 115112); + assert(unsigned(zero_extend(0x1c1e8, 64)) == 115176); + assert(unsigned(zero_extend(0x1c1ec, 64)) == 115180); + assert(unsigned(zero_extend(0x1c1f0, 64)) == 115184); + assert(unsigned(zero_extend(0x1c1f4, 64)) == 115188); + assert(unsigned(zero_extend(0x1c1f8, 64)) == 115192); + assert(unsigned(zero_extend(0x1c1fc, 64)) == 115196); + assert(unsigned(zero_extend(0x1c200, 64)) == 115200); + assert(unsigned(zero_extend(0x1c204, 64)) == 115204); + assert(unsigned(zero_extend(0x1c208, 64)) == 115208); + assert(unsigned(zero_extend(0x1c20c, 64)) == 115212); + assert(unsigned(zero_extend(0x1c240, 64)) == 115264); + assert(unsigned(zero_extend(0x1c244, 64)) == 115268); + assert(unsigned(zero_extend(0x1c248, 64)) == 115272); + assert(unsigned(zero_extend(0x1c24c, 64)) == 115276); + assert(unsigned(zero_extend(0x1c250, 64)) == 115280); + assert(unsigned(zero_extend(0x1c254, 64)) == 115284); + assert(unsigned(zero_extend(0x1c258, 64)) == 115288); + assert(unsigned(zero_extend(0x1c25c, 64)) == 115292); + assert(unsigned(zero_extend(0x1c260, 64)) == 115296); + assert(unsigned(zero_extend(0x1c264, 64)) == 115300); + assert(unsigned(zero_extend(0x1c3ec, 64)) == 115692); + assert(unsigned(zero_extend(0x1c3f0, 64)) == 115696); + assert(unsigned(zero_extend(0x1c3f4, 64)) == 115700); + assert(unsigned(zero_extend(0x1c3f8, 64)) == 115704); + assert(unsigned(zero_extend(0x1c3fc, 64)) == 115708); + assert(unsigned(zero_extend(0x1c400, 64)) == 115712); + assert(unsigned(zero_extend(0x1c404, 64)) == 115716); + assert(unsigned(zero_extend(0x1c408, 64)) == 115720); + assert(unsigned(zero_extend(0x1c40c, 64)) == 115724); + assert(unsigned(zero_extend(0x1c410, 64)) == 115728); + assert(unsigned(zero_extend(0x1c414, 64)) == 115732); + assert(unsigned(zero_extend(0x1c418, 64)) == 115736); + assert(unsigned(zero_extend(0x1c41c, 64)) == 115740); + assert(unsigned(zero_extend(0x1c420, 64)) == 115744); + assert(unsigned(zero_extend(0x1c424, 64)) == 115748); + assert(unsigned(zero_extend(0x1c428, 64)) == 115752); + assert(unsigned(zero_extend(0x1c42c, 64)) == 115756); + assert(unsigned(zero_extend(0x1c430, 64)) == 115760); + assert(unsigned(zero_extend(0x1c434, 64)) == 115764); + assert(unsigned(zero_extend(0x1c438, 64)) == 115768); + assert(unsigned(zero_extend(0x1c43c, 64)) == 115772); + assert(unsigned(zero_extend(0x1c440, 64)) == 115776); + assert(unsigned(zero_extend(0x1c444, 64)) == 115780); + assert(unsigned(zero_extend(0x1c448, 64)) == 115784); + assert(unsigned(zero_extend(0x1c44c, 64)) == 115788); + assert(unsigned(zero_extend(0x1c450, 64)) == 115792); + assert(unsigned(zero_extend(0x1c454, 64)) == 115796); + assert(unsigned(zero_extend(0x1c458, 64)) == 115800); + assert(unsigned(zero_extend(0x1c45c, 64)) == 115804); + assert(unsigned(zero_extend(0x1c460, 64)) == 115808); + assert(unsigned(zero_extend(0x1c464, 64)) == 115812); + assert(unsigned(zero_extend(0x1c468, 64)) == 115816); + assert(unsigned(zero_extend(0x1c46c, 64)) == 115820); + assert(unsigned(zero_extend(0x1c470, 64)) == 115824); + assert(unsigned(zero_extend(0x1c474, 64)) == 115828); + assert(unsigned(zero_extend(0x1c478, 64)) == 115832); + assert(unsigned(zero_extend(0x1c47c, 64)) == 115836); + assert(unsigned(zero_extend(0x1c480, 64)) == 115840); + assert(unsigned(zero_extend(0x1c484, 64)) == 115844); + assert(unsigned(zero_extend(0x1c488, 64)) == 115848); + assert(unsigned(zero_extend(0x1c48c, 64)) == 115852); + assert(unsigned(zero_extend(0x1c490, 64)) == 115856); + assert(unsigned(zero_extend(0x1c494, 64)) == 115860); + assert(unsigned(zero_extend(0x1c498, 64)) == 115864); + assert(unsigned(zero_extend(0x1c49c, 64)) == 115868); + assert(unsigned(zero_extend(0x1c4a0, 64)) == 115872); + assert(unsigned(zero_extend(0x1c4a4, 64)) == 115876); + assert(unsigned(zero_extend(0x1c4a8, 64)) == 115880); + assert(unsigned(zero_extend(0x1c4ac, 64)) == 115884); + assert(unsigned(zero_extend(0x1c4b0, 64)) == 115888); + assert(unsigned(zero_extend(0x1c4b4, 64)) == 115892); + assert(unsigned(zero_extend(0x1c4b8, 64)) == 115896); + assert(unsigned(zero_extend(0x1c4c8, 64)) == 115912); + assert(unsigned(zero_extend(0x1c4cc, 64)) == 115916); + assert(unsigned(zero_extend(0x1c4d0, 64)) == 115920); + assert(unsigned(zero_extend(0x1c4d4, 64)) == 115924); + assert(unsigned(zero_extend(0x1c4d8, 64)) == 115928); + assert(unsigned(zero_extend(0x1c4dc, 64)) == 115932); + assert(unsigned(zero_extend(0x1c4e0, 64)) == 115936); + assert(unsigned(zero_extend(0x1c4e4, 64)) == 115940); + assert(unsigned(zero_extend(0x1c4e8, 64)) == 115944); + assert(unsigned(zero_extend(0x1c4ec, 64)) == 115948); + assert(unsigned(zero_extend(0x1c4f0, 64)) == 115952); + assert(unsigned(zero_extend(0x1c4f4, 64)) == 115956); + assert(unsigned(zero_extend(0x1c4f8, 64)) == 115960); + assert(unsigned(zero_extend(0x1c4fc, 64)) == 115964); + assert(unsigned(zero_extend(0x1c500, 64)) == 115968); + assert(unsigned(zero_extend(0x1c504, 64)) == 115972); + assert(unsigned(zero_extend(0x1c508, 64)) == 115976); + assert(unsigned(zero_extend(0x1c50c, 64)) == 115980); + assert(unsigned(zero_extend(0x1c510, 64)) == 115984); + assert(unsigned(zero_extend(0x1c514, 64)) == 115988); + assert(unsigned(zero_extend(0x1c518, 64)) == 115992); + assert(unsigned(zero_extend(0x1c51c, 64)) == 115996); + assert(unsigned(zero_extend(0x1c520, 64)) == 116000); + assert(unsigned(zero_extend(0x1c524, 64)) == 116004); + assert(unsigned(zero_extend(0x1c528, 64)) == 116008); + assert(unsigned(zero_extend(0x1c52c, 64)) == 116012); + assert(unsigned(zero_extend(0x1c530, 64)) == 116016); + assert(unsigned(zero_extend(0x1c534, 64)) == 116020); + assert(unsigned(zero_extend(0x1c538, 64)) == 116024); + assert(unsigned(zero_extend(0x1c53c, 64)) == 116028); + assert(unsigned(zero_extend(0x1c540, 64)) == 116032); + assert(unsigned(zero_extend(0x1c544, 64)) == 116036); + assert(unsigned(zero_extend(0x1c548, 64)) == 116040); + assert(unsigned(zero_extend(0x1c54c, 64)) == 116044); + assert(unsigned(zero_extend(0x1c550, 64)) == 116048); + assert(unsigned(zero_extend(0x1c554, 64)) == 116052); + assert(unsigned(zero_extend(0x1c558, 64)) == 116056); + assert(unsigned(zero_extend(0x1c55c, 64)) == 116060); + assert(unsigned(zero_extend(0x1c560, 64)) == 116064); + assert(unsigned(zero_extend(0x1c564, 64)) == 116068); + assert(unsigned(zero_extend(0x1c568, 64)) == 116072); + assert(unsigned(zero_extend(0x1c56c, 64)) == 116076); + assert(unsigned(zero_extend(0x1c570, 64)) == 116080); + assert(unsigned(zero_extend(0x1c574, 64)) == 116084); + assert(unsigned(zero_extend(0x1c578, 64)) == 116088); + assert(unsigned(zero_extend(0x1c57c, 64)) == 116092); + assert(unsigned(zero_extend(0x1c580, 64)) == 116096); + assert(unsigned(zero_extend(0x1c584, 64)) == 116100); + assert(unsigned(zero_extend(0x1c588, 64)) == 116104); + assert(unsigned(zero_extend(0x1c58c, 64)) == 116108); + assert(unsigned(zero_extend(0x1c590, 64)) == 116112); + assert(unsigned(zero_extend(0x1c594, 64)) == 116116); + assert(unsigned(zero_extend(0x1c598, 64)) == 116120); + assert(unsigned(zero_extend(0x1c5a0, 64)) == 116128); + assert(unsigned(zero_extend(0x1c5a8, 64)) == 116136); + assert(unsigned(zero_extend(0x1c5b0, 64)) == 116144); + assert(unsigned(zero_extend(0x1c5b8, 64)) == 116152); + assert(unsigned(zero_extend(0x1c5c0, 64)) == 116160); + assert(unsigned(zero_extend(0x1c5c8, 64)) == 116168); + assert(unsigned(zero_extend(0x1c5d0, 64)) == 116176); + assert(unsigned(zero_extend(0x1c5d8, 64)) == 116184); + assert(unsigned(zero_extend(0x1c5e0, 64)) == 116192); + assert(unsigned(zero_extend(0x1c5e4, 64)) == 116196); + assert(unsigned(zero_extend(0x1c5e8, 64)) == 116200); + assert(unsigned(zero_extend(0x1c5ec, 64)) == 116204); + assert(unsigned(zero_extend(0x1c5f0, 64)) == 116208); + assert(unsigned(zero_extend(0x1c5f4, 64)) == 116212); + assert(unsigned(zero_extend(0x1c5f8, 64)) == 116216); + assert(unsigned(zero_extend(0x1c5fc, 64)) == 116220); + assert(unsigned(zero_extend(0x1c600, 64)) == 116224); + assert(unsigned(zero_extend(0x1c604, 64)) == 116228); + assert(unsigned(zero_extend(0x1c608, 64)) == 116232); + assert(unsigned(zero_extend(0x1c60c, 64)) == 116236); + assert(unsigned(zero_extend(0x1c610, 64)) == 116240); + assert(unsigned(zero_extend(0x1c614, 64)) == 116244); + assert(unsigned(zero_extend(0x1c618, 64)) == 116248); + assert(unsigned(zero_extend(0x1c61c, 64)) == 116252); + assert(unsigned(zero_extend(0x1c620, 64)) == 116256); + assert(unsigned(zero_extend(0x1c624, 64)) == 116260); + assert(unsigned(zero_extend(0x1c628, 64)) == 116264); + assert(unsigned(zero_extend(0x1c62c, 64)) == 116268); + assert(unsigned(zero_extend(0x1c630, 64)) == 116272); + assert(unsigned(zero_extend(0x1c634, 64)) == 116276); + assert(unsigned(zero_extend(0x1c638, 64)) == 116280); + assert(unsigned(zero_extend(0x1c63c, 64)) == 116284); + assert(unsigned(zero_extend(0x1c640, 64)) == 116288); + assert(unsigned(zero_extend(0x1c644, 64)) == 116292); + assert(unsigned(zero_extend(0x1c648, 64)) == 116296); + assert(unsigned(zero_extend(0x1c64c, 64)) == 116300); + assert(unsigned(zero_extend(0x1c650, 64)) == 116304); + assert(unsigned(zero_extend(0x1c654, 64)) == 116308); + assert(unsigned(zero_extend(0x1c658, 64)) == 116312); + assert(unsigned(zero_extend(0x1c65c, 64)) == 116316); + assert(unsigned(zero_extend(0x1c660, 64)) == 116320); + assert(unsigned(zero_extend(0x1c664, 64)) == 116324); + assert(unsigned(zero_extend(0x1c668, 64)) == 116328); + assert(unsigned(zero_extend(0x1c66c, 64)) == 116332); + assert(unsigned(zero_extend(0x1c670, 64)) == 116336); + assert(unsigned(zero_extend(0x1c674, 64)) == 116340); + assert(unsigned(zero_extend(0x1c678, 64)) == 116344); + assert(unsigned(zero_extend(0x1c67c, 64)) == 116348); + assert(unsigned(zero_extend(0x1c680, 64)) == 116352); + assert(unsigned(zero_extend(0x1c684, 64)) == 116356); + assert(unsigned(zero_extend(0x1c688, 64)) == 116360); + assert(unsigned(zero_extend(0x1c68c, 64)) == 116364); + assert(unsigned(zero_extend(0x1c690, 64)) == 116368); + assert(unsigned(zero_extend(0x1c694, 64)) == 116372); + assert(unsigned(zero_extend(0x1c698, 64)) == 116376); + assert(unsigned(zero_extend(0x1c69c, 64)) == 116380); + assert(unsigned(zero_extend(0x1c6a0, 64)) == 116384); + assert(unsigned(zero_extend(0x1c6a4, 64)) == 116388); + assert(unsigned(zero_extend(0x1c6a8, 64)) == 116392); + assert(unsigned(zero_extend(0x1c6ac, 64)) == 116396); + assert(unsigned(zero_extend(0x1c6b0, 64)) == 116400); + assert(unsigned(zero_extend(0x1c6b4, 64)) == 116404); + assert(unsigned(zero_extend(0x1c6b8, 64)) == 116408); + assert(unsigned(zero_extend(0x1c6bc, 64)) == 116412); + assert(unsigned(zero_extend(0x1c6c0, 64)) == 116416); + assert(unsigned(zero_extend(0x1c6c4, 64)) == 116420); + assert(unsigned(zero_extend(0x1c6c8, 64)) == 116424); + assert(unsigned(zero_extend(0x1c6cc, 64)) == 116428); + assert(unsigned(zero_extend(0x1c6d0, 64)) == 116432); + assert(unsigned(zero_extend(0x1c6d4, 64)) == 116436); + assert(unsigned(zero_extend(0x1c6d8, 64)) == 116440); + assert(unsigned(zero_extend(0x1c6dc, 64)) == 116444); + assert(unsigned(zero_extend(0x1c6e0, 64)) == 116448); + assert(unsigned(zero_extend(0x1c6e4, 64)) == 116452); + assert(unsigned(zero_extend(0x1c6f4, 64)) == 116468); + assert(unsigned(zero_extend(0x1c6f8, 64)) == 116472); + assert(unsigned(zero_extend(0x1c6fc, 64)) == 116476); + assert(unsigned(zero_extend(0x1c700, 64)) == 116480); + assert(unsigned(zero_extend(0x1c704, 64)) == 116484); + assert(unsigned(zero_extend(0x1c708, 64)) == 116488); + assert(unsigned(zero_extend(0x1c70c, 64)) == 116492); + assert(unsigned(zero_extend(0x1c710, 64)) == 116496); + assert(unsigned(zero_extend(0x1c714, 64)) == 116500); + assert(unsigned(zero_extend(0x1c718, 64)) == 116504); + assert(unsigned(zero_extend(0x1c71c, 64)) == 116508); + assert(unsigned(zero_extend(0x1c720, 64)) == 116512); + assert(unsigned(zero_extend(0x1c724, 64)) == 116516); + assert(unsigned(zero_extend(0x1c728, 64)) == 116520); + assert(unsigned(zero_extend(0x1c72c, 64)) == 116524); + assert(unsigned(zero_extend(0x1c730, 64)) == 116528); + assert(unsigned(zero_extend(0x1c734, 64)) == 116532); + assert(unsigned(zero_extend(0x1c738, 64)) == 116536); + assert(unsigned(zero_extend(0x1c73c, 64)) == 116540); + assert(unsigned(zero_extend(0x1c740, 64)) == 116544); + assert(unsigned(zero_extend(0x1c744, 64)) == 116548); + assert(unsigned(zero_extend(0x1c748, 64)) == 116552); + assert(unsigned(zero_extend(0x1c74c, 64)) == 116556); + assert(unsigned(zero_extend(0x1c750, 64)) == 116560); + assert(unsigned(zero_extend(0x1c754, 64)) == 116564); + assert(unsigned(zero_extend(0x1c758, 64)) == 116568); + assert(unsigned(zero_extend(0x1c75c, 64)) == 116572); + assert(unsigned(zero_extend(0x1c760, 64)) == 116576); + assert(unsigned(zero_extend(0x1c764, 64)) == 116580); + assert(unsigned(zero_extend(0x1c768, 64)) == 116584); + assert(unsigned(zero_extend(0x1c76c, 64)) == 116588); + assert(unsigned(zero_extend(0x1c770, 64)) == 116592); + assert(unsigned(zero_extend(0x1c774, 64)) == 116596); + assert(unsigned(zero_extend(0x1c778, 64)) == 116600); + assert(unsigned(zero_extend(0x1c77c, 64)) == 116604); + assert(unsigned(zero_extend(0x1c780, 64)) == 116608); + assert(unsigned(zero_extend(0x1c784, 64)) == 116612); + assert(unsigned(zero_extend(0x1c788, 64)) == 116616); + assert(unsigned(zero_extend(0x1c78c, 64)) == 116620); + assert(unsigned(zero_extend(0x1c790, 64)) == 116624); + assert(unsigned(zero_extend(0x1c794, 64)) == 116628); + assert(unsigned(zero_extend(0x1c798, 64)) == 116632); + assert(unsigned(zero_extend(0x1c79c, 64)) == 116636); + assert(unsigned(zero_extend(0x1c7a0, 64)) == 116640); + assert(unsigned(zero_extend(0x1c7a4, 64)) == 116644); + assert(unsigned(zero_extend(0x1c7a8, 64)) == 116648); + assert(unsigned(zero_extend(0x1c7ac, 64)) == 116652); + assert(unsigned(zero_extend(0x1c7b0, 64)) == 116656); + assert(unsigned(zero_extend(0x1c7b4, 64)) == 116660); + assert(unsigned(zero_extend(0x1c7b8, 64)) == 116664); + assert(unsigned(zero_extend(0x1c7bc, 64)) == 116668); + assert(unsigned(zero_extend(0x1c7c0, 64)) == 116672); + assert(unsigned(zero_extend(0x1c7c4, 64)) == 116676); + assert(unsigned(zero_extend(0x1c7c8, 64)) == 116680); + assert(unsigned(zero_extend(0x1c7cc, 64)) == 116684); + assert(unsigned(zero_extend(0x1c7d0, 64)) == 116688); + assert(unsigned(zero_extend(0x1c7d4, 64)) == 116692); + assert(unsigned(zero_extend(0x1c7d8, 64)) == 116696); + assert(unsigned(zero_extend(0x1c7dc, 64)) == 116700); + assert(unsigned(zero_extend(0x1c7e0, 64)) == 116704); + assert(unsigned(zero_extend(0x1c7e4, 64)) == 116708); + assert(unsigned(zero_extend(0x1c7e8, 64)) == 116712); + assert(unsigned(zero_extend(0x1c7f8, 64)) == 116728); + assert(unsigned(zero_extend(0x1c7fc, 64)) == 116732); + assert(unsigned(zero_extend(0x1c800, 64)) == 116736); + assert(unsigned(zero_extend(0x1c804, 64)) == 116740); + assert(unsigned(zero_extend(0x1c808, 64)) == 116744); + assert(unsigned(zero_extend(0x1c80c, 64)) == 116748); + assert(unsigned(zero_extend(0x1c810, 64)) == 116752); + assert(unsigned(zero_extend(0x1c814, 64)) == 116756); + assert(unsigned(zero_extend(0x1c818, 64)) == 116760); + assert(unsigned(zero_extend(0x1c81c, 64)) == 116764); + assert(unsigned(zero_extend(0x1c820, 64)) == 116768); + assert(unsigned(zero_extend(0x1c824, 64)) == 116772); + assert(unsigned(zero_extend(0x1c828, 64)) == 116776); + assert(unsigned(zero_extend(0x1c838, 64)) == 116792); + assert(unsigned(zero_extend(0x1c83c, 64)) == 116796); + assert(unsigned(zero_extend(0x1c860, 64)) == 116832); + assert(unsigned(zero_extend(0x1c864, 64)) == 116836); + assert(unsigned(zero_extend(0x1c874, 64)) == 116852); + assert(unsigned(zero_extend(0x1c878, 64)) == 116856); + assert(unsigned(zero_extend(0x1c87c, 64)) == 116860); + assert(unsigned(zero_extend(0x1c880, 64)) == 116864); + assert(unsigned(zero_extend(0x1c890, 64)) == 116880); + assert(unsigned(zero_extend(0x1c894, 64)) == 116884); + assert(unsigned(zero_extend(0x1c8b0, 64)) == 116912); + assert(unsigned(zero_extend(0x1c8b4, 64)) == 116916); + assert(unsigned(zero_extend(0x1c8b8, 64)) == 116920); + assert(unsigned(zero_extend(0x1c8bc, 64)) == 116924); + assert(unsigned(zero_extend(0x1c8c0, 64)) == 116928); + assert(unsigned(zero_extend(0x1c8c4, 64)) == 116932); + assert(unsigned(zero_extend(0x1c8c8, 64)) == 116936); + assert(unsigned(zero_extend(0x1c8cc, 64)) == 116940); + assert(unsigned(zero_extend(0x1c8d0, 64)) == 116944); + assert(unsigned(zero_extend(0x1c8d4, 64)) == 116948); + assert(unsigned(zero_extend(0x1c8d8, 64)) == 116952); + assert(unsigned(zero_extend(0x1c8dc, 64)) == 116956); + assert(unsigned(zero_extend(0x1c8e0, 64)) == 116960); + assert(unsigned(zero_extend(0x1c8e4, 64)) == 116964); + assert(unsigned(zero_extend(0x1c8e8, 64)) == 116968); + assert(unsigned(zero_extend(0x1c8ec, 64)) == 116972); + assert(unsigned(zero_extend(0x1c8f0, 64)) == 116976); + assert(unsigned(zero_extend(0x1c8f4, 64)) == 116980); + assert(unsigned(zero_extend(0x1c8f8, 64)) == 116984); + assert(unsigned(zero_extend(0x1c8fc, 64)) == 116988); + assert(unsigned(zero_extend(0x1c900, 64)) == 116992); + assert(unsigned(zero_extend(0x1c904, 64)) == 116996); + assert(unsigned(zero_extend(0x1c908, 64)) == 117000); + assert(unsigned(zero_extend(0x1c90c, 64)) == 117004); + assert(unsigned(zero_extend(0x1c910, 64)) == 117008); + assert(unsigned(zero_extend(0x1c914, 64)) == 117012); + assert(unsigned(zero_extend(0x1c918, 64)) == 117016); + assert(unsigned(zero_extend(0x1c91c, 64)) == 117020); + assert(unsigned(zero_extend(0x1c920, 64)) == 117024); + assert(unsigned(zero_extend(0x1c924, 64)) == 117028); + assert(unsigned(zero_extend(0x1c928, 64)) == 117032); + assert(unsigned(zero_extend(0x1c92c, 64)) == 117036); + assert(unsigned(zero_extend(0x1c930, 64)) == 117040); + assert(unsigned(zero_extend(0x1c934, 64)) == 117044); + assert(unsigned(zero_extend(0x1c938, 64)) == 117048); + assert(unsigned(zero_extend(0x1c93c, 64)) == 117052); + assert(unsigned(zero_extend(0x1c940, 64)) == 117056); + assert(unsigned(zero_extend(0x1c944, 64)) == 117060); + assert(unsigned(zero_extend(0x1c948, 64)) == 117064); + assert(unsigned(zero_extend(0x1c94c, 64)) == 117068); + assert(unsigned(zero_extend(0x1c950, 64)) == 117072); + assert(unsigned(zero_extend(0x1c954, 64)) == 117076); + assert(unsigned(zero_extend(0x1c958, 64)) == 117080); + assert(unsigned(zero_extend(0x1c95c, 64)) == 117084); + assert(unsigned(zero_extend(0x1c960, 64)) == 117088); + assert(unsigned(zero_extend(0x1c964, 64)) == 117092); + assert(unsigned(zero_extend(0x1c968, 64)) == 117096); + assert(unsigned(zero_extend(0x1c96c, 64)) == 117100); + assert(unsigned(zero_extend(0x1c970, 64)) == 117104); + assert(unsigned(zero_extend(0x1c974, 64)) == 117108); + assert(unsigned(zero_extend(0x1c978, 64)) == 117112); + assert(unsigned(zero_extend(0x1c97c, 64)) == 117116); + assert(unsigned(zero_extend(0x1c980, 64)) == 117120); + assert(unsigned(zero_extend(0x1c984, 64)) == 117124); + assert(unsigned(zero_extend(0x1c988, 64)) == 117128); + assert(unsigned(zero_extend(0x1c98c, 64)) == 117132); + assert(unsigned(zero_extend(0x1c990, 64)) == 117136); + assert(unsigned(zero_extend(0x1c994, 64)) == 117140); + assert(unsigned(zero_extend(0x1c998, 64)) == 117144); + assert(unsigned(zero_extend(0x1c99c, 64)) == 117148); + assert(unsigned(zero_extend(0x1c9a0, 64)) == 117152); + assert(unsigned(zero_extend(0x1c9a4, 64)) == 117156); + assert(unsigned(zero_extend(0x1c9a8, 64)) == 117160); + assert(unsigned(zero_extend(0x1c9ac, 64)) == 117164); + assert(unsigned(zero_extend(0x1c9b0, 64)) == 117168); + assert(unsigned(zero_extend(0x1c9b4, 64)) == 117172); + assert(unsigned(zero_extend(0x1c9b8, 64)) == 117176); + assert(unsigned(zero_extend(0x1c9bc, 64)) == 117180); + assert(unsigned(zero_extend(0x1c9c0, 64)) == 117184); + assert(unsigned(zero_extend(0x1c9c8, 64)) == 117192); + assert(unsigned(zero_extend(0x1c9cc, 64)) == 117196); + assert(unsigned(zero_extend(0x1c9d0, 64)) == 117200); + assert(unsigned(zero_extend(0x1c9d4, 64)) == 117204); + assert(unsigned(zero_extend(0x1c9d8, 64)) == 117208); + assert(unsigned(zero_extend(0x1c9dc, 64)) == 117212); + assert(unsigned(zero_extend(0x1c9e0, 64)) == 117216); + assert(unsigned(zero_extend(0x1c9e4, 64)) == 117220); + assert(unsigned(zero_extend(0x1c9e8, 64)) == 117224); + assert(unsigned(zero_extend(0x1c9ec, 64)) == 117228); + assert(unsigned(zero_extend(0x1c9f0, 64)) == 117232); + assert(unsigned(zero_extend(0x1c9f4, 64)) == 117236); + assert(unsigned(zero_extend(0x1c9f8, 64)) == 117240); + assert(unsigned(zero_extend(0x1c9fc, 64)) == 117244); + assert(unsigned(zero_extend(0x1ca00, 64)) == 117248); + assert(unsigned(zero_extend(0x1ca04, 64)) == 117252); + assert(unsigned(zero_extend(0x1ca08, 64)) == 117256); + assert(unsigned(zero_extend(0x1ca0c, 64)) == 117260); + assert(unsigned(zero_extend(0x1ca10, 64)) == 117264); + assert(unsigned(zero_extend(0x1ca14, 64)) == 117268); + assert(unsigned(zero_extend(0x1ca18, 64)) == 117272); + assert(unsigned(zero_extend(0x1ca1c, 64)) == 117276); + assert(unsigned(zero_extend(0x1ca20, 64)) == 117280); + assert(unsigned(zero_extend(0x1ca24, 64)) == 117284); + assert(unsigned(zero_extend(0x1ca28, 64)) == 117288); + assert(unsigned(zero_extend(0x1ca2c, 64)) == 117292); + assert(unsigned(zero_extend(0x1ca30, 64)) == 117296); + assert(unsigned(zero_extend(0x1ca34, 64)) == 117300); + assert(unsigned(zero_extend(0x1ca38, 64)) == 117304); + assert(unsigned(zero_extend(0x1ca3c, 64)) == 117308); + assert(unsigned(zero_extend(0x1ca40, 64)) == 117312); + assert(unsigned(zero_extend(0x1ca44, 64)) == 117316); + assert(unsigned(zero_extend(0x1ca48, 64)) == 117320); + assert(unsigned(zero_extend(0x1ca4c, 64)) == 117324); + assert(unsigned(zero_extend(0x1ca50, 64)) == 117328); + assert(unsigned(zero_extend(0x1ca54, 64)) == 117332); + assert(unsigned(zero_extend(0x1ca58, 64)) == 117336); + assert(unsigned(zero_extend(0x1ca5c, 64)) == 117340); + assert(unsigned(zero_extend(0x1ca60, 64)) == 117344); + assert(unsigned(zero_extend(0x1ca64, 64)) == 117348); + assert(unsigned(zero_extend(0x1ca68, 64)) == 117352); + assert(unsigned(zero_extend(0x1ca6c, 64)) == 117356); + assert(unsigned(zero_extend(0x1ca70, 64)) == 117360); + assert(unsigned(zero_extend(0x1ca74, 64)) == 117364); + assert(unsigned(zero_extend(0x1ca78, 64)) == 117368); + assert(unsigned(zero_extend(0x1ca7c, 64)) == 117372); + assert(unsigned(zero_extend(0x1ca80, 64)) == 117376); + assert(unsigned(zero_extend(0x1ca84, 64)) == 117380); + assert(unsigned(zero_extend(0x1ca88, 64)) == 117384); + assert(unsigned(zero_extend(0x1ca8c, 64)) == 117388); + assert(unsigned(zero_extend(0x1ca90, 64)) == 117392); + assert(unsigned(zero_extend(0x1ca94, 64)) == 117396); + assert(unsigned(zero_extend(0x1ca98, 64)) == 117400); + assert(unsigned(zero_extend(0x1ca9c, 64)) == 117404); + assert(unsigned(zero_extend(0x1caa0, 64)) == 117408); + assert(unsigned(zero_extend(0x1caa4, 64)) == 117412); + assert(unsigned(zero_extend(0x1caa8, 64)) == 117416); + assert(unsigned(zero_extend(0x1caac, 64)) == 117420); + assert(unsigned(zero_extend(0x1cab0, 64)) == 117424); + assert(unsigned(zero_extend(0x1cab4, 64)) == 117428); + assert(unsigned(zero_extend(0x1cab8, 64)) == 117432); + assert(unsigned(zero_extend(0x1cabc, 64)) == 117436); + assert(unsigned(zero_extend(0x1cac0, 64)) == 117440); + assert(unsigned(zero_extend(0x1cac4, 64)) == 117444); + assert(unsigned(zero_extend(0x1cac8, 64)) == 117448); + assert(unsigned(zero_extend(0x1cacc, 64)) == 117452); + assert(unsigned(zero_extend(0x1cad0, 64)) == 117456); + assert(unsigned(zero_extend(0x1cad4, 64)) == 117460); + assert(unsigned(zero_extend(0x1cad8, 64)) == 117464); + assert(unsigned(zero_extend(0x1cadc, 64)) == 117468); + assert(unsigned(zero_extend(0x1cae0, 64)) == 117472); + assert(unsigned(zero_extend(0x1cae4, 64)) == 117476); + assert(unsigned(zero_extend(0x1cae8, 64)) == 117480); + assert(unsigned(zero_extend(0x1caec, 64)) == 117484); + assert(unsigned(zero_extend(0x1caf0, 64)) == 117488); + assert(unsigned(zero_extend(0x1caf4, 64)) == 117492); + assert(unsigned(zero_extend(0x1caf8, 64)) == 117496); + assert(unsigned(zero_extend(0x1cafc, 64)) == 117500); + assert(unsigned(zero_extend(0x1cb00, 64)) == 117504); + assert(unsigned(zero_extend(0x1cb04, 64)) == 117508); + assert(unsigned(zero_extend(0x1cb08, 64)) == 117512); + assert(unsigned(zero_extend(0x1cb0c, 64)) == 117516); + assert(unsigned(zero_extend(0x1cb10, 64)) == 117520); + assert(unsigned(zero_extend(0x1cb14, 64)) == 117524); + assert(unsigned(zero_extend(0x1cb18, 64)) == 117528); + assert(unsigned(zero_extend(0x1cb20, 64)) == 117536); + assert(unsigned(zero_extend(0x1cb24, 64)) == 117540); + assert(unsigned(zero_extend(0x1cb28, 64)) == 117544); + assert(unsigned(zero_extend(0x1cb2c, 64)) == 117548); + assert(unsigned(zero_extend(0x1cb30, 64)) == 117552); + assert(unsigned(zero_extend(0x1cb34, 64)) == 117556); + assert(unsigned(zero_extend(0x1cb38, 64)) == 117560); + assert(unsigned(zero_extend(0x1cb3c, 64)) == 117564); + assert(unsigned(zero_extend(0x1cb40, 64)) == 117568); + assert(unsigned(zero_extend(0x1cb44, 64)) == 117572); + assert(unsigned(zero_extend(0x1cb48, 64)) == 117576); + assert(unsigned(zero_extend(0x1cb4c, 64)) == 117580); + assert(unsigned(zero_extend(0x1cb50, 64)) == 117584); + assert(unsigned(zero_extend(0x1cb54, 64)) == 117588); + assert(unsigned(zero_extend(0x1cb58, 64)) == 117592); + assert(unsigned(zero_extend(0x1cb5c, 64)) == 117596); + assert(unsigned(zero_extend(0x1cb60, 64)) == 117600); + assert(unsigned(zero_extend(0x1cb64, 64)) == 117604); + assert(unsigned(zero_extend(0x1cb68, 64)) == 117608); + assert(unsigned(zero_extend(0x1cb6c, 64)) == 117612); + assert(unsigned(zero_extend(0x1cb70, 64)) == 117616); + assert(unsigned(zero_extend(0x1cb74, 64)) == 117620); + assert(unsigned(zero_extend(0x1cb78, 64)) == 117624); + assert(unsigned(zero_extend(0x1cb7c, 64)) == 117628); + assert(unsigned(zero_extend(0x1cb80, 64)) == 117632); + assert(unsigned(zero_extend(0x1cb84, 64)) == 117636); + assert(unsigned(zero_extend(0x1cb88, 64)) == 117640); + assert(unsigned(zero_extend(0x1cb8c, 64)) == 117644); + assert(unsigned(zero_extend(0x1cb90, 64)) == 117648); + assert(unsigned(zero_extend(0x1cb94, 64)) == 117652); + assert(unsigned(zero_extend(0x1cb98, 64)) == 117656); + assert(unsigned(zero_extend(0x1cb9c, 64)) == 117660); + assert(unsigned(zero_extend(0x1cba0, 64)) == 117664); + assert(unsigned(zero_extend(0x1cba4, 64)) == 117668); + assert(unsigned(zero_extend(0x1cba8, 64)) == 117672); + assert(unsigned(zero_extend(0x1cbac, 64)) == 117676); + assert(unsigned(zero_extend(0x1cbb0, 64)) == 117680); + assert(unsigned(zero_extend(0x1cbb4, 64)) == 117684); + assert(unsigned(zero_extend(0x1cbb8, 64)) == 117688); + assert(unsigned(zero_extend(0x1cbbc, 64)) == 117692); + assert(unsigned(zero_extend(0x1cbc0, 64)) == 117696); + assert(unsigned(zero_extend(0x1cbc4, 64)) == 117700); + assert(unsigned(zero_extend(0x1cbc8, 64)) == 117704); + assert(unsigned(zero_extend(0x1cbcc, 64)) == 117708); + assert(unsigned(zero_extend(0x1cbd0, 64)) == 117712); + assert(unsigned(zero_extend(0x1cbd4, 64)) == 117716); + assert(unsigned(zero_extend(0x1cbd8, 64)) == 117720); + assert(unsigned(zero_extend(0x1cbdc, 64)) == 117724); + assert(unsigned(zero_extend(0x1cbe0, 64)) == 117728); + assert(unsigned(zero_extend(0x1cbe4, 64)) == 117732); + assert(unsigned(zero_extend(0x1cbe8, 64)) == 117736); + assert(unsigned(zero_extend(0x1cbec, 64)) == 117740); + assert(unsigned(zero_extend(0x1cbf0, 64)) == 117744); + assert(unsigned(zero_extend(0x1cbf4, 64)) == 117748); + assert(unsigned(zero_extend(0x1cbf8, 64)) == 117752); + assert(unsigned(zero_extend(0x1cbfc, 64)) == 117756); + assert(unsigned(zero_extend(0x1cc00, 64)) == 117760); + assert(unsigned(zero_extend(0x1cc04, 64)) == 117764); + assert(unsigned(zero_extend(0x1cc08, 64)) == 117768); + assert(unsigned(zero_extend(0x1cc0c, 64)) == 117772); + assert(unsigned(zero_extend(0x1cc1c, 64)) == 117788); + assert(unsigned(zero_extend(0x1cc20, 64)) == 117792); + assert(unsigned(zero_extend(0x1cc24, 64)) == 117796); + assert(unsigned(zero_extend(0x1cc28, 64)) == 117800); + assert(unsigned(zero_extend(0x1cc2c, 64)) == 117804); + assert(unsigned(zero_extend(0x1cc30, 64)) == 117808); + assert(unsigned(zero_extend(0x1cc34, 64)) == 117812); + assert(unsigned(zero_extend(0x1cc38, 64)) == 117816); + assert(unsigned(zero_extend(0x1cc3c, 64)) == 117820); + assert(unsigned(zero_extend(0x1cc40, 64)) == 117824); + assert(unsigned(zero_extend(0x1cc44, 64)) == 117828); + assert(unsigned(zero_extend(0x1cc48, 64)) == 117832); + assert(unsigned(zero_extend(0x1cc4c, 64)) == 117836); + assert(unsigned(zero_extend(0x1cc50, 64)) == 117840); + assert(unsigned(zero_extend(0x1cc54, 64)) == 117844); + assert(unsigned(zero_extend(0x1cc58, 64)) == 117848); + assert(unsigned(zero_extend(0x1cc5c, 64)) == 117852); + assert(unsigned(zero_extend(0x1cc60, 64)) == 117856); + assert(unsigned(zero_extend(0x1cc64, 64)) == 117860); + assert(unsigned(zero_extend(0x1cc68, 64)) == 117864); + assert(unsigned(zero_extend(0x1cc6c, 64)) == 117868); + assert(unsigned(zero_extend(0x1cc70, 64)) == 117872); + assert(unsigned(zero_extend(0x1cc74, 64)) == 117876); + assert(unsigned(zero_extend(0x1cc78, 64)) == 117880); + assert(unsigned(zero_extend(0x1cc7c, 64)) == 117884); + assert(unsigned(zero_extend(0x1cc80, 64)) == 117888); + assert(unsigned(zero_extend(0x1cc84, 64)) == 117892); + assert(unsigned(zero_extend(0x1cc88, 64)) == 117896); + assert(unsigned(zero_extend(0x1cc8c, 64)) == 117900); + assert(unsigned(zero_extend(0x1cc90, 64)) == 117904); + assert(unsigned(zero_extend(0x1cc94, 64)) == 117908); + assert(unsigned(zero_extend(0x1cc98, 64)) == 117912); + assert(unsigned(zero_extend(0x1cc9c, 64)) == 117916); + assert(unsigned(zero_extend(0x1cca0, 64)) == 117920); + assert(unsigned(zero_extend(0x1cca4, 64)) == 117924); + assert(unsigned(zero_extend(0x1cca8, 64)) == 117928); + assert(unsigned(zero_extend(0x1ccac, 64)) == 117932); + assert(unsigned(zero_extend(0x1ccb0, 64)) == 117936); + assert(unsigned(zero_extend(0x1ccb4, 64)) == 117940); + assert(unsigned(zero_extend(0x1ccb8, 64)) == 117944); + assert(unsigned(zero_extend(0x1ccbc, 64)) == 117948); + assert(unsigned(zero_extend(0x1ccc0, 64)) == 117952); + assert(unsigned(zero_extend(0x1ccc4, 64)) == 117956); + assert(unsigned(zero_extend(0x1ccc8, 64)) == 117960); + assert(unsigned(zero_extend(0x1cccc, 64)) == 117964); + assert(unsigned(zero_extend(0x1ccd0, 64)) == 117968); + assert(unsigned(zero_extend(0x1ccd8, 64)) == 117976); + assert(unsigned(zero_extend(0x1ccdc, 64)) == 117980); + assert(unsigned(zero_extend(0x1cce0, 64)) == 117984); + assert(unsigned(zero_extend(0x1cce4, 64)) == 117988); + assert(unsigned(zero_extend(0x1cce8, 64)) == 117992); + assert(unsigned(zero_extend(0x1ccec, 64)) == 117996); + assert(unsigned(zero_extend(0x1ccf0, 64)) == 118000); + assert(unsigned(zero_extend(0x1ccf4, 64)) == 118004); + assert(unsigned(zero_extend(0x1ccf8, 64)) == 118008); + assert(unsigned(zero_extend(0x1ccfc, 64)) == 118012); + assert(unsigned(zero_extend(0x1cd00, 64)) == 118016); + assert(unsigned(zero_extend(0x1cd30, 64)) == 118064); + assert(unsigned(zero_extend(0x1cd34, 64)) == 118068); + assert(unsigned(zero_extend(0x1cd38, 64)) == 118072); + assert(unsigned(zero_extend(0x1cd3c, 64)) == 118076); + assert(unsigned(zero_extend(0x1cd40, 64)) == 118080); + assert(unsigned(zero_extend(0x1cd44, 64)) == 118084); + assert(unsigned(zero_extend(0x1cd48, 64)) == 118088); + assert(unsigned(zero_extend(0x1cd4c, 64)) == 118092); + assert(unsigned(zero_extend(0x1cd50, 64)) == 118096); + assert(unsigned(zero_extend(0x1cd54, 64)) == 118100); + assert(unsigned(zero_extend(0x1cd58, 64)) == 118104); + assert(unsigned(zero_extend(0x1cd7c, 64)) == 118140); + assert(unsigned(zero_extend(0x1cd80, 64)) == 118144); + assert(unsigned(zero_extend(0x1cd84, 64)) == 118148); + assert(unsigned(zero_extend(0x1cd88, 64)) == 118152); + assert(unsigned(zero_extend(0x1cd8c, 64)) == 118156); + assert(unsigned(zero_extend(0x1cd90, 64)) == 118160); + assert(unsigned(zero_extend(0x1cd94, 64)) == 118164); + assert(unsigned(zero_extend(0x1cd98, 64)) == 118168); + assert(unsigned(zero_extend(0x1cd9c, 64)) == 118172); + assert(unsigned(zero_extend(0x1cda0, 64)) == 118176); + assert(unsigned(zero_extend(0x1cda4, 64)) == 118180); + assert(unsigned(zero_extend(0x1cda8, 64)) == 118184); + assert(unsigned(zero_extend(0x1cdac, 64)) == 118188); + assert(unsigned(zero_extend(0x1cdb0, 64)) == 118192); + assert(unsigned(zero_extend(0x1cdb4, 64)) == 118196); + assert(unsigned(zero_extend(0x1cdb8, 64)) == 118200); + assert(unsigned(zero_extend(0x1cdbc, 64)) == 118204); + assert(unsigned(zero_extend(0x1cdc0, 64)) == 118208); + assert(unsigned(zero_extend(0x1cdc4, 64)) == 118212); + assert(unsigned(zero_extend(0x1cdc8, 64)) == 118216); + assert(unsigned(zero_extend(0x1cdcc, 64)) == 118220); + assert(unsigned(zero_extend(0x1cdd0, 64)) == 118224); + assert(unsigned(zero_extend(0x1cdd4, 64)) == 118228); + assert(unsigned(zero_extend(0x1cdd8, 64)) == 118232); + assert(unsigned(zero_extend(0x1cddc, 64)) == 118236); + assert(unsigned(zero_extend(0x1cde0, 64)) == 118240); + assert(unsigned(zero_extend(0x1cde4, 64)) == 118244); + assert(unsigned(zero_extend(0x1cde8, 64)) == 118248); + assert(unsigned(zero_extend(0x1cdec, 64)) == 118252); + assert(unsigned(zero_extend(0x1cdf0, 64)) == 118256); + assert(unsigned(zero_extend(0x1cdf4, 64)) == 118260); +} diff --git a/test/builtins/unsigned5.sail b/test/builtins/unsigned5.sail new file mode 100644 index 00000000..5c6a181a --- /dev/null +++ b/test/builtins/unsigned5.sail @@ -0,0 +1,2001 @@ +default Order dec + +$include <exception_basic.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(unsigned(zero_extend(0x1cdf8, 64)) == 118264); + assert(unsigned(zero_extend(0x1cdfc, 64)) == 118268); + assert(unsigned(zero_extend(0x1ce00, 64)) == 118272); + assert(unsigned(zero_extend(0x1ce04, 64)) == 118276); + assert(unsigned(zero_extend(0x1ce08, 64)) == 118280); + assert(unsigned(zero_extend(0x1ce0c, 64)) == 118284); + assert(unsigned(zero_extend(0x1ce10, 64)) == 118288); + assert(unsigned(zero_extend(0x1ce14, 64)) == 118292); + assert(unsigned(zero_extend(0x1ce18, 64)) == 118296); + assert(unsigned(zero_extend(0x1ce1c, 64)) == 118300); + assert(unsigned(zero_extend(0x1ce20, 64)) == 118304); + assert(unsigned(zero_extend(0x1ce24, 64)) == 118308); + assert(unsigned(zero_extend(0x1ce28, 64)) == 118312); + assert(unsigned(zero_extend(0x1ce2c, 64)) == 118316); + assert(unsigned(zero_extend(0x1ce30, 64)) == 118320); + assert(unsigned(zero_extend(0x1ce34, 64)) == 118324); + assert(unsigned(zero_extend(0x1ce38, 64)) == 118328); + assert(unsigned(zero_extend(0x1ce3c, 64)) == 118332); + assert(unsigned(zero_extend(0x1ce40, 64)) == 118336); + assert(unsigned(zero_extend(0x1ce44, 64)) == 118340); + assert(unsigned(zero_extend(0x1ce48, 64)) == 118344); + assert(unsigned(zero_extend(0x1ce4c, 64)) == 118348); + assert(unsigned(zero_extend(0x1ce50, 64)) == 118352); + assert(unsigned(zero_extend(0x1ce54, 64)) == 118356); + assert(unsigned(zero_extend(0x1ce58, 64)) == 118360); + assert(unsigned(zero_extend(0x1ce68, 64)) == 118376); + assert(unsigned(zero_extend(0x1ce6c, 64)) == 118380); + assert(unsigned(zero_extend(0x1ce70, 64)) == 118384); + assert(unsigned(zero_extend(0x1ce74, 64)) == 118388); + assert(unsigned(zero_extend(0x1ce78, 64)) == 118392); + assert(unsigned(zero_extend(0x1ce7c, 64)) == 118396); + assert(unsigned(zero_extend(0x1ce80, 64)) == 118400); + assert(unsigned(zero_extend(0x1ce84, 64)) == 118404); + assert(unsigned(zero_extend(0x1ce88, 64)) == 118408); + assert(unsigned(zero_extend(0x1ce9c, 64)) == 118428); + assert(unsigned(zero_extend(0x1cea0, 64)) == 118432); + assert(unsigned(zero_extend(0x1cea4, 64)) == 118436); + assert(unsigned(zero_extend(0x1cea8, 64)) == 118440); + assert(unsigned(zero_extend(0x1ceac, 64)) == 118444); + assert(unsigned(zero_extend(0x1ceb0, 64)) == 118448); + assert(unsigned(zero_extend(0x1ceb4, 64)) == 118452); + assert(unsigned(zero_extend(0x1ceb8, 64)) == 118456); + assert(unsigned(zero_extend(0x1cebc, 64)) == 118460); + assert(unsigned(zero_extend(0x1cec0, 64)) == 118464); + assert(unsigned(zero_extend(0x1cec4, 64)) == 118468); + assert(unsigned(zero_extend(0x1cec8, 64)) == 118472); + assert(unsigned(zero_extend(0x1cecc, 64)) == 118476); + assert(unsigned(zero_extend(0x1ced0, 64)) == 118480); + assert(unsigned(zero_extend(0x1ced4, 64)) == 118484); + assert(unsigned(zero_extend(0x1ced8, 64)) == 118488); + assert(unsigned(zero_extend(0x1cee8, 64)) == 118504); + assert(unsigned(zero_extend(0x1ceec, 64)) == 118508); + assert(unsigned(zero_extend(0x1cef0, 64)) == 118512); + assert(unsigned(zero_extend(0x1cef4, 64)) == 118516); + assert(unsigned(zero_extend(0x1cef8, 64)) == 118520); + assert(unsigned(zero_extend(0x1cefc, 64)) == 118524); + assert(unsigned(zero_extend(0x1cf00, 64)) == 118528); + assert(unsigned(zero_extend(0x1cf04, 64)) == 118532); + assert(unsigned(zero_extend(0x1cf08, 64)) == 118536); + assert(unsigned(zero_extend(0x1cf0c, 64)) == 118540); + assert(unsigned(zero_extend(0x1cf10, 64)) == 118544); + assert(unsigned(zero_extend(0x1cf14, 64)) == 118548); + assert(unsigned(zero_extend(0x1cf18, 64)) == 118552); + assert(unsigned(zero_extend(0x1cf1c, 64)) == 118556); + assert(unsigned(zero_extend(0x1cf20, 64)) == 118560); + assert(unsigned(zero_extend(0x1cf24, 64)) == 118564); + assert(unsigned(zero_extend(0x1cf28, 64)) == 118568); + assert(unsigned(zero_extend(0x1cf2c, 64)) == 118572); + assert(unsigned(zero_extend(0x1cf30, 64)) == 118576); + assert(unsigned(zero_extend(0x1cf40, 64)) == 118592); + assert(unsigned(zero_extend(0x1cf44, 64)) == 118596); + assert(unsigned(zero_extend(0x1cf48, 64)) == 118600); + assert(unsigned(zero_extend(0x1cf4c, 64)) == 118604); + assert(unsigned(zero_extend(0x1cf50, 64)) == 118608); + assert(unsigned(zero_extend(0x1cf54, 64)) == 118612); + assert(unsigned(zero_extend(0x1cf58, 64)) == 118616); + assert(unsigned(zero_extend(0x1cf5c, 64)) == 118620); + assert(unsigned(zero_extend(0x1cf64, 64)) == 118628); + assert(unsigned(zero_extend(0x1cf68, 64)) == 118632); + assert(unsigned(zero_extend(0x1cf6c, 64)) == 118636); + assert(unsigned(zero_extend(0x1cf70, 64)) == 118640); + assert(unsigned(zero_extend(0x1cf74, 64)) == 118644); + assert(unsigned(zero_extend(0x1cf78, 64)) == 118648); + assert(unsigned(zero_extend(0x1cf7c, 64)) == 118652); + assert(unsigned(zero_extend(0x1cf80, 64)) == 118656); + assert(unsigned(zero_extend(0x1cf84, 64)) == 118660); + assert(unsigned(zero_extend(0x1cf88, 64)) == 118664); + assert(unsigned(zero_extend(0x1cf8c, 64)) == 118668); + assert(unsigned(zero_extend(0x1cf90, 64)) == 118672); + assert(unsigned(zero_extend(0x1cf94, 64)) == 118676); + assert(unsigned(zero_extend(0x1cf98, 64)) == 118680); + assert(unsigned(zero_extend(0x1cf9c, 64)) == 118684); + assert(unsigned(zero_extend(0x1cfa0, 64)) == 118688); + assert(unsigned(zero_extend(0x1cfa4, 64)) == 118692); + assert(unsigned(zero_extend(0x1cfa8, 64)) == 118696); + assert(unsigned(zero_extend(0x1cfac, 64)) == 118700); + assert(unsigned(zero_extend(0x1cfb0, 64)) == 118704); + assert(unsigned(zero_extend(0x1cfb4, 64)) == 118708); + assert(unsigned(zero_extend(0x1cfb8, 64)) == 118712); + assert(unsigned(zero_extend(0x1cfbc, 64)) == 118716); + assert(unsigned(zero_extend(0x1cfc0, 64)) == 118720); + assert(unsigned(zero_extend(0x1cfc4, 64)) == 118724); + assert(unsigned(zero_extend(0x1cfc8, 64)) == 118728); + assert(unsigned(zero_extend(0x1cfcc, 64)) == 118732); + assert(unsigned(zero_extend(0x1cfd0, 64)) == 118736); + assert(unsigned(zero_extend(0x1cfd4, 64)) == 118740); + assert(unsigned(zero_extend(0x1cfd8, 64)) == 118744); + assert(unsigned(zero_extend(0x1cfdc, 64)) == 118748); + assert(unsigned(zero_extend(0x1cfe0, 64)) == 118752); + assert(unsigned(zero_extend(0x1cfe4, 64)) == 118756); + assert(unsigned(zero_extend(0x1cfe8, 64)) == 118760); + assert(unsigned(zero_extend(0x1cfec, 64)) == 118764); + assert(unsigned(zero_extend(0x1cff0, 64)) == 118768); + assert(unsigned(zero_extend(0x1cff4, 64)) == 118772); + assert(unsigned(zero_extend(0x1cff8, 64)) == 118776); + assert(unsigned(zero_extend(0x1cffc, 64)) == 118780); + assert(unsigned(zero_extend(0x1d, 64)) == 29); + assert(unsigned(zero_extend(0x1d000, 64)) == 118784); + assert(unsigned(zero_extend(0x1d004, 64)) == 118788); + assert(unsigned(zero_extend(0x1d008, 64)) == 118792); + assert(unsigned(zero_extend(0x1d00c, 64)) == 118796); + assert(unsigned(zero_extend(0x1d010, 64)) == 118800); + assert(unsigned(zero_extend(0x1d014, 64)) == 118804); + assert(unsigned(zero_extend(0x1d018, 64)) == 118808); + assert(unsigned(zero_extend(0x1d01c, 64)) == 118812); + assert(unsigned(zero_extend(0x1d020, 64)) == 118816); + assert(unsigned(zero_extend(0x1d024, 64)) == 118820); + assert(unsigned(zero_extend(0x1d028, 64)) == 118824); + assert(unsigned(zero_extend(0x1d02c, 64)) == 118828); + assert(unsigned(zero_extend(0x1d030, 64)) == 118832); + assert(unsigned(zero_extend(0x1d034, 64)) == 118836); + assert(unsigned(zero_extend(0x1d038, 64)) == 118840); + assert(unsigned(zero_extend(0x1d03c, 64)) == 118844); + assert(unsigned(zero_extend(0x1d040, 64)) == 118848); + assert(unsigned(zero_extend(0x1d044, 64)) == 118852); + assert(unsigned(zero_extend(0x1d048, 64)) == 118856); + assert(unsigned(zero_extend(0x1d04c, 64)) == 118860); + assert(unsigned(zero_extend(0x1d050, 64)) == 118864); + assert(unsigned(zero_extend(0x1d054, 64)) == 118868); + assert(unsigned(zero_extend(0x1d058, 64)) == 118872); + assert(unsigned(zero_extend(0x1d060, 64)) == 118880); + assert(unsigned(zero_extend(0x1d068, 64)) == 118888); + assert(unsigned(zero_extend(0x1d070, 64)) == 118896); + assert(unsigned(zero_extend(0x1d078, 64)) == 118904); + assert(unsigned(zero_extend(0x1d080, 64)) == 118912); + assert(unsigned(zero_extend(0x1d088, 64)) == 118920); + assert(unsigned(zero_extend(0x1d090, 64)) == 118928); + assert(unsigned(zero_extend(0x1d098, 64)) == 118936); + assert(unsigned(zero_extend(0x1d0a0, 64)) == 118944); + assert(unsigned(zero_extend(0x1d0a8, 64)) == 118952); + assert(unsigned(zero_extend(0x1d0b0, 64)) == 118960); + assert(unsigned(zero_extend(0x1d0b8, 64)) == 118968); + assert(unsigned(zero_extend(0x1d0c0, 64)) == 118976); + assert(unsigned(zero_extend(0x1d0c8, 64)) == 118984); + assert(unsigned(zero_extend(0x1d0d0, 64)) == 118992); + assert(unsigned(zero_extend(0x1d0d8, 64)) == 119000); + assert(unsigned(zero_extend(0x1d0e0, 64)) == 119008); + assert(unsigned(zero_extend(0x1d0e8, 64)) == 119016); + assert(unsigned(zero_extend(0x1d0f0, 64)) == 119024); + assert(unsigned(zero_extend(0x1d0f8, 64)) == 119032); + assert(unsigned(zero_extend(0x1d100, 64)) == 119040); + assert(unsigned(zero_extend(0x1d108, 64)) == 119048); + assert(unsigned(zero_extend(0x1d448, 64)) == 119880); + assert(unsigned(zero_extend(0x1d44c, 64)) == 119884); + assert(unsigned(zero_extend(0x1d450, 64)) == 119888); + assert(unsigned(zero_extend(0x1d454, 64)) == 119892); + assert(unsigned(zero_extend(0x1d458, 64)) == 119896); + assert(unsigned(zero_extend(0x1d45c, 64)) == 119900); + assert(unsigned(zero_extend(0x1d460, 64)) == 119904); + assert(unsigned(zero_extend(0x1d464, 64)) == 119908); + assert(unsigned(zero_extend(0x1d468, 64)) == 119912); + assert(unsigned(zero_extend(0x1d46c, 64)) == 119916); + assert(unsigned(zero_extend(0x1d470, 64)) == 119920); + assert(unsigned(zero_extend(0x1d474, 64)) == 119924); + assert(unsigned(zero_extend(0x1d478, 64)) == 119928); + assert(unsigned(zero_extend(0x1d47c, 64)) == 119932); + assert(unsigned(zero_extend(0x1d480, 64)) == 119936); + assert(unsigned(zero_extend(0x1d484, 64)) == 119940); + assert(unsigned(zero_extend(0x1d490, 64)) == 119952); + assert(unsigned(zero_extend(0x1d494, 64)) == 119956); + assert(unsigned(zero_extend(0x1d498, 64)) == 119960); + assert(unsigned(zero_extend(0x1d49c, 64)) == 119964); + assert(unsigned(zero_extend(0x1d4a0, 64)) == 119968); + assert(unsigned(zero_extend(0x1d4a4, 64)) == 119972); + assert(unsigned(zero_extend(0x1d4a8, 64)) == 119976); + assert(unsigned(zero_extend(0x1d4ac, 64)) == 119980); + assert(unsigned(zero_extend(0x1d4b0, 64)) == 119984); + assert(unsigned(zero_extend(0x1d4b4, 64)) == 119988); + assert(unsigned(zero_extend(0x1d4b8, 64)) == 119992); + assert(unsigned(zero_extend(0x1d4bc, 64)) == 119996); + assert(unsigned(zero_extend(0x1d4c0, 64)) == 120000); + assert(unsigned(zero_extend(0x1d4c4, 64)) == 120004); + assert(unsigned(zero_extend(0x1d4c8, 64)) == 120008); + assert(unsigned(zero_extend(0x1d4cc, 64)) == 120012); + assert(unsigned(zero_extend(0x1d4d0, 64)) == 120016); + assert(unsigned(zero_extend(0x1d4d4, 64)) == 120020); + assert(unsigned(zero_extend(0x1d4d8, 64)) == 120024); + assert(unsigned(zero_extend(0x1d4dc, 64)) == 120028); + assert(unsigned(zero_extend(0x1d4e0, 64)) == 120032); + assert(unsigned(zero_extend(0x1d4e4, 64)) == 120036); + assert(unsigned(zero_extend(0x1d4e8, 64)) == 120040); + assert(unsigned(zero_extend(0x1d4ec, 64)) == 120044); + assert(unsigned(zero_extend(0x1d4f0, 64)) == 120048); + assert(unsigned(zero_extend(0x1d4f4, 64)) == 120052); + assert(unsigned(zero_extend(0x1d4f8, 64)) == 120056); + assert(unsigned(zero_extend(0x1d4fc, 64)) == 120060); + assert(unsigned(zero_extend(0x1d500, 64)) == 120064); + assert(unsigned(zero_extend(0x1d504, 64)) == 120068); + assert(unsigned(zero_extend(0x1d508, 64)) == 120072); + assert(unsigned(zero_extend(0x1d50c, 64)) == 120076); + assert(unsigned(zero_extend(0x1d510, 64)) == 120080); + assert(unsigned(zero_extend(0x1d514, 64)) == 120084); + assert(unsigned(zero_extend(0x1d518, 64)) == 120088); + assert(unsigned(zero_extend(0x1d51c, 64)) == 120092); + assert(unsigned(zero_extend(0x1d520, 64)) == 120096); + assert(unsigned(zero_extend(0x1d524, 64)) == 120100); + assert(unsigned(zero_extend(0x1d528, 64)) == 120104); + assert(unsigned(zero_extend(0x1d52c, 64)) == 120108); + assert(unsigned(zero_extend(0x1d530, 64)) == 120112); + assert(unsigned(zero_extend(0x1d534, 64)) == 120116); + assert(unsigned(zero_extend(0x1d538, 64)) == 120120); + assert(unsigned(zero_extend(0x1d53c, 64)) == 120124); + assert(unsigned(zero_extend(0x1d540, 64)) == 120128); + assert(unsigned(zero_extend(0x1d544, 64)) == 120132); + assert(unsigned(zero_extend(0x1d548, 64)) == 120136); + assert(unsigned(zero_extend(0x1d54c, 64)) == 120140); + assert(unsigned(zero_extend(0x1d550, 64)) == 120144); + assert(unsigned(zero_extend(0x1d554, 64)) == 120148); + assert(unsigned(zero_extend(0x1d558, 64)) == 120152); + assert(unsigned(zero_extend(0x1d560, 64)) == 120160); + assert(unsigned(zero_extend(0x1d564, 64)) == 120164); + assert(unsigned(zero_extend(0x1d568, 64)) == 120168); + assert(unsigned(zero_extend(0x1d570, 64)) == 120176); + assert(unsigned(zero_extend(0x1d5f8, 64)) == 120312); + assert(unsigned(zero_extend(0x1d5fc, 64)) == 120316); + assert(unsigned(zero_extend(0x1d600, 64)) == 120320); + assert(unsigned(zero_extend(0x1d604, 64)) == 120324); + assert(unsigned(zero_extend(0x1d608, 64)) == 120328); + assert(unsigned(zero_extend(0x1d60c, 64)) == 120332); + assert(unsigned(zero_extend(0x1d610, 64)) == 120336); + assert(unsigned(zero_extend(0x1d614, 64)) == 120340); + assert(unsigned(zero_extend(0x1d618, 64)) == 120344); + assert(unsigned(zero_extend(0x1d61c, 64)) == 120348); + assert(unsigned(zero_extend(0x1d620, 64)) == 120352); + assert(unsigned(zero_extend(0x1d624, 64)) == 120356); + assert(unsigned(zero_extend(0x1d628, 64)) == 120360); + assert(unsigned(zero_extend(0x1d650, 64)) == 120400); + assert(unsigned(zero_extend(0x1d654, 64)) == 120404); + assert(unsigned(zero_extend(0x1d658, 64)) == 120408); + assert(unsigned(zero_extend(0x1d65c, 64)) == 120412); + assert(unsigned(zero_extend(0x1d660, 64)) == 120416); + assert(unsigned(zero_extend(0x1d664, 64)) == 120420); + assert(unsigned(zero_extend(0x1d668, 64)) == 120424); + assert(unsigned(zero_extend(0x1d66c, 64)) == 120428); + assert(unsigned(zero_extend(0x1d670, 64)) == 120432); + assert(unsigned(zero_extend(0x1d674, 64)) == 120436); + assert(unsigned(zero_extend(0x1d678, 64)) == 120440); + assert(unsigned(zero_extend(0x1d67c, 64)) == 120444); + assert(unsigned(zero_extend(0x1d680, 64)) == 120448); + assert(unsigned(zero_extend(0x1e, 64)) == 30); + assert(unsigned(zero_extend(0x1e0, 64)) == 480); + assert(unsigned(zero_extend(0x1e078, 64)) == 123000); + assert(unsigned(zero_extend(0x1e07c, 64)) == 123004); + assert(unsigned(zero_extend(0x1e080, 64)) == 123008); + assert(unsigned(zero_extend(0x1e084, 64)) == 123012); + assert(unsigned(zero_extend(0x1e088, 64)) == 123016); + assert(unsigned(zero_extend(0x1e08c, 64)) == 123020); + assert(unsigned(zero_extend(0x1e090, 64)) == 123024); + assert(unsigned(zero_extend(0x1e094, 64)) == 123028); + assert(unsigned(zero_extend(0x1e098, 64)) == 123032); + assert(unsigned(zero_extend(0x1e09c, 64)) == 123036); + assert(unsigned(zero_extend(0x1e0a0, 64)) == 123040); + assert(unsigned(zero_extend(0x1e0a4, 64)) == 123044); + assert(unsigned(zero_extend(0x1e0a8, 64)) == 123048); + assert(unsigned(zero_extend(0x1e0ac, 64)) == 123052); + assert(unsigned(zero_extend(0x1e0ad, 64)) == 123053); + assert(unsigned(zero_extend(0x1e0ae, 64)) == 123054); + assert(unsigned(zero_extend(0x1e0af, 64)) == 123055); + assert(unsigned(zero_extend(0x1e0b0, 64)) == 123056); + assert(unsigned(zero_extend(0x1e0b1, 64)) == 123057); + assert(unsigned(zero_extend(0x1e0b2, 64)) == 123058); + assert(unsigned(zero_extend(0x1e0b3, 64)) == 123059); + assert(unsigned(zero_extend(0x1e0b4, 64)) == 123060); + assert(unsigned(zero_extend(0x1e0b5, 64)) == 123061); + assert(unsigned(zero_extend(0x1e0b6, 64)) == 123062); + assert(unsigned(zero_extend(0x1e0b7, 64)) == 123063); + assert(unsigned(zero_extend(0x1e0b8, 64)) == 123064); + assert(unsigned(zero_extend(0x1e0b9, 64)) == 123065); + assert(unsigned(zero_extend(0x1e0ba, 64)) == 123066); + assert(unsigned(zero_extend(0x1e0bb, 64)) == 123067); + assert(unsigned(zero_extend(0x1e0bc, 64)) == 123068); + assert(unsigned(zero_extend(0x1e0bd, 64)) == 123069); + assert(unsigned(zero_extend(0x1e0be, 64)) == 123070); + assert(unsigned(zero_extend(0x1e0bf, 64)) == 123071); + assert(unsigned(zero_extend(0x1e0c0, 64)) == 123072); + assert(unsigned(zero_extend(0x1e0c1, 64)) == 123073); + assert(unsigned(zero_extend(0x1e0c2, 64)) == 123074); + assert(unsigned(zero_extend(0x1e0c3, 64)) == 123075); + assert(unsigned(zero_extend(0x1e0c4, 64)) == 123076); + assert(unsigned(zero_extend(0x1e0c5, 64)) == 123077); + assert(unsigned(zero_extend(0x1e0c6, 64)) == 123078); + assert(unsigned(zero_extend(0x1e0c8, 64)) == 123080); + assert(unsigned(zero_extend(0x1e0cc, 64)) == 123084); + assert(unsigned(zero_extend(0x1e0d0, 64)) == 123088); + assert(unsigned(zero_extend(0x1e0d4, 64)) == 123092); + assert(unsigned(zero_extend(0x1e0d8, 64)) == 123096); + assert(unsigned(zero_extend(0x1e0dc, 64)) == 123100); + assert(unsigned(zero_extend(0x1e0e0, 64)) == 123104); + assert(unsigned(zero_extend(0x1e0e4, 64)) == 123108); + assert(unsigned(zero_extend(0x1e0e8, 64)) == 123112); + assert(unsigned(zero_extend(0x1e0ec, 64)) == 123116); + assert(unsigned(zero_extend(0x1e0ed, 64)) == 123117); + assert(unsigned(zero_extend(0x1e0ee, 64)) == 123118); + assert(unsigned(zero_extend(0x1e0ef, 64)) == 123119); + assert(unsigned(zero_extend(0x1e0f0, 64)) == 123120); + assert(unsigned(zero_extend(0x1e0f1, 64)) == 123121); + assert(unsigned(zero_extend(0x1e0f2, 64)) == 123122); + assert(unsigned(zero_extend(0x1e0f3, 64)) == 123123); + assert(unsigned(zero_extend(0x1e0f4, 64)) == 123124); + assert(unsigned(zero_extend(0x1e0f5, 64)) == 123125); + assert(unsigned(zero_extend(0x1e0f6, 64)) == 123126); + assert(unsigned(zero_extend(0x1e0f7, 64)) == 123127); + assert(unsigned(zero_extend(0x1e0f8, 64)) == 123128); + assert(unsigned(zero_extend(0x1e0f9, 64)) == 123129); + assert(unsigned(zero_extend(0x1e0fa, 64)) == 123130); + assert(unsigned(zero_extend(0x1e0fb, 64)) == 123131); + assert(unsigned(zero_extend(0x1e0fc, 64)) == 123132); + assert(unsigned(zero_extend(0x1e0fd, 64)) == 123133); + assert(unsigned(zero_extend(0x1e0fe, 64)) == 123134); + assert(unsigned(zero_extend(0x1e0ff, 64)) == 123135); + assert(unsigned(zero_extend(0x1e100, 64)) == 123136); + assert(unsigned(zero_extend(0x1e101, 64)) == 123137); + assert(unsigned(zero_extend(0x1e102, 64)) == 123138); + assert(unsigned(zero_extend(0x1e103, 64)) == 123139); + assert(unsigned(zero_extend(0x1e104, 64)) == 123140); + assert(unsigned(zero_extend(0x1e105, 64)) == 123141); + assert(unsigned(zero_extend(0x1e106, 64)) == 123142); + assert(unsigned(zero_extend(0x1e107, 64)) == 123143); + assert(unsigned(zero_extend(0x1e108, 64)) == 123144); + assert(unsigned(zero_extend(0x1e109, 64)) == 123145); + assert(unsigned(zero_extend(0x1e10a, 64)) == 123146); + assert(unsigned(zero_extend(0x1e10b, 64)) == 123147); + assert(unsigned(zero_extend(0x1e10c, 64)) == 123148); + assert(unsigned(zero_extend(0x1e10d, 64)) == 123149); + assert(unsigned(zero_extend(0x1e10e, 64)) == 123150); + assert(unsigned(zero_extend(0x1e10f, 64)) == 123151); + assert(unsigned(zero_extend(0x1e110, 64)) == 123152); + assert(unsigned(zero_extend(0x1e111, 64)) == 123153); + assert(unsigned(zero_extend(0x1e112, 64)) == 123154); + assert(unsigned(zero_extend(0x1e113, 64)) == 123155); + assert(unsigned(zero_extend(0x1e114, 64)) == 123156); + assert(unsigned(zero_extend(0x1e115, 64)) == 123157); + assert(unsigned(zero_extend(0x1e116, 64)) == 123158); + assert(unsigned(zero_extend(0x1e117, 64)) == 123159); + assert(unsigned(zero_extend(0x1e118, 64)) == 123160); + assert(unsigned(zero_extend(0x1e119, 64)) == 123161); + assert(unsigned(zero_extend(0x1e11a, 64)) == 123162); + assert(unsigned(zero_extend(0x1e11b, 64)) == 123163); + assert(unsigned(zero_extend(0x1e11c, 64)) == 123164); + assert(unsigned(zero_extend(0x1e11d, 64)) == 123165); + assert(unsigned(zero_extend(0x1e11e, 64)) == 123166); + assert(unsigned(zero_extend(0x1e120, 64)) == 123168); + assert(unsigned(zero_extend(0x1e124, 64)) == 123172); + assert(unsigned(zero_extend(0x1e128, 64)) == 123176); + assert(unsigned(zero_extend(0x1e12c, 64)) == 123180); + assert(unsigned(zero_extend(0x1e130, 64)) == 123184); + assert(unsigned(zero_extend(0x1e134, 64)) == 123188); + assert(unsigned(zero_extend(0x1e138, 64)) == 123192); + assert(unsigned(zero_extend(0x1e13c, 64)) == 123196); + assert(unsigned(zero_extend(0x1e140, 64)) == 123200); + assert(unsigned(zero_extend(0x1e141, 64)) == 123201); + assert(unsigned(zero_extend(0x1e142, 64)) == 123202); + assert(unsigned(zero_extend(0x1e143, 64)) == 123203); + assert(unsigned(zero_extend(0x1e144, 64)) == 123204); + assert(unsigned(zero_extend(0x1e145, 64)) == 123205); + assert(unsigned(zero_extend(0x1e146, 64)) == 123206); + assert(unsigned(zero_extend(0x1e147, 64)) == 123207); + assert(unsigned(zero_extend(0x1e148, 64)) == 123208); + assert(unsigned(zero_extend(0x1e149, 64)) == 123209); + assert(unsigned(zero_extend(0x1e14a, 64)) == 123210); + assert(unsigned(zero_extend(0x1e14b, 64)) == 123211); + assert(unsigned(zero_extend(0x1e14c, 64)) == 123212); + assert(unsigned(zero_extend(0x1e14d, 64)) == 123213); + assert(unsigned(zero_extend(0x1e14e, 64)) == 123214); + assert(unsigned(zero_extend(0x1e14f, 64)) == 123215); + assert(unsigned(zero_extend(0x1e150, 64)) == 123216); + assert(unsigned(zero_extend(0x1e151, 64)) == 123217); + assert(unsigned(zero_extend(0x1e152, 64)) == 123218); + assert(unsigned(zero_extend(0x1e153, 64)) == 123219); + assert(unsigned(zero_extend(0x1e154, 64)) == 123220); + assert(unsigned(zero_extend(0x1e155, 64)) == 123221); + assert(unsigned(zero_extend(0x1e156, 64)) == 123222); + assert(unsigned(zero_extend(0x1e157, 64)) == 123223); + assert(unsigned(zero_extend(0x1e158, 64)) == 123224); + assert(unsigned(zero_extend(0x1e159, 64)) == 123225); + assert(unsigned(zero_extend(0x1e15a, 64)) == 123226); + assert(unsigned(zero_extend(0x1e15b, 64)) == 123227); + assert(unsigned(zero_extend(0x1e15c, 64)) == 123228); + assert(unsigned(zero_extend(0x1e160, 64)) == 123232); + assert(unsigned(zero_extend(0x1e164, 64)) == 123236); + assert(unsigned(zero_extend(0x1e168, 64)) == 123240); + assert(unsigned(zero_extend(0x1e16c, 64)) == 123244); + assert(unsigned(zero_extend(0x1e170, 64)) == 123248); + assert(unsigned(zero_extend(0x1e174, 64)) == 123252); + assert(unsigned(zero_extend(0x1e178, 64)) == 123256); + assert(unsigned(zero_extend(0x1e17c, 64)) == 123260); + assert(unsigned(zero_extend(0x1e180, 64)) == 123264); + assert(unsigned(zero_extend(0x1e184, 64)) == 123268); + assert(unsigned(zero_extend(0x1e188, 64)) == 123272); + assert(unsigned(zero_extend(0x1e18c, 64)) == 123276); + assert(unsigned(zero_extend(0x1e190, 64)) == 123280); + assert(unsigned(zero_extend(0x1e194, 64)) == 123284); + assert(unsigned(zero_extend(0x1e198, 64)) == 123288); + assert(unsigned(zero_extend(0x1e199, 64)) == 123289); + assert(unsigned(zero_extend(0x1e19a, 64)) == 123290); + assert(unsigned(zero_extend(0x1e19b, 64)) == 123291); + assert(unsigned(zero_extend(0x1e19c, 64)) == 123292); + assert(unsigned(zero_extend(0x1e19d, 64)) == 123293); + assert(unsigned(zero_extend(0x1e19e, 64)) == 123294); + assert(unsigned(zero_extend(0x1e19f, 64)) == 123295); + assert(unsigned(zero_extend(0x1e1a0, 64)) == 123296); + assert(unsigned(zero_extend(0x1e1a1, 64)) == 123297); + assert(unsigned(zero_extend(0x1e1a2, 64)) == 123298); + assert(unsigned(zero_extend(0x1e1a3, 64)) == 123299); + assert(unsigned(zero_extend(0x1e1a4, 64)) == 123300); + assert(unsigned(zero_extend(0x1e1a5, 64)) == 123301); + assert(unsigned(zero_extend(0x1e1a6, 64)) == 123302); + assert(unsigned(zero_extend(0x1e1a7, 64)) == 123303); + assert(unsigned(zero_extend(0x1e1a8, 64)) == 123304); + assert(unsigned(zero_extend(0x1e1a9, 64)) == 123305); + assert(unsigned(zero_extend(0x1e1aa, 64)) == 123306); + assert(unsigned(zero_extend(0x1e1ab, 64)) == 123307); + assert(unsigned(zero_extend(0x1e1ac, 64)) == 123308); + assert(unsigned(zero_extend(0x1e1ad, 64)) == 123309); + assert(unsigned(zero_extend(0x1e1ae, 64)) == 123310); + assert(unsigned(zero_extend(0x1e1af, 64)) == 123311); + assert(unsigned(zero_extend(0x1e1b0, 64)) == 123312); + assert(unsigned(zero_extend(0x1e600, 64)) == 124416); + assert(unsigned(zero_extend(0x1e604, 64)) == 124420); + assert(unsigned(zero_extend(0x1e608, 64)) == 124424); + assert(unsigned(zero_extend(0x1e60c, 64)) == 124428); + assert(unsigned(zero_extend(0x1e610, 64)) == 124432); + assert(unsigned(zero_extend(0x1e614, 64)) == 124436); + assert(unsigned(zero_extend(0x1e618, 64)) == 124440); + assert(unsigned(zero_extend(0x1e61c, 64)) == 124444); + assert(unsigned(zero_extend(0x1e620, 64)) == 124448); + assert(unsigned(zero_extend(0x1e624, 64)) == 124452); + assert(unsigned(zero_extend(0x1e628, 64)) == 124456); + assert(unsigned(zero_extend(0x1e62c, 64)) == 124460); + assert(unsigned(zero_extend(0x1e630, 64)) == 124464); + assert(unsigned(zero_extend(0x1e634, 64)) == 124468); + assert(unsigned(zero_extend(0x1e638, 64)) == 124472); + assert(unsigned(zero_extend(0x1e63c, 64)) == 124476); + assert(unsigned(zero_extend(0x1e640, 64)) == 124480); + assert(unsigned(zero_extend(0x1e644, 64)) == 124484); + assert(unsigned(zero_extend(0x1e648, 64)) == 124488); + assert(unsigned(zero_extend(0x1e64c, 64)) == 124492); + assert(unsigned(zero_extend(0x1e650, 64)) == 124496); + assert(unsigned(zero_extend(0x1e658, 64)) == 124504); + assert(unsigned(zero_extend(0x1e65c, 64)) == 124508); + assert(unsigned(zero_extend(0x1e660, 64)) == 124512); + assert(unsigned(zero_extend(0x1e664, 64)) == 124516); + assert(unsigned(zero_extend(0x1e668, 64)) == 124520); + assert(unsigned(zero_extend(0x1e66c, 64)) == 124524); + assert(unsigned(zero_extend(0x1e670, 64)) == 124528); + assert(unsigned(zero_extend(0x1e674, 64)) == 124532); + assert(unsigned(zero_extend(0x1e678, 64)) == 124536); + assert(unsigned(zero_extend(0x1e67c, 64)) == 124540); + assert(unsigned(zero_extend(0x1e680, 64)) == 124544); + assert(unsigned(zero_extend(0x1e684, 64)) == 124548); + assert(unsigned(zero_extend(0x1e688, 64)) == 124552); + assert(unsigned(zero_extend(0x1e68c, 64)) == 124556); + assert(unsigned(zero_extend(0x1e690, 64)) == 124560); + assert(unsigned(zero_extend(0x1e694, 64)) == 124564); + assert(unsigned(zero_extend(0x1e698, 64)) == 124568); + assert(unsigned(zero_extend(0x1e69c, 64)) == 124572); + assert(unsigned(zero_extend(0x1e6a0, 64)) == 124576); + assert(unsigned(zero_extend(0x1e6a4, 64)) == 124580); + assert(unsigned(zero_extend(0x1e6a8, 64)) == 124584); + assert(unsigned(zero_extend(0x1e6ac, 64)) == 124588); + assert(unsigned(zero_extend(0x1e6b0, 64)) == 124592); + assert(unsigned(zero_extend(0x1e6b4, 64)) == 124596); + assert(unsigned(zero_extend(0x1e6b8, 64)) == 124600); + assert(unsigned(zero_extend(0x1e6bc, 64)) == 124604); + assert(unsigned(zero_extend(0x1e6c0, 64)) == 124608); + assert(unsigned(zero_extend(0x1e6c4, 64)) == 124612); + assert(unsigned(zero_extend(0x1e6c8, 64)) == 124616); + assert(unsigned(zero_extend(0x1e6cc, 64)) == 124620); + assert(unsigned(zero_extend(0x1e6d0, 64)) == 124624); + assert(unsigned(zero_extend(0x1e6d4, 64)) == 124628); + assert(unsigned(zero_extend(0x1e6d8, 64)) == 124632); + assert(unsigned(zero_extend(0x1e6dc, 64)) == 124636); + assert(unsigned(zero_extend(0x1e6e0, 64)) == 124640); + assert(unsigned(zero_extend(0x1e6e4, 64)) == 124644); + assert(unsigned(zero_extend(0x1e6e8, 64)) == 124648); + assert(unsigned(zero_extend(0x1e6ec, 64)) == 124652); + assert(unsigned(zero_extend(0x1e6f0, 64)) == 124656); + assert(unsigned(zero_extend(0x1e6f4, 64)) == 124660); + assert(unsigned(zero_extend(0x1e6f8, 64)) == 124664); + assert(unsigned(zero_extend(0x1e6fc, 64)) == 124668); + assert(unsigned(zero_extend(0x1e700, 64)) == 124672); + assert(unsigned(zero_extend(0x1e704, 64)) == 124676); + assert(unsigned(zero_extend(0x1e708, 64)) == 124680); + assert(unsigned(zero_extend(0x1e70c, 64)) == 124684); + assert(unsigned(zero_extend(0x1e710, 64)) == 124688); + assert(unsigned(zero_extend(0x1e714, 64)) == 124692); + assert(unsigned(zero_extend(0x1e718, 64)) == 124696); + assert(unsigned(zero_extend(0x1e71c, 64)) == 124700); + assert(unsigned(zero_extend(0x1e720, 64)) == 124704); + assert(unsigned(zero_extend(0x1e724, 64)) == 124708); + assert(unsigned(zero_extend(0x1e728, 64)) == 124712); + assert(unsigned(zero_extend(0x1e72c, 64)) == 124716); + assert(unsigned(zero_extend(0x1e730, 64)) == 124720); + assert(unsigned(zero_extend(0x1e734, 64)) == 124724); + assert(unsigned(zero_extend(0x1e738, 64)) == 124728); + assert(unsigned(zero_extend(0x1e740, 64)) == 124736); + assert(unsigned(zero_extend(0x1eb90, 64)) == 125840); + assert(unsigned(zero_extend(0x1eb94, 64)) == 125844); + assert(unsigned(zero_extend(0x1eb98, 64)) == 125848); + assert(unsigned(zero_extend(0x1eb9c, 64)) == 125852); + assert(unsigned(zero_extend(0x1eba0, 64)) == 125856); + assert(unsigned(zero_extend(0x1eba4, 64)) == 125860); + assert(unsigned(zero_extend(0x1eba8, 64)) == 125864); + assert(unsigned(zero_extend(0x1ebc0, 64)) == 125888); + assert(unsigned(zero_extend(0x1ebc4, 64)) == 125892); + assert(unsigned(zero_extend(0x1ebc8, 64)) == 125896); + assert(unsigned(zero_extend(0x1ebd4, 64)) == 125908); + assert(unsigned(zero_extend(0x1ebd8, 64)) == 125912); + assert(unsigned(zero_extend(0x1ebe8, 64)) == 125928); + assert(unsigned(zero_extend(0x1ebec, 64)) == 125932); + assert(unsigned(zero_extend(0x1ebf0, 64)) == 125936); + assert(unsigned(zero_extend(0x1ebf4, 64)) == 125940); + assert(unsigned(zero_extend(0x1ebf8, 64)) == 125944); + assert(unsigned(zero_extend(0x1ebfc, 64)) == 125948); + assert(unsigned(zero_extend(0x1ec00, 64)) == 125952); + assert(unsigned(zero_extend(0x1ec18, 64)) == 125976); + assert(unsigned(zero_extend(0x1ec1c, 64)) == 125980); + assert(unsigned(zero_extend(0x1ec20, 64)) == 125984); + assert(unsigned(zero_extend(0x1ec24, 64)) == 125988); + assert(unsigned(zero_extend(0x1ec25, 64)) == 125989); + assert(unsigned(zero_extend(0x1ec26, 64)) == 125990); + assert(unsigned(zero_extend(0x1ec27, 64)) == 125991); + assert(unsigned(zero_extend(0x1ec28, 64)) == 125992); + assert(unsigned(zero_extend(0x1ec29, 64)) == 125993); + assert(unsigned(zero_extend(0x1ec2a, 64)) == 125994); + assert(unsigned(zero_extend(0x1ec2b, 64)) == 125995); + assert(unsigned(zero_extend(0x1ec2c, 64)) == 125996); + assert(unsigned(zero_extend(0x1ec2d, 64)) == 125997); + assert(unsigned(zero_extend(0x1ec2e, 64)) == 125998); + assert(unsigned(zero_extend(0x1ec2f, 64)) == 125999); + assert(unsigned(zero_extend(0x1ec30, 64)) == 126000); + assert(unsigned(zero_extend(0x1ec31, 64)) == 126001); + assert(unsigned(zero_extend(0x1ec32, 64)) == 126002); + assert(unsigned(zero_extend(0x1ec33, 64)) == 126003); + assert(unsigned(zero_extend(0x1ec34, 64)) == 126004); + assert(unsigned(zero_extend(0x1ec35, 64)) == 126005); + assert(unsigned(zero_extend(0x1ec36, 64)) == 126006); + assert(unsigned(zero_extend(0x1ec37, 64)) == 126007); + assert(unsigned(zero_extend(0x1ec38, 64)) == 126008); + assert(unsigned(zero_extend(0x1ec39, 64)) == 126009); + assert(unsigned(zero_extend(0x1ec3a, 64)) == 126010); + assert(unsigned(zero_extend(0x1ec48, 64)) == 126024); + assert(unsigned(zero_extend(0x1ec7c, 64)) == 126076); + assert(unsigned(zero_extend(0x1ec7d, 64)) == 126077); + assert(unsigned(zero_extend(0x1ec7e, 64)) == 126078); + assert(unsigned(zero_extend(0x1ec7f, 64)) == 126079); + assert(unsigned(zero_extend(0x1ec80, 64)) == 126080); + assert(unsigned(zero_extend(0x1ec81, 64)) == 126081); + assert(unsigned(zero_extend(0x1ec82, 64)) == 126082); + assert(unsigned(zero_extend(0x1ec83, 64)) == 126083); + assert(unsigned(zero_extend(0x1ec84, 64)) == 126084); + assert(unsigned(zero_extend(0x1ec85, 64)) == 126085); + assert(unsigned(zero_extend(0x1ec86, 64)) == 126086); + assert(unsigned(zero_extend(0x1ec87, 64)) == 126087); + assert(unsigned(zero_extend(0x1ec88, 64)) == 126088); + assert(unsigned(zero_extend(0x1ec89, 64)) == 126089); + assert(unsigned(zero_extend(0x1ec8a, 64)) == 126090); + assert(unsigned(zero_extend(0x1ec8b, 64)) == 126091); + assert(unsigned(zero_extend(0x1ec8c, 64)) == 126092); + assert(unsigned(zero_extend(0x1ec8d, 64)) == 126093); + assert(unsigned(zero_extend(0x1ec8e, 64)) == 126094); + assert(unsigned(zero_extend(0x1ec8f, 64)) == 126095); + assert(unsigned(zero_extend(0x1ec90, 64)) == 126096); + assert(unsigned(zero_extend(0x1ec91, 64)) == 126097); + assert(unsigned(zero_extend(0x1ec92, 64)) == 126098); + assert(unsigned(zero_extend(0x1f, 64)) == 31); + assert(unsigned(zero_extend(0x1f138, 64)) == 127288); + assert(unsigned(zero_extend(0x1f13c, 64)) == 127292); + assert(unsigned(zero_extend(0x1f140, 64)) == 127296); + assert(unsigned(zero_extend(0x1f144, 64)) == 127300); + assert(unsigned(zero_extend(0x1f148, 64)) == 127304); + assert(unsigned(zero_extend(0x1f14c, 64)) == 127308); + assert(unsigned(zero_extend(0x1f150, 64)) == 127312); + assert(unsigned(zero_extend(0x1f154, 64)) == 127316); + assert(unsigned(zero_extend(0x1f158, 64)) == 127320); + assert(unsigned(zero_extend(0x1f15c, 64)) == 127324); + assert(unsigned(zero_extend(0x1f160, 64)) == 127328); + assert(unsigned(zero_extend(0x1f190, 64)) == 127376); + assert(unsigned(zero_extend(0x1f194, 64)) == 127380); + assert(unsigned(zero_extend(0x1f198, 64)) == 127384); + assert(unsigned(zero_extend(0x1f19c, 64)) == 127388); + assert(unsigned(zero_extend(0x1f1a0, 64)) == 127392); + assert(unsigned(zero_extend(0x1f1a4, 64)) == 127396); + assert(unsigned(zero_extend(0x1f1a8, 64)) == 127400); + assert(unsigned(zero_extend(0x1f1ac, 64)) == 127404); + assert(unsigned(zero_extend(0x1f1b0, 64)) == 127408); + assert(unsigned(zero_extend(0x1f1b4, 64)) == 127412); + assert(unsigned(zero_extend(0x1f1b8, 64)) == 127416); + assert(unsigned(zero_extend(0x1f2d0, 64)) == 127696); + assert(unsigned(zero_extend(0x1f2d4, 64)) == 127700); + assert(unsigned(zero_extend(0x1f2d8, 64)) == 127704); + assert(unsigned(zero_extend(0x1f2dc, 64)) == 127708); + assert(unsigned(zero_extend(0x1f2e0, 64)) == 127712); + assert(unsigned(zero_extend(0x1f2e4, 64)) == 127716); + assert(unsigned(zero_extend(0x1f2e8, 64)) == 127720); + assert(unsigned(zero_extend(0x1f2ec, 64)) == 127724); + assert(unsigned(zero_extend(0x1f2f0, 64)) == 127728); + assert(unsigned(zero_extend(0x1f2f4, 64)) == 127732); + assert(unsigned(zero_extend(0x1f2f8, 64)) == 127736); + assert(unsigned(zero_extend(0x1f2fc, 64)) == 127740); + assert(unsigned(zero_extend(0x1f300, 64)) == 127744); + assert(unsigned(zero_extend(0x1f304, 64)) == 127748); + assert(unsigned(zero_extend(0x1f308, 64)) == 127752); + assert(unsigned(zero_extend(0x1f310, 64)) == 127760); + assert(unsigned(zero_extend(0x1f328, 64)) == 127784); + assert(unsigned(zero_extend(0x1f32c, 64)) == 127788); + assert(unsigned(zero_extend(0x1f330, 64)) == 127792); + assert(unsigned(zero_extend(0x1f334, 64)) == 127796); + assert(unsigned(zero_extend(0x1f338, 64)) == 127800); + assert(unsigned(zero_extend(0x1f33c, 64)) == 127804); + assert(unsigned(zero_extend(0x1f340, 64)) == 127808); + assert(unsigned(zero_extend(0x1f344, 64)) == 127812); + assert(unsigned(zero_extend(0x1f348, 64)) == 127816); + assert(unsigned(zero_extend(0x1f34c, 64)) == 127820); + assert(unsigned(zero_extend(0x1f350, 64)) == 127824); + assert(unsigned(zero_extend(0x1f354, 64)) == 127828); + assert(unsigned(zero_extend(0x1f358, 64)) == 127832); + assert(unsigned(zero_extend(0x1f35c, 64)) == 127836); + assert(unsigned(zero_extend(0x1f360, 64)) == 127840); + assert(unsigned(zero_extend(0x1f368, 64)) == 127848); + assert(unsigned(zero_extend(0x1f558, 64)) == 128344); + assert(unsigned(zero_extend(0x1f55c, 64)) == 128348); + assert(unsigned(zero_extend(0x1f560, 64)) == 128352); + assert(unsigned(zero_extend(0x1f564, 64)) == 128356); + assert(unsigned(zero_extend(0x1f568, 64)) == 128360); + assert(unsigned(zero_extend(0x1f5a0, 64)) == 128416); + assert(unsigned(zero_extend(0x1f5a8, 64)) == 128424); + assert(unsigned(zero_extend(0x1f5b0, 64)) == 128432); + assert(unsigned(zero_extend(0x1f5b4, 64)) == 128436); + assert(unsigned(zero_extend(0x1f5b8, 64)) == 128440); + assert(unsigned(zero_extend(0x1f5bc, 64)) == 128444); + assert(unsigned(zero_extend(0x1f5c0, 64)) == 128448); + assert(unsigned(zero_extend(0x1f5f8, 64)) == 128504); + assert(unsigned(zero_extend(0x1f600, 64)) == 128512); + assert(unsigned(zero_extend(0x2, 64)) == 2); + assert(unsigned(zero_extend(0x20, 64)) == 32); + assert(unsigned(zero_extend(0x200, 64)) == 512); + assert(unsigned(zero_extend(0x2000, 64)) == 8192); + assert(unsigned(zero_extend(0x20000, 64)) == 131072); + assert(unsigned(zero_extend(0x20000000, 64)) == 536870912); + assert(unsigned(zero_extend(0x208, 64)) == 520); + assert(unsigned(zero_extend(0x20800, 64)) == 133120); + assert(unsigned(zero_extend(0x21, 64)) == 33); + assert(unsigned(zero_extend(0x21468, 64)) == 136296); + assert(unsigned(zero_extend(0x2146c, 64)) == 136300); + assert(unsigned(zero_extend(0x21470, 64)) == 136304); + assert(unsigned(zero_extend(0x21474, 64)) == 136308); + assert(unsigned(zero_extend(0x21478, 64)) == 136312); + assert(unsigned(zero_extend(0x2147c, 64)) == 136316); + assert(unsigned(zero_extend(0x21480, 64)) == 136320); + assert(unsigned(zero_extend(0x21484, 64)) == 136324); + assert(unsigned(zero_extend(0x21488, 64)) == 136328); + assert(unsigned(zero_extend(0x2148c, 64)) == 136332); + assert(unsigned(zero_extend(0x21490, 64)) == 136336); + assert(unsigned(zero_extend(0x21494, 64)) == 136340); + assert(unsigned(zero_extend(0x21498, 64)) == 136344); + assert(unsigned(zero_extend(0x2149c, 64)) == 136348); + assert(unsigned(zero_extend(0x214a0, 64)) == 136352); + assert(unsigned(zero_extend(0x214a4, 64)) == 136356); + assert(unsigned(zero_extend(0x214a8, 64)) == 136360); + assert(unsigned(zero_extend(0x214ac, 64)) == 136364); + assert(unsigned(zero_extend(0x214b0, 64)) == 136368); + assert(unsigned(zero_extend(0x214b4, 64)) == 136372); + assert(unsigned(zero_extend(0x214b8, 64)) == 136376); + assert(unsigned(zero_extend(0x214bc, 64)) == 136380); + assert(unsigned(zero_extend(0x214c0, 64)) == 136384); + assert(unsigned(zero_extend(0x214c4, 64)) == 136388); + assert(unsigned(zero_extend(0x214c8, 64)) == 136392); + assert(unsigned(zero_extend(0x214cc, 64)) == 136396); + assert(unsigned(zero_extend(0x214d0, 64)) == 136400); + assert(unsigned(zero_extend(0x214d4, 64)) == 136404); + assert(unsigned(zero_extend(0x214d8, 64)) == 136408); + assert(unsigned(zero_extend(0x214dc, 64)) == 136412); + assert(unsigned(zero_extend(0x214e0, 64)) == 136416); + assert(unsigned(zero_extend(0x214e4, 64)) == 136420); + assert(unsigned(zero_extend(0x214e8, 64)) == 136424); + assert(unsigned(zero_extend(0x214ec, 64)) == 136428); + assert(unsigned(zero_extend(0x214f0, 64)) == 136432); + assert(unsigned(zero_extend(0x214f4, 64)) == 136436); + assert(unsigned(zero_extend(0x214f8, 64)) == 136440); + assert(unsigned(zero_extend(0x214fc, 64)) == 136444); + assert(unsigned(zero_extend(0x21500, 64)) == 136448); + assert(unsigned(zero_extend(0x21504, 64)) == 136452); + assert(unsigned(zero_extend(0x21508, 64)) == 136456); + assert(unsigned(zero_extend(0x2150c, 64)) == 136460); + assert(unsigned(zero_extend(0x21510, 64)) == 136464); + assert(unsigned(zero_extend(0x21514, 64)) == 136468); + assert(unsigned(zero_extend(0x21518, 64)) == 136472); + assert(unsigned(zero_extend(0x2151c, 64)) == 136476); + assert(unsigned(zero_extend(0x21520, 64)) == 136480); + assert(unsigned(zero_extend(0x21524, 64)) == 136484); + assert(unsigned(zero_extend(0x21528, 64)) == 136488); + assert(unsigned(zero_extend(0x2152c, 64)) == 136492); + assert(unsigned(zero_extend(0x21530, 64)) == 136496); + assert(unsigned(zero_extend(0x21534, 64)) == 136500); + assert(unsigned(zero_extend(0x21538, 64)) == 136504); + assert(unsigned(zero_extend(0x2153c, 64)) == 136508); + assert(unsigned(zero_extend(0x21540, 64)) == 136512); + assert(unsigned(zero_extend(0x21544, 64)) == 136516); + assert(unsigned(zero_extend(0x21548, 64)) == 136520); + assert(unsigned(zero_extend(0x21568, 64)) == 136552); + assert(unsigned(zero_extend(0x2156c, 64)) == 136556); + assert(unsigned(zero_extend(0x21570, 64)) == 136560); + assert(unsigned(zero_extend(0x21574, 64)) == 136564); + assert(unsigned(zero_extend(0x21578, 64)) == 136568); + assert(unsigned(zero_extend(0x2157c, 64)) == 136572); + assert(unsigned(zero_extend(0x21580, 64)) == 136576); + assert(unsigned(zero_extend(0x21584, 64)) == 136580); + assert(unsigned(zero_extend(0x21588, 64)) == 136584); + assert(unsigned(zero_extend(0x2158c, 64)) == 136588); + assert(unsigned(zero_extend(0x21590, 64)) == 136592); + assert(unsigned(zero_extend(0x21594, 64)) == 136596); + assert(unsigned(zero_extend(0x21598, 64)) == 136600); + assert(unsigned(zero_extend(0x2159c, 64)) == 136604); + assert(unsigned(zero_extend(0x215a0, 64)) == 136608); + assert(unsigned(zero_extend(0x215a4, 64)) == 136612); + assert(unsigned(zero_extend(0x215c0, 64)) == 136640); + assert(unsigned(zero_extend(0x215c4, 64)) == 136644); + assert(unsigned(zero_extend(0x215c8, 64)) == 136648); + assert(unsigned(zero_extend(0x215cc, 64)) == 136652); + assert(unsigned(zero_extend(0x215d0, 64)) == 136656); + assert(unsigned(zero_extend(0x215d4, 64)) == 136660); + assert(unsigned(zero_extend(0x215d8, 64)) == 136664); + assert(unsigned(zero_extend(0x215dc, 64)) == 136668); + assert(unsigned(zero_extend(0x215e0, 64)) == 136672); + assert(unsigned(zero_extend(0x215e4, 64)) == 136676); + assert(unsigned(zero_extend(0x215e8, 64)) == 136680); + assert(unsigned(zero_extend(0x215ec, 64)) == 136684); + assert(unsigned(zero_extend(0x215f0, 64)) == 136688); + assert(unsigned(zero_extend(0x215f4, 64)) == 136692); + assert(unsigned(zero_extend(0x215f8, 64)) == 136696); + assert(unsigned(zero_extend(0x215fc, 64)) == 136700); + assert(unsigned(zero_extend(0x21680, 64)) == 136832); + assert(unsigned(zero_extend(0x21684, 64)) == 136836); + assert(unsigned(zero_extend(0x21688, 64)) == 136840); + assert(unsigned(zero_extend(0x2168c, 64)) == 136844); + assert(unsigned(zero_extend(0x21690, 64)) == 136848); + assert(unsigned(zero_extend(0x21694, 64)) == 136852); + assert(unsigned(zero_extend(0x21698, 64)) == 136856); + assert(unsigned(zero_extend(0x2169c, 64)) == 136860); + assert(unsigned(zero_extend(0x216a0, 64)) == 136864); + assert(unsigned(zero_extend(0x216a4, 64)) == 136868); + assert(unsigned(zero_extend(0x216a8, 64)) == 136872); + assert(unsigned(zero_extend(0x216ac, 64)) == 136876); + assert(unsigned(zero_extend(0x216b0, 64)) == 136880); + assert(unsigned(zero_extend(0x216b4, 64)) == 136884); + assert(unsigned(zero_extend(0x216b8, 64)) == 136888); + assert(unsigned(zero_extend(0x216d8, 64)) == 136920); + assert(unsigned(zero_extend(0x216dc, 64)) == 136924); + assert(unsigned(zero_extend(0x216e0, 64)) == 136928); + assert(unsigned(zero_extend(0x216e4, 64)) == 136932); + assert(unsigned(zero_extend(0x216e8, 64)) == 136936); + assert(unsigned(zero_extend(0x216ec, 64)) == 136940); + assert(unsigned(zero_extend(0x216f0, 64)) == 136944); + assert(unsigned(zero_extend(0x216f4, 64)) == 136948); + assert(unsigned(zero_extend(0x216f8, 64)) == 136952); + assert(unsigned(zero_extend(0x216fc, 64)) == 136956); + assert(unsigned(zero_extend(0x21700, 64)) == 136960); + assert(unsigned(zero_extend(0x21704, 64)) == 136964); + assert(unsigned(zero_extend(0x21708, 64)) == 136968); + assert(unsigned(zero_extend(0x2170c, 64)) == 136972); + assert(unsigned(zero_extend(0x21710, 64)) == 136976); + assert(unsigned(zero_extend(0x21714, 64)) == 136980); + assert(unsigned(zero_extend(0x21718, 64)) == 136984); + assert(unsigned(zero_extend(0x21720, 64)) == 136992); + assert(unsigned(zero_extend(0x2174c, 64)) == 137036); + assert(unsigned(zero_extend(0x21750, 64)) == 137040); + assert(unsigned(zero_extend(0x21751, 64)) == 137041); + assert(unsigned(zero_extend(0x21752, 64)) == 137042); + assert(unsigned(zero_extend(0x21753, 64)) == 137043); + assert(unsigned(zero_extend(0x21754, 64)) == 137044); + assert(unsigned(zero_extend(0x21755, 64)) == 137045); + assert(unsigned(zero_extend(0x21756, 64)) == 137046); + assert(unsigned(zero_extend(0x21757, 64)) == 137047); + assert(unsigned(zero_extend(0x21758, 64)) == 137048); + assert(unsigned(zero_extend(0x21759, 64)) == 137049); + assert(unsigned(zero_extend(0x2175a, 64)) == 137050); + assert(unsigned(zero_extend(0x2175b, 64)) == 137051); + assert(unsigned(zero_extend(0x2175c, 64)) == 137052); + assert(unsigned(zero_extend(0x2175d, 64)) == 137053); + assert(unsigned(zero_extend(0x2175e, 64)) == 137054); + assert(unsigned(zero_extend(0x2175f, 64)) == 137055); + assert(unsigned(zero_extend(0x21760, 64)) == 137056); + assert(unsigned(zero_extend(0x21761, 64)) == 137057); + assert(unsigned(zero_extend(0x21764, 64)) == 137060); + assert(unsigned(zero_extend(0x21765, 64)) == 137061); + assert(unsigned(zero_extend(0x21766, 64)) == 137062); + assert(unsigned(zero_extend(0x21767, 64)) == 137063); + assert(unsigned(zero_extend(0x21768, 64)) == 137064); + assert(unsigned(zero_extend(0x21769, 64)) == 137065); + assert(unsigned(zero_extend(0x2176a, 64)) == 137066); + assert(unsigned(zero_extend(0x2176c, 64)) == 137068); + assert(unsigned(zero_extend(0x21770, 64)) == 137072); + assert(unsigned(zero_extend(0x21778, 64)) == 137080); + assert(unsigned(zero_extend(0x217a8, 64)) == 137128); + assert(unsigned(zero_extend(0x217a9, 64)) == 137129); + assert(unsigned(zero_extend(0x217aa, 64)) == 137130); + assert(unsigned(zero_extend(0x217ab, 64)) == 137131); + assert(unsigned(zero_extend(0x217ac, 64)) == 137132); + assert(unsigned(zero_extend(0x217ad, 64)) == 137133); + assert(unsigned(zero_extend(0x217ae, 64)) == 137134); + assert(unsigned(zero_extend(0x217af, 64)) == 137135); + assert(unsigned(zero_extend(0x217b0, 64)) == 137136); + assert(unsigned(zero_extend(0x217b1, 64)) == 137137); + assert(unsigned(zero_extend(0x217b2, 64)) == 137138); + assert(unsigned(zero_extend(0x217b3, 64)) == 137139); + assert(unsigned(zero_extend(0x217b4, 64)) == 137140); + assert(unsigned(zero_extend(0x217b5, 64)) == 137141); + assert(unsigned(zero_extend(0x217b6, 64)) == 137142); + assert(unsigned(zero_extend(0x217b7, 64)) == 137143); + assert(unsigned(zero_extend(0x217b8, 64)) == 137144); + assert(unsigned(zero_extend(0x217b9, 64)) == 137145); + assert(unsigned(zero_extend(0x217bc, 64)) == 137148); + assert(unsigned(zero_extend(0x217bd, 64)) == 137149); + assert(unsigned(zero_extend(0x217be, 64)) == 137150); + assert(unsigned(zero_extend(0x217bf, 64)) == 137151); + assert(unsigned(zero_extend(0x217c0, 64)) == 137152); + assert(unsigned(zero_extend(0x217c1, 64)) == 137153); + assert(unsigned(zero_extend(0x217c2, 64)) == 137154); + assert(unsigned(zero_extend(0x21820, 64)) == 137248); + assert(unsigned(zero_extend(0x21824, 64)) == 137252); + assert(unsigned(zero_extend(0x21828, 64)) == 137256); + assert(unsigned(zero_extend(0x2182c, 64)) == 137260); + assert(unsigned(zero_extend(0x21830, 64)) == 137264); + assert(unsigned(zero_extend(0x21834, 64)) == 137268); + assert(unsigned(zero_extend(0x21838, 64)) == 137272); + assert(unsigned(zero_extend(0x2183c, 64)) == 137276); + assert(unsigned(zero_extend(0x21840, 64)) == 137280); + assert(unsigned(zero_extend(0x21844, 64)) == 137284); + assert(unsigned(zero_extend(0x21848, 64)) == 137288); + assert(unsigned(zero_extend(0x2184c, 64)) == 137292); + assert(unsigned(zero_extend(0x21850, 64)) == 137296); + assert(unsigned(zero_extend(0x21854, 64)) == 137300); + assert(unsigned(zero_extend(0x21858, 64)) == 137304); + assert(unsigned(zero_extend(0x2185c, 64)) == 137308); + assert(unsigned(zero_extend(0x21860, 64)) == 137312); + assert(unsigned(zero_extend(0x21864, 64)) == 137316); + assert(unsigned(zero_extend(0x21868, 64)) == 137320); + assert(unsigned(zero_extend(0x2186c, 64)) == 137324); + assert(unsigned(zero_extend(0x21870, 64)) == 137328); + assert(unsigned(zero_extend(0x21874, 64)) == 137332); + assert(unsigned(zero_extend(0x21878, 64)) == 137336); + assert(unsigned(zero_extend(0x2187c, 64)) == 137340); + assert(unsigned(zero_extend(0x21880, 64)) == 137344); + assert(unsigned(zero_extend(0x21884, 64)) == 137348); + assert(unsigned(zero_extend(0x21888, 64)) == 137352); + assert(unsigned(zero_extend(0x2188c, 64)) == 137356); + assert(unsigned(zero_extend(0x21890, 64)) == 137360); + assert(unsigned(zero_extend(0x21894, 64)) == 137364); + assert(unsigned(zero_extend(0x21898, 64)) == 137368); + assert(unsigned(zero_extend(0x2189c, 64)) == 137372); + assert(unsigned(zero_extend(0x218a0, 64)) == 137376); + assert(unsigned(zero_extend(0x218a4, 64)) == 137380); + assert(unsigned(zero_extend(0x218a8, 64)) == 137384); + assert(unsigned(zero_extend(0x218ac, 64)) == 137388); + assert(unsigned(zero_extend(0x218b0, 64)) == 137392); + assert(unsigned(zero_extend(0x218b4, 64)) == 137396); + assert(unsigned(zero_extend(0x218b8, 64)) == 137400); + assert(unsigned(zero_extend(0x218bc, 64)) == 137404); + assert(unsigned(zero_extend(0x218c0, 64)) == 137408); + assert(unsigned(zero_extend(0x218c4, 64)) == 137412); + assert(unsigned(zero_extend(0x218c8, 64)) == 137416); + assert(unsigned(zero_extend(0x218cc, 64)) == 137420); + assert(unsigned(zero_extend(0x218d0, 64)) == 137424); + assert(unsigned(zero_extend(0x218d4, 64)) == 137428); + assert(unsigned(zero_extend(0x218d8, 64)) == 137432); + assert(unsigned(zero_extend(0x218dc, 64)) == 137436); + assert(unsigned(zero_extend(0x218e0, 64)) == 137440); + assert(unsigned(zero_extend(0x218e4, 64)) == 137444); + assert(unsigned(zero_extend(0x218e8, 64)) == 137448); + assert(unsigned(zero_extend(0x218ec, 64)) == 137452); + assert(unsigned(zero_extend(0x218f0, 64)) == 137456); + assert(unsigned(zero_extend(0x218f4, 64)) == 137460); + assert(unsigned(zero_extend(0x218f8, 64)) == 137464); + assert(unsigned(zero_extend(0x218fc, 64)) == 137468); + assert(unsigned(zero_extend(0x21900, 64)) == 137472); + assert(unsigned(zero_extend(0x21904, 64)) == 137476); + assert(unsigned(zero_extend(0x21908, 64)) == 137480); + assert(unsigned(zero_extend(0x2190c, 64)) == 137484); + assert(unsigned(zero_extend(0x21910, 64)) == 137488); + assert(unsigned(zero_extend(0x21914, 64)) == 137492); + assert(unsigned(zero_extend(0x21918, 64)) == 137496); + assert(unsigned(zero_extend(0x2191c, 64)) == 137500); + assert(unsigned(zero_extend(0x21920, 64)) == 137504); + assert(unsigned(zero_extend(0x21924, 64)) == 137508); + assert(unsigned(zero_extend(0x21928, 64)) == 137512); + assert(unsigned(zero_extend(0x2192c, 64)) == 137516); + assert(unsigned(zero_extend(0x21930, 64)) == 137520); + assert(unsigned(zero_extend(0x21934, 64)) == 137524); + assert(unsigned(zero_extend(0x21938, 64)) == 137528); + assert(unsigned(zero_extend(0x2193c, 64)) == 137532); + assert(unsigned(zero_extend(0x21940, 64)) == 137536); + assert(unsigned(zero_extend(0x21944, 64)) == 137540); + assert(unsigned(zero_extend(0x21948, 64)) == 137544); + assert(unsigned(zero_extend(0x2194c, 64)) == 137548); + assert(unsigned(zero_extend(0x21950, 64)) == 137552); + assert(unsigned(zero_extend(0x21954, 64)) == 137556); + assert(unsigned(zero_extend(0x21958, 64)) == 137560); + assert(unsigned(zero_extend(0x2195c, 64)) == 137564); + assert(unsigned(zero_extend(0x21960, 64)) == 137568); + assert(unsigned(zero_extend(0x21964, 64)) == 137572); + assert(unsigned(zero_extend(0x21968, 64)) == 137576); + assert(unsigned(zero_extend(0x2196c, 64)) == 137580); + assert(unsigned(zero_extend(0x2196d, 64)) == 137581); + assert(unsigned(zero_extend(0x2196e, 64)) == 137582); + assert(unsigned(zero_extend(0x2196f, 64)) == 137583); + assert(unsigned(zero_extend(0x21970, 64)) == 137584); + assert(unsigned(zero_extend(0x21971, 64)) == 137585); + assert(unsigned(zero_extend(0x21972, 64)) == 137586); + assert(unsigned(zero_extend(0x21973, 64)) == 137587); + assert(unsigned(zero_extend(0x21974, 64)) == 137588); + assert(unsigned(zero_extend(0x21975, 64)) == 137589); + assert(unsigned(zero_extend(0x21976, 64)) == 137590); + assert(unsigned(zero_extend(0x21977, 64)) == 137591); + assert(unsigned(zero_extend(0x21978, 64)) == 137592); + assert(unsigned(zero_extend(0x21979, 64)) == 137593); + assert(unsigned(zero_extend(0x2197a, 64)) == 137594); + assert(unsigned(zero_extend(0x2197b, 64)) == 137595); + assert(unsigned(zero_extend(0x2197c, 64)) == 137596); + assert(unsigned(zero_extend(0x2197d, 64)) == 137597); + assert(unsigned(zero_extend(0x2197e, 64)) == 137598); + assert(unsigned(zero_extend(0x2197f, 64)) == 137599); + assert(unsigned(zero_extend(0x21980, 64)) == 137600); + assert(unsigned(zero_extend(0x21981, 64)) == 137601); + assert(unsigned(zero_extend(0x21982, 64)) == 137602); + assert(unsigned(zero_extend(0x21983, 64)) == 137603); + assert(unsigned(zero_extend(0x21984, 64)) == 137604); + assert(unsigned(zero_extend(0x21988, 64)) == 137608); + assert(unsigned(zero_extend(0x2198c, 64)) == 137612); + assert(unsigned(zero_extend(0x21990, 64)) == 137616); + assert(unsigned(zero_extend(0x21994, 64)) == 137620); + assert(unsigned(zero_extend(0x21998, 64)) == 137624); + assert(unsigned(zero_extend(0x2199c, 64)) == 137628); + assert(unsigned(zero_extend(0x219a0, 64)) == 137632); + assert(unsigned(zero_extend(0x219a4, 64)) == 137636); + assert(unsigned(zero_extend(0x219a8, 64)) == 137640); + assert(unsigned(zero_extend(0x219ac, 64)) == 137644); + assert(unsigned(zero_extend(0x219b0, 64)) == 137648); + assert(unsigned(zero_extend(0x219b4, 64)) == 137652); + assert(unsigned(zero_extend(0x219b8, 64)) == 137656); + assert(unsigned(zero_extend(0x219bc, 64)) == 137660); + assert(unsigned(zero_extend(0x219c0, 64)) == 137664); + assert(unsigned(zero_extend(0x219c4, 64)) == 137668); + assert(unsigned(zero_extend(0x219c5, 64)) == 137669); + assert(unsigned(zero_extend(0x219c6, 64)) == 137670); + assert(unsigned(zero_extend(0x219c7, 64)) == 137671); + assert(unsigned(zero_extend(0x219c8, 64)) == 137672); + assert(unsigned(zero_extend(0x219c9, 64)) == 137673); + assert(unsigned(zero_extend(0x219ca, 64)) == 137674); + assert(unsigned(zero_extend(0x219cb, 64)) == 137675); + assert(unsigned(zero_extend(0x219cc, 64)) == 137676); + assert(unsigned(zero_extend(0x219cd, 64)) == 137677); + assert(unsigned(zero_extend(0x219ce, 64)) == 137678); + assert(unsigned(zero_extend(0x219cf, 64)) == 137679); + assert(unsigned(zero_extend(0x219d0, 64)) == 137680); + assert(unsigned(zero_extend(0x219d1, 64)) == 137681); + assert(unsigned(zero_extend(0x219d2, 64)) == 137682); + assert(unsigned(zero_extend(0x219d3, 64)) == 137683); + assert(unsigned(zero_extend(0x219d4, 64)) == 137684); + assert(unsigned(zero_extend(0x219d5, 64)) == 137685); + assert(unsigned(zero_extend(0x219d6, 64)) == 137686); + assert(unsigned(zero_extend(0x219d7, 64)) == 137687); + assert(unsigned(zero_extend(0x219d8, 64)) == 137688); + assert(unsigned(zero_extend(0x219d9, 64)) == 137689); + assert(unsigned(zero_extend(0x219da, 64)) == 137690); + assert(unsigned(zero_extend(0x219db, 64)) == 137691); + assert(unsigned(zero_extend(0x219dc, 64)) == 137692); + assert(unsigned(zero_extend(0x219e0, 64)) == 137696); + assert(unsigned(zero_extend(0x219e4, 64)) == 137700); + assert(unsigned(zero_extend(0x219e8, 64)) == 137704); + assert(unsigned(zero_extend(0x219ec, 64)) == 137708); + assert(unsigned(zero_extend(0x219f0, 64)) == 137712); + assert(unsigned(zero_extend(0x219f4, 64)) == 137716); + assert(unsigned(zero_extend(0x219f8, 64)) == 137720); + assert(unsigned(zero_extend(0x219fc, 64)) == 137724); + assert(unsigned(zero_extend(0x21a00, 64)) == 137728); + assert(unsigned(zero_extend(0x21a04, 64)) == 137732); + assert(unsigned(zero_extend(0x21a08, 64)) == 137736); + assert(unsigned(zero_extend(0x21a0c, 64)) == 137740); + assert(unsigned(zero_extend(0x21a10, 64)) == 137744); + assert(unsigned(zero_extend(0x21a14, 64)) == 137748); + assert(unsigned(zero_extend(0x21a18, 64)) == 137752); + assert(unsigned(zero_extend(0x21a1c, 64)) == 137756); + assert(unsigned(zero_extend(0x21a20, 64)) == 137760); + assert(unsigned(zero_extend(0x21a24, 64)) == 137764); + assert(unsigned(zero_extend(0x21a28, 64)) == 137768); + assert(unsigned(zero_extend(0x21a2c, 64)) == 137772); + assert(unsigned(zero_extend(0x21a30, 64)) == 137776); + assert(unsigned(zero_extend(0x21a34, 64)) == 137780); + assert(unsigned(zero_extend(0x21a38, 64)) == 137784); + assert(unsigned(zero_extend(0x21a3c, 64)) == 137788); + assert(unsigned(zero_extend(0x21a40, 64)) == 137792); + assert(unsigned(zero_extend(0x21a44, 64)) == 137796); + assert(unsigned(zero_extend(0x21a48, 64)) == 137800); + assert(unsigned(zero_extend(0x21a4c, 64)) == 137804); + assert(unsigned(zero_extend(0x21a50, 64)) == 137808); + assert(unsigned(zero_extend(0x21a54, 64)) == 137812); + assert(unsigned(zero_extend(0x21a58, 64)) == 137816); + assert(unsigned(zero_extend(0x21a5c, 64)) == 137820); + assert(unsigned(zero_extend(0x21a60, 64)) == 137824); + assert(unsigned(zero_extend(0x21a64, 64)) == 137828); + assert(unsigned(zero_extend(0x21a68, 64)) == 137832); + assert(unsigned(zero_extend(0x21a6c, 64)) == 137836); + assert(unsigned(zero_extend(0x21a70, 64)) == 137840); + assert(unsigned(zero_extend(0x21a74, 64)) == 137844); + assert(unsigned(zero_extend(0x21a78, 64)) == 137848); + assert(unsigned(zero_extend(0x21a7c, 64)) == 137852); + assert(unsigned(zero_extend(0x21a80, 64)) == 137856); + assert(unsigned(zero_extend(0x21a84, 64)) == 137860); + assert(unsigned(zero_extend(0x21a88, 64)) == 137864); + assert(unsigned(zero_extend(0x21a8c, 64)) == 137868); + assert(unsigned(zero_extend(0x21a90, 64)) == 137872); + assert(unsigned(zero_extend(0x21a91, 64)) == 137873); + assert(unsigned(zero_extend(0x21a92, 64)) == 137874); + assert(unsigned(zero_extend(0x21a93, 64)) == 137875); + assert(unsigned(zero_extend(0x21a94, 64)) == 137876); + assert(unsigned(zero_extend(0x21a95, 64)) == 137877); + assert(unsigned(zero_extend(0x21a96, 64)) == 137878); + assert(unsigned(zero_extend(0x21a97, 64)) == 137879); + assert(unsigned(zero_extend(0x21a98, 64)) == 137880); + assert(unsigned(zero_extend(0x21a99, 64)) == 137881); + assert(unsigned(zero_extend(0x21a9a, 64)) == 137882); + assert(unsigned(zero_extend(0x21a9b, 64)) == 137883); + assert(unsigned(zero_extend(0x21a9c, 64)) == 137884); + assert(unsigned(zero_extend(0x21a9d, 64)) == 137885); + assert(unsigned(zero_extend(0x21a9e, 64)) == 137886); + assert(unsigned(zero_extend(0x21a9f, 64)) == 137887); + assert(unsigned(zero_extend(0x21aa0, 64)) == 137888); + assert(unsigned(zero_extend(0x21aa1, 64)) == 137889); + assert(unsigned(zero_extend(0x21aa2, 64)) == 137890); + assert(unsigned(zero_extend(0x21aa3, 64)) == 137891); + assert(unsigned(zero_extend(0x21aa4, 64)) == 137892); + assert(unsigned(zero_extend(0x21aa5, 64)) == 137893); + assert(unsigned(zero_extend(0x21aa6, 64)) == 137894); + assert(unsigned(zero_extend(0x21aa7, 64)) == 137895); + assert(unsigned(zero_extend(0x21aa8, 64)) == 137896); + assert(unsigned(zero_extend(0x21aa9, 64)) == 137897); + assert(unsigned(zero_extend(0x21aaa, 64)) == 137898); + assert(unsigned(zero_extend(0x21ae0, 64)) == 137952); + assert(unsigned(zero_extend(0x21ae8, 64)) == 137960); + assert(unsigned(zero_extend(0x21ae9, 64)) == 137961); + assert(unsigned(zero_extend(0x21aea, 64)) == 137962); + assert(unsigned(zero_extend(0x21aeb, 64)) == 137963); + assert(unsigned(zero_extend(0x21aec, 64)) == 137964); + assert(unsigned(zero_extend(0x21aed, 64)) == 137965); + assert(unsigned(zero_extend(0x21aee, 64)) == 137966); + assert(unsigned(zero_extend(0x21aef, 64)) == 137967); + assert(unsigned(zero_extend(0x21af0, 64)) == 137968); + assert(unsigned(zero_extend(0x21af1, 64)) == 137969); + assert(unsigned(zero_extend(0x21af2, 64)) == 137970); + assert(unsigned(zero_extend(0x21af3, 64)) == 137971); + assert(unsigned(zero_extend(0x21af4, 64)) == 137972); + assert(unsigned(zero_extend(0x21af5, 64)) == 137973); + assert(unsigned(zero_extend(0x21af6, 64)) == 137974); + assert(unsigned(zero_extend(0x21af7, 64)) == 137975); + assert(unsigned(zero_extend(0x21af8, 64)) == 137976); + assert(unsigned(zero_extend(0x21af9, 64)) == 137977); + assert(unsigned(zero_extend(0x21afa, 64)) == 137978); + assert(unsigned(zero_extend(0x21afb, 64)) == 137979); + assert(unsigned(zero_extend(0x21afc, 64)) == 137980); + assert(unsigned(zero_extend(0x21afd, 64)) == 137981); + assert(unsigned(zero_extend(0x21afe, 64)) == 137982); + assert(unsigned(zero_extend(0x21aff, 64)) == 137983); + assert(unsigned(zero_extend(0x21b00, 64)) == 137984); + assert(unsigned(zero_extend(0x21b01, 64)) == 137985); + assert(unsigned(zero_extend(0x21b02, 64)) == 137986); + assert(unsigned(zero_extend(0x21c08, 64)) == 138248); + assert(unsigned(zero_extend(0x21c0c, 64)) == 138252); + assert(unsigned(zero_extend(0x21c10, 64)) == 138256); + assert(unsigned(zero_extend(0x21c14, 64)) == 138260); + assert(unsigned(zero_extend(0x21c18, 64)) == 138264); + assert(unsigned(zero_extend(0x21c1c, 64)) == 138268); + assert(unsigned(zero_extend(0x21c20, 64)) == 138272); + assert(unsigned(zero_extend(0x21c24, 64)) == 138276); + assert(unsigned(zero_extend(0x21c28, 64)) == 138280); + assert(unsigned(zero_extend(0x21c2c, 64)) == 138284); + assert(unsigned(zero_extend(0x21c30, 64)) == 138288); + assert(unsigned(zero_extend(0x21c34, 64)) == 138292); + assert(unsigned(zero_extend(0x21c38, 64)) == 138296); + assert(unsigned(zero_extend(0x21c3c, 64)) == 138300); + assert(unsigned(zero_extend(0x21c40, 64)) == 138304); + assert(unsigned(zero_extend(0x21c44, 64)) == 138308); + assert(unsigned(zero_extend(0x21c48, 64)) == 138312); + assert(unsigned(zero_extend(0x21c4c, 64)) == 138316); + assert(unsigned(zero_extend(0x21c50, 64)) == 138320); + assert(unsigned(zero_extend(0x21c54, 64)) == 138324); + assert(unsigned(zero_extend(0x21c58, 64)) == 138328); + assert(unsigned(zero_extend(0x21c5c, 64)) == 138332); + assert(unsigned(zero_extend(0x21c60, 64)) == 138336); + assert(unsigned(zero_extend(0x21c64, 64)) == 138340); + assert(unsigned(zero_extend(0x21c68, 64)) == 138344); + assert(unsigned(zero_extend(0x21c6c, 64)) == 138348); + assert(unsigned(zero_extend(0x21c70, 64)) == 138352); + assert(unsigned(zero_extend(0x21c74, 64)) == 138356); + assert(unsigned(zero_extend(0x21c78, 64)) == 138360); + assert(unsigned(zero_extend(0x21c7c, 64)) == 138364); + assert(unsigned(zero_extend(0x21c80, 64)) == 138368); + assert(unsigned(zero_extend(0x21c84, 64)) == 138372); + assert(unsigned(zero_extend(0x21c88, 64)) == 138376); + assert(unsigned(zero_extend(0x21c8c, 64)) == 138380); + assert(unsigned(zero_extend(0x21c90, 64)) == 138384); + assert(unsigned(zero_extend(0x21c94, 64)) == 138388); + assert(unsigned(zero_extend(0x21c98, 64)) == 138392); + assert(unsigned(zero_extend(0x21c9c, 64)) == 138396); + assert(unsigned(zero_extend(0x21ca0, 64)) == 138400); + assert(unsigned(zero_extend(0x21ca4, 64)) == 138404); + assert(unsigned(zero_extend(0x21ca8, 64)) == 138408); + assert(unsigned(zero_extend(0x21cac, 64)) == 138412); + assert(unsigned(zero_extend(0x21cb0, 64)) == 138416); + assert(unsigned(zero_extend(0x21cb4, 64)) == 138420); + assert(unsigned(zero_extend(0x21cb8, 64)) == 138424); + assert(unsigned(zero_extend(0x21cbc, 64)) == 138428); + assert(unsigned(zero_extend(0x21cc0, 64)) == 138432); + assert(unsigned(zero_extend(0x21cc4, 64)) == 138436); + assert(unsigned(zero_extend(0x21cc8, 64)) == 138440); + assert(unsigned(zero_extend(0x21ccc, 64)) == 138444); + assert(unsigned(zero_extend(0x21cd0, 64)) == 138448); + assert(unsigned(zero_extend(0x21cd4, 64)) == 138452); + assert(unsigned(zero_extend(0x21cd8, 64)) == 138456); + assert(unsigned(zero_extend(0x21cdc, 64)) == 138460); + assert(unsigned(zero_extend(0x21ce0, 64)) == 138464); + assert(unsigned(zero_extend(0x21ce4, 64)) == 138468); + assert(unsigned(zero_extend(0x21ce8, 64)) == 138472); + assert(unsigned(zero_extend(0x21cec, 64)) == 138476); + assert(unsigned(zero_extend(0x21cf0, 64)) == 138480); + assert(unsigned(zero_extend(0x21cf4, 64)) == 138484); + assert(unsigned(zero_extend(0x21cf8, 64)) == 138488); + assert(unsigned(zero_extend(0x21cfc, 64)) == 138492); + assert(unsigned(zero_extend(0x21d00, 64)) == 138496); + assert(unsigned(zero_extend(0x21d04, 64)) == 138500); + assert(unsigned(zero_extend(0x21d08, 64)) == 138504); + assert(unsigned(zero_extend(0x21d09, 64)) == 138505); + assert(unsigned(zero_extend(0x21d0a, 64)) == 138506); + assert(unsigned(zero_extend(0x21d0b, 64)) == 138507); + assert(unsigned(zero_extend(0x21d0c, 64)) == 138508); + assert(unsigned(zero_extend(0x21d0d, 64)) == 138509); + assert(unsigned(zero_extend(0x21d0e, 64)) == 138510); + assert(unsigned(zero_extend(0x21d0f, 64)) == 138511); + assert(unsigned(zero_extend(0x21d10, 64)) == 138512); + assert(unsigned(zero_extend(0x21d11, 64)) == 138513); + assert(unsigned(zero_extend(0x21d14, 64)) == 138516); + assert(unsigned(zero_extend(0x21d15, 64)) == 138517); + assert(unsigned(zero_extend(0x21d16, 64)) == 138518); + assert(unsigned(zero_extend(0x21d17, 64)) == 138519); + assert(unsigned(zero_extend(0x21d18, 64)) == 138520); + assert(unsigned(zero_extend(0x21d19, 64)) == 138521); + assert(unsigned(zero_extend(0x21d1a, 64)) == 138522); + assert(unsigned(zero_extend(0x21d1b, 64)) == 138523); + assert(unsigned(zero_extend(0x21d1c, 64)) == 138524); + assert(unsigned(zero_extend(0x21d1d, 64)) == 138525); + assert(unsigned(zero_extend(0x21d1e, 64)) == 138526); + assert(unsigned(zero_extend(0x21d1f, 64)) == 138527); + assert(unsigned(zero_extend(0x21d20, 64)) == 138528); + assert(unsigned(zero_extend(0x21d21, 64)) == 138529); + assert(unsigned(zero_extend(0x21d22, 64)) == 138530); + assert(unsigned(zero_extend(0x21d23, 64)) == 138531); + assert(unsigned(zero_extend(0x21d24, 64)) == 138532); + assert(unsigned(zero_extend(0x21d25, 64)) == 138533); + assert(unsigned(zero_extend(0x21d26, 64)) == 138534); + assert(unsigned(zero_extend(0x21d27, 64)) == 138535); + assert(unsigned(zero_extend(0x21d28, 64)) == 138536); + assert(unsigned(zero_extend(0x21d29, 64)) == 138537); + assert(unsigned(zero_extend(0x21d2a, 64)) == 138538); + assert(unsigned(zero_extend(0x21d2b, 64)) == 138539); + assert(unsigned(zero_extend(0x21d2c, 64)) == 138540); + assert(unsigned(zero_extend(0x21d2d, 64)) == 138541); + assert(unsigned(zero_extend(0x21d30, 64)) == 138544); + assert(unsigned(zero_extend(0x21d31, 64)) == 138545); + assert(unsigned(zero_extend(0x21d32, 64)) == 138546); + assert(unsigned(zero_extend(0x21d33, 64)) == 138547); + assert(unsigned(zero_extend(0x21d34, 64)) == 138548); + assert(unsigned(zero_extend(0x21d35, 64)) == 138549); + assert(unsigned(zero_extend(0x21d36, 64)) == 138550); + assert(unsigned(zero_extend(0x21d37, 64)) == 138551); + assert(unsigned(zero_extend(0x21d38, 64)) == 138552); + assert(unsigned(zero_extend(0x21d39, 64)) == 138553); + assert(unsigned(zero_extend(0x21d3c, 64)) == 138556); + assert(unsigned(zero_extend(0x21d3d, 64)) == 138557); + assert(unsigned(zero_extend(0x21d3e, 64)) == 138558); + assert(unsigned(zero_extend(0x21d3f, 64)) == 138559); + assert(unsigned(zero_extend(0x21d40, 64)) == 138560); + assert(unsigned(zero_extend(0x21d41, 64)) == 138561); + assert(unsigned(zero_extend(0x21d42, 64)) == 138562); + assert(unsigned(zero_extend(0x21d43, 64)) == 138563); + assert(unsigned(zero_extend(0x21d44, 64)) == 138564); + assert(unsigned(zero_extend(0x21d45, 64)) == 138565); + assert(unsigned(zero_extend(0x21d48, 64)) == 138568); + assert(unsigned(zero_extend(0x21d49, 64)) == 138569); + assert(unsigned(zero_extend(0x21d4a, 64)) == 138570); + assert(unsigned(zero_extend(0x21d4b, 64)) == 138571); + assert(unsigned(zero_extend(0x21d4c, 64)) == 138572); + assert(unsigned(zero_extend(0x21d4d, 64)) == 138573); + assert(unsigned(zero_extend(0x21d4e, 64)) == 138574); + assert(unsigned(zero_extend(0x21d4f, 64)) == 138575); + assert(unsigned(zero_extend(0x21d50, 64)) == 138576); + assert(unsigned(zero_extend(0x21d51, 64)) == 138577); + assert(unsigned(zero_extend(0x21d54, 64)) == 138580); + assert(unsigned(zero_extend(0x21d55, 64)) == 138581); + assert(unsigned(zero_extend(0x21d56, 64)) == 138582); + assert(unsigned(zero_extend(0x21d57, 64)) == 138583); + assert(unsigned(zero_extend(0x21d58, 64)) == 138584); + assert(unsigned(zero_extend(0x21d59, 64)) == 138585); + assert(unsigned(zero_extend(0x21d5a, 64)) == 138586); + assert(unsigned(zero_extend(0x21d5b, 64)) == 138587); + assert(unsigned(zero_extend(0x21d5c, 64)) == 138588); + assert(unsigned(zero_extend(0x21d5d, 64)) == 138589); + assert(unsigned(zero_extend(0x21d60, 64)) == 138592); + assert(unsigned(zero_extend(0x21d61, 64)) == 138593); + assert(unsigned(zero_extend(0x21d62, 64)) == 138594); + assert(unsigned(zero_extend(0x21d63, 64)) == 138595); + assert(unsigned(zero_extend(0x21d64, 64)) == 138596); + assert(unsigned(zero_extend(0x21d65, 64)) == 138597); + assert(unsigned(zero_extend(0x21d66, 64)) == 138598); + assert(unsigned(zero_extend(0x21d67, 64)) == 138599); + assert(unsigned(zero_extend(0x21d68, 64)) == 138600); + assert(unsigned(zero_extend(0x21d69, 64)) == 138601); + assert(unsigned(zero_extend(0x21d6c, 64)) == 138604); + assert(unsigned(zero_extend(0x21d6d, 64)) == 138605); + assert(unsigned(zero_extend(0x21d6e, 64)) == 138606); + assert(unsigned(zero_extend(0x21d6f, 64)) == 138607); + assert(unsigned(zero_extend(0x21d70, 64)) == 138608); + assert(unsigned(zero_extend(0x21d71, 64)) == 138609); + assert(unsigned(zero_extend(0x21d72, 64)) == 138610); + assert(unsigned(zero_extend(0x21d73, 64)) == 138611); + assert(unsigned(zero_extend(0x21d74, 64)) == 138612); + assert(unsigned(zero_extend(0x21d75, 64)) == 138613); + assert(unsigned(zero_extend(0x21d76, 64)) == 138614); + assert(unsigned(zero_extend(0x21d77, 64)) == 138615); + assert(unsigned(zero_extend(0x21d78, 64)) == 138616); + assert(unsigned(zero_extend(0x21d79, 64)) == 138617); + assert(unsigned(zero_extend(0x21d7a, 64)) == 138618); + assert(unsigned(zero_extend(0x21d7b, 64)) == 138619); + assert(unsigned(zero_extend(0x21d7c, 64)) == 138620); + assert(unsigned(zero_extend(0x21d7d, 64)) == 138621); + assert(unsigned(zero_extend(0x21d7e, 64)) == 138622); + assert(unsigned(zero_extend(0x21d7f, 64)) == 138623); + assert(unsigned(zero_extend(0x21d80, 64)) == 138624); + assert(unsigned(zero_extend(0x21d81, 64)) == 138625); + assert(unsigned(zero_extend(0x21d82, 64)) == 138626); + assert(unsigned(zero_extend(0x21d83, 64)) == 138627); + assert(unsigned(zero_extend(0x21d84, 64)) == 138628); + assert(unsigned(zero_extend(0x21d85, 64)) == 138629); + assert(unsigned(zero_extend(0x21d88, 64)) == 138632); + assert(unsigned(zero_extend(0x21d89, 64)) == 138633); + assert(unsigned(zero_extend(0x21d8a, 64)) == 138634); + assert(unsigned(zero_extend(0x21d8b, 64)) == 138635); + assert(unsigned(zero_extend(0x21d8c, 64)) == 138636); + assert(unsigned(zero_extend(0x21d8d, 64)) == 138637); + assert(unsigned(zero_extend(0x21d8e, 64)) == 138638); + assert(unsigned(zero_extend(0x21d8f, 64)) == 138639); + assert(unsigned(zero_extend(0x21d90, 64)) == 138640); + assert(unsigned(zero_extend(0x21d91, 64)) == 138641); + assert(unsigned(zero_extend(0x21d94, 64)) == 138644); + assert(unsigned(zero_extend(0x21d95, 64)) == 138645); + assert(unsigned(zero_extend(0x21d96, 64)) == 138646); + assert(unsigned(zero_extend(0x21d97, 64)) == 138647); + assert(unsigned(zero_extend(0x21d98, 64)) == 138648); + assert(unsigned(zero_extend(0x21d99, 64)) == 138649); + assert(unsigned(zero_extend(0x21d9a, 64)) == 138650); + assert(unsigned(zero_extend(0x21d9b, 64)) == 138651); + assert(unsigned(zero_extend(0x21d9c, 64)) == 138652); + assert(unsigned(zero_extend(0x21d9d, 64)) == 138653); + assert(unsigned(zero_extend(0x21da0, 64)) == 138656); + assert(unsigned(zero_extend(0x21da1, 64)) == 138657); + assert(unsigned(zero_extend(0x21da2, 64)) == 138658); + assert(unsigned(zero_extend(0x21da3, 64)) == 138659); + assert(unsigned(zero_extend(0x21da4, 64)) == 138660); + assert(unsigned(zero_extend(0x21da5, 64)) == 138661); + assert(unsigned(zero_extend(0x21da6, 64)) == 138662); + assert(unsigned(zero_extend(0x21da7, 64)) == 138663); + assert(unsigned(zero_extend(0x21da8, 64)) == 138664); + assert(unsigned(zero_extend(0x21da9, 64)) == 138665); + assert(unsigned(zero_extend(0x21dac, 64)) == 138668); + assert(unsigned(zero_extend(0x21dad, 64)) == 138669); + assert(unsigned(zero_extend(0x21dae, 64)) == 138670); + assert(unsigned(zero_extend(0x21daf, 64)) == 138671); + assert(unsigned(zero_extend(0x21db0, 64)) == 138672); + assert(unsigned(zero_extend(0x21db1, 64)) == 138673); + assert(unsigned(zero_extend(0x21db2, 64)) == 138674); + assert(unsigned(zero_extend(0x21db3, 64)) == 138675); + assert(unsigned(zero_extend(0x21db4, 64)) == 138676); + assert(unsigned(zero_extend(0x21db5, 64)) == 138677); + assert(unsigned(zero_extend(0x21f68, 64)) == 139112); + assert(unsigned(zero_extend(0x21f6c, 64)) == 139116); + assert(unsigned(zero_extend(0x21f70, 64)) == 139120); + assert(unsigned(zero_extend(0x21f74, 64)) == 139124); + assert(unsigned(zero_extend(0x21f78, 64)) == 139128); + assert(unsigned(zero_extend(0x21f7c, 64)) == 139132); + assert(unsigned(zero_extend(0x21f90, 64)) == 139152); + assert(unsigned(zero_extend(0x21f98, 64)) == 139160); + assert(unsigned(zero_extend(0x21fc0, 64)) == 139200); + assert(unsigned(zero_extend(0x21fc4, 64)) == 139204); + assert(unsigned(zero_extend(0x21fc8, 64)) == 139208); + assert(unsigned(zero_extend(0x21fcc, 64)) == 139212); + assert(unsigned(zero_extend(0x21fd0, 64)) == 139216); + assert(unsigned(zero_extend(0x21fd4, 64)) == 139220); + assert(unsigned(zero_extend(0x21fe8, 64)) == 139240); + assert(unsigned(zero_extend(0x21ff0, 64)) == 139248); + assert(unsigned(zero_extend(0x21ff8, 64)) == 139256); + assert(unsigned(zero_extend(0x22, 64)) == 34); + assert(unsigned(zero_extend(0x220, 64)) == 544); + assert(unsigned(zero_extend(0x2200, 64)) == 8704); + assert(unsigned(zero_extend(0x22000, 64)) == 139264); + assert(unsigned(zero_extend(0x22050, 64)) == 139344); + assert(unsigned(zero_extend(0x22088, 64)) == 139400); + assert(unsigned(zero_extend(0x2208c, 64)) == 139404); + assert(unsigned(zero_extend(0x22090, 64)) == 139408); + assert(unsigned(zero_extend(0x22098, 64)) == 139416); + assert(unsigned(zero_extend(0x220e0, 64)) == 139488); + assert(unsigned(zero_extend(0x220e4, 64)) == 139492); + assert(unsigned(zero_extend(0x220e8, 64)) == 139496); + assert(unsigned(zero_extend(0x220f0, 64)) == 139504); + assert(unsigned(zero_extend(0x2220, 64)) == 8736); + assert(unsigned(zero_extend(0x2222222222222223, 64)) == 2459565876494606883); + assert(unsigned(zero_extend(0x22330, 64)) == 140080); + assert(unsigned(zero_extend(0x22334, 64)) == 140084); + assert(unsigned(zero_extend(0x22338, 64)) == 140088); + assert(unsigned(zero_extend(0x2233c, 64)) == 140092); + assert(unsigned(zero_extend(0x22340, 64)) == 140096); + assert(unsigned(zero_extend(0x22344, 64)) == 140100); + assert(unsigned(zero_extend(0x22348, 64)) == 140104); + assert(unsigned(zero_extend(0x2234c, 64)) == 140108); + assert(unsigned(zero_extend(0x22350, 64)) == 140112); + assert(unsigned(zero_extend(0x22354, 64)) == 140116); + assert(unsigned(zero_extend(0x22358, 64)) == 140120); + assert(unsigned(zero_extend(0x2235c, 64)) == 140124); + assert(unsigned(zero_extend(0x22360, 64)) == 140128); + assert(unsigned(zero_extend(0x22364, 64)) == 140132); + assert(unsigned(zero_extend(0x22368, 64)) == 140136); + assert(unsigned(zero_extend(0x2236c, 64)) == 140140); + assert(unsigned(zero_extend(0x22370, 64)) == 140144); + assert(unsigned(zero_extend(0x22374, 64)) == 140148); + assert(unsigned(zero_extend(0x22378, 64)) == 140152); + assert(unsigned(zero_extend(0x2237c, 64)) == 140156); + assert(unsigned(zero_extend(0x22380, 64)) == 140160); + assert(unsigned(zero_extend(0x22384, 64)) == 140164); + assert(unsigned(zero_extend(0x22388, 64)) == 140168); + assert(unsigned(zero_extend(0x2238c, 64)) == 140172); + assert(unsigned(zero_extend(0x22390, 64)) == 140176); + assert(unsigned(zero_extend(0x22394, 64)) == 140180); + assert(unsigned(zero_extend(0x22398, 64)) == 140184); + assert(unsigned(zero_extend(0x2239c, 64)) == 140188); + assert(unsigned(zero_extend(0x223a0, 64)) == 140192); + assert(unsigned(zero_extend(0x223a4, 64)) == 140196); + assert(unsigned(zero_extend(0x223a8, 64)) == 140200); + assert(unsigned(zero_extend(0x223ac, 64)) == 140204); + assert(unsigned(zero_extend(0x223b0, 64)) == 140208); + assert(unsigned(zero_extend(0x223b4, 64)) == 140212); + assert(unsigned(zero_extend(0x223b8, 64)) == 140216); + assert(unsigned(zero_extend(0x223bc, 64)) == 140220); + assert(unsigned(zero_extend(0x223c, 64)) == 8764); + assert(unsigned(zero_extend(0x223c0, 64)) == 140224); + assert(unsigned(zero_extend(0x223c4, 64)) == 140228); + assert(unsigned(zero_extend(0x223c8, 64)) == 140232); + assert(unsigned(zero_extend(0x223cc, 64)) == 140236); + assert(unsigned(zero_extend(0x223d0, 64)) == 140240); + assert(unsigned(zero_extend(0x223d4, 64)) == 140244); + assert(unsigned(zero_extend(0x223d8, 64)) == 140248); + assert(unsigned(zero_extend(0x223dc, 64)) == 140252); + assert(unsigned(zero_extend(0x223e0, 64)) == 140256); + assert(unsigned(zero_extend(0x223e4, 64)) == 140260); + assert(unsigned(zero_extend(0x223e8, 64)) == 140264); + assert(unsigned(zero_extend(0x223ec, 64)) == 140268); + assert(unsigned(zero_extend(0x223f0, 64)) == 140272); + assert(unsigned(zero_extend(0x223f4, 64)) == 140276); + assert(unsigned(zero_extend(0x223f8, 64)) == 140280); + assert(unsigned(zero_extend(0x223fc, 64)) == 140284); + assert(unsigned(zero_extend(0x22400, 64)) == 140288); + assert(unsigned(zero_extend(0x22404, 64)) == 140292); + assert(unsigned(zero_extend(0x22408, 64)) == 140296); + assert(unsigned(zero_extend(0x2240c, 64)) == 140300); + assert(unsigned(zero_extend(0x22410, 64)) == 140304); + assert(unsigned(zero_extend(0x22414, 64)) == 140308); + assert(unsigned(zero_extend(0x22418, 64)) == 140312); + assert(unsigned(zero_extend(0x22420, 64)) == 140320); + assert(unsigned(zero_extend(0x22c, 64)) == 556); + assert(unsigned(zero_extend(0x23, 64)) == 35); + assert(unsigned(zero_extend(0x23078, 64)) == 143480); + assert(unsigned(zero_extend(0x2307c, 64)) == 143484); + assert(unsigned(zero_extend(0x23080, 64)) == 143488); + assert(unsigned(zero_extend(0x23084, 64)) == 143492); + assert(unsigned(zero_extend(0x23088, 64)) == 143496); + assert(unsigned(zero_extend(0x2308c, 64)) == 143500); + assert(unsigned(zero_extend(0x23090, 64)) == 143504); + assert(unsigned(zero_extend(0x23094, 64)) == 143508); + assert(unsigned(zero_extend(0x23098, 64)) == 143512); + assert(unsigned(zero_extend(0x2309c, 64)) == 143516); + assert(unsigned(zero_extend(0x230a0, 64)) == 143520); + assert(unsigned(zero_extend(0x230a4, 64)) == 143524); + assert(unsigned(zero_extend(0x230a8, 64)) == 143528); + assert(unsigned(zero_extend(0x230ac, 64)) == 143532); + assert(unsigned(zero_extend(0x230b0, 64)) == 143536); + assert(unsigned(zero_extend(0x230b4, 64)) == 143540); + assert(unsigned(zero_extend(0x230b8, 64)) == 143544); + assert(unsigned(zero_extend(0x230bc, 64)) == 143548); + assert(unsigned(zero_extend(0x230c0, 64)) == 143552); + assert(unsigned(zero_extend(0x230c4, 64)) == 143556); + assert(unsigned(zero_extend(0x230c8, 64)) == 143560); + assert(unsigned(zero_extend(0x230cc, 64)) == 143564); + assert(unsigned(zero_extend(0x230d0, 64)) == 143568); + assert(unsigned(zero_extend(0x230d4, 64)) == 143572); + assert(unsigned(zero_extend(0x230d8, 64)) == 143576); + assert(unsigned(zero_extend(0x230dc, 64)) == 143580); + assert(unsigned(zero_extend(0x230e0, 64)) == 143584); + assert(unsigned(zero_extend(0x230e4, 64)) == 143588); + assert(unsigned(zero_extend(0x230e8, 64)) == 143592); + assert(unsigned(zero_extend(0x230ec, 64)) == 143596); + assert(unsigned(zero_extend(0x230f0, 64)) == 143600); + assert(unsigned(zero_extend(0x230f4, 64)) == 143604); + assert(unsigned(zero_extend(0x230f8, 64)) == 143608); + assert(unsigned(zero_extend(0x230fc, 64)) == 143612); + assert(unsigned(zero_extend(0x23100, 64)) == 143616); + assert(unsigned(zero_extend(0x23104, 64)) == 143620); + assert(unsigned(zero_extend(0x23108, 64)) == 143624); + assert(unsigned(zero_extend(0x2310c, 64)) == 143628); + assert(unsigned(zero_extend(0x23110, 64)) == 143632); + assert(unsigned(zero_extend(0x23114, 64)) == 143636); + assert(unsigned(zero_extend(0x23118, 64)) == 143640); + assert(unsigned(zero_extend(0x2311c, 64)) == 143644); + assert(unsigned(zero_extend(0x23120, 64)) == 143648); + assert(unsigned(zero_extend(0x23124, 64)) == 143652); + assert(unsigned(zero_extend(0x23128, 64)) == 143656); + assert(unsigned(zero_extend(0x2312c, 64)) == 143660); + assert(unsigned(zero_extend(0x23130, 64)) == 143664); + assert(unsigned(zero_extend(0x23134, 64)) == 143668); + assert(unsigned(zero_extend(0x23138, 64)) == 143672); + assert(unsigned(zero_extend(0x2313c, 64)) == 143676); + assert(unsigned(zero_extend(0x23140, 64)) == 143680); + assert(unsigned(zero_extend(0x23144, 64)) == 143684); + assert(unsigned(zero_extend(0x23148, 64)) == 143688); + assert(unsigned(zero_extend(0x2314c, 64)) == 143692); + assert(unsigned(zero_extend(0x23150, 64)) == 143696); + assert(unsigned(zero_extend(0x23154, 64)) == 143700); + assert(unsigned(zero_extend(0x23158, 64)) == 143704); + assert(unsigned(zero_extend(0x2315c, 64)) == 143708); + assert(unsigned(zero_extend(0x23160, 64)) == 143712); + assert(unsigned(zero_extend(0x23164, 64)) == 143716); + assert(unsigned(zero_extend(0x23168, 64)) == 143720); + assert(unsigned(zero_extend(0x2316c, 64)) == 143724); + assert(unsigned(zero_extend(0x23170, 64)) == 143728); + assert(unsigned(zero_extend(0x23174, 64)) == 143732); + assert(unsigned(zero_extend(0x23178, 64)) == 143736); + assert(unsigned(zero_extend(0x2317c, 64)) == 143740); + assert(unsigned(zero_extend(0x23180, 64)) == 143744); + assert(unsigned(zero_extend(0x23184, 64)) == 143748); + assert(unsigned(zero_extend(0x23188, 64)) == 143752); + assert(unsigned(zero_extend(0x23430, 64)) == 144432); + assert(unsigned(zero_extend(0x23434, 64)) == 144436); + assert(unsigned(zero_extend(0x23438, 64)) == 144440); + assert(unsigned(zero_extend(0x2343c, 64)) == 144444); + assert(unsigned(zero_extend(0x23440, 64)) == 144448); + assert(unsigned(zero_extend(0x23444, 64)) == 144452); + assert(unsigned(zero_extend(0x23448, 64)) == 144456); + assert(unsigned(zero_extend(0x2344c, 64)) == 144460); + assert(unsigned(zero_extend(0x23450, 64)) == 144464); + assert(unsigned(zero_extend(0x23454, 64)) == 144468); + assert(unsigned(zero_extend(0x23458, 64)) == 144472); + assert(unsigned(zero_extend(0x2345c, 64)) == 144476); + assert(unsigned(zero_extend(0x23460, 64)) == 144480); + assert(unsigned(zero_extend(0x23464, 64)) == 144484); + assert(unsigned(zero_extend(0x23468, 64)) == 144488); + assert(unsigned(zero_extend(0x23488, 64)) == 144520); + assert(unsigned(zero_extend(0x2348c, 64)) == 144524); + assert(unsigned(zero_extend(0x23490, 64)) == 144528); + assert(unsigned(zero_extend(0x23494, 64)) == 144532); + assert(unsigned(zero_extend(0x23498, 64)) == 144536); + assert(unsigned(zero_extend(0x2349c, 64)) == 144540); + assert(unsigned(zero_extend(0x234a0, 64)) == 144544); + assert(unsigned(zero_extend(0x234a4, 64)) == 144548); + assert(unsigned(zero_extend(0x234a8, 64)) == 144552); + assert(unsigned(zero_extend(0x234ac, 64)) == 144556); + assert(unsigned(zero_extend(0x234b0, 64)) == 144560); + assert(unsigned(zero_extend(0x234b4, 64)) == 144564); + assert(unsigned(zero_extend(0x234b8, 64)) == 144568); + assert(unsigned(zero_extend(0x234bc, 64)) == 144572); + assert(unsigned(zero_extend(0x234c0, 64)) == 144576); + assert(unsigned(zero_extend(0x234e8, 64)) == 144616); + assert(unsigned(zero_extend(0x234ec, 64)) == 144620); + assert(unsigned(zero_extend(0x234f0, 64)) == 144624); + assert(unsigned(zero_extend(0x234f4, 64)) == 144628); + assert(unsigned(zero_extend(0x234f8, 64)) == 144632); + assert(unsigned(zero_extend(0x234fc, 64)) == 144636); + assert(unsigned(zero_extend(0x23500, 64)) == 144640); + assert(unsigned(zero_extend(0x23504, 64)) == 144644); + assert(unsigned(zero_extend(0x23508, 64)) == 144648); + assert(unsigned(zero_extend(0x2350c, 64)) == 144652); + assert(unsigned(zero_extend(0x23510, 64)) == 144656); + assert(unsigned(zero_extend(0x23514, 64)) == 144660); + assert(unsigned(zero_extend(0x23518, 64)) == 144664); + assert(unsigned(zero_extend(0x2351c, 64)) == 144668); + assert(unsigned(zero_extend(0x23520, 64)) == 144672); + assert(unsigned(zero_extend(0x23524, 64)) == 144676); + assert(unsigned(zero_extend(0x23528, 64)) == 144680); + assert(unsigned(zero_extend(0x2352c, 64)) == 144684); + assert(unsigned(zero_extend(0x23530, 64)) == 144688); + assert(unsigned(zero_extend(0x23534, 64)) == 144692); + assert(unsigned(zero_extend(0x23538, 64)) == 144696); + assert(unsigned(zero_extend(0x2353c, 64)) == 144700); + assert(unsigned(zero_extend(0x23540, 64)) == 144704); + assert(unsigned(zero_extend(0x23544, 64)) == 144708); + assert(unsigned(zero_extend(0x23548, 64)) == 144712); + assert(unsigned(zero_extend(0x2354c, 64)) == 144716); + assert(unsigned(zero_extend(0x23550, 64)) == 144720); + assert(unsigned(zero_extend(0x23554, 64)) == 144724); + assert(unsigned(zero_extend(0x23558, 64)) == 144728); + assert(unsigned(zero_extend(0x2355c, 64)) == 144732); + assert(unsigned(zero_extend(0x23560, 64)) == 144736); + assert(unsigned(zero_extend(0x23564, 64)) == 144740); + assert(unsigned(zero_extend(0x23568, 64)) == 144744); + assert(unsigned(zero_extend(0x2356c, 64)) == 144748); + assert(unsigned(zero_extend(0x23570, 64)) == 144752); + assert(unsigned(zero_extend(0x23574, 64)) == 144756); + assert(unsigned(zero_extend(0x23578, 64)) == 144760); + assert(unsigned(zero_extend(0x2357c, 64)) == 144764); + assert(unsigned(zero_extend(0x23580, 64)) == 144768); + assert(unsigned(zero_extend(0x23584, 64)) == 144772); + assert(unsigned(zero_extend(0x23588, 64)) == 144776); + assert(unsigned(zero_extend(0x2358c, 64)) == 144780); + assert(unsigned(zero_extend(0x23590, 64)) == 144784); + assert(unsigned(zero_extend(0x23594, 64)) == 144788); + assert(unsigned(zero_extend(0x23598, 64)) == 144792); + assert(unsigned(zero_extend(0x2359c, 64)) == 144796); + assert(unsigned(zero_extend(0x235a0, 64)) == 144800); + assert(unsigned(zero_extend(0x235a4, 64)) == 144804); + assert(unsigned(zero_extend(0x235a8, 64)) == 144808); + assert(unsigned(zero_extend(0x235ac, 64)) == 144812); + assert(unsigned(zero_extend(0x235b0, 64)) == 144816); + assert(unsigned(zero_extend(0x235b4, 64)) == 144820); + assert(unsigned(zero_extend(0x235b8, 64)) == 144824); + assert(unsigned(zero_extend(0x235bc, 64)) == 144828); + assert(unsigned(zero_extend(0x235c0, 64)) == 144832); + assert(unsigned(zero_extend(0x235c4, 64)) == 144836); + assert(unsigned(zero_extend(0x235c8, 64)) == 144840); + assert(unsigned(zero_extend(0x235cc, 64)) == 144844); + assert(unsigned(zero_extend(0x235d0, 64)) == 144848); + assert(unsigned(zero_extend(0x235d4, 64)) == 144852); + assert(unsigned(zero_extend(0x235d8, 64)) == 144856); + assert(unsigned(zero_extend(0x235dc, 64)) == 144860); + assert(unsigned(zero_extend(0x235e0, 64)) == 144864); + assert(unsigned(zero_extend(0x235e1, 64)) == 144865); + assert(unsigned(zero_extend(0x235e2, 64)) == 144866); + assert(unsigned(zero_extend(0x235e3, 64)) == 144867); + assert(unsigned(zero_extend(0x235e4, 64)) == 144868); + assert(unsigned(zero_extend(0x235e5, 64)) == 144869); + assert(unsigned(zero_extend(0x235e6, 64)) == 144870); + assert(unsigned(zero_extend(0x235e7, 64)) == 144871); + assert(unsigned(zero_extend(0x235e8, 64)) == 144872); + assert(unsigned(zero_extend(0x235e9, 64)) == 144873); + assert(unsigned(zero_extend(0x235ea, 64)) == 144874); + assert(unsigned(zero_extend(0x235eb, 64)) == 144875); + assert(unsigned(zero_extend(0x235ec, 64)) == 144876); + assert(unsigned(zero_extend(0x235ed, 64)) == 144877); + assert(unsigned(zero_extend(0x235ee, 64)) == 144878); + assert(unsigned(zero_extend(0x235ef, 64)) == 144879); + assert(unsigned(zero_extend(0x235f0, 64)) == 144880); + assert(unsigned(zero_extend(0x235f1, 64)) == 144881); + assert(unsigned(zero_extend(0x235f2, 64)) == 144882); + assert(unsigned(zero_extend(0x235f3, 64)) == 144883); + assert(unsigned(zero_extend(0x235f4, 64)) == 144884); + assert(unsigned(zero_extend(0x235f5, 64)) == 144885); + assert(unsigned(zero_extend(0x235f6, 64)) == 144886); + assert(unsigned(zero_extend(0x235f7, 64)) == 144887); + assert(unsigned(zero_extend(0x235f8, 64)) == 144888); + assert(unsigned(zero_extend(0x235fc, 64)) == 144892); + assert(unsigned(zero_extend(0x23600, 64)) == 144896); + assert(unsigned(zero_extend(0x23604, 64)) == 144900); + assert(unsigned(zero_extend(0x23608, 64)) == 144904); + assert(unsigned(zero_extend(0x2360c, 64)) == 144908); + assert(unsigned(zero_extend(0x23610, 64)) == 144912); + assert(unsigned(zero_extend(0x23614, 64)) == 144916); + assert(unsigned(zero_extend(0x23618, 64)) == 144920); + assert(unsigned(zero_extend(0x2361c, 64)) == 144924); + assert(unsigned(zero_extend(0x23620, 64)) == 144928); + assert(unsigned(zero_extend(0x23624, 64)) == 144932); + assert(unsigned(zero_extend(0x23628, 64)) == 144936); + assert(unsigned(zero_extend(0x2362c, 64)) == 144940); + assert(unsigned(zero_extend(0x23630, 64)) == 144944); + assert(unsigned(zero_extend(0x23638, 64)) == 144952); + assert(unsigned(zero_extend(0x23639, 64)) == 144953); + assert(unsigned(zero_extend(0x2363a, 64)) == 144954); + assert(unsigned(zero_extend(0x2363b, 64)) == 144955); + assert(unsigned(zero_extend(0x2363c, 64)) == 144956); + assert(unsigned(zero_extend(0x2363d, 64)) == 144957); + assert(unsigned(zero_extend(0x2363e, 64)) == 144958); + assert(unsigned(zero_extend(0x2363f, 64)) == 144959); + assert(unsigned(zero_extend(0x23640, 64)) == 144960); + assert(unsigned(zero_extend(0x23641, 64)) == 144961); + assert(unsigned(zero_extend(0x23642, 64)) == 144962); + assert(unsigned(zero_extend(0x23643, 64)) == 144963); + assert(unsigned(zero_extend(0x23644, 64)) == 144964); + assert(unsigned(zero_extend(0x23645, 64)) == 144965); + assert(unsigned(zero_extend(0x23646, 64)) == 144966); + assert(unsigned(zero_extend(0x23647, 64)) == 144967); + assert(unsigned(zero_extend(0x23648, 64)) == 144968); + assert(unsigned(zero_extend(0x23649, 64)) == 144969); + assert(unsigned(zero_extend(0x2364a, 64)) == 144970); + assert(unsigned(zero_extend(0x2364b, 64)) == 144971); + assert(unsigned(zero_extend(0x2364c, 64)) == 144972); + assert(unsigned(zero_extend(0x2364d, 64)) == 144973); + assert(unsigned(zero_extend(0x2364e, 64)) == 144974); + assert(unsigned(zero_extend(0x2364f, 64)) == 144975); + assert(unsigned(zero_extend(0x23650, 64)) == 144976); + assert(unsigned(zero_extend(0x23658, 64)) == 144984); + assert(unsigned(zero_extend(0x24, 64)) == 36); + assert(unsigned(zero_extend(0x24c, 64)) == 588); + assert(unsigned(zero_extend(0x25, 64)) == 37); + assert(unsigned(zero_extend(0x26, 64)) == 38); + assert(unsigned(zero_extend(0x27, 64)) == 39); + assert(unsigned(zero_extend(0x270, 64)) == 624); + assert(unsigned(zero_extend(0x28, 64)) == 40); + assert(unsigned(zero_extend(0x288, 64)) == 648); + assert(unsigned(zero_extend(0x29, 64)) == 41); + assert(unsigned(zero_extend(0x2a, 64)) == 42); + assert(unsigned(zero_extend(0x2b, 64)) == 43); + assert(unsigned(zero_extend(0x2c, 64)) == 44); + assert(unsigned(zero_extend(0x2c000, 64)) == 180224); + assert(unsigned(zero_extend(0x2d, 64)) == 45); + assert(unsigned(zero_extend(0x2e, 64)) == 46); + assert(unsigned(zero_extend(0x2e00000, 64)) == 48234496); + assert(unsigned(zero_extend(0x2e00008, 64)) == 48234504); + assert(unsigned(zero_extend(0x2e00010, 64)) == 48234512); + assert(unsigned(zero_extend(0x2e00018, 64)) == 48234520); + assert(unsigned(zero_extend(0x2e00020, 64)) == 48234528); + assert(unsigned(zero_extend(0x2e00028, 64)) == 48234536); + assert(unsigned(zero_extend(0x2e00030, 64)) == 48234544); + assert(unsigned(zero_extend(0x2e00038, 64)) == 48234552); + assert(unsigned(zero_extend(0x2e00040, 64)) == 48234560); + assert(unsigned(zero_extend(0x2e00048, 64)) == 48234568); + assert(unsigned(zero_extend(0x2e00050, 64)) == 48234576); + assert(unsigned(zero_extend(0x2e00058, 64)) == 48234584); + assert(unsigned(zero_extend(0x2e00060, 64)) == 48234592); + assert(unsigned(zero_extend(0x2e00068, 64)) == 48234600); + assert(unsigned(zero_extend(0x2e00070, 64)) == 48234608); + assert(unsigned(zero_extend(0x2e00078, 64)) == 48234616); + assert(unsigned(zero_extend(0x2e00080, 64)) == 48234624); + assert(unsigned(zero_extend(0x2e00088, 64)) == 48234632); + assert(unsigned(zero_extend(0x2e00090, 64)) == 48234640); + assert(unsigned(zero_extend(0x2e00098, 64)) == 48234648); + assert(unsigned(zero_extend(0x2e000a0, 64)) == 48234656); + assert(unsigned(zero_extend(0x2e000a8, 64)) == 48234664); + assert(unsigned(zero_extend(0x2e000b0, 64)) == 48234672); + assert(unsigned(zero_extend(0x2e000b8, 64)) == 48234680); + assert(unsigned(zero_extend(0x2e000c0, 64)) == 48234688); + assert(unsigned(zero_extend(0x2e000c8, 64)) == 48234696); + assert(unsigned(zero_extend(0x2e000d0, 64)) == 48234704); + assert(unsigned(zero_extend(0x2e000d8, 64)) == 48234712); + assert(unsigned(zero_extend(0x2e000e0, 64)) == 48234720); + assert(unsigned(zero_extend(0x2e000e8, 64)) == 48234728); + assert(unsigned(zero_extend(0x2e000f0, 64)) == 48234736); + assert(unsigned(zero_extend(0x2e000f8, 64)) == 48234744); + assert(unsigned(zero_extend(0x2e00100, 64)) == 48234752); + assert(unsigned(zero_extend(0x2e00108, 64)) == 48234760); + assert(unsigned(zero_extend(0x2e00110, 64)) == 48234768); + assert(unsigned(zero_extend(0x2e00118, 64)) == 48234776); + assert(unsigned(zero_extend(0x2e00120, 64)) == 48234784); + assert(unsigned(zero_extend(0x2e00128, 64)) == 48234792); + assert(unsigned(zero_extend(0x2e00130, 64)) == 48234800); + assert(unsigned(zero_extend(0x2e00138, 64)) == 48234808); + assert(unsigned(zero_extend(0x2e00140, 64)) == 48234816); + assert(unsigned(zero_extend(0x2e00148, 64)) == 48234824); + assert(unsigned(zero_extend(0x2e00150, 64)) == 48234832); + assert(unsigned(zero_extend(0x2e00158, 64)) == 48234840); + assert(unsigned(zero_extend(0x2e00160, 64)) == 48234848); + assert(unsigned(zero_extend(0x2e00168, 64)) == 48234856); + assert(unsigned(zero_extend(0x2e00170, 64)) == 48234864); + assert(unsigned(zero_extend(0x2e00178, 64)) == 48234872); + assert(unsigned(zero_extend(0x2e00180, 64)) == 48234880); + assert(unsigned(zero_extend(0x2e00188, 64)) == 48234888); + assert(unsigned(zero_extend(0x2e00190, 64)) == 48234896); + assert(unsigned(zero_extend(0x2e00198, 64)) == 48234904); + assert(unsigned(zero_extend(0x2e001a0, 64)) == 48234912); + assert(unsigned(zero_extend(0x2e001a8, 64)) == 48234920); + assert(unsigned(zero_extend(0x2e001b0, 64)) == 48234928); + assert(unsigned(zero_extend(0x2e001b8, 64)) == 48234936); + assert(unsigned(zero_extend(0x2e001c0, 64)) == 48234944); + assert(unsigned(zero_extend(0x2e001c8, 64)) == 48234952); + assert(unsigned(zero_extend(0x2e001d0, 64)) == 48234960); + assert(unsigned(zero_extend(0x2e001d8, 64)) == 48234968); + assert(unsigned(zero_extend(0x2e001e0, 64)) == 48234976); + assert(unsigned(zero_extend(0x2e001e8, 64)) == 48234984); + assert(unsigned(zero_extend(0x2e001f0, 64)) == 48234992); + assert(unsigned(zero_extend(0x2e001f8, 64)) == 48235000); + assert(unsigned(zero_extend(0x2e00200, 64)) == 48235008); + assert(unsigned(zero_extend(0x2e00208, 64)) == 48235016); + assert(unsigned(zero_extend(0x2e00210, 64)) == 48235024); + assert(unsigned(zero_extend(0x2e00218, 64)) == 48235032); + assert(unsigned(zero_extend(0x2e00220, 64)) == 48235040); + assert(unsigned(zero_extend(0x2e00228, 64)) == 48235048); + assert(unsigned(zero_extend(0x2e00230, 64)) == 48235056); + assert(unsigned(zero_extend(0x2e00238, 64)) == 48235064); + assert(unsigned(zero_extend(0x2e00240, 64)) == 48235072); + assert(unsigned(zero_extend(0x2e00248, 64)) == 48235080); + assert(unsigned(zero_extend(0x2e00250, 64)) == 48235088); + assert(unsigned(zero_extend(0x2e00258, 64)) == 48235096); + assert(unsigned(zero_extend(0x2e00260, 64)) == 48235104); + assert(unsigned(zero_extend(0x2e00268, 64)) == 48235112); + assert(unsigned(zero_extend(0x2e00270, 64)) == 48235120); + assert(unsigned(zero_extend(0x2e00278, 64)) == 48235128); + assert(unsigned(zero_extend(0x2e00280, 64)) == 48235136); + assert(unsigned(zero_extend(0x2e00288, 64)) == 48235144); + assert(unsigned(zero_extend(0x2e00290, 64)) == 48235152); + assert(unsigned(zero_extend(0x2e00298, 64)) == 48235160); + assert(unsigned(zero_extend(0x2e002a0, 64)) == 48235168); + assert(unsigned(zero_extend(0x2e002a8, 64)) == 48235176); + assert(unsigned(zero_extend(0x2e002b0, 64)) == 48235184); + assert(unsigned(zero_extend(0x2e002b8, 64)) == 48235192); + assert(unsigned(zero_extend(0x2e002c0, 64)) == 48235200); + assert(unsigned(zero_extend(0x2e002c8, 64)) == 48235208); + assert(unsigned(zero_extend(0x2e002d0, 64)) == 48235216); + assert(unsigned(zero_extend(0x2e002d8, 64)) == 48235224); + assert(unsigned(zero_extend(0x2e002e0, 64)) == 48235232); + assert(unsigned(zero_extend(0x2e002e8, 64)) == 48235240); + assert(unsigned(zero_extend(0x2e002f0, 64)) == 48235248); + assert(unsigned(zero_extend(0x2e002f8, 64)) == 48235256); + assert(unsigned(zero_extend(0x2e00300, 64)) == 48235264); + assert(unsigned(zero_extend(0x2e00308, 64)) == 48235272); + assert(unsigned(zero_extend(0x2e00310, 64)) == 48235280); + assert(unsigned(zero_extend(0x2e00318, 64)) == 48235288); + assert(unsigned(zero_extend(0x2e00320, 64)) == 48235296); + assert(unsigned(zero_extend(0x2e00328, 64)) == 48235304); + assert(unsigned(zero_extend(0x2e00330, 64)) == 48235312); + assert(unsigned(zero_extend(0x2e00338, 64)) == 48235320); + assert(unsigned(zero_extend(0x2e00340, 64)) == 48235328); + assert(unsigned(zero_extend(0x2e00348, 64)) == 48235336); + assert(unsigned(zero_extend(0x2e00350, 64)) == 48235344); + assert(unsigned(zero_extend(0x2e00358, 64)) == 48235352); + assert(unsigned(zero_extend(0x2e00360, 64)) == 48235360); + assert(unsigned(zero_extend(0x2e00368, 64)) == 48235368); + assert(unsigned(zero_extend(0x2e00370, 64)) == 48235376); + assert(unsigned(zero_extend(0x2e00378, 64)) == 48235384); + assert(unsigned(zero_extend(0x2e00380, 64)) == 48235392); + assert(unsigned(zero_extend(0x2e00388, 64)) == 48235400); + assert(unsigned(zero_extend(0x2e00390, 64)) == 48235408); + assert(unsigned(zero_extend(0x2e00398, 64)) == 48235416); + assert(unsigned(zero_extend(0x2e003a0, 64)) == 48235424); + assert(unsigned(zero_extend(0x2e003a8, 64)) == 48235432); + assert(unsigned(zero_extend(0x2e003b0, 64)) == 48235440); + assert(unsigned(zero_extend(0x2e003b8, 64)) == 48235448); + assert(unsigned(zero_extend(0x2e003c0, 64)) == 48235456); + assert(unsigned(zero_extend(0x2e003c8, 64)) == 48235464); + assert(unsigned(zero_extend(0x2e003d0, 64)) == 48235472); + assert(unsigned(zero_extend(0x2e003d8, 64)) == 48235480); + assert(unsigned(zero_extend(0x2e003e0, 64)) == 48235488); + assert(unsigned(zero_extend(0x2e003e8, 64)) == 48235496); + assert(unsigned(zero_extend(0x2e003f0, 64)) == 48235504); + assert(unsigned(zero_extend(0x2e003f8, 64)) == 48235512); + assert(unsigned(zero_extend(0x2e00400, 64)) == 48235520); + assert(unsigned(zero_extend(0x2e00408, 64)) == 48235528); + assert(unsigned(zero_extend(0x2e00410, 64)) == 48235536); + assert(unsigned(zero_extend(0x2e00418, 64)) == 48235544); + assert(unsigned(zero_extend(0x2e00420, 64)) == 48235552); + assert(unsigned(zero_extend(0x2e00428, 64)) == 48235560); + assert(unsigned(zero_extend(0x2e00430, 64)) == 48235568); + assert(unsigned(zero_extend(0x2e00438, 64)) == 48235576); + assert(unsigned(zero_extend(0x2e00440, 64)) == 48235584); + assert(unsigned(zero_extend(0x2e00448, 64)) == 48235592); + assert(unsigned(zero_extend(0x2e00450, 64)) == 48235600); + assert(unsigned(zero_extend(0x2e00458, 64)) == 48235608); + assert(unsigned(zero_extend(0x2e00460, 64)) == 48235616); + assert(unsigned(zero_extend(0x2e00468, 64)) == 48235624); + assert(unsigned(zero_extend(0x2e00470, 64)) == 48235632); + assert(unsigned(zero_extend(0x2e00478, 64)) == 48235640); + assert(unsigned(zero_extend(0x2e00480, 64)) == 48235648); + assert(unsigned(zero_extend(0x2e00488, 64)) == 48235656); + assert(unsigned(zero_extend(0x2e00490, 64)) == 48235664); + assert(unsigned(zero_extend(0x2e00498, 64)) == 48235672); + assert(unsigned(zero_extend(0x2e004a0, 64)) == 48235680); + assert(unsigned(zero_extend(0x2e004a8, 64)) == 48235688); + assert(unsigned(zero_extend(0x2e004b0, 64)) == 48235696); + assert(unsigned(zero_extend(0x2e004b8, 64)) == 48235704); + assert(unsigned(zero_extend(0x2e004c0, 64)) == 48235712); + assert(unsigned(zero_extend(0x2e004c8, 64)) == 48235720); + assert(unsigned(zero_extend(0x2e004d0, 64)) == 48235728); + assert(unsigned(zero_extend(0x2e004d8, 64)) == 48235736); + assert(unsigned(zero_extend(0x2e004e0, 64)) == 48235744); + assert(unsigned(zero_extend(0x2e004e8, 64)) == 48235752); + assert(unsigned(zero_extend(0x2e004f0, 64)) == 48235760); + assert(unsigned(zero_extend(0x2e004f8, 64)) == 48235768); + assert(unsigned(zero_extend(0x2e00500, 64)) == 48235776); + assert(unsigned(zero_extend(0x2e00508, 64)) == 48235784); + assert(unsigned(zero_extend(0x2e00510, 64)) == 48235792); + assert(unsigned(zero_extend(0x2e00518, 64)) == 48235800); + assert(unsigned(zero_extend(0x2e00520, 64)) == 48235808); + assert(unsigned(zero_extend(0x2e00528, 64)) == 48235816); + assert(unsigned(zero_extend(0x2e01000, 64)) == 48238592); + assert(unsigned(zero_extend(0x2e01008, 64)) == 48238600); + assert(unsigned(zero_extend(0x2e01010, 64)) == 48238608); + assert(unsigned(zero_extend(0x2e01018, 64)) == 48238616); + assert(unsigned(zero_extend(0x2e01020, 64)) == 48238624); + assert(unsigned(zero_extend(0x2e01028, 64)) == 48238632); + assert(unsigned(zero_extend(0x2e01030, 64)) == 48238640); + assert(unsigned(zero_extend(0x2e01038, 64)) == 48238648); + assert(unsigned(zero_extend(0x2e01040, 64)) == 48238656); + assert(unsigned(zero_extend(0x2e01048, 64)) == 48238664); + assert(unsigned(zero_extend(0x2e01050, 64)) == 48238672); + assert(unsigned(zero_extend(0x2e01058, 64)) == 48238680); + assert(unsigned(zero_extend(0x2e01060, 64)) == 48238688); + assert(unsigned(zero_extend(0x2e01068, 64)) == 48238696); + assert(unsigned(zero_extend(0x2e01070, 64)) == 48238704); + assert(unsigned(zero_extend(0x2e01078, 64)) == 48238712); + assert(unsigned(zero_extend(0x2e01080, 64)) == 48238720); + assert(unsigned(zero_extend(0x2e01088, 64)) == 48238728); + assert(unsigned(zero_extend(0x2e01090, 64)) == 48238736); + assert(unsigned(zero_extend(0x2e01098, 64)) == 48238744); + assert(unsigned(zero_extend(0x2e010a0, 64)) == 48238752); + assert(unsigned(zero_extend(0x2e010a8, 64)) == 48238760); + assert(unsigned(zero_extend(0x2e010b0, 64)) == 48238768); + assert(unsigned(zero_extend(0x2e010b8, 64)) == 48238776); + assert(unsigned(zero_extend(0x2e010c0, 64)) == 48238784); + assert(unsigned(zero_extend(0x2e010c8, 64)) == 48238792); + assert(unsigned(zero_extend(0x2e010d0, 64)) == 48238800); + assert(unsigned(zero_extend(0x2e010d8, 64)) == 48238808); + assert(unsigned(zero_extend(0x2e010e0, 64)) == 48238816); + assert(unsigned(zero_extend(0x2e010e8, 64)) == 48238824); + assert(unsigned(zero_extend(0x2e010f0, 64)) == 48238832); + assert(unsigned(zero_extend(0x2e010f8, 64)) == 48238840); + assert(unsigned(zero_extend(0x2e01100, 64)) == 48238848); + assert(unsigned(zero_extend(0x2e01108, 64)) == 48238856); + assert(unsigned(zero_extend(0x2e01110, 64)) == 48238864); + assert(unsigned(zero_extend(0x2e01118, 64)) == 48238872); + assert(unsigned(zero_extend(0x2e01120, 64)) == 48238880); + assert(unsigned(zero_extend(0x2e01128, 64)) == 48238888); + assert(unsigned(zero_extend(0x2e01130, 64)) == 48238896); + assert(unsigned(zero_extend(0x2e01138, 64)) == 48238904); + assert(unsigned(zero_extend(0x2e01140, 64)) == 48238912); + assert(unsigned(zero_extend(0x2e01148, 64)) == 48238920); + assert(unsigned(zero_extend(0x2e01150, 64)) == 48238928); + assert(unsigned(zero_extend(0x2e01158, 64)) == 48238936); + assert(unsigned(zero_extend(0x2e01160, 64)) == 48238944); + assert(unsigned(zero_extend(0x2e01168, 64)) == 48238952); + assert(unsigned(zero_extend(0x2e01170, 64)) == 48238960); + assert(unsigned(zero_extend(0x2e01178, 64)) == 48238968); + assert(unsigned(zero_extend(0x2e01180, 64)) == 48238976); + assert(unsigned(zero_extend(0x2e01188, 64)) == 48238984); + assert(unsigned(zero_extend(0x2e01190, 64)) == 48238992); + assert(unsigned(zero_extend(0x2e01198, 64)) == 48239000); + assert(unsigned(zero_extend(0x2e011a0, 64)) == 48239008); + assert(unsigned(zero_extend(0x2e011a8, 64)) == 48239016); + assert(unsigned(zero_extend(0x2e011b0, 64)) == 48239024); + assert(unsigned(zero_extend(0x2e011b8, 64)) == 48239032); + assert(unsigned(zero_extend(0x2e011c0, 64)) == 48239040); + assert(unsigned(zero_extend(0x2e011c8, 64)) == 48239048); + assert(unsigned(zero_extend(0x2e011d0, 64)) == 48239056); + assert(unsigned(zero_extend(0x2e011d8, 64)) == 48239064); + assert(unsigned(zero_extend(0x2e011e0, 64)) == 48239072); + assert(unsigned(zero_extend(0x2e011e8, 64)) == 48239080); + assert(unsigned(zero_extend(0x2e011f0, 64)) == 48239088); + assert(unsigned(zero_extend(0x2e011f8, 64)) == 48239096); + assert(unsigned(zero_extend(0x2e01200, 64)) == 48239104); + assert(unsigned(zero_extend(0x2e01208, 64)) == 48239112); + assert(unsigned(zero_extend(0x2e01210, 64)) == 48239120); + assert(unsigned(zero_extend(0x2e01218, 64)) == 48239128); + assert(unsigned(zero_extend(0x2e01220, 64)) == 48239136); + assert(unsigned(zero_extend(0x2e01228, 64)) == 48239144); + assert(unsigned(zero_extend(0x2e01230, 64)) == 48239152); + assert(unsigned(zero_extend(0x2e01238, 64)) == 48239160); + assert(unsigned(zero_extend(0x2e01240, 64)) == 48239168); + assert(unsigned(zero_extend(0x2e01248, 64)) == 48239176); + assert(unsigned(zero_extend(0x2e01250, 64)) == 48239184); + assert(unsigned(zero_extend(0x2e01258, 64)) == 48239192); + assert(unsigned(zero_extend(0x2e01260, 64)) == 48239200); + assert(unsigned(zero_extend(0x2e01268, 64)) == 48239208); + assert(unsigned(zero_extend(0x2e01270, 64)) == 48239216); + assert(unsigned(zero_extend(0x2e01278, 64)) == 48239224); + assert(unsigned(zero_extend(0x2e01280, 64)) == 48239232); + assert(unsigned(zero_extend(0x2e01288, 64)) == 48239240); + assert(unsigned(zero_extend(0x2e01290, 64)) == 48239248); + assert(unsigned(zero_extend(0x2e01298, 64)) == 48239256); + assert(unsigned(zero_extend(0x2e012a0, 64)) == 48239264); + assert(unsigned(zero_extend(0x2e012a8, 64)) == 48239272); + assert(unsigned(zero_extend(0x2e012b0, 64)) == 48239280); + assert(unsigned(zero_extend(0x2e012b8, 64)) == 48239288); + assert(unsigned(zero_extend(0x2e012c0, 64)) == 48239296); + assert(unsigned(zero_extend(0x2e012c8, 64)) == 48239304); + assert(unsigned(zero_extend(0x2e012d0, 64)) == 48239312); + assert(unsigned(zero_extend(0x2e012d8, 64)) == 48239320); + assert(unsigned(zero_extend(0x2e012e0, 64)) == 48239328); + assert(unsigned(zero_extend(0x2e012e8, 64)) == 48239336); + assert(unsigned(zero_extend(0x2e012f0, 64)) == 48239344); + assert(unsigned(zero_extend(0x2e012f8, 64)) == 48239352); + assert(unsigned(zero_extend(0x2e01300, 64)) == 48239360); + assert(unsigned(zero_extend(0x2e01308, 64)) == 48239368); + assert(unsigned(zero_extend(0x2e01310, 64)) == 48239376); + assert(unsigned(zero_extend(0x2e01318, 64)) == 48239384); + assert(unsigned(zero_extend(0x2e01320, 64)) == 48239392); + assert(unsigned(zero_extend(0x2e01328, 64)) == 48239400); + assert(unsigned(zero_extend(0x2e01330, 64)) == 48239408); + assert(unsigned(zero_extend(0x2e01338, 64)) == 48239416); + assert(unsigned(zero_extend(0x2e01340, 64)) == 48239424); + assert(unsigned(zero_extend(0x2e01348, 64)) == 48239432); + assert(unsigned(zero_extend(0x2e01350, 64)) == 48239440); + assert(unsigned(zero_extend(0x2e01358, 64)) == 48239448); + assert(unsigned(zero_extend(0x2e01360, 64)) == 48239456); + assert(unsigned(zero_extend(0x2e01368, 64)) == 48239464); + assert(unsigned(zero_extend(0x2e01370, 64)) == 48239472); + assert(unsigned(zero_extend(0x2e01378, 64)) == 48239480); + assert(unsigned(zero_extend(0x2e01380, 64)) == 48239488); + assert(unsigned(zero_extend(0x2e01388, 64)) == 48239496); + assert(unsigned(zero_extend(0x2e01390, 64)) == 48239504); + assert(unsigned(zero_extend(0x2e01398, 64)) == 48239512); + assert(unsigned(zero_extend(0x2e013a0, 64)) == 48239520); + assert(unsigned(zero_extend(0x2e013a8, 64)) == 48239528); + assert(unsigned(zero_extend(0x2e013b0, 64)) == 48239536); + assert(unsigned(zero_extend(0x2e013b8, 64)) == 48239544); + assert(unsigned(zero_extend(0x2e013c0, 64)) == 48239552); + assert(unsigned(zero_extend(0x2e013c8, 64)) == 48239560); + assert(unsigned(zero_extend(0x2e013d0, 64)) == 48239568); + assert(unsigned(zero_extend(0x2e013d8, 64)) == 48239576); + assert(unsigned(zero_extend(0x2e013e0, 64)) == 48239584); + assert(unsigned(zero_extend(0x2e013e8, 64)) == 48239592); + assert(unsigned(zero_extend(0x2e013f0, 64)) == 48239600); + assert(unsigned(zero_extend(0x2e013f8, 64)) == 48239608); + assert(unsigned(zero_extend(0x2e01400, 64)) == 48239616); + assert(unsigned(zero_extend(0x2e01408, 64)) == 48239624); + assert(unsigned(zero_extend(0x2e01410, 64)) == 48239632); + assert(unsigned(zero_extend(0x2e01418, 64)) == 48239640); + assert(unsigned(zero_extend(0x2e01420, 64)) == 48239648); + assert(unsigned(zero_extend(0x2e01428, 64)) == 48239656); + assert(unsigned(zero_extend(0x2e01430, 64)) == 48239664); + assert(unsigned(zero_extend(0x2e01438, 64)) == 48239672); + assert(unsigned(zero_extend(0x2e01440, 64)) == 48239680); + assert(unsigned(zero_extend(0x2e01448, 64)) == 48239688); + assert(unsigned(zero_extend(0x2e01450, 64)) == 48239696); + assert(unsigned(zero_extend(0x2e01458, 64)) == 48239704); + assert(unsigned(zero_extend(0x2e01460, 64)) == 48239712); + assert(unsigned(zero_extend(0x2e01468, 64)) == 48239720); + assert(unsigned(zero_extend(0x2e01470, 64)) == 48239728); + assert(unsigned(zero_extend(0x2e01478, 64)) == 48239736); + assert(unsigned(zero_extend(0x2e01480, 64)) == 48239744); + assert(unsigned(zero_extend(0x2e01488, 64)) == 48239752); + assert(unsigned(zero_extend(0x2e01490, 64)) == 48239760); + assert(unsigned(zero_extend(0x2e01498, 64)) == 48239768); + assert(unsigned(zero_extend(0x2e014a0, 64)) == 48239776); + assert(unsigned(zero_extend(0x2e014a8, 64)) == 48239784); + assert(unsigned(zero_extend(0x2e014b0, 64)) == 48239792); + assert(unsigned(zero_extend(0x2e014b8, 64)) == 48239800); + assert(unsigned(zero_extend(0x2e014c0, 64)) == 48239808); + assert(unsigned(zero_extend(0x2e014c8, 64)) == 48239816); + assert(unsigned(zero_extend(0x2e014d0, 64)) == 48239824); + assert(unsigned(zero_extend(0x2e014d8, 64)) == 48239832); + assert(unsigned(zero_extend(0x2e014e0, 64)) == 48239840); + assert(unsigned(zero_extend(0x2e014e8, 64)) == 48239848); + assert(unsigned(zero_extend(0x2e014f0, 64)) == 48239856); + assert(unsigned(zero_extend(0x2e014f8, 64)) == 48239864); + assert(unsigned(zero_extend(0x2e01500, 64)) == 48239872); + assert(unsigned(zero_extend(0x2e01508, 64)) == 48239880); + assert(unsigned(zero_extend(0x2e01510, 64)) == 48239888); + assert(unsigned(zero_extend(0x2e01518, 64)) == 48239896); + assert(unsigned(zero_extend(0x2e01520, 64)) == 48239904); + assert(unsigned(zero_extend(0x2e01528, 64)) == 48239912); + assert(unsigned(zero_extend(0x2e01530, 64)) == 48239920); + assert(unsigned(zero_extend(0x2e01538, 64)) == 48239928); + assert(unsigned(zero_extend(0x2e01540, 64)) == 48239936); + assert(unsigned(zero_extend(0x2e01548, 64)) == 48239944); + assert(unsigned(zero_extend(0x2e01550, 64)) == 48239952); + assert(unsigned(zero_extend(0x2e01558, 64)) == 48239960); + assert(unsigned(zero_extend(0x2e01560, 64)) == 48239968); + assert(unsigned(zero_extend(0x2e01568, 64)) == 48239976); + assert(unsigned(zero_extend(0x2e01570, 64)) == 48239984); + assert(unsigned(zero_extend(0x2e01578, 64)) == 48239992); + assert(unsigned(zero_extend(0x2e01580, 64)) == 48240000); + assert(unsigned(zero_extend(0x2e01588, 64)) == 48240008); + assert(unsigned(zero_extend(0x2e01590, 64)) == 48240016); + assert(unsigned(zero_extend(0x2e01598, 64)) == 48240024); + assert(unsigned(zero_extend(0x2e015a0, 64)) == 48240032); + assert(unsigned(zero_extend(0x2e015a8, 64)) == 48240040); + assert(unsigned(zero_extend(0x2e015b0, 64)) == 48240048); + assert(unsigned(zero_extend(0x2e015b8, 64)) == 48240056); + assert(unsigned(zero_extend(0x2e015c0, 64)) == 48240064); + assert(unsigned(zero_extend(0x2e015c8, 64)) == 48240072); + assert(unsigned(zero_extend(0x2e015d0, 64)) == 48240080); + assert(unsigned(zero_extend(0x2e015d8, 64)) == 48240088); + assert(unsigned(zero_extend(0x2e015e0, 64)) == 48240096); + assert(unsigned(zero_extend(0x2e015e8, 64)) == 48240104); +} diff --git a/test/builtins/unsigned6.sail b/test/builtins/unsigned6.sail new file mode 100644 index 00000000..556b0db6 --- /dev/null +++ b/test/builtins/unsigned6.sail @@ -0,0 +1,2575 @@ +default Order dec + +$include <exception_basic.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(unsigned(zero_extend(0x2e015f0, 64)) == 48240112); + assert(unsigned(zero_extend(0x2e015f8, 64)) == 48240120); + assert(unsigned(zero_extend(0x2e01600, 64)) == 48240128); + assert(unsigned(zero_extend(0x2e01608, 64)) == 48240136); + assert(unsigned(zero_extend(0x2e01610, 64)) == 48240144); + assert(unsigned(zero_extend(0x2e01618, 64)) == 48240152); + assert(unsigned(zero_extend(0x2e01620, 64)) == 48240160); + assert(unsigned(zero_extend(0x2e01628, 64)) == 48240168); + assert(unsigned(zero_extend(0x2e01630, 64)) == 48240176); + assert(unsigned(zero_extend(0x2e01638, 64)) == 48240184); + assert(unsigned(zero_extend(0x2e01640, 64)) == 48240192); + assert(unsigned(zero_extend(0x2e01648, 64)) == 48240200); + assert(unsigned(zero_extend(0x2e01650, 64)) == 48240208); + assert(unsigned(zero_extend(0x2e01658, 64)) == 48240216); + assert(unsigned(zero_extend(0x2e01660, 64)) == 48240224); + assert(unsigned(zero_extend(0x2e01668, 64)) == 48240232); + assert(unsigned(zero_extend(0x2e01670, 64)) == 48240240); + assert(unsigned(zero_extend(0x2e01678, 64)) == 48240248); + assert(unsigned(zero_extend(0x2e01680, 64)) == 48240256); + assert(unsigned(zero_extend(0x2e01688, 64)) == 48240264); + assert(unsigned(zero_extend(0x2e01690, 64)) == 48240272); + assert(unsigned(zero_extend(0x2e01698, 64)) == 48240280); + assert(unsigned(zero_extend(0x2e016a0, 64)) == 48240288); + assert(unsigned(zero_extend(0x2e016a8, 64)) == 48240296); + assert(unsigned(zero_extend(0x2e016b0, 64)) == 48240304); + assert(unsigned(zero_extend(0x2e016b8, 64)) == 48240312); + assert(unsigned(zero_extend(0x2e016c0, 64)) == 48240320); + assert(unsigned(zero_extend(0x2e016c8, 64)) == 48240328); + assert(unsigned(zero_extend(0x2e016d0, 64)) == 48240336); + assert(unsigned(zero_extend(0x2e016d8, 64)) == 48240344); + assert(unsigned(zero_extend(0x2e016e0, 64)) == 48240352); + assert(unsigned(zero_extend(0x2e016e8, 64)) == 48240360); + assert(unsigned(zero_extend(0x2e016f0, 64)) == 48240368); + assert(unsigned(zero_extend(0x2e016f8, 64)) == 48240376); + assert(unsigned(zero_extend(0x2e01700, 64)) == 48240384); + assert(unsigned(zero_extend(0x2e01708, 64)) == 48240392); + assert(unsigned(zero_extend(0x2e01710, 64)) == 48240400); + assert(unsigned(zero_extend(0x2e01718, 64)) == 48240408); + assert(unsigned(zero_extend(0x2e01720, 64)) == 48240416); + assert(unsigned(zero_extend(0x2e01728, 64)) == 48240424); + assert(unsigned(zero_extend(0x2e01730, 64)) == 48240432); + assert(unsigned(zero_extend(0x2e01738, 64)) == 48240440); + assert(unsigned(zero_extend(0x2e01740, 64)) == 48240448); + assert(unsigned(zero_extend(0x2e01748, 64)) == 48240456); + assert(unsigned(zero_extend(0x2e01750, 64)) == 48240464); + assert(unsigned(zero_extend(0x2e01758, 64)) == 48240472); + assert(unsigned(zero_extend(0x2e01760, 64)) == 48240480); + assert(unsigned(zero_extend(0x2e01768, 64)) == 48240488); + assert(unsigned(zero_extend(0x2e01770, 64)) == 48240496); + assert(unsigned(zero_extend(0x2e01778, 64)) == 48240504); + assert(unsigned(zero_extend(0x2e01780, 64)) == 48240512); + assert(unsigned(zero_extend(0x2e01788, 64)) == 48240520); + assert(unsigned(zero_extend(0x2e01790, 64)) == 48240528); + assert(unsigned(zero_extend(0x2e01798, 64)) == 48240536); + assert(unsigned(zero_extend(0x2e017a0, 64)) == 48240544); + assert(unsigned(zero_extend(0x2e017a8, 64)) == 48240552); + assert(unsigned(zero_extend(0x2e017b0, 64)) == 48240560); + assert(unsigned(zero_extend(0x2e017b8, 64)) == 48240568); + assert(unsigned(zero_extend(0x2e017c0, 64)) == 48240576); + assert(unsigned(zero_extend(0x2e017c8, 64)) == 48240584); + assert(unsigned(zero_extend(0x2e017d0, 64)) == 48240592); + assert(unsigned(zero_extend(0x2e017d8, 64)) == 48240600); + assert(unsigned(zero_extend(0x2e017e0, 64)) == 48240608); + assert(unsigned(zero_extend(0x2e017e8, 64)) == 48240616); + assert(unsigned(zero_extend(0x2e017f0, 64)) == 48240624); + assert(unsigned(zero_extend(0x2e017f8, 64)) == 48240632); + assert(unsigned(zero_extend(0x2e01800, 64)) == 48240640); + assert(unsigned(zero_extend(0x2e01808, 64)) == 48240648); + assert(unsigned(zero_extend(0x2e01810, 64)) == 48240656); + assert(unsigned(zero_extend(0x2e01818, 64)) == 48240664); + assert(unsigned(zero_extend(0x2e01820, 64)) == 48240672); + assert(unsigned(zero_extend(0x2e01828, 64)) == 48240680); + assert(unsigned(zero_extend(0x2e01830, 64)) == 48240688); + assert(unsigned(zero_extend(0x2e01838, 64)) == 48240696); + assert(unsigned(zero_extend(0x2e01840, 64)) == 48240704); + assert(unsigned(zero_extend(0x2e01848, 64)) == 48240712); + assert(unsigned(zero_extend(0x2e01850, 64)) == 48240720); + assert(unsigned(zero_extend(0x2e01858, 64)) == 48240728); + assert(unsigned(zero_extend(0x2e01860, 64)) == 48240736); + assert(unsigned(zero_extend(0x2e01868, 64)) == 48240744); + assert(unsigned(zero_extend(0x2e01870, 64)) == 48240752); + assert(unsigned(zero_extend(0x2e01878, 64)) == 48240760); + assert(unsigned(zero_extend(0x2e01880, 64)) == 48240768); + assert(unsigned(zero_extend(0x2e01888, 64)) == 48240776); + assert(unsigned(zero_extend(0x2e01890, 64)) == 48240784); + assert(unsigned(zero_extend(0x2e01898, 64)) == 48240792); + assert(unsigned(zero_extend(0x2e018a0, 64)) == 48240800); + assert(unsigned(zero_extend(0x2e018a8, 64)) == 48240808); + assert(unsigned(zero_extend(0x2e018b0, 64)) == 48240816); + assert(unsigned(zero_extend(0x2e018b8, 64)) == 48240824); + assert(unsigned(zero_extend(0x2eb0000, 64)) == 48955392); + assert(unsigned(zero_extend(0x2ec0000, 64)) == 49020928); + assert(unsigned(zero_extend(0x2ee0000, 64)) == 49152000); + assert(unsigned(zero_extend(0x2ef0000, 64)) == 49217536); + assert(unsigned(zero_extend(0x2ef0040, 64)) == 49217600); + assert(unsigned(zero_extend(0x2f, 64)) == 47); + assert(unsigned(zero_extend(0x2f0, 64)) == 752); + assert(unsigned(zero_extend(0x2f00000, 64)) == 49283072); + assert(unsigned(zero_extend(0x2f00000004, 64)) == 201863462916); + assert(unsigned(zero_extend(0x2f00008, 64)) == 49283080); + assert(unsigned(zero_extend(0x2f00010, 64)) == 49283088); + assert(unsigned(zero_extend(0x2f00018, 64)) == 49283096); + assert(unsigned(zero_extend(0x2f00020, 64)) == 49283104); + assert(unsigned(zero_extend(0x2f00028, 64)) == 49283112); + assert(unsigned(zero_extend(0x2f00030, 64)) == 49283120); + assert(unsigned(zero_extend(0x2f00038, 64)) == 49283128); + assert(unsigned(zero_extend(0x2f00040, 64)) == 49283136); + assert(unsigned(zero_extend(0x2f00048, 64)) == 49283144); + assert(unsigned(zero_extend(0x2f00050, 64)) == 49283152); + assert(unsigned(zero_extend(0x2f00058, 64)) == 49283160); + assert(unsigned(zero_extend(0x2f00060, 64)) == 49283168); + assert(unsigned(zero_extend(0x2f00068, 64)) == 49283176); + assert(unsigned(zero_extend(0x2f00070, 64)) == 49283184); + assert(unsigned(zero_extend(0x2f00078, 64)) == 49283192); + assert(unsigned(zero_extend(0x2f00080, 64)) == 49283200); + assert(unsigned(zero_extend(0x2f00088, 64)) == 49283208); + assert(unsigned(zero_extend(0x2f00090, 64)) == 49283216); + assert(unsigned(zero_extend(0x2f00098, 64)) == 49283224); + assert(unsigned(zero_extend(0x2f000a0, 64)) == 49283232); + assert(unsigned(zero_extend(0x2f000a8, 64)) == 49283240); + assert(unsigned(zero_extend(0x2f000b0, 64)) == 49283248); + assert(unsigned(zero_extend(0x2f000b8, 64)) == 49283256); + assert(unsigned(zero_extend(0x2f000c0, 64)) == 49283264); + assert(unsigned(zero_extend(0x2f000c8, 64)) == 49283272); + assert(unsigned(zero_extend(0x2f000d0, 64)) == 49283280); + assert(unsigned(zero_extend(0x2f000d8, 64)) == 49283288); + assert(unsigned(zero_extend(0x2f000e0, 64)) == 49283296); + assert(unsigned(zero_extend(0x2f000e8, 64)) == 49283304); + assert(unsigned(zero_extend(0x2f000f0, 64)) == 49283312); + assert(unsigned(zero_extend(0x2f000f8, 64)) == 49283320); + assert(unsigned(zero_extend(0x2f00100, 64)) == 49283328); + assert(unsigned(zero_extend(0x2f00108, 64)) == 49283336); + assert(unsigned(zero_extend(0x2f00110, 64)) == 49283344); + assert(unsigned(zero_extend(0x2f00118, 64)) == 49283352); + assert(unsigned(zero_extend(0x2f00120, 64)) == 49283360); + assert(unsigned(zero_extend(0x2f00128, 64)) == 49283368); + assert(unsigned(zero_extend(0x2f00130, 64)) == 49283376); + assert(unsigned(zero_extend(0x2f00138, 64)) == 49283384); + assert(unsigned(zero_extend(0x2f00140, 64)) == 49283392); + assert(unsigned(zero_extend(0x2f00148, 64)) == 49283400); + assert(unsigned(zero_extend(0x2f00150, 64)) == 49283408); + assert(unsigned(zero_extend(0x2f00158, 64)) == 49283416); + assert(unsigned(zero_extend(0x2f00160, 64)) == 49283424); + assert(unsigned(zero_extend(0x2f00168, 64)) == 49283432); + assert(unsigned(zero_extend(0x2f00170, 64)) == 49283440); + assert(unsigned(zero_extend(0x2f00178, 64)) == 49283448); + assert(unsigned(zero_extend(0x2f00180, 64)) == 49283456); + assert(unsigned(zero_extend(0x2f00188, 64)) == 49283464); + assert(unsigned(zero_extend(0x2f00190, 64)) == 49283472); + assert(unsigned(zero_extend(0x2f00198, 64)) == 49283480); + assert(unsigned(zero_extend(0x2f001a0, 64)) == 49283488); + assert(unsigned(zero_extend(0x2f001a8, 64)) == 49283496); + assert(unsigned(zero_extend(0x2f001b0, 64)) == 49283504); + assert(unsigned(zero_extend(0x2f001b8, 64)) == 49283512); + assert(unsigned(zero_extend(0x2f001c0, 64)) == 49283520); + assert(unsigned(zero_extend(0x2f001c8, 64)) == 49283528); + assert(unsigned(zero_extend(0x2f001d0, 64)) == 49283536); + assert(unsigned(zero_extend(0x2f001d8, 64)) == 49283544); + assert(unsigned(zero_extend(0x2f001e0, 64)) == 49283552); + assert(unsigned(zero_extend(0x2f001e8, 64)) == 49283560); + assert(unsigned(zero_extend(0x2f001f0, 64)) == 49283568); + assert(unsigned(zero_extend(0x2f001f8, 64)) == 49283576); + assert(unsigned(zero_extend(0x2f00200, 64)) == 49283584); + assert(unsigned(zero_extend(0x2f00208, 64)) == 49283592); + assert(unsigned(zero_extend(0x2f00210, 64)) == 49283600); + assert(unsigned(zero_extend(0x2f00218, 64)) == 49283608); + assert(unsigned(zero_extend(0x2f00220, 64)) == 49283616); + assert(unsigned(zero_extend(0x2f00228, 64)) == 49283624); + assert(unsigned(zero_extend(0x2f00230, 64)) == 49283632); + assert(unsigned(zero_extend(0x2f00238, 64)) == 49283640); + assert(unsigned(zero_extend(0x2f00240, 64)) == 49283648); + assert(unsigned(zero_extend(0x2f00248, 64)) == 49283656); + assert(unsigned(zero_extend(0x2f00250, 64)) == 49283664); + assert(unsigned(zero_extend(0x2f00258, 64)) == 49283672); + assert(unsigned(zero_extend(0x2f00260, 64)) == 49283680); + assert(unsigned(zero_extend(0x2f00268, 64)) == 49283688); + assert(unsigned(zero_extend(0x2f00270, 64)) == 49283696); + assert(unsigned(zero_extend(0x2f00278, 64)) == 49283704); + assert(unsigned(zero_extend(0x2f00280, 64)) == 49283712); + assert(unsigned(zero_extend(0x2f00288, 64)) == 49283720); + assert(unsigned(zero_extend(0x2f00290, 64)) == 49283728); + assert(unsigned(zero_extend(0x2f00298, 64)) == 49283736); + assert(unsigned(zero_extend(0x2f002a0, 64)) == 49283744); + assert(unsigned(zero_extend(0x2f002a8, 64)) == 49283752); + assert(unsigned(zero_extend(0x2f002b0, 64)) == 49283760); + assert(unsigned(zero_extend(0x2f002b8, 64)) == 49283768); + assert(unsigned(zero_extend(0x2f002c0, 64)) == 49283776); + assert(unsigned(zero_extend(0x2f002c8, 64)) == 49283784); + assert(unsigned(zero_extend(0x2f002d0, 64)) == 49283792); + assert(unsigned(zero_extend(0x2f002d8, 64)) == 49283800); + assert(unsigned(zero_extend(0x2f002e0, 64)) == 49283808); + assert(unsigned(zero_extend(0x2f002e8, 64)) == 49283816); + assert(unsigned(zero_extend(0x2f002f0, 64)) == 49283824); + assert(unsigned(zero_extend(0x2f002f8, 64)) == 49283832); + assert(unsigned(zero_extend(0x2f00300, 64)) == 49283840); + assert(unsigned(zero_extend(0x2f00308, 64)) == 49283848); + assert(unsigned(zero_extend(0x2f00310, 64)) == 49283856); + assert(unsigned(zero_extend(0x2f00318, 64)) == 49283864); + assert(unsigned(zero_extend(0x2f00320, 64)) == 49283872); + assert(unsigned(zero_extend(0x2f00328, 64)) == 49283880); + assert(unsigned(zero_extend(0x2f00330, 64)) == 49283888); + assert(unsigned(zero_extend(0x2f00338, 64)) == 49283896); + assert(unsigned(zero_extend(0x2f00340, 64)) == 49283904); + assert(unsigned(zero_extend(0x2f00348, 64)) == 49283912); + assert(unsigned(zero_extend(0x2f00350, 64)) == 49283920); + assert(unsigned(zero_extend(0x2f00358, 64)) == 49283928); + assert(unsigned(zero_extend(0x2f00360, 64)) == 49283936); + assert(unsigned(zero_extend(0x2f00368, 64)) == 49283944); + assert(unsigned(zero_extend(0x2f00370, 64)) == 49283952); + assert(unsigned(zero_extend(0x2f00378, 64)) == 49283960); + assert(unsigned(zero_extend(0x2f00380, 64)) == 49283968); + assert(unsigned(zero_extend(0x2f00388, 64)) == 49283976); + assert(unsigned(zero_extend(0x2f00390, 64)) == 49283984); + assert(unsigned(zero_extend(0x2f00398, 64)) == 49283992); + assert(unsigned(zero_extend(0x2f003a0, 64)) == 49284000); + assert(unsigned(zero_extend(0x2f003a8, 64)) == 49284008); + assert(unsigned(zero_extend(0x2f003b0, 64)) == 49284016); + assert(unsigned(zero_extend(0x2f003b8, 64)) == 49284024); + assert(unsigned(zero_extend(0x2f003c0, 64)) == 49284032); + assert(unsigned(zero_extend(0x2f003c8, 64)) == 49284040); + assert(unsigned(zero_extend(0x2f003d0, 64)) == 49284048); + assert(unsigned(zero_extend(0x2f003d8, 64)) == 49284056); + assert(unsigned(zero_extend(0x2f003e0, 64)) == 49284064); + assert(unsigned(zero_extend(0x2f003e8, 64)) == 49284072); + assert(unsigned(zero_extend(0x2f003f0, 64)) == 49284080); + assert(unsigned(zero_extend(0x2f003f8, 64)) == 49284088); + assert(unsigned(zero_extend(0x2f00400, 64)) == 49284096); + assert(unsigned(zero_extend(0x2f00408, 64)) == 49284104); + assert(unsigned(zero_extend(0x2f00410, 64)) == 49284112); + assert(unsigned(zero_extend(0x2f00418, 64)) == 49284120); + assert(unsigned(zero_extend(0x2f00420, 64)) == 49284128); + assert(unsigned(zero_extend(0x2f00428, 64)) == 49284136); + assert(unsigned(zero_extend(0x2f00430, 64)) == 49284144); + assert(unsigned(zero_extend(0x2f00438, 64)) == 49284152); + assert(unsigned(zero_extend(0x2f00440, 64)) == 49284160); + assert(unsigned(zero_extend(0x2f00448, 64)) == 49284168); + assert(unsigned(zero_extend(0x2f00450, 64)) == 49284176); + assert(unsigned(zero_extend(0x2f00458, 64)) == 49284184); + assert(unsigned(zero_extend(0x2f00460, 64)) == 49284192); + assert(unsigned(zero_extend(0x2f00468, 64)) == 49284200); + assert(unsigned(zero_extend(0x2f00470, 64)) == 49284208); + assert(unsigned(zero_extend(0x2f00478, 64)) == 49284216); + assert(unsigned(zero_extend(0x2f00480, 64)) == 49284224); + assert(unsigned(zero_extend(0x2f00488, 64)) == 49284232); + assert(unsigned(zero_extend(0x2f00490, 64)) == 49284240); + assert(unsigned(zero_extend(0x2f00498, 64)) == 49284248); + assert(unsigned(zero_extend(0x2f004a0, 64)) == 49284256); + assert(unsigned(zero_extend(0x2f004a8, 64)) == 49284264); + assert(unsigned(zero_extend(0x2f004b0, 64)) == 49284272); + assert(unsigned(zero_extend(0x2f004b8, 64)) == 49284280); + assert(unsigned(zero_extend(0x2f004c0, 64)) == 49284288); + assert(unsigned(zero_extend(0x2f004c8, 64)) == 49284296); + assert(unsigned(zero_extend(0x2f004d0, 64)) == 49284304); + assert(unsigned(zero_extend(0x2f004d8, 64)) == 49284312); + assert(unsigned(zero_extend(0x2f004e0, 64)) == 49284320); + assert(unsigned(zero_extend(0x2f004e8, 64)) == 49284328); + assert(unsigned(zero_extend(0x2f004f0, 64)) == 49284336); + assert(unsigned(zero_extend(0x2f004f8, 64)) == 49284344); + assert(unsigned(zero_extend(0x2f00500, 64)) == 49284352); + assert(unsigned(zero_extend(0x2f00508, 64)) == 49284360); + assert(unsigned(zero_extend(0x2f00510, 64)) == 49284368); + assert(unsigned(zero_extend(0x2f00518, 64)) == 49284376); + assert(unsigned(zero_extend(0x2f00520, 64)) == 49284384); + assert(unsigned(zero_extend(0x2f00528, 64)) == 49284392); + assert(unsigned(zero_extend(0x2f00530, 64)) == 49284400); + assert(unsigned(zero_extend(0x2f00538, 64)) == 49284408); + assert(unsigned(zero_extend(0x2f00540, 64)) == 49284416); + assert(unsigned(zero_extend(0x2f00548, 64)) == 49284424); + assert(unsigned(zero_extend(0x2f00550, 64)) == 49284432); + assert(unsigned(zero_extend(0x2f00558, 64)) == 49284440); + assert(unsigned(zero_extend(0x2f00560, 64)) == 49284448); + assert(unsigned(zero_extend(0x2f00568, 64)) == 49284456); + assert(unsigned(zero_extend(0x2f00570, 64)) == 49284464); + assert(unsigned(zero_extend(0x2f00578, 64)) == 49284472); + assert(unsigned(zero_extend(0x2f00580, 64)) == 49284480); + assert(unsigned(zero_extend(0x2f00588, 64)) == 49284488); + assert(unsigned(zero_extend(0x2f00590, 64)) == 49284496); + assert(unsigned(zero_extend(0x2f00598, 64)) == 49284504); + assert(unsigned(zero_extend(0x2f005a0, 64)) == 49284512); + assert(unsigned(zero_extend(0x2f005a8, 64)) == 49284520); + assert(unsigned(zero_extend(0x2f005b0, 64)) == 49284528); + assert(unsigned(zero_extend(0x2f005b8, 64)) == 49284536); + assert(unsigned(zero_extend(0x2f005c0, 64)) == 49284544); + assert(unsigned(zero_extend(0x2f005c8, 64)) == 49284552); + assert(unsigned(zero_extend(0x2f005d0, 64)) == 49284560); + assert(unsigned(zero_extend(0x2f005d8, 64)) == 49284568); + assert(unsigned(zero_extend(0x2f005e0, 64)) == 49284576); + assert(unsigned(zero_extend(0x2f005e8, 64)) == 49284584); + assert(unsigned(zero_extend(0x2f005f0, 64)) == 49284592); + assert(unsigned(zero_extend(0x2f005f8, 64)) == 49284600); + assert(unsigned(zero_extend(0x2f00600, 64)) == 49284608); + assert(unsigned(zero_extend(0x2f00608, 64)) == 49284616); + assert(unsigned(zero_extend(0x2f00610, 64)) == 49284624); + assert(unsigned(zero_extend(0x2f00618, 64)) == 49284632); + assert(unsigned(zero_extend(0x2f00620, 64)) == 49284640); + assert(unsigned(zero_extend(0x2f00628, 64)) == 49284648); + assert(unsigned(zero_extend(0x2f00630, 64)) == 49284656); + assert(unsigned(zero_extend(0x2f00638, 64)) == 49284664); + assert(unsigned(zero_extend(0x2f00640, 64)) == 49284672); + assert(unsigned(zero_extend(0x2f00648, 64)) == 49284680); + assert(unsigned(zero_extend(0x2f00650, 64)) == 49284688); + assert(unsigned(zero_extend(0x2f00658, 64)) == 49284696); + assert(unsigned(zero_extend(0x2f00660, 64)) == 49284704); + assert(unsigned(zero_extend(0x2f00668, 64)) == 49284712); + assert(unsigned(zero_extend(0x2f00670, 64)) == 49284720); + assert(unsigned(zero_extend(0x2f00678, 64)) == 49284728); + assert(unsigned(zero_extend(0x2f00680, 64)) == 49284736); + assert(unsigned(zero_extend(0x2f00688, 64)) == 49284744); + assert(unsigned(zero_extend(0x2f00690, 64)) == 49284752); + assert(unsigned(zero_extend(0x2f00698, 64)) == 49284760); + assert(unsigned(zero_extend(0x2f006a0, 64)) == 49284768); + assert(unsigned(zero_extend(0x2f006a8, 64)) == 49284776); + assert(unsigned(zero_extend(0x2f006b0, 64)) == 49284784); + assert(unsigned(zero_extend(0x2f006b8, 64)) == 49284792); + assert(unsigned(zero_extend(0x2f006c0, 64)) == 49284800); + assert(unsigned(zero_extend(0x2f006c8, 64)) == 49284808); + assert(unsigned(zero_extend(0x2f006d0, 64)) == 49284816); + assert(unsigned(zero_extend(0x2f006d8, 64)) == 49284824); + assert(unsigned(zero_extend(0x2f006e0, 64)) == 49284832); + assert(unsigned(zero_extend(0x2f006e8, 64)) == 49284840); + assert(unsigned(zero_extend(0x2f006f0, 64)) == 49284848); + assert(unsigned(zero_extend(0x2f006f8, 64)) == 49284856); + assert(unsigned(zero_extend(0x2f00700, 64)) == 49284864); + assert(unsigned(zero_extend(0x2f00708, 64)) == 49284872); + assert(unsigned(zero_extend(0x2f00710, 64)) == 49284880); + assert(unsigned(zero_extend(0x2f00718, 64)) == 49284888); + assert(unsigned(zero_extend(0x2f00720, 64)) == 49284896); + assert(unsigned(zero_extend(0x2f00728, 64)) == 49284904); + assert(unsigned(zero_extend(0x2f00730, 64)) == 49284912); + assert(unsigned(zero_extend(0x2f00738, 64)) == 49284920); + assert(unsigned(zero_extend(0x2f00740, 64)) == 49284928); + assert(unsigned(zero_extend(0x2f00748, 64)) == 49284936); + assert(unsigned(zero_extend(0x2f00750, 64)) == 49284944); + assert(unsigned(zero_extend(0x2f00758, 64)) == 49284952); + assert(unsigned(zero_extend(0x2f00760, 64)) == 49284960); + assert(unsigned(zero_extend(0x2f00768, 64)) == 49284968); + assert(unsigned(zero_extend(0x2f00770, 64)) == 49284976); + assert(unsigned(zero_extend(0x2f00778, 64)) == 49284984); + assert(unsigned(zero_extend(0x2f00780, 64)) == 49284992); + assert(unsigned(zero_extend(0x2f00788, 64)) == 49285000); + assert(unsigned(zero_extend(0x2f00790, 64)) == 49285008); + assert(unsigned(zero_extend(0x2f00798, 64)) == 49285016); + assert(unsigned(zero_extend(0x2f007a0, 64)) == 49285024); + assert(unsigned(zero_extend(0x2f007a8, 64)) == 49285032); + assert(unsigned(zero_extend(0x2f007b0, 64)) == 49285040); + assert(unsigned(zero_extend(0x2f007b8, 64)) == 49285048); + assert(unsigned(zero_extend(0x2f007c0, 64)) == 49285056); + assert(unsigned(zero_extend(0x2f007c8, 64)) == 49285064); + assert(unsigned(zero_extend(0x2f007d0, 64)) == 49285072); + assert(unsigned(zero_extend(0x2f007d8, 64)) == 49285080); + assert(unsigned(zero_extend(0x2f007e0, 64)) == 49285088); + assert(unsigned(zero_extend(0x2f007e8, 64)) == 49285096); + assert(unsigned(zero_extend(0x2f007f0, 64)) == 49285104); + assert(unsigned(zero_extend(0x2f007f8, 64)) == 49285112); + assert(unsigned(zero_extend(0x2f00800, 64)) == 49285120); + assert(unsigned(zero_extend(0x2f00808, 64)) == 49285128); + assert(unsigned(zero_extend(0x2f00810, 64)) == 49285136); + assert(unsigned(zero_extend(0x2f00818, 64)) == 49285144); + assert(unsigned(zero_extend(0x2f00820, 64)) == 49285152); + assert(unsigned(zero_extend(0x2f00828, 64)) == 49285160); + assert(unsigned(zero_extend(0x2f00830, 64)) == 49285168); + assert(unsigned(zero_extend(0x2f00838, 64)) == 49285176); + assert(unsigned(zero_extend(0x2f00840, 64)) == 49285184); + assert(unsigned(zero_extend(0x2f00848, 64)) == 49285192); + assert(unsigned(zero_extend(0x2f00850, 64)) == 49285200); + assert(unsigned(zero_extend(0x2f00858, 64)) == 49285208); + assert(unsigned(zero_extend(0x2f00860, 64)) == 49285216); + assert(unsigned(zero_extend(0x2f00868, 64)) == 49285224); + assert(unsigned(zero_extend(0x2f00870, 64)) == 49285232); + assert(unsigned(zero_extend(0x2f00878, 64)) == 49285240); + assert(unsigned(zero_extend(0x2f00880, 64)) == 49285248); + assert(unsigned(zero_extend(0x2f00888, 64)) == 49285256); + assert(unsigned(zero_extend(0x2f00890, 64)) == 49285264); + assert(unsigned(zero_extend(0x2f00898, 64)) == 49285272); + assert(unsigned(zero_extend(0x2f008a0, 64)) == 49285280); + assert(unsigned(zero_extend(0x2f008a8, 64)) == 49285288); + assert(unsigned(zero_extend(0x2f008b0, 64)) == 49285296); + assert(unsigned(zero_extend(0x2f008b8, 64)) == 49285304); + assert(unsigned(zero_extend(0x2f008c0, 64)) == 49285312); + assert(unsigned(zero_extend(0x2f008c8, 64)) == 49285320); + assert(unsigned(zero_extend(0x2f008d0, 64)) == 49285328); + assert(unsigned(zero_extend(0x2f008d8, 64)) == 49285336); + assert(unsigned(zero_extend(0x2f008e0, 64)) == 49285344); + assert(unsigned(zero_extend(0x2f008e8, 64)) == 49285352); + assert(unsigned(zero_extend(0x2f008f0, 64)) == 49285360); + assert(unsigned(zero_extend(0x2f008f8, 64)) == 49285368); + assert(unsigned(zero_extend(0x2f00900, 64)) == 49285376); + assert(unsigned(zero_extend(0x2f00908, 64)) == 49285384); + assert(unsigned(zero_extend(0x2f00910, 64)) == 49285392); + assert(unsigned(zero_extend(0x2f00918, 64)) == 49285400); + assert(unsigned(zero_extend(0x2f00920, 64)) == 49285408); + assert(unsigned(zero_extend(0x2f00928, 64)) == 49285416); + assert(unsigned(zero_extend(0x2f00930, 64)) == 49285424); + assert(unsigned(zero_extend(0x2f00938, 64)) == 49285432); + assert(unsigned(zero_extend(0x2f00940, 64)) == 49285440); + assert(unsigned(zero_extend(0x2f00948, 64)) == 49285448); + assert(unsigned(zero_extend(0x2f00950, 64)) == 49285456); + assert(unsigned(zero_extend(0x2f00958, 64)) == 49285464); + assert(unsigned(zero_extend(0x2f00960, 64)) == 49285472); + assert(unsigned(zero_extend(0x2f00968, 64)) == 49285480); + assert(unsigned(zero_extend(0x2f00970, 64)) == 49285488); + assert(unsigned(zero_extend(0x2f00978, 64)) == 49285496); + assert(unsigned(zero_extend(0x2f00980, 64)) == 49285504); + assert(unsigned(zero_extend(0x2f00988, 64)) == 49285512); + assert(unsigned(zero_extend(0x2f00990, 64)) == 49285520); + assert(unsigned(zero_extend(0x2f00998, 64)) == 49285528); + assert(unsigned(zero_extend(0x2f009a0, 64)) == 49285536); + assert(unsigned(zero_extend(0x2f009a8, 64)) == 49285544); + assert(unsigned(zero_extend(0x2f009b0, 64)) == 49285552); + assert(unsigned(zero_extend(0x2f009b8, 64)) == 49285560); + assert(unsigned(zero_extend(0x2f009c0, 64)) == 49285568); + assert(unsigned(zero_extend(0x2f009c8, 64)) == 49285576); + assert(unsigned(zero_extend(0x2f009d0, 64)) == 49285584); + assert(unsigned(zero_extend(0x2f009d8, 64)) == 49285592); + assert(unsigned(zero_extend(0x2f009e0, 64)) == 49285600); + assert(unsigned(zero_extend(0x2f009e8, 64)) == 49285608); + assert(unsigned(zero_extend(0x2f009f0, 64)) == 49285616); + assert(unsigned(zero_extend(0x2f009f8, 64)) == 49285624); + assert(unsigned(zero_extend(0x2f00a00, 64)) == 49285632); + assert(unsigned(zero_extend(0x2f00a08, 64)) == 49285640); + assert(unsigned(zero_extend(0x2f00a10, 64)) == 49285648); + assert(unsigned(zero_extend(0x2f00a18, 64)) == 49285656); + assert(unsigned(zero_extend(0x2f00a20, 64)) == 49285664); + assert(unsigned(zero_extend(0x2f00a28, 64)) == 49285672); + assert(unsigned(zero_extend(0x2f00a30, 64)) == 49285680); + assert(unsigned(zero_extend(0x2f00a38, 64)) == 49285688); + assert(unsigned(zero_extend(0x2f00a40, 64)) == 49285696); + assert(unsigned(zero_extend(0x2f00a48, 64)) == 49285704); + assert(unsigned(zero_extend(0x2f00a50, 64)) == 49285712); + assert(unsigned(zero_extend(0x2f00a58, 64)) == 49285720); + assert(unsigned(zero_extend(0x2f00a60, 64)) == 49285728); + assert(unsigned(zero_extend(0x2f00a68, 64)) == 49285736); + assert(unsigned(zero_extend(0x2f00a70, 64)) == 49285744); + assert(unsigned(zero_extend(0x2f00a78, 64)) == 49285752); + assert(unsigned(zero_extend(0x2f00a80, 64)) == 49285760); + assert(unsigned(zero_extend(0x2f00a88, 64)) == 49285768); + assert(unsigned(zero_extend(0x2f00a90, 64)) == 49285776); + assert(unsigned(zero_extend(0x2f00a98, 64)) == 49285784); + assert(unsigned(zero_extend(0x2f00aa0, 64)) == 49285792); + assert(unsigned(zero_extend(0x2f00aa8, 64)) == 49285800); + assert(unsigned(zero_extend(0x2f00ab0, 64)) == 49285808); + assert(unsigned(zero_extend(0x2f00ab8, 64)) == 49285816); + assert(unsigned(zero_extend(0x2f00ac0, 64)) == 49285824); + assert(unsigned(zero_extend(0x2f00ac8, 64)) == 49285832); + assert(unsigned(zero_extend(0x2f00ad0, 64)) == 49285840); + assert(unsigned(zero_extend(0x2f00ad8, 64)) == 49285848); + assert(unsigned(zero_extend(0x2f00ae0, 64)) == 49285856); + assert(unsigned(zero_extend(0x2f00ae8, 64)) == 49285864); + assert(unsigned(zero_extend(0x2f00af0, 64)) == 49285872); + assert(unsigned(zero_extend(0x2f00af8, 64)) == 49285880); + assert(unsigned(zero_extend(0x2f00b00, 64)) == 49285888); + assert(unsigned(zero_extend(0x2f00b08, 64)) == 49285896); + assert(unsigned(zero_extend(0x2f00b10, 64)) == 49285904); + assert(unsigned(zero_extend(0x2f00b18, 64)) == 49285912); + assert(unsigned(zero_extend(0x2f00b20, 64)) == 49285920); + assert(unsigned(zero_extend(0x2f00b28, 64)) == 49285928); + assert(unsigned(zero_extend(0x2f00b30, 64)) == 49285936); + assert(unsigned(zero_extend(0x2f00b38, 64)) == 49285944); + assert(unsigned(zero_extend(0x2f00b40, 64)) == 49285952); + assert(unsigned(zero_extend(0x2f00b48, 64)) == 49285960); + assert(unsigned(zero_extend(0x2f00b50, 64)) == 49285968); + assert(unsigned(zero_extend(0x2f00b58, 64)) == 49285976); + assert(unsigned(zero_extend(0x2f00b60, 64)) == 49285984); + assert(unsigned(zero_extend(0x2f00b68, 64)) == 49285992); + assert(unsigned(zero_extend(0x2f00b70, 64)) == 49286000); + assert(unsigned(zero_extend(0x2f00b78, 64)) == 49286008); + assert(unsigned(zero_extend(0x2f00b80, 64)) == 49286016); + assert(unsigned(zero_extend(0x2f00b88, 64)) == 49286024); + assert(unsigned(zero_extend(0x2f00b90, 64)) == 49286032); + assert(unsigned(zero_extend(0x2f00b98, 64)) == 49286040); + assert(unsigned(zero_extend(0x2f00ba0, 64)) == 49286048); + assert(unsigned(zero_extend(0x2f00ba8, 64)) == 49286056); + assert(unsigned(zero_extend(0x2f00bb0, 64)) == 49286064); + assert(unsigned(zero_extend(0x2f00bb8, 64)) == 49286072); + assert(unsigned(zero_extend(0x2f00bc0, 64)) == 49286080); + assert(unsigned(zero_extend(0x2f00bc8, 64)) == 49286088); + assert(unsigned(zero_extend(0x2f00bd0, 64)) == 49286096); + assert(unsigned(zero_extend(0x2f00bd8, 64)) == 49286104); + assert(unsigned(zero_extend(0x2f00be0, 64)) == 49286112); + assert(unsigned(zero_extend(0x2f00be8, 64)) == 49286120); + assert(unsigned(zero_extend(0x2f00bf0, 64)) == 49286128); + assert(unsigned(zero_extend(0x2f00bf8, 64)) == 49286136); + assert(unsigned(zero_extend(0x2f00c00, 64)) == 49286144); + assert(unsigned(zero_extend(0x2f00c08, 64)) == 49286152); + assert(unsigned(zero_extend(0x2f00c10, 64)) == 49286160); + assert(unsigned(zero_extend(0x2f00c18, 64)) == 49286168); + assert(unsigned(zero_extend(0x2f00c20, 64)) == 49286176); + assert(unsigned(zero_extend(0x2f00c28, 64)) == 49286184); + assert(unsigned(zero_extend(0x2f00c30, 64)) == 49286192); + assert(unsigned(zero_extend(0x2f00c38, 64)) == 49286200); + assert(unsigned(zero_extend(0x2f00c40, 64)) == 49286208); + assert(unsigned(zero_extend(0x2f00c48, 64)) == 49286216); + assert(unsigned(zero_extend(0x2f00c50, 64)) == 49286224); + assert(unsigned(zero_extend(0x2f00c58, 64)) == 49286232); + assert(unsigned(zero_extend(0x2f00c60, 64)) == 49286240); + assert(unsigned(zero_extend(0x2f00c68, 64)) == 49286248); + assert(unsigned(zero_extend(0x2f00c70, 64)) == 49286256); + assert(unsigned(zero_extend(0x2f00c78, 64)) == 49286264); + assert(unsigned(zero_extend(0x2f00c80, 64)) == 49286272); + assert(unsigned(zero_extend(0x2f00c88, 64)) == 49286280); + assert(unsigned(zero_extend(0x2f00c90, 64)) == 49286288); + assert(unsigned(zero_extend(0x2f00c98, 64)) == 49286296); + assert(unsigned(zero_extend(0x2f00ca0, 64)) == 49286304); + assert(unsigned(zero_extend(0x2f00ca8, 64)) == 49286312); + assert(unsigned(zero_extend(0x2f00cb0, 64)) == 49286320); + assert(unsigned(zero_extend(0x2f00cb8, 64)) == 49286328); + assert(unsigned(zero_extend(0x2f00cc0, 64)) == 49286336); + assert(unsigned(zero_extend(0x2f00cc8, 64)) == 49286344); + assert(unsigned(zero_extend(0x2f00cd0, 64)) == 49286352); + assert(unsigned(zero_extend(0x2f00cd8, 64)) == 49286360); + assert(unsigned(zero_extend(0x2f00ce0, 64)) == 49286368); + assert(unsigned(zero_extend(0x2f00ce8, 64)) == 49286376); + assert(unsigned(zero_extend(0x2f00cf0, 64)) == 49286384); + assert(unsigned(zero_extend(0x2f00cf8, 64)) == 49286392); + assert(unsigned(zero_extend(0x2f00d00, 64)) == 49286400); + assert(unsigned(zero_extend(0x2f00d08, 64)) == 49286408); + assert(unsigned(zero_extend(0x2f00d10, 64)) == 49286416); + assert(unsigned(zero_extend(0x2f00d18, 64)) == 49286424); + assert(unsigned(zero_extend(0x2f00d20, 64)) == 49286432); + assert(unsigned(zero_extend(0x2f00d28, 64)) == 49286440); + assert(unsigned(zero_extend(0x2f00d30, 64)) == 49286448); + assert(unsigned(zero_extend(0x2f00d38, 64)) == 49286456); + assert(unsigned(zero_extend(0x2f00d40, 64)) == 49286464); + assert(unsigned(zero_extend(0x2f00d48, 64)) == 49286472); + assert(unsigned(zero_extend(0x2f00d50, 64)) == 49286480); + assert(unsigned(zero_extend(0x2f00d58, 64)) == 49286488); + assert(unsigned(zero_extend(0x2f00d60, 64)) == 49286496); + assert(unsigned(zero_extend(0x2f00d68, 64)) == 49286504); + assert(unsigned(zero_extend(0x2f00d70, 64)) == 49286512); + assert(unsigned(zero_extend(0x2f00d78, 64)) == 49286520); + assert(unsigned(zero_extend(0x2f00d80, 64)) == 49286528); + assert(unsigned(zero_extend(0x2f00d88, 64)) == 49286536); + assert(unsigned(zero_extend(0x2f00d90, 64)) == 49286544); + assert(unsigned(zero_extend(0x2f00d98, 64)) == 49286552); + assert(unsigned(zero_extend(0x2f00da0, 64)) == 49286560); + assert(unsigned(zero_extend(0x2f00da8, 64)) == 49286568); + assert(unsigned(zero_extend(0x2f00db0, 64)) == 49286576); + assert(unsigned(zero_extend(0x2f00db8, 64)) == 49286584); + assert(unsigned(zero_extend(0x2f00dc0, 64)) == 49286592); + assert(unsigned(zero_extend(0x2f00dc8, 64)) == 49286600); + assert(unsigned(zero_extend(0x2f00dd0, 64)) == 49286608); + assert(unsigned(zero_extend(0x2f00dd8, 64)) == 49286616); + assert(unsigned(zero_extend(0x2f00de0, 64)) == 49286624); + assert(unsigned(zero_extend(0x2f00de8, 64)) == 49286632); + assert(unsigned(zero_extend(0x2f00df0, 64)) == 49286640); + assert(unsigned(zero_extend(0x2f10000, 64)) == 49348608); + assert(unsigned(zero_extend(0x2f10800, 64)) == 49350656); + assert(unsigned(zero_extend(0x2f40000, 64)) == 49545216); + assert(unsigned(zero_extend(0x2f50000, 64)) == 49610752); + assert(unsigned(zero_extend(0x2f50040, 64)) == 49610816); + assert(unsigned(zero_extend(0x2f60000, 64)) == 49676288); + assert(unsigned(zero_extend(0x2f60200, 64)) == 49676800); + assert(unsigned(zero_extend(0x2f70000, 64)) == 49741824); + assert(unsigned(zero_extend(0x2f70800, 64)) == 49743872); + assert(unsigned(zero_extend(0x3, 64)) == 3); + assert(unsigned(zero_extend(0x30, 64)) == 48); + assert(unsigned(zero_extend(0x3000, 64)) == 12288); + assert(unsigned(zero_extend(0x30000, 64)) == 196608); + assert(unsigned(zero_extend(0x300000, 64)) == 3145728); + assert(unsigned(zero_extend(0x300001, 64)) == 3145729); + assert(unsigned(zero_extend(0x3000014, 64)) == 50331668); + assert(unsigned(zero_extend(0x3000018, 64)) == 50331672); + assert(unsigned(zero_extend(0x300001c, 64)) == 50331676); + assert(unsigned(zero_extend(0x300002, 64)) == 3145730); + assert(unsigned(zero_extend(0x3000020, 64)) == 50331680); + assert(unsigned(zero_extend(0x3000024, 64)) == 50331684); + assert(unsigned(zero_extend(0x300003, 64)) == 3145731); + assert(unsigned(zero_extend(0x3000030, 64)) == 50331696); + assert(unsigned(zero_extend(0x300004, 64)) == 3145732); + assert(unsigned(zero_extend(0x300005, 64)) == 3145733); + assert(unsigned(zero_extend(0x3000054, 64)) == 50331732); + assert(unsigned(zero_extend(0x3000058, 64)) == 50331736); + assert(unsigned(zero_extend(0x300005c, 64)) == 50331740); + assert(unsigned(zero_extend(0x300006, 64)) == 3145734); + assert(unsigned(zero_extend(0x3000068, 64)) == 50331752); + assert(unsigned(zero_extend(0x300007, 64)) == 3145735); + assert(unsigned(zero_extend(0x300008, 64)) == 3145736); + assert(unsigned(zero_extend(0x300009, 64)) == 3145737); + assert(unsigned(zero_extend(0x30000a, 64)) == 3145738); + assert(unsigned(zero_extend(0x30000b, 64)) == 3145739); + assert(unsigned(zero_extend(0x30000c, 64)) == 3145740); + assert(unsigned(zero_extend(0x30000c4, 64)) == 50331844); + assert(unsigned(zero_extend(0x30000c8, 64)) == 50331848); + assert(unsigned(zero_extend(0x30000cc, 64)) == 50331852); + assert(unsigned(zero_extend(0x30000d, 64)) == 3145741); + assert(unsigned(zero_extend(0x30000e, 64)) == 3145742); + assert(unsigned(zero_extend(0x3000288, 64)) == 50332296); + assert(unsigned(zero_extend(0x30002a0, 64)) == 50332320); + assert(unsigned(zero_extend(0x3002940, 64)) == 50342208); + assert(unsigned(zero_extend(0x3006b10, 64)) == 50359056); + assert(unsigned(zero_extend(0x3006b14, 64)) == 50359060); + assert(unsigned(zero_extend(0x3006b1c, 64)) == 50359068); + assert(unsigned(zero_extend(0x3006e40, 64)) == 50359872); + assert(unsigned(zero_extend(0x3008d20, 64)) == 50367776); + assert(unsigned(zero_extend(0x3008d21, 64)) == 50367777); + assert(unsigned(zero_extend(0x3008d24, 64)) == 50367780); + assert(unsigned(zero_extend(0x3008d28, 64)) == 50367784); + assert(unsigned(zero_extend(0x3008d30, 64)) == 50367792); + assert(unsigned(zero_extend(0x3008d38, 64)) == 50367800); + assert(unsigned(zero_extend(0x3008d40, 64)) == 50367808); + assert(unsigned(zero_extend(0x3008d48, 64)) == 50367816); + assert(unsigned(zero_extend(0x3008d50, 64)) == 50367824); + assert(unsigned(zero_extend(0x3008d51, 64)) == 50367825); + assert(unsigned(zero_extend(0x3008d54, 64)) == 50367828); + assert(unsigned(zero_extend(0x3008d58, 64)) == 50367832); + assert(unsigned(zero_extend(0x3008d5c, 64)) == 50367836); + assert(unsigned(zero_extend(0x3008d60, 64)) == 50367840); + assert(unsigned(zero_extend(0x3008d64, 64)) == 50367844); + assert(unsigned(zero_extend(0x3008d68, 64)) == 50367848); + assert(unsigned(zero_extend(0x3008d6c, 64)) == 50367852); + assert(unsigned(zero_extend(0x3008d70, 64)) == 50367856); + assert(unsigned(zero_extend(0x3008d74, 64)) == 50367860); + assert(unsigned(zero_extend(0x3008d78, 64)) == 50367864); + assert(unsigned(zero_extend(0x3008d7c, 64)) == 50367868); + assert(unsigned(zero_extend(0x3008d80, 64)) == 50367872); + assert(unsigned(zero_extend(0x3008d84, 64)) == 50367876); + assert(unsigned(zero_extend(0x3008d88, 64)) == 50367880); + assert(unsigned(zero_extend(0x3008d8c, 64)) == 50367884); + assert(unsigned(zero_extend(0x3008d90, 64)) == 50367888); + assert(unsigned(zero_extend(0x3008d94, 64)) == 50367892); + assert(unsigned(zero_extend(0x3008d98, 64)) == 50367896); + assert(unsigned(zero_extend(0x3008d9c, 64)) == 50367900); + assert(unsigned(zero_extend(0x3008da0, 64)) == 50367904); + assert(unsigned(zero_extend(0x3008da4, 64)) == 50367908); + assert(unsigned(zero_extend(0x3008da8, 64)) == 50367912); + assert(unsigned(zero_extend(0x3008dac, 64)) == 50367916); + assert(unsigned(zero_extend(0x3008db0, 64)) == 50367920); + assert(unsigned(zero_extend(0x3008db4, 64)) == 50367924); + assert(unsigned(zero_extend(0x3008db8, 64)) == 50367928); + assert(unsigned(zero_extend(0x3008dbc, 64)) == 50367932); + assert(unsigned(zero_extend(0x3008dc0, 64)) == 50367936); + assert(unsigned(zero_extend(0x3008dc4, 64)) == 50367940); + assert(unsigned(zero_extend(0x3008dc8, 64)) == 50367944); + assert(unsigned(zero_extend(0x3008dcc, 64)) == 50367948); + assert(unsigned(zero_extend(0x3008dd0, 64)) == 50367952); + assert(unsigned(zero_extend(0x3008dd4, 64)) == 50367956); + assert(unsigned(zero_extend(0x3008dd8, 64)) == 50367960); + assert(unsigned(zero_extend(0x3008ddc, 64)) == 50367964); + assert(unsigned(zero_extend(0x3008de0, 64)) == 50367968); + assert(unsigned(zero_extend(0x3008de4, 64)) == 50367972); + assert(unsigned(zero_extend(0x3008de8, 64)) == 50367976); + assert(unsigned(zero_extend(0x3008dec, 64)) == 50367980); + assert(unsigned(zero_extend(0x3008df0, 64)) == 50367984); + assert(unsigned(zero_extend(0x3008df8, 64)) == 50367992); + assert(unsigned(zero_extend(0x3008e00, 64)) == 50368000); + assert(unsigned(zero_extend(0x3008e08, 64)) == 50368008); + assert(unsigned(zero_extend(0x3008e10, 64)) == 50368016); + assert(unsigned(zero_extend(0x3008e18, 64)) == 50368024); + assert(unsigned(zero_extend(0x3008e20, 64)) == 50368032); + assert(unsigned(zero_extend(0x3008e28, 64)) == 50368040); + assert(unsigned(zero_extend(0x3008e30, 64)) == 50368048); + assert(unsigned(zero_extend(0x3008e38, 64)) == 50368056); + assert(unsigned(zero_extend(0x3008e40, 64)) == 50368064); + assert(unsigned(zero_extend(0x3010e40, 64)) == 50400832); + assert(unsigned(zero_extend(0x30e0000, 64)) == 51249152); + assert(unsigned(zero_extend(0x30f0000, 64)) == 51314688); + assert(unsigned(zero_extend(0x31, 64)) == 49); + assert(unsigned(zero_extend(0x3100000, 64)) == 51380224); + assert(unsigned(zero_extend(0x3100040, 64)) == 51380288); + assert(unsigned(zero_extend(0x3110000, 64)) == 51445760); + assert(unsigned(zero_extend(0x3110208, 64)) == 51446280); + assert(unsigned(zero_extend(0x3120000, 64)) == 51511296); + assert(unsigned(zero_extend(0x3120800, 64)) == 51513344); + assert(unsigned(zero_extend(0x31d0000, 64)) == 52232192); + assert(unsigned(zero_extend(0x31d0004, 64)) == 52232196); + assert(unsigned(zero_extend(0x31d0008, 64)) == 52232200); + assert(unsigned(zero_extend(0x31d000c, 64)) == 52232204); + assert(unsigned(zero_extend(0x31d0010, 64)) == 52232208); + assert(unsigned(zero_extend(0x31d0014, 64)) == 52232212); + assert(unsigned(zero_extend(0x31d0018, 64)) == 52232216); + assert(unsigned(zero_extend(0x31d001c, 64)) == 52232220); + assert(unsigned(zero_extend(0x31d0020, 64)) == 52232224); + assert(unsigned(zero_extend(0x31d0040, 64)) == 52232256); + assert(unsigned(zero_extend(0x31d0044, 64)) == 52232260); + assert(unsigned(zero_extend(0x31d0048, 64)) == 52232264); + assert(unsigned(zero_extend(0x31d004c, 64)) == 52232268); + assert(unsigned(zero_extend(0x31d0050, 64)) == 52232272); + assert(unsigned(zero_extend(0x31d0054, 64)) == 52232276); + assert(unsigned(zero_extend(0x31d0058, 64)) == 52232280); + assert(unsigned(zero_extend(0x31d005c, 64)) == 52232284); + assert(unsigned(zero_extend(0x31d0060, 64)) == 52232288); + assert(unsigned(zero_extend(0x31d0064, 64)) == 52232292); + assert(unsigned(zero_extend(0x31d0068, 64)) == 52232296); + assert(unsigned(zero_extend(0x31d006c, 64)) == 52232300); + assert(unsigned(zero_extend(0x31d0070, 64)) == 52232304); + assert(unsigned(zero_extend(0x31d0074, 64)) == 52232308); + assert(unsigned(zero_extend(0x31d0078, 64)) == 52232312); + assert(unsigned(zero_extend(0x31d007c, 64)) == 52232316); + assert(unsigned(zero_extend(0x31d0080, 64)) == 52232320); + assert(unsigned(zero_extend(0x31d0084, 64)) == 52232324); + assert(unsigned(zero_extend(0x31d0088, 64)) == 52232328); + assert(unsigned(zero_extend(0x31d008c, 64)) == 52232332); + assert(unsigned(zero_extend(0x31d0090, 64)) == 52232336); + assert(unsigned(zero_extend(0x31d0094, 64)) == 52232340); + assert(unsigned(zero_extend(0x31d0098, 64)) == 52232344); + assert(unsigned(zero_extend(0x31d009c, 64)) == 52232348); + assert(unsigned(zero_extend(0x31d00a0, 64)) == 52232352); + assert(unsigned(zero_extend(0x31d00a4, 64)) == 52232356); + assert(unsigned(zero_extend(0x31d00a8, 64)) == 52232360); + assert(unsigned(zero_extend(0x31d00ac, 64)) == 52232364); + assert(unsigned(zero_extend(0x31d00b0, 64)) == 52232368); + assert(unsigned(zero_extend(0x31d00b4, 64)) == 52232372); + assert(unsigned(zero_extend(0x31d00b8, 64)) == 52232376); + assert(unsigned(zero_extend(0x31d00bc, 64)) == 52232380); + assert(unsigned(zero_extend(0x31d00c0, 64)) == 52232384); + assert(unsigned(zero_extend(0x31d00c4, 64)) == 52232388); + assert(unsigned(zero_extend(0x31d00c8, 64)) == 52232392); + assert(unsigned(zero_extend(0x31d00cc, 64)) == 52232396); + assert(unsigned(zero_extend(0x31d00d0, 64)) == 52232400); + assert(unsigned(zero_extend(0x31d00d4, 64)) == 52232404); + assert(unsigned(zero_extend(0x31d00d8, 64)) == 52232408); + assert(unsigned(zero_extend(0x31d00dc, 64)) == 52232412); + assert(unsigned(zero_extend(0x31d00e0, 64)) == 52232416); + assert(unsigned(zero_extend(0x31d00e4, 64)) == 52232420); + assert(unsigned(zero_extend(0x31d00e8, 64)) == 52232424); + assert(unsigned(zero_extend(0x31d00ec, 64)) == 52232428); + assert(unsigned(zero_extend(0x31d00f0, 64)) == 52232432); + assert(unsigned(zero_extend(0x31d00f4, 64)) == 52232436); + assert(unsigned(zero_extend(0x31d00f8, 64)) == 52232440); + assert(unsigned(zero_extend(0x31d00fc, 64)) == 52232444); + assert(unsigned(zero_extend(0x31d0100, 64)) == 52232448); + assert(unsigned(zero_extend(0x31d0104, 64)) == 52232452); + assert(unsigned(zero_extend(0x31d0108, 64)) == 52232456); + assert(unsigned(zero_extend(0x31d010c, 64)) == 52232460); + assert(unsigned(zero_extend(0x31d0110, 64)) == 52232464); + assert(unsigned(zero_extend(0x31d0138, 64)) == 52232504); + assert(unsigned(zero_extend(0x31d013c, 64)) == 52232508); + assert(unsigned(zero_extend(0x31d0140, 64)) == 52232512); + assert(unsigned(zero_extend(0x31d0144, 64)) == 52232516); + assert(unsigned(zero_extend(0x31d0178, 64)) == 52232568); + assert(unsigned(zero_extend(0x31d017c, 64)) == 52232572); + assert(unsigned(zero_extend(0x31d0194, 64)) == 52232596); + assert(unsigned(zero_extend(0x31d01a0, 64)) == 52232608); + assert(unsigned(zero_extend(0x31d01c0, 64)) == 52232640); + assert(unsigned(zero_extend(0x31d01e0, 64)) == 52232672); + assert(unsigned(zero_extend(0x31d01e8, 64)) == 52232680); + assert(unsigned(zero_extend(0x31d01f0, 64)) == 52232688); + assert(unsigned(zero_extend(0x31d0200, 64)) == 52232704); + assert(unsigned(zero_extend(0x31d0208, 64)) == 52232712); + assert(unsigned(zero_extend(0x31d0218, 64)) == 52232728); + assert(unsigned(zero_extend(0x31d0220, 64)) == 52232736); + assert(unsigned(zero_extend(0x31d0228, 64)) == 52232744); + assert(unsigned(zero_extend(0x31d0230, 64)) == 52232752); + assert(unsigned(zero_extend(0x31d0248, 64)) == 52232776); + assert(unsigned(zero_extend(0x31d0250, 64)) == 52232784); + assert(unsigned(zero_extend(0x31d0258, 64)) == 52232792); + assert(unsigned(zero_extend(0x31d0260, 64)) == 52232800); + assert(unsigned(zero_extend(0x31d02e0, 64)) == 52232928); + assert(unsigned(zero_extend(0x31d02f0, 64)) == 52232944); + assert(unsigned(zero_extend(0x31d02f8, 64)) == 52232952); + assert(unsigned(zero_extend(0x31d0300, 64)) == 52232960); + assert(unsigned(zero_extend(0x31d0308, 64)) == 52232968); + assert(unsigned(zero_extend(0x31d0318, 64)) == 52232984); + assert(unsigned(zero_extend(0x31d0320, 64)) == 52232992); + assert(unsigned(zero_extend(0x31d0328, 64)) == 52233000); + assert(unsigned(zero_extend(0x31d04d0, 64)) == 52233424); + assert(unsigned(zero_extend(0x31d04d4, 64)) == 52233428); + assert(unsigned(zero_extend(0x31d04d8, 64)) == 52233432); + assert(unsigned(zero_extend(0x31d04dc, 64)) == 52233436); + assert(unsigned(zero_extend(0x31d04e0, 64)) == 52233440); + assert(unsigned(zero_extend(0x31d04e4, 64)) == 52233444); + assert(unsigned(zero_extend(0x31d04e8, 64)) == 52233448); + assert(unsigned(zero_extend(0x31d04ec, 64)) == 52233452); + assert(unsigned(zero_extend(0x31d04f0, 64)) == 52233456); + assert(unsigned(zero_extend(0x31d04f4, 64)) == 52233460); + assert(unsigned(zero_extend(0x31d04f8, 64)) == 52233464); + assert(unsigned(zero_extend(0x31d04fc, 64)) == 52233468); + assert(unsigned(zero_extend(0x31d0500, 64)) == 52233472); + assert(unsigned(zero_extend(0x31d0504, 64)) == 52233476); + assert(unsigned(zero_extend(0x31d0508, 64)) == 52233480); + assert(unsigned(zero_extend(0x31d050c, 64)) == 52233484); + assert(unsigned(zero_extend(0x31d0510, 64)) == 52233488); + assert(unsigned(zero_extend(0x31d0514, 64)) == 52233492); + assert(unsigned(zero_extend(0x31d0518, 64)) == 52233496); + assert(unsigned(zero_extend(0x31d051c, 64)) == 52233500); + assert(unsigned(zero_extend(0x31d0520, 64)) == 52233504); + assert(unsigned(zero_extend(0x31d0524, 64)) == 52233508); + assert(unsigned(zero_extend(0x31d0528, 64)) == 52233512); + assert(unsigned(zero_extend(0x31d052c, 64)) == 52233516); + assert(unsigned(zero_extend(0x31d0530, 64)) == 52233520); + assert(unsigned(zero_extend(0x31d0534, 64)) == 52233524); + assert(unsigned(zero_extend(0x31d0538, 64)) == 52233528); + assert(unsigned(zero_extend(0x31d053c, 64)) == 52233532); + assert(unsigned(zero_extend(0x31d0540, 64)) == 52233536); + assert(unsigned(zero_extend(0x31d0544, 64)) == 52233540); + assert(unsigned(zero_extend(0x31d0548, 64)) == 52233544); + assert(unsigned(zero_extend(0x31d054c, 64)) == 52233548); + assert(unsigned(zero_extend(0x31d0550, 64)) == 52233552); + assert(unsigned(zero_extend(0x31d0554, 64)) == 52233556); + assert(unsigned(zero_extend(0x31d0558, 64)) == 52233560); + assert(unsigned(zero_extend(0x31d055c, 64)) == 52233564); + assert(unsigned(zero_extend(0x31d0560, 64)) == 52233568); + assert(unsigned(zero_extend(0x31d0564, 64)) == 52233572); + assert(unsigned(zero_extend(0x31d0568, 64)) == 52233576); + assert(unsigned(zero_extend(0x31d056c, 64)) == 52233580); + assert(unsigned(zero_extend(0x31d0570, 64)) == 52233584); + assert(unsigned(zero_extend(0x31d0574, 64)) == 52233588); + assert(unsigned(zero_extend(0x31d0578, 64)) == 52233592); + assert(unsigned(zero_extend(0x31d057c, 64)) == 52233596); + assert(unsigned(zero_extend(0x31d0580, 64)) == 52233600); + assert(unsigned(zero_extend(0x31d0584, 64)) == 52233604); + assert(unsigned(zero_extend(0x31d0588, 64)) == 52233608); + assert(unsigned(zero_extend(0x31d058c, 64)) == 52233612); + assert(unsigned(zero_extend(0x31d0590, 64)) == 52233616); + assert(unsigned(zero_extend(0x31d0594, 64)) == 52233620); + assert(unsigned(zero_extend(0x31d0598, 64)) == 52233624); + assert(unsigned(zero_extend(0x31d059c, 64)) == 52233628); + assert(unsigned(zero_extend(0x31d05a0, 64)) == 52233632); + assert(unsigned(zero_extend(0x31d05a4, 64)) == 52233636); + assert(unsigned(zero_extend(0x31d05a8, 64)) == 52233640); + assert(unsigned(zero_extend(0x31d05ac, 64)) == 52233644); + assert(unsigned(zero_extend(0x31d05b0, 64)) == 52233648); + assert(unsigned(zero_extend(0x31d05b4, 64)) == 52233652); + assert(unsigned(zero_extend(0x31d05b8, 64)) == 52233656); + assert(unsigned(zero_extend(0x31d05bc, 64)) == 52233660); + assert(unsigned(zero_extend(0x31d05c0, 64)) == 52233664); + assert(unsigned(zero_extend(0x31d05c4, 64)) == 52233668); + assert(unsigned(zero_extend(0x31d05c8, 64)) == 52233672); + assert(unsigned(zero_extend(0x31d05cc, 64)) == 52233676); + assert(unsigned(zero_extend(0x31d05d0, 64)) == 52233680); + assert(unsigned(zero_extend(0x31d05d4, 64)) == 52233684); + assert(unsigned(zero_extend(0x31d05d8, 64)) == 52233688); + assert(unsigned(zero_extend(0x31d05dc, 64)) == 52233692); + assert(unsigned(zero_extend(0x31d05e0, 64)) == 52233696); + assert(unsigned(zero_extend(0x31d05e4, 64)) == 52233700); + assert(unsigned(zero_extend(0x31d05e8, 64)) == 52233704); + assert(unsigned(zero_extend(0x31d05ec, 64)) == 52233708); + assert(unsigned(zero_extend(0x31d05f0, 64)) == 52233712); + assert(unsigned(zero_extend(0x31d05f4, 64)) == 52233716); + assert(unsigned(zero_extend(0x31d05f8, 64)) == 52233720); + assert(unsigned(zero_extend(0x31d05fc, 64)) == 52233724); + assert(unsigned(zero_extend(0x31d0600, 64)) == 52233728); + assert(unsigned(zero_extend(0x31d0604, 64)) == 52233732); + assert(unsigned(zero_extend(0x31d0608, 64)) == 52233736); + assert(unsigned(zero_extend(0x31d060c, 64)) == 52233740); + assert(unsigned(zero_extend(0x31d0610, 64)) == 52233744); + assert(unsigned(zero_extend(0x31d0614, 64)) == 52233748); + assert(unsigned(zero_extend(0x31d0618, 64)) == 52233752); + assert(unsigned(zero_extend(0x31d061c, 64)) == 52233756); + assert(unsigned(zero_extend(0x31d0620, 64)) == 52233760); + assert(unsigned(zero_extend(0x31d0624, 64)) == 52233764); + assert(unsigned(zero_extend(0x31d0628, 64)) == 52233768); + assert(unsigned(zero_extend(0x31d062c, 64)) == 52233772); + assert(unsigned(zero_extend(0x31d0630, 64)) == 52233776); + assert(unsigned(zero_extend(0x31d0634, 64)) == 52233780); + assert(unsigned(zero_extend(0x31d0638, 64)) == 52233784); + assert(unsigned(zero_extend(0x31d063c, 64)) == 52233788); + assert(unsigned(zero_extend(0x31d0640, 64)) == 52233792); + assert(unsigned(zero_extend(0x31d0644, 64)) == 52233796); + assert(unsigned(zero_extend(0x31d0648, 64)) == 52233800); + assert(unsigned(zero_extend(0x31d064c, 64)) == 52233804); + assert(unsigned(zero_extend(0x31d0650, 64)) == 52233808); + assert(unsigned(zero_extend(0x31d0654, 64)) == 52233812); + assert(unsigned(zero_extend(0x31d0658, 64)) == 52233816); + assert(unsigned(zero_extend(0x31d065c, 64)) == 52233820); + assert(unsigned(zero_extend(0x31d0660, 64)) == 52233824); + assert(unsigned(zero_extend(0x31d0664, 64)) == 52233828); + assert(unsigned(zero_extend(0x31d0668, 64)) == 52233832); + assert(unsigned(zero_extend(0x31d066c, 64)) == 52233836); + assert(unsigned(zero_extend(0x31d0670, 64)) == 52233840); + assert(unsigned(zero_extend(0x31d0674, 64)) == 52233844); + assert(unsigned(zero_extend(0x31d0678, 64)) == 52233848); + assert(unsigned(zero_extend(0x31d067c, 64)) == 52233852); + assert(unsigned(zero_extend(0x31d0680, 64)) == 52233856); + assert(unsigned(zero_extend(0x31d0684, 64)) == 52233860); + assert(unsigned(zero_extend(0x31d0688, 64)) == 52233864); + assert(unsigned(zero_extend(0x31d068c, 64)) == 52233868); + assert(unsigned(zero_extend(0x31d0690, 64)) == 52233872); + assert(unsigned(zero_extend(0x31d0694, 64)) == 52233876); + assert(unsigned(zero_extend(0x31d0698, 64)) == 52233880); + assert(unsigned(zero_extend(0x31d06b0, 64)) == 52233904); + assert(unsigned(zero_extend(0x31d06b4, 64)) == 52233908); + assert(unsigned(zero_extend(0x31d06b8, 64)) == 52233912); + assert(unsigned(zero_extend(0x31d06bc, 64)) == 52233916); + assert(unsigned(zero_extend(0x31d06c0, 64)) == 52233920); + assert(unsigned(zero_extend(0x31d06c4, 64)) == 52233924); + assert(unsigned(zero_extend(0x31d06c8, 64)) == 52233928); + assert(unsigned(zero_extend(0x31d06cc, 64)) == 52233932); + assert(unsigned(zero_extend(0x31d06d0, 64)) == 52233936); + assert(unsigned(zero_extend(0x31d06d4, 64)) == 52233940); + assert(unsigned(zero_extend(0x31d06d8, 64)) == 52233944); + assert(unsigned(zero_extend(0x31d06dc, 64)) == 52233948); + assert(unsigned(zero_extend(0x31d06e0, 64)) == 52233952); + assert(unsigned(zero_extend(0x31d06e4, 64)) == 52233956); + assert(unsigned(zero_extend(0x31d06e8, 64)) == 52233960); + assert(unsigned(zero_extend(0x31d0700, 64)) == 52233984); + assert(unsigned(zero_extend(0x31d0704, 64)) == 52233988); + assert(unsigned(zero_extend(0x31d0708, 64)) == 52233992); + assert(unsigned(zero_extend(0x31d070c, 64)) == 52233996); + assert(unsigned(zero_extend(0x31d0710, 64)) == 52234000); + assert(unsigned(zero_extend(0x31d0714, 64)) == 52234004); + assert(unsigned(zero_extend(0x31d0718, 64)) == 52234008); + assert(unsigned(zero_extend(0x31d071c, 64)) == 52234012); + assert(unsigned(zero_extend(0x31d0720, 64)) == 52234016); + assert(unsigned(zero_extend(0x31d0724, 64)) == 52234020); + assert(unsigned(zero_extend(0x31d073c, 64)) == 52234044); + assert(unsigned(zero_extend(0x31d0740, 64)) == 52234048); + assert(unsigned(zero_extend(0x31d0744, 64)) == 52234052); + assert(unsigned(zero_extend(0x31d0748, 64)) == 52234056); + assert(unsigned(zero_extend(0x31d074c, 64)) == 52234060); + assert(unsigned(zero_extend(0x31d0750, 64)) == 52234064); + assert(unsigned(zero_extend(0x31d0754, 64)) == 52234068); + assert(unsigned(zero_extend(0x31d0758, 64)) == 52234072); + assert(unsigned(zero_extend(0x31d075c, 64)) == 52234076); + assert(unsigned(zero_extend(0x31d0760, 64)) == 52234080); + assert(unsigned(zero_extend(0x31d0764, 64)) == 52234084); + assert(unsigned(zero_extend(0x31d0768, 64)) == 52234088); + assert(unsigned(zero_extend(0x31d076c, 64)) == 52234092); + assert(unsigned(zero_extend(0x31d0770, 64)) == 52234096); + assert(unsigned(zero_extend(0x31d0774, 64)) == 52234100); + assert(unsigned(zero_extend(0x31d0778, 64)) == 52234104); + assert(unsigned(zero_extend(0x31d077c, 64)) == 52234108); + assert(unsigned(zero_extend(0x31d0780, 64)) == 52234112); + assert(unsigned(zero_extend(0x31d0784, 64)) == 52234116); + assert(unsigned(zero_extend(0x31d0788, 64)) == 52234120); + assert(unsigned(zero_extend(0x31d078c, 64)) == 52234124); + assert(unsigned(zero_extend(0x31d0790, 64)) == 52234128); + assert(unsigned(zero_extend(0x31d07d8, 64)) == 52234200); + assert(unsigned(zero_extend(0x31d07dc, 64)) == 52234204); + assert(unsigned(zero_extend(0x31d07e0, 64)) == 52234208); + assert(unsigned(zero_extend(0x31d07e4, 64)) == 52234212); + assert(unsigned(zero_extend(0x31d07e8, 64)) == 52234216); + assert(unsigned(zero_extend(0x31d07ec, 64)) == 52234220); + assert(unsigned(zero_extend(0x31d07f0, 64)) == 52234224); + assert(unsigned(zero_extend(0x31d07f4, 64)) == 52234228); + assert(unsigned(zero_extend(0x31d07f8, 64)) == 52234232); + assert(unsigned(zero_extend(0x31d07fc, 64)) == 52234236); + assert(unsigned(zero_extend(0x31d0800, 64)) == 52234240); + assert(unsigned(zero_extend(0x31d0804, 64)) == 52234244); + assert(unsigned(zero_extend(0x31d0808, 64)) == 52234248); + assert(unsigned(zero_extend(0x31d080c, 64)) == 52234252); + assert(unsigned(zero_extend(0x31d0810, 64)) == 52234256); + assert(unsigned(zero_extend(0x31d0814, 64)) == 52234260); + assert(unsigned(zero_extend(0x31d0818, 64)) == 52234264); + assert(unsigned(zero_extend(0x31d081c, 64)) == 52234268); + assert(unsigned(zero_extend(0x31d0820, 64)) == 52234272); + assert(unsigned(zero_extend(0x31d0824, 64)) == 52234276); + assert(unsigned(zero_extend(0x31d0828, 64)) == 52234280); + assert(unsigned(zero_extend(0x31d082c, 64)) == 52234284); + assert(unsigned(zero_extend(0x31d0830, 64)) == 52234288); + assert(unsigned(zero_extend(0x31d0834, 64)) == 52234292); + assert(unsigned(zero_extend(0x31d0838, 64)) == 52234296); + assert(unsigned(zero_extend(0x31d083c, 64)) == 52234300); + assert(unsigned(zero_extend(0x31d0840, 64)) == 52234304); + assert(unsigned(zero_extend(0x31d0844, 64)) == 52234308); + assert(unsigned(zero_extend(0x31d0848, 64)) == 52234312); + assert(unsigned(zero_extend(0x31d084c, 64)) == 52234316); + assert(unsigned(zero_extend(0x31d0850, 64)) == 52234320); + assert(unsigned(zero_extend(0x31d0854, 64)) == 52234324); + assert(unsigned(zero_extend(0x31d0858, 64)) == 52234328); + assert(unsigned(zero_extend(0x31d085c, 64)) == 52234332); + assert(unsigned(zero_extend(0x31d0860, 64)) == 52234336); + assert(unsigned(zero_extend(0x31d0864, 64)) == 52234340); + assert(unsigned(zero_extend(0x31d0868, 64)) == 52234344); + assert(unsigned(zero_extend(0x31d086c, 64)) == 52234348); + assert(unsigned(zero_extend(0x31d0870, 64)) == 52234352); + assert(unsigned(zero_extend(0x31d0874, 64)) == 52234356); + assert(unsigned(zero_extend(0x31d0890, 64)) == 52234384); + assert(unsigned(zero_extend(0x31d0898, 64)) == 52234392); + assert(unsigned(zero_extend(0x31d08a0, 64)) == 52234400); + assert(unsigned(zero_extend(0x31d08a8, 64)) == 52234408); + assert(unsigned(zero_extend(0x31d08ac, 64)) == 52234412); + assert(unsigned(zero_extend(0x31d08b0, 64)) == 52234416); + assert(unsigned(zero_extend(0x31d08b4, 64)) == 52234420); + assert(unsigned(zero_extend(0x31d08b8, 64)) == 52234424); + assert(unsigned(zero_extend(0x31d08bc, 64)) == 52234428); + assert(unsigned(zero_extend(0x31d08c0, 64)) == 52234432); + assert(unsigned(zero_extend(0x31d08c4, 64)) == 52234436); + assert(unsigned(zero_extend(0x31d08c8, 64)) == 52234440); + assert(unsigned(zero_extend(0x31d08cc, 64)) == 52234444); + assert(unsigned(zero_extend(0x31d08d0, 64)) == 52234448); + assert(unsigned(zero_extend(0x31d08d4, 64)) == 52234452); + assert(unsigned(zero_extend(0x31d08d8, 64)) == 52234456); + assert(unsigned(zero_extend(0x31d08dc, 64)) == 52234460); + assert(unsigned(zero_extend(0x31d08e0, 64)) == 52234464); + assert(unsigned(zero_extend(0x31d08e4, 64)) == 52234468); + assert(unsigned(zero_extend(0x31d08e8, 64)) == 52234472); + assert(unsigned(zero_extend(0x31d08ec, 64)) == 52234476); + assert(unsigned(zero_extend(0x31d08f0, 64)) == 52234480); + assert(unsigned(zero_extend(0x31d08f4, 64)) == 52234484); + assert(unsigned(zero_extend(0x31d08fc, 64)) == 52234492); + assert(unsigned(zero_extend(0x31d0900, 64)) == 52234496); + assert(unsigned(zero_extend(0x31d0904, 64)) == 52234500); + assert(unsigned(zero_extend(0x31d0908, 64)) == 52234504); + assert(unsigned(zero_extend(0x31d090c, 64)) == 52234508); + assert(unsigned(zero_extend(0x31d0910, 64)) == 52234512); + assert(unsigned(zero_extend(0x31d0914, 64)) == 52234516); + assert(unsigned(zero_extend(0x31d0918, 64)) == 52234520); + assert(unsigned(zero_extend(0x31d091c, 64)) == 52234524); + assert(unsigned(zero_extend(0x31d0920, 64)) == 52234528); + assert(unsigned(zero_extend(0x31d0924, 64)) == 52234532); + assert(unsigned(zero_extend(0x31d0928, 64)) == 52234536); + assert(unsigned(zero_extend(0x31d092c, 64)) == 52234540); + assert(unsigned(zero_extend(0x31d0930, 64)) == 52234544); + assert(unsigned(zero_extend(0x31d0934, 64)) == 52234548); + assert(unsigned(zero_extend(0x31d0938, 64)) == 52234552); + assert(unsigned(zero_extend(0x31d093c, 64)) == 52234556); + assert(unsigned(zero_extend(0x31d0940, 64)) == 52234560); + assert(unsigned(zero_extend(0x31d0944, 64)) == 52234564); + assert(unsigned(zero_extend(0x31d0948, 64)) == 52234568); + assert(unsigned(zero_extend(0x31d094c, 64)) == 52234572); + assert(unsigned(zero_extend(0x31d0950, 64)) == 52234576); + assert(unsigned(zero_extend(0x31d0954, 64)) == 52234580); + assert(unsigned(zero_extend(0x31d0958, 64)) == 52234584); + assert(unsigned(zero_extend(0x31d095c, 64)) == 52234588); + assert(unsigned(zero_extend(0x31d0960, 64)) == 52234592); + assert(unsigned(zero_extend(0x31d0964, 64)) == 52234596); + assert(unsigned(zero_extend(0x31d0968, 64)) == 52234600); + assert(unsigned(zero_extend(0x31d096c, 64)) == 52234604); + assert(unsigned(zero_extend(0x31d0970, 64)) == 52234608); + assert(unsigned(zero_extend(0x31d0974, 64)) == 52234612); + assert(unsigned(zero_extend(0x31d0978, 64)) == 52234616); + assert(unsigned(zero_extend(0x31d097c, 64)) == 52234620); + assert(unsigned(zero_extend(0x31d0980, 64)) == 52234624); + assert(unsigned(zero_extend(0x31d0984, 64)) == 52234628); + assert(unsigned(zero_extend(0x31d0988, 64)) == 52234632); + assert(unsigned(zero_extend(0x31d098c, 64)) == 52234636); + assert(unsigned(zero_extend(0x31d0990, 64)) == 52234640); + assert(unsigned(zero_extend(0x31d0994, 64)) == 52234644); + assert(unsigned(zero_extend(0x31d0998, 64)) == 52234648); + assert(unsigned(zero_extend(0x31d099c, 64)) == 52234652); + assert(unsigned(zero_extend(0x31d09a0, 64)) == 52234656); + assert(unsigned(zero_extend(0x31d09a4, 64)) == 52234660); + assert(unsigned(zero_extend(0x31d09a8, 64)) == 52234664); + assert(unsigned(zero_extend(0x31d09ac, 64)) == 52234668); + assert(unsigned(zero_extend(0x31d09b0, 64)) == 52234672); + assert(unsigned(zero_extend(0x31d09b4, 64)) == 52234676); + assert(unsigned(zero_extend(0x31d09b8, 64)) == 52234680); + assert(unsigned(zero_extend(0x31d09bc, 64)) == 52234684); + assert(unsigned(zero_extend(0x31d09c0, 64)) == 52234688); + assert(unsigned(zero_extend(0x31d09c4, 64)) == 52234692); + assert(unsigned(zero_extend(0x31d09c8, 64)) == 52234696); + assert(unsigned(zero_extend(0x31d09cc, 64)) == 52234700); + assert(unsigned(zero_extend(0x31d09d0, 64)) == 52234704); + assert(unsigned(zero_extend(0x31d09d4, 64)) == 52234708); + assert(unsigned(zero_extend(0x31d09dc, 64)) == 52234716); + assert(unsigned(zero_extend(0x31d09e0, 64)) == 52234720); + assert(unsigned(zero_extend(0x31d09e4, 64)) == 52234724); + assert(unsigned(zero_extend(0x31d09e8, 64)) == 52234728); + assert(unsigned(zero_extend(0x31d09ec, 64)) == 52234732); + assert(unsigned(zero_extend(0x31d09f0, 64)) == 52234736); + assert(unsigned(zero_extend(0x31d09f4, 64)) == 52234740); + assert(unsigned(zero_extend(0x31d09f8, 64)) == 52234744); + assert(unsigned(zero_extend(0x31d09fc, 64)) == 52234748); + assert(unsigned(zero_extend(0x31d0a08, 64)) == 52234760); + assert(unsigned(zero_extend(0x31d0a0c, 64)) == 52234764); + assert(unsigned(zero_extend(0x31d0a10, 64)) == 52234768); + assert(unsigned(zero_extend(0x31d0a14, 64)) == 52234772); + assert(unsigned(zero_extend(0x31d0a18, 64)) == 52234776); + assert(unsigned(zero_extend(0x31d0a1c, 64)) == 52234780); + assert(unsigned(zero_extend(0x31d0a20, 64)) == 52234784); + assert(unsigned(zero_extend(0x31d0a24, 64)) == 52234788); + assert(unsigned(zero_extend(0x31d0a28, 64)) == 52234792); + assert(unsigned(zero_extend(0x31d0a2c, 64)) == 52234796); + assert(unsigned(zero_extend(0x31d0a30, 64)) == 52234800); + assert(unsigned(zero_extend(0x31d0a34, 64)) == 52234804); + assert(unsigned(zero_extend(0x31d0a38, 64)) == 52234808); + assert(unsigned(zero_extend(0x31d0a3c, 64)) == 52234812); + assert(unsigned(zero_extend(0x31d0a40, 64)) == 52234816); + assert(unsigned(zero_extend(0x31d0a44, 64)) == 52234820); + assert(unsigned(zero_extend(0x31d0a48, 64)) == 52234824); + assert(unsigned(zero_extend(0x31d0a4c, 64)) == 52234828); + assert(unsigned(zero_extend(0x31d0a50, 64)) == 52234832); + assert(unsigned(zero_extend(0x31d0a54, 64)) == 52234836); + assert(unsigned(zero_extend(0x31d0a58, 64)) == 52234840); + assert(unsigned(zero_extend(0x31d0a5c, 64)) == 52234844); + assert(unsigned(zero_extend(0x31d0a60, 64)) == 52234848); + assert(unsigned(zero_extend(0x31d0a64, 64)) == 52234852); + assert(unsigned(zero_extend(0x31d0a68, 64)) == 52234856); + assert(unsigned(zero_extend(0x31d0a6c, 64)) == 52234860); + assert(unsigned(zero_extend(0x31d0a70, 64)) == 52234864); + assert(unsigned(zero_extend(0x31d0a74, 64)) == 52234868); + assert(unsigned(zero_extend(0x31d0a78, 64)) == 52234872); + assert(unsigned(zero_extend(0x31d0a7c, 64)) == 52234876); + assert(unsigned(zero_extend(0x31d0a80, 64)) == 52234880); + assert(unsigned(zero_extend(0x31d0a84, 64)) == 52234884); + assert(unsigned(zero_extend(0x31d0a88, 64)) == 52234888); + assert(unsigned(zero_extend(0x31d0a8c, 64)) == 52234892); + assert(unsigned(zero_extend(0x31d0a90, 64)) == 52234896); + assert(unsigned(zero_extend(0x31d0a94, 64)) == 52234900); + assert(unsigned(zero_extend(0x31d0a98, 64)) == 52234904); + assert(unsigned(zero_extend(0x31d0a9c, 64)) == 52234908); + assert(unsigned(zero_extend(0x31d0aa0, 64)) == 52234912); + assert(unsigned(zero_extend(0x31d0aa4, 64)) == 52234916); + assert(unsigned(zero_extend(0x31d0aa8, 64)) == 52234920); + assert(unsigned(zero_extend(0x31d0aac, 64)) == 52234924); + assert(unsigned(zero_extend(0x31d0ab0, 64)) == 52234928); + assert(unsigned(zero_extend(0x31d0ab4, 64)) == 52234932); + assert(unsigned(zero_extend(0x31d0ab8, 64)) == 52234936); + assert(unsigned(zero_extend(0x31d0abc, 64)) == 52234940); + assert(unsigned(zero_extend(0x31d0ac0, 64)) == 52234944); + assert(unsigned(zero_extend(0x31d0ac4, 64)) == 52234948); + assert(unsigned(zero_extend(0x31d0ac8, 64)) == 52234952); + assert(unsigned(zero_extend(0x31d0acc, 64)) == 52234956); + assert(unsigned(zero_extend(0x31d0ad0, 64)) == 52234960); + assert(unsigned(zero_extend(0x31d0ad4, 64)) == 52234964); + assert(unsigned(zero_extend(0x31d0ad8, 64)) == 52234968); + assert(unsigned(zero_extend(0x31d0adc, 64)) == 52234972); + assert(unsigned(zero_extend(0x31d0ae0, 64)) == 52234976); + assert(unsigned(zero_extend(0x31d0ae4, 64)) == 52234980); + assert(unsigned(zero_extend(0x31d0ae8, 64)) == 52234984); + assert(unsigned(zero_extend(0x31d0aec, 64)) == 52234988); + assert(unsigned(zero_extend(0x31d0af0, 64)) == 52234992); + assert(unsigned(zero_extend(0x31d0af4, 64)) == 52234996); + assert(unsigned(zero_extend(0x31d0af8, 64)) == 52235000); + assert(unsigned(zero_extend(0x31d0b08, 64)) == 52235016); + assert(unsigned(zero_extend(0x31d0b0c, 64)) == 52235020); + assert(unsigned(zero_extend(0x31d0b10, 64)) == 52235024); + assert(unsigned(zero_extend(0x31d0b14, 64)) == 52235028); + assert(unsigned(zero_extend(0x31d0b18, 64)) == 52235032); + assert(unsigned(zero_extend(0x31d0b1c, 64)) == 52235036); + assert(unsigned(zero_extend(0x31d0b20, 64)) == 52235040); + assert(unsigned(zero_extend(0x31d0b24, 64)) == 52235044); + assert(unsigned(zero_extend(0x31d0b28, 64)) == 52235048); + assert(unsigned(zero_extend(0x31d0b34, 64)) == 52235060); + assert(unsigned(zero_extend(0x31d0b38, 64)) == 52235064); + assert(unsigned(zero_extend(0x31d0b3c, 64)) == 52235068); + assert(unsigned(zero_extend(0x31d0b40, 64)) == 52235072); + assert(unsigned(zero_extend(0x31d0b50, 64)) == 52235088); + assert(unsigned(zero_extend(0x31d0b54, 64)) == 52235092); + assert(unsigned(zero_extend(0x31d0b58, 64)) == 52235096); + assert(unsigned(zero_extend(0x31d0b5c, 64)) == 52235100); + assert(unsigned(zero_extend(0x31d0b60, 64)) == 52235104); + assert(unsigned(zero_extend(0x31d0b64, 64)) == 52235108); + assert(unsigned(zero_extend(0x31d0b68, 64)) == 52235112); + assert(unsigned(zero_extend(0x31d0b6c, 64)) == 52235116); + assert(unsigned(zero_extend(0x31d0b70, 64)) == 52235120); + assert(unsigned(zero_extend(0x31d0b74, 64)) == 52235124); + assert(unsigned(zero_extend(0x31d0b78, 64)) == 52235128); + assert(unsigned(zero_extend(0x31d0b7c, 64)) == 52235132); + assert(unsigned(zero_extend(0x31d0b80, 64)) == 52235136); + assert(unsigned(zero_extend(0x31d0b84, 64)) == 52235140); + assert(unsigned(zero_extend(0x31d0b88, 64)) == 52235144); + assert(unsigned(zero_extend(0x31d0b8c, 64)) == 52235148); + assert(unsigned(zero_extend(0x31d0b90, 64)) == 52235152); + assert(unsigned(zero_extend(0x31d0b94, 64)) == 52235156); + assert(unsigned(zero_extend(0x31d0b98, 64)) == 52235160); + assert(unsigned(zero_extend(0x31d0b9c, 64)) == 52235164); + assert(unsigned(zero_extend(0x31d0ba0, 64)) == 52235168); + assert(unsigned(zero_extend(0x31d0ba4, 64)) == 52235172); + assert(unsigned(zero_extend(0x31d0ba8, 64)) == 52235176); + assert(unsigned(zero_extend(0x31d0bac, 64)) == 52235180); + assert(unsigned(zero_extend(0x31d0bb0, 64)) == 52235184); + assert(unsigned(zero_extend(0x31d0bb4, 64)) == 52235188); + assert(unsigned(zero_extend(0x31d0bb8, 64)) == 52235192); + assert(unsigned(zero_extend(0x31d0bbc, 64)) == 52235196); + assert(unsigned(zero_extend(0x31d0bc0, 64)) == 52235200); + assert(unsigned(zero_extend(0x31d0bc4, 64)) == 52235204); + assert(unsigned(zero_extend(0x31d0bc8, 64)) == 52235208); + assert(unsigned(zero_extend(0x31d0bcc, 64)) == 52235212); + assert(unsigned(zero_extend(0x31d0bd0, 64)) == 52235216); + assert(unsigned(zero_extend(0x31d0bd4, 64)) == 52235220); + assert(unsigned(zero_extend(0x31d0bd8, 64)) == 52235224); + assert(unsigned(zero_extend(0x31d0bdc, 64)) == 52235228); + assert(unsigned(zero_extend(0x31d0be0, 64)) == 52235232); + assert(unsigned(zero_extend(0x31d0be4, 64)) == 52235236); + assert(unsigned(zero_extend(0x31d0be8, 64)) == 52235240); + assert(unsigned(zero_extend(0x31d0bec, 64)) == 52235244); + assert(unsigned(zero_extend(0x31d0bf0, 64)) == 52235248); + assert(unsigned(zero_extend(0x31d0bf4, 64)) == 52235252); + assert(unsigned(zero_extend(0x31d0bf8, 64)) == 52235256); + assert(unsigned(zero_extend(0x31d0bfc, 64)) == 52235260); + assert(unsigned(zero_extend(0x31d0c00, 64)) == 52235264); + assert(unsigned(zero_extend(0x31d0c04, 64)) == 52235268); + assert(unsigned(zero_extend(0x31d0c08, 64)) == 52235272); + assert(unsigned(zero_extend(0x31d0c0c, 64)) == 52235276); + assert(unsigned(zero_extend(0x31d0c1c, 64)) == 52235292); + assert(unsigned(zero_extend(0x31d0c20, 64)) == 52235296); + assert(unsigned(zero_extend(0x31d0c24, 64)) == 52235300); + assert(unsigned(zero_extend(0x31d0c28, 64)) == 52235304); + assert(unsigned(zero_extend(0x31d0c2c, 64)) == 52235308); + assert(unsigned(zero_extend(0x31d0c30, 64)) == 52235312); + assert(unsigned(zero_extend(0x31d0c34, 64)) == 52235316); + assert(unsigned(zero_extend(0x31d0c38, 64)) == 52235320); + assert(unsigned(zero_extend(0x31d0c3c, 64)) == 52235324); + assert(unsigned(zero_extend(0x31d0c48, 64)) == 52235336); + assert(unsigned(zero_extend(0x31d0c4c, 64)) == 52235340); + assert(unsigned(zero_extend(0x31d0c50, 64)) == 52235344); + assert(unsigned(zero_extend(0x31d0c54, 64)) == 52235348); + assert(unsigned(zero_extend(0x31d0c64, 64)) == 52235364); + assert(unsigned(zero_extend(0x31d0c68, 64)) == 52235368); + assert(unsigned(zero_extend(0x31d0c6c, 64)) == 52235372); + assert(unsigned(zero_extend(0x31d0c70, 64)) == 52235376); + assert(unsigned(zero_extend(0x31d0c74, 64)) == 52235380); + assert(unsigned(zero_extend(0x31d0c78, 64)) == 52235384); + assert(unsigned(zero_extend(0x31d0c7c, 64)) == 52235388); + assert(unsigned(zero_extend(0x31d0c80, 64)) == 52235392); + assert(unsigned(zero_extend(0x31d0c84, 64)) == 52235396); + assert(unsigned(zero_extend(0x31d0c88, 64)) == 52235400); + assert(unsigned(zero_extend(0x31d0c8c, 64)) == 52235404); + assert(unsigned(zero_extend(0x31d0c90, 64)) == 52235408); + assert(unsigned(zero_extend(0x31d0c94, 64)) == 52235412); + assert(unsigned(zero_extend(0x31d0c98, 64)) == 52235416); + assert(unsigned(zero_extend(0x31d0c9c, 64)) == 52235420); + assert(unsigned(zero_extend(0x31d0ca0, 64)) == 52235424); + assert(unsigned(zero_extend(0x31d0ca4, 64)) == 52235428); + assert(unsigned(zero_extend(0x31d0ca8, 64)) == 52235432); + assert(unsigned(zero_extend(0x31d0cac, 64)) == 52235436); + assert(unsigned(zero_extend(0x31d0cb0, 64)) == 52235440); + assert(unsigned(zero_extend(0x31d0cb4, 64)) == 52235444); + assert(unsigned(zero_extend(0x31d0cb8, 64)) == 52235448); + assert(unsigned(zero_extend(0x31d0cbc, 64)) == 52235452); + assert(unsigned(zero_extend(0x31d0cc0, 64)) == 52235456); + assert(unsigned(zero_extend(0x31d0cc4, 64)) == 52235460); + assert(unsigned(zero_extend(0x31d0cc8, 64)) == 52235464); + assert(unsigned(zero_extend(0x31d0ccc, 64)) == 52235468); + assert(unsigned(zero_extend(0x31d0cd0, 64)) == 52235472); + assert(unsigned(zero_extend(0x31d0cd4, 64)) == 52235476); + assert(unsigned(zero_extend(0x31d0cd8, 64)) == 52235480); + assert(unsigned(zero_extend(0x31d0cdc, 64)) == 52235484); + assert(unsigned(zero_extend(0x31d0ce0, 64)) == 52235488); + assert(unsigned(zero_extend(0x31d0ce4, 64)) == 52235492); + assert(unsigned(zero_extend(0x31d0ce8, 64)) == 52235496); + assert(unsigned(zero_extend(0x31d0cec, 64)) == 52235500); + assert(unsigned(zero_extend(0x31d0cf0, 64)) == 52235504); + assert(unsigned(zero_extend(0x31d0cf4, 64)) == 52235508); + assert(unsigned(zero_extend(0x31d0cf8, 64)) == 52235512); + assert(unsigned(zero_extend(0x31d0cfc, 64)) == 52235516); + assert(unsigned(zero_extend(0x31d0d00, 64)) == 52235520); + assert(unsigned(zero_extend(0x31d0d04, 64)) == 52235524); + assert(unsigned(zero_extend(0x31d0d08, 64)) == 52235528); + assert(unsigned(zero_extend(0x31d0d0c, 64)) == 52235532); + assert(unsigned(zero_extend(0x31d0d10, 64)) == 52235536); + assert(unsigned(zero_extend(0x31d0d14, 64)) == 52235540); + assert(unsigned(zero_extend(0x31d0d24, 64)) == 52235556); + assert(unsigned(zero_extend(0x31d0d28, 64)) == 52235560); + assert(unsigned(zero_extend(0x31d0d2c, 64)) == 52235564); + assert(unsigned(zero_extend(0x31d0d30, 64)) == 52235568); + assert(unsigned(zero_extend(0x31d0d34, 64)) == 52235572); + assert(unsigned(zero_extend(0x31d0d38, 64)) == 52235576); + assert(unsigned(zero_extend(0x31d0d3c, 64)) == 52235580); + assert(unsigned(zero_extend(0x31d0d48, 64)) == 52235592); + assert(unsigned(zero_extend(0x31d0d4c, 64)) == 52235596); + assert(unsigned(zero_extend(0x31d0d50, 64)) == 52235600); + assert(unsigned(zero_extend(0x31d0d54, 64)) == 52235604); + assert(unsigned(zero_extend(0x31d0d64, 64)) == 52235620); + assert(unsigned(zero_extend(0x31d0d68, 64)) == 52235624); + assert(unsigned(zero_extend(0x31d0d6c, 64)) == 52235628); + assert(unsigned(zero_extend(0x31d0d70, 64)) == 52235632); + assert(unsigned(zero_extend(0x31d0d74, 64)) == 52235636); + assert(unsigned(zero_extend(0x31d0d78, 64)) == 52235640); + assert(unsigned(zero_extend(0x31d0d7c, 64)) == 52235644); + assert(unsigned(zero_extend(0x31d0d80, 64)) == 52235648); + assert(unsigned(zero_extend(0x31d0d84, 64)) == 52235652); + assert(unsigned(zero_extend(0x31d0d88, 64)) == 52235656); + assert(unsigned(zero_extend(0x31d0d8c, 64)) == 52235660); + assert(unsigned(zero_extend(0x31d0d90, 64)) == 52235664); + assert(unsigned(zero_extend(0x31d0d94, 64)) == 52235668); + assert(unsigned(zero_extend(0x31d0d98, 64)) == 52235672); + assert(unsigned(zero_extend(0x31d0d9c, 64)) == 52235676); + assert(unsigned(zero_extend(0x31d0da0, 64)) == 52235680); + assert(unsigned(zero_extend(0x31d0da4, 64)) == 52235684); + assert(unsigned(zero_extend(0x31d0da8, 64)) == 52235688); + assert(unsigned(zero_extend(0x31d0dac, 64)) == 52235692); + assert(unsigned(zero_extend(0x31d0db0, 64)) == 52235696); + assert(unsigned(zero_extend(0x31d0db4, 64)) == 52235700); + assert(unsigned(zero_extend(0x31d0db8, 64)) == 52235704); + assert(unsigned(zero_extend(0x31d0dbc, 64)) == 52235708); + assert(unsigned(zero_extend(0x31d0dc0, 64)) == 52235712); + assert(unsigned(zero_extend(0x31d0dc4, 64)) == 52235716); + assert(unsigned(zero_extend(0x31d0dc8, 64)) == 52235720); + assert(unsigned(zero_extend(0x31d0dcc, 64)) == 52235724); + assert(unsigned(zero_extend(0x31d0dd0, 64)) == 52235728); + assert(unsigned(zero_extend(0x31d0dd4, 64)) == 52235732); + assert(unsigned(zero_extend(0x31d0dd8, 64)) == 52235736); + assert(unsigned(zero_extend(0x31d0ddc, 64)) == 52235740); + assert(unsigned(zero_extend(0x31d0de0, 64)) == 52235744); + assert(unsigned(zero_extend(0x31d0de4, 64)) == 52235748); + assert(unsigned(zero_extend(0x31d0de8, 64)) == 52235752); + assert(unsigned(zero_extend(0x31d0dec, 64)) == 52235756); + assert(unsigned(zero_extend(0x31d0df0, 64)) == 52235760); + assert(unsigned(zero_extend(0x31d0df4, 64)) == 52235764); + assert(unsigned(zero_extend(0x31d0df8, 64)) == 52235768); + assert(unsigned(zero_extend(0x31d0dfc, 64)) == 52235772); + assert(unsigned(zero_extend(0x31d0e00, 64)) == 52235776); + assert(unsigned(zero_extend(0x31d0e04, 64)) == 52235780); + assert(unsigned(zero_extend(0x31d0e08, 64)) == 52235784); + assert(unsigned(zero_extend(0x31d0e0c, 64)) == 52235788); + assert(unsigned(zero_extend(0x31d0e10, 64)) == 52235792); + assert(unsigned(zero_extend(0x31d0e14, 64)) == 52235796); + assert(unsigned(zero_extend(0x31d0e18, 64)) == 52235800); + assert(unsigned(zero_extend(0x31d0e1c, 64)) == 52235804); + assert(unsigned(zero_extend(0x31d0e20, 64)) == 52235808); + assert(unsigned(zero_extend(0x31d0e24, 64)) == 52235812); + assert(unsigned(zero_extend(0x31d0e28, 64)) == 52235816); + assert(unsigned(zero_extend(0x31d0e2c, 64)) == 52235820); + assert(unsigned(zero_extend(0x31d0e30, 64)) == 52235824); + assert(unsigned(zero_extend(0x31d0e34, 64)) == 52235828); + assert(unsigned(zero_extend(0x31d0e38, 64)) == 52235832); + assert(unsigned(zero_extend(0x31d0e40, 64)) == 52235840); + assert(unsigned(zero_extend(0x31d0e48, 64)) == 52235848); + assert(unsigned(zero_extend(0x31d0e50, 64)) == 52235856); + assert(unsigned(zero_extend(0x31d0e58, 64)) == 52235864); + assert(unsigned(zero_extend(0x31d0e5c, 64)) == 52235868); + assert(unsigned(zero_extend(0x31d0e60, 64)) == 52235872); + assert(unsigned(zero_extend(0x31d0e64, 64)) == 52235876); + assert(unsigned(zero_extend(0x31d0e68, 64)) == 52235880); + assert(unsigned(zero_extend(0x31d0e6c, 64)) == 52235884); + assert(unsigned(zero_extend(0x31d0e70, 64)) == 52235888); + assert(unsigned(zero_extend(0x31d0e74, 64)) == 52235892); + assert(unsigned(zero_extend(0x31d0e78, 64)) == 52235896); + assert(unsigned(zero_extend(0x31d0e7c, 64)) == 52235900); + assert(unsigned(zero_extend(0x31d0e80, 64)) == 52235904); + assert(unsigned(zero_extend(0x31d0e84, 64)) == 52235908); + assert(unsigned(zero_extend(0x31d0e88, 64)) == 52235912); + assert(unsigned(zero_extend(0x31d0e8c, 64)) == 52235916); + assert(unsigned(zero_extend(0x31d0f3c, 64)) == 52236092); + assert(unsigned(zero_extend(0x31d0f40, 64)) == 52236096); + assert(unsigned(zero_extend(0x31d0f44, 64)) == 52236100); + assert(unsigned(zero_extend(0x31d0f48, 64)) == 52236104); + assert(unsigned(zero_extend(0x31d0f4c, 64)) == 52236108); + assert(unsigned(zero_extend(0x31d0f50, 64)) == 52236112); + assert(unsigned(zero_extend(0x31d0f54, 64)) == 52236116); + assert(unsigned(zero_extend(0x31d0f58, 64)) == 52236120); + assert(unsigned(zero_extend(0x31d0f5c, 64)) == 52236124); + assert(unsigned(zero_extend(0x31d0f60, 64)) == 52236128); + assert(unsigned(zero_extend(0x31d0f64, 64)) == 52236132); + assert(unsigned(zero_extend(0x31d0f68, 64)) == 52236136); + assert(unsigned(zero_extend(0x31d0f6c, 64)) == 52236140); + assert(unsigned(zero_extend(0x31d0f70, 64)) == 52236144); + assert(unsigned(zero_extend(0x31d0f74, 64)) == 52236148); + assert(unsigned(zero_extend(0x31d0f78, 64)) == 52236152); + assert(unsigned(zero_extend(0x31d0f7c, 64)) == 52236156); + assert(unsigned(zero_extend(0x31d0f8c, 64)) == 52236172); + assert(unsigned(zero_extend(0x31d0f90, 64)) == 52236176); + assert(unsigned(zero_extend(0x31d0f94, 64)) == 52236180); + assert(unsigned(zero_extend(0x31d0f98, 64)) == 52236184); + assert(unsigned(zero_extend(0x31d0f9c, 64)) == 52236188); + assert(unsigned(zero_extend(0x31d0fa0, 64)) == 52236192); + assert(unsigned(zero_extend(0x31d0fb0, 64)) == 52236208); + assert(unsigned(zero_extend(0x31d0fb4, 64)) == 52236212); + assert(unsigned(zero_extend(0x31d0fb8, 64)) == 52236216); + assert(unsigned(zero_extend(0x31d0fbc, 64)) == 52236220); + assert(unsigned(zero_extend(0x31d0fc0, 64)) == 52236224); + assert(unsigned(zero_extend(0x31d0fc4, 64)) == 52236228); + assert(unsigned(zero_extend(0x31d105c, 64)) == 52236380); + assert(unsigned(zero_extend(0x31d1060, 64)) == 52236384); + assert(unsigned(zero_extend(0x31d1064, 64)) == 52236388); + assert(unsigned(zero_extend(0x31d1068, 64)) == 52236392); + assert(unsigned(zero_extend(0x31d106c, 64)) == 52236396); + assert(unsigned(zero_extend(0x31d1078, 64)) == 52236408); + assert(unsigned(zero_extend(0x31d107c, 64)) == 52236412); + assert(unsigned(zero_extend(0x31d1080, 64)) == 52236416); + assert(unsigned(zero_extend(0x31d1084, 64)) == 52236420); + assert(unsigned(zero_extend(0x31d1088, 64)) == 52236424); + assert(unsigned(zero_extend(0x31d108c, 64)) == 52236428); + assert(unsigned(zero_extend(0x31d1090, 64)) == 52236432); + assert(unsigned(zero_extend(0x31d1094, 64)) == 52236436); + assert(unsigned(zero_extend(0x31d10a0, 64)) == 52236448); + assert(unsigned(zero_extend(0x31d10a4, 64)) == 52236452); + assert(unsigned(zero_extend(0x31d10a8, 64)) == 52236456); + assert(unsigned(zero_extend(0x31d10b0, 64)) == 52236464); + assert(unsigned(zero_extend(0x31d10b8, 64)) == 52236472); + assert(unsigned(zero_extend(0x31d10bc, 64)) == 52236476); + assert(unsigned(zero_extend(0x31d10c0, 64)) == 52236480); + assert(unsigned(zero_extend(0x31d10c4, 64)) == 52236484); + assert(unsigned(zero_extend(0x31d10c8, 64)) == 52236488); + assert(unsigned(zero_extend(0x31d10cc, 64)) == 52236492); + assert(unsigned(zero_extend(0x31d10d0, 64)) == 52236496); + assert(unsigned(zero_extend(0x31d10d4, 64)) == 52236500); + assert(unsigned(zero_extend(0x31d10d8, 64)) == 52236504); + assert(unsigned(zero_extend(0x31d10dc, 64)) == 52236508); + assert(unsigned(zero_extend(0x31d10e0, 64)) == 52236512); + assert(unsigned(zero_extend(0x31d10e4, 64)) == 52236516); + assert(unsigned(zero_extend(0x31d10e8, 64)) == 52236520); + assert(unsigned(zero_extend(0x31d10ec, 64)) == 52236524); + assert(unsigned(zero_extend(0x31d10f0, 64)) == 52236528); + assert(unsigned(zero_extend(0x31d10f4, 64)) == 52236532); + assert(unsigned(zero_extend(0x31d10f8, 64)) == 52236536); + assert(unsigned(zero_extend(0x31d1100, 64)) == 52236544); + assert(unsigned(zero_extend(0x31d1108, 64)) == 52236552); + assert(unsigned(zero_extend(0x31d1110, 64)) == 52236560); + assert(unsigned(zero_extend(0x31d1118, 64)) == 52236568); + assert(unsigned(zero_extend(0x31d111c, 64)) == 52236572); + assert(unsigned(zero_extend(0x31d1120, 64)) == 52236576); + assert(unsigned(zero_extend(0x31d1124, 64)) == 52236580); + assert(unsigned(zero_extend(0x31d1128, 64)) == 52236584); + assert(unsigned(zero_extend(0x31d112c, 64)) == 52236588); + assert(unsigned(zero_extend(0x31d1130, 64)) == 52236592); + assert(unsigned(zero_extend(0x31d1134, 64)) == 52236596); + assert(unsigned(zero_extend(0x31d1138, 64)) == 52236600); + assert(unsigned(zero_extend(0x31d113c, 64)) == 52236604); + assert(unsigned(zero_extend(0x31d1140, 64)) == 52236608); + assert(unsigned(zero_extend(0x31d1144, 64)) == 52236612); + assert(unsigned(zero_extend(0x31d1148, 64)) == 52236616); + assert(unsigned(zero_extend(0x31d114c, 64)) == 52236620); + assert(unsigned(zero_extend(0x31d1150, 64)) == 52236624); + assert(unsigned(zero_extend(0x31d1154, 64)) == 52236628); + assert(unsigned(zero_extend(0x31d1158, 64)) == 52236632); + assert(unsigned(zero_extend(0x31d115c, 64)) == 52236636); + assert(unsigned(zero_extend(0x31d1160, 64)) == 52236640); + assert(unsigned(zero_extend(0x31d1164, 64)) == 52236644); + assert(unsigned(zero_extend(0x31d1168, 64)) == 52236648); + assert(unsigned(zero_extend(0x31d1170, 64)) == 52236656); + assert(unsigned(zero_extend(0x31d1178, 64)) == 52236664); + assert(unsigned(zero_extend(0x31d1180, 64)) == 52236672); + assert(unsigned(zero_extend(0x31d1184, 64)) == 52236676); + assert(unsigned(zero_extend(0x31d1188, 64)) == 52236680); + assert(unsigned(zero_extend(0x31d118c, 64)) == 52236684); + assert(unsigned(zero_extend(0x31d1190, 64)) == 52236688); + assert(unsigned(zero_extend(0x31d1194, 64)) == 52236692); + assert(unsigned(zero_extend(0x31d1198, 64)) == 52236696); + assert(unsigned(zero_extend(0x31d119c, 64)) == 52236700); + assert(unsigned(zero_extend(0x31d11a0, 64)) == 52236704); + assert(unsigned(zero_extend(0x31d11a4, 64)) == 52236708); + assert(unsigned(zero_extend(0x31d11a8, 64)) == 52236712); + assert(unsigned(zero_extend(0x31d11ac, 64)) == 52236716); + assert(unsigned(zero_extend(0x31d11b0, 64)) == 52236720); + assert(unsigned(zero_extend(0x31d11b4, 64)) == 52236724); + assert(unsigned(zero_extend(0x31d11b8, 64)) == 52236728); + assert(unsigned(zero_extend(0x31d11bc, 64)) == 52236732); + assert(unsigned(zero_extend(0x31d11c0, 64)) == 52236736); + assert(unsigned(zero_extend(0x31d11c4, 64)) == 52236740); + assert(unsigned(zero_extend(0x31d11c8, 64)) == 52236744); + assert(unsigned(zero_extend(0x31d11cc, 64)) == 52236748); + assert(unsigned(zero_extend(0x31d11d0, 64)) == 52236752); + assert(unsigned(zero_extend(0x31d11d4, 64)) == 52236756); + assert(unsigned(zero_extend(0x31d11d8, 64)) == 52236760); + assert(unsigned(zero_extend(0x31d11dc, 64)) == 52236764); + assert(unsigned(zero_extend(0x31d11e0, 64)) == 52236768); + assert(unsigned(zero_extend(0x31d11ec, 64)) == 52236780); + assert(unsigned(zero_extend(0x31d11f0, 64)) == 52236784); + assert(unsigned(zero_extend(0x31d11f8, 64)) == 52236792); + assert(unsigned(zero_extend(0x31d11fc, 64)) == 52236796); + assert(unsigned(zero_extend(0x31d1200, 64)) == 52236800); + assert(unsigned(zero_extend(0x31d1204, 64)) == 52236804); + assert(unsigned(zero_extend(0x31d1208, 64)) == 52236808); + assert(unsigned(zero_extend(0x31d120c, 64)) == 52236812); + assert(unsigned(zero_extend(0x31d1220, 64)) == 52236832); + assert(unsigned(zero_extend(0x31d1224, 64)) == 52236836); + assert(unsigned(zero_extend(0x31d1254, 64)) == 52236884); + assert(unsigned(zero_extend(0x31d1258, 64)) == 52236888); + assert(unsigned(zero_extend(0x31d125c, 64)) == 52236892); + assert(unsigned(zero_extend(0x31d129c, 64)) == 52236956); + assert(unsigned(zero_extend(0x31d12a0, 64)) == 52236960); + assert(unsigned(zero_extend(0x31d12a4, 64)) == 52236964); + assert(unsigned(zero_extend(0x31d12a8, 64)) == 52236968); + assert(unsigned(zero_extend(0x31d12ac, 64)) == 52236972); + assert(unsigned(zero_extend(0x31d12b0, 64)) == 52236976); + assert(unsigned(zero_extend(0x31d12b4, 64)) == 52236980); + assert(unsigned(zero_extend(0x31d12b8, 64)) == 52236984); + assert(unsigned(zero_extend(0x31d12bc, 64)) == 52236988); + assert(unsigned(zero_extend(0x31d12c0, 64)) == 52236992); + assert(unsigned(zero_extend(0x31d12c4, 64)) == 52236996); + assert(unsigned(zero_extend(0x31d12c8, 64)) == 52237000); + assert(unsigned(zero_extend(0x31d12cc, 64)) == 52237004); + assert(unsigned(zero_extend(0x31d12d0, 64)) == 52237008); + assert(unsigned(zero_extend(0x31d12d4, 64)) == 52237012); + assert(unsigned(zero_extend(0x31d12d8, 64)) == 52237016); + assert(unsigned(zero_extend(0x31d12dc, 64)) == 52237020); + assert(unsigned(zero_extend(0x31d12e0, 64)) == 52237024); + assert(unsigned(zero_extend(0x31d12e4, 64)) == 52237028); + assert(unsigned(zero_extend(0x31d12e8, 64)) == 52237032); + assert(unsigned(zero_extend(0x31d12ec, 64)) == 52237036); + assert(unsigned(zero_extend(0x31d12f0, 64)) == 52237040); + assert(unsigned(zero_extend(0x31d12f4, 64)) == 52237044); + assert(unsigned(zero_extend(0x31d12f8, 64)) == 52237048); + assert(unsigned(zero_extend(0x31d12fc, 64)) == 52237052); + assert(unsigned(zero_extend(0x31d1300, 64)) == 52237056); + assert(unsigned(zero_extend(0x31d1304, 64)) == 52237060); + assert(unsigned(zero_extend(0x31d1308, 64)) == 52237064); + assert(unsigned(zero_extend(0x31d130c, 64)) == 52237068); + assert(unsigned(zero_extend(0x31d1310, 64)) == 52237072); + assert(unsigned(zero_extend(0x31d1314, 64)) == 52237076); + assert(unsigned(zero_extend(0x31d1318, 64)) == 52237080); + assert(unsigned(zero_extend(0x31d131c, 64)) == 52237084); + assert(unsigned(zero_extend(0x31d1320, 64)) == 52237088); + assert(unsigned(zero_extend(0x31d1324, 64)) == 52237092); + assert(unsigned(zero_extend(0x31d1328, 64)) == 52237096); + assert(unsigned(zero_extend(0x31d132c, 64)) == 52237100); + assert(unsigned(zero_extend(0x31d1330, 64)) == 52237104); + assert(unsigned(zero_extend(0x31d1334, 64)) == 52237108); + assert(unsigned(zero_extend(0x31d1338, 64)) == 52237112); + assert(unsigned(zero_extend(0x31d133c, 64)) == 52237116); + assert(unsigned(zero_extend(0x31d1340, 64)) == 52237120); + assert(unsigned(zero_extend(0x31d1344, 64)) == 52237124); + assert(unsigned(zero_extend(0x31d1348, 64)) == 52237128); + assert(unsigned(zero_extend(0x31d134c, 64)) == 52237132); + assert(unsigned(zero_extend(0x31d1350, 64)) == 52237136); + assert(unsigned(zero_extend(0x31d1354, 64)) == 52237140); + assert(unsigned(zero_extend(0x31d1358, 64)) == 52237144); + assert(unsigned(zero_extend(0x31d135c, 64)) == 52237148); + assert(unsigned(zero_extend(0x31d1360, 64)) == 52237152); + assert(unsigned(zero_extend(0x31d1364, 64)) == 52237156); + assert(unsigned(zero_extend(0x31d1368, 64)) == 52237160); + assert(unsigned(zero_extend(0x31d136c, 64)) == 52237164); + assert(unsigned(zero_extend(0x31d1370, 64)) == 52237168); + assert(unsigned(zero_extend(0x31d1374, 64)) == 52237172); + assert(unsigned(zero_extend(0x31d1378, 64)) == 52237176); + assert(unsigned(zero_extend(0x31d137c, 64)) == 52237180); + assert(unsigned(zero_extend(0x31d1380, 64)) == 52237184); + assert(unsigned(zero_extend(0x31d1384, 64)) == 52237188); + assert(unsigned(zero_extend(0x31d1388, 64)) == 52237192); + assert(unsigned(zero_extend(0x31d1390, 64)) == 52237200); + assert(unsigned(zero_extend(0x31d1398, 64)) == 52237208); + assert(unsigned(zero_extend(0x31d13a0, 64)) == 52237216); + assert(unsigned(zero_extend(0x31d13a8, 64)) == 52237224); + assert(unsigned(zero_extend(0x31d13b0, 64)) == 52237232); + assert(unsigned(zero_extend(0x31d13b8, 64)) == 52237240); + assert(unsigned(zero_extend(0x31d13c0, 64)) == 52237248); + assert(unsigned(zero_extend(0x31d13c8, 64)) == 52237256); + assert(unsigned(zero_extend(0x31d13d0, 64)) == 52237264); + assert(unsigned(zero_extend(0x31d13d8, 64)) == 52237272); + assert(unsigned(zero_extend(0x31d13e0, 64)) == 52237280); + assert(unsigned(zero_extend(0x31d13e8, 64)) == 52237288); + assert(unsigned(zero_extend(0x31d13f0, 64)) == 52237296); + assert(unsigned(zero_extend(0x31d13f8, 64)) == 52237304); + assert(unsigned(zero_extend(0x31d1400, 64)) == 52237312); + assert(unsigned(zero_extend(0x31d1408, 64)) == 52237320); + assert(unsigned(zero_extend(0x31d1410, 64)) == 52237328); + assert(unsigned(zero_extend(0x31d1418, 64)) == 52237336); + assert(unsigned(zero_extend(0x31d1420, 64)) == 52237344); + assert(unsigned(zero_extend(0x31d1428, 64)) == 52237352); + assert(unsigned(zero_extend(0x31d1430, 64)) == 52237360); + assert(unsigned(zero_extend(0x31d1438, 64)) == 52237368); + assert(unsigned(zero_extend(0x31d1440, 64)) == 52237376); + assert(unsigned(zero_extend(0x31d1448, 64)) == 52237384); + assert(unsigned(zero_extend(0x31d1450, 64)) == 52237392); + assert(unsigned(zero_extend(0x31d1458, 64)) == 52237400); + assert(unsigned(zero_extend(0x31d1460, 64)) == 52237408); + assert(unsigned(zero_extend(0x31d1468, 64)) == 52237416); + assert(unsigned(zero_extend(0x31d1470, 64)) == 52237424); + assert(unsigned(zero_extend(0x31d1478, 64)) == 52237432); + assert(unsigned(zero_extend(0x31d1480, 64)) == 52237440); + assert(unsigned(zero_extend(0x31d1488, 64)) == 52237448); + assert(unsigned(zero_extend(0x31d1490, 64)) == 52237456); + assert(unsigned(zero_extend(0x31d1498, 64)) == 52237464); + assert(unsigned(zero_extend(0x31d14a0, 64)) == 52237472); + assert(unsigned(zero_extend(0x31d14a8, 64)) == 52237480); + assert(unsigned(zero_extend(0x31d14b0, 64)) == 52237488); + assert(unsigned(zero_extend(0x31d14b8, 64)) == 52237496); + assert(unsigned(zero_extend(0x31d14c0, 64)) == 52237504); + assert(unsigned(zero_extend(0x31d14c8, 64)) == 52237512); + assert(unsigned(zero_extend(0x31d14d0, 64)) == 52237520); + assert(unsigned(zero_extend(0x31d14d8, 64)) == 52237528); + assert(unsigned(zero_extend(0x31d14e0, 64)) == 52237536); + assert(unsigned(zero_extend(0x31d14e8, 64)) == 52237544); + assert(unsigned(zero_extend(0x31d14f0, 64)) == 52237552); + assert(unsigned(zero_extend(0x31d14f8, 64)) == 52237560); + assert(unsigned(zero_extend(0x31d1500, 64)) == 52237568); + assert(unsigned(zero_extend(0x31d1508, 64)) == 52237576); + assert(unsigned(zero_extend(0x31d1510, 64)) == 52237584); + assert(unsigned(zero_extend(0x31d1518, 64)) == 52237592); + assert(unsigned(zero_extend(0x31d1520, 64)) == 52237600); + assert(unsigned(zero_extend(0x31d1528, 64)) == 52237608); + assert(unsigned(zero_extend(0x31d1530, 64)) == 52237616); + assert(unsigned(zero_extend(0x31d1538, 64)) == 52237624); + assert(unsigned(zero_extend(0x31d1540, 64)) == 52237632); + assert(unsigned(zero_extend(0x31d1548, 64)) == 52237640); + assert(unsigned(zero_extend(0x31d1550, 64)) == 52237648); + assert(unsigned(zero_extend(0x31d1558, 64)) == 52237656); + assert(unsigned(zero_extend(0x31d1560, 64)) == 52237664); + assert(unsigned(zero_extend(0x31d1568, 64)) == 52237672); + assert(unsigned(zero_extend(0x31d1570, 64)) == 52237680); + assert(unsigned(zero_extend(0x31d1578, 64)) == 52237688); + assert(unsigned(zero_extend(0x31d1580, 64)) == 52237696); + assert(unsigned(zero_extend(0x31d1588, 64)) == 52237704); + assert(unsigned(zero_extend(0x31d1590, 64)) == 52237712); + assert(unsigned(zero_extend(0x31d1598, 64)) == 52237720); + assert(unsigned(zero_extend(0x31d15a0, 64)) == 52237728); + assert(unsigned(zero_extend(0x31d15a8, 64)) == 52237736); + assert(unsigned(zero_extend(0x31d15b0, 64)) == 52237744); + assert(unsigned(zero_extend(0x31d15b8, 64)) == 52237752); + assert(unsigned(zero_extend(0x31d15c0, 64)) == 52237760); + assert(unsigned(zero_extend(0x31d15c8, 64)) == 52237768); + assert(unsigned(zero_extend(0x31d15d0, 64)) == 52237776); + assert(unsigned(zero_extend(0x31d15d8, 64)) == 52237784); + assert(unsigned(zero_extend(0x31d15e0, 64)) == 52237792); + assert(unsigned(zero_extend(0x31d15e8, 64)) == 52237800); + assert(unsigned(zero_extend(0x31d15f0, 64)) == 52237808); + assert(unsigned(zero_extend(0x31d15f8, 64)) == 52237816); + assert(unsigned(zero_extend(0x31d1600, 64)) == 52237824); + assert(unsigned(zero_extend(0x31d1608, 64)) == 52237832); + assert(unsigned(zero_extend(0x31d1610, 64)) == 52237840); + assert(unsigned(zero_extend(0x31d1618, 64)) == 52237848); + assert(unsigned(zero_extend(0x31d1620, 64)) == 52237856); + assert(unsigned(zero_extend(0x31d1628, 64)) == 52237864); + assert(unsigned(zero_extend(0x31d1630, 64)) == 52237872); + assert(unsigned(zero_extend(0x31d1638, 64)) == 52237880); + assert(unsigned(zero_extend(0x31d1640, 64)) == 52237888); + assert(unsigned(zero_extend(0x31d1648, 64)) == 52237896); + assert(unsigned(zero_extend(0x31d1650, 64)) == 52237904); + assert(unsigned(zero_extend(0x31d1658, 64)) == 52237912); + assert(unsigned(zero_extend(0x31d1660, 64)) == 52237920); + assert(unsigned(zero_extend(0x31d1668, 64)) == 52237928); + assert(unsigned(zero_extend(0x31d1670, 64)) == 52237936); + assert(unsigned(zero_extend(0x31d1678, 64)) == 52237944); + assert(unsigned(zero_extend(0x31d1680, 64)) == 52237952); + assert(unsigned(zero_extend(0x31d1688, 64)) == 52237960); + assert(unsigned(zero_extend(0x31d1690, 64)) == 52237968); + assert(unsigned(zero_extend(0x31d1698, 64)) == 52237976); + assert(unsigned(zero_extend(0x31d16a0, 64)) == 52237984); + assert(unsigned(zero_extend(0x31d16a8, 64)) == 52237992); + assert(unsigned(zero_extend(0x31d16b0, 64)) == 52238000); + assert(unsigned(zero_extend(0x31d16b8, 64)) == 52238008); + assert(unsigned(zero_extend(0x31d16c0, 64)) == 52238016); + assert(unsigned(zero_extend(0x31d16c8, 64)) == 52238024); + assert(unsigned(zero_extend(0x31d16d0, 64)) == 52238032); + assert(unsigned(zero_extend(0x31d16d8, 64)) == 52238040); + assert(unsigned(zero_extend(0x31d16e0, 64)) == 52238048); + assert(unsigned(zero_extend(0x31d16e8, 64)) == 52238056); + assert(unsigned(zero_extend(0x31d16f0, 64)) == 52238064); + assert(unsigned(zero_extend(0x31d16f8, 64)) == 52238072); + assert(unsigned(zero_extend(0x31d1700, 64)) == 52238080); + assert(unsigned(zero_extend(0x31d1708, 64)) == 52238088); + assert(unsigned(zero_extend(0x31d1710, 64)) == 52238096); + assert(unsigned(zero_extend(0x31d1718, 64)) == 52238104); + assert(unsigned(zero_extend(0x31d1720, 64)) == 52238112); + assert(unsigned(zero_extend(0x31d1728, 64)) == 52238120); + assert(unsigned(zero_extend(0x31d1730, 64)) == 52238128); + assert(unsigned(zero_extend(0x31d1738, 64)) == 52238136); + assert(unsigned(zero_extend(0x31d1740, 64)) == 52238144); + assert(unsigned(zero_extend(0x31d1748, 64)) == 52238152); + assert(unsigned(zero_extend(0x31d1750, 64)) == 52238160); + assert(unsigned(zero_extend(0x31d1758, 64)) == 52238168); + assert(unsigned(zero_extend(0x31d1760, 64)) == 52238176); + assert(unsigned(zero_extend(0x31d1768, 64)) == 52238184); + assert(unsigned(zero_extend(0x31d1770, 64)) == 52238192); + assert(unsigned(zero_extend(0x31d1778, 64)) == 52238200); + assert(unsigned(zero_extend(0x31d1780, 64)) == 52238208); + assert(unsigned(zero_extend(0x31d17d0, 64)) == 52238288); + assert(unsigned(zero_extend(0x31d17d4, 64)) == 52238292); + assert(unsigned(zero_extend(0x31d17e0, 64)) == 52238304); + assert(unsigned(zero_extend(0x31d17e8, 64)) == 52238312); + assert(unsigned(zero_extend(0x31d17f0, 64)) == 52238320); + assert(unsigned(zero_extend(0x31d17f4, 64)) == 52238324); + assert(unsigned(zero_extend(0x31d17f8, 64)) == 52238328); + assert(unsigned(zero_extend(0x31d1800, 64)) == 52238336); + assert(unsigned(zero_extend(0x31d1808, 64)) == 52238344); + assert(unsigned(zero_extend(0x31d1810, 64)) == 52238352); + assert(unsigned(zero_extend(0x31d1818, 64)) == 52238360); + assert(unsigned(zero_extend(0x31d1820, 64)) == 52238368); + assert(unsigned(zero_extend(0x31d1828, 64)) == 52238376); + assert(unsigned(zero_extend(0x31d1830, 64)) == 52238384); + assert(unsigned(zero_extend(0x31d1838, 64)) == 52238392); + assert(unsigned(zero_extend(0x31d1840, 64)) == 52238400); + assert(unsigned(zero_extend(0x31d1848, 64)) == 52238408); + assert(unsigned(zero_extend(0x31d1850, 64)) == 52238416); + assert(unsigned(zero_extend(0x31d1858, 64)) == 52238424); + assert(unsigned(zero_extend(0x31d1860, 64)) == 52238432); + assert(unsigned(zero_extend(0x31d1868, 64)) == 52238440); + assert(unsigned(zero_extend(0x31d1870, 64)) == 52238448); + assert(unsigned(zero_extend(0x31d1878, 64)) == 52238456); + assert(unsigned(zero_extend(0x31d1880, 64)) == 52238464); + assert(unsigned(zero_extend(0x31d1888, 64)) == 52238472); + assert(unsigned(zero_extend(0x31d1890, 64)) == 52238480); + assert(unsigned(zero_extend(0x31d1898, 64)) == 52238488); + assert(unsigned(zero_extend(0x31d18a0, 64)) == 52238496); + assert(unsigned(zero_extend(0x31d18a8, 64)) == 52238504); + assert(unsigned(zero_extend(0x31d18b0, 64)) == 52238512); + assert(unsigned(zero_extend(0x31d18b8, 64)) == 52238520); + assert(unsigned(zero_extend(0x31d18c0, 64)) == 52238528); + assert(unsigned(zero_extend(0x31d18d0, 64)) == 52238544); + assert(unsigned(zero_extend(0x31d18d8, 64)) == 52238552); + assert(unsigned(zero_extend(0x31d18e0, 64)) == 52238560); + assert(unsigned(zero_extend(0x31d18e8, 64)) == 52238568); + assert(unsigned(zero_extend(0x31d18f0, 64)) == 52238576); + assert(unsigned(zero_extend(0x31d18f8, 64)) == 52238584); + assert(unsigned(zero_extend(0x31d1900, 64)) == 52238592); + assert(unsigned(zero_extend(0x31d1908, 64)) == 52238600); + assert(unsigned(zero_extend(0x31d1910, 64)) == 52238608); + assert(unsigned(zero_extend(0x31d1918, 64)) == 52238616); + assert(unsigned(zero_extend(0x31d1920, 64)) == 52238624); + assert(unsigned(zero_extend(0x31d1928, 64)) == 52238632); + assert(unsigned(zero_extend(0x31d1930, 64)) == 52238640); + assert(unsigned(zero_extend(0x31d1938, 64)) == 52238648); + assert(unsigned(zero_extend(0x31d1940, 64)) == 52238656); + assert(unsigned(zero_extend(0x31d1948, 64)) == 52238664); + assert(unsigned(zero_extend(0x31d1950, 64)) == 52238672); + assert(unsigned(zero_extend(0x31d1958, 64)) == 52238680); + assert(unsigned(zero_extend(0x31d1960, 64)) == 52238688); + assert(unsigned(zero_extend(0x31d1968, 64)) == 52238696); + assert(unsigned(zero_extend(0x31d1970, 64)) == 52238704); + assert(unsigned(zero_extend(0x31d1980, 64)) == 52238720); + assert(unsigned(zero_extend(0x31d1b80, 64)) == 52239232); + assert(unsigned(zero_extend(0x31d1b88, 64)) == 52239240); + assert(unsigned(zero_extend(0x31d1b90, 64)) == 52239248); + assert(unsigned(zero_extend(0x31d1b98, 64)) == 52239256); + assert(unsigned(zero_extend(0x31d1ba0, 64)) == 52239264); + assert(unsigned(zero_extend(0x31d1ba8, 64)) == 52239272); + assert(unsigned(zero_extend(0x31d1bb0, 64)) == 52239280); + assert(unsigned(zero_extend(0x31d1bb8, 64)) == 52239288); + assert(unsigned(zero_extend(0x31d1bc0, 64)) == 52239296); + assert(unsigned(zero_extend(0x31d1bc8, 64)) == 52239304); + assert(unsigned(zero_extend(0x31d1bd0, 64)) == 52239312); + assert(unsigned(zero_extend(0x31d1bd8, 64)) == 52239320); + assert(unsigned(zero_extend(0x31d1be0, 64)) == 52239328); + assert(unsigned(zero_extend(0x31d1be8, 64)) == 52239336); + assert(unsigned(zero_extend(0x31d1bf0, 64)) == 52239344); + assert(unsigned(zero_extend(0x31d1bf8, 64)) == 52239352); + assert(unsigned(zero_extend(0x31d1c00, 64)) == 52239360); + assert(unsigned(zero_extend(0x31d1c08, 64)) == 52239368); + assert(unsigned(zero_extend(0x31d1c10, 64)) == 52239376); + assert(unsigned(zero_extend(0x31d1c18, 64)) == 52239384); + assert(unsigned(zero_extend(0x31d1c20, 64)) == 52239392); + assert(unsigned(zero_extend(0x31d1c28, 64)) == 52239400); + assert(unsigned(zero_extend(0x31d1c2c, 64)) == 52239404); + assert(unsigned(zero_extend(0x31d1c30, 64)) == 52239408); + assert(unsigned(zero_extend(0x31d1c34, 64)) == 52239412); + assert(unsigned(zero_extend(0x31d1c38, 64)) == 52239416); + assert(unsigned(zero_extend(0x31d1c3c, 64)) == 52239420); + assert(unsigned(zero_extend(0x31d1c40, 64)) == 52239424); + assert(unsigned(zero_extend(0x31d1c44, 64)) == 52239428); + assert(unsigned(zero_extend(0x31d1c48, 64)) == 52239432); + assert(unsigned(zero_extend(0x31d1c4c, 64)) == 52239436); + assert(unsigned(zero_extend(0x31d1c50, 64)) == 52239440); + assert(unsigned(zero_extend(0x31d1c54, 64)) == 52239444); + assert(unsigned(zero_extend(0x31d1c58, 64)) == 52239448); + assert(unsigned(zero_extend(0x31d1c5c, 64)) == 52239452); + assert(unsigned(zero_extend(0x31d1c60, 64)) == 52239456); + assert(unsigned(zero_extend(0x31d1c64, 64)) == 52239460); + assert(unsigned(zero_extend(0x31d1c68, 64)) == 52239464); + assert(unsigned(zero_extend(0x31d1c6c, 64)) == 52239468); + assert(unsigned(zero_extend(0x31d1c70, 64)) == 52239472); + assert(unsigned(zero_extend(0x31d1c74, 64)) == 52239476); + assert(unsigned(zero_extend(0x31d1c78, 64)) == 52239480); + assert(unsigned(zero_extend(0x32, 64)) == 50); + assert(unsigned(zero_extend(0x320, 64)) == 800); + assert(unsigned(zero_extend(0x33, 64)) == 51); + assert(unsigned(zero_extend(0x34, 64)) == 52); + assert(unsigned(zero_extend(0x34000, 64)) == 212992); + assert(unsigned(zero_extend(0x34040, 64)) == 213056); + assert(unsigned(zero_extend(0x35, 64)) == 53); + assert(unsigned(zero_extend(0x36, 64)) == 54); + assert(unsigned(zero_extend(0x368, 64)) == 872); + assert(unsigned(zero_extend(0x37, 64)) == 55); + assert(unsigned(zero_extend(0x38, 64)) == 56); + assert(unsigned(zero_extend(0x3800000, 64)) == 58720256); + assert(unsigned(zero_extend(0x380000a, 64)) == 58720266); + assert(unsigned(zero_extend(0x3800010, 64)) == 58720272); + assert(unsigned(zero_extend(0x3800011, 64)) == 58720273); + assert(unsigned(zero_extend(0x3800012, 64)) == 58720274); + assert(unsigned(zero_extend(0x3800013, 64)) == 58720275); + assert(unsigned(zero_extend(0x3800018, 64)) == 58720280); + assert(unsigned(zero_extend(0x3800038, 64)) == 58720312); + assert(unsigned(zero_extend(0x380003a, 64)) == 58720314); + assert(unsigned(zero_extend(0x380003b, 64)) == 58720315); + assert(unsigned(zero_extend(0x380003c, 64)) == 58720316); + assert(unsigned(zero_extend(0x380003d, 64)) == 58720317); + assert(unsigned(zero_extend(0x3800040, 64)) == 58720320); + assert(unsigned(zero_extend(0x380004b, 64)) == 58720331); + assert(unsigned(zero_extend(0x380004c, 64)) == 58720332); + assert(unsigned(zero_extend(0x380004d, 64)) == 58720333); + assert(unsigned(zero_extend(0x380004e, 64)) == 58720334); + assert(unsigned(zero_extend(0x3800050, 64)) == 58720336); + assert(unsigned(zero_extend(0x3800060, 64)) == 58720352); + assert(unsigned(zero_extend(0x38002c0, 64)) == 58720960); + assert(unsigned(zero_extend(0x38002c8, 64)) == 58720968); + assert(unsigned(zero_extend(0x38002d0, 64)) == 58720976); + assert(unsigned(zero_extend(0x38002d8, 64)) == 58720984); + assert(unsigned(zero_extend(0x38002e0, 64)) == 58720992); + assert(unsigned(zero_extend(0x38002e8, 64)) == 58721000); + assert(unsigned(zero_extend(0x38002f0, 64)) == 58721008); + assert(unsigned(zero_extend(0x38002f8, 64)) == 58721016); + assert(unsigned(zero_extend(0x3800300, 64)) == 58721024); + assert(unsigned(zero_extend(0x3800310, 64)) == 58721040); + assert(unsigned(zero_extend(0x3800318, 64)) == 58721048); + assert(unsigned(zero_extend(0x3800320, 64)) == 58721056); + assert(unsigned(zero_extend(0x3800328, 64)) == 58721064); + assert(unsigned(zero_extend(0x3800330, 64)) == 58721072); + assert(unsigned(zero_extend(0x3800338, 64)) == 58721080); + assert(unsigned(zero_extend(0x3800340, 64)) == 58721088); + assert(unsigned(zero_extend(0x3800350, 64)) == 58721104); + assert(unsigned(zero_extend(0x3800358, 64)) == 58721112); + assert(unsigned(zero_extend(0x3800360, 64)) == 58721120); + assert(unsigned(zero_extend(0x3800368, 64)) == 58721128); + assert(unsigned(zero_extend(0x38003a0, 64)) == 58721184); + assert(unsigned(zero_extend(0x38003a8, 64)) == 58721192); + assert(unsigned(zero_extend(0x38003b0, 64)) == 58721200); + assert(unsigned(zero_extend(0x38003b4, 64)) == 58721204); + assert(unsigned(zero_extend(0x38003b8, 64)) == 58721208); + assert(unsigned(zero_extend(0x38003bc, 64)) == 58721212); + assert(unsigned(zero_extend(0x38003c0, 64)) == 58721216); + assert(unsigned(zero_extend(0x38003c4, 64)) == 58721220); + assert(unsigned(zero_extend(0x38003c8, 64)) == 58721224); + assert(unsigned(zero_extend(0x38003cc, 64)) == 58721228); + assert(unsigned(zero_extend(0x38003d0, 64)) == 58721232); + assert(unsigned(zero_extend(0x38003d4, 64)) == 58721236); + assert(unsigned(zero_extend(0x38003d8, 64)) == 58721240); + assert(unsigned(zero_extend(0x38003dc, 64)) == 58721244); + assert(unsigned(zero_extend(0x38003e0, 64)) == 58721248); + assert(unsigned(zero_extend(0x38003e4, 64)) == 58721252); + assert(unsigned(zero_extend(0x38003e8, 64)) == 58721256); + assert(unsigned(zero_extend(0x38003ec, 64)) == 58721260); + assert(unsigned(zero_extend(0x38003f0, 64)) == 58721264); + assert(unsigned(zero_extend(0x38003f8, 64)) == 58721272); + assert(unsigned(zero_extend(0x3800400, 64)) == 58721280); + assert(unsigned(zero_extend(0x3800408, 64)) == 58721288); + assert(unsigned(zero_extend(0x3800410, 64)) == 58721296); + assert(unsigned(zero_extend(0x3800418, 64)) == 58721304); + assert(unsigned(zero_extend(0x3800420, 64)) == 58721312); + assert(unsigned(zero_extend(0x3800428, 64)) == 58721320); + assert(unsigned(zero_extend(0x3800430, 64)) == 58721328); + assert(unsigned(zero_extend(0x3800438, 64)) == 58721336); + assert(unsigned(zero_extend(0x3800440, 64)) == 58721344); + assert(unsigned(zero_extend(0x3800448, 64)) == 58721352); + assert(unsigned(zero_extend(0x3800450, 64)) == 58721360); + assert(unsigned(zero_extend(0x3800458, 64)) == 58721368); + assert(unsigned(zero_extend(0x3800460, 64)) == 58721376); + assert(unsigned(zero_extend(0x3808060, 64)) == 58753120); + assert(unsigned(zero_extend(0x3808064, 64)) == 58753124); + assert(unsigned(zero_extend(0x3808068, 64)) == 58753128); + assert(unsigned(zero_extend(0x3808070, 64)) == 58753136); + assert(unsigned(zero_extend(0x3808078, 64)) == 58753144); + assert(unsigned(zero_extend(0x3808080, 64)) == 58753152); + assert(unsigned(zero_extend(0x3808140, 64)) == 58753344); + assert(unsigned(zero_extend(0x3808148, 64)) == 58753352); + assert(unsigned(zero_extend(0x3808248, 64)) == 58753608); + assert(unsigned(zero_extend(0x3808250, 64)) == 58753616); + assert(unsigned(zero_extend(0x3808258, 64)) == 58753624); + assert(unsigned(zero_extend(0x3808a00, 64)) == 58755584); + assert(unsigned(zero_extend(0x3808a04, 64)) == 58755588); + assert(unsigned(zero_extend(0x3808a08, 64)) == 58755592); + assert(unsigned(zero_extend(0x3808a10, 64)) == 58755600); + assert(unsigned(zero_extend(0x3808a18, 64)) == 58755608); + assert(unsigned(zero_extend(0x3808a20, 64)) == 58755616); + assert(unsigned(zero_extend(0x3808a70, 64)) == 58755696); + assert(unsigned(zero_extend(0x3808a78, 64)) == 58755704); + assert(unsigned(zero_extend(0x3808b78, 64)) == 58755960); + assert(unsigned(zero_extend(0x3808b80, 64)) == 58755968); + assert(unsigned(zero_extend(0x380d000, 64)) == 58773504); + assert(unsigned(zero_extend(0x380d610, 64)) == 58775056); + assert(unsigned(zero_extend(0x380d880, 64)) == 58775680); + assert(unsigned(zero_extend(0x380d888, 64)) == 58775688); + assert(unsigned(zero_extend(0x380d890, 64)) == 58775696); + assert(unsigned(zero_extend(0x380d898, 64)) == 58775704); + assert(unsigned(zero_extend(0x380d8a0, 64)) == 58775712); + assert(unsigned(zero_extend(0x380d8a8, 64)) == 58775720); + assert(unsigned(zero_extend(0x380d8b0, 64)) == 58775728); + assert(unsigned(zero_extend(0x380d8b8, 64)) == 58775736); + assert(unsigned(zero_extend(0x380d8c0, 64)) == 58775744); + assert(unsigned(zero_extend(0x380d8c8, 64)) == 58775752); + assert(unsigned(zero_extend(0x380d8d0, 64)) == 58775760); + assert(unsigned(zero_extend(0x380d8d8, 64)) == 58775768); + assert(unsigned(zero_extend(0x380d8e0, 64)) == 58775776); + assert(unsigned(zero_extend(0x380d8e8, 64)) == 58775784); + assert(unsigned(zero_extend(0x380d8f0, 64)) == 58775792); + assert(unsigned(zero_extend(0x380d8f8, 64)) == 58775800); + assert(unsigned(zero_extend(0x380d900, 64)) == 58775808); + assert(unsigned(zero_extend(0x380d908, 64)) == 58775816); + assert(unsigned(zero_extend(0x380d910, 64)) == 58775824); + assert(unsigned(zero_extend(0x380d960, 64)) == 58775904); + assert(unsigned(zero_extend(0x380d968, 64)) == 58775912); + assert(unsigned(zero_extend(0x380d970, 64)) == 58775920); + assert(unsigned(zero_extend(0x380d974, 64)) == 58775924); + assert(unsigned(zero_extend(0x380d978, 64)) == 58775928); + assert(unsigned(zero_extend(0x380d97c, 64)) == 58775932); + assert(unsigned(zero_extend(0x380d980, 64)) == 58775936); + assert(unsigned(zero_extend(0x380d984, 64)) == 58775940); + assert(unsigned(zero_extend(0x380d988, 64)) == 58775944); + assert(unsigned(zero_extend(0x380d98c, 64)) == 58775948); + assert(unsigned(zero_extend(0x380d990, 64)) == 58775952); + assert(unsigned(zero_extend(0x380d994, 64)) == 58775956); + assert(unsigned(zero_extend(0x380d998, 64)) == 58775960); + assert(unsigned(zero_extend(0x380d99c, 64)) == 58775964); + assert(unsigned(zero_extend(0x380d9a0, 64)) == 58775968); + assert(unsigned(zero_extend(0x380d9a4, 64)) == 58775972); + assert(unsigned(zero_extend(0x380d9a8, 64)) == 58775976); + assert(unsigned(zero_extend(0x380d9ac, 64)) == 58775980); + assert(unsigned(zero_extend(0x380d9b0, 64)) == 58775984); + assert(unsigned(zero_extend(0x380d9b8, 64)) == 58775992); + assert(unsigned(zero_extend(0x380d9c0, 64)) == 58776000); + assert(unsigned(zero_extend(0x380d9c8, 64)) == 58776008); + assert(unsigned(zero_extend(0x380d9d0, 64)) == 58776016); + assert(unsigned(zero_extend(0x380d9d8, 64)) == 58776024); + assert(unsigned(zero_extend(0x380d9e0, 64)) == 58776032); + assert(unsigned(zero_extend(0x380d9e8, 64)) == 58776040); + assert(unsigned(zero_extend(0x380d9f0, 64)) == 58776048); + assert(unsigned(zero_extend(0x380d9f8, 64)) == 58776056); + assert(unsigned(zero_extend(0x380da00, 64)) == 58776064); + assert(unsigned(zero_extend(0x380da08, 64)) == 58776072); + assert(unsigned(zero_extend(0x380da10, 64)) == 58776080); + assert(unsigned(zero_extend(0x3811610, 64)) == 58791440); + assert(unsigned(zero_extend(0x3813610, 64)) == 58799632); + assert(unsigned(zero_extend(0x3815610, 64)) == 58807824); + assert(unsigned(zero_extend(0x3815618, 64)) == 58807832); + assert(unsigned(zero_extend(0x3815624, 64)) == 58807844); + assert(unsigned(zero_extend(0x3815628, 64)) == 58807848); + assert(unsigned(zero_extend(0x3815630, 64)) == 58807856); + assert(unsigned(zero_extend(0x3815638, 64)) == 58807864); + assert(unsigned(zero_extend(0x381563c, 64)) == 58807868); + assert(unsigned(zero_extend(0x3815640, 64)) == 58807872); + assert(unsigned(zero_extend(0x3815648, 64)) == 58807880); + assert(unsigned(zero_extend(0x3815650, 64)) == 58807888); + assert(unsigned(zero_extend(0x3815658, 64)) == 58807896); + assert(unsigned(zero_extend(0x3815668, 64)) == 58807912); + assert(unsigned(zero_extend(0x3815670, 64)) == 58807920); + assert(unsigned(zero_extend(0x3815678, 64)) == 58807928); + assert(unsigned(zero_extend(0x3815778, 64)) == 58808184); + assert(unsigned(zero_extend(0x3815780, 64)) == 58808192); + assert(unsigned(zero_extend(0x3815b50, 64)) == 58809168); + assert(unsigned(zero_extend(0x3815b58, 64)) == 58809176); + assert(unsigned(zero_extend(0x3815c58, 64)) == 58809432); + assert(unsigned(zero_extend(0x3815c60, 64)) == 58809440); + assert(unsigned(zero_extend(0x3815d80, 64)) == 58809728); + assert(unsigned(zero_extend(0x3817d80, 64)) == 58817920); + assert(unsigned(zero_extend(0x3819d80, 64)) == 58826112); + assert(unsigned(zero_extend(0x3819d84, 64)) == 58826116); + assert(unsigned(zero_extend(0x3819d88, 64)) == 58826120); + assert(unsigned(zero_extend(0x3819d8c, 64)) == 58826124); + assert(unsigned(zero_extend(0x3819d90, 64)) == 58826128); + assert(unsigned(zero_extend(0x3819d98, 64)) == 58826136); + assert(unsigned(zero_extend(0x3819da0, 64)) == 58826144); + assert(unsigned(zero_extend(0x3819da8, 64)) == 58826152); + assert(unsigned(zero_extend(0x3819db8, 64)) == 58826168); + assert(unsigned(zero_extend(0x3819dc0, 64)) == 58826176); + assert(unsigned(zero_extend(0x3819dc8, 64)) == 58826184); + assert(unsigned(zero_extend(0x3819ed0, 64)) == 58826448); + assert(unsigned(zero_extend(0x381a000, 64)) == 58826752); + assert(unsigned(zero_extend(0x381a280, 64)) == 58827392); + assert(unsigned(zero_extend(0x381a284, 64)) == 58827396); + assert(unsigned(zero_extend(0x381a288, 64)) == 58827400); + assert(unsigned(zero_extend(0x381a28c, 64)) == 58827404); + assert(unsigned(zero_extend(0x381a290, 64)) == 58827408); + assert(unsigned(zero_extend(0x381a298, 64)) == 58827416); + assert(unsigned(zero_extend(0x381a2a0, 64)) == 58827424); + assert(unsigned(zero_extend(0x381a2a8, 64)) == 58827432); + assert(unsigned(zero_extend(0x381a2b8, 64)) == 58827448); + assert(unsigned(zero_extend(0x381a2c0, 64)) == 58827456); + assert(unsigned(zero_extend(0x381a2c8, 64)) == 58827464); + assert(unsigned(zero_extend(0x381a3c8, 64)) == 58827720); + assert(unsigned(zero_extend(0x381a3d0, 64)) == 58827728); + assert(unsigned(zero_extend(0x381a4f0, 64)) == 58828016); + assert(unsigned(zero_extend(0x381a780, 64)) == 58828672); + assert(unsigned(zero_extend(0x381a784, 64)) == 58828676); + assert(unsigned(zero_extend(0x381a788, 64)) == 58828680); + assert(unsigned(zero_extend(0x381a790, 64)) == 58828688); + assert(unsigned(zero_extend(0x381a798, 64)) == 58828696); + assert(unsigned(zero_extend(0x381a7a0, 64)) == 58828704); + assert(unsigned(zero_extend(0x381a7a4, 64)) == 58828708); + assert(unsigned(zero_extend(0x381a7ac, 64)) == 58828716); + assert(unsigned(zero_extend(0x381a7b0, 64)) == 58828720); + assert(unsigned(zero_extend(0x381a7b8, 64)) == 58828728); + assert(unsigned(zero_extend(0x381a7c0, 64)) == 58828736); + assert(unsigned(zero_extend(0x381a7c8, 64)) == 58828744); + assert(unsigned(zero_extend(0x381a7d8, 64)) == 58828760); + assert(unsigned(zero_extend(0x381a7e0, 64)) == 58828768); + assert(unsigned(zero_extend(0x381a8e0, 64)) == 58829024); + assert(unsigned(zero_extend(0x381a8e8, 64)) == 58829032); + assert(unsigned(zero_extend(0x381aa08, 64)) == 58829320); + assert(unsigned(zero_extend(0x381acb0, 64)) == 58830000); + assert(unsigned(zero_extend(0x381acb8, 64)) == 58830008); + assert(unsigned(zero_extend(0x381adb8, 64)) == 58830264); + assert(unsigned(zero_extend(0x381adc0, 64)) == 58830272); + assert(unsigned(zero_extend(0x381aee0, 64)) == 58830560); + assert(unsigned(zero_extend(0x381aee4, 64)) == 58830564); + assert(unsigned(zero_extend(0x381aee8, 64)) == 58830568); + assert(unsigned(zero_extend(0x381af00, 64)) == 58830592); + assert(unsigned(zero_extend(0x381b150, 64)) == 58831184); + assert(unsigned(zero_extend(0x381b158, 64)) == 58831192); + assert(unsigned(zero_extend(0x381b160, 64)) == 58831200); + assert(unsigned(zero_extend(0x381b168, 64)) == 58831208); + assert(unsigned(zero_extend(0x381b170, 64)) == 58831216); + assert(unsigned(zero_extend(0x381b178, 64)) == 58831224); + assert(unsigned(zero_extend(0x381b180, 64)) == 58831232); + assert(unsigned(zero_extend(0x381b188, 64)) == 58831240); + assert(unsigned(zero_extend(0x381b190, 64)) == 58831248); + assert(unsigned(zero_extend(0x381b1a0, 64)) == 58831264); + assert(unsigned(zero_extend(0x381b1a8, 64)) == 58831272); + assert(unsigned(zero_extend(0x381b1b0, 64)) == 58831280); + assert(unsigned(zero_extend(0x381b1b8, 64)) == 58831288); + assert(unsigned(zero_extend(0x381b1c0, 64)) == 58831296); + assert(unsigned(zero_extend(0x381b1c8, 64)) == 58831304); + assert(unsigned(zero_extend(0x381b1d0, 64)) == 58831312); + assert(unsigned(zero_extend(0x381b1d8, 64)) == 58831320); + assert(unsigned(zero_extend(0x381b1e0, 64)) == 58831328); + assert(unsigned(zero_extend(0x381b1e8, 64)) == 58831336); + assert(unsigned(zero_extend(0x381b1f0, 64)) == 58831344); + assert(unsigned(zero_extend(0x381b1f8, 64)) == 58831352); + assert(unsigned(zero_extend(0x381b200, 64)) == 58831360); + assert(unsigned(zero_extend(0x381b240, 64)) == 58831424); + assert(unsigned(zero_extend(0x381b248, 64)) == 58831432); + assert(unsigned(zero_extend(0x381b250, 64)) == 58831440); + assert(unsigned(zero_extend(0x381b254, 64)) == 58831444); + assert(unsigned(zero_extend(0x381b258, 64)) == 58831448); + assert(unsigned(zero_extend(0x381b25c, 64)) == 58831452); + assert(unsigned(zero_extend(0x381b260, 64)) == 58831456); + assert(unsigned(zero_extend(0x381b264, 64)) == 58831460); + assert(unsigned(zero_extend(0x381b268, 64)) == 58831464); + assert(unsigned(zero_extend(0x381b26c, 64)) == 58831468); + assert(unsigned(zero_extend(0x381b270, 64)) == 58831472); + assert(unsigned(zero_extend(0x381b274, 64)) == 58831476); + assert(unsigned(zero_extend(0x381b278, 64)) == 58831480); + assert(unsigned(zero_extend(0x381b27c, 64)) == 58831484); + assert(unsigned(zero_extend(0x381b280, 64)) == 58831488); + assert(unsigned(zero_extend(0x381b284, 64)) == 58831492); + assert(unsigned(zero_extend(0x381b288, 64)) == 58831496); + assert(unsigned(zero_extend(0x381b28c, 64)) == 58831500); + assert(unsigned(zero_extend(0x381b290, 64)) == 58831504); + assert(unsigned(zero_extend(0x381b298, 64)) == 58831512); + assert(unsigned(zero_extend(0x381b2a0, 64)) == 58831520); + assert(unsigned(zero_extend(0x381b2a8, 64)) == 58831528); + assert(unsigned(zero_extend(0x381b2b0, 64)) == 58831536); + assert(unsigned(zero_extend(0x381b2b8, 64)) == 58831544); + assert(unsigned(zero_extend(0x381b2c0, 64)) == 58831552); + assert(unsigned(zero_extend(0x381b2c8, 64)) == 58831560); + assert(unsigned(zero_extend(0x381b2d0, 64)) == 58831568); + assert(unsigned(zero_extend(0x381b2d8, 64)) == 58831576); + assert(unsigned(zero_extend(0x381b2e0, 64)) == 58831584); + assert(unsigned(zero_extend(0x381b2e8, 64)) == 58831592); + assert(unsigned(zero_extend(0x381b2f0, 64)) == 58831600); + assert(unsigned(zero_extend(0x381b2f8, 64)) == 58831608); + assert(unsigned(zero_extend(0x381b300, 64)) == 58831616); + assert(unsigned(zero_extend(0x39, 64)) == 57); + assert(unsigned(zero_extend(0x3a, 64)) == 58); + assert(unsigned(zero_extend(0x3b, 64)) == 59); + assert(unsigned(zero_extend(0x3c, 64)) == 60); + assert(unsigned(zero_extend(0x3d, 64)) == 61); + assert(unsigned(zero_extend(0x3e, 64)) == 62); + assert(unsigned(zero_extend(0x3f, 64)) == 63); + assert(unsigned(zero_extend(0x3ff83ff83ff83ff8, 64)) == 4609504554071375864); + assert(unsigned(zero_extend(0x3fff, 64)) == 16383); + assert(unsigned(zero_extend(0x3ffffffff, 64)) == 17179869183); + assert(unsigned(zero_extend(0x4, 64)) == 4); + assert(unsigned(zero_extend(0x40, 64)) == 64); + assert(unsigned(zero_extend(0x400, 64)) == 1024); + assert(unsigned(zero_extend(0x4000, 64)) == 16384); + assert(unsigned(zero_extend(0x400000000, 64)) == 17179869184); + assert(unsigned(zero_extend(0x41, 64)) == 65); + assert(unsigned(zero_extend(0x42, 64)) == 66); + assert(unsigned(zero_extend(0x43, 64)) == 67); + assert(unsigned(zero_extend(0x44, 64)) == 68); + assert(unsigned(zero_extend(0x45, 64)) == 69); + assert(unsigned(zero_extend(0x46, 64)) == 70); + assert(unsigned(zero_extend(0x47, 64)) == 71); + assert(unsigned(zero_extend(0x48, 64)) == 72); + assert(unsigned(zero_extend(0x49, 64)) == 73); + assert(unsigned(zero_extend(0x4a, 64)) == 74); + assert(unsigned(zero_extend(0x4b, 64)) == 75); + assert(unsigned(zero_extend(0x4c, 64)) == 76); + assert(unsigned(zero_extend(0x4c000, 64)) == 311296); + assert(unsigned(zero_extend(0x4c800, 64)) == 313344); + assert(unsigned(zero_extend(0x4d, 64)) == 77); + assert(unsigned(zero_extend(0x4e, 64)) == 78); + assert(unsigned(zero_extend(0x4f, 64)) == 79); + assert(unsigned(zero_extend(0x5, 64)) == 5); + assert(unsigned(zero_extend(0x50, 64)) == 80); + assert(unsigned(zero_extend(0x51, 64)) == 81); + assert(unsigned(zero_extend(0x52, 64)) == 82); + assert(unsigned(zero_extend(0x53, 64)) == 83); + assert(unsigned(zero_extend(0x530, 64)) == 1328); + assert(unsigned(zero_extend(0x54, 64)) == 84); + assert(unsigned(zero_extend(0x54000, 64)) == 344064); + assert(unsigned(zero_extend(0x55, 64)) == 85); + assert(unsigned(zero_extend(0x56, 64)) == 86); + assert(unsigned(zero_extend(0x57, 64)) == 87); + assert(unsigned(zero_extend(0x58, 64)) == 88); + assert(unsigned(zero_extend(0x58000, 64)) == 360448); + assert(unsigned(zero_extend(0x59, 64)) == 89); + assert(unsigned(zero_extend(0x5a, 64)) == 90); + assert(unsigned(zero_extend(0x5a5a, 64)) == 23130); + assert(unsigned(zero_extend(0x5a5a5a59, 64)) == 1515870809); + assert(unsigned(zero_extend(0x5a5a5a5a, 64)) == 1515870810); + assert(unsigned(zero_extend(0x5a5a5a5a5a5a5a59, 64)) == 6510615555426900569); + assert(unsigned(zero_extend(0x5a5a5a5a5a5a5a5a, 64)) == 6510615555426900570); + assert(unsigned(zero_extend(0x5b, 64)) == 91); + assert(unsigned(zero_extend(0x5c, 64)) == 92); + assert(unsigned(zero_extend(0x5c000, 64)) == 376832); + assert(unsigned(zero_extend(0x5c040, 64)) == 376896); + assert(unsigned(zero_extend(0x5d, 64)) == 93); + assert(unsigned(zero_extend(0x5e, 64)) == 94); + assert(unsigned(zero_extend(0x5f, 64)) == 95); + assert(unsigned(zero_extend(0x6, 64)) == 6); + assert(unsigned(zero_extend(0x60, 64)) == 96); + assert(unsigned(zero_extend(0x61, 64)) == 97); + assert(unsigned(zero_extend(0x610, 64)) == 1552); + assert(unsigned(zero_extend(0x62, 64)) == 98); + assert(unsigned(zero_extend(0x620e000, 64)) == 102817792); + assert(unsigned(zero_extend(0x620e010, 64)) == 102817808); + assert(unsigned(zero_extend(0x6216000, 64)) == 102850560); + assert(unsigned(zero_extend(0x6216001, 64)) == 102850561); + assert(unsigned(zero_extend(0x6216002, 64)) == 102850562); + assert(unsigned(zero_extend(0x6216003, 64)) == 102850563); + assert(unsigned(zero_extend(0x6216004, 64)) == 102850564); + assert(unsigned(zero_extend(0x6216005, 64)) == 102850565); + assert(unsigned(zero_extend(0x6216006, 64)) == 102850566); + assert(unsigned(zero_extend(0x6216007, 64)) == 102850567); + assert(unsigned(zero_extend(0x6216008, 64)) == 102850568); + assert(unsigned(zero_extend(0x6216009, 64)) == 102850569); + assert(unsigned(zero_extend(0x621600a, 64)) == 102850570); + assert(unsigned(zero_extend(0x621600b, 64)) == 102850571); + assert(unsigned(zero_extend(0x621600c, 64)) == 102850572); + assert(unsigned(zero_extend(0x621600d, 64)) == 102850573); + assert(unsigned(zero_extend(0x621600e, 64)) == 102850574); + assert(unsigned(zero_extend(0x621600f, 64)) == 102850575); + assert(unsigned(zero_extend(0x6216030, 64)) == 102850608); + assert(unsigned(zero_extend(0x6216031, 64)) == 102850609); + assert(unsigned(zero_extend(0x6216032, 64)) == 102850610); + assert(unsigned(zero_extend(0x6216033, 64)) == 102850611); + assert(unsigned(zero_extend(0x6216034, 64)) == 102850612); + assert(unsigned(zero_extend(0x6216035, 64)) == 102850613); + assert(unsigned(zero_extend(0x6216036, 64)) == 102850614); + assert(unsigned(zero_extend(0x6216037, 64)) == 102850615); + assert(unsigned(zero_extend(0x6216038, 64)) == 102850616); + assert(unsigned(zero_extend(0x6216039, 64)) == 102850617); + assert(unsigned(zero_extend(0x621603a, 64)) == 102850618); + assert(unsigned(zero_extend(0x621603b, 64)) == 102850619); + assert(unsigned(zero_extend(0x621603c, 64)) == 102850620); + assert(unsigned(zero_extend(0x621603d, 64)) == 102850621); + assert(unsigned(zero_extend(0x621603e, 64)) == 102850622); + assert(unsigned(zero_extend(0x621603f, 64)) == 102850623); + assert(unsigned(zero_extend(0x6216040, 64)) == 102850624); + assert(unsigned(zero_extend(0x6216041, 64)) == 102850625); + assert(unsigned(zero_extend(0x6216042, 64)) == 102850626); + assert(unsigned(zero_extend(0x6216043, 64)) == 102850627); + assert(unsigned(zero_extend(0x6216044, 64)) == 102850628); + assert(unsigned(zero_extend(0x6216045, 64)) == 102850629); + assert(unsigned(zero_extend(0x6216046, 64)) == 102850630); + assert(unsigned(zero_extend(0x6216047, 64)) == 102850631); + assert(unsigned(zero_extend(0x6216048, 64)) == 102850632); + assert(unsigned(zero_extend(0x6216049, 64)) == 102850633); + assert(unsigned(zero_extend(0x621604a, 64)) == 102850634); + assert(unsigned(zero_extend(0x621604b, 64)) == 102850635); + assert(unsigned(zero_extend(0x621604c, 64)) == 102850636); + assert(unsigned(zero_extend(0x621604d, 64)) == 102850637); + assert(unsigned(zero_extend(0x621604e, 64)) == 102850638); + assert(unsigned(zero_extend(0x621604f, 64)) == 102850639); + assert(unsigned(zero_extend(0x6216050, 64)) == 102850640); + assert(unsigned(zero_extend(0x6216054, 64)) == 102850644); + assert(unsigned(zero_extend(0x6216058, 64)) == 102850648); + assert(unsigned(zero_extend(0x621605c, 64)) == 102850652); + assert(unsigned(zero_extend(0x6216064, 64)) == 102850660); + assert(unsigned(zero_extend(0x6216065, 64)) == 102850661); + assert(unsigned(zero_extend(0x6216066, 64)) == 102850662); + assert(unsigned(zero_extend(0x6216067, 64)) == 102850663); + assert(unsigned(zero_extend(0x6216069, 64)) == 102850665); + assert(unsigned(zero_extend(0x621606a, 64)) == 102850666); + assert(unsigned(zero_extend(0x621606b, 64)) == 102850667); + assert(unsigned(zero_extend(0x621606c, 64)) == 102850668); + assert(unsigned(zero_extend(0x62160aa, 64)) == 102850730); + assert(unsigned(zero_extend(0x63, 64)) == 99); + assert(unsigned(zero_extend(0x64, 64)) == 100); + assert(unsigned(zero_extend(0x65, 64)) == 101); + assert(unsigned(zero_extend(0x66, 64)) == 102); + assert(unsigned(zero_extend(0x67, 64)) == 103); + assert(unsigned(zero_extend(0x68, 64)) == 104); + assert(unsigned(zero_extend(0x69, 64)) == 105); + assert(unsigned(zero_extend(0x6a, 64)) == 106); + assert(unsigned(zero_extend(0x6b, 64)) == 107); + assert(unsigned(zero_extend(0x6b7c8d9f, 64)) == 1803324831); + assert(unsigned(zero_extend(0x6c, 64)) == 108); + assert(unsigned(zero_extend(0x6d, 64)) == 109); + assert(unsigned(zero_extend(0x6e, 64)) == 110); + assert(unsigned(zero_extend(0x6ede4cbc6ede4cbb, 64)) == 7988907161199463611); + assert(unsigned(zero_extend(0x6f, 64)) == 111); + assert(unsigned(zero_extend(0x6ffffffffffffffe, 64)) == 8070450532247928830); + assert(unsigned(zero_extend(0x6fffffffffffffff, 64)) == 8070450532247928831); + assert(unsigned(zero_extend(0x7, 64)) == 7); + assert(unsigned(zero_extend(0x70, 64)) == 112); + assert(unsigned(zero_extend(0x71, 64)) == 113); + assert(unsigned(zero_extend(0x72, 64)) == 114); + assert(unsigned(zero_extend(0x73, 64)) == 115); + assert(unsigned(zero_extend(0x74, 64)) == 116); + assert(unsigned(zero_extend(0x75, 64)) == 117); + assert(unsigned(zero_extend(0x76, 64)) == 118); + assert(unsigned(zero_extend(0x764c321, 64)) == 124044065); + assert(unsigned(zero_extend(0x77, 64)) == 119); + assert(unsigned(zero_extend(0x7765554377655542, 64)) == 8603376411415500098); + assert(unsigned(zero_extend(0x7766554477665542, 64)) == 8603657890687243586); + assert(unsigned(zero_extend(0x78, 64)) == 120); + assert(unsigned(zero_extend(0x789abcdef0123456, 64)) == 8690466096661279830); + assert(unsigned(zero_extend(0x79, 64)) == 121); + assert(unsigned(zero_extend(0x7a, 64)) == 122); + assert(unsigned(zero_extend(0x7b, 64)) == 123); + assert(unsigned(zero_extend(0x7c, 64)) == 124); + assert(unsigned(zero_extend(0x7d, 64)) == 125); + assert(unsigned(zero_extend(0x7e, 64)) == 126); + assert(unsigned(zero_extend(0x7f, 64)) == 127); + assert(unsigned(zero_extend(0x7ff, 64)) == 2047); + assert(unsigned(zero_extend(0x7ffc, 64)) == 32764); + assert(unsigned(zero_extend(0x7ffe, 64)) == 32766); + assert(unsigned(zero_extend(0x7fff, 64)) == 32767); + assert(unsigned(zero_extend(0x7fff7fff, 64)) == 2147450879); + assert(unsigned(zero_extend(0x7fff7fff7fff7ffd, 64)) == 9223231297218904061); + assert(unsigned(zero_extend(0x7fff7fff7fff7fff, 64)) == 9223231297218904063); + assert(unsigned(zero_extend(0x7fffffc, 64)) == 134217724); + assert(unsigned(zero_extend(0x7ffffffe, 64)) == 2147483646); + assert(unsigned(zero_extend(0x7fffffff, 64)) == 2147483647); + assert(unsigned(zero_extend(0x7fffffff00000000, 64)) == 9223372032559808512); + assert(unsigned(zero_extend(0x7fffffff00000001, 64)) == 9223372032559808513); + assert(unsigned(zero_extend(0x7fffffff7ffffffe, 64)) == 9223372034707292158); + assert(unsigned(zero_extend(0x7fffffff7fffffff, 64)) == 9223372034707292159); + assert(unsigned(zero_extend(0x7fffffff80000000, 64)) == 9223372034707292160); + assert(unsigned(zero_extend(0x7fffffff80000001, 64)) == 9223372034707292161); + assert(unsigned(zero_extend(0x7fffffffffff0000, 64)) == 9223372036854710272); + assert(unsigned(zero_extend(0x7fffffffffff0001, 64)) == 9223372036854710273); + assert(unsigned(zero_extend(0x7fffffffffff7ffe, 64)) == 9223372036854743038); + assert(unsigned(zero_extend(0x7fffffffffff7fff, 64)) == 9223372036854743039); + assert(unsigned(zero_extend(0x7fffffffffff8000, 64)) == 9223372036854743040); + assert(unsigned(zero_extend(0x7fffffffffff8001, 64)) == 9223372036854743041); + assert(unsigned(zero_extend(0x7ffffffffffffffc, 64)) == 9223372036854775804); + assert(unsigned(zero_extend(0x7ffffffffffffffd, 64)) == 9223372036854775805); + assert(unsigned(zero_extend(0x7ffffffffffffffe, 64)) == 9223372036854775806); + assert(unsigned(zero_extend(0x7fffffffffffffff, 64)) == 9223372036854775807); + assert(unsigned(zero_extend(0x8, 64)) == 8); + assert(unsigned(zero_extend(0x80, 64)) == 128); + assert(unsigned(zero_extend(0x800, 64)) == 2048); + assert(unsigned(zero_extend(0x8000, 64)) == 32768); + assert(unsigned(zero_extend(0x80000000, 64)) == 2147483648); + assert(unsigned(zero_extend(0x8000000000000000, 64)) == 9223372036854775808); + assert(unsigned(zero_extend(0x8000000000000001, 64)) == 9223372036854775809); + assert(unsigned(zero_extend(0x8000000000000002, 64)) == 9223372036854775810); + assert(unsigned(zero_extend(0x8000000000000003, 64)) == 9223372036854775811); + assert(unsigned(zero_extend(0x8000000000007ffe, 64)) == 9223372036854808574); + assert(unsigned(zero_extend(0x8000000000007fff, 64)) == 9223372036854808575); + assert(unsigned(zero_extend(0x8000000000008000, 64)) == 9223372036854808576); + assert(unsigned(zero_extend(0x8000000000008001, 64)) == 9223372036854808577); + assert(unsigned(zero_extend(0x800000000000fffe, 64)) == 9223372036854841342); + assert(unsigned(zero_extend(0x800000000000ffff, 64)) == 9223372036854841343); + assert(unsigned(zero_extend(0x800000007ffffffe, 64)) == 9223372039002259454); + assert(unsigned(zero_extend(0x800000007fffffff, 64)) == 9223372039002259455); + assert(unsigned(zero_extend(0x8000000080000000, 64)) == 9223372039002259456); + assert(unsigned(zero_extend(0x8000000080000001, 64)) == 9223372039002259457); + assert(unsigned(zero_extend(0x80000000fffffffe, 64)) == 9223372041149743102); + assert(unsigned(zero_extend(0x80000000ffffffff, 64)) == 9223372041149743103); + assert(unsigned(zero_extend(0x80000001, 64)) == 2147483649); + assert(unsigned(zero_extend(0x80000002, 64)) == 2147483650); + assert(unsigned(zero_extend(0x80000003, 64)) == 2147483651); + assert(unsigned(zero_extend(0x80008000, 64)) == 2147516416); + assert(unsigned(zero_extend(0x8000800080008000, 64)) == 9223512776490647552); + assert(unsigned(zero_extend(0x8000800080008002, 64)) == 9223512776490647554); + assert(unsigned(zero_extend(0x8001, 64)) == 32769); + assert(unsigned(zero_extend(0x80010003, 64)) == 2147549187); + assert(unsigned(zero_extend(0x8002, 64)) == 32770); + assert(unsigned(zero_extend(0x8003, 64)) == 32771); + assert(unsigned(zero_extend(0x8004, 64)) == 32772); + assert(unsigned(zero_extend(0x8008, 64)) == 32776); + assert(unsigned(zero_extend(0x800c, 64)) == 32780); + assert(unsigned(zero_extend(0x8030, 64)) == 32816); + assert(unsigned(zero_extend(0x8034, 64)) == 32820); + assert(unsigned(zero_extend(0x8038, 64)) == 32824); + assert(unsigned(zero_extend(0x803c, 64)) == 32828); + assert(unsigned(zero_extend(0x8040, 64)) == 32832); + assert(unsigned(zero_extend(0x8054, 64)) == 32852); + assert(unsigned(zero_extend(0x8058, 64)) == 32856); + assert(unsigned(zero_extend(0x8064, 64)) == 32868); + assert(unsigned(zero_extend(0x8069, 64)) == 32873); + assert(unsigned(zero_extend(0x80aa, 64)) == 32938); + assert(unsigned(zero_extend(0x81, 64)) == 129); + assert(unsigned(zero_extend(0x82, 64)) == 130); + assert(unsigned(zero_extend(0x83, 64)) == 131); + assert(unsigned(zero_extend(0x84, 64)) == 132); + assert(unsigned(zero_extend(0x84000, 64)) == 540672); + assert(unsigned(zero_extend(0x84800, 64)) == 542720); + assert(unsigned(zero_extend(0x85, 64)) == 133); + assert(unsigned(zero_extend(0x86, 64)) == 134); + assert(unsigned(zero_extend(0x87, 64)) == 135); + assert(unsigned(zero_extend(0x87654321, 64)) == 2271560481); + assert(unsigned(zero_extend(0x876543210fedcba9, 64)) == 9756277977048271785); + assert(unsigned(zero_extend(0x88, 64)) == 136); + assert(unsigned(zero_extend(0x8899aabb, 64)) == 2291772091); + assert(unsigned(zero_extend(0x8899aabb8899aabb, 64)) == 9843086183022308027); + assert(unsigned(zero_extend(0x8899aabb8899aabd, 64)) == 9843086183022308029); + assert(unsigned(zero_extend(0x889aaabc889aaabd, 64)) == 9843367662294051517); + assert(unsigned(zero_extend(0x89, 64)) == 137); + assert(unsigned(zero_extend(0x89ab, 64)) == 35243); + assert(unsigned(zero_extend(0x8a, 64)) == 138); + assert(unsigned(zero_extend(0x8b, 64)) == 139); + assert(unsigned(zero_extend(0x8c, 64)) == 140); + assert(unsigned(zero_extend(0x8d, 64)) == 141); + assert(unsigned(zero_extend(0x8fffffffffffffff, 64)) == 10376293541461622783); + assert(unsigned(zero_extend(0x9, 64)) == 9); + assert(unsigned(zero_extend(0x90, 64)) == 144); + assert(unsigned(zero_extend(0x90000000, 64)) == 2415919104); + assert(unsigned(zero_extend(0x9000000000000000, 64)) == 10376293541461622784); + assert(unsigned(zero_extend(0x9000000000000001, 64)) == 10376293541461622785); + assert(unsigned(zero_extend(0x90000001, 64)) == 2415919105); + assert(unsigned(zero_extend(0x9121b3439121b344, 64)) == 10457836912510088004); + assert(unsigned(zero_extend(0x9200000, 64)) == 153092096); + assert(unsigned(zero_extend(0x9200004, 64)) == 153092100); + assert(unsigned(zero_extend(0x9200008, 64)) == 153092104); + assert(unsigned(zero_extend(0x9200010, 64)) == 153092112); + assert(unsigned(zero_extend(0x9200014, 64)) == 153092116); + assert(unsigned(zero_extend(0x9200018, 64)) == 153092120); + assert(unsigned(zero_extend(0x9200020, 64)) == 153092128); + assert(unsigned(zero_extend(0x9200024, 64)) == 153092132); + assert(unsigned(zero_extend(0x9200028, 64)) == 153092136); + assert(unsigned(zero_extend(0x9200030, 64)) == 153092144); + assert(unsigned(zero_extend(0x9200034, 64)) == 153092148); + assert(unsigned(zero_extend(0x9200038, 64)) == 153092152); + assert(unsigned(zero_extend(0x920003c, 64)) == 153092156); + assert(unsigned(zero_extend(0x9200040, 64)) == 153092160); + assert(unsigned(zero_extend(0x9200044, 64)) == 153092164); + assert(unsigned(zero_extend(0x9200048, 64)) == 153092168); + assert(unsigned(zero_extend(0x920004c, 64)) == 153092172); + assert(unsigned(zero_extend(0x9200050, 64)) == 153092176); + assert(unsigned(zero_extend(0x9200054, 64)) == 153092180); + assert(unsigned(zero_extend(0x9200058, 64)) == 153092184); + assert(unsigned(zero_extend(0x920005c, 64)) == 153092188); + assert(unsigned(zero_extend(0x9200060, 64)) == 153092192); + assert(unsigned(zero_extend(0x9200064, 64)) == 153092196); + assert(unsigned(zero_extend(0x9200068, 64)) == 153092200); + assert(unsigned(zero_extend(0x920006c, 64)) == 153092204); + assert(unsigned(zero_extend(0x9200070, 64)) == 153092208); + assert(unsigned(zero_extend(0x9200074, 64)) == 153092212); + assert(unsigned(zero_extend(0x9200078, 64)) == 153092216); + assert(unsigned(zero_extend(0x920007c, 64)) == 153092220); + assert(unsigned(zero_extend(0x9200080, 64)) == 153092224); + assert(unsigned(zero_extend(0x9200084, 64)) == 153092228); + assert(unsigned(zero_extend(0x9200088, 64)) == 153092232); + assert(unsigned(zero_extend(0x920008c, 64)) == 153092236); + assert(unsigned(zero_extend(0x9234567a, 64)) == 2452903546); + assert(unsigned(zero_extend(0x9be0, 64)) == 39904); + assert(unsigned(zero_extend(0xa, 64)) == 10); + assert(unsigned(zero_extend(0xa0, 64)) == 160); + assert(unsigned(zero_extend(0xa000, 64)) == 40960); + assert(unsigned(zero_extend(0xa0000000, 64)) == 2684354560); + assert(unsigned(zero_extend(0xa200000, 64)) == 169869312); + assert(unsigned(zero_extend(0xa200004, 64)) == 169869316); + assert(unsigned(zero_extend(0xa200008, 64)) == 169869320); + assert(unsigned(zero_extend(0xa200010, 64)) == 169869328); + assert(unsigned(zero_extend(0xa200014, 64)) == 169869332); + assert(unsigned(zero_extend(0xa200018, 64)) == 169869336); + assert(unsigned(zero_extend(0xa200020, 64)) == 169869344); + assert(unsigned(zero_extend(0xa200024, 64)) == 169869348); + assert(unsigned(zero_extend(0xa200028, 64)) == 169869352); + assert(unsigned(zero_extend(0xa200030, 64)) == 169869360); + assert(unsigned(zero_extend(0xa200034, 64)) == 169869364); + assert(unsigned(zero_extend(0xa200038, 64)) == 169869368); + assert(unsigned(zero_extend(0xa200040, 64)) == 169869376); + assert(unsigned(zero_extend(0xa200044, 64)) == 169869380); + assert(unsigned(zero_extend(0xa200048, 64)) == 169869384); + assert(unsigned(zero_extend(0xa200050, 64)) == 169869392); + assert(unsigned(zero_extend(0xa200054, 64)) == 169869396); + assert(unsigned(zero_extend(0xa200058, 64)) == 169869400); + assert(unsigned(zero_extend(0xa20005c, 64)) == 169869404); + assert(unsigned(zero_extend(0xa200060, 64)) == 169869408); + assert(unsigned(zero_extend(0xa200064, 64)) == 169869412); + assert(unsigned(zero_extend(0xa200068, 64)) == 169869416); + assert(unsigned(zero_extend(0xa20006c, 64)) == 169869420); + assert(unsigned(zero_extend(0xa200070, 64)) == 169869424); + assert(unsigned(zero_extend(0xa200074, 64)) == 169869428); + assert(unsigned(zero_extend(0xa200078, 64)) == 169869432); + assert(unsigned(zero_extend(0xa20007c, 64)) == 169869436); + assert(unsigned(zero_extend(0xa200080, 64)) == 169869440); + assert(unsigned(zero_extend(0xa200084, 64)) == 169869444); + assert(unsigned(zero_extend(0xa200088, 64)) == 169869448); + assert(unsigned(zero_extend(0xa20008c, 64)) == 169869452); + assert(unsigned(zero_extend(0xa200090, 64)) == 169869456); + assert(unsigned(zero_extend(0xa200094, 64)) == 169869460); + assert(unsigned(zero_extend(0xa200098, 64)) == 169869464); + assert(unsigned(zero_extend(0xa20009c, 64)) == 169869468); + assert(unsigned(zero_extend(0xa2000a0, 64)) == 169869472); + assert(unsigned(zero_extend(0xa2000a4, 64)) == 169869476); + assert(unsigned(zero_extend(0xa2000a8, 64)) == 169869480); + assert(unsigned(zero_extend(0xa2000ac, 64)) == 169869484); + assert(unsigned(zero_extend(0xa50006c, 64)) == 173015148); + assert(unsigned(zero_extend(0xa500070, 64)) == 173015152); + assert(unsigned(zero_extend(0xa500074, 64)) == 173015156); + assert(unsigned(zero_extend(0xa5a5, 64)) == 42405); + assert(unsigned(zero_extend(0xa5a5a5a5, 64)) == 2779096485); + assert(unsigned(zero_extend(0xa5a5a5a5a5a5a5a5, 64)) == 11936128518282651045); + assert(unsigned(zero_extend(0xa8, 64)) == 168); + assert(unsigned(zero_extend(0xb, 64)) == 11); + assert(unsigned(zero_extend(0xb0, 64)) == 176); + assert(unsigned(zero_extend(0xb8, 64)) == 184); + assert(unsigned(zero_extend(0xc, 64)) == 12); + assert(unsigned(zero_extend(0xc0, 64)) == 192); + assert(unsigned(zero_extend(0xc00fefff, 64)) == 3222269951); + assert(unsigned(zero_extend(0xd, 64)) == 13); + assert(unsigned(zero_extend(0xd0, 64)) == 208); + assert(unsigned(zero_extend(0xdddddddddddddddc, 64)) == 15987178197214944732); + assert(unsigned(zero_extend(0xe, 64)) == 14); + assert(unsigned(zero_extend(0xe0, 64)) == 224); + assert(unsigned(zero_extend(0xedcba9876543210e, 64)) == 17134975606245761294); + assert(unsigned(zero_extend(0xf, 64)) == 15); + assert(unsigned(zero_extend(0xf00, 64)) == 3840); + assert(unsigned(zero_extend(0xf000000000000000, 64)) == 17293822569102704640); + assert(unsigned(zero_extend(0xff, 64)) == 255); + assert(unsigned(zero_extend(0xfffe, 64)) == 65534); + assert(unsigned(zero_extend(0xffff, 64)) == 65535); + assert(unsigned(zero_extend(0xffff8000, 64)) == 4294934528); + assert(unsigned(zero_extend(0xffffc, 64)) == 1048572); + assert(unsigned(zero_extend(0xffffe000ffffe000, 64)) == 18446708893632421888); + assert(unsigned(zero_extend(0xfffffff, 64)) == 268435455); + assert(unsigned(zero_extend(0xfffffffe, 64)) == 4294967294); + assert(unsigned(zero_extend(0xfffffffe77665544, 64)) == 18446744067122812228); + assert(unsigned(zero_extend(0xfffffffe7fffffff, 64)) == 18446744067267100671); + assert(unsigned(zero_extend(0xfffffffe80000000, 64)) == 18446744067267100672); + assert(unsigned(zero_extend(0xfffffffef89b3cde, 64)) == 18446744069290540254); + assert(unsigned(zero_extend(0xfffffffefffffffe, 64)) == 18446744069414584318); + assert(unsigned(zero_extend(0xfffffffeffffffff, 64)) == 18446744069414584319); + assert(unsigned(zero_extend(0xffffffff, 64)) == 4294967295); + assert(unsigned(zero_extend(0xffffffff00000000, 64)) == 18446744069414584320); + assert(unsigned(zero_extend(0xffffffff00000001, 64)) == 18446744069414584321); + assert(unsigned(zero_extend(0xffffffff00007fff, 64)) == 18446744069414617087); + assert(unsigned(zero_extend(0xffffffff3ff01000, 64)) == 18446744070487281664); + assert(unsigned(zero_extend(0xffffffff5fffffff, 64)) == 18446744071025197055); + assert(unsigned(zero_extend(0xffffffff6dcba985, 64)) == 18446744071256648069); + assert(unsigned(zero_extend(0xffffffff6ffffffe, 64)) == 18446744071293632510); + assert(unsigned(zero_extend(0xffffffff6fffffff, 64)) == 18446744071293632511); + assert(unsigned(zero_extend(0xffffffff77665544, 64)) == 18446744071417779524); + assert(unsigned(zero_extend(0xffffffff7ffefffc, 64)) == 18446744071562002428); + assert(unsigned(zero_extend(0xffffffff7ffffffc, 64)) == 18446744071562067964); + assert(unsigned(zero_extend(0xffffffff7ffffffd, 64)) == 18446744071562067965); + assert(unsigned(zero_extend(0xffffffff7ffffffe, 64)) == 18446744071562067966); + assert(unsigned(zero_extend(0xffffffff7fffffff, 64)) == 18446744071562067967); + assert(unsigned(zero_extend(0xffffffff80000000, 64)) == 18446744071562067968); + assert(unsigned(zero_extend(0xffffffff80000001, 64)) == 18446744071562067969); + assert(unsigned(zero_extend(0xffffffff94837260, 64)) == 18446744071906226784); + assert(unsigned(zero_extend(0xffffffffdfffffff, 64)) == 18446744073172680703); + assert(unsigned(zero_extend(0xffffffffed9fff7f, 64)) == 18446744073401270143); + assert(unsigned(zero_extend(0xffffffffedafff8f, 64)) == 18446744073402318735); + assert(unsigned(zero_extend(0xfffffffff0000000, 64)) == 18446744073441116160); + assert(unsigned(zero_extend(0xfffffffff7ffffff, 64)) == 18446744073575333887); + assert(unsigned(zero_extend(0xfffffffff89b3cde, 64)) == 18446744073585507550); + assert(unsigned(zero_extend(0xfffffffffcefffff, 64)) == 18446744073658171391); + assert(unsigned(zero_extend(0xfffffffffcf0ffff, 64)) == 18446744073658236927); + assert(unsigned(zero_extend(0xfffffffffcf1ffff, 64)) == 18446744073658302463); + assert(unsigned(zero_extend(0xfffffffffcf84000, 64)) == 18446744073658712064); + assert(unsigned(zero_extend(0xfffffffffcf94000, 64)) == 18446744073658777600); + assert(unsigned(zero_extend(0xfffffffffcfa4000, 64)) == 18446744073658843136); + assert(unsigned(zero_extend(0xfffffffffd0affff, 64)) == 18446744073659940863); + assert(unsigned(zero_extend(0xfffffffffd0bffff, 64)) == 18446744073660006399); + assert(unsigned(zero_extend(0xfffffffffd0fc000, 64)) == 18446744073660252160); + assert(unsigned(zero_extend(0xfffffffffd10c000, 64)) == 18446744073660317696); + assert(unsigned(zero_extend(0xfffffffffd10ffff, 64)) == 18446744073660334079); + assert(unsigned(zero_extend(0xfffffffffd11ffff, 64)) == 18446744073660399615); + assert(unsigned(zero_extend(0xfffffffffd130000, 64)) == 18446744073660465152); + assert(unsigned(zero_extend(0xfffffffffd13ffff, 64)) == 18446744073660530687); + assert(unsigned(zero_extend(0xfffffffffd140000, 64)) == 18446744073660530688); + assert(unsigned(zero_extend(0xfffffffffd14ffff, 64)) == 18446744073660596223); + assert(unsigned(zero_extend(0xfffffffffd170000, 64)) == 18446744073660727296); + assert(unsigned(zero_extend(0xfffffffffd18c000, 64)) == 18446744073660841984); + assert(unsigned(zero_extend(0xfffffffffebffe6b, 64)) == 18446744073688579691); + assert(unsigned(zero_extend(0xfffffffffebffefb, 64)) == 18446744073688579835); + assert(unsigned(zero_extend(0xfffffffffebfff3b, 64)) == 18446744073688579899); + assert(unsigned(zero_extend(0xffffffffffefffff, 64)) == 18446744073708503039); + assert(unsigned(zero_extend(0xfffffffffff, 64)) == 17592186044415); + assert(unsigned(zero_extend(0xfffffffffff70000, 64)) == 18446744073708961792); + assert(unsigned(zero_extend(0xfffffffffff80000, 64)) == 18446744073709027328); + assert(unsigned(zero_extend(0xfffffffffffc0000, 64)) == 18446744073709289472); + assert(unsigned(zero_extend(0xfffffffffffd0000, 64)) == 18446744073709355008); + assert(unsigned(zero_extend(0xfffffffffffdffff, 64)) == 18446744073709420543); + assert(unsigned(zero_extend(0xfffffffffffe0000, 64)) == 18446744073709420544); + assert(unsigned(zero_extend(0xfffffffffffe7ffe, 64)) == 18446744073709453310); + assert(unsigned(zero_extend(0xfffffffffffe7fff, 64)) == 18446744073709453311); + assert(unsigned(zero_extend(0xfffffffffffe8000, 64)) == 18446744073709453312); + assert(unsigned(zero_extend(0xfffffffffffe8001, 64)) == 18446744073709453313); + assert(unsigned(zero_extend(0xfffffffffffefffe, 64)) == 18446744073709486078); + assert(unsigned(zero_extend(0xfffffffffffeffff, 64)) == 18446744073709486079); + assert(unsigned(zero_extend(0xffffffffffff0000, 64)) == 18446744073709486080); + assert(unsigned(zero_extend(0xffffffffffff0001, 64)) == 18446744073709486081); + assert(unsigned(zero_extend(0xffffffffffff641f, 64)) == 18446744073709511711); + assert(unsigned(zero_extend(0xffffffffffff7ffc, 64)) == 18446744073709518844); + assert(unsigned(zero_extend(0xffffffffffff7ffd, 64)) == 18446744073709518845); + assert(unsigned(zero_extend(0xffffffffffff7ffe, 64)) == 18446744073709518846); + assert(unsigned(zero_extend(0xffffffffffff7fff, 64)) == 18446744073709518847); + assert(unsigned(zero_extend(0xffffffffffff8000, 64)) == 18446744073709518848); + assert(unsigned(zero_extend(0xffffffffffff8001, 64)) == 18446744073709518849); + assert(unsigned(zero_extend(0xffffffffffffbeff, 64)) == 18446744073709534975); + assert(unsigned(zero_extend(0xffffffffffffbf40, 64)) == 18446744073709535040); + assert(unsigned(zero_extend(0xffffffffffffbf41, 64)) == 18446744073709535041); + assert(unsigned(zero_extend(0xffffffffffffbfff, 64)) == 18446744073709535231); + assert(unsigned(zero_extend(0xffffffffffffc22c, 64)) == 18446744073709535788); + assert(unsigned(zero_extend(0xffffffffffffc24c, 64)) == 18446744073709535820); + assert(unsigned(zero_extend(0xffffffffffffd220, 64)) == 18446744073709539872); + assert(unsigned(zero_extend(0xffffffffffffd23c, 64)) == 18446744073709539900); + assert(unsigned(zero_extend(0xffffffffffffe220, 64)) == 18446744073709543968); + assert(unsigned(zero_extend(0xffffffffffffe23c, 64)) == 18446744073709543996); + assert(unsigned(zero_extend(0xffffffffffffefff, 64)) == 18446744073709547519); + assert(unsigned(zero_extend(0xfffffffffffffeef, 64)) == 18446744073709551343); + assert(unsigned(zero_extend(0xfffffffffffffeff, 64)) == 18446744073709551359); + assert(unsigned(zero_extend(0xffffffffffffff1f, 64)) == 18446744073709551391); + assert(unsigned(zero_extend(0xffffffffffffff2f, 64)) == 18446744073709551407); + assert(unsigned(zero_extend(0xffffffffffffff4f, 64)) == 18446744073709551439); + assert(unsigned(zero_extend(0xffffffffffffff6f, 64)) == 18446744073709551471); + assert(unsigned(zero_extend(0xffffffffffffff80, 64)) == 18446744073709551488); + assert(unsigned(zero_extend(0xffffffffffffff8f, 64)) == 18446744073709551503); + assert(unsigned(zero_extend(0xffffffffffffff9f, 64)) == 18446744073709551519); + assert(unsigned(zero_extend(0xffffffffffffffa0, 64)) == 18446744073709551520); + assert(unsigned(zero_extend(0xffffffffffffffaf, 64)) == 18446744073709551535); + assert(unsigned(zero_extend(0xffffffffffffffbf, 64)) == 18446744073709551551); + assert(unsigned(zero_extend(0xffffffffffffffc2, 64)) == 18446744073709551554); + assert(unsigned(zero_extend(0xffffffffffffffc4, 64)) == 18446744073709551556); + assert(unsigned(zero_extend(0xffffffffffffffc6, 64)) == 18446744073709551558); + assert(unsigned(zero_extend(0xffffffffffffffc8, 64)) == 18446744073709551560); + assert(unsigned(zero_extend(0xffffffffffffffca, 64)) == 18446744073709551562); + assert(unsigned(zero_extend(0xffffffffffffffcc, 64)) == 18446744073709551564); + assert(unsigned(zero_extend(0xffffffffffffffce, 64)) == 18446744073709551566); + assert(unsigned(zero_extend(0xffffffffffffffcf, 64)) == 18446744073709551567); + assert(unsigned(zero_extend(0xffffffffffffffd0, 64)) == 18446744073709551568); + assert(unsigned(zero_extend(0xffffffffffffffd2, 64)) == 18446744073709551570); + assert(unsigned(zero_extend(0xffffffffffffffd4, 64)) == 18446744073709551572); + assert(unsigned(zero_extend(0xffffffffffffffd6, 64)) == 18446744073709551574); + assert(unsigned(zero_extend(0xffffffffffffffd8, 64)) == 18446744073709551576); + assert(unsigned(zero_extend(0xffffffffffffffda, 64)) == 18446744073709551578); + assert(unsigned(zero_extend(0xffffffffffffffdb, 64)) == 18446744073709551579); + assert(unsigned(zero_extend(0xffffffffffffffdc, 64)) == 18446744073709551580); + assert(unsigned(zero_extend(0xffffffffffffffde, 64)) == 18446744073709551582); + assert(unsigned(zero_extend(0xffffffffffffffdf, 64)) == 18446744073709551583); + assert(unsigned(zero_extend(0xffffffffffffffe0, 64)) == 18446744073709551584); + assert(unsigned(zero_extend(0xffffffffffffffe2, 64)) == 18446744073709551586); + assert(unsigned(zero_extend(0xffffffffffffffe4, 64)) == 18446744073709551588); + assert(unsigned(zero_extend(0xffffffffffffffe6, 64)) == 18446744073709551590); + assert(unsigned(zero_extend(0xffffffffffffffe7, 64)) == 18446744073709551591); + assert(unsigned(zero_extend(0xffffffffffffffe8, 64)) == 18446744073709551592); + assert(unsigned(zero_extend(0xffffffffffffffea, 64)) == 18446744073709551594); + assert(unsigned(zero_extend(0xffffffffffffffec, 64)) == 18446744073709551596); + assert(unsigned(zero_extend(0xffffffffffffffee, 64)) == 18446744073709551598); + assert(unsigned(zero_extend(0xffffffffffffffef, 64)) == 18446744073709551599); + assert(unsigned(zero_extend(0xfffffffffffffff, 64)) == 1152921504606846975); + assert(unsigned(zero_extend(0xfffffffffffffff0, 64)) == 18446744073709551600); + assert(unsigned(zero_extend(0xfffffffffffffff1, 64)) == 18446744073709551601); + assert(unsigned(zero_extend(0xfffffffffffffff2, 64)) == 18446744073709551602); + assert(unsigned(zero_extend(0xfffffffffffffff4, 64)) == 18446744073709551604); + assert(unsigned(zero_extend(0xfffffffffffffff6, 64)) == 18446744073709551606); + assert(unsigned(zero_extend(0xfffffffffffffff7, 64)) == 18446744073709551607); + assert(unsigned(zero_extend(0xfffffffffffffff8, 64)) == 18446744073709551608); + assert(unsigned(zero_extend(0xfffffffffffffffa, 64)) == 18446744073709551610); + assert(unsigned(zero_extend(0xfffffffffffffffb, 64)) == 18446744073709551611); + assert(unsigned(zero_extend(0xfffffffffffffffc, 64)) == 18446744073709551612); + assert(unsigned(zero_extend(0xfffffffffffffffd, 64)) == 18446744073709551613); + assert(unsigned(zero_extend(0xfffffffffffffffe, 64)) == 18446744073709551614); + assert(unsigned(zero_extend(0xffffffffffffffff, 64)) == 18446744073709551615); + assert(unsigned(zero_extend(0x0, 8)) == 0); + assert(unsigned(zero_extend(0x20, 8)) == 32); + assert(unsigned(zero_extend(0x28, 8)) == 40); + assert(unsigned(zero_extend(0x29, 8)) == 41); + assert(unsigned(zero_extend(0x2a, 8)) == 42); + assert(unsigned(zero_extend(0x2d, 8)) == 45); + assert(unsigned(zero_extend(0x30, 8)) == 48); + assert(unsigned(zero_extend(0x31, 8)) == 49); + assert(unsigned(zero_extend(0x32, 8)) == 50); + assert(unsigned(zero_extend(0x33, 8)) == 51); + assert(unsigned(zero_extend(0x34, 8)) == 52); + assert(unsigned(zero_extend(0x35, 8)) == 53); + assert(unsigned(zero_extend(0x36, 8)) == 54); + assert(unsigned(zero_extend(0x37, 8)) == 55); + assert(unsigned(zero_extend(0x38, 8)) == 56); + assert(unsigned(zero_extend(0x39, 8)) == 57); + assert(unsigned(zero_extend(0x3a, 8)) == 58); + assert(unsigned(zero_extend(0x3e, 8)) == 62); + assert(unsigned(zero_extend(0x41, 8)) == 65); + assert(unsigned(zero_extend(0x43, 8)) == 67); + assert(unsigned(zero_extend(0x44, 8)) == 68); + assert(unsigned(zero_extend(0x45, 8)) == 69); + assert(unsigned(zero_extend(0x46, 8)) == 70); + assert(unsigned(zero_extend(0x4b, 8)) == 75); + assert(unsigned(zero_extend(0x4c, 8)) == 76); + assert(unsigned(zero_extend(0x4e, 8)) == 78); + assert(unsigned(zero_extend(0x4f, 8)) == 79); + assert(unsigned(zero_extend(0x50, 8)) == 80); + assert(unsigned(zero_extend(0x52, 8)) == 82); + assert(unsigned(zero_extend(0x53, 8)) == 83); + assert(unsigned(zero_extend(0x54, 8)) == 84); + assert(unsigned(zero_extend(0x55, 8)) == 85); + assert(unsigned(zero_extend(0x5f, 8)) == 95); + assert(unsigned(zero_extend(0x61, 8)) == 97); + assert(unsigned(zero_extend(0x62, 8)) == 98); + assert(unsigned(zero_extend(0x63, 8)) == 99); + assert(unsigned(zero_extend(0x64, 8)) == 100); + assert(unsigned(zero_extend(0x65, 8)) == 101); + assert(unsigned(zero_extend(0x66, 8)) == 102); + assert(unsigned(zero_extend(0x68, 8)) == 104); + assert(unsigned(zero_extend(0x69, 8)) == 105); + assert(unsigned(zero_extend(0x6c, 8)) == 108); + assert(unsigned(zero_extend(0x6d, 8)) == 109); + assert(unsigned(zero_extend(0x6e, 8)) == 110); + assert(unsigned(zero_extend(0x6f, 8)) == 111); + assert(unsigned(zero_extend(0x70, 8)) == 112); + assert(unsigned(zero_extend(0x72, 8)) == 114); + assert(unsigned(zero_extend(0x73, 8)) == 115); + assert(unsigned(zero_extend(0x74, 8)) == 116); + assert(unsigned(zero_extend(0x75, 8)) == 117); + assert(unsigned(zero_extend(0x76, 8)) == 118); + assert(unsigned(zero_extend(0x9, 8)) == 9); + assert(unsigned(zero_extend(0xa, 8)) == 10); +} diff --git a/test/builtins/vector_update_subrange.sail b/test/builtins/vector_update_subrange.sail new file mode 100644 index 00000000..b287b047 --- /dev/null +++ b/test/builtins/vector_update_subrange.sail @@ -0,0 +1,15 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + v = 0x0BEEF0; + v[19 .. 4] = 0xDEAD; + assert(v == 0x0DEAD0, "v == 0x0DEAD0"); + v[0 .. 0] = 0b1; + assert(v == 0x0DEAD1, "v == 0x0DEAD1"); + v[1 .. 0] = 0b11; + assert(v == 0x0DEAD3, "v == 0x0DEAD3"); +}
\ No newline at end of file diff --git a/test/builtins/zeros.sail b/test/builtins/zeros.sail new file mode 100644 index 00000000..79500469 --- /dev/null +++ b/test/builtins/zeros.sail @@ -0,0 +1,72 @@ +default Order dec + +$include <exception_basic.sail> +$include <flow.sail> +$include <vector_dec.sail> + +function main (() : unit) -> unit = { + assert(zeros(1) == 1^0b0); + assert(zeros(10) == 10^0x0); + assert(zeros(100) == 100^0x0); + assert(zeros(102) == 102^0x0); + assert(zeros(104) == 104^0x0); + assert(zeros(106) == 106^0x0); + assert(zeros(108) == 108^0x0); + assert(zeros(110) == 110^0x0); + assert(zeros(111) == 111^0x0); + assert(zeros(112) == 112^0x0); + assert(zeros(114) == 114^0x0); + assert(zeros(116) == 116^0x0); + assert(zeros(118) == 118^0x0); + assert(zeros(120) == 120^0x0); + assert(zeros(122) == 122^0x0); + assert(zeros(124) == 124^0x0); + assert(zeros(126) == 126^0x0); + assert(zeros(128) == 128^0x0); + assert(zeros(15) == 15^0x0); + assert(zeros(16) == 16^0x0); + assert(zeros(2) == 2^0x0); + assert(zeros(24) == 24^0x0); + assert(zeros(25) == 25^0x0); + assert(zeros(3) == 3^0x0); + assert(zeros(31) == 31^0x0); + assert(zeros(32) == 32^0x0); + assert(zeros(36) == 36^0x0); + assert(zeros(38) == 38^0x0); + assert(zeros(39) == 39^0x0); + assert(zeros(4) == 4^0x0); + assert(zeros(40) == 40^0x0); + assert(zeros(43) == 43^0x0); + assert(zeros(48) == 48^0x0); + assert(zeros(52) == 52^0x0); + assert(zeros(53) == 53^0x0); + assert(zeros(56) == 56^0x0); + assert(zeros(57) == 57^0x0); + assert(zeros(58) == 58^0x0); + assert(zeros(6) == 6^0x0); + assert(zeros(64) == 64^0x0); + assert(zeros(65) == 65^0x0); + assert(zeros(66) == 66^0x0); + assert(zeros(67) == 67^0x0); + assert(zeros(68) == 68^0x0); + assert(zeros(69) == 69^0x0); + assert(zeros(70) == 70^0x0); + assert(zeros(72) == 72^0x0); + assert(zeros(74) == 74^0x0); + assert(zeros(75) == 75^0x0); + assert(zeros(76) == 76^0x0); + assert(zeros(77) == 77^0x0); + assert(zeros(78) == 78^0x0); + assert(zeros(8) == 8^0x0); + assert(zeros(80) == 80^0x0); + assert(zeros(82) == 82^0x0); + assert(zeros(84) == 84^0x0); + assert(zeros(86) == 86^0x0); + assert(zeros(88) == 88^0x0); + assert(zeros(89) == 89^0x0); + assert(zeros(90) == 90^0x0); + assert(zeros(92) == 92^0x0); + assert(zeros(94) == 94^0x0); + assert(zeros(96) == 96^0x0); + assert(zeros(98) == 98^0x0); +}
\ No newline at end of file diff --git a/test/run_tests.sh b/test/run_tests.sh index 522e0952..d39b65cb 100755 --- a/test/run_tests.sh +++ b/test/run_tests.sh @@ -30,6 +30,12 @@ printf "******************************************\n\n" ./test/lem/run_tests.sh printf "******************************************\n" +printf "* Builtins tests *\n" +printf "******************************************\n\n" + +./test/builtins/run_tests.sh + +printf "******************************************\n" printf "* ARM spec tests *\n" printf "******************************************\n\n" |
