10725
|
1 /*
|
|
2 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
|
12527
|
3 ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com
|
|
4 **
|
10725
|
5 ** This program is free software; you can redistribute it and/or modify
|
|
6 ** it under the terms of the GNU General Public License as published by
|
|
7 ** the Free Software Foundation; either version 2 of the License, or
|
|
8 ** (at your option) any later version.
|
12527
|
9 **
|
10725
|
10 ** This program is distributed in the hope that it will be useful,
|
|
11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13 ** GNU General Public License for more details.
|
12527
|
14 **
|
10725
|
15 ** You should have received a copy of the GNU General Public License
|
12527
|
16 ** along with this program; if not, write to the Free Software
|
10725
|
17 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
18 **
|
|
19 ** Any non-GPL usage of this software or parts of this software is strictly
|
|
20 ** forbidden.
|
|
21 **
|
|
22 ** Commercial non-GPL licensing of this software is possible.
|
|
23 ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
|
|
24 **
|
12527
|
25 ** $Id: sbr_dct.c,v 1.2 2003/10/03 22:22:27 alex Exp $
|
10725
|
26 **/
|
|
27
|
|
28 #include "common.h"
|
|
29
|
|
30 #ifdef SBR_DEC
|
|
31
|
|
32 #ifdef _MSC_VER
|
|
33 #pragma warning(disable:4305)
|
|
34 #pragma warning(disable:4244)
|
|
35 #endif
|
|
36
|
|
37
|
|
38 #include "sbr_dct.h"
|
|
39
|
|
40 #ifdef SBR_LOW_POWER
|
|
41
|
|
42 void DCT3_32_unscaled(real_t *y, real_t *x)
|
|
43 {
|
|
44 real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
|
|
45 real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
|
|
46 real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
|
|
47 real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
|
|
48 real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50;
|
|
49 real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60;
|
|
50 real_t f61, f62, f63, f64, f65, f66, f67, f68, f69, f70;
|
|
51 real_t f71, f72, f73, f74, f75, f76, f77, f78, f79, f80;
|
|
52 real_t f81, f82, f83, f84, f85, f86, f87, f88, f89, f90;
|
|
53 real_t f91, f92, f93, f94, f95, f96, f97, f98, f99, f100;
|
|
54 real_t f101, f102, f103, f104, f105, f106, f107, f108, f109, f110;
|
|
55 real_t f111, f112, f113, f114, f115, f116, f117, f118, f119, f120;
|
|
56 real_t f121, f122, f123, f124, f125, f126, f127, f128, f129, f130;
|
|
57 real_t f131, f132, f133, f134, f135, f136, f137, f138, f139, f140;
|
|
58 real_t f141, f142, f143, f144, f145, f146, f147, f148, f149, f150;
|
|
59 real_t f151, f152, f153, f154, f155, f156, f157, f158, f159, f160;
|
|
60 real_t f161, f162, f163, f164, f165, f166, f167, f168, f169, f170;
|
|
61 real_t f171, f172, f173, f174, f175, f176, f177, f178, f179, f180;
|
|
62 real_t f181, f182, f183, f184, f185, f186, f187, f188, f189, f190;
|
|
63 real_t f191, f192, f193, f194, f195, f196, f197, f198, f199, f200;
|
|
64 real_t f201, f202, f203, f204, f205, f206, f207, f208, f209, f210;
|
|
65 real_t f211, f212, f213, f214, f215, f216, f217, f218, f219, f220;
|
|
66 real_t f221, f222, f223, f224, f225, f226, f227, f228, f229, f230;
|
|
67 real_t f231, f232, f233, f234, f235, f236, f237, f238, f239, f240;
|
|
68 real_t f241, f242, f243, f244, f245, f246, f247, f248, f249, f250;
|
|
69 real_t f251, f252, f253, f254, f255, f256, f257, f258, f259, f260;
|
|
70 real_t f261, f262, f263, f264, f265, f266, f267, f268, f269, f270;
|
|
71 real_t f271, f272;
|
|
72
|
12527
|
73 f0 = MUL_C(COEF_CONST(0.7071067811865476), x[16]);
|
10725
|
74 f1 = x[0] - f0;
|
|
75 f2 = x[0] + f0;
|
|
76 f3 = x[8] + x[24];
|
12527
|
77 f4 = MUL_C(COEF_CONST(1.3065629648763766), x[8]);
|
|
78 f5 = MUL_C(COEF_CONST((-0.9238795325112866)), f3);
|
|
79 f6 = MUL_C(COEF_CONST((-0.5411961001461967)), x[24]);
|
10725
|
80 f7 = f4 + f5;
|
|
81 f8 = f6 - f5;
|
|
82 f9 = f2 - f8;
|
|
83 f10 = f2 + f8;
|
|
84 f11 = f1 - f7;
|
|
85 f12 = f1 + f7;
|
|
86 f13 = x[4] + x[28];
|
12527
|
87 f14 = MUL_C(COEF_CONST(1.1758756024193588), x[4]);
|
|
88 f15 = MUL_C(COEF_CONST((-0.9807852804032304)), f13);
|
|
89 f16 = MUL_C(COEF_CONST((-0.7856949583871021)), x[28]);
|
10725
|
90 f17 = f14 + f15;
|
|
91 f18 = f16 - f15;
|
|
92 f19 = x[12] + x[20];
|
12527
|
93 f20 = MUL_C(COEF_CONST(1.3870398453221473), x[12]);
|
|
94 f21 = MUL_C(COEF_CONST((-0.8314696123025455)), f19);
|
|
95 f22 = MUL_C(COEF_CONST((-0.2758993792829436)), x[20]);
|
10725
|
96 f23 = f20 + f21;
|
|
97 f24 = f22 - f21;
|
|
98 f25 = f18 - f24;
|
|
99 f26 = f18 + f24;
|
12527
|
100 f27 = MUL_C(COEF_CONST(0.7071067811865476), f25);
|
10725
|
101 f28 = f17 - f23;
|
|
102 f29 = f17 + f23;
|
12527
|
103 f30 = MUL_C(COEF_CONST(0.7071067811865476), f29);
|
10725
|
104 f31 = f27 - f30;
|
|
105 f32 = f27 + f30;
|
|
106 f33 = f10 - f26;
|
|
107 f34 = f10 + f26;
|
|
108 f35 = f12 - f32;
|
|
109 f36 = f12 + f32;
|
|
110 f37 = f11 - f31;
|
|
111 f38 = f11 + f31;
|
|
112 f39 = f9 - f28;
|
|
113 f40 = f9 + f28;
|
|
114 f41 = x[2] + x[30];
|
12527
|
115 f42 = MUL_C(COEF_CONST(1.0932018670017569), x[2]);
|
|
116 f43 = MUL_C(COEF_CONST((-0.9951847266721969)), f41);
|
|
117 f44 = MUL_C(COEF_CONST((-0.8971675863426368)), x[30]);
|
10725
|
118 f45 = f42 + f43;
|
|
119 f46 = f44 - f43;
|
|
120 f47 = x[6] + x[26];
|
12527
|
121 f48 = MUL_C(COEF_CONST(1.2472250129866711), x[6]);
|
|
122 f49 = MUL_C(COEF_CONST((-0.9569403357322089)), f47);
|
|
123 f50 = MUL_C(COEF_CONST((-0.6666556584777469)), x[26]);
|
10725
|
124 f51 = f48 + f49;
|
|
125 f52 = f50 - f49;
|
|
126 f53 = x[10] + x[22];
|
12527
|
127 f54 = MUL_C(COEF_CONST(1.3533180011743526), x[10]);
|
|
128 f55 = MUL_C(COEF_CONST((-0.8819212643483551)), f53);
|
|
129 f56 = MUL_C(COEF_CONST((-0.4105245275223575)), x[22]);
|
10725
|
130 f57 = f54 + f55;
|
|
131 f58 = f56 - f55;
|
|
132 f59 = x[14] + x[18];
|
12527
|
133 f60 = MUL_C(COEF_CONST(1.4074037375263826), x[14]);
|
|
134 f61 = MUL_C(COEF_CONST((-0.7730104533627369)), f59);
|
|
135 f62 = MUL_C(COEF_CONST((-0.1386171691990913)), x[18]);
|
10725
|
136 f63 = f60 + f61;
|
|
137 f64 = f62 - f61;
|
|
138 f65 = f46 - f64;
|
|
139 f66 = f46 + f64;
|
|
140 f67 = f52 - f58;
|
|
141 f68 = f52 + f58;
|
|
142 f69 = f66 - f68;
|
|
143 f70 = f66 + f68;
|
12527
|
144 f71 = MUL_C(COEF_CONST(0.7071067811865476), f69);
|
10725
|
145 f72 = f65 + f67;
|
12527
|
146 f73 = MUL_C(COEF_CONST(1.3065629648763766), f65);
|
|
147 f74 = MUL_C(COEF_CONST((-0.9238795325112866)), f72);
|
|
148 f75 = MUL_C(COEF_CONST((-0.5411961001461967)), f67);
|
10725
|
149 f76 = f73 + f74;
|
|
150 f77 = f75 - f74;
|
|
151 f78 = f45 - f63;
|
|
152 f79 = f45 + f63;
|
|
153 f80 = f51 - f57;
|
|
154 f81 = f51 + f57;
|
|
155 f82 = f79 + f81;
|
12527
|
156 f83 = MUL_C(COEF_CONST(1.3065629648763770), f79);
|
|
157 f84 = MUL_C(COEF_CONST((-0.3826834323650904)), f82);
|
|
158 f85 = MUL_C(COEF_CONST(0.5411961001461961), f81);
|
10725
|
159 f86 = f83 + f84;
|
|
160 f87 = f85 - f84;
|
|
161 f88 = f78 - f80;
|
|
162 f89 = f78 + f80;
|
12527
|
163 f90 = MUL_C(COEF_CONST(0.7071067811865476), f89);
|
10725
|
164 f91 = f77 - f87;
|
|
165 f92 = f77 + f87;
|
|
166 f93 = f71 - f90;
|
|
167 f94 = f71 + f90;
|
|
168 f95 = f76 - f86;
|
|
169 f96 = f76 + f86;
|
|
170 f97 = f34 - f70;
|
|
171 f98 = f34 + f70;
|
|
172 f99 = f36 - f92;
|
|
173 f100 = f36 + f92;
|
|
174 f101 = f38 - f91;
|
|
175 f102 = f38 + f91;
|
|
176 f103 = f40 - f94;
|
|
177 f104 = f40 + f94;
|
|
178 f105 = f39 - f93;
|
|
179 f106 = f39 + f93;
|
|
180 f107 = f37 - f96;
|
|
181 f108 = f37 + f96;
|
|
182 f109 = f35 - f95;
|
|
183 f110 = f35 + f95;
|
|
184 f111 = f33 - f88;
|
|
185 f112 = f33 + f88;
|
|
186 f113 = x[1] + x[31];
|
12527
|
187 f114 = MUL_C(COEF_CONST(1.0478631305325901), x[1]);
|
|
188 f115 = MUL_C(COEF_CONST((-0.9987954562051724)), f113);
|
|
189 f116 = MUL_C(COEF_CONST((-0.9497277818777548)), x[31]);
|
10725
|
190 f117 = f114 + f115;
|
|
191 f118 = f116 - f115;
|
|
192 f119 = x[5] + x[27];
|
12527
|
193 f120 = MUL_C(COEF_CONST(1.2130114330978077), x[5]);
|
|
194 f121 = MUL_C(COEF_CONST((-0.9700312531945440)), f119);
|
|
195 f122 = MUL_C(COEF_CONST((-0.7270510732912803)), x[27]);
|
10725
|
196 f123 = f120 + f121;
|
|
197 f124 = f122 - f121;
|
|
198 f125 = x[9] + x[23];
|
12527
|
199 f126 = MUL_C(COEF_CONST(1.3315443865537255), x[9]);
|
|
200 f127 = MUL_C(COEF_CONST((-0.9039892931234433)), f125);
|
|
201 f128 = MUL_C(COEF_CONST((-0.4764341996931612)), x[23]);
|
10725
|
202 f129 = f126 + f127;
|
|
203 f130 = f128 - f127;
|
|
204 f131 = x[13] + x[19];
|
12527
|
205 f132 = MUL_C(COEF_CONST(1.3989068359730781), x[13]);
|
|
206 f133 = MUL_C(COEF_CONST((-0.8032075314806453)), f131);
|
|
207 f134 = MUL_C(COEF_CONST((-0.2075082269882124)), x[19]);
|
10725
|
208 f135 = f132 + f133;
|
|
209 f136 = f134 - f133;
|
|
210 f137 = x[17] + x[15];
|
12527
|
211 f138 = MUL_C(COEF_CONST(1.4125100802019777), x[17]);
|
|
212 f139 = MUL_C(COEF_CONST((-0.6715589548470187)), f137);
|
|
213 f140 = MUL_C(COEF_CONST(0.0693921705079402), x[15]);
|
10725
|
214 f141 = f138 + f139;
|
|
215 f142 = f140 - f139;
|
|
216 f143 = x[21] + x[11];
|
12527
|
217 f144 = MUL_C(COEF_CONST(1.3718313541934939), x[21]);
|
|
218 f145 = MUL_C(COEF_CONST((-0.5141027441932219)), f143);
|
|
219 f146 = MUL_C(COEF_CONST(0.3436258658070501), x[11]);
|
10725
|
220 f147 = f144 + f145;
|
|
221 f148 = f146 - f145;
|
|
222 f149 = x[25] + x[7];
|
12527
|
223 f150 = MUL_C(COEF_CONST(1.2784339185752409), x[25]);
|
|
224 f151 = MUL_C(COEF_CONST((-0.3368898533922200)), f149);
|
|
225 f152 = MUL_C(COEF_CONST(0.6046542117908008), x[7]);
|
10725
|
226 f153 = f150 + f151;
|
|
227 f154 = f152 - f151;
|
|
228 f155 = x[29] + x[3];
|
12527
|
229 f156 = MUL_C(COEF_CONST(1.1359069844201433), x[29]);
|
|
230 f157 = MUL_C(COEF_CONST((-0.1467304744553624)), f155);
|
|
231 f158 = MUL_C(COEF_CONST(0.8424460355094185), x[3]);
|
10725
|
232 f159 = f156 + f157;
|
|
233 f160 = f158 - f157;
|
|
234 f161 = f118 - f142;
|
|
235 f162 = f118 + f142;
|
|
236 f163 = f117 - f141;
|
|
237 f164 = f117 + f141;
|
|
238 f165 = f124 - f148;
|
|
239 f166 = f124 + f148;
|
|
240 f167 = f123 - f147;
|
|
241 f168 = f123 + f147;
|
|
242 f169 = f130 - f154;
|
|
243 f170 = f130 + f154;
|
|
244 f171 = f129 - f153;
|
|
245 f172 = f129 + f153;
|
|
246 f173 = f136 - f160;
|
|
247 f174 = f136 + f160;
|
|
248 f175 = f135 - f159;
|
|
249 f176 = f135 + f159;
|
|
250 f177 = f161 + f163;
|
12527
|
251 f178 = MUL_C(COEF_CONST(1.1758756024193588), f161);
|
|
252 f179 = MUL_C(COEF_CONST((-0.9807852804032304)), f177);
|
|
253 f180 = MUL_C(COEF_CONST((-0.7856949583871021)), f163);
|
10725
|
254 f181 = f178 + f179;
|
|
255 f182 = f180 - f179;
|
|
256 f183 = f165 + f167;
|
12527
|
257 f184 = MUL_C(COEF_CONST(1.3870398453221475), f165);
|
|
258 f185 = MUL_C(COEF_CONST((-0.5555702330196022)), f183);
|
|
259 f186 = MUL_C(COEF_CONST(0.2758993792829431), f167);
|
10725
|
260 f187 = f184 + f185;
|
|
261 f188 = f186 - f185;
|
|
262 f189 = f169 + f171;
|
12527
|
263 f190 = MUL_C(COEF_CONST(0.7856949583871022), f169);
|
|
264 f191 = MUL_C(COEF_CONST(0.1950903220161283), f189);
|
|
265 f192 = MUL_C(COEF_CONST(1.1758756024193586), f171);
|
10725
|
266 f193 = f190 + f191;
|
|
267 f194 = f192 - f191;
|
|
268 f195 = f173 + f175;
|
12527
|
269 f196 = MUL_C(COEF_CONST((-0.2758993792829430)), f173);
|
|
270 f197 = MUL_C(COEF_CONST(0.8314696123025452), f195);
|
|
271 f198 = MUL_C(COEF_CONST(1.3870398453221475), f175);
|
10725
|
272 f199 = f196 + f197;
|
|
273 f200 = f198 - f197;
|
|
274 f201 = f162 - f170;
|
|
275 f202 = f162 + f170;
|
|
276 f203 = f164 - f172;
|
|
277 f204 = f164 + f172;
|
|
278 f205 = f166 - f174;
|
|
279 f206 = f166 + f174;
|
|
280 f207 = f168 - f176;
|
|
281 f208 = f168 + f176;
|
|
282 f209 = f182 - f194;
|
|
283 f210 = f182 + f194;
|
|
284 f211 = f181 - f193;
|
|
285 f212 = f181 + f193;
|
|
286 f213 = f188 - f200;
|
|
287 f214 = f188 + f200;
|
|
288 f215 = f187 - f199;
|
|
289 f216 = f187 + f199;
|
|
290 f217 = f201 + f203;
|
12527
|
291 f218 = MUL_C(COEF_CONST(1.3065629648763766), f201);
|
|
292 f219 = MUL_C(COEF_CONST((-0.9238795325112866)), f217);
|
|
293 f220 = MUL_C(COEF_CONST((-0.5411961001461967)), f203);
|
10725
|
294 f221 = f218 + f219;
|
|
295 f222 = f220 - f219;
|
|
296 f223 = f205 + f207;
|
12527
|
297 f224 = MUL_C(COEF_CONST(0.5411961001461969), f205);
|
|
298 f225 = MUL_C(COEF_CONST(0.3826834323650898), f223);
|
|
299 f226 = MUL_C(COEF_CONST(1.3065629648763766), f207);
|
10725
|
300 f227 = f224 + f225;
|
|
301 f228 = f226 - f225;
|
|
302 f229 = f209 + f211;
|
12527
|
303 f230 = MUL_C(COEF_CONST(1.3065629648763766), f209);
|
|
304 f231 = MUL_C(COEF_CONST((-0.9238795325112866)), f229);
|
|
305 f232 = MUL_C(COEF_CONST((-0.5411961001461967)), f211);
|
10725
|
306 f233 = f230 + f231;
|
|
307 f234 = f232 - f231;
|
|
308 f235 = f213 + f215;
|
12527
|
309 f236 = MUL_C(COEF_CONST(0.5411961001461969), f213);
|
|
310 f237 = MUL_C(COEF_CONST(0.3826834323650898), f235);
|
|
311 f238 = MUL_C(COEF_CONST(1.3065629648763766), f215);
|
10725
|
312 f239 = f236 + f237;
|
|
313 f240 = f238 - f237;
|
|
314 f241 = f202 - f206;
|
|
315 f242 = f202 + f206;
|
|
316 f243 = f204 - f208;
|
|
317 f244 = f204 + f208;
|
|
318 f245 = f222 - f228;
|
|
319 f246 = f222 + f228;
|
|
320 f247 = f221 - f227;
|
|
321 f248 = f221 + f227;
|
|
322 f249 = f210 - f214;
|
|
323 f250 = f210 + f214;
|
|
324 f251 = f212 - f216;
|
|
325 f252 = f212 + f216;
|
|
326 f253 = f234 - f240;
|
|
327 f254 = f234 + f240;
|
|
328 f255 = f233 - f239;
|
|
329 f256 = f233 + f239;
|
|
330 f257 = f241 - f243;
|
|
331 f258 = f241 + f243;
|
12527
|
332 f259 = MUL_C(COEF_CONST(0.7071067811865474), f257);
|
|
333 f260 = MUL_C(COEF_CONST(0.7071067811865474), f258);
|
10725
|
334 f261 = f245 - f247;
|
|
335 f262 = f245 + f247;
|
12527
|
336 f263 = MUL_C(COEF_CONST(0.7071067811865474), f261);
|
|
337 f264 = MUL_C(COEF_CONST(0.7071067811865474), f262);
|
10725
|
338 f265 = f249 - f251;
|
|
339 f266 = f249 + f251;
|
12527
|
340 f267 = MUL_C(COEF_CONST(0.7071067811865474), f265);
|
|
341 f268 = MUL_C(COEF_CONST(0.7071067811865474), f266);
|
10725
|
342 f269 = f253 - f255;
|
|
343 f270 = f253 + f255;
|
12527
|
344 f271 = MUL_C(COEF_CONST(0.7071067811865474), f269);
|
|
345 f272 = MUL_C(COEF_CONST(0.7071067811865474), f270);
|
10725
|
346 y[31] = f98 - f242;
|
|
347 y[0] = f98 + f242;
|
|
348 y[30] = f100 - f250;
|
|
349 y[1] = f100 + f250;
|
|
350 y[29] = f102 - f254;
|
|
351 y[2] = f102 + f254;
|
|
352 y[28] = f104 - f246;
|
|
353 y[3] = f104 + f246;
|
|
354 y[27] = f106 - f264;
|
|
355 y[4] = f106 + f264;
|
|
356 y[26] = f108 - f272;
|
|
357 y[5] = f108 + f272;
|
|
358 y[25] = f110 - f268;
|
|
359 y[6] = f110 + f268;
|
|
360 y[24] = f112 - f260;
|
|
361 y[7] = f112 + f260;
|
|
362 y[23] = f111 - f259;
|
|
363 y[8] = f111 + f259;
|
|
364 y[22] = f109 - f267;
|
|
365 y[9] = f109 + f267;
|
|
366 y[21] = f107 - f271;
|
|
367 y[10] = f107 + f271;
|
|
368 y[20] = f105 - f263;
|
|
369 y[11] = f105 + f263;
|
|
370 y[19] = f103 - f248;
|
|
371 y[12] = f103 + f248;
|
|
372 y[18] = f101 - f256;
|
|
373 y[13] = f101 + f256;
|
|
374 y[17] = f99 - f252;
|
|
375 y[14] = f99 + f252;
|
|
376 y[16] = f97 - f244;
|
|
377 y[15] = f97 + f244;
|
|
378 }
|
|
379
|
|
380 void DCT2_64_unscaled(real_t *y, real_t *x)
|
|
381 {
|
|
382 int16_t i0;
|
|
383 real_t f2, f3, f4, f5, f6, f7, f8, f9, f10;
|
|
384 real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
|
|
385 real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
|
|
386 real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
|
|
387 real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50;
|
|
388 real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60;
|
|
389 real_t f61, f62, f65, f66, f67, f68, f71, f72, f73, f74;
|
12527
|
390 real_t f75, f76, f77, f78, f79, f80, f81, f82, f83, f85;
|
10725
|
391 real_t f87, f88, f91, f92, f93, f94, f95, f96, f97, f98;
|
|
392 real_t f99, f100, f101, f102, f103, f104, f105, f106, f107, f108;
|
|
393 real_t f109, f110, f111, f112, f113, f114, f115, f116, f117, f118;
|
12527
|
394 real_t f119, f120, f121, f122, f123, f124, f125, f126, f129, f130;
|
|
395 real_t f131, f132, f135, f136, f137, f138, f141, f142, f143, f144;
|
|
396 real_t f147, f148, f149, f150, f151, f152, f153, f154, f155, f156;
|
10725
|
397 real_t f157, f158, f159, f160, f161, f162, f163, f164, f165, f166;
|
|
398 real_t f167, f168, f169, f170, f171, f172, f173, f174, f175, f176;
|
|
399 real_t f177, f178, f179, f180, f181, f182, f183, f184, f185, f186;
|
|
400 real_t f187, f188, f189, f190, f191, f192, f193, f194, f195, f196;
|
|
401 real_t f197, f198, f199, f200, f201, f202, f203, f204, f205, f206;
|
12527
|
402 real_t f207, f208, f209, f210, f211, f212, f213, f214, f215, f216;
|
|
403 real_t f217, f218, f219, f220, f221, f222, f223, f224, f225, f226;
|
|
404 real_t f227, f228, f229, f230, f231, f232, f233, f234, f235, f236;
|
|
405 real_t f237, f238, f239, f240, f241, f242, f243, f244, f245, f246;
|
|
406 real_t f247, f248, f249, f250, f251, f252, f253, f254, f255, f256;
|
|
407 real_t f257, f258, f259, f260, f261, f262, f265, f266, f267, f268;
|
|
408 real_t f271, f272, f273, f274, f277, f278, f279, f280, f283, f284;
|
|
409 real_t f285, f286, f289, f290, f291, f292, f295, f296, f297, f298;
|
|
410 real_t f301, f302, f303, f304, f307, f308, f309, f310, f311, f312;
|
10725
|
411 real_t f313, f314, f315, f316, f317, f318, f319, f320, f321, f322;
|
|
412 real_t f323, f324, f325, f326, f327, f328, f329, f330, f331, f332;
|
|
413 real_t f333, f334, f335, f336, f337, f338, f339, f340, f341, f342;
|
|
414 real_t f343, f344, f345, f346, f347, f348, f349, f350, f351, f352;
|
|
415 real_t f353, f354, f355, f356, f357, f358, f359, f360, f361, f362;
|
|
416 real_t f363, f364, f365, f366, f367, f368, f369, f370, f371, f372;
|
|
417 real_t f373, f374, f375, f376, f377, f378, f379, f380, f381, f382;
|
|
418 real_t f383, f384, f385, f386, f387, f388, f389, f390, f391, f392;
|
|
419 real_t f393, f394, f395, f396, f397, f398, f399, f400, f401, f402;
|
|
420 real_t f403, f404, f405, f406, f407, f408, f409, f410, f411, f412;
|
|
421 real_t f413, f414, f415, f416, f417, f418, f419, f420, f421, f422;
|
12527
|
422 real_t f423, f424, f425, f426, f427, f428, f429, f430, f431, f433;
|
|
423 real_t f434, f435, f436, f437, f438, f439, f440, f441, f442, f443;
|
|
424 real_t f444, f445, f446, f447, f448, f449, f450, f451, f452, f453;
|
|
425 real_t f454, f455, f456, f457, f458, f459, f460, f461, f462, f463;
|
|
426 real_t f464, f465, f466, f467, f468, f469, f470, f471, f472, f473;
|
|
427 real_t f474, f475, f476, f477, f478, f479, f480, f481, f482, f483;
|
|
428 real_t f484, f485, f486, f487, f488, f489, f490, f491, f492, f493;
|
|
429 real_t f494, f495, f496, f497, f498, f499, f500, f501, f502, f503;
|
|
430 real_t f504, f505, f506, f507, f508, f509, f510, f511, f512, f513;
|
|
431 real_t f514, f515, f516, f517, f518, f519, f520, f521, f522, f523;
|
|
432 real_t f524, f525, f526, f527, f528, f529, f530, f531, f532, f533;
|
|
433 real_t f534, f535, f536, f537, f538, f539, f540, f541, f542, f543;
|
|
434 real_t f544, f546, f547, f548, f549, f550, f551, f552, f553, f554;
|
|
435 real_t f555, f556, f557, f558, f559, f560, f561, f562, f563, f564;
|
|
436 real_t f565, f566, f567, f568, f569, f570, f571, f572, f573, f574;
|
|
437 real_t f575, f576, f577, f578, f579, f580, f581, f582, f583, f584;
|
|
438 real_t f585, f586, f587, f588, f589, f590, f591, f592, f593, f594;
|
|
439 real_t f595, f596, f597, f598, f599, f600, f601, f602, f603, f604;
|
|
440 real_t f605, f606, f607, f608, f609, f610, f611, f612, f613, f614;
|
|
441 real_t f615, f616, f617, f618, f619, f620, f621, f622, f623, f624;
|
|
442 real_t f625, f626, f627, f628;
|
|
443 ALIGN static real_t t2[64];
|
10725
|
444
|
|
445 for (i0=0; i0<32; i0++)
|
|
446 {
|
|
447 t2[2*i0+1] = x[i0] - x[-i0+63];
|
|
448 t2[2*i0] = x[i0] + x[-i0+63];
|
|
449 }
|
|
450 f2 = t2[0] - t2[62];
|
|
451 f3 = t2[0] + t2[62];
|
|
452 f4 = t2[2] - t2[60];
|
|
453 f5 = t2[2] + t2[60];
|
|
454 f6 = t2[4] - t2[58];
|
|
455 f7 = t2[4] + t2[58];
|
|
456 f8 = t2[6] - t2[56];
|
|
457 f9 = t2[6] + t2[56];
|
|
458 f10 = t2[8] - t2[54];
|
|
459 f11 = t2[8] + t2[54];
|
|
460 f12 = t2[10] - t2[52];
|
|
461 f13 = t2[10] + t2[52];
|
|
462 f14 = t2[12] - t2[50];
|
|
463 f15 = t2[12] + t2[50];
|
|
464 f16 = t2[14] - t2[48];
|
|
465 f17 = t2[14] + t2[48];
|
|
466 f18 = t2[16] - t2[46];
|
|
467 f19 = t2[16] + t2[46];
|
|
468 f20 = t2[18] - t2[44];
|
|
469 f21 = t2[18] + t2[44];
|
|
470 f22 = t2[20] - t2[42];
|
|
471 f23 = t2[20] + t2[42];
|
|
472 f24 = t2[22] - t2[40];
|
|
473 f25 = t2[22] + t2[40];
|
|
474 f26 = t2[24] - t2[38];
|
|
475 f27 = t2[24] + t2[38];
|
|
476 f28 = t2[26] - t2[36];
|
|
477 f29 = t2[26] + t2[36];
|
|
478 f30 = t2[28] - t2[34];
|
|
479 f31 = t2[28] + t2[34];
|
|
480 f32 = t2[30] - t2[32];
|
|
481 f33 = t2[30] + t2[32];
|
|
482 f34 = f3 - f33;
|
|
483 f35 = f3 + f33;
|
|
484 f36 = f5 - f31;
|
|
485 f37 = f5 + f31;
|
|
486 f38 = f7 - f29;
|
|
487 f39 = f7 + f29;
|
|
488 f40 = f9 - f27;
|
|
489 f41 = f9 + f27;
|
|
490 f42 = f11 - f25;
|
|
491 f43 = f11 + f25;
|
|
492 f44 = f13 - f23;
|
|
493 f45 = f13 + f23;
|
|
494 f46 = f15 - f21;
|
|
495 f47 = f15 + f21;
|
|
496 f48 = f17 - f19;
|
|
497 f49 = f17 + f19;
|
|
498 f50 = f35 - f49;
|
|
499 f51 = f35 + f49;
|
|
500 f52 = f37 - f47;
|
|
501 f53 = f37 + f47;
|
|
502 f54 = f39 - f45;
|
|
503 f55 = f39 + f45;
|
|
504 f56 = f41 - f43;
|
|
505 f57 = f41 + f43;
|
|
506 f58 = f51 - f57;
|
|
507 f59 = f51 + f57;
|
|
508 f60 = f53 - f55;
|
|
509 f61 = f53 + f55;
|
|
510 f62 = f59 - f61;
|
|
511 y[0] = f59 + f61;
|
12527
|
512 y[32] = MUL_C(COEF_CONST(0.7071067811865476), f62);
|
10725
|
513 f65 = f58 + f60;
|
12527
|
514 f66 = MUL_C(COEF_CONST(1.3065629648763766), f58);
|
|
515 f67 = MUL_C(COEF_CONST((-0.9238795325112866)), f65);
|
|
516 f68 = MUL_C(COEF_CONST((-0.5411961001461967)), f60);
|
10725
|
517 y[48] = f66 + f67;
|
|
518 y[16] = f68 - f67;
|
12527
|
519 f71 = f50 + f56;
|
|
520 f72 = MUL_C(COEF_CONST(1.1758756024193588), f50);
|
|
521 f73 = MUL_C(COEF_CONST((-0.9807852804032304)), f71);
|
|
522 f74 = MUL_C(COEF_CONST((-0.7856949583871021)), f56);
|
|
523 f75 = f72 + f73;
|
|
524 f76 = f74 - f73;
|
|
525 f77 = f52 + f54;
|
|
526 f78 = MUL_C(COEF_CONST(1.3870398453221473), f52);
|
|
527 f79 = MUL_C(COEF_CONST((-0.8314696123025455)), f77);
|
|
528 f80 = MUL_C(COEF_CONST((-0.2758993792829436)), f54);
|
|
529 f81 = f78 + f79;
|
|
530 f82 = f80 - f79;
|
|
531 f83 = f76 - f82;
|
|
532 y[8] = f76 + f82;
|
|
533 f85 = MUL_C(COEF_CONST(0.7071067811865476), f83);
|
|
534 y[56] = f75 - f81;
|
|
535 f87 = f75 + f81;
|
|
536 f88 = MUL_C(COEF_CONST(0.7071067811865476), f87);
|
|
537 y[40] = f85 - f88;
|
|
538 y[24] = f85 + f88;
|
|
539 f91 = f36 - f38;
|
|
540 f92 = f36 + f38;
|
|
541 f93 = f40 - f42;
|
|
542 f94 = f40 + f42;
|
|
543 f95 = f44 - f46;
|
|
544 f96 = f44 + f46;
|
|
545 f97 = MUL_C(COEF_CONST(0.7071067811865476), f94);
|
|
546 f98 = f34 - f97;
|
|
547 f99 = f34 + f97;
|
|
548 f100 = f92 + f96;
|
|
549 f101 = MUL_C(COEF_CONST(1.3065629648763766), f92);
|
|
550 f102 = MUL_C(COEF_CONST((-0.9238795325112866)), f100);
|
|
551 f103 = MUL_C(COEF_CONST((-0.5411961001461967)), f96);
|
|
552 f104 = f101 + f102;
|
|
553 f105 = f103 - f102;
|
|
554 f106 = f99 - f105;
|
|
555 f107 = f99 + f105;
|
|
556 f108 = f98 - f104;
|
|
557 f109 = f98 + f104;
|
|
558 f110 = f91 + f95;
|
|
559 f111 = MUL_C(COEF_CONST(1.3065629648763770), f91);
|
|
560 f112 = MUL_C(COEF_CONST((-0.3826834323650904)), f110);
|
|
561 f113 = MUL_C(COEF_CONST(0.5411961001461961), f95);
|
|
562 f114 = f111 + f112;
|
|
563 f115 = f113 - f112;
|
|
564 f116 = MUL_C(COEF_CONST(0.7071067811865476), f93);
|
|
565 f117 = f116 - f48;
|
|
566 f118 = f116 + f48;
|
|
567 f119 = f115 - f118;
|
|
568 f120 = f115 + f118;
|
|
569 f121 = f114 - f117;
|
|
570 f122 = f114 + f117;
|
|
571 f123 = f120 + f107;
|
|
572 f124 = MUL_C(COEF_CONST((-0.8971675863426361)), f120);
|
|
573 f125 = MUL_C(COEF_CONST(0.9951847266721968), f123);
|
|
574 f126 = MUL_C(COEF_CONST(1.0932018670017576), f107);
|
|
575 y[4] = f124 + f125;
|
|
576 y[60] = f126 - f125;
|
|
577 f129 = f122 + f109;
|
|
578 f130 = MUL_C(COEF_CONST((-0.6666556584777466)), f122);
|
|
579 f131 = MUL_C(COEF_CONST(0.9569403357322089), f129);
|
|
580 f132 = MUL_C(COEF_CONST(1.2472250129866713), f109);
|
|
581 y[12] = f130 + f131;
|
|
582 y[52] = f132 - f131;
|
|
583 f135 = f121 + f108;
|
|
584 f136 = MUL_C(COEF_CONST((-0.4105245275223571)), f121);
|
|
585 f137 = MUL_C(COEF_CONST(0.8819212643483549), f135);
|
|
586 f138 = MUL_C(COEF_CONST(1.3533180011743529), f108);
|
|
587 y[20] = f136 + f137;
|
|
588 y[44] = f138 - f137;
|
|
589 f141 = f119 + f106;
|
|
590 f142 = MUL_C(COEF_CONST((-0.1386171691990915)), f119);
|
|
591 f143 = MUL_C(COEF_CONST(0.7730104533627370), f141);
|
|
592 f144 = MUL_C(COEF_CONST(1.4074037375263826), f106);
|
|
593 y[28] = f142 + f143;
|
|
594 y[36] = f144 - f143;
|
|
595 f147 = f16 - f18;
|
|
596 f148 = f16 + f18;
|
|
597 f149 = MUL_C(COEF_CONST(0.7071067811865476), f148);
|
|
598 f150 = MUL_C(COEF_CONST(0.7071067811865476), f147);
|
|
599 f151 = f10 - f24;
|
|
600 f152 = f10 + f24;
|
|
601 f153 = MUL_C(COEF_CONST(0.7071067811865476), f152);
|
|
602 f154 = MUL_C(COEF_CONST(0.7071067811865476), f151);
|
|
603 f155 = f14 - f20;
|
|
604 f156 = f14 + f20;
|
|
605 f157 = MUL_C(COEF_CONST(0.7071067811865476), f156);
|
|
606 f158 = MUL_C(COEF_CONST(0.7071067811865476), f155);
|
|
607 f159 = f12 - f22;
|
|
608 f160 = f12 + f22;
|
|
609 f161 = MUL_C(COEF_CONST(0.7071067811865476), f160);
|
|
610 f162 = MUL_C(COEF_CONST(0.7071067811865476), f159);
|
|
611 f163 = f2 - f149;
|
|
612 f164 = f2 + f149;
|
|
613 f165 = f32 - f150;
|
|
614 f166 = f32 + f150;
|
|
615 f167 = f8 - f153;
|
|
616 f168 = f8 + f153;
|
|
617 f169 = f26 - f154;
|
|
618 f170 = f26 + f154;
|
|
619 f171 = f4 - f157;
|
|
620 f172 = f4 + f157;
|
|
621 f173 = f30 - f158;
|
|
622 f174 = f30 + f158;
|
|
623 f175 = f6 - f161;
|
|
624 f176 = f6 + f161;
|
|
625 f177 = f28 - f162;
|
|
626 f178 = f28 + f162;
|
|
627 f179 = f170 + f168;
|
|
628 f180 = MUL_C(COEF_CONST((-0.5411961001461969)), f170);
|
|
629 f181 = MUL_C(COEF_CONST(0.9238795325112867), f179);
|
|
630 f182 = MUL_C(COEF_CONST(1.3065629648763766), f168);
|
|
631 f183 = f180 + f181;
|
|
632 f184 = f182 - f181;
|
|
633 f185 = f169 + f167;
|
|
634 f186 = MUL_C(COEF_CONST(1.3065629648763770), f169);
|
|
635 f187 = MUL_C(COEF_CONST((-0.3826834323650904)), f185);
|
|
636 f188 = MUL_C(COEF_CONST(0.5411961001461961), f167);
|
|
637 f189 = f186 + f187;
|
|
638 f190 = f188 - f187;
|
|
639 f191 = f178 + f176;
|
|
640 f192 = MUL_C(COEF_CONST((-0.5411961001461969)), f178);
|
|
641 f193 = MUL_C(COEF_CONST(0.9238795325112867), f191);
|
|
642 f194 = MUL_C(COEF_CONST(1.3065629648763766), f176);
|
|
643 f195 = f192 + f193;
|
|
644 f196 = f194 - f193;
|
|
645 f197 = f177 + f175;
|
|
646 f198 = MUL_C(COEF_CONST(1.3065629648763770), f177);
|
|
647 f199 = MUL_C(COEF_CONST((-0.3826834323650904)), f197);
|
|
648 f200 = MUL_C(COEF_CONST(0.5411961001461961), f175);
|
|
649 f201 = f198 + f199;
|
|
650 f202 = f200 - f199;
|
|
651 f203 = f164 - f183;
|
|
652 f204 = f164 + f183;
|
|
653 f205 = f166 - f184;
|
|
654 f206 = f166 + f184;
|
|
655 f207 = f163 - f189;
|
|
656 f208 = f163 + f189;
|
|
657 f209 = f165 - f190;
|
|
658 f210 = f165 + f190;
|
|
659 f211 = f172 - f195;
|
|
660 f212 = f172 + f195;
|
|
661 f213 = f174 - f196;
|
|
662 f214 = f174 + f196;
|
|
663 f215 = f171 - f201;
|
|
664 f216 = f171 + f201;
|
|
665 f217 = f173 - f202;
|
|
666 f218 = f173 + f202;
|
|
667 f219 = f214 + f212;
|
|
668 f220 = MUL_C(COEF_CONST((-0.7856949583871021)), f214);
|
|
669 f221 = MUL_C(COEF_CONST(0.9807852804032304), f219);
|
|
670 f222 = MUL_C(COEF_CONST(1.1758756024193588), f212);
|
|
671 f223 = f220 + f221;
|
|
672 f224 = f222 - f221;
|
|
673 f225 = f218 + f216;
|
|
674 f226 = MUL_C(COEF_CONST(0.2758993792829431), f218);
|
|
675 f227 = MUL_C(COEF_CONST(0.5555702330196022), f225);
|
|
676 f228 = MUL_C(COEF_CONST(1.3870398453221475), f216);
|
|
677 f229 = f226 + f227;
|
|
678 f230 = f228 - f227;
|
|
679 f231 = f213 + f211;
|
|
680 f232 = MUL_C(COEF_CONST(1.1758756024193591), f213);
|
|
681 f233 = MUL_C(COEF_CONST((-0.1950903220161287)), f231);
|
|
682 f234 = MUL_C(COEF_CONST(0.7856949583871016), f211);
|
|
683 f235 = f232 + f233;
|
|
684 f236 = f234 - f233;
|
|
685 f237 = f217 + f215;
|
|
686 f238 = MUL_C(COEF_CONST(1.3870398453221473), f217);
|
|
687 f239 = MUL_C(COEF_CONST((-0.8314696123025455)), f237);
|
|
688 f240 = MUL_C(COEF_CONST((-0.2758993792829436)), f215);
|
|
689 f241 = f238 + f239;
|
|
690 f242 = f240 - f239;
|
|
691 f243 = f204 - f223;
|
|
692 f244 = f204 + f223;
|
|
693 f245 = f206 - f224;
|
|
694 f246 = f206 + f224;
|
|
695 f247 = f208 - f229;
|
|
696 f248 = f208 + f229;
|
|
697 f249 = f210 - f230;
|
|
698 f250 = f210 + f230;
|
|
699 f251 = f203 - f235;
|
|
700 f252 = f203 + f235;
|
|
701 f253 = f205 - f236;
|
|
702 f254 = f205 + f236;
|
|
703 f255 = f207 - f241;
|
|
704 f256 = f207 + f241;
|
|
705 f257 = f209 - f242;
|
|
706 f258 = f209 + f242;
|
|
707 f259 = f246 + f244;
|
|
708 f260 = MUL_C(COEF_CONST((-0.9497277818777543)), f246);
|
|
709 f261 = MUL_C(COEF_CONST(0.9987954562051724), f259);
|
|
710 f262 = MUL_C(COEF_CONST(1.0478631305325905), f244);
|
|
711 y[2] = f260 + f261;
|
|
712 y[62] = f262 - f261;
|
|
713 f265 = f250 + f248;
|
|
714 f266 = MUL_C(COEF_CONST((-0.7270510732912801)), f250);
|
|
715 f267 = MUL_C(COEF_CONST(0.9700312531945440), f265);
|
|
716 f268 = MUL_C(COEF_CONST(1.2130114330978079), f248);
|
|
717 y[10] = f266 + f267;
|
|
718 y[54] = f268 - f267;
|
|
719 f271 = f254 + f252;
|
|
720 f272 = MUL_C(COEF_CONST((-0.4764341996931611)), f254);
|
|
721 f273 = MUL_C(COEF_CONST(0.9039892931234433), f271);
|
|
722 f274 = MUL_C(COEF_CONST(1.3315443865537255), f252);
|
|
723 y[18] = f272 + f273;
|
|
724 y[46] = f274 - f273;
|
|
725 f277 = f258 + f256;
|
|
726 f278 = MUL_C(COEF_CONST((-0.2075082269882114)), f258);
|
|
727 f279 = MUL_C(COEF_CONST(0.8032075314806448), f277);
|
|
728 f280 = MUL_C(COEF_CONST(1.3989068359730783), f256);
|
|
729 y[26] = f278 + f279;
|
|
730 y[38] = f280 - f279;
|
|
731 f283 = f245 + f243;
|
|
732 f284 = MUL_C(COEF_CONST(0.0693921705079408), f245);
|
|
733 f285 = MUL_C(COEF_CONST(0.6715589548470183), f283);
|
|
734 f286 = MUL_C(COEF_CONST(1.4125100802019774), f243);
|
|
735 y[34] = f284 + f285;
|
|
736 y[30] = f286 - f285;
|
|
737 f289 = f249 + f247;
|
|
738 f290 = MUL_C(COEF_CONST(0.3436258658070505), f249);
|
|
739 f291 = MUL_C(COEF_CONST(0.5141027441932217), f289);
|
|
740 f292 = MUL_C(COEF_CONST(1.3718313541934939), f247);
|
|
741 y[42] = f290 + f291;
|
|
742 y[22] = f292 - f291;
|
|
743 f295 = f253 + f251;
|
|
744 f296 = MUL_C(COEF_CONST(0.6046542117908007), f253);
|
|
745 f297 = MUL_C(COEF_CONST(0.3368898533922201), f295);
|
|
746 f298 = MUL_C(COEF_CONST(1.2784339185752409), f251);
|
|
747 y[50] = f296 + f297;
|
|
748 y[14] = f298 - f297;
|
|
749 f301 = f257 + f255;
|
|
750 f302 = MUL_C(COEF_CONST(0.8424460355094192), f257);
|
|
751 f303 = MUL_C(COEF_CONST(0.1467304744553618), f301);
|
|
752 f304 = MUL_C(COEF_CONST(1.1359069844201428), f255);
|
|
753 y[58] = f302 + f303;
|
|
754 y[6] = f304 - f303;
|
|
755 f307 = t2[1] + t2[63];
|
|
756 f308 = MUL_C(COEF_CONST(1.0242400472191162), t2[1]);
|
|
757 f309 = MUL_C(COEF_CONST((-0.9996988186962043)), f307);
|
|
758 f310 = MUL_C(COEF_CONST((-0.9751575901732922)), t2[63]);
|
|
759 f311 = f308 + f309;
|
|
760 f312 = f310 - f309;
|
|
761 f313 = t2[3] + t2[61];
|
|
762 f314 = MUL_C(COEF_CONST(1.0708550202783571),t2[3]);
|
|
763 f315 = MUL_C(COEF_CONST((-0.9972904566786902)), f313);
|
|
764 f316 = MUL_C(COEF_CONST((-0.9237258930790232)), t2[61]);
|
|
765 f317 = f314 + f315;
|
|
766 f318 = f316 - f315;
|
|
767 f319 = t2[5] + t2[59];
|
|
768 f320 = MUL_C(COEF_CONST(1.1148902097979256), t2[5]);
|
|
769 f321 = MUL_C(COEF_CONST((-0.9924795345987101)), f319);
|
|
770 f322 = MUL_C(COEF_CONST((-0.8700688593994945)), t2[59]);
|
|
771 f323 = f320 + f321;
|
|
772 f324 = f322 - f321;
|
|
773 f325 = t2[7] + t2[57];
|
|
774 f326 = MUL_C(COEF_CONST(1.1562395311492426), t2[7]);
|
|
775 f327 = MUL_C(COEF_CONST((-0.9852776423889412)), f325);
|
|
776 f328 = MUL_C(COEF_CONST((-0.8143157536286398)), t2[57]);
|
|
777 f329 = f326 + f327;
|
|
778 f330 = f328 - f327;
|
|
779 f331 = t2[9] + t2[55];
|
|
780 f332 = MUL_C(COEF_CONST(1.1948033701953984), t2[9]);
|
|
781 f333 = MUL_C(COEF_CONST((-0.9757021300385286)), f331);
|
|
782 f334 = MUL_C(COEF_CONST((-0.7566008898816589)), t2[55]);
|
|
783 f335 = f332 + f333;
|
|
784 f336 = f334 - f333;
|
|
785 f337 = t2[11] + t2[53];
|
|
786 f338 = MUL_C(COEF_CONST(1.2304888232703382), t2[11]);
|
|
787 f339 = MUL_C(COEF_CONST((-0.9637760657954400)), f337);
|
|
788 f340 = MUL_C(COEF_CONST((-0.6970633083205418)), t2[53]);
|
|
789 f341 = f338 + f339;
|
|
790 f342 = f340 - f339;
|
|
791 f343 = t2[13] + t2[51];
|
|
792 f344 = MUL_C(COEF_CONST(1.2632099209919279), t2[13]);
|
|
793 f345 = MUL_C(COEF_CONST((-0.9495281805930368)), f343);
|
|
794 f346 = MUL_C(COEF_CONST((-0.6358464401941457)), t2[51]);
|
|
795 f347 = f344 + f345;
|
|
796 f348 = f346 - f345;
|
|
797 f349 = t2[15] + t2[49];
|
|
798 f350 = MUL_C(COEF_CONST(1.2928878353697266), t2[15]);
|
|
799 f351 = MUL_C(COEF_CONST((-0.9329927988347391)), f349);
|
|
800 f352 = MUL_C(COEF_CONST((-0.5730977622997515)), t2[49]);
|
|
801 f353 = f350 + f351;
|
|
802 f354 = f352 - f351;
|
|
803 f355 = t2[17] + t2[47];
|
|
804 f356 = MUL_C(COEF_CONST(1.3194510697085207), t2[17]);
|
|
805 f357 = MUL_C(COEF_CONST((-0.9142097557035306)), f355);
|
|
806 f358 = MUL_C(COEF_CONST((-0.5089684416985405)), t2[47]);
|
|
807 f359 = f356 + f357;
|
|
808 f360 = f358 - f357;
|
|
809 f361 = t2[19] + t2[45];
|
|
810 f362 = MUL_C(COEF_CONST(1.3428356308501219), t2[19]);
|
|
811 f363 = MUL_C(COEF_CONST((-0.8932243011955153)), f361);
|
|
812 f364 = MUL_C(COEF_CONST((-0.4436129715409087)), t2[45]);
|
|
813 f365 = f362 + f363;
|
|
814 f366 = f364 - f363;
|
|
815 f367 = t2[21] + t2[43];
|
|
816 f368 = MUL_C(COEF_CONST(1.3629851833384954), t2[21]);
|
|
817 f369 = MUL_C(COEF_CONST((-0.8700869911087115)), f367);
|
|
818 f370 = MUL_C(COEF_CONST((-0.3771887988789276)), t2[43]);
|
|
819 f371 = f368 + f369;
|
|
820 f372 = f370 - f369;
|
|
821 f373 = t2[23] + t2[41];
|
|
822 f374 = MUL_C(COEF_CONST(1.3798511851368040), t2[23]);
|
|
823 f375 = MUL_C(COEF_CONST((-0.8448535652497072)), f373);
|
|
824 f376 = MUL_C(COEF_CONST((-0.3098559453626103)), t2[41]);
|
|
825 f377 = f374 + f375;
|
|
826 f378 = f376 - f375;
|
|
827 f379 = t2[25] + t2[39];
|
|
828 f380 = MUL_C(COEF_CONST(1.3933930045694289), t2[25]);
|
|
829 f381 = MUL_C(COEF_CONST((-0.8175848131515840)), f379);
|
|
830 f382 = MUL_C(COEF_CONST((-0.2417766217337392)), t2[39]);
|
|
831 f383 = f380 + f381;
|
|
832 f384 = f382 - f381;
|
|
833 f385 = t2[27] + t2[37];
|
|
834 f386 = MUL_C(COEF_CONST(1.4035780182072330), t2[27]);
|
|
835 f387 = MUL_C(COEF_CONST((-0.7883464276266061)), f385);
|
|
836 f388 = MUL_C(COEF_CONST((-0.1731148370459791)), t2[37]);
|
|
837 f389 = f386 + f387;
|
|
838 f390 = f388 - f387;
|
|
839 f391 = t2[29] + t2[35];
|
|
840 f392 = MUL_C(COEF_CONST(1.4103816894602614), t2[29]);
|
|
841 f393 = MUL_C(COEF_CONST((-0.7572088465064846)), f391);
|
|
842 f394 = MUL_C(COEF_CONST((-0.1040360035527078)), t2[35]);
|
|
843 f395 = f392 + f393;
|
|
844 f396 = f394 - f393;
|
|
845 f397 = t2[31] + t2[33];
|
|
846 f398 = MUL_C(COEF_CONST(1.4137876276885337), t2[31]);
|
|
847 f399 = MUL_C(COEF_CONST((-0.7242470829514670)), f397);
|
|
848 f400 = MUL_C(COEF_CONST((-0.0347065382144002)), t2[33]);
|
|
849 f401 = f398 + f399;
|
|
850 f402 = f400 - f399;
|
|
851 f403 = f312 - f402;
|
|
852 f404 = f312 + f402;
|
|
853 f405 = f318 - f396;
|
|
854 f406 = f318 + f396;
|
|
855 f407 = f324 - f390;
|
|
856 f408 = f324 + f390;
|
|
857 f409 = f330 - f384;
|
|
858 f410 = f330 + f384;
|
|
859 f411 = f336 - f378;
|
|
860 f412 = f336 + f378;
|
|
861 f413 = f342 - f372;
|
|
862 f414 = f342 + f372;
|
|
863 f415 = f348 - f366;
|
|
864 f416 = f348 + f366;
|
|
865 f417 = f354 - f360;
|
|
866 f418 = f354 + f360;
|
|
867 f419 = f404 - f418;
|
|
868 f420 = f404 + f418;
|
|
869 f421 = f406 - f416;
|
|
870 f422 = f406 + f416;
|
|
871 f423 = f408 - f414;
|
|
872 f424 = f408 + f414;
|
|
873 f425 = f410 - f412;
|
|
874 f426 = f410 + f412;
|
|
875 f427 = f420 - f426;
|
|
876 f428 = f420 + f426;
|
|
877 f429 = f422 - f424;
|
|
878 f430 = f422 + f424;
|
|
879 f431 = f428 - f430;
|
|
880 y[1] = f428 + f430;
|
|
881 f433 = MUL_C(COEF_CONST(0.7071067811865476), f431);
|
|
882 f434 = f427 + f429;
|
|
883 f435 = MUL_C(COEF_CONST(1.3065629648763766), f427);
|
|
884 f436 = MUL_C(COEF_CONST((-0.9238795325112866)), f434);
|
|
885 f437 = MUL_C(COEF_CONST((-0.5411961001461967)), f429);
|
|
886 f438 = f435 + f436;
|
|
887 f439 = f437 - f436;
|
|
888 f440 = f419 + f425;
|
|
889 f441 = MUL_C(COEF_CONST(1.1758756024193588), f419);
|
|
890 f442 = MUL_C(COEF_CONST((-0.9807852804032304)), f440);
|
|
891 f443 = MUL_C(COEF_CONST((-0.7856949583871021)), f425);
|
|
892 f444 = f441 + f442;
|
|
893 f445 = f443 - f442;
|
|
894 f446 = f421 + f423;
|
|
895 f447 = MUL_C(COEF_CONST(1.3870398453221473), f421);
|
|
896 f448 = MUL_C(COEF_CONST((-0.8314696123025455)), f446);
|
|
897 f449 = MUL_C(COEF_CONST((-0.2758993792829436)), f423);
|
|
898 f450 = f447 + f448;
|
|
899 f451 = f449 - f448;
|
|
900 f452 = f445 - f451;
|
|
901 f453 = f445 + f451;
|
|
902 f454 = MUL_C(COEF_CONST(0.7071067811865476), f452);
|
|
903 f455 = f444 - f450;
|
|
904 f456 = f444 + f450;
|
|
905 f457 = MUL_C(COEF_CONST(0.7071067811865476), f456);
|
|
906 f458 = f454 - f457;
|
|
907 f459 = f454 + f457;
|
|
908 f460 = f405 - f407;
|
|
909 f461 = f405 + f407;
|
|
910 f462 = f409 - f411;
|
|
911 f463 = f409 + f411;
|
|
912 f464 = f413 - f415;
|
|
913 f465 = f413 + f415;
|
|
914 f466 = MUL_C(COEF_CONST(0.7071067811865476), f463);
|
|
915 f467 = f403 - f466;
|
|
916 f468 = f403 + f466;
|
|
917 f469 = f461 + f465;
|
|
918 f470 = MUL_C(COEF_CONST(1.3065629648763766), f461);
|
|
919 f471 = MUL_C(COEF_CONST((-0.9238795325112866)), f469);
|
|
920 f472 = MUL_C(COEF_CONST((-0.5411961001461967)), f465);
|
|
921 f473 = f470 + f471;
|
|
922 f474 = f472 - f471;
|
|
923 f475 = f468 - f474;
|
|
924 f476 = f468 + f474;
|
|
925 f477 = f467 - f473;
|
|
926 f478 = f467 + f473;
|
|
927 f479 = f460 + f464;
|
|
928 f480 = MUL_C(COEF_CONST(1.3065629648763770), f460);
|
|
929 f481 = MUL_C(COEF_CONST((-0.3826834323650904)), f479);
|
|
930 f482 = MUL_C(COEF_CONST(0.5411961001461961), f464);
|
|
931 f483 = f480 + f481;
|
|
932 f484 = f482 - f481;
|
|
933 f485 = MUL_C(COEF_CONST(0.7071067811865476), f462);
|
|
934 f486 = f485 - f417;
|
|
935 f487 = f485 + f417;
|
|
936 f488 = f484 - f487;
|
|
937 f489 = f484 + f487;
|
|
938 f490 = f483 - f486;
|
|
939 f491 = f483 + f486;
|
|
940 f492 = f489 + f476;
|
|
941 f493 = MUL_C(COEF_CONST((-0.8971675863426361)), f489);
|
|
942 f494 = MUL_C(COEF_CONST(0.9951847266721968), f492);
|
|
943 f495 = MUL_C(COEF_CONST(1.0932018670017576), f476);
|
|
944 f496 = f493 + f494;
|
|
945 f497 = f495 - f494;
|
|
946 f498 = f491 + f478;
|
|
947 f499 = MUL_C(COEF_CONST((-0.6666556584777466)), f491);
|
|
948 f500 = MUL_C(COEF_CONST(0.9569403357322089), f498);
|
|
949 f501 = MUL_C(COEF_CONST(1.2472250129866713), f478);
|
|
950 f502 = f499 + f500;
|
|
951 f503 = f501 - f500;
|
|
952 f504 = f490 + f477;
|
|
953 f505 = MUL_C(COEF_CONST((-0.4105245275223571)), f490);
|
|
954 f506 = MUL_C(COEF_CONST(0.8819212643483549), f504);
|
|
955 f507 = MUL_C(COEF_CONST(1.3533180011743529), f477);
|
|
956 f508 = f505 + f506;
|
|
957 f509 = f507 - f506;
|
|
958 f510 = f488 + f475;
|
|
959 f511 = MUL_C(COEF_CONST((-0.1386171691990915)), f488);
|
|
960 f512 = MUL_C(COEF_CONST(0.7730104533627370), f510);
|
|
961 f513 = MUL_C(COEF_CONST(1.4074037375263826), f475);
|
|
962 f514 = f511 + f512;
|
|
963 f515 = f513 - f512;
|
|
964 f516 = f311 + f401;
|
|
965 f517 = f311 - f401;
|
|
966 f518 = f317 + f395;
|
|
967 f519 = f395 - f317;
|
|
968 f520 = f323 + f389;
|
|
969 f521 = f323 - f389;
|
|
970 f522 = f329 + f383;
|
|
971 f523 = f383 - f329;
|
|
972 f524 = f335 + f377;
|
|
973 f525 = f335 - f377;
|
|
974 f526 = f341 + f371;
|
|
975 f527 = f371 - f341;
|
|
976 f528 = f347 + f365;
|
|
977 f529 = f347 - f365;
|
|
978 f530 = f353 + f359;
|
|
979 f531 = f359 - f353;
|
|
980 f532 = f517 - f531;
|
|
981 f533 = f517 + f531;
|
|
982 f534 = f519 - f529;
|
|
983 f535 = f519 + f529;
|
|
984 f536 = f521 - f527;
|
|
985 f537 = f521 + f527;
|
|
986 f538 = f523 - f525;
|
|
987 f539 = f523 + f525;
|
|
988 f540 = f533 - f539;
|
|
989 f541 = f533 + f539;
|
|
990 f542 = f535 - f537;
|
|
991 f543 = f535 + f537;
|
|
992 f544 = f541 - f543;
|
|
993 y[63] = f541 + f543;
|
|
994 f546 = MUL_C(COEF_CONST(0.7071067811865476), f544);
|
|
995 f547 = f540 + f542;
|
|
996 f548 = MUL_C(COEF_CONST(1.3065629648763766), f540);
|
|
997 f549 = MUL_C(COEF_CONST((-0.9238795325112866)), f547);
|
|
998 f550 = MUL_C(COEF_CONST((-0.5411961001461967)), f542);
|
|
999 f551 = f548 + f549;
|
|
1000 f552 = f550 - f549;
|
|
1001 f553 = f532 + f538;
|
|
1002 f554 = MUL_C(COEF_CONST(1.1758756024193588), f532);
|
|
1003 f555 = MUL_C(COEF_CONST((-0.9807852804032304)), f553);
|
|
1004 f556 = MUL_C(COEF_CONST((-0.7856949583871021)), f538);
|
|
1005 f557 = f554 + f555;
|
|
1006 f558 = f556 - f555;
|
|
1007 f559 = f534 + f536;
|
|
1008 f560 = MUL_C(COEF_CONST(1.3870398453221473), f534);
|
|
1009 f561 = MUL_C(COEF_CONST((-0.8314696123025455)), f559);
|
|
1010 f562 = MUL_C(COEF_CONST((-0.2758993792829436)), f536);
|
|
1011 f563 = f560 + f561;
|
|
1012 f564 = f562 - f561;
|
|
1013 f565 = f558 - f564;
|
|
1014 f566 = f558 + f564;
|
|
1015 f567 = MUL_C(COEF_CONST(0.7071067811865476), f565);
|
|
1016 f568 = f557 - f563;
|
|
1017 f569 = f557 + f563;
|
|
1018 f570 = MUL_C(COEF_CONST(0.7071067811865476), f569);
|
|
1019 f571 = f567 - f570;
|
|
1020 f572 = f567 + f570;
|
|
1021 f573 = MUL_C(COEF_CONST(0.5024192861881557), f516);
|
|
1022 f574 = MUL_C(COEF_CONST(0.5224986149396889), f518);
|
|
1023 f575 = MUL_C(COEF_CONST(0.5669440348163577), f520);
|
|
1024 f576 = MUL_C(COEF_CONST(0.6468217833599901), f522);
|
|
1025 f577 = MUL_C(COEF_CONST(0.7881546234512502), f524);
|
|
1026 f578 = MUL_C(COEF_CONST(1.0606776859903471), f526);
|
|
1027 f579 = MUL_C(COEF_CONST(1.7224470982383342), f528);
|
|
1028 f580 = MUL_C(COEF_CONST(5.1011486186891553), f530);
|
|
1029 f581 = f573 + f580;
|
|
1030 f582 = f573 - f580;
|
|
1031 f583 = f574 + f579;
|
|
1032 f584 = f579 - f574;
|
|
1033 f585 = f575 + f578;
|
|
1034 f586 = f575 - f578;
|
|
1035 f587 = f576 + f577;
|
|
1036 f588 = f577 - f576;
|
|
1037 f589 = f582 - f588;
|
|
1038 f590 = f582 + f588;
|
|
1039 f591 = f584 - f586;
|
|
1040 f592 = f584 + f586;
|
|
1041 f593 = f590 - f592;
|
|
1042 f594 = f590 + f592;
|
|
1043 f595 = MUL_C(COEF_CONST(0.7071067811865476), f593);
|
|
1044 f596 = f589 + f591;
|
|
1045 f597 = MUL_C(COEF_CONST(1.3065629648763766), f589);
|
|
1046 f598 = MUL_C(COEF_CONST((-0.9238795325112866)), f596);
|
|
1047 f599 = MUL_C(COEF_CONST((-0.5411961001461967)), f591);
|
|
1048 f600 = f597 + f598;
|
|
1049 f601 = f599 - f598;
|
|
1050 f602 = f583 + f585;
|
|
1051 f603 = f585 - f583;
|
|
1052 f604 = MUL_C(COEF_CONST(0.7071067811865476), f603);
|
|
1053 f605 = MUL_C(COEF_CONST(0.7071067811865476), f602);
|
|
1054 f606 = f581 - f604;
|
|
1055 f607 = f581 + f604;
|
|
1056 f608 = f605 - f587;
|
|
1057 f609 = f587 + f605;
|
|
1058 f610 = f607 - f609;
|
|
1059 f611 = MUL_C(COEF_CONST((-0.7856949583871021)), f609);
|
|
1060 f612 = MUL_C(COEF_CONST(0.9807852804032304), f610);
|
|
1061 f613 = MUL_C(COEF_CONST(1.1758756024193588), f607);
|
|
1062 f614 = f612 - f611;
|
|
1063 f615 = f613 - f612;
|
|
1064 f616 = f608 + f606;
|
|
1065 f617 = MUL_C(COEF_CONST(0.2758993792829431), f608);
|
|
1066 f618 = MUL_C(COEF_CONST(0.5555702330196022), f616);
|
|
1067 f619 = MUL_C(COEF_CONST(1.3870398453221475), f606);
|
|
1068 f620 = f617 + f618;
|
|
1069 f621 = f619 - f618;
|
|
1070 f622 = f594 + f614;
|
|
1071 f623 = f614 + f601;
|
|
1072 f624 = f601 + f621;
|
|
1073 f625 = f621 + f595;
|
|
1074 f626 = f595 + f620;
|
|
1075 f627 = f620 + f600;
|
|
1076 f628 = f600 + f615;
|
|
1077 y[5] = f496 - f615;
|
|
1078 y[3] = f496 + f615;
|
|
1079 y[9] = f453 - f568;
|
|
1080 y[7] = f453 + f568;
|
|
1081 y[13] = f502 - f628;
|
|
1082 y[11] = f502 + f628;
|
|
1083 y[17] = f439 - f551;
|
|
1084 y[15] = f439 + f551;
|
|
1085 y[21] = f508 - f627;
|
|
1086 y[19] = f508 + f627;
|
|
1087 y[25] = f459 - f571;
|
|
1088 y[23] = f459 + f571;
|
|
1089 y[29] = f514 - f626;
|
|
1090 y[27] = f514 + f626;
|
|
1091 y[33] = f433 - f546;
|
|
1092 y[31] = f433 + f546;
|
|
1093 y[37] = f515 - f625;
|
|
1094 y[35] = f515 + f625;
|
|
1095 y[41] = f458 - f572;
|
|
1096 y[39] = f458 + f572;
|
|
1097 y[45] = f509 - f624;
|
|
1098 y[43] = f509 + f624;
|
|
1099 y[49] = f438 - f552;
|
|
1100 y[47] = f438 + f552;
|
|
1101 y[53] = f503 - f623;
|
|
1102 y[51] = f503 + f623;
|
|
1103 y[57] = f455 - f566;
|
|
1104 y[55] = f455 + f566;
|
|
1105 y[61] = f497 - f622;
|
|
1106 y[59] = f497 + f622;
|
|
1107 }
|
|
1108
|
|
1109 void DST2_64_unscaled(real_t *y, real_t *x)
|
|
1110 {
|
|
1111 int16_t i0;
|
|
1112 real_t f2, f3, f4, f5, f6, f7;
|
|
1113 real_t f8, f9, f10, f11, f12, f13;
|
|
1114 real_t f14, f15, f16, f17, f18, f19;
|
|
1115 real_t f20, f21, f22, f23, f24, f25;
|
|
1116 real_t f26, f27, f28, f29, f30, f31;
|
|
1117 real_t f32, f33, f34, f35, f36, f37;
|
|
1118 real_t f38, f39, f40, f41, f42, f43;
|
|
1119 real_t f44, f45, f46, f47, f48, f49;
|
|
1120 real_t f50, f51, f52, f53, f54, f55;
|
|
1121 real_t f56, f57, f58, f59, f60, f61;
|
|
1122 real_t f62, f63, f64, f65, f66, f67;
|
|
1123 real_t f68, f69, f70, f71, f72, f73;
|
|
1124 real_t f74, f75, f76, f77, f78, f79;
|
|
1125 real_t f80, f81, f82, f83, f84, f85;
|
|
1126 real_t f86, f87, f88, f89, f90, f91;
|
|
1127 real_t f92, f93, f94, f95, f96, f97;
|
|
1128 real_t f98, f99, f100, f101, f102, f103;
|
|
1129 real_t f104, f105, f106, f107, f108, f109;
|
|
1130 real_t f110, f111, f112, f113, f114, f115;
|
|
1131 real_t f116, f117, f118, f119, f120, f121;
|
|
1132 real_t f122, f123, f124, f125, f126, f127;
|
|
1133 real_t f128, f129, f130, f131, f132, f133;
|
|
1134 real_t f134, f135, f136, f137, f138, f139;
|
|
1135 real_t f140, f141, f142, f143, f144, f145;
|
|
1136 real_t f146, f147, f148, f149, f150, f151;
|
|
1137 real_t f152, f153, f154, f155, f156, f157;
|
|
1138 real_t f158, f159, f160, f161, f162, f163;
|
|
1139 real_t f164, f165, f166, f167, f168, f169;
|
|
1140 real_t f170, f171, f172, f173, f174, f175;
|
|
1141 real_t f176, f177, f178, f179, f180, f181;
|
|
1142 real_t f182, f183, f184, f185, f186, f187;
|
|
1143 real_t f188, f189, f190, f191, f192, f193;
|
|
1144 real_t f194, f195, f196, f197, f198, f199;
|
|
1145 real_t f200, f201, f202, f203, f204, f205;
|
|
1146 real_t f206, f207, f208, f209, f210, f211;
|
|
1147 real_t f212, f213, f214, f215, f216, f217;
|
|
1148 real_t f218, f219, f220, f221, f222, f223;
|
|
1149 real_t f224, f225, f226, f227, f228, f229;
|
|
1150 real_t f230, f231, f232, f233, f234, f235;
|
|
1151 real_t f236, f237, f238, f239, f240, f241;
|
|
1152 real_t f242, f243, f244, f245, f246, f247;
|
|
1153 real_t f248, f249, f250, f251, f252, f253;
|
|
1154 real_t f254, f255, f256, f257, f258, f259;
|
|
1155 real_t f260, f261, f264, f265, f266, f267;
|
|
1156 real_t f270, f271, f272, f273, f276, f277;
|
|
1157 real_t f278, f279, f282, f283, f284, f285;
|
|
1158 real_t f288, f289, f290, f291, f294, f295;
|
|
1159 real_t f296, f297, f300, f301, f302, f303;
|
|
1160 real_t f306, f307, f308, f309, f312, f313;
|
|
1161 real_t f314, f315, f318, f319, f320, f321;
|
|
1162 real_t f324, f325, f326, f327, f330, f331;
|
|
1163 real_t f332, f333, f336, f337, f338, f339;
|
|
1164 real_t f342, f343, f344, f345, f348, f349;
|
|
1165 real_t f350, f351, f354, f355, f356, f357;
|
|
1166 real_t f358, f359, f360, f361, f362, f363;
|
|
1167 real_t f364, f365, f366, f367, f368, f369;
|
|
1168 real_t f370, f371, f372, f373, f374, f375;
|
|
1169 real_t f376, f377, f378, f379, f380, f381;
|
|
1170 real_t f382, f383, f384, f385, f386, f387;
|
|
1171 real_t f388, f389, f390, f391, f392, f393;
|
|
1172 real_t f394, f395, f396, f397, f398, f399;
|
|
1173 real_t f400, f401, f402, f403, f404, f405;
|
|
1174 real_t f406, f407, f408, f409, f410, f411;
|
|
1175 real_t f412, f413, f414, f415, f416, f417;
|
|
1176 real_t f418, f419, f420, f421, f422, f423;
|
|
1177 real_t f424, f425, f426, f427, f428, f429;
|
|
1178 real_t f430, f431, f432, f433, f434, f435;
|
|
1179 real_t f436, f437, f438, f439, f440, f441;
|
|
1180 real_t f442, f443, f444, f445, f446, f447;
|
|
1181 real_t f448, f449, f450, f451, f452, f453;
|
|
1182 real_t f454, f455, f456, f457, f458, f459;
|
|
1183 real_t f460, f461, f462, f463, f464, f465;
|
|
1184 real_t f466, f467, f468, f469, f470, f471;
|
|
1185 real_t f472, f473, f474, f475, f476, f477;
|
|
1186 real_t f478, f479, f480, f481, f482, f483;
|
|
1187 real_t f484, f485, f486, f487, f488, f489;
|
|
1188 real_t f490, f491, f492, f493, f494, f495;
|
|
1189 real_t f496, f497, f498, f499, f500, f501;
|
|
1190 real_t f504, f505, f506, f507, f510, f511;
|
|
1191 real_t f512, f513, f516, f517, f518, f519;
|
|
1192 real_t f522, f523, f524, f525, f528, f529;
|
|
1193 real_t f530, f531, f534, f535, f536, f537;
|
|
1194 real_t f540, f541, f542, f543, f546, f547;
|
|
1195 real_t f548, f549, f550, f551, f552, f553;
|
|
1196 real_t f554, f555, f556, f557, f558, f559;
|
|
1197 real_t f560, f561, f562, f563, f564, f565;
|
|
1198 real_t f566, f567, f568, f569, f570, f571;
|
|
1199 real_t f572, f573, f574, f577, f578, f579;
|
|
1200 real_t f580, f583, f584, f585, f586, f587;
|
|
1201 real_t f588, f589, f590, f591, f592, f593;
|
|
1202 real_t f594, f595, f596, f597, f598, f603;
|
|
1203 real_t f604, f605, f606, f607, f608, f609;
|
|
1204 real_t f610, f611, f612, f613, f614, f615;
|
|
1205 real_t f616, f617, f618, f619, f620, f621;
|
|
1206 real_t f622, f623, f624, f625, f626, f627;
|
|
1207 real_t f628, f629, f630, f631, f632, f633;
|
|
1208 real_t f634, f635, f636, f637, f638, f639;
|
|
1209 real_t f640, f641, f642, f643, f644, f645;
|
|
1210 real_t f646, f647, f648, f649, f650;
|
|
1211 ALIGN static real_t t2[64];
|
|
1212
|
|
1213 for (i0=0; i0<32; i0++)
|
|
1214 {
|
|
1215 t2[2*i0+1] = x[i0] - x[-i0+63];
|
|
1216 t2[2*i0] = x[i0] + x[-i0+63];
|
|
1217 }
|
|
1218 f2 = t2[2] + t2[4];
|
|
1219 f3 = t2[4] - t2[2];
|
|
1220 f4 = t2[6] + t2[8];
|
|
1221 f5 = t2[8] - t2[6];
|
|
1222 f6 = t2[10] + t2[12];
|
|
1223 f7 = t2[12] - t2[10];
|
|
1224 f8 = t2[14] + t2[16];
|
|
1225 f9 = t2[16] - t2[14];
|
|
1226 f10 = t2[18] + t2[20];
|
|
1227 f11 = t2[20] - t2[18];
|
|
1228 f12 = t2[22] + t2[24];
|
|
1229 f13 = t2[24] - t2[22];
|
|
1230 f14 = t2[26] + t2[28];
|
|
1231 f15 = t2[28] - t2[26];
|
|
1232 f16 = t2[30] + t2[32];
|
|
1233 f17 = t2[32] - t2[30];
|
|
1234 f18 = t2[34] + t2[36];
|
|
1235 f19 = t2[36] - t2[34];
|
|
1236 f20 = t2[38] + t2[40];
|
|
1237 f21 = t2[40] - t2[38];
|
|
1238 f22 = t2[42] + t2[44];
|
|
1239 f23 = t2[44] - t2[42];
|
|
1240 f24 = t2[46] + t2[48];
|
|
1241 f25 = t2[48] - t2[46];
|
|
1242 f26 = t2[50] + t2[52];
|
|
1243 f27 = t2[52] - t2[50];
|
|
1244 f28 = t2[54] + t2[56];
|
|
1245 f29 = t2[56] - t2[54];
|
|
1246 f30 = t2[58] + t2[60];
|
|
1247 f31 = t2[60] - t2[58];
|
|
1248 f32 = MUL_C(COEF_CONST(0.7071067811865476), f17);
|
|
1249 f33 = t2[0] - f32;
|
|
1250 f34 = t2[0] + f32;
|
|
1251 f35 = f9 + f25;
|
|
1252 f36 = MUL_C(COEF_CONST(1.3065629648763766), f9);
|
|
1253 f37 = MUL_C(COEF_CONST((-0.9238795325112866)), f35);
|
|
1254 f38 = MUL_C(COEF_CONST((-0.5411961001461967)), f25);
|
|
1255 f39 = f36 + f37;
|
|
1256 f40 = f38 - f37;
|
|
1257 f41 = f34 - f40;
|
|
1258 f42 = f34 + f40;
|
|
1259 f43 = f33 - f39;
|
|
1260 f44 = f33 + f39;
|
|
1261 f45 = MUL_C(COEF_CONST(2.5629154477415064), f5);
|
|
1262 f46 = MUL_C(COEF_CONST(0.8999762231364158), f13);
|
|
1263 f47 = MUL_C(COEF_CONST(0.5097955791041592), f29);
|
|
1264 f48 = MUL_C(COEF_CONST(0.6013448869350453), f21);
|
|
1265 f49 = f45 - f47;
|
|
1266 f50 = f45 + f47;
|
|
1267 f51 = f46 - f48;
|
|
1268 f52 = f46 + f48;
|
|
1269 f53 = f50 + f52;
|
|
1270 f54 = MUL_C(COEF_CONST(1.3065629648763770), f50);
|
|
1271 f55 = MUL_C(COEF_CONST((-0.3826834323650904)), f53);
|
|
1272 f56 = MUL_C(COEF_CONST(0.5411961001461961), f52);
|
|
1273 f57 = f54 + f55;
|
|
1274 f58 = f56 - f55;
|
|
1275 f59 = f51 - f49;
|
|
1276 f60 = f49 + f51;
|
|
1277 f61 = MUL_C(COEF_CONST(0.7071067811865476), f60);
|
|
1278 f62 = f58 - f61;
|
|
1279 f63 = f57 - f61;
|
|
1280 f64 = f59 + f57;
|
|
1281 f65 = f42 - f58;
|
|
1282 f66 = f42 + f58;
|
|
1283 f67 = f44 + f62;
|
|
1284 f68 = f44 - f62;
|
|
1285 f69 = f43 - f63;
|
|
1286 f70 = f43 + f63;
|
|
1287 f71 = f41 + f64;
|
|
1288 f72 = f41 - f64;
|
|
1289 f73 = f7 - f11;
|
|
1290 f74 = f7 + f11;
|
|
1291 f75 = f15 - f19;
|
|
1292 f76 = f15 + f19;
|
|
1293 f77 = f23 - f27;
|
|
1294 f78 = f23 + f27;
|
|
1295 f79 = MUL_C(COEF_CONST(0.7071067811865476), f76);
|
|
1296 f80 = f3 - f79;
|
|
1297 f81 = f3 + f79;
|
|
1298 f82 = f74 + f78;
|
|
1299 f83 = MUL_C(COEF_CONST(1.3065629648763766), f74);
|
|
1300 f84 = MUL_C(COEF_CONST((-0.9238795325112866)), f82);
|
|
1301 f85 = MUL_C(COEF_CONST((-0.5411961001461967)), f78);
|
|
1302 f86 = f83 + f84;
|
|
1303 f87 = f85 - f84;
|
|
1304 f88 = f81 - f87;
|
|
1305 f89 = f81 + f87;
|
|
1306 f90 = f80 - f86;
|
|
1307 f91 = f80 + f86;
|
|
1308 f92 = MUL_C(COEF_CONST(0.7071067811865476), f75);
|
|
1309 f93 = f31 - f92;
|
|
1310 f94 = f31 + f92;
|
|
1311 f95 = f77 + f73;
|
|
1312 f96 = MUL_C(COEF_CONST(1.3065629648763766), f77);
|
|
1313 f97 = MUL_C(COEF_CONST((-0.9238795325112866)), f95);
|
|
1314 f98 = MUL_C(COEF_CONST((-0.5411961001461967)), f73);
|
|
1315 f99 = f96 + f97;
|
|
1316 f100 = f98 - f97;
|
|
1317 f101 = f94 - f100;
|
|
1318 f102 = f94 + f100;
|
|
1319 f103 = f93 - f99;
|
|
1320 f104 = f93 + f99;
|
|
1321 f105 = f102 + f89;
|
|
1322 f106 = MUL_C(COEF_CONST((-0.8971675863426361)), f102);
|
|
1323 f107 = MUL_C(COEF_CONST(0.9951847266721968), f105);
|
|
1324 f108 = MUL_C(COEF_CONST(1.0932018670017576), f89);
|
|
1325 f109 = f106 + f107;
|
|
1326 f110 = f108 - f107;
|
|
1327 f111 = f91 - f104;
|
|
1328 f112 = MUL_C(COEF_CONST((-0.6666556584777466)), f104);
|
|
1329 f113 = MUL_C(COEF_CONST(0.9569403357322089), f111);
|
|
1330 f114 = MUL_C(COEF_CONST(1.2472250129866713), f91);
|
|
1331 f115 = f113 - f112;
|
|
1332 f116 = f114 - f113;
|
|
1333 f117 = f103 + f90;
|
|
1334 f118 = MUL_C(COEF_CONST((-0.4105245275223571)), f103);
|
|
1335 f119 = MUL_C(COEF_CONST(0.8819212643483549), f117);
|
|
1336 f120 = MUL_C(COEF_CONST(1.3533180011743529), f90);
|
|
1337 f121 = f118 + f119;
|
|
1338 f122 = f120 - f119;
|
|
1339 f123 = f88 - f101;
|
|
1340 f124 = MUL_C(COEF_CONST((-0.1386171691990915)), f101);
|
|
1341 f125 = MUL_C(COEF_CONST(0.7730104533627370), f123);
|
|
1342 f126 = MUL_C(COEF_CONST(1.4074037375263826), f88);
|
|
1343 f127 = f125 - f124;
|
|
1344 f128 = f126 - f125;
|
|
1345 f129 = f66 - f109;
|
|
1346 f130 = f66 + f109;
|
|
1347 f131 = f68 - f115;
|
|
1348 f132 = f68 + f115;
|
|
1349 f133 = f70 - f121;
|
|
1350 f134 = f70 + f121;
|
|
1351 f135 = f72 - f127;
|
|
1352 f136 = f72 + f127;
|
|
1353 f137 = f71 - f128;
|
|
1354 f138 = f71 + f128;
|
|
1355 f139 = f69 - f122;
|
|
1356 f140 = f69 + f122;
|
|
1357 f141 = f67 - f116;
|
|
1358 f142 = f67 + f116;
|
|
1359 f143 = f65 - f110;
|
|
1360 f144 = f65 + f110;
|
|
1361 f145 = f26 + f30;
|
|
1362 f146 = f22 + f26;
|
|
1363 f147 = f18 + f22;
|
|
1364 f148 = f14 + f18;
|
|
1365 f149 = f10 + f14;
|
|
1366 f150 = f6 + f10;
|
|
1367 f151 = f2 + f6;
|
|
1368 f152 = MUL_C(COEF_CONST(0.7071067811865476), f148);
|
|
1369 f153 = f152 - f30;
|
|
1370 f154 = f30 + f152;
|
|
1371 f155 = f146 + f150;
|
|
1372 f156 = MUL_C(COEF_CONST(1.3065629648763766), f146);
|
|
1373 f157 = MUL_C(COEF_CONST((-0.9238795325112866)), f155);
|
|
1374 f158 = MUL_C(COEF_CONST((-0.5411961001461967)), f150);
|
|
1375 f159 = f156 + f157;
|
|
1376 f160 = f157 - f158;
|
|
1377 f161 = f154 + f160;
|
|
1378 f162 = f160 - f154;
|
|
1379 f163 = f153 + f159;
|
|
1380 f164 = f153 - f159;
|
|
1381 f165 = f147 + f145;
|
|
1382 f166 = f149 + f147;
|
|
1383 f167 = f151 + f149;
|
|
1384 f168 = MUL_C(COEF_CONST(0.7071067811865476), f166);
|
|
1385 f169 = f168 - f145;
|
|
1386 f170 = f145 + f168;
|
|
1387 f171 = f165 + f167;
|
|
1388 f172 = MUL_C(COEF_CONST(1.3065629648763766), f165);
|
|
1389 f173 = MUL_C(COEF_CONST((-0.9238795325112866)), f171);
|
|
1390 f174 = MUL_C(COEF_CONST((-0.5411961001461967)), f167);
|
|
1391 f175 = f172 + f173;
|
|
1392 f176 = f173 - f174;
|
|
1393 f177 = f170 + f176;
|
|
1394 f178 = f176 - f170;
|
|
1395 f179 = f169 + f175;
|
|
1396 f180 = f169 - f175;
|
|
1397 f181 = MUL_C(COEF_CONST(0.5097955791041592), f178);
|
|
1398 f182 = MUL_C(COEF_CONST(0.6013448869350453), f180);
|
|
1399 f183 = MUL_C(COEF_CONST(0.8999762231364156), f179);
|
|
1400 f184 = MUL_C(COEF_CONST(2.5629154477415055), f177);
|
|
1401 f185 = f162 - f181;
|
|
1402 f186 = f162 + f181;
|
|
1403 f187 = f164 - f182;
|
|
1404 f188 = f164 + f182;
|
|
1405 f189 = f163 - f183;
|
|
1406 f190 = f163 + f183;
|
|
1407 f191 = f184 - f161;
|
|
1408 f192 = f161 + f184;
|
|
1409 f193 = MUL_C(COEF_CONST(0.5024192861881557), f186);
|
|
1410 f194 = MUL_C(COEF_CONST(0.5224986149396889), f188);
|
|
1411 f195 = MUL_C(COEF_CONST(0.5669440348163577), f190);
|
|
1412 f196 = MUL_C(COEF_CONST(0.6468217833599901), f192);
|
|
1413 f197 = MUL_C(COEF_CONST(0.7881546234512502), f191);
|
|
1414 f198 = MUL_C(COEF_CONST(1.0606776859903471), f189);
|
|
1415 f199 = MUL_C(COEF_CONST(1.7224470982383342), f187);
|
|
1416 f200 = MUL_C(COEF_CONST(5.1011486186891553), f185);
|
|
1417 f201 = MUL_C(COEF_CONST(0.7071067811865476), f16);
|
|
1418 f202 = f201 - t2[62];
|
|
1419 f203 = t2[62] + f201;
|
|
1420 f204 = f24 + f8;
|
|
1421 f205 = MUL_C(COEF_CONST(1.3065629648763766), f24);
|
|
1422 f206 = MUL_C(COEF_CONST((-0.9238795325112866)), f204);
|
|
1423 f207 = MUL_C(COEF_CONST((-0.5411961001461967)), f8);
|
|
1424 f208 = f205 + f206;
|
|
1425 f209 = f206 - f207;
|
|
1426 f210 = f203 + f209;
|
|
1427 f211 = f209 - f203;
|
|
1428 f212 = f202 + f208;
|
|
1429 f213 = f202 - f208;
|
|
1430 f214 = f20 + f28;
|
|
1431 f215 = f12 + f20;
|
|
1432 f216 = f4 + f12;
|
|
1433 f217 = MUL_C(COEF_CONST(0.7071067811865476), f215);
|
|
1434 f218 = f217 - f28;
|
|
1435 f219 = f28 + f217;
|
|
1436 f220 = f214 + f216;
|
|
1437 f221 = MUL_C(COEF_CONST(1.3065629648763766), f214);
|
|
1438 f222 = MUL_C(COEF_CONST((-0.9238795325112866)), f220);
|
|
1439 f223 = MUL_C(COEF_CONST((-0.5411961001461967)), f216);
|
|
1440 f224 = f221 + f222;
|
|
1441 f225 = f222 - f223;
|
|
1442 f226 = f219 + f225;
|
|
1443 f227 = f225 - f219;
|
|
1444 f228 = f218 + f224;
|
|
1445 f229 = f218 - f224;
|
|
1446 f230 = MUL_C(COEF_CONST(0.5097955791041592), f227);
|
|
1447 f231 = MUL_C(COEF_CONST(0.6013448869350453), f229);
|
|
1448 f232 = MUL_C(COEF_CONST(0.8999762231364156), f228);
|
|
1449 f233 = MUL_C(COEF_CONST(2.5629154477415055), f226);
|
|
1450 f234 = f211 - f230;
|
|
1451 f235 = f211 + f230;
|
|
1452 f236 = f213 - f231;
|
|
1453 f237 = f213 + f231;
|
|
1454 f238 = f212 - f232;
|
|
1455 f239 = f212 + f232;
|
|
1456 f240 = f233 - f210;
|
|
1457 f241 = f210 + f233;
|
|
1458 f242 = f193 - f235;
|
|
1459 f243 = f193 + f235;
|
|
1460 f244 = f237 - f194;
|
|
1461 f245 = f194 + f237;
|
|
1462 f246 = f195 - f239;
|
|
1463 f247 = f195 + f239;
|
|
1464 f248 = f196 - f241;
|
|
1465 f249 = f196 + f241;
|
|
1466 f250 = f197 - f240;
|
|
1467 f251 = f197 + f240;
|
|
1468 f252 = f238 - f198;
|
|
1469 f253 = f198 + f238;
|
|
1470 f254 = f199 - f236;
|
|
1471 f255 = f199 + f236;
|
|
1472 f256 = f234 - f200;
|
|
1473 f257 = f200 + f234;
|
|
1474 f258 = f243 + f130;
|
|
1475 f259 = MUL_C(COEF_CONST((-0.9751575901732920)), f243);
|
|
1476 f260 = MUL_C(COEF_CONST(0.9996988186962043), f258);
|
|
1477 f261 = MUL_C(COEF_CONST(1.0242400472191164), f130);
|
|
1478 y[62] = f259 + f260;
|
|
1479 y[0] = f261 - f260;
|
|
1480 f264 = f132 - f245;
|
|
1481 f265 = MUL_C(COEF_CONST((-0.9237258930790228)), f245);
|
|
1482 f266 = MUL_C(COEF_CONST(0.9972904566786902), f264);
|
|
1483 f267 = MUL_C(COEF_CONST(1.0708550202783576), f132);
|
|
1484 y[60] = f266 - f265;
|
|
1485 y[2] = f267 - f266;
|
|
1486 f270 = f247 + f134;
|
|
1487 f271 = MUL_C(COEF_CONST((-0.8700688593994936)), f247);
|
|
1488 f272 = MUL_C(COEF_CONST(0.9924795345987100), f270);
|
|
1489 f273 = MUL_C(COEF_CONST(1.1148902097979263), f134);
|
|
1490 y[58] = f271 + f272;
|
|
1491 y[4] = f273 - f272;
|
|
1492 f276 = f249 + f136;
|
|
1493 f277 = MUL_C(COEF_CONST((-0.8143157536286398)), f249);
|
|
1494 f278 = MUL_C(COEF_CONST(0.9852776423889412), f276);
|
|
1495 f279 = MUL_C(COEF_CONST(1.1562395311492426), f136);
|
|
1496 y[56] = f277 + f278;
|
|
1497 y[6] = f279 - f278;
|
|
1498 f282 = f251 + f138;
|
|
1499 f283 = MUL_C(COEF_CONST((-0.7566008898816587)), f251);
|
|
1500 f284 = MUL_C(COEF_CONST(0.9757021300385286), f282);
|
|
1501 f285 = MUL_C(COEF_CONST(1.1948033701953984), f138);
|
|
1502 y[54] = f283 + f284;
|
|
1503 y[8] = f285 - f284;
|
|
1504 f288 = f140 - f253;
|
|
1505 f289 = MUL_C(COEF_CONST((-0.6970633083205414)), f253);
|
|
1506 f290 = MUL_C(COEF_CONST(0.9637760657954398), f288);
|
|
1507 f291 = MUL_C(COEF_CONST(1.2304888232703384), f140);
|
|
1508 y[52] = f290 - f289;
|
|
1509 y[10] = f291 - f290;
|
|
1510 f294 = f255 + f142;
|
|
1511 f295 = MUL_C(COEF_CONST((-0.6358464401941451)), f255);
|
|
1512 f296 = MUL_C(COEF_CONST(0.9495281805930367), f294);
|
|
1513 f297 = MUL_C(COEF_CONST(1.2632099209919283), f142);
|
|
1514 y[50] = f295 + f296;
|
|
1515 y[12] = f297 - f296;
|
|
1516 f300 = f144 - f257;
|
|
1517 f301 = MUL_C(COEF_CONST((-0.5730977622997506)), f257);
|
|
1518 f302 = MUL_C(COEF_CONST(0.9329927988347389), f300);
|
|
1519 f303 = MUL_C(COEF_CONST(1.2928878353697271), f144);
|
|
1520 y[48] = f302 - f301;
|
|
1521 y[14] = f303 - f302;
|
|
1522 f306 = f256 + f143;
|
|
1523 f307 = MUL_C(COEF_CONST((-0.5089684416985408)), f256);
|
|
1524 f308 = MUL_C(COEF_CONST(0.9142097557035307), f306);
|
|
1525 f309 = MUL_C(COEF_CONST(1.3194510697085207), f143);
|
|
1526 y[46] = f307 + f308;
|
|
1527 y[16] = f309 - f308;
|
|
1528 f312 = f254 + f141;
|
|
1529 f313 = MUL_C(COEF_CONST((-0.4436129715409087)), f254);
|
|
1530 f314 = MUL_C(COEF_CONST(0.8932243011955153), f312);
|
|
1531 f315 = MUL_C(COEF_CONST(1.3428356308501219), f141);
|
|
1532 y[44] = f313 + f314;
|
|
1533 y[18] = f315 - f314;
|
|
1534 f318 = f252 + f139;
|
|
1535 f319 = MUL_C(COEF_CONST((-0.3771887988789273)), f252);
|
|
1536 f320 = MUL_C(COEF_CONST(0.8700869911087114), f318);
|
|
1537 f321 = MUL_C(COEF_CONST(1.3629851833384954), f139);
|
|
1538 y[42] = f319 + f320;
|
|
1539 y[20] = f321 - f320;
|
|
1540 f324 = f250 + f137;
|
|
1541 f325 = MUL_C(COEF_CONST((-0.3098559453626097)), f250);
|
|
1542 f326 = MUL_C(COEF_CONST(0.8448535652497070), f324);
|
|
1543 f327 = MUL_C(COEF_CONST(1.3798511851368043), f137);
|
|
1544 y[40] = f325 + f326;
|
|
1545 y[22] = f327 - f326;
|
|
1546 f330 = f248 + f135;
|
|
1547 f331 = MUL_C(COEF_CONST((-0.2417766217337384)), f248);
|
|
1548 f332 = MUL_C(COEF_CONST(0.8175848131515837), f330);
|
|
1549 f333 = MUL_C(COEF_CONST(1.3933930045694289), f135);
|
|
1550 y[38] = f331 + f332;
|
|
1551 y[24] = f333 - f332;
|
|
1552 f336 = f246 + f133;
|
|
1553 f337 = MUL_C(COEF_CONST((-0.1731148370459794)), f246);
|
|
1554 f338 = MUL_C(COEF_CONST(0.7883464276266062), f336);
|
|
1555 f339 = MUL_C(COEF_CONST(1.4035780182072330), f133);
|
|
1556 y[36] = f337 + f338;
|
|
1557 y[26] = f339 - f338;
|
|
1558 f342 = f244 + f131;
|
|
1559 f343 = MUL_C(COEF_CONST((-0.1040360035527077)), f244);
|
|
1560 f344 = MUL_C(COEF_CONST(0.7572088465064845), f342);
|
|
1561 f345 = MUL_C(COEF_CONST(1.4103816894602612), f131);
|
|
1562 y[34] = f343 + f344;
|
|
1563 y[28] = f345 - f344;
|
|
1564 f348 = f242 + f129;
|
|
1565 f349 = MUL_C(COEF_CONST((-0.0347065382144000)), f242);
|
|
1566 f350 = MUL_C(COEF_CONST(0.7242470829514669), f348);
|
|
1567 f351 = MUL_C(COEF_CONST(1.4137876276885337), f129);
|
|
1568 y[32] = f349 + f350;
|
|
1569 y[30] = f351 - f350;
|
|
1570 f354 = t2[1] - t2[63];
|
|
1571 f355 = t2[1] + t2[63];
|
|
1572 f356 = t2[3] - t2[61];
|
|
1573 f357 = t2[3] + t2[61];
|
|
1574 f358 = t2[5] - t2[59];
|
|
1575 f359 = t2[5] + t2[59];
|
|
1576 f360 = t2[7] - t2[57];
|
|
1577 f361 = t2[7] + t2[57];
|
|
1578 f362 = t2[9] - t2[55];
|
|
1579 f363 = t2[9] + t2[55];
|
|
1580 f364 = t2[11] - t2[53];
|
|
1581 f365 = t2[11] + t2[53];
|
|
1582 f366 = t2[13] - t2[51];
|
|
1583 f367 = t2[13] + t2[51];
|
|
1584 f368 = t2[15] - t2[49];
|
|
1585 f369 = t2[15] + t2[49];
|
|
1586 f370 = t2[17] - t2[47];
|
|
1587 f371 = t2[17] + t2[47];
|
|
1588 f372 = t2[19] - t2[45];
|
|
1589 f373 = t2[19] + t2[45];
|
|
1590 f374 = t2[21] - t2[43];
|
|
1591 f375 = t2[21] + t2[43];
|
|
1592 f376 = t2[23] - t2[41];
|
|
1593 f377 = t2[23] + t2[41];
|
|
1594 f378 = t2[25] - t2[39];
|
|
1595 f379 = t2[25] + t2[39];
|
|
1596 f380 = t2[27] - t2[37];
|
|
1597 f381 = t2[27] + t2[37];
|
|
1598 f382 = t2[29] - t2[35];
|
|
1599 f383 = t2[29] + t2[35];
|
|
1600 f384 = t2[31] - t2[33];
|
|
1601 f385 = t2[31] + t2[33];
|
|
1602 f386 = f369 + f371;
|
|
1603 f387 = f371 - f369;
|
|
1604 f388 = MUL_C(COEF_CONST(0.7071067811865476), f387);
|
|
1605 f389 = MUL_C(COEF_CONST(0.7071067811865476), f386);
|
|
1606 f390 = f363 + f377;
|
|
1607 f391 = f363 - f377;
|
|
1608 f392 = MUL_C(COEF_CONST(0.7071067811865476), f391);
|
|
1609 f393 = MUL_C(COEF_CONST(0.7071067811865476), f390);
|
|
1610 f394 = f367 + f373;
|
|
1611 f395 = f367 - f373;
|
|
1612 f396 = MUL_C(COEF_CONST(0.7071067811865476), f395);
|
|
1613 f397 = MUL_C(COEF_CONST(0.7071067811865476), f394);
|
|
1614 f398 = f365 + f375;
|
|
1615 f399 = f375 - f365;
|
|
1616 f400 = MUL_C(COEF_CONST(0.7071067811865476), f399);
|
|
1617 f401 = MUL_C(COEF_CONST(0.7071067811865476), f398);
|
|
1618 f402 = f355 - f388;
|
|
1619 f403 = f355 + f388;
|
|
1620 f404 = f389 - f385;
|
|
1621 f405 = f385 + f389;
|
|
1622 f406 = f361 + f392;
|
|
1623 f407 = f392 - f361;
|
|
1624 f408 = f379 - f393;
|
|
1625 f409 = f379 + f393;
|
|
1626 f410 = f357 + f396;
|
|
1627 f411 = f396 - f357;
|
|
1628 f412 = f383 - f397;
|
|
1629 f413 = f383 + f397;
|
|
1630 f414 = f359 - f400;
|
|
1631 f415 = f359 + f400;
|
|
1632 f416 = f401 - f381;
|
|
1633 f417 = f381 + f401;
|
|
1634 f418 = f409 + f407;
|
|
1635 f419 = MUL_C(COEF_CONST((-0.5411961001461969)), f409);
|
|
1636 f420 = MUL_C(COEF_CONST(0.9238795325112867), f418);
|
|
1637 f421 = MUL_C(COEF_CONST(1.3065629648763766), f407);
|
|
1638 f422 = f419 + f420;
|
|
1639 f423 = f421 - f420;
|
|
1640 f424 = f408 - f406;
|
|
1641 f425 = MUL_C(COEF_CONST(1.3065629648763770), f408);
|
|
1642 f426 = MUL_C(COEF_CONST((-0.3826834323650904)), f424);
|
|
1643 f427 = MUL_C(COEF_CONST(0.5411961001461961), f406);
|
|
1644 f428 = f425 + f426;
|
|
1645 f429 = f426 + f427;
|
|
1646 f430 = f415 - f417;
|
|
1647 f431 = MUL_C(COEF_CONST((-0.5411961001461969)), f417);
|
|
1648 f432 = MUL_C(COEF_CONST(0.9238795325112867), f430);
|
|
1649 f433 = MUL_C(COEF_CONST(1.3065629648763766), f415);
|
|
1650 f434 = f432 - f431;
|
|
1651 f435 = f433 - f432;
|
|
1652 f436 = f416 + f414;
|
|
1653 f437 = MUL_C(COEF_CONST(1.3065629648763770), f416);
|
|
1654 f438 = MUL_C(COEF_CONST((-0.3826834323650904)), f436);
|
|
1655 f439 = MUL_C(COEF_CONST(0.5411961001461961), f414);
|
|
1656 f440 = f437 + f438;
|
|
1657 f441 = f439 - f438;
|
|
1658 f442 = f403 - f422;
|
|
1659 f443 = f403 + f422;
|
|
1660 f444 = f405 + f423;
|
|
1661 f445 = f423 - f405;
|
|
1662 f446 = f402 - f428;
|
|
1663 f447 = f402 + f428;
|
|
1664 f448 = f404 + f429;
|
|
1665 f449 = f404 - f429;
|
|
1666 f450 = f411 - f434;
|
|
1667 f451 = f411 + f434;
|
|
1668 f452 = f413 - f435;
|
|
1669 f453 = f413 + f435;
|
|
1670 f454 = f410 + f440;
|
|
1671 f455 = f440 - f410;
|
|
1672 f456 = f412 - f441;
|
|
1673 f457 = f412 + f441;
|
|
1674 f458 = f453 + f451;
|
|
1675 f459 = MUL_C(COEF_CONST((-0.7856949583871021)), f453);
|
|
1676 f460 = MUL_C(COEF_CONST(0.9807852804032304), f458);
|
|
1677 f461 = MUL_C(COEF_CONST(1.1758756024193588), f451);
|
|
1678 f462 = f459 + f460;
|
|
1679 f463 = f461 - f460;
|
|
1680 f464 = f457 + f455;
|
|
1681 f465 = MUL_C(COEF_CONST(0.2758993792829431), f457);
|
|
1682 f466 = MUL_C(COEF_CONST(0.5555702330196022), f464);
|
|
1683 f467 = MUL_C(COEF_CONST(1.3870398453221475), f455);
|
|
1684 f468 = f465 + f466;
|
|
1685 f469 = f467 - f466;
|
|
1686 f470 = f452 + f450;
|
|
1687 f471 = MUL_C(COEF_CONST(1.1758756024193591), f452);
|
|
1688 f472 = MUL_C(COEF_CONST((-0.1950903220161287)), f470);
|
|
1689 f473 = MUL_C(COEF_CONST(0.7856949583871016), f450);
|
|
1690 f474 = f471 + f472;
|
|
1691 f475 = f473 - f472;
|
|
1692 f476 = f456 - f454;
|
|
1693 f477 = MUL_C(COEF_CONST(1.3870398453221473), f456);
|
|
1694 f478 = MUL_C(COEF_CONST((-0.8314696123025455)), f476);
|
|
1695 f479 = MUL_C(COEF_CONST((-0.2758993792829436)), f454);
|
|
1696 f480 = f477 + f478;
|
|
1697 f481 = f478 + f479;
|
|
1698 f482 = f443 - f462;
|
|
1699 f483 = f443 + f462;
|
|
1700 f484 = f445 - f463;
|
|
1701 f485 = f445 + f463;
|
|
1702 f486 = f447 - f468;
|
|
1703 f487 = f447 + f468;
|
|
1704 f488 = f449 - f469;
|
|
1705 f489 = f449 + f469;
|
|
1706 f490 = f442 - f474;
|
|
1707 f491 = f442 + f474;
|
|
1708 f492 = f444 + f475;
|
|
1709 f493 = f475 - f444;
|
|
1710 f494 = f446 - f480;
|
|
1711 f495 = f446 + f480;
|
|
1712 f496 = f448 + f481;
|
|
1713 f497 = f448 - f481;
|
|
1714 f498 = f485 + f483;
|
|
1715 f499 = MUL_C(COEF_CONST((-0.9497277818777543)), f485);
|
|
1716 f500 = MUL_C(COEF_CONST(0.9987954562051724), f498);
|
|
1717 f501 = MUL_C(COEF_CONST(1.0478631305325905), f483);
|
|
1718 y[61] = f499 + f500;
|
|
1719 y[1] = f501 - f500;
|
|
1720 f504 = f489 + f487;
|
|
1721 f505 = MUL_C(COEF_CONST((-0.7270510732912801)), f489);
|
|
1722 f506 = MUL_C(COEF_CONST(0.9700312531945440), f504);
|
|
1723 f507 = MUL_C(COEF_CONST(1.2130114330978079), f487);
|
|
1724 y[53] = f505 + f506;
|
|
1725 y[9] = f507 - f506;
|
|
1726 f510 = f493 + f491;
|
|
1727 f511 = MUL_C(COEF_CONST((-0.4764341996931611)), f493);
|
|
1728 f512 = MUL_C(COEF_CONST(0.9039892931234433), f510);
|
|
1729 f513 = MUL_C(COEF_CONST(1.3315443865537255), f491);
|
|
1730 y[45] = f511 + f512;
|
|
1731 y[17] = f513 - f512;
|
|
1732 f516 = f497 + f495;
|
|
1733 f517 = MUL_C(COEF_CONST((-0.2075082269882114)), f497);
|
|
1734 f518 = MUL_C(COEF_CONST(0.8032075314806448), f516);
|
|
1735 f519 = MUL_C(COEF_CONST(1.3989068359730783), f495);
|
|
1736 y[37] = f517 + f518;
|
|
1737 y[25] = f519 - f518;
|
|
1738 f522 = f484 + f482;
|
|
1739 f523 = MUL_C(COEF_CONST(0.0693921705079408), f484);
|
|
1740 f524 = MUL_C(COEF_CONST(0.6715589548470183), f522);
|
|
1741 f525 = MUL_C(COEF_CONST(1.4125100802019774), f482);
|
|
1742 y[29] = f523 + f524;
|
|
1743 y[33] = f525 - f524;
|
|
1744 f528 = f488 + f486;
|
|
1745 f529 = MUL_C(COEF_CONST(0.3436258658070505), f488);
|
|
1746 f530 = MUL_C(COEF_CONST(0.5141027441932217), f528);
|
|
1747 f531 = MUL_C(COEF_CONST(1.3718313541934939), f486);
|
|
1748 y[21] = f529 + f530;
|
|
1749 y[41] = f531 - f530;
|
|
1750 f534 = f490 - f492;
|
|
1751 f535 = MUL_C(COEF_CONST(0.6046542117908007), f492);
|
|
1752 f536 = MUL_C(COEF_CONST(0.3368898533922201), f534);
|
|
1753 f537 = MUL_C(COEF_CONST(1.2784339185752409), f490);
|
|
1754 y[13] = f536 - f535;
|
|
1755 y[49] = f537 - f536;
|
|
1756 f540 = f496 + f494;
|
|
1757 f541 = MUL_C(COEF_CONST(0.8424460355094192), f496);
|
|
1758 f542 = MUL_C(COEF_CONST(0.1467304744553618), f540);
|
|
1759 f543 = MUL_C(COEF_CONST(1.1359069844201428), f494);
|
|
1760 y[5] = f541 + f542;
|
|
1761 y[57] = f543 - f542;
|
|
1762 f546 = f354 + f384;
|
|
1763 f547 = f354 - f384;
|
|
1764 f548 = f356 + f382;
|
|
1765 f549 = f382 - f356;
|
|
1766 f550 = f358 + f380;
|
|
1767 f551 = f358 - f380;
|
|
1768 f552 = f360 + f378;
|
|
1769 f553 = f378 - f360;
|
|
1770 f554 = f362 + f376;
|
|
1771 f555 = f362 - f376;
|
|
1772 f556 = f364 + f374;
|
|
1773 f557 = f374 - f364;
|
|
1774 f558 = f366 + f372;
|
|
1775 f559 = f366 - f372;
|
|
1776 f560 = f368 + f370;
|
|
1777 f561 = f370 - f368;
|
|
1778 f562 = f547 - f561;
|
|
1779 f563 = f547 + f561;
|
|
1780 f564 = f549 - f559;
|
|
1781 f565 = f549 + f559;
|
|
1782 f566 = f551 - f557;
|
|
1783 f567 = f551 + f557;
|
|
1784 f568 = f553 - f555;
|
|
1785 f569 = f553 + f555;
|
|
1786 f570 = f563 - f569;
|
|
1787 f571 = f563 + f569;
|
|
1788 f572 = f565 - f567;
|
|
1789 f573 = f565 + f567;
|
|
1790 f574 = f571 - f573;
|
|
1791 y[63] = f571 + f573;
|
|
1792 y[31] = MUL_C(COEF_CONST(0.7071067811865476), f574);
|
|
1793 f577 = f570 + f572;
|
|
1794 f578 = MUL_C(COEF_CONST(1.3065629648763766), f570);
|
|
1795 f579 = MUL_C(COEF_CONST((-0.9238795325112866)), f577);
|
|
1796 f580 = MUL_C(COEF_CONST((-0.5411961001461967)), f572);
|
|
1797 y[15] = f578 + f579;
|
|
1798 y[47] = f580 - f579;
|
|
1799 f583 = f564 + f562;
|
|
1800 f584 = f566 + f564;
|
|
1801 f585 = f568 + f566;
|
|
1802 f586 = MUL_C(COEF_CONST(0.7071067811865476), f584);
|
|
1803 f587 = f562 - f586;
|
|
1804 f588 = f562 + f586;
|
|
1805 f589 = f583 + f585;
|
|
1806 f590 = MUL_C(COEF_CONST(1.3065629648763766), f583);
|
|
1807 f591 = MUL_C(COEF_CONST((-0.9238795325112866)), f589);
|
|
1808 f592 = MUL_C(COEF_CONST((-0.5411961001461967)), f585);
|
|
1809 f593 = f590 + f591;
|
|
1810 f594 = f592 - f591;
|
|
1811 f595 = f588 - f594;
|
|
1812 f596 = f588 + f594;
|
|
1813 f597 = f587 - f593;
|
|
1814 f598 = f587 + f593;
|
|
1815 y[55] = MUL_C(COEF_CONST(0.5097955791041592), f596);
|
|
1816 y[39] = MUL_C(COEF_CONST(0.6013448869350453), f598);
|
|
1817 y[23] = MUL_C(COEF_CONST(0.8999762231364156), f597);
|
|
1818 y[7] = MUL_C(COEF_CONST(2.5629154477415055), f595);
|
|
1819 f603 = MUL_C(COEF_CONST(0.5024192861881557), f546);
|
|
1820 f604 = MUL_C(COEF_CONST(0.5224986149396889), f548);
|
|
1821 f605 = MUL_C(COEF_CONST(0.5669440348163577), f550);
|
|
1822 f606 = MUL_C(COEF_CONST(0.6468217833599901), f552);
|
|
1823 f607 = MUL_C(COEF_CONST(0.7881546234512502), f554);
|
|
1824 f608 = MUL_C(COEF_CONST(1.0606776859903471), f556);
|
|
1825 f609 = MUL_C(COEF_CONST(1.7224470982383342), f558);
|
|
1826 f610 = MUL_C(COEF_CONST(5.1011486186891553), f560);
|
|
1827 f611 = f603 + f610;
|
|
1828 f612 = f603 - f610;
|
|
1829 f613 = f604 + f609;
|
|
1830 f614 = f609 - f604;
|
|
1831 f615 = f605 + f608;
|
|
1832 f616 = f605 - f608;
|
|
1833 f617 = f606 + f607;
|
|
1834 f618 = f607 - f606;
|
|
1835 f619 = f612 - f618;
|
|
1836 f620 = f612 + f618;
|
|
1837 f621 = f614 - f616;
|
|
1838 f622 = f614 + f616;
|
|
1839 f623 = f620 - f622;
|
|
1840 f624 = f620 + f622;
|
|
1841 f625 = MUL_C(COEF_CONST(0.7071067811865476), f623);
|
|
1842 f626 = f619 + f621;
|
|
1843 f627 = MUL_C(COEF_CONST(1.3065629648763766), f619);
|
|
1844 f628 = MUL_C(COEF_CONST((-0.9238795325112866)), f626);
|
|
1845 f629 = MUL_C(COEF_CONST((-0.5411961001461967)), f621);
|
|
1846 f630 = f627 + f628;
|
|
1847 f631 = f629 - f628;
|
|
1848 f632 = f611 - f613;
|
|
1849 f633 = f615 - f613;
|
|
1850 f634 = f615 - f617;
|
|
1851 f635 = MUL_C(COEF_CONST(0.7071067811865476), f633);
|
|
1852 f636 = f611 - f635;
|
|
1853 f637 = f611 + f635;
|
|
1854 f638 = f632 + f634;
|
|
1855 f639 = MUL_C(COEF_CONST(1.3065629648763766), f632);
|
|
1856 f640 = MUL_C(COEF_CONST((-0.9238795325112866)), f638);
|
|
1857 f641 = MUL_C(COEF_CONST((-0.5411961001461967)), f634);
|
|
1858 f642 = f639 + f640;
|
|
1859 f643 = f641 - f640;
|
|
1860 f644 = f637 - f643;
|
|
1861 f645 = f637 + f643;
|
|
1862 f646 = f636 - f642;
|
|
1863 f647 = f636 + f642;
|
|
1864 f648 = MUL_C(COEF_CONST(0.5097955791041592), f645);
|
|
1865 f649 = MUL_C(COEF_CONST(0.6013448869350453), f647);
|
|
1866 f650 = MUL_C(COEF_CONST(0.8999762231364156), f646);
|
|
1867 y[3] = MUL_C(COEF_CONST(2.5629154477415055), f644);
|
|
1868 y[59] = f624 + f648;
|
|
1869 y[51] = f648 + f631;
|
|
1870 y[43] = f631 + f649;
|
|
1871 y[35] = f649 + f625;
|
|
1872 y[27] = f625 + f650;
|
|
1873 y[19] = f650 + f630;
|
|
1874 y[11] = f630 + y[3];
|
10725
|
1875 }
|
|
1876
|
|
1877 #else
|
|
1878
|
|
1879 void DCT4_64(real_t *y, real_t *x)
|
|
1880 {
|
|
1881 int16_t i0;
|
12527
|
1882 ALIGN static real_t t2[64];
|
10725
|
1883
|
|
1884 t2[0] = x[0];
|
|
1885 for (i0=0; i0<31; i0++)
|
|
1886 {
|
|
1887 t2[2*i0+1] = x[2*i0+1] - x[2*i0+2];
|
|
1888 t2[2*i0+2] = x[2*i0+1] + x[2*i0+2];
|
|
1889 }
|
|
1890 t2[63] = x[63];
|
12527
|
1891
|
|
1892 DCT4_64_kernel(y, t2);
|
|
1893 }
|
|
1894
|
|
1895 void DCT4_64_kernel(real_t *y, real_t *t2)
|
|
1896 {
|
|
1897 real_t f2, f3, f4, f5, f6, f7, f8;
|
|
1898 real_t f9, f10, f11, f12, f13, f14, f15;
|
|
1899 real_t f16, f17, f18, f19, f20, f21, f22;
|
|
1900 real_t f23, f24, f25, f26, f27, f28, f29;
|
|
1901 real_t f30, f31, f32, f33, f34, f35, f36;
|
|
1902 real_t f37, f38, f39, f40, f41, f42, f43;
|
|
1903 real_t f44, f45, f46, f47, f48, f49, f50;
|
|
1904 real_t f51, f52, f53, f54, f55, f56, f57;
|
|
1905 real_t f58, f59, f60, f61, f62, f63, f64;
|
|
1906 real_t f65, f66, f67, f68, f69, f70, f71;
|
|
1907 real_t f72, f73, f74, f75, f76, f77, f78;
|
|
1908 real_t f79, f80, f81, f82, f83, f84, f85;
|
|
1909 real_t f86, f87, f88, f89, f90, f91, f92;
|
|
1910 real_t f93, f94, f95, f96, f97, f98, f99;
|
|
1911 real_t f100, f101, f102, f103, f104, f105, f106;
|
|
1912 real_t f107, f108, f109, f110, f111, f112, f113;
|
|
1913 real_t f114, f115, f116, f117, f118, f119, f120;
|
|
1914 real_t f121, f122, f123, f124, f125, f126, f127;
|
|
1915 real_t f128, f129, f130, f131, f132, f133, f134;
|
|
1916 real_t f135, f136, f137, f138, f139, f140, f141;
|
|
1917 real_t f142, f143, f144, f145, f146, f147, f148;
|
|
1918 real_t f149, f150, f151, f152, f153, f154, f155;
|
|
1919 real_t f156, f157, f158, f159, f160, f161, f162;
|
|
1920 real_t f163, f164, f165, f166, f167, f168, f169;
|
|
1921 real_t f170, f171, f172, f173, f174, f175, f176;
|
|
1922 real_t f177, f178, f179, f180, f181, f182, f183;
|
|
1923 real_t f184, f185, f186, f187, f188, f189, f190;
|
|
1924 real_t f191, f192, f193, f194, f195, f196, f197;
|
|
1925 real_t f198, f199, f200, f201, f202, f203, f204;
|
|
1926 real_t f205, f206, f207, f208, f209, f210, f211;
|
|
1927 real_t f212, f213, f214, f215, f216, f217, f218;
|
|
1928 real_t f219, f220, f221, f222, f223, f224, f225;
|
|
1929 real_t f226, f227, f228, f229, f230, f231, f232;
|
|
1930 real_t f233, f234, f235, f236, f237, f238, f239;
|
|
1931 real_t f240, f241, f242, f243, f244, f245, f246;
|
|
1932 real_t f247, f248, f249, f250, f251, f252, f253;
|
|
1933 real_t f254, f255, f256, f257, f258, f259, f260;
|
|
1934 real_t f261, f262, f263, f264, f265, f266, f267;
|
|
1935 real_t f268, f269, f270, f271, f272, f273, f274;
|
|
1936 real_t f275, f276, f277, f278, f279, f280, f281;
|
|
1937 real_t f282, f283, f284, f285, f286, f287, f288;
|
|
1938 real_t f289, f290, f291, f292, f293, f294, f295;
|
|
1939 real_t f296, f297, f298, f299, f300, f301, f302;
|
|
1940 real_t f303, f304, f305, f306, f307, f308, f309;
|
|
1941 real_t f310, f311, f312, f313, f314, f315, f316;
|
|
1942 real_t f317, f318, f319, f320, f321, f322, f323;
|
|
1943 real_t f324, f325, f326, f327, f328, f329, f330;
|
|
1944 real_t f331, f332, f333, f334, f335, f336, f337;
|
|
1945 real_t f338, f339, f340, f341, f342, f343, f344;
|
|
1946 real_t f345, f346, f347, f348, f349, f350, f351;
|
|
1947 real_t f352, f353, f354, f355, f356, f357, f358;
|
|
1948 real_t f359, f360, f361, f362, f363, f364, f365;
|
|
1949 real_t f366, f367, f368, f369, f370, f371, f372;
|
|
1950 real_t f373, f374, f375, f376, f377, f378, f379;
|
|
1951 real_t f380, f381, f382, f383, f384, f385, f386;
|
|
1952 real_t f387, f388, f389, f390, f391, f392, f393;
|
|
1953 real_t f394, f395, f396, f397, f398, f399, f400;
|
|
1954 real_t f401, f402, f403, f404, f405, f406, f407;
|
|
1955 real_t f408, f409, f410, f411, f412, f413, f414;
|
|
1956 real_t f415, f416, f417, f418, f419, f420, f421;
|
|
1957 real_t f422, f423, f424, f425, f426, f427, f428;
|
|
1958 real_t f429, f430, f431, f432, f433, f434, f435;
|
|
1959 real_t f436, f437, f438, f439, f440, f441, f442;
|
|
1960 real_t f443, f444, f445, f446, f447, f448, f449;
|
|
1961 real_t f450, f451, f452, f453, f454, f455, f456;
|
|
1962 real_t f457, f458, f459, f460, f461, f462, f463;
|
|
1963 real_t f464, f465, f466, f467, f468, f469, f470;
|
|
1964 real_t f471, f472, f473, f474, f475, f476, f477;
|
|
1965 real_t f478, f479, f480, f481, f482, f483, f484;
|
|
1966 real_t f485, f486, f487, f488, f489, f490, f491;
|
|
1967 real_t f492, f493, f494, f495, f496, f497, f498;
|
|
1968 real_t f499, f500, f501, f502, f503, f504, f505;
|
|
1969 real_t f506, f507, f508, f509, f510, f511, f512;
|
|
1970 real_t f513, f514, f515, f516, f517, f518, f519;
|
|
1971 real_t f520, f521, f522, f523, f524, f525, f526;
|
|
1972 real_t f527, f528, f529, f530, f531, f532, f533;
|
|
1973 real_t f534, f535, f536, f537, f538, f539, f540;
|
|
1974 real_t f541, f542, f543, f544, f545, f546, f547;
|
|
1975 real_t f548, f549, f550, f551, f552, f553, f554;
|
|
1976 real_t f555, f556, f557, f558, f559, f560, f561;
|
|
1977 real_t f562, f563, f564, f565, f566, f567, f568;
|
|
1978 real_t f569, f570, f571, f572, f573, f574, f575;
|
|
1979 real_t f576, f577, f578, f579, f580, f581, f582;
|
|
1980 real_t f583, f584, f585, f586, f587, f588, f589;
|
|
1981 real_t f590, f591, f592, f593, f594, f595, f596;
|
|
1982 real_t f597, f598, f599, f600, f601, f602, f603;
|
|
1983 real_t f604, f605, f606, f607, f608, f609, f610;
|
|
1984 real_t f611, f612, f613, f614, f615, f618, f619;
|
|
1985 real_t f620, f621, f624, f625, f626, f627, f630;
|
|
1986 real_t f631, f632, f633, f636, f637, f638, f639;
|
|
1987 real_t f642, f643, f644, f645, f648, f649, f650;
|
|
1988 real_t f651, f654, f655, f656, f657, f660, f661;
|
|
1989 real_t f662, f663, f666, f667, f668, f669, f672;
|
|
1990 real_t f673, f674, f675, f678, f679, f680, f681;
|
|
1991 real_t f684, f685, f686, f687, f690, f691, f692;
|
|
1992 real_t f693, f696, f697, f698, f699, f702, f703;
|
|
1993 real_t f704, f705, f708, f709, f710, f711, f714;
|
|
1994 real_t f715, f716, f717, f720, f721, f722, f723;
|
|
1995 real_t f726, f727, f728, f729, f732, f733, f734;
|
|
1996 real_t f735, f738, f739, f740, f741, f744, f745;
|
|
1997 real_t f746, f747, f750, f751, f752, f753, f756;
|
|
1998 real_t f757, f758, f759, f762, f763, f764, f765;
|
|
1999 real_t f768, f769, f770, f771, f774, f775, f776;
|
|
2000 real_t f777, f780, f781, f782, f783, f786, f787;
|
|
2001 real_t f788, f789, f792, f793, f794, f795, f798;
|
|
2002 real_t f799, f800, f801;
|
|
2003
|
10725
|
2004 f2 = 0.7071067811865476 * t2[32];
|
12527
|
2005 f3 = t2[0] - f2;
|
|
2006 f4 = t2[0] + f2;
|
10725
|
2007 f5 = t2[16] + t2[48];
|
|
2008 f6 = 1.3065629648763766 * t2[16];
|
|
2009 f7 = (-0.9238795325112866) * f5;
|
|
2010 f8 = (-0.5411961001461967) * t2[48];
|
|
2011 f9 = f6 + f7;
|
|
2012 f10 = f8 - f7;
|
|
2013 f11 = f4 - f10;
|
|
2014 f12 = f4 + f10;
|
|
2015 f13 = f3 - f9;
|
|
2016 f14 = f3 + f9;
|
|
2017 f15 = t2[8] + t2[56];
|
|
2018 f16 = 1.1758756024193588 * t2[8];
|
|
2019 f17 = (-0.9807852804032304) * f15;
|
|
2020 f18 = (-0.7856949583871021) * t2[56];
|
|
2021 f19 = f16 + f17;
|
|
2022 f20 = f18 - f17;
|
|
2023 f21 = t2[24] + t2[40];
|
|
2024 f22 = 1.3870398453221473 * t2[24];
|
|
2025 f23 = (-0.8314696123025455) * f21;
|
|
2026 f24 = (-0.2758993792829436) * t2[40];
|
|
2027 f25 = f22 + f23;
|
|
2028 f26 = f24 - f23;
|
|
2029 f27 = f20 - f26;
|
|
2030 f28 = f20 + f26;
|
|
2031 f29 = 0.7071067811865476 * f27;
|
|
2032 f30 = f19 - f25;
|
|
2033 f31 = f19 + f25;
|
|
2034 f32 = 0.7071067811865476 * f31;
|
|
2035 f33 = f29 - f32;
|
|
2036 f34 = f29 + f32;
|
|
2037 f35 = f12 - f28;
|
|
2038 f36 = f12 + f28;
|
|
2039 f37 = f14 - f34;
|
|
2040 f38 = f14 + f34;
|
|
2041 f39 = f13 - f33;
|
|
2042 f40 = f13 + f33;
|
|
2043 f41 = f11 - f30;
|
|
2044 f42 = f11 + f30;
|
|
2045 f43 = t2[4] + t2[60];
|
|
2046 f44 = 1.0932018670017569 * t2[4];
|
|
2047 f45 = (-0.9951847266721969) * f43;
|
|
2048 f46 = (-0.8971675863426368) * t2[60];
|
|
2049 f47 = f44 + f45;
|
|
2050 f48 = f46 - f45;
|
|
2051 f49 = t2[12] + t2[52];
|
|
2052 f50 = 1.2472250129866711 * t2[12];
|
|
2053 f51 = (-0.9569403357322089) * f49;
|
|
2054 f52 = (-0.6666556584777469) * t2[52];
|
|
2055 f53 = f50 + f51;
|
|
2056 f54 = f52 - f51;
|
|
2057 f55 = t2[20] + t2[44];
|
|
2058 f56 = 1.3533180011743526 * t2[20];
|
|
2059 f57 = (-0.8819212643483551) * f55;
|
|
2060 f58 = (-0.4105245275223575) * t2[44];
|
|
2061 f59 = f56 + f57;
|
|
2062 f60 = f58 - f57;
|
|
2063 f61 = t2[28] + t2[36];
|
|
2064 f62 = 1.4074037375263826 * t2[28];
|
|
2065 f63 = (-0.7730104533627369) * f61;
|
|
2066 f64 = (-0.1386171691990913) * t2[36];
|
|
2067 f65 = f62 + f63;
|
|
2068 f66 = f64 - f63;
|
|
2069 f67 = f48 - f66;
|
|
2070 f68 = f48 + f66;
|
|
2071 f69 = f54 - f60;
|
|
2072 f70 = f54 + f60;
|
|
2073 f71 = f68 - f70;
|
|
2074 f72 = f68 + f70;
|
|
2075 f73 = 0.7071067811865476 * f71;
|
|
2076 f74 = f67 + f69;
|
|
2077 f75 = 1.3065629648763766 * f67;
|
|
2078 f76 = (-0.9238795325112866) * f74;
|
|
2079 f77 = (-0.5411961001461967) * f69;
|
|
2080 f78 = f75 + f76;
|
|
2081 f79 = f77 - f76;
|
|
2082 f80 = f47 - f65;
|
|
2083 f81 = f47 + f65;
|
|
2084 f82 = f53 - f59;
|
|
2085 f83 = f53 + f59;
|
|
2086 f84 = f81 + f83;
|
|
2087 f85 = 1.3065629648763770 * f81;
|
|
2088 f86 = (-0.3826834323650904) * f84;
|
|
2089 f87 = 0.5411961001461961 * f83;
|
|
2090 f88 = f85 + f86;
|
|
2091 f89 = f87 - f86;
|
|
2092 f90 = f80 - f82;
|
|
2093 f91 = f80 + f82;
|
|
2094 f92 = 0.7071067811865476 * f91;
|
|
2095 f93 = f79 - f89;
|
|
2096 f94 = f79 + f89;
|
|
2097 f95 = f73 - f92;
|
|
2098 f96 = f73 + f92;
|
|
2099 f97 = f78 - f88;
|
|
2100 f98 = f78 + f88;
|
|
2101 f99 = f36 - f72;
|
|
2102 f100 = f36 + f72;
|
|
2103 f101 = f38 - f94;
|
|
2104 f102 = f38 + f94;
|
|
2105 f103 = f40 - f93;
|
|
2106 f104 = f40 + f93;
|
|
2107 f105 = f42 - f96;
|
|
2108 f106 = f42 + f96;
|
|
2109 f107 = f41 - f95;
|
|
2110 f108 = f41 + f95;
|
|
2111 f109 = f39 - f98;
|
|
2112 f110 = f39 + f98;
|
|
2113 f111 = f37 - f97;
|
|
2114 f112 = f37 + f97;
|
|
2115 f113 = f35 - f90;
|
|
2116 f114 = f35 + f90;
|
|
2117 f115 = t2[2] + t2[62];
|
|
2118 f116 = 1.0478631305325901 * t2[2];
|
|
2119 f117 = (-0.9987954562051724) * f115;
|
|
2120 f118 = (-0.9497277818777548) * t2[62];
|
|
2121 f119 = f116 + f117;
|
|
2122 f120 = f118 - f117;
|
|
2123 f121 = t2[10] + t2[54];
|
|
2124 f122 = 1.2130114330978077 * t2[10];
|
|
2125 f123 = (-0.9700312531945440) * f121;
|
|
2126 f124 = (-0.7270510732912803) * t2[54];
|
|
2127 f125 = f122 + f123;
|
|
2128 f126 = f124 - f123;
|
|
2129 f127 = t2[18] + t2[46];
|
|
2130 f128 = 1.3315443865537255 * t2[18];
|
|
2131 f129 = (-0.9039892931234433) * f127;
|
|
2132 f130 = (-0.4764341996931612) * t2[46];
|
|
2133 f131 = f128 + f129;
|
|
2134 f132 = f130 - f129;
|
|
2135 f133 = t2[26] + t2[38];
|
|
2136 f134 = 1.3989068359730781 * t2[26];
|
|
2137 f135 = (-0.8032075314806453) * f133;
|
|
2138 f136 = (-0.2075082269882124) * t2[38];
|
|
2139 f137 = f134 + f135;
|
|
2140 f138 = f136 - f135;
|
|
2141 f139 = t2[34] + t2[30];
|
|
2142 f140 = 1.4125100802019777 * t2[34];
|
|
2143 f141 = (-0.6715589548470187) * f139;
|
|
2144 f142 = 0.0693921705079402 * t2[30];
|
|
2145 f143 = f140 + f141;
|
|
2146 f144 = f142 - f141;
|
|
2147 f145 = t2[42] + t2[22];
|
|
2148 f146 = 1.3718313541934939 * t2[42];
|
|
2149 f147 = (-0.5141027441932219) * f145;
|
|
2150 f148 = 0.3436258658070501 * t2[22];
|
|
2151 f149 = f146 + f147;
|
|
2152 f150 = f148 - f147;
|
|
2153 f151 = t2[50] + t2[14];
|
|
2154 f152 = 1.2784339185752409 * t2[50];
|
|
2155 f153 = (-0.3368898533922200) * f151;
|
|
2156 f154 = 0.6046542117908008 * t2[14];
|
|
2157 f155 = f152 + f153;
|
|
2158 f156 = f154 - f153;
|
|
2159 f157 = t2[58] + t2[6];
|
|
2160 f158 = 1.1359069844201433 * t2[58];
|
|
2161 f159 = (-0.1467304744553624) * f157;
|
|
2162 f160 = 0.8424460355094185 * t2[6];
|
|
2163 f161 = f158 + f159;
|
|
2164 f162 = f160 - f159;
|
|
2165 f163 = f120 - f144;
|
|
2166 f164 = f120 + f144;
|
|
2167 f165 = f119 - f143;
|
|
2168 f166 = f119 + f143;
|
|
2169 f167 = f126 - f150;
|
|
2170 f168 = f126 + f150;
|
|
2171 f169 = f125 - f149;
|
|
2172 f170 = f125 + f149;
|
|
2173 f171 = f132 - f156;
|
|
2174 f172 = f132 + f156;
|
|
2175 f173 = f131 - f155;
|
|
2176 f174 = f131 + f155;
|
|
2177 f175 = f138 - f162;
|
|
2178 f176 = f138 + f162;
|
|
2179 f177 = f137 - f161;
|
|
2180 f178 = f137 + f161;
|
|
2181 f179 = f163 + f165;
|
|
2182 f180 = 1.1758756024193588 * f163;
|
|
2183 f181 = (-0.9807852804032304) * f179;
|
|
2184 f182 = (-0.7856949583871021) * f165;
|
|
2185 f183 = f180 + f181;
|
|
2186 f184 = f182 - f181;
|
|
2187 f185 = f167 + f169;
|
|
2188 f186 = 1.3870398453221475 * f167;
|
|
2189 f187 = (-0.5555702330196022) * f185;
|
|
2190 f188 = 0.2758993792829431 * f169;
|
|
2191 f189 = f186 + f187;
|
|
2192 f190 = f188 - f187;
|
|
2193 f191 = f171 + f173;
|
|
2194 f192 = 0.7856949583871022 * f171;
|
|
2195 f193 = 0.1950903220161283 * f191;
|
|
2196 f194 = 1.1758756024193586 * f173;
|
|
2197 f195 = f192 + f193;
|
|
2198 f196 = f194 - f193;
|
|
2199 f197 = f175 + f177;
|
|
2200 f198 = (-0.2758993792829430) * f175;
|
|
2201 f199 = 0.8314696123025452 * f197;
|
|
2202 f200 = 1.3870398453221475 * f177;
|
|
2203 f201 = f198 + f199;
|
|
2204 f202 = f200 - f199;
|
|
2205 f203 = f164 - f172;
|
|
2206 f204 = f164 + f172;
|
|
2207 f205 = f166 - f174;
|
|
2208 f206 = f166 + f174;
|
|
2209 f207 = f168 - f176;
|
|
2210 f208 = f168 + f176;
|
|
2211 f209 = f170 - f178;
|
|
2212 f210 = f170 + f178;
|
|
2213 f211 = f184 - f196;
|
|
2214 f212 = f184 + f196;
|
|
2215 f213 = f183 - f195;
|
|
2216 f214 = f183 + f195;
|
|
2217 f215 = f190 - f202;
|
|
2218 f216 = f190 + f202;
|
|
2219 f217 = f189 - f201;
|
|
2220 f218 = f189 + f201;
|
|
2221 f219 = f203 + f205;
|
|
2222 f220 = 1.3065629648763766 * f203;
|
|
2223 f221 = (-0.9238795325112866) * f219;
|
|
2224 f222 = (-0.5411961001461967) * f205;
|
|
2225 f223 = f220 + f221;
|
|
2226 f224 = f222 - f221;
|
|
2227 f225 = f207 + f209;
|
|
2228 f226 = 0.5411961001461969 * f207;
|
|
2229 f227 = 0.3826834323650898 * f225;
|
|
2230 f228 = 1.3065629648763766 * f209;
|
|
2231 f229 = f226 + f227;
|
|
2232 f230 = f228 - f227;
|
|
2233 f231 = f211 + f213;
|
|
2234 f232 = 1.3065629648763766 * f211;
|
|
2235 f233 = (-0.9238795325112866) * f231;
|
|
2236 f234 = (-0.5411961001461967) * f213;
|
|
2237 f235 = f232 + f233;
|
|
2238 f236 = f234 - f233;
|
|
2239 f237 = f215 + f217;
|
|
2240 f238 = 0.5411961001461969 * f215;
|
|
2241 f239 = 0.3826834323650898 * f237;
|
|
2242 f240 = 1.3065629648763766 * f217;
|
|
2243 f241 = f238 + f239;
|
|
2244 f242 = f240 - f239;
|
|
2245 f243 = f204 - f208;
|
|
2246 f244 = f204 + f208;
|
|
2247 f245 = f206 - f210;
|
|
2248 f246 = f206 + f210;
|
|
2249 f247 = f224 - f230;
|
|
2250 f248 = f224 + f230;
|
|
2251 f249 = f223 - f229;
|
|
2252 f250 = f223 + f229;
|
|
2253 f251 = f212 - f216;
|
|
2254 f252 = f212 + f216;
|
|
2255 f253 = f214 - f218;
|
|
2256 f254 = f214 + f218;
|
|
2257 f255 = f236 - f242;
|
|
2258 f256 = f236 + f242;
|
|
2259 f257 = f235 - f241;
|
|
2260 f258 = f235 + f241;
|
|
2261 f259 = f243 - f245;
|
|
2262 f260 = f243 + f245;
|
|
2263 f261 = 0.7071067811865474 * f259;
|
|
2264 f262 = 0.7071067811865474 * f260;
|
|
2265 f263 = f247 - f249;
|
|
2266 f264 = f247 + f249;
|
|
2267 f265 = 0.7071067811865474 * f263;
|
|
2268 f266 = 0.7071067811865474 * f264;
|
|
2269 f267 = f251 - f253;
|
|
2270 f268 = f251 + f253;
|
|
2271 f269 = 0.7071067811865474 * f267;
|
|
2272 f270 = 0.7071067811865474 * f268;
|
|
2273 f271 = f255 - f257;
|
|
2274 f272 = f255 + f257;
|
|
2275 f273 = 0.7071067811865474 * f271;
|
|
2276 f274 = 0.7071067811865474 * f272;
|
|
2277 f275 = f100 - f244;
|
|
2278 f276 = f100 + f244;
|
|
2279 f277 = f102 - f252;
|
|
2280 f278 = f102 + f252;
|
|
2281 f279 = f104 - f256;
|
|
2282 f280 = f104 + f256;
|
|
2283 f281 = f106 - f248;
|
|
2284 f282 = f106 + f248;
|
|
2285 f283 = f108 - f266;
|
|
2286 f284 = f108 + f266;
|
|
2287 f285 = f110 - f274;
|
|
2288 f286 = f110 + f274;
|
|
2289 f287 = f112 - f270;
|
|
2290 f288 = f112 + f270;
|
|
2291 f289 = f114 - f262;
|
|
2292 f290 = f114 + f262;
|
|
2293 f291 = f113 - f261;
|
|
2294 f292 = f113 + f261;
|
|
2295 f293 = f111 - f269;
|
|
2296 f294 = f111 + f269;
|
|
2297 f295 = f109 - f273;
|
|
2298 f296 = f109 + f273;
|
|
2299 f297 = f107 - f265;
|
|
2300 f298 = f107 + f265;
|
|
2301 f299 = f105 - f250;
|
|
2302 f300 = f105 + f250;
|
|
2303 f301 = f103 - f258;
|
|
2304 f302 = f103 + f258;
|
|
2305 f303 = f101 - f254;
|
|
2306 f304 = f101 + f254;
|
|
2307 f305 = f99 - f246;
|
|
2308 f306 = f99 + f246;
|
|
2309 f307 = t2[1] - t2[61];
|
|
2310 f308 = 1.0478631305325901 * t2[1];
|
|
2311 f309 = (-0.9987954562051724) * f307;
|
|
2312 f310 = (-0.9497277818777548) * t2[61];
|
|
2313 f311 = f308 + f309;
|
|
2314 f312 = f309 + f310;
|
|
2315 f313 = t2[9] - t2[53];
|
|
2316 f314 = 1.2130114330978077 * t2[9];
|
|
2317 f315 = (-0.9700312531945440) * f313;
|
|
2318 f316 = (-0.7270510732912803) * t2[53];
|
|
2319 f317 = f314 + f315;
|
|
2320 f318 = f315 + f316;
|
|
2321 f319 = t2[17] - t2[45];
|
|
2322 f320 = 1.3315443865537255 * t2[17];
|
|
2323 f321 = (-0.9039892931234433) * f319;
|
|
2324 f322 = (-0.4764341996931612) * t2[45];
|
|
2325 f323 = f320 + f321;
|
|
2326 f324 = f321 + f322;
|
|
2327 f325 = t2[25] - t2[37];
|
|
2328 f326 = 1.3989068359730781 * t2[25];
|
|
2329 f327 = (-0.8032075314806453) * f325;
|
|
2330 f328 = (-0.2075082269882124) * t2[37];
|
|
2331 f329 = f326 + f327;
|
|
2332 f330 = f327 + f328;
|
|
2333 f331 = t2[33] - t2[29];
|
|
2334 f332 = 1.4125100802019777 * t2[33];
|
|
2335 f333 = (-0.6715589548470187) * f331;
|
|
2336 f334 = 0.0693921705079402 * t2[29];
|
|
2337 f335 = f332 + f333;
|
|
2338 f336 = f333 + f334;
|
|
2339 f337 = t2[41] - t2[21];
|
|
2340 f338 = 1.3718313541934939 * t2[41];
|
|
2341 f339 = (-0.5141027441932219) * f337;
|
|
2342 f340 = 0.3436258658070501 * t2[21];
|
|
2343 f341 = f338 + f339;
|
|
2344 f342 = f339 + f340;
|
|
2345 f343 = t2[49] - t2[13];
|
|
2346 f344 = 1.2784339185752409 * t2[49];
|
|
2347 f345 = (-0.3368898533922200) * f343;
|
|
2348 f346 = 0.6046542117908008 * t2[13];
|
|
2349 f347 = f344 + f345;
|
|
2350 f348 = f345 + f346;
|
|
2351 f349 = t2[57] - t2[5];
|
|
2352 f350 = 1.1359069844201433 * t2[57];
|
|
2353 f351 = (-0.1467304744553624) * f349;
|
|
2354 f352 = 0.8424460355094185 * t2[5];
|
|
2355 f353 = f350 + f351;
|
|
2356 f354 = f351 + f352;
|
|
2357 f355 = f336 - f312;
|
|
2358 f356 = f312 + f336;
|
|
2359 f357 = f311 - f335;
|
|
2360 f358 = f311 + f335;
|
|
2361 f359 = f342 - f318;
|
|
2362 f360 = f318 + f342;
|
|
2363 f361 = f317 - f341;
|
|
2364 f362 = f317 + f341;
|
|
2365 f363 = f348 - f324;
|
|
2366 f364 = f324 + f348;
|
|
2367 f365 = f323 - f347;
|
|
2368 f366 = f323 + f347;
|
|
2369 f367 = f354 - f330;
|
|
2370 f368 = f330 + f354;
|
|
2371 f369 = f329 - f353;
|
|
2372 f370 = f329 + f353;
|
|
2373 f371 = f355 + f357;
|
|
2374 f372 = 1.1758756024193588 * f355;
|
|
2375 f373 = (-0.9807852804032304) * f371;
|
|
2376 f374 = (-0.7856949583871021) * f357;
|
|
2377 f375 = f372 + f373;
|
|
2378 f376 = f374 - f373;
|
|
2379 f377 = f359 + f361;
|
|
2380 f378 = 1.3870398453221475 * f359;
|
|
2381 f379 = (-0.5555702330196022) * f377;
|
|
2382 f380 = 0.2758993792829431 * f361;
|
|
2383 f381 = f378 + f379;
|
|
2384 f382 = f380 - f379;
|
|
2385 f383 = f363 + f365;
|
|
2386 f384 = 0.7856949583871022 * f363;
|
|
2387 f385 = 0.1950903220161283 * f383;
|
|
2388 f386 = 1.1758756024193586 * f365;
|
|
2389 f387 = f384 + f385;
|
|
2390 f388 = f386 - f385;
|
|
2391 f389 = f367 + f369;
|
|
2392 f390 = (-0.2758993792829430) * f367;
|
|
2393 f391 = 0.8314696123025452 * f389;
|
|
2394 f392 = 1.3870398453221475 * f369;
|
|
2395 f393 = f390 + f391;
|
|
2396 f394 = f392 - f391;
|
|
2397 f395 = f364 - f356;
|
|
2398 f396 = f356 + f364;
|
|
2399 f397 = f358 - f366;
|
|
2400 f398 = f358 + f366;
|
|
2401 f399 = f368 - f360;
|
|
2402 f400 = f360 + f368;
|
|
2403 f401 = f362 - f370;
|
|
2404 f402 = f362 + f370;
|
|
2405 f403 = f376 - f388;
|
|
2406 f404 = f376 + f388;
|
|
2407 f405 = f375 - f387;
|
|
2408 f406 = f375 + f387;
|
|
2409 f407 = f382 - f394;
|
|
2410 f408 = f382 + f394;
|
|
2411 f409 = f381 - f393;
|
|
2412 f410 = f381 + f393;
|
|
2413 f411 = f395 + f397;
|
|
2414 f412 = 1.3065629648763766 * f395;
|
|
2415 f413 = (-0.9238795325112866) * f411;
|
|
2416 f414 = (-0.5411961001461967) * f397;
|
|
2417 f415 = f412 + f413;
|
|
2418 f416 = f414 - f413;
|
|
2419 f417 = f399 + f401;
|
|
2420 f418 = 0.5411961001461969 * f399;
|
|
2421 f419 = 0.3826834323650898 * f417;
|
|
2422 f420 = 1.3065629648763766 * f401;
|
|
2423 f421 = f418 + f419;
|
|
2424 f422 = f420 - f419;
|
|
2425 f423 = f403 + f405;
|
|
2426 f424 = 1.3065629648763766 * f403;
|
|
2427 f425 = (-0.9238795325112866) * f423;
|
|
2428 f426 = (-0.5411961001461967) * f405;
|
|
2429 f427 = f424 + f425;
|
|
2430 f428 = f426 - f425;
|
|
2431 f429 = f407 + f409;
|
|
2432 f430 = 0.5411961001461969 * f407;
|
|
2433 f431 = 0.3826834323650898 * f429;
|
|
2434 f432 = 1.3065629648763766 * f409;
|
|
2435 f433 = f430 + f431;
|
|
2436 f434 = f432 - f431;
|
|
2437 f435 = f400 - f396;
|
|
2438 f436 = f396 + f400;
|
|
2439 f437 = f398 - f402;
|
|
2440 f438 = f398 + f402;
|
|
2441 f439 = f416 - f422;
|
|
2442 f440 = f416 + f422;
|
|
2443 f441 = f415 - f421;
|
|
2444 f442 = f415 + f421;
|
|
2445 f443 = f404 - f408;
|
|
2446 f444 = f404 + f408;
|
|
2447 f445 = f406 - f410;
|
|
2448 f446 = f406 + f410;
|
|
2449 f447 = f428 - f434;
|
|
2450 f448 = f428 + f434;
|
|
2451 f449 = f427 - f433;
|
|
2452 f450 = f427 + f433;
|
|
2453 f451 = f435 - f437;
|
|
2454 f452 = f435 + f437;
|
|
2455 f453 = 0.7071067811865474 * f451;
|
|
2456 f454 = 0.7071067811865474 * f452;
|
|
2457 f455 = f439 - f441;
|
|
2458 f456 = f439 + f441;
|
|
2459 f457 = 0.7071067811865474 * f455;
|
|
2460 f458 = 0.7071067811865474 * f456;
|
|
2461 f459 = f443 - f445;
|
|
2462 f460 = f443 + f445;
|
|
2463 f461 = 0.7071067811865474 * f459;
|
|
2464 f462 = 0.7071067811865474 * f460;
|
|
2465 f463 = f447 - f449;
|
|
2466 f464 = f447 + f449;
|
|
2467 f465 = 0.7071067811865474 * f463;
|
|
2468 f466 = 0.7071067811865474 * f464;
|
|
2469 f467 = 0.7071067811865476 * t2[31];
|
12527
|
2470 f468 = t2[63] - f467;
|
|
2471 f469 = t2[63] + f467;
|
10725
|
2472 f470 = t2[47] + t2[15];
|
|
2473 f471 = 1.3065629648763766 * t2[47];
|
|
2474 f472 = (-0.9238795325112866) * f470;
|
|
2475 f473 = (-0.5411961001461967) * t2[15];
|
|
2476 f474 = f471 + f472;
|
|
2477 f475 = f473 - f472;
|
|
2478 f476 = f469 - f475;
|
|
2479 f477 = f469 + f475;
|
|
2480 f478 = f468 - f474;
|
|
2481 f479 = f468 + f474;
|
|
2482 f480 = t2[55] + t2[7];
|
|
2483 f481 = 1.1758756024193588 * t2[55];
|
|
2484 f482 = (-0.9807852804032304) * f480;
|
|
2485 f483 = (-0.7856949583871021) * t2[7];
|
|
2486 f484 = f481 + f482;
|
|
2487 f485 = f483 - f482;
|
|
2488 f486 = t2[39] + t2[23];
|
|
2489 f487 = 1.3870398453221473 * t2[39];
|
|
2490 f488 = (-0.8314696123025455) * f486;
|
|
2491 f489 = (-0.2758993792829436) * t2[23];
|
|
2492 f490 = f487 + f488;
|
|
2493 f491 = f489 - f488;
|
|
2494 f492 = f485 - f491;
|
|
2495 f493 = f485 + f491;
|
|
2496 f494 = 0.7071067811865476 * f492;
|
|
2497 f495 = f484 - f490;
|
|
2498 f496 = f484 + f490;
|
|
2499 f497 = 0.7071067811865476 * f496;
|
|
2500 f498 = f494 - f497;
|
|
2501 f499 = f494 + f497;
|
|
2502 f500 = f477 - f493;
|
|
2503 f501 = f477 + f493;
|
|
2504 f502 = f479 - f499;
|
|
2505 f503 = f479 + f499;
|
|
2506 f504 = f478 - f498;
|
|
2507 f505 = f478 + f498;
|
|
2508 f506 = f476 - f495;
|
|
2509 f507 = f476 + f495;
|
|
2510 f508 = t2[59] + t2[3];
|
|
2511 f509 = 1.0932018670017569 * t2[59];
|
|
2512 f510 = (-0.9951847266721969) * f508;
|
|
2513 f511 = (-0.8971675863426368) * t2[3];
|
|
2514 f512 = f509 + f510;
|
|
2515 f513 = f511 - f510;
|
|
2516 f514 = t2[51] + t2[11];
|
|
2517 f515 = 1.2472250129866711 * t2[51];
|
|
2518 f516 = (-0.9569403357322089) * f514;
|
|
2519 f517 = (-0.6666556584777469) * t2[11];
|
|
2520 f518 = f515 + f516;
|
|
2521 f519 = f517 - f516;
|
|
2522 f520 = t2[43] + t2[19];
|
|
2523 f521 = 1.3533180011743526 * t2[43];
|
|
2524 f522 = (-0.8819212643483551) * f520;
|
|
2525 f523 = (-0.4105245275223575) * t2[19];
|
|
2526 f524 = f521 + f522;
|
|
2527 f525 = f523 - f522;
|
|
2528 f526 = t2[35] + t2[27];
|
|
2529 f527 = 1.4074037375263826 * t2[35];
|
|
2530 f528 = (-0.7730104533627369) * f526;
|
|
2531 f529 = (-0.1386171691990913) * t2[27];
|
|
2532 f530 = f527 + f528;
|
|
2533 f531 = f529 - f528;
|
|
2534 f532 = f513 - f531;
|
|
2535 f533 = f513 + f531;
|
|
2536 f534 = f519 - f525;
|
|
2537 f535 = f519 + f525;
|
|
2538 f536 = f533 - f535;
|
|
2539 f537 = f533 + f535;
|
|
2540 f538 = 0.7071067811865476 * f536;
|
|
2541 f539 = f532 + f534;
|
|
2542 f540 = 1.3065629648763766 * f532;
|
|
2543 f541 = (-0.9238795325112866) * f539;
|
|
2544 f542 = (-0.5411961001461967) * f534;
|
|
2545 f543 = f540 + f541;
|
|
2546 f544 = f542 - f541;
|
|
2547 f545 = f512 - f530;
|
|
2548 f546 = f512 + f530;
|
|
2549 f547 = f518 - f524;
|
|
2550 f548 = f518 + f524;
|
|
2551 f549 = f546 + f548;
|
|
2552 f550 = 1.3065629648763770 * f546;
|
|
2553 f551 = (-0.3826834323650904) * f549;
|
|
2554 f552 = 0.5411961001461961 * f548;
|
|
2555 f553 = f550 + f551;
|
|
2556 f554 = f552 - f551;
|
|
2557 f555 = f545 - f547;
|
|
2558 f556 = f545 + f547;
|
|
2559 f557 = 0.7071067811865476 * f556;
|
|
2560 f558 = f544 - f554;
|
|
2561 f559 = f544 + f554;
|
|
2562 f560 = f538 - f557;
|
|
2563 f561 = f538 + f557;
|
|
2564 f562 = f543 - f553;
|
|
2565 f563 = f543 + f553;
|
|
2566 f564 = f501 - f537;
|
|
2567 f565 = f501 + f537;
|
|
2568 f566 = f503 - f559;
|
|
2569 f567 = f503 + f559;
|
|
2570 f568 = f505 - f558;
|
|
2571 f569 = f505 + f558;
|
|
2572 f570 = f507 - f561;
|
|
2573 f571 = f507 + f561;
|
|
2574 f572 = f506 - f560;
|
|
2575 f573 = f506 + f560;
|
|
2576 f574 = f504 - f563;
|
|
2577 f575 = f504 + f563;
|
|
2578 f576 = f502 - f562;
|
|
2579 f577 = f502 + f562;
|
|
2580 f578 = f500 - f555;
|
|
2581 f579 = f500 + f555;
|
|
2582 f580 = f438 - f565;
|
|
2583 f581 = f438 + f565;
|
|
2584 f582 = f446 + f567;
|
|
2585 f583 = f446 - f567;
|
|
2586 f584 = f450 - f569;
|
|
2587 f585 = f450 + f569;
|
|
2588 f586 = f442 + f571;
|
|
2589 f587 = f442 - f571;
|
|
2590 f588 = f457 - f573;
|
|
2591 f589 = f457 + f573;
|
|
2592 f590 = f465 + f575;
|
|
2593 f591 = f465 - f575;
|
|
2594 f592 = f461 - f577;
|
|
2595 f593 = f461 + f577;
|
|
2596 f594 = f453 + f579;
|
|
2597 f595 = f453 - f579;
|
|
2598 f596 = f454 - f578;
|
|
2599 f597 = f454 + f578;
|
|
2600 f598 = f462 + f576;
|
|
2601 f599 = f462 - f576;
|
|
2602 f600 = f466 - f574;
|
|
2603 f601 = f466 + f574;
|
|
2604 f602 = f458 + f572;
|
|
2605 f603 = f458 - f572;
|
|
2606 f604 = f440 - f570;
|
|
2607 f605 = f440 + f570;
|
|
2608 f606 = f448 + f568;
|
|
2609 f607 = f448 - f568;
|
|
2610 f608 = f444 - f566;
|
|
2611 f609 = f444 + f566;
|
|
2612 f610 = f564 - f436;
|
|
2613 f611 = f436 + f564;
|
|
2614 f612 = f581 + f276;
|
|
2615 f613 = (-0.9876531635534246) * f581;
|
|
2616 f614 = 0.9999247018391445 * f612;
|
|
2617 f615 = 1.0121962401248645 * f276;
|
|
2618 y[0] = f613 + f614;
|
|
2619 y[63] = f615 - f614;
|
|
2620 f618 = f583 + f278;
|
|
2621 f619 = (-0.9625151616469906) * f583;
|
|
2622 f620 = 0.9993223845883495 * f618;
|
|
2623 f621 = 1.0361296075297086 * f278;
|
|
2624 y[1] = f619 + f620;
|
|
2625 y[62] = f621 - f620;
|
|
2626 f624 = f585 + f280;
|
|
2627 f625 = (-0.9367973765979405) * f585;
|
|
2628 f626 = 0.9981181129001492 * f624;
|
|
2629 f627 = 1.0594388492023579 * f280;
|
|
2630 y[2] = f625 + f626;
|
|
2631 y[61] = f627 - f626;
|
|
2632 f630 = f587 + f282;
|
|
2633 f631 = (-0.9105152998383381) * f587;
|
|
2634 f632 = 0.9963126121827780 * f630;
|
|
2635 f633 = 1.0821099245272179 * f282;
|
|
2636 y[3] = f631 + f632;
|
|
2637 y[60] = f633 - f632;
|
|
2638 f636 = f589 + f284;
|
|
2639 f637 = (-0.8836847627084729) * f589;
|
|
2640 f638 = 0.9939069700023561 * f636;
|
|
2641 f639 = 1.1041291772962392 * f284;
|
|
2642 y[4] = f637 + f638;
|
|
2643 y[59] = f639 - f638;
|
|
2644 f642 = f591 + f286;
|
|
2645 f643 = (-0.8563219269206538) * f591;
|
|
2646 f644 = 0.9909026354277800 * f642;
|
|
2647 f645 = 1.1254833439349063 * f286;
|
|
2648 y[5] = f643 + f644;
|
|
2649 y[58] = f645 - f644;
|
|
2650 f648 = f593 + f288;
|
|
2651 f649 = (-0.8284432748239970) * f593;
|
|
2652 f650 = 0.9873014181578584 * f648;
|
|
2653 f651 = 1.1461595614917197 * f288;
|
|
2654 y[6] = f649 + f650;
|
|
2655 y[57] = f651 - f650;
|
|
2656 f654 = f595 + f290;
|
|
2657 f655 = (-0.8000655994760753) * f595;
|
|
2658 f656 = 0.9831054874312163 * f654;
|
|
2659 f657 = 1.1661453753863573 * f290;
|
|
2660 y[7] = f655 + f656;
|
|
2661 y[56] = f657 - f656;
|
|
2662 f660 = f597 + f292;
|
|
2663 f661 = (-0.7712059945274091) * f597;
|
|
2664 f662 = 0.9783173707196277 * f660;
|
|
2665 f663 = 1.1854287469118463 * f292;
|
|
2666 y[8] = f661 + f662;
|
|
2667 y[55] = f663 - f662;
|
|
2668 f666 = f599 + f294;
|
|
2669 f667 = (-0.7418818439248888) * f599;
|
|
2670 f668 = 0.9729399522055601 * f666;
|
|
2671 f669 = 1.2039980604862313 * f294;
|
|
2672 y[9] = f667 + f668;
|
|
2673 y[54] = f669 - f668;
|
|
2674 f672 = f601 + f296;
|
|
2675 f673 = (-0.7121108114403374) * f601;
|
|
2676 f674 = 0.9669764710448521 * f672;
|
|
2677 f675 = 1.2218421306493668 * f296;
|
|
2678 y[10] = f673 + f674;
|
|
2679 y[53] = f675 - f674;
|
|
2680 f678 = f603 + f298;
|
|
2681 f679 = (-0.6819108300305128) * f603;
|
|
2682 f680 = 0.9604305194155658 * f678;
|
|
2683 f681 = 1.2389502088006188 * f298;
|
|
2684 y[11] = f679 + f680;
|
|
2685 y[52] = f681 - f680;
|
|
2686 f684 = f605 + f300;
|
|
2687 f685 = (-0.6513000910349656) * f605;
|
|
2688 f686 = 0.9533060403541938 * f684;
|
|
2689 f687 = 1.2553119896734219 * f300;
|
|
2690 y[12] = f685 + f686;
|
|
2691 y[51] = f687 - f686;
|
|
2692 f690 = f607 + f302;
|
|
2693 f691 = (-0.6202970332182582) * f607;
|
|
2694 f692 = 0.9456073253805213 * f690;
|
|
2695 f693 = 1.2709176175427843 * f302;
|
|
2696 y[13] = f691 + f692;
|
|
2697 y[50] = f693 - f692;
|
|
2698 f696 = f609 + f304;
|
|
2699 f697 = (-0.5889203316631404) * f609;
|
|
2700 f698 = 0.9373390119125750 * f696;
|
|
2701 f699 = 1.2857576921620095 * f304;
|
|
2702 y[14] = f697 + f698;
|
|
2703 y[49] = f699 - f698;
|
|
2704 f702 = f306 - f611;
|
|
2705 f703 = (-0.5571888865213779) * f611;
|
|
2706 f704 = 0.9285060804732155 * f702;
|
|
2707 f705 = 1.2998232744250531 * f306;
|
|
2708 y[15] = f704 - f703;
|
|
2709 y[48] = f705 - f704;
|
|
2710 f708 = f610 + f305;
|
|
2711 f709 = (-0.5251218116290097) * f610;
|
|
2712 f710 = 0.9191138516900578 * f708;
|
|
2713 f711 = 1.3131058917511058 * f305;
|
|
2714 y[16] = f709 + f710;
|
|
2715 y[47] = f711 - f710;
|
|
2716 f714 = f608 + f303;
|
|
2717 f715 = (-0.4927384229928850) * f608;
|
|
2718 f716 = 0.9091679830905223 * f714;
|
|
2719 f717 = 1.3255975431881595 * f303;
|
|
2720 y[17] = f715 + f716;
|
|
2721 y[46] = f717 - f716;
|
|
2722 f720 = f606 + f301;
|
|
2723 f721 = (-0.4600582271554261) * f606;
|
|
2724 f722 = 0.8986744656939538 * f720;
|
|
2725 f723 = 1.3372907042324815 * f301;
|
|
2726 y[18] = f721 + f722;
|
|
2727 y[45] = f723 - f722;
|
|
2728 f726 = f604 + f299;
|
|
2729 f727 = (-0.4271009094446139) * f604;
|
|
2730 f728 = 0.8876396204028539 * f726;
|
|
2731 f729 = 1.3481783313610940 * f299;
|
|
2732 y[19] = f727 + f728;
|
|
2733 y[44] = f729 - f728;
|
|
2734 f732 = f602 + f297;
|
|
2735 f733 = (-0.3938863221162838) * f602;
|
|
2736 f734 = 0.8760700941954066 * f732;
|
|
2737 f735 = 1.3582538662745294 * f297;
|
|
2738 y[20] = f733 + f734;
|
|
2739 y[43] = f735 - f734;
|
|
2740 f738 = f600 + f295;
|
|
2741 f739 = (-0.3604344723958691) * f600;
|
|
2742 f740 = 0.8639728561215867 * f738;
|
|
2743 f741 = 1.3675112398473042 * f295;
|
|
2744 y[21] = f739 + f740;
|
|
2745 y[42] = f741 - f740;
|
|
2746 f744 = f598 + f293;
|
|
2747 f745 = (-0.3267655104267964) * f598;
|
|
2748 f746 = 0.8513551931052652 * f744;
|
|
2749 f747 = 1.3759448757837340 * f293;
|
|
2750 y[22] = f745 + f746;
|
|
2751 y[41] = f747 - f746;
|
|
2752 f750 = f596 + f291;
|
|
2753 f751 = (-0.2928997171327915) * f596;
|
|
2754 f752 = 0.8382247055548380 * f750;
|
|
2755 f753 = 1.3835496939768843 * f291;
|
|
2756 y[23] = f751 + f752;
|
|
2757 y[40] = f753 - f752;
|
|
2758 f756 = f594 + f289;
|
|
2759 f757 = (-0.2588574920014121) * f594;
|
|
2760 f758 = 0.8245893027850253 * f756;
|
|
2761 f759 = 1.3903211135686386 * f289;
|
|
2762 y[24] = f757 + f758;
|
|
2763 y[39] = f759 - f758;
|
|
2764 f762 = f592 + f287;
|
|
2765 f763 = (-0.2246593407961559) * f592;
|
|
2766 f764 = 0.8104571982525948 * f762;
|
|
2767 f765 = 1.3962550557090336 * f287;
|
|
2768 y[25] = f763 + f764;
|
|
2769 y[38] = f765 - f764;
|
|
2770 f768 = f590 + f285;
|
|
2771 f769 = (-0.1903258632045579) * f590;
|
|
2772 f770 = 0.7958369046088835 * f768;
|
|
2773 f771 = 1.4013479460132090 * f285;
|
|
2774 y[26] = f769 + f770;
|
|
2775 y[37] = f771 - f770;
|
|
2776 f774 = f588 + f283;
|
|
2777 f775 = (-0.1558777404297079) * f588;
|
|
2778 f776 = 0.7807372285720944 * f774;
|
|
2779 f777 = 1.4055967167144807 * f283;
|
|
2780 y[27] = f775 + f776;
|
|
2781 y[36] = f777 - f776;
|
|
2782 f780 = f586 + f281;
|
|
2783 f781 = (-0.1213357227326675) * f586;
|
|
2784 f782 = 0.7651672656224590 * f780;
|
|
2785 f783 = 1.4089988085122505 * f281;
|
|
2786 y[28] = f781 + f782;
|
|
2787 y[35] = f783 - f782;
|
|
2788 f786 = f584 + f279;
|
|
2789 f787 = (-0.0867206169332875) * f584;
|
|
2790 f788 = 0.7491363945234593 * f786;
|
|
2791 f789 = 1.4115521721136310 * f279;
|
|
2792 y[29] = f787 + f788;
|
|
2793 y[34] = f789 - f788;
|
|
2794 f792 = f582 + f277;
|
|
2795 f793 = (-0.0520532738769597) * f582;
|
|
2796 f794 = 0.7326542716724128 * f792;
|
|
2797 f795 = 1.4132552694678659 * f277;
|
|
2798 y[30] = f793 + f794;
|
|
2799 y[33] = f795 - f794;
|
|
2800 f798 = f580 + f275;
|
|
2801 f799 = (-0.0173545758748457) * f580;
|
|
2802 f800 = 0.7157308252838186 * f798;
|
|
2803 f801 = 1.4141070746927915 * f275;
|
|
2804 y[31] = f799 + f800;
|
|
2805 y[32] = f801 - f800;
|
|
2806 }
|
|
2807
|
|
2808 #endif
|
|
2809
|
|
2810 #endif
|
|
2811
|