1 /******************************************************************************
2  *
3  *  Copyright 2022 Google LLC
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at:
8  *
9  *  http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  ******************************************************************************/
18 
19 #include "tables.h"
20 
21 
22 /**
23  * Characteristics
24  */
25 
26 const int lc3_ns_2m5[LC3_NUM_SRATE] = {
27     [LC3_SRATE_8K    ] = LC3_NS(2500,  8000),
28     [LC3_SRATE_16K   ] = LC3_NS(2500, 16000),
29     [LC3_SRATE_24K   ] = LC3_NS(2500, 24000),
30     [LC3_SRATE_32K   ] = LC3_NS(2500, 32000),
31     [LC3_SRATE_48K   ] = LC3_NS(2500, 48000),
32     [LC3_SRATE_48K_HR] = LC3_NS(2500, 48000),
33     [LC3_SRATE_96K_HR] = LC3_NS(2500, 96000),
34 };
35 
36 const int lc3_ne_2m5[LC3_NUM_SRATE] = {
37     [LC3_SRATE_8K    ] = LC3_NS(2500,  8000),
38     [LC3_SRATE_16K   ] = LC3_NS(2500, 16000),
39     [LC3_SRATE_24K   ] = LC3_NS(2500, 24000),
40     [LC3_SRATE_32K   ] = LC3_NS(2500, 32000),
41     [LC3_SRATE_48K   ] = LC3_NS(2500, 40000),
42     [LC3_SRATE_48K_HR] = LC3_NS(2500, 48000),
43     [LC3_SRATE_96K_HR] = LC3_NS(2500, 96000),
44 };
45 
46 const int lc3_ns_4m[LC3_NUM_SRATE] = {
47     [LC3_SRATE_8K    ] = LC3_NS(4000,  8000),
48     [LC3_SRATE_16K   ] = LC3_NS(4000, 16000),
49     [LC3_SRATE_24K   ] = LC3_NS(4000, 24000),
50     [LC3_SRATE_32K   ] = LC3_NS(4000, 32000),
51     [LC3_SRATE_48K   ] = LC3_NS(4000, 48000),
52     [LC3_SRATE_48K_HR] = LC3_NS(4000, 48000),
53     [LC3_SRATE_96K_HR] = LC3_NS(4000, 96000),
54 };
55 
56 
57 /**
58  * Limits on size of frame
59  * For fallback operation, half-size should be accepted.
60  */
61 
62 const int lc3_frame_bytes_hr_lim
63         [LC3_NUM_DT][LC3_NUM_SRATE - LC3_SRATE_48K_HR][2] = {
64 
65     [LC3_DT_2M5][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = {  54/2, 210 },
66     [LC3_DT_2M5][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = {  62/2, 210 },
67 
68     [LC3_DT_5M ][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = {  93/2, 375 },
69     [LC3_DT_5M ][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = { 109/2, 375 },
70 
71     [LC3_DT_10M][LC3_SRATE_48K_HR - LC3_SRATE_48K_HR] = { 156/2, 625 },
72     [LC3_DT_10M][LC3_SRATE_96K_HR - LC3_SRATE_48K_HR] = { 187/2, 625 },
73 
74 };
75 
76 
77 /**
78  * Twiddles FFT 3 points
79  *
80  * T[0..N-1] =
81  *   { cos(-2Pi *  i/N) + j sin(-2Pi *  i/N),
82  *     cos(-2Pi * 2i/N) + j sin(-2Pi * 2i/N) } , N=15, 45
83  */
84 
85 static const struct lc3_fft_bf3_twiddles fft_twiddles_15 = {
86     .n3 = 15/3, .t = (const struct lc3_complex [][2]){
87         { {  1.0000000e+0, -0.0000000e+0 }, {  1.0000000e+0, -0.0000000e+0 } },
88         { {  9.1354546e-1, -4.0673664e-1 }, {  6.6913061e-1, -7.4314483e-1 } },
89         { {  6.6913061e-1, -7.4314483e-1 }, { -1.0452846e-1, -9.9452190e-1 } },
90         { {  3.0901699e-1, -9.5105652e-1 }, { -8.0901699e-1, -5.8778525e-1 } },
91         { { -1.0452846e-1, -9.9452190e-1 }, { -9.7814760e-1,  2.0791169e-1 } },
92         { { -5.0000000e-1, -8.6602540e-1 }, { -5.0000000e-1,  8.6602540e-1 } },
93         { { -8.0901699e-1, -5.8778525e-1 }, {  3.0901699e-1,  9.5105652e-1 } },
94         { { -9.7814760e-1, -2.0791169e-1 }, {  9.1354546e-1,  4.0673664e-1 } },
95         { { -9.7814760e-1,  2.0791169e-1 }, {  9.1354546e-1, -4.0673664e-1 } },
96         { { -8.0901699e-1,  5.8778525e-1 }, {  3.0901699e-1, -9.5105652e-1 } },
97         { { -5.0000000e-1,  8.6602540e-1 }, { -5.0000000e-1, -8.6602540e-1 } },
98         { { -1.0452846e-1,  9.9452190e-1 }, { -9.7814760e-1, -2.0791169e-1 } },
99         { {  3.0901699e-1,  9.5105652e-1 }, { -8.0901699e-1,  5.8778525e-1 } },
100         { {  6.6913061e-1,  7.4314483e-1 }, { -1.0452846e-1,  9.9452190e-1 } },
101         { {  9.1354546e-1,  4.0673664e-1 }, {  6.6913061e-1,  7.4314483e-1 } },
102     }
103 };
104 
105 static const struct lc3_fft_bf3_twiddles fft_twiddles_45 = {
106     .n3 = 45/3, .t = (const struct lc3_complex [][2]){
107         { {  1.0000000e+0, -0.0000000e+0 }, {  1.0000000e+0, -0.0000000e+0 } },
108         { {  9.9026807e-1, -1.3917310e-1 }, {  9.6126170e-1, -2.7563736e-1 } },
109         { {  9.6126170e-1, -2.7563736e-1 }, {  8.4804810e-1, -5.2991926e-1 } },
110         { {  9.1354546e-1, -4.0673664e-1 }, {  6.6913061e-1, -7.4314483e-1 } },
111         { {  8.4804810e-1, -5.2991926e-1 }, {  4.3837115e-1, -8.9879405e-1 } },
112         { {  7.6604444e-1, -6.4278761e-1 }, {  1.7364818e-1, -9.8480775e-1 } },
113         { {  6.6913061e-1, -7.4314483e-1 }, { -1.0452846e-1, -9.9452190e-1 } },
114         { {  5.5919290e-1, -8.2903757e-1 }, { -3.7460659e-1, -9.2718385e-1 } },
115         { {  4.3837115e-1, -8.9879405e-1 }, { -6.1566148e-1, -7.8801075e-1 } },
116         { {  3.0901699e-1, -9.5105652e-1 }, { -8.0901699e-1, -5.8778525e-1 } },
117         { {  1.7364818e-1, -9.8480775e-1 }, { -9.3969262e-1, -3.4202014e-1 } },
118         { {  3.4899497e-2, -9.9939083e-1 }, { -9.9756405e-1, -6.9756474e-2 } },
119         { { -1.0452846e-1, -9.9452190e-1 }, { -9.7814760e-1,  2.0791169e-1 } },
120         { { -2.4192190e-1, -9.7029573e-1 }, { -8.8294759e-1,  4.6947156e-1 } },
121         { { -3.7460659e-1, -9.2718385e-1 }, { -7.1933980e-1,  6.9465837e-1 } },
122         { { -5.0000000e-1, -8.6602540e-1 }, { -5.0000000e-1,  8.6602540e-1 } },
123         { { -6.1566148e-1, -7.8801075e-1 }, { -2.4192190e-1,  9.7029573e-1 } },
124         { { -7.1933980e-1, -6.9465837e-1 }, {  3.4899497e-2,  9.9939083e-1 } },
125         { { -8.0901699e-1, -5.8778525e-1 }, {  3.0901699e-1,  9.5105652e-1 } },
126         { { -8.8294759e-1, -4.6947156e-1 }, {  5.5919290e-1,  8.2903757e-1 } },
127         { { -9.3969262e-1, -3.4202014e-1 }, {  7.6604444e-1,  6.4278761e-1 } },
128         { { -9.7814760e-1, -2.0791169e-1 }, {  9.1354546e-1,  4.0673664e-1 } },
129         { { -9.9756405e-1, -6.9756474e-2 }, {  9.9026807e-1,  1.3917310e-1 } },
130         { { -9.9756405e-1,  6.9756474e-2 }, {  9.9026807e-1, -1.3917310e-1 } },
131         { { -9.7814760e-1,  2.0791169e-1 }, {  9.1354546e-1, -4.0673664e-1 } },
132         { { -9.3969262e-1,  3.4202014e-1 }, {  7.6604444e-1, -6.4278761e-1 } },
133         { { -8.8294759e-1,  4.6947156e-1 }, {  5.5919290e-1, -8.2903757e-1 } },
134         { { -8.0901699e-1,  5.8778525e-1 }, {  3.0901699e-1, -9.5105652e-1 } },
135         { { -7.1933980e-1,  6.9465837e-1 }, {  3.4899497e-2, -9.9939083e-1 } },
136         { { -6.1566148e-1,  7.8801075e-1 }, { -2.4192190e-1, -9.7029573e-1 } },
137         { { -5.0000000e-1,  8.6602540e-1 }, { -5.0000000e-1, -8.6602540e-1 } },
138         { { -3.7460659e-1,  9.2718385e-1 }, { -7.1933980e-1, -6.9465837e-1 } },
139         { { -2.4192190e-1,  9.7029573e-1 }, { -8.8294759e-1, -4.6947156e-1 } },
140         { { -1.0452846e-1,  9.9452190e-1 }, { -9.7814760e-1, -2.0791169e-1 } },
141         { {  3.4899497e-2,  9.9939083e-1 }, { -9.9756405e-1,  6.9756474e-2 } },
142         { {  1.7364818e-1,  9.8480775e-1 }, { -9.3969262e-1,  3.4202014e-1 } },
143         { {  3.0901699e-1,  9.5105652e-1 }, { -8.0901699e-1,  5.8778525e-1 } },
144         { {  4.3837115e-1,  8.9879405e-1 }, { -6.1566148e-1,  7.8801075e-1 } },
145         { {  5.5919290e-1,  8.2903757e-1 }, { -3.7460659e-1,  9.2718385e-1 } },
146         { {  6.6913061e-1,  7.4314483e-1 }, { -1.0452846e-1,  9.9452190e-1 } },
147         { {  7.6604444e-1,  6.4278761e-1 }, {  1.7364818e-1,  9.8480775e-1 } },
148         { {  8.4804810e-1,  5.2991926e-1 }, {  4.3837115e-1,  8.9879405e-1 } },
149         { {  9.1354546e-1,  4.0673664e-1 }, {  6.6913061e-1,  7.4314483e-1 } },
150         { {  9.6126170e-1,  2.7563736e-1 }, {  8.4804810e-1,  5.2991926e-1 } },
151         { {  9.9026807e-1,  1.3917310e-1 }, {  9.6126170e-1,  2.7563736e-1 } },
152     }
153 };
154 
155 const struct lc3_fft_bf3_twiddles *lc3_fft_twiddles_bf3[] =
156     { &fft_twiddles_15, &fft_twiddles_45 };
157 
158 
159 /**
160  * Twiddles FFT 2 points
161  *
162  * T[0..N/2-1] =
163  *   cos(-2Pi * i/N) + j sin(-2Pi * i/N) , N=10, 20, ...
164  */
165 
166 static const struct lc3_fft_bf2_twiddles fft_twiddles_10 = {
167     .n2 = 10/2, .t = (const struct lc3_complex []){
168         {  1.0000000e+00, -0.0000000e+00 }, {  8.0901699e-01, -5.8778525e-01 },
169         {  3.0901699e-01, -9.5105652e-01 }, { -3.0901699e-01, -9.5105652e-01 },
170         { -8.0901699e-01, -5.8778525e-01 },
171     }
172 };
173 
174 static const struct lc3_fft_bf2_twiddles fft_twiddles_20 = {
175     .n2 = 20/2, .t = (const struct lc3_complex []){
176         {  1.0000000e+00, -0.0000000e+00 }, {  9.5105652e-01, -3.0901699e-01 },
177         {  8.0901699e-01, -5.8778525e-01 }, {  5.8778525e-01, -8.0901699e-01 },
178         {  3.0901699e-01, -9.5105652e-01 }, {  6.1232340e-17, -1.0000000e+00 },
179         { -3.0901699e-01, -9.5105652e-01 }, { -5.8778525e-01, -8.0901699e-01 },
180         { -8.0901699e-01, -5.8778525e-01 }, { -9.5105652e-01, -3.0901699e-01 },
181     }
182 };
183 
184 static const struct lc3_fft_bf2_twiddles fft_twiddles_30 = {
185     .n2 = 30/2, .t = (const struct lc3_complex []){
186         {  1.0000000e+00, -0.0000000e+00 }, {  9.7814760e-01, -2.0791169e-01 },
187         {  9.1354546e-01, -4.0673664e-01 }, {  8.0901699e-01, -5.8778525e-01 },
188         {  6.6913061e-01, -7.4314483e-01 }, {  5.0000000e-01, -8.6602540e-01 },
189         {  3.0901699e-01, -9.5105652e-01 }, {  1.0452846e-01, -9.9452190e-01 },
190         { -1.0452846e-01, -9.9452190e-01 }, { -3.0901699e-01, -9.5105652e-01 },
191         { -5.0000000e-01, -8.6602540e-01 }, { -6.6913061e-01, -7.4314483e-01 },
192         { -8.0901699e-01, -5.8778525e-01 }, { -9.1354546e-01, -4.0673664e-01 },
193         { -9.7814760e-01, -2.0791169e-01 },
194     }
195 };
196 
197 static const struct lc3_fft_bf2_twiddles fft_twiddles_40 = {
198     .n2 = 40/2, .t = (const struct lc3_complex []){
199         {  1.0000000e+00, -0.0000000e+00 }, {  9.8768834e-01, -1.5643447e-01 },
200         {  9.5105652e-01, -3.0901699e-01 }, {  8.9100652e-01, -4.5399050e-01 },
201         {  8.0901699e-01, -5.8778525e-01 }, {  7.0710678e-01, -7.0710678e-01 },
202         {  5.8778525e-01, -8.0901699e-01 }, {  4.5399050e-01, -8.9100652e-01 },
203         {  3.0901699e-01, -9.5105652e-01 }, {  1.5643447e-01, -9.8768834e-01 },
204         {  6.1232340e-17, -1.0000000e+00 }, { -1.5643447e-01, -9.8768834e-01 },
205         { -3.0901699e-01, -9.5105652e-01 }, { -4.5399050e-01, -8.9100652e-01 },
206         { -5.8778525e-01, -8.0901699e-01 }, { -7.0710678e-01, -7.0710678e-01 },
207         { -8.0901699e-01, -5.8778525e-01 }, { -8.9100652e-01, -4.5399050e-01 },
208         { -9.5105652e-01, -3.0901699e-01 }, { -9.8768834e-01, -1.5643447e-01 },
209     }
210 };
211 
212 static const struct lc3_fft_bf2_twiddles fft_twiddles_60 = {
213     .n2 = 60/2, .t = (const struct lc3_complex []){
214         {  1.0000000e+00, -0.0000000e+00 }, {  9.9452190e-01, -1.0452846e-01 },
215         {  9.7814760e-01, -2.0791169e-01 }, {  9.5105652e-01, -3.0901699e-01 },
216         {  9.1354546e-01, -4.0673664e-01 }, {  8.6602540e-01, -5.0000000e-01 },
217         {  8.0901699e-01, -5.8778525e-01 }, {  7.4314483e-01, -6.6913061e-01 },
218         {  6.6913061e-01, -7.4314483e-01 }, {  5.8778525e-01, -8.0901699e-01 },
219         {  5.0000000e-01, -8.6602540e-01 }, {  4.0673664e-01, -9.1354546e-01 },
220         {  3.0901699e-01, -9.5105652e-01 }, {  2.0791169e-01, -9.7814760e-01 },
221         {  1.0452846e-01, -9.9452190e-01 }, {  2.8327694e-16, -1.0000000e+00 },
222         { -1.0452846e-01, -9.9452190e-01 }, { -2.0791169e-01, -9.7814760e-01 },
223         { -3.0901699e-01, -9.5105652e-01 }, { -4.0673664e-01, -9.1354546e-01 },
224         { -5.0000000e-01, -8.6602540e-01 }, { -5.8778525e-01, -8.0901699e-01 },
225         { -6.6913061e-01, -7.4314483e-01 }, { -7.4314483e-01, -6.6913061e-01 },
226         { -8.0901699e-01, -5.8778525e-01 }, { -8.6602540e-01, -5.0000000e-01 },
227         { -9.1354546e-01, -4.0673664e-01 }, { -9.5105652e-01, -3.0901699e-01 },
228         { -9.7814760e-01, -2.0791169e-01 }, { -9.9452190e-01, -1.0452846e-01 },
229     }
230 };
231 
232 static const struct lc3_fft_bf2_twiddles fft_twiddles_80 = {
233     .n2 = 80/2, .t = (const struct lc3_complex []){
234         {  1.0000000e+00, -0.0000000e+00 }, {  9.9691733e-01, -7.8459096e-02 },
235         {  9.8768834e-01, -1.5643447e-01 }, {  9.7236992e-01, -2.3344536e-01 },
236         {  9.5105652e-01, -3.0901699e-01 }, {  9.2387953e-01, -3.8268343e-01 },
237         {  8.9100652e-01, -4.5399050e-01 }, {  8.5264016e-01, -5.2249856e-01 },
238         {  8.0901699e-01, -5.8778525e-01 }, {  7.6040597e-01, -6.4944805e-01 },
239         {  7.0710678e-01, -7.0710678e-01 }, {  6.4944805e-01, -7.6040597e-01 },
240         {  5.8778525e-01, -8.0901699e-01 }, {  5.2249856e-01, -8.5264016e-01 },
241         {  4.5399050e-01, -8.9100652e-01 }, {  3.8268343e-01, -9.2387953e-01 },
242         {  3.0901699e-01, -9.5105652e-01 }, {  2.3344536e-01, -9.7236992e-01 },
243         {  1.5643447e-01, -9.8768834e-01 }, {  7.8459096e-02, -9.9691733e-01 },
244         {  6.1232340e-17, -1.0000000e+00 }, { -7.8459096e-02, -9.9691733e-01 },
245         { -1.5643447e-01, -9.8768834e-01 }, { -2.3344536e-01, -9.7236992e-01 },
246         { -3.0901699e-01, -9.5105652e-01 }, { -3.8268343e-01, -9.2387953e-01 },
247         { -4.5399050e-01, -8.9100652e-01 }, { -5.2249856e-01, -8.5264016e-01 },
248         { -5.8778525e-01, -8.0901699e-01 }, { -6.4944805e-01, -7.6040597e-01 },
249         { -7.0710678e-01, -7.0710678e-01 }, { -7.6040597e-01, -6.4944805e-01 },
250         { -8.0901699e-01, -5.8778525e-01 }, { -8.5264016e-01, -5.2249856e-01 },
251         { -8.9100652e-01, -4.5399050e-01 }, { -9.2387953e-01, -3.8268343e-01 },
252         { -9.5105652e-01, -3.0901699e-01 }, { -9.7236992e-01, -2.3344536e-01 },
253         { -9.8768834e-01, -1.5643447e-01 }, { -9.9691733e-01, -7.8459096e-02 },
254     }
255 };
256 
257 static const struct lc3_fft_bf2_twiddles fft_twiddles_90 = {
258     .n2 = 90/2, .t = (const struct lc3_complex []){
259         {  1.0000000e+00, -0.0000000e+00 }, {  9.9756405e-01, -6.9756474e-02 },
260         {  9.9026807e-01, -1.3917310e-01 }, {  9.7814760e-01, -2.0791169e-01 },
261         {  9.6126170e-01, -2.7563736e-01 }, {  9.3969262e-01, -3.4202014e-01 },
262         {  9.1354546e-01, -4.0673664e-01 }, {  8.8294759e-01, -4.6947156e-01 },
263         {  8.4804810e-01, -5.2991926e-01 }, {  8.0901699e-01, -5.8778525e-01 },
264         {  7.6604444e-01, -6.4278761e-01 }, {  7.1933980e-01, -6.9465837e-01 },
265         {  6.6913061e-01, -7.4314483e-01 }, {  6.1566148e-01, -7.8801075e-01 },
266         {  5.5919290e-01, -8.2903757e-01 }, {  5.0000000e-01, -8.6602540e-01 },
267         {  4.3837115e-01, -8.9879405e-01 }, {  3.7460659e-01, -9.2718385e-01 },
268         {  3.0901699e-01, -9.5105652e-01 }, {  2.4192190e-01, -9.7029573e-01 },
269         {  1.7364818e-01, -9.8480775e-01 }, {  1.0452846e-01, -9.9452190e-01 },
270         {  3.4899497e-02, -9.9939083e-01 }, { -3.4899497e-02, -9.9939083e-01 },
271         { -1.0452846e-01, -9.9452190e-01 }, { -1.7364818e-01, -9.8480775e-01 },
272         { -2.4192190e-01, -9.7029573e-01 }, { -3.0901699e-01, -9.5105652e-01 },
273         { -3.7460659e-01, -9.2718385e-01 }, { -4.3837115e-01, -8.9879405e-01 },
274         { -5.0000000e-01, -8.6602540e-01 }, { -5.5919290e-01, -8.2903757e-01 },
275         { -6.1566148e-01, -7.8801075e-01 }, { -6.6913061e-01, -7.4314483e-01 },
276         { -7.1933980e-01, -6.9465837e-01 }, { -7.6604444e-01, -6.4278761e-01 },
277         { -8.0901699e-01, -5.8778525e-01 }, { -8.4804810e-01, -5.2991926e-01 },
278         { -8.8294759e-01, -4.6947156e-01 }, { -9.1354546e-01, -4.0673664e-01 },
279         { -9.3969262e-01, -3.4202014e-01 }, { -9.6126170e-01, -2.7563736e-01 },
280         { -9.7814760e-01, -2.0791169e-01 }, { -9.9026807e-01, -1.3917310e-01 },
281         { -9.9756405e-01, -6.9756474e-02 },
282     }
283 };
284 
285 static const struct lc3_fft_bf2_twiddles fft_twiddles_120 = {
286     .n2 = 120/2, .t = (const struct lc3_complex []){
287         {  1.0000000e+00, -0.0000000e+00 }, {  9.9862953e-01, -5.2335956e-02 },
288         {  9.9452190e-01, -1.0452846e-01 }, {  9.8768834e-01, -1.5643447e-01 },
289         {  9.7814760e-01, -2.0791169e-01 }, {  9.6592583e-01, -2.5881905e-01 },
290         {  9.5105652e-01, -3.0901699e-01 }, {  9.3358043e-01, -3.5836795e-01 },
291         {  9.1354546e-01, -4.0673664e-01 }, {  8.9100652e-01, -4.5399050e-01 },
292         {  8.6602540e-01, -5.0000000e-01 }, {  8.3867057e-01, -5.4463904e-01 },
293         {  8.0901699e-01, -5.8778525e-01 }, {  7.7714596e-01, -6.2932039e-01 },
294         {  7.4314483e-01, -6.6913061e-01 }, {  7.0710678e-01, -7.0710678e-01 },
295         {  6.6913061e-01, -7.4314483e-01 }, {  6.2932039e-01, -7.7714596e-01 },
296         {  5.8778525e-01, -8.0901699e-01 }, {  5.4463904e-01, -8.3867057e-01 },
297         {  5.0000000e-01, -8.6602540e-01 }, {  4.5399050e-01, -8.9100652e-01 },
298         {  4.0673664e-01, -9.1354546e-01 }, {  3.5836795e-01, -9.3358043e-01 },
299         {  3.0901699e-01, -9.5105652e-01 }, {  2.5881905e-01, -9.6592583e-01 },
300         {  2.0791169e-01, -9.7814760e-01 }, {  1.5643447e-01, -9.8768834e-01 },
301         {  1.0452846e-01, -9.9452190e-01 }, {  5.2335956e-02, -9.9862953e-01 },
302         {  2.8327694e-16, -1.0000000e+00 }, { -5.2335956e-02, -9.9862953e-01 },
303         { -1.0452846e-01, -9.9452190e-01 }, { -1.5643447e-01, -9.8768834e-01 },
304         { -2.0791169e-01, -9.7814760e-01 }, { -2.5881905e-01, -9.6592583e-01 },
305         { -3.0901699e-01, -9.5105652e-01 }, { -3.5836795e-01, -9.3358043e-01 },
306         { -4.0673664e-01, -9.1354546e-01 }, { -4.5399050e-01, -8.9100652e-01 },
307         { -5.0000000e-01, -8.6602540e-01 }, { -5.4463904e-01, -8.3867057e-01 },
308         { -5.8778525e-01, -8.0901699e-01 }, { -6.2932039e-01, -7.7714596e-01 },
309         { -6.6913061e-01, -7.4314483e-01 }, { -7.0710678e-01, -7.0710678e-01 },
310         { -7.4314483e-01, -6.6913061e-01 }, { -7.7714596e-01, -6.2932039e-01 },
311         { -8.0901699e-01, -5.8778525e-01 }, { -8.3867057e-01, -5.4463904e-01 },
312         { -8.6602540e-01, -5.0000000e-01 }, { -8.9100652e-01, -4.5399050e-01 },
313         { -9.1354546e-01, -4.0673664e-01 }, { -9.3358043e-01, -3.5836795e-01 },
314         { -9.5105652e-01, -3.0901699e-01 }, { -9.6592583e-01, -2.5881905e-01 },
315         { -9.7814760e-01, -2.0791169e-01 }, { -9.8768834e-01, -1.5643447e-01 },
316         { -9.9452190e-01, -1.0452846e-01 }, { -9.9862953e-01, -5.2335956e-02 },
317     }
318 };
319 
320 static const struct lc3_fft_bf2_twiddles fft_twiddles_160 = {
321     .n2 = 160/2, .t = (const struct lc3_complex []){
322         {  1.0000000e+00, -0.0000000e+00 }, {  9.9922904e-01, -3.9259816e-02 },
323         {  9.9691733e-01, -7.8459096e-02 }, {  9.9306846e-01, -1.1753740e-01 },
324         {  9.8768834e-01, -1.5643447e-01 }, {  9.8078528e-01, -1.9509032e-01 },
325         {  9.7236992e-01, -2.3344536e-01 }, {  9.6245524e-01, -2.7144045e-01 },
326         {  9.5105652e-01, -3.0901699e-01 }, {  9.3819134e-01, -3.4611706e-01 },
327         {  9.2387953e-01, -3.8268343e-01 }, {  9.0814317e-01, -4.1865974e-01 },
328         {  8.9100652e-01, -4.5399050e-01 }, {  8.7249601e-01, -4.8862124e-01 },
329         {  8.5264016e-01, -5.2249856e-01 }, {  8.3146961e-01, -5.5557023e-01 },
330         {  8.0901699e-01, -5.8778525e-01 }, {  7.8531693e-01, -6.1909395e-01 },
331         {  7.6040597e-01, -6.4944805e-01 }, {  7.3432251e-01, -6.7880075e-01 },
332         {  7.0710678e-01, -7.0710678e-01 }, {  6.7880075e-01, -7.3432251e-01 },
333         {  6.4944805e-01, -7.6040597e-01 }, {  6.1909395e-01, -7.8531693e-01 },
334         {  5.8778525e-01, -8.0901699e-01 }, {  5.5557023e-01, -8.3146961e-01 },
335         {  5.2249856e-01, -8.5264016e-01 }, {  4.8862124e-01, -8.7249601e-01 },
336         {  4.5399050e-01, -8.9100652e-01 }, {  4.1865974e-01, -9.0814317e-01 },
337         {  3.8268343e-01, -9.2387953e-01 }, {  3.4611706e-01, -9.3819134e-01 },
338         {  3.0901699e-01, -9.5105652e-01 }, {  2.7144045e-01, -9.6245524e-01 },
339         {  2.3344536e-01, -9.7236992e-01 }, {  1.9509032e-01, -9.8078528e-01 },
340         {  1.5643447e-01, -9.8768834e-01 }, {  1.1753740e-01, -9.9306846e-01 },
341         {  7.8459096e-02, -9.9691733e-01 }, {  3.9259816e-02, -9.9922904e-01 },
342         {  6.1232340e-17, -1.0000000e+00 }, { -3.9259816e-02, -9.9922904e-01 },
343         { -7.8459096e-02, -9.9691733e-01 }, { -1.1753740e-01, -9.9306846e-01 },
344         { -1.5643447e-01, -9.8768834e-01 }, { -1.9509032e-01, -9.8078528e-01 },
345         { -2.3344536e-01, -9.7236992e-01 }, { -2.7144045e-01, -9.6245524e-01 },
346         { -3.0901699e-01, -9.5105652e-01 }, { -3.4611706e-01, -9.3819134e-01 },
347         { -3.8268343e-01, -9.2387953e-01 }, { -4.1865974e-01, -9.0814317e-01 },
348         { -4.5399050e-01, -8.9100652e-01 }, { -4.8862124e-01, -8.7249601e-01 },
349         { -5.2249856e-01, -8.5264016e-01 }, { -5.5557023e-01, -8.3146961e-01 },
350         { -5.8778525e-01, -8.0901699e-01 }, { -6.1909395e-01, -7.8531693e-01 },
351         { -6.4944805e-01, -7.6040597e-01 }, { -6.7880075e-01, -7.3432251e-01 },
352         { -7.0710678e-01, -7.0710678e-01 }, { -7.3432251e-01, -6.7880075e-01 },
353         { -7.6040597e-01, -6.4944805e-01 }, { -7.8531693e-01, -6.1909395e-01 },
354         { -8.0901699e-01, -5.8778525e-01 }, { -8.3146961e-01, -5.5557023e-01 },
355         { -8.5264016e-01, -5.2249856e-01 }, { -8.7249601e-01, -4.8862124e-01 },
356         { -8.9100652e-01, -4.5399050e-01 }, { -9.0814317e-01, -4.1865974e-01 },
357         { -9.2387953e-01, -3.8268343e-01 }, { -9.3819134e-01, -3.4611706e-01 },
358         { -9.5105652e-01, -3.0901699e-01 }, { -9.6245524e-01, -2.7144045e-01 },
359         { -9.7236992e-01, -2.3344536e-01 }, { -9.8078528e-01, -1.9509032e-01 },
360         { -9.8768834e-01, -1.5643447e-01 }, { -9.9306846e-01, -1.1753740e-01 },
361         { -9.9691733e-01, -7.8459096e-02 }, { -9.9922904e-01, -3.9259816e-02 },
362     }
363 };
364 
365 static const struct lc3_fft_bf2_twiddles fft_twiddles_180 = {
366     .n2 = 180/2, .t = (const struct lc3_complex []){
367         {  1.0000000e+00, -0.0000000e+00 }, {  9.9939083e-01, -3.4899497e-02 },
368         {  9.9756405e-01, -6.9756474e-02 }, {  9.9452190e-01, -1.0452846e-01 },
369         {  9.9026807e-01, -1.3917310e-01 }, {  9.8480775e-01, -1.7364818e-01 },
370         {  9.7814760e-01, -2.0791169e-01 }, {  9.7029573e-01, -2.4192190e-01 },
371         {  9.6126170e-01, -2.7563736e-01 }, {  9.5105652e-01, -3.0901699e-01 },
372         {  9.3969262e-01, -3.4202014e-01 }, {  9.2718385e-01, -3.7460659e-01 },
373         {  9.1354546e-01, -4.0673664e-01 }, {  8.9879405e-01, -4.3837115e-01 },
374         {  8.8294759e-01, -4.6947156e-01 }, {  8.6602540e-01, -5.0000000e-01 },
375         {  8.4804810e-01, -5.2991926e-01 }, {  8.2903757e-01, -5.5919290e-01 },
376         {  8.0901699e-01, -5.8778525e-01 }, {  7.8801075e-01, -6.1566148e-01 },
377         {  7.6604444e-01, -6.4278761e-01 }, {  7.4314483e-01, -6.6913061e-01 },
378         {  7.1933980e-01, -6.9465837e-01 }, {  6.9465837e-01, -7.1933980e-01 },
379         {  6.6913061e-01, -7.4314483e-01 }, {  6.4278761e-01, -7.6604444e-01 },
380         {  6.1566148e-01, -7.8801075e-01 }, {  5.8778525e-01, -8.0901699e-01 },
381         {  5.5919290e-01, -8.2903757e-01 }, {  5.2991926e-01, -8.4804810e-01 },
382         {  5.0000000e-01, -8.6602540e-01 }, {  4.6947156e-01, -8.8294759e-01 },
383         {  4.3837115e-01, -8.9879405e-01 }, {  4.0673664e-01, -9.1354546e-01 },
384         {  3.7460659e-01, -9.2718385e-01 }, {  3.4202014e-01, -9.3969262e-01 },
385         {  3.0901699e-01, -9.5105652e-01 }, {  2.7563736e-01, -9.6126170e-01 },
386         {  2.4192190e-01, -9.7029573e-01 }, {  2.0791169e-01, -9.7814760e-01 },
387         {  1.7364818e-01, -9.8480775e-01 }, {  1.3917310e-01, -9.9026807e-01 },
388         {  1.0452846e-01, -9.9452190e-01 }, {  6.9756474e-02, -9.9756405e-01 },
389         {  3.4899497e-02, -9.9939083e-01 }, {  6.1232340e-17, -1.0000000e+00 },
390         { -3.4899497e-02, -9.9939083e-01 }, { -6.9756474e-02, -9.9756405e-01 },
391         { -1.0452846e-01, -9.9452190e-01 }, { -1.3917310e-01, -9.9026807e-01 },
392         { -1.7364818e-01, -9.8480775e-01 }, { -2.0791169e-01, -9.7814760e-01 },
393         { -2.4192190e-01, -9.7029573e-01 }, { -2.7563736e-01, -9.6126170e-01 },
394         { -3.0901699e-01, -9.5105652e-01 }, { -3.4202014e-01, -9.3969262e-01 },
395         { -3.7460659e-01, -9.2718385e-01 }, { -4.0673664e-01, -9.1354546e-01 },
396         { -4.3837115e-01, -8.9879405e-01 }, { -4.6947156e-01, -8.8294759e-01 },
397         { -5.0000000e-01, -8.6602540e-01 }, { -5.2991926e-01, -8.4804810e-01 },
398         { -5.5919290e-01, -8.2903757e-01 }, { -5.8778525e-01, -8.0901699e-01 },
399         { -6.1566148e-01, -7.8801075e-01 }, { -6.4278761e-01, -7.6604444e-01 },
400         { -6.6913061e-01, -7.4314483e-01 }, { -6.9465837e-01, -7.1933980e-01 },
401         { -7.1933980e-01, -6.9465837e-01 }, { -7.4314483e-01, -6.6913061e-01 },
402         { -7.6604444e-01, -6.4278761e-01 }, { -7.8801075e-01, -6.1566148e-01 },
403         { -8.0901699e-01, -5.8778525e-01 }, { -8.2903757e-01, -5.5919290e-01 },
404         { -8.4804810e-01, -5.2991926e-01 }, { -8.6602540e-01, -5.0000000e-01 },
405         { -8.8294759e-01, -4.6947156e-01 }, { -8.9879405e-01, -4.3837115e-01 },
406         { -9.1354546e-01, -4.0673664e-01 }, { -9.2718385e-01, -3.7460659e-01 },
407         { -9.3969262e-01, -3.4202014e-01 }, { -9.5105652e-01, -3.0901699e-01 },
408         { -9.6126170e-01, -2.7563736e-01 }, { -9.7029573e-01, -2.4192190e-01 },
409         { -9.7814760e-01, -2.0791169e-01 }, { -9.8480775e-01, -1.7364818e-01 },
410         { -9.9026807e-01, -1.3917310e-01 }, { -9.9452190e-01, -1.0452846e-01 },
411         { -9.9756405e-01, -6.9756474e-02 }, { -9.9939083e-01, -3.4899497e-02 },
412     }
413 };
414 
415 static const struct lc3_fft_bf2_twiddles fft_twiddles_240 = {
416     .n2 = 240/2, .t = (const struct lc3_complex []){
417         {  1.0000000e+00, -0.0000000e+00 }, {  9.9965732e-01, -2.6176948e-02 },
418         {  9.9862953e-01, -5.2335956e-02 }, {  9.9691733e-01, -7.8459096e-02 },
419         {  9.9452190e-01, -1.0452846e-01 }, {  9.9144486e-01, -1.3052619e-01 },
420         {  9.8768834e-01, -1.5643447e-01 }, {  9.8325491e-01, -1.8223553e-01 },
421         {  9.7814760e-01, -2.0791169e-01 }, {  9.7236992e-01, -2.3344536e-01 },
422         {  9.6592583e-01, -2.5881905e-01 }, {  9.5881973e-01, -2.8401534e-01 },
423         {  9.5105652e-01, -3.0901699e-01 }, {  9.4264149e-01, -3.3380686e-01 },
424         {  9.3358043e-01, -3.5836795e-01 }, {  9.2387953e-01, -3.8268343e-01 },
425         {  9.1354546e-01, -4.0673664e-01 }, {  9.0258528e-01, -4.3051110e-01 },
426         {  8.9100652e-01, -4.5399050e-01 }, {  8.7881711e-01, -4.7715876e-01 },
427         {  8.6602540e-01, -5.0000000e-01 }, {  8.5264016e-01, -5.2249856e-01 },
428         {  8.3867057e-01, -5.4463904e-01 }, {  8.2412619e-01, -5.6640624e-01 },
429         {  8.0901699e-01, -5.8778525e-01 }, {  7.9335334e-01, -6.0876143e-01 },
430         {  7.7714596e-01, -6.2932039e-01 }, {  7.6040597e-01, -6.4944805e-01 },
431         {  7.4314483e-01, -6.6913061e-01 }, {  7.2537437e-01, -6.8835458e-01 },
432         {  7.0710678e-01, -7.0710678e-01 }, {  6.8835458e-01, -7.2537437e-01 },
433         {  6.6913061e-01, -7.4314483e-01 }, {  6.4944805e-01, -7.6040597e-01 },
434         {  6.2932039e-01, -7.7714596e-01 }, {  6.0876143e-01, -7.9335334e-01 },
435         {  5.8778525e-01, -8.0901699e-01 }, {  5.6640624e-01, -8.2412619e-01 },
436         {  5.4463904e-01, -8.3867057e-01 }, {  5.2249856e-01, -8.5264016e-01 },
437         {  5.0000000e-01, -8.6602540e-01 }, {  4.7715876e-01, -8.7881711e-01 },
438         {  4.5399050e-01, -8.9100652e-01 }, {  4.3051110e-01, -9.0258528e-01 },
439         {  4.0673664e-01, -9.1354546e-01 }, {  3.8268343e-01, -9.2387953e-01 },
440         {  3.5836795e-01, -9.3358043e-01 }, {  3.3380686e-01, -9.4264149e-01 },
441         {  3.0901699e-01, -9.5105652e-01 }, {  2.8401534e-01, -9.5881973e-01 },
442         {  2.5881905e-01, -9.6592583e-01 }, {  2.3344536e-01, -9.7236992e-01 },
443         {  2.0791169e-01, -9.7814760e-01 }, {  1.8223553e-01, -9.8325491e-01 },
444         {  1.5643447e-01, -9.8768834e-01 }, {  1.3052619e-01, -9.9144486e-01 },
445         {  1.0452846e-01, -9.9452190e-01 }, {  7.8459096e-02, -9.9691733e-01 },
446         {  5.2335956e-02, -9.9862953e-01 }, {  2.6176948e-02, -9.9965732e-01 },
447         {  2.8327694e-16, -1.0000000e+00 }, { -2.6176948e-02, -9.9965732e-01 },
448         { -5.2335956e-02, -9.9862953e-01 }, { -7.8459096e-02, -9.9691733e-01 },
449         { -1.0452846e-01, -9.9452190e-01 }, { -1.3052619e-01, -9.9144486e-01 },
450         { -1.5643447e-01, -9.8768834e-01 }, { -1.8223553e-01, -9.8325491e-01 },
451         { -2.0791169e-01, -9.7814760e-01 }, { -2.3344536e-01, -9.7236992e-01 },
452         { -2.5881905e-01, -9.6592583e-01 }, { -2.8401534e-01, -9.5881973e-01 },
453         { -3.0901699e-01, -9.5105652e-01 }, { -3.3380686e-01, -9.4264149e-01 },
454         { -3.5836795e-01, -9.3358043e-01 }, { -3.8268343e-01, -9.2387953e-01 },
455         { -4.0673664e-01, -9.1354546e-01 }, { -4.3051110e-01, -9.0258528e-01 },
456         { -4.5399050e-01, -8.9100652e-01 }, { -4.7715876e-01, -8.7881711e-01 },
457         { -5.0000000e-01, -8.6602540e-01 }, { -5.2249856e-01, -8.5264016e-01 },
458         { -5.4463904e-01, -8.3867057e-01 }, { -5.6640624e-01, -8.2412619e-01 },
459         { -5.8778525e-01, -8.0901699e-01 }, { -6.0876143e-01, -7.9335334e-01 },
460         { -6.2932039e-01, -7.7714596e-01 }, { -6.4944805e-01, -7.6040597e-01 },
461         { -6.6913061e-01, -7.4314483e-01 }, { -6.8835458e-01, -7.2537437e-01 },
462         { -7.0710678e-01, -7.0710678e-01 }, { -7.2537437e-01, -6.8835458e-01 },
463         { -7.4314483e-01, -6.6913061e-01 }, { -7.6040597e-01, -6.4944805e-01 },
464         { -7.7714596e-01, -6.2932039e-01 }, { -7.9335334e-01, -6.0876143e-01 },
465         { -8.0901699e-01, -5.8778525e-01 }, { -8.2412619e-01, -5.6640624e-01 },
466         { -8.3867057e-01, -5.4463904e-01 }, { -8.5264016e-01, -5.2249856e-01 },
467         { -8.6602540e-01, -5.0000000e-01 }, { -8.7881711e-01, -4.7715876e-01 },
468         { -8.9100652e-01, -4.5399050e-01 }, { -9.0258528e-01, -4.3051110e-01 },
469         { -9.1354546e-01, -4.0673664e-01 }, { -9.2387953e-01, -3.8268343e-01 },
470         { -9.3358043e-01, -3.5836795e-01 }, { -9.4264149e-01, -3.3380686e-01 },
471         { -9.5105652e-01, -3.0901699e-01 }, { -9.5881973e-01, -2.8401534e-01 },
472         { -9.6592583e-01, -2.5881905e-01 }, { -9.7236992e-01, -2.3344536e-01 },
473         { -9.7814760e-01, -2.0791169e-01 }, { -9.8325491e-01, -1.8223553e-01 },
474         { -9.8768834e-01, -1.5643447e-01 }, { -9.9144486e-01, -1.3052619e-01 },
475         { -9.9452190e-01, -1.0452846e-01 }, { -9.9691733e-01, -7.8459096e-02 },
476         { -9.9862953e-01, -5.2335956e-02 }, { -9.9965732e-01, -2.6176948e-02 },
477     }
478 };
479 
480 #if LC3_PLUS_HR
481 
482 static const struct lc3_fft_bf2_twiddles fft_twiddles_480 = {
483     .n2 = 480/2, .t = (const struct lc3_complex []){
484         {  1.0000000e+00, -0.0000000e+00 }, {  9.9991433e-01, -1.3089596e-02 },
485         {  9.9965732e-01, -2.6176948e-02 }, {  9.9922904e-01, -3.9259816e-02 },
486         {  9.9862953e-01, -5.2335956e-02 }, {  9.9785892e-01, -6.5403129e-02 },
487         {  9.9691733e-01, -7.8459096e-02 }, {  9.9580493e-01, -9.1501619e-02 },
488         {  9.9452190e-01, -1.0452846e-01 }, {  9.9306846e-01, -1.1753740e-01 },
489         {  9.9144486e-01, -1.3052619e-01 }, {  9.8965139e-01, -1.4349262e-01 },
490         {  9.8768834e-01, -1.5643447e-01 }, {  9.8555606e-01, -1.6934950e-01 },
491         {  9.8325491e-01, -1.8223553e-01 }, {  9.8078528e-01, -1.9509032e-01 },
492         {  9.7814760e-01, -2.0791169e-01 }, {  9.7534232e-01, -2.2069744e-01 },
493         {  9.7236992e-01, -2.3344536e-01 }, {  9.6923091e-01, -2.4615329e-01 },
494         {  9.6592583e-01, -2.5881905e-01 }, {  9.6245524e-01, -2.7144045e-01 },
495         {  9.5881973e-01, -2.8401534e-01 }, {  9.5501994e-01, -2.9654157e-01 },
496         {  9.5105652e-01, -3.0901699e-01 }, {  9.4693013e-01, -3.2143947e-01 },
497         {  9.4264149e-01, -3.3380686e-01 }, {  9.3819134e-01, -3.4611706e-01 },
498         {  9.3358043e-01, -3.5836795e-01 }, {  9.2880955e-01, -3.7055744e-01 },
499         {  9.2387953e-01, -3.8268343e-01 }, {  9.1879121e-01, -3.9474386e-01 },
500         {  9.1354546e-01, -4.0673664e-01 }, {  9.0814317e-01, -4.1865974e-01 },
501         {  9.0258528e-01, -4.3051110e-01 }, {  8.9687274e-01, -4.4228869e-01 },
502         {  8.9100652e-01, -4.5399050e-01 }, {  8.8498764e-01, -4.6561452e-01 },
503         {  8.7881711e-01, -4.7715876e-01 }, {  8.7249601e-01, -4.8862124e-01 },
504         {  8.6602540e-01, -5.0000000e-01 }, {  8.5940641e-01, -5.1129309e-01 },
505         {  8.5264016e-01, -5.2249856e-01 }, {  8.4572782e-01, -5.3361452e-01 },
506         {  8.3867057e-01, -5.4463904e-01 }, {  8.3146961e-01, -5.5557023e-01 },
507         {  8.2412619e-01, -5.6640624e-01 }, {  8.1664156e-01, -5.7714519e-01 },
508         {  8.0901699e-01, -5.8778525e-01 }, {  8.0125381e-01, -5.9832460e-01 },
509         {  7.9335334e-01, -6.0876143e-01 }, {  7.8531693e-01, -6.1909395e-01 },
510         {  7.7714596e-01, -6.2932039e-01 }, {  7.6884183e-01, -6.3943900e-01 },
511         {  7.6040597e-01, -6.4944805e-01 }, {  7.5183981e-01, -6.5934582e-01 },
512         {  7.4314483e-01, -6.6913061e-01 }, {  7.3432251e-01, -6.7880075e-01 },
513         {  7.2537437e-01, -6.8835458e-01 }, {  7.1630194e-01, -6.9779046e-01 },
514         {  7.0710678e-01, -7.0710678e-01 }, {  6.9779046e-01, -7.1630194e-01 },
515         {  6.8835458e-01, -7.2537437e-01 }, {  6.7880075e-01, -7.3432251e-01 },
516         {  6.6913061e-01, -7.4314483e-01 }, {  6.5934582e-01, -7.5183981e-01 },
517         {  6.4944805e-01, -7.6040597e-01 }, {  6.3943900e-01, -7.6884183e-01 },
518         {  6.2932039e-01, -7.7714596e-01 }, {  6.1909395e-01, -7.8531693e-01 },
519         {  6.0876143e-01, -7.9335334e-01 }, {  5.9832460e-01, -8.0125381e-01 },
520         {  5.8778525e-01, -8.0901699e-01 }, {  5.7714519e-01, -8.1664156e-01 },
521         {  5.6640624e-01, -8.2412619e-01 }, {  5.5557023e-01, -8.3146961e-01 },
522         {  5.4463904e-01, -8.3867057e-01 }, {  5.3361452e-01, -8.4572782e-01 },
523         {  5.2249856e-01, -8.5264016e-01 }, {  5.1129309e-01, -8.5940641e-01 },
524         {  5.0000000e-01, -8.6602540e-01 }, {  4.8862124e-01, -8.7249601e-01 },
525         {  4.7715876e-01, -8.7881711e-01 }, {  4.6561452e-01, -8.8498764e-01 },
526         {  4.5399050e-01, -8.9100652e-01 }, {  4.4228869e-01, -8.9687274e-01 },
527         {  4.3051110e-01, -9.0258528e-01 }, {  4.1865974e-01, -9.0814317e-01 },
528         {  4.0673664e-01, -9.1354546e-01 }, {  3.9474386e-01, -9.1879121e-01 },
529         {  3.8268343e-01, -9.2387953e-01 }, {  3.7055744e-01, -9.2880955e-01 },
530         {  3.5836795e-01, -9.3358043e-01 }, {  3.4611706e-01, -9.3819134e-01 },
531         {  3.3380686e-01, -9.4264149e-01 }, {  3.2143947e-01, -9.4693013e-01 },
532         {  3.0901699e-01, -9.5105652e-01 }, {  2.9654157e-01, -9.5501994e-01 },
533         {  2.8401534e-01, -9.5881973e-01 }, {  2.7144045e-01, -9.6245524e-01 },
534         {  2.5881905e-01, -9.6592583e-01 }, {  2.4615329e-01, -9.6923091e-01 },
535         {  2.3344536e-01, -9.7236992e-01 }, {  2.2069744e-01, -9.7534232e-01 },
536         {  2.0791169e-01, -9.7814760e-01 }, {  1.9509032e-01, -9.8078528e-01 },
537         {  1.8223553e-01, -9.8325491e-01 }, {  1.6934950e-01, -9.8555606e-01 },
538         {  1.5643447e-01, -9.8768834e-01 }, {  1.4349262e-01, -9.8965139e-01 },
539         {  1.3052619e-01, -9.9144486e-01 }, {  1.1753740e-01, -9.9306846e-01 },
540         {  1.0452846e-01, -9.9452190e-01 }, {  9.1501619e-02, -9.9580493e-01 },
541         {  7.8459096e-02, -9.9691733e-01 }, {  6.5403129e-02, -9.9785892e-01 },
542         {  5.2335956e-02, -9.9862953e-01 }, {  3.9259816e-02, -9.9922904e-01 },
543         {  2.6176948e-02, -9.9965732e-01 }, {  1.3089596e-02, -9.9991433e-01 },
544         {  2.8327694e-16, -1.0000000e+00 }, { -1.3089596e-02, -9.9991433e-01 },
545         { -2.6176948e-02, -9.9965732e-01 }, { -3.9259816e-02, -9.9922904e-01 },
546         { -5.2335956e-02, -9.9862953e-01 }, { -6.5403129e-02, -9.9785892e-01 },
547         { -7.8459096e-02, -9.9691733e-01 }, { -9.1501619e-02, -9.9580493e-01 },
548         { -1.0452846e-01, -9.9452190e-01 }, { -1.1753740e-01, -9.9306846e-01 },
549         { -1.3052619e-01, -9.9144486e-01 }, { -1.4349262e-01, -9.8965139e-01 },
550         { -1.5643447e-01, -9.8768834e-01 }, { -1.6934950e-01, -9.8555606e-01 },
551         { -1.8223553e-01, -9.8325491e-01 }, { -1.9509032e-01, -9.8078528e-01 },
552         { -2.0791169e-01, -9.7814760e-01 }, { -2.2069744e-01, -9.7534232e-01 },
553         { -2.3344536e-01, -9.7236992e-01 }, { -2.4615329e-01, -9.6923091e-01 },
554         { -2.5881905e-01, -9.6592583e-01 }, { -2.7144045e-01, -9.6245524e-01 },
555         { -2.8401534e-01, -9.5881973e-01 }, { -2.9654157e-01, -9.5501994e-01 },
556         { -3.0901699e-01, -9.5105652e-01 }, { -3.2143947e-01, -9.4693013e-01 },
557         { -3.3380686e-01, -9.4264149e-01 }, { -3.4611706e-01, -9.3819134e-01 },
558         { -3.5836795e-01, -9.3358043e-01 }, { -3.7055744e-01, -9.2880955e-01 },
559         { -3.8268343e-01, -9.2387953e-01 }, { -3.9474386e-01, -9.1879121e-01 },
560         { -4.0673664e-01, -9.1354546e-01 }, { -4.1865974e-01, -9.0814317e-01 },
561         { -4.3051110e-01, -9.0258528e-01 }, { -4.4228869e-01, -8.9687274e-01 },
562         { -4.5399050e-01, -8.9100652e-01 }, { -4.6561452e-01, -8.8498764e-01 },
563         { -4.7715876e-01, -8.7881711e-01 }, { -4.8862124e-01, -8.7249601e-01 },
564         { -5.0000000e-01, -8.6602540e-01 }, { -5.1129309e-01, -8.5940641e-01 },
565         { -5.2249856e-01, -8.5264016e-01 }, { -5.3361452e-01, -8.4572782e-01 },
566         { -5.4463904e-01, -8.3867057e-01 }, { -5.5557023e-01, -8.3146961e-01 },
567         { -5.6640624e-01, -8.2412619e-01 }, { -5.7714519e-01, -8.1664156e-01 },
568         { -5.8778525e-01, -8.0901699e-01 }, { -5.9832460e-01, -8.0125381e-01 },
569         { -6.0876143e-01, -7.9335334e-01 }, { -6.1909395e-01, -7.8531693e-01 },
570         { -6.2932039e-01, -7.7714596e-01 }, { -6.3943900e-01, -7.6884183e-01 },
571         { -6.4944805e-01, -7.6040597e-01 }, { -6.5934582e-01, -7.5183981e-01 },
572         { -6.6913061e-01, -7.4314483e-01 }, { -6.7880075e-01, -7.3432251e-01 },
573         { -6.8835458e-01, -7.2537437e-01 }, { -6.9779046e-01, -7.1630194e-01 },
574         { -7.0710678e-01, -7.0710678e-01 }, { -7.1630194e-01, -6.9779046e-01 },
575         { -7.2537437e-01, -6.8835458e-01 }, { -7.3432251e-01, -6.7880075e-01 },
576         { -7.4314483e-01, -6.6913061e-01 }, { -7.5183981e-01, -6.5934582e-01 },
577         { -7.6040597e-01, -6.4944805e-01 }, { -7.6884183e-01, -6.3943900e-01 },
578         { -7.7714596e-01, -6.2932039e-01 }, { -7.8531693e-01, -6.1909395e-01 },
579         { -7.9335334e-01, -6.0876143e-01 }, { -8.0125381e-01, -5.9832460e-01 },
580         { -8.0901699e-01, -5.8778525e-01 }, { -8.1664156e-01, -5.7714519e-01 },
581         { -8.2412619e-01, -5.6640624e-01 }, { -8.3146961e-01, -5.5557023e-01 },
582         { -8.3867057e-01, -5.4463904e-01 }, { -8.4572782e-01, -5.3361452e-01 },
583         { -8.5264016e-01, -5.2249856e-01 }, { -8.5940641e-01, -5.1129309e-01 },
584         { -8.6602540e-01, -5.0000000e-01 }, { -8.7249601e-01, -4.8862124e-01 },
585         { -8.7881711e-01, -4.7715876e-01 }, { -8.8498764e-01, -4.6561452e-01 },
586         { -8.9100652e-01, -4.5399050e-01 }, { -8.9687274e-01, -4.4228869e-01 },
587         { -9.0258528e-01, -4.3051110e-01 }, { -9.0814317e-01, -4.1865974e-01 },
588         { -9.1354546e-01, -4.0673664e-01 }, { -9.1879121e-01, -3.9474386e-01 },
589         { -9.2387953e-01, -3.8268343e-01 }, { -9.2880955e-01, -3.7055744e-01 },
590         { -9.3358043e-01, -3.5836795e-01 }, { -9.3819134e-01, -3.4611706e-01 },
591         { -9.4264149e-01, -3.3380686e-01 }, { -9.4693013e-01, -3.2143947e-01 },
592         { -9.5105652e-01, -3.0901699e-01 }, { -9.5501994e-01, -2.9654157e-01 },
593         { -9.5881973e-01, -2.8401534e-01 }, { -9.6245524e-01, -2.7144045e-01 },
594         { -9.6592583e-01, -2.5881905e-01 }, { -9.6923091e-01, -2.4615329e-01 },
595         { -9.7236992e-01, -2.3344536e-01 }, { -9.7534232e-01, -2.2069744e-01 },
596         { -9.7814760e-01, -2.0791169e-01 }, { -9.8078528e-01, -1.9509032e-01 },
597         { -9.8325491e-01, -1.8223553e-01 }, { -9.8555606e-01, -1.6934950e-01 },
598         { -9.8768834e-01, -1.5643447e-01 }, { -9.8965139e-01, -1.4349262e-01 },
599         { -9.9144486e-01, -1.3052619e-01 }, { -9.9306846e-01, -1.1753740e-01 },
600         { -9.9452190e-01, -1.0452846e-01 }, { -9.9580493e-01, -9.1501619e-02 },
601         { -9.9691733e-01, -7.8459096e-02 }, { -9.9785892e-01, -6.5403129e-02 },
602         { -9.9862953e-01, -5.2335956e-02 }, { -9.9922904e-01, -3.9259816e-02 },
603         { -9.9965732e-01, -2.6176948e-02 }, { -9.9991433e-01, -1.3089596e-02 },
604     }
605 };
606 
607 #endif /* LC3_PLUS_HR */
608 
609 const struct lc3_fft_bf2_twiddles *lc3_fft_twiddles_bf2[][3] = {
610     { &fft_twiddles_10 , &fft_twiddles_30 , &fft_twiddles_90  },
611     { &fft_twiddles_20 , &fft_twiddles_60 , &fft_twiddles_180 },
612     { &fft_twiddles_40 , &fft_twiddles_120 },
613     { &fft_twiddles_80 , &fft_twiddles_240 },
614     { &fft_twiddles_160, LC3_IF_PLUS_HR(&fft_twiddles_480, NULL) }
615 };
616 
617 
618 /**
619  * MDCT Rotation twiddles
620  *
621  *            2Pi (n + 1/8) / N
622  *   W[n] = e                   * sqrt( sqrt( 4/N ) ), n = [0..N/4-1]
623  */
624 
625 #if LC3_PLUS
626 
627 static const struct lc3_mdct_rot_def mdct_rot_40 = {
628     .n4 = 40/4, .w = (const struct lc3_complex []){
629         { 5.6223293e-01, 1.1040837e-02 }, { 5.5358374e-01, 9.8857513e-02 },
630         { 5.3130348e-01, 1.8423999e-01 }, { 4.9594077e-01, 2.6508587e-01 },
631         { 4.4836635e-01, 3.3940445e-01 }, { 3.8975167e-01, 4.0536577e-01 },
632         { 3.2154000e-01, 4.6134563e-01 }, { 2.4541095e-01, 5.0596564e-01 },
633         { 1.6323907e-01, 5.3812710e-01 }, { 7.7047702e-02, 5.5703808e-01 },
634     }
635 };
636 
637 static const struct lc3_mdct_rot_def mdct_rot_80 = {
638     .n4 = 80/4, .w = (const struct lc3_complex []){
639         { 4.7284802e-01, 4.6423237e-03 }, { 4.7102615e-01, 4.1727241e-02 },
640         { 4.6630025e-01, 7.8554895e-02 }, { 4.5869946e-01, 1.1489823e-01 },
641         { 4.4827063e-01, 1.5053319e-01 }, { 4.3507806e-01, 1.8524005e-01 },
642         { 4.1920310e-01, 2.1880485e-01 }, { 4.0074360e-01, 2.5102064e-01 },
643         { 3.7981339e-01, 2.8168881e-01 }, { 3.5654150e-01, 3.1062027e-01 },
644         { 3.3107142e-01, 3.3763666e-01 }, { 3.0356017e-01, 3.6257140e-01 },
645         { 2.7417737e-01, 3.8527077e-01 }, { 2.4310418e-01, 4.0559482e-01 },
646         { 2.1053217e-01, 4.2341824e-01 }, { 1.7666215e-01, 4.3863114e-01 },
647         { 1.4170296e-01, 4.5113974e-01 }, { 1.0587012e-01, 4.6086692e-01 },
648         { 6.9384558e-02, 4.6775269e-01 }, { 3.2471215e-02, 4.7175462e-01 },
649     }
650 };
651 
652 #endif /* LC3_PLUS */
653 
654 static const struct lc3_mdct_rot_def mdct_rot_120 = {
655     .n4 = 120/4, .w = (const struct lc3_complex []){
656         { 4.2727785e-01, 2.7965670e-03 }, { 4.2654592e-01, 2.5154729e-02 },
657         { 4.2464486e-01, 4.7443945e-02 }, { 4.2157988e-01, 6.9603119e-02 },
658         { 4.1735937e-01, 9.1571516e-02 }, { 4.1199491e-01, 1.1328892e-01 },
659         { 4.0550120e-01, 1.3469581e-01 }, { 3.9789604e-01, 1.5573351e-01 },
660         { 3.8920028e-01, 1.7634435e-01 }, { 3.7943774e-01, 1.9647185e-01 },
661         { 3.6863519e-01, 2.1606083e-01 }, { 3.5682224e-01, 2.3505760e-01 },
662         { 3.4403126e-01, 2.5341009e-01 }, { 3.3029732e-01, 2.7106801e-01 },
663         { 3.1565806e-01, 2.8798294e-01 }, { 3.0015360e-01, 3.0410854e-01 },
664         { 2.8382644e-01, 3.1940060e-01 }, { 2.6672133e-01, 3.3381720e-01 },
665         { 2.4888515e-01, 3.4731883e-01 }, { 2.3036680e-01, 3.5986848e-01 },
666         { 2.1121703e-01, 3.7143176e-01 }, { 1.9148833e-01, 3.8197697e-01 },
667         { 1.7123477e-01, 3.9147521e-01 }, { 1.5051187e-01, 3.9990044e-01 },
668         { 1.2937643e-01, 4.0722957e-01 }, { 1.0788637e-01, 4.1344252e-01 },
669         { 8.6100606e-02, 4.1852225e-01 }, { 6.4078846e-02, 4.2245483e-01 },
670         { 4.1881450e-02, 4.2522950e-01 }, { 1.9569261e-02, 4.2683865e-01 },
671     }
672 };
673 
674 static const struct lc3_mdct_rot_def mdct_rot_160 = {
675     .n4 = 160/4, .w = (const struct lc3_complex []){
676         { 3.9763057e-01, 1.9518802e-03 }, { 3.9724738e-01, 1.7561278e-02 },
677         { 3.9625167e-01, 3.3143598e-02 }, { 3.9464496e-01, 4.8674813e-02 },
678         { 3.9242974e-01, 6.4130975e-02 }, { 3.8960942e-01, 7.9488252e-02 },
679         { 3.8618835e-01, 9.4722964e-02 }, { 3.8217181e-01, 1.0981162e-01 },
680         { 3.7756598e-01, 1.2473095e-01 }, { 3.7237798e-01, 1.3945796e-01 },
681         { 3.6661580e-01, 1.5396993e-01 }, { 3.6028832e-01, 1.6824450e-01 },
682         { 3.5340530e-01, 1.8225964e-01 }, { 3.4597736e-01, 1.9599375e-01 },
683         { 3.3801594e-01, 2.0942566e-01 }, { 3.2953333e-01, 2.2253464e-01 },
684         { 3.2054261e-01, 2.3530049e-01 }, { 3.1105762e-01, 2.4770353e-01 },
685         { 3.0109302e-01, 2.5972462e-01 }, { 2.9066414e-01, 2.7134524e-01 },
686         { 2.7978709e-01, 2.8254746e-01 }, { 2.6847862e-01, 2.9331402e-01 },
687         { 2.5675618e-01, 3.0362831e-01 }, { 2.4463784e-01, 3.1347442e-01 },
688         { 2.3214228e-01, 3.2283718e-01 }, { 2.1928878e-01, 3.3170215e-01 },
689         { 2.0609715e-01, 3.4005565e-01 }, { 1.9258774e-01, 3.4788482e-01 },
690         { 1.7878136e-01, 3.5517757e-01 }, { 1.6469932e-01, 3.6192266e-01 },
691         { 1.5036333e-01, 3.6810970e-01 }, { 1.3579549e-01, 3.7372914e-01 },
692         { 1.2101826e-01, 3.7877231e-01 }, { 1.0605442e-01, 3.8323145e-01 },
693         { 9.0927064e-02, 3.8709967e-01 }, { 7.5659501e-02, 3.9037101e-01 },
694         { 6.0275277e-02, 3.9304042e-01 }, { 4.4798112e-02, 3.9510380e-01 },
695         { 2.9251872e-02, 3.9655795e-01 }, { 1.3660528e-02, 3.9740065e-01 },
696     }
697 };
698 
699 static const struct lc3_mdct_rot_def mdct_rot_240 = {
700     .n4 = 240/4, .w = (const struct lc3_complex []){
701         { 3.5930219e-01, 1.1758179e-03 }, { 3.5914828e-01, 1.0580850e-02 },
702         { 3.5874824e-01, 1.9978630e-02 }, { 3.5810233e-01, 2.9362718e-02 },
703         { 3.5721099e-01, 3.8726682e-02 }, { 3.5607483e-01, 4.8064105e-02 },
704         { 3.5469464e-01, 5.7368587e-02 }, { 3.5307136e-01, 6.6633752e-02 },
705         { 3.5120611e-01, 7.5853249e-02 }, { 3.4910015e-01, 8.5020760e-02 },
706         { 3.4675494e-01, 9.4130002e-02 }, { 3.4417208e-01, 1.0317473e-01 },
707         { 3.4135334e-01, 1.1214875e-01 }, { 3.3830065e-01, 1.2104591e-01 },
708         { 3.3501611e-01, 1.2986011e-01 }, { 3.3150197e-01, 1.3858531e-01 },
709         { 3.2776063e-01, 1.4721553e-01 }, { 3.2379466e-01, 1.5574485e-01 },
710         { 3.1960678e-01, 1.6416744e-01 }, { 3.1519986e-01, 1.7247752e-01 },
711         { 3.1057691e-01, 1.8066938e-01 }, { 3.0574111e-01, 1.8873743e-01 },
712         { 3.0069577e-01, 1.9667612e-01 }, { 2.9544435e-01, 2.0448002e-01 },
713         { 2.8999045e-01, 2.1214378e-01 }, { 2.8433780e-01, 2.1966215e-01 },
714         { 2.7849028e-01, 2.2702998e-01 }, { 2.7245189e-01, 2.3424220e-01 },
715         { 2.6622679e-01, 2.4129389e-01 }, { 2.5981922e-01, 2.4818021e-01 },
716         { 2.5323358e-01, 2.5489644e-01 }, { 2.4647440e-01, 2.6143798e-01 },
717         { 2.3954629e-01, 2.6780034e-01 }, { 2.3245401e-01, 2.7397916e-01 },
718         { 2.2520241e-01, 2.7997021e-01 }, { 2.1779647e-01, 2.8576938e-01 },
719         { 2.1024127e-01, 2.9137270e-01 }, { 2.0254198e-01, 2.9677633e-01 },
720         { 1.9470387e-01, 3.0197657e-01 }, { 1.8673233e-01, 3.0696984e-01 },
721         { 1.7863281e-01, 3.1175273e-01 }, { 1.7041086e-01, 3.1632196e-01 },
722         { 1.6207212e-01, 3.2067440e-01 }, { 1.5362230e-01, 3.2480707e-01 },
723         { 1.4506720e-01, 3.2871713e-01 }, { 1.3641268e-01, 3.3240190e-01 },
724         { 1.2766467e-01, 3.3585887e-01 }, { 1.1882916e-01, 3.3908565e-01 },
725         { 1.0991221e-01, 3.4208003e-01 }, { 1.0091994e-01, 3.4483998e-01 },
726         { 9.1858496e-02, 3.4736359e-01 }, { 8.2734100e-02, 3.4964913e-01 },
727         { 7.3553002e-02, 3.5169504e-01 }, { 6.4321494e-02, 3.5349992e-01 },
728         { 5.5045904e-02, 3.5506252e-01 }, { 4.5732588e-02, 3.5638178e-01 },
729         { 3.6387929e-02, 3.5745680e-01 }, { 2.7018332e-02, 3.5828683e-01 },
730         { 1.7630217e-02, 3.5887131e-01 }, { 8.2300199e-03, 3.5920984e-01 },
731     }
732 };
733 
734 static const struct lc3_mdct_rot_def mdct_rot_320 = {
735     .n4 = 320/4, .w = (const struct lc3_complex []){
736         { 3.3436915e-01, 8.2066700e-04 }, { 3.3428858e-01, 7.3854098e-03 },
737         { 3.3407914e-01, 1.3947305e-02 }, { 3.3374091e-01, 2.0503824e-02 },
738         { 3.3327401e-01, 2.7052438e-02 }, { 3.3267863e-01, 3.3590623e-02 },
739         { 3.3195499e-01, 4.0115858e-02 }, { 3.3110338e-01, 4.6625627e-02 },
740         { 3.3012413e-01, 5.3117422e-02 }, { 3.2901760e-01, 5.9588738e-02 },
741         { 3.2778423e-01, 6.6037082e-02 }, { 3.2642450e-01, 7.2459968e-02 },
742         { 3.2493892e-01, 7.8854919e-02 }, { 3.2332807e-01, 8.5219469e-02 },
743         { 3.2159257e-01, 9.1551166e-02 }, { 3.1973310e-01, 9.7847569e-02 },
744         { 3.1775035e-01, 1.0410625e-01 }, { 3.1564512e-01, 1.1032479e-01 },
745         { 3.1341819e-01, 1.1650081e-01 }, { 3.1107043e-01, 1.2263191e-01 },
746         { 3.0860275e-01, 1.2871573e-01 }, { 3.0601610e-01, 1.3474993e-01 },
747         { 3.0331148e-01, 1.4073218e-01 }, { 3.0048992e-01, 1.4666018e-01 },
748         { 2.9755251e-01, 1.5253164e-01 }, { 2.9450040e-01, 1.5834429e-01 },
749         { 2.9133475e-01, 1.6409590e-01 }, { 2.8805678e-01, 1.6978424e-01 },
750         { 2.8466777e-01, 1.7540713e-01 }, { 2.8116900e-01, 1.8096240e-01 },
751         { 2.7756185e-01, 1.8644790e-01 }, { 2.7384768e-01, 1.9186153e-01 },
752         { 2.7002795e-01, 1.9720119e-01 }, { 2.6610411e-01, 2.0246482e-01 },
753         { 2.6207768e-01, 2.0765040e-01 }, { 2.5795022e-01, 2.1275592e-01 },
754         { 2.5372331e-01, 2.1777943e-01 }, { 2.4939859e-01, 2.2271898e-01 },
755         { 2.4497772e-01, 2.2757266e-01 }, { 2.4046241e-01, 2.3233861e-01 },
756         { 2.3585439e-01, 2.3701499e-01 }, { 2.3115545e-01, 2.4159999e-01 },
757         { 2.2636739e-01, 2.4609186e-01 }, { 2.2149206e-01, 2.5048885e-01 },
758         { 2.1653135e-01, 2.5478927e-01 }, { 2.1148716e-01, 2.5899147e-01 },
759         { 2.0636143e-01, 2.6309382e-01 }, { 2.0115615e-01, 2.6709474e-01 },
760         { 1.9587332e-01, 2.7099270e-01 }, { 1.9051498e-01, 2.7478618e-01 },
761         { 1.8508318e-01, 2.7847372e-01 }, { 1.7958004e-01, 2.8205391e-01 },
762         { 1.7400766e-01, 2.8552536e-01 }, { 1.6836821e-01, 2.8888674e-01 },
763         { 1.6266384e-01, 2.9213674e-01 }, { 1.5689676e-01, 2.9527412e-01 },
764         { 1.5106920e-01, 2.9829767e-01 }, { 1.4518339e-01, 3.0120621e-01 },
765         { 1.3924162e-01, 3.0399864e-01 }, { 1.3324616e-01, 3.0667387e-01 },
766         { 1.2719933e-01, 3.0923087e-01 }, { 1.2110347e-01, 3.1166865e-01 },
767         { 1.1496092e-01, 3.1398628e-01 }, { 1.0877405e-01, 3.1618287e-01 },
768         { 1.0254525e-01, 3.1825755e-01 }, { 9.6276910e-02, 3.2020955e-01 },
769         { 8.9971456e-02, 3.2203810e-01 }, { 8.3631316e-02, 3.2374249e-01 },
770         { 7.7258935e-02, 3.2532208e-01 }, { 7.0856769e-02, 3.2677625e-01 },
771         { 6.4427286e-02, 3.2810444e-01 }, { 5.7972965e-02, 3.2930614e-01 },
772         { 5.1496295e-02, 3.3038089e-01 }, { 4.4999772e-02, 3.3132827e-01 },
773         { 3.8485901e-02, 3.3214791e-01 }, { 3.1957192e-02, 3.3283951e-01 },
774         { 2.5416164e-02, 3.3340279e-01 }, { 1.8865337e-02, 3.3383753e-01 },
775         { 1.2307237e-02, 3.3414358e-01 }, { 5.7443922e-03, 3.3432081e-01 },
776     }
777 };
778 
779 static const struct lc3_mdct_rot_def mdct_rot_360 = {
780     .n4 = 360/4, .w = (const struct lc3_complex []){
781         { 3.2466714e-01, 7.0831495e-04 }, { 3.2460533e-01, 6.3744300e-03 },
782         { 3.2444464e-01, 1.2038603e-02 }, { 3.2418513e-01, 1.7699110e-02 },
783         { 3.2382686e-01, 2.3354225e-02 }, { 3.2336995e-01, 2.9002226e-02 },
784         { 3.2281454e-01, 3.4641392e-02 }, { 3.2216080e-01, 4.0270007e-02 },
785         { 3.2140893e-01, 4.5886355e-02 }, { 3.2055915e-01, 5.1488725e-02 },
786         { 3.1961172e-01, 5.7075412e-02 }, { 3.1856694e-01, 6.2644713e-02 },
787         { 3.1742512e-01, 6.8194931e-02 }, { 3.1618661e-01, 7.3724377e-02 },
788         { 3.1485178e-01, 7.9231366e-02 }, { 3.1342105e-01, 8.4714220e-02 },
789         { 3.1189485e-01, 9.0171269e-02 }, { 3.1027364e-01, 9.5600851e-02 },
790         { 3.0855792e-01, 1.0100131e-01 }, { 3.0674821e-01, 1.0637101e-01 },
791         { 3.0484506e-01, 1.1170830e-01 }, { 3.0284905e-01, 1.1701157e-01 },
792         { 3.0076079e-01, 1.2227919e-01 }, { 2.9858092e-01, 1.2750957e-01 },
793         { 2.9631010e-01, 1.3270110e-01 }, { 2.9394901e-01, 1.3785221e-01 },
794         { 2.9149839e-01, 1.4296134e-01 }, { 2.8895897e-01, 1.4802691e-01 },
795         { 2.8633154e-01, 1.5304740e-01 }, { 2.8361688e-01, 1.5802126e-01 },
796         { 2.8081584e-01, 1.6294699e-01 }, { 2.7792925e-01, 1.6782308e-01 },
797         { 2.7495800e-01, 1.7264806e-01 }, { 2.7190300e-01, 1.7742044e-01 },
798         { 2.6876518e-01, 1.8213878e-01 }, { 2.6554548e-01, 1.8680164e-01 },
799         { 2.6224490e-01, 1.9140760e-01 }, { 2.5886443e-01, 1.9595525e-01 },
800         { 2.5540512e-01, 2.0044321e-01 }, { 2.5186800e-01, 2.0487012e-01 },
801         { 2.4825416e-01, 2.0923462e-01 }, { 2.4456471e-01, 2.1353538e-01 },
802         { 2.4080075e-01, 2.1777110e-01 }, { 2.3696345e-01, 2.2194049e-01 },
803         { 2.3305396e-01, 2.2604227e-01 }, { 2.2907348e-01, 2.3007519e-01 },
804         { 2.2502323e-01, 2.3403803e-01 }, { 2.2090443e-01, 2.3792959e-01 },
805         { 2.1671834e-01, 2.4174866e-01 }, { 2.1246624e-01, 2.4549410e-01 },
806         { 2.0814942e-01, 2.4916476e-01 }, { 2.0376919e-01, 2.5275952e-01 },
807         { 1.9932689e-01, 2.5627728e-01 }, { 1.9482388e-01, 2.5971698e-01 },
808         { 1.9026152e-01, 2.6307757e-01 }, { 1.8564121e-01, 2.6635803e-01 },
809         { 1.8096434e-01, 2.6955734e-01 }, { 1.7623236e-01, 2.7267455e-01 },
810         { 1.7144669e-01, 2.7570870e-01 }, { 1.6660880e-01, 2.7865887e-01 },
811         { 1.6172015e-01, 2.8152415e-01 }, { 1.5678225e-01, 2.8430368e-01 },
812         { 1.5179659e-01, 2.8699661e-01 }, { 1.4676469e-01, 2.8960211e-01 },
813         { 1.4168808e-01, 2.9211940e-01 }, { 1.3656831e-01, 2.9454771e-01 },
814         { 1.3140695e-01, 2.9688629e-01 }, { 1.2620555e-01, 2.9913444e-01 },
815         { 1.2096571e-01, 3.0129147e-01 }, { 1.1568903e-01, 3.0335673e-01 },
816         { 1.1037710e-01, 3.0532958e-01 }, { 1.0503156e-01, 3.0720942e-01 },
817         { 9.9654017e-02, 3.0899568e-01 }, { 9.4246121e-02, 3.1068782e-01 },
818         { 8.8809517e-02, 3.1228533e-01 }, { 8.3345860e-02, 3.1378770e-01 },
819         { 7.7856816e-02, 3.1519450e-01 }, { 7.2344055e-02, 3.1650528e-01 },
820         { 6.6809258e-02, 3.1771965e-01 }, { 6.1254110e-02, 3.1883725e-01 },
821         { 5.5680304e-02, 3.1985772e-01 }, { 5.0089536e-02, 3.2078076e-01 },
822         { 4.4483511e-02, 3.2160608e-01 }, { 3.8863936e-02, 3.2233345e-01 },
823         { 3.3232523e-02, 3.2296262e-01 }, { 2.7590986e-02, 3.2349342e-01 },
824         { 2.1941045e-02, 3.2392568e-01 }, { 1.6284421e-02, 3.2425927e-01 },
825         { 1.0622836e-02, 3.2449408e-01 }, { 4.9580159e-03, 3.2463006e-01 },
826     }
827 };
828 
829 static const struct lc3_mdct_rot_def mdct_rot_480 = {
830     .n4 = 480/4, .w = (const struct lc3_complex []){
831         { 3.0213714e-01, 4.9437117e-04 }, { 3.0210478e-01, 4.4491817e-03 },
832         { 3.0202066e-01, 8.4032299e-03 }, { 3.0188479e-01, 1.2355838e-02 },
833         { 3.0169719e-01, 1.6306330e-02 }, { 3.0145790e-01, 2.0254027e-02 },
834         { 3.0116696e-01, 2.4198254e-02 }, { 3.0082441e-01, 2.8138334e-02 },
835         { 3.0043032e-01, 3.2073593e-02 }, { 2.9998475e-01, 3.6003357e-02 },
836         { 2.9948778e-01, 3.9926952e-02 }, { 2.9893950e-01, 4.3843705e-02 },
837         { 2.9833999e-01, 4.7752946e-02 }, { 2.9768936e-01, 5.1654004e-02 },
838         { 2.9698773e-01, 5.5546213e-02 }, { 2.9623521e-01, 5.9428903e-02 },
839         { 2.9543193e-01, 6.3301411e-02 }, { 2.9457803e-01, 6.7163072e-02 },
840         { 2.9367365e-01, 7.1013225e-02 }, { 2.9271896e-01, 7.4851211e-02 },
841         { 2.9171411e-01, 7.8676371e-02 }, { 2.9065928e-01, 8.2488050e-02 },
842         { 2.8955464e-01, 8.6285595e-02 }, { 2.8840039e-01, 9.0068356e-02 },
843         { 2.8719672e-01, 9.3835684e-02 }, { 2.8594385e-01, 9.7586934e-02 },
844         { 2.8464198e-01, 1.0132146e-01 }, { 2.8329133e-01, 1.0503863e-01 },
845         { 2.8189215e-01, 1.0873780e-01 }, { 2.8044466e-01, 1.1241834e-01 },
846         { 2.7894913e-01, 1.1607962e-01 }, { 2.7740579e-01, 1.1972100e-01 },
847         { 2.7581493e-01, 1.2334187e-01 }, { 2.7417680e-01, 1.2694161e-01 },
848         { 2.7249170e-01, 1.3051960e-01 }, { 2.7075991e-01, 1.3407523e-01 },
849         { 2.6898172e-01, 1.3760788e-01 }, { 2.6715744e-01, 1.4111695e-01 },
850         { 2.6528739e-01, 1.4460184e-01 }, { 2.6337188e-01, 1.4806196e-01 },
851         { 2.6141125e-01, 1.5149671e-01 }, { 2.5940582e-01, 1.5490549e-01 },
852         { 2.5735595e-01, 1.5828774e-01 }, { 2.5526198e-01, 1.6164286e-01 },
853         { 2.5312427e-01, 1.6497029e-01 }, { 2.5094319e-01, 1.6826945e-01 },
854         { 2.4871911e-01, 1.7153978e-01 }, { 2.4645242e-01, 1.7478072e-01 },
855         { 2.4414349e-01, 1.7799171e-01 }, { 2.4179274e-01, 1.8117220e-01 },
856         { 2.3940055e-01, 1.8432165e-01 }, { 2.3696735e-01, 1.8743951e-01 },
857         { 2.3449354e-01, 1.9052526e-01 }, { 2.3197955e-01, 1.9357836e-01 },
858         { 2.2942581e-01, 1.9659830e-01 }, { 2.2683276e-01, 1.9958454e-01 },
859         { 2.2420085e-01, 2.0253659e-01 }, { 2.2153052e-01, 2.0545394e-01 },
860         { 2.1882223e-01, 2.0833608e-01 }, { 2.1607645e-01, 2.1118253e-01 },
861         { 2.1329364e-01, 2.1399279e-01 }, { 2.1047429e-01, 2.1676638e-01 },
862         { 2.0761888e-01, 2.1950284e-01 }, { 2.0472788e-01, 2.2220168e-01 },
863         { 2.0180182e-01, 2.2486245e-01 }, { 1.9884117e-01, 2.2748469e-01 },
864         { 1.9584645e-01, 2.3006795e-01 }, { 1.9281818e-01, 2.3261179e-01 },
865         { 1.8975686e-01, 2.3511577e-01 }, { 1.8666303e-01, 2.3757947e-01 },
866         { 1.8353722e-01, 2.4000246e-01 }, { 1.8037996e-01, 2.4238433e-01 },
867         { 1.7719180e-01, 2.4472466e-01 }, { 1.7397327e-01, 2.4702306e-01 },
868         { 1.7072493e-01, 2.4927914e-01 }, { 1.6744734e-01, 2.5149250e-01 },
869         { 1.6414106e-01, 2.5366278e-01 }, { 1.6080666e-01, 2.5578958e-01 },
870         { 1.5744470e-01, 2.5787256e-01 }, { 1.5405576e-01, 2.5991136e-01 },
871         { 1.5064043e-01, 2.6190562e-01 }, { 1.4719929e-01, 2.6385500e-01 },
872         { 1.4373292e-01, 2.6575918e-01 }, { 1.4024192e-01, 2.6761782e-01 },
873         { 1.3672690e-01, 2.6943060e-01 }, { 1.3318845e-01, 2.7119722e-01 },
874         { 1.2962718e-01, 2.7291736e-01 }, { 1.2604369e-01, 2.7459075e-01 },
875         { 1.2243861e-01, 2.7621709e-01 }, { 1.1881255e-01, 2.7779609e-01 },
876         { 1.1516614e-01, 2.7932750e-01 }, { 1.1149999e-01, 2.8081105e-01 },
877         { 1.0781473e-01, 2.8224648e-01 }, { 1.0411100e-01, 2.8363355e-01 },
878         { 1.0038943e-01, 2.8497202e-01 }, { 9.6650664e-02, 2.8626167e-01 },
879         { 9.2895335e-02, 2.8750226e-01 }, { 8.9124088e-02, 2.8869359e-01 },
880         { 8.5337570e-02, 2.8983546e-01 }, { 8.1536430e-02, 2.9092766e-01 },
881         { 7.7721319e-02, 2.9197001e-01 }, { 7.3892891e-02, 2.9296234e-01 },
882         { 7.0051802e-02, 2.9390447e-01 }, { 6.6198710e-02, 2.9479624e-01 },
883         { 6.2334275e-02, 2.9563750e-01 }, { 5.8459159e-02, 2.9642810e-01 },
884         { 5.4574027e-02, 2.9716791e-01 }, { 5.0679543e-02, 2.9785681e-01 },
885         { 4.6776376e-02, 2.9849466e-01 }, { 4.2865195e-02, 2.9908137e-01 },
886         { 3.8946668e-02, 2.9961684e-01 }, { 3.5021468e-02, 3.0010097e-01 },
887         { 3.1090267e-02, 3.0053367e-01 }, { 2.7153740e-02, 3.0091488e-01 },
888         { 2.3212559e-02, 3.0124454e-01 }, { 1.9267401e-02, 3.0152257e-01 },
889         { 1.5318942e-02, 3.0174894e-01 }, { 1.1367858e-02, 3.0192361e-01 },
890         { 7.4148264e-03, 3.0204654e-01 }, { 3.4605241e-03, 3.0211772e-01 },
891     }
892 };
893 
894 static const struct lc3_mdct_rot_def mdct_rot_640 = {
895     .n4 = 640/4, .w = (const struct lc3_complex []){
896         { 2.8117045e-01, 3.4504823e-04 }, { 2.8115351e-01, 3.1053717e-03 },
897         { 2.8110948e-01, 5.8653959e-03 }, { 2.8103835e-01, 8.6248547e-03 },
898         { 2.8094013e-01, 1.1383482e-02 }, { 2.8081484e-01, 1.4141013e-02 },
899         { 2.8066248e-01, 1.6897180e-02 }, { 2.8048307e-01, 1.9651719e-02 },
900         { 2.8027662e-01, 2.2404364e-02 }, { 2.8004317e-01, 2.5154849e-02 },
901         { 2.7978272e-01, 2.7902910e-02 }, { 2.7949530e-01, 3.0648282e-02 },
902         { 2.7918095e-01, 3.3390700e-02 }, { 2.7883969e-01, 3.6129899e-02 },
903         { 2.7847155e-01, 3.8865616e-02 }, { 2.7807658e-01, 4.1597587e-02 },
904         { 2.7765480e-01, 4.4325549e-02 }, { 2.7720626e-01, 4.7049239e-02 },
905         { 2.7673100e-01, 4.9768394e-02 }, { 2.7622908e-01, 5.2482752e-02 },
906         { 2.7570052e-01, 5.5192052e-02 }, { 2.7514540e-01, 5.7896032e-02 },
907         { 2.7456376e-01, 6.0594433e-02 }, { 2.7395565e-01, 6.3286992e-02 },
908         { 2.7332114e-01, 6.5973453e-02 }, { 2.7266028e-01, 6.8653554e-02 },
909         { 2.7197315e-01, 7.1327039e-02 }, { 2.7125980e-01, 7.3993649e-02 },
910         { 2.7052031e-01, 7.6653127e-02 }, { 2.6975475e-01, 7.9305217e-02 },
911         { 2.6896318e-01, 8.1949664e-02 }, { 2.6814570e-01, 8.4586212e-02 },
912         { 2.6730236e-01, 8.7214608e-02 }, { 2.6643327e-01, 8.9834598e-02 },
913         { 2.6553849e-01, 9.2445929e-02 }, { 2.6461813e-01, 9.5048350e-02 },
914         { 2.6367225e-01, 9.7641610e-02 }, { 2.6270097e-01, 1.0022546e-01 },
915         { 2.6170436e-01, 1.0279965e-01 }, { 2.6068253e-01, 1.0536393e-01 },
916         { 2.5963558e-01, 1.0791806e-01 }, { 2.5856360e-01, 1.1046178e-01 },
917         { 2.5746670e-01, 1.1299486e-01 }, { 2.5634499e-01, 1.1551705e-01 },
918         { 2.5519857e-01, 1.1802810e-01 }, { 2.5402755e-01, 1.2052778e-01 },
919         { 2.5283205e-01, 1.2301584e-01 }, { 2.5161218e-01, 1.2549204e-01 },
920         { 2.5036806e-01, 1.2795615e-01 }, { 2.4909981e-01, 1.3040793e-01 },
921         { 2.4780754e-01, 1.3284714e-01 }, { 2.4649140e-01, 1.3527354e-01 },
922         { 2.4515150e-01, 1.3768691e-01 }, { 2.4378797e-01, 1.4008700e-01 },
923         { 2.4240094e-01, 1.4247360e-01 }, { 2.4099055e-01, 1.4484646e-01 },
924         { 2.3955693e-01, 1.4720536e-01 }, { 2.3810023e-01, 1.4955007e-01 },
925         { 2.3662057e-01, 1.5188037e-01 }, { 2.3511811e-01, 1.5419603e-01 },
926         { 2.3359299e-01, 1.5649683e-01 }, { 2.3204535e-01, 1.5878255e-01 },
927         { 2.3047535e-01, 1.6105296e-01 }, { 2.2888313e-01, 1.6330785e-01 },
928         { 2.2726886e-01, 1.6554699e-01 }, { 2.2563268e-01, 1.6777019e-01 },
929         { 2.2397475e-01, 1.6997721e-01 }, { 2.2229524e-01, 1.7216785e-01 },
930         { 2.2059430e-01, 1.7434190e-01 }, { 2.1887210e-01, 1.7649914e-01 },
931         { 2.1712880e-01, 1.7863937e-01 }, { 2.1536458e-01, 1.8076239e-01 },
932         { 2.1357960e-01, 1.8286798e-01 }, { 2.1177403e-01, 1.8495594e-01 },
933         { 2.0994805e-01, 1.8702608e-01 }, { 2.0810184e-01, 1.8907820e-01 },
934         { 2.0623557e-01, 1.9111209e-01 }, { 2.0434942e-01, 1.9312756e-01 },
935         { 2.0244358e-01, 1.9512442e-01 }, { 2.0051823e-01, 1.9710247e-01 },
936         { 1.9857355e-01, 1.9906152e-01 }, { 1.9660973e-01, 2.0100139e-01 },
937         { 1.9462696e-01, 2.0292188e-01 }, { 1.9262543e-01, 2.0482282e-01 },
938         { 1.9060533e-01, 2.0670401e-01 }, { 1.8856687e-01, 2.0856528e-01 },
939         { 1.8651023e-01, 2.1040645e-01 }, { 1.8443562e-01, 2.1222734e-01 },
940         { 1.8234322e-01, 2.1402778e-01 }, { 1.8023326e-01, 2.1580759e-01 },
941         { 1.7810592e-01, 2.1756659e-01 }, { 1.7596142e-01, 2.1930463e-01 },
942         { 1.7379995e-01, 2.2102153e-01 }, { 1.7162174e-01, 2.2271713e-01 },
943         { 1.6942698e-01, 2.2439126e-01 }, { 1.6721590e-01, 2.2604377e-01 },
944         { 1.6498869e-01, 2.2767449e-01 }, { 1.6274559e-01, 2.2928326e-01 },
945         { 1.6048680e-01, 2.3086994e-01 }, { 1.5821254e-01, 2.3243436e-01 },
946         { 1.5592304e-01, 2.3397638e-01 }, { 1.5361850e-01, 2.3549585e-01 },
947         { 1.5129916e-01, 2.3699263e-01 }, { 1.4896524e-01, 2.3846656e-01 },
948         { 1.4661696e-01, 2.3991751e-01 }, { 1.4425454e-01, 2.4134533e-01 },
949         { 1.4187823e-01, 2.4274989e-01 }, { 1.3948824e-01, 2.4413106e-01 },
950         { 1.3708480e-01, 2.4548869e-01 }, { 1.3466815e-01, 2.4682267e-01 },
951         { 1.3223853e-01, 2.4813285e-01 }, { 1.2979616e-01, 2.4941912e-01 },
952         { 1.2734127e-01, 2.5068135e-01 }, { 1.2487412e-01, 2.5191942e-01 },
953         { 1.2239493e-01, 2.5313321e-01 }, { 1.1990394e-01, 2.5432260e-01 },
954         { 1.1740139e-01, 2.5548748e-01 }, { 1.1488753e-01, 2.5662774e-01 },
955         { 1.1236260e-01, 2.5774326e-01 }, { 1.0982684e-01, 2.5883394e-01 },
956         { 1.0728049e-01, 2.5989967e-01 }, { 1.0472380e-01, 2.6094035e-01 },
957         { 1.0215702e-01, 2.6195588e-01 }, { 9.9580393e-02, 2.6294617e-01 },
958         { 9.6994168e-02, 2.6391111e-01 }, { 9.4398594e-02, 2.6485061e-01 },
959         { 9.1793922e-02, 2.6576459e-01 }, { 8.9180402e-02, 2.6665295e-01 },
960         { 8.6558287e-02, 2.6751562e-01 }, { 8.3927830e-02, 2.6835249e-01 },
961         { 8.1289283e-02, 2.6916351e-01 }, { 7.8642901e-02, 2.6994858e-01 },
962         { 7.5988940e-02, 2.7070763e-01 }, { 7.3327655e-02, 2.7144059e-01 },
963         { 7.0659302e-02, 2.7214739e-01 }, { 6.7984139e-02, 2.7282796e-01 },
964         { 6.5302424e-02, 2.7348224e-01 }, { 6.2614414e-02, 2.7411015e-01 },
965         { 5.9920370e-02, 2.7471165e-01 }, { 5.7220550e-02, 2.7528667e-01 },
966         { 5.4515216e-02, 2.7583516e-01 }, { 5.1804627e-02, 2.7635706e-01 },
967         { 4.9089045e-02, 2.7685232e-01 }, { 4.6368731e-02, 2.7732090e-01 },
968         { 4.3643949e-02, 2.7776275e-01 }, { 4.0914960e-02, 2.7817783e-01 },
969         { 3.8182028e-02, 2.7856610e-01 }, { 3.5445415e-02, 2.7892752e-01 },
970         { 3.2705387e-02, 2.7926206e-01 }, { 2.9962206e-02, 2.7956968e-01 },
971         { 2.7216137e-02, 2.7985036e-01 }, { 2.4467445e-02, 2.8010406e-01 },
972         { 2.1716395e-02, 2.8033077e-01 }, { 1.8963252e-02, 2.8053046e-01 },
973         { 1.6208281e-02, 2.8070310e-01 }, { 1.3451748e-02, 2.8084870e-01 },
974         { 1.0693918e-02, 2.8096723e-01 }, { 7.9350576e-03, 2.8105867e-01 },
975         { 5.1754324e-03, 2.8112303e-01 }, { 2.4153085e-03, 2.8116029e-01 },
976     }
977 };
978 
979 static const struct lc3_mdct_rot_def mdct_rot_720 = {
980     .n4 = 720/4, .w = (const struct lc3_complex []){
981         { 2.7301192e-01, 2.9780993e-04 }, { 2.7299893e-01, 2.6802468e-03 },
982         { 2.7296515e-01, 5.0624796e-03 }, { 2.7291057e-01, 7.4443269e-03 },
983         { 2.7283522e-01, 9.8256072e-03 }, { 2.7273909e-01, 1.2206139e-02 },
984         { 2.7262218e-01, 1.4585742e-02 }, { 2.7248452e-01, 1.6964234e-02 },
985         { 2.7232611e-01, 1.9341434e-02 }, { 2.7214695e-01, 2.1717161e-02 },
986         { 2.7194708e-01, 2.4091234e-02 }, { 2.7172649e-01, 2.6463472e-02 },
987         { 2.7148521e-01, 2.8833695e-02 }, { 2.7122325e-01, 3.1201723e-02 },
988         { 2.7094064e-01, 3.3567374e-02 }, { 2.7063740e-01, 3.5930469e-02 },
989         { 2.7031354e-01, 3.8290828e-02 }, { 2.6996910e-01, 4.0648270e-02 },
990         { 2.6960411e-01, 4.3002618e-02 }, { 2.6921858e-01, 4.5353690e-02 },
991         { 2.6881255e-01, 4.7701309e-02 }, { 2.6838604e-01, 5.0045294e-02 },
992         { 2.6793910e-01, 5.2385469e-02 }, { 2.6747176e-01, 5.4721655e-02 },
993         { 2.6698404e-01, 5.7053673e-02 }, { 2.6647599e-01, 5.9381346e-02 },
994         { 2.6594765e-01, 6.1704497e-02 }, { 2.6539906e-01, 6.4022949e-02 },
995         { 2.6483026e-01, 6.6336526e-02 }, { 2.6424128e-01, 6.8645051e-02 },
996         { 2.6363219e-01, 7.0948348e-02 }, { 2.6300302e-01, 7.3246242e-02 },
997         { 2.6235382e-01, 7.5538558e-02 }, { 2.6168464e-01, 7.7825122e-02 },
998         { 2.6099553e-01, 8.0105759e-02 }, { 2.6028655e-01, 8.2380295e-02 },
999         { 2.5955774e-01, 8.4648558e-02 }, { 2.5880917e-01, 8.6910375e-02 },
1000         { 2.5804089e-01, 8.9165573e-02 }, { 2.5725296e-01, 9.1413981e-02 },
1001         { 2.5644543e-01, 9.3655427e-02 }, { 2.5561838e-01, 9.5889741e-02 },
1002         { 2.5477186e-01, 9.8116753e-02 }, { 2.5390594e-01, 1.0033629e-01 },
1003         { 2.5302069e-01, 1.0254819e-01 }, { 2.5211616e-01, 1.0475228e-01 },
1004         { 2.5119244e-01, 1.0694839e-01 }, { 2.5024958e-01, 1.0913636e-01 },
1005         { 2.4928767e-01, 1.1131602e-01 }, { 2.4830678e-01, 1.1348720e-01 },
1006         { 2.4730697e-01, 1.1564973e-01 }, { 2.4628833e-01, 1.1780346e-01 },
1007         { 2.4525094e-01, 1.1994822e-01 }, { 2.4419487e-01, 1.2208384e-01 },
1008         { 2.4312020e-01, 1.2421017e-01 }, { 2.4202702e-01, 1.2632704e-01 },
1009         { 2.4091541e-01, 1.2843429e-01 }, { 2.3978545e-01, 1.3053175e-01 },
1010         { 2.3863723e-01, 1.3261928e-01 }, { 2.3747083e-01, 1.3469670e-01 },
1011         { 2.3628636e-01, 1.3676387e-01 }, { 2.3508388e-01, 1.3882063e-01 },
1012         { 2.3386351e-01, 1.4086681e-01 }, { 2.3262533e-01, 1.4290226e-01 },
1013         { 2.3136943e-01, 1.4492683e-01 }, { 2.3009591e-01, 1.4694037e-01 },
1014         { 2.2880487e-01, 1.4894272e-01 }, { 2.2749640e-01, 1.5093372e-01 },
1015         { 2.2617061e-01, 1.5291323e-01 }, { 2.2482759e-01, 1.5488109e-01 },
1016         { 2.2346746e-01, 1.5683716e-01 }, { 2.2209030e-01, 1.5878128e-01 },
1017         { 2.2069624e-01, 1.6071332e-01 }, { 2.1928536e-01, 1.6263311e-01 },
1018         { 2.1785779e-01, 1.6454052e-01 }, { 2.1641363e-01, 1.6643540e-01 },
1019         { 2.1495298e-01, 1.6831760e-01 }, { 2.1347597e-01, 1.7018699e-01 },
1020         { 2.1198270e-01, 1.7204341e-01 }, { 2.1047328e-01, 1.7388674e-01 },
1021         { 2.0894784e-01, 1.7571682e-01 }, { 2.0740648e-01, 1.7753352e-01 },
1022         { 2.0584933e-01, 1.7933670e-01 }, { 2.0427651e-01, 1.8112622e-01 },
1023         { 2.0268812e-01, 1.8290195e-01 }, { 2.0108431e-01, 1.8466375e-01 },
1024         { 1.9946518e-01, 1.8641149e-01 }, { 1.9783085e-01, 1.8814503e-01 },
1025         { 1.9618147e-01, 1.8986424e-01 }, { 1.9451714e-01, 1.9156900e-01 },
1026         { 1.9283800e-01, 1.9325917e-01 }, { 1.9114417e-01, 1.9493462e-01 },
1027         { 1.8943579e-01, 1.9659522e-01 }, { 1.8771298e-01, 1.9824085e-01 },
1028         { 1.8597588e-01, 1.9987139e-01 }, { 1.8422461e-01, 2.0148670e-01 },
1029         { 1.8245932e-01, 2.0308667e-01 }, { 1.8068013e-01, 2.0467118e-01 },
1030         { 1.7888718e-01, 2.0624010e-01 }, { 1.7708060e-01, 2.0779331e-01 },
1031         { 1.7526055e-01, 2.0933070e-01 }, { 1.7342714e-01, 2.1085214e-01 },
1032         { 1.7158053e-01, 2.1235753e-01 }, { 1.6972085e-01, 2.1384675e-01 },
1033         { 1.6784825e-01, 2.1531968e-01 }, { 1.6596286e-01, 2.1677622e-01 },
1034         { 1.6406484e-01, 2.1821624e-01 }, { 1.6215432e-01, 2.1963965e-01 },
1035         { 1.6023145e-01, 2.2104633e-01 }, { 1.5829638e-01, 2.2243618e-01 },
1036         { 1.5634925e-01, 2.2380909e-01 }, { 1.5439022e-01, 2.2516496e-01 },
1037         { 1.5241943e-01, 2.2650368e-01 }, { 1.5043704e-01, 2.2782514e-01 },
1038         { 1.4844319e-01, 2.2912926e-01 }, { 1.4643803e-01, 2.3041593e-01 },
1039         { 1.4442172e-01, 2.3168506e-01 }, { 1.4239441e-01, 2.3293654e-01 },
1040         { 1.4035626e-01, 2.3417028e-01 }, { 1.3830742e-01, 2.3538618e-01 },
1041         { 1.3624805e-01, 2.3658417e-01 }, { 1.3417830e-01, 2.3776413e-01 },
1042         { 1.3209834e-01, 2.3892599e-01 }, { 1.3000831e-01, 2.4006965e-01 },
1043         { 1.2790838e-01, 2.4119503e-01 }, { 1.2579872e-01, 2.4230205e-01 },
1044         { 1.2367947e-01, 2.4339061e-01 }, { 1.2155080e-01, 2.4446063e-01 },
1045         { 1.1941288e-01, 2.4551204e-01 }, { 1.1726586e-01, 2.4654476e-01 },
1046         { 1.1510992e-01, 2.4755869e-01 }, { 1.1294520e-01, 2.4855378e-01 },
1047         { 1.1077189e-01, 2.4952993e-01 }, { 1.0859014e-01, 2.5048709e-01 },
1048         { 1.0640012e-01, 2.5142516e-01 }, { 1.0420200e-01, 2.5234410e-01 },
1049         { 1.0199594e-01, 2.5324381e-01 }, { 9.9782117e-02, 2.5412424e-01 },
1050         { 9.7560694e-02, 2.5498531e-01 }, { 9.5331841e-02, 2.5582697e-01 },
1051         { 9.3095728e-02, 2.5664915e-01 }, { 9.0852525e-02, 2.5745178e-01 },
1052         { 8.8602403e-02, 2.5823480e-01 }, { 8.6345534e-02, 2.5899816e-01 },
1053         { 8.4082090e-02, 2.5974180e-01 }, { 8.1812242e-02, 2.6046565e-01 },
1054         { 7.9536165e-02, 2.6116967e-01 }, { 7.7254030e-02, 2.6185380e-01 },
1055         { 7.4966012e-02, 2.6251799e-01 }, { 7.2672284e-02, 2.6316219e-01 },
1056         { 7.0373023e-02, 2.6378635e-01 }, { 6.8068403e-02, 2.6439042e-01 },
1057         { 6.5758598e-02, 2.6497435e-01 }, { 6.3443786e-02, 2.6553810e-01 },
1058         { 6.1124143e-02, 2.6608164e-01 }, { 5.8799845e-02, 2.6660491e-01 },
1059         { 5.6471069e-02, 2.6710788e-01 }, { 5.4137992e-02, 2.6759050e-01 },
1060         { 5.1800793e-02, 2.6805275e-01 }, { 4.9459648e-02, 2.6849459e-01 },
1061         { 4.7114738e-02, 2.6891597e-01 }, { 4.4766239e-02, 2.6931688e-01 },
1062         { 4.2414331e-02, 2.6969728e-01 }, { 4.0059193e-02, 2.7005714e-01 },
1063         { 3.7701004e-02, 2.7039644e-01 }, { 3.5339945e-02, 2.7071514e-01 },
1064         { 3.2976194e-02, 2.7101323e-01 }, { 3.0609932e-02, 2.7129068e-01 },
1065         { 2.8241338e-02, 2.7154747e-01 }, { 2.5870594e-02, 2.7178357e-01 },
1066         { 2.3497880e-02, 2.7199899e-01 }, { 2.1123377e-02, 2.7219369e-01 },
1067         { 1.8747265e-02, 2.7236765e-01 }, { 1.6369725e-02, 2.7252088e-01 },
1068         { 1.3990938e-02, 2.7265336e-01 }, { 1.1611086e-02, 2.7276507e-01 },
1069         { 9.2303502e-03, 2.7285601e-01 }, { 6.8489111e-03, 2.7292617e-01 },
1070         { 4.4669505e-03, 2.7297554e-01 }, { 2.0846497e-03, 2.7300413e-01 },
1071     }
1072 };
1073 
1074 static const struct lc3_mdct_rot_def mdct_rot_960 = {
1075     .n4 = 960/4, .w = (const struct lc3_complex []){
1076         { 2.5406629e-01, 2.0785754e-04 }, { 2.5405949e-01, 1.8707012e-03 },
1077         { 2.5404180e-01, 3.5334647e-03 }, { 2.5401323e-01, 5.1960769e-03 },
1078         { 2.5397379e-01, 6.8584664e-03 }, { 2.5392346e-01, 8.5205622e-03 },
1079         { 2.5386225e-01, 1.0182293e-02 }, { 2.5379017e-01, 1.1843588e-02 },
1080         { 2.5370722e-01, 1.3504375e-02 }, { 2.5361340e-01, 1.5164584e-02 },
1081         { 2.5350872e-01, 1.6824143e-02 }, { 2.5339318e-01, 1.8482981e-02 },
1082         { 2.5326678e-01, 2.0141028e-02 }, { 2.5312953e-01, 2.1798212e-02 },
1083         { 2.5298144e-01, 2.3454462e-02 }, { 2.5282252e-01, 2.5109708e-02 },
1084         { 2.5265276e-01, 2.6763878e-02 }, { 2.5247218e-01, 2.8416901e-02 },
1085         { 2.5228079e-01, 3.0068707e-02 }, { 2.5207859e-01, 3.1719225e-02 },
1086         { 2.5186559e-01, 3.3368385e-02 }, { 2.5164180e-01, 3.5016115e-02 },
1087         { 2.5140723e-01, 3.6662344e-02 }, { 2.5116189e-01, 3.8307004e-02 },
1088         { 2.5090580e-01, 3.9950022e-02 }, { 2.5063895e-01, 4.1591330e-02 },
1089         { 2.5036137e-01, 4.3230855e-02 }, { 2.5007306e-01, 4.4868529e-02 },
1090         { 2.4977405e-01, 4.6504281e-02 }, { 2.4946433e-01, 4.8138040e-02 },
1091         { 2.4914393e-01, 4.9769738e-02 }, { 2.4881285e-01, 5.1399303e-02 },
1092         { 2.4847112e-01, 5.3026667e-02 }, { 2.4811874e-01, 5.4651759e-02 },
1093         { 2.4775573e-01, 5.6274511e-02 }, { 2.4738211e-01, 5.7894851e-02 },
1094         { 2.4699789e-01, 5.9512712e-02 }, { 2.4660310e-01, 6.1128023e-02 },
1095         { 2.4619774e-01, 6.2740716e-02 }, { 2.4578183e-01, 6.4350721e-02 },
1096         { 2.4535539e-01, 6.5957969e-02 }, { 2.4491845e-01, 6.7562392e-02 },
1097         { 2.4447101e-01, 6.9163921e-02 }, { 2.4401310e-01, 7.0762488e-02 },
1098         { 2.4354474e-01, 7.2358023e-02 }, { 2.4306594e-01, 7.3950458e-02 },
1099         { 2.4257673e-01, 7.5539726e-02 }, { 2.4207714e-01, 7.7125757e-02 },
1100         { 2.4156717e-01, 7.8708485e-02 }, { 2.4104685e-01, 8.0287842e-02 },
1101         { 2.4051621e-01, 8.1863759e-02 }, { 2.3997527e-01, 8.3436169e-02 },
1102         { 2.3942404e-01, 8.5005005e-02 }, { 2.3886256e-01, 8.6570200e-02 },
1103         { 2.3829085e-01, 8.8131686e-02 }, { 2.3770893e-01, 8.9689398e-02 },
1104         { 2.3711683e-01, 9.1243267e-02 }, { 2.3651456e-01, 9.2793227e-02 },
1105         { 2.3590217e-01, 9.4339213e-02 }, { 2.3527968e-01, 9.5881158e-02 },
1106         { 2.3464710e-01, 9.7418995e-02 }, { 2.3400447e-01, 9.8952659e-02 },
1107         { 2.3335182e-01, 1.0048208e-01 }, { 2.3268918e-01, 1.0200721e-01 },
1108         { 2.3201656e-01, 1.0352796e-01 }, { 2.3133401e-01, 1.0504427e-01 },
1109         { 2.3064154e-01, 1.0655609e-01 }, { 2.2993920e-01, 1.0806334e-01 },
1110         { 2.2922701e-01, 1.0956597e-01 }, { 2.2850500e-01, 1.1106390e-01 },
1111         { 2.2777320e-01, 1.1255707e-01 }, { 2.2703164e-01, 1.1404542e-01 },
1112         { 2.2628036e-01, 1.1552888e-01 }, { 2.2551938e-01, 1.1700740e-01 },
1113         { 2.2474874e-01, 1.1848090e-01 }, { 2.2396848e-01, 1.1994933e-01 },
1114         { 2.2317862e-01, 1.2141262e-01 }, { 2.2237920e-01, 1.2287071e-01 },
1115         { 2.2157026e-01, 1.2432354e-01 }, { 2.2075182e-01, 1.2577104e-01 },
1116         { 2.1992393e-01, 1.2721315e-01 }, { 2.1908662e-01, 1.2864982e-01 },
1117         { 2.1823992e-01, 1.3008097e-01 }, { 2.1738388e-01, 1.3150655e-01 },
1118         { 2.1651852e-01, 1.3292650e-01 }, { 2.1564388e-01, 1.3434075e-01 },
1119         { 2.1476001e-01, 1.3574925e-01 }, { 2.1386694e-01, 1.3715193e-01 },
1120         { 2.1296471e-01, 1.3854874e-01 }, { 2.1205336e-01, 1.3993962e-01 },
1121         { 2.1113292e-01, 1.4132449e-01 }, { 2.1020344e-01, 1.4270332e-01 },
1122         { 2.0926495e-01, 1.4407603e-01 }, { 2.0831750e-01, 1.4544257e-01 },
1123         { 2.0736113e-01, 1.4680288e-01 }, { 2.0639587e-01, 1.4815690e-01 },
1124         { 2.0542177e-01, 1.4950458e-01 }, { 2.0443887e-01, 1.5084585e-01 },
1125         { 2.0344722e-01, 1.5218066e-01 }, { 2.0244685e-01, 1.5350895e-01 },
1126         { 2.0143780e-01, 1.5483066e-01 }, { 2.0042013e-01, 1.5614574e-01 },
1127         { 1.9939388e-01, 1.5745414e-01 }, { 1.9835908e-01, 1.5875578e-01 },
1128         { 1.9731578e-01, 1.6005063e-01 }, { 1.9626403e-01, 1.6133862e-01 },
1129         { 1.9520388e-01, 1.6261970e-01 }, { 1.9413536e-01, 1.6389382e-01 },
1130         { 1.9305853e-01, 1.6516091e-01 }, { 1.9197343e-01, 1.6642093e-01 },
1131         { 1.9088010e-01, 1.6767382e-01 }, { 1.8977860e-01, 1.6891953e-01 },
1132         { 1.8866896e-01, 1.7015800e-01 }, { 1.8755125e-01, 1.7138918e-01 },
1133         { 1.8642550e-01, 1.7261302e-01 }, { 1.8529177e-01, 1.7382947e-01 },
1134         { 1.8415009e-01, 1.7503847e-01 }, { 1.8300053e-01, 1.7623997e-01 },
1135         { 1.8184314e-01, 1.7743392e-01 }, { 1.8067795e-01, 1.7862027e-01 },
1136         { 1.7950502e-01, 1.7979897e-01 }, { 1.7832440e-01, 1.8096997e-01 },
1137         { 1.7713614e-01, 1.8213322e-01 }, { 1.7594030e-01, 1.8328866e-01 },
1138         { 1.7473692e-01, 1.8443625e-01 }, { 1.7352605e-01, 1.8557595e-01 },
1139         { 1.7230775e-01, 1.8670769e-01 }, { 1.7108207e-01, 1.8783143e-01 },
1140         { 1.6984906e-01, 1.8894713e-01 }, { 1.6860878e-01, 1.9005474e-01 },
1141         { 1.6736127e-01, 1.9115420e-01 }, { 1.6610659e-01, 1.9224547e-01 },
1142         { 1.6484480e-01, 1.9332851e-01 }, { 1.6357595e-01, 1.9440327e-01 },
1143         { 1.6230008e-01, 1.9546970e-01 }, { 1.6101727e-01, 1.9652776e-01 },
1144         { 1.5972756e-01, 1.9757740e-01 }, { 1.5843101e-01, 1.9861857e-01 },
1145         { 1.5712767e-01, 1.9965124e-01 }, { 1.5581760e-01, 2.0067536e-01 },
1146         { 1.5450085e-01, 2.0169087e-01 }, { 1.5317749e-01, 2.0269775e-01 },
1147         { 1.5184756e-01, 2.0369595e-01 }, { 1.5051113e-01, 2.0468542e-01 },
1148         { 1.4916826e-01, 2.0566612e-01 }, { 1.4781899e-01, 2.0663801e-01 },
1149         { 1.4646339e-01, 2.0760105e-01 }, { 1.4510152e-01, 2.0855520e-01 },
1150         { 1.4373343e-01, 2.0950041e-01 }, { 1.4235918e-01, 2.1043665e-01 },
1151         { 1.4097884e-01, 2.1136388e-01 }, { 1.3959246e-01, 2.1228205e-01 },
1152         { 1.3820009e-01, 2.1319113e-01 }, { 1.3680181e-01, 2.1409107e-01 },
1153         { 1.3539767e-01, 2.1498185e-01 }, { 1.3398773e-01, 2.1586341e-01 },
1154         { 1.3257204e-01, 2.1673573e-01 }, { 1.3115068e-01, 2.1759876e-01 },
1155         { 1.2972370e-01, 2.1845247e-01 }, { 1.2829117e-01, 2.1929683e-01 },
1156         { 1.2685313e-01, 2.2013179e-01 }, { 1.2540967e-01, 2.2095732e-01 },
1157         { 1.2396083e-01, 2.2177339e-01 }, { 1.2250668e-01, 2.2257995e-01 },
1158         { 1.2104729e-01, 2.2337698e-01 }, { 1.1958271e-01, 2.2416445e-01 },
1159         { 1.1811300e-01, 2.2494231e-01 }, { 1.1663824e-01, 2.2571053e-01 },
1160         { 1.1515848e-01, 2.2646909e-01 }, { 1.1367379e-01, 2.2721794e-01 },
1161         { 1.1218422e-01, 2.2795706e-01 }, { 1.1068986e-01, 2.2868642e-01 },
1162         { 1.0919075e-01, 2.2940598e-01 }, { 1.0768696e-01, 2.3011571e-01 },
1163         { 1.0617856e-01, 2.3081559e-01 }, { 1.0466561e-01, 2.3150558e-01 },
1164         { 1.0314818e-01, 2.3218565e-01 }, { 1.0162633e-01, 2.3285577e-01 },
1165         { 1.0010013e-01, 2.3351592e-01 }, { 9.8569638e-02, 2.3416607e-01 },
1166         { 9.7034924e-02, 2.3480619e-01 }, { 9.5496054e-02, 2.3543625e-01 },
1167         { 9.3953093e-02, 2.3605622e-01 }, { 9.2406107e-02, 2.3666608e-01 },
1168         { 9.0855163e-02, 2.3726580e-01 }, { 8.9300327e-02, 2.3785536e-01 },
1169         { 8.7741666e-02, 2.3843473e-01 }, { 8.6179246e-02, 2.3900389e-01 },
1170         { 8.4613135e-02, 2.3956281e-01 }, { 8.3043399e-02, 2.4011147e-01 },
1171         { 8.1470106e-02, 2.4064984e-01 }, { 7.9893322e-02, 2.4117790e-01 },
1172         { 7.8313117e-02, 2.4169563e-01 }, { 7.6729556e-02, 2.4220301e-01 },
1173         { 7.5142709e-02, 2.4270001e-01 }, { 7.3552643e-02, 2.4318662e-01 },
1174         { 7.1959427e-02, 2.4366281e-01 }, { 7.0363128e-02, 2.4412856e-01 },
1175         { 6.8763814e-02, 2.4458385e-01 }, { 6.7161555e-02, 2.4502867e-01 },
1176         { 6.5556419e-02, 2.4546299e-01 }, { 6.3948475e-02, 2.4588679e-01 },
1177         { 6.2337792e-02, 2.4630007e-01 }, { 6.0724438e-02, 2.4670279e-01 },
1178         { 5.9108483e-02, 2.4709494e-01 }, { 5.7489996e-02, 2.4747651e-01 },
1179         { 5.5869046e-02, 2.4784748e-01 }, { 5.4245703e-02, 2.4820783e-01 },
1180         { 5.2620036e-02, 2.4855755e-01 }, { 5.0992116e-02, 2.4889662e-01 },
1181         { 4.9362011e-02, 2.4922503e-01 }, { 4.7729791e-02, 2.4954276e-01 },
1182         { 4.6095527e-02, 2.4984980e-01 }, { 4.4459288e-02, 2.5014615e-01 },
1183         { 4.2821145e-02, 2.5043177e-01 }, { 4.1181167e-02, 2.5070667e-01 },
1184         { 3.9539426e-02, 2.5097083e-01 }, { 3.7895990e-02, 2.5122424e-01 },
1185         { 3.6250931e-02, 2.5146688e-01 }, { 3.4604320e-02, 2.5169876e-01 },
1186         { 3.2956226e-02, 2.5191985e-01 }, { 3.1306720e-02, 2.5213015e-01 },
1187         { 2.9655874e-02, 2.5232965e-01 }, { 2.8003757e-02, 2.5251834e-01 },
1188         { 2.6350440e-02, 2.5269621e-01 }, { 2.4695994e-02, 2.5286326e-01 },
1189         { 2.3040491e-02, 2.5301948e-01 }, { 2.1384001e-02, 2.5316486e-01 },
1190         { 1.9726595e-02, 2.5329940e-01 }, { 1.8068343e-02, 2.5342308e-01 },
1191         { 1.6409318e-02, 2.5353591e-01 }, { 1.4749590e-02, 2.5363788e-01 },
1192         { 1.3089230e-02, 2.5372898e-01 }, { 1.1428309e-02, 2.5380921e-01 },
1193         { 9.7668984e-03, 2.5387857e-01 }, { 8.1050697e-03, 2.5393706e-01 },
1194         { 6.4428938e-03, 2.5398467e-01 }, { 4.7804419e-03, 2.5402140e-01 },
1195         { 3.1177852e-03, 2.5404724e-01 }, { 1.4549950e-03, 2.5406221e-01 },
1196     }
1197 };
1198 
1199 #if LC3_PLUS_HR
1200 
1201 static const struct lc3_mdct_rot_def mdct_rot_1920 = {
1202     .n4 = 1920/4, .w = (const struct lc3_complex []){
1203         { 2.1364349e-01, 8.7393339e-05 }, { 2.1364206e-01, 7.8653829e-04 },
1204         { 2.1363834e-01, 1.4856748e-03 }, { 2.1363233e-01, 2.1847954e-03 },
1205         { 2.1362404e-01, 2.8838927e-03 }, { 2.1361346e-01, 3.5829590e-03 },
1206         { 2.1360059e-01, 4.2819870e-03 }, { 2.1358543e-01, 4.9809691e-03 },
1207         { 2.1356799e-01, 5.6798979e-03 }, { 2.1354826e-01, 6.3787658e-03 },
1208         { 2.1352624e-01, 7.0775654e-03 }, { 2.1350193e-01, 7.7762893e-03 },
1209         { 2.1347534e-01, 8.4749298e-03 }, { 2.1344647e-01, 9.1734796e-03 },
1210         { 2.1341530e-01, 9.8719312e-03 }, { 2.1338185e-01, 1.0570277e-02 },
1211         { 2.1334612e-01, 1.1268510e-02 }, { 2.1330810e-01, 1.1966622e-02 },
1212         { 2.1326780e-01, 1.2664605e-02 }, { 2.1322521e-01, 1.3362454e-02 },
1213         { 2.1318034e-01, 1.4060159e-02 }, { 2.1313319e-01, 1.4757713e-02 },
1214         { 2.1308375e-01, 1.5455110e-02 }, { 2.1303204e-01, 1.6152341e-02 },
1215         { 2.1297804e-01, 1.6849399e-02 }, { 2.1292176e-01, 1.7546276e-02 },
1216         { 2.1286320e-01, 1.8242966e-02 }, { 2.1280236e-01, 1.8939460e-02 },
1217         { 2.1273924e-01, 1.9635751e-02 }, { 2.1267384e-01, 2.0331833e-02 },
1218         { 2.1260617e-01, 2.1027696e-02 }, { 2.1253622e-01, 2.1723334e-02 },
1219         { 2.1246399e-01, 2.2418740e-02 }, { 2.1238949e-01, 2.3113905e-02 },
1220         { 2.1231271e-01, 2.3808823e-02 }, { 2.1223366e-01, 2.4503486e-02 },
1221         { 2.1215233e-01, 2.5197887e-02 }, { 2.1206874e-01, 2.5892018e-02 },
1222         { 2.1198287e-01, 2.6585871e-02 }, { 2.1189473e-01, 2.7279440e-02 },
1223         { 2.1180433e-01, 2.7972716e-02 }, { 2.1171165e-01, 2.8665693e-02 },
1224         { 2.1161671e-01, 2.9358363e-02 }, { 2.1151950e-01, 3.0050719e-02 },
1225         { 2.1142003e-01, 3.0742753e-02 }, { 2.1131829e-01, 3.1434457e-02 },
1226         { 2.1121429e-01, 3.2125825e-02 }, { 2.1110803e-01, 3.2816849e-02 },
1227         { 2.1099951e-01, 3.3507522e-02 }, { 2.1088873e-01, 3.4197835e-02 },
1228         { 2.1077568e-01, 3.4887783e-02 }, { 2.1066039e-01, 3.5577357e-02 },
1229         { 2.1054283e-01, 3.6266549e-02 }, { 2.1042302e-01, 3.6955354e-02 },
1230         { 2.1030096e-01, 3.7643762e-02 }, { 2.1017664e-01, 3.8331768e-02 },
1231         { 2.1005008e-01, 3.9019363e-02 }, { 2.0992126e-01, 3.9706540e-02 },
1232         { 2.0979020e-01, 4.0393292e-02 }, { 2.0965689e-01, 4.1079611e-02 },
1233         { 2.0952134e-01, 4.1765490e-02 }, { 2.0938354e-01, 4.2450923e-02 },
1234         { 2.0924350e-01, 4.3135900e-02 }, { 2.0910121e-01, 4.3820416e-02 },
1235         { 2.0895669e-01, 4.4504462e-02 }, { 2.0880993e-01, 4.5188032e-02 },
1236         { 2.0866094e-01, 4.5871117e-02 }, { 2.0850971e-01, 4.6553712e-02 },
1237         { 2.0835625e-01, 4.7235808e-02 }, { 2.0820055e-01, 4.7917398e-02 },
1238         { 2.0804263e-01, 4.8598475e-02 }, { 2.0788248e-01, 4.9279031e-02 },
1239         { 2.0772010e-01, 4.9959060e-02 }, { 2.0755549e-01, 5.0638554e-02 },
1240         { 2.0738867e-01, 5.1317505e-02 }, { 2.0721962e-01, 5.1995907e-02 },
1241         { 2.0704836e-01, 5.2673752e-02 }, { 2.0687487e-01, 5.3351033e-02 },
1242         { 2.0669918e-01, 5.4027742e-02 }, { 2.0652126e-01, 5.4703873e-02 },
1243         { 2.0634114e-01, 5.5379418e-02 }, { 2.0615881e-01, 5.6054370e-02 },
1244         { 2.0597427e-01, 5.6728722e-02 }, { 2.0578752e-01, 5.7402466e-02 },
1245         { 2.0559857e-01, 5.8075596e-02 }, { 2.0540742e-01, 5.8748104e-02 },
1246         { 2.0521406e-01, 5.9419982e-02 }, { 2.0501851e-01, 6.0091224e-02 },
1247         { 2.0482077e-01, 6.0761823e-02 }, { 2.0462083e-01, 6.1431770e-02 },
1248         { 2.0441870e-01, 6.2101060e-02 }, { 2.0421438e-01, 6.2769685e-02 },
1249         { 2.0400787e-01, 6.3437638e-02 }, { 2.0379918e-01, 6.4104911e-02 },
1250         { 2.0358831e-01, 6.4771498e-02 }, { 2.0337525e-01, 6.5437391e-02 },
1251         { 2.0316002e-01, 6.6102584e-02 }, { 2.0294262e-01, 6.6767068e-02 },
1252         { 2.0272303e-01, 6.7430838e-02 }, { 2.0250128e-01, 6.8093885e-02 },
1253         { 2.0227736e-01, 6.8756203e-02 }, { 2.0205127e-01, 6.9417785e-02 },
1254         { 2.0182302e-01, 7.0078623e-02 }, { 2.0159261e-01, 7.0738711e-02 },
1255         { 2.0136004e-01, 7.1398041e-02 }, { 2.0112531e-01, 7.2056607e-02 },
1256         { 2.0088843e-01, 7.2714401e-02 }, { 2.0064940e-01, 7.3371416e-02 },
1257         { 2.0040822e-01, 7.4027646e-02 }, { 2.0016489e-01, 7.4683083e-02 },
1258         { 1.9991942e-01, 7.5337720e-02 }, { 1.9967181e-01, 7.5991550e-02 },
1259         { 1.9942206e-01, 7.6644566e-02 }, { 1.9917017e-01, 7.7296762e-02 },
1260         { 1.9891615e-01, 7.7948130e-02 }, { 1.9866000e-01, 7.8598663e-02 },
1261         { 1.9840173e-01, 7.9248354e-02 }, { 1.9814132e-01, 7.9897197e-02 },
1262         { 1.9787880e-01, 8.0545184e-02 }, { 1.9761416e-01, 8.1192308e-02 },
1263         { 1.9734740e-01, 8.1838563e-02 }, { 1.9707853e-01, 8.2483942e-02 },
1264         { 1.9680754e-01, 8.3128437e-02 }, { 1.9653445e-01, 8.3772042e-02 },
1265         { 1.9625926e-01, 8.4414750e-02 }, { 1.9598196e-01, 8.5056553e-02 },
1266         { 1.9570257e-01, 8.5697446e-02 }, { 1.9542107e-01, 8.6337421e-02 },
1267         { 1.9513749e-01, 8.6976472e-02 }, { 1.9485182e-01, 8.7614591e-02 },
1268         { 1.9456405e-01, 8.8251772e-02 }, { 1.9427421e-01, 8.8888007e-02 },
1269         { 1.9398228e-01, 8.9523291e-02 }, { 1.9368828e-01, 9.0157616e-02 },
1270         { 1.9339221e-01, 9.0790976e-02 }, { 1.9309406e-01, 9.1423363e-02 },
1271         { 1.9279384e-01, 9.2054771e-02 }, { 1.9249156e-01, 9.2685193e-02 },
1272         { 1.9218722e-01, 9.3314623e-02 }, { 1.9188082e-01, 9.3943054e-02 },
1273         { 1.9157237e-01, 9.4570478e-02 }, { 1.9126186e-01, 9.5196890e-02 },
1274         { 1.9094930e-01, 9.5822282e-02 }, { 1.9063470e-01, 9.6446648e-02 },
1275         { 1.9031806e-01, 9.7069981e-02 }, { 1.8999938e-01, 9.7692274e-02 },
1276         { 1.8967867e-01, 9.8313522e-02 }, { 1.8935592e-01, 9.8933716e-02 },
1277         { 1.8903115e-01, 9.9552851e-02 }, { 1.8870435e-01, 1.0017092e-01 },
1278         { 1.8837554e-01, 1.0078792e-01 }, { 1.8804470e-01, 1.0140383e-01 },
1279         { 1.8771185e-01, 1.0201866e-01 }, { 1.8737699e-01, 1.0263240e-01 },
1280         { 1.8704012e-01, 1.0324504e-01 }, { 1.8670125e-01, 1.0385657e-01 },
1281         { 1.8636039e-01, 1.0446700e-01 }, { 1.8601752e-01, 1.0507630e-01 },
1282         { 1.8567266e-01, 1.0568448e-01 }, { 1.8532582e-01, 1.0629152e-01 },
1283         { 1.8497699e-01, 1.0689743e-01 }, { 1.8462618e-01, 1.0750219e-01 },
1284         { 1.8427339e-01, 1.0810580e-01 }, { 1.8391863e-01, 1.0870825e-01 },
1285         { 1.8356190e-01, 1.0930954e-01 }, { 1.8320320e-01, 1.0990966e-01 },
1286         { 1.8284254e-01, 1.1050860e-01 }, { 1.8247992e-01, 1.1110636e-01 },
1287         { 1.8211535e-01, 1.1170293e-01 }, { 1.8174883e-01, 1.1229830e-01 },
1288         { 1.8138036e-01, 1.1289247e-01 }, { 1.8100995e-01, 1.1348543e-01 },
1289         { 1.8063761e-01, 1.1407718e-01 }, { 1.8026332e-01, 1.1466770e-01 },
1290         { 1.7988711e-01, 1.1525699e-01 }, { 1.7950897e-01, 1.1584506e-01 },
1291         { 1.7912891e-01, 1.1643188e-01 }, { 1.7874692e-01, 1.1701745e-01 },
1292         { 1.7836303e-01, 1.1760177e-01 }, { 1.7797722e-01, 1.1818483e-01 },
1293         { 1.7758951e-01, 1.1876663e-01 }, { 1.7719990e-01, 1.1934715e-01 },
1294         { 1.7680839e-01, 1.1992639e-01 }, { 1.7641498e-01, 1.2050436e-01 },
1295         { 1.7601969e-01, 1.2108103e-01 }, { 1.7562251e-01, 1.2165640e-01 },
1296         { 1.7522345e-01, 1.2223047e-01 }, { 1.7482252e-01, 1.2280323e-01 },
1297         { 1.7441971e-01, 1.2337468e-01 }, { 1.7401503e-01, 1.2394480e-01 },
1298         { 1.7360849e-01, 1.2451360e-01 }, { 1.7320010e-01, 1.2508107e-01 },
1299         { 1.7278984e-01, 1.2564719e-01 }, { 1.7237774e-01, 1.2621197e-01 },
1300         { 1.7196379e-01, 1.2677540e-01 }, { 1.7154800e-01, 1.2733747e-01 },
1301         { 1.7113037e-01, 1.2789818e-01 }, { 1.7071091e-01, 1.2845751e-01 },
1302         { 1.7028962e-01, 1.2901548e-01 }, { 1.6986650e-01, 1.2957206e-01 },
1303         { 1.6944157e-01, 1.3012725e-01 }, { 1.6901482e-01, 1.3068105e-01 },
1304         { 1.6858627e-01, 1.3123344e-01 }, { 1.6815590e-01, 1.3178444e-01 },
1305         { 1.6772374e-01, 1.3233402e-01 }, { 1.6728978e-01, 1.3288219e-01 },
1306         { 1.6685403e-01, 1.3342893e-01 }, { 1.6641649e-01, 1.3397424e-01 },
1307         { 1.6597717e-01, 1.3451812e-01 }, { 1.6553608e-01, 1.3506056e-01 },
1308         { 1.6509321e-01, 1.3560155e-01 }, { 1.6464857e-01, 1.3614109e-01 },
1309         { 1.6420217e-01, 1.3667917e-01 }, { 1.6375401e-01, 1.3721579e-01 },
1310         { 1.6330409e-01, 1.3775093e-01 }, { 1.6285243e-01, 1.3828461e-01 },
1311         { 1.6239902e-01, 1.3881680e-01 }, { 1.6194388e-01, 1.3934750e-01 },
1312         { 1.6148700e-01, 1.3987672e-01 }, { 1.6102839e-01, 1.4040443e-01 },
1313         { 1.6056805e-01, 1.4093064e-01 }, { 1.6010600e-01, 1.4145535e-01 },
1314         { 1.5964223e-01, 1.4197853e-01 }, { 1.5917676e-01, 1.4250020e-01 },
1315         { 1.5870957e-01, 1.4302034e-01 }, { 1.5824069e-01, 1.4353895e-01 },
1316         { 1.5777011e-01, 1.4405602e-01 }, { 1.5729785e-01, 1.4457155e-01 },
1317         { 1.5682390e-01, 1.4508553e-01 }, { 1.5634827e-01, 1.4559796e-01 },
1318         { 1.5587096e-01, 1.4610883e-01 }, { 1.5539199e-01, 1.4661813e-01 },
1319         { 1.5491135e-01, 1.4712586e-01 }, { 1.5442905e-01, 1.4763202e-01 },
1320         { 1.5394510e-01, 1.4813660e-01 }, { 1.5345950e-01, 1.4863959e-01 },
1321         { 1.5297226e-01, 1.4914099e-01 }, { 1.5248338e-01, 1.4964079e-01 },
1322         { 1.5199287e-01, 1.5013899e-01 }, { 1.5150072e-01, 1.5063558e-01 },
1323         { 1.5100696e-01, 1.5113055e-01 }, { 1.5051158e-01, 1.5162391e-01 },
1324         { 1.5001459e-01, 1.5211565e-01 }, { 1.4951599e-01, 1.5260575e-01 },
1325         { 1.4901579e-01, 1.5309423e-01 }, { 1.4851399e-01, 1.5358106e-01 },
1326         { 1.4801060e-01, 1.5406625e-01 }, { 1.4750563e-01, 1.5454978e-01 },
1327         { 1.4699908e-01, 1.5503167e-01 }, { 1.4649095e-01, 1.5551189e-01 },
1328         { 1.4598126e-01, 1.5599045e-01 }, { 1.4547000e-01, 1.5646733e-01 },
1329         { 1.4495718e-01, 1.5694254e-01 }, { 1.4444281e-01, 1.5741607e-01 },
1330         { 1.4392690e-01, 1.5788792e-01 }, { 1.4340944e-01, 1.5835807e-01 },
1331         { 1.4289045e-01, 1.5882653e-01 }, { 1.4236993e-01, 1.5929328e-01 },
1332         { 1.4184788e-01, 1.5975834e-01 }, { 1.4132431e-01, 1.6022168e-01 },
1333         { 1.4079923e-01, 1.6068330e-01 }, { 1.4027264e-01, 1.6114320e-01 },
1334         { 1.3974455e-01, 1.6160138e-01 }, { 1.3921497e-01, 1.6205783e-01 },
1335         { 1.3868389e-01, 1.6251254e-01 }, { 1.3815133e-01, 1.6296551e-01 },
1336         { 1.3761729e-01, 1.6341673e-01 }, { 1.3708177e-01, 1.6386621e-01 },
1337         { 1.3654479e-01, 1.6431393e-01 }, { 1.3600634e-01, 1.6475989e-01 },
1338         { 1.3546644e-01, 1.6520409e-01 }, { 1.3492508e-01, 1.6564652e-01 },
1339         { 1.3438228e-01, 1.6608717e-01 }, { 1.3383805e-01, 1.6652605e-01 },
1340         { 1.3329238e-01, 1.6696314e-01 }, { 1.3274528e-01, 1.6739844e-01 },
1341         { 1.3219676e-01, 1.6783195e-01 }, { 1.3164682e-01, 1.6826366e-01 },
1342         { 1.3109548e-01, 1.6869358e-01 }, { 1.3054273e-01, 1.6912168e-01 },
1343         { 1.2998858e-01, 1.6954797e-01 }, { 1.2943304e-01, 1.6997245e-01 },
1344         { 1.2887611e-01, 1.7039511e-01 }, { 1.2831781e-01, 1.7081594e-01 },
1345         { 1.2775813e-01, 1.7123495e-01 }, { 1.2719708e-01, 1.7165212e-01 },
1346         { 1.2663467e-01, 1.7206745e-01 }, { 1.2607090e-01, 1.7248094e-01 },
1347         { 1.2550579e-01, 1.7289258e-01 }, { 1.2493933e-01, 1.7330237e-01 },
1348         { 1.2437153e-01, 1.7371030e-01 }, { 1.2380240e-01, 1.7411638e-01 },
1349         { 1.2323194e-01, 1.7452059e-01 }, { 1.2266016e-01, 1.7492293e-01 },
1350         { 1.2208708e-01, 1.7532339e-01 }, { 1.2151268e-01, 1.7572198e-01 },
1351         { 1.2093698e-01, 1.7611869e-01 }, { 1.2035999e-01, 1.7651351e-01 },
1352         { 1.1978170e-01, 1.7690644e-01 }, { 1.1920214e-01, 1.7729748e-01 },
1353         { 1.1862130e-01, 1.7768662e-01 }, { 1.1803918e-01, 1.7807385e-01 },
1354         { 1.1745581e-01, 1.7845918e-01 }, { 1.1687117e-01, 1.7884260e-01 },
1355         { 1.1628529e-01, 1.7922410e-01 }, { 1.1569816e-01, 1.7960368e-01 },
1356         { 1.1510979e-01, 1.7998134e-01 }, { 1.1452018e-01, 1.8035707e-01 },
1357         { 1.1392935e-01, 1.8073087e-01 }, { 1.1333730e-01, 1.8110274e-01 },
1358         { 1.1274404e-01, 1.8147266e-01 }, { 1.1214957e-01, 1.8184065e-01 },
1359         { 1.1155390e-01, 1.8220668e-01 }, { 1.1095703e-01, 1.8257076e-01 },
1360         { 1.1035898e-01, 1.8293289e-01 }, { 1.0975974e-01, 1.8329306e-01 },
1361         { 1.0915933e-01, 1.8365126e-01 }, { 1.0855775e-01, 1.8400750e-01 },
1362         { 1.0795501e-01, 1.8436177e-01 }, { 1.0735111e-01, 1.8471407e-01 },
1363         { 1.0674606e-01, 1.8506438e-01 }, { 1.0613987e-01, 1.8541272e-01 },
1364         { 1.0553254e-01, 1.8575906e-01 }, { 1.0492408e-01, 1.8610342e-01 },
1365         { 1.0431449e-01, 1.8644579e-01 }, { 1.0370379e-01, 1.8678616e-01 },
1366         { 1.0309198e-01, 1.8712453e-01 }, { 1.0247907e-01, 1.8746089e-01 },
1367         { 1.0186506e-01, 1.8779525e-01 }, { 1.0124995e-01, 1.8812760e-01 },
1368         { 1.0063377e-01, 1.8845793e-01 }, { 1.0001650e-01, 1.8878624e-01 },
1369         { 9.9398167e-02, 1.8911253e-01 }, { 9.8778766e-02, 1.8943680e-01 },
1370         { 9.8158308e-02, 1.8975904e-01 }, { 9.7536799e-02, 1.9007924e-01 },
1371         { 9.6914245e-02, 1.9039742e-01 }, { 9.6290653e-02, 1.9071355e-01 },
1372         { 9.5666030e-02, 1.9102763e-01 }, { 9.5040382e-02, 1.9133968e-01 },
1373         { 9.4413717e-02, 1.9164967e-01 }, { 9.3786040e-02, 1.9195761e-01 },
1374         { 9.3157359e-02, 1.9226350e-01 }, { 9.2527681e-02, 1.9256733e-01 },
1375         { 9.1897011e-02, 1.9286909e-01 }, { 9.1265358e-02, 1.9316879e-01 },
1376         { 9.0632727e-02, 1.9346642e-01 }, { 8.9999125e-02, 1.9376198e-01 },
1377         { 8.9364560e-02, 1.9405546e-01 }, { 8.8729037e-02, 1.9434687e-01 },
1378         { 8.8092565e-02, 1.9463619e-01 }, { 8.7455149e-02, 1.9492343e-01 },
1379         { 8.6816796e-02, 1.9520858e-01 }, { 8.6177514e-02, 1.9549164e-01 },
1380         { 8.5537309e-02, 1.9577261e-01 }, { 8.4896187e-02, 1.9605148e-01 },
1381         { 8.4254157e-02, 1.9632825e-01 }, { 8.3611224e-02, 1.9660292e-01 },
1382         { 8.2967396e-02, 1.9687549e-01 }, { 8.2322680e-02, 1.9714594e-01 },
1383         { 8.1677081e-02, 1.9741429e-01 }, { 8.1030608e-02, 1.9768052e-01 },
1384         { 8.0383268e-02, 1.9794463e-01 }, { 7.9735066e-02, 1.9820662e-01 },
1385         { 7.9086011e-02, 1.9846649e-01 }, { 7.8436108e-02, 1.9872424e-01 },
1386         { 7.7785366e-02, 1.9897986e-01 }, { 7.7133791e-02, 1.9923334e-01 },
1387         { 7.6481389e-02, 1.9948470e-01 }, { 7.5828169e-02, 1.9973391e-01 },
1388         { 7.5174136e-02, 1.9998099e-01 }, { 7.4519298e-02, 2.0022592e-01 },
1389         { 7.3863663e-02, 2.0046872e-01 }, { 7.3207236e-02, 2.0070936e-01 },
1390         { 7.2550025e-02, 2.0094785e-01 }, { 7.1892038e-02, 2.0118420e-01 },
1391         { 7.1233280e-02, 2.0141839e-01 }, { 7.0573760e-02, 2.0165042e-01 },
1392         { 6.9913484e-02, 2.0188029e-01 }, { 6.9252459e-02, 2.0210800e-01 },
1393         { 6.8590692e-02, 2.0233354e-01 }, { 6.7928191e-02, 2.0255692e-01 },
1394         { 6.7264963e-02, 2.0277813e-01 }, { 6.6601014e-02, 2.0299717e-01 },
1395         { 6.5936352e-02, 2.0321403e-01 }, { 6.5270983e-02, 2.0342872e-01 },
1396         { 6.4604916e-02, 2.0364123e-01 }, { 6.3938157e-02, 2.0385156e-01 },
1397         { 6.3270713e-02, 2.0405971e-01 }, { 6.2602592e-02, 2.0426567e-01 },
1398         { 6.1933800e-02, 2.0446944e-01 }, { 6.1264345e-02, 2.0467102e-01 },
1399         { 6.0594234e-02, 2.0487041e-01 }, { 5.9923474e-02, 2.0506761e-01 },
1400         { 5.9252072e-02, 2.0526261e-01 }, { 5.8580035e-02, 2.0545541e-01 },
1401         { 5.7907372e-02, 2.0564601e-01 }, { 5.7234088e-02, 2.0583441e-01 },
1402         { 5.6560191e-02, 2.0602061e-01 }, { 5.5885688e-02, 2.0620460e-01 },
1403         { 5.5210587e-02, 2.0638638e-01 }, { 5.4534895e-02, 2.0656595e-01 },
1404         { 5.3858619e-02, 2.0674331e-01 }, { 5.3181766e-02, 2.0691845e-01 },
1405         { 5.2504343e-02, 2.0709138e-01 }, { 5.1826358e-02, 2.0726209e-01 },
1406         { 5.1147818e-02, 2.0743058e-01 }, { 5.0468731e-02, 2.0759685e-01 },
1407         { 4.9789103e-02, 2.0776090e-01 }, { 4.9108941e-02, 2.0792272e-01 },
1408         { 4.8428254e-02, 2.0808232e-01 }, { 4.7747048e-02, 2.0823968e-01 },
1409         { 4.7065331e-02, 2.0839482e-01 }, { 4.6383110e-02, 2.0854773e-01 },
1410         { 4.5700392e-02, 2.0869840e-01 }, { 4.5017184e-02, 2.0884683e-01 },
1411         { 4.4333495e-02, 2.0899303e-01 }, { 4.3649330e-02, 2.0913699e-01 },
1412         { 4.2964699e-02, 2.0927872e-01 }, { 4.2279607e-02, 2.0941820e-01 },
1413         { 4.1594062e-02, 2.0955544e-01 }, { 4.0908072e-02, 2.0969043e-01 },
1414         { 4.0221644e-02, 2.0982318e-01 }, { 3.9534785e-02, 2.0995368e-01 },
1415         { 3.8847503e-02, 2.1008193e-01 }, { 3.8159805e-02, 2.1020793e-01 },
1416         { 3.7471698e-02, 2.1033169e-01 }, { 3.6783189e-02, 2.1045319e-01 },
1417         { 3.6094287e-02, 2.1057243e-01 }, { 3.5404998e-02, 2.1068942e-01 },
1418         { 3.4715331e-02, 2.1080416e-01 }, { 3.4025291e-02, 2.1091663e-01 },
1419         { 3.3334887e-02, 2.1102685e-01 }, { 3.2644126e-02, 2.1113481e-01 },
1420         { 3.1953015e-02, 2.1124051e-01 }, { 3.1261563e-02, 2.1134394e-01 },
1421         { 3.0569775e-02, 2.1144511e-01 }, { 2.9877660e-02, 2.1154402e-01 },
1422         { 2.9185225e-02, 2.1164066e-01 }, { 2.8492478e-02, 2.1173504e-01 },
1423         { 2.7799425e-02, 2.1182714e-01 }, { 2.7106075e-02, 2.1191698e-01 },
1424         { 2.6412434e-02, 2.1200455e-01 }, { 2.5718511e-02, 2.1208985e-01 },
1425         { 2.5024312e-02, 2.1217288e-01 }, { 2.4329845e-02, 2.1225363e-01 },
1426         { 2.3635117e-02, 2.1233212e-01 }, { 2.2940137e-02, 2.1240833e-01 },
1427         { 2.2244911e-02, 2.1248226e-01 }, { 2.1549446e-02, 2.1255392e-01 },
1428         { 2.0853751e-02, 2.1262330e-01 }, { 2.0157832e-02, 2.1269040e-01 },
1429         { 1.9461698e-02, 2.1275523e-01 }, { 1.8765355e-02, 2.1281778e-01 },
1430         { 1.8068811e-02, 2.1287805e-01 }, { 1.7372074e-02, 2.1293604e-01 },
1431         { 1.6675151e-02, 2.1299175e-01 }, { 1.5978049e-02, 2.1304518e-01 },
1432         { 1.5280776e-02, 2.1309633e-01 }, { 1.4583339e-02, 2.1314519e-01 },
1433         { 1.3885746e-02, 2.1319177e-01 }, { 1.3188005e-02, 2.1323607e-01 },
1434         { 1.2490122e-02, 2.1327809e-01 }, { 1.1792105e-02, 2.1331782e-01 },
1435         { 1.1093963e-02, 2.1335527e-01 }, { 1.0395701e-02, 2.1339043e-01 },
1436         { 9.6973279e-03, 2.1342331e-01 }, { 8.9988511e-03, 2.1345390e-01 },
1437         { 8.3002779e-03, 2.1348220e-01 }, { 7.6016158e-03, 2.1350822e-01 },
1438         { 6.9028723e-03, 2.1353196e-01 }, { 6.2040549e-03, 2.1355340e-01 },
1439         { 5.5051711e-03, 2.1357256e-01 }, { 4.8062283e-03, 2.1358943e-01 },
1440         { 4.1072340e-03, 2.1360402e-01 }, { 3.4081957e-03, 2.1361632e-01 },
1441         { 2.7091210e-03, 2.1362633e-01 }, { 2.0100172e-03, 2.1363405e-01 },
1442         { 1.3108919e-03, 2.1363948e-01 }, { 6.1175255e-04, 2.1364263e-01 },
1443     }
1444 };
1445 
1446 #endif /* LC3_PLUS_HR */
1447 
1448 const struct lc3_mdct_rot_def * lc3_mdct_rot[LC3_NUM_DT][LC3_NUM_SRATE] = {
1449 
1450     [LC3_DT_2M5] = {
1451         LC3_IF_PLUS(&mdct_rot_40, NULL),
1452         LC3_IF_PLUS(&mdct_rot_80, NULL), &mdct_rot_120,
1453         &mdct_rot_160, &mdct_rot_240, &mdct_rot_240, &mdct_rot_480 },
1454 
1455     [LC3_DT_5M ] = {
1456         LC3_IF_PLUS(&mdct_rot_80, NULL), &mdct_rot_160, &mdct_rot_240,
1457         &mdct_rot_320, &mdct_rot_480, &mdct_rot_480, &mdct_rot_960 },
1458 
1459     [LC3_DT_7M5] = {
1460         &mdct_rot_120, &mdct_rot_240, &mdct_rot_360,
1461         &mdct_rot_480, &mdct_rot_720 },
1462 
1463     [LC3_DT_10M] = {
1464         &mdct_rot_160, &mdct_rot_320, &mdct_rot_480,
1465         &mdct_rot_640, &mdct_rot_960, &mdct_rot_960,
1466         LC3_IF_PLUS_HR(&mdct_rot_1920, NULL) },
1467 
1468 };
1469 
1470 
1471 /**
1472  * Low delay MDCT windows
1473  */
1474 
1475 #define __LC3_MDCT_WIN_LEN(_dt_us, _sr_hz) \
1476   ( LC3_NS(_dt_us, _sr_hz) + LC3_ND(_dt_us, _sr_hz) )
1477 
1478 #if LC3_PLUS
1479 
1480 static const float mdct_win_2m5_8k[__LC3_MDCT_WIN_LEN(2500, 8000)] = {
1481      6.73791440e-03,  2.73228958e-02,  6.16356097e-02,  1.11912504e-01,
1482      1.78705350e-01,  2.60752499e-01,  3.54977638e-01,  4.56769675e-01,
1483      5.60523927e-01,  6.60366535e-01,  7.50943422e-01,  8.28138232e-01,
1484      8.89585018e-01,  9.34874773e-01,  9.65405703e-01,  9.83902633e-01,
1485      9.93718088e-01,  9.98098731e-01,  9.99626637e-01,  9.99977291e-01,
1486      9.99977291e-01,  9.99626637e-01,  9.98098731e-01,  9.93718088e-01,
1487      9.83902633e-01,  9.65405703e-01,  9.34874773e-01,  8.89585018e-01,
1488      8.28138232e-01,  7.50943422e-01,  6.60366535e-01,  5.60523927e-01,
1489      4.56769675e-01,  3.54977638e-01,  2.60752499e-01,  1.78705350e-01,
1490      1.11912504e-01,  6.16356097e-02,  2.73228958e-02,  6.73791440e-03,
1491 };
1492 
1493 static const float mdct_win_2m5_16k[__LC3_MDCT_WIN_LEN(2500, 16000)] = {
1494      4.76441615e-03,  1.20463628e-02,  2.22639654e-02,  3.58022311e-02,
1495      5.29905465e-02,  7.40851840e-02,  9.92538592e-02,  1.28563118e-01,
1496      1.61969244e-01,  1.99313241e-01,  2.40320282e-01,  2.84603818e-01,
1497      3.31674323e-01,  3.80952458e-01,  4.31786202e-01,  4.83471316e-01,
1498      5.35274327e-01,  5.86457098e-01,  6.36301916e-01,  6.84136019e-01,
1499      7.29354445e-01,  7.71440129e-01,  8.09980291e-01,  8.44678279e-01,
1500      8.75360204e-01,  9.01975984e-01,  9.24594627e-01,  9.43393949e-01,
1501      9.58645225e-01,  9.70693650e-01,  9.79935831e-01,  9.86795807e-01,
1502      9.91701328e-01,  9.95062145e-01,  9.97251917e-01,  9.98595014e-01,
1503      9.99358895e-01,  9.99752127e-01,  9.99927440e-01,  9.99988650e-01,
1504      9.99988650e-01,  9.99927440e-01,  9.99752127e-01,  9.99358895e-01,
1505      9.98595014e-01,  9.97251917e-01,  9.95062145e-01,  9.91701328e-01,
1506      9.86795807e-01,  9.79935831e-01,  9.70693650e-01,  9.58645225e-01,
1507      9.43393949e-01,  9.24594627e-01,  9.01975984e-01,  8.75360204e-01,
1508      8.44678279e-01,  8.09980291e-01,  7.71440129e-01,  7.29354445e-01,
1509      6.84136019e-01,  6.36301916e-01,  5.86457098e-01,  5.35274327e-01,
1510      4.83471316e-01,  4.31786202e-01,  3.80952458e-01,  3.31674323e-01,
1511      2.84603818e-01,  2.40320282e-01,  1.99313241e-01,  1.61969244e-01,
1512      1.28563118e-01,  9.92538592e-02,  7.40851840e-02,  5.29905465e-02,
1513      3.58022311e-02,  2.22639654e-02,  1.20463628e-02,  4.76441615e-03,
1514 };
1515 
1516 static const float mdct_win_2m5_24k[__LC3_MDCT_WIN_LEN(2500, 24000)] = {
1517      3.89013421e-03,  8.20259508e-03,  1.37023556e-02,  2.05296853e-02,
1518      2.88030773e-02,  3.86278514e-02,  5.00956972e-02,  6.32829654e-02,
1519      7.82488109e-02,  9.50334651e-02,  1.13656749e-01,  1.34116888e-01,
1520      1.56389671e-01,  1.80427981e-01,  2.06161727e-01,  2.33498181e-01,
1521      2.62322720e-01,  2.92499991e-01,  3.23875450e-01,  3.56277288e-01,
1522      3.89518694e-01,  4.23400416e-01,  4.57713594e-01,  4.92242792e-01,
1523      5.26769190e-01,  5.61073868e-01,  5.94941120e-01,  6.28161737e-01,
1524      6.60536189e-01,  6.91877646e-01,  7.22014766e-01,  7.50794208e-01,
1525      7.78082793e-01,  8.03769285e-01,  8.27765737e-01,  8.50008365e-01,
1526      8.70457945e-01,  8.89099694e-01,  9.05942652e-01,  9.21018560e-01,
1527      9.34380273e-01,  9.46099727e-01,  9.56265526e-01,  9.64980202e-01,
1528      9.72357239e-01,  9.78517931e-01,  9.83588198e-01,  9.87695434e-01,
1529      9.90965519e-01,  9.93520077e-01,  9.95474078e-01,  9.96933861e-01,
1530      9.97995624e-01,  9.98744422e-01,  9.99253666e-01,  9.99585105e-01,
1531      9.99789244e-01,  9.99906118e-01,  9.99966358e-01,  9.99992433e-01,
1532      9.99992433e-01,  9.99966358e-01,  9.99906118e-01,  9.99789244e-01,
1533      9.99585105e-01,  9.99253666e-01,  9.98744422e-01,  9.97995624e-01,
1534      9.96933861e-01,  9.95474078e-01,  9.93520077e-01,  9.90965519e-01,
1535      9.87695434e-01,  9.83588198e-01,  9.78517931e-01,  9.72357239e-01,
1536      9.64980202e-01,  9.56265526e-01,  9.46099727e-01,  9.34380273e-01,
1537      9.21018560e-01,  9.05942652e-01,  8.89099694e-01,  8.70457945e-01,
1538      8.50008365e-01,  8.27765737e-01,  8.03769285e-01,  7.78082793e-01,
1539      7.50794208e-01,  7.22014766e-01,  6.91877646e-01,  6.60536189e-01,
1540      6.28161737e-01,  5.94941120e-01,  5.61073868e-01,  5.26769190e-01,
1541      4.92242792e-01,  4.57713594e-01,  4.23400416e-01,  3.89518694e-01,
1542      3.56277288e-01,  3.23875450e-01,  2.92499991e-01,  2.62322720e-01,
1543      2.33498181e-01,  2.06161727e-01,  1.80427981e-01,  1.56389671e-01,
1544      1.34116888e-01,  1.13656749e-01,  9.50334651e-02,  7.82488109e-02,
1545      6.32829654e-02,  5.00956972e-02,  3.86278514e-02,  2.88030773e-02,
1546      2.05296853e-02,  1.37023556e-02,  8.20259508e-03,  3.89013421e-03,
1547 };
1548 
1549 static const float mdct_win_2m5_32k[__LC3_MDCT_WIN_LEN(2500, 32000)] = {
1550      3.36895835e-03,  6.45555741e-03,  1.01430808e-02,  1.45212685e-02,
1551      1.96507673e-02,  2.55835280e-02,  3.23662853e-02,  4.00411787e-02,
1552      4.86456418e-02,  5.82120708e-02,  6.87674290e-02,  8.03328498e-02,
1553      9.29232660e-02,  1.06547081e-01,  1.21205893e-01,  1.36894275e-01,
1554      1.53599623e-01,  1.71302066e-01,  1.89974455e-01,  2.09582413e-01,
1555      2.30084468e-01,  2.51432255e-01,  2.73570790e-01,  2.96438816e-01,
1556      3.19969212e-01,  3.44089476e-01,  3.68722258e-01,  3.93785956e-01,
1557      4.19195353e-01,  4.44862309e-01,  4.70696475e-01,  4.96606050e-01,
1558      5.22498546e-01,  5.48281575e-01,  5.73863636e-01,  5.99154896e-01,
1559      6.24067964e-01,  6.48518633e-01,  6.72426605e-01,  6.95716161e-01,
1560      7.18316799e-01,  7.40163807e-01,  7.61198780e-01,  7.81370064e-01,
1561      8.00633131e-01,  8.18950870e-01,  8.36293796e-01,  8.52640176e-01,
1562      8.67976054e-01,  8.82295205e-01,  8.95598976e-01,  9.07896060e-01,
1563      9.19202165e-01,  9.29539615e-01,  9.38936863e-01,  9.47427941e-01,
1564      9.55051846e-01,  9.61851871e-01,  9.67874900e-01,  9.73170662e-01,
1565      9.77790986e-01,  9.81789034e-01,  9.85218555e-01,  9.88133167e-01,
1566      9.90585664e-01,  9.92627388e-01,  9.94307658e-01,  9.95673273e-01,
1567      9.96768094e-01,  9.97632718e-01,  9.98304240e-01,  9.98816100e-01,
1568      9.99198030e-01,  9.99476075e-01,  9.99672688e-01,  9.99806905e-01,
1569      9.99894561e-01,  9.99948558e-01,  9.99979163e-01,  9.99994325e-01,
1570      9.99994325e-01,  9.99979163e-01,  9.99948558e-01,  9.99894561e-01,
1571      9.99806905e-01,  9.99672688e-01,  9.99476075e-01,  9.99198030e-01,
1572      9.98816100e-01,  9.98304240e-01,  9.97632718e-01,  9.96768094e-01,
1573      9.95673273e-01,  9.94307658e-01,  9.92627388e-01,  9.90585664e-01,
1574      9.88133167e-01,  9.85218555e-01,  9.81789034e-01,  9.77790986e-01,
1575      9.73170662e-01,  9.67874900e-01,  9.61851871e-01,  9.55051846e-01,
1576      9.47427941e-01,  9.38936863e-01,  9.29539615e-01,  9.19202165e-01,
1577      9.07896060e-01,  8.95598976e-01,  8.82295205e-01,  8.67976054e-01,
1578      8.52640176e-01,  8.36293796e-01,  8.18950870e-01,  8.00633131e-01,
1579      7.81370064e-01,  7.61198780e-01,  7.40163807e-01,  7.18316799e-01,
1580      6.95716161e-01,  6.72426605e-01,  6.48518633e-01,  6.24067964e-01,
1581      5.99154896e-01,  5.73863636e-01,  5.48281575e-01,  5.22498546e-01,
1582      4.96606050e-01,  4.70696475e-01,  4.44862309e-01,  4.19195353e-01,
1583      3.93785956e-01,  3.68722258e-01,  3.44089476e-01,  3.19969212e-01,
1584      2.96438816e-01,  2.73570790e-01,  2.51432255e-01,  2.30084468e-01,
1585      2.09582413e-01,  1.89974455e-01,  1.71302066e-01,  1.53599623e-01,
1586      1.36894275e-01,  1.21205893e-01,  1.06547081e-01,  9.29232660e-02,
1587      8.03328498e-02,  6.87674290e-02,  5.82120708e-02,  4.86456418e-02,
1588      4.00411787e-02,  3.23662853e-02,  2.55835280e-02,  1.96507673e-02,
1589      1.45212685e-02,  1.01430808e-02,  6.45555741e-03,  3.36895835e-03,
1590 };
1591 
1592 static const float mdct_win_2m5_48k[__LC3_MDCT_WIN_LEN(2500, 48000)] = {
1593      2.75074638e-03,  4.77524515e-03,  6.99126548e-03,  9.47011816e-03,
1594      1.22441576e-02,  1.53355947e-02,  1.87626677e-02,  2.25415434e-02,
1595      2.66870142e-02,  3.12127707e-02,  3.61315008e-02,  4.14549100e-02,
1596      4.71937052e-02,  5.33575588e-02,  5.99550649e-02,  6.69936920e-02,
1597      7.44797342e-02,  8.24182658e-02,  9.08130967e-02,  9.96667332e-02,
1598      1.08980342e-01,  1.18753719e-01,  1.28985265e-01,  1.39671964e-01,
1599      1.50809372e-01,  1.62391604e-01,  1.74411338e-01,  1.86859813e-01,
1600      1.99726844e-01,  2.13000841e-01,  2.26668825e-01,  2.40716465e-01,
1601      2.55128110e-01,  2.69886836e-01,  2.84974488e-01,  3.00371741e-01,
1602      3.16058154e-01,  3.32012241e-01,  3.48211540e-01,  3.64632687e-01,
1603      3.81251499e-01,  3.98043054e-01,  4.14981787e-01,  4.32041576e-01,
1604      4.49195839e-01,  4.66417630e-01,  4.83679744e-01,  5.00954812e-01,
1605      5.18215407e-01,  5.35434150e-01,  5.52583807e-01,  5.69637402e-01,
1606      5.86568309e-01,  6.03350364e-01,  6.19957957e-01,  6.36366131e-01,
1607      6.52550680e-01,  6.68488237e-01,  6.84156362e-01,  6.99533624e-01,
1608      7.14599684e-01,  7.29335364e-01,  7.43722715e-01,  7.57745082e-01,
1609      7.71387158e-01,  7.84635031e-01,  7.97476230e-01,  8.09899758e-01,
1610      8.21896119e-01,  8.33457339e-01,  8.44576978e-01,  8.55250134e-01,
1611      8.65473441e-01,  8.75245054e-01,  8.84564635e-01,  8.93433321e-01,
1612      9.01853689e-01,  9.09829718e-01,  9.17366735e-01,  9.24471360e-01,
1613      9.31151439e-01,  9.37415982e-01,  9.43275077e-01,  9.48739819e-01,
1614      9.53822215e-01,  9.58535102e-01,  9.62892048e-01,  9.66907259e-01,
1615      9.70595479e-01,  9.73971891e-01,  9.77052016e-01,  9.79851615e-01,
1616      9.82386589e-01,  9.84672882e-01,  9.86726389e-01,  9.88562863e-01,
1617      9.90197830e-01,  9.91646510e-01,  9.92923740e-01,  9.94043905e-01,
1618      9.95020875e-01,  9.95867954e-01,  9.96597827e-01,  9.97222527e-01,
1619      9.97753399e-01,  9.98201077e-01,  9.98575471e-01,  9.98885756e-01,
1620      9.99140376e-01,  9.99347044e-01,  9.99512763e-01,  9.99643838e-01,
1621      9.99745907e-01,  9.99823966e-01,  9.99882403e-01,  9.99925037e-01,
1622      9.99955157e-01,  9.99975561e-01,  9.99988598e-01,  9.99996217e-01,
1623      9.99996217e-01,  9.99988598e-01,  9.99975561e-01,  9.99955157e-01,
1624      9.99925037e-01,  9.99882403e-01,  9.99823966e-01,  9.99745907e-01,
1625      9.99643838e-01,  9.99512763e-01,  9.99347044e-01,  9.99140376e-01,
1626      9.98885756e-01,  9.98575471e-01,  9.98201077e-01,  9.97753399e-01,
1627      9.97222527e-01,  9.96597827e-01,  9.95867954e-01,  9.95020875e-01,
1628      9.94043905e-01,  9.92923740e-01,  9.91646510e-01,  9.90197830e-01,
1629      9.88562863e-01,  9.86726389e-01,  9.84672882e-01,  9.82386589e-01,
1630      9.79851615e-01,  9.77052016e-01,  9.73971891e-01,  9.70595479e-01,
1631      9.66907259e-01,  9.62892048e-01,  9.58535102e-01,  9.53822215e-01,
1632      9.48739819e-01,  9.43275077e-01,  9.37415982e-01,  9.31151439e-01,
1633      9.24471360e-01,  9.17366735e-01,  9.09829718e-01,  9.01853689e-01,
1634      8.93433321e-01,  8.84564635e-01,  8.75245054e-01,  8.65473441e-01,
1635      8.55250134e-01,  8.44576978e-01,  8.33457339e-01,  8.21896119e-01,
1636      8.09899758e-01,  7.97476230e-01,  7.84635031e-01,  7.71387158e-01,
1637      7.57745082e-01,  7.43722715e-01,  7.29335364e-01,  7.14599684e-01,
1638      6.99533624e-01,  6.84156362e-01,  6.68488237e-01,  6.52550680e-01,
1639      6.36366131e-01,  6.19957957e-01,  6.03350364e-01,  5.86568309e-01,
1640      5.69637402e-01,  5.52583807e-01,  5.35434150e-01,  5.18215407e-01,
1641      5.00954812e-01,  4.83679744e-01,  4.66417630e-01,  4.49195839e-01,
1642      4.32041576e-01,  4.14981787e-01,  3.98043054e-01,  3.81251499e-01,
1643      3.64632687e-01,  3.48211540e-01,  3.32012241e-01,  3.16058154e-01,
1644      3.00371741e-01,  2.84974488e-01,  2.69886836e-01,  2.55128110e-01,
1645      2.40716465e-01,  2.26668825e-01,  2.13000841e-01,  1.99726844e-01,
1646      1.86859813e-01,  1.74411338e-01,  1.62391604e-01,  1.50809372e-01,
1647      1.39671964e-01,  1.28985265e-01,  1.18753719e-01,  1.08980342e-01,
1648      9.96667332e-02,  9.08130967e-02,  8.24182658e-02,  7.44797342e-02,
1649      6.69936920e-02,  5.99550649e-02,  5.33575588e-02,  4.71937052e-02,
1650      4.14549100e-02,  3.61315008e-02,  3.12127707e-02,  2.66870142e-02,
1651      2.25415434e-02,  1.87626677e-02,  1.53355947e-02,  1.22441576e-02,
1652      9.47011816e-03,  6.99126548e-03,  4.77524515e-03,  2.75074638e-03,
1653 };
1654 
1655 #if LC3_PLUS_HR
1656 
1657 static const float mdct_win_2m5_48k_hr[__LC3_MDCT_WIN_LEN(2500, 48000)] = {
1658      1.92887526e-07,  1.26862312e-06,  3.73694297e-06,  8.64938647e-06,
1659      1.75249988e-05,  3.25100409e-05,  5.65499504e-05,  9.35865319e-05,
1660      1.48780979e-04,  2.28761899e-04,  3.41896375e-04,  4.98580979e-04,
1661      7.11548259e-04,  9.96182440e-04,  1.37083745e-03,  1.85714674e-03,
1662      2.48031598e-03,  3.26938415e-03,  4.25744150e-03,  5.48178842e-03,
1663      6.98402245e-03,  8.81003775e-03,  1.10099232e-02,  1.36377569e-02,
1664      1.67512707e-02,  2.04114113e-02,  2.46817525e-02,  2.96278261e-02,
1665      3.53163108e-02,  4.18141559e-02,  4.91876006e-02,  5.75011559e-02,
1666      6.68165460e-02,  7.71916136e-02,  8.86792317e-02,  1.01326235e-01,
1667      1.15172401e-01,  1.30249396e-01,  1.46579877e-01,  1.64176553e-01,
1668      1.83041364e-01,  2.03164726e-01,  2.24524856e-01,  2.47087196e-01,
1669      2.70803988e-01,  2.95613915e-01,  3.21442008e-01,  3.48199695e-01,
1670      3.75785023e-01,  4.04083431e-01,  4.32968378e-01,  4.62302625e-01,
1671      4.91939783e-01,  5.21726012e-01,  5.51502347e-01,  5.81106782e-01,
1672      6.10377192e-01,  6.39154077e-01,  6.67283058e-01,  6.94617987e-01,
1673      7.21023440e-01,  7.46377110e-01,  7.70571768e-01,  7.93517113e-01,
1674      8.15140784e-01,  8.35389018e-01,  8.54227006e-01,  8.71638596e-01,
1675      8.87625158e-01,  9.02204990e-01,  9.15411413e-01,  9.27291155e-01,
1676      9.37902570e-01,  9.47313428e-01,  9.55598950e-01,  9.62839723e-01,
1677      9.69119847e-01,  9.74524975e-01,  9.79140759e-01,  9.83051181e-01,
1678      9.86337543e-01,  9.89076972e-01,  9.91342008e-01,  9.93199587e-01,
1679      9.94710743e-01,  9.95930433e-01,  9.96907234e-01,  9.97683644e-01,
1680      9.98296261e-01,  9.98776138e-01,  9.99149203e-01,  9.99436796e-01,
1681      9.99656200e-01,  9.99821365e-01,  9.99943137e-01,  1.00003016e+00,
1682      1.00008917e+00,  1.00012529e+00,  1.00014281e+00,  1.00014508e+00,
1683      1.00013494e+00,  1.00011492e+00,  1.00008726e+00,  1.00005412e+00,
1684      1.00001764e+00,  9.99979734e-01,  9.99942362e-01,  9.99907196e-01,
1685      9.99876022e-01,  9.99850094e-01,  9.99830663e-01,  9.99818563e-01,
1686      9.99814391e-01,  9.99818325e-01,  9.99830186e-01,  9.99849498e-01,
1687      9.99875486e-01,  9.99906898e-01,  9.99942422e-01,  9.99980509e-01,
1688      1.00001943e+00,  1.00005758e+00,  1.00009310e+00,  1.00012457e+00,
1689      1.00015044e+00,  1.00016987e+00,  1.00018167e+00,  1.00018561e+00,
1690      1.00018144e+00,  1.00016928e+00,  1.00014985e+00,  1.00012374e+00,
1691      1.00009227e+00,  1.00005662e+00,  1.00001836e+00,  9.99978960e-01,
1692      9.99939740e-01,  9.99902129e-01,  9.99867082e-01,  9.99835134e-01,
1693      9.99806285e-01,  9.99779761e-01,  9.99753773e-01,  9.99725282e-01,
1694      9.99689877e-01,  9.99641180e-01,  9.99570787e-01,  9.99467850e-01,
1695      9.99318600e-01,  9.99105930e-01,  9.98809040e-01,  9.98403072e-01,
1696      9.97858584e-01,  9.97141182e-01,  9.96211350e-01,  9.95023966e-01,
1697      9.93528485e-01,  9.91668522e-01,  9.89382327e-01,  9.86602664e-01,
1698      9.83257711e-01,  9.79271173e-01,  9.74563420e-01,  9.69052374e-01,
1699      9.62654769e-01,  9.55287457e-01,  9.46869195e-01,  9.37322080e-01,
1700      9.26573634e-01,  9.14558887e-01,  9.01221931e-01,  8.86518419e-01,
1701      8.70416999e-01,  8.52901220e-01,  8.33971083e-01,  8.13643873e-01,
1702      7.91955233e-01,  7.68959403e-01,  7.44728804e-01,  7.19353676e-01,
1703      6.92940772e-01,  6.65611804e-01,  6.37501359e-01,  6.08754635e-01,
1704      5.79524696e-01,  5.49970031e-01,  5.20251453e-01,  4.90529478e-01,
1705      4.60961968e-01,  4.31701392e-01,  4.02893007e-01,  3.74672860e-01,
1706      3.47166419e-01,  3.20487350e-01,  2.94736743e-01,  2.70002425e-01,
1707      2.46358722e-01,  2.23866433e-01,  2.02572897e-01,  1.82512373e-01,
1708      1.63706377e-01,  1.46164373e-01,  1.29884347e-01,  1.14853561e-01,
1709      1.01049446e-01,  8.84404257e-02,  7.69868940e-02,  6.66421950e-02,
1710      5.73536530e-02,  4.90636751e-02,  4.17107828e-02,  3.52307148e-02,
1711      2.95574907e-02,  2.46244166e-02,  2.03650557e-02,  1.67141166e-02,
1712      1.36082442e-02,  1.09867034e-02,  8.79194960e-03,  6.97008055e-03,
1713      5.47116203e-03,  4.24943818e-03,  3.26343346e-03,  2.47595203e-03,
1714      1.85399409e-03,  1.36859657e-03,  9.94618051e-04,  7.10477470e-04,
1715      4.97864152e-04,  3.41428356e-04,  2.28464938e-04,  1.48598730e-04,
1716      9.34789787e-05,  5.64894217e-05,  3.24779357e-05,  1.75092246e-05,
1717      8.64240701e-06,  3.73430225e-06,  1.26786131e-06,  1.92776696e-07,
1718 };
1719 
1720 static const float mdct_win_2m5_96k_hr[__LC3_MDCT_WIN_LEN(2500, 96000)] = {
1721      1.36335345e-07,  4.57767612e-07,  9.97567554e-07,  1.84077624e-06,
1722      3.09224833e-06,  4.88094383e-06,  7.36381799e-06,  1.07300075e-05,
1723      1.52053863e-05,  2.10575054e-05,  2.86009363e-05,  3.82030121e-05,
1724      5.02899893e-05,  6.53535899e-05,  8.39579952e-05,  1.06747175e-04,
1725      1.34452668e-04,  1.67901671e-04,  2.08025551e-04,  2.55868625e-04,
1726      3.12597229e-04,  3.79509147e-04,  4.58043127e-04,  5.49788703e-04,
1727      6.56496093e-04,  7.80086033e-04,  9.22659819e-04,  1.08650920e-03,
1728      1.27412600e-03,  1.48821168e-03,  1.73168664e-03,  2.00769864e-03,
1729      2.31963093e-03,  2.67111068e-03,  3.06601473e-03,  3.50847607e-03,
1730      4.00288915e-03,  4.55391267e-03,  5.16647473e-03,  5.84577024e-03,
1731      6.59726607e-03,  7.42669497e-03,  8.34005512e-03,  9.34360363e-03,
1732      1.04438523e-02,  1.16475578e-02,  1.29617099e-02,  1.43935224e-02,
1733      1.59504171e-02,  1.76400058e-02,  1.94700807e-02,  2.14485861e-02,
1734      2.35835947e-02,  2.58832965e-02,  2.83559617e-02,  3.10099237e-02,
1735      3.38535421e-02,  3.68951820e-02,  4.01431806e-02,  4.36058082e-02,
1736      4.72912528e-02,  5.12075722e-02,  5.53626679e-02,  5.97642474e-02,
1737      6.44197986e-02,  6.93365484e-02,  7.45214298e-02,  7.99810365e-02,
1738      8.57216269e-02,  9.17490497e-02,  9.80687290e-02,  1.04685634e-01,
1739      1.11604236e-01,  1.18828513e-01,  1.26361862e-01,  1.34207115e-01,
1740      1.42366499e-01,  1.50841609e-01,  1.59633383e-01,  1.68742076e-01,
1741      1.78167209e-01,  1.87907621e-01,  1.97961360e-01,  2.08325714e-01,
1742      2.18997195e-01,  2.29971498e-01,  2.41243511e-01,  2.52807260e-01,
1743      2.64655977e-01,  2.76782036e-01,  2.89176911e-01,  3.01831275e-01,
1744      3.14734906e-01,  3.27876776e-01,  3.41245025e-01,  3.54826927e-01,
1745      3.68608981e-01,  3.82576853e-01,  3.96715522e-01,  4.11009163e-01,
1746      4.25441355e-01,  4.39994961e-01,  4.54652220e-01,  4.69394863e-01,
1747      4.84204173e-01,  4.99060899e-01,  5.13945460e-01,  5.28838038e-01,
1748      5.43718576e-01,  5.58566749e-01,  5.73362410e-01,  5.88085234e-01,
1749      6.02715075e-01,  6.17232025e-01,  6.31616414e-01,  6.45848989e-01,
1750      6.59910858e-01,  6.73783839e-01,  6.87450290e-01,  7.00893283e-01,
1751      7.14096606e-01,  7.27045000e-01,  7.39724100e-01,  7.52120554e-01,
1752      7.64221907e-01,  7.76016891e-01,  7.87495315e-01,  7.98648119e-01,
1753      8.09467375e-01,  8.19946468e-01,  8.30079675e-01,  8.39862764e-01,
1754      8.49292517e-01,  8.58366787e-01,  8.67084682e-01,  8.75446379e-01,
1755      8.83453131e-01,  8.91107082e-01,  8.98411512e-01,  9.05370474e-01,
1756      9.11989033e-01,  9.18272913e-01,  9.24228728e-01,  9.29863691e-01,
1757      9.35185611e-01,  9.40202892e-01,  9.44924474e-01,  9.49359715e-01,
1758      9.53518271e-01,  9.57410157e-01,  9.61045623e-01,  9.64435160e-01,
1759      9.67589259e-01,  9.70518589e-01,  9.73233819e-01,  9.75745618e-01,
1760      9.78064537e-01,  9.80201006e-01,  9.82165277e-01,  9.83967602e-01,
1761      9.85617757e-01,  9.87125397e-01,  9.88499880e-01,  9.89750206e-01,
1762      9.90885139e-01,  9.91913080e-01,  9.92841959e-01,  9.93679583e-01,
1763      9.94433045e-01,  9.95109439e-01,  9.95715141e-01,  9.96256351e-01,
1764      9.96738791e-01,  9.97167945e-01,  9.97548699e-01,  9.97885823e-01,
1765      9.98183608e-01,  9.98446047e-01,  9.98676717e-01,  9.98879075e-01,
1766      9.99056041e-01,  9.99210536e-01,  9.99344945e-01,  9.99461591e-01,
1767      9.99562562e-01,  9.99649644e-01,  9.99724448e-01,  9.99788404e-01,
1768      9.99842882e-01,  9.99888957e-01,  9.99927700e-01,  9.99959946e-01,
1769      9.99986470e-01,  1.00000799e+00,  1.00002515e+00,  1.00003839e+00,
1770      1.00004816e+00,  1.00005496e+00,  1.00005913e+00,  1.00006092e+00,
1771      1.00006080e+00,  1.00005877e+00,  1.00005519e+00,  1.00005031e+00,
1772      1.00004435e+00,  1.00003731e+00,  1.00002968e+00,  1.00002134e+00,
1773      1.00001252e+00,  1.00000334e+00,  9.99994040e-01,  9.99984682e-01,
1774      9.99975443e-01,  9.99966383e-01,  9.99957621e-01,  9.99949336e-01,
1775      9.99941528e-01,  9.99934316e-01,  9.99927878e-01,  9.99922156e-01,
1776      9.99917269e-01,  9.99913335e-01,  9.99910295e-01,  9.99908268e-01,
1777      9.99907196e-01,  9.99907196e-01,  9.99908149e-01,  9.99910176e-01,
1778      9.99913156e-01,  9.99917090e-01,  9.99921918e-01,  9.99927640e-01,
1779      9.99934137e-01,  9.99941349e-01,  9.99949217e-01,  9.99957681e-01,
1780      9.99966562e-01,  9.99975860e-01,  9.99985397e-01,  9.99995112e-01,
1781      1.00000489e+00,  1.00001454e+00,  1.00002408e+00,  1.00003338e+00,
1782      1.00004232e+00,  1.00005078e+00,  1.00005865e+00,  1.00006592e+00,
1783      1.00007236e+00,  1.00007808e+00,  1.00008297e+00,  1.00008690e+00,
1784      1.00008988e+00,  1.00009179e+00,  1.00009286e+00,  1.00009274e+00,
1785      1.00009179e+00,  1.00008965e+00,  1.00008667e+00,  1.00008261e+00,
1786      1.00007772e+00,  1.00007200e+00,  1.00006545e+00,  1.00005817e+00,
1787      1.00005031e+00,  1.00004172e+00,  1.00003278e+00,  1.00002337e+00,
1788      1.00001371e+00,  1.00000370e+00,  9.99993682e-01,  9.99983490e-01,
1789      9.99973357e-01,  9.99963224e-01,  9.99953210e-01,  9.99943376e-01,
1790      9.99933660e-01,  9.99924064e-01,  9.99914587e-01,  9.99905109e-01,
1791      9.99895573e-01,  9.99885738e-01,  9.99875546e-01,  9.99864578e-01,
1792      9.99852657e-01,  9.99839306e-01,  9.99824166e-01,  9.99806523e-01,
1793      9.99785900e-01,  9.99761462e-01,  9.99732316e-01,  9.99697566e-01,
1794      9.99655962e-01,  9.99606311e-01,  9.99547124e-01,  9.99476731e-01,
1795      9.99393344e-01,  9.99294996e-01,  9.99179363e-01,  9.99043941e-01,
1796      9.98886049e-01,  9.98702645e-01,  9.98490512e-01,  9.98246014e-01,
1797      9.97965276e-01,  9.97644246e-01,  9.97278214e-01,  9.96862471e-01,
1798      9.96391773e-01,  9.95860577e-01,  9.95262980e-01,  9.94592726e-01,
1799      9.93843138e-01,  9.93007302e-01,  9.92077827e-01,  9.91046965e-01,
1800      9.89906728e-01,  9.88648713e-01,  9.87264156e-01,  9.85744119e-01,
1801      9.84079301e-01,  9.82260108e-01,  9.80276704e-01,  9.78119195e-01,
1802      9.75777209e-01,  9.73240614e-01,  9.70498860e-01,  9.67541456e-01,
1803      9.64357972e-01,  9.60937798e-01,  9.57270682e-01,  9.53346252e-01,
1804      9.49154437e-01,  9.44685459e-01,  9.39929724e-01,  9.34878111e-01,
1805      9.29521918e-01,  9.23852861e-01,  9.17863250e-01,  9.11546052e-01,
1806      9.04894829e-01,  8.97903919e-01,  8.90568554e-01,  8.82884681e-01,
1807      8.74849200e-01,  8.66460025e-01,  8.57716084e-01,  8.48617196e-01,
1808      8.39164436e-01,  8.29359889e-01,  8.19206893e-01,  8.08709860e-01,
1809      7.97874272e-01,  7.86707044e-01,  7.75215983e-01,  7.63410211e-01,
1810      7.51299858e-01,  7.38896310e-01,  7.26211846e-01,  7.13259816e-01,
1811      7.00054646e-01,  6.86611593e-01,  6.72946632e-01,  6.59076810e-01,
1812      6.45019531e-01,  6.30793154e-01,  6.16416335e-01,  6.01908267e-01,
1813      5.87288618e-01,  5.72577178e-01,  5.57793975e-01,  5.42959273e-01,
1814      5.28093219e-01,  5.13215959e-01,  4.98347521e-01,  4.83507633e-01,
1815      4.68715757e-01,  4.53991085e-01,  4.39352304e-01,  4.24817562e-01,
1816      4.10404533e-01,  3.96130294e-01,  3.82011205e-01,  3.68063033e-01,
1817      3.54300767e-01,  3.40738595e-01,  3.27390045e-01,  3.14267725e-01,
1818      3.01383466e-01,  2.88748264e-01,  2.76372313e-01,  2.64264882e-01,
1819      2.52434462e-01,  2.40888610e-01,  2.29634136e-01,  2.18676925e-01,
1820      2.08022103e-01,  1.97673932e-01,  1.87635899e-01,  1.77910715e-01,
1821      1.68500274e-01,  1.59405768e-01,  1.50627658e-01,  1.42165691e-01,
1822      1.34018898e-01,  1.26185730e-01,  1.18663922e-01,  1.11450672e-01,
1823      1.04542568e-01,  9.79356542e-02,  9.16254595e-02,  8.56070295e-02,
1824      7.98749477e-02,  7.44233727e-02,  6.92460760e-02,  6.43364564e-02,
1825      5.96875995e-02,  5.52923009e-02,  5.11430874e-02,  4.72322591e-02,
1826      4.35519405e-02,  4.00940813e-02,  3.68505120e-02,  3.38129811e-02,
1827      3.09731625e-02,  2.83227116e-02,  2.58532818e-02,  2.35565584e-02,
1828      2.14242823e-02,  1.94482822e-02,  1.76204946e-02,  1.59329921e-02,
1829      1.43779973e-02,  1.29479105e-02,  1.16353221e-02,  1.04330294e-02,
1830      9.33405478e-03,  8.33165180e-03,  7.41932075e-03,  6.59081247e-03,
1831      5.84013900e-03,  5.16157458e-03,  4.54966258e-03,  3.99921415e-03,
1832      3.50530911e-03,  3.06329457e-03,  2.66878284e-03,  2.31764605e-03,
1833      2.00601248e-03,  1.73026032e-03,  1.48701016e-03,  1.27311819e-03,
1834      1.08566787e-03,  9.21960978e-04,  7.79508497e-04,  6.56021410e-04,
1835      5.49400807e-04,  4.57728049e-04,  3.79254925e-04,  3.12393560e-04,
1836      2.55706662e-04,  2.07897814e-04,  1.67801816e-04,  1.34375354e-04,
1837      1.06687941e-04,  8.39131390e-05,  6.53200550e-05,  5.02652765e-05,
1838      3.81850987e-05,  2.85881870e-05,  2.10486251e-05,  1.51993554e-05,
1839      1.07260339e-05,  7.36129550e-06,  4.87941543e-06,  3.09137795e-06,
1840      1.84032115e-06,  9.97358256e-07,  4.57689993e-07,  1.36315705e-07,
1841 };
1842 
1843 #endif /* LC3_PLUS_HR */
1844 
1845 static const float mdct_win_5m_8k[__LC3_MDCT_WIN_LEN(5000, 8000)] = {
1846      9.95908659e-04,  3.81905679e-03,  9.54083261e-03,  1.92165980e-02,
1847      3.38271908e-02,  5.42483167e-02,  8.12077767e-02,  1.15217189e-01,
1848      1.56494233e-01,  2.04936342e-01,  2.60116658e-01,  3.21281416e-01,
1849      3.87347300e-01,  4.56949708e-01,  5.28519296e-01,  6.00352249e-01,
1850      6.70689638e-01,  7.37804446e-01,  8.00092531e-01,  8.56140918e-01,
1851      9.04827229e-01,  9.45368503e-01,  9.77350743e-01,  1.00080087e+00,
1852      1.01617159e+00,  1.02431525e+00,  1.02641543e+00,  1.02385837e+00,
1853      1.01813571e+00,  1.01079482e+00,  1.00340651e+00,  9.96783127e-01,
1854      9.92099552e-01,  9.89220694e-01,  9.87965832e-01,  9.88127353e-01,
1855      9.89480554e-01,  9.91784992e-01,  9.94784758e-01,  9.98211967e-01,
1856      1.00179124e+00,  1.00524258e+00,  1.00828305e+00,  1.01063128e+00,
1857      1.01201530e+00,  1.01218075e+00,  1.01089677e+00,  1.00796336e+00,
1858      1.00322726e+00,  9.96605055e-01,  9.86828423e-01,  9.73125029e-01,
1859      9.54063648e-01,  9.28386428e-01,  8.95091686e-01,  8.53476936e-01,
1860      8.03209093e-01,  7.44473520e-01,  6.78078703e-01,  6.05397045e-01,
1861      5.28207751e-01,  4.48655296e-01,  3.69187599e-01,  2.92456641e-01,
1862      2.21071854e-01,  1.57314858e-01,  1.03052576e-01,  5.98273224e-02,
1863      2.87183192e-02,  9.68388493e-03,
1864 };
1865 
1866 static const float mdct_win_5m_16k[__LC3_MDCT_WIN_LEN(5000, 16000)] = {
1867      6.14338818e-04,  1.48958283e-03,  2.88410496e-03,  4.93429883e-03,
1868      7.77913046e-03,  1.15491061e-02,  1.63715562e-02,  2.23711616e-02,
1869      2.96615969e-02,  3.83566333e-02,  4.85561099e-02,  6.03505574e-02,
1870      7.38228820e-02,  8.90356369e-02,  1.06035623e-01,  1.24853486e-01,
1871      1.45493189e-01,  1.67943556e-01,  1.92172862e-01,  2.18123826e-01,
1872      2.45725974e-01,  2.74883943e-01,  3.05482471e-01,  3.37387380e-01,
1873      3.70441593e-01,  4.04474963e-01,  4.39300436e-01,  4.74722545e-01,
1874      5.10534149e-01,  5.46520192e-01,  5.82465810e-01,  6.18145266e-01,
1875      6.53341146e-01,  6.87836730e-01,  7.21417603e-01,  7.53888797e-01,
1876      7.85054657e-01,  8.14739745e-01,  8.42781936e-01,  8.69037674e-01,
1877      8.93393548e-01,  9.15748356e-01,  9.36027020e-01,  9.54173114e-01,
1878      9.70163547e-01,  9.84003644e-01,  9.95719942e-01,  1.00537427e+00,
1879      1.01304666e+00,  1.01884338e+00,  1.02289695e+00,  1.02535529e+00,
1880      1.02638288e+00,  1.02615553e+00,  1.02485397e+00,  1.02266460e+00,
1881      1.01977940e+00,  1.01639169e+00,  1.01269703e+00,  1.00888519e+00,
1882      1.00537874e+00,  1.00156378e+00,  9.98253156e-01,  9.95434664e-01,
1883      9.93095027e-01,  9.91217091e-01,  9.89780519e-01,  9.88762494e-01,
1884      9.88138324e-01,  9.87881941e-01,  9.87966213e-01,  9.88363051e-01,
1885      9.89043407e-01,  9.89977232e-01,  9.91133456e-01,  9.92480044e-01,
1886      9.93984121e-01,  9.95612147e-01,  9.97330059e-01,  9.99103363e-01,
1887      1.00089744e+00,  1.00267709e+00,  1.00440719e+00,  1.00605229e+00,
1888      1.00757693e+00,  1.00894586e+00,  1.01012424e+00,  1.01107797e+00,
1889      1.01177396e+00,  1.01218036e+00,  1.01226671e+00,  1.01200406e+00,
1890      1.01136522e+00,  1.01032500e+00,  1.00886073e+00,  1.00695298e+00,
1891      1.00458627e+00,  1.00174990e+00,  9.98438663e-01,  9.94650033e-01,
1892      9.89575685e-01,  9.83830313e-01,  9.76999916e-01,  9.68914116e-01,
1893      9.59403812e-01,  9.48308632e-01,  9.35486022e-01,  9.20810131e-01,
1894      9.04173226e-01,  8.85488225e-01,  8.64686495e-01,  8.41723747e-01,
1895      8.16587571e-01,  7.89298635e-01,  7.59917189e-01,  7.28547452e-01,
1896      6.95328294e-01,  6.60433402e-01,  6.24066143e-01,  5.86446142e-01,
1897      5.47816066e-01,  5.08449976e-01,  4.68636143e-01,  4.28678989e-01,
1898      3.88903272e-01,  3.49643142e-01,  3.11236082e-01,  2.74012847e-01,
1899      2.38284723e-01,  2.04337983e-01,  1.72430586e-01,  1.42793979e-01,
1900      1.15638588e-01,  9.11582177e-02,  6.95274904e-02,  5.08897541e-02,
1901      3.53343019e-02,  2.28668041e-02,  1.33800502e-02,  6.64050653e-03,
1902 };
1903 
1904 static const float mdct_win_5m_24k[__LC3_MDCT_WIN_LEN(5000, 24000)] = {
1905      5.08722763e-04,  9.95908659e-04,  1.68220801e-03,  2.60969726e-03,
1906      3.81905679e-03,  5.34931959e-03,  7.24390638e-03,  9.54083261e-03,
1907      1.22763764e-02,  1.54895024e-02,  1.92165980e-02,  2.34936962e-02,
1908      2.83519958e-02,  3.38271908e-02,  3.99493954e-02,  4.67477524e-02,
1909      5.42483167e-02,  6.24777078e-02,  7.14583592e-02,  8.12077767e-02,
1910      9.17440041e-02,  1.03076496e-01,  1.15217189e-01,  1.28166571e-01,
1911      1.41926438e-01,  1.56494233e-01,  1.71859319e-01,  1.88013425e-01,
1912      2.04936342e-01,  2.22612306e-01,  2.41015124e-01,  2.60116658e-01,
1913      2.79887101e-01,  3.00288014e-01,  3.21281416e-01,  3.42820846e-01,
1914      3.64859656e-01,  3.87347300e-01,  4.10229495e-01,  4.33449453e-01,
1915      4.56949708e-01,  4.80669640e-01,  5.04547382e-01,  5.28519296e-01,
1916      5.52519610e-01,  5.76487245e-01,  6.00352249e-01,  6.24050987e-01,
1917      6.47518259e-01,  6.70689638e-01,  6.93502907e-01,  7.15892752e-01,
1918      7.37804446e-01,  7.59178724e-01,  7.79958661e-01,  8.00092531e-01,
1919      8.19531865e-01,  8.38228896e-01,  8.56140918e-01,  8.73231695e-01,
1920      8.89470202e-01,  9.04827229e-01,  9.19273638e-01,  9.32794041e-01,
1921      9.45368503e-01,  9.56988393e-01,  9.67648642e-01,  9.77350743e-01,
1922      9.86102783e-01,  9.93912241e-01,  1.00080087e+00,  1.00678781e+00,
1923      1.01190127e+00,  1.01617159e+00,  1.01963641e+00,  1.02233661e+00,
1924      1.02431525e+00,  1.02562130e+00,  1.02630344e+00,  1.02641543e+00,
1925      1.02600793e+00,  1.02513744e+00,  1.02385837e+00,  1.02222694e+00,
1926      1.02030055e+00,  1.01813571e+00,  1.01579215e+00,  1.01332597e+00,
1927      1.01079482e+00,  1.00826513e+00,  1.00604687e+00,  1.00340651e+00,
1928      1.00097740e+00,  9.98770454e-01,  9.96783127e-01,  9.95011891e-01,
1929      9.93452397e-01,  9.92099552e-01,  9.90947600e-01,  9.89990243e-01,
1930      9.89220694e-01,  9.88631804e-01,  9.88216090e-01,  9.87965832e-01,
1931      9.87873077e-01,  9.87929693e-01,  9.88127353e-01,  9.88457554e-01,
1932      9.88911587e-01,  9.89480554e-01,  9.90155346e-01,  9.90926656e-01,
1933      9.91784992e-01,  9.92720684e-01,  9.93723921e-01,  9.94784758e-01,
1934      9.95893149e-01,  9.97038957e-01,  9.98211967e-01,  9.99402034e-01,
1935      1.00059832e+00,  1.00179124e+00,  1.00296984e+00,  1.00412379e+00,
1936      1.00524258e+00,  1.00631572e+00,  1.00733269e+00,  1.00828305e+00,
1937      1.00915642e+00,  1.00994254e+00,  1.01063128e+00,  1.01121274e+00,
1938      1.01167723e+00,  1.01201530e+00,  1.01221778e+00,  1.01227579e+00,
1939      1.01218075e+00,  1.01192443e+00,  1.01149892e+00,  1.01089677e+00,
1940      1.01011097e+00,  1.00913509e+00,  1.00796336e+00,  1.00659076e+00,
1941      1.00501312e+00,  1.00322726e+00,  1.00123106e+00,  9.99023556e-01,
1942      9.96605055e-01,  9.93989471e-01,  9.90453920e-01,  9.86828423e-01,
1943      9.82771674e-01,  9.78220667e-01,  9.73125029e-01,  9.67432353e-01,
1944      9.61094704e-01,  9.54063648e-01,  9.46295299e-01,  9.37748911e-01,
1945      9.28386428e-01,  9.18176261e-01,  9.07086156e-01,  8.95091686e-01,
1946      8.82169624e-01,  8.68302529e-01,  8.53476936e-01,  8.37685201e-01,
1947      8.20927526e-01,  8.03209093e-01,  7.84545048e-01,  7.64955485e-01,
1948      7.44473520e-01,  7.23134807e-01,  7.00986056e-01,  6.78078703e-01,
1949      6.54468651e-01,  6.30221215e-01,  6.05397045e-01,  5.80071577e-01,
1950      5.54312928e-01,  5.28207751e-01,  5.01836972e-01,  4.75290296e-01,
1951      4.48655296e-01,  4.22028112e-01,  3.95505797e-01,  3.69187599e-01,
1952      3.43173285e-01,  3.17563302e-01,  2.92456641e-01,  2.67946378e-01,
1953      2.44123133e-01,  2.21071854e-01,  1.98871915e-01,  1.77596763e-01,
1954      1.57314858e-01,  1.38090336e-01,  1.19983750e-01,  1.03052576e-01,
1955      8.73508501e-02,  7.29281158e-02,  5.98273224e-02,  4.80817884e-02,
1956      3.77113530e-02,  2.87183192e-02,  2.10835203e-02,  1.47628941e-02,
1957      9.68388493e-03,  5.64216879e-03,
1958 };
1959 
1960 static const float mdct_win_5m_32k[__LC3_MDCT_WIN_LEN(5000, 32000)] = {
1961      4.59588635e-04,  7.91932361e-04,  1.22792717e-03,  1.78365327e-03,
1962      2.47954941e-03,  3.32979945e-03,  4.35353548e-03,  5.56496516e-03,
1963      6.98610836e-03,  8.62988232e-03,  1.05134341e-02,  1.26508264e-02,
1964      1.50609045e-02,  1.77559123e-02,  2.07547598e-02,  2.40681372e-02,
1965      2.77120786e-02,  3.16993325e-02,  3.60460964e-02,  4.07612864e-02,
1966      4.58603812e-02,  5.13513668e-02,  5.72478022e-02,  6.35585474e-02,
1967      7.02945073e-02,  7.74598720e-02,  8.50663537e-02,  9.31164162e-02,
1968      1.01616296e-01,  1.10569081e-01,  1.19978929e-01,  1.29841729e-01,
1969      1.40162380e-01,  1.50937156e-01,  1.62163230e-01,  1.73835412e-01,
1970      1.85952036e-01,  1.98500883e-01,  2.11477855e-01,  2.24873256e-01,
1971      2.38676395e-01,  2.52872945e-01,  2.67454701e-01,  2.82403147e-01,
1972      2.97705015e-01,  3.13341912e-01,  3.29297670e-01,  3.45549016e-01,
1973      3.62079505e-01,  3.78864867e-01,  3.95885158e-01,  4.13114379e-01,
1974      4.30530830e-01,  4.48107672e-01,  4.65822779e-01,  4.83646639e-01,
1975      5.01556485e-01,  5.19522807e-01,  5.37519704e-01,  5.55518384e-01,
1976      5.73495781e-01,  5.91418665e-01,  6.09262289e-01,  6.26998116e-01,
1977      6.44600201e-01,  6.62038458e-01,  6.79290655e-01,  6.96325643e-01,
1978      7.13119439e-01,  7.29646991e-01,  7.45886459e-01,  7.61809472e-01,
1979      7.77395845e-01,  7.92620875e-01,  8.07466639e-01,  8.21910156e-01,
1980      8.35934316e-01,  8.49518047e-01,  8.62648584e-01,  8.75308323e-01,
1981      8.87488472e-01,  8.99173772e-01,  9.10352743e-01,  9.21014413e-01,
1982      9.31155619e-01,  9.40764474e-01,  9.49838224e-01,  9.58373260e-01,
1983      9.66369041e-01,  9.73823562e-01,  9.80744251e-01,  9.87129797e-01,
1984      9.92987227e-01,  9.98324140e-01,  1.00315076e+00,  1.00747371e+00,
1985      1.01130915e+00,  1.01466668e+00,  1.01756334e+00,  1.02001468e+00,
1986      1.02203987e+00,  1.02365426e+00,  1.02488162e+00,  1.02573929e+00,
1987      1.02625071e+00,  1.02643667e+00,  1.02632086e+00,  1.02592292e+00,
1988      1.02526998e+00,  1.02438219e+00,  1.02328494e+00,  1.02200083e+00,
1989      1.02055597e+00,  1.01897139e+00,  1.01727518e+00,  1.01548913e+00,
1990      1.01363936e+00,  1.01174775e+00,  1.00984084e+00,  1.00793976e+00,
1991      1.00640740e+00,  1.00437483e+00,  1.00246981e+00,  1.00068907e+00,
1992      9.99034600e-01,  9.97502490e-01,  9.96094155e-01,  9.94805124e-01,
1993      9.93636273e-01,  9.92582654e-01,  9.91644701e-01,  9.90817076e-01,
1994      9.90099845e-01,  9.89487369e-01,  9.88979432e-01,  9.88570179e-01,
1995      9.88259191e-01,  9.88040442e-01,  9.87913369e-01,  9.87871810e-01,
1996      9.87915076e-01,  9.88036894e-01,  9.88236456e-01,  9.88507369e-01,
1997      9.88848709e-01,  9.89253949e-01,  9.89722041e-01,  9.90246329e-01,
1998      9.90825634e-01,  9.91453181e-01,  9.92127681e-01,  9.92842250e-01,
1999      9.93595510e-01,  9.94380481e-01,  9.95195724e-01,  9.96034188e-01,
2000      9.96894383e-01,  9.97769201e-01,  9.98657113e-01,  9.99550974e-01,
2001      1.00044923e+00,  1.00134469e+00,  1.00223579e+00,  1.00311529e+00,
2002      1.00398160e+00,  1.00482747e+00,  1.00565128e+00,  1.00644577e+00,
2003      1.00720935e+00,  1.00793478e+00,  1.00862050e+00,  1.00925931e+00,
2004      1.00984974e+00,  1.01038469e+00,  1.01086278e+00,  1.01127704e+00,
2005      1.01162625e+00,  1.01190357e+00,  1.01210795e+00,  1.01223276e+00,
2006      1.01227709e+00,  1.01223451e+00,  1.01210432e+00,  1.01188029e+00,
2007      1.01156197e+00,  1.01114337e+00,  1.01062432e+00,  1.00999915e+00,
2008      1.00926803e+00,  1.00842570e+00,  1.00747277e+00,  1.00640448e+00,
2009      1.00522200e+00,  1.00392116e+00,  1.00250376e+00,  1.00096633e+00,
2010      9.99311401e-01,  9.97536270e-01,  9.95644231e-01,  9.93633392e-01,
2011      9.90867748e-01,  9.88232633e-01,  9.85362057e-01,  9.82230509e-01,
2012      9.78818585e-01,  9.75102633e-01,  9.71063185e-01,  9.66675967e-01,
2013      9.61924219e-01,  9.56784199e-01,  9.51239430e-01,  9.45270024e-01,
2014      9.38861570e-01,  9.31994644e-01,  9.24659203e-01,  9.16838340e-01,
2015      9.08521803e-01,  8.99696701e-01,  8.90356205e-01,  8.80487793e-01,
2016      8.70088421e-01,  8.59149213e-01,  8.47668639e-01,  8.35642897e-01,
2017      8.23075389e-01,  8.09964930e-01,  7.96320451e-01,  7.82146054e-01,
2018      7.67454182e-01,  7.52256346e-01,  7.36570205e-01,  7.20409055e-01,
2019      7.03797511e-01,  6.86754281e-01,  6.69304189e-01,  6.51471096e-01,
2020      6.33285483e-01,  6.14768539e-01,  5.95955378e-01,  5.76873796e-01,
2021      5.57553429e-01,  5.38032014e-01,  5.18345403e-01,  4.98525942e-01,
2022      4.78615607e-01,  4.58647304e-01,  4.38664366e-01,  4.18704689e-01,
2023      3.98812306e-01,  3.79026292e-01,  3.59391483e-01,  3.39947413e-01,
2024      3.20739242e-01,  3.01806111e-01,  2.83190595e-01,  2.64928837e-01,
2025      2.47060855e-01,  2.29620112e-01,  2.12643372e-01,  1.96160182e-01,
2026      1.80203520e-01,  1.64799688e-01,  1.49978755e-01,  1.35764352e-01,
2027      1.22184253e-01,  1.09260199e-01,  9.70178845e-02,  8.54768028e-02,
2028      7.46597638e-02,  6.45825432e-02,  5.52628119e-02,  4.67097698e-02,
2029      3.89324443e-02,  3.19297601e-02,  2.56981064e-02,  2.02225927e-02,
2030      1.54831778e-02,  1.14492491e-02,  8.07648266e-03,  5.30004408e-03,
2031 };
2032 
2033 static const float mdct_win_5m_48k[__LC3_MDCT_WIN_LEN(5000, 48000)] = {
2034      4.09010650e-04,  6.14338818e-04,  8.57175988e-04,  1.14701506e-03,
2035      1.48958283e-03,  1.88977038e-03,  2.35300080e-03,  2.88410496e-03,
2036      3.48821379e-03,  4.17004043e-03,  4.93429883e-03,  5.78707651e-03,
2037      6.73381174e-03,  7.77913046e-03,  8.92704496e-03,  1.01820289e-02,
2038      1.15491061e-02,  1.30334922e-02,  1.46395129e-02,  1.63715562e-02,
2039      1.82345538e-02,  2.02330949e-02,  2.23711616e-02,  2.46523735e-02,
2040      2.70810194e-02,  2.96615969e-02,  3.23988485e-02,  3.52960177e-02,
2041      3.83566333e-02,  4.15844793e-02,  4.49832242e-02,  4.85561099e-02,
2042      5.23059648e-02,  5.62362458e-02,  6.03505574e-02,  6.46518632e-02,
2043      6.91419575e-02,  7.38228820e-02,  7.86970933e-02,  8.37676164e-02,
2044      8.90356369e-02,  9.45019924e-02,  1.00168019e-01,  1.06035623e-01,
2045      1.12106022e-01,  1.18378855e-01,  1.24853486e-01,  1.31530285e-01,
2046      1.38410308e-01,  1.45493189e-01,  1.52777295e-01,  1.60260884e-01,
2047      1.67943556e-01,  1.75824562e-01,  1.83902012e-01,  1.92172862e-01,
2048      2.00634430e-01,  2.09285388e-01,  2.18123826e-01,  2.27146226e-01,
2049      2.36347921e-01,  2.45725974e-01,  2.55277155e-01,  2.64998109e-01,
2050      2.74883943e-01,  2.84929644e-01,  2.95130651e-01,  3.05482471e-01,
2051      3.15979964e-01,  3.26616979e-01,  3.37387380e-01,  3.48285592e-01,
2052      3.59305769e-01,  3.70441593e-01,  3.81686239e-01,  3.93032978e-01,
2053      4.04474963e-01,  4.16005110e-01,  4.27615960e-01,  4.39300436e-01,
2054      4.51051633e-01,  4.62861605e-01,  4.74722545e-01,  4.86626671e-01,
2055      4.98566451e-01,  5.10534149e-01,  5.22521279e-01,  5.34519051e-01,
2056      5.46520192e-01,  5.58517277e-01,  5.70502154e-01,  5.82465810e-01,
2057      5.94399172e-01,  6.06294818e-01,  6.18145266e-01,  6.29942202e-01,
2058      6.41676874e-01,  6.53341146e-01,  6.64927754e-01,  6.76429270e-01,
2059      6.87836730e-01,  6.99142147e-01,  7.10337961e-01,  7.21417603e-01,
2060      7.32374610e-01,  7.43200803e-01,  7.53888797e-01,  7.64431550e-01,
2061      7.74822315e-01,  7.85054657e-01,  7.95122352e-01,  8.05019386e-01,
2062      8.14739745e-01,  8.24277441e-01,  8.33626711e-01,  8.42781936e-01,
2063      8.51738619e-01,  8.60492087e-01,  8.69037674e-01,  8.77372045e-01,
2064      8.85492794e-01,  8.93393548e-01,  9.01072709e-01,  9.08524940e-01,
2065      9.15748356e-01,  9.22741384e-01,  9.29501747e-01,  9.36027020e-01,
2066      9.42314305e-01,  9.48362979e-01,  9.54173114e-01,  9.59743838e-01,
2067      9.65073839e-01,  9.70163547e-01,  9.75014336e-01,  9.79627719e-01,
2068      9.84003644e-01,  9.88142677e-01,  9.92047045e-01,  9.95719942e-01,
2069      9.99164081e-01,  1.00238131e+00,  1.00537427e+00,  1.00814672e+00,
2070      1.01070312e+00,  1.01304666e+00,  1.01518127e+00,  1.01711164e+00,
2071      1.01884338e+00,  1.02038171e+00,  1.02173110e+00,  1.02289695e+00,
2072      1.02388546e+00,  1.02470297e+00,  1.02535529e+00,  1.02584824e+00,
2073      1.02618837e+00,  1.02638288e+00,  1.02643810e+00,  1.02636013e+00,
2074      1.02615553e+00,  1.02583146e+00,  1.02539543e+00,  1.02485397e+00,
2075      1.02421348e+00,  1.02348118e+00,  1.02266460e+00,  1.02177090e+00,
2076      1.02080692e+00,  1.01977940e+00,  1.01869600e+00,  1.01756442e+00,
2077      1.01639169e+00,  1.01518492e+00,  1.01395084e+00,  1.01269703e+00,
2078      1.01143075e+00,  1.01015835e+00,  1.00888519e+00,  1.00759272e+00,
2079      1.00680560e+00,  1.00537874e+00,  1.00404905e+00,  1.00277836e+00,
2080      1.00156378e+00,  1.00040492e+00,  9.99301484e-01,  9.98253156e-01,
2081      9.97259546e-01,  9.96320213e-01,  9.95434664e-01,  9.94602354e-01,
2082      9.93822688e-01,  9.93095027e-01,  9.92418692e-01,  9.91792966e-01,
2083      9.91217091e-01,  9.90690276e-01,  9.90211700e-01,  9.89780519e-01,
2084      9.89395860e-01,  9.89056824e-01,  9.88762494e-01,  9.88511936e-01,
2085      9.88304203e-01,  9.88138324e-01,  9.88013316e-01,  9.87928190e-01,
2086      9.87881941e-01,  9.87873551e-01,  9.87901987e-01,  9.87966213e-01,
2087      9.88065178e-01,  9.88197816e-01,  9.88363051e-01,  9.88559796e-01,
2088      9.88786953e-01,  9.89043407e-01,  9.89328032e-01,  9.89639690e-01,
2089      9.89977232e-01,  9.90339493e-01,  9.90725297e-01,  9.91133456e-01,
2090      9.91562775e-01,  9.92012044e-01,  9.92480044e-01,  9.92965548e-01,
2091      9.93467321e-01,  9.93984121e-01,  9.94514697e-01,  9.95057793e-01,
2092      9.95612147e-01,  9.96176492e-01,  9.96749554e-01,  9.97330059e-01,
2093      9.97916725e-01,  9.98508264e-01,  9.99103363e-01,  9.99700348e-01,
2094      1.00029974e+00,  1.00089744e+00,  1.00149396e+00,  1.00208762e+00,
2095      1.00267709e+00,  1.00326105e+00,  1.00383818e+00,  1.00440719e+00,
2096      1.00496675e+00,  1.00551556e+00,  1.00605229e+00,  1.00657564e+00,
2097      1.00708429e+00,  1.00757693e+00,  1.00805228e+00,  1.00850902e+00,
2098      1.00894586e+00,  1.00936153e+00,  1.00975474e+00,  1.01012424e+00,
2099      1.01046877e+00,  1.01078709e+00,  1.01107797e+00,  1.01134021e+00,
2100      1.01157260e+00,  1.01177396e+00,  1.01194314e+00,  1.01207898e+00,
2101      1.01218036e+00,  1.01224617e+00,  1.01227531e+00,  1.01226671e+00,
2102      1.01221932e+00,  1.01213211e+00,  1.01200406e+00,  1.01183421e+00,
2103      1.01162157e+00,  1.01136522e+00,  1.01106425e+00,  1.01071779e+00,
2104      1.01032500e+00,  1.00988506e+00,  1.00939721e+00,  1.00886073e+00,
2105      1.00827495e+00,  1.00763922e+00,  1.00695298e+00,  1.00621571e+00,
2106      1.00542694e+00,  1.00458627e+00,  1.00369338e+00,  1.00274798e+00,
2107      1.00174990e+00,  1.00069900e+00,  9.99595249e-01,  9.98438663e-01,
2108      9.97229342e-01,  9.95967277e-01,  9.94650033e-01,  9.93240400e-01,
2109      9.91251152e-01,  9.89575685e-01,  9.87771321e-01,  9.85857748e-01,
2110      9.83830313e-01,  9.81682263e-01,  9.79407449e-01,  9.76999916e-01,
2111      9.74452836e-01,  9.71759750e-01,  9.68914116e-01,  9.65910162e-01,
2112      9.62742183e-01,  9.59403812e-01,  9.55888998e-01,  9.52192243e-01,
2113      9.48308632e-01,  9.44233254e-01,  9.39960724e-01,  9.35486022e-01,
2114      9.30805297e-01,  9.25914697e-01,  9.20810131e-01,  9.15487360e-01,
2115      9.09942607e-01,  9.04173226e-01,  8.98176373e-01,  8.91949024e-01,
2116      8.85488225e-01,  8.78791944e-01,  8.71858584e-01,  8.64686495e-01,
2117      8.57273814e-01,  8.49619586e-01,  8.41723747e-01,  8.33586272e-01,
2118      8.25207443e-01,  8.16587571e-01,  8.07728037e-01,  7.98631159e-01,
2119      7.89298635e-01,  7.79733095e-01,  7.69937953e-01,  7.59917189e-01,
2120      7.49675842e-01,  7.39217684e-01,  7.28547452e-01,  7.17671448e-01,
2121      7.06596231e-01,  6.95328294e-01,  6.83873906e-01,  6.72239531e-01,
2122      6.60433402e-01,  6.48464360e-01,  6.36339500e-01,  6.24066143e-01,
2123      6.11653033e-01,  5.99109864e-01,  5.86446142e-01,  5.73669485e-01,
2124      5.60788103e-01,  5.47816066e-01,  5.34761979e-01,  5.21636515e-01,
2125      5.08449976e-01,  4.95213509e-01,  4.81938756e-01,  4.68636143e-01,
2126      4.55317077e-01,  4.41993995e-01,  4.28678989e-01,  4.15383779e-01,
2127      4.02121106e-01,  3.88903272e-01,  3.75742544e-01,  3.62651518e-01,
2128      3.49643142e-01,  3.36729082e-01,  3.23922808e-01,  3.11236082e-01,
2129      2.98680794e-01,  2.86269467e-01,  2.74012847e-01,  2.61922833e-01,
2130      2.50009844e-01,  2.38284723e-01,  2.26757849e-01,  2.15439100e-01,
2131      2.04337983e-01,  1.93463677e-01,  1.82825032e-01,  1.72430586e-01,
2132      1.62288635e-01,  1.52407188e-01,  1.42793979e-01,  1.33456585e-01,
2133      1.24402392e-01,  1.15638588e-01,  1.07172155e-01,  9.90098587e-02,
2134      9.11582177e-02,  8.36234486e-02,  7.64114037e-02,  6.95274904e-02,
2135      6.29765645e-02,  5.67628424e-02,  5.08897541e-02,  4.53598330e-02,
2136      4.01745731e-02,  3.53343019e-02,  3.08380606e-02,  2.66835542e-02,
2137      2.28668041e-02,  1.93823634e-02,  1.62231272e-02,  1.33800502e-02,
2138      1.08421860e-02,  8.59675398e-03,  6.64050653e-03,  5.17270311e-03,
2139 };
2140 
2141 #if LC3_PLUS_HR
2142 
2143 static const float mdct_win_5m_48k_hr[__LC3_MDCT_WIN_LEN(5000, 48000)] = {
2144      9.75247545e-08,  6.41356849e-07,  1.88872264e-06,  4.37003746e-06,
2145      8.85053487e-06,  1.64097619e-05,  2.85265469e-05,  4.71757776e-05,
2146      7.49369574e-05,  1.15113864e-04,  1.71864056e-04,  2.50336452e-04,
2147      3.56814737e-04,  4.98863636e-04,  6.85475010e-04,  9.27209505e-04,
2148      1.23633002e-03,  1.62692170e-03,  2.11499492e-03,  2.71856366e-03,
2149      3.45769688e-03,  4.35453700e-03,  5.43327769e-03,  6.72010100e-03,
2150      8.24306626e-03,  1.00319488e-02,  1.21180220e-02,  1.45337880e-02,
2151      1.73126478e-02,  2.04885192e-02,  2.40953956e-02,  2.81668510e-02,
2152      3.27355117e-02,  3.78324650e-02,  4.34866548e-02,  4.97242436e-02,
2153      5.65679595e-02,  6.40364513e-02,  7.21436515e-02,  8.08981732e-02,
2154      9.03027356e-02,  1.00353681e-01,  1.11040540e-01,  1.22345708e-01,
2155      1.34244218e-01,  1.46703660e-01,  1.59684196e-01,  1.73138753e-01,
2156      1.87013358e-01,  2.01247633e-01,  2.15775400e-01,  2.30525494e-01,
2157      2.45422661e-01,  2.60388613e-01,  2.75343060e-01,  2.90205121e-01,
2158      3.04894298e-01,  3.19332004e-01,  3.33442599e-01,  3.47154707e-01,
2159      3.60402405e-01,  3.73126328e-01,  3.85274231e-01,  3.96802038e-01,
2160      4.07674283e-01,  4.17864561e-01,  4.27355647e-01,  4.36139554e-01,
2161      4.44217294e-01,  4.51598674e-01,  4.58301634e-01,  4.64351624e-01,
2162      4.69781011e-01,  4.74628091e-01,  4.78936344e-01,  4.82753456e-01,
2163      4.86130476e-01,  4.89120960e-01,  4.91780102e-01,  4.94164050e-01,
2164      4.96329218e-01,  4.98331696e-01,  5.00226736e-01,  5.02068341e-01,
2165      5.03908992e-01,  5.05799294e-01,  5.07787943e-01,  5.09921193e-01,
2166      5.12243330e-01,  5.14795899e-01,  5.17618179e-01,  5.20746589e-01,
2167      5.24214983e-01,  5.28054178e-01,  5.32292068e-01,  5.36953092e-01,
2168      5.42058468e-01,  5.47625661e-01,  5.53668439e-01,  5.60196400e-01,
2169      5.67215025e-01,  5.74725628e-01,  5.82724869e-01,  5.91205239e-01,
2170      6.00154579e-01,  6.09556615e-01,  6.19390607e-01,  6.29631937e-01,
2171      6.40252173e-01,  6.51219368e-01,  6.62498534e-01,  6.74051821e-01,
2172      6.85839176e-01,  6.97818637e-01,  7.09946930e-01,  7.22179890e-01,
2173      7.34472811e-01,  7.46781170e-01,  7.59061038e-01,  7.71269321e-01,
2174      7.83364296e-01,  7.95306087e-01,  8.07056785e-01,  8.18580806e-01,
2175      8.29845190e-01,  8.40819776e-01,  8.51477146e-01,  8.61792982e-01,
2176      8.71745944e-01,  8.81317794e-01,  8.90493214e-01,  8.99259806e-01,
2177      9.07608211e-01,  9.15531754e-01,  9.23026323e-01,  9.30090547e-01,
2178      9.36725318e-01,  9.42933977e-01,  9.48721945e-01,  9.54096615e-01,
2179      9.59067523e-01,  9.63645637e-01,  9.67843831e-01,  9.71676290e-01,
2180      9.75158513e-01,  9.78307128e-01,  9.81139660e-01,  9.83674467e-01,
2181      9.85930443e-01,  9.87926722e-01,  9.89682734e-01,  9.91217852e-01,
2182      9.92551088e-01,  9.93701279e-01,  9.94686544e-01,  9.95524466e-01,
2183      9.96231675e-01,  9.96824026e-01,  9.97316301e-01,  9.97722328e-01,
2184      9.98054802e-01,  9.98325348e-01,  9.98544455e-01,  9.98721540e-01,
2185      9.98864949e-01,  9.98981953e-01,  9.99078929e-01,  9.99161184e-01,
2186      9.99233246e-01,  9.99298692e-01,  9.99360621e-01,  9.99421120e-01,
2187      9.99481916e-01,  9.99544203e-01,  9.99608576e-01,  9.99675393e-01,
2188      9.99744534e-01,  9.99815881e-01,  9.99888837e-01,  9.99962866e-01,
2189      1.00003707e+00,  1.00011098e+00,  1.00018346e+00,  1.00025380e+00,
2190      1.00032115e+00,  1.00038469e+00,  1.00044382e+00,  1.00049770e+00,
2191      1.00054598e+00,  1.00058782e+00,  1.00062299e+00,  1.00065112e+00,
2192      1.00067186e+00,  1.00068521e+00,  1.00069082e+00,  1.00068903e+00,
2193      1.00067961e+00,  1.00066280e+00,  1.00063896e+00,  1.00060833e+00,
2194      1.00057113e+00,  1.00052810e+00,  1.00047958e+00,  1.00042605e+00,
2195      1.00036812e+00,  1.00030637e+00,  1.00024164e+00,  1.00017428e+00,
2196      1.00010526e+00,  1.00003517e+00,  9.99964774e-01,  9.99894679e-01,
2197      9.99825716e-01,  9.99758482e-01,  9.99693692e-01,  9.99632061e-01,
2198      9.99574184e-01,  9.99520719e-01,  9.99472201e-01,  9.99429166e-01,
2199      9.99392092e-01,  9.99361455e-01,  9.99337614e-01,  9.99320924e-01,
2200      9.99311507e-01,  9.99309599e-01,  9.99315262e-01,  9.99328554e-01,
2201      9.99349296e-01,  9.99377370e-01,  9.99412537e-01,  9.99454379e-01,
2202      9.99502480e-01,  9.99556363e-01,  9.99615431e-01,  9.99678969e-01,
2203      9.99746263e-01,  9.99816597e-01,  9.99889076e-01,  9.99962866e-01,
2204      1.00003707e+00,  1.00011098e+00,  1.00018346e+00,  1.00025380e+00,
2205      1.00032115e+00,  1.00038469e+00,  1.00044382e+00,  1.00049770e+00,
2206      1.00054598e+00,  1.00058782e+00,  1.00062299e+00,  1.00065112e+00,
2207      1.00067186e+00,  1.00068521e+00,  1.00069082e+00,  1.00068903e+00,
2208      1.00067961e+00,  1.00066280e+00,  1.00063896e+00,  1.00060833e+00,
2209      1.00057113e+00,  1.00052810e+00,  1.00047958e+00,  1.00042605e+00,
2210      1.00036812e+00,  1.00030637e+00,  1.00024164e+00,  1.00017428e+00,
2211      1.00010526e+00,  1.00003517e+00,  9.99964774e-01,  9.99894679e-01,
2212      9.99825716e-01,  9.99758482e-01,  9.99693692e-01,  9.99632061e-01,
2213      9.99574184e-01,  9.99520719e-01,  9.99472201e-01,  9.99429166e-01,
2214      9.99392092e-01,  9.99361455e-01,  9.99337614e-01,  9.99320924e-01,
2215      9.99311507e-01,  9.99309599e-01,  9.99315262e-01,  9.99328554e-01,
2216      9.99349296e-01,  9.99377370e-01,  9.99412537e-01,  9.99454379e-01,
2217      9.99502480e-01,  9.99556363e-01,  9.99615431e-01,  9.99678969e-01,
2218      9.99746263e-01,  9.99816597e-01,  9.99889076e-01,  9.99962866e-01,
2219      1.00003707e+00,  1.00011075e+00,  1.00018275e+00,  1.00025201e+00,
2220      1.00031757e+00,  1.00037789e+00,  1.00043166e+00,  1.00047719e+00,
2221      1.00051260e+00,  1.00053585e+00,  1.00054419e+00,  1.00053477e+00,
2222      1.00050414e+00,  1.00044823e+00,  1.00036228e+00,  1.00024092e+00,
2223      1.00007784e+00,  9.99865890e-01,  9.99597013e-01,  9.99261975e-01,
2224      9.98850465e-01,  9.98351038e-01,  9.97750819e-01,  9.97035682e-01,
2225      9.96189833e-01,  9.95196044e-01,  9.94035423e-01,  9.92687285e-01,
2226      9.91129041e-01,  9.89336133e-01,  9.87281919e-01,  9.84937787e-01,
2227      9.82272744e-01,  9.79253709e-01,  9.75845337e-01,  9.72010076e-01,
2228      9.67708528e-01,  9.62899387e-01,  9.57539737e-01,  9.51585472e-01,
2229      9.44991708e-01,  9.37713265e-01,  9.29705381e-01,  9.20924187e-01,
2230      9.11327481e-01,  9.00875807e-01,  8.89532745e-01,  8.77266228e-01,
2231      8.64049077e-01,  8.49859893e-01,  8.34683776e-01,  8.18513036e-01,
2232      8.01347792e-01,  7.83196509e-01,  7.64076352e-01,  7.44013488e-01,
2233      7.23043203e-01,  7.01209962e-01,  6.78567350e-01,  6.55177712e-01,
2234      6.31111801e-01,  6.06448233e-01,  5.81272960e-01,  5.55678487e-01,
2235      5.29762745e-01,  5.03628492e-01,  4.77382004e-01,  4.51132149e-01,
2236      4.24988985e-01,  3.99062574e-01,  3.73461813e-01,  3.48293066e-01,
2237      3.23658854e-01,  2.99656719e-01,  2.76377857e-01,  2.53906131e-01,
2238      2.32316986e-01,  2.11676583e-01,  1.92040950e-01,  1.73455566e-01,
2239      1.55954808e-01,  1.39561892e-01,  1.24288827e-01,  1.10136725e-01,
2240      9.70961973e-02,  8.51479918e-02,  7.42638558e-02,  6.44074306e-02,
2241      5.55353425e-02,  4.75983508e-02,  4.05424982e-02,  3.43103148e-02,
2242      2.88419761e-02,  2.40764078e-02,  1.99523065e-02,  1.64090749e-02,
2243      1.33876354e-02,  1.08311241e-02,  8.68547149e-03,  6.89984858e-03,
2244      5.42699778e-03,  4.22345474e-03,  3.24966502e-03,  2.47000973e-03,
2245      1.85274973e-03,  1.36990519e-03,  9.97077208e-04,  7.13227608e-04,
2246      5.00426511e-04,  3.43578606e-04,  2.30138365e-04,  1.49821601e-04,
2247      9.43217892e-05,  5.70367956e-05,  3.28110509e-05,  1.76969679e-05,
2248      8.73827867e-06,  3.77677043e-06,  1.28252009e-06,  1.95021386e-07,
2249 };
2250 
2251 static const float mdct_win_5m_96k_hr[__LC3_MDCT_WIN_LEN(5000, 96000)] = {
2252      6.89548827e-08,  2.31516253e-07,  5.04477669e-07,  9.30795125e-07,
2253      1.56340695e-06,  2.46738750e-06,  3.72189174e-06,  5.42224188e-06,
2254      7.68219343e-06,  1.06363877e-05,  1.44429905e-05,  1.92865264e-05,
2255      2.53808976e-05,  3.29725954e-05,  4.23441015e-05,  5.38174427e-05,
2256      6.77579446e-05,  8.45781324e-05,  1.04741775e-04,  1.28768093e-04,
2257      1.57236034e-04,  1.90788676e-04,  2.30137754e-04,  2.76068167e-04,
2258      3.29442613e-04,  3.91206064e-04,  4.62390453e-04,  5.44119219e-04,
2259      6.37611491e-04,  7.44186866e-04,  8.65269103e-04,  1.00239040e-03,
2260      1.15719519e-03,  1.33144355e-03,  1.52701419e-03,  1.74590782e-03,
2261      1.99024938e-03,  2.26228987e-03,  2.56440835e-03,  2.89911311e-03,
2262      3.26904119e-03,  3.67696048e-03,  4.12576646e-03,  4.61848313e-03,
2263      5.15825953e-03,  5.74836833e-03,  6.39220094e-03,  7.09326472e-03,
2264      7.85517693e-03,  8.68165866e-03,  9.57652833e-03,  1.05436966e-02,
2265      1.15871523e-02,  1.27109587e-02,  1.39192408e-02,  1.52161736e-02,
2266      1.66059695e-02,  1.80928707e-02,  1.96811259e-02,  2.13749874e-02,
2267      2.31786855e-02,  2.50964165e-02,  2.71323286e-02,  2.92905010e-02,
2268      3.15749235e-02,  3.39894816e-02,  3.65379415e-02,  3.92239206e-02,
2269      4.20508720e-02,  4.50220704e-02,  4.81405817e-02,  5.14092445e-02,
2270      5.48306555e-02,  5.84071539e-02,  6.21407814e-02,  6.60332814e-02,
2271      7.00860694e-02,  7.43002295e-02,  7.86764771e-02,  8.32151473e-02,
2272      8.79162028e-02,  9.27791744e-02,  9.78031904e-02,  1.02986939e-01,
2273      1.08328678e-01,  1.13826200e-01,  1.19476855e-01,  1.25277504e-01,
2274      1.31224588e-01,  1.37314022e-01,  1.43541321e-01,  1.49901465e-01,
2275      1.56389058e-01,  1.62998185e-01,  1.69722542e-01,  1.76555380e-01,
2276      1.83489516e-01,  1.90517426e-01,  1.97631180e-01,  2.04822496e-01,
2277      2.12082773e-01,  2.19403118e-01,  2.26774365e-01,  2.34187096e-01,
2278      2.41631702e-01,  2.49098375e-01,  2.56577194e-01,  2.64058143e-01,
2279      2.71531105e-01,  2.78985947e-01,  2.86412567e-01,  2.93800950e-01,
2280      3.01141053e-01,  3.08423132e-01,  3.15637439e-01,  3.22774589e-01,
2281      3.29825372e-01,  3.36780816e-01,  3.43632400e-01,  3.50371778e-01,
2282      3.56991231e-01,  3.63483250e-01,  3.69840890e-01,  3.76057625e-01,
2283      3.82127434e-01,  3.88044775e-01,  3.93804729e-01,  3.99402857e-01,
2284      4.04835284e-01,  4.10098761e-01,  4.15190488e-01,  4.20108408e-01,
2285      4.24850911e-01,  4.29417044e-01,  4.33806360e-01,  4.38019037e-01,
2286      4.42055762e-01,  4.45917755e-01,  4.49606776e-01,  4.53125089e-01,
2287      4.56475437e-01,  4.59661037e-01,  4.62685496e-01,  4.65552896e-01,
2288      4.68267679e-01,  4.70834643e-01,  4.73258942e-01,  4.75546002e-01,
2289      4.77701575e-01,  4.79731590e-01,  4.81642276e-01,  4.83440012e-01,
2290      4.85131353e-01,  4.86723036e-01,  4.88221824e-01,  4.89634633e-01,
2291      4.90968436e-01,  4.92230296e-01,  4.93427187e-01,  4.94566232e-01,
2292      4.95654404e-01,  4.96698737e-01,  4.97706175e-01,  4.98683631e-01,
2293      4.99637932e-01,  5.00575840e-01,  5.01503944e-01,  5.02428830e-01,
2294      5.03356874e-01,  5.04294455e-01,  5.05247772e-01,  5.06222844e-01,
2295      5.07225573e-01,  5.08261740e-01,  5.09337008e-01,  5.10456860e-01,
2296      5.11626601e-01,  5.12851536e-01,  5.14136553e-01,  5.15486538e-01,
2297      5.16906321e-01,  5.18400311e-01,  5.19972920e-01,  5.21628320e-01,
2298      5.23370624e-01,  5.25203526e-01,  5.27130723e-01,  5.29155731e-01,
2299      5.31281710e-01,  5.33511758e-01,  5.35848677e-01,  5.38295090e-01,
2300      5.40853441e-01,  5.43525815e-01,  5.46314240e-01,  5.49220264e-01,
2301      5.52245498e-01,  5.55391014e-01,  5.58657765e-01,  5.62046468e-01,
2302      5.65557480e-01,  5.69190919e-01,  5.72946727e-01,  5.76824427e-01,
2303      5.80823362e-01,  5.84942579e-01,  5.89180827e-01,  5.93536615e-01,
2304      5.98008096e-01,  6.02593303e-01,  6.07289851e-01,  6.12095237e-01,
2305      6.17006540e-01,  6.22020781e-01,  6.27134562e-01,  6.32344365e-01,
2306      6.37646437e-01,  6.43036783e-01,  6.48511291e-01,  6.54065490e-01,
2307      6.59694970e-01,  6.65394902e-01,  6.71160460e-01,  6.76986754e-01,
2308      6.82868540e-01,  6.88800693e-01,  6.94777906e-01,  7.00794756e-01,
2309      7.06845820e-01,  7.12925553e-01,  7.19028473e-01,  7.25149035e-01,
2310      7.31281698e-01,  7.37420917e-01,  7.43561149e-01,  7.49696970e-01,
2311      7.55823016e-01,  7.61933863e-01,  7.68024206e-01,  7.74088979e-01,
2312      7.80123055e-01,  7.86121488e-01,  7.92079389e-01,  7.97992110e-01,
2313      8.03855121e-01,  8.09663892e-01,  8.15414310e-01,  8.21102202e-01,
2314      8.26723635e-01,  8.32274854e-01,  8.37752342e-01,  8.43152702e-01,
2315      8.48472714e-01,  8.53709280e-01,  8.58859718e-01,  8.63921225e-01,
2316      8.68891478e-01,  8.73768151e-01,  8.78549099e-01,  8.83232594e-01,
2317      8.87816727e-01,  8.92300129e-01,  8.96681368e-01,  9.00959313e-01,
2318      9.05132890e-01,  9.09201384e-01,  9.13164079e-01,  9.17020440e-01,
2319      9.20770228e-01,  9.24413145e-01,  9.27949250e-01,  9.31378603e-01,
2320      9.34701502e-01,  9.37918305e-01,  9.41029668e-01,  9.44036126e-01,
2321      9.46938515e-01,  9.49737847e-01,  9.52435017e-01,  9.55031335e-01,
2322      9.57527936e-01,  9.59926248e-01,  9.62227762e-01,  9.64434028e-01,
2323      9.66546714e-01,  9.68567610e-01,  9.70498502e-01,  9.72341299e-01,
2324      9.74098027e-01,  9.75770652e-01,  9.77361381e-01,  9.78872299e-01,
2325      9.80305672e-01,  9.81663704e-01,  9.82948720e-01,  9.84162986e-01,
2326      9.85308945e-01,  9.86388862e-01,  9.87405181e-01,  9.88360226e-01,
2327      9.89256442e-01,  9.90096152e-01,  9.90881741e-01,  9.91615593e-01,
2328      9.92299914e-01,  9.92937148e-01,  9.93529499e-01,  9.94079232e-01,
2329      9.94588435e-01,  9.95059371e-01,  9.95494127e-01,  9.95894730e-01,
2330      9.96263146e-01,  9.96601343e-01,  9.96911168e-01,  9.97194529e-01,
2331      9.97453094e-01,  9.97688591e-01,  9.97902572e-01,  9.98096704e-01,
2332      9.98272479e-01,  9.98431206e-01,  9.98574317e-01,  9.98703122e-01,
2333      9.98818815e-01,  9.98922586e-01,  9.99015450e-01,  9.99098480e-01,
2334      9.99172688e-01,  9.99238908e-01,  9.99298036e-01,  9.99350786e-01,
2335      9.99397993e-01,  9.99440193e-01,  9.99478102e-01,  9.99512255e-01,
2336      9.99543130e-01,  9.99571264e-01,  9.99597073e-01,  9.99620855e-01,
2337      9.99643087e-01,  9.99663949e-01,  9.99683797e-01,  9.99702871e-01,
2338      9.99721289e-01,  9.99739230e-01,  9.99756932e-01,  9.99774456e-01,
2339      9.99791920e-01,  9.99809384e-01,  9.99826908e-01,  9.99844551e-01,
2340      9.99862373e-01,  9.99880314e-01,  9.99898374e-01,  9.99916673e-01,
2341      9.99935031e-01,  9.99953508e-01,  9.99972105e-01,  9.99990702e-01,
2342      1.00000930e+00,  1.00002778e+00,  1.00004625e+00,  1.00006461e+00,
2343      1.00008273e+00,  1.00010061e+00,  1.00011826e+00,  1.00013554e+00,
2344      1.00015235e+00,  1.00016880e+00,  1.00018466e+00,  1.00020003e+00,
2345      1.00021482e+00,  1.00022900e+00,  1.00024247e+00,  1.00025523e+00,
2346      1.00026727e+00,  1.00027859e+00,  1.00028908e+00,  1.00029874e+00,
2347      1.00030744e+00,  1.00031543e+00,  1.00032246e+00,  1.00032854e+00,
2348      1.00033379e+00,  1.00033808e+00,  1.00034130e+00,  1.00034368e+00,
2349      1.00034511e+00,  1.00034559e+00,  1.00034511e+00,  1.00034368e+00,
2350      1.00034142e+00,  1.00033808e+00,  1.00033391e+00,  1.00032878e+00,
2351      1.00032282e+00,  1.00031602e+00,  1.00030828e+00,  1.00029981e+00,
2352      1.00029051e+00,  1.00028050e+00,  1.00026977e+00,  1.00025833e+00,
2353      1.00024617e+00,  1.00023329e+00,  1.00021994e+00,  1.00020599e+00,
2354      1.00019157e+00,  1.00017655e+00,  1.00016105e+00,  1.00014532e+00,
2355      1.00012910e+00,  1.00011253e+00,  1.00009573e+00,  1.00007868e+00,
2356      1.00006139e+00,  1.00004399e+00,  1.00002646e+00,  1.00000882e+00,
2357      9.99991179e-01,  9.99973595e-01,  9.99956071e-01,  9.99938667e-01,
2358      9.99921381e-01,  9.99904335e-01,  9.99887526e-01,  9.99870956e-01,
2359      9.99854743e-01,  9.99838948e-01,  9.99823511e-01,  9.99808550e-01,
2360      9.99794066e-01,  9.99780118e-01,  9.99766707e-01,  9.99753952e-01,
2361      9.99741793e-01,  9.99730289e-01,  9.99719560e-01,  9.99709487e-01,
2362      9.99700248e-01,  9.99691784e-01,  9.99684095e-01,  9.99677300e-01,
2363      9.99671280e-01,  9.99666214e-01,  9.99662042e-01,  9.99658763e-01,
2364      9.99656379e-01,  9.99655008e-01,  9.99654531e-01,  9.99654949e-01,
2365      9.99656379e-01,  9.99658763e-01,  9.99662101e-01,  9.99666333e-01,
2366      9.99671519e-01,  9.99677658e-01,  9.99684691e-01,  9.99692619e-01,
2367      9.99701381e-01,  9.99711037e-01,  9.99721527e-01,  9.99732792e-01,
2368      9.99744833e-01,  9.99757588e-01,  9.99771118e-01,  9.99785244e-01,
2369      9.99800026e-01,  9.99815404e-01,  9.99831259e-01,  9.99847651e-01,
2370      9.99864519e-01,  9.99881744e-01,  9.99899328e-01,  9.99917269e-01,
2371      9.99935389e-01,  9.99953687e-01,  9.99972165e-01,  9.99990702e-01,
2372      1.00000930e+00,  1.00002778e+00,  1.00004625e+00,  1.00006461e+00,
2373      1.00008273e+00,  1.00010061e+00,  1.00011826e+00,  1.00013554e+00,
2374      1.00015235e+00,  1.00016880e+00,  1.00018466e+00,  1.00020003e+00,
2375      1.00021482e+00,  1.00022900e+00,  1.00024247e+00,  1.00025523e+00,
2376      1.00026727e+00,  1.00027859e+00,  1.00028908e+00,  1.00029874e+00,
2377      1.00030744e+00,  1.00031543e+00,  1.00032246e+00,  1.00032854e+00,
2378      1.00033379e+00,  1.00033808e+00,  1.00034130e+00,  1.00034368e+00,
2379      1.00034511e+00,  1.00034559e+00,  1.00034511e+00,  1.00034368e+00,
2380      1.00034142e+00,  1.00033808e+00,  1.00033391e+00,  1.00032878e+00,
2381      1.00032282e+00,  1.00031602e+00,  1.00030828e+00,  1.00029981e+00,
2382      1.00029051e+00,  1.00028050e+00,  1.00026977e+00,  1.00025833e+00,
2383      1.00024617e+00,  1.00023329e+00,  1.00021994e+00,  1.00020599e+00,
2384      1.00019157e+00,  1.00017655e+00,  1.00016105e+00,  1.00014532e+00,
2385      1.00012910e+00,  1.00011253e+00,  1.00009573e+00,  1.00007868e+00,
2386      1.00006139e+00,  1.00004399e+00,  1.00002646e+00,  1.00000882e+00,
2387      9.99991179e-01,  9.99973595e-01,  9.99956071e-01,  9.99938667e-01,
2388      9.99921381e-01,  9.99904335e-01,  9.99887526e-01,  9.99870956e-01,
2389      9.99854743e-01,  9.99838948e-01,  9.99823511e-01,  9.99808550e-01,
2390      9.99794066e-01,  9.99780118e-01,  9.99766707e-01,  9.99753952e-01,
2391      9.99741793e-01,  9.99730289e-01,  9.99719560e-01,  9.99709487e-01,
2392      9.99700248e-01,  9.99691784e-01,  9.99684095e-01,  9.99677300e-01,
2393      9.99671280e-01,  9.99666214e-01,  9.99662042e-01,  9.99658763e-01,
2394      9.99656379e-01,  9.99655008e-01,  9.99654531e-01,  9.99654949e-01,
2395      9.99656379e-01,  9.99658763e-01,  9.99662101e-01,  9.99666333e-01,
2396      9.99671519e-01,  9.99677658e-01,  9.99684691e-01,  9.99692619e-01,
2397      9.99701381e-01,  9.99711037e-01,  9.99721527e-01,  9.99732792e-01,
2398      9.99744833e-01,  9.99757588e-01,  9.99771118e-01,  9.99785244e-01,
2399      9.99800026e-01,  9.99815404e-01,  9.99831259e-01,  9.99847651e-01,
2400      9.99864519e-01,  9.99881744e-01,  9.99899328e-01,  9.99917269e-01,
2401      9.99935389e-01,  9.99953687e-01,  9.99972165e-01,  9.99990702e-01,
2402      1.00000930e+00,  1.00002778e+00,  1.00004613e+00,  1.00006425e+00,
2403      1.00008214e+00,  1.00009966e+00,  1.00011683e+00,  1.00013340e+00,
2404      1.00014925e+00,  1.00016439e+00,  1.00017869e+00,  1.00019193e+00,
2405      1.00020397e+00,  1.00021482e+00,  1.00022411e+00,  1.00023162e+00,
2406      1.00023735e+00,  1.00024080e+00,  1.00024199e+00,  1.00024033e+00,
2407      1.00023568e+00,  1.00022769e+00,  1.00021589e+00,  1.00020003e+00,
2408      1.00017941e+00,  1.00015378e+00,  1.00012243e+00,  1.00008476e+00,
2409      1.00004041e+00,  9.99988317e-01,  9.99928057e-01,  9.99858677e-01,
2410      9.99779403e-01,  9.99689281e-01,  9.99587417e-01,  9.99472737e-01,
2411      9.99344110e-01,  9.99200404e-01,  9.99040425e-01,  9.98862803e-01,
2412      9.98666167e-01,  9.98449087e-01,  9.98209953e-01,  9.97947097e-01,
2413      9.97658968e-01,  9.97343540e-01,  9.96999085e-01,  9.96623516e-01,
2414      9.96214747e-01,  9.95770633e-01,  9.95288789e-01,  9.94766831e-01,
2415      9.94202256e-01,  9.93592501e-01,  9.92934704e-01,  9.92226064e-01,
2416      9.91463542e-01,  9.90644097e-01,  9.89764392e-01,  9.88821149e-01,
2417      9.87810850e-01,  9.86729801e-01,  9.85574305e-01,  9.84340370e-01,
2418      9.83024001e-01,  9.81621027e-01,  9.80127096e-01,  9.78537738e-01,
2419      9.76848423e-01,  9.75054383e-01,  9.73150730e-01,  9.71132576e-01,
2420      9.68994796e-01,  9.66732204e-01,  9.64339435e-01,  9.61811244e-01,
2421      9.59142029e-01,  9.56326306e-01,  9.53358531e-01,  9.50233042e-01,
2422      9.46944118e-01,  9.43486214e-01,  9.39853668e-01,  9.36040819e-01,
2423      9.32042122e-01,  9.27852154e-01,  9.23465431e-01,  9.18876767e-01,
2424      9.14081097e-01,  9.09073353e-01,  9.03848886e-01,  8.98403168e-01,
2425      8.92731845e-01,  8.86831045e-01,  8.80696952e-01,  8.74326289e-01,
2426      8.67715955e-01,  8.60863328e-01,  8.53766203e-01,  8.46422672e-01,
2427      8.38831365e-01,  8.30991328e-01,  8.22902203e-01,  8.14563930e-01,
2428      8.05977046e-01,  7.97142744e-01,  7.88062632e-01,  7.78738797e-01,
2429      7.69173980e-01,  7.59371519e-01,  7.49335289e-01,  7.39069760e-01,
2430      7.28579819e-01,  7.17871130e-01,  7.06949770e-01,  6.95822597e-01,
2431      6.84496701e-01,  6.72980070e-01,  6.61280870e-01,  6.49408042e-01,
2432      6.37370944e-01,  6.25179410e-01,  6.12843752e-01,  6.00374699e-01,
2433      5.87783396e-01,  5.75081468e-01,  5.62280834e-01,  5.49393654e-01,
2434      5.36432624e-01,  5.23410499e-01,  5.10340393e-01,  4.97235566e-01,
2435      4.84109521e-01,  4.70975846e-01,  4.57848251e-01,  4.44740474e-01,
2436      4.31666315e-01,  4.18639511e-01,  4.05673832e-01,  3.92782807e-01,
2437      3.79979968e-01,  3.67278606e-01,  3.54691803e-01,  3.42232376e-01,
2438      3.29912812e-01,  3.17745358e-01,  3.05741847e-01,  2.93913603e-01,
2439      2.82271683e-01,  2.70826548e-01,  2.59588152e-01,  2.48565957e-01,
2440      2.37768814e-01,  2.27205008e-01,  2.16882199e-01,  2.06807390e-01,
2441      1.96986943e-01,  1.87426537e-01,  1.78131178e-01,  1.69105172e-01,
2442      1.60352126e-01,  1.51874945e-01,  1.43675804e-01,  1.35756254e-01,
2443      1.28117070e-01,  1.20758407e-01,  1.13679729e-01,  1.06879868e-01,
2444      1.00357018e-01,  9.41087753e-02,  8.81321430e-02,  8.24235976e-02,
2445      7.69790635e-02,  7.17940032e-02,  6.68634027e-02,  6.21818379e-02,
2446      5.77434972e-02,  5.35422154e-02,  4.95715141e-02,  4.58246432e-02,
2447      4.22946103e-02,  3.89742292e-02,  3.58561426e-02,  3.29328589e-02,
2448      3.01968064e-02,  2.76403390e-02,  2.52557844e-02,  2.30354760e-02,
2449      2.09717732e-02,  1.90570969e-02,  1.72839500e-02,  1.56449396e-02,
2450      1.41328052e-02,  1.27404351e-02,  1.14608845e-02,  1.02873892e-02,
2451      9.21338331e-03,  8.23251065e-03,  7.33863330e-03,  6.52584061e-03,
2452      5.78845851e-03,  5.12105133e-03,  4.51842742e-03,  3.97564145e-03,
2453      3.48799396e-03,  3.05103138e-03,  2.66054412e-03,  2.31256452e-03,
2454      2.00336217e-03,  1.72943878e-03,  1.48752402e-03,  1.27456791e-03,
2455      1.08773448e-03,  9.24394117e-04,  7.82115792e-04,  6.58658682e-04,
2456      5.51963516e-04,  4.60143900e-04,  3.81477352e-04,  3.14396282e-04,
2457      2.57478940e-04,  2.09440448e-04,  1.69123945e-04,  1.35491777e-04,
2458      1.07617016e-04,  8.46750627e-05,  6.59356156e-05,  5.07548866e-05,
2459      3.85681342e-05,  2.88825358e-05,  2.12704090e-05,  1.53627971e-05,
2460      1.08434460e-05,  7.44312956e-06,  4.93438165e-06,  3.12659085e-06,
2461      1.86147406e-06,  1.00890213e-06,  4.63012810e-07,  1.37904777e-07,
2462 };
2463 
2464 #endif /* LC3_PLUS_HR */
2465 #endif /* LC3_PLUS */
2466 
2467 static const float mdct_win_7m5_8k[__LC3_MDCT_WIN_LEN(7500, 8000)] = {
2468      2.95060859e-03,  7.17541132e-03,  1.37695374e-02,  2.30953556e-02,
2469      3.54036230e-02,  5.08289304e-02,  6.94696293e-02,  9.13884278e-02,
2470      1.16604575e-01,  1.45073546e-01,  1.76711174e-01,  2.11342953e-01,
2471      2.48768614e-01,  2.88701102e-01,  3.30823871e-01,  3.74814544e-01,
2472      4.20308013e-01,  4.66904918e-01,  5.14185341e-01,  5.61710041e-01,
2473      6.09026346e-01,  6.55671016e-01,  7.01218384e-01,  7.45240679e-01,
2474      7.87369206e-01,  8.27223833e-01,  8.64513675e-01,  8.98977415e-01,
2475      9.30407518e-01,  9.58599937e-01,  9.83447719e-01,  1.00488283e+00,
2476      1.02285381e+00,  1.03740495e+00,  1.04859791e+00,  1.05656184e+00,
2477      1.06149371e+00,  1.06362578e+00,  1.06325973e+00,  1.06074505e+00,
2478      1.05643590e+00,  1.05069500e+00,  1.04392435e+00,  1.03647725e+00,
2479      1.02872867e+00,  1.02106486e+00,  1.01400658e+00,  1.00727455e+00,
2480      1.00172250e+00,  9.97309592e-01,  9.93985158e-01,  9.91683335e-01,
2481      9.90325325e-01,  9.89822613e-01,  9.90074734e-01,  9.90975314e-01,
2482      9.92412851e-01,  9.94273149e-01,  9.96439157e-01,  9.98791616e-01,
2483      1.00120985e+00,  1.00357357e+00,  1.00575984e+00,  1.00764515e+00,
2484      1.00910687e+00,  1.01002476e+00,  1.01028203e+00,  1.00976919e+00,
2485      1.00838641e+00,  1.00605124e+00,  1.00269767e+00,  9.98280464e-01,
2486      9.92777987e-01,  9.86186892e-01,  9.77634164e-01,  9.67447270e-01,
2487      9.55129725e-01,  9.40389877e-01,  9.22959280e-01,  9.02607350e-01,
2488      8.79202689e-01,  8.52641750e-01,  8.22881272e-01,  7.89971715e-01,
2489      7.54030328e-01,  7.15255742e-01,  6.73936911e-01,  6.30414716e-01,
2490      5.85078858e-01,  5.38398518e-01,  4.90833753e-01,  4.42885823e-01,
2491      3.95091024e-01,  3.48004343e-01,  3.02196710e-01,  2.58227431e-01,
2492      2.16641416e-01,  1.77922122e-01,  1.42480547e-01,  1.10652194e-01,
2493      8.26995967e-02,  5.88334516e-02,  3.92030848e-02,  2.38629107e-02,
2494      1.26976223e-02,  5.35665361e-03,
2495 };
2496 
2497 static const float mdct_win_7m5_16k[__LC3_MDCT_WIN_LEN(7500, 16000)] = {
2498      2.20824874e-03,  3.81014420e-03,  5.91552473e-03,  8.58361457e-03,
2499      1.18759723e-02,  1.58335301e-02,  2.04918652e-02,  2.58883593e-02,
2500      3.20415894e-02,  3.89616721e-02,  4.66742169e-02,  5.51849337e-02,
2501      6.45038384e-02,  7.46411071e-02,  8.56000162e-02,  9.73846703e-02,
2502      1.09993603e-01,  1.23419277e-01,  1.37655457e-01,  1.52690437e-01,
2503      1.68513363e-01,  1.85093105e-01,  2.02410419e-01,  2.20450365e-01,
2504      2.39167941e-01,  2.58526168e-01,  2.78498539e-01,  2.99038432e-01,
2505      3.20104862e-01,  3.41658622e-01,  3.63660034e-01,  3.86062695e-01,
2506      4.08815272e-01,  4.31871046e-01,  4.55176988e-01,  4.78676593e-01,
2507      5.02324813e-01,  5.26060916e-01,  5.49831283e-01,  5.73576883e-01,
2508      5.97241338e-01,  6.20770242e-01,  6.44099662e-01,  6.67176382e-01,
2509      6.89958854e-01,  7.12379980e-01,  7.34396372e-01,  7.55966688e-01,
2510      7.77036981e-01,  7.97558114e-01,  8.17490856e-01,  8.36796950e-01,
2511      8.55447310e-01,  8.73400798e-01,  8.90635719e-01,  9.07128770e-01,
2512      9.22848784e-01,  9.37763323e-01,  9.51860206e-01,  9.65130600e-01,
2513      9.77556541e-01,  9.89126209e-01,  9.99846919e-01,  1.00970073e+00,
2514      1.01868229e+00,  1.02681455e+00,  1.03408981e+00,  1.04051196e+00,
2515      1.04610837e+00,  1.05088565e+00,  1.05486289e+00,  1.05807221e+00,
2516      1.06053414e+00,  1.06227662e+00,  1.06333815e+00,  1.06375557e+00,
2517      1.06356632e+00,  1.06282156e+00,  1.06155996e+00,  1.05981709e+00,
2518      1.05765876e+00,  1.05512006e+00,  1.05223985e+00,  1.04908779e+00,
2519      1.04569860e+00,  1.04210831e+00,  1.03838099e+00,  1.03455276e+00,
2520      1.03067200e+00,  1.02679167e+00,  1.02295558e+00,  1.01920733e+00,
2521      1.01587289e+00,  1.01221017e+00,  1.00884559e+00,  1.00577851e+00,
2522      1.00300262e+00,  1.00051460e+00,  9.98309229e-01,  9.96378601e-01,
2523      9.94718132e-01,  9.93316216e-01,  9.92166957e-01,  9.91258603e-01,
2524      9.90581104e-01,  9.90123118e-01,  9.89873712e-01,  9.89818707e-01,
2525      9.89946800e-01,  9.90243175e-01,  9.90695564e-01,  9.91288540e-01,
2526      9.92009469e-01,  9.92842693e-01,  9.93775067e-01,  9.94790398e-01,
2527      9.95875534e-01,  9.97014367e-01,  9.98192871e-01,  9.99394506e-01,
2528      1.00060586e+00,  1.00181040e+00,  1.00299457e+00,  1.00414155e+00,
2529      1.00523688e+00,  1.00626393e+00,  1.00720890e+00,  1.00805489e+00,
2530      1.00878802e+00,  1.00939182e+00,  1.00985296e+00,  1.01015529e+00,
2531      1.01028602e+00,  1.01022988e+00,  1.00997541e+00,  1.00950846e+00,
2532      1.00881848e+00,  1.00789488e+00,  1.00672876e+00,  1.00530991e+00,
2533      1.00363456e+00,  1.00169363e+00,  9.99485663e-01,  9.97006370e-01,
2534      9.94254687e-01,  9.91231967e-01,  9.87937115e-01,  9.84375125e-01,
2535      9.79890963e-01,  9.75269879e-01,  9.70180498e-01,  9.64580027e-01,
2536      9.58425534e-01,  9.51684014e-01,  9.44320232e-01,  9.36290624e-01,
2537      9.27580507e-01,  9.18153414e-01,  9.07976524e-01,  8.97050058e-01,
2538      8.85351360e-01,  8.72857927e-01,  8.59579819e-01,  8.45502615e-01,
2539      8.30619943e-01,  8.14946648e-01,  7.98489378e-01,  7.81262450e-01,
2540      7.63291769e-01,  7.44590843e-01,  7.25199287e-01,  7.05153668e-01,
2541      6.84490545e-01,  6.63245210e-01,  6.41477162e-01,  6.19235334e-01,
2542      5.96559133e-01,  5.73519989e-01,  5.50173851e-01,  5.26568538e-01,
2543      5.02781159e-01,  4.78860889e-01,  4.54877894e-01,  4.30898123e-01,
2544      4.06993964e-01,  3.83234031e-01,  3.59680098e-01,  3.36408100e-01,
2545      3.13496418e-01,  2.91010565e-01,  2.69019585e-01,  2.47584348e-01,
2546      2.26788433e-01,  2.06677771e-01,  1.87310343e-01,  1.68739644e-01,
2547      1.51012382e-01,  1.34171842e-01,  1.18254662e-01,  1.03290734e-01,
2548      8.93117360e-02,  7.63429787e-02,  6.44077291e-02,  5.35243715e-02,
2549      4.37084453e-02,  3.49667099e-02,  2.72984629e-02,  2.06895808e-02,
2550      1.51125125e-02,  1.05228754e-02,  6.85547314e-03,  4.02351119e-03,
2551 };
2552 
2553 static const float mdct_win_7m5_24k[__LC3_MDCT_WIN_LEN(7500, 24000)] = {
2554      1.97084908e-03,  2.95060859e-03,  4.12447721e-03,  5.52688664e-03,
2555      7.17541132e-03,  9.08757730e-03,  1.12819105e-02,  1.37695374e-02,
2556      1.65600266e-02,  1.96650895e-02,  2.30953556e-02,  2.68612894e-02,
2557      3.09632560e-02,  3.54036230e-02,  4.01915610e-02,  4.53331403e-02,
2558      5.08289304e-02,  5.66815448e-02,  6.28935304e-02,  6.94696293e-02,
2559      7.64106314e-02,  8.37160016e-02,  9.13884278e-02,  9.94294008e-02,
2560      1.07834725e-01,  1.16604575e-01,  1.25736503e-01,  1.35226811e-01,
2561      1.45073546e-01,  1.55273819e-01,  1.65822194e-01,  1.76711174e-01,
2562      1.87928776e-01,  1.99473180e-01,  2.11342953e-01,  2.23524554e-01,
2563      2.36003100e-01,  2.48768614e-01,  2.61813811e-01,  2.75129161e-01,
2564      2.88701102e-01,  3.02514034e-01,  3.16558805e-01,  3.30823871e-01,
2565      3.45295567e-01,  3.59963992e-01,  3.74814544e-01,  3.89831817e-01,
2566      4.05001010e-01,  4.20308013e-01,  4.35739515e-01,  4.51277817e-01,
2567      4.66904918e-01,  4.82609041e-01,  4.98375466e-01,  5.14185341e-01,
2568      5.30021478e-01,  5.45869352e-01,  5.61710041e-01,  5.77528151e-01,
2569      5.93304696e-01,  6.09026346e-01,  6.24674189e-01,  6.40227555e-01,
2570      6.55671016e-01,  6.70995935e-01,  6.86184559e-01,  7.01218384e-01,
2571      7.16078449e-01,  7.30756084e-01,  7.45240679e-01,  7.59515122e-01,
2572      7.73561955e-01,  7.87369206e-01,  8.00923138e-01,  8.14211386e-01,
2573      8.27223833e-01,  8.39952374e-01,  8.52386102e-01,  8.64513675e-01,
2574      8.76324079e-01,  8.87814288e-01,  8.98977415e-01,  9.09803319e-01,
2575      9.20284312e-01,  9.30407518e-01,  9.40169652e-01,  9.49567795e-01,
2576      9.58599937e-01,  9.67260260e-01,  9.75545166e-01,  9.83447719e-01,
2577      9.90971957e-01,  9.98119269e-01,  1.00488283e+00,  1.01125773e+00,
2578      1.01724436e+00,  1.02285381e+00,  1.02808734e+00,  1.03293706e+00,
2579      1.03740495e+00,  1.04150164e+00,  1.04523236e+00,  1.04859791e+00,
2580      1.05160340e+00,  1.05425505e+00,  1.05656184e+00,  1.05853400e+00,
2581      1.06017414e+00,  1.06149371e+00,  1.06249943e+00,  1.06320577e+00,
2582      1.06362578e+00,  1.06376487e+00,  1.06363778e+00,  1.06325973e+00,
2583      1.06264695e+00,  1.06180496e+00,  1.06074505e+00,  1.05948492e+00,
2584      1.05804533e+00,  1.05643590e+00,  1.05466218e+00,  1.05274047e+00,
2585      1.05069500e+00,  1.04853894e+00,  1.04627898e+00,  1.04392435e+00,
2586      1.04149540e+00,  1.03901003e+00,  1.03647725e+00,  1.03390793e+00,
2587      1.03131989e+00,  1.02872867e+00,  1.02614832e+00,  1.02358988e+00,
2588      1.02106486e+00,  1.01856262e+00,  1.01655770e+00,  1.01400658e+00,
2589      1.01162953e+00,  1.00938590e+00,  1.00727455e+00,  1.00529616e+00,
2590      1.00344526e+00,  1.00172250e+00,  1.00012792e+00,  9.98657533e-01,
2591      9.97309592e-01,  9.96083571e-01,  9.94976569e-01,  9.93985158e-01,
2592      9.93107530e-01,  9.92341305e-01,  9.91683335e-01,  9.91130070e-01,
2593      9.90678325e-01,  9.90325325e-01,  9.90067562e-01,  9.89901282e-01,
2594      9.89822613e-01,  9.89827845e-01,  9.89913241e-01,  9.90074734e-01,
2595      9.90308256e-01,  9.90609852e-01,  9.90975314e-01,  9.91400330e-01,
2596      9.91880966e-01,  9.92412851e-01,  9.92991779e-01,  9.93613381e-01,
2597      9.94273149e-01,  9.94966958e-01,  9.95690370e-01,  9.96439157e-01,
2598      9.97208572e-01,  9.97994275e-01,  9.98791616e-01,  9.99596062e-01,
2599      1.00040410e+00,  1.00120985e+00,  1.00200976e+00,  1.00279924e+00,
2600      1.00357357e+00,  1.00432828e+00,  1.00505850e+00,  1.00575984e+00,
2601      1.00642767e+00,  1.00705768e+00,  1.00764515e+00,  1.00818549e+00,
2602      1.00867427e+00,  1.00910687e+00,  1.00947916e+00,  1.00978659e+00,
2603      1.01002476e+00,  1.01018954e+00,  1.01027669e+00,  1.01028203e+00,
2604      1.01020174e+00,  1.01003208e+00,  1.00976919e+00,  1.00940939e+00,
2605      1.00894931e+00,  1.00838641e+00,  1.00771780e+00,  1.00694031e+00,
2606      1.00605124e+00,  1.00504879e+00,  1.00393183e+00,  1.00269767e+00,
2607      1.00134427e+00,  9.99872092e-01,  9.98280464e-01,  9.96566569e-01,
2608      9.94731737e-01,  9.92777987e-01,  9.90701374e-01,  9.88504165e-01,
2609      9.86186892e-01,  9.83711989e-01,  9.80584643e-01,  9.77634164e-01,
2610      9.74455033e-01,  9.71062916e-01,  9.67447270e-01,  9.63593926e-01,
2611      9.59491398e-01,  9.55129725e-01,  9.50501326e-01,  9.45592810e-01,
2612      9.40389877e-01,  9.34886760e-01,  9.29080559e-01,  9.22959280e-01,
2613      9.16509579e-01,  9.09724456e-01,  9.02607350e-01,  8.95155084e-01,
2614      8.87356154e-01,  8.79202689e-01,  8.70699698e-01,  8.61847424e-01,
2615      8.52641750e-01,  8.43077833e-01,  8.33154905e-01,  8.22881272e-01,
2616      8.12257597e-01,  8.01285439e-01,  7.89971715e-01,  7.78318177e-01,
2617      7.66337710e-01,  7.54030328e-01,  7.41407991e-01,  7.28477501e-01,
2618      7.15255742e-01,  7.01751739e-01,  6.87975632e-01,  6.73936911e-01,
2619      6.59652573e-01,  6.45139489e-01,  6.30414716e-01,  6.15483622e-01,
2620      6.00365852e-01,  5.85078858e-01,  5.69649536e-01,  5.54084810e-01,
2621      5.38398518e-01,  5.22614738e-01,  5.06756805e-01,  4.90833753e-01,
2622      4.74866033e-01,  4.58876566e-01,  4.42885823e-01,  4.26906539e-01,
2623      4.10970973e-01,  3.95091024e-01,  3.79291327e-01,  3.63587417e-01,
2624      3.48004343e-01,  3.32563201e-01,  3.17287485e-01,  3.02196710e-01,
2625      2.87309403e-01,  2.72643992e-01,  2.58227431e-01,  2.44072856e-01,
2626      2.30208977e-01,  2.16641416e-01,  2.03398481e-01,  1.90486162e-01,
2627      1.77922122e-01,  1.65726674e-01,  1.53906397e-01,  1.42480547e-01,
2628      1.31453980e-01,  1.20841778e-01,  1.10652194e-01,  1.00891734e-01,
2629      9.15718851e-02,  8.26995967e-02,  7.42815529e-02,  6.63242382e-02,
2630      5.88334516e-02,  5.18140676e-02,  4.52698346e-02,  3.92030848e-02,
2631      3.36144159e-02,  2.85023308e-02,  2.38629107e-02,  1.96894227e-02,
2632      1.59720527e-02,  1.26976223e-02,  9.84937739e-03,  7.40724463e-03,
2633      5.35665361e-03,  3.83226552e-03,
2634 };
2635 
2636 static const float mdct_win_7m5_32k[__LC3_MDCT_WIN_LEN(7500, 32000)] = {
2637      1.84833037e-03,  2.56481839e-03,  3.36762118e-03,  4.28736617e-03,
2638      5.33830143e-03,  6.52679223e-03,  7.86112587e-03,  9.34628179e-03,
2639      1.09916868e-02,  1.28011172e-02,  1.47805911e-02,  1.69307043e-02,
2640      1.92592307e-02,  2.17696937e-02,  2.44685983e-02,  2.73556543e-02,
2641      3.04319230e-02,  3.36980464e-02,  3.71583577e-02,  4.08148180e-02,
2642      4.46708068e-02,  4.87262995e-02,  5.29820633e-02,  5.74382470e-02,
2643      6.20968580e-02,  6.69609767e-02,  7.20298364e-02,  7.73039146e-02,
2644      8.27825574e-02,  8.84682102e-02,  9.43607566e-02,  1.00460272e-01,
2645      1.06763824e-01,  1.13273679e-01,  1.19986420e-01,  1.26903521e-01,
2646      1.34020853e-01,  1.41339557e-01,  1.48857211e-01,  1.56573685e-01,
2647      1.64484622e-01,  1.72589077e-01,  1.80879090e-01,  1.89354320e-01,
2648      1.98012244e-01,  2.06854141e-01,  2.15875319e-01,  2.25068672e-01,
2649      2.34427407e-01,  2.43948314e-01,  2.53627993e-01,  2.63464061e-01,
2650      2.73450494e-01,  2.83582189e-01,  2.93853469e-01,  3.04257373e-01,
2651      3.14790914e-01,  3.25449123e-01,  3.36227410e-01,  3.47118760e-01,
2652      3.58120177e-01,  3.69224663e-01,  3.80427793e-01,  3.91720023e-01,
2653      4.03097022e-01,  4.14551955e-01,  4.26081719e-01,  4.37676318e-01,
2654      4.49330196e-01,  4.61034855e-01,  4.72786043e-01,  4.84576777e-01,
2655      4.96401707e-01,  5.08252458e-01,  5.20122078e-01,  5.32002077e-01,
2656      5.43888090e-01,  5.55771601e-01,  5.67645739e-01,  5.79502786e-01,
2657      5.91335035e-01,  6.03138367e-01,  6.14904172e-01,  6.26623941e-01,
2658      6.38288834e-01,  6.49893375e-01,  6.61432360e-01,  6.72902514e-01,
2659      6.84293750e-01,  6.95600460e-01,  7.06811784e-01,  7.17923425e-01,
2660      7.28931386e-01,  7.39832773e-01,  7.50618982e-01,  7.61284053e-01,
2661      7.71818919e-01,  7.82220992e-01,  7.92481330e-01,  8.02599448e-01,
2662      8.12565230e-01,  8.22377129e-01,  8.32030518e-01,  8.41523208e-01,
2663      8.50848313e-01,  8.60002412e-01,  8.68979881e-01,  8.77778347e-01,
2664      8.86395904e-01,  8.94829421e-01,  9.03077626e-01,  9.11132652e-01,
2665      9.18993585e-01,  9.26652937e-01,  9.34111420e-01,  9.41364344e-01,
2666      9.48412967e-01,  9.55255630e-01,  9.61892013e-01,  9.68316363e-01,
2667      9.74530156e-01,  9.80528338e-01,  9.86313928e-01,  9.91886049e-01,
2668      9.97246345e-01,  1.00239190e+00,  1.00731946e+00,  1.01202707e+00,
2669      1.01651654e+00,  1.02079430e+00,  1.02486082e+00,  1.02871471e+00,
2670      1.03235170e+00,  1.03577375e+00,  1.03898432e+00,  1.04198786e+00,
2671      1.04478564e+00,  1.04737818e+00,  1.04976743e+00,  1.05195405e+00,
2672      1.05394290e+00,  1.05573463e+00,  1.05734177e+00,  1.05875726e+00,
2673      1.05998674e+00,  1.06103672e+00,  1.06190651e+00,  1.06260369e+00,
2674      1.06313289e+00,  1.06350237e+00,  1.06370981e+00,  1.06376322e+00,
2675      1.06366765e+00,  1.06343012e+00,  1.06305656e+00,  1.06255421e+00,
2676      1.06192235e+00,  1.06116702e+00,  1.06029469e+00,  1.05931469e+00,
2677      1.05823465e+00,  1.05705891e+00,  1.05578948e+00,  1.05442979e+00,
2678      1.05298793e+00,  1.05147505e+00,  1.04989930e+00,  1.04826213e+00,
2679      1.04656691e+00,  1.04481699e+00,  1.04302125e+00,  1.04118768e+00,
2680      1.03932339e+00,  1.03743168e+00,  1.03551757e+00,  1.03358511e+00,
2681      1.03164371e+00,  1.02969955e+00,  1.02775944e+00,  1.02582719e+00,
2682      1.02390791e+00,  1.02200805e+00,  1.02013910e+00,  1.01826310e+00,
2683      1.01687901e+00,  1.01492195e+00,  1.01309662e+00,  1.01134205e+00,
2684      1.00965912e+00,  1.00805036e+00,  1.00651754e+00,  1.00505799e+00,
2685      1.00366956e+00,  1.00235327e+00,  1.00110981e+00,  9.99937523e-01,
2686      9.98834524e-01,  9.97800606e-01,  9.96835756e-01,  9.95938881e-01,
2687      9.95108459e-01,  9.94343411e-01,  9.93642921e-01,  9.93005832e-01,
2688      9.92430984e-01,  9.91917493e-01,  9.91463898e-01,  9.91068214e-01,
2689      9.90729218e-01,  9.90446225e-01,  9.90217819e-01,  9.90041963e-01,
2690      9.89917085e-01,  9.89841975e-01,  9.89815048e-01,  9.89834329e-01,
2691      9.89898211e-01,  9.90005403e-01,  9.90154189e-01,  9.90342427e-01,
2692      9.90568459e-01,  9.90830953e-01,  9.91128038e-01,  9.91457566e-01,
2693      9.91817881e-01,  9.92207559e-01,  9.92624757e-01,  9.93067358e-01,
2694      9.93533398e-01,  9.94021410e-01,  9.94529685e-01,  9.95055964e-01,
2695      9.95598351e-01,  9.96155580e-01,  9.96725627e-01,  9.97306092e-01,
2696      9.97895214e-01,  9.98491441e-01,  9.99092890e-01,  9.99697063e-01,
2697      1.00030303e+00,  1.00090793e+00,  1.00151084e+00,  1.00210923e+00,
2698      1.00270118e+00,  1.00328513e+00,  1.00385926e+00,  1.00442111e+00,
2699      1.00496860e+00,  1.00550040e+00,  1.00601455e+00,  1.00650869e+00,
2700      1.00698104e+00,  1.00743004e+00,  1.00785364e+00,  1.00824962e+00,
2701      1.00861604e+00,  1.00895138e+00,  1.00925390e+00,  1.00952134e+00,
2702      1.00975175e+00,  1.00994371e+00,  1.01009550e+00,  1.01020488e+00,
2703      1.01027007e+00,  1.01028975e+00,  1.01026227e+00,  1.01018562e+00,
2704      1.01005820e+00,  1.00987882e+00,  1.00964593e+00,  1.00935753e+00,
2705      1.00901228e+00,  1.00860959e+00,  1.00814837e+00,  1.00762674e+00,
2706      1.00704343e+00,  1.00639775e+00,  1.00568877e+00,  1.00491559e+00,
2707      1.00407768e+00,  1.00317429e+00,  1.00220424e+00,  1.00116684e+00,
2708      1.00006248e+00,  9.98891422e-01,  9.97652252e-01,  9.96343856e-01,
2709      9.94967462e-01,  9.93524663e-01,  9.92013927e-01,  9.90433283e-01,
2710      9.88785147e-01,  9.87072681e-01,  9.85297443e-01,  9.83401161e-01,
2711      9.80949418e-01,  9.78782729e-01,  9.76468238e-01,  9.74042850e-01,
2712      9.71498848e-01,  9.68829968e-01,  9.66030974e-01,  9.63095104e-01,
2713      9.60018198e-01,  9.56795738e-01,  9.53426267e-01,  9.49903482e-01,
2714      9.46222115e-01,  9.42375820e-01,  9.38361702e-01,  9.34177798e-01,
2715      9.29823124e-01,  9.25292320e-01,  9.20580120e-01,  9.15679793e-01,
2716      9.10590604e-01,  9.05315030e-01,  8.99852756e-01,  8.94199497e-01,
2717      8.88350152e-01,  8.82301631e-01,  8.76054874e-01,  8.69612385e-01,
2718      8.62972799e-01,  8.56135198e-01,  8.49098179e-01,  8.41857024e-01,
2719      8.34414055e-01,  8.26774617e-01,  8.18939244e-01,  8.10904891e-01,
2720      8.02675318e-01,  7.94253751e-01,  7.85641662e-01,  7.76838609e-01,
2721      7.67853193e-01,  7.58685181e-01,  7.49330658e-01,  7.39809171e-01,
2722      7.30109944e-01,  7.20247781e-01,  7.10224161e-01,  7.00044326e-01,
2723      6.89711890e-01,  6.79231154e-01,  6.68608179e-01,  6.57850997e-01,
2724      6.46965718e-01,  6.35959617e-01,  6.24840336e-01,  6.13603503e-01,
2725      6.02265091e-01,  5.90829083e-01,  5.79309408e-01,  5.67711124e-01,
2726      5.56037416e-01,  5.44293664e-01,  5.32489768e-01,  5.20636084e-01,
2727      5.08743273e-01,  4.96811166e-01,  4.84849881e-01,  4.72868107e-01,
2728      4.60875918e-01,  4.48881081e-01,  4.36891039e-01,  4.24912022e-01,
2729      4.12960603e-01,  4.01035896e-01,  3.89157867e-01,  3.77322199e-01,
2730      3.65543767e-01,  3.53832356e-01,  3.42196115e-01,  3.30644820e-01,
2731      3.19187559e-01,  3.07833309e-01,  2.96588182e-01,  2.85463717e-01,
2732      2.74462409e-01,  2.63609584e-01,  2.52883101e-01,  2.42323489e-01,
2733      2.31925746e-01,  2.21690837e-01,  2.11638058e-01,  2.01766920e-01,
2734      1.92082236e-01,  1.82589160e-01,  1.73305997e-01,  1.64229200e-01,
2735      1.55362654e-01,  1.46717079e-01,  1.38299391e-01,  1.30105078e-01,
2736      1.22145310e-01,  1.14423458e-01,  1.06941076e-01,  9.97025893e-02,
2737      9.27124283e-02,  8.59737427e-02,  7.94893311e-02,  7.32616579e-02,
2738      6.72934102e-02,  6.15874081e-02,  5.61458003e-02,  5.09700747e-02,
2739      4.60617047e-02,  4.14220117e-02,  3.70514189e-02,  3.29494666e-02,
2740      2.91153327e-02,  2.55476401e-02,  2.22437711e-02,  1.92000659e-02,
2741      1.64122205e-02,  1.38747611e-02,  1.15806353e-02,  9.52213664e-03,
2742      7.69137380e-03,  6.07207833e-03,  4.62581217e-03,  3.60685164e-03,
2743 };
2744 
2745 static const float mdct_win_7m5_48k[__LC3_MDCT_WIN_LEN(7500, 48000)] = {
2746      1.72152668e-03,  2.20824874e-03,  2.68901752e-03,  3.22613342e-03,
2747      3.81014420e-03,  4.45371932e-03,  5.15369240e-03,  5.91552473e-03,
2748      6.73869158e-03,  7.62861841e-03,  8.58361457e-03,  9.60938437e-03,
2749      1.07060753e-02,  1.18759723e-02,  1.31190130e-02,  1.44390108e-02,
2750      1.58335301e-02,  1.73063081e-02,  1.88584711e-02,  2.04918652e-02,
2751      2.22061476e-02,  2.40057166e-02,  2.58883593e-02,  2.78552326e-02,
2752      2.99059145e-02,  3.20415894e-02,  3.42610013e-02,  3.65680973e-02,
2753      3.89616721e-02,  4.14435824e-02,  4.40140796e-02,  4.66742169e-02,
2754      4.94214625e-02,  5.22588489e-02,  5.51849337e-02,  5.82005143e-02,
2755      6.13059845e-02,  6.45038384e-02,  6.77913923e-02,  7.11707833e-02,
2756      7.46411071e-02,  7.82028053e-02,  8.18549521e-02,  8.56000162e-02,
2757      8.94357617e-02,  9.33642589e-02,  9.73846703e-02,  1.01496718e-01,
2758      1.05698760e-01,  1.09993603e-01,  1.14378287e-01,  1.18853508e-01,
2759      1.23419277e-01,  1.28075997e-01,  1.32820581e-01,  1.37655457e-01,
2760      1.42578648e-01,  1.47590522e-01,  1.52690437e-01,  1.57878853e-01,
2761      1.63152529e-01,  1.68513363e-01,  1.73957969e-01,  1.79484737e-01,
2762      1.85093105e-01,  1.90784835e-01,  1.96556497e-01,  2.02410419e-01,
2763      2.08345433e-01,  2.14359825e-01,  2.20450365e-01,  2.26617296e-01,
2764      2.32856279e-01,  2.39167941e-01,  2.45550642e-01,  2.52003951e-01,
2765      2.58526168e-01,  2.65118408e-01,  2.71775911e-01,  2.78498539e-01,
2766      2.85284606e-01,  2.92132459e-01,  2.99038432e-01,  3.06004256e-01,
2767      3.13026529e-01,  3.20104862e-01,  3.27237324e-01,  3.34423210e-01,
2768      3.41658622e-01,  3.48944976e-01,  3.56279252e-01,  3.63660034e-01,
2769      3.71085146e-01,  3.78554327e-01,  3.86062695e-01,  3.93610554e-01,
2770      4.01195225e-01,  4.08815272e-01,  4.16468460e-01,  4.24155411e-01,
2771      4.31871046e-01,  4.39614744e-01,  4.47384019e-01,  4.55176988e-01,
2772      4.62990138e-01,  4.70824619e-01,  4.78676593e-01,  4.86545433e-01,
2773      4.94428714e-01,  5.02324813e-01,  5.10229471e-01,  5.18142927e-01,
2774      5.26060916e-01,  5.33982818e-01,  5.41906817e-01,  5.49831283e-01,
2775      5.57751234e-01,  5.65667636e-01,  5.73576883e-01,  5.81476666e-01,
2776      5.89364661e-01,  5.97241338e-01,  6.05102013e-01,  6.12946170e-01,
2777      6.20770242e-01,  6.28572094e-01,  6.36348526e-01,  6.44099662e-01,
2778      6.51820973e-01,  6.59513822e-01,  6.67176382e-01,  6.74806795e-01,
2779      6.82400711e-01,  6.89958854e-01,  6.97475722e-01,  7.04950145e-01,
2780      7.12379980e-01,  7.19765434e-01,  7.27103833e-01,  7.34396372e-01,
2781      7.41638561e-01,  7.48829639e-01,  7.55966688e-01,  7.63049259e-01,
2782      7.70072273e-01,  7.77036981e-01,  7.83941108e-01,  7.90781257e-01,
2783      7.97558114e-01,  8.04271381e-01,  8.10914901e-01,  8.17490856e-01,
2784      8.23997094e-01,  8.30432785e-01,  8.36796950e-01,  8.43089298e-01,
2785      8.49305847e-01,  8.55447310e-01,  8.61511037e-01,  8.67496281e-01,
2786      8.73400798e-01,  8.79227518e-01,  8.84972438e-01,  8.90635719e-01,
2787      8.96217173e-01,  9.01716414e-01,  9.07128770e-01,  9.12456578e-01,
2788      9.17697261e-01,  9.22848784e-01,  9.27909917e-01,  9.32882596e-01,
2789      9.37763323e-01,  9.42553356e-01,  9.47252428e-01,  9.51860206e-01,
2790      9.56376060e-01,  9.60800602e-01,  9.65130600e-01,  9.69366689e-01,
2791      9.73508812e-01,  9.77556541e-01,  9.81507226e-01,  9.85364580e-01,
2792      9.89126209e-01,  9.92794201e-01,  9.96367545e-01,  9.99846919e-01,
2793      1.00322812e+00,  1.00651341e+00,  1.00970073e+00,  1.01279029e+00,
2794      1.01578293e+00,  1.01868229e+00,  1.02148657e+00,  1.02419772e+00,
2795      1.02681455e+00,  1.02933598e+00,  1.03176043e+00,  1.03408981e+00,
2796      1.03632326e+00,  1.03846361e+00,  1.04051196e+00,  1.04246831e+00,
2797      1.04433331e+00,  1.04610837e+00,  1.04779018e+00,  1.04938334e+00,
2798      1.05088565e+00,  1.05229923e+00,  1.05362522e+00,  1.05486289e+00,
2799      1.05601521e+00,  1.05708746e+00,  1.05807221e+00,  1.05897524e+00,
2800      1.05979447e+00,  1.06053414e+00,  1.06119412e+00,  1.06177366e+00,
2801      1.06227662e+00,  1.06270324e+00,  1.06305569e+00,  1.06333815e+00,
2802      1.06354800e+00,  1.06368607e+00,  1.06375557e+00,  1.06375743e+00,
2803      1.06369358e+00,  1.06356632e+00,  1.06337707e+00,  1.06312782e+00,
2804      1.06282156e+00,  1.06245782e+00,  1.06203634e+00,  1.06155996e+00,
2805      1.06102951e+00,  1.06044797e+00,  1.05981709e+00,  1.05914163e+00,
2806      1.05842136e+00,  1.05765876e+00,  1.05685377e+00,  1.05600761e+00,
2807      1.05512006e+00,  1.05419505e+00,  1.05323346e+00,  1.05223985e+00,
2808      1.05121668e+00,  1.05016637e+00,  1.04908779e+00,  1.04798366e+00,
2809      1.04685334e+00,  1.04569860e+00,  1.04452056e+00,  1.04332348e+00,
2810      1.04210831e+00,  1.04087907e+00,  1.03963603e+00,  1.03838099e+00,
2811      1.03711403e+00,  1.03583813e+00,  1.03455276e+00,  1.03326200e+00,
2812      1.03196750e+00,  1.03067200e+00,  1.02937564e+00,  1.02808244e+00,
2813      1.02679167e+00,  1.02550635e+00,  1.02422655e+00,  1.02295558e+00,
2814      1.02169299e+00,  1.02044475e+00,  1.01920733e+00,  1.01799992e+00,
2815      1.01716022e+00,  1.01587289e+00,  1.01461783e+00,  1.01339738e+00,
2816      1.01221017e+00,  1.01105652e+00,  1.00993444e+00,  1.00884559e+00,
2817      1.00778956e+00,  1.00676790e+00,  1.00577851e+00,  1.00482173e+00,
2818      1.00389592e+00,  1.00300262e+00,  1.00214091e+00,  1.00131213e+00,
2819      1.00051460e+00,  9.99748988e-01,  9.99013486e-01,  9.98309229e-01,
2820      9.97634934e-01,  9.96991885e-01,  9.96378601e-01,  9.95795982e-01,
2821      9.95242217e-01,  9.94718132e-01,  9.94222122e-01,  9.93755313e-01,
2822      9.93316216e-01,  9.92905809e-01,  9.92522422e-01,  9.92166957e-01,
2823      9.91837704e-01,  9.91535508e-01,  9.91258603e-01,  9.91007878e-01,
2824      9.90781723e-01,  9.90581104e-01,  9.90404336e-01,  9.90252267e-01,
2825      9.90123118e-01,  9.90017726e-01,  9.89934325e-01,  9.89873712e-01,
2826      9.89834110e-01,  9.89816359e-01,  9.89818707e-01,  9.89841998e-01,
2827      9.89884438e-01,  9.89946800e-01,  9.90027287e-01,  9.90126680e-01,
2828      9.90243175e-01,  9.90377594e-01,  9.90528134e-01,  9.90695564e-01,
2829      9.90878043e-01,  9.91076302e-01,  9.91288540e-01,  9.91515602e-01,
2830      9.91755666e-01,  9.92009469e-01,  9.92275155e-01,  9.92553486e-01,
2831      9.92842693e-01,  9.93143533e-01,  9.93454080e-01,  9.93775067e-01,
2832      9.94104689e-01,  9.94443742e-01,  9.94790398e-01,  9.95145361e-01,
2833      9.95506800e-01,  9.95875534e-01,  9.96249681e-01,  9.96629919e-01,
2834      9.97014367e-01,  9.97403799e-01,  9.97796404e-01,  9.98192871e-01,
2835      9.98591286e-01,  9.98992436e-01,  9.99394506e-01,  9.99798247e-01,
2836      1.00020179e+00,  1.00060586e+00,  1.00100858e+00,  1.00141070e+00,
2837      1.00181040e+00,  1.00220846e+00,  1.00260296e+00,  1.00299457e+00,
2838      1.00338148e+00,  1.00376444e+00,  1.00414155e+00,  1.00451348e+00,
2839      1.00487832e+00,  1.00523688e+00,  1.00558730e+00,  1.00593027e+00,
2840      1.00626393e+00,  1.00658905e+00,  1.00690380e+00,  1.00720890e+00,
2841      1.00750238e+00,  1.00778498e+00,  1.00805489e+00,  1.00831287e+00,
2842      1.00855700e+00,  1.00878802e+00,  1.00900405e+00,  1.00920593e+00,
2843      1.00939182e+00,  1.00956244e+00,  1.00971590e+00,  1.00985296e+00,
2844      1.00997177e+00,  1.01007317e+00,  1.01015529e+00,  1.01021893e+00,
2845      1.01026225e+00,  1.01028602e+00,  1.01028842e+00,  1.01027030e+00,
2846      1.01022988e+00,  1.01016802e+00,  1.01008292e+00,  1.00997541e+00,
2847      1.00984369e+00,  1.00968863e+00,  1.00950846e+00,  1.00930404e+00,
2848      1.00907371e+00,  1.00881848e+00,  1.00853675e+00,  1.00822947e+00,
2849      1.00789488e+00,  1.00753391e+00,  1.00714488e+00,  1.00672876e+00,
2850      1.00628393e+00,  1.00581146e+00,  1.00530991e+00,  1.00478053e+00,
2851      1.00422177e+00,  1.00363456e+00,  1.00301719e+00,  1.00237067e+00,
2852      1.00169363e+00,  1.00098749e+00,  1.00025108e+00,  9.99485663e-01,
2853      9.98689592e-01,  9.97863666e-01,  9.97006370e-01,  9.96119199e-01,
2854      9.95201404e-01,  9.94254687e-01,  9.93277595e-01,  9.92270651e-01,
2855      9.91231967e-01,  9.90163286e-01,  9.89064394e-01,  9.87937115e-01,
2856      9.86779736e-01,  9.85592773e-01,  9.84375125e-01,  9.83129288e-01,
2857      9.81348463e-01,  9.79890963e-01,  9.78400459e-01,  9.76860435e-01,
2858      9.75269879e-01,  9.73627353e-01,  9.71931341e-01,  9.70180498e-01,
2859      9.68372652e-01,  9.66506952e-01,  9.64580027e-01,  9.62592318e-01,
2860      9.60540986e-01,  9.58425534e-01,  9.56244393e-01,  9.53998416e-01,
2861      9.51684014e-01,  9.49301185e-01,  9.46846884e-01,  9.44320232e-01,
2862      9.41718404e-01,  9.39042580e-01,  9.36290624e-01,  9.33464050e-01,
2863      9.30560854e-01,  9.27580507e-01,  9.24519592e-01,  9.21378471e-01,
2864      9.18153414e-01,  9.14844696e-01,  9.11451652e-01,  9.07976524e-01,
2865      9.04417545e-01,  9.00776308e-01,  8.97050058e-01,  8.93238398e-01,
2866      8.89338681e-01,  8.85351360e-01,  8.81274023e-01,  8.77109638e-01,
2867      8.72857927e-01,  8.68519505e-01,  8.64092796e-01,  8.59579819e-01,
2868      8.54976007e-01,  8.50285220e-01,  8.45502615e-01,  8.40630470e-01,
2869      8.35667925e-01,  8.30619943e-01,  8.25482007e-01,  8.20258909e-01,
2870      8.14946648e-01,  8.09546696e-01,  8.04059978e-01,  7.98489378e-01,
2871      7.92831417e-01,  7.87090668e-01,  7.81262450e-01,  7.75353947e-01,
2872      7.69363613e-01,  7.63291769e-01,  7.57139016e-01,  7.50901711e-01,
2873      7.44590843e-01,  7.38205136e-01,  7.31738075e-01,  7.25199287e-01,
2874      7.18588225e-01,  7.11905687e-01,  7.05153668e-01,  6.98332634e-01,
2875      6.91444101e-01,  6.84490545e-01,  6.77470119e-01,  6.70388375e-01,
2876      6.63245210e-01,  6.56045780e-01,  6.48788627e-01,  6.41477162e-01,
2877      6.34114323e-01,  6.26702000e-01,  6.19235334e-01,  6.11720596e-01,
2878      6.04161612e-01,  5.96559133e-01,  5.88914401e-01,  5.81234783e-01,
2879      5.73519989e-01,  5.65770616e-01,  5.57988067e-01,  5.50173851e-01,
2880      5.42330194e-01,  5.34460798e-01,  5.26568538e-01,  5.18656324e-01,
2881      5.10728813e-01,  5.02781159e-01,  4.94819491e-01,  4.86845139e-01,
2882      4.78860889e-01,  4.70869928e-01,  4.62875144e-01,  4.54877894e-01,
2883      4.46882512e-01,  4.38889325e-01,  4.30898123e-01,  4.22918322e-01,
2884      4.14950878e-01,  4.06993964e-01,  3.99052648e-01,  3.91134614e-01,
2885      3.83234031e-01,  3.75354653e-01,  3.67502060e-01,  3.59680098e-01,
2886      3.51887312e-01,  3.44130166e-01,  3.36408100e-01,  3.28728966e-01,
2887      3.21090505e-01,  3.13496418e-01,  3.05951565e-01,  2.98454319e-01,
2888      2.91010565e-01,  2.83621109e-01,  2.76285415e-01,  2.69019585e-01,
2889      2.61812445e-01,  2.54659232e-01,  2.47584348e-01,  2.40578694e-01,
2890      2.33647009e-01,  2.26788433e-01,  2.20001992e-01,  2.13301325e-01,
2891      2.06677771e-01,  2.00140409e-01,  1.93683630e-01,  1.87310343e-01,
2892      1.81027384e-01,  1.74839476e-01,  1.68739644e-01,  1.62737273e-01,
2893      1.56825277e-01,  1.51012382e-01,  1.45298230e-01,  1.39687469e-01,
2894      1.34171842e-01,  1.28762544e-01,  1.23455562e-01,  1.18254662e-01,
2895      1.13159677e-01,  1.08171439e-01,  1.03290734e-01,  9.85202978e-02,
2896      9.38600023e-02,  8.93117360e-02,  8.48752103e-02,  8.05523737e-02,
2897      7.63429787e-02,  7.22489246e-02,  6.82699120e-02,  6.44077291e-02,
2898      6.06620003e-02,  5.70343711e-02,  5.35243715e-02,  5.01334690e-02,
2899      4.68610790e-02,  4.37084453e-02,  4.06748365e-02,  3.77612269e-02,
2900      3.49667099e-02,  3.22919275e-02,  2.97357669e-02,  2.72984629e-02,
2901      2.49787186e-02,  2.27762542e-02,  2.06895808e-02,  1.87178169e-02,
2902      1.68593418e-02,  1.51125125e-02,  1.34757094e-02,  1.19462709e-02,
2903      1.05228754e-02,  9.20130941e-03,  7.98124316e-03,  6.85547314e-03,
2904      5.82657334e-03,  4.87838525e-03,  4.02351119e-03,  3.15418663e-03,
2905 };
2906 
2907 static const float mdct_win_10m_8k[__LC3_MDCT_WIN_LEN(10000, 8000)] = {
2908     -7.07854671e-04, -2.09819773e-03, -4.52519808e-03, -8.23397633e-03,
2909     -1.33771310e-02, -1.99972156e-02, -2.80090946e-02, -3.72150208e-02,
2910     -4.73176826e-02, -5.79465483e-02, -6.86760675e-02, -7.90464744e-02,
2911     -8.85970547e-02, -9.68830362e-02, -1.03496124e-01, -1.08076646e-01,
2912     -1.10324226e-01, -1.09980985e-01, -1.06817214e-01, -1.00619042e-01,
2913     -9.11645251e-02, -7.82061748e-02, -6.14668812e-02, -4.06336286e-02,
2914     -1.53632952e-02,  1.47015507e-02,  4.98973651e-02,  9.05036926e-02,
2915      1.36691102e-01,  1.88468639e-01,  2.45645680e-01,  3.07778908e-01,
2916      3.74164237e-01,  4.43811480e-01,  5.15473546e-01,  5.87666172e-01,
2917      6.58761977e-01,  7.27057670e-01,  7.90875299e-01,  8.48664336e-01,
2918      8.99132024e-01,  9.41334815e-01,  9.74763483e-01,  9.99411473e-01,
2919      1.01576037e+00,  1.02473616e+00,  1.02763429e+00,  1.02599149e+00,
2920      1.02142721e+00,  1.01543986e+00,  1.00936693e+00,  1.00350816e+00,
2921      9.98889821e-01,  9.95313390e-01,  9.92594392e-01,  9.90577196e-01,
2922      9.89137162e-01,  9.88179075e-01,  9.87624927e-01,  9.87405628e-01,
2923      9.87452485e-01,  9.87695113e-01,  9.88064062e-01,  9.88492687e-01,
2924      9.88923003e-01,  9.89307497e-01,  9.89614633e-01,  9.89831927e-01,
2925      9.89969310e-01,  9.90060335e-01,  9.90157502e-01,  9.90325529e-01,
2926      9.90630379e-01,  9.91129889e-01,  9.91866549e-01,  9.92861973e-01,
2927      9.94115607e-01,  9.95603378e-01,  9.97279311e-01,  9.99078484e-01,
2928      1.00092237e+00,  1.00272811e+00,  1.00441604e+00,  1.00591922e+00,
2929      1.00718935e+00,  1.00820015e+00,  1.00894949e+00,  1.00945824e+00,
2930      1.00976898e+00,  1.00994034e+00,  1.01003945e+00,  1.01013232e+00,
2931      1.01027252e+00,  1.01049435e+00,  1.01080807e+00,  1.01120107e+00,
2932      1.01164127e+00,  1.01208013e+00,  1.01245818e+00,  1.01270696e+00,
2933      1.01275501e+00,  1.01253013e+00,  1.01196233e+00,  1.01098214e+00,
2934      1.00951244e+00,  1.00746086e+00,  1.00470868e+00,  1.00111141e+00,
2935      9.96504102e-01,  9.90720000e-01,  9.82376587e-01,  9.70882175e-01,
2936      9.54673298e-01,  9.32155386e-01,  9.01800368e-01,  8.62398408e-01,
2937      8.13281737e-01,  7.54455197e-01,  6.86658072e-01,  6.11348804e-01,
2938      5.30618165e-01,  4.47130985e-01,  3.63911468e-01,  2.84164703e-01,
2939      2.11020945e-01,  1.47228797e-01,  9.48266535e-02,  5.48243661e-02,
2940      2.70146141e-02,  9.99674359e-03,
2941 };
2942 
2943 static const float mdct_win_10m_16k[__LC3_MDCT_WIN_LEN(10000, 16000)] = {
2944     -4.61989875e-04, -9.74716672e-04, -1.66447310e-03, -2.59710692e-03,
2945     -3.80628516e-03, -5.32460872e-03, -7.17588528e-03, -9.38248086e-03,
2946     -1.19527030e-02, -1.48952816e-02, -1.82066640e-02, -2.18757093e-02,
2947     -2.58847194e-02, -3.02086274e-02, -3.48159779e-02, -3.96706799e-02,
2948     -4.47269805e-02, -4.99422586e-02, -5.52633479e-02, -6.06371724e-02,
2949     -6.60096152e-02, -7.13196627e-02, -7.65117823e-02, -8.15296401e-02,
2950     -8.63113754e-02, -9.08041129e-02, -9.49537776e-02, -9.87073651e-02,
2951     -1.02020268e-01, -1.04843883e-01, -1.07138231e-01, -1.08869014e-01,
2952     -1.09996966e-01, -1.10489847e-01, -1.10322584e-01, -1.09462175e-01,
2953     -1.07883429e-01, -1.05561251e-01, -1.02465016e-01, -9.85701457e-02,
2954     -9.38468492e-02, -8.82630999e-02, -8.17879272e-02, -7.43878560e-02,
2955     -6.60218980e-02, -5.66565564e-02, -4.62445689e-02, -3.47458578e-02,
2956     -2.21158161e-02, -8.31042570e-03,  6.71769764e-03,  2.30064206e-02,
2957      4.06010646e-02,  5.95323909e-02,  7.98335419e-02,  1.01523314e-01,
2958      1.24617139e-01,  1.49115252e-01,  1.75006740e-01,  2.02269985e-01,
2959      2.30865538e-01,  2.60736512e-01,  2.91814469e-01,  3.24009570e-01,
2960      3.57217518e-01,  3.91314689e-01,  4.26157164e-01,  4.61592545e-01,
2961      4.97447159e-01,  5.33532682e-01,  5.69654673e-01,  6.05608382e-01,
2962      6.41183084e-01,  6.76165350e-01,  7.10340055e-01,  7.43494372e-01,
2963      7.75428189e-01,  8.05943723e-01,  8.34858937e-01,  8.62010834e-01,
2964      8.87259971e-01,  9.10486312e-01,  9.31596250e-01,  9.50522086e-01,
2965      9.67236671e-01,  9.81739750e-01,  9.94055718e-01,  1.00424751e+00,
2966      1.01240743e+00,  1.01865099e+00,  1.02311884e+00,  1.02597245e+00,
2967      1.02739752e+00,  1.02758583e+00,  1.02673867e+00,  1.02506178e+00,
2968      1.02275651e+00,  1.02000914e+00,  1.01699650e+00,  1.01391595e+00,
2969      1.01104487e+00,  1.00777386e+00,  1.00484875e+00,  1.00224501e+00,
2970      9.99939317e-01,  9.97905542e-01,  9.96120338e-01,  9.94559753e-01,
2971      9.93203161e-01,  9.92029727e-01,  9.91023065e-01,  9.90166895e-01,
2972      9.89448837e-01,  9.88855636e-01,  9.88377852e-01,  9.88005163e-01,
2973      9.87729546e-01,  9.87541274e-01,  9.87432981e-01,  9.87394992e-01,
2974      9.87419705e-01,  9.87497321e-01,  9.87620124e-01,  9.87778192e-01,
2975      9.87963798e-01,  9.88167801e-01,  9.88383520e-01,  9.88602222e-01,
2976      9.88818277e-01,  9.89024798e-01,  9.89217866e-01,  9.89392368e-01,
2977      9.89546334e-01,  9.89677201e-01,  9.89785920e-01,  9.89872536e-01,
2978      9.89941079e-01,  9.89994556e-01,  9.90039402e-01,  9.90081472e-01,
2979      9.90129379e-01,  9.90190227e-01,  9.90273445e-01,  9.90386228e-01,
2980      9.90537983e-01,  9.90734883e-01,  9.90984259e-01,  9.91290512e-01,
2981      9.91658694e-01,  9.92090615e-01,  9.92588721e-01,  9.93151653e-01,
2982      9.93779087e-01,  9.94466818e-01,  9.95211663e-01,  9.96006862e-01,
2983      9.96846133e-01,  9.97720337e-01,  9.98621352e-01,  9.99538258e-01,
2984      1.00046196e+00,  1.00138055e+00,  1.00228487e+00,  1.00316385e+00,
2985      1.00400915e+00,  1.00481138e+00,  1.00556397e+00,  1.00625986e+00,
2986      1.00689557e+00,  1.00746662e+00,  1.00797244e+00,  1.00841147e+00,
2987      1.00878601e+00,  1.00909776e+00,  1.00935176e+00,  1.00955240e+00,
2988      1.00970709e+00,  1.00982209e+00,  1.00990696e+00,  1.00996902e+00,
2989      1.01001789e+00,  1.01006081e+00,  1.01010656e+00,  1.01016113e+00,
2990      1.01023108e+00,  1.01031948e+00,  1.01043047e+00,  1.01056410e+00,
2991      1.01072136e+00,  1.01089966e+00,  1.01109699e+00,  1.01130817e+00,
2992      1.01152919e+00,  1.01175301e+00,  1.01197388e+00,  1.01218284e+00,
2993      1.01237303e+00,  1.01253506e+00,  1.01266098e+00,  1.01274058e+00,
2994      1.01276592e+00,  1.01272696e+00,  1.01261590e+00,  1.01242289e+00,
2995      1.01214046e+00,  1.01175881e+00,  1.01126996e+00,  1.01066368e+00,
2996      1.00993075e+00,  1.00905825e+00,  1.00803431e+00,  1.00684335e+00,
2997      1.00547001e+00,  1.00389477e+00,  1.00209885e+00,  1.00006069e+00,
2998      9.97760020e-01,  9.95174643e-01,  9.92286108e-01,  9.89075787e-01,
2999      9.84736245e-01,  9.79861353e-01,  9.74137862e-01,  9.67333198e-01,
3000      9.59253976e-01,  9.49698408e-01,  9.38463416e-01,  9.25356797e-01,
3001      9.10198679e-01,  8.92833832e-01,  8.73143784e-01,  8.51042044e-01,
3002      8.26483991e-01,  7.99468149e-01,  7.70043128e-01,  7.38302860e-01,
3003      7.04381434e-01,  6.68461648e-01,  6.30775533e-01,  5.91579959e-01,
3004      5.51170316e-01,  5.09891542e-01,  4.68101711e-01,  4.26177297e-01,
3005      3.84517234e-01,  3.43522867e-01,  3.03600465e-01,  2.65143468e-01,
3006      2.28528397e-01,  1.94102191e-01,  1.62173542e-01,  1.33001524e-01,
3007      1.06784043e-01,  8.36505724e-02,  6.36518811e-02,  4.67653841e-02,
3008      3.28807275e-02,  2.18305756e-02,  1.33638143e-02,  6.75812489e-03,
3009 };
3010 
3011 static const float mdct_win_10m_24k[__LC3_MDCT_WIN_LEN(10000, 24000)] = {
3012     -3.61349642e-04, -7.07854671e-04, -1.07444364e-03, -1.53347854e-03,
3013     -2.09819773e-03, -2.77842087e-03, -3.58412992e-03, -4.52519808e-03,
3014     -5.60932724e-03, -6.84323454e-03, -8.23397633e-03, -9.78531476e-03,
3015     -1.14988030e-02, -1.33771310e-02, -1.54218168e-02, -1.76297991e-02,
3016     -1.99972156e-02, -2.25208056e-02, -2.51940630e-02, -2.80090946e-02,
3017     -3.09576509e-02, -3.40299627e-02, -3.72150208e-02, -4.05005325e-02,
3018     -4.38721922e-02, -4.73176826e-02, -5.08232534e-02, -5.43716664e-02,
3019     -5.79465483e-02, -6.15342620e-02, -6.51170816e-02, -6.86760675e-02,
3020     -7.21944781e-02, -7.56569598e-02, -7.90464744e-02, -8.23444256e-02,
3021     -8.55332458e-02, -8.85970547e-02, -9.15209110e-02, -9.42884745e-02,
3022     -9.68830362e-02, -9.92912326e-02, -1.01500847e-01, -1.03496124e-01,
3023     -1.05263700e-01, -1.06793998e-01, -1.08076646e-01, -1.09099730e-01,
3024     -1.09852449e-01, -1.10324226e-01, -1.10508462e-01, -1.10397741e-01,
3025     -1.09980985e-01, -1.09249277e-01, -1.08197423e-01, -1.06817214e-01,
3026     -1.05099580e-01, -1.03036011e-01, -1.00619042e-01, -9.78412002e-02,
3027     -9.46930422e-02, -9.11645251e-02, -8.72464453e-02, -8.29304391e-02,
3028     -7.82061748e-02, -7.30614243e-02, -6.74846818e-02, -6.14668812e-02,
3029     -5.49949726e-02, -4.80544442e-02, -4.06336286e-02, -3.27204559e-02,
3030     -2.43012258e-02, -1.53632952e-02, -5.89143427e-03,  4.12659586e-03,
3031      1.47015507e-02,  2.58473819e-02,  3.75765277e-02,  4.98973651e-02,
3032      6.28203403e-02,  7.63539773e-02,  9.05036926e-02,  1.05274712e-01,
3033      1.20670347e-01,  1.36691102e-01,  1.53334389e-01,  1.70595471e-01,
3034      1.88468639e-01,  2.06944996e-01,  2.26009300e-01,  2.45645680e-01,
3035      2.65834602e-01,  2.86554381e-01,  3.07778908e-01,  3.29476944e-01,
3036      3.51617148e-01,  3.74164237e-01,  3.97073959e-01,  4.20304305e-01,
3037      4.43811480e-01,  4.67544229e-01,  4.91449863e-01,  5.15473546e-01,
3038      5.39555764e-01,  5.63639982e-01,  5.87666172e-01,  6.11569531e-01,
3039      6.35289059e-01,  6.58761977e-01,  6.81923097e-01,  7.04709282e-01,
3040      7.27057670e-01,  7.48906896e-01,  7.70199019e-01,  7.90875299e-01,
3041      8.10878869e-01,  8.30157914e-01,  8.48664336e-01,  8.66354816e-01,
3042      8.83189685e-01,  8.99132024e-01,  9.14154056e-01,  9.28228255e-01,
3043      9.41334815e-01,  9.53461939e-01,  9.64604825e-01,  9.74763483e-01,
3044      9.83943539e-01,  9.92152910e-01,  9.99411473e-01,  1.00574608e+00,
3045      1.01118397e+00,  1.01576037e+00,  1.01951507e+00,  1.02249094e+00,
3046      1.02473616e+00,  1.02630410e+00,  1.02725098e+00,  1.02763429e+00,
3047      1.02751106e+00,  1.02694280e+00,  1.02599149e+00,  1.02471615e+00,
3048      1.02317598e+00,  1.02142721e+00,  1.01952157e+00,  1.01751012e+00,
3049      1.01543986e+00,  1.01346092e+00,  1.01165490e+00,  1.00936693e+00,
3050      1.00726318e+00,  1.00531319e+00,  1.00350816e+00,  1.00184079e+00,
3051      1.00030393e+00,  9.98889821e-01,  9.97591528e-01,  9.96401528e-01,
3052      9.95313390e-01,  9.94320108e-01,  9.93415896e-01,  9.92594392e-01,
3053      9.91851028e-01,  9.91179799e-01,  9.90577196e-01,  9.90038105e-01,
3054      9.89559439e-01,  9.89137162e-01,  9.88768437e-01,  9.88449792e-01,
3055      9.88179075e-01,  9.87952836e-01,  9.87769137e-01,  9.87624927e-01,
3056      9.87517995e-01,  9.87445813e-01,  9.87405628e-01,  9.87395112e-01,
3057      9.87411537e-01,  9.87452485e-01,  9.87514989e-01,  9.87596889e-01,
3058      9.87695113e-01,  9.87807582e-01,  9.87931200e-01,  9.88064062e-01,
3059      9.88203257e-01,  9.88347108e-01,  9.88492687e-01,  9.88638659e-01,
3060      9.88782558e-01,  9.88923003e-01,  9.89058172e-01,  9.89186767e-01,
3061      9.89307497e-01,  9.89419640e-01,  9.89522076e-01,  9.89614633e-01,
3062      9.89697035e-01,  9.89769260e-01,  9.89831927e-01,  9.89885257e-01,
3063      9.89930764e-01,  9.89969310e-01,  9.90002569e-01,  9.90032156e-01,
3064      9.90060335e-01,  9.90088981e-01,  9.90120659e-01,  9.90157502e-01,
3065      9.90202395e-01,  9.90257541e-01,  9.90325529e-01,  9.90408791e-01,
3066      9.90509649e-01,  9.90630379e-01,  9.90772711e-01,  9.90938744e-01,
3067      9.91129889e-01,  9.91347632e-01,  9.91592856e-01,  9.91866549e-01,
3068      9.92169132e-01,  9.92501085e-01,  9.92861973e-01,  9.93251918e-01,
3069      9.93670021e-01,  9.94115607e-01,  9.94587315e-01,  9.95083740e-01,
3070      9.95603378e-01,  9.96143992e-01,  9.96703453e-01,  9.97279311e-01,
3071      9.97869086e-01,  9.98469709e-01,  9.99078484e-01,  9.99691901e-01,
3072      1.00030819e+00,  1.00092237e+00,  1.00153264e+00,  1.00213546e+00,
3073      1.00272811e+00,  1.00330745e+00,  1.00387093e+00,  1.00441604e+00,
3074      1.00494055e+00,  1.00544214e+00,  1.00591922e+00,  1.00637030e+00,
3075      1.00679393e+00,  1.00718935e+00,  1.00755557e+00,  1.00789267e+00,
3076      1.00820015e+00,  1.00847842e+00,  1.00872788e+00,  1.00894949e+00,
3077      1.00914411e+00,  1.00931322e+00,  1.00945824e+00,  1.00958128e+00,
3078      1.00968409e+00,  1.00976898e+00,  1.00983831e+00,  1.00989455e+00,
3079      1.00994034e+00,  1.00997792e+00,  1.01001023e+00,  1.01003945e+00,
3080      1.01006820e+00,  1.01009839e+00,  1.01013232e+00,  1.01017166e+00,
3081      1.01021810e+00,  1.01027252e+00,  1.01033649e+00,  1.01041022e+00,
3082      1.01049435e+00,  1.01058887e+00,  1.01069350e+00,  1.01080807e+00,
3083      1.01093144e+00,  1.01106288e+00,  1.01120107e+00,  1.01134470e+00,
3084      1.01149190e+00,  1.01164127e+00,  1.01179028e+00,  1.01193757e+00,
3085      1.01208013e+00,  1.01221624e+00,  1.01234291e+00,  1.01245818e+00,
3086      1.01255888e+00,  1.01264286e+00,  1.01270696e+00,  1.01274895e+00,
3087      1.01276580e+00,  1.01275501e+00,  1.01271380e+00,  1.01263978e+00,
3088      1.01253013e+00,  1.01238231e+00,  1.01219407e+00,  1.01196233e+00,
3089      1.01168517e+00,  1.01135914e+00,  1.01098214e+00,  1.01055072e+00,
3090      1.01006213e+00,  1.00951244e+00,  1.00889869e+00,  1.00821592e+00,
3091      1.00746086e+00,  1.00662774e+00,  1.00571234e+00,  1.00470868e+00,
3092      1.00361147e+00,  1.00241429e+00,  1.00111141e+00,  9.99696165e-01,
3093      9.98162595e-01,  9.96504102e-01,  9.94714888e-01,  9.92789191e-01,
3094      9.90720000e-01,  9.88479371e-01,  9.85534766e-01,  9.82376587e-01,
3095      9.78974733e-01,  9.75162381e-01,  9.70882175e-01,  9.66080552e-01,
3096      9.60697640e-01,  9.54673298e-01,  9.47947935e-01,  9.40460905e-01,
3097      9.32155386e-01,  9.22977548e-01,  9.12874535e-01,  9.01800368e-01,
3098      8.89716328e-01,  8.76590897e-01,  8.62398408e-01,  8.47120080e-01,
3099      8.30747973e-01,  8.13281737e-01,  7.94729145e-01,  7.75110884e-01,
3100      7.54455197e-01,  7.32796355e-01,  7.10179084e-01,  6.86658072e-01,
3101      6.62296243e-01,  6.37168412e-01,  6.11348804e-01,  5.84920660e-01,
3102      5.57974743e-01,  5.30618165e-01,  5.02952396e-01,  4.75086883e-01,
3103      4.47130985e-01,  4.19204992e-01,  3.91425291e-01,  3.63911468e-01,
3104      3.36783777e-01,  3.10162784e-01,  2.84164703e-01,  2.58903371e-01,
3105      2.34488060e-01,  2.11020945e-01,  1.88599764e-01,  1.67310081e-01,
3106      1.47228797e-01,  1.28422307e-01,  1.10942255e-01,  9.48266535e-02,
3107      8.00991437e-02,  6.67676585e-02,  5.48243661e-02,  4.42458885e-02,
3108      3.49936100e-02,  2.70146141e-02,  2.02437018e-02,  1.46079676e-02,
3109      9.99674359e-03,  5.30523510e-03,
3110 };
3111 
3112 static const float mdct_win_10m_32k[__LC3_MDCT_WIN_LEN(10000, 32000)] = {
3113     -3.02115349e-04, -5.86773749e-04, -8.36650400e-04, -1.12663536e-03,
3114     -1.47049294e-03, -1.87347339e-03, -2.33929236e-03, -2.87200807e-03,
3115     -3.47625639e-03, -4.15596382e-03, -4.91456379e-03, -5.75517250e-03,
3116     -6.68062338e-03, -7.69381692e-03, -8.79676075e-03, -9.99050307e-03,
3117     -1.12757412e-02, -1.26533415e-02, -1.41243899e-02, -1.56888962e-02,
3118     -1.73451209e-02, -1.90909737e-02, -2.09254671e-02, -2.28468479e-02,
3119     -2.48520772e-02, -2.69374670e-02, -2.90995249e-02, -3.13350463e-02,
3120     -3.36396073e-02, -3.60082097e-02, -3.84360174e-02, -4.09174603e-02,
3121     -4.34465489e-02, -4.60178672e-02, -4.86259851e-02, -5.12647420e-02,
3122     -5.39264475e-02, -5.66038431e-02, -5.92911675e-02, -6.19826820e-02,
3123     -6.46702555e-02, -6.73454222e-02, -7.00009902e-02, -7.26305701e-02,
3124     -7.52278496e-02, -7.77852594e-02, -8.02948025e-02, -8.27492454e-02,
3125     -8.51412546e-02, -8.74637912e-02, -8.97106934e-02, -9.18756408e-02,
3126     -9.39517698e-02, -9.59313774e-02, -9.78084326e-02, -9.95785130e-02,
3127     -1.01236117e-01, -1.02774104e-01, -1.04186122e-01, -1.05468025e-01,
3128     -1.06616088e-01, -1.07625538e-01, -1.08491230e-01, -1.09208742e-01,
3129     -1.09773615e-01, -1.10180886e-01, -1.10427188e-01, -1.10510836e-01,
3130     -1.10428147e-01, -1.10173922e-01, -1.09743736e-01, -1.09135313e-01,
3131     -1.08346734e-01, -1.07373994e-01, -1.06213016e-01, -1.04860615e-01,
3132     -1.03313240e-01, -1.01567316e-01, -9.96200551e-02, -9.74680323e-02,
3133     -9.51072362e-02, -9.25330338e-02, -8.97412522e-02, -8.67287769e-02,
3134     -8.34921384e-02, -8.00263990e-02, -7.63267954e-02, -7.23880616e-02,
3135     -6.82057680e-02, -6.37761143e-02, -5.90938600e-02, -5.41531632e-02,
3136     -4.89481272e-02, -4.34734711e-02, -3.77246130e-02, -3.16958761e-02,
3137     -2.53817983e-02, -1.87768910e-02, -1.18746138e-02, -4.66909925e-03,
3138      2.84409675e-03,  1.06697612e-02,  1.88135595e-02,  2.72815601e-02,
3139      3.60781047e-02,  4.52070276e-02,  5.46723880e-02,  6.44786605e-02,
3140      7.46286220e-02,  8.51249057e-02,  9.59698399e-02,  1.07165078e-01,
3141      1.18711585e-01,  1.30610107e-01,  1.42859645e-01,  1.55458473e-01,
3142      1.68404161e-01,  1.81694789e-01,  1.95327388e-01,  2.09296321e-01,
3143      2.23594564e-01,  2.38216022e-01,  2.53152972e-01,  2.68396157e-01,
3144      2.83936139e-01,  2.99762426e-01,  3.15861908e-01,  3.32221055e-01,
3145      3.48826468e-01,  3.65664038e-01,  3.82715297e-01,  3.99961186e-01,
3146      4.17384327e-01,  4.34966962e-01,  4.52687640e-01,  4.70524201e-01,
3147      4.88453925e-01,  5.06454555e-01,  5.24500675e-01,  5.42567437e-01,
3148      5.60631204e-01,  5.78667265e-01,  5.96647704e-01,  6.14545890e-01,
3149      6.32336194e-01,  6.49992632e-01,  6.67487403e-01,  6.84793267e-01,
3150      7.01883546e-01,  7.18732254e-01,  7.35312821e-01,  7.51600199e-01,
3151      7.67569925e-01,  7.83197457e-01,  7.98458386e-01,  8.13329535e-01,
3152      8.27789227e-01,  8.41817856e-01,  8.55396130e-01,  8.68506898e-01,
3153      8.81133444e-01,  8.93259678e-01,  9.04874884e-01,  9.15965761e-01,
3154      9.26521530e-01,  9.36533999e-01,  9.45997703e-01,  9.54908841e-01,
3155      9.63265812e-01,  9.71068890e-01,  9.78320416e-01,  9.85022676e-01,
3156      9.91179208e-01,  9.96798994e-01,  1.00189402e+00,  1.00647434e+00,
3157      1.01055206e+00,  1.01414254e+00,  1.01726259e+00,  1.01992884e+00,
3158      1.02215987e+00,  1.02397632e+00,  1.02540073e+00,  1.02645534e+00,
3159      1.02716451e+00,  1.02755273e+00,  1.02764446e+00,  1.02746325e+00,
3160      1.02703590e+00,  1.02638907e+00,  1.02554820e+00,  1.02453713e+00,
3161      1.02338080e+00,  1.02210370e+00,  1.02072836e+00,  1.01927533e+00,
3162      1.01776518e+00,  1.01621736e+00,  1.01466531e+00,  1.01324907e+00,
3163      1.01194801e+00,  1.01018909e+00,  1.00855796e+00,  1.00701129e+00,
3164      1.00554876e+00,  1.00416842e+00,  1.00286727e+00,  1.00164177e+00,
3165      1.00048907e+00,  9.99406080e-01,  9.98389887e-01,  9.97437085e-01,
3166      9.96544484e-01,  9.95709855e-01,  9.94930241e-01,  9.94202405e-01,
3167      9.93524160e-01,  9.92893043e-01,  9.92306810e-01,  9.91763378e-01,
3168      9.91259764e-01,  9.90795450e-01,  9.90367789e-01,  9.89975161e-01,
3169      9.89616034e-01,  9.89289016e-01,  9.88992851e-01,  9.88726033e-01,
3170      9.88486872e-01,  9.88275104e-01,  9.88089217e-01,  9.87927711e-01,
3171      9.87789826e-01,  9.87674344e-01,  9.87580750e-01,  9.87507202e-01,
3172      9.87452945e-01,  9.87416974e-01,  9.87398469e-01,  9.87395830e-01,
3173      9.87408003e-01,  9.87434340e-01,  9.87473624e-01,  9.87524314e-01,
3174      9.87585620e-01,  9.87656379e-01,  9.87735892e-01,  9.87822558e-01,
3175      9.87915097e-01,  9.88013273e-01,  9.88115695e-01,  9.88221131e-01,
3176      9.88328903e-01,  9.88437831e-01,  9.88547679e-01,  9.88656841e-01,
3177      9.88764587e-01,  9.88870854e-01,  9.88974432e-01,  9.89074727e-01,
3178      9.89171004e-01,  9.89263102e-01,  9.89350722e-01,  9.89433065e-01,
3179      9.89509692e-01,  9.89581081e-01,  9.89646747e-01,  9.89706737e-01,
3180      9.89760693e-01,  9.89809448e-01,  9.89853013e-01,  9.89891471e-01,
3181      9.89925419e-01,  9.89955420e-01,  9.89982449e-01,  9.90006512e-01,
3182      9.90028481e-01,  9.90049748e-01,  9.90070956e-01,  9.90092836e-01,
3183      9.90116392e-01,  9.90142748e-01,  9.90173428e-01,  9.90208733e-01,
3184      9.90249864e-01,  9.90298369e-01,  9.90354850e-01,  9.90420508e-01,
3185      9.90495930e-01,  9.90582515e-01,  9.90681257e-01,  9.90792209e-01,
3186      9.90916546e-01,  9.91055074e-01,  9.91208461e-01,  9.91376861e-01,
3187      9.91560583e-01,  9.91760421e-01,  9.91976718e-01,  9.92209110e-01,
3188      9.92457914e-01,  9.92723123e-01,  9.93004954e-01,  9.93302728e-01,
3189      9.93616108e-01,  9.93945371e-01,  9.94289515e-01,  9.94648168e-01,
3190      9.95020303e-01,  9.95405817e-01,  9.95803871e-01,  9.96213027e-01,
3191      9.96632469e-01,  9.97061531e-01,  9.97499058e-01,  9.97943743e-01,
3192      9.98394057e-01,  9.98849312e-01,  9.99308343e-01,  9.99768922e-01,
3193      1.00023113e+00,  1.00069214e+00,  1.00115201e+00,  1.00160853e+00,
3194      1.00206049e+00,  1.00250721e+00,  1.00294713e+00,  1.00337891e+00,
3195      1.00380137e+00,  1.00421381e+00,  1.00461539e+00,  1.00500462e+00,
3196      1.00538063e+00,  1.00574328e+00,  1.00609151e+00,  1.00642491e+00,
3197      1.00674243e+00,  1.00704432e+00,  1.00733022e+00,  1.00759940e+00,
3198      1.00785206e+00,  1.00808818e+00,  1.00830803e+00,  1.00851125e+00,
3199      1.00869814e+00,  1.00886952e+00,  1.00902566e+00,  1.00916672e+00,
3200      1.00929336e+00,  1.00940640e+00,  1.00950702e+00,  1.00959526e+00,
3201      1.00967215e+00,  1.00973908e+00,  1.00979668e+00,  1.00984614e+00,
3202      1.00988808e+00,  1.00992409e+00,  1.00995538e+00,  1.00998227e+00,
3203      1.01000630e+00,  1.01002862e+00,  1.01005025e+00,  1.01007195e+00,
3204      1.01009437e+00,  1.01011892e+00,  1.01014650e+00,  1.01017711e+00,
3205      1.01021176e+00,  1.01025100e+00,  1.01029547e+00,  1.01034523e+00,
3206      1.01040032e+00,  1.01046156e+00,  1.01052862e+00,  1.01060152e+00,
3207      1.01067979e+00,  1.01076391e+00,  1.01085343e+00,  1.01094755e+00,
3208      1.01104595e+00,  1.01114849e+00,  1.01125440e+00,  1.01136308e+00,
3209      1.01147330e+00,  1.01158500e+00,  1.01169742e+00,  1.01180892e+00,
3210      1.01191926e+00,  1.01202724e+00,  1.01213215e+00,  1.01223273e+00,
3211      1.01232756e+00,  1.01241638e+00,  1.01249789e+00,  1.01257043e+00,
3212      1.01263330e+00,  1.01268528e+00,  1.01272556e+00,  1.01275258e+00,
3213      1.01276506e+00,  1.01276236e+00,  1.01274338e+00,  1.01270648e+00,
3214      1.01265084e+00,  1.01257543e+00,  1.01247947e+00,  1.01236111e+00,
3215      1.01221981e+00,  1.01205436e+00,  1.01186400e+00,  1.01164722e+00,
3216      1.01140252e+00,  1.01112965e+00,  1.01082695e+00,  1.01049292e+00,
3217      1.01012635e+00,  1.00972589e+00,  1.00929006e+00,  1.00881730e+00,
3218      1.00830503e+00,  1.00775283e+00,  1.00715783e+00,  1.00651805e+00,
3219      1.00583140e+00,  1.00509559e+00,  1.00430863e+00,  1.00346750e+00,
3220      1.00256950e+00,  1.00161271e+00,  1.00059427e+00,  9.99511170e-01,
3221      9.98360922e-01,  9.97140929e-01,  9.95848886e-01,  9.94481854e-01,
3222      9.93037528e-01,  9.91514656e-01,  9.89913680e-01,  9.88193062e-01,
3223      9.85942259e-01,  9.83566790e-01,  9.81142303e-01,  9.78521444e-01,
3224      9.75663604e-01,  9.72545344e-01,  9.69145663e-01,  9.65440618e-01,
3225      9.61404362e-01,  9.57011307e-01,  9.52236767e-01,  9.47054884e-01,
3226      9.41440374e-01,  9.35369161e-01,  9.28819009e-01,  9.21766289e-01,
3227      9.14189628e-01,  9.06069468e-01,  8.97389168e-01,  8.88133200e-01,
3228      8.78289389e-01,  8.67846957e-01,  8.56797064e-01,  8.45133465e-01,
3229      8.32854281e-01,  8.19959478e-01,  8.06451101e-01,  7.92334648e-01,
3230      7.77620449e-01,  7.62320618e-01,  7.46448649e-01,  7.30020573e-01,
3231      7.13056738e-01,  6.95580544e-01,  6.77617323e-01,  6.59195531e-01,
3232      6.40348643e-01,  6.21107220e-01,  6.01504928e-01,  5.81578761e-01,
3233      5.61367451e-01,  5.40918863e-01,  5.20273683e-01,  4.99478073e-01,
3234      4.78577418e-01,  4.57617260e-01,  4.36649021e-01,  4.15722146e-01,
3235      3.94885659e-01,  3.74190319e-01,  3.53686890e-01,  3.33426002e-01,
3236      3.13458647e-01,  2.93833790e-01,  2.74599264e-01,  2.55803064e-01,
3237      2.37490219e-01,  2.19703603e-01,  2.02485542e-01,  1.85874992e-01,
3238      1.69906780e-01,  1.54613227e-01,  1.40023821e-01,  1.26163740e-01,
3239      1.13053443e-01,  1.00708497e-01,  8.91402439e-02,  7.83561210e-02,
3240      6.83582123e-02,  5.91421154e-02,  5.06989301e-02,  4.30171776e-02,
3241      3.60802073e-02,  2.98631634e-02,  2.43372266e-02,  1.94767524e-02,
3242      1.52571017e-02,  1.16378749e-02,  8.43308778e-03,  4.44966900e-03,
3243 };
3244 
3245 static const float mdct_win_10m_48k[__LC3_MDCT_WIN_LEN(10000, 48000)] = {
3246     -2.35303215e-04, -4.61989875e-04, -6.26293154e-04, -7.92918043e-04,
3247     -9.74716672e-04, -1.18025689e-03, -1.40920904e-03, -1.66447310e-03,
3248     -1.94659161e-03, -2.25708173e-03, -2.59710692e-03, -2.96760762e-03,
3249     -3.37045488e-03, -3.80628516e-03, -4.27687377e-03, -4.78246990e-03,
3250     -5.32460872e-03, -5.90340381e-03, -6.52041973e-03, -7.17588528e-03,
3251     -7.87142282e-03, -8.60658604e-03, -9.38248086e-03, -1.01982718e-02,
3252     -1.10552055e-02, -1.19527030e-02, -1.28920591e-02, -1.38726348e-02,
3253     -1.48952816e-02, -1.59585662e-02, -1.70628856e-02, -1.82066640e-02,
3254     -1.93906598e-02, -2.06135542e-02, -2.18757093e-02, -2.31752632e-02,
3255     -2.45122745e-02, -2.58847194e-02, -2.72926374e-02, -2.87339090e-02,
3256     -3.02086274e-02, -3.17144037e-02, -3.32509886e-02, -3.48159779e-02,
3257     -3.64089241e-02, -3.80274232e-02, -3.96706799e-02, -4.13357542e-02,
3258     -4.30220337e-02, -4.47269805e-02, -4.64502229e-02, -4.81889149e-02,
3259     -4.99422586e-02, -5.17069080e-02, -5.34816204e-02, -5.52633479e-02,
3260     -5.70512315e-02, -5.88427175e-02, -6.06371724e-02, -6.24310403e-02,
3261     -6.42230355e-02, -6.60096152e-02, -6.77896227e-02, -6.95599687e-02,
3262     -7.13196627e-02, -7.30658127e-02, -7.47975891e-02, -7.65117823e-02,
3263     -7.82071142e-02, -7.98801069e-02, -8.15296401e-02, -8.31523735e-02,
3264     -8.47472895e-02, -8.63113754e-02, -8.78437445e-02, -8.93416436e-02,
3265     -9.08041129e-02, -9.22279576e-02, -9.36123287e-02, -9.49537776e-02,
3266     -9.62515531e-02, -9.75028462e-02, -9.87073651e-02, -9.98627129e-02,
3267     -1.00968022e-01, -1.02020268e-01, -1.03018380e-01, -1.03959636e-01,
3268     -1.04843883e-01, -1.05668684e-01, -1.06434282e-01, -1.07138231e-01,
3269     -1.07779996e-01, -1.08357063e-01, -1.08869014e-01, -1.09313559e-01,
3270     -1.09690356e-01, -1.09996966e-01, -1.10233226e-01, -1.10397281e-01,
3271     -1.10489847e-01, -1.10508642e-01, -1.10453743e-01, -1.10322584e-01,
3272     -1.10114583e-01, -1.09827693e-01, -1.09462175e-01, -1.09016396e-01,
3273     -1.08490885e-01, -1.07883429e-01, -1.07193718e-01, -1.06419636e-01,
3274     -1.05561251e-01, -1.04616281e-01, -1.03584904e-01, -1.02465016e-01,
3275     -1.01256900e-01, -9.99586457e-02, -9.85701457e-02, -9.70891114e-02,
3276     -9.55154582e-02, -9.38468492e-02, -9.20830006e-02, -9.02217102e-02,
3277     -8.82630999e-02, -8.62049382e-02, -8.40474215e-02, -8.17879272e-02,
3278     -7.94262503e-02, -7.69598078e-02, -7.43878560e-02, -7.17079700e-02,
3279     -6.89199478e-02, -6.60218980e-02, -6.30134942e-02, -5.98919191e-02,
3280     -5.66565564e-02, -5.33040616e-02, -4.98342724e-02, -4.62445689e-02,
3281     -4.25345569e-02, -3.87019577e-02, -3.47458578e-02, -3.06634152e-02,
3282     -2.64542508e-02, -2.21158161e-02, -1.76474054e-02, -1.30458136e-02,
3283     -8.31042570e-03, -3.43826866e-03,  1.57031548e-03,  6.71769764e-03,
3284      1.20047702e-02,  1.74339832e-02,  2.30064206e-02,  2.87248142e-02,
3285      3.45889635e-02,  4.06010646e-02,  4.67610292e-02,  5.30713391e-02,
3286      5.95323909e-02,  6.61464781e-02,  7.29129318e-02,  7.98335419e-02,
3287      8.69080741e-02,  9.41381377e-02,  1.01523314e-01,  1.09065152e-01,
3288      1.16762655e-01,  1.24617139e-01,  1.32627295e-01,  1.40793819e-01,
3289      1.49115252e-01,  1.57592141e-01,  1.66222480e-01,  1.75006740e-01,
3290      1.83943194e-01,  1.93031818e-01,  2.02269985e-01,  2.11656743e-01,
3291      2.21188852e-01,  2.30865538e-01,  2.40683799e-01,  2.50642064e-01,
3292      2.60736512e-01,  2.70965907e-01,  2.81325902e-01,  2.91814469e-01,
3293      3.02427028e-01,  3.13160350e-01,  3.24009570e-01,  3.34971959e-01,
3294      3.46042294e-01,  3.57217518e-01,  3.68491565e-01,  3.79859512e-01,
3295      3.91314689e-01,  4.02853287e-01,  4.14468833e-01,  4.26157164e-01,
3296      4.37911390e-01,  4.49725632e-01,  4.61592545e-01,  4.73506703e-01,
3297      4.85460018e-01,  4.97447159e-01,  5.09459723e-01,  5.21490984e-01,
3298      5.33532682e-01,  5.45578981e-01,  5.57621716e-01,  5.69654673e-01,
3299      5.81668558e-01,  5.93656062e-01,  6.05608382e-01,  6.17519206e-01,
3300      6.29379661e-01,  6.41183084e-01,  6.52920354e-01,  6.64584079e-01,
3301      6.76165350e-01,  6.87657395e-01,  6.99051154e-01,  7.10340055e-01,
3302      7.21514933e-01,  7.32569177e-01,  7.43494372e-01,  7.54284633e-01,
3303      7.64931365e-01,  7.75428189e-01,  7.85767017e-01,  7.95941465e-01,
3304      8.05943723e-01,  8.15768707e-01,  8.25408622e-01,  8.34858937e-01,
3305      8.44112583e-01,  8.53165119e-01,  8.62010834e-01,  8.70645634e-01,
3306      8.79063156e-01,  8.87259971e-01,  8.95231329e-01,  9.02975168e-01,
3307      9.10486312e-01,  9.17762555e-01,  9.24799743e-01,  9.31596250e-01,
3308      9.38149486e-01,  9.44458839e-01,  9.50522086e-01,  9.56340292e-01,
3309      9.61911452e-01,  9.67236671e-01,  9.72315664e-01,  9.77150119e-01,
3310      9.81739750e-01,  9.86086587e-01,  9.90190638e-01,  9.94055718e-01,
3311      9.97684240e-01,  1.00108096e+00,  1.00424751e+00,  1.00718858e+00,
3312      1.00990665e+00,  1.01240743e+00,  1.01469470e+00,  1.01677466e+00,
3313      1.01865099e+00,  1.02033046e+00,  1.02181733e+00,  1.02311884e+00,
3314      1.02424026e+00,  1.02518972e+00,  1.02597245e+00,  1.02659694e+00,
3315      1.02706918e+00,  1.02739752e+00,  1.02758790e+00,  1.02764895e+00,
3316      1.02758583e+00,  1.02740852e+00,  1.02712299e+00,  1.02673867e+00,
3317      1.02626166e+00,  1.02570100e+00,  1.02506178e+00,  1.02435398e+00,
3318      1.02358239e+00,  1.02275651e+00,  1.02188060e+00,  1.02096387e+00,
3319      1.02000914e+00,  1.01902729e+00,  1.01801944e+00,  1.01699650e+00,
3320      1.01595743e+00,  1.01492344e+00,  1.01391595e+00,  1.01304757e+00,
3321      1.01221613e+00,  1.01104487e+00,  1.00991459e+00,  1.00882489e+00,
3322      1.00777386e+00,  1.00676170e+00,  1.00578665e+00,  1.00484875e+00,
3323      1.00394608e+00,  1.00307885e+00,  1.00224501e+00,  1.00144473e+00,
3324      1.00067619e+00,  9.99939317e-01,  9.99232085e-01,  9.98554813e-01,
3325      9.97905542e-01,  9.97284268e-01,  9.96689095e-01,  9.96120338e-01,
3326      9.95576126e-01,  9.95056572e-01,  9.94559753e-01,  9.94086038e-01,
3327      9.93633779e-01,  9.93203161e-01,  9.92792187e-01,  9.92401518e-01,
3328      9.92029727e-01,  9.91676778e-01,  9.91340877e-01,  9.91023065e-01,
3329      9.90721643e-01,  9.90436680e-01,  9.90166895e-01,  9.89913101e-01,
3330      9.89673564e-01,  9.89448837e-01,  9.89237484e-01,  9.89040193e-01,
3331      9.88855636e-01,  9.88684347e-01,  9.88524761e-01,  9.88377852e-01,
3332      9.88242327e-01,  9.88118564e-01,  9.88005163e-01,  9.87903202e-01,
3333      9.87811174e-01,  9.87729546e-01,  9.87657198e-01,  9.87594984e-01,
3334      9.87541274e-01,  9.87496906e-01,  9.87460625e-01,  9.87432981e-01,
3335      9.87412641e-01,  9.87400475e-01,  9.87394992e-01,  9.87396916e-01,
3336      9.87404906e-01,  9.87419705e-01,  9.87439972e-01,  9.87466328e-01,
3337      9.87497321e-01,  9.87533893e-01,  9.87574654e-01,  9.87620124e-01,
3338      9.87668980e-01,  9.87722156e-01,  9.87778192e-01,  9.87837649e-01,
3339      9.87899199e-01,  9.87963798e-01,  9.88030030e-01,  9.88098468e-01,
3340      9.88167801e-01,  9.88239030e-01,  9.88310769e-01,  9.88383520e-01,
3341      9.88456016e-01,  9.88529420e-01,  9.88602222e-01,  9.88674940e-01,
3342      9.88746626e-01,  9.88818277e-01,  9.88888248e-01,  9.88957438e-01,
3343      9.89024798e-01,  9.89091125e-01,  9.89155170e-01,  9.89217866e-01,
3344      9.89277956e-01,  9.89336519e-01,  9.89392368e-01,  9.89446283e-01,
3345      9.89497212e-01,  9.89546334e-01,  9.89592362e-01,  9.89636265e-01,
3346      9.89677201e-01,  9.89716220e-01,  9.89752029e-01,  9.89785920e-01,
3347      9.89817027e-01,  9.89846207e-01,  9.89872536e-01,  9.89897514e-01,
3348      9.89920005e-01,  9.89941079e-01,  9.89960061e-01,  9.89978226e-01,
3349      9.89994556e-01,  9.90010350e-01,  9.90024832e-01,  9.90039402e-01,
3350      9.90053211e-01,  9.90067475e-01,  9.90081472e-01,  9.90096693e-01,
3351      9.90112245e-01,  9.90129379e-01,  9.90147465e-01,  9.90168060e-01,
3352      9.90190227e-01,  9.90215190e-01,  9.90242442e-01,  9.90273445e-01,
3353      9.90307127e-01,  9.90344891e-01,  9.90386228e-01,  9.90432448e-01,
3354      9.90482565e-01,  9.90537983e-01,  9.90598060e-01,  9.90664037e-01,
3355      9.90734883e-01,  9.90812038e-01,  9.90894786e-01,  9.90984259e-01,
3356      9.91079525e-01,  9.91181924e-01,  9.91290512e-01,  9.91406471e-01,
3357      9.91528801e-01,  9.91658694e-01,  9.91795272e-01,  9.91939622e-01,
3358      9.92090615e-01,  9.92249503e-01,  9.92415240e-01,  9.92588721e-01,
3359      9.92768871e-01,  9.92956911e-01,  9.93151653e-01,  9.93353924e-01,
3360      9.93562689e-01,  9.93779087e-01,  9.94001643e-01,  9.94231202e-01,
3361      9.94466818e-01,  9.94709344e-01,  9.94957285e-01,  9.95211663e-01,
3362      9.95471264e-01,  9.95736795e-01,  9.96006862e-01,  9.96282303e-01,
3363      9.96561799e-01,  9.96846133e-01,  9.97133827e-01,  9.97425669e-01,
3364      9.97720337e-01,  9.98018509e-01,  9.98318587e-01,  9.98621352e-01,
3365      9.98925543e-01,  9.99231731e-01,  9.99538258e-01,  9.99846116e-01,
3366      1.00015391e+00,  1.00046196e+00,  1.00076886e+00,  1.00107561e+00,
3367      1.00138055e+00,  1.00168424e+00,  1.00198543e+00,  1.00228487e+00,
3368      1.00258098e+00,  1.00287441e+00,  1.00316385e+00,  1.00345006e+00,
3369      1.00373157e+00,  1.00400915e+00,  1.00428146e+00,  1.00454934e+00,
3370      1.00481138e+00,  1.00506827e+00,  1.00531880e+00,  1.00556397e+00,
3371      1.00580227e+00,  1.00603455e+00,  1.00625986e+00,  1.00647902e+00,
3372      1.00669054e+00,  1.00689557e+00,  1.00709305e+00,  1.00728380e+00,
3373      1.00746662e+00,  1.00764273e+00,  1.00781104e+00,  1.00797244e+00,
3374      1.00812588e+00,  1.00827260e+00,  1.00841147e+00,  1.00854357e+00,
3375      1.00866802e+00,  1.00878601e+00,  1.00889653e+00,  1.00900077e+00,
3376      1.00909776e+00,  1.00918888e+00,  1.00927316e+00,  1.00935176e+00,
3377      1.00942394e+00,  1.00949118e+00,  1.00955240e+00,  1.00960889e+00,
3378      1.00965997e+00,  1.00970709e+00,  1.00974924e+00,  1.00978774e+00,
3379      1.00982209e+00,  1.00985371e+00,  1.00988150e+00,  1.00990696e+00,
3380      1.00992957e+00,  1.00995057e+00,  1.00996902e+00,  1.00998650e+00,
3381      1.01000236e+00,  1.01001789e+00,  1.01003217e+00,  1.01004672e+00,
3382      1.01006081e+00,  1.01007567e+00,  1.01009045e+00,  1.01010656e+00,
3383      1.01012323e+00,  1.01014176e+00,  1.01016113e+00,  1.01018264e+00,
3384      1.01020559e+00,  1.01023108e+00,  1.01025795e+00,  1.01028773e+00,
3385      1.01031948e+00,  1.01035408e+00,  1.01039064e+00,  1.01043047e+00,
3386      1.01047227e+00,  1.01051710e+00,  1.01056410e+00,  1.01061427e+00,
3387      1.01066629e+00,  1.01072136e+00,  1.01077842e+00,  1.01083825e+00,
3388      1.01089966e+00,  1.01096373e+00,  1.01102919e+00,  1.01109699e+00,
3389      1.01116586e+00,  1.01123661e+00,  1.01130817e+00,  1.01138145e+00,
3390      1.01145479e+00,  1.01152919e+00,  1.01160368e+00,  1.01167880e+00,
3391      1.01175301e+00,  1.01182748e+00,  1.01190094e+00,  1.01197388e+00,
3392      1.01204489e+00,  1.01211499e+00,  1.01218284e+00,  1.01224902e+00,
3393      1.01231210e+00,  1.01237303e+00,  1.01243046e+00,  1.01248497e+00,
3394      1.01253506e+00,  1.01258168e+00,  1.01262347e+00,  1.01266098e+00,
3395      1.01269276e+00,  1.01271979e+00,  1.01274058e+00,  1.01275575e+00,
3396      1.01276395e+00,  1.01276592e+00,  1.01276030e+00,  1.01274782e+00,
3397      1.01272696e+00,  1.01269861e+00,  1.01266140e+00,  1.01261590e+00,
3398      1.01256083e+00,  1.01249705e+00,  1.01242289e+00,  1.01233923e+00,
3399      1.01224492e+00,  1.01214046e+00,  1.01202430e+00,  1.01189756e+00,
3400      1.01175881e+00,  1.01160845e+00,  1.01144516e+00,  1.01126996e+00,
3401      1.01108126e+00,  1.01087961e+00,  1.01066368e+00,  1.01043418e+00,
3402      1.01018968e+00,  1.00993075e+00,  1.00965566e+00,  1.00936525e+00,
3403      1.00905825e+00,  1.00873476e+00,  1.00839308e+00,  1.00803431e+00,
3404      1.00765666e+00,  1.00726014e+00,  1.00684335e+00,  1.00640701e+00,
3405      1.00594915e+00,  1.00547001e+00,  1.00496799e+00,  1.00444353e+00,
3406      1.00389477e+00,  1.00332190e+00,  1.00272313e+00,  1.00209885e+00,
3407      1.00144728e+00,  1.00076851e+00,  1.00006069e+00,  9.99324268e-01,
3408      9.98557350e-01,  9.97760020e-01,  9.96930604e-01,  9.96069427e-01,
3409      9.95174643e-01,  9.94246644e-01,  9.93283713e-01,  9.92286108e-01,
3410      9.91252309e-01,  9.90182742e-01,  9.89075787e-01,  9.87931302e-01,
3411      9.86355322e-01,  9.84736245e-01,  9.83175095e-01,  9.81558334e-01,
3412      9.79861353e-01,  9.78061749e-01,  9.76157432e-01,  9.74137862e-01,
3413      9.71999011e-01,  9.69732741e-01,  9.67333198e-01,  9.64791512e-01,
3414      9.62101150e-01,  9.59253976e-01,  9.56242718e-01,  9.53060091e-01,
3415      9.49698408e-01,  9.46149812e-01,  9.42407161e-01,  9.38463416e-01,
3416      9.34311297e-01,  9.29944987e-01,  9.25356797e-01,  9.20540463e-01,
3417      9.15489628e-01,  9.10198679e-01,  9.04662060e-01,  8.98875519e-01,
3418      8.92833832e-01,  8.86533719e-01,  8.79971272e-01,  8.73143784e-01,
3419      8.66047653e-01,  8.58681252e-01,  8.51042044e-01,  8.43129723e-01,
3420      8.34943514e-01,  8.26483991e-01,  8.17750537e-01,  8.08744982e-01,
3421      7.99468149e-01,  7.89923516e-01,  7.80113773e-01,  7.70043128e-01,
3422      7.59714574e-01,  7.49133097e-01,  7.38302860e-01,  7.27229876e-01,
3423      7.15920192e-01,  7.04381434e-01,  6.92619693e-01,  6.80643883e-01,
3424      6.68461648e-01,  6.56083014e-01,  6.43517927e-01,  6.30775533e-01,
3425      6.17864165e-01,  6.04795463e-01,  5.91579959e-01,  5.78228937e-01,
3426      5.64753589e-01,  5.51170316e-01,  5.37490509e-01,  5.23726350e-01,
3427      5.09891542e-01,  4.96000807e-01,  4.82066294e-01,  4.68101711e-01,
3428      4.54121700e-01,  4.40142182e-01,  4.26177297e-01,  4.12241789e-01,
3429      3.98349961e-01,  3.84517234e-01,  3.70758372e-01,  3.57088679e-01,
3430      3.43522867e-01,  3.30076376e-01,  3.16764033e-01,  3.03600465e-01,
3431      2.90599616e-01,  2.77775850e-01,  2.65143468e-01,  2.52716188e-01,
3432      2.40506985e-01,  2.28528397e-01,  2.16793343e-01,  2.05313990e-01,
3433      1.94102191e-01,  1.83168087e-01,  1.72522195e-01,  1.62173542e-01,
3434      1.52132068e-01,  1.42405280e-01,  1.33001524e-01,  1.23926066e-01,
3435      1.15185830e-01,  1.06784043e-01,  9.87263751e-02,  9.10137900e-02,
3436      8.36505724e-02,  7.66350831e-02,  6.99703341e-02,  6.36518811e-02,
3437      5.76817602e-02,  5.20524422e-02,  4.67653841e-02,  4.18095054e-02,
3438      3.71864025e-02,  3.28807275e-02,  2.88954850e-02,  2.52098057e-02,
3439      2.18305756e-02,  1.87289619e-02,  1.59212782e-02,  1.33638143e-02,
3440      1.10855888e-02,  8.94347419e-03,  6.75812489e-03,  3.50443813e-03,
3441 };
3442 
3443 #if LC3_PLUS_HR
3444 
3445 static const float mdct_win_10m_48k_hr[__LC3_MDCT_WIN_LEN(10000, 48000)] = {
3446      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3447      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3448      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3449      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3450      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3451      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3452      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3453      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3454      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3455      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3456      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3457      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3458      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3459      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3460      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3461      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3462      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3463      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3464      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3465      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3466      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3467      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3468      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3469      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3470      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3471      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3472      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3473      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3474      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3475      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3476      9.42341174e-08,  6.19838374e-07,  1.82603810e-06,  4.22741550e-06,
3477      8.56822135e-06,  1.59013834e-05,  2.76738483e-05,  4.58246141e-05,
3478      7.28956657e-05,  1.12155336e-04,  1.67733029e-04,  2.44763592e-04,
3479      3.49539070e-04,  4.89664846e-04,  6.74216484e-04,  9.13893222e-04,
3480      1.22116262e-03,  1.61039189e-03,  2.09795963e-03,  2.70234118e-03,
3481      3.44416290e-03,  4.34621749e-03,  5.43343695e-03,  6.73281262e-03,
3482      8.27326626e-03,  1.00854570e-02,  1.22015327e-02,  1.46548180e-02,
3483      1.74794346e-02,  2.07098722e-02,  2.43804958e-02,  2.85249949e-02,
3484      3.31758074e-02,  3.83635014e-02,  4.41161096e-02,  5.04585020e-02,
3485      5.74117042e-02,  6.49922863e-02,  7.32117295e-02,  8.20759088e-02,
3486      9.15845558e-02,  1.01730898e-01,  1.12501279e-01,  1.23875007e-01,
3487      1.35824218e-01,  1.48313895e-01,  1.61302090e-01,  1.74740151e-01,
3488      1.88573152e-01,  2.02740535e-01,  2.17176691e-01,  2.31811777e-01,
3489      2.46572644e-01,  2.61383832e-01,  2.76168495e-01,  2.90849626e-01,
3490      3.05351138e-01,  3.19598824e-01,  3.33521664e-01,  3.47052664e-01,
3491      3.60129982e-01,  3.72697920e-01,  3.84707332e-01,  3.96116525e-01,
3492      4.06891733e-01,  4.17007536e-01,  4.26446915e-01,  4.35201406e-01,
3493      4.43271041e-01,  4.50664014e-01,  4.57396388e-01,  4.63491529e-01,
3494      4.68979478e-01,  4.73896384e-01,  4.78283674e-01,  4.82187212e-01,
3495      4.85656589e-01,  4.88744229e-01,  4.91504699e-01,  4.93993789e-01,
3496      4.96267974e-01,  4.98383760e-01,  5.00396967e-01,  5.02362430e-01,
3497      5.04333496e-01,  5.06361604e-01,  5.08496106e-01,  5.10783911e-01,
3498      5.13269365e-01,  5.15994072e-01,  5.18996596e-01,  5.22312462e-01,
3499      5.25973916e-01,  5.30009925e-01,  5.34445822e-01,  5.39303243e-01,
3500      5.44600070e-01,  5.50350249e-01,  5.56563497e-01,  5.63245535e-01,
3501      5.70397854e-01,  5.78017771e-01,  5.86098313e-01,  5.94628513e-01,
3502      6.03593290e-01,  6.12973869e-01,  6.22747838e-01,  6.32889450e-01,
3503      6.43370092e-01,  6.54158235e-01,  6.65220201e-01,  6.76520288e-01,
3504      6.88021243e-01,  6.99684739e-01,  7.11471498e-01,  7.23342001e-01,
3505      7.35256732e-01,  7.47176409e-01,  7.59062469e-01,  7.70877421e-01,
3506      7.82584906e-01,  7.94150114e-01,  8.05540025e-01,  8.16723466e-01,
3507      8.27671409e-01,  8.38356972e-01,  8.48755658e-01,  8.58845115e-01,
3508      8.68605733e-01,  8.78019989e-01,  8.87072980e-01,  8.95752132e-01,
3509      9.04047191e-01,  9.11950290e-01,  9.19455826e-01,  9.26560223e-01,
3510      9.33262229e-01,  9.39562619e-01,  9.45464134e-01,  9.50971425e-01,
3511      9.56090987e-01,  9.60831106e-01,  9.65201676e-01,  9.69214201e-01,
3512      9.72881556e-01,  9.76217866e-01,  9.79238510e-01,  9.81959701e-01,
3513      9.84398544e-01,  9.86572623e-01,  9.88499999e-01,  9.90198970e-01,
3514      9.91687655e-01,  9.92984235e-01,  9.94106293e-01,  9.95071113e-01,
3515      9.95895147e-01,  9.96594131e-01,  9.97182965e-01,  9.97675478e-01,
3516      9.98084545e-01,  9.98421967e-01,  9.98698533e-01,  9.98923838e-01,
3517      9.99106586e-01,  9.99254227e-01,  9.99373496e-01,  9.99470055e-01,
3518      9.99548733e-01,  9.99613643e-01,  9.99668002e-01,  9.99714673e-01,
3519      9.99755740e-01,  9.99792874e-01,  9.99827385e-01,  9.99860168e-01,
3520      9.99891937e-01,  9.99923110e-01,  9.99953985e-01,  9.99984682e-01,
3521      1.00001526e+00,  1.00004578e+00,  1.00007617e+00,  1.00010622e+00,
3522      1.00013602e+00,  1.00016546e+00,  1.00019431e+00,  1.00022256e+00,
3523      1.00025010e+00,  1.00027692e+00,  1.00030291e+00,  1.00032794e+00,
3524      1.00035203e+00,  1.00037491e+00,  1.00039685e+00,  1.00041747e+00,
3525      1.00043690e+00,  1.00045502e+00,  1.00047183e+00,  1.00048721e+00,
3526      1.00050116e+00,  1.00051367e+00,  1.00052476e+00,  1.00053418e+00,
3527      1.00054228e+00,  1.00054872e+00,  1.00055361e+00,  1.00055695e+00,
3528      1.00055885e+00,  1.00055909e+00,  1.00055790e+00,  1.00055504e+00,
3529      1.00055087e+00,  1.00054502e+00,  1.00053787e+00,  1.00052929e+00,
3530      1.00051928e+00,  1.00050783e+00,  1.00049520e+00,  1.00048113e+00,
3531      1.00046599e+00,  1.00044954e+00,  1.00043201e+00,  1.00041330e+00,
3532      1.00039363e+00,  1.00037301e+00,  1.00035143e+00,  1.00032890e+00,
3533      1.00030565e+00,  1.00028157e+00,  1.00025690e+00,  1.00023150e+00,
3534      1.00020564e+00,  1.00017929e+00,  1.00015235e+00,  1.00012517e+00,
3535      1.00009763e+00,  1.00006998e+00,  1.00004208e+00,  1.00001407e+00,
3536      9.99985993e-01,  9.99957979e-01,  9.99930084e-01,  9.99902308e-01,
3537      9.99874830e-01,  9.99847591e-01,  9.99820769e-01,  9.99794364e-01,
3538      9.99768496e-01,  9.99743164e-01,  9.99718428e-01,  9.99694467e-01,
3539      9.99671161e-01,  9.99648750e-01,  9.99627173e-01,  9.99606490e-01,
3540      9.99586821e-01,  9.99568224e-01,  9.99550641e-01,  9.99534249e-01,
3541      9.99519050e-01,  9.99505103e-01,  9.99492407e-01,  9.99481022e-01,
3542      9.99471009e-01,  9.99462426e-01,  9.99455214e-01,  9.99449492e-01,
3543      9.99445200e-01,  9.99442458e-01,  9.99441206e-01,  9.99441504e-01,
3544      9.99443293e-01,  9.99446690e-01,  9.99451578e-01,  9.99458075e-01,
3545      9.99466062e-01,  9.99475598e-01,  9.99486566e-01,  9.99499083e-01,
3546      9.99513030e-01,  9.99528408e-01,  9.99545157e-01,  9.99563277e-01,
3547      9.99582708e-01,  9.99603331e-01,  9.99625206e-01,  9.99648154e-01,
3548      9.99672174e-01,  9.99697208e-01,  9.99723136e-01,  9.99749959e-01,
3549      9.99777496e-01,  9.99805748e-01,  9.99834597e-01,  9.99863982e-01,
3550      9.99893785e-01,  9.99923885e-01,  9.99954224e-01,  9.99984741e-01,
3551      1.00001526e+00,  1.00004578e+00,  1.00007617e+00,  1.00010622e+00,
3552      1.00013602e+00,  1.00016546e+00,  1.00019431e+00,  1.00022256e+00,
3553      1.00025010e+00,  1.00027692e+00,  1.00030291e+00,  1.00032794e+00,
3554      1.00035203e+00,  1.00037491e+00,  1.00039685e+00,  1.00041747e+00,
3555      1.00043690e+00,  1.00045502e+00,  1.00047183e+00,  1.00048721e+00,
3556      1.00050116e+00,  1.00051367e+00,  1.00052476e+00,  1.00053418e+00,
3557      1.00054228e+00,  1.00054872e+00,  1.00055361e+00,  1.00055695e+00,
3558      1.00055885e+00,  1.00055909e+00,  1.00055790e+00,  1.00055504e+00,
3559      1.00055087e+00,  1.00054502e+00,  1.00053787e+00,  1.00052929e+00,
3560      1.00051928e+00,  1.00050783e+00,  1.00049520e+00,  1.00048113e+00,
3561      1.00046599e+00,  1.00044954e+00,  1.00043201e+00,  1.00041330e+00,
3562      1.00039363e+00,  1.00037301e+00,  1.00035143e+00,  1.00032890e+00,
3563      1.00030565e+00,  1.00028157e+00,  1.00025690e+00,  1.00023150e+00,
3564      1.00020564e+00,  1.00017929e+00,  1.00015235e+00,  1.00012517e+00,
3565      1.00009763e+00,  1.00006998e+00,  1.00004208e+00,  1.00001407e+00,
3566      9.99985993e-01,  9.99957979e-01,  9.99930084e-01,  9.99902308e-01,
3567      9.99874830e-01,  9.99847591e-01,  9.99820769e-01,  9.99794364e-01,
3568      9.99768496e-01,  9.99743164e-01,  9.99718428e-01,  9.99694467e-01,
3569      9.99671161e-01,  9.99648750e-01,  9.99627173e-01,  9.99606490e-01,
3570      9.99586821e-01,  9.99568224e-01,  9.99550641e-01,  9.99534249e-01,
3571      9.99519050e-01,  9.99505103e-01,  9.99492407e-01,  9.99481022e-01,
3572      9.99471009e-01,  9.99462426e-01,  9.99455214e-01,  9.99449492e-01,
3573      9.99445200e-01,  9.99442458e-01,  9.99441206e-01,  9.99441504e-01,
3574      9.99443293e-01,  9.99446690e-01,  9.99451578e-01,  9.99458075e-01,
3575      9.99466062e-01,  9.99475598e-01,  9.99486566e-01,  9.99499083e-01,
3576      9.99513030e-01,  9.99528408e-01,  9.99545157e-01,  9.99563277e-01,
3577      9.99582708e-01,  9.99603331e-01,  9.99625206e-01,  9.99648154e-01,
3578      9.99672174e-01,  9.99697208e-01,  9.99723136e-01,  9.99749959e-01,
3579      9.99777496e-01,  9.99805748e-01,  9.99834597e-01,  9.99863982e-01,
3580      9.99893785e-01,  9.99923885e-01,  9.99954224e-01,  9.99984741e-01,
3581      1.00001526e+00,  1.00004578e+00,  1.00007617e+00,  1.00010622e+00,
3582      1.00013602e+00,  1.00016546e+00,  1.00019431e+00,  1.00022256e+00,
3583      1.00025010e+00,  1.00027692e+00,  1.00030291e+00,  1.00032794e+00,
3584      1.00035203e+00,  1.00037491e+00,  1.00039685e+00,  1.00041747e+00,
3585      1.00043690e+00,  1.00045502e+00,  1.00047183e+00,  1.00048721e+00,
3586      1.00050116e+00,  1.00051367e+00,  1.00052476e+00,  1.00053418e+00,
3587      1.00054228e+00,  1.00054872e+00,  1.00055361e+00,  1.00055695e+00,
3588      1.00055885e+00,  1.00055909e+00,  1.00055790e+00,  1.00055504e+00,
3589      1.00055087e+00,  1.00054502e+00,  1.00053787e+00,  1.00052929e+00,
3590      1.00051928e+00,  1.00050783e+00,  1.00049520e+00,  1.00048113e+00,
3591      1.00046599e+00,  1.00044954e+00,  1.00043201e+00,  1.00041330e+00,
3592      1.00039363e+00,  1.00037301e+00,  1.00035143e+00,  1.00032890e+00,
3593      1.00030565e+00,  1.00028157e+00,  1.00025690e+00,  1.00023150e+00,
3594      1.00020564e+00,  1.00017929e+00,  1.00015235e+00,  1.00012517e+00,
3595      1.00009763e+00,  1.00006998e+00,  1.00004208e+00,  1.00001407e+00,
3596      9.99985993e-01,  9.99957979e-01,  9.99930084e-01,  9.99902308e-01,
3597      9.99874830e-01,  9.99847591e-01,  9.99820769e-01,  9.99794364e-01,
3598      9.99768496e-01,  9.99743164e-01,  9.99718428e-01,  9.99694467e-01,
3599      9.99671161e-01,  9.99648750e-01,  9.99627173e-01,  9.99606490e-01,
3600      9.99586821e-01,  9.99568224e-01,  9.99550641e-01,  9.99534249e-01,
3601      9.99519050e-01,  9.99505103e-01,  9.99492407e-01,  9.99481022e-01,
3602      9.99471009e-01,  9.99462426e-01,  9.99455214e-01,  9.99449492e-01,
3603      9.99445200e-01,  9.99442458e-01,  9.99441206e-01,  9.99441504e-01,
3604      9.99443293e-01,  9.99446690e-01,  9.99451578e-01,  9.99458075e-01,
3605      9.99466062e-01,  9.99475598e-01,  9.99486566e-01,  9.99499083e-01,
3606      9.99513030e-01,  9.99528408e-01,  9.99545157e-01,  9.99563277e-01,
3607      9.99582708e-01,  9.99603331e-01,  9.99625206e-01,  9.99648154e-01,
3608      9.99672174e-01,  9.99697208e-01,  9.99723136e-01,  9.99749959e-01,
3609      9.99777496e-01,  9.99805748e-01,  9.99834597e-01,  9.99863982e-01,
3610      9.99893785e-01,  9.99923885e-01,  9.99954224e-01,  9.99984741e-01,
3611      1.00001526e+00,  1.00004554e+00,  1.00007534e+00,  1.00010443e+00,
3612      1.00013220e+00,  1.00015819e+00,  1.00018132e+00,  1.00020075e+00,
3613      1.00021482e+00,  1.00022173e+00,  1.00021923e+00,  1.00020432e+00,
3614      1.00017369e+00,  1.00012279e+00,  1.00004685e+00,  9.99939978e-01,
3615      9.99795198e-01,  9.99604583e-01,  9.99359250e-01,  9.99048889e-01,
3616      9.98662114e-01,  9.98186171e-01,  9.97606814e-01,  9.96908367e-01,
3617      9.96073723e-01,  9.95083988e-01,  9.93918717e-01,  9.92555678e-01,
3618      9.90970671e-01,  9.89137888e-01,  9.87029374e-01,  9.84615326e-01,
3619      9.81863916e-01,  9.78741586e-01,  9.75212753e-01,  9.71240282e-01,
3620      9.66785491e-01,  9.61808383e-01,  9.56268132e-01,  9.50123310e-01,
3621      9.43332374e-01,  9.35854316e-01,  9.27648962e-01,  9.18677926e-01,
3622      9.08904910e-01,  8.98296535e-01,  8.86823177e-01,  8.74459147e-01,
3623      8.61183822e-01,  8.46981943e-01,  8.31844091e-01,  8.15767467e-01,
3624      7.98755884e-01,  7.80820429e-01,  7.61979520e-01,  7.42259145e-01,
3625      7.21692860e-01,  7.00321794e-01,  6.78194642e-01,  6.55367255e-01,
3626      6.31902635e-01,  6.07870460e-01,  5.83346546e-01,  5.58412433e-01,
3627      5.33154905e-01,  5.07664979e-01,  4.82037485e-01,  4.56370175e-01,
3628      4.30762708e-01,  4.05315757e-01,  3.80130053e-01,  3.55305195e-01,
3629      3.30938727e-01,  3.07124883e-01,  2.83953428e-01,  2.61508703e-01,
3630      2.39868388e-01,  2.19102606e-01,  1.99272946e-01,  1.80431694e-01,
3631      1.62621215e-01,  1.45873442e-01,  1.30209655e-01,  1.15640387e-01,
3632      1.02165572e-01,  8.97749513e-02,  7.84486011e-02,  6.81576878e-02,
3633      5.88653944e-02,  5.05279638e-02,  4.30957973e-02,  3.65146622e-02,
3634      3.07268873e-02,  2.56725382e-02,  2.12905537e-02,  1.75197981e-02,
3635      1.43000064e-02,  1.15726292e-02,  9.28153656e-03,  7.37359654e-03,
3636      5.79912262e-03,  4.51218896e-03,  3.47083295e-03,  2.63714185e-03,
3637      1.97724649e-03,  1.46123092e-03,  1.06297329e-03,  7.59930001e-04,
3638      5.32880833e-04,  3.65644053e-04,  2.44775380e-04,  1.59260671e-04,
3639      1.00211051e-04,  6.05685127e-05,  3.48275607e-05,  1.87775731e-05,
3640      9.26902067e-06,  4.00523413e-06,  1.35989160e-06,  2.06769442e-07,
3641 };
3642 
3643 static const float mdct_win_10m_96k_hr[__LC3_MDCT_WIN_LEN(10000, 96000)] = {
3644      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3645      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3646      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3647      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3648      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3649      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3650      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3651      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3652      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3653      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3654      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3655      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3656      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3657      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3658      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3659      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3660      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3661      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3662      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3663      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3664      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3665      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3666      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3667      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3668      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3669      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3670      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3671      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3672      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3673      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3674      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3675      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3676      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3677      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3678      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3679      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3680      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3681      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3682      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3683      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3684      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3685      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3686      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3687      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3688      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3689      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3690      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3691      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3692      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3693      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3694      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3695      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3696      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3697      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3698      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3699      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3700      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3701      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3702      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3703      0.00000000e+00,  0.00000000e+00,  0.00000000e+00,  0.00000000e+00,
3704      6.66310811e-08,  2.23723916e-07,  4.87541854e-07,  8.99672727e-07,
3705      1.51141830e-06,  2.38590815e-06,  3.60002150e-06,  5.24645884e-06,
3706      7.43599958e-06,  1.02999529e-05,  1.39928125e-05,  1.86951092e-05,
3707      2.46164800e-05,  3.19989194e-05,  4.11202636e-05,  5.22978444e-05,
3708      6.58923600e-05,  8.23118899e-05,  1.02016144e-04,  1.25520819e-04,
3709      1.53402099e-04,  1.86301360e-04,  2.24929841e-04,  2.70073535e-04,
3710      3.22598062e-04,  3.83453589e-04,  4.53679706e-04,  5.34410414e-04,
3711      6.26878755e-04,  7.32421642e-04,  8.52484489e-04,  9.88625223e-04,
3712      1.14251883e-03,  1.31596089e-03,  1.51087111e-03,  1.72929652e-03,
3713      1.97341433e-03,  2.24553375e-03,  2.54809810e-03,  2.88368552e-03,
3714      3.25501012e-03,  3.66492104e-03,  4.11640201e-03,  4.61257016e-03,
3715      5.15667303e-03,  5.75208431e-03,  6.40230207e-03,  7.11094262e-03,
3716      7.88173359e-03,  8.71850923e-03,  9.62519925e-03,  1.06058242e-02,
3717      1.16644828e-02,  1.28053408e-02,  1.40326228e-02,  1.53505951e-02,
3718      1.67635549e-02,  1.82758160e-02,  1.98916886e-02,  2.16154736e-02,
3719      2.34514344e-02,  2.54037846e-02,  2.74766665e-02,  2.96741407e-02,
3720      3.20001543e-02,  3.44585292e-02,  3.70529443e-02,  3.97869013e-02,
3721      4.26637232e-02,  4.56865206e-02,  4.88581695e-02,  5.21813035e-02,
3722      5.56582808e-02,  5.92911765e-02,  6.30817562e-02,  6.70314580e-02,
3723      7.11413696e-02,  7.54122287e-02,  7.98443928e-02,  8.44378322e-02,
3724      8.91921073e-02,  9.41063836e-02,  9.91793722e-02,  1.04409374e-01,
3725      1.09794252e-01,  1.15331404e-01,  1.21017799e-01,  1.26849949e-01,
3726      1.32823929e-01,  1.38935357e-01,  1.45179421e-01,  1.51550874e-01,
3727      1.58044025e-01,  1.64652810e-01,  1.71370730e-01,  1.78190947e-01,
3728      1.85106188e-01,  1.92108899e-01,  1.99191183e-01,  2.06344813e-01,
3729      2.13561311e-01,  2.20831960e-01,  2.28147790e-01,  2.35499650e-01,
3730      2.42878228e-01,  2.50274092e-01,  2.57677704e-01,  2.65079439e-01,
3731      2.72469670e-01,  2.79838771e-01,  2.87177145e-01,  2.94475257e-01,
3732      3.01723719e-01,  3.08913231e-01,  3.16034675e-01,  3.23079228e-01,
3733      3.30038190e-01,  3.36903185e-01,  3.43666196e-01,  3.50319386e-01,
3734      3.56855512e-01,  3.63267571e-01,  3.69548947e-01,  3.75693500e-01,
3735      3.81695598e-01,  3.87549996e-01,  3.93251985e-01,  3.98797333e-01,
3736      4.04182315e-01,  4.09403801e-01,  4.14459109e-01,  4.19346124e-01,
3737      4.24063236e-01,  4.28609401e-01,  4.32984143e-01,  4.37187403e-01,
3738      4.41219747e-01,  4.45082188e-01,  4.48776275e-01,  4.52303976e-01,
3739      4.55667824e-01,  4.58870709e-01,  4.61916000e-01,  4.64807451e-01,
3740      4.67549264e-01,  4.70145911e-01,  4.72602278e-01,  4.74923581e-01,
3741      4.77115244e-01,  4.79183048e-01,  4.81132984e-01,  4.82971221e-01,
3742      4.84704226e-01,  4.86338496e-01,  4.87880766e-01,  4.89337832e-01,
3743      4.90716666e-01,  4.92024213e-01,  4.93267536e-01,  4.94453669e-01,
3744      4.95589703e-01,  4.96682733e-01,  4.97739762e-01,  4.98767793e-01,
3745      4.99773741e-01,  5.00764489e-01,  5.01746774e-01,  5.02727270e-01,
3746      5.03712595e-01,  5.04709125e-01,  5.05723178e-01,  5.06760955e-01,
3747      5.07828474e-01,  5.08931518e-01,  5.10075927e-01,  5.11267185e-01,
3748      5.12510598e-01,  5.13811469e-01,  5.15174806e-01,  5.16605377e-01,
3749      5.18107831e-01,  5.19686580e-01,  5.21345973e-01,  5.23089945e-01,
3750      5.24922311e-01,  5.26846766e-01,  5.28866649e-01,  5.30985177e-01,
3751      5.33205211e-01,  5.35529494e-01,  5.37960529e-01,  5.40500462e-01,
3752      5.43151379e-01,  5.45914948e-01,  5.48792660e-01,  5.51785827e-01,
3753      5.54895282e-01,  5.58121800e-01,  5.61465800e-01,  5.64927518e-01,
3754      5.68506777e-01,  5.72203338e-01,  5.76016545e-01,  5.79945564e-01,
3755      5.83989203e-01,  5.88146091e-01,  5.92414677e-01,  5.96792936e-01,
3756      6.01278901e-01,  6.05870068e-01,  6.10563993e-01,  6.15357757e-01,
3757      6.20248437e-01,  6.25232756e-01,  6.30307317e-01,  6.35468543e-01,
3758      6.40712619e-01,  6.46035612e-01,  6.51433527e-01,  6.56902015e-01,
3759      6.62436843e-01,  6.68033481e-01,  6.73687398e-01,  6.79393888e-01,
3760      6.85148239e-01,  6.90945625e-01,  6.96781278e-01,  7.02650130e-01,
3761      7.08547413e-01,  7.14468122e-01,  7.20407307e-01,  7.26359963e-01,
3762      7.32321203e-01,  7.38286138e-01,  7.44249880e-01,  7.50207603e-01,
3763      7.56154597e-01,  7.62086034e-01,  7.67997444e-01,  7.73884177e-01,
3764      7.79741824e-01,  7.85566032e-01,  7.91352570e-01,  7.97097266e-01,
3765      8.02796185e-01,  8.08445334e-01,  8.14041018e-01,  8.19579542e-01,
3766      8.25057447e-01,  8.30471396e-01,  8.35818112e-01,  8.41094613e-01,
3767      8.46297920e-01,  8.51425231e-01,  8.56473923e-01,  8.61441612e-01,
3768      8.66325855e-01,  8.71124566e-01,  8.75835657e-01,  8.80457282e-01,
3769      8.84987772e-01,  8.89425457e-01,  8.93768966e-01,  8.98017049e-01,
3770      9.02168512e-01,  9.06222403e-01,  9.10177886e-01,  9.14034188e-01,
3771      9.17790771e-01,  9.21447217e-01,  9.25003231e-01,  9.28458691e-01,
3772      9.31813419e-01,  9.35067594e-01,  9.38221455e-01,  9.41275299e-01,
3773      9.44229603e-01,  9.47084904e-01,  9.49841976e-01,  9.52501595e-01,
3774      9.55064654e-01,  9.57532167e-01,  9.59905326e-01,  9.62185323e-01,
3775      9.64373529e-01,  9.66471374e-01,  9.68480289e-01,  9.70402002e-01,
3776      9.72238123e-01,  9.73990440e-01,  9.75660801e-01,  9.77251112e-01,
3777      9.78763342e-01,  9.80199575e-01,  9.81561780e-01,  9.82852161e-01,
3778      9.84072864e-01,  9.85226095e-01,  9.86314118e-01,  9.87339139e-01,
3779      9.88303483e-01,  9.89209354e-01,  9.90059078e-01,  9.90854919e-01,
3780      9.91599143e-01,  9.92294014e-01,  9.92941797e-01,  9.93544638e-01,
3781      9.94104803e-01,  9.94624376e-01,  9.95105505e-01,  9.95550215e-01,
3782      9.95960534e-01,  9.96338427e-01,  9.96685863e-01,  9.97004628e-01,
3783      9.97296572e-01,  9.97563362e-01,  9.97806728e-01,  9.98028338e-01,
3784      9.98229563e-01,  9.98412073e-01,  9.98577118e-01,  9.98726189e-01,
3785      9.98860478e-01,  9.98981178e-01,  9.99089479e-01,  9.99186397e-01,
3786      9.99273062e-01,  9.99350369e-01,  9.99419153e-01,  9.99480307e-01,
3787      9.99534547e-01,  9.99582708e-01,  9.99625325e-01,  9.99663055e-01,
3788      9.99696434e-01,  9.99726057e-01,  9.99752283e-01,  9.99775589e-01,
3789      9.99796331e-01,  9.99814928e-01,  9.99831557e-01,  9.99846578e-01,
3790      9.99860287e-01,  9.99872804e-01,  9.99884307e-01,  9.99895036e-01,
3791      9.99905109e-01,  9.99914587e-01,  9.99923646e-01,  9.99932408e-01,
3792      9.99940872e-01,  9.99949098e-01,  9.99957144e-01,  9.99965072e-01,
3793      9.99972939e-01,  9.99980748e-01,  9.99988437e-01,  9.99996126e-01,
3794      1.00000381e+00,  1.00001144e+00,  1.00001907e+00,  1.00002670e+00,
3795      1.00003433e+00,  1.00004184e+00,  1.00004935e+00,  1.00005686e+00,
3796      1.00006437e+00,  1.00007176e+00,  1.00007904e+00,  1.00008631e+00,
3797      1.00009358e+00,  1.00010073e+00,  1.00010777e+00,  1.00011480e+00,
3798      1.00012159e+00,  1.00012839e+00,  1.00013518e+00,  1.00014174e+00,
3799      1.00014830e+00,  1.00015461e+00,  1.00016093e+00,  1.00016701e+00,
3800      1.00017309e+00,  1.00017893e+00,  1.00018466e+00,  1.00019026e+00,
3801      1.00019574e+00,  1.00020099e+00,  1.00020623e+00,  1.00021124e+00,
3802      1.00021613e+00,  1.00022078e+00,  1.00022531e+00,  1.00022972e+00,
3803      1.00023389e+00,  1.00023794e+00,  1.00024176e+00,  1.00024545e+00,
3804      1.00024891e+00,  1.00025225e+00,  1.00025535e+00,  1.00025833e+00,
3805      1.00026107e+00,  1.00026357e+00,  1.00026596e+00,  1.00026822e+00,
3806      1.00027013e+00,  1.00027204e+00,  1.00027359e+00,  1.00027502e+00,
3807      1.00027621e+00,  1.00027728e+00,  1.00027812e+00,  1.00027883e+00,
3808      1.00027919e+00,  1.00027955e+00,  1.00027955e+00,  1.00027943e+00,
3809      1.00027919e+00,  1.00027859e+00,  1.00027800e+00,  1.00027704e+00,
3810      1.00027597e+00,  1.00027478e+00,  1.00027335e+00,  1.00027168e+00,
3811      1.00026989e+00,  1.00026786e+00,  1.00026572e+00,  1.00026345e+00,
3812      1.00026095e+00,  1.00025821e+00,  1.00025535e+00,  1.00025237e+00,
3813      1.00024927e+00,  1.00024593e+00,  1.00024235e+00,  1.00023878e+00,
3814      1.00023496e+00,  1.00023091e+00,  1.00022686e+00,  1.00022256e+00,
3815      1.00021827e+00,  1.00021374e+00,  1.00020909e+00,  1.00020421e+00,
3816      1.00019932e+00,  1.00019431e+00,  1.00018907e+00,  1.00018382e+00,
3817      1.00017846e+00,  1.00017297e+00,  1.00016737e+00,  1.00016165e+00,
3818      1.00015581e+00,  1.00014985e+00,  1.00014389e+00,  1.00013781e+00,
3819      1.00013161e+00,  1.00012529e+00,  1.00011897e+00,  1.00011253e+00,
3820      1.00010610e+00,  1.00009954e+00,  1.00009298e+00,  1.00008631e+00,
3821      1.00007963e+00,  1.00007284e+00,  1.00006604e+00,  1.00005913e+00,
3822      1.00005233e+00,  1.00004542e+00,  1.00003850e+00,  1.00003147e+00,
3823      1.00002456e+00,  1.00001752e+00,  1.00001049e+00,  1.00000346e+00,
3824      9.99996483e-01,  9.99989510e-01,  9.99982476e-01,  9.99975502e-01,
3825      9.99968529e-01,  9.99961555e-01,  9.99954641e-01,  9.99947727e-01,
3826      9.99940813e-01,  9.99933958e-01,  9.99927163e-01,  9.99920428e-01,
3827      9.99913692e-01,  9.99907076e-01,  9.99900460e-01,  9.99893904e-01,
3828      9.99887466e-01,  9.99881029e-01,  9.99874711e-01,  9.99868453e-01,
3829      9.99862254e-01,  9.99856174e-01,  9.99850154e-01,  9.99844253e-01,
3830      9.99838412e-01,  9.99832690e-01,  9.99827087e-01,  9.99821603e-01,
3831      9.99816179e-01,  9.99810934e-01,  9.99805748e-01,  9.99800682e-01,
3832      9.99795794e-01,  9.99791026e-01,  9.99786317e-01,  9.99781847e-01,
3833      9.99777436e-01,  9.99773204e-01,  9.99769092e-01,  9.99765158e-01,
3834      9.99761343e-01,  9.99757707e-01,  9.99754190e-01,  9.99750853e-01,
3835      9.99747694e-01,  9.99744654e-01,  9.99741852e-01,  9.99739170e-01,
3836      9.99736667e-01,  9.99734342e-01,  9.99732137e-01,  9.99730170e-01,
3837      9.99728382e-01,  9.99726772e-01,  9.99725342e-01,  9.99724090e-01,
3838      9.99723017e-01,  9.99722123e-01,  9.99721408e-01,  9.99720931e-01,
3839      9.99720633e-01,  9.99720514e-01,  9.99720573e-01,  9.99720812e-01,
3840      9.99721289e-01,  9.99721944e-01,  9.99722779e-01,  9.99723792e-01,
3841      9.99725044e-01,  9.99726474e-01,  9.99728084e-01,  9.99729872e-01,
3842      9.99731898e-01,  9.99734104e-01,  9.99736488e-01,  9.99739051e-01,
3843      9.99741793e-01,  9.99744713e-01,  9.99747872e-01,  9.99751151e-01,
3844      9.99754667e-01,  9.99758303e-01,  9.99762177e-01,  9.99766171e-01,
3845      9.99770403e-01,  9.99774754e-01,  9.99779284e-01,  9.99783993e-01,
3846      9.99788821e-01,  9.99793828e-01,  9.99799013e-01,  9.99804318e-01,
3847      9.99809742e-01,  9.99815404e-01,  9.99821126e-01,  9.99826968e-01,
3848      9.99832988e-01,  9.99839127e-01,  9.99845386e-01,  9.99851763e-01,
3849      9.99858260e-01,  9.99864876e-01,  9.99871552e-01,  9.99878347e-01,
3850      9.99885261e-01,  9.99892235e-01,  9.99899328e-01,  9.99906480e-01,
3851      9.99913692e-01,  9.99920964e-01,  9.99928296e-01,  9.99935687e-01,
3852      9.99943137e-01,  9.99950647e-01,  9.99958158e-01,  9.99965727e-01,
3853      9.99973297e-01,  9.99980927e-01,  9.99988556e-01,  9.99996185e-01,
3854      1.00000381e+00,  1.00001144e+00,  1.00001907e+00,  1.00002670e+00,
3855      1.00003433e+00,  1.00004184e+00,  1.00004935e+00,  1.00005686e+00,
3856      1.00006437e+00,  1.00007176e+00,  1.00007904e+00,  1.00008631e+00,
3857      1.00009358e+00,  1.00010073e+00,  1.00010777e+00,  1.00011480e+00,
3858      1.00012159e+00,  1.00012839e+00,  1.00013518e+00,  1.00014174e+00,
3859      1.00014830e+00,  1.00015461e+00,  1.00016093e+00,  1.00016701e+00,
3860      1.00017309e+00,  1.00017893e+00,  1.00018466e+00,  1.00019026e+00,
3861      1.00019574e+00,  1.00020099e+00,  1.00020623e+00,  1.00021124e+00,
3862      1.00021613e+00,  1.00022078e+00,  1.00022531e+00,  1.00022972e+00,
3863      1.00023389e+00,  1.00023794e+00,  1.00024176e+00,  1.00024545e+00,
3864      1.00024891e+00,  1.00025225e+00,  1.00025535e+00,  1.00025833e+00,
3865      1.00026107e+00,  1.00026357e+00,  1.00026596e+00,  1.00026822e+00,
3866      1.00027013e+00,  1.00027204e+00,  1.00027359e+00,  1.00027502e+00,
3867      1.00027621e+00,  1.00027728e+00,  1.00027812e+00,  1.00027883e+00,
3868      1.00027919e+00,  1.00027955e+00,  1.00027955e+00,  1.00027943e+00,
3869      1.00027919e+00,  1.00027859e+00,  1.00027800e+00,  1.00027704e+00,
3870      1.00027597e+00,  1.00027478e+00,  1.00027335e+00,  1.00027168e+00,
3871      1.00026989e+00,  1.00026786e+00,  1.00026572e+00,  1.00026345e+00,
3872      1.00026095e+00,  1.00025821e+00,  1.00025535e+00,  1.00025237e+00,
3873      1.00024927e+00,  1.00024593e+00,  1.00024235e+00,  1.00023878e+00,
3874      1.00023496e+00,  1.00023091e+00,  1.00022686e+00,  1.00022256e+00,
3875      1.00021827e+00,  1.00021374e+00,  1.00020909e+00,  1.00020421e+00,
3876      1.00019932e+00,  1.00019431e+00,  1.00018907e+00,  1.00018382e+00,
3877      1.00017846e+00,  1.00017297e+00,  1.00016737e+00,  1.00016165e+00,
3878      1.00015581e+00,  1.00014985e+00,  1.00014389e+00,  1.00013781e+00,
3879      1.00013161e+00,  1.00012529e+00,  1.00011897e+00,  1.00011253e+00,
3880      1.00010610e+00,  1.00009954e+00,  1.00009298e+00,  1.00008631e+00,
3881      1.00007963e+00,  1.00007284e+00,  1.00006604e+00,  1.00005913e+00,
3882      1.00005233e+00,  1.00004542e+00,  1.00003850e+00,  1.00003147e+00,
3883      1.00002456e+00,  1.00001752e+00,  1.00001049e+00,  1.00000346e+00,
3884      9.99996483e-01,  9.99989510e-01,  9.99982476e-01,  9.99975502e-01,
3885      9.99968529e-01,  9.99961555e-01,  9.99954641e-01,  9.99947727e-01,
3886      9.99940813e-01,  9.99933958e-01,  9.99927163e-01,  9.99920428e-01,
3887      9.99913692e-01,  9.99907076e-01,  9.99900460e-01,  9.99893904e-01,
3888      9.99887466e-01,  9.99881029e-01,  9.99874711e-01,  9.99868453e-01,
3889      9.99862254e-01,  9.99856174e-01,  9.99850154e-01,  9.99844253e-01,
3890      9.99838412e-01,  9.99832690e-01,  9.99827087e-01,  9.99821603e-01,
3891      9.99816179e-01,  9.99810934e-01,  9.99805748e-01,  9.99800682e-01,
3892      9.99795794e-01,  9.99791026e-01,  9.99786317e-01,  9.99781847e-01,
3893      9.99777436e-01,  9.99773204e-01,  9.99769092e-01,  9.99765158e-01,
3894      9.99761343e-01,  9.99757707e-01,  9.99754190e-01,  9.99750853e-01,
3895      9.99747694e-01,  9.99744654e-01,  9.99741852e-01,  9.99739170e-01,
3896      9.99736667e-01,  9.99734342e-01,  9.99732137e-01,  9.99730170e-01,
3897      9.99728382e-01,  9.99726772e-01,  9.99725342e-01,  9.99724090e-01,
3898      9.99723017e-01,  9.99722123e-01,  9.99721408e-01,  9.99720931e-01,
3899      9.99720633e-01,  9.99720514e-01,  9.99720573e-01,  9.99720812e-01,
3900      9.99721289e-01,  9.99721944e-01,  9.99722779e-01,  9.99723792e-01,
3901      9.99725044e-01,  9.99726474e-01,  9.99728084e-01,  9.99729872e-01,
3902      9.99731898e-01,  9.99734104e-01,  9.99736488e-01,  9.99739051e-01,
3903      9.99741793e-01,  9.99744713e-01,  9.99747872e-01,  9.99751151e-01,
3904      9.99754667e-01,  9.99758303e-01,  9.99762177e-01,  9.99766171e-01,
3905      9.99770403e-01,  9.99774754e-01,  9.99779284e-01,  9.99783993e-01,
3906      9.99788821e-01,  9.99793828e-01,  9.99799013e-01,  9.99804318e-01,
3907      9.99809742e-01,  9.99815404e-01,  9.99821126e-01,  9.99826968e-01,
3908      9.99832988e-01,  9.99839127e-01,  9.99845386e-01,  9.99851763e-01,
3909      9.99858260e-01,  9.99864876e-01,  9.99871552e-01,  9.99878347e-01,
3910      9.99885261e-01,  9.99892235e-01,  9.99899328e-01,  9.99906480e-01,
3911      9.99913692e-01,  9.99920964e-01,  9.99928296e-01,  9.99935687e-01,
3912      9.99943137e-01,  9.99950647e-01,  9.99958158e-01,  9.99965727e-01,
3913      9.99973297e-01,  9.99980927e-01,  9.99988556e-01,  9.99996185e-01,
3914      1.00000381e+00,  1.00001144e+00,  1.00001907e+00,  1.00002670e+00,
3915      1.00003433e+00,  1.00004184e+00,  1.00004935e+00,  1.00005686e+00,
3916      1.00006437e+00,  1.00007176e+00,  1.00007904e+00,  1.00008631e+00,
3917      1.00009358e+00,  1.00010073e+00,  1.00010777e+00,  1.00011480e+00,
3918      1.00012159e+00,  1.00012839e+00,  1.00013518e+00,  1.00014174e+00,
3919      1.00014830e+00,  1.00015461e+00,  1.00016093e+00,  1.00016701e+00,
3920      1.00017309e+00,  1.00017893e+00,  1.00018466e+00,  1.00019026e+00,
3921      1.00019574e+00,  1.00020099e+00,  1.00020623e+00,  1.00021124e+00,
3922      1.00021613e+00,  1.00022078e+00,  1.00022531e+00,  1.00022972e+00,
3923      1.00023389e+00,  1.00023794e+00,  1.00024176e+00,  1.00024545e+00,
3924      1.00024891e+00,  1.00025225e+00,  1.00025535e+00,  1.00025833e+00,
3925      1.00026107e+00,  1.00026357e+00,  1.00026596e+00,  1.00026822e+00,
3926      1.00027013e+00,  1.00027204e+00,  1.00027359e+00,  1.00027502e+00,
3927      1.00027621e+00,  1.00027728e+00,  1.00027812e+00,  1.00027883e+00,
3928      1.00027919e+00,  1.00027955e+00,  1.00027955e+00,  1.00027943e+00,
3929      1.00027919e+00,  1.00027859e+00,  1.00027800e+00,  1.00027704e+00,
3930      1.00027597e+00,  1.00027478e+00,  1.00027335e+00,  1.00027168e+00,
3931      1.00026989e+00,  1.00026786e+00,  1.00026572e+00,  1.00026345e+00,
3932      1.00026095e+00,  1.00025821e+00,  1.00025535e+00,  1.00025237e+00,
3933      1.00024927e+00,  1.00024593e+00,  1.00024235e+00,  1.00023878e+00,
3934      1.00023496e+00,  1.00023091e+00,  1.00022686e+00,  1.00022256e+00,
3935      1.00021827e+00,  1.00021374e+00,  1.00020909e+00,  1.00020421e+00,
3936      1.00019932e+00,  1.00019431e+00,  1.00018907e+00,  1.00018382e+00,
3937      1.00017846e+00,  1.00017297e+00,  1.00016737e+00,  1.00016165e+00,
3938      1.00015581e+00,  1.00014985e+00,  1.00014389e+00,  1.00013781e+00,
3939      1.00013161e+00,  1.00012529e+00,  1.00011897e+00,  1.00011253e+00,
3940      1.00010610e+00,  1.00009954e+00,  1.00009298e+00,  1.00008631e+00,
3941      1.00007963e+00,  1.00007284e+00,  1.00006604e+00,  1.00005913e+00,
3942      1.00005233e+00,  1.00004542e+00,  1.00003850e+00,  1.00003147e+00,
3943      1.00002456e+00,  1.00001752e+00,  1.00001049e+00,  1.00000346e+00,
3944      9.99996483e-01,  9.99989510e-01,  9.99982476e-01,  9.99975502e-01,
3945      9.99968529e-01,  9.99961555e-01,  9.99954641e-01,  9.99947727e-01,
3946      9.99940813e-01,  9.99933958e-01,  9.99927163e-01,  9.99920428e-01,
3947      9.99913692e-01,  9.99907076e-01,  9.99900460e-01,  9.99893904e-01,
3948      9.99887466e-01,  9.99881029e-01,  9.99874711e-01,  9.99868453e-01,
3949      9.99862254e-01,  9.99856174e-01,  9.99850154e-01,  9.99844253e-01,
3950      9.99838412e-01,  9.99832690e-01,  9.99827087e-01,  9.99821603e-01,
3951      9.99816179e-01,  9.99810934e-01,  9.99805748e-01,  9.99800682e-01,
3952      9.99795794e-01,  9.99791026e-01,  9.99786317e-01,  9.99781847e-01,
3953      9.99777436e-01,  9.99773204e-01,  9.99769092e-01,  9.99765158e-01,
3954      9.99761343e-01,  9.99757707e-01,  9.99754190e-01,  9.99750853e-01,
3955      9.99747694e-01,  9.99744654e-01,  9.99741852e-01,  9.99739170e-01,
3956      9.99736667e-01,  9.99734342e-01,  9.99732137e-01,  9.99730170e-01,
3957      9.99728382e-01,  9.99726772e-01,  9.99725342e-01,  9.99724090e-01,
3958      9.99723017e-01,  9.99722123e-01,  9.99721408e-01,  9.99720931e-01,
3959      9.99720633e-01,  9.99720514e-01,  9.99720573e-01,  9.99720812e-01,
3960      9.99721289e-01,  9.99721944e-01,  9.99722779e-01,  9.99723792e-01,
3961      9.99725044e-01,  9.99726474e-01,  9.99728084e-01,  9.99729872e-01,
3962      9.99731898e-01,  9.99734104e-01,  9.99736488e-01,  9.99739051e-01,
3963      9.99741793e-01,  9.99744713e-01,  9.99747872e-01,  9.99751151e-01,
3964      9.99754667e-01,  9.99758303e-01,  9.99762177e-01,  9.99766171e-01,
3965      9.99770403e-01,  9.99774754e-01,  9.99779284e-01,  9.99783993e-01,
3966      9.99788821e-01,  9.99793828e-01,  9.99799013e-01,  9.99804318e-01,
3967      9.99809742e-01,  9.99815404e-01,  9.99821126e-01,  9.99826968e-01,
3968      9.99832988e-01,  9.99839127e-01,  9.99845386e-01,  9.99851763e-01,
3969      9.99858260e-01,  9.99864876e-01,  9.99871552e-01,  9.99878347e-01,
3970      9.99885261e-01,  9.99892235e-01,  9.99899328e-01,  9.99906480e-01,
3971      9.99913692e-01,  9.99920964e-01,  9.99928296e-01,  9.99935687e-01,
3972      9.99943137e-01,  9.99950647e-01,  9.99958158e-01,  9.99965727e-01,
3973      9.99973297e-01,  9.99980927e-01,  9.99988556e-01,  9.99996185e-01,
3974      1.00000381e+00,  1.00001132e+00,  1.00001884e+00,  1.00002635e+00,
3975      1.00003362e+00,  1.00004077e+00,  1.00004780e+00,  1.00005460e+00,
3976      1.00006104e+00,  1.00006711e+00,  1.00007272e+00,  1.00007772e+00,
3977      1.00008214e+00,  1.00008571e+00,  1.00008833e+00,  1.00008976e+00,
3978      1.00008988e+00,  1.00008845e+00,  1.00008512e+00,  1.00007975e+00,
3979      1.00007200e+00,  1.00006139e+00,  1.00004768e+00,  1.00003028e+00,
3980      1.00000894e+00,  9.99982893e-01,  9.99951661e-01,  9.99914646e-01,
3981      9.99871135e-01,  9.99820411e-01,  9.99761701e-01,  9.99694109e-01,
3982      9.99616742e-01,  9.99528646e-01,  9.99428689e-01,  9.99315858e-01,
3983      9.99188840e-01,  9.99046445e-01,  9.98887360e-01,  9.98710036e-01,
3984      9.98513043e-01,  9.98294711e-01,  9.98053491e-01,  9.97787535e-01,
3985      9.97494996e-01,  9.97173846e-01,  9.96822178e-01,  9.96437728e-01,
3986      9.96018291e-01,  9.95561540e-01,  9.95064974e-01,  9.94526088e-01,
3987      9.93942142e-01,  9.93310452e-01,  9.92628038e-01,  9.91891921e-01,
3988      9.91099000e-01,  9.90245998e-01,  9.89329517e-01,  9.88346159e-01,
3989      9.87292290e-01,  9.86164153e-01,  9.84957933e-01,  9.83669639e-01,
3990      9.82295156e-01,  9.80830312e-01,  9.79270697e-01,  9.77612019e-01,
3991      9.75849628e-01,  9.73978817e-01,  9.71994996e-01,  9.69893157e-01,
3992      9.67668533e-01,  9.65315938e-01,  9.62830484e-01,  9.60206985e-01,
3993      9.57440197e-01,  9.54525113e-01,  9.51456368e-01,  9.48228836e-01,
3994      9.44837391e-01,  9.41276729e-01,  9.37541902e-01,  9.33627844e-01,
3995      9.29529607e-01,  9.25242424e-01,  9.20761466e-01,  9.16082382e-01,
3996      9.11200643e-01,  9.06112134e-01,  9.00812864e-01,  8.95299196e-01,
3997      8.89567554e-01,  8.83614719e-01,  8.77437830e-01,  8.71034324e-01,
3998      8.64401877e-01,  8.57538521e-01,  8.50442827e-01,  8.43113542e-01,
3999      8.35549891e-01,  8.27751517e-01,  8.19718421e-01,  8.11451137e-01,
4000      8.02950621e-01,  7.94218183e-01,  7.85255671e-01,  7.76065350e-01,
4001      7.66650081e-01,  7.57013023e-01,  7.47157931e-01,  7.37088978e-01,
4002      7.26810873e-01,  7.16328681e-01,  7.05648124e-01,  6.94775164e-01,
4003      6.83716357e-01,  6.72478795e-01,  6.61069810e-01,  6.49497330e-01,
4004      6.37769580e-01,  6.25895321e-01,  6.13883674e-01,  6.01744056e-01,
4005      5.89486361e-01,  5.77120781e-01,  5.64657867e-01,  5.52108407e-01,
4006      5.39483547e-01,  5.26794672e-01,  5.14053404e-01,  5.01271665e-01,
4007      4.88461435e-01,  4.75634992e-01,  4.62804615e-01,  4.49982822e-01,
4008      4.37182158e-01,  4.24415171e-01,  4.11694527e-01,  3.99032772e-01,
4009      3.86442453e-01,  3.73936087e-01,  3.61525953e-01,  3.49224269e-01,
4010      3.37043047e-01,  3.24994087e-01,  3.13088894e-01,  3.01338732e-01,
4011      2.89754450e-01,  2.78346658e-01,  2.67125458e-01,  2.56100595e-01,
4012      2.45281324e-01,  2.34676436e-01,  2.24294156e-01,  2.14142203e-01,
4013      2.04227716e-01,  1.94557235e-01,  1.85136691e-01,  1.75971389e-01,
4014      1.67065978e-01,  1.58424467e-01,  1.50050193e-01,  1.41945809e-01,
4015      1.34113312e-01,  1.26554012e-01,  1.19268581e-01,  1.12257004e-01,
4016      1.05518632e-01,  9.90521908e-02,  9.28557739e-02,  8.69268849e-02,
4017      8.12624842e-02,  7.58589506e-02,  7.07121640e-02,  6.58175275e-02,
4018      6.11699894e-02,  5.67640625e-02,  5.25939018e-02,  4.86532971e-02,
4019      4.49357443e-02,  4.14344519e-02,  3.81424055e-02,  3.50523964e-02,
4020      3.21570449e-02,  2.94488575e-02,  2.69202497e-02,  2.45635863e-02,
4021      2.23712083e-02,  2.03354694e-02,  1.84487645e-02,  1.67035554e-02,
4022      1.50924018e-02,  1.36079816e-02,  1.22431125e-02,  1.09907771e-02,
4023      9.84413363e-03,  8.79654102e-03,  7.84156192e-03,  6.97298534e-03,
4024      6.18482940e-03,  5.47135156e-03,  4.82705561e-03,  4.24669450e-03,
4025      3.72527563e-03,  3.25805834e-03,  2.84055714e-03,  2.46853800e-03,
4026      2.13801605e-03,  1.84525200e-03,  1.58674677e-03,  1.35923503e-03,
4027      1.15967961e-03,  9.85263032e-04,  8.33379803e-04,  7.01628160e-04,
4028      5.87800692e-04,  4.89875500e-04,  4.06006613e-04,  3.34514218e-04,
4029      2.73875427e-04,  2.22714254e-04,  1.79792376e-04,  1.43999539e-04,
4030      1.14344395e-04,  8.99455481e-05,  7.00227974e-05,  5.38887325e-05,
4031      4.09407221e-05,  3.06531692e-05,  2.25702297e-05,  1.62988836e-05,
4032      1.15024377e-05,  7.89443584e-06,  5.23298331e-06,  3.31548563e-06,
4033      1.97379018e-06,  1.06971811e-06,  4.90905393e-07,  1.46209757e-07,
4034 };
4035 
4036 #endif /* LC3_PLUS_HR */
4037 
4038 #undef __LC3_MDCT_WIN_LEN
4039 
4040 const float *lc3_mdct_win[LC3_NUM_DT][LC3_NUM_SRATE] = {
4041 
4042     [LC3_DT_2M5] = {
4043         LC3_IF_PLUS( mdct_win_2m5_8k , NULL ),
4044         LC3_IF_PLUS( mdct_win_2m5_16k, NULL ),
4045         LC3_IF_PLUS( mdct_win_2m5_24k, NULL ),
4046         LC3_IF_PLUS( mdct_win_2m5_32k, NULL ),
4047         LC3_IF_PLUS( mdct_win_2m5_48k, NULL ),
4048         LC3_IF_PLUS( LC3_IF_PLUS_HR( mdct_win_2m5_48k_hr, NULL ), NULL ),
4049         LC3_IF_PLUS( LC3_IF_PLUS_HR( mdct_win_2m5_96k_hr, NULL ), NULL ) },
4050 
4051     [LC3_DT_5M ] = {
4052         LC3_IF_PLUS( mdct_win_5m_8k , NULL ),
4053         LC3_IF_PLUS( mdct_win_5m_16k, NULL ),
4054         LC3_IF_PLUS( mdct_win_5m_24k, NULL ),
4055         LC3_IF_PLUS( mdct_win_5m_32k, NULL ),
4056         LC3_IF_PLUS( mdct_win_5m_48k, NULL ),
4057         LC3_IF_PLUS( LC3_IF_PLUS_HR( mdct_win_5m_48k_hr, NULL ), NULL ),
4058         LC3_IF_PLUS( LC3_IF_PLUS_HR( mdct_win_5m_96k_hr, NULL ), NULL ) },
4059 
4060     [LC3_DT_7M5] = {
4061         mdct_win_7m5_8k , mdct_win_7m5_16k, mdct_win_7m5_24k,
4062         mdct_win_7m5_32k, mdct_win_7m5_48k },
4063 
4064     [LC3_DT_10M] = {
4065         mdct_win_10m_8k , mdct_win_10m_16k, mdct_win_10m_24k,
4066         mdct_win_10m_32k, mdct_win_10m_48k,
4067         LC3_IF_PLUS_HR( mdct_win_10m_48k_hr, NULL),
4068         LC3_IF_PLUS_HR( mdct_win_10m_96k_hr, NULL), },
4069 };
4070 
4071 
4072 /**
4073  * Bands limits
4074  */
4075 
4076 #if LC3_PLUS
4077 
4078 static const int band_lim_2m5_8k[] = {
4079       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4080      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4081      20
4082 };
4083 
4084 static const int band_lim_2m5_16k[] = {
4085       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4086      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4087      20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
4088      30,  32,  34,  36,  38,  40
4089 };
4090 
4091 static const int band_lim_2m5_24k[] = {
4092       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4093      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4094      20,  21,  22,  23,  24,  25,  26,  28,  30,  32,
4095      34,  36,  38,  40,  42,  44,  47,  50,  53,  56,
4096      60
4097 };
4098 
4099 static const int band_lim_2m5_32k[] = {
4100       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4101      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4102      20,  21,  22,  23,  24,  26,  28,  30,  32,  34,
4103      36,  38,  40,  43,  46,  49,  52,  55,  59,  63,
4104      67,  71,  75,  80
4105 };
4106 
4107 static const int band_lim_2m5_48k[] = {
4108       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4109      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4110      20,  21,  23,  25,  27,  29,  31,  33,  35,  37,
4111      40,  43,  46,  49,  52,  56,  60,  64,  68,  72,
4112      77,  82,  87,  93, 100
4113 };
4114 
4115 #if LC3_PLUS_HR
4116 
4117 static const int band_lim_2m5_48k_hr[] = {
4118       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4119      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4120      21,  23,  25,  27,  29,  31,  33,  35,  37,  40,
4121      43,  46,  49,  53,  57,  61,  65,  69,  74,  79,
4122      85,  91,  97, 104, 112, 120
4123 };
4124 
4125 static const int band_lim_2m5_96k_hr[] = {
4126       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4127      10,  11,  12,  13,  14,  15,  16,  18,  20,  22,
4128      24,  26,  28,  30,  32,  35,  38,  41,  45,  49,
4129      53,  57,  62,  67,  73,  79,  85,  92, 100, 108,
4130     117, 127, 137, 149, 161, 174, 189, 204, 221, 240
4131 };
4132 
4133 #endif /* LC3_PLUS_HR */
4134 
4135 static const int band_lim_5m_8k[] = {
4136       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4137      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4138      20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
4139      30,  31,  32,  33,  34,  35,  36,  37,  38,  40
4140 };
4141 
4142 static const int band_lim_5m_16k[] = {
4143       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4144      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4145      20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
4146      30,  32,  34,  36,  38,  40,  42,  44,  46,  48,
4147      50,  52,  54,  57,  60,  63,  66,  69,  72,  76,
4148      80
4149 };
4150 
4151 static const int band_lim_5m_24k[] = {
4152       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4153      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4154      20,  21,  22,  23,  24,  26,  28,  30,  32,  34,
4155      36,  38,  40,  42,  44,  47,  50,  53,  56,  59,
4156      62,  65,  69,  73,  77,  81,  86,  91,  96, 101,
4157     107, 113, 120
4158 };
4159 
4160 static const int band_lim_5m_32k[] = {
4161       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4162      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4163      20,  21,  22,  24,  26,  28,  30,  32,  34,  36,
4164      38,  40,  42,  45,  48,  51,  54,  57,  61,  65,
4165      69,  73,  78,  83,  88,  93,  99, 105, 112, 119,
4166     126, 134, 142, 151, 160
4167 };
4168 
4169 static const int band_lim_5m_48k[] = {
4170       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4171      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4172      20,  21,  23,  25,  27,  29,  31,  33,  35,  37,
4173      40,  43,  46,  49,  52,  55,  59,  63,  67,  72,
4174      77,  82,  87,  93,  99, 105, 112, 120, 128, 136,
4175     145, 155, 165, 176, 187, 200
4176 };
4177 
4178 #if LC3_PLUS_HR
4179 
4180 static const int band_lim_5m_48k_hr[] = {
4181       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4182      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4183      21,  23,  25,  27,  29,  31,  33,  35,  38,  41,
4184      44,  47,  50,  54,  58,  62,  66,  71,  76,  81,
4185      87,  93, 100, 107, 114, 122, 131, 140, 149, 160,
4186     171, 183, 196, 209, 224, 240
4187 };
4188 
4189 static const int band_lim_5m_96k_hr[] = {
4190       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4191      10,  11,  12,  13,  14,  15,  16,  17,  19,  21,
4192      23,  25,  27,  29,  31,  34,  37,  40,  44,  48,
4193      52,  56,  61,  66,  71,  77,  83,  90,  98, 106,
4194     115, 124, 135, 146, 158, 171, 185, 200, 217, 235,
4195     254, 275, 298, 323, 349, 378, 409, 443, 480
4196 };
4197 
4198 #endif /* LC3_PLUS_HR */
4199 #endif /* LC3_PLUS */
4200 
4201 static const int band_lim_7m5_8k[] = {
4202       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4203      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4204      20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
4205      30,  31,  32,  33,  34,  35,  36,  37,  38,  39,
4206      40,  41,  42,  43,  44,  45,  46,  47,  48,  49,
4207      50,  51,  52,  53,  54,  55,  56,  57,  58,  59,
4208      60
4209 };
4210 
4211 static const int band_lim_7m5_16k[] = {
4212       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4213      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4214      20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
4215      30,  31,  32,  33,  34,  36,  38,  40,  42,  44,
4216      46,  48,  50,  52,  54,  56,  58,  60,  62,  65,
4217      68,  71,  74,  77,  80,  83,  86,  90,  94,  98,
4218     102, 106, 110, 115, 120
4219 };
4220 
4221 static const int band_lim_7m5_24k[] = {
4222       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4223      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4224      20,  21,  22,  23,  24,  25,  26,  27,  29,  31,
4225      33,  35,  37,  39,  41,  43,  45,  47,  49,  52,
4226      55,  58,  61,  64,  67,  70,  74,  78,  82,  86,
4227      90,  95, 100, 105, 110, 115, 121, 127, 134, 141,
4228     148, 155, 163, 171, 180
4229 };
4230 
4231 static const int band_lim_7m5_32k[] = {
4232       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4233      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4234      20,  21,  22,  23,  24,  26,  28,  30,  32,  34,
4235      36,  38,  40,  42,  45,  48,  51,  54,  57,  60,
4236      63,  67,  71,  75,  79,  84,  89,  94,  99, 105,
4237     111, 117, 124, 131, 138, 146, 154, 163, 172, 182,
4238     192, 203, 215, 227, 240
4239 };
4240 
4241 static const int band_lim_7m5_48k[] = {
4242       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4243      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4244      20,  21,  22,  24,  26,  28,  30,  32,  34,  36,
4245      38,  40,  43,  46,  49,  52,  55,  59,  63,  67,
4246      71,  75,  80,  85,  90,  96, 102, 108, 115, 122,
4247     129, 137, 146, 155, 165, 175, 186, 197, 209, 222,
4248     236, 251, 266, 283, 300
4249 };
4250 
4251 static const int band_lim_10m_8k[] = {
4252       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4253      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4254      20,  21,  22,  23,  24,  25,  26,  27,  28,  29,
4255      30,  31,  32,  33,  34,  35,  36,  37,  38,  39,
4256      40,  41,  42,  43,  44,  45,  46,  47,  48,  49,
4257      51,  53,  55,  57,  59,  61,  63,  65,  67,  69,
4258      71,  73,  75,  77,  80
4259 };
4260 
4261 static const int band_lim_10m_16k[] = {
4262       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4263      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4264      20,  21,  22,  23,  24,  25,  26,  27,  28,  30,
4265      32,  34,  36,  38,  40,  42,  44,  46,  48,  50,
4266      52,  55,  58,  61,  64,  67,  70,  73,  76,  80,
4267      84,  88,  92,  96, 101, 106, 111, 116, 121, 127,
4268     133, 139, 146, 153, 160
4269 };
4270 
4271 static const int band_lim_10m_24k[] = {
4272       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4273      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4274      20,  21,  22,  23,  25,  27,  29,  31,  33,  35,
4275      37,  39,  41,  43,  46,  49,  52,  55,  58,  61,
4276      64,  68,  72,  76,  80,  85,  90,  95, 100, 106,
4277     112, 118, 125, 132, 139, 147, 155, 164, 173, 183,
4278     193, 204, 215, 227, 240
4279 };
4280 
4281 static const int band_lim_10m_32k[] = {
4282       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4283      10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
4284      20,  22,  24,  26,  28,  30,  32,  34,  36,  38,
4285      41,  44,  47,  50,  53,  56,  60,  64,  68,  72,
4286      76,  81,  86,  91,  97, 103, 109, 116, 123, 131,
4287     139, 148, 157, 166, 176, 187, 199, 211, 224, 238,
4288     252, 268, 284, 302, 320
4289 };
4290 
4291 static const int band_lim_10m_48k[] = {
4292       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4293      10,  11,  12,  13,  14,  15,  16,  17,  18,  20,
4294      22,  24,  26,  28,  30,  32,  34,  36,  39,  42,
4295      45,  48,  51,  55,  59,  63,  67,  71,  76,  81,
4296      86,  92,  98, 105, 112, 119, 127, 135, 144, 154,
4297     164, 175, 186, 198, 211, 225, 240, 256, 273, 291,
4298     310, 330, 352, 375, 400
4299 };
4300 
4301 #if LC3_PLUS_HR
4302 
4303 static const int band_lim_10m_48k_hr[] = {
4304       0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
4305      10,  11,  12,  13,  14,  15,  16,  17,  19,  21,
4306      23,  25,  27,  29,  31,  33,  36,  39,  42,  45,
4307      48,  51,  55,  59,  63,  67,  72,  77,  83,  89,
4308      95, 101, 108, 116, 124, 133, 142, 152, 163, 174,
4309     187, 200, 214, 229, 244, 262, 280, 299, 320, 343,
4310     367, 392, 419, 449, 480
4311 };
4312 
4313 static const int band_lim_10m_96k_hr[] = {
4314       0,   1,   2,   3,   4,   5,   6,   7,   8  , 9,
4315      10,  11,  12,  14,  16,  18,  20,  22,  24,  26,
4316      28,  30,  33,  36,  39,  42,  46,  50,  54,  59,
4317      64,  69,  75,  82,  89,  96, 104, 113, 122, 132,
4318     143, 155, 168, 181, 196, 213, 230, 249, 270, 292,
4319     316, 342, 371, 401, 434, 470, 509, 551, 596, 646,
4320     699, 757, 819, 887, 960
4321 };
4322 
4323 #endif /* LC3_PLUS_HR */
4324 
4325 const int *lc3_band_lim[LC3_NUM_DT][LC3_NUM_SRATE] = {
4326 
4327     [LC3_DT_2M5] = {
4328         LC3_IF_PLUS( band_lim_2m5_8k , NULL ),
4329         LC3_IF_PLUS( band_lim_2m5_16k, NULL ),
4330         LC3_IF_PLUS( band_lim_2m5_24k, NULL ),
4331         LC3_IF_PLUS( band_lim_2m5_32k, NULL ),
4332         LC3_IF_PLUS( band_lim_2m5_48k, NULL ),
4333         LC3_IF_PLUS( LC3_IF_PLUS_HR( band_lim_2m5_48k_hr, NULL ), NULL ),
4334         LC3_IF_PLUS( LC3_IF_PLUS_HR( band_lim_2m5_96k_hr, NULL ), NULL ) },
4335 
4336     [LC3_DT_5M] = {
4337         LC3_IF_PLUS( band_lim_5m_8k , NULL ),
4338         LC3_IF_PLUS( band_lim_5m_16k, NULL ),
4339         LC3_IF_PLUS( band_lim_5m_24k, NULL ),
4340         LC3_IF_PLUS( band_lim_5m_32k, NULL ),
4341         LC3_IF_PLUS( band_lim_5m_48k, NULL ),
4342         LC3_IF_PLUS( LC3_IF_PLUS_HR( band_lim_5m_48k_hr, NULL ), NULL ),
4343         LC3_IF_PLUS( LC3_IF_PLUS_HR( band_lim_5m_96k_hr, NULL ), NULL ) },
4344 
4345     [LC3_DT_7M5] = {
4346         band_lim_7m5_8k , band_lim_7m5_16k, band_lim_7m5_24k,
4347         band_lim_7m5_32k, band_lim_7m5_48k },
4348 
4349     [LC3_DT_10M] = {
4350         band_lim_10m_8k , band_lim_10m_16k, band_lim_10m_24k,
4351         band_lim_10m_32k, band_lim_10m_48k,
4352         LC3_IF_PLUS_HR( band_lim_10m_48k_hr, NULL ),
4353         LC3_IF_PLUS_HR( band_lim_10m_96k_hr, NULL )  },
4354 };
4355 
4356 #define __LC3_NUM_BANDS(_lim) \
4357     ( sizeof(_lim) / sizeof(*(_lim)) - 1 )
4358 
4359 const int lc3_num_bands[LC3_NUM_DT][LC3_NUM_SRATE] = {
4360 
4361     [LC3_DT_2M5] = {
4362         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_2m5_8k  ), 0 ),
4363         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_2m5_16k ), 0 ),
4364         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_2m5_24k ), 0 ),
4365         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_2m5_32k ), 0 ),
4366         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_2m5_48k ), 0 ),
4367         LC3_IF_PLUS( LC3_IF_PLUS_HR(
4368             __LC3_NUM_BANDS( band_lim_2m5_48k_hr ), 0 ), 0 ),
4369         LC3_IF_PLUS( LC3_IF_PLUS_HR(
4370             __LC3_NUM_BANDS( band_lim_2m5_96k_hr ), 0 ), 0 ) },
4371 
4372     [LC3_DT_5M] = {
4373         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_5m_8k     ), 0 ),
4374         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_5m_16k    ), 0 ),
4375         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_5m_24k    ), 0 ),
4376         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_5m_32k    ), 0 ),
4377         LC3_IF_PLUS( __LC3_NUM_BANDS( band_lim_5m_48k    ), 0 ),
4378         LC3_IF_PLUS( LC3_IF_PLUS_HR(
4379             __LC3_NUM_BANDS( band_lim_5m_48k_hr ), 0 ), 0 ),
4380         LC3_IF_PLUS( LC3_IF_PLUS_HR(
4381             __LC3_NUM_BANDS( band_lim_5m_96k_hr ), 0 ), 0 ) },
4382 
4383     [LC3_DT_7M5] = {
4384         __LC3_NUM_BANDS( band_lim_7m5_8k     ),
4385         __LC3_NUM_BANDS( band_lim_7m5_16k    ),
4386         __LC3_NUM_BANDS( band_lim_7m5_24k    ),
4387         __LC3_NUM_BANDS( band_lim_7m5_32k    ),
4388         __LC3_NUM_BANDS( band_lim_7m5_48k    ) },
4389 
4390     [LC3_DT_10M] = {
4391         __LC3_NUM_BANDS( band_lim_10m_8k     ),
4392         __LC3_NUM_BANDS( band_lim_10m_16k    ),
4393         __LC3_NUM_BANDS( band_lim_10m_24k    ),
4394         __LC3_NUM_BANDS( band_lim_10m_32k    ),
4395         __LC3_NUM_BANDS( band_lim_10m_48k    ),
4396         LC3_IF_PLUS_HR( __LC3_NUM_BANDS( band_lim_10m_48k_hr ), 0 ),
4397         LC3_IF_PLUS_HR( __LC3_NUM_BANDS( band_lim_10m_96k_hr ), 0 ) },
4398 };
4399 
4400 #undef __LC3_NUM_BANDS
4401 
4402 
4403 /**
4404  * SNS Quantization
4405  */
4406 
4407 const float lc3_sns_lfcb[32][8] = {
4408 
4409     {  2.26283366e+00,  8.13311269e-01, -5.30193495e-01, -1.35664836e+00,
4410       -1.59952177e+00, -1.44098768e+00, -1.14381648e+00, -7.55203768e-01 },
4411 
4412     {  2.94516479e+00,  2.41143318e+00,  9.60455106e-01, -4.43226488e-01,
4413       -1.22913612e+00, -1.55590039e+00, -1.49688656e+00, -1.11689987e+00 },
4414 
4415     { -2.18610707e+00, -1.97152136e+00, -1.78718620e+00, -1.91865896e+00,
4416       -1.79399122e+00, -1.35738404e+00, -7.05444279e-01, -4.78172945e-02 },
4417 
4418     {  6.93688237e-01,  9.55609857e-01,  5.75230787e-01, -1.14603419e-01,
4419       -6.46050637e-01, -9.52351370e-01, -1.07405247e+00, -7.58087707e-01 },
4420 
4421     { -1.29752132e+00, -7.40369057e-01, -3.45372484e-01, -3.13285696e-01,
4422       -4.02977243e-01, -3.72020853e-01, -7.83414177e-02,  9.70441304e-02 },
4423 
4424     {  9.14652038e-01,  1.74293043e+00,  1.90906627e+00,  1.54408484e+00,
4425        1.09344961e+00,  6.47479550e-01,  3.61790752e-02, -2.97092807e-01 },
4426 
4427     { -2.51428813e+00, -2.89175271e+00, -2.00450667e+00, -7.50912274e-01,
4428        4.41202105e-01,  1.20190988e+00,  1.32742857e+00,  1.22049081e+00 },
4429 
4430     { -9.22188405e-01,  6.32495141e-01,  1.08736431e+00,  6.08628625e-01,
4431        1.31174568e-01, -2.96149158e-01, -2.07013517e-01,  1.34924917e-01 },
4432 
4433     {  7.90322288e-01,  6.28401262e-01,  3.93117924e-01,  4.80007711e-01,
4434        4.47815138e-01,  2.09734215e-01,  6.56691996e-03, -8.61242342e-02 },
4435 
4436     {  1.44775580e+00,  2.72399952e+00,  2.31083269e+00,  9.35051270e-01,
4437       -2.74743911e-01, -9.02077697e-01, -9.40681512e-01, -6.33697039e-01 },
4438 
4439     {  7.93354526e-01,  1.43931186e-02, -5.67834845e-01, -6.54760468e-01,
4440       -4.79458998e-01, -1.73894662e-01,  6.80162706e-02,  2.95125948e-01 },
4441 
4442     {  2.72425347e+00,  2.95947572e+00,  1.84953559e+00,  5.63284922e-01,
4443        1.39917088e-01,  3.59641093e-01,  6.89461355e-01,  6.39790177e-01 },
4444 
4445     { -5.30830198e-01, -2.12690683e-01,  5.76613628e-03,  4.24871484e-01,
4446        4.73128952e-01,  8.58894199e-01,  1.19111161e+00,  9.96189670e-01 },
4447 
4448     {  1.68728411e+00,  2.43614509e+00,  2.33019429e+00,  1.77983778e+00,
4449        1.44411295e+00,  1.51995177e+00,  1.47199394e+00,  9.77682474e-01 },
4450 
4451     { -2.95183273e+00, -1.59393497e+00, -1.09918773e-01,  3.88609073e-01,
4452        5.12932650e-01,  6.28112597e-01,  8.22621796e-01,  8.75891425e-01 },
4453 
4454     {  1.01878343e-01,  5.89857324e-01,  6.19047647e-01,  1.26731314e+00,
4455        2.41961048e+00,  2.25174253e+00,  5.26537031e-01, -3.96591513e-01 },
4456 
4457     {  2.68254575e+00,  1.32738011e+00,  1.30185274e-01, -3.38533089e-01,
4458       -3.68219236e-01, -1.91689947e-01, -1.54782377e-01, -2.34207178e-01 },
4459 
4460     {  4.82697924e+00,  3.11947804e+00,  1.39513671e+00,  2.50295316e-01,
4461       -3.93613839e-01, -6.43458173e-01, -6.42570737e-01, -7.23193223e-01 },
4462 
4463     {  8.78419936e-02, -5.69586840e-01, -1.14506016e+00, -1.66968488e+00,
4464       -1.84534418e+00, -1.56468027e+00, -1.11746759e+00, -5.33981663e-01 },
4465 
4466     {  1.39102308e+00,  1.98146479e+00,  1.11265796e+00, -2.20107509e-01,
4467       -7.74965612e-01, -5.94063874e-01,  1.36937681e-01,  8.18242891e-01 },
4468 
4469     {  3.84585894e-01, -1.60588786e-01, -5.39366810e-01, -5.29309079e-01,
4470        1.90433547e-01,  2.56062918e+00,  2.81896398e+00,  6.56670876e-01 },
4471 
4472     {  1.93227399e+00,  3.01030180e+00,  3.06543894e+00,  2.50110161e+00,
4473        1.93089593e+00,  5.72153811e-01, -8.11741794e-01, -1.17641811e+00 },
4474 
4475     {  1.75080463e-01, -7.50522832e-01, -1.03943893e+00, -1.13577509e+00,
4476       -1.04197904e+00, -1.52060099e-02,  2.07048392e+00,  3.42948918e+00 },
4477 
4478     { -1.18817020e+00,  3.66792874e-01,  1.30957830e+00,  1.68330687e+00,
4479        1.25100924e+00,  9.42375752e-01,  8.26250483e-01,  4.39952741e-01 },
4480 
4481     {  2.53322203e+00,  2.11274643e+00,  1.26288412e+00,  7.61513512e-01,
4482        5.22117938e-01,  1.18680070e-01, -4.52346828e-01, -7.00352426e-01 },
4483 
4484     {  3.99889837e+00,  4.07901751e+00,  2.82285661e+00,  1.72607213e+00,
4485        6.47144377e-01, -3.31148521e-01, -8.84042571e-01, -1.12697341e+00 },
4486 
4487     {  5.07902593e-01,  1.58838450e+00,  1.72899024e+00,  1.00692230e+00,
4488        3.77121232e-01,  4.76370767e-01,  1.08754740e+00,  1.08756266e+00 },
4489 
4490     {  3.16856825e+00,  3.25853458e+00,  2.42230591e+00,  1.79446078e+00,
4491        1.52177911e+00,  1.17196707e+00,  4.89394597e-01, -6.22795716e-02 },
4492 
4493     {  1.89414767e+00,  1.25108695e+00,  5.90451211e-01,  6.08358583e-01,
4494        8.78171010e-01,  1.11912511e+00,  1.01857662e+00,  6.20453891e-01 },
4495 
4496     {  9.48880605e-01,  2.13239439e+00,  2.72345350e+00,  2.76986077e+00,
4497        2.54286973e+00,  2.02046264e+00,  8.30045859e-01, -2.75569174e-02 },
4498 
4499     { -1.88026757e+00, -1.26431073e+00,  3.11424977e-01,  1.83670210e+00,
4500        2.25634192e+00,  2.04818998e+00,  2.19526837e+00,  2.02659614e+00 },
4501 
4502     {  2.46375746e-01,  9.55621773e-01,  1.52046777e+00,  1.97647400e+00,
4503        1.94043867e+00,  2.23375847e+00,  1.98835978e+00,  1.27232673e+00 },
4504 
4505 };
4506 
4507 const float lc3_sns_hfcb[32][8] = {
4508 
4509     {  2.32028419e-01, -1.00890271e+00, -2.14223503e+00, -2.37533814e+00,
4510       -2.23041933e+00, -2.17595881e+00, -2.29065914e+00, -2.53286398e+00 },
4511 
4512     { -1.29503937e+00, -1.79929965e+00, -1.88703148e+00, -1.80991660e+00,
4513       -1.76340038e+00, -1.83418428e+00, -1.80480981e+00, -1.73679545e+00 },
4514 
4515     {  1.39285716e-01, -2.58185126e-01, -6.50804573e-01, -1.06815732e+00,
4516       -1.61928742e+00, -2.18762566e+00, -2.63757587e+00, -2.97897750e+00 },
4517 
4518     { -3.16513102e-01, -4.77747657e-01, -5.51162076e-01, -4.84788283e-01,
4519       -2.38388394e-01, -1.43024507e-01,  6.83186674e-02,  8.83061717e-02 },
4520 
4521     {  8.79518405e-01,  2.98340096e-01, -9.15386396e-01, -2.20645975e+00,
4522       -2.74142181e+00, -2.86139074e+00, -2.88841597e+00, -2.95182608e+00 },
4523 
4524     { -2.96701922e-01, -9.75004919e-01, -1.35857500e+00, -9.83721106e-01,
4525       -6.52956939e-01, -9.89986993e-01, -1.61467225e+00, -2.40712302e+00 },
4526 
4527     {  3.40981100e-01,  2.68899789e-01,  5.63335685e-02,  4.99114047e-02,
4528       -9.54130727e-02, -7.60166146e-01, -2.32758120e+00, -3.77155485e+00 },
4529 
4530     { -1.41229759e+00, -1.48522119e+00, -1.18603580e+00, -6.25001634e-01,
4531        1.53902497e-01,  5.76386498e-01,  7.95092604e-01,  5.96564632e-01 },
4532 
4533     { -2.28839512e-01, -3.33719070e-01, -8.09321359e-01, -1.63587877e+00,
4534       -1.88486397e+00, -1.64496691e+00, -1.40515778e+00, -1.46666471e+00 },
4535 
4536     { -1.07148629e+00, -1.41767015e+00, -1.54891762e+00, -1.45296062e+00,
4537       -1.03182970e+00, -6.90642640e-01, -4.28843805e-01, -4.94960215e-01 },
4538 
4539     { -5.90988511e-01, -7.11737759e-02,  3.45719523e-01,  3.00549461e-01,
4540       -1.11865218e+00, -2.44089151e+00, -2.22854732e+00, -1.89509228e+00 },
4541 
4542     { -8.48434099e-01, -5.83226811e-01,  9.00423688e-02,  8.45025008e-01,
4543        1.06572385e+00,  7.37582999e-01,  2.56590452e-01, -4.91963360e-01 },
4544 
4545     {  1.14069146e+00,  9.64016892e-01,  3.81461206e-01, -4.82849341e-01,
4546       -1.81632721e+00, -2.80279513e+00, -3.23385725e+00, -3.45908714e+00 },
4547 
4548     { -3.76283238e-01,  4.25675462e-02,  5.16547697e-01,  2.51716882e-01,
4549       -2.16179968e-01, -5.34074091e-01, -6.40786096e-01, -8.69745032e-01 },
4550 
4551     {  6.65004121e-01,  1.09790765e+00,  1.38342667e+00,  1.34327359e+00,
4552        8.22978837e-01,  2.15876799e-01, -4.04925753e-01, -1.07025606e+00 },
4553 
4554     { -8.26265954e-01, -6.71181233e-01, -2.28495593e-01,  5.18980853e-01,
4555        1.36721896e+00,  2.18023038e+00,  2.53596093e+00,  2.20121099e+00 },
4556 
4557     {  1.41008327e+00,  7.54441908e-01, -1.30550585e+00, -1.87133711e+00,
4558       -1.24008685e+00, -1.26712925e+00, -2.03670813e+00, -2.89685162e+00 },
4559 
4560     {  3.61386818e-01, -2.19991705e-02, -5.79368834e-01, -8.79427961e-01,
4561       -8.50685023e-01, -7.79397050e-01, -7.32182927e-01, -8.88348515e-01 },
4562 
4563     {  4.37469239e-01,  3.05440420e-01, -7.38786566e-03, -4.95649855e-01,
4564       -8.06651271e-01, -1.22431892e+00, -1.70157770e+00, -2.24491914e+00 },
4565 
4566     {  6.48100319e-01,  6.82299134e-01,  2.53247464e-01,  7.35842144e-02,
4567        3.14216709e-01,  2.34729881e-01,  1.44600134e-01, -6.82120179e-02 },
4568 
4569     {  1.11919833e+00,  1.23465533e+00,  5.89170238e-01, -1.37192460e+00,
4570       -2.37095707e+00, -2.00779783e+00, -1.66688540e+00, -1.92631846e+00 },
4571 
4572     {  1.41847497e-01, -1.10660071e-01, -2.82824593e-01, -6.59813475e-03,
4573        2.85929280e-01,  4.60445530e-02, -6.02596416e-01, -2.26568729e+00 },
4574 
4575     {  5.04046955e-01,  8.26982163e-01,  1.11981236e+00,  1.17914044e+00,
4576        1.07987429e+00,  6.97536239e-01, -9.12548817e-01, -3.57684747e+00 },
4577 
4578     { -5.01076050e-01, -3.25678006e-01,  2.80798195e-02,  2.62054555e-01,
4579        3.60590806e-01,  6.35623722e-01,  9.59012467e-01,  1.30745157e+00 },
4580 
4581     {  3.74970983e+00,  1.52342612e+00, -4.57715662e-01, -7.98711008e-01,
4582       -3.86819329e-01, -3.75901062e-01, -6.57836900e-01, -1.28163964e+00 },
4583 
4584     { -1.15258991e+00, -1.10800886e+00, -5.62615117e-01, -2.20562124e-01,
4585       -3.49842880e-01, -7.53432770e-01, -9.88596593e-01, -1.28790472e+00 },
4586 
4587     {  1.02827246e+00,  1.09770519e+00,  7.68645546e-01,  2.06081978e-01,
4588       -3.42805735e-01, -7.54939405e-01, -1.04196178e+00, -1.50335653e+00 },
4589 
4590     {  1.28831972e-01,  6.89439395e-01,  1.12346905e+00,  1.30934523e+00,
4591        1.35511965e+00,  1.42311381e+00,  1.15706449e+00,  4.06319438e-01 },
4592 
4593     {  1.34033030e+00,  1.38996825e+00,  1.04467922e+00,  6.35822746e-01,
4594       -2.74733756e-01, -1.54923372e+00, -2.44239710e+00, -3.02457607e+00 },
4595 
4596     {  2.13843105e+00,  4.24711267e+00,  2.89734110e+00,  9.32730658e-01,
4597       -2.92822250e-01, -8.10404297e-01, -7.88868099e-01, -9.35353149e-01 },
4598 
4599     {  5.64830487e-01,  1.59184978e+00,  2.39771699e+00,  3.03697344e+00,
4600        2.66424350e+00,  1.39304485e+00,  4.03834024e-01, -6.56270971e-01 },
4601 
4602     { -4.22460548e-01,  3.26149625e-01,  1.39171313e+00,  2.23146615e+00,
4603        2.61179442e+00,  2.66540340e+00,  2.40103554e+00,  1.75920380e+00 },
4604 
4605 };
4606 
4607 const struct lc3_sns_vq_gains lc3_sns_vq_gains[4] = {
4608 
4609     { 2, (const float []){
4610              8915.f / 4096, 12054.f / 4096 } },
4611 
4612     { 4, (const float []){
4613              6245.f / 4096, 15043.f / 4096, 17861.f / 4096, 21014.f / 4096 } },
4614 
4615     { 4, (const float []){
4616              7099.f / 4096,  9132.f / 4096, 11253.f / 4096, 14808.f / 4096 } },
4617 
4618     { 8, (const float []){
4619              4336.f / 4096,  5067.f / 4096,  5895.f / 4096,  8149.f / 4096,
4620             10235.f / 4096, 12825.f / 4096, 16868.f / 4096, 19882.f / 4096 } }
4621 };
4622 
4623 const int32_t lc3_sns_mpvq_offsets[][11] = {
4624     { 0, 1,  1,   1,    1,     1,      1,      1,      1,       1,       1 },
4625     { 0, 1,  3,   5,    7,     9,     11,     13,     15,      17,      19 },
4626     { 0, 1,  5,  13,   25,    41,     61,     85,    113,     145,     181 },
4627     { 0, 1,  7,  25,   63,   129,    231,    377,    575,     833,    1159 },
4628     { 0, 1,  9,  41,  129,   321,    681,   1289,   2241,    3649,    5641 },
4629     { 0, 1, 11,  61,  231,   681,   1683,   3653,   7183,   13073  , 22363 },
4630     { 0, 1, 13,  85,  377,  1289,   3653,   8989,  19825,   40081,   75517 },
4631     { 0, 1, 15, 113,  575,  2241,   7183,  19825,  48639,  108545,  224143 },
4632     { 0, 1, 17, 145,  833,  3649,  13073,  40081, 108545,  265729,  598417 },
4633     { 0, 1, 19, 181, 1159,  5641,  22363,  75517, 224143,  598417, 1462563 },
4634     { 0, 1, 21, 221, 1561,  8361,  36365, 134245, 433905, 1256465, 3317445 },
4635     { 0, 1, 23, 265, 2047, 11969,  56695, 227305, 795455, 2485825, 7059735 },
4636     { 0, 1, 25, 313, 2625, 16641,  85305, 369305,1392065, 4673345,14218905 },
4637     { 0, 1, 27, 365, 3303, 22569, 124515, 579125,2340495, 8405905,27298155 },
4638     { 0, 1, 29, 421, 4089, 29961, 177045, 880685,3800305,14546705,50250765 },
4639     { 0, 1, 31, 481, 4991, 39041, 246047,1303777,5984767,24331777,89129247 },
4640 };
4641 
4642 
4643 /**
4644  * TNS Arithmetic Coding
4645  * The number of bits are given at 2048th of bits
4646  */
4647 
4648 const struct lc3_ac_model lc3_tns_order_models[] = {
4649 
4650     { { {    0,   3 }, {    3,   9 }, {   12,  23 }, {   35,  54 },
4651         {   89, 111 }, {  200, 190 }, {  390, 268 }, {  658, 366 },
4652         { 1024,   0 }, { 1024,   0 }, { 1024,   0 }, { 1024,   0 },
4653         { 1024,   0 }, { 1024,   0 }, { 1024,   0 }, { 1024,   0 },
4654         { 1024,   0 } } },
4655 
4656     { { {    0,  14 }, {   14,  42 }, {   56, 100 }, {  156, 157 },
4657         {  313, 181 }, {  494, 178 }, {  672, 167 }, {  839, 185 },
4658         { 1024,   0 }, { 1024,   0 }, { 1024,   0 }, { 1024,   0 },
4659         { 1024,   0 }, { 1024,   0 }, { 1024,   0 }, { 1024,   0 },
4660         { 1024,   0 } } },
4661 };
4662 
4663 const uint16_t lc3_tns_order_bits[][8] = {
4664     { 17234, 13988, 11216, 8694, 6566, 4977, 3961, 3040 },
4665     { 12683,  9437,  6874, 5541, 5121, 5170, 5359, 5056 }
4666 };
4667 
4668 const struct lc3_ac_model lc3_tns_coeffs_models[] = {
4669 
4670     { { {    0,   1 }, {    1,   5 }, {    6,  15 }, {   21,  31 },
4671         {   52,  54 }, {  106,  86 }, {  192,  97 }, {  289, 120 },
4672         {  409, 159 }, {  568, 152 }, {  720, 111 }, {  831, 104 },
4673         {  935,  59 }, {  994,  22 }, { 1016,   6 }, { 1022,   1 },
4674         { 1023,   1 } } },
4675 
4676     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
4677         {    4,  13 }, {   17,  43 }, {   60,  94 }, {  154, 139 },
4678         {  293, 173 }, {  466, 160 }, {  626, 154 }, {  780, 131 },
4679         {  911,  78 }, {  989,  27 }, { 1016,   6 }, { 1022,   1 },
4680         { 1023,   1 } } },
4681 
4682     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
4683         {    4,   9 }, {   13,  43 }, {   56, 106 }, {  162, 199 },
4684         {  361, 217 }, {  578, 210 }, {  788, 141 }, {  929,  74 },
4685         { 1003,  17 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
4686         { 1023,   1 } } },
4687 
4688     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
4689         {    4,   2 }, {    6,  11 }, {   17,  49 }, {   66, 204 },
4690         {  270, 285 }, {  555, 297 }, {  852, 120 }, {  972,  39 },
4691         { 1011,   9 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
4692         { 1023,   1 } } },
4693 
4694     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
4695         {    4,   1 }, {    5,   7 }, {   12,  42 }, {   54, 241 },
4696         {  295, 341 }, {  636, 314 }, {  950,  58 }, { 1008,   9 },
4697         { 1017,   3 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
4698         { 1023,   1 } } },
4699 
4700     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
4701         {    4,   1 }, {    5,   1 }, {    6,  13 }, {   19, 205 },
4702         {  224, 366 }, {  590, 377 }, {  967,  47 }, { 1014,   5 },
4703         { 1019,   1 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
4704         { 1023,   1 } } },
4705 
4706     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
4707         {    4,   1 }, {    5,   1 }, {    6,  13 }, {   19, 281 },
4708         {  300, 330 }, {  630, 371 }, { 1001,  17 }, { 1018,   1 },
4709         { 1019,   1 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
4710         { 1023,   1 } } },
4711 
4712     { { {    0,   1 }, {    1,   1 }, {    2,   1 }, {    3,   1 },
4713         {    4,   1 }, {    5,   1 }, {    6,   5 }, {   11, 297 },
4714         {  308,   1 }, {  309, 682 }, {  991,  26 }, { 1017,   2 },
4715         { 1019,   1 }, { 1020,   1 }, { 1021,   1 }, { 1022,   1 },
4716         { 1023,   1 } } },
4717 
4718 };
4719 
4720 const uint16_t lc3_tns_coeffs_bits[][17] = {
4721 
4722     { 20480, 15725, 12479, 10334,  8694,  7320,  6964,  6335,
4723        5504,  5637,  6566,  6758,  8433, 11348, 15186, 20480, 20480 },
4724 
4725     { 20480, 20480, 20480, 20480, 12902,  9368,  7057,  5901,
4726        5254,  5485,  5598,  6076,  7608, 10742, 15186, 20480, 20480 },
4727 
4728     { 20480, 20480, 20480, 20480, 13988,  9368,  6702,  4841,
4729        4585,  4682,  5859,  7764, 12109, 20480, 20480, 20480, 20480 },
4730 
4731     { 20480, 20480, 20480, 20480, 18432, 13396,  8982,  4767,
4732        3779,  3658,  6335,  9656, 13988, 20480, 20480, 20480, 20480 },
4733 
4734     { 20480, 20480, 20480, 20480, 20480, 14731,  9437,  4275,
4735        3249,  3493,  8483, 13988, 17234, 20480, 20480, 20480, 20480 },
4736 
4737     { 20480, 20480, 20480, 20480, 20480, 20480, 12902,  4753,
4738        3040,  2953,  9105, 15725, 20480, 20480, 20480, 20480, 20480 },
4739 
4740     { 20480, 20480, 20480, 20480, 20480, 20480, 12902,  3821,
4741        3346,  3000, 12109, 20480, 20480, 20480, 20480, 20480, 20480 },
4742 
4743     { 20480, 20480, 20480, 20480, 20480, 20480, 15725,  3658,
4744       20480,  1201, 10854, 18432, 20480, 20480, 20480, 20480, 20480 }
4745 
4746 };
4747 
4748 
4749 /**
4750  * Long Term Postfilter Synthesis
4751  * with - addition of a 0 for num coefficients
4752  *      - remove of first 0 den coefficients
4753  */
4754 
4755 const float *lc3_ltpf_cnum[LC3_NUM_SRATE][4] = {
4756 
4757     [LC3_SRATE_8K] = {
4758         (const float []){
4759            6.02361821e-01,  4.19760926e-01, -1.88342453e-02,  0. },
4760         (const float []){
4761            5.99476858e-01,  4.19760926e-01, -1.59492828e-02,  0. },
4762         (const float []){
4763            5.96776466e-01,  4.19760926e-01, -1.32488910e-02,  0. },
4764         (const float []){
4765            5.94241012e-01,  4.19760926e-01, -1.07134366e-02,  0. },
4766     },
4767 
4768     [LC3_SRATE_16K] = {
4769         (const float []){
4770            6.02361821e-01,  4.19760926e-01, -1.88342453e-02,  0. },
4771         (const float []){
4772            5.99476858e-01,  4.19760926e-01, -1.59492828e-02,  0. },
4773         (const float []){
4774            5.96776466e-01,  4.19760926e-01, -1.32488910e-02,  0. },
4775         (const float []){
4776            5.94241012e-01,  4.19760926e-01, -1.07134366e-02,  0. },
4777     },
4778 
4779     [LC3_SRATE_24K] = {
4780         (const float []){
4781            3.98969559e-01,  5.14250861e-01,  1.00438297e-01, -1.27889396e-02,
4782           -1.57228008e-03,  0.                                               },
4783         (const float []){
4784            3.94863491e-01,  5.12381921e-01,  1.04319493e-01, -1.09199996e-02,
4785           -1.34740833e-03,  0.                                               },
4786         (const float []){
4787            3.90984448e-01,  5.10605352e-01,  1.07983252e-01, -9.14343107e-03,
4788           -1.13212462e-03,  0.                                               },
4789         (const float []){
4790            3.87309389e-01,  5.08912208e-01,  1.11451738e-01, -7.45028713e-03,
4791           -9.25551405e-04,  0.                                               },
4792     },
4793 
4794     [LC3_SRATE_32K] = {
4795         (const float []){
4796            2.98237945e-01,  4.65280920e-01,  2.10599743e-01,  3.76678038e-02,
4797           -1.01569616e-02, -2.53588100e-03, -3.18294617e-04,  0.             },
4798         (const float []){
4799            2.94383415e-01,  4.61929400e-01,  2.12946577e-01,  4.06617500e-02,
4800           -8.69327230e-03, -2.17830711e-03, -2.74288806e-04,  0.             },
4801         (const float []){
4802            2.90743921e-01,  4.58746191e-01,  2.15145697e-01,  4.35010477e-02,
4803           -7.29549535e-03, -1.83439564e-03, -2.31692019e-04,  0.             },
4804         (const float []){
4805            2.87297585e-01,  4.55714889e-01,  2.17212695e-01,  4.62008888e-02,
4806           -5.95746380e-03, -1.50293428e-03, -1.90385191e-04,  0.             },
4807     },
4808 
4809     [LC3_SRATE_48K] = {
4810         (const float []){
4811            1.98136374e-01,  3.52449490e-01,  2.51369527e-01,  1.42414624e-01,
4812            5.70473102e-02,  9.29336624e-03, -7.22602537e-03, -3.17267989e-03,
4813           -1.12183596e-03, -2.90295724e-04, -4.27081559e-05,  0.             },
4814         (const float []){
4815            1.95070943e-01,  3.48466041e-01,  2.50998846e-01,  1.44116741e-01,
4816            5.92894732e-02,  1.10892383e-02, -6.19290811e-03, -2.72670551e-03,
4817           -9.66712583e-04, -2.50810092e-04, -3.69993877e-05,  0.             },
4818         (const float []){
4819            1.92181006e-01,  3.44694556e-01,  2.50622009e-01,  1.45710245e-01,
4820            6.14113213e-02,  1.27994140e-02, -5.20372109e-03, -2.29732451e-03,
4821           -8.16560813e-04, -2.12385575e-04, -3.14127133e-05,  0.             },
4822         (const float []){
4823            1.89448531e-01,  3.41113925e-01,  2.50240688e-01,  1.47206563e-01,
4824            6.34247723e-02,  1.44320343e-02, -4.25444914e-03, -1.88308147e-03,
4825           -6.70961906e-04, -1.74936334e-04, -2.59386474e-05,  0.             },
4826     }
4827 };
4828 
4829 const float *lc3_ltpf_cden[LC3_NUM_SRATE][4] = {
4830 
4831     [LC3_SRATE_8K] = {
4832         (const float []){
4833            2.09880463e-01,  5.83527575e-01,  2.09880463e-01,  0.00000000e+00 },
4834         (const float []){
4835            1.06999186e-01,  5.50075002e-01,  3.35690625e-01,  6.69885837e-03 },
4836         (const float []){
4837            3.96711478e-02,  4.59220930e-01,  4.59220930e-01,  3.96711478e-02 },
4838         (const float []){
4839            6.69885837e-03,  3.35690625e-01,  5.50075002e-01,  1.06999186e-01 },
4840     },
4841 
4842     [LC3_SRATE_16K] = {
4843         (const float []){
4844            2.09880463e-01,  5.83527575e-01,  2.09880463e-01,  0.00000000e+00 },
4845         (const float []){
4846            1.06999186e-01,  5.50075002e-01,  3.35690625e-01,  6.69885837e-03 },
4847         (const float []){
4848            3.96711478e-02,  4.59220930e-01,  4.59220930e-01,  3.96711478e-02 },
4849         (const float []){
4850            6.69885837e-03,  3.35690625e-01,  5.50075002e-01,  1.06999186e-01 },
4851     },
4852 
4853     [LC3_SRATE_24K] = {
4854         (const float []){
4855            6.32223163e-02,  2.50730961e-01,  3.71390943e-01,  2.50730961e-01,
4856            6.32223163e-02,  0.00000000e+00                                   },
4857         (const float []){
4858            3.45927217e-02,  1.98651560e-01,  3.62641173e-01,  2.98675055e-01,
4859            1.01309287e-01,  4.26354371e-03                                   },
4860         (const float []){
4861            1.53574678e-02,  1.47434488e-01,  3.37425955e-01,  3.37425955e-01,
4862            1.47434488e-01,  1.53574678e-02                                   },
4863         (const float []){
4864            4.26354371e-03,  1.01309287e-01,  2.98675055e-01,  3.62641173e-01,
4865            1.98651560e-01,  3.45927217e-02                                   },
4866     },
4867 
4868     [LC3_SRATE_32K] = {
4869         (const float []){
4870            2.90040188e-02,  1.12985742e-01,  2.21202403e-01,  2.72390947e-01,
4871            2.21202403e-01,  1.12985742e-01,  2.90040188e-02,  0.00000000e+00 },
4872         (const float []){
4873            1.70315342e-02,  8.72250379e-02,  1.96140776e-01,  2.68923798e-01,
4874            2.42499910e-01,  1.40577336e-01,  4.47487717e-02,  3.12703024e-03 },
4875         (const float []){
4876            8.56367375e-03,  6.42622294e-02,  1.68767671e-01,  2.58744594e-01,
4877            2.58744594e-01,  1.68767671e-01,  6.42622294e-02,  8.56367375e-03 },
4878         (const float []){
4879            3.12703024e-03,  4.47487717e-02,  1.40577336e-01,  2.42499910e-01,
4880            2.68923798e-01,  1.96140776e-01,  8.72250379e-02,  1.70315342e-02 },
4881     },
4882 
4883     [LC3_SRATE_48K] = {
4884         (const float []){
4885            1.08235939e-02,  3.60896922e-02,  7.67640147e-02,  1.24153058e-01,
4886            1.62759644e-01,  1.77677142e-01,  1.62759644e-01,  1.24153058e-01,
4887            7.67640147e-02,  3.60896922e-02,  1.08235939e-02,  0.00000000e+00 },
4888         (const float []){
4889            7.04140493e-03,  2.81970232e-02,  6.54704494e-02,  1.12464799e-01,
4890            1.54841896e-01,  1.76712238e-01,  1.69150721e-01,  1.35290158e-01,
4891            8.85142501e-02,  4.49935385e-02,  1.55761371e-02,  2.03972196e-03 },
4892         (const float []){
4893            4.14699847e-03,  2.13575731e-02,  5.48273558e-02,  1.00497144e-01,
4894            1.45606034e-01,  1.73843984e-01,  1.73843984e-01,  1.45606034e-01,
4895            1.00497144e-01,  5.48273558e-02,  2.13575731e-02,  4.14699847e-03 },
4896         (const float []){
4897            2.03972196e-03,  1.55761371e-02,  4.49935385e-02,  8.85142501e-02,
4898            1.35290158e-01,  1.69150721e-01,  1.76712238e-01,  1.54841896e-01,
4899            1.12464799e-01,  6.54704494e-02,  2.81970232e-02,  7.04140493e-03 },
4900     }
4901 };
4902 
4903 
4904 /**
4905  * Spectral Data Arithmetic Coding
4906  * The number of bits are given at 2048th of bits
4907  *
4908  * The dimensions of the lookup table are set as following :
4909  *   1: Rate selection
4910  *   2: Half spectrum selection (1st half / 2nd half)
4911  *   3: State of the arithmetic coder
4912  *   4: Number of msb bits (significant - 2), limited to 3
4913  *
4914  * table[r][h][s][k] = table(normative)[s + h*256 + r*512 + k*1024]
4915  */
4916 
4917 const uint8_t lc3_spectrum_lookup[2][2][256][4] = {
4918 
4919     { { {  1,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 }, { 25,13, 0, 0 },
4920         { 22,13, 0, 0 }, { 22,13, 0, 0 }, { 28,13, 0, 0 }, { 22,13, 0, 0 },
4921         { 22,60, 0, 0 }, { 22,60, 0, 0 }, { 22,60, 0, 0 }, { 28,60, 0, 0 },
4922         { 28,60, 0, 0 }, { 28,60,13, 0 }, { 34,60,13, 0 }, { 31,16,13, 0 },
4923         { 31,16,13, 0 }, { 40, 0, 0, 0 }, { 43, 0, 0, 0 }, { 46, 0, 0, 0 },
4924         { 49, 0, 0, 0 }, { 52, 0, 0, 0 }, { 14, 0, 0, 0 }, { 17, 0, 0, 0 },
4925         { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 38, 0, 0, 0 },
4926         {  0, 0, 0, 0 }, { 57, 0, 0, 0 }, { 38,13, 0, 0 }, { 22,60, 0, 0 },
4927         {  0, 0, 0, 0 }, {  8, 0, 0, 0 }, {  9, 0, 0, 0 }, { 11, 0, 0, 0 },
4928         { 47, 0, 0, 0 }, { 14, 0, 0, 0 }, { 14, 0, 0, 0 }, { 17, 0, 0, 0 },
4929         { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 38, 0, 0, 0 },
4930         { 59, 0, 0, 0 }, { 59, 0, 0, 0 }, { 38,13, 0, 0 }, { 22,60, 0, 0 },
4931         { 22,60, 0, 0 }, { 26, 0, 0, 0 }, { 46, 0, 0, 0 }, { 29, 0, 0, 0 },
4932         { 30, 0, 0, 0 }, { 32, 0, 0, 0 }, { 33, 0, 0, 0 }, { 35, 0, 0, 0 },
4933         { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 36, 0, 0, 0 }, { 38, 0, 0, 0 },
4934         {  0,13, 0, 0 }, { 59,13, 0, 0 }, { 23,13, 0, 0 }, { 22,60, 0, 0 },
4935         { 46,60, 0, 0 }, { 46, 0, 0, 0 }, { 45, 0, 0, 0 }, { 47, 0, 0, 0 },
4936         { 48, 0, 0, 0 }, { 50, 0, 0, 0 }, { 50, 0, 0, 0 }, { 18, 0, 0, 0 },
4937         { 54, 0, 0, 0 }, { 54, 0, 0, 0 }, { 54, 0, 0, 0 }, { 38, 0, 0, 0 },
4938         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 22,60, 0, 0 },
4939         {  0,60, 0, 0 }, { 62, 0, 0, 0 }, { 63, 0, 0, 0 }, {  3, 0, 0, 0 },
4940         { 33, 0, 0, 0 }, {  2, 0, 0, 0 }, {  2, 0, 0, 0 }, { 61, 0, 0, 0 },
4941         { 20, 0, 0, 0 }, { 20, 0, 0, 0 }, { 20,13, 0, 0 }, { 21,13, 0, 0 },
4942         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 }, { 28,60, 0, 0 },
4943         { 28,60, 0, 0 }, { 63, 0, 0, 0 }, { 63, 0, 0, 0 }, {  3, 0, 0, 0 },
4944         { 33, 0, 0, 0 }, {  2, 0, 0, 0 }, {  2, 0, 0, 0 }, { 61, 0, 0, 0 },
4945         { 38, 0, 0, 0 }, { 38, 0, 0, 0 }, { 38,13, 0, 0 }, { 21,13, 0, 0 },
4946         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 }, { 28,60, 0, 0 },
4947         { 28,60, 0, 0 }, {  6, 0, 0, 0 }, {  6, 0, 0, 0 }, {  6, 0, 0, 0 },
4948         {  2, 0, 0, 0 }, { 18, 0, 0, 0 }, { 61, 0, 0, 0 }, { 20, 0, 0, 0 },
4949         { 21, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21,13, 0, 0 }, { 59,13, 0, 0 },
4950         { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 }, { 34,60,13, 0 },
4951         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 },
4952         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 },
4953         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 },
4954         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,60,13, 0 },
4955         { 34,60,13, 0 }, { 51, 0, 0, 0 }, { 51, 0, 0, 0 }, { 51, 0, 0, 0 },
4956         { 53, 0, 0, 0 }, { 54, 0, 0, 0 }, { 20, 0, 0, 0 }, { 38, 0, 0, 0 },
4957         { 38, 0, 0, 0 }, { 57, 0, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 },
4958         { 39,13, 0, 0 }, {  7,13, 0, 0 }, { 24,13, 0, 0 }, { 34,60,13, 0 },
4959         {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 },
4960         {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 },
4961         {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 },
4962         {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 }, {  4,60, 0, 0 },
4963         {  4,60, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 },
4964         {  4, 0, 0, 0 }, { 56, 0, 0, 0 }, { 38, 0, 0, 0 }, { 57, 0, 0, 0 },
4965         { 57,13, 0, 0 }, { 59,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 },
4966         {  7,13, 0, 0 }, { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 34,60,13, 0 },
4967         {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 },
4968         {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 },
4969         {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 },
4970         {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 }, {  0,60,13, 0 },
4971         {  0,60,13, 0 }, {  5, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 },
4972         {  5, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21, 0, 0, 0 }, { 59,13, 0, 0 },
4973         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 },
4974         { 25,13, 0, 0 }, { 25,13, 0, 0 }, { 25,13, 0, 0 }, { 34,60,13, 0 },
4975         {  4,13, 0, 0 }, {  4,13, 0, 0 }, {  4,13, 0, 0 }, {  4,13, 0, 0 },
4976         {  5,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 39,13, 0, 0 },
4977         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,13, 0, 0 },
4978         { 25,13, 0, 0 }, { 25,13, 0, 0 }, { 22,13, 0, 0 }, { 31,60,13, 0 },
4979         { 31,60,13, 0 }, { 39,60, 0, 0 }, { 39,60, 0, 0 }, { 39,60, 0, 0 },
4980         { 39,60, 0, 0 }, {  7,60, 0, 0 }, {  7,60, 0, 0 }, { 42,60, 0, 0 },
4981         {  0,60, 0, 0 }, { 25,60, 0, 0 }, { 22,60, 0, 0 }, { 22,60, 0, 0 },
4982         { 22,60, 0, 0 }, { 28,60, 0, 0 }, { 34,60, 0, 0 }, { 31,16,13, 0 } },
4983 
4984       { { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 },
4985         { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 },
4986         { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 },
4987         { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 }, { 55, 0,13, 0 },
4988         { 55, 0,13, 0 }, { 55, 0, 0, 0 }, { 40, 0, 0, 0 }, {  8, 0, 0, 0 },
4989         {  9, 0, 0, 0 }, { 49, 0, 0, 0 }, { 49, 0, 0, 0 }, { 52, 0, 0, 0 },
4990         { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, {  4,13, 0, 0 },
4991         {  0,13, 0, 0 }, { 20,13, 0, 0 }, { 17, 0, 0, 0 }, { 60,13,60,13 },
4992         { 40, 0, 0,13 }, { 40, 0, 0, 0 }, {  8, 0, 0, 0 }, { 43, 0, 0, 0 },
4993         { 27, 0, 0, 0 }, { 49, 0, 0, 0 }, { 49, 0, 0, 0 }, { 14, 0, 0, 0 },
4994         { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 36, 0, 0, 0 },
4995         { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 17, 0, 0, 0 }, { 57,60,13, 0 },
4996         { 57, 0,13, 0 }, { 40, 0, 0, 0 }, {  8, 0, 0, 0 }, { 26, 0, 0, 0 },
4997         { 27, 0, 0, 0 }, { 49, 0, 0, 0 }, { 12, 0, 0, 0 }, { 14, 0, 0, 0 },
4998         { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 36, 0, 0, 0 },
4999         {  0, 0,13, 0 }, { 38, 0,13, 0 }, { 36,13, 0, 0 }, {  1,60, 0, 0 },
5000         {  8,60, 0, 0 }, {  8, 0, 0, 0 }, { 43, 0, 0, 0 }, {  9, 0, 0, 0 },
5001         { 11, 0, 0, 0 }, { 49, 0, 0, 0 }, { 12, 0, 0, 0 }, { 14, 0, 0, 0 },
5002         { 14, 0,13, 0 }, { 33, 0,13, 0 }, { 50, 0,13, 0 }, { 50, 0, 0, 0 },
5003         { 50, 0,13, 0 }, { 61, 0,13, 0 }, { 36,13, 0, 0 }, { 39,60, 0, 0 },
5004         {  8,60, 0, 0 }, {  8, 0, 0, 0 }, { 43, 0, 0, 0 }, { 46, 0, 0, 0 },
5005         { 49, 0, 0, 0 }, { 52, 0, 0, 0 }, { 30, 0, 0, 0 }, { 14, 0, 0, 0 },
5006         { 14, 0,13, 0 }, { 33, 0,13, 0 }, { 50, 0,13, 0 }, { 50, 0,13, 0 },
5007         { 50,13,13, 0 }, { 50,13, 0, 0 }, { 18,13,13, 0 }, { 25,60,13, 0 },
5008         {  8,60,13,13 }, {  8, 0, 0,13 }, { 43, 0, 0,13 }, { 46, 0, 0,13 },
5009         { 49, 0, 0,13 }, { 52, 0, 0, 0 }, { 30, 0, 0, 0 }, { 14, 0, 0, 0 },
5010         { 14, 0, 0, 0 }, { 18, 0,60, 0 }, {  5, 0, 0,13 }, {  5, 0, 0,13 },
5011         {  5, 0, 0,13 }, { 61,13, 0,13 }, { 18,13,13, 0 }, { 23,13,60, 0 },
5012         { 43,13, 0,13 }, { 43, 0, 0,13 }, { 43, 0, 0,13 }, {  9, 0, 0,13 },
5013         { 49, 0, 0,13 }, { 52, 0, 0, 0 }, {  3, 0, 0, 0 }, { 14, 0, 0, 0 },
5014         { 14, 0, 0, 0 }, { 50, 0, 0, 0 }, { 50,13,13, 0 }, { 50,13,13, 0 },
5015         { 50,13,13, 0 }, { 61, 0, 0, 0 }, { 17,13,13, 0 }, { 24,60,13, 0 },
5016         { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 },
5017         { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 },
5018         { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 },
5019         { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 }, { 43,60,13, 0 },
5020         { 43,60,13, 0 }, { 43, 0, 0, 0 }, { 43, 0,19, 0 }, {  9, 0, 0, 0 },
5021         { 11, 0, 0, 0 }, { 52, 0, 0, 0 }, { 52, 0, 0, 0 }, { 14, 0, 0, 0 },
5022         { 14, 0, 0, 0 }, { 17, 0, 0, 0 }, { 61,13, 0, 0 }, { 61,13, 0, 0 },
5023         { 61,13, 0, 0 }, { 54, 0, 0, 0 }, { 17, 0,13,13 }, { 39,13,13, 0 },
5024         { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 },
5025         { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 },
5026         { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 },
5027         { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 }, { 45,13,13, 0 },
5028         { 45,13,13, 0 }, { 45, 0,13, 0 }, { 44, 0,13, 0 }, { 27, 0, 0, 0 },
5029         { 29, 0, 0, 0 }, { 52, 0, 0, 0 }, { 48, 0, 0, 0 }, { 52, 0, 0, 0 },
5030         { 52, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0, 0, 0 }, { 17, 0,19, 0 },
5031         { 17, 0,13, 0 }, {  2, 0,13, 0 }, { 17, 0,13, 0 }, {  7,13, 0, 0 },
5032         { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 },
5033         { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 },
5034         { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 },
5035         { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 }, { 27, 0, 0,13 },
5036         { 27, 0, 0,13 }, { 27, 0, 0,13 }, {  9, 0, 0,13 }, { 27, 0, 0,13 },
5037         { 27, 0, 0,13 }, { 12, 0, 0,13 }, { 52, 0, 0,13 }, { 14, 0, 0,13 },
5038         { 14, 0, 0,13 }, { 58, 0, 0,13 }, { 41, 0, 0,13 }, { 41, 0, 0,13 },
5039         { 41, 0, 0,13 }, {  6, 0, 0,13 }, { 17,60, 0,13 }, { 37, 0,19,13 },
5040         {  9, 0, 0,13 }, {  9,16, 0,13 }, {  9, 0, 0,13 }, { 27, 0, 0,13 },
5041         { 11, 0, 0,13 }, { 49, 0, 0, 0 }, { 12, 0, 0, 0 }, { 52, 0, 0, 0 },
5042         { 14, 0, 0, 0 }, { 14, 0, 0, 0 }, { 14, 0, 0, 0 }, { 50, 0, 0, 0 },
5043         {  0, 0, 0,13 }, { 53, 0, 0,13 }, { 17, 0, 0,13 }, { 28, 0,13, 0 },
5044         { 52, 0,13, 0 }, { 52, 0,13, 0 }, { 49, 0,13, 0 }, { 52, 0, 0, 0 },
5045         { 12, 0, 0, 0 }, { 52, 0, 0, 0 }, { 30, 0, 0, 0 }, { 14, 0, 0, 0 },
5046         { 14, 0, 0, 0 }, { 17, 0, 0, 0 }, {  2, 0, 0, 0 }, {  2, 0, 0, 0 },
5047         {  2, 0, 0, 0 }, { 38, 0, 0, 0 }, { 38, 0, 0, 0 }, { 34, 0, 0, 0 } } },
5048 
5049     { { { 31,16,60,13 }, { 34,16,13, 0 }, { 34,16,13, 0 }, { 31,16,13, 0 },
5050         { 31,16,13, 0 }, { 31,16,13, 0 }, { 31,16,13, 0 }, { 19,16,60, 0 },
5051         { 19,16,60, 0 }, { 19,16,60, 0 }, { 19,16,60, 0 }, { 19,16,60, 0 },
5052         { 19,16,60, 0 }, { 19,16,60, 0 }, { 31,16,60,13 }, { 19,37,16,60 },
5053         { 44, 0, 0,60 }, { 44, 0, 0, 0 }, { 62, 0, 0, 0 }, { 30, 0, 0, 0 },
5054         { 32, 0, 0, 0 }, { 58, 0, 0, 0 }, { 35, 0, 0, 0 }, { 36, 0, 0, 0 },
5055         { 36, 0, 0, 0 }, { 38,13, 0, 0 }, {  0,13, 0, 0 }, { 59,13, 0, 0 },
5056         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 39,13, 0, 0 }, { 34,60,13, 0 },
5057         { 34, 0,13, 0 }, { 45, 0, 0, 0 }, { 47, 0, 0, 0 }, { 48, 0, 0, 0 },
5058         { 33, 0, 0, 0 }, { 35, 0, 0, 0 }, { 35, 0, 0, 0 }, { 36, 0, 0, 0 },
5059         { 38,13, 0, 0 }, { 38,13, 0, 0 }, { 38,13, 0, 0 }, { 59,13, 0, 0 },
5060         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 39,13, 0, 0 }, { 34,60,13, 0 },
5061         { 34, 0,13, 0 }, { 62, 0, 0, 0 }, { 30, 0, 0, 0 }, { 15, 0, 0, 0 },
5062         { 50, 0, 0, 0 }, { 53, 0, 0, 0 }, { 53, 0, 0, 0 }, { 54,13, 0, 0 },
5063         { 21,13, 0, 0 }, { 21,13, 0, 0 }, { 21,13, 0, 0 }, { 59,13, 0, 0 },
5064         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 34,60,13, 0 },
5065         { 30, 0,13, 0 }, { 30, 0, 0, 0 }, { 48, 0, 0, 0 }, { 33, 0, 0, 0 },
5066         { 58, 0, 0, 0 }, { 18, 0, 0, 0 }, { 18, 0, 0, 0 }, { 56,13, 0, 0 },
5067         { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 59,13, 0, 0 },
5068         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 24,13, 0, 0 }, { 34,60,13, 0 },
5069         { 34, 0,13, 0 }, {  6, 0, 0, 0 }, {  6, 0, 0, 0 }, { 58, 0, 0, 0 },
5070         { 53, 0, 0, 0 }, { 54, 0, 0, 0 }, { 54, 0, 0, 0 }, { 21,13, 0, 0 },
5071         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 },
5072         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,60, 0, 0 }, { 34,16,13, 0 },
5073         {  6, 0,13, 0 }, {  6, 0, 0, 0 }, { 33, 0, 0, 0 }, { 58, 0, 0, 0 },
5074         { 53, 0, 0, 0 }, { 54, 0, 0, 0 }, { 61, 0, 0, 0 }, { 21,13, 0, 0 },
5075         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 },
5076         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,60, 0, 0 }, { 34,16,13, 0 },
5077         { 34, 0,13, 0 }, { 51, 0, 0, 0 }, { 51, 0, 0, 0 }, { 53, 0, 0, 0 },
5078         { 54, 0, 0, 0 }, { 56,13, 0, 0 }, { 56,13, 0, 0 }, { 57,13, 0, 0 },
5079         { 39,13, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 },
5080         { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 25,60, 0, 0 }, { 31,16,13, 0 },
5081         { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 },
5082         { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 },
5083         { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 },
5084         { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 }, { 31, 0,13, 0 },
5085         { 31, 0,13, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 },
5086         {  5,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 39,13, 0, 0 },
5087         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,13, 0, 0 },
5088         { 25,13, 0, 0 }, { 25,13, 0, 0 }, { 22,60, 0, 0 }, { 31,16,60, 0 },
5089         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
5090         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
5091         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
5092         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
5093         { 31,13, 0, 0 }, {  5,13, 0, 0 }, {  5,13, 0, 0 }, {  5,13, 0, 0 },
5094         {  5,13, 0, 0 }, { 57,13, 0, 0 }, { 57,13, 0, 0 }, { 39,13, 0, 0 },
5095         { 24,13, 0, 0 }, { 24,13, 0, 0 }, { 24,13, 0, 0 }, { 42,13, 0, 0 },
5096         { 22,13, 0, 0 }, { 22,60, 0, 0 }, { 28,60,13, 0 }, { 31,16,60, 0 },
5097         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
5098         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
5099         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
5100         { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 }, { 31,13, 0, 0 },
5101         { 31,13, 0, 0 }, { 41,13, 0, 0 }, { 41,13, 0, 0 }, { 41,13, 0, 0 },
5102         { 41,13, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 },
5103         { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 42,13, 0, 0 }, { 25,13, 0, 0 },
5104         { 28,13, 0, 0 }, { 28,60, 0, 0 }, { 28,60,13, 0 }, { 31,16,60,13 },
5105         { 31,13, 0, 0 }, { 41,13, 0, 0 }, { 41,13, 0, 0 }, { 41,13, 0, 0 },
5106         { 41,13, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 }, { 24,13, 0, 0 },
5107         { 25,60, 0, 0 }, { 25,60, 0, 0 }, { 25,60, 0, 0 }, { 22,60, 0, 0 },
5108         { 28,60, 0, 0 }, { 28,60, 0, 0 }, { 34,60,13, 0 }, { 31,16,60,13 },
5109         { 31,60,13,13 }, { 10,60,13, 0 }, { 10,60,13, 0 }, { 10,60,13, 0 },
5110         { 10,60,13, 0 }, { 10,60,13, 0 }, { 10,60,13, 0 }, { 28,60,13, 0 },
5111         { 34,60,13, 0 }, { 34,60,13, 0 }, { 34,16,13, 0 }, { 34,16,13, 0 },
5112         { 34,16,60, 0 }, { 34,16,60, 0 }, { 31,16,60, 0 }, { 19,37,16,13 } },
5113 
5114       { {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 },
5115         {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 },
5116         {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 },
5117         {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 }, {  8, 0,16, 0 },
5118         {  8, 0,16, 0 }, {  8, 0, 0, 0 }, {  9, 0, 0, 0 }, { 11, 0, 0, 0 },
5119         { 47, 0, 0, 0 }, { 32, 0, 0, 0 }, { 50, 0, 0, 0 }, { 18, 0, 0, 0 },
5120         { 18, 0, 0, 0 }, { 20, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21, 0, 0, 0 },
5121         { 21,13, 0, 0 }, { 39,13, 0, 0 }, { 59,13, 0, 0 }, { 34,16,60, 0 },
5122         { 26, 0, 0, 0 }, { 26, 0, 0, 0 }, { 27, 0, 0, 0 }, { 29, 0, 0, 0 },
5123         { 30, 0, 0, 0 }, { 33, 0, 0, 0 }, { 50, 0, 0, 0 }, { 18, 0, 0, 0 },
5124         { 18, 0, 0, 0 }, { 20, 0, 0, 0 }, { 57, 0, 0, 0 }, { 57,13, 0, 0 },
5125         { 57,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 34,16,60, 0 },
5126         { 27, 0, 0, 0 }, { 27, 0, 0, 0 }, { 11, 0, 0, 0 }, { 12, 0, 0, 0 },
5127         { 48, 0, 0, 0 }, { 50, 0, 0, 0 }, { 58, 0, 0, 0 }, { 61, 0, 0, 0 },
5128         { 61, 0, 0, 0 }, { 56, 0, 0, 0 }, { 57,13, 0, 0 }, { 57,13, 0, 0 },
5129         { 57,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 }, { 34,16,60, 0 },
5130         { 45, 0, 0, 0 }, { 45, 0, 0, 0 }, { 12, 0, 0, 0 }, { 30, 0, 0, 0 },
5131         { 32, 0, 0, 0 }, {  2, 0, 0, 0 }, {  2, 0, 0, 0 }, { 61, 0, 0, 0 },
5132         { 38, 0, 0, 0 }, { 38, 0, 0, 0 }, { 38,13, 0, 0 }, { 57,13, 0, 0 },
5133         {  0,13, 0, 0 }, { 59,13, 0, 0 }, { 39,13, 0, 0 }, { 34,16,60, 0 },
5134         { 63, 0, 0, 0 }, { 63, 0, 0, 0 }, {  3, 0, 0, 0 }, { 32, 0, 0, 0 },
5135         { 58, 0, 0, 0 }, { 18, 0, 0, 0 }, { 18, 0, 0, 0 }, { 20, 0, 0, 0 },
5136         { 21, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21,13, 0, 0 }, { 59,13, 0, 0 },
5137         { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13,13, 0 }, { 31,16,60, 0 },
5138         { 31, 0, 0, 0 }, {  3, 0, 0, 0 }, {  3, 0, 0, 0 }, { 33, 0, 0, 0 },
5139         { 58, 0, 0, 0 }, { 18, 0, 0, 0 }, { 18, 0, 0, 0 }, { 20, 0, 0, 0 },
5140         { 21, 0, 0, 0 }, { 21, 0, 0, 0 }, { 21,13, 0, 0 }, { 59,13, 0, 0 },
5141         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13,13, 0 }, { 31,16,60, 0 },
5142         {  6, 0, 0, 0 }, {  6, 0, 0, 0 }, { 51, 0, 0, 0 }, { 51, 0, 0, 0 },
5143         { 53, 0, 0, 0 }, { 54, 0, 0, 0 }, { 54, 0, 0, 0 }, { 38, 0, 0, 0 },
5144         { 57,13, 0, 0 }, { 57,13, 0, 0 }, { 57,13, 0, 0 }, { 39,13, 0, 0 },
5145         {  7,13, 0, 0 }, {  7,13, 0, 0 }, { 42,60,13, 0 }, { 31,16,60, 0 },
5146         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
5147         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
5148         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
5149         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
5150         { 31, 0, 0, 0 }, { 51, 0, 0, 0 }, { 53, 0, 0, 0 }, { 53, 0, 0, 0 },
5151         { 54, 0, 0, 0 }, { 56, 0, 0, 0 }, { 56, 0, 0, 0 }, { 57,13, 0, 0 },
5152         { 59,13, 0, 0 }, { 59,13, 0, 0 }, { 59,13, 0, 0 }, {  7,13, 0, 0 },
5153         { 24,13, 0, 0 }, { 24,13, 0, 0 }, { 25,60,13, 0 }, { 31,16,60, 0 },
5154         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
5155         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
5156         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
5157         { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 }, { 31, 0, 0, 0 },
5158         { 31, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 }, {  4, 0, 0, 0 },
5159         { 54, 0, 0, 0 }, { 21,13, 0, 0 }, { 21, 0, 0, 0 }, { 57,13, 0, 0 },
5160         { 39,13, 0, 0 }, { 39,13, 0, 0 }, { 39,13, 0, 0 }, {  7,13, 0, 0 },
5161         { 42,13,13, 0 }, { 42,13,13, 0 }, { 22,60,13, 0 }, { 31,16,60, 0 },
5162         { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 },
5163         { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 },
5164         { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 },
5165         { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 }, { 31,16, 0, 0 },
5166         { 31,16, 0, 0 }, {  5, 0, 0, 0 }, {  5, 0, 0, 0 }, {  5, 0, 0, 0 },
5167         {  5,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 59,13, 0, 0 },
5168         {  7,13, 0, 0 }, {  7,13, 0, 0 }, {  7,13,13, 0 }, { 42,13,13, 0 },
5169         { 22,60,13, 0 }, { 22,60,13, 0 }, { 28,60,13, 0 }, { 31,16,60, 0 },
5170         { 31,13, 0, 0 }, {  4,13, 0, 0 }, {  4,13, 0, 0 }, {  4,13, 0, 0 },
5171         {  5,13, 0, 0 }, { 23,13, 0, 0 }, { 23,13, 0, 0 }, { 39,13,13, 0 },
5172         { 24,60,13, 0 }, { 24,60,13, 0 }, { 24,60,13, 0 }, { 25,60,13, 0 },
5173         { 28,60,13, 0 }, { 28,60,13, 0 }, { 34,16,13, 0 }, { 31,16,60, 0 },
5174         { 31,16,13, 0 }, { 10,16,13, 0 }, { 10,16,13, 0 }, { 10,16,13, 0 },
5175         { 10,16,13, 0 }, { 10,16,60, 0 }, { 10,16,60, 0 }, { 28,16,60, 0 },
5176         { 34,16,60, 0 }, { 34,16,60, 0 }, { 34,16,60, 0 }, { 31,16,60, 0 },
5177         { 31,16,60, 0 }, { 31,16,60, 0 }, { 31,16,60, 0 }, { 19,37,60, 0 } } }
5178 };
5179 
5180 const struct lc3_ac_model lc3_spectrum_models[] = {
5181 
5182     { { {    0,    1 }, {    1,    1 }, {    2,  175 }, {  177,   48 },
5183         {  225,    1 }, {  226,    1 }, {  227,  109 }, {  336,   36 },
5184         {  372,  171 }, {  543,  109 }, {  652,   47 }, {  699,   20 },
5185         {  719,   49 }, {  768,   36 }, {  804,   20 }, {  824,   10 },
5186         {  834,  190 } } },
5187 
5188     { { {    0,   18 }, {   18,   26 }, {   44,   17 }, {   61,   10 },
5189         {   71,   27 }, {   98,   37 }, {  135,   24 }, {  159,   16 },
5190         {  175,   22 }, {  197,   32 }, {  229,   22 }, {  251,   14 },
5191         {  265,   17 }, {  282,   26 }, {  308,   20 }, {  328,   13 },
5192         {  341,  683 } } },
5193 
5194     { { {    0,   71 }, {   71,   92 }, {  163,   49 }, {  212,   25 },
5195         {  237,   81 }, {  318,  102 }, {  420,   61 }, {  481,   33 },
5196         {  514,   42 }, {  556,   57 }, {  613,   39 }, {  652,   23 },
5197         {  675,   22 }, {  697,   30 }, {  727,   22 }, {  749,   15 },
5198         {  764,  260 } } },
5199 
5200     { { {    0,  160 }, {  160,  130 }, {  290,   46 }, {  336,   18 },
5201         {  354,  121 }, {  475,  123 }, {  598,   55 }, {  653,   24 },
5202         {  677,   45 }, {  722,   55 }, {  777,   31 }, {  808,   15 },
5203         {  823,   19 }, {  842,   24 }, {  866,   15 }, {  881,    9 },
5204         {  890,  134 } } },
5205 
5206     { { {    0,   71 }, {   71,   73 }, {  144,   33 }, {  177,   18 },
5207         {  195,   71 }, {  266,   76 }, {  342,   43 }, {  385,   26 },
5208         {  411,   34 }, {  445,   44 }, {  489,   30 }, {  519,   20 },
5209         {  539,   20 }, {  559,   27 }, {  586,   21 }, {  607,   15 },
5210         {  622,  402 } } },
5211 
5212     { { {    0,   48 }, {   48,   60 }, {  108,   32 }, {  140,   19 },
5213         {  159,   58 }, {  217,   68 }, {  285,   42 }, {  327,   27 },
5214         {  354,   31 }, {  385,   42 }, {  427,   30 }, {  457,   21 },
5215         {  478,   19 }, {  497,   27 }, {  524,   21 }, {  545,   16 },
5216         {  561,  463 } } },
5217 
5218     { { {    0,  138 }, {  138,  109 }, {  247,   43 }, {  290,   18 },
5219         {  308,  111 }, {  419,  112 }, {  531,   53 }, {  584,   25 },
5220         {  609,   46 }, {  655,   55 }, {  710,   32 }, {  742,   17 },
5221         {  759,   21 }, {  780,   27 }, {  807,   18 }, {  825,   11 },
5222         {  836,  188 } } },
5223 
5224     { { {    0,   16 }, {   16,   24 }, {   40,   22 }, {   62,   17 },
5225         {   79,   24 }, {  103,   36 }, {  139,   31 }, {  170,   25 },
5226         {  195,   20 }, {  215,   30 }, {  245,   25 }, {  270,   20 },
5227         {  290,   15 }, {  305,   22 }, {  327,   19 }, {  346,   16 },
5228         {  362,  662 } } },
5229 
5230     { { {    0,  579 }, {  579,  150 }, {  729,   12 }, {  741,    2 },
5231         {  743,  154 }, {  897,   73 }, {  970,   10 }, {  980,    2 },
5232         {  982,   14 }, {  996,   11 }, { 1007,    3 }, { 1010,    1 },
5233         { 1011,    3 }, { 1014,    3 }, { 1017,    1 }, { 1018,    1 },
5234         { 1019,    5 } } },
5235 
5236     { { {    0,  398 }, {  398,  184 }, {  582,   25 }, {  607,    5 },
5237         {  612,  176 }, {  788,  114 }, {  902,   23 }, {  925,    6 },
5238         {  931,   25 }, {  956,   23 }, {  979,    8 }, {  987,    3 },
5239         {  990,    6 }, {  996,    6 }, { 1002,    3 }, { 1005,    2 },
5240         { 1007,   17 } } },
5241 
5242     { { {    0,   13 }, {   13,   21 }, {   34,   18 }, {   52,   11 },
5243         {   63,   20 }, {   83,   29 }, {  112,   22 }, {  134,   15 },
5244         {  149,   14 }, {  163,   20 }, {  183,   16 }, {  199,   12 },
5245         {  211,   10 }, {  221,   14 }, {  235,   12 }, {  247,   10 },
5246         {  257,  767 } } },
5247 
5248     { { {    0,  281 }, {  281,  183 }, {  464,   37 }, {  501,    9 },
5249         {  510,  171 }, {  681,  139 }, {  820,   37 }, {  857,   10 },
5250         {  867,   35 }, {  902,   36 }, {  938,   15 }, {  953,    6 },
5251         {  959,    9 }, {  968,   10 }, {  978,    6 }, {  984,    3 },
5252         {  987,   37 } } },
5253 
5254     { { {    0,  198 }, {  198,  164 }, {  362,   46 }, {  408,   13 },
5255         {  421,  154 }, {  575,  147 }, {  722,   51 }, {  773,   16 },
5256         {  789,   43 }, {  832,   49 }, {  881,   24 }, {  905,   10 },
5257         {  915,   13 }, {  928,   16 }, {  944,   10 }, {  954,    5 },
5258         {  959,   65 } } },
5259 
5260     { { {    0,    1 }, {    1,    1 }, {    2,   93 }, {   95,   44 },
5261         {  139,    1 }, {  140,    1 }, {  141,   72 }, {  213,   38 },
5262         {  251,   86 }, {  337,   70 }, {  407,   43 }, {  450,   25 },
5263         {  475,   40 }, {  515,   36 }, {  551,   25 }, {  576,   16 },
5264         {  592,  432 } } },
5265 
5266     { { {    0,  133 }, {  133,  141 }, {  274,   64 }, {  338,   28 },
5267         {  366,  117 }, {  483,  122 }, {  605,   59 }, {  664,   27 },
5268         {  691,   39 }, {  730,   48 }, {  778,   29 }, {  807,   15 },
5269         {  822,   15 }, {  837,   20 }, {  857,   13 }, {  870,    8 },
5270         {  878,  146 } } },
5271 
5272     { { {    0,  128 }, {  128,  125 }, {  253,   49 }, {  302,   18 },
5273         {  320,  123 }, {  443,  134 }, {  577,   59 }, {  636,   23 },
5274         {  659,   49 }, {  708,   59 }, {  767,   32 }, {  799,   15 },
5275         {  814,   19 }, {  833,   24 }, {  857,   15 }, {  872,    9 },
5276         {  881,  143 } } },
5277 
5278     { { {    0,    1 }, {    1,    1 }, {    2,   23 }, {   25,   17 },
5279         {   42,    1 }, {   43,    1 }, {   44,   23 }, {   67,   18 },
5280         {   85,   20 }, {  105,   21 }, {  126,   18 }, {  144,   15 },
5281         {  159,   15 }, {  174,   17 }, {  191,   14 }, {  205,   12 },
5282         {  217,  807 } } },
5283 
5284     { { {    0,   70 }, {   70,   96 }, {  166,   63 }, {  229,   38 },
5285         {  267,   89 }, {  356,  112 }, {  468,   65 }, {  533,   36 },
5286         {  569,   37 }, {  606,   47 }, {  653,   32 }, {  685,   20 },
5287         {  705,   17 }, {  722,   23 }, {  745,   17 }, {  762,   12 },
5288         {  774,  250 } } },
5289 
5290     { { {    0,   55 }, {   55,   75 }, {  130,   45 }, {  175,   25 },
5291         {  200,   68 }, {  268,   90 }, {  358,   58 }, {  416,   33 },
5292         {  449,   39 }, {  488,   54 }, {  542,   39 }, {  581,   25 },
5293         {  606,   22 }, {  628,   31 }, {  659,   24 }, {  683,   16 },
5294         {  699,  325 } } },
5295 
5296     { { {    0,    1 }, {    1,    2 }, {    3,    2 }, {    5,    2 },
5297         {    7,    2 }, {    9,    2 }, {   11,    2 }, {   13,    2 },
5298         {   15,    2 }, {   17,    2 }, {   19,    2 }, {   21,    2 },
5299         {   23,    2 }, {   25,    2 }, {   27,    2 }, {   29,    2 },
5300         {   31,  993 } } },
5301 
5302     { { {    0,   34 }, {   34,   51 }, {   85,   38 }, {  123,   24 },
5303         {  147,   49 }, {  196,   69 }, {  265,   52 }, {  317,   35 },
5304         {  352,   34 }, {  386,   47 }, {  433,   37 }, {  470,   27 },
5305         {  497,   21 }, {  518,   31 }, {  549,   25 }, {  574,   19 },
5306         {  593,  431 } } },
5307 
5308     { { {    0,   30 }, {   30,   43 }, {   73,   32 }, {  105,   22 },
5309         {  127,   43 }, {  170,   59 }, {  229,   45 }, {  274,   31 },
5310         {  305,   30 }, {  335,   42 }, {  377,   34 }, {  411,   25 },
5311         {  436,   19 }, {  455,   28 }, {  483,   23 }, {  506,   18 },
5312         {  524,  500 } } },
5313 
5314     { { {    0,    9 }, {    9,   15 }, {   24,   14 }, {   38,   13 },
5315         {   51,   14 }, {   65,   22 }, {   87,   21 }, {  108,   18 },
5316         {  126,   13 }, {  139,   20 }, {  159,   18 }, {  177,   16 },
5317         {  193,   11 }, {  204,   17 }, {  221,   15 }, {  236,   14 },
5318         {  250,  774 } } },
5319 
5320     { { {    0,   30 }, {   30,   44 }, {   74,   31 }, {  105,   20 },
5321         {  125,   41 }, {  166,   58 }, {  224,   42 }, {  266,   28 },
5322         {  294,   28 }, {  322,   39 }, {  361,   30 }, {  391,   22 },
5323         {  413,   18 }, {  431,   26 }, {  457,   21 }, {  478,   16 },
5324         {  494,  530 } } },
5325 
5326     { { {    0,   15 }, {   15,   23 }, {   38,   20 }, {   58,   15 },
5327         {   73,   22 }, {   95,   33 }, {  128,   28 }, {  156,   22 },
5328         {  178,   18 }, {  196,   26 }, {  222,   23 }, {  245,   18 },
5329         {  263,   13 }, {  276,   20 }, {  296,   18 }, {  314,   15 },
5330         {  329,  695 } } },
5331 
5332     { { {    0,   11 }, {   11,   17 }, {   28,   16 }, {   44,   13 },
5333         {   57,   17 }, {   74,   26 }, {  100,   23 }, {  123,   19 },
5334         {  142,   15 }, {  157,   22 }, {  179,   20 }, {  199,   17 },
5335         {  216,   12 }, {  228,   18 }, {  246,   16 }, {  262,   14 },
5336         {  276,  748 } } },
5337 
5338     { { {    0,  448 }, {  448,  171 }, {  619,   20 }, {  639,    4 },
5339         {  643,  178 }, {  821,  105 }, {  926,   18 }, {  944,    4 },
5340         {  948,   23 }, {  971,   20 }, {  991,    7 }, {  998,    2 },
5341         { 1000,    5 }, { 1005,    5 }, { 1010,    2 }, { 1012,    1 },
5342         { 1013,   11 } } },
5343 
5344     { { {    0,  332 }, {  332,  188 }, {  520,   29 }, {  549,    6 },
5345         {  555,  186 }, {  741,  133 }, {  874,   29 }, {  903,    7 },
5346         {  910,   30 }, {  940,   30 }, {  970,   11 }, {  981,    4 },
5347         {  985,    6 }, {  991,    7 }, {  998,    4 }, { 1002,    2 },
5348         { 1004,   20 } } },
5349 
5350     { { {    0,    8 }, {    8,   13 }, {   21,   13 }, {   34,   11 },
5351         {   45,   13 }, {   58,   20 }, {   78,   18 }, {   96,   16 },
5352         {  112,   12 }, {  124,   17 }, {  141,   16 }, {  157,   13 },
5353         {  170,   10 }, {  180,   14 }, {  194,   13 }, {  207,   12 },
5354         {  219,  805 } } },
5355 
5356     { { {    0,  239 }, {  239,  176 }, {  415,   42 }, {  457,   11 },
5357         {  468,  163 }, {  631,  145 }, {  776,   44 }, {  820,   13 },
5358         {  833,   39 }, {  872,   42 }, {  914,   19 }, {  933,    7 },
5359         {  940,   11 }, {  951,   13 }, {  964,    7 }, {  971,    4 },
5360         {  975,   49 } } },
5361 
5362     { { {    0,  165 }, {  165,  145 }, {  310,   49 }, {  359,   16 },
5363         {  375,  138 }, {  513,  139 }, {  652,   55 }, {  707,   20 },
5364         {  727,   47 }, {  774,   54 }, {  828,   28 }, {  856,   12 },
5365         {  868,   16 }, {  884,   20 }, {  904,   12 }, {  916,    7 },
5366         {  923,  101 } } },
5367 
5368     { { {    0,    3 }, {    3,    5 }, {    8,    5 }, {   13,    5 },
5369         {   18,    5 }, {   23,    7 }, {   30,    7 }, {   37,    7 },
5370         {   44,    4 }, {   48,    7 }, {   55,    7 }, {   62,    6 },
5371         {   68,    4 }, {   72,    6 }, {   78,    6 }, {   84,    6 },
5372         {   90,  934 } } },
5373 
5374     { { {    0,  115 }, {  115,  122 }, {  237,   52 }, {  289,   22 },
5375         {  311,  111 }, {  422,  125 }, {  547,   61 }, {  608,   27 },
5376         {  635,   45 }, {  680,   57 }, {  737,   34 }, {  771,   17 },
5377         {  788,   19 }, {  807,   25 }, {  832,   17 }, {  849,   10 },
5378         {  859,  165 } } },
5379 
5380     { { {    0,  107 }, {  107,  114 }, {  221,   51 }, {  272,   21 },
5381         {  293,  106 }, {  399,  122 }, {  521,   61 }, {  582,   28 },
5382         {  610,   46 }, {  656,   58 }, {  714,   35 }, {  749,   18 },
5383         {  767,   20 }, {  787,   26 }, {  813,   18 }, {  831,   11 },
5384         {  842,  182 } } },
5385 
5386     { { {    0,    6 }, {    6,   10 }, {   16,   10 }, {   26,    9 },
5387         {   35,   10 }, {   45,   15 }, {   60,   15 }, {   75,   14 },
5388         {   89,    9 }, {   98,   14 }, {  112,   13 }, {  125,   12 },
5389         {  137,    8 }, {  145,   12 }, {  157,   11 }, {  168,   10 },
5390         {  178,  846 } } },
5391 
5392     { { {    0,   72 }, {   72,   88 }, {  160,   50 }, {  210,   26 },
5393         {  236,   84 }, {  320,  102 }, {  422,   60 }, {  482,   32 },
5394         {  514,   41 }, {  555,   53 }, {  608,   36 }, {  644,   21 },
5395         {  665,   20 }, {  685,   27 }, {  712,   20 }, {  732,   13 },
5396         {  745,  279 } } },
5397 
5398     { { {    0,   45 }, {   45,   63 }, {  108,   45 }, {  153,   30 },
5399         {  183,   61 }, {  244,   83 }, {  327,   58 }, {  385,   36 },
5400         {  421,   34 }, {  455,   47 }, {  502,   34 }, {  536,   23 },
5401         {  559,   19 }, {  578,   27 }, {  605,   21 }, {  626,   15 },
5402         {  641,  383 } } },
5403 
5404     { { {    0,    1 }, {    1,    1 }, {    2,    7 }, {    9,    7 },
5405         {   16,    1 }, {   17,    1 }, {   18,    8 }, {   26,    8 },
5406         {   34,    6 }, {   40,    8 }, {   48,    7 }, {   55,    7 },
5407         {   62,    6 }, {   68,    7 }, {   75,    7 }, {   82,    6 },
5408         {   88,  936 } } },
5409 
5410     { { {    0,   29 }, {   29,   44 }, {   73,   35 }, {  108,   24 },
5411         {  132,   42 }, {  174,   62 }, {  236,   48 }, {  284,   34 },
5412         {  318,   30 }, {  348,   43 }, {  391,   35 }, {  426,   26 },
5413         {  452,   19 }, {  471,   29 }, {  500,   24 }, {  524,   19 },
5414         {  543,  481 } } },
5415 
5416     { { {    0,   20 }, {   20,   31 }, {   51,   25 }, {   76,   17 },
5417         {   93,   30 }, {  123,   43 }, {  166,   34 }, {  200,   25 },
5418         {  225,   22 }, {  247,   32 }, {  279,   26 }, {  305,   21 },
5419         {  326,   16 }, {  342,   23 }, {  365,   20 }, {  385,   16 },
5420         {  401,  623 } } },
5421 
5422     { { {    0,  742 }, {  742,  103 }, {  845,    5 }, {  850,    1 },
5423         {  851,  108 }, {  959,   38 }, {  997,    4 }, { 1001,    1 },
5424         { 1002,    7 }, { 1009,    5 }, { 1014,    2 }, { 1016,    1 },
5425         { 1017,    2 }, { 1019,    1 }, { 1020,    1 }, { 1021,    1 },
5426         { 1022,    2 } } },
5427 
5428     { { {    0,   42 }, {   42,   52 }, {   94,   27 }, {  121,   16 },
5429         {  137,   49 }, {  186,   58 }, {  244,   36 }, {  280,   23 },
5430         {  303,   27 }, {  330,   36 }, {  366,   26 }, {  392,   18 },
5431         {  410,   17 }, {  427,   24 }, {  451,   19 }, {  470,   14 },
5432         {  484,  540 } } },
5433 
5434     { { {    0,   13 }, {   13,   20 }, {   33,   18 }, {   51,   15 },
5435         {   66,   19 }, {   85,   29 }, {  114,   26 }, {  140,   21 },
5436         {  161,   17 }, {  178,   25 }, {  203,   22 }, {  225,   18 },
5437         {  243,   13 }, {  256,   19 }, {  275,   17 }, {  292,   15 },
5438         {  307,  717 } } },
5439 
5440     { { {    0,  501 }, {  501,  169 }, {  670,   19 }, {  689,    4 },
5441         {  693,  155 }, {  848,   88 }, {  936,   16 }, {  952,    4 },
5442         {  956,   19 }, {  975,   16 }, {  991,    6 }, {  997,    2 },
5443         {  999,    5 }, { 1004,    4 }, { 1008,    2 }, { 1010,    1 },
5444         { 1011,   13 } } },
5445 
5446     { { {    0,  445 }, {  445,  136 }, {  581,   22 }, {  603,    6 },
5447         {  609,  158 }, {  767,   98 }, {  865,   23 }, {  888,    7 },
5448         {  895,   31 }, {  926,   28 }, {  954,   10 }, {  964,    4 },
5449         {  968,    9 }, {  977,    9 }, {  986,    5 }, {  991,    2 },
5450         {  993,   31 } } },
5451 
5452     { { {    0,  285 }, {  285,  157 }, {  442,   37 }, {  479,   10 },
5453         {  489,  161 }, {  650,  129 }, {  779,   39 }, {  818,   12 },
5454         {  830,   40 }, {  870,   42 }, {  912,   18 }, {  930,    7 },
5455         {  937,   12 }, {  949,   14 }, {  963,    8 }, {  971,    4 },
5456         {  975,   49 } } },
5457 
5458     { { {    0,  349 }, {  349,  179 }, {  528,   33 }, {  561,    8 },
5459         {  569,  162 }, {  731,  121 }, {  852,   31 }, {  883,    9 },
5460         {  892,   31 }, {  923,   30 }, {  953,   12 }, {  965,    5 },
5461         {  970,    8 }, {  978,    9 }, {  987,    5 }, {  992,    2 },
5462         {  994,   30 } } },
5463 
5464     { { {    0,  199 }, {  199,  156 }, {  355,   47 }, {  402,   15 },
5465         {  417,  146 }, {  563,  137 }, {  700,   50 }, {  750,   17 },
5466         {  767,   44 }, {  811,   49 }, {  860,   24 }, {  884,   10 },
5467         {  894,   15 }, {  909,   17 }, {  926,   10 }, {  936,    6 },
5468         {  942,   82 } } },
5469 
5470     { { {    0,  141 }, {  141,  134 }, {  275,   50 }, {  325,   18 },
5471         {  343,  128 }, {  471,  135 }, {  606,   58 }, {  664,   22 },
5472         {  686,   48 }, {  734,   57 }, {  791,   31 }, {  822,   14 },
5473         {  836,   18 }, {  854,   23 }, {  877,   14 }, {  891,    8 },
5474         {  899,  125 } } },
5475 
5476     { { {    0,  243 }, {  243,  194 }, {  437,   56 }, {  493,   17 },
5477         {  510,  139 }, {  649,  126 }, {  775,   45 }, {  820,   16 },
5478         {  836,   33 }, {  869,   36 }, {  905,   18 }, {  923,    8 },
5479         {  931,   10 }, {  941,   12 }, {  953,    7 }, {  960,    4 },
5480         {  964,   60 } } },
5481 
5482     { { {    0,   91 }, {   91,  106 }, {  197,   51 }, {  248,   23 },
5483         {  271,   99 }, {  370,  117 }, {  487,   63 }, {  550,   30 },
5484         {  580,   45 }, {  625,   59 }, {  684,   37 }, {  721,   20 },
5485         {  741,   20 }, {  761,   27 }, {  788,   19 }, {  807,   12 },
5486         {  819,  205 } } },
5487 
5488     { { {    0,  107 }, {  107,   94 }, {  201,   41 }, {  242,   20 },
5489         {  262,   92 }, {  354,   97 }, {  451,   52 }, {  503,   28 },
5490         {  531,   42 }, {  573,   53 }, {  626,   34 }, {  660,   20 },
5491         {  680,   21 }, {  701,   29 }, {  730,   21 }, {  751,   14 },
5492         {  765,  259 } } },
5493 
5494     { { {    0,  168 }, {  168,  171 }, {  339,   68 }, {  407,   25 },
5495         {  432,  121 }, {  553,  123 }, {  676,   55 }, {  731,   24 },
5496         {  755,   34 }, {  789,   41 }, {  830,   24 }, {  854,   12 },
5497         {  866,   13 }, {  879,   16 }, {  895,   11 }, {  906,    6 },
5498         {  912,  112 } } },
5499 
5500     { { {    0,   67 }, {   67,   80 }, {  147,   44 }, {  191,   23 },
5501         {  214,   76 }, {  290,   94 }, {  384,   57 }, {  441,   31 },
5502         {  472,   41 }, {  513,   54 }, {  567,   37 }, {  604,   23 },
5503         {  627,   21 }, {  648,   30 }, {  678,   22 }, {  700,   15 },
5504         {  715,  309 } } },
5505 
5506     { { {    0,   46 }, {   46,   63 }, {  109,   39 }, {  148,   23 },
5507         {  171,   58 }, {  229,   78 }, {  307,   52 }, {  359,   32 },
5508         {  391,   36 }, {  427,   49 }, {  476,   37 }, {  513,   24 },
5509         {  537,   21 }, {  558,   30 }, {  588,   24 }, {  612,   17 },
5510         {  629,  395 } } },
5511 
5512     { { {    0,  848 }, {  848,   70 }, {  918,    2 }, {  920,    1 },
5513         {  921,   75 }, {  996,   16 }, { 1012,    1 }, { 1013,    1 },
5514         { 1014,    2 }, { 1016,    1 }, { 1017,    1 }, { 1018,    1 },
5515         { 1019,    1 }, { 1020,    1 }, { 1021,    1 }, { 1022,    1 },
5516         { 1023,    1 } } },
5517 
5518     { { {    0,   36 }, {   36,   52 }, {   88,   35 }, {  123,   22 },
5519         {  145,   48 }, {  193,   67 }, {  260,   48 }, {  308,   32 },
5520         {  340,   32 }, {  372,   45 }, {  417,   35 }, {  452,   24 },
5521         {  476,   20 }, {  496,   29 }, {  525,   23 }, {  548,   17 },
5522         {  565,  459 } } },
5523 
5524     { { {    0,   24 }, {   24,   37 }, {   61,   29 }, {   90,   20 },
5525         {  110,   35 }, {  145,   51 }, {  196,   41 }, {  237,   29 },
5526         {  266,   26 }, {  292,   38 }, {  330,   31 }, {  361,   24 },
5527         {  385,   18 }, {  403,   27 }, {  430,   23 }, {  453,   18 },
5528         {  471,  553 } } },
5529 
5530     { { {    0,   85 }, {   85,   97 }, {  182,   48 }, {  230,   23 },
5531         {  253,   91 }, {  344,  110 }, {  454,   61 }, {  515,   30 },
5532         {  545,   45 }, {  590,   58 }, {  648,   37 }, {  685,   21 },
5533         {  706,   21 }, {  727,   29 }, {  756,   20 }, {  776,   13 },
5534         {  789,  235 } } },
5535 
5536     { { {    0,   22 }, {   22,   33 }, {   55,   27 }, {   82,   20 },
5537         {  102,   33 }, {  135,   48 }, {  183,   39 }, {  222,   30 },
5538         {  252,   26 }, {  278,   37 }, {  315,   30 }, {  345,   23 },
5539         {  368,   17 }, {  385,   25 }, {  410,   21 }, {  431,   17 },
5540         {  448,  576 } } },
5541 
5542     { { {    0,    1 }, {    1,    1 }, {    2,   54 }, {   56,   33 },
5543         {   89,    1 }, {   90,    1 }, {   91,   49 }, {  140,   32 },
5544         {  172,   49 }, {  221,   47 }, {  268,   35 }, {  303,   25 },
5545         {  328,   30 }, {  358,   30 }, {  388,   24 }, {  412,   18 },
5546         {  430,  594 } } },
5547 
5548     { { {    0,   45 }, {   45,   64 }, {  109,   43 }, {  152,   25 },
5549         {  177,   62 }, {  239,   81 }, {  320,   56 }, {  376,   35 },
5550         {  411,   37 }, {  448,   51 }, {  499,   38 }, {  537,   26 },
5551         {  563,   22 }, {  585,   31 }, {  616,   24 }, {  640,   18 },
5552         {  658,  366 } } },
5553 
5554     { { {    0,  247 }, {  247,  148 }, {  395,   38 }, {  433,   12 },
5555         {  445,  154 }, {  599,  130 }, {  729,   42 }, {  771,   14 },
5556         {  785,   44 }, {  829,   46 }, {  875,   21 }, {  896,    9 },
5557         {  905,   15 }, {  920,   17 }, {  937,    9 }, {  946,    5 },
5558         {  951,   73 } } },
5559 
5560     { { {    0,  231 }, {  231,  136 }, {  367,   41 }, {  408,   15 },
5561         {  423,  134 }, {  557,  119 }, {  676,   47 }, {  723,   19 },
5562         {  742,   44 }, {  786,   49 }, {  835,   25 }, {  860,   12 },
5563         {  872,   17 }, {  889,   20 }, {  909,   12 }, {  921,    7 },
5564         {  928,   96 } } }
5565 
5566 };
5567 
5568 const uint16_t lc3_spectrum_bits[][17] = {
5569 
5570     { 20480, 20480,  5220,  9042, 20480, 20480,  6619,  9892,
5571        5289,  6619,  9105, 11629,  8982,  9892, 11629, 13677,  4977 },
5572 
5573     { 11940, 10854, 12109, 13677, 10742,  9812, 11090, 12288,
5574       11348, 10240, 11348, 12683, 12109, 10854, 11629, 12902,  1197 },
5575 
5576     {  7886,  7120,  8982, 10970,  7496,  6815,  8334, 10150,
5577        9437,  8535,  9656, 11216, 11348, 10431, 11348, 12479,  4051 },
5578 
5579     {  5485,  6099,  9168, 11940,  6311,  6262,  8640, 11090,
5580        9233,  8640, 10334, 12479, 11781, 11090, 12479, 13988,  6009 },
5581 
5582     {  7886,  7804, 10150, 11940,  7886,  7685,  9368, 10854,
5583       10061,  9300, 10431, 11629, 11629, 10742, 11485, 12479,  2763 },
5584 
5585     {  9042,  8383, 10240, 11781,  8483,  8013,  9437, 10742,
5586       10334,  9437, 10431, 11485, 11781, 10742, 11485, 12288,  2346 },
5587 
5588     {  5922,  6619,  9368, 11940,  6566,  6539,  8750, 10970,
5589        9168,  8640, 10240, 12109, 11485, 10742, 11940, 13396,  5009 },
5590 
5591     { 12288, 11090, 11348, 12109, 11090,  9892, 10334, 10970,
5592       11629, 10431, 10970, 11629, 12479, 11348, 11781, 12288,  1289 },
5593 
5594     {  1685,  5676, 13138, 18432,  5598,  7804, 13677, 18432,
5595       12683, 13396, 17234, 20480, 17234, 17234, 20480, 20480, 15725 },
5596 
5597     {  2793,  5072, 10970, 15725,  5204,  6487, 11216, 15186,
5598       10970, 11216, 14336, 17234, 15186, 15186, 17234, 18432, 12109 },
5599 
5600     { 12902, 11485, 11940, 13396, 11629, 10531, 11348, 12479,
5601       12683, 11629, 12288, 13138, 13677, 12683, 13138, 13677,   854 },
5602 
5603     {  3821,  5088,  9812, 13988,  5289,  5901,  9812, 13677,
5604        9976,  9892, 12479, 15186, 13988, 13677, 15186, 17234,  9812 },
5605 
5606     {  4856,  5412,  9168, 12902,  5598,  5736,  8863, 12288,
5607        9368,  8982, 11090, 13677, 12902, 12288, 13677, 15725,  8147 },
5608 
5609     { 20480, 20480,  7088,  9300, 20480, 20480,  7844,  9733,
5610        7320,  7928,  9368, 10970,  9581,  9892, 10970, 12288,  2550 },
5611 
5612     {  6031,  5859,  8192, 10635,  6410,  6286,  8433, 10742,
5613        9656,  9042, 10531, 12479, 12479, 11629, 12902, 14336,  5756 },
5614 
5615     {  6144,  6215,  8982, 11940,  6262,  6009,  8433, 11216,
5616        8982,  8433, 10240, 12479, 11781, 11090, 12479, 13988,  5817 },
5617 
5618     { 20480, 20480, 11216, 12109, 20480, 20480, 11216, 11940,
5619       11629, 11485, 11940, 12479, 12479, 12109, 12683, 13138,   704 },
5620 
5621     {  7928,  6994,  8239,  9733,  7218,  6539,  8147,  9892,
5622        9812,  9105, 10240, 11629, 12109, 11216, 12109, 13138,  4167 },
5623 
5624     {  8640,  7724,  9233, 10970,  8013,  7185,  8483, 10150,
5625        9656,  8694,  9656, 10970, 11348, 10334, 11090, 12288,  3391 },
5626 
5627     { 20480, 18432, 18432, 18432, 18432, 18432, 18432, 18432,
5628       18432, 18432, 18432, 18432, 18432, 18432, 18432, 18432,    91 },
5629 
5630     { 10061,  8863,  9733, 11090,  8982,  7970,  8806,  9976,
5631       10061,  9105,  9812, 10742, 11485, 10334, 10970, 11781,  2557 },
5632 
5633     { 10431,  9368, 10240, 11348,  9368,  8433,  9233, 10334,
5634       10431,  9437, 10061, 10970, 11781, 10635, 11216, 11940,  2119 },
5635 
5636     { 13988, 12479, 12683, 12902, 12683, 11348, 11485, 11940,
5637       12902, 11629, 11940, 12288, 13396, 12109, 12479, 12683,   828 },
5638 
5639     { 10431,  9300, 10334, 11629,  9508,  8483,  9437, 10635,
5640       10635,  9656, 10431, 11348, 11940, 10854, 11485, 12288,  1946 },
5641 
5642     { 12479, 11216, 11629, 12479, 11348, 10150, 10635, 11348,
5643       11940, 10854, 11216, 11940, 12902, 11629, 11940, 12479,  1146 },
5644 
5645     { 13396, 12109, 12288, 12902, 12109, 10854, 11216, 11781,
5646       12479, 11348, 11629, 12109, 13138, 11940, 12288, 12683,   928 },
5647 
5648     {  2443,  5289, 11629, 16384,  5170,  6730, 11940, 16384,
5649       11216, 11629, 14731, 18432, 15725, 15725, 18432, 20480, 13396 },
5650 
5651     {  3328,  5009, 10531, 15186,  5040,  6031, 10531, 14731,
5652       10431, 10431, 13396, 16384, 15186, 14731, 16384, 18432, 11629 },
5653 
5654     { 14336, 12902, 12902, 13396, 12902, 11629, 11940, 12288,
5655       13138, 12109, 12288, 12902, 13677, 12683, 12902, 13138,   711 },
5656 
5657     {  4300,  5204,  9437, 13396,  5430,  5776,  9300, 12902,
5658        9656,  9437, 11781, 14731, 13396, 12902, 14731, 16384,  8982 },
5659 
5660     {  5394,  5776,  8982, 12288,  5922,  5901,  8640, 11629,
5661        9105,  8694, 10635, 13138, 12288, 11629, 13138, 14731,  6844 },
5662 
5663     { 17234, 15725, 15725, 15725, 15725, 14731, 14731, 14731,
5664       16384, 14731, 14731, 15186, 16384, 15186, 15186, 15186,   272 },
5665 
5666     {  6461,  6286,  8806, 11348,  6566,  6215,  8334, 10742,
5667        9233,  8535, 10061, 12109, 11781, 10970, 12109, 13677,  5394 },
5668 
5669     {  6674,  6487,  8863, 11485,  6702,  6286,  8334, 10635,
5670        9168,  8483,  9976, 11940, 11629, 10854, 11940, 13396,  5105 },
5671 
5672     { 15186, 13677, 13677, 13988, 13677, 12479, 12479, 12683,
5673       13988, 12683, 12902, 13138, 14336, 13138, 13396, 13677,   565 },
5674 
5675     {  7844,  7252,  8922, 10854,  7389,  6815,  8383, 10240,
5676        9508,  8750,  9892, 11485, 11629, 10742, 11629, 12902,  3842 },
5677 
5678     {  9233,  8239,  9233, 10431,  8334,  7424,  8483,  9892,
5679       10061,  9105, 10061, 11216, 11781, 10742, 11485, 12479,  2906 },
5680 
5681     { 20480, 20480, 14731, 14731, 20480, 20480, 14336, 14336,
5682       15186, 14336, 14731, 14731, 15186, 14731, 14731, 15186,   266 },
5683 
5684     { 10531,  9300,  9976, 11090,  9437,  8286,  9042, 10061,
5685       10431,  9368,  9976, 10854, 11781, 10531, 11090, 11781,  2233 },
5686 
5687     { 11629, 10334, 10970, 12109, 10431,  9368, 10061, 10970,
5688       11348, 10240, 10854, 11485, 12288, 11216, 11629, 12288,  1469 },
5689 
5690     {   952,  6787, 15725, 20480,  6646,  9733, 16384, 20480,
5691       14731, 15725, 18432, 20480, 18432, 20480, 20480, 20480, 18432 },
5692 
5693     {  9437,  8806, 10742, 12288,  8982,  8483,  9892, 11216,
5694       10742,  9892, 10854, 11940, 12109, 11090, 11781, 12683,  1891 },
5695 
5696     { 12902, 11629, 11940, 12479, 11781, 10531, 10854, 11485,
5697       12109, 10970, 11348, 11940, 12902, 11781, 12109, 12479,  1054 },
5698 
5699     {  2113,  5323, 11781, 16384,  5579,  7252, 12288, 16384,
5700       11781, 12288, 15186, 18432, 15725, 16384, 18432, 20480, 12902 },
5701 
5702     {  2463,  5965, 11348, 15186,  5522,  6934, 11216, 14731,
5703       10334, 10635, 13677, 16384, 13988, 13988, 15725, 18432, 10334 },
5704 
5705     {  3779,  5541,  9812, 13677,  5467,  6122,  9656, 13138,
5706        9581,  9437, 11940, 14731, 13138, 12683, 14336, 16384,  8982 },
5707 
5708     {  3181,  5154, 10150, 14336,  5448,  6311, 10334, 13988,
5709       10334, 10431, 13138, 15725, 14336, 13988, 15725, 18432, 10431 },
5710 
5711     {  4841,  5560,  9105, 12479,  5756,  5944,  8922, 12109,
5712        9300,  8982, 11090, 13677, 12479, 12109, 13677, 15186,  7460 },
5713 
5714     {  5859,  6009,  8922, 11940,  6144,  5987,  8483, 11348,
5715        9042,  8535, 10334, 12683, 11940, 11216, 12683, 14336,  6215 },
5716 
5717     {  4250,  4916,  8587, 12109,  5901,  6191,  9233, 12288,
5718       10150,  9892, 11940, 14336, 13677, 13138, 14731, 16384,  8383 },
5719 
5720     {  7153,  6702,  8863, 11216,  6904,  6410,  8239, 10431,
5721        9233,  8433,  9812, 11629, 11629, 10742, 11781, 13138,  4753 },
5722 
5723     {  6674,  7057,  9508, 11629,  7120,  6964,  8806, 10635,
5724        9437,  8750, 10061, 11629, 11485, 10531, 11485, 12683,  4062 },
5725 
5726     {  5341,  5289,  8013, 10970,  6311,  6262,  8640, 11090,
5727       10061,  9508, 11090, 13138, 12902, 12288, 13396, 15186,  6539 },
5728 
5729     {  8057,  7533,  9300, 11216,  7685,  7057,  8535, 10334,
5730        9508,  8694,  9812, 11216, 11485, 10431, 11348, 12479,  3541 },
5731 
5732     {  9168,  8239,  9656, 11216,  8483,  7608,  8806, 10240,
5733        9892,  8982,  9812, 11090, 11485, 10431, 11090, 12109,  2815 },
5734 
5735     {   558,  7928, 18432, 20480,  7724, 12288, 20480, 20480,
5736       18432, 20480, 20480, 20480, 20480, 20480, 20480, 20480, 20480 },
5737 
5738     {  9892,  8806,  9976, 11348,  9042,  8057,  9042, 10240,
5739       10240,  9233,  9976, 11090, 11629, 10531, 11216, 12109,  2371 },
5740 
5741     { 11090,  9812, 10531, 11629,  9976,  8863,  9508, 10531,
5742       10854,  9733, 10334, 11090, 11940, 10742, 11216, 11940,  1821 },
5743 
5744     {  7354,  6964,  9042, 11216,  7153,  6592,  8334, 10431,
5745        9233,  8483,  9812, 11485, 11485, 10531, 11629, 12902,  4349 },
5746 
5747     { 11348, 10150, 10742, 11629, 10150,  9042,  9656, 10431,
5748       10854,  9812, 10431, 11216, 12109, 10970, 11485, 12109,  1700 },
5749 
5750     { 20480, 20480,  8694, 10150, 20480, 20480,  8982, 10240,
5751        8982,  9105,  9976, 10970, 10431, 10431, 11090, 11940,  1610 },
5752 
5753     {  9233,  8192,  9368, 10970,  8286,  7496,  8587,  9976,
5754        9812,  8863,  9733, 10854, 11348, 10334, 11090, 11940,  3040 },
5755 
5756     {  4202,  5716,  9733, 13138,  5598,  6099,  9437, 12683,
5757        9300,  9168, 11485, 13988, 12479, 12109, 13988, 15725,  7804 },
5758 
5759     {  4400,  5965,  9508, 12479,  6009,  6360,  9105, 11781,
5760        9300,  8982, 10970, 13138, 12109, 11629, 13138, 14731,  6994 }
5761 
5762 };
5763