TYPED: odd-even-merge-bits ( u: ulonglong-2 -- w: ulonglong-2 ) ushort-8-cast [ $[ BIN: 10011001 HEX: 101 * ushort-8-with ] vand ] [ $[ BIN: 01000100 HEX: 101 * ushort-8-with ] vand 1 vrshift vor ] [ $[ BIN: 00100010 HEX: 101 * ushort-8-with ] vand 1 vlshift vor ] tri [ $[ BIN: 11000011 HEX: 101 * ushort-8-with ] vand ] [ $[ BIN: 00110000 HEX: 101 * ushort-8-with ] vand 2 vrshift vor ] [ $[ BIN: 00001100 HEX: 101 * ushort-8-with ] vand 2 vlshift vor ] tri [ $[ HEX: F00F ushort-8-with ] vand ] [ $[ HEX: 0F00 ushort-8-with ] vand 4 vrshift vor ] [ $[ HEX: 00F0 ushort-8-with ] vand 4 vlshift vor ] tri uchar-16{ 0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 15 } vshuffle-bytes ulonglong-2-cast ;