1static const uint16_t in_weighted_sum_val[50] = {
2    0x30a6, 0x36e9, 0x3b67, 0x3173, 0x362c, 0x3bfd, 0x2ef6, 0x37ae,
3    0x38bd, 0x36e6, 0x369f, 0x3bac, 0x3953, 0x3b9f, 0x3881, 0x38e0,
4    0x3b1f, 0x1960, 0x3956, 0x3a83, 0x3174, 0x343c, 0x3998, 0x39e8,
5    0x379a, 0x3707, 0x3999, 0x37d3, 0x2f65, 0x2f64, 0x38b1, 0x353e,
6    0x3713, 0x3a04, 0x379f, 0x37dc, 0x386c, 0x3966, 0x39a5, 0x3bbc,
7    0x383a, 0x3912, 0x2a4a, 0x3756, 0x354c, 0x3663, 0x2402, 0x3458,
8    0x3b4d, 0x393f
9    };
10
11static const uint16_t in_weighted_sum_coeff[50] = {
12    0x34e2, 0x282f, 0x3443, 0x38f1, 0x30e5, 0x3a33, 0x3aca, 0x3830,
13    0x2f6d, 0x3932, 0x33e5, 0x3a9d, 0x3bbe, 0x3488, 0x3ac7, 0x39c4,
14    0x37a2, 0x3911, 0x38c6, 0x3aa9, 0x3058, 0x38dc, 0x3b52, 0x3799,
15    0x3a40, 0x2d66, 0x28f8, 0x2b0c, 0x3559, 0x354d, 0x38c3, 0x3719,
16    0x38e7, 0x30e1, 0x34fd, 0x31ab, 0x3852, 0x3b88, 0x3955, 0x1958,
17    0x2df2, 0x3027, 0x39ae, 0x37d2, 0x37a9, 0x3905, 0x175b, 0x34cd,
18    0x3917, 0x2e92
19    };
20
21static const uint32_t ref_f32[256] = {
22    0x3e6dc924, 0x3e2486b6, 0x3ea0c4b0, 0x3eb8873d,
23    0x3e2a5dcc, 0x3f3a8256, 0x3e7ebb3f, 0x3f0537d7,
24    0x3ec9d94d, 0x3f10e8eb, 0x3e8ac054, 0x3e8de34d,
25    0x3f38553f, 0x3e12ab5c, 0x3f741331, 0x3f6d0edf,
26    0x3e98e5bc, 0x3ee8441e, 0x3f5abe5e, 0x3f228ce2,
27    0x3ca9b3f0, 0x3e4ea407, 0x3f414244, 0x3e244fbe,
28    0x3f5c38b0, 0x3ee9f27c, 0x3f4c6833, 0x3f1b48e3,
29    0x3f6b4071, 0x3f5724df, 0x3f62091b, 0x3f49e803,
30    0x3f5f64a1, 0x3f3d3de7, 0x3f5a0a5b, 0x3f38caf3,
31    0x3d83c65c, 0x3e1f44b3, 0x3e97bd96, 0x3f1a26d1,
32    0x3f2b3656, 0x3f1161b7, 0x3ce00b2d, 0x3e55f2a5,
33    0x3ec84050, 0x3ea41c61, 0x3e75bd9c, 0x3f3e0d99,
34    0x3e9ab80e, 0x3e9847ac, 0x3eadd8f5, 0x3f1b38b1,
35    0x3f4d8e05, 0x3f4887ab, 0x3e9a3928, 0x3ec8bf3b,
36    0x3f682c8c, 0x3f48f40f, 0x3f5214d5, 0x3f0e1bd0,
37    0x3e7fc575, 0x3ecbc2d6, 0x3f4424c0, 0x3dd13961,
38    0x3f6ece1e, 0x3e6e27da, 0x3eb43742, 0x3ed3e600,
39    0x3f265621, 0x3f294646, 0x3e23da06, 0x3f03de74,
40    0x3ecdaae9, 0x3f23af22, 0x3e3d66f3, 0x3e9eb1b7,
41    0x3f7f4ccb, 0x3ee2cf65, 0x3f2fe785, 0x3f4ab2ea,
42    0x3ee6d007, 0x3f5b7500, 0x3dd48a16, 0x3f5de4c3,
43    0x3d578efb, 0x3e6a74b3, 0x3ef59b6f, 0x3f7cfa5f,
44    0x3d959e7c, 0x3f376e35, 0x3eb14546, 0x3d26fa91,
45    0x3f462803, 0x3ef7f86d, 0x3e81cc9e, 0x3e3ec7f1,
46    0x3eff5680, 0x3f70f0df, 0x3f65a925, 0x3f41b77f,
47    0x3f02b49b, 0x3eb8ed41, 0x3f6c9d8d, 0x3e5a750f,
48    0x3ede8d52, 0x3f1bcba6, 0x3ef9eece, 0x3e5db8a2,
49    0x3e0c70ea, 0x3f28f4c1, 0x3e350932, 0x3e5e62e1,
50    0x3f1f5b05, 0x3d50808b, 0x3f3c98fb, 0x3f11791d,
51    0x3e973a8d, 0x3f4a303f, 0x3f41abaa, 0x3e860968,
52    0x3f479891, 0x3ebd22dd, 0x3ea2b1a4, 0x3d90e7fd,
53    0x3f121ec0, 0x3f49077b, 0x3f43fcc1, 0x3dc018fa,
54    0x3e92f7a8, 0x3e28acbb, 0x3f2b62f0, 0x3e8ab40e,
55    0x3f0759ef, 0x3e6b4c76, 0x3e7ccd69, 0x3d0b5c0e,
56    0x3e2b6c0b, 0x3f7b4725, 0x3e09f429, 0x3edc5225,
57    0x3e5052ff, 0x3c2d5312, 0x3f17ef38, 0x3e68e722,
58    0x3f0124b8, 0x3db054ad, 0x3d7d99d6, 0x3dbc5b8b,
59    0x3f320806, 0x3ef488da, 0x3f0f46bb, 0x3ecdab35,
60    0x3f51118c, 0x3ed5fe3d, 0x3e82b4a4, 0x3e0d677a,
61    0x3f5d5e34, 0x3f549e4d, 0x3f800000, 0x3e878bf5,
62    0x3e835ee8, 0x3f032fc2, 0x3c92f727, 0x3eb906cc,
63    0x3e2b9f88, 0x3deed844, 0x3f747000, 0x3f32ba35,
64    0x3ef305c4, 0x3f3c8745, 0x3f0602ba, 0x3f2b4d46,
65    0x3f20c6ff, 0x3f29bd96, 0x3f48bad0, 0x3e1a4a43,
66    0x3eda17ca, 0x3f676708, 0x3f430ff7, 0x3db5eb23,
67    0x3e338ac1, 0x3dc18b6d, 0x3f570079, 0x3f678ffc,
68    0x3f1c6a9f, 0x3f791831, 0x3ec02bb9, 0x3ed12fa1,
69    0x3e8d1691, 0x3eac1e7c, 0x3f2f4073, 0x3f33a19a,
70    0x3f611b48, 0x3f59ffff, 0x3f30166e, 0x3edd6d54,
71    0x3ef15ef6, 0x3eff0b45, 0x3f6265fb, 0x3f0a5736,
72    0x3f30b3c8, 0x3ed045e9, 0x3df4920d, 0x3f5f212a,
73    0x3f171a71, 0x3f546ed0, 0x3cdcbfbb, 0x3f62bdb0,
74    0x3bf57904, 0x3c9dc503, 0x3eb6234c, 0x3f02a4e8,
75    0x3ee085d6, 0x3ca99f7a, 0x3f4ef040, 0x3f0e7aed,
76    0x3e2ca85b, 0x3f241250, 0x3f6df3e2, 0x3eba5aab,
77    0x3f4e8c84, 0x3e6a6d03, 0x3be552df, 0x3f7ad6b8,
78    0x3ebde06c, 0x3f393af9, 0x3ea85de8, 0x3dc52f10,
79    0x3f32f9b1, 0x3d69c847, 0x3ea4c4d4, 0x3f4827cc,
80    0x3f1050e4, 0x3da28f6e, 0x3eac631d, 0x3f04541c,
81    0x390ca629, 0x3e225f7d, 0x3e68a5b0, 0x3f09ff3f,
82    0x3df47be2, 0x3db00868, 0x3f6009b6, 0x3f37bb10,
83    0x3e3e7cc2, 0x3e856c5f, 0x3d880450, 0x3e40e56d,
84    0x3f312dda, 0x3e9760cd, 0x3e27a550, 0x3ec3437a,
85    0x3ee71457, 0x3f5a881e, 0x3f6b4411, 0x3f040cf0
86    };
87
88static const q15_t ref_q15[256] = {
89    0x1DB9, 0x1491, 0x2831, 0x2E22, 0x154C, 0x5D41, 0x1FD7, 0x429C,
90    0x3276, 0x4874, 0x22B0, 0x2379, 0x5C2B, 0x1255, 0x7A0A, 0x7687,
91    0x2639, 0x3A11, 0x6D5F, 0x5146, 0x02A7, 0x19D5, 0x60A1, 0x148A,
92    0x6E1C, 0x3A7D, 0x6634, 0x4DA4, 0x75A0, 0x6B92, 0x7105, 0x64F4,
93    0x6FB2, 0x5E9F, 0x6D05, 0x5C65, 0x083C, 0x13E9, 0x25EF, 0x4D13,
94    0x559B, 0x48B1, 0x0380, 0x1ABE, 0x3210, 0x2907, 0x1EB8, 0x5F07,
95    0x26AE, 0x2612, 0x2B76, 0x4D9C, 0x66C7, 0x6444, 0x268E, 0x3230,
96    0x7416, 0x647A, 0x690A, 0x470E, 0x1FF9, 0x32F1, 0x6212, 0x0D14,
97    0x7767, 0x1DC5, 0x2D0E, 0x34FA, 0x532B, 0x54A3, 0x147B, 0x41EF,
98    0x336B, 0x51D8, 0x17AD, 0x27AC, 0x7FA6, 0x38B4, 0x57F4, 0x6559,
99    0x39B4, 0x6DBB, 0x0D49, 0x6EF2, 0x06BC, 0x1D4F, 0x3D67, 0x7E7D,
100    0x095A, 0x5BB7, 0x2C51, 0x0538, 0x6314, 0x3DFE, 0x2073, 0x17D9,
101    0x3FD6, 0x7878, 0x72D5, 0x60DC, 0x415A, 0x2E3B, 0x764F, 0x1B4F,
102    0x37A3, 0x4DE6, 0x3E7C, 0x1BB7, 0x118E, 0x547A, 0x16A1, 0x1BCC,
103    0x4FAE, 0x0684, 0x5E4C, 0x48BD, 0x25CF, 0x6518, 0x60D6, 0x2182,
104    0x63CC, 0x2F49, 0x28AC, 0x090E, 0x490F, 0x6484, 0x61FE, 0x0C02,
105    0x24BE, 0x1516, 0x55B1, 0x22AD, 0x43AD, 0x1D6A, 0x1F9A, 0x045B,
106    0x156E, 0x7DA4, 0x113F, 0x3715, 0x1A0A, 0x015B, 0x4BF8, 0x1D1D,
107    0x4092, 0x0B05, 0x07ED, 0x0BC6, 0x5904, 0x3D22, 0x47A3, 0x336B,
108    0x6889, 0x3580, 0x20AD, 0x11AD, 0x6EAF, 0x6A4F, 0x7FFF, 0x21E3,
109    0x20D8, 0x4198, 0x024C, 0x2E42, 0x1574, 0x0EEE, 0x7A38, 0x595D,
110    0x3CC1, 0x5E44, 0x4301, 0x55A7, 0x5063, 0x54DF, 0x645D, 0x1349,
111    0x3686, 0x73B4, 0x6188, 0x0B5F, 0x1671, 0x0C19, 0x6B80, 0x73C8,
112    0x4E35, 0x7C8C, 0x300B, 0x344C, 0x2346, 0x2B08, 0x57A0, 0x59D1,
113    0x708E, 0x6D00, 0x580B, 0x375B, 0x3C58, 0x3FC3, 0x7133, 0x452C,
114    0x585A, 0x3411, 0x0F49, 0x6F91, 0x4B8D, 0x6A37, 0x0373, 0x715F,
115    0x00F5, 0x0277, 0x2D89, 0x4152, 0x3821, 0x02A6, 0x6778, 0x473D,
116    0x1595, 0x5209, 0x76FA, 0x2E97, 0x6746, 0x1D4E, 0x00E5, 0x7D6B,
117    0x2F78, 0x5C9D, 0x2A17, 0x0C53, 0x597D, 0x074E, 0x2931, 0x6414,
118    0x4828, 0x0A29, 0x2B19, 0x422A, 0x0004, 0x144C, 0x1D15, 0x4500,
119    0x0F48, 0x0B01, 0x7005, 0x5BDE, 0x17D0, 0x215B, 0x0880, 0x181D,
120    0x5897, 0x25D8, 0x14F5, 0x30D1, 0x39C5, 0x6D44, 0x75A2, 0x4206
121    };
122
123static const uint16_t ref_f16[256] = {
124    0x336e, 0x3124, 0x3506, 0x35c4, 0x3153, 0x39d4, 0x33f6, 0x382a,
125    0x364f, 0x3887, 0x3456, 0x346f, 0x39c3, 0x3095, 0x3ba1, 0x3b68,
126    0x34c7, 0x3742, 0x3ad6, 0x3914, 0x254e, 0x3275, 0x3a0a, 0x3122,
127    0x3ae2, 0x3750, 0x3a63, 0x38da, 0x3b5a, 0x3ab9, 0x3b10, 0x3a4f,
128    0x3afb, 0x39ea, 0x3ad0, 0x39c6, 0x2c1e, 0x30fa, 0x34be, 0x38d1,
129    0x395a, 0x388b, 0x2700, 0x32b0, 0x3642, 0x3521, 0x33ae, 0x39f0,
130    0x34d6, 0x34c2, 0x356f, 0x38da, 0x3a6c, 0x3a44, 0x34d2, 0x3646,
131    0x3b41, 0x3a48, 0x3a91, 0x3871, 0x33fe, 0x365e, 0x3a21, 0x2e8a,
132    0x3b76, 0x3371, 0x35a2, 0x369f, 0x3933, 0x394a, 0x311f, 0x381f,
133    0x366d, 0x391d, 0x31eb, 0x34f6, 0x3bfa, 0x3716, 0x397f, 0x3a56,
134    0x3737, 0x3adc, 0x2ea4, 0x3aef, 0x2abc, 0x3354, 0x37ad, 0x3be8,
135    0x2cad, 0x39bb, 0x358a, 0x2938, 0x3a31, 0x37c0, 0x340e, 0x31f6,
136    0x37fb, 0x3b88, 0x3b2d, 0x3a0e, 0x3816, 0x35c7, 0x3b65, 0x32d4,
137    0x36f4, 0x38de, 0x37cf, 0x32ee, 0x3064, 0x3948, 0x31a8, 0x32f3,
138    0x38fb, 0x2a84, 0x39e5, 0x388c, 0x34ba, 0x3a52, 0x3a0d, 0x3430,
139    0x3a3d, 0x35e9, 0x3516, 0x2c87, 0x3891, 0x3a48, 0x3a20, 0x2e01,
140    0x3498, 0x3145, 0x395b, 0x3456, 0x383b, 0x335a, 0x33e6, 0x285b,
141    0x315b, 0x3bda, 0x3050, 0x36e3, 0x3283, 0x216b, 0x38bf, 0x3347,
142    0x3809, 0x2d83, 0x2bed, 0x2de3, 0x3990, 0x37a4, 0x387a, 0x366d,
143    0x3a89, 0x36b0, 0x3416, 0x306b, 0x3aeb, 0x3aa5, 0x3c00, 0x343c,
144    0x341b, 0x3819, 0x2498, 0x35c8, 0x315d, 0x2f77, 0x3ba3, 0x3996,
145    0x3798, 0x39e4, 0x3830, 0x395a, 0x3906, 0x394e, 0x3a46, 0x30d2,
146    0x36d1, 0x3b3b, 0x3a18, 0x2daf, 0x319c, 0x2e0c, 0x3ab8, 0x3b3c,
147    0x38e3, 0x3bc9, 0x3601, 0x3689, 0x3469, 0x3561, 0x397a, 0x399d,
148    0x3b09, 0x3ad0, 0x3981, 0x36eb, 0x378b, 0x37f8, 0x3b13, 0x3853,
149    0x3986, 0x3682, 0x2fa5, 0x3af9, 0x38b9, 0x3aa3, 0x26e6, 0x3b16,
150    0x1fac, 0x24ee, 0x35b1, 0x3815, 0x3704, 0x254d, 0x3a78, 0x3874,
151    0x3165, 0x3921, 0x3b70, 0x35d3, 0x3a74, 0x3353, 0x1f2b, 0x3bd7,
152    0x35ef, 0x39ca, 0x3543, 0x2e29, 0x3998, 0x2b4e, 0x3526, 0x3a41,
153    0x3883, 0x2d14, 0x3563, 0x3823, 0x865, 0x3113, 0x3345, 0x3850,
154    0x2fa4, 0x2d80, 0x3b00, 0x39be, 0x31f4, 0x342b, 0x2c40, 0x3207,
155    0x3989, 0x34bb, 0x313d, 0x361a, 0x3739, 0x3ad4, 0x3b5a, 0x3820
156    };
157
158static const uint16_t ref_weighted_sum[3] = {
159    0x3720, 0x388f, 0x3884
160    };
161
162