1static const uint32_t in_f32[256] = {
2    0x3e7b9a11, 0x3f430e64, 0x3f7b61f8, 0x3f3e1a0a,
3    0x3f10ac73, 0x3f4e4019, 0x3ecb6c1a, 0x3eb9d756,
4    0x3edf6a04, 0x3e48703f, 0x3f0bd6e4, 0x3f338f5b,
5    0x3f2ccba0, 0x3f7eed8c, 0x3f40b36d, 0x3f432aa2,
6    0x3f3efcd1, 0x3ea25922, 0x3f14060b, 0x3f1de431,
7    0x3f317a8d, 0x3ea3f0f8, 0x3f6b2154, 0x3ea3518a,
8    0x3f0f769f, 0x3f373d6b, 0x3ea68f81, 0x3f601e8c,
9    0x3f78b988, 0x3f52a5df, 0x3f15dd31, 0x3f4988ae,
10    0x3e9837b4, 0x3f348f53, 0x3d8c8987, 0x3de61780,
11    0x3cfebf74, 0x3f40a628, 0x3f54f32d, 0x3f22172a,
12    0x3eb64b7b, 0x3ea6ee22, 0x3f1d5d84, 0x3e044e85,
13    0x3ec0d710, 0x3da19337, 0x3e50157d, 0x3f0ddfcc,
14    0x3ea2fa79, 0x3f1a6b2c, 0x3f7bf622, 0x3d293569,
15    0x3f793192, 0x3f79e1e6, 0x3e133ea4, 0x3ee4d509,
16    0x3f60dd33, 0x3e4da42e, 0x3f7f7220, 0x3f06ef6b,
17    0x3d44b6c3, 0x3f27a083, 0x3f4a011d, 0x3f5f3bb8,
18    0x3f246fea, 0x3f6d9eee, 0x3f3366da, 0x3ec6b168,
19    0x3f1baf3f, 0x3f123fde, 0x3f640d40, 0x3f285823,
20    0x3f69065c, 0x3f2a688d, 0x3f163881, 0x3f02f4c1,
21    0x3d5b0d1c, 0x3f26cf42, 0x3baad7d3, 0x3f310aff,
22    0x3f7ae54d, 0x3eaee2eb, 0x3f649a9b, 0x3f7899e8,
23    0x3e14a802, 0x3df24408, 0x3e8b7772, 0x3f03ec48,
24    0x3f0f1e48, 0x3f2cf012, 0x3e1ad83d, 0x3ebeb070,
25    0x3f39cb89, 0x3e0f4811, 0x3f4a5631, 0x3debe2e7,
26    0x3f3b9597, 0x3f13db6d, 0x3f2f2b0a, 0x3f27e4f3,
27    0x3d04450a, 0x3f014ebb, 0x3f2f04aa, 0x3f77ed6b,
28    0x3eab5ae1, 0x3f3e37b0, 0x3f59b5fe, 0x3de5e5a3,
29    0x3de3b577, 0x3f201a9b, 0x3f6b9e07, 0x3f691c38,
30    0x3f5b9f86, 0x3cdcd883, 0x3f6d8069, 0x3f27085a,
31    0x3db6301f, 0x3f56c40d, 0x3ec3d730, 0x3f79473c,
32    0x3f7e9340, 0x3f6a7909, 0x3f5bc938, 0x3f19eb93,
33    0x3eb3694e, 0x3d73e79b, 0x3f4756ef, 0x3c3dc003,
34    0x3f6ab939, 0x3ed84f90, 0x3f065672, 0x3f7616bf,
35    0x3f568ecb, 0x3f22a281, 0x3f798544, 0x3e64d2de,
36    0x3f0399d9, 0x3ed97b16, 0x3f2a617a, 0x3e89ddcd,
37    0x3f5980f2, 0x3f1807f7, 0x3e2f1399, 0x3e29f0da,
38    0x3f7b9281, 0x3f18ae83, 0x3ee60acc, 0x3f12640c,
39    0x3e82ea80, 0x3e9fd222, 0x3f19ef56, 0x3f4c626d,
40    0x3f005ff0, 0x3b8c6612, 0x3f7afd64, 0x3e22c7f8,
41    0x3e44d9dc, 0x3da9476f, 0x3e093299, 0x3f73bea9,
42    0x3f093dc1, 0x3f6c0ca4, 0x3e071409, 0x3e0c9b5c,
43    0x3f666e66, 0x3f7d715b, 0x3eb8482d, 0x3ebcbb5e,
44    0x3f75c74f, 0x3e1a0659, 0x3ef79d1d, 0x3ea20474,
45    0x3f6f244f, 0x3f65bfe5, 0x3e8e9d43, 0x3dac62f5,
46    0x3e73a68b, 0x3eb14bb9, 0x3f71d474, 0x3f73192c,
47    0x3df514f1, 0x3f0eb020, 0x3e1802e3, 0x3e40fc53,
48    0x3f6dcbf1, 0x3f3fe92d, 0x3f3088fc, 0x3e7908f9,
49    0x3e9f0e3f, 0x3f59caaa, 0x3f71fc6b, 0x3e03fcb0,
50    0x3e8d795a, 0x3ed6d370, 0x3e3d741b, 0x3f0665c5,
51    0x3e03b8dc, 0x3ec36989, 0x3e41f5bc, 0x3f2c13bd,
52    0x3f1055c4, 0x3e0ac5c1, 0x3f7ecb1f, 0x3f5f1c86,
53    0x3f0c4517, 0x3bc9b4af, 0x3f4698a8, 0x3e60d888,
54    0x3f4d360b, 0x3f7a6908, 0x3ea9e568, 0x3f542a35,
55    0x3f571e54, 0x3f559ed1, 0x3e477e0f, 0x3dc2ae2c,
56    0x3f095f6d, 0x3f6d6176, 0x3e871cd8, 0x3ef343da,
57    0x3f162322, 0x3e979c68, 0x3f3b8387, 0x3e6b90ec,
58    0x3f330b5d, 0x3f099ae2, 0x3f14ae97, 0x3f78e53d,
59    0x3eca02ea, 0x3ec226f4, 0x3ec53384, 0x3f0092e6,
60    0x3e0aa741, 0x3e30a639, 0x3ebfcd1f, 0x3f47ec72,
61    0x3dd181e3, 0x3f501d2e, 0x3ec170d6, 0x3f350dac,
62    0x3e84a472, 0x3f3823eb, 0x3f394286, 0x3d0ea782,
63    0x3ec06bda, 0x3f737deb, 0x3f50494f, 0x3ec40d59,
64    0x3dcaa663, 0x3f4676c9, 0x3ea46e6a, 0x3f1dc12a,
65    0x3efe5066, 0x3f6cc34a, 0x3f228d22, 0x3f800000
66    };
67
68static const uint32_t in_weighted_sum_val[50] = {
69    0x3ef59039, 0x3f4bf0c0, 0x3f281f89, 0x3d203758,
70    0x3dd67aaa, 0x3f056b52, 0x3e088a37, 0x3f52369c,
71    0x3d3ad5fc, 0x3f2c7b41, 0x3f1cf2ea, 0x3f40c0c5,
72    0x3e86e548, 0x3e567964, 0x3e0b6eb2, 0x3e570544,
73    0x3e982de8, 0x3f26609f, 0x3f71c824, 0x3d9e7eeb,
74    0x3d4f374e, 0x3f361d6d, 0x3f43dc1a, 0x3e848bcc,
75    0x3e233709, 0x3ee39772, 0x3e65d216, 0x3e8c78d9,
76    0x3e4e7014, 0x3e04412c, 0x3f24dfc4, 0x3e888dc3,
77    0x3c77dec8, 0x3f04bd53, 0x3f4982ef, 0x3f785484,
78    0x3e5322d4, 0x3e923b13, 0x3f1a7fdd, 0x3f20e801,
79    0x3f036403, 0x3e529443, 0x3f43e1f5, 0x3e8679c1,
80    0x3f1ff6cd, 0x3efff938, 0x3ef8c3c2, 0x3f3bf153,
81    0x3f2d605f, 0x3b88b868
82    };
83
84static const uint32_t in_weighted_sum_coeff[50] = {
85    0x3f5c365d, 0x3ef5bcf3, 0x3f07c2f1, 0x3ec77fde,
86    0x3f486f4c, 0x3f3b14d9, 0x3edf92dd, 0x3e040f3f,
87    0x3da6d898, 0x3f64fc4b, 0x3ea6942e, 0x3ea8d19f,
88    0x3f42aa22, 0x3f7af090, 0x3ea61c74, 0x3f16d69c,
89    0x3f22d66d, 0x3f3eb358, 0x3edcc17a, 0x3d5cac41,
90    0x3f6752c8, 0x3f30434e, 0x3f67dc39, 0x3f1f5f4d,
91    0x3f55019b, 0x3e8e78c4, 0x3f1dc570, 0x3ea3619d,
92    0x3e16932c, 0x3debb877, 0x3d04efe4, 0x3dda8cae,
93    0x3f175d01, 0x3e613eca, 0x3f792ff1, 0x3f05cb9e,
94    0x3efd21eb, 0x3f52d9bb, 0x3f635d8c, 0x3f3d78cc,
95    0x3f75ca43, 0x3ed94cbd, 0x3f18cc07, 0x3f71cf57,
96    0x3f1999e0, 0x3f3d7b64, 0x3eff331b, 0x3f09a083,
97    0x3ec65238, 0x3e5daacc
98    };
99
100static const uint32_t in_sort[11] = {
101    0x3e8b2005, 0xbe79828d, 0x3ec60533, 0xbecd84a4,
102    0x3edef701, 0xbf020833, 0x3eae45f9, 0xbe23a0cf,
103    0x3f5b587c, 0xbe77e106, 0xbf800000
104    };
105
106static const uint32_t in_sort_bitonic_16[16] = {
107    0xbce9c2a9, 0xbe49aaa6, 0x3ed24897, 0x3ebe06f3,
108    0xbde7297e, 0x3f0f81a4, 0x3daa5ff8, 0xbd74b8b1,
109    0xbeb7404b, 0xbe0c8154, 0xbf800000, 0xbf1ac9af,
110    0xbe7ebe48, 0xbe96e2f3, 0x3ea8d3ec, 0x3dcccc3f
111    };
112
113static const uint32_t in_sort_bitonic_32[32] = {
114    0x3de7ca48, 0x3e841924, 0xbf0ec9ee, 0xbd9234a0,
115    0x3e57751c, 0x3d8ce6cb, 0xbed8c7f0, 0xbd2a8ea8,
116    0x3e6e514e, 0xbefd1a2a, 0xbe972d7a, 0xbf800000,
117    0x3dd11d1c, 0xbe3c1689, 0xbee8d12a, 0x3dc3dd48,
118    0x3ece8f07, 0xbe4e84cb, 0x3e0db75f, 0x3cc96593,
119    0xbf012b00, 0xbefeaa91, 0x3e506a2c, 0x3eb5a5a2,
120    0xbf1abb67, 0x3e601f55, 0xbdf605d0, 0xbe81fc15,
121    0xbf043534, 0x3d446123, 0xbf068a30, 0x3f2a6bfa
122    };
123
124static const uint32_t in_sort_const[16] = {
125    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
126    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
127    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
128    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000
129    };
130
131static const q31_t ref_q31[256] = {
132    0x1F734226, 0x618731DC, 0x7DB0FBEB, 0x5F0D0508,
133    0x48563944, 0x67200CAB, 0x32DB0685, 0x2E75D568,
134    0x37DA80F9, 0x190E07DD, 0x45EB71ED, 0x59C7AD50,
135    0x5665CFE0, 0x7F76C5C5, 0x6059B69C, 0x61955104,
136    0x5F7E6885, 0x28964887, 0x4A03057F, 0x4EF21858,
137    0x58BD469F, 0x28FC3DF2, 0x7590A9D6, 0x28D4628A,
138    0x47BB4F53, 0x5B9EB56F, 0x29A3E03E, 0x700F45D1,
139    0x7C5CC410, 0x6952EF47, 0x4AEE9857, 0x64C45711,
140    0x260DECE5, 0x5A47A942, 0x08C89876, 0x0E6177FF,
141    0x03FAFDD1, 0x605313C2, 0x6A79965A, 0x510B9535,
142    0x2D92DEDE, 0x29BB8892, 0x4EAEC208, 0x1089D0AD,
143    0x3035C40F, 0x0A193378, 0x1A02AF95, 0x46EFE5C6,
144    0x28BE9E52, 0x4D3595D9, 0x7DFB1100, 0x0549AB47,
145    0x7C98C90C, 0x7CF0F32D, 0x1267D482, 0x39354238,
146    0x706E996D, 0x19B485B7, 0x7FB91033, 0x4377B598,
147    0x0625B617, 0x53D04177, 0x65008E8E, 0x6F9DDC13,
148    0x5237F50F, 0x76CF771D, 0x59B36D2E, 0x31AC5A11,
149    0x4DD79FB6, 0x491FEECD, 0x7206A018, 0x542C1144,
150    0x74832DFD, 0x55344642, 0x4B1C40A4, 0x417A6061,
151    0x06D868E0, 0x5367A0C9, 0x00AAD7D3, 0x58857FBC,
152    0x7D72A6B1, 0x2BB8BABD, 0x724D4DB7, 0x7C4CF3D4,
153    0x12950030, 0x0F244080, 0x22DDDC99, 0x41F62434,
154    0x478F2409, 0x567808C9, 0x135B079F, 0x2FAC1C0E,
155    0x5CE5C4AC, 0x11E90218, 0x652B18A6, 0x0EBE2E6E,
156    0x5DCACB8B, 0x49EDB6B6, 0x579584EF, 0x53F2794B,
157    0x04222852, 0x40A75D90, 0x5782552A, 0x7BF6B5AC,
158    0x2AD6B82D, 0x5F1BD83D, 0x6CDAFF3C, 0x0E5E5A38,
159    0x0E3B576E, 0x500D4D67, 0x75CF0379, 0x748E1C24,
160    0x6DCFC2C9, 0x0373620B, 0x76C034C0, 0x53842D09,
161    0x0B6301EB, 0x6B620642, 0x30F5CC0B, 0x7CA39E36,
162    0x7F49A009, 0x753C844A, 0x6DE49BEB, 0x4CF5C95D,
163    0x2CDA5375, 0x079F3CD5, 0x63AB778A, 0x017B8006,
164    0x755C9C83, 0x3613E404, 0x432B38DB, 0x7B0B5F84,
165    0x6B47654B, 0x5151405B, 0x7CC2A1E3, 0x1C9A5BCE,
166    0x41CCECBF, 0x365EC596, 0x5530BCF6, 0x22777328,
167    0x6CC078F9, 0x4C03FB6B, 0x15E27321, 0x153E1B33,
168    0x7DC9407B, 0x4C5741BE, 0x3982B31C, 0x493205F7,
169    0x20BA9FF5, 0x27F48878, 0x4CF7AB2C, 0x66313680,
170    0x402FF7E3, 0x008C6612, 0x7D7EB1D0, 0x1458FF0D,
171    0x189B3B74, 0x0A9476F8, 0x11265313, 0x79DF544E,
172    0x449EE08B, 0x76065204, 0x10E28120, 0x11936B78,
173    0x7337331B, 0x7EB8AD6A, 0x2E120B25, 0x2F2ED77A,
174    0x7AE3A75F, 0x1340CB2B, 0x3DE74739, 0x28811D15,
175    0x77922783, 0x72DFF27A, 0x23A750C8, 0x0AC62F50,
176    0x1E74D15D, 0x2C52EE5F, 0x78EA39F5, 0x798C95E8,
177    0x0F514F0E, 0x47580FD2, 0x13005C5E, 0x181F8A54,
178    0x76E5F877, 0x5FF4969A, 0x58447DF7, 0x1F211F1A,
179    0x27C38FC4, 0x6CE554FA, 0x78FE359E, 0x107F9609,
180    0x235E5687, 0x35B4DBF3, 0x17AE8359, 0x4332E29A,
181    0x10771B86, 0x30DA6245, 0x183EB776, 0x5609DE89,
182    0x482AE202, 0x1158B828, 0x7F658F85, 0x6F8E433B,
183    0x46228BBC, 0x00C9B4AF, 0x634C540C, 0x1C1B1105,
184    0x669B0540, 0x7D3483F9, 0x2A7959F1, 0x6A151A6E,
185    0x6B8F29DF, 0x6ACF688C, 0x18EFC1D1, 0x0C2AE2BA,
186    0x44AFB68A, 0x76B0BB16, 0x21C735EC, 0x3CD0F666,
187    0x4B1190CF, 0x25E719F0, 0x5DC1C380, 0x1D721D77,
188    0x5985AE6D, 0x44CD710A, 0x4A574B63, 0x7C729EA3,
189    0x3280BA6D, 0x3089BD1E, 0x314CE10F, 0x4049731A,
190    0x1154E82F, 0x1614C716, 0x2FF347BF, 0x63F638F3,
191    0x0D181E32, 0x680E9733, 0x305C3594, 0x5A86D5EF,
192    0x21291C9D, 0x5C11F548, 0x5CA142CB, 0x04753C0F,
193    0x301AF688, 0x79BEF5A5, 0x6824A746, 0x31035622,
194    0x0CAA662F, 0x633B6485, 0x291B9A63, 0x4EE094CA,
195    0x3F94197C, 0x7661A4D6, 0x514690FE, 0x7FFFFFFF
196    };
197
198static const q15_t ref_q15[256] = {
199    0x1F73, 0x6187, 0x7DB1, 0x5F0D, 0x4856, 0x6720, 0x32DB, 0x2E76,
200    0x37DB, 0x190E, 0x45EB, 0x59C8, 0x5666, 0x7F77, 0x605A, 0x6195,
201    0x5F7E, 0x2896, 0x4A03, 0x4EF2, 0x58BD, 0x28FC, 0x7591, 0x28D4,
202    0x47BB, 0x5B9F, 0x29A4, 0x700F, 0x7C5D, 0x6953, 0x4AEF, 0x64C4,
203    0x260E, 0x5A48, 0x08C9, 0x0E61, 0x03FB, 0x6053, 0x6A7A, 0x510C,
204    0x2D93, 0x29BC, 0x4EAF, 0x108A, 0x3036, 0x0A19, 0x1A03, 0x46F0,
205    0x28BF, 0x4D36, 0x7DFB, 0x054A, 0x7C99, 0x7CF1, 0x1268, 0x3935,
206    0x706F, 0x19B5, 0x7FB9, 0x4378, 0x0626, 0x53D0, 0x6501, 0x6F9E,
207    0x5238, 0x76CF, 0x59B3, 0x31AC, 0x4DD8, 0x4920, 0x7207, 0x542C,
208    0x7483, 0x5534, 0x4B1C, 0x417A, 0x06D8, 0x5368, 0x00AB, 0x5885,
209    0x7D73, 0x2BB9, 0x724D, 0x7C4D, 0x1295, 0x0F24, 0x22DE, 0x41F6,
210    0x478F, 0x5678, 0x135B, 0x2FAC, 0x5CE6, 0x11E9, 0x652B, 0x0EBE,
211    0x5DCB, 0x49EE, 0x5796, 0x53F2, 0x0422, 0x40A7, 0x5782, 0x7BF7,
212    0x2AD7, 0x5F1C, 0x6CDB, 0x0E5E, 0x0E3B, 0x500D, 0x75CF, 0x748E,
213    0x6DD0, 0x0373, 0x76C0, 0x5384, 0x0B63, 0x6B62, 0x30F6, 0x7CA4,
214    0x7F4A, 0x753D, 0x6DE5, 0x4CF6, 0x2CDA, 0x079F, 0x63AB, 0x017C,
215    0x755D, 0x3614, 0x432B, 0x7B0B, 0x6B47, 0x5151, 0x7CC3, 0x1C9A,
216    0x41CD, 0x365F, 0x5531, 0x2277, 0x6CC0, 0x4C04, 0x15E2, 0x153E,
217    0x7DC9, 0x4C57, 0x3983, 0x4932, 0x20BB, 0x27F5, 0x4CF8, 0x6631,
218    0x4030, 0x008C, 0x7D7F, 0x1459, 0x189B, 0x0A94, 0x1126, 0x79DF,
219    0x449F, 0x7606, 0x10E3, 0x1193, 0x7337, 0x7EB9, 0x2E12, 0x2F2F,
220    0x7AE4, 0x1341, 0x3DE7, 0x2881, 0x7792, 0x72E0, 0x23A7, 0x0AC6,
221    0x1E75, 0x2C53, 0x78EA, 0x798D, 0x0F51, 0x4758, 0x1300, 0x1820,
222    0x76E6, 0x5FF5, 0x5844, 0x1F21, 0x27C4, 0x6CE5, 0x78FE, 0x1080,
223    0x235E, 0x35B5, 0x17AF, 0x4333, 0x1077, 0x30DA, 0x183F, 0x560A,
224    0x482B, 0x1159, 0x7F66, 0x6F8E, 0x4623, 0x00CA, 0x634C, 0x1C1B,
225    0x669B, 0x7D35, 0x2A79, 0x6A15, 0x6B8F, 0x6ACF, 0x18F0, 0x0C2B,
226    0x44B0, 0x76B1, 0x21C7, 0x3CD1, 0x4B12, 0x25E7, 0x5DC2, 0x1D72,
227    0x5986, 0x44CD, 0x4A57, 0x7C73, 0x3281, 0x308A, 0x314D, 0x4049,
228    0x1155, 0x1615, 0x2FF3, 0x63F6, 0x0D18, 0x680F, 0x305C, 0x5A87,
229    0x2129, 0x5C12, 0x5CA1, 0x0475, 0x301B, 0x79BF, 0x6825, 0x3103,
230    0x0CAA, 0x633B, 0x291C, 0x4EE1, 0x3F94, 0x7662, 0x5147, 0x7FFF
231    };
232
233static const q7_t ref_q7[256] = {
234    0x1F, 0x62, 0x7E, 0x5F, 0x48, 0x67, 0x33, 0x2E,
235    0x38, 0x19, 0x46, 0x5A, 0x56, 0x7F, 0x60, 0x62,
236    0x5F, 0x29, 0x4A, 0x4F, 0x59, 0x29, 0x76, 0x29,
237    0x48, 0x5C, 0x2A, 0x70, 0x7C, 0x69, 0x4B, 0x65,
238    0x26, 0x5A, 0x09, 0x0E, 0x04, 0x60, 0x6A, 0x51,
239    0x2E, 0x2A, 0x4F, 0x11, 0x30, 0x0A, 0x1A, 0x47,
240    0x29, 0x4D, 0x7E, 0x05, 0x7D, 0x7D, 0x12, 0x39,
241    0x70, 0x1A, 0x7F, 0x43, 0x06, 0x54, 0x65, 0x70,
242    0x52, 0x77, 0x5A, 0x32, 0x4E, 0x49, 0x72, 0x54,
243    0x75, 0x55, 0x4B, 0x41, 0x07, 0x53, 0x01, 0x59,
244    0x7D, 0x2C, 0x72, 0x7C, 0x13, 0x0F, 0x23, 0x42,
245    0x48, 0x56, 0x13, 0x30, 0x5D, 0x12, 0x65, 0x0F,
246    0x5E, 0x4A, 0x58, 0x54, 0x04, 0x41, 0x58, 0x7C,
247    0x2B, 0x5F, 0x6D, 0x0E, 0x0E, 0x50, 0x76, 0x75,
248    0x6E, 0x03, 0x77, 0x54, 0x0B, 0x6B, 0x31, 0x7D,
249    0x7F, 0x75, 0x6E, 0x4D, 0x2D, 0x08, 0x64, 0x01,
250    0x75, 0x36, 0x43, 0x7B, 0x6B, 0x51, 0x7D, 0x1D,
251    0x42, 0x36, 0x55, 0x22, 0x6D, 0x4C, 0x16, 0x15,
252    0x7E, 0x4C, 0x3A, 0x49, 0x21, 0x28, 0x4D, 0x66,
253    0x40, 0x01, 0x7D, 0x14, 0x19, 0x0B, 0x11, 0x7A,
254    0x45, 0x76, 0x11, 0x12, 0x73, 0x7F, 0x2E, 0x2F,
255    0x7B, 0x13, 0x3E, 0x29, 0x78, 0x73, 0x24, 0x0B,
256    0x1E, 0x2C, 0x79, 0x7A, 0x0F, 0x47, 0x13, 0x18,
257    0x77, 0x60, 0x58, 0x1F, 0x28, 0x6D, 0x79, 0x10,
258    0x23, 0x36, 0x18, 0x43, 0x10, 0x31, 0x18, 0x56,
259    0x48, 0x11, 0x7F, 0x70, 0x46, 0x01, 0x63, 0x1C,
260    0x67, 0x7D, 0x2A, 0x6A, 0x6C, 0x6B, 0x19, 0x0C,
261    0x45, 0x77, 0x22, 0x3D, 0x4B, 0x26, 0x5E, 0x1D,
262    0x5A, 0x45, 0x4A, 0x7C, 0x33, 0x31, 0x31, 0x40,
263    0x11, 0x16, 0x30, 0x64, 0x0D, 0x68, 0x30, 0x5B,
264    0x21, 0x5C, 0x5D, 0x04, 0x30, 0x7A, 0x68, 0x31,
265    0x0D, 0x63, 0x29, 0x4F, 0x40, 0x76, 0x51, 0x7F
266    };
267
268static const uint32_t ref_weighted_sum[3] = {
269    0x3f1c763e, 0x3ed2a7ac, 0x3eeb33c8
270    };
271
272static const uint32_t ref_sort[11] = {
273    0xbf800000, 0xbf020833, 0xbecd84a4, 0xbe79828d,
274    0xbe77e106, 0xbe23a0cf, 0x3e8b2005, 0x3eae45f9,
275    0x3ec60533, 0x3edef701, 0x3f5b587c
276    };
277
278static const uint32_t ref_sort_bitonic_16[16] = {
279    0xbf800000, 0xbf1ac9af, 0xbeb7404b, 0xbe96e2f3,
280    0xbe7ebe48, 0xbe49aaa6, 0xbe0c8154, 0xbde7297e,
281    0xbd74b8b1, 0xbce9c2a9, 0x3daa5ff8, 0x3dcccc3f,
282    0x3ea8d3ec, 0x3ebe06f3, 0x3ed24897, 0x3f0f81a4
283    };
284
285static const uint32_t ref_sort_bitonic_32[32] = {
286    0xbf800000, 0xbf1abb67, 0xbf0ec9ee, 0xbf068a30,
287    0xbf043534, 0xbf012b00, 0xbefeaa91, 0xbefd1a2a,
288    0xbee8d12a, 0xbed8c7f0, 0xbe972d7a, 0xbe81fc15,
289    0xbe4e84cb, 0xbe3c1689, 0xbdf605d0, 0xbd9234a0,
290    0xbd2a8ea8, 0x3cc96593, 0x3d446123, 0x3d8ce6cb,
291    0x3dc3dd48, 0x3dd11d1c, 0x3de7ca48, 0x3e0db75f,
292    0x3e506a2c, 0x3e57751c, 0x3e601f55, 0x3e6e514e,
293    0x3e841924, 0x3eb5a5a2, 0x3ece8f07, 0x3f2a6bfa
294    };
295
296static const uint32_t ref_sort_const[16] = {
297    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
298    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
299    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000,
300    0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000
301    };
302
303