summaryrefslogtreecommitdiffstats
path: root/libfaad2/sbr_dct.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-08-30 22:30:28 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-08-30 22:30:28 +0000
commit32063c433915b8dddd143a951ad90ae901ac1b38 (patch)
tree88aaee983b0885b5bb22d870476f7afdaa8a7010 /libfaad2/sbr_dct.c
parent264633eec589baddfdcd79dde08fd7f1f47fba51 (diff)
downloadmpv-32063c433915b8dddd143a951ad90ae901ac1b38.tar.bz2
mpv-32063c433915b8dddd143a951ad90ae901ac1b38.tar.xz
libfaad2 v2.0rc1 imported
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10726 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libfaad2/sbr_dct.c')
-rw-r--r--libfaad2/sbr_dct.c4274
1 files changed, 4274 insertions, 0 deletions
diff --git a/libfaad2/sbr_dct.c b/libfaad2/sbr_dct.c
new file mode 100644
index 0000000000..5f8a7d9e9d
--- /dev/null
+++ b/libfaad2/sbr_dct.c
@@ -0,0 +1,4274 @@
+/*
+** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
+** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
+**
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+**
+** Any non-GPL usage of this software or parts of this software is strictly
+** forbidden.
+**
+** Commercial non-GPL licensing of this software is possible.
+** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
+**
+** $Id: sbr_dct.c,v 1.1 2003/07/29 08:20:13 menno Exp $
+**/
+
+#include "common.h"
+
+#ifdef SBR_DEC
+
+#ifdef _MSC_VER
+#pragma warning(disable:4305)
+#pragma warning(disable:4244)
+#endif
+
+#define MUL_C_R(B,A) MUL_R_C(A,B)
+
+#include "sbr_dct.h"
+
+#ifdef SBR_LOW_POWER
+
+void DCT3_32_unscaled(real_t *y, real_t *x)
+{
+ real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
+ real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
+ real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
+ real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
+ real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50;
+ real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60;
+ real_t f61, f62, f63, f64, f65, f66, f67, f68, f69, f70;
+ real_t f71, f72, f73, f74, f75, f76, f77, f78, f79, f80;
+ real_t f81, f82, f83, f84, f85, f86, f87, f88, f89, f90;
+ real_t f91, f92, f93, f94, f95, f96, f97, f98, f99, f100;
+ real_t f101, f102, f103, f104, f105, f106, f107, f108, f109, f110;
+ real_t f111, f112, f113, f114, f115, f116, f117, f118, f119, f120;
+ real_t f121, f122, f123, f124, f125, f126, f127, f128, f129, f130;
+ real_t f131, f132, f133, f134, f135, f136, f137, f138, f139, f140;
+ real_t f141, f142, f143, f144, f145, f146, f147, f148, f149, f150;
+ real_t f151, f152, f153, f154, f155, f156, f157, f158, f159, f160;
+ real_t f161, f162, f163, f164, f165, f166, f167, f168, f169, f170;
+ real_t f171, f172, f173, f174, f175, f176, f177, f178, f179, f180;
+ real_t f181, f182, f183, f184, f185, f186, f187, f188, f189, f190;
+ real_t f191, f192, f193, f194, f195, f196, f197, f198, f199, f200;
+ real_t f201, f202, f203, f204, f205, f206, f207, f208, f209, f210;
+ real_t f211, f212, f213, f214, f215, f216, f217, f218, f219, f220;
+ real_t f221, f222, f223, f224, f225, f226, f227, f228, f229, f230;
+ real_t f231, f232, f233, f234, f235, f236, f237, f238, f239, f240;
+ real_t f241, f242, f243, f244, f245, f246, f247, f248, f249, f250;
+ real_t f251, f252, f253, f254, f255, f256, f257, f258, f259, f260;
+ real_t f261, f262, f263, f264, f265, f266, f267, f268, f269, f270;
+ real_t f271, f272;
+
+ f0 = MUL_C_R(COEF_CONST(0.7071067811865476), x[16]);
+ f1 = x[0] - f0;
+ f2 = x[0] + f0;
+ f3 = x[8] + x[24];
+ f4 = MUL_C_R(COEF_CONST(1.3065629648763766), x[8]);
+ f5 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f3);
+ f6 = MUL_C_R(COEF_CONST((-0.5411961001461967)), x[24]);
+ f7 = f4 + f5;
+ f8 = f6 - f5;
+ f9 = f2 - f8;
+ f10 = f2 + f8;
+ f11 = f1 - f7;
+ f12 = f1 + f7;
+ f13 = x[4] + x[28];
+ f14 = MUL_C_R(COEF_CONST(1.1758756024193588), x[4]);
+ f15 = MUL_C_R(COEF_CONST((-0.9807852804032304)), f13);
+ f16 = MUL_C_R(COEF_CONST((-0.7856949583871021)), x[28]);
+ f17 = f14 + f15;
+ f18 = f16 - f15;
+ f19 = x[12] + x[20];
+ f20 = MUL_C_R(COEF_CONST(1.3870398453221473), x[12]);
+ f21 = MUL_C_R(COEF_CONST((-0.8314696123025455)), f19);
+ f22 = MUL_C_R(COEF_CONST((-0.2758993792829436)), x[20]);
+ f23 = f20 + f21;
+ f24 = f22 - f21;
+ f25 = f18 - f24;
+ f26 = f18 + f24;
+ f27 = MUL_C_R(COEF_CONST(0.7071067811865476), f25);
+ f28 = f17 - f23;
+ f29 = f17 + f23;
+ f30 = MUL_C_R(COEF_CONST(0.7071067811865476), f29);
+ f31 = f27 - f30;
+ f32 = f27 + f30;
+ f33 = f10 - f26;
+ f34 = f10 + f26;
+ f35 = f12 - f32;
+ f36 = f12 + f32;
+ f37 = f11 - f31;
+ f38 = f11 + f31;
+ f39 = f9 - f28;
+ f40 = f9 + f28;
+ f41 = x[2] + x[30];
+ f42 = MUL_C_R(COEF_CONST(1.0932018670017569), x[2]);
+ f43 = MUL_C_R(COEF_CONST((-0.9951847266721969)), f41);
+ f44 = MUL_C_R(COEF_CONST((-0.8971675863426368)), x[30]);
+ f45 = f42 + f43;
+ f46 = f44 - f43;
+ f47 = x[6] + x[26];
+ f48 = MUL_C_R(COEF_CONST(1.2472250129866711), x[6]);
+ f49 = MUL_C_R(COEF_CONST((-0.9569403357322089)), f47);
+ f50 = MUL_C_R(COEF_CONST((-0.6666556584777469)), x[26]);
+ f51 = f48 + f49;
+ f52 = f50 - f49;
+ f53 = x[10] + x[22];
+ f54 = MUL_C_R(COEF_CONST(1.3533180011743526), x[10]);
+ f55 = MUL_C_R(COEF_CONST((-0.8819212643483551)), f53);
+ f56 = MUL_C_R(COEF_CONST((-0.4105245275223575)), x[22]);
+ f57 = f54 + f55;
+ f58 = f56 - f55;
+ f59 = x[14] + x[18];
+ f60 = MUL_C_R(COEF_CONST(1.4074037375263826), x[14]);
+ f61 = MUL_C_R(COEF_CONST((-0.7730104533627369)), f59);
+ f62 = MUL_C_R(COEF_CONST((-0.1386171691990913)), x[18]);
+ f63 = f60 + f61;
+ f64 = f62 - f61;
+ f65 = f46 - f64;
+ f66 = f46 + f64;
+ f67 = f52 - f58;
+ f68 = f52 + f58;
+ f69 = f66 - f68;
+ f70 = f66 + f68;
+ f71 = MUL_C_R(COEF_CONST(0.7071067811865476), f69);
+ f72 = f65 + f67;
+ f73 = MUL_C_R(COEF_CONST(1.3065629648763766), f65);
+ f74 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f72);
+ f75 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f67);
+ f76 = f73 + f74;
+ f77 = f75 - f74;
+ f78 = f45 - f63;
+ f79 = f45 + f63;
+ f80 = f51 - f57;
+ f81 = f51 + f57;
+ f82 = f79 + f81;
+ f83 = MUL_C_R(COEF_CONST(1.3065629648763770), f79);
+ f84 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f82);
+ f85 = MUL_C_R(COEF_CONST(0.5411961001461961), f81);
+ f86 = f83 + f84;
+ f87 = f85 - f84;
+ f88 = f78 - f80;
+ f89 = f78 + f80;
+ f90 = MUL_C_R(COEF_CONST(0.7071067811865476), f89);
+ f91 = f77 - f87;
+ f92 = f77 + f87;
+ f93 = f71 - f90;
+ f94 = f71 + f90;
+ f95 = f76 - f86;
+ f96 = f76 + f86;
+ f97 = f34 - f70;
+ f98 = f34 + f70;
+ f99 = f36 - f92;
+ f100 = f36 + f92;
+ f101 = f38 - f91;
+ f102 = f38 + f91;
+ f103 = f40 - f94;
+ f104 = f40 + f94;
+ f105 = f39 - f93;
+ f106 = f39 + f93;
+ f107 = f37 - f96;
+ f108 = f37 + f96;
+ f109 = f35 - f95;
+ f110 = f35 + f95;
+ f111 = f33 - f88;
+ f112 = f33 + f88;
+ f113 = x[1] + x[31];
+ f114 = MUL_C_R(COEF_CONST(1.0478631305325901), x[1]);
+ f115 = MUL_C_R(COEF_CONST((-0.9987954562051724)), f113);
+ f116 = MUL_C_R(COEF_CONST((-0.9497277818777548)), x[31]);
+ f117 = f114 + f115;
+ f118 = f116 - f115;
+ f119 = x[5] + x[27];
+ f120 = MUL_C_R(COEF_CONST(1.2130114330978077), x[5]);
+ f121 = MUL_C_R(COEF_CONST((-0.9700312531945440)), f119);
+ f122 = MUL_C_R(COEF_CONST((-0.7270510732912803)), x[27]);
+ f123 = f120 + f121;
+ f124 = f122 - f121;
+ f125 = x[9] + x[23];
+ f126 = MUL_C_R(COEF_CONST(1.3315443865537255), x[9]);
+ f127 = MUL_C_R(COEF_CONST((-0.9039892931234433)), f125);
+ f128 = MUL_C_R(COEF_CONST((-0.4764341996931612)), x[23]);
+ f129 = f126 + f127;
+ f130 = f128 - f127;
+ f131 = x[13] + x[19];
+ f132 = MUL_C_R(COEF_CONST(1.3989068359730781), x[13]);
+ f133 = MUL_C_R(COEF_CONST((-0.8032075314806453)), f131);
+ f134 = MUL_C_R(COEF_CONST((-0.2075082269882124)), x[19]);
+ f135 = f132 + f133;
+ f136 = f134 - f133;
+ f137 = x[17] + x[15];
+ f138 = MUL_C_R(COEF_CONST(1.4125100802019777), x[17]);
+ f139 = MUL_C_R(COEF_CONST((-0.6715589548470187)), f137);
+ f140 = MUL_C_R(COEF_CONST(0.0693921705079402), x[15]);
+ f141 = f138 + f139;
+ f142 = f140 - f139;
+ f143 = x[21] + x[11];
+ f144 = MUL_C_R(COEF_CONST(1.3718313541934939), x[21]);
+ f145 = MUL_C_R(COEF_CONST((-0.5141027441932219)), f143);
+ f146 = MUL_C_R(COEF_CONST(0.3436258658070501), x[11]);
+ f147 = f144 + f145;
+ f148 = f146 - f145;
+ f149 = x[25] + x[7];
+ f150 = MUL_C_R(COEF_CONST(1.2784339185752409), x[25]);
+ f151 = MUL_C_R(COEF_CONST((-0.3368898533922200)), f149);
+ f152 = MUL_C_R(COEF_CONST(0.6046542117908008), x[7]);
+ f153 = f150 + f151;
+ f154 = f152 - f151;
+ f155 = x[29] + x[3];
+ f156 = MUL_C_R(COEF_CONST(1.1359069844201433), x[29]);
+ f157 = MUL_C_R(COEF_CONST((-0.1467304744553624)), f155);
+ f158 = MUL_C_R(COEF_CONST(0.8424460355094185), x[3]);
+ f159 = f156 + f157;
+ f160 = f158 - f157;
+ f161 = f118 - f142;
+ f162 = f118 + f142;
+ f163 = f117 - f141;
+ f164 = f117 + f141;
+ f165 = f124 - f148;
+ f166 = f124 + f148;
+ f167 = f123 - f147;
+ f168 = f123 + f147;
+ f169 = f130 - f154;
+ f170 = f130 + f154;
+ f171 = f129 - f153;
+ f172 = f129 + f153;
+ f173 = f136 - f160;
+ f174 = f136 + f160;
+ f175 = f135 - f159;
+ f176 = f135 + f159;
+ f177 = f161 + f163;
+ f178 = MUL_C_R(COEF_CONST(1.1758756024193588), f161);
+ f179 = MUL_C_R(COEF_CONST((-0.9807852804032304)), f177);
+ f180 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f163);
+ f181 = f178 + f179;
+ f182 = f180 - f179;
+ f183 = f165 + f167;
+ f184 = MUL_C_R(COEF_CONST(1.3870398453221475), f165);
+ f185 = MUL_C_R(COEF_CONST((-0.5555702330196022)), f183);
+ f186 = MUL_C_R(COEF_CONST(0.2758993792829431), f167);
+ f187 = f184 + f185;
+ f188 = f186 - f185;
+ f189 = f169 + f171;
+ f190 = MUL_C_R(COEF_CONST(0.7856949583871022), f169);
+ f191 = MUL_C_R(COEF_CONST(0.1950903220161283), f189);
+ f192 = MUL_C_R(COEF_CONST(1.1758756024193586), f171);
+ f193 = f190 + f191;
+ f194 = f192 - f191;
+ f195 = f173 + f175;
+ f196 = MUL_C_R(COEF_CONST((-0.2758993792829430)), f173);
+ f197 = MUL_C_R(COEF_CONST(0.8314696123025452), f195);
+ f198 = MUL_C_R(COEF_CONST(1.3870398453221475), f175);
+ f199 = f196 + f197;
+ f200 = f198 - f197;
+ f201 = f162 - f170;
+ f202 = f162 + f170;
+ f203 = f164 - f172;
+ f204 = f164 + f172;
+ f205 = f166 - f174;
+ f206 = f166 + f174;
+ f207 = f168 - f176;
+ f208 = f168 + f176;
+ f209 = f182 - f194;
+ f210 = f182 + f194;
+ f211 = f181 - f193;
+ f212 = f181 + f193;
+ f213 = f188 - f200;
+ f214 = f188 + f200;
+ f215 = f187 - f199;
+ f216 = f187 + f199;
+ f217 = f201 + f203;
+ f218 = MUL_C_R(COEF_CONST(1.3065629648763766), f201);
+ f219 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f217);
+ f220 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f203);
+ f221 = f218 + f219;
+ f222 = f220 - f219;
+ f223 = f205 + f207;
+ f224 = MUL_C_R(COEF_CONST(0.5411961001461969), f205);
+ f225 = MUL_C_R(COEF_CONST(0.3826834323650898), f223);
+ f226 = MUL_C_R(COEF_CONST(1.3065629648763766), f207);
+ f227 = f224 + f225;
+ f228 = f226 - f225;
+ f229 = f209 + f211;
+ f230 = MUL_C_R(COEF_CONST(1.3065629648763766), f209);
+ f231 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f229);
+ f232 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f211);
+ f233 = f230 + f231;
+ f234 = f232 - f231;
+ f235 = f213 + f215;
+ f236 = MUL_C_R(COEF_CONST(0.5411961001461969), f213);
+ f237 = MUL_C_R(COEF_CONST(0.3826834323650898), f235);
+ f238 = MUL_C_R(COEF_CONST(1.3065629648763766), f215);
+ f239 = f236 + f237;
+ f240 = f238 - f237;
+ f241 = f202 - f206;
+ f242 = f202 + f206;
+ f243 = f204 - f208;
+ f244 = f204 + f208;
+ f245 = f222 - f228;
+ f246 = f222 + f228;
+ f247 = f221 - f227;
+ f248 = f221 + f227;
+ f249 = f210 - f214;
+ f250 = f210 + f214;
+ f251 = f212 - f216;
+ f252 = f212 + f216;
+ f253 = f234 - f240;
+ f254 = f234 + f240;
+ f255 = f233 - f239;
+ f256 = f233 + f239;
+ f257 = f241 - f243;
+ f258 = f241 + f243;
+ f259 = MUL_C_R(COEF_CONST(0.7071067811865474), f257);
+ f260 = MUL_C_R(COEF_CONST(0.7071067811865474), f258);
+ f261 = f245 - f247;
+ f262 = f245 + f247;
+ f263 = MUL_C_R(COEF_CONST(0.7071067811865474), f261);
+ f264 = MUL_C_R(COEF_CONST(0.7071067811865474), f262);
+ f265 = f249 - f251;
+ f266 = f249 + f251;
+ f267 = MUL_C_R(COEF_CONST(0.7071067811865474), f265);
+ f268 = MUL_C_R(COEF_CONST(0.7071067811865474), f266);
+ f269 = f253 - f255;
+ f270 = f253 + f255;
+ f271 = MUL_C_R(COEF_CONST(0.7071067811865474), f269);
+ f272 = MUL_C_R(COEF_CONST(0.7071067811865474), f270);
+ y[31] = f98 - f242;
+ y[0] = f98 + f242;
+ y[30] = f100 - f250;
+ y[1] = f100 + f250;
+ y[29] = f102 - f254;
+ y[2] = f102 + f254;
+ y[28] = f104 - f246;
+ y[3] = f104 + f246;
+ y[27] = f106 - f264;
+ y[4] = f106 + f264;
+ y[26] = f108 - f272;
+ y[5] = f108 + f272;
+ y[25] = f110 - f268;
+ y[6] = f110 + f268;
+ y[24] = f112 - f260;
+ y[7] = f112 + f260;
+ y[23] = f111 - f259;
+ y[8] = f111 + f259;
+ y[22] = f109 - f267;
+ y[9] = f109 + f267;
+ y[21] = f107 - f271;
+ y[10] = f107 + f271;
+ y[20] = f105 - f263;
+ y[11] = f105 + f263;
+ y[19] = f103 - f248;
+ y[12] = f103 + f248;
+ y[18] = f101 - f256;
+ y[13] = f101 + f256;
+ y[17] = f99 - f252;
+ y[14] = f99 + f252;
+ y[16] = f97 - f244;
+ y[15] = f97 + f244;
+}
+
+void DCT2_64_unscaled(real_t *y, real_t *x)
+{
+ int16_t i0;
+ real_t f2, f3, f4, f5, f6, f7, f8, f9, f10;
+ real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
+ real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
+ real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
+ real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50;
+ real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60;
+ real_t f61, f62, f65, f66, f67, f68, f71, f72, f73, f74;
+ real_t f75, f76, f77, f78, f79, f80, f81, f82, f85, f86;
+ real_t f87, f88, f91, f92, f93, f94, f95, f96, f97, f98;
+ real_t f99, f100, f101, f102, f103, f104, f105, f106, f107, f108;
+ real_t f109, f110, f111, f112, f113, f114, f115, f116, f117, f118;
+ real_t f119, f120, f121, f122, f123, f124, f125, f126, f127, f128;
+ real_t f129, f130, f133, f134, f135, f136, f139, f140, f141, f142;
+ real_t f145, f146, f147, f148, f151, f152, f153, f154, f155, f156;
+ real_t f157, f158, f159, f160, f161, f162, f163, f164, f165, f166;
+ real_t f167, f168, f169, f170, f171, f172, f173, f174, f175, f176;
+ real_t f177, f178, f179, f180, f181, f182, f183, f184, f185, f186;
+ real_t f187, f188, f189, f190, f191, f192, f193, f194, f195, f196;
+ real_t f197, f198, f199, f200, f201, f202, f203, f204, f205, f206;
+ real_t f207, f208, f209, f210, f211, f213, f214, f215, f216, f217;
+ real_t f218, f219, f220, f221, f222, f223, f224, f225, f226, f227;
+ real_t f228, f229, f230, f231, f232, f233, f234, f235, f236, f237;
+ real_t f238, f239, f240, f241, f242, f243, f244, f245, f246, f247;
+ real_t f248, f249, f250, f251, f252, f253, f254, f255, f256, f257;
+ real_t f258, f259, f260, f261, f262, f263, f264, f265, f266, f267;
+ real_t f268, f269, f270, f271, f272, f273, f274, f275, f276, f277;
+ real_t f279, f280, f295, f296, f297, f298, f299, f300, f301, f302;
+ real_t f303, f304, f305, f306, f307, f308, f309, f310, f311, f312;
+ real_t f313, f314, f315, f316, f317, f318, f319, f320, f321, f322;
+ real_t f323, f324, f325, f326, f327, f328, f329, f330, f331, f332;
+ real_t f333, f334, f335, f336, f337, f338, f339, f340, f341, f342;
+ real_t f343, f344, f345, f346, f347, f348, f349, f350, f351, f352;
+ real_t f353, f354, f355, f356, f357, f358, f359, f360, f361, f362;
+ real_t f363, f364, f365, f366, f367, f368, f369, f370, f371, f372;
+ real_t f373, f374, f375, f376, f377, f378, f379, f380, f381, f382;
+ real_t f383, f384, f385, f386, f387, f388, f389, f390, f391, f392;
+ real_t f393, f394, f395, f396, f397, f398, f399, f400, f401, f402;
+ real_t f403, f404, f405, f406, f407, f408, f409, f410, f411, f412;
+ real_t f413, f414, f415, f416, f417, f418, f419, f420, f421, f422;
+ real_t f423, f424, f425, f426, f427, f428, f429, f430, f431, f432;
+ real_t f433, f434, f435, f436, f437, f438, f439, f440, f441, f442;
+ real_t f443, f444, f445, f446, f447, f448, f449, f450, f451, f452;
+ real_t f453, f454, f455, f456, f457, f458, f459, f460, f461, f462;
+ real_t f463, f464, f465, f466, f467, f468, f469, f470, f471, f472;
+ real_t f473, f474, f475, f476, f477, f478, f479, f480, f481, f482;
+ real_t f483, f484, f485, f486, f487, f488, f489, f490, f491, f492;
+ real_t f493, f494, f495, f496, f497, f498, f499, f500, f501, f502;
+ real_t f503, f504, f505, f506, f507, f508, f509, f510, f511, f512;
+ real_t f513, f514, f515, f516, f517, f518, f519, f520, f521, f522;
+ real_t f523, f524, f525, f526, f527, f528, f529, f530, f531, f532;
+ real_t f533, f534, f535, f536, f537, f538, f539, f540, f541, f542;
+ real_t f543, f544, f545, f546, f547, f548, f549, f550, f551, f552;
+ real_t f553, f554, f557, f558, f559, f560, f563, f564, f565, f566;
+ real_t f569, f570, f571, f572, f575, f576, f577, f578, f581, f582;
+ real_t f583, f584, f587, f588, f589, f590, f593, f594, f595, f596;
+ real_t f599, f600, f601, f602, f605, f606, f607, f608, f611, f612;
+ real_t f613, f614, f617, f618, f619, f620, f623, f624, f625, f626;
+ real_t f629, f630, f631, f632, f635, f636, f637, f638, f641, f642;
+ real_t f643, f644;
+ static real_t t2[64];
+
+ for (i0=0; i0<32; i0++)
+ {
+ t2[2*i0+1] = x[i0] - x[-i0+63];
+ t2[2*i0] = x[i0] + x[-i0+63];
+ }
+ f2 = t2[0] - t2[62];
+ f3 = t2[0] + t2[62];
+ f4 = t2[2] - t2[60];
+ f5 = t2[2] + t2[60];
+ f6 = t2[4] - t2[58];
+ f7 = t2[4] + t2[58];
+ f8 = t2[6] - t2[56];
+ f9 = t2[6] + t2[56];
+ f10 = t2[8] - t2[54];
+ f11 = t2[8] + t2[54];
+ f12 = t2[10] - t2[52];
+ f13 = t2[10] + t2[52];
+ f14 = t2[12] - t2[50];
+ f15 = t2[12] + t2[50];
+ f16 = t2[14] - t2[48];
+ f17 = t2[14] + t2[48];
+ f18 = t2[16] - t2[46];
+ f19 = t2[16] + t2[46];
+ f20 = t2[18] - t2[44];
+ f21 = t2[18] + t2[44];
+ f22 = t2[20] - t2[42];
+ f23 = t2[20] + t2[42];
+ f24 = t2[22] - t2[40];
+ f25 = t2[22] + t2[40];
+ f26 = t2[24] - t2[38];
+ f27 = t2[24] + t2[38];
+ f28 = t2[26] - t2[36];
+ f29 = t2[26] + t2[36];
+ f30 = t2[28] - t2[34];
+ f31 = t2[28] + t2[34];
+ f32 = t2[30] - t2[32];
+ f33 = t2[30] + t2[32];
+ f34 = f3 - f33;
+ f35 = f3 + f33;
+ f36 = f5 - f31;
+ f37 = f5 + f31;
+ f38 = f7 - f29;
+ f39 = f7 + f29;
+ f40 = f9 - f27;
+ f41 = f9 + f27;
+ f42 = f11 - f25;
+ f43 = f11 + f25;
+ f44 = f13 - f23;
+ f45 = f13 + f23;
+ f46 = f15 - f21;
+ f47 = f15 + f21;
+ f48 = f17 - f19;
+ f49 = f17 + f19;
+ f50 = f35 - f49;
+ f51 = f35 + f49;
+ f52 = f37 - f47;
+ f53 = f37 + f47;
+ f54 = f39 - f45;
+ f55 = f39 + f45;
+ f56 = f41 - f43;
+ f57 = f41 + f43;
+ f58 = f51 - f57;
+ f59 = f51 + f57;
+ f60 = f53 - f55;
+ f61 = f53 + f55;
+ f62 = f59 - f61;
+ y[0] = f59 + f61;
+ y[32] = MUL_C_R(COEF_CONST(0.7071067811865476), f62);
+ f65 = f58 + f60;
+ f66 = MUL_C_R(COEF_CONST(1.3065629648763766), f58);
+ f67 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f65);
+ f68 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f60);
+ y[48] = f66 + f67;
+ y[16] = f68 - f67;
+ f71 = f52 - f54;
+ f72 = f52 + f54;
+ f73 = MUL_C_R(COEF_CONST(0.7071067811865476), f72);
+ f74 = MUL_C_R(COEF_CONST(0.7071067811865476), f71);
+ f75 = f50 - f73;
+ f76 = f50 + f73;
+ f77 = f56 - f74;
+ f78 = f56 + f74;
+ f79 = f78 + f76;
+ f80 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f78);
+ f81 = MUL_C_R(COEF_CONST(0.9807852804032304), f79);
+ f82 = MUL_C_R(COEF_CONST(1.1758756024193588), f76);
+ y[8] = f80 + f81;
+ y[56] = f82 - f81;
+ f85 = f77 + f75;
+ f86 = MUL_C_R(COEF_CONST(0.2758993792829431), f77);
+ f87 = MUL_C_R(COEF_CONST(0.5555702330196022), f85);
+ f88 = MUL_C_R(COEF_CONST(1.3870398453221475), f75);
+ y[40] = f86 + f87;
+ y[24] = f88 - f87;
+ f91 = f40 - f42;
+ f92 = f40 + f42;
+ f93 = MUL_C_R(COEF_CONST(0.7071067811865476), f92);
+ f94 = MUL_C_R(COEF_CONST(0.7071067811865476), f91);
+ f95 = f38 - f44;
+ f96 = f38 + f44;
+ f97 = MUL_C_R(COEF_CONST(0.7071067811865476), f96);
+ f98 = MUL_C_R(COEF_CONST(0.7071067811865476), f95);
+ f99 = f34 - f93;
+ f100 = f34 + f93;
+ f101 = f48 - f94;
+ f102 = f48 + f94;
+ f103 = f36 - f97;
+ f104 = f36 + f97;
+ f105 = f46 - f98;
+ f106 = f46 + f98;
+ f107 = f106 + f104;
+ f108 = MUL_C_R(COEF_CONST((-0.5411961001461969)), f106);
+ f109 = MUL_C_R(COEF_CONST(0.9238795325112867), f107);
+ f110 = MUL_C_R(COEF_CONST(1.3065629648763766), f104);
+ f111 = f108 + f109;
+ f112 = f110 - f109;
+ f113 = f105 + f103;
+ f114 = MUL_C_R(COEF_CONST(1.3065629648763770), f105);
+ f115 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f113);
+ f116 = MUL_C_R(COEF_CONST(0.5411961001461961), f103);
+ f117 = f114 + f115;
+ f118 = f116 - f115;
+ f119 = f100 - f111;
+ f120 = f100 + f111;
+ f121 = f102 - f112;
+ f122 = f102 + f112;
+ f123 = f99 - f117;
+ f124 = f99 + f117;
+ f125 = f101 - f118;
+ f126 = f101 + f118;
+ f127 = f122 + f120;
+ f128 = MUL_C_R(COEF_CONST((-0.8971675863426361)), f122);
+ f129 = MUL_C_R(COEF_CONST(0.9951847266721968), f127);
+ f130 = MUL_C_R(COEF_CONST(1.0932018670017576), f120);
+ y[4] = f128 + f129;
+ y[60] = f130 - f129;
+ f133 = f126 + f124;
+ f134 = MUL_C_R(COEF_CONST((-0.4105245275223571)), f126);
+ f135 = MUL_C_R(COEF_CONST(0.8819212643483549), f133);
+ f136 = MUL_C_R(COEF_CONST(1.3533180011743529), f124);
+ y[20] = f134 + f135;
+ y[44] = f136 - f135;
+ f139 = f121 + f119;
+ f140 = MUL_C_R(COEF_CONST(0.1386171691990915), f121);
+ f141 = MUL_C_R(COEF_CONST(0.6343932841636455), f139);
+ f142 = MUL_C_R(COEF_CONST(1.4074037375263826), f119);
+ y[36] = f140 + f141;
+ y[28] = f142 - f141;
+ f145 = f125 + f123;
+ f146 = MUL_C_R(COEF_CONST(0.6666556584777466), f125);
+ f147 = MUL_C_R(COEF_CONST(0.2902846772544623), f145);
+ f148 = MUL_C_R(COEF_CONST(1.2472250129866711), f123);
+ y[52] = f146 + f147;
+ y[12] = f148 - f147;
+ f151 = f2 + f32;
+ f152 = MUL_C_R(COEF_CONST(1.0478631305325901), f2);
+ f153 = MUL_C_R(COEF_CONST((-0.9987954562051724)), f151);
+ f154 = MUL_C_R(COEF_CONST((-0.9497277818777548)), f32);
+ f155 = f152 + f153;
+ f156 = f154 - f153;
+ f157 = f4 + f30;
+ f158 = MUL_C_R(COEF_CONST(1.1359069844201428), f4);
+ f159 = MUL_C_R(COEF_CONST((-0.9891765099647809)), f157);
+ f160 = MUL_C_R(COEF_CONST((-0.8424460355094190)), f30);
+ f161 = f158 + f159;
+ f162 = f160 - f159;
+ f163 = f6 + f28;
+ f164 = MUL_C_R(COEF_CONST(1.2130114330978077), f6);
+ f165 = MUL_C_R(COEF_CONST((-0.9700312531945440)), f163);
+ f166 = MUL_C_R(COEF_CONST((-0.7270510732912803)), f28);
+ f167 = f164 + f165;
+ f168 = f166 - f165;
+ f169 = f8 + f26;
+ f170 = MUL_C_R(COEF_CONST(1.2784339185752405), f8);
+ f171 = MUL_C_R(COEF_CONST((-0.9415440651830209)), f169);
+ f172 = MUL_C_R(COEF_CONST((-0.6046542117908014)), f26);
+ f173 = f170 + f171;
+ f174 = f172 - f171;
+ f175 = f10 + f24;
+ f176 = MUL_C_R(COEF_CONST(1.3315443865537255), f10);
+ f177 = MUL_C_R(COEF_CONST((-0.9039892931234433)), f175);
+ f178 = MUL_C_R(COEF_CONST((-0.4764341996931612)), f24);
+ f179 = f176 + f177;
+ f180 = f178 - f177;
+ f181 = f12 + f22;
+ f182 = MUL_C_R(COEF_CONST(1.3718313541934939), f12);
+ f183 = MUL_C_R(COEF_CONST((-0.8577286100002722)), f181);
+ f184 = MUL_C_R(COEF_CONST((-0.3436258658070507)), f22);
+ f185 = f182 + f183;
+ f186 = f184 - f183;
+ f187 = f14 + f20;
+ f188 = MUL_C_R(COEF_CONST(1.3989068359730781), f14);
+ f189 = MUL_C_R(COEF_CONST((-0.8032075314806453)), f187);
+ f190 = MUL_C_R(COEF_CONST((-0.2075082269882124)), f20);
+ f191 = f188 + f189;
+ f192 = f190 - f189;
+ f193 = f16 + f18;
+ f194 = MUL_C_R(COEF_CONST(1.4125100802019774), f16);
+ f195 = MUL_C_R(COEF_CONST((-0.7409511253549591)), f193);
+ f196 = MUL_C_R(COEF_CONST((-0.0693921705079408)), f18);
+ f197 = f194 + f195;
+ f198 = f196 - f195;
+ f199 = f156 - f198;
+ f200 = f156 + f198;
+ f201 = f162 - f192;
+ f202 = f162 + f192;
+ f203 = f168 - f186;
+ f204 = f168 + f186;
+ f205 = f174 - f180;
+ f206 = f174 + f180;
+ f207 = f200 - f206;
+ f208 = f200 + f206;
+ f209 = f202 - f204;
+ f210 = f202 + f204;
+ f211 = f208 - f210;
+ y[2] = f208 + f210;
+ f213 = MUL_C_R(COEF_CONST(0.7071067811865476), f211);
+ f214 = f207 + f209;
+ f215 = MUL_C_R(COEF_CONST(1.3065629648763766), f207);
+ f216 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f214);
+ f217 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f209);
+ f218 = f215 + f216;
+ f219 = f217 - f216;
+ f220 = f201 - f203;
+ f221 = f201 + f203;
+ f222 = MUL_C_R(COEF_CONST(0.7071067811865476), f221);
+ f223 = MUL_C_R(COEF_CONST(0.7071067811865476), f220);
+ f224 = f199 - f222;
+ f225 = f199 + f222;
+ f226 = f205 - f223;
+ f227 = f205 + f223;
+ f228 = f227 + f225;
+ f229 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f227);
+ f230 = MUL_C_R(COEF_CONST(0.9807852804032304), f228);
+ f231 = MUL_C_R(COEF_CONST(1.1758756024193588), f225);
+ f232 = f229 + f230;
+ f233 = f231 - f230;
+ f234 = f226 + f224;
+ f235 = MUL_C_R(COEF_CONST(0.2758993792829431), f226);
+ f236 = MUL_C_R(COEF_CONST(0.5555702330196022), f234);
+ f237 = MUL_C_R(COEF_CONST(1.3870398453221475), f224);
+ f238 = f235 + f236;
+ f239 = f237 - f236;
+ f240 = f155 - f197;
+ f241 = f155 + f197;
+ f242 = f161 - f191;
+ f243 = f161 + f191;
+ f244 = f167 - f185;
+ f245 = f167 + f185;
+ f246 = f173 - f179;
+ f247 = f173 + f179;
+ f248 = f245 - f243;
+ f249 = f245 + f243;
+ f250 = MUL_C_R(COEF_CONST(0.7071067811865476), f249);
+ f251 = f247 - f250;
+ f252 = f247 + f250;
+ f253 = MUL_C_R(COEF_CONST(0.7071067811865476), f248);
+ f254 = f253 - f241;
+ f255 = f253 + f241;
+ f256 = f255 + f252;
+ f257 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f255);
+ f258 = MUL_C_R(COEF_CONST(0.9807852804032304), f256);
+ f259 = MUL_C_R(COEF_CONST(1.1758756024193588), f252);
+ f260 = f257 + f258;
+ f261 = f259 - f258;
+ f262 = f254 + f251;
+ f263 = MUL_C_R(COEF_CONST((-0.2758993792829430)), f254);
+ f264 = MUL_C_R(COEF_CONST(0.8314696123025452), f262);
+ f265 = MUL_C_R(COEF_CONST(1.3870398453221475), f251);
+ f266 = f263 + f264;
+ f267 = f265 - f264;
+ f268 = f240 - f246;
+ f269 = f240 + f246;
+ f270 = f242 - f244;
+ f271 = f242 + f244;
+ f272 = f269 + f271;
+ f273 = MUL_C_R(COEF_CONST(1.3065629648763770), f269);
+ f274 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f272);
+ f275 = MUL_C_R(COEF_CONST(0.5411961001461961), f271);
+ f276 = f273 + f274;
+ f277 = f275 - f274;
+ y[62] = f268 - f270;
+ f279 = f268 + f270;
+ f280 = MUL_C_R(COEF_CONST(0.7071067811865476), f279);
+ y[10] = f232 - f260;
+ y[6] = f232 + f260;
+ y[18] = f219 - f277;
+ y[14] = f219 + f277;
+ y[26] = f239 + f266;
+ y[22] = f239 - f266;
+ y[34] = f213 - f280;
+ y[30] = f213 + f280;
+ y[42] = f238 - f267;
+ y[38] = f238 + f267;
+ y[50] = f218 - f276;
+ y[46] = f218 + f276;
+ y[58] = f233 + f261;
+ y[54] = f233 - f261;
+ f295 = t2[3] - t2[5];
+ f296 = t2[3] + t2[5];
+ f297 = t2[7] - t2[9];
+ f298 = t2[7] + t2[9];
+ f299 = t2[11] - t2[13];
+ f300 = t2[11] + t2[13];
+ f301 = t2[15] - t2[17];
+ f302 = t2[15] + t2[17];
+ f303 = t2[19] - t2[21];
+ f304 = t2[19] + t2[21];
+ f305 = t2[23] - t2[25];
+ f306 = t2[23] + t2[25];
+ f307 = t2[27] - t2[29];
+ f308 = t2[27] + t2[29];
+ f309 = t2[31] - t2[33];
+ f310 = t2[31] + t2[33];
+ f311 = t2[35] - t2[37];
+ f312 = t2[35] + t2[37];
+ f313 = t2[39] - t2[41];
+ f314 = t2[39] + t2[41];
+ f315 = t2[43] - t2[45];
+ f316 = t2[43] + t2[45];
+ f317 = t2[47] - t2[49];
+ f318 = t2[47] + t2[49];
+ f319 = t2[51] - t2[53];
+ f320 = t2[51] + t2[53];
+ f321 = t2[55] - t2[57];
+ f322 = t2[55] + t2[57];
+ f323 = t2[59] - t2[61];
+ f324 = t2[59] + t2[61];
+ f325 = MUL_C_R(COEF_CONST(0.7071067811865476), f310);
+ f326 = t2[1] - f325;
+ f327 = t2[1] + f325;
+ f328 = f302 + f318;
+ f329 = MUL_C_R(COEF_CONST(1.3065629648763766), f302);
+ f330 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f328);
+ f331 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f318);
+ f332 = f329 + f330;
+ f333 = f331 - f330;
+ f334 = f327 - f333;
+ f335 = f327 + f333;
+ f336 = f326 - f332;
+ f337 = f326 + f332;
+ f338 = f306 - f314;
+ f339 = f306 + f314;
+ f340 = MUL_C_R(COEF_CONST(0.7071067811865476), f339);
+ f341 = f298 - f340;
+ f342 = f298 + f340;
+ f343 = MUL_C_R(COEF_CONST(0.7071067811865476), f338);
+ f344 = f343 - f322;
+ f345 = f343 + f322;
+ f346 = f345 + f342;
+ f347 = MUL_C_R(COEF_CONST((-0.7856949583871021)), f345);
+ f348 = MUL_C_R(COEF_CONST(0.9807852804032304), f346);
+ f349 = MUL_C_R(COEF_CONST(1.1758756024193588), f342);
+ f350 = f347 + f348;
+ f351 = f349 - f348;
+ f352 = f344 + f341;
+ f353 = MUL_C_R(COEF_CONST((-0.2758993792829430)), f344);
+ f354 = MUL_C_R(COEF_CONST(0.8314696123025452), f352);
+ f355 = MUL_C_R(COEF_CONST(1.3870398453221475), f341);
+ f356 = f353 + f354;
+ f357 = f355 - f354;
+ f358 = f335 - f350;
+ f359 = f335 + f350;
+ f360 = f337 - f356;
+ f361 = f337 + f356;
+ f362 = f336 - f357;
+ f363 = f336 + f357;
+ f364 = f334 - f351;
+ f365 = f334 + f351;
+ f366 = MUL_C_R(COEF_CONST(5.1011486186891641), f296);
+ f367 = MUL_C_R(COEF_CONST(1.7224470982383342), f300);
+ f368 = MUL_C_R(COEF_CONST(1.0606776859903475), f304);
+ f369 = MUL_C_R(COEF_CONST(0.7881546234512502), f308);
+ f370 = MUL_C_R(COEF_CONST(0.5024192861881557), f324);
+ f371 = MUL_C_R(COEF_CONST(0.5224986149396889), f320);
+ f372 = MUL_C_R(COEF_CONST(0.5669440348163577), f316);
+ f373 = MUL_C_R(COEF_CONST(0.6468217833599901), f312);
+ f374 = f366 - f370;
+ f375 = f366 + f370;
+ f376 = f367 - f371;
+ f377 = f367 + f371;
+ f378 = f368 - f372;
+ f379 = f368 + f372;
+ f380 = f369 - f373;
+ f381 = f369 + f373;
+ f382 = MUL_C_R(COEF_CONST(0.5097955791041592), f375);
+ f383 = MUL_C_R(COEF_CONST(0.6013448869350453), f377);
+ f384 = MUL_C_R(COEF_CONST(0.8999762231364156), f379);
+ f385 = MUL_C_R(COEF_CONST(2.5629154477415055), f381);
+ f386 = f382 + f385;
+ f387 = f382 - f385;
+ f388 = f383 + f384;
+ f389 = f384 - f383;
+ f390 = f387 - f389;
+ f391 = f387 + f389;
+ f392 = MUL_C_R(COEF_CONST(0.7071067811865476), f390);
+ f393 = f386 - f388;
+ f394 = MUL_C_R(COEF_CONST(1.3065629648763766), f386);
+ f395 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f393);
+ f396 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f388);
+ f397 = f394 + f395;
+ f398 = f395 + f396;
+ f399 = f391 - f398;
+ f400 = f392 - f398;
+ f401 = f392 + f397;
+ f402 = f380 - f374;
+ f403 = f374 + f380;
+ f404 = f378 - f376;
+ f405 = f376 + f378;
+ f406 = f403 + f405;
+ f407 = MUL_C_R(COEF_CONST(1.3065629648763770), f403);
+ f408 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f406);
+ f409 = MUL_C_R(COEF_CONST(0.5411961001461961), f405);
+ f410 = f407 + f408;
+ f411 = f408 - f409;
+ f412 = f402 - f404;
+ f413 = f402 + f404;
+ f414 = MUL_C_R(COEF_CONST(0.7071067811865476), f413);
+ f415 = f411 + f397;
+ f416 = f401 + f411;
+ f417 = f414 + f401;
+ f418 = f400 + f414;
+ f419 = f400 - f410;
+ f420 = f399 - f410;
+ f421 = f412 + f399;
+ f422 = f359 - f397;
+ f423 = f359 + f397;
+ f424 = f361 + f415;
+ f425 = f361 - f415;
+ f426 = f363 - f416;
+ f427 = f363 + f416;
+ f428 = f365 + f417;
+ f429 = f365 - f417;
+ f430 = f364 - f418;
+ f431 = f364 + f418;
+ f432 = f362 + f419;
+ f433 = f362 - f419;
+ f434 = f360 - f420;
+ f435 = f360 + f420;
+ f436 = f358 + f421;
+ f437 = f358 - f421;
+ f438 = MUL_C_R(COEF_CONST(5.1011486186891641), f295);
+ f439 = MUL_C_R(COEF_CONST(1.7224470982383342), f299);
+ f440 = MUL_C_R(COEF_CONST(1.0606776859903475), f303);
+ f441 = MUL_C_R(COEF_CONST(0.7881546234512502), f307);
+ f442 = MUL_C_R(COEF_CONST(0.5024192861881557), f323);
+ f443 = MUL_C_R(COEF_CONST(0.5224986149396889), f319);
+ f444 = MUL_C_R(COEF_CONST(0.5669440348163577), f315);
+ f445 = MUL_C_R(COEF_CONST(0.6468217833599901), f311);
+ f446 = f438 + f442;
+ f447 = f438 - f442;
+ f448 = f439 + f443;
+ f449 = f443 - f439;
+ f450 = f440 + f444;
+ f451 = f440 - f444;
+ f452 = f441 + f445;
+ f453 = f445 - f441;
+ f454 = MUL_C_R(COEF_CONST(0.5097955791041592), f447);
+ f455 = MUL_C_R(COEF_CONST(0.6013448869350453), f449);
+ f456 = MUL_C_R(COEF_CONST(0.8999762231364156), f451);
+ f457 = MUL_C_R(COEF_CONST(2.5629154477415055), f453);
+ f458 = f454 + f457;
+ f459 = f454 - f457;
+ f460 = f455 + f456;
+ f461 = f456 - f455;
+ f462 = f459 - f461;
+ f463 = f459 + f461;
+ f464 = MUL_C_R(COEF_CONST(0.7071067811865476), f462);
+ f465 = f458 - f460;
+ f466 = MUL_C_R(COEF_CONST(1.3065629648763766), f458);
+ f467 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f465);
+ f468 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f460);
+ f469 = f466 + f467;
+ f470 = f467 + f468;
+ f471 = f463 - f470;
+ f472 = f464 - f470;
+ f473 = f464 + f469;
+ f474 = f446 + f452;
+ f475 = f452 - f446;
+ f476 = f448 + f450;
+ f477 = f448 - f450;
+ f478 = f475 + f477;
+ f479 = MUL_C_R(COEF_CONST(1.3065629648763770), f475);
+ f480 = MUL_C_R(COEF_CONST((-0.3826834323650904)), f478);
+ f481 = MUL_C_R(COEF_CONST(0.5411961001461961), f477);
+ f482 = f479 + f480;
+ f483 = f481 - f480;
+ f484 = f474 + f476;
+ f485 = f476 - f474;
+ f486 = MUL_C_R(COEF_CONST(0.7071067811865476), f485);
+ f487 = f483 + f469;
+ f488 = f473 + f483;
+ f489 = f486 + f473;
+ f490 = f472 + f486;
+ f491 = f482 + f472;
+ f492 = f471 + f482;
+ f493 = f471 - f484;
+ f494 = MUL_C_R(COEF_CONST(0.7071067811865476), f309);
+ f495 = t2[63] - f494;
+ f496 = t2[63] + f494;
+ f497 = f317 + f301;
+ f498 = MUL_C_R(COEF_CONST(1.3065629648763766), f317);
+ f499 = MUL_C_R(COEF_CONST((-0.9238795325112866)), f497);
+ f500 = MUL_C_R(COEF_CONST((-0.5411961001461967)), f301);
+ f501 = f498 + f499;
+ f502 = f500 - f499;