1static DSP_STATIC_DATA const q31_t in_com1[256] = {
2    0xFAB7BE89, 0xD0A53F53, 0x1A111E21, 0x49953816,
3    0x039D1FD3, 0xD15A0327, 0x1A0C9993, 0xC11799B2,
4    0x5FF34F43, 0x2F1AAAD3, 0xC253CA7B, 0xE07AE872,
5    0x2BA6A1A5, 0xE72C367E, 0x095EB61C, 0x11B2C034,
6    0xC348EFDB, 0xF61D0686, 0x3D8F8865, 0x02583C63,
7    0x421A42F1, 0x47700CDB, 0xF9C76EAD, 0x41934B18,
8    0xD8541E1F, 0xBF0E6064, 0xF0CD84F3, 0xE32E481E,
9    0xEDCD8FAA, 0x16CBA5C6, 0xCC5D5A03, 0x4A705300,
10    0xE029F9BE, 0xD35E7614, 0x1C73D288, 0xF8F29B53,
11    0x02A059E3, 0x9A7BBCC9, 0x39C39102, 0xE3BF944A,
12    0xF0A526E3, 0xB08F1663, 0x4FAD19C2, 0xE4CEF118,
13    0xE7350F23, 0xC64F1B53, 0xEA13DD5D, 0x0D202897,
14    0xF26A7EAC, 0x1F390903, 0x04742117, 0xDBF0142B,
15    0x21C69D2C, 0xED29C807, 0x1CA2D79E, 0xCB7324B6,
16    0x2D3AC862, 0x47A212F5, 0x05922A20, 0x9FD4BDC5,
17    0x05BBA2EF, 0x31929A7F, 0xED64FC90, 0x0187E40B,
18    0x3E79D6D5, 0x35174F2A, 0x0AB7A1FA, 0xC730FEF6,
19    0xD205B519, 0x2ACED497, 0x149629BC, 0x496AF8C9,
20    0x072A0A97, 0xE3584B0D, 0x60B6CCAC, 0xC8282020,
21    0xF3E040D4, 0x74151274, 0x3B33B20A, 0x295461DE,
22    0x9580056E, 0x5ED8128A, 0xB3BA36FC, 0xE782E074,
23    0xD201785D, 0x56075012, 0x02F41C39, 0x280A17B1,
24    0x5BA1EC9B, 0x3DD79454, 0x26F5E393, 0xB99DE788,
25    0x184041E6, 0x1843AB84, 0x20739447, 0xF6C45E87,
26    0xB414F760, 0x42D4F39A, 0x0246E933, 0x1474FF77,
27    0xEA54E9E5, 0xE089C52D, 0x1ED61839, 0x02B4ABE6,
28    0x1D6A7895, 0xF8DC8A57, 0x174AB327, 0xD1B60E6D,
29    0xF06DAD72, 0xDC4DF87A, 0xFCC33845, 0xDF56EAA7,
30    0x2AF56086, 0xF4BA1686, 0x31DBFBB8, 0xEC519D45,
31    0xC869501D, 0x32ACDDF0, 0xCEE42B32, 0x5F1CA782,
32    0xE9C295D2, 0xFB159839, 0x0BF034FB, 0xC602333A,
33    0x2B7C9F68, 0x3F2915AD, 0x0723B081, 0x3DA20555,
34    0xE9063F46, 0xCF83C9F3, 0x2087CB56, 0x1434EFE2,
35    0xFD5001B9, 0x53D3B0B7, 0x044D3F8F, 0x09F2CFD5,
36    0xED9C70B2, 0x3A6A2875, 0x64150B08, 0x0DC63106,
37    0xD7CDB3CA, 0x0109E1A7, 0xE728DD93, 0xEAAEF9D0,
38    0xF37E2FEE, 0x3944E08D, 0x12D442B3, 0x27451C2C,
39    0x1E952599, 0x087125C1, 0x0EE3B9E6, 0xDBA281AC,
40    0xD91FF3D4, 0xD7827B49, 0x0156172A, 0x1497EC12,
41    0x2EC0F116, 0x0732C6B0, 0x21FA3074, 0x29E8EEE4,
42    0xF438F972, 0x2B6083E6, 0xD3183ACF, 0x1139B2A3,
43    0x994730B6, 0x04686EB7, 0xFB2A8BE6, 0xE4001E4F,
44    0x326D1A8D, 0x12444A2E, 0xC2D02A01, 0x5ABAF2CF,
45    0xF9B0578A, 0x38BBF29A, 0xFFD6E55A, 0xF93208A8,
46    0xE1793803, 0x4DF77468, 0x080DF39B, 0xCDBF0532,
47    0x0D097F49, 0x09F21DE6, 0xFECC9CD0, 0xD3B19A9A,
48    0xDFCB383F, 0x9E2027FF, 0x3949D876, 0xC4501FA5,
49    0x263A70BF, 0x30BF0DD2, 0x202E838B, 0xF224F6BD,
50    0x38304013, 0x48EE54B1, 0x1A65946A, 0xBAFA30A1,
51    0xAB283604, 0xCFAFC5C6, 0xB9FA6AD7, 0x4D0A2DCB,
52    0xFD4680E8, 0x7FFFFFFF, 0x2D84CF3F, 0x265DA6E3,
53    0xF3561B3D, 0xEF08A690, 0xE2B7F2F0, 0xDD4C2DF4,
54    0x166BD24E, 0x3478C4A7, 0x21D0339C, 0x35AB59A8,
55    0xD4C328B6, 0xF04166CF, 0x3BB12F73, 0x53FA8D72,
56    0x64EC1557, 0x35CA36AE, 0x1C4CC90C, 0x1BBEC121,
57    0xDDE3F0EA, 0x35EFC713, 0x39535A61, 0x2CC5C0B9,
58    0x40D6DE42, 0x07D6ED0B, 0x04F369EF, 0xD1B33498,
59    0xB8F88BDC, 0xEBB4F9B9, 0x07A293FB, 0x294230FE,
60    0xE9FF43EB, 0x390EC222, 0xC826C79A, 0x154547EE,
61    0xEA6E8928, 0xD3B57D9C, 0x08273AC4, 0xED765FE0,
62    0xFB5BE6B2, 0x3CB7DE50, 0xF051FADE, 0x036682C5,
63    0xD5EB8DE1, 0x1B04132A, 0x2FA26906, 0x9DD3D8EF,
64    0x5ED1D048, 0x007E6EA0, 0xFF277C82, 0xC7EB9D50,
65    0xE4F9F063, 0xE5FCB076, 0xD10265D4, 0xFAB3D758
66    };
67
68static DSP_STATIC_DATA const q31_t in_com2[256] = {
69    0x3228AB4A, 0x08D12D9B, 0x036CDE01, 0xFBD88CAE,
70    0xD5CA97A9, 0x8FAB3853, 0x26C60070, 0x101D4A07,
71    0xF224215E, 0xFAE412EC, 0xD011C445, 0xE50A01DB,
72    0x074B8D35, 0x234664FA, 0x0B54B238, 0xED3365F8,
73    0xF7D23A24, 0x1A971A67, 0xF625D925, 0x1A6EE013,
74    0x0BB5C931, 0xF457A99B, 0x289031CE, 0x0125556A,
75    0xD62E058E, 0xF95334F7, 0xEA654168, 0x0F4EE37D,
76    0x7FFFFFFF, 0x1F81629D, 0x17756F82, 0x531972D5,
77    0xC1B57480, 0xFED22EC5, 0x0B569DAC, 0x061F53F4,
78    0x1ECF86DD, 0x01286810, 0x4F9A2B5F, 0xB8F8F02D,
79    0x3CC35D18, 0xF0D15D66, 0x39317AFB, 0x0AABBD1E,
80    0x19EAF304, 0x3AFB4766, 0x0282AEA1, 0xF725E52A,
81    0xF9218486, 0x1A9F5F6B, 0xF897252D, 0x12BAA22F,
82    0x2333307E, 0xD1792A50, 0x24F1473F, 0x2397CDAB,
83    0x2EAEA857, 0xEC61C2D3, 0x0672436C, 0x3C17F8B6,
84    0xEC5B68A0, 0x0E75A335, 0x129800D3, 0xFFF531D2,
85    0xD8F8B7FC, 0x05A3407D, 0x10B662D9, 0x320D47AF,
86    0xD493A97D, 0x0F31CD6A, 0x0BA9E8DD, 0x6135AA7C,
87    0xC71AFBCD, 0x234AF3BF, 0x34186CFB, 0x25B17489,
88    0x1FF20A13, 0x3CA8ADBB, 0xDB5014E1, 0x1A0C1554,
89    0xD55638BB, 0x02E9574A, 0x168DEDFB, 0x1F1D8B55,
90    0x24462792, 0xF5AED760, 0xE7C8A6BC, 0x35FEB0D2,
91    0xC695C7B5, 0xF314A324, 0x1BFBCBC2, 0xF9B794B7,
92    0x21C702B8, 0x0D964141, 0x60E12518, 0x1F9CA0C3,
93    0x09CF72C6, 0x05D069F2, 0xC0576536, 0xE2D1E286,
94    0xF38C584E, 0xF0EEAD2F, 0xFC3BDDD3, 0x9C35F346,
95    0xE256D4CC, 0xD04131BE, 0xD1D7DE9D, 0x107664B7,
96    0x0BA840AF, 0x0EE7344A, 0xF090687F, 0x11D7B6C5,
97    0x2D24C9AF, 0x27A825AF, 0xA73ED225, 0x094B917B,
98    0x1EEF7BF2, 0x0440583D, 0x0B8A0664, 0xD992DCD6,
99    0x0745A19D, 0x4A7A1615, 0xDB2275D5, 0x359DF826,
100    0xC5DA5B5A, 0xD0B36FBB, 0x0117A598, 0x190B580A,
101    0x1941A7A3, 0x1839AC8A, 0xDC2F19F9, 0x9ECAD0B5,
102    0xA5DC11E7, 0x12FC2DA3, 0x2C528695, 0xFB08B205,
103    0xD02A1E82, 0xE902806C, 0xC7936B43, 0xF3B13B31,
104    0x183E6EA5, 0xEE80B869, 0xF190A8AE, 0xFD8D7122,
105    0x321EC3A2, 0x056ECA59, 0xD40497F0, 0xD94844E1,
106    0xC72FB3F9, 0x0E35E2D6, 0x0CB81CF2, 0x297F90A0,
107    0x12D659D5, 0x40090C19, 0x340A218A, 0xBF144EB9,
108    0x098ADEED, 0xFEC2EE21, 0x0133901C, 0x2D2EBD9F,
109    0xE1F92964, 0xFA040017, 0xD9621437, 0x061CE050,
110    0x40FE21B8, 0xF52D6EA6, 0xDE440512, 0x3D130A92,
111    0xFF8F0CF8, 0xC9ED070B, 0xC5C386A7, 0x01F5CFA7,
112    0xD2FD8196, 0xE5FA641F, 0x24242CA2, 0xE551E61A,
113    0x0E80778C, 0xB7E53D79, 0x0E650887, 0xF0494969,
114    0x49A105A7, 0x0B0A1A5E, 0xCBC066AD, 0x1C7AD83E,
115    0x48159C1B, 0xEDB9D6B1, 0xF19E1F72, 0xF8ED7CE2,
116    0x287DFCF8, 0x1A6045D7, 0xE406EC66, 0x377E7BB0,
117    0x26F9A438, 0x01DC6D86, 0x0BEBE596, 0xE9365226,
118    0xD74C6CC8, 0xF7D13297, 0x35495CCD, 0xD78ECBB2,
119    0x41C2F13C, 0x1A975ED5, 0x24441E66, 0xF8863F46,
120    0xA7D0B566, 0x00368BA6, 0xDDD23D9A, 0xE1D3AC7D,
121    0x1394A08B, 0x04AD895F, 0xDE6CBDB5, 0x3051D96A,
122    0x160E70A7, 0xDA15485D, 0x48481702, 0x1CD76AF9,
123    0x02AB26C7, 0xF00BA0CD, 0xE3957590, 0xEC8BBD0D,
124    0x2936C1B2, 0xFCD9A94B, 0xFC9E4ACC, 0xE1D46FE7,
125    0x02F16893, 0x2760228B, 0x0D181A3D, 0x1A4800F9,
126    0xF6812E26, 0x126E6871, 0xF9B78C6F, 0x14C6AD15,
127    0x28C36383, 0x8D830F97, 0xFA9FB38F, 0x4185E31C,
128    0xF1B109BF, 0x8D61957F, 0x0FD0152A, 0x0223ECF6,
129    0x29D5287F, 0xF251E518, 0xDA439FFA, 0xD349568A,
130    0x06F6A33D, 0x195EE1B6, 0x11B79672, 0xCA24A284,
131    0x0C96014B, 0x0F3964ED, 0x101D4139, 0xD3D5AA7E,
132    0x26915EEC, 0x01A04B4F, 0x32F6444F, 0xFEADB99A
133    };
134
135static DSP_STATIC_DATA const q31_t in_bitwise1[11] = {
136    0x4BCE8F92, 0xFF14D182, 0x434E2DD4, 0xB7FC2F59,
137    0x048FA4A9, 0x038DCC83, 0x4ABEA434, 0xCF338938,
138    0x0DC0A132, 0x12A999EF, 0x9E357213
139    };
140
141static DSP_STATIC_DATA const q31_t in_bitwise2[11] = {
142    0xA8B8FCB8, 0xEDCB517D, 0x434011BD, 0x40705DDA,
143    0xF95571D7, 0xD4678EDB, 0x234AE04F, 0x0939EF27,
144    0xBDF4A6FE, 0xEC99DE65, 0x8735465D
145    };
146
147static DSP_STATIC_DATA const q31_t in_rand[9] = {
148    0x229D1A17, 0x1B4B61EA, 0x07281F85, 0x2AAAAAAB,
149    0x08255585, 0xEE55B1DD, 0xECDA8C68, 0x16EC051D,
150    0x050B7554
151    };
152
153static DSP_STATIC_DATA const q31_t in_maxpos[9] = {
154    0x7FFFFFFE, 0x00000001, 0x7FFFFFFE, 0x00000001,
155    0x7FFFFFFE, 0x00000001, 0x7FFFFFFE, 0x00000001,
156    0x7FFFFFFE
157    };
158
159static DSP_STATIC_DATA const q31_t in_maxneg[9] = {
160    0x80000001, 0xFFFFFFFF, 0x80000001, 0xFFFFFFFF,
161    0x80000001, 0xFFFFFFFF, 0x80000001, 0xFFFFFFFF,
162    0x80000001
163    };
164
165static DSP_STATIC_DATA const q31_t in_maxneg2[9] = {
166    0x80000000, 0xFFFFFFFE, 0x80000000, 0xFFFFFFFE,
167    0x80000000, 0xFFFFFFFE, 0x80000000, 0xFFFFFFFE,
168    0x80000000
169    };
170
171static DSP_STATIC_DATA const q31_t in_clip[267] = {
172    0x8CCCCCCD, 0x8DAA89D1, 0x8E8846D5, 0x8F6603DA,
173    0x9043C0DE, 0x91217DE2, 0x91FF3AE6, 0x92DCF7EA,
174    0x93BAB4EF, 0x949871F3, 0x95762EF7, 0x9653EBFB,
175    0x9731A900, 0x980F6604, 0x98ED2308, 0x99CAE00C,
176    0x9AA89D11, 0x9B865A15, 0x9C641719, 0x9D41D41D,
177    0x9E1F9121, 0x9EFD4E26, 0x9FDB0B2A, 0xA0B8C82E,
178    0xA1968532, 0xA2744237, 0xA351FF3B, 0xA42FBC3F,
179    0xA50D7943, 0xA5EB3648, 0xA6C8F34C, 0xA7A6B050,
180    0xA8846D54, 0xA9622A59, 0xAA3FE75D, 0xAB1DA461,
181    0xABFB6165, 0xACD91E69, 0xADB6DB6E, 0xAE949872,
182    0xAF725576, 0xB050127A, 0xB12DCF7F, 0xB20B8C83,
183    0xB2E94987, 0xB3C7068B, 0xB4A4C390, 0xB5828094,
184    0xB6603D98, 0xB73DFA9C, 0xB81BB7A1, 0xB8F974A5,
185    0xB9D731A9, 0xBAB4EEAD, 0xBB92ABB1, 0xBC7068B6,
186    0xBD4E25BA, 0xBE2BE2BE, 0xBF099FC2, 0xBFE75CC7,
187    0xC0C519CB, 0xC1A2D6CF, 0xC28093D3, 0xC35E50D8,
188    0xC43C0DDC, 0xC519CAE0, 0xC5F787E4, 0xC6D544E9,
189    0xC7B301ED, 0xC890BEF1, 0xC96E7BF5, 0xCA4C38F9,
190    0xCB29F5FE, 0xCC07B302, 0xCCE57006, 0xCDC32D0A,
191    0xCEA0EA0F, 0xCF7EA713, 0xD05C6417, 0xD13A211B,
192    0xD217DE20, 0xD2F59B24, 0xD3D35828, 0xD4B1152C,
193    0xD58ED231, 0xD66C8F35, 0xD74A4C39, 0xD828093D,
194    0xD905C641, 0xD9E38346, 0xDAC1404A, 0xDB9EFD4E,
195    0xDC7CBA52, 0xDD5A7757, 0xDE38345B, 0xDF15F15F,
196    0xDFF3AE63, 0xE0D16B68, 0xE1AF286C, 0xE28CE570,
197    0xE36AA274, 0xE4485F78, 0xE5261C7D, 0xE603D981,
198    0xE6E19685, 0xE7BF5389, 0xE89D108E, 0xE97ACD92,
199    0xEA588A96, 0xEB36479A, 0xEC14049F, 0xECF1C1A3,
200    0xEDCF7EA7, 0xEEAD3BAB, 0xEF8AF8B0, 0xF068B5B4,
201    0xF14672B8, 0xF2242FBC, 0xF301ECC0, 0xF3DFA9C5,
202    0xF4BD66C9, 0xF59B23CD, 0xF678E0D1, 0xF7569DD6,
203    0xF8345ADA, 0xF91217DE, 0xF9EFD4E2, 0xFACD91E7,
204    0xFBAB4EEB, 0xFC890BEF, 0xFD66C8F3, 0xFE4485F8,
205    0xFF2242FC, 0x00000000, 0x00DDBD04, 0x01BB7A08,
206    0x0299370D, 0x0376F411, 0x0454B115, 0x05326E19,
207    0x06102B1E, 0x06EDE822, 0x07CBA526, 0x08A9622A,
208    0x09871F2F, 0x0A64DC33, 0x0B429937, 0x0C20563B,
209    0x0CFE1340, 0x0DDBD044, 0x0EB98D48, 0x0F974A4C,
210    0x10750750, 0x1152C455, 0x12308159, 0x130E3E5D,
211    0x13EBFB61, 0x14C9B866, 0x15A7756A, 0x1685326E,
212    0x1762EF72, 0x1840AC77, 0x191E697B, 0x19FC267F,
213    0x1AD9E383, 0x1BB7A088, 0x1C955D8C, 0x1D731A90,
214    0x1E50D794, 0x1F2E9498, 0x200C519D, 0x20EA0EA1,
215    0x21C7CBA5, 0x22A588A9, 0x238345AE, 0x246102B2,
216    0x253EBFB6, 0x261C7CBA, 0x26FA39BF, 0x27D7F6C3,
217    0x28B5B3C7, 0x299370CB, 0x2A712DCF, 0x2B4EEAD4,
218    0x2C2CA7D8, 0x2D0A64DC, 0x2DE821E0, 0x2EC5DEE5,
219    0x2FA39BE9, 0x308158ED, 0x315F15F1, 0x323CD2F6,
220    0x331A8FFA, 0x33F84CFE, 0x34D60A02, 0x35B3C707,
221    0x3691840B, 0x376F410F, 0x384CFE13, 0x392ABB17,
222    0x3A08781C, 0x3AE63520, 0x3BC3F224, 0x3CA1AF28,
223    0x3D7F6C2D, 0x3E5D2931, 0x3F3AE635, 0x4018A339,
224    0x40F6603E, 0x41D41D42, 0x42B1DA46, 0x438F974A,
225    0x446D544F, 0x454B1153, 0x4628CE57, 0x47068B5B,
226    0x47E4485F, 0x48C20564, 0x499FC268, 0x4A7D7F6C,
227    0x4B5B3C70, 0x4C38F975, 0x4D16B679, 0x4DF4737D,
228    0x4ED23081, 0x4FAFED86, 0x508DAA8A, 0x516B678E,
229    0x52492492, 0x5326E197, 0x54049E9B, 0x54E25B9F,
230    0x55C018A3, 0x569DD5A7, 0x577B92AC, 0x58594FB0,
231    0x59370CB4, 0x5A14C9B8, 0x5AF286BD, 0x5BD043C1,
232    0x5CAE00C5, 0x5D8BBDC9, 0x5E697ACE, 0x5F4737D2,
233    0x6024F4D6, 0x6102B1DA, 0x61E06EDF, 0x62BE2BE3,
234    0x639BE8E7, 0x6479A5EB, 0x655762EF, 0x66351FF4,
235    0x6712DCF8, 0x67F099FC, 0x68CE5700, 0x69AC1405,
236    0x6A89D109, 0x6B678E0D, 0x6C454B11, 0x6D230816,
237    0x6E00C51A, 0x6EDE821E, 0x6FBC3F22, 0x7099FC26,
238    0x7177B92B, 0x7255762F, 0x73333333
239    };
240
241static const q31_t ref_add[256] = {
242    0x2CE069D3, 0xD9766CEE, 0x1D7DFC22, 0x456DC4C5,
243    0xD967B77C, 0x80000000, 0x40D29A03, 0xD134E3B8,
244    0x521770A1, 0x29FEBDBF, 0x92658EC0, 0xC584EA4C,
245    0x32F22EDA, 0x0A729B78, 0x14B36855, 0xFEE6262C,
246    0xBB1B29FF, 0x10B420ED, 0x33B5618A, 0x1CC71C75,
247    0x4DD00C22, 0x3BC7B676, 0x2257A07B, 0x42B8A082,
248    0xAE8223AD, 0xB861955B, 0xDB32C65B, 0xF27D2B9B,
249    0x6DCD8FAA, 0x364D0863, 0xE3D2C986, 0x7FFFFFFF,
250    0xA1DF6E3E, 0xD230A4D9, 0x27CA7034, 0xFF11EF48,
251    0x216FE0C1, 0x9BA424D9, 0x7FFFFFFF, 0x9CB88477,
252    0x2D6883FA, 0xA16073CA, 0x7FFFFFFF, 0xEF7AAE36,
253    0x01200227, 0x014A62B9, 0xEC968BFE, 0x04460DC1,
254    0xEB8C0333, 0x39D8686E, 0xFD0B4644, 0xEEAAB65B,
255    0x44F9CDA9, 0xBEA2F257, 0x41941EDD, 0xEF0AF262,
256    0x5BE970B9, 0x3403D5C8, 0x0C046D8C, 0xDBECB67B,
257    0xF2170B8F, 0x40083DB4, 0xFFFCFD63, 0x017D15DD,
258    0x17728ED1, 0x3ABA8FA7, 0x1B6E04D3, 0xF93E46A4,
259    0xA6995E96, 0x3A00A202, 0x20401299, 0x7FFFFFFF,
260    0xCE450664, 0x06A33ECC, 0x7FFFFFFF, 0xEDD994A9,
261    0x13D24AE7, 0x7FFFFFFF, 0x1683C6EB, 0x43607732,
262    0x80000000, 0x61C169D4, 0xCA4824F6, 0x06A06BC9,
263    0xF6479FEF, 0x4BB62772, 0xEABCC2F5, 0x5E08C883,
264    0x2237B44F, 0x30EC3778, 0x42F1AF55, 0xB3557C3F,
265    0x3A07449F, 0x25D9ECC5, 0x7FFFFFFF, 0x1660FF4A,
266    0xBDE46A26, 0x48A55D8C, 0xC29E4E69, 0xF746E1FC,
267    0xDDE14233, 0xD178725C, 0x1B11F60D, 0x9EEA9F2D,
268    0xFFC14D61, 0xC91DBC16, 0xE92291C4, 0xE22C7324,
269    0xFC15EE22, 0xEB352CC5, 0xED53A0C4, 0xF12EA16C,
270    0x581A2A34, 0x1C623C35, 0xD91ACDDC, 0xF59D2EC0,
271    0xE758CC10, 0x36ED362D, 0xDA6E3196, 0x38AF8458,
272    0xF108376F, 0x458FAE4E, 0xE712AACF, 0xFBA02B60,
273    0xF156FAC3, 0x0FDC8568, 0x083B5619, 0x56AD5D5E,
274    0x0247E6E9, 0xE7BD767D, 0xFCB6E54F, 0xB2FFC097,
275    0xA32C139F, 0x66CFDE5A, 0x309FC624, 0x04FB81DA,
276    0xBDC68F34, 0x236CA8E1, 0x2BA8764B, 0x01776C37,
277    0xF00C226E, 0xEF8A9A10, 0xD8B98641, 0xE83C6AF3,
278    0x259CF390, 0x3EB3AAE6, 0xE6D8DAA2, 0x008D610D,
279    0xE5C4D992, 0x16A70898, 0x1B9BD6D8, 0x0522124C,
280    0xEBF64DAA, 0x178B8763, 0x356038B4, 0xD3AC3ACB,
281    0x384BD003, 0x05F5B4D1, 0x232DC08F, 0x5717AC84,
282    0xD63222D7, 0x256483FD, 0xAC7A4F06, 0x175692F3,
283    0xDA45526E, 0xF995DD5D, 0xD96E90F9, 0x211328E0,
284    0x31FC2785, 0xDC315139, 0x8893B0A7, 0x5CB0C275,
285    0xCCADD920, 0x1EB656B9, 0x23FB11FC, 0xDE83EEC2,
286    0xEFF9AF8F, 0x05DCB1E1, 0x1672FC22, 0xBE084E9B,
287    0x56AA84F0, 0x14FC3844, 0xCA8D037D, 0xF02C72D9,
288    0x27E0D45A, 0x8BD9FEAF, 0x2AE7F7E7, 0xBD3D9C87,
289    0x4EB86DB7, 0x4B1F53A8, 0x04356FF1, 0x29A3726D,
290    0x5F29E44B, 0x4ACAC236, 0x26517A00, 0xA43082C8,
291    0x8274A2CC, 0xC780F85E, 0xEF43C7A4, 0x2498F97D,
292    0x3F097224, 0x7FFFFFFF, 0x51C8EDA5, 0x1EE3E629,
293    0x9B26D0A3, 0xEF3F3236, 0xC08A308B, 0xBF1FDA70,
294    0x2A0072D9, 0x39264E06, 0x003CF151, 0x65FD3311,
295    0xEAD1995D, 0xCA56AF2C, 0x7FFFFFFF, 0x70D1F86B,
296    0x67973C1E, 0x25D5D77B, 0xFFE23E9C, 0x084A7E2D,
297    0x071AB29C, 0x32C9705F, 0x35F1A52D, 0x0E9A30A0,
298    0x43C846D5, 0x2F370F96, 0x120B842B, 0xEBFB3591,
299    0xAF79BA01, 0xFE23622A, 0x015A206A, 0x3E08DE13,
300    0x12C2A76F, 0xC691D1B9, 0xC2C67B29, 0x56CB2B0A,
301    0xDC1F92E7, 0x80000000, 0x17F74FEE, 0xEF9A4CD6,
302    0x25310F31, 0x2F09C368, 0xCA959AD8, 0xD6AFD94F,
303    0xDCE2311E, 0x3462F4E0, 0x4159FF78, 0x80000000,
304    0x6B67D193, 0x0FB7D38C, 0x0F44BDBB, 0x9BC147CE,
305    0x0B8B4F4F, 0xE79CFBC5, 0x03F8AA24, 0xF96190F2
306    };
307
308static const q31_t ref_add_possat[9] = {
309    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
310    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
311    0x7FFFFFFF
312    };
313
314static const q31_t ref_add_negsat[9] = {
315    0x80000000, 0xFFFFFFFE, 0x80000000, 0xFFFFFFFE,
316    0x80000000, 0xFFFFFFFE, 0x80000000, 0xFFFFFFFE,
317    0x80000000
318    };
319
320static const q31_t ref_sub[256] = {
321    0xC88F133F, 0xC7D411B8, 0x16A44020, 0x4DBCAB68,
322    0x2DD2882A, 0x41AECAD4, 0xF3469923, 0xB0FA4FAB,
323    0x6DCF2DE5, 0x343697E7, 0xF2420636, 0xFB70E697,
324    0x245B1470, 0xC3E5D183, 0xFE0A03E4, 0x247F5A3C,
325    0xCB76B5B6, 0xDB85EC1F, 0x4769AF40, 0xE7E95C50,
326    0x366479C0, 0x5318633F, 0xD1373CDF, 0x406DF5AE,
327    0x02261891, 0xC5BB2B6D, 0x0668438B, 0xD3DF64A1,
328    0x80000000, 0xF74A4329, 0xB4E7EA81, 0xF756E02B,
329    0x1E74853E, 0xD48C474E, 0x111D34DC, 0xF2D3475F,
330    0xE3D0D306, 0x995354BA, 0xEA2965A3, 0x2AC6A41D,
331    0xB3E1C9CB, 0xBFBDB8FD, 0x167B9EC7, 0xDA2333F9,
332    0xCD4A1C1E, 0x8B53D3ED, 0xE7912EBC, 0x15FA436D,
333    0xF948FA26, 0x0499A998, 0x0BDCFBEA, 0xC93571FC,
334    0xFE936CAE, 0x1BB09DB7, 0xF7B1905F, 0xA7DB570B,
335    0xFE8C200B, 0x5B405022, 0xFF1FE6B3, 0x80000000,
336    0x19603A4F, 0x231CF74A, 0xDACCFBBE, 0x0192B23A,
337    0x65811ED9, 0x2F740EAD, 0xFA013F21, 0x9523B747,
338    0xFD720B9B, 0x1B9D072D, 0x08EC40DF, 0xE8354E4D,
339    0x400F0ECA, 0xC00D574E, 0x2C9E5FB1, 0xA276AB98,
340    0xD3EE36C1, 0x376C64BA, 0x5FE39D29, 0x0F484C89,
341    0xC029CCB3, 0x5BEEBB40, 0x9D2C4901, 0xC865551F,
342    0xADBB50CB, 0x605878B2, 0x1B2B757C, 0xF20B66DF,
343    0x7FFFFFFF, 0x4AC2F130, 0x0AFA17D1, 0xBFE652D1,
344    0xF6793F2E, 0x0AAD6A43, 0xBF926F2F, 0xD727BDC5,
345    0xAA45849A, 0x3D0489A8, 0x41EF83FE, 0x31A31CF1,
346    0xF6C89197, 0xEF9B17FF, 0x229A3A66, 0x667EB8A0,
347    0x3B13A3C8, 0x289B5899, 0x4572D48B, 0xC13FA9B5,
348    0xE4C56CC3, 0xCD66C430, 0x0C32CFC7, 0xCD7F33E2,
349    0xFDD096D7, 0xCD11F0D7, 0x7FFFFFFF, 0xE3060BCA,
350    0xA979D42B, 0x2E6C85B3, 0xC35A24CE, 0x7FFFFFFF,
351    0xE27CF435, 0xB09B8224, 0x30CDBF26, 0x90643B15,
352    0x65A2440E, 0x6E75A5F3, 0x060C0AE9, 0x2496AD4B,
353    0xCFC497A3, 0xB74A1D69, 0x4458B15D, 0x756A1F2D,
354    0x5773EFD2, 0x40D78313, 0xD7FAB8F9, 0x0EEA1DD0,
355    0x1D725230, 0x5167A809, 0x7FFFFFFF, 0x1A14F5D4,
356    0xBF8F4525, 0x1289293D, 0xF59834E5, 0xED2188AE,
357    0xC15F6C4C, 0x33D61634, 0x3ECFAAC3, 0x4DFCD74B,
358    0x576571A0, 0xFA3B42EB, 0x022B9CF5, 0xB222F10D,
359    0xC64999FF, 0x97796F30, 0xCD4BF5A0, 0x55839D5A,
360    0x25361229, 0x086FD88F, 0x20C6A058, 0xFCBA3145,
361    0x123FD00E, 0x315C83CE, 0xF9B62697, 0x0B1CD253,
362    0x80000000, 0x0F3B0011, 0x1CE686D4, 0xA6ED13BD,
363    0x32DE0D95, 0x48574323, 0xFD0CA35A, 0x58C52328,
364    0x26B2D5F4, 0x52C18E7A, 0xDBB2B8B8, 0x13E0228F,
365    0xD2F8C078, 0x7FFFFFFF, 0xF9A8EB14, 0xDD75BBC8,
366    0xC36879A1, 0xFEE80388, 0x330C3622, 0xB736C25C,
367    0x97B59C24, 0xB066514E, 0x47ABB904, 0xCB62A2C2,
368    0xFDBC73C7, 0x165EC7FB, 0x3C279726, 0xBAA67B0D,
369    0x11369BDB, 0x4711E72B, 0x0E79AED4, 0xD1C3DE7B,
370    0xD3DBC93B, 0xD7DE932F, 0x84B10E0A, 0x757B6219,
371    0xBB838FAC, 0x6568A12B, 0x0940B0DA, 0x2DD7679D,
372    0x4B8565D6, 0xEED21AEA, 0x04E5B556, 0xFB788177,
373    0x02D731C3, 0x2FCB3B49, 0x436375E7, 0x0559803E,
374    0xBEB4B80F, 0x162C1E72, 0xF3691871, 0x37232279,
375    0x6240EE90, 0x45BE95E1, 0x38B7537D, 0x2F330414,
376    0xB4AD2F38, 0x39161DC8, 0x3CB50F96, 0x4AF150D2,
377    0x3DE575AF, 0xE076CA80, 0xF7DB4FB2, 0xB76B339F,
378    0xC2775DB6, 0xD9469149, 0x0DEB078C, 0x147B83EA,
379    0xC13BE068, 0x7FFFFFFF, 0xCD87140A, 0xD3BF64D1,
380    0xF8BD7F69, 0x4653E81D, 0xF857259A, 0xEB5272E9,
381    0xD186BE32, 0x4A65F938, 0x160E5AE4, 0x301D2C3B,
382    0xCEF4EAA3, 0x01A53175, 0x1DEAD294, 0xD3AF366A,
383    0x523BCEFD, 0xF14509B3, 0xEF0A3B49, 0xF415F2D3,
384    0xBE689176, 0xE45C6528, 0x9E0C2185, 0xFC061DBF
385    };
386
387static const q31_t ref_sub_possat[9] = {
388    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
389    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
390    0x7FFFFFFF
391    };
392
393static const q31_t ref_sub_negsat[9] = {
394    0x80000000, 0xFFFFFFFE, 0x80000000, 0xFFFFFFFE,
395    0x80000000, 0xFFFFFFFE, 0x80000000, 0xFFFFFFFE,
396    0x80000000
397    };
398
399static const q31_t ref_mult[256] = {
400    0xFDEE18C7, 0xFCBCF0E7, 0x00B2925C, 0xFD9CA87D,
401    0xFECEEF8D, 0x28F022F0, 0x07E4092C, 0xF8148E2D,
402    0xF59C78C6, 0xFE1EAE75, 0x171804A2, 0x06A39C1D,
403    0x027CE0A1, 0xF9286F7E, 0x00D456DA, 0xFD6692CA,
404    0x03E12738, 0xFDF23987, 0xFB42FD45, 0x007BF433,
405    0x060C22CA, 0xF97E6B9D, 0xFE075087, 0x009646EC,
406    0x0CF622A0, 0x0362FF2E, 0x0290A78D, 0xFC8DA96F,
407    0xEDCD8FAA, 0x059C5CF3, 0xF6896685, 0x3053A28A,
408    0x0F7E3576, 0x00693CD3, 0x028534F5, 0xFFA9A569,
409    0x00A1D727, 0xFF14EB9D, 0x23EC465D, 0x0FAD4AC3,
410    0xF8B5FAA9, 0x096C2CDF, 0x2399E24A, 0xFDBBAF1F,
411    0xFAFADAE2, 0xE56A9753, 0xFF91EDBA, 0xFF179FF1,
412    0x00BA9E77, 0x067E75F4, 0xFFBE0039, 0xFAB92E02,
413    0x0949D0E8, 0x06D8D3D2, 0x0843C72F, 0xF163296F,
414    0x107ED768, 0xF50562E4, 0x0047D316, 0xD2D9B652,
415    0xFF1EC6A0, 0x0599981C, 0xFD4C1B52, 0xFFFFDEEB,
416    0xECF352BB, 0x02569F86, 0x016639A0, 0xE9C93EC1,
417    0x0F98FF6C, 0x0514E4CA, 0x01E03B4D, 0x37C1D89D,
418    0xFCD0C9EB, 0xF8195D00, 0x275CB7C5, 0xEF8E2DEE,
419    0xFCF962BA, 0x3702D9DD, 0xEF081880, 0x08690AAD,
420    0x237F40FE, 0x0228464A, 0xF28F6EC5, 0xFA0C0B5B,
421    0xF2F73470, 0xF910E1D0, 0xFF70F3C2, 0x10E3D926,
422    0xD6E5DA3F, 0xF9C21371, 0x08848232, 0x03746B52,
423    0x06664568, 0x02935B17, 0x188FC3C8, 0xFDB8429F,
424    0xFA2E6F3A, 0x030922E1, 0xFEDE1966, 0xFB561F5D,
425    0x021B9E2C, 0x03B41CF4, 0xFF17BB5E, 0xFDE3FDA8,
426    0xF92F002D, 0x02A9A957, 0xF799DA33, 0xFA0BF137,
427    0xFE94F4FD, 0xFBD80D4F, 0x0063F1F2, 0xFB728086,
428    0x0F269CA2, 0xFC81E3C9, 0xDD6D8363, 0xFE921E83,
429    0xF290AD96, 0x01AEE04D, 0xFB92A741, 0xE37265BE,
430    0xFEBC8B02, 0xFD23CBBD, 0xFC8FC77B, 0xE7B5577C,
431    0xEC3EBDCF, 0xE8A92275, 0x000F9907, 0x0C0F1B5B,
432    0xFB776F71, 0xF6D2DD32, 0xF6E5C746, 0xF0A77CD4,
433    0x01E47FE9, 0x0C6EEB81, 0x017D53DC, 0xFF9D30E5,
434    0x06DF48B0, 0xF58210FF, 0xD3E1E51F, 0xFEACF174,
435    0xF862F69A, 0xFFDBA7A5, 0x02CD2346, 0x0068580D,
436    0xFB1A492F, 0x026E427F, 0xF987B60E, 0xF41F1D6C,
437    0xF26CFB06, 0x00EFEDF1, 0x017AC427, 0xF435CFAF,
438    0xFA47646D, 0xEBBE60FE, 0x008B147D, 0xF58E1E86,
439    0x037C4A65, 0xFFEE2B3F, 0x0051A451, 0x0ECB31C8,
440    0x02C3469D, 0xFDF8D4DD, 0x0D8C358A, 0x00D2972E,
441    0xCBD7A691, 0xFFA09703, 0x01462140, 0xF2A3E426,
442    0xFFD380CA, 0xF8487B93, 0x1BD69566, 0x0163B2EB,
443    0x023820B4, 0xF477564A, 0xFFF464E4, 0x016B179B,
444    0xFC8A9ED6, 0xD41481C5, 0x00E7E231, 0x062B5978,
445    0x077FD11D, 0x00DB9789, 0x007D7907, 0xF624543F,
446    0xEDDCDFB4, 0x0DF92061, 0xF9901DDC, 0x034C4024,
447    0x0C17E3DB, 0x0A0B78B2, 0xF8F790D7, 0xF9FE3105,
448    0x111BE8F9, 0x010F74B2, 0x02756098, 0x0C49C083,
449    0x1AFA7678, 0x0316AE00, 0xE2D98E4A, 0xE7A8AF39,
450    0xFE99A72F, 0x1A975ED5, 0x0CE593A7, 0xFDC26294,
451    0x08B97B0A, 0xFFF8C524, 0x07D19B45, 0x082E29AF,
452    0x036E0A02, 0x01EAE9AF, 0xF7216C13, 0x14429336,
453    0xF88CAA4A, 0x04A9F74F, 0x21B54916, 0x12EC23FA,
454    0x021AA24D, 0xF94B9C1E, 0xF9B7A5D3, 0xFBC87BF3,
455    0xF5046BB7, 0xFEAC399D, 0xFE7C4990, 0xF57269FF,
456    0x017DA501, 0x02695F89, 0x0081A76A, 0xF67E5B22,
457    0x0544E5F4, 0xFD13F216, 0xFFA00EB8, 0x06B261D6,
458    0xF8FE2F00, 0xCCF729A3, 0x02588078, 0x0AE36E41,
459    0x02693723, 0x27A92CF4, 0x0101D9FC, 0xFFB0A58C,
460    0xFE7BB55B, 0xF982BCB6, 0x049F60D7, 0xFECFE8CA,
461    0xFDB5F5B1, 0x055AD260, 0x0697E422, 0x294E876B,
462    0x0952CA5C, 0x000F09A8, 0xFFE4BE14, 0x13598E13,
463    0xF7DB8275, 0xFFAB65F0, 0xED4A874F, 0x000E0005
464    };
465
466static const q31_t ref_mult_possat[9] = {
467    0x7FFFFFFF, 0x00000000, 0x7FFFFFFF, 0x00000000,
468    0x7FFFFFFF, 0x00000000, 0x7FFFFFFF, 0x00000000,
469    0x7FFFFFFF
470    };
471
472static const q31_t ref_negate[256] = {
473    0x05484177, 0x2F5AC0AD, 0xE5EEE1DF, 0xB66AC7EA,
474    0xFC62E02D, 0x2EA5FCD9, 0xE5F3666D, 0x3EE8664E,
475    0xA00CB0BD, 0xD0E5552D, 0x3DAC3585, 0x1F85178E,
476    0xD4595E5B, 0x18D3C982, 0xF6A149E4, 0xEE4D3FCC,
477    0x3CB71025, 0x09E2F97A, 0xC270779B, 0xFDA7C39D,
478    0xBDE5BD0F, 0xB88FF325, 0x06389153, 0xBE6CB4E8,
479    0x27ABE1E1, 0x40F19F9C, 0x0F327B0D, 0x1CD1B7E2,
480    0x12327056, 0xE9345A3A, 0x33A2A5FD, 0xB58FAD00,
481    0x1FD60642, 0x2CA189EC, 0xE38C2D78, 0x070D64AD,
482    0xFD5FA61D, 0x65844337, 0xC63C6EFE, 0x1C406BB6,
483    0x0F5AD91D, 0x4F70E99D, 0xB052E63E, 0x1B310EE8,
484    0x18CAF0DD, 0x39B0E4AD, 0x15EC22A3, 0xF2DFD769,
485    0x0D958154, 0xE0C6F6FD, 0xFB8BDEE9, 0x240FEBD5,
486    0xDE3962D4, 0x12D637F9, 0xE35D2862, 0x348CDB4A,
487    0xD2C5379E, 0xB85DED0B, 0xFA6DD5E0, 0x602B423B,
488    0xFA445D11, 0xCE6D6581, 0x129B0370, 0xFE781BF5,
489    0xC186292B, 0xCAE8B0D6, 0xF5485E06, 0x38CF010A,
490    0x2DFA4AE7, 0xD5312B69, 0xEB69D644, 0xB6950737,
491    0xF8D5F569, 0x1CA7B4F3, 0x9F493354, 0x37D7DFE0,
492    0x0C1FBF2C, 0x8BEAED8C, 0xC4CC4DF6, 0xD6AB9E22,
493    0x6A7FFA92, 0xA127ED76, 0x4C45C904, 0x187D1F8C,
494    0x2DFE87A3, 0xA9F8AFEE, 0xFD0BE3C7, 0xD7F5E84F,
495    0xA45E1365, 0xC2286BAC, 0xD90A1C6D, 0x46621878,
496    0xE7BFBE1A, 0xE7BC547C, 0xDF8C6BB9, 0x093BA179,
497    0x4BEB08A0, 0xBD2B0C66, 0xFDB916CD, 0xEB8B0089,
498    0x15AB161B, 0x1F763AD3, 0xE129E7C7, 0xFD4B541A,
499    0xE295876B, 0x072375A9, 0xE8B54CD9, 0x2E49F193,
500    0x0F92528E, 0x23B20786, 0x033CC7BB, 0x20A91559,
501    0xD50A9F7A, 0x0B45E97A, 0xCE240448, 0x13AE62BB,
502    0x3796AFE3, 0xCD532210, 0x311BD4CE, 0xA0E3587E,
503    0x163D6A2E, 0x04EA67C7, 0xF40FCB05, 0x39FDCCC6,
504    0xD4836098, 0xC0D6EA53, 0xF8DC4F7F, 0xC25DFAAB,
505    0x16F9C0BA, 0x307C360D, 0xDF7834AA, 0xEBCB101E,
506    0x02AFFE47, 0xAC2C4F49, 0xFBB2C071, 0xF60D302B,
507    0x12638F4E, 0xC595D78B, 0x9BEAF4F8, 0xF239CEFA,
508    0x28324C36, 0xFEF61E59, 0x18D7226D, 0x15510630,
509    0x0C81D012, 0xC6BB1F73, 0xED2BBD4D, 0xD8BAE3D4,
510    0xE16ADA67, 0xF78EDA3F, 0xF11C461A, 0x245D7E54,
511    0x26E00C2C, 0x287D84B7, 0xFEA9E8D6, 0xEB6813EE,
512    0xD13F0EEA, 0xF8CD3950, 0xDE05CF8C, 0xD617111C,
513    0x0BC7068E, 0xD49F7C1A, 0x2CE7C531, 0xEEC64D5D,
514    0x66B8CF4A, 0xFB979149, 0x04D5741A, 0x1BFFE1B1,
515    0xCD92E573, 0xEDBBB5D2, 0x3D2FD5FF, 0xA5450D31,
516    0x064FA876, 0xC7440D66, 0x00291AA6, 0x06CDF758,
517    0x1E86C7FD, 0xB2088B98, 0xF7F20C65, 0x3240FACE,
518    0xF2F680B7, 0xF60DE21A, 0x01336330, 0x2C4E6566,
519    0x2034C7C1, 0x61DFD801, 0xC6B6278A, 0x3BAFE05B,
520    0xD9C58F41, 0xCF40F22E, 0xDFD17C75, 0x0DDB0943,
521    0xC7CFBFED, 0xB711AB4F, 0xE59A6B96, 0x4505CF5F,
522    0x54D7C9FC, 0x30503A3A, 0x46059529, 0xB2F5D235,
523    0x02B97F18, 0x80000000, 0xD27B30C1, 0xD9A2591D,
524    0x0CA9E4C3, 0x10F75970, 0x1D480D10, 0x22B3D20C,
525    0xE9942DB2, 0xCB873B59, 0xDE2FCC64, 0xCA54A658,
526    0x2B3CD74A, 0x0FBE9931, 0xC44ED08D, 0xAC05728E,
527    0x9B13EAA9, 0xCA35C952, 0xE3B336F4, 0xE4413EDF,
528    0x221C0F16, 0xCA1038ED, 0xC6ACA59F, 0xD33A3F47,
529    0xBF2921BE, 0xF82912F5, 0xFB0C9611, 0x2E4CCB68,
530    0x47077424, 0x144B0647, 0xF85D6C05, 0xD6BDCF02,
531    0x1600BC15, 0xC6F13DDE, 0x37D93866, 0xEABAB812,
532    0x159176D8, 0x2C4A8264, 0xF7D8C53C, 0x1289A020,
533    0x04A4194E, 0xC34821B0, 0x0FAE0522, 0xFC997D3B,
534    0x2A14721F, 0xE4FBECD6, 0xD05D96FA, 0x622C2711,
535    0xA12E2FB8, 0xFF819160, 0x00D8837E, 0x381462B0,
536    0x1B060F9D, 0x1A034F8A, 0x2EFD9A2C, 0x054C28A8
537    };
538
539static  const q31_t ref_negate_possat[9] = {
540    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
541    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
542    0x7FFFFFFF
543    };
544
545static const q31_t ref_offset[256] = {
546    0x3AB7BE89, 0x10A53F53, 0x5A111E21, 0x7FFFFFFF,
547    0x439D1FD3, 0x115A0327, 0x5A0C9993, 0x011799B2,
548    0x7FFFFFFF, 0x6F1AAAD3, 0x0253CA7B, 0x207AE872,
549    0x6BA6A1A5, 0x272C367E, 0x495EB61C, 0x51B2C034,
550    0x0348EFDB, 0x361D0686, 0x7D8F8865, 0x42583C63,
551    0x7FFFFFFF, 0x7FFFFFFF, 0x39C76EAD, 0x7FFFFFFF,
552    0x18541E1F, 0xFF0E6064, 0x30CD84F3, 0x232E481E,
553    0x2DCD8FAA, 0x56CBA5C6, 0x0C5D5A03, 0x7FFFFFFF,
554    0x2029F9BE, 0x135E7614, 0x5C73D288, 0x38F29B53,
555    0x42A059E3, 0xDA7BBCC9, 0x79C39102, 0x23BF944A,
556    0x30A526E3, 0xF08F1663, 0x7FFFFFFF, 0x24CEF118,
557    0x27350F23, 0x064F1B53, 0x2A13DD5D, 0x4D202897,
558    0x326A7EAC, 0x5F390903, 0x44742117, 0x1BF0142B,
559    0x61C69D2C, 0x2D29C807, 0x5CA2D79E, 0x0B7324B6,
560    0x6D3AC862, 0x7FFFFFFF, 0x45922A20, 0xDFD4BDC5,
561    0x45BBA2EF, 0x71929A7F, 0x2D64FC90, 0x4187E40B,
562    0x7E79D6D5, 0x75174F2A, 0x4AB7A1FA, 0x0730FEF6,
563    0x1205B519, 0x6ACED497, 0x549629BC, 0x7FFFFFFF,
564    0x472A0A97, 0x23584B0D, 0x7FFFFFFF, 0x08282020,
565    0x33E040D4, 0x7FFFFFFF, 0x7B33B20A, 0x695461DE,
566    0xD580056E, 0x7FFFFFFF, 0xF3BA36FC, 0x2782E074,
567    0x1201785D, 0x7FFFFFFF, 0x42F41C39, 0x680A17B1,
568    0x7FFFFFFF, 0x7DD79454, 0x66F5E393, 0xF99DE788,
569    0x584041E6, 0x5843AB84, 0x60739447, 0x36C45E87,
570    0xF414F760, 0x7FFFFFFF, 0x4246E933, 0x5474FF77,
571    0x2A54E9E5, 0x2089C52D, 0x5ED61839, 0x42B4ABE6,
572    0x5D6A7895, 0x38DC8A57, 0x574AB327, 0x11B60E6D,
573    0x306DAD72, 0x1C4DF87A, 0x3CC33845, 0x1F56EAA7,
574    0x6AF56086, 0x34BA1686, 0x71DBFBB8, 0x2C519D45,
575    0x0869501D, 0x72ACDDF0, 0x0EE42B32, 0x7FFFFFFF,
576    0x29C295D2, 0x3B159839, 0x4BF034FB, 0x0602333A,
577    0x6B7C9F68, 0x7F2915AD, 0x4723B081, 0x7DA20555,
578    0x29063F46, 0x0F83C9F3, 0x6087CB56, 0x5434EFE2,
579    0x3D5001B9, 0x7FFFFFFF, 0x444D3F8F, 0x49F2CFD5,
580    0x2D9C70B2, 0x7A6A2875, 0x7FFFFFFF, 0x4DC63106,
581    0x17CDB3CA, 0x4109E1A7, 0x2728DD93, 0x2AAEF9D0,
582    0x337E2FEE, 0x7944E08D, 0x52D442B3, 0x67451C2C,
583    0x5E952599, 0x487125C1, 0x4EE3B9E6, 0x1BA281AC,
584    0x191FF3D4, 0x17827B49, 0x4156172A, 0x5497EC12,
585    0x6EC0F116, 0x4732C6B0, 0x61FA3074, 0x69E8EEE4,
586    0x3438F972, 0x6B6083E6, 0x13183ACF, 0x5139B2A3,
587    0xD94730B6, 0x44686EB7, 0x3B2A8BE6, 0x24001E4F,
588    0x726D1A8D, 0x52444A2E, 0x02D02A01, 0x7FFFFFFF,
589    0x39B0578A, 0x78BBF29A, 0x3FD6E55A, 0x393208A8,
590    0x21793803, 0x7FFFFFFF, 0x480DF39B, 0x0DBF0532,
591    0x4D097F49, 0x49F21DE6, 0x3ECC9CD0, 0x13B19A9A,
592    0x1FCB383F, 0xDE2027FF, 0x7949D876, 0x04501FA5,
593    0x663A70BF, 0x70BF0DD2, 0x602E838B, 0x3224F6BD,
594    0x78304013, 0x7FFFFFFF, 0x5A65946A, 0xFAFA30A1,
595    0xEB283604, 0x0FAFC5C6, 0xF9FA6AD7, 0x7FFFFFFF,
596    0x3D4680E8, 0x7FFFFFFF, 0x6D84CF3F, 0x665DA6E3,
597    0x33561B3D, 0x2F08A690, 0x22B7F2F0, 0x1D4C2DF4,
598    0x566BD24E, 0x7478C4A7, 0x61D0339C, 0x75AB59A8,
599    0x14C328B6, 0x304166CF, 0x7BB12F73, 0x7FFFFFFF,
600    0x7FFFFFFF, 0x75CA36AE, 0x5C4CC90C, 0x5BBEC121,
601    0x1DE3F0EA, 0x75EFC713, 0x79535A61, 0x6CC5C0B9,
602    0x7FFFFFFF, 0x47D6ED0B, 0x44F369EF, 0x11B33498,
603    0xF8F88BDC, 0x2BB4F9B9, 0x47A293FB, 0x694230FE,
604    0x29FF43EB, 0x790EC222, 0x0826C79A, 0x554547EE,
605    0x2A6E8928, 0x13B57D9C, 0x48273AC4, 0x2D765FE0,
606    0x3B5BE6B2, 0x7CB7DE50, 0x3051FADE, 0x436682C5,
607    0x15EB8DE1, 0x5B04132A, 0x6FA26906, 0xDDD3D8EF,
608    0x7FFFFFFF, 0x407E6EA0, 0x3F277C82, 0x07EB9D50,
609    0x24F9F063, 0x25FCB076, 0x110265D4, 0x3AB3D758
610    };
611
612static const q31_t ref_offset_possat[9] = {
613    0x7FFFFFFF, 0x73333334, 0x7FFFFFFF, 0x73333334,
614    0x7FFFFFFF, 0x73333334, 0x7FFFFFFF, 0x73333334,
615    0x7FFFFFFF
616    };
617
618static const q31_t ref_offset_negsat[9] = {
619    0x80000000, 0x8CCCCCCC, 0x80000000, 0x8CCCCCCC,
620    0x80000000, 0x8CCCCCCC, 0x80000000, 0x8CCCCCCC,
621    0x80000000
622    };
623
624static const q31_t ref_scale[256] = {
625    0xFD5BDF44, 0xE8529FAA, 0x0D088F11, 0x24CA9C0B,
626    0x01CE8FEA, 0xE8AD0194, 0x0D064CCA, 0xE08BCCD9,
627    0x2FF9A7A1, 0x178D556A, 0xE129E53E, 0xF03D7439,
628    0x15D350D2, 0xF3961B3F, 0x04AF5B0E, 0x08D9601A,
629    0xE1A477ED, 0xFB0E8343, 0x1EC7C432, 0x012C1E31,
630    0x210D2179, 0x23B8066D, 0xFCE3B756, 0x20C9A58C,
631    0xEC2A0F10, 0xDF873032, 0xF866C279, 0xF197240F,
632    0xF6E6C7D5, 0x0B65D2E3, 0xE62EAD02, 0x25382980,
633    0xF014FCDF, 0xE9AF3B0A, 0x0E39E944, 0xFC794DAA,
634    0x01502CF2, 0xCD3DDE65, 0x1CE1C881, 0xF1DFCA25,
635    0xF8529371, 0xD8478B32, 0x27D68CE1, 0xF267788C,
636    0xF39A8791, 0xE3278DAA, 0xF509EEAE, 0x0690144B,
637    0xF9353F56, 0x0F9C8481, 0x023A108B, 0xEDF80A16,
638    0x10E34E96, 0xF694E404, 0x0E516BCF, 0xE5B9925B,
639    0x169D6431, 0x23D1097B, 0x02C91510, 0xCFEA5EE2,
640    0x02DDD177, 0x18C94D3F, 0xF6B27E48, 0x00C3F206,
641    0x1F3CEB6A, 0x1A8BA795, 0x055BD0FD, 0xE3987F7B,
642    0xE902DA8C, 0x15676A4C, 0x0A4B14DE, 0x24B57C64,
643    0x0395054B, 0xF1AC2587, 0x305B6656, 0xE4141010,
644    0xF9F0206A, 0x3A0A893A, 0x1D99D905, 0x14AA30EF,
645    0xCAC002B7, 0x2F6C0945, 0xD9DD1B7E, 0xF3C1703A,
646    0xE900BC2E, 0x2B03A809, 0x017A0E1C, 0x14050BD8,
647    0x2DD0F64D, 0x1EEBCA2A, 0x137AF1C9, 0xDCCEF3C4,
648    0x0C2020F3, 0x0C21D5C2, 0x1039CA24, 0xFB622F44,
649    0xDA0A7BB0, 0x216A79CD, 0x0123749A, 0x0A3A7FBB,
650    0xF52A74F2, 0xF044E297, 0x0F6B0C1D, 0x015A55F3,
651    0x0EB53C4A, 0xFC6E452C, 0x0BA55994, 0xE8DB0736,
652    0xF836D6B9, 0xEE26FC3D, 0xFE619C23, 0xEFAB7554,
653    0x157AB043, 0xFA5D0B43, 0x18EDFDDC, 0xF628CEA3,
654    0xE434A80F, 0x19566EF8, 0xE7721599, 0x2F8E53C1,
655    0xF4E14AE9, 0xFD8ACC1D, 0x05F81A7D, 0xE301199D,
656    0x15BE4FB4, 0x1F948AD7, 0x0391D841, 0x1ED102AA,
657    0xF4831FA3, 0xE7C1E4FA, 0x1043E5AB, 0x0A1A77F1,
658    0xFEA800DC, 0x29E9D85B, 0x02269FC7, 0x04F967EA,
659    0xF6CE3859, 0x1D35143B, 0x320A8584, 0x06E31883,
660    0xEBE6D9E5, 0x0084F0D3, 0xF3946ECA, 0xF5577CE8,
661    0xF9BF17F7, 0x1CA27047, 0x096A2159, 0x13A28E16,
662    0x0F4A92CD, 0x043892E1, 0x0771DCF3, 0xEDD140D6,
663    0xEC8FF9EA, 0xEBC13DA5, 0x00AB0B95, 0x0A4BF609,
664    0x1760788B, 0x03996358, 0x10FD183A, 0x14F47772,
665    0xFA1C7CB9, 0x15B041F3, 0xE98C1D67, 0x089CD951,
666    0xCCA3985B, 0x0234375B, 0xFD9545F3, 0xF2000F27,
667    0x19368D46, 0x09222517, 0xE1681500, 0x2D5D7967,
668    0xFCD82BC5, 0x1C5DF94D, 0xFFEB72AD, 0xFC990454,
669    0xF0BC9C02, 0x26FBBA34, 0x0406F9CD, 0xE6DF8299,
670    0x0684BFA4, 0x04F90EF3, 0xFF664E68, 0xE9D8CD4D,
671    0xEFE59C20, 0xCF1013FF, 0x1CA4EC3B, 0xE2280FD2,
672    0x131D3860, 0x185F86E9, 0x101741C6, 0xF9127B5F,
673    0x1C18200A, 0x24772A58, 0x0D32CA35, 0xDD7D1851,
674    0xD5941B02, 0xE7D7E2E3, 0xDCFD356B, 0x268516E6,
675    0xFEA34074, 0x40000000, 0x16C267A0, 0x132ED371,
676    0xF9AB0D9E, 0xF7845348, 0xF15BF978, 0xEEA616FA,
677    0x0B35E927, 0x1A3C6254, 0x10E819CE, 0x1AD5ACD4,
678    0xEA61945B, 0xF820B368, 0x1DD897BA, 0x29FD46B9,
679    0x32760AAB, 0x1AE51B57, 0x0E266486, 0x0DDF6090,
680    0xEEF1F875, 0x1AF7E38A, 0x1CA9AD31, 0x1662E05D,
681    0x206B6F21, 0x03EB7686, 0x0279B4F7, 0xE8D99A4C,
682    0xDC7C45EE, 0xF5DA7CDD, 0x03D149FD, 0x14A1187F,
683    0xF4FFA1F6, 0x1C876111, 0xE41363CD, 0x0AA2A3F7,
684    0xF5374494, 0xE9DABECE, 0x04139D62, 0xF6BB2FF0,
685    0xFDADF359, 0x1E5BEF28, 0xF828FD6F, 0x01B34163,
686    0xEAF5C6F0, 0x0D820995, 0x17D13483, 0xCEE9EC77,
687    0x2F68E824, 0x003F3750, 0xFF93BE41, 0xE3F5CEA8,
688    0xF27CF831, 0xF2FE583B, 0xE88132EA, 0xFD59EBAC
689    };
690
691static const q31_t ref_scale_possat[9] = {
692    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
693    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
694    0x7FFFFFFF
695    };
696
697static const q63_t ref_dot_prod_3[1] = {
698    0xFFFFF6BB38159E67
699    };
700
701static const q63_t ref_dot_prod_4[1] = {
702    0x00004163DCBEB118
703    };
704
705static  const q63_t ref_dot_prod_4n1[1] = {
706    0x0000570A3477CBC0
707    };
708
709static const q63_t ref_dot_prod_long[1] = {
710    0x0000035C709433EC
711    };
712
713static const q31_t ref_abs[256] = {
714    0x05484177, 0x2F5AC0AD, 0x1A111E21, 0x49953816,
715    0x039D1FD3, 0x2EA5FCD9, 0x1A0C9993, 0x3EE8664E,
716    0x5FF34F43, 0x2F1AAAD3, 0x3DAC3585, 0x1F85178E,
717    0x2BA6A1A5, 0x18D3C982, 0x095EB61C, 0x11B2C034,
718    0x3CB71025, 0x09E2F97A, 0x3D8F8865, 0x02583C63,
719    0x421A42F1, 0x47700CDB, 0x06389153, 0x41934B18,
720    0x27ABE1E1, 0x40F19F9C, 0x0F327B0D, 0x1CD1B7E2,
721    0x12327056, 0x16CBA5C6, 0x33A2A5FD, 0x4A705300,
722    0x1FD60642, 0x2CA189EC, 0x1C73D288, 0x070D64AD,
723    0x02A059E3, 0x65844337, 0x39C39102, 0x1C406BB6,
724    0x0F5AD91D, 0x4F70E99D, 0x4FAD19C2, 0x1B310EE8,
725    0x18CAF0DD, 0x39B0E4AD, 0x15EC22A3, 0x0D202897,
726    0x0D958154, 0x1F390903, 0x04742117, 0x240FEBD5,
727    0x21C69D2C, 0x12D637F9, 0x1CA2D79E, 0x348CDB4A,
728    0x2D3AC862, 0x47A212F5, 0x05922A20, 0x602B423B,
729    0x05BBA2EF, 0x31929A7F, 0x129B0370, 0x0187E40B,
730    0x3E79D6D5, 0x35174F2A, 0x0AB7A1FA, 0x38CF010A,
731    0x2DFA4AE7, 0x2ACED497, 0x149629BC, 0x496AF8C9,
732    0x072A0A97, 0x1CA7B4F3, 0x60B6CCAC, 0x37D7DFE0,
733    0x0C1FBF2C, 0x74151274, 0x3B33B20A, 0x295461DE,
734    0x6A7FFA92, 0x5ED8128A, 0x4C45C904, 0x187D1F8C,
735    0x2DFE87A3, 0x56075012, 0x02F41C39, 0x280A17B1,
736    0x5BA1EC9B, 0x3DD79454, 0x26F5E393, 0x46621878,
737    0x184041E6, 0x1843AB84, 0x20739447, 0x093BA179,
738    0x4BEB08A0, 0x42D4F39A, 0x0246E933, 0x1474FF77,
739    0x15AB161B, 0x1F763AD3, 0x1ED61839, 0x02B4ABE6,
740    0x1D6A7895, 0x072375A9, 0x174AB327, 0x2E49F193,
741    0x0F92528E, 0x23B20786, 0x033CC7BB, 0x20A91559,
742    0x2AF56086, 0x0B45E97A, 0x31DBFBB8, 0x13AE62BB,
743    0x3796AFE3, 0x32ACDDF0, 0x311BD4CE, 0x5F1CA782,
744    0x163D6A2E, 0x04EA67C7, 0x0BF034FB, 0x39FDCCC6,
745    0x2B7C9F68, 0x3F2915AD, 0x0723B081, 0x3DA20555,
746    0x16F9C0BA, 0x307C360D, 0x2087CB56, 0x1434EFE2,
747    0x02AFFE47, 0x53D3B0B7, 0x044D3F8F, 0x09F2CFD5,
748    0x12638F4E, 0x3A6A2875, 0x64150B08, 0x0DC63106,
749    0x28324C36, 0x0109E1A7, 0x18D7226D, 0x15510630,
750    0x0C81D012, 0x3944E08D, 0x12D442B3, 0x27451C2C,
751    0x1E952599, 0x087125C1, 0x0EE3B9E6, 0x245D7E54,
752    0x26E00C2C, 0x287D84B7, 0x0156172A, 0x1497EC12,
753    0x2EC0F116, 0x0732C6B0, 0x21FA3074, 0x29E8EEE4,
754    0x0BC7068E, 0x2B6083E6, 0x2CE7C531, 0x1139B2A3,
755    0x66B8CF4A, 0x04686EB7, 0x04D5741A, 0x1BFFE1B1,
756    0x326D1A8D, 0x12444A2E, 0x3D2FD5FF, 0x5ABAF2CF,
757    0x064FA876, 0x38BBF29A, 0x00291AA6, 0x06CDF758,
758    0x1E86C7FD, 0x4DF77468, 0x080DF39B, 0x3240FACE,
759    0x0D097F49, 0x09F21DE6, 0x01336330, 0x2C4E6566,
760    0x2034C7C1, 0x61DFD801, 0x3949D876, 0x3BAFE05B,
761    0x263A70BF, 0x30BF0DD2, 0x202E838B, 0x0DDB0943,
762    0x38304013, 0x48EE54B1, 0x1A65946A, 0x4505CF5F,
763    0x54D7C9FC, 0x30503A3A, 0x46059529, 0x4D0A2DCB,
764    0x02B97F18, 0x7FFFFFFF, 0x2D84CF3F, 0x265DA6E3,
765    0x0CA9E4C3, 0x10F75970, 0x1D480D10, 0x22B3D20C,
766    0x166BD24E, 0x3478C4A7, 0x21D0339C, 0x35AB59A8,
767    0x2B3CD74A, 0x0FBE9931, 0x3BB12F73, 0x53FA8D72,
768    0x64EC1557, 0x35CA36AE, 0x1C4CC90C, 0x1BBEC121,
769    0x221C0F16, 0x35EFC713, 0x39535A61, 0x2CC5C0B9,
770    0x40D6DE42, 0x07D6ED0B, 0x04F369EF, 0x2E4CCB68,
771    0x47077424, 0x144B0647, 0x07A293FB, 0x294230FE,
772    0x1600BC15, 0x390EC222, 0x37D93866, 0x154547EE,
773    0x159176D8, 0x2C4A8264, 0x08273AC4, 0x1289A020,
774    0x04A4194E, 0x3CB7DE50, 0x0FAE0522, 0x036682C5,
775    0x2A14721F, 0x1B04132A, 0x2FA26906, 0x622C2711,
776    0x5ED1D048, 0x007E6EA0, 0x00D8837E, 0x381462B0,
777    0x1B060F9D, 0x1A034F8A, 0x2EFD9A2C, 0x054C28A8
778    };
779
780static const q31_t ref_shift[9] = {
781    0x453A342E, 0x3696C3D4, 0x0E503F0B, 0x55555555,
782    0x104AAB09, 0xDCAB63BA, 0xD9B518CF, 0x2DD80A3A,
783    0x0A16EAA8
784    };
785
786static const q31_t ref_shift_possat[9] = {
787    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
788    0x7FFFFFFF, 0x00000002, 0x7FFFFFFF, 0x00000002,
789    0x7FFFFFFF
790    };
791
792static const q31_t ref_shift_negsat[9] = {
793    0x80000000, 0xFFFFFFFE, 0x80000000, 0xFFFFFFFE,
794    0x80000000, 0xFFFFFFFE, 0x80000000, 0xFFFFFFFE,
795    0x80000000
796    };
797
798static const uint32_t ref_and[11] = {
799    0x08888C90, 0xED005100, 0x43400194, 0x00700D58,
800    0x00052081, 0x00058C83, 0x020AA004, 0x09318920,
801    0x0DC0A032, 0x00899865, 0x86354211
802    };
803
804static const uint32_t ref_or[11] = {
805    0xEBFEFFBA, 0xFFDFD1FF, 0x434E3DFD, 0xF7FC7FDB,
806    0xFDDFF5FF, 0xD7EFCEDB, 0x6BFEE47F, 0xCF3BEF3F,
807    0xBDF4A7FE, 0xFEB9DFEF, 0x9F35765F
808    };
809
810static const uint32_t ref_not[11] = {
811    0xB431706D, 0x00EB2E7D, 0xBCB1D22B, 0x4803D0A6,
812    0xFB705B56, 0xFC72337C, 0xB5415BCB, 0x30CC76C7,
813    0xF23F5ECD, 0xED566610, 0x61CA8DEC
814    };
815
816static const uint32_t ref_xor[11] = {
817    0xE376732A, 0x12DF80FF, 0x000E3C69, 0xF78C7283,
818    0xFDDAD57E, 0xD7EA4258, 0x69F4447B, 0xC60A661F,
819    0xB03407CC, 0xFE30478A, 0x1900344E
820    };
821
822static const q31_t ref_clip1[259] = {
823    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
824    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
825    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
826    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
827    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
828    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
829    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
830    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
831    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
832    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
833    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
834    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
835    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
836    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
837    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
838    0xC0C519CB, 0xC1A2D6CF, 0xC28093D3, 0xC35E50D8,
839    0xC43C0DDC, 0xC519CAE0, 0xC5F787E4, 0xC6D544E9,
840    0xC7B301ED, 0xC890BEF1, 0xC96E7BF5, 0xCA4C38F9,
841    0xCB29F5FE, 0xCC07B302, 0xCCE57006, 0xCDC32D0A,
842    0xCEA0EA0F, 0xCF7EA713, 0xD05C6417, 0xD13A211B,
843    0xD217DE20, 0xD2F59B24, 0xD3D35828, 0xD4B1152C,
844    0xD58ED231, 0xD66C8F35, 0xD74A4C39, 0xD828093D,
845    0xD905C641, 0xD9E38346, 0xDAC1404A, 0xDB9EFD4E,
846    0xDC7CBA52, 0xDD5A7757, 0xDE38345B, 0xDF15F15F,
847    0xDFF3AE63, 0xE0D16B68, 0xE1AF286C, 0xE28CE570,
848    0xE36AA274, 0xE4485F78, 0xE5261C7D, 0xE603D981,
849    0xE6E19685, 0xE7BF5389, 0xE89D108E, 0xE97ACD92,
850    0xEA588A96, 0xEB36479A, 0xEC14049F, 0xECF1C1A3,
851    0xEDCF7EA7, 0xEEAD3BAB, 0xEF8AF8B0, 0xF068B5B4,
852    0xF14672B8, 0xF2242FBC, 0xF301ECC0, 0xF3333333,
853    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
854    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
855    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
856    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
857    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
858    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
859    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
860    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
861    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
862    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
863    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
864    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
865    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
866    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
867    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
868    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
869    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
870    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
871    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
872    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
873    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
874    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
875    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
876    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
877    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
878    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
879    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
880    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
881    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
882    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
883    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
884    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
885    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
886    0xF3333333, 0xF3333333, 0xF3333333, 0xF3333333,
887    0xF3333333, 0xF3333333, 0xF3333333
888    };
889
890static const q31_t ref_clip2[264] = {
891    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
892    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
893    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
894    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
895    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
896    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
897    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
898    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
899    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
900    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
901    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
902    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
903    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
904    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
905    0xC0000000, 0xC0000000, 0xC0000000, 0xC0000000,
906    0xC0C519CB, 0xC1A2D6CF, 0xC28093D3, 0xC35E50D8,
907    0xC43C0DDC, 0xC519CAE0, 0xC5F787E4, 0xC6D544E9,
908    0xC7B301ED, 0xC890BEF1, 0xC96E7BF5, 0xCA4C38F9,
909    0xCB29F5FE, 0xCC07B302, 0xCCE57006, 0xCDC32D0A,
910    0xCEA0EA0F, 0xCF7EA713, 0xD05C6417, 0xD13A211B,
911    0xD217DE20, 0xD2F59B24, 0xD3D35828, 0xD4B1152C,
912    0xD58ED231, 0xD66C8F35, 0xD74A4C39, 0xD828093D,
913    0xD905C641, 0xD9E38346, 0xDAC1404A, 0xDB9EFD4E,
914    0xDC7CBA52, 0xDD5A7757, 0xDE38345B, 0xDF15F15F,
915    0xDFF3AE63, 0xE0D16B68, 0xE1AF286C, 0xE28CE570,
916    0xE36AA274, 0xE4485F78, 0xE5261C7D, 0xE603D981,
917    0xE6E19685, 0xE7BF5389, 0xE89D108E, 0xE97ACD92,
918    0xEA588A96, 0xEB36479A, 0xEC14049F, 0xECF1C1A3,
919    0xEDCF7EA7, 0xEEAD3BAB, 0xEF8AF8B0, 0xF068B5B4,
920    0xF14672B8, 0xF2242FBC, 0xF301ECC0, 0xF3DFA9C5,
921    0xF4BD66C9, 0xF59B23CD, 0xF678E0D1, 0xF7569DD6,
922    0xF8345ADA, 0xF91217DE, 0xF9EFD4E2, 0xFACD91E7,
923    0xFBAB4EEB, 0xFC890BEF, 0xFD66C8F3, 0xFE4485F8,
924    0xFF2242FC, 0x00000000, 0x00DDBD04, 0x01BB7A08,
925    0x0299370D, 0x0376F411, 0x0454B115, 0x05326E19,
926    0x06102B1E, 0x06EDE822, 0x07CBA526, 0x08A9622A,
927    0x09871F2F, 0x0A64DC33, 0x0B429937, 0x0C20563B,
928    0x0CFE1340, 0x0DDBD044, 0x0EB98D48, 0x0F974A4C,
929    0x10750750, 0x1152C455, 0x12308159, 0x130E3E5D,
930    0x13EBFB61, 0x14C9B866, 0x15A7756A, 0x1685326E,
931    0x1762EF72, 0x1840AC77, 0x191E697B, 0x19FC267F,
932    0x1AD9E383, 0x1BB7A088, 0x1C955D8C, 0x1D731A90,
933    0x1E50D794, 0x1F2E9498, 0x200C519D, 0x20EA0EA1,
934    0x21C7CBA5, 0x22A588A9, 0x238345AE, 0x246102B2,
935    0x253EBFB6, 0x261C7CBA, 0x26FA39BF, 0x27D7F6C3,
936    0x28B5B3C7, 0x299370CB, 0x2A712DCF, 0x2B4EEAD4,
937    0x2C2CA7D8, 0x2D0A64DC, 0x2DE821E0, 0x2EC5DEE5,
938    0x2FA39BE9, 0x308158ED, 0x315F15F1, 0x323CD2F6,
939    0x331A8FFA, 0x33F84CFE, 0x34D60A02, 0x35B3C707,
940    0x3691840B, 0x376F410F, 0x384CFE13, 0x392ABB17,
941    0x3A08781C, 0x3AE63520, 0x3BC3F224, 0x3CA1AF28,
942    0x3D7F6C2D, 0x3E5D2931, 0x3F3AE635, 0x40000000,
943    0x40000000, 0x40000000, 0x40000000, 0x40000000,
944    0x40000000, 0x40000000, 0x40000000, 0x40000000,
945    0x40000000, 0x40000000, 0x40000000, 0x40000000,
946    0x40000000, 0x40000000, 0x40000000, 0x40000000,
947    0x40000000, 0x40000000, 0x40000000, 0x40000000,
948    0x40000000, 0x40000000, 0x40000000, 0x40000000,
949    0x40000000, 0x40000000, 0x40000000, 0x40000000,
950    0x40000000, 0x40000000, 0x40000000, 0x40000000,
951    0x40000000, 0x40000000, 0x40000000, 0x40000000,
952    0x40000000, 0x40000000, 0x40000000, 0x40000000,
953    0x40000000, 0x40000000, 0x40000000, 0x40000000,
954    0x40000000, 0x40000000, 0x40000000, 0x40000000,
955    0x40000000, 0x40000000, 0x40000000, 0x40000000,
956    0x40000000, 0x40000000, 0x40000000, 0x40000000
957    };
958
959static const q31_t ref_clip3[267] = {
960    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
961    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
962    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
963    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
964    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
965    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
966    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
967    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
968    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
969    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
970    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
971    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
972    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
973    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
974    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
975    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
976    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
977    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
978    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
979    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
980    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
981    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
982    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
983    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
984    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
985    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
986    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
987    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
988    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
989    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
990    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
991    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
992    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
993    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
994    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
995    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
996    0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD, 0x0CCCCCCD,
997    0x0CFE1340, 0x0DDBD044, 0x0EB98D48, 0x0F974A4C,
998    0x10750750, 0x1152C455, 0x12308159, 0x130E3E5D,
999    0x13EBFB61, 0x14C9B866, 0x15A7756A, 0x1685326E,
1000    0x1762EF72, 0x1840AC77, 0x191E697B, 0x19FC267F,
1001    0x1AD9E383, 0x1BB7A088, 0x1C955D8C, 0x1D731A90,
1002    0x1E50D794, 0x1F2E9498, 0x200C519D, 0x20EA0EA1,
1003    0x21C7CBA5, 0x22A588A9, 0x238345AE, 0x246102B2,
1004    0x253EBFB6, 0x261C7CBA, 0x26FA39BF, 0x27D7F6C3,
1005    0x28B5B3C7, 0x299370CB, 0x2A712DCF, 0x2B4EEAD4,
1006    0x2C2CA7D8, 0x2D0A64DC, 0x2DE821E0, 0x2EC5DEE5,
1007    0x2FA39BE9, 0x308158ED, 0x315F15F1, 0x323CD2F6,
1008    0x331A8FFA, 0x33F84CFE, 0x34D60A02, 0x35B3C707,
1009    0x3691840B, 0x376F410F, 0x384CFE13, 0x392ABB17,
1010    0x3A08781C, 0x3AE63520, 0x3BC3F224, 0x3CA1AF28,
1011    0x3D7F6C2D, 0x3E5D2931, 0x3F3AE635, 0x40000000,
1012    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1013    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1014    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1015    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1016    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1017    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1018    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1019    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1020    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1021    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1022    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1023    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1024    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1025    0x40000000, 0x40000000, 0x40000000, 0x40000000,
1026    0x40000000, 0x40000000, 0x40000000
1027    };
1028