annotate src/fftw-3.3.5/rdft/scalar/r2cf/hf_64.c @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 2cd0e3b3e1fd
children
rev   line source
Chris@42 1 /*
Chris@42 2 * Copyright (c) 2003, 2007-14 Matteo Frigo
Chris@42 3 * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
Chris@42 4 *
Chris@42 5 * This program is free software; you can redistribute it and/or modify
Chris@42 6 * it under the terms of the GNU General Public License as published by
Chris@42 7 * the Free Software Foundation; either version 2 of the License, or
Chris@42 8 * (at your option) any later version.
Chris@42 9 *
Chris@42 10 * This program is distributed in the hope that it will be useful,
Chris@42 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@42 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@42 13 * GNU General Public License for more details.
Chris@42 14 *
Chris@42 15 * You should have received a copy of the GNU General Public License
Chris@42 16 * along with this program; if not, write to the Free Software
Chris@42 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Chris@42 18 *
Chris@42 19 */
Chris@42 20
Chris@42 21 /* This file was automatically generated --- DO NOT EDIT */
Chris@42 22 /* Generated on Sat Jul 30 16:46:31 EDT 2016 */
Chris@42 23
Chris@42 24 #include "codelet-rdft.h"
Chris@42 25
Chris@42 26 #ifdef HAVE_FMA
Chris@42 27
Chris@42 28 /* Generated by: ../../../genfft/gen_hc2hc.native -fma -reorder-insns -schedule-for-pipeline -compact -variables 4 -pipeline-latency 4 -n 64 -dit -name hf_64 -include hf.h */
Chris@42 29
Chris@42 30 /*
Chris@42 31 * This function contains 1038 FP additions, 644 FP multiplications,
Chris@42 32 * (or, 520 additions, 126 multiplications, 518 fused multiply/add),
Chris@42 33 * 246 stack variables, 15 constants, and 256 memory accesses
Chris@42 34 */
Chris@42 35 #include "hf.h"
Chris@42 36
Chris@42 37 static void hf_64(R *cr, R *ci, const R *W, stride rs, INT mb, INT me, INT ms)
Chris@42 38 {
Chris@42 39 DK(KP881921264, +0.881921264348355029712756863660388349508442621);
Chris@42 40 DK(KP956940335, +0.956940335732208864935797886980269969482849206);
Chris@42 41 DK(KP773010453, +0.773010453362736960810906609758469800971041293);
Chris@42 42 DK(KP995184726, +0.995184726672196886244836953109479921575474869);
Chris@42 43 DK(KP831469612, +0.831469612302545237078788377617905756738560812);
Chris@42 44 DK(KP980785280, +0.980785280403230449126182236134239036973933731);
Chris@42 45 DK(KP668178637, +0.668178637919298919997757686523080761552472251);
Chris@42 46 DK(KP534511135, +0.534511135950791641089685961295362908582039528);
Chris@42 47 DK(KP303346683, +0.303346683607342391675883946941299872384187453);
Chris@42 48 DK(KP098491403, +0.098491403357164253077197521291327432293052451);
Chris@42 49 DK(KP820678790, +0.820678790828660330972281985331011598767386482);
Chris@42 50 DK(KP923879532, +0.923879532511286756128183189396788286822416626);
Chris@42 51 DK(KP198912367, +0.198912367379658006911597622644676228597850501);
Chris@42 52 DK(KP707106781, +0.707106781186547524400844362104849039284835938);
Chris@42 53 DK(KP414213562, +0.414213562373095048801688724209698078569671875);
Chris@42 54 {
Chris@42 55 INT m;
Chris@42 56 for (m = mb, W = W + ((mb - 1) * 126); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 126, MAKE_VOLATILE_STRIDE(128, rs)) {
Chris@42 57 E Tku, Tky, Tkt, Tkx;
Chris@42 58 {
Chris@42 59 E TiV, Tjm, T7e, TcA, TjR, Tkl, Tm, TeM, T7Q, TcI, TeZ, Thr, T1G, TeW, TcJ;
Chris@42 60 E T7X, T87, TcN, Tf5, Thw, T29, Tf8, TcQ, T8u, Taq, Tdm, Tgc, ThX, T5K, TfS;
Chris@42 61 E Tdx, Tbj, TcB, T7l, TiP, TeP, Tjl, TN, TcC, T7s, T7B, TcF, TeU, Ths, T7I;
Chris@42 62 E TcG, T1f, TeR, T8G, TcU, Tfg, ThB, T32, Tfj, TcX, T93, T9h, Td3, TfK, ThM;
Chris@42 63 E T3X, Tfr, Tde, Taa, Thx, Tfb, Tf6, T2A, T8x, TcO, T8m, TcR, Tfm, ThC, T3t;
Chris@42 64 E Tfh, T96, TcV, T8V, TcY, ThN, Tfu, TfL, T4o, Tad, Td4, T9w, Tdf, TfV, ThY;
Chris@42 65 E T6b, Tg9, Tbm, Tdn, TaF, Tdy, ThJ, T4Q, TfN, TfA, Taf, T9M, Td8, Tdh, ThI;
Chris@42 66 E T5h, TfO, TfF, Tag, Ta1, Tdb, Tdi, ThU, T6D, Tgf, Tg1, Tbo, TaV, Tdr, TdA;
Chris@42 67 E Tb2, Tds, Tg5, ThT, Tg2, T74, Tdt, Tb9;
Chris@42 68 {
Chris@42 69 E T7a, Te, T78, T8, TjQ, TiU, T7c, Tk;
Chris@42 70 {
Chris@42 71 E T1, TiT, TiS, T7, Tg, Tj, Tf, Ti, T7b, Th;
Chris@42 72 T1 = cr[0];
Chris@42 73 TiT = ci[0];
Chris@42 74 {
Chris@42 75 E T3, T6, T2, T5;
Chris@42 76 T3 = cr[WS(rs, 32)];
Chris@42 77 T6 = ci[WS(rs, 32)];
Chris@42 78 T2 = W[62];
Chris@42 79 T5 = W[63];
Chris@42 80 {
Chris@42 81 E Ta, Td, Tc, T79, Tb, TiR, T4, T9;
Chris@42 82 Ta = cr[WS(rs, 16)];
Chris@42 83 Td = ci[WS(rs, 16)];
Chris@42 84 TiR = T2 * T6;
Chris@42 85 T4 = T2 * T3;
Chris@42 86 T9 = W[30];
Chris@42 87 Tc = W[31];
Chris@42 88 TiS = FNMS(T5, T3, TiR);
Chris@42 89 T7 = FMA(T5, T6, T4);
Chris@42 90 T79 = T9 * Td;
Chris@42 91 Tb = T9 * Ta;
Chris@42 92 Tg = cr[WS(rs, 48)];
Chris@42 93 Tj = ci[WS(rs, 48)];
Chris@42 94 T7a = FNMS(Tc, Ta, T79);
Chris@42 95 Te = FMA(Tc, Td, Tb);
Chris@42 96 Tf = W[94];
Chris@42 97 Ti = W[95];
Chris@42 98 }
Chris@42 99 }
Chris@42 100 T78 = T1 - T7;
Chris@42 101 T8 = T1 + T7;
Chris@42 102 TjQ = TiT - TiS;
Chris@42 103 TiU = TiS + TiT;
Chris@42 104 T7b = Tf * Tj;
Chris@42 105 Th = Tf * Tg;
Chris@42 106 T7c = FNMS(Ti, Tg, T7b);
Chris@42 107 Tk = FMA(Ti, Tj, Th);
Chris@42 108 }
Chris@42 109 {
Chris@42 110 E T7S, T1l, T7O, T1E, T1u, T1x, T1w, T7U, T1r, T7L, T1v;
Chris@42 111 {
Chris@42 112 E T1A, T1D, T1C, T7N, T1B;
Chris@42 113 {
Chris@42 114 E T1h, T1k, T1g, T1j, T7R, T1i, T1z;
Chris@42 115 T1h = cr[WS(rs, 60)];
Chris@42 116 T1k = ci[WS(rs, 60)];
Chris@42 117 {
Chris@42 118 E T7d, TiQ, Tl, TjP;
Chris@42 119 T7d = T7a - T7c;
Chris@42 120 TiQ = T7a + T7c;
Chris@42 121 Tl = Te + Tk;
Chris@42 122 TjP = Te - Tk;
Chris@42 123 TiV = TiQ + TiU;
Chris@42 124 Tjm = TiU - TiQ;
Chris@42 125 T7e = T78 - T7d;
Chris@42 126 TcA = T78 + T7d;
Chris@42 127 TjR = TjP + TjQ;
Chris@42 128 Tkl = TjQ - TjP;
Chris@42 129 Tm = T8 + Tl;
Chris@42 130 TeM = T8 - Tl;
Chris@42 131 T1g = W[118];
Chris@42 132 }
Chris@42 133 T1j = W[119];
Chris@42 134 T1A = cr[WS(rs, 44)];
Chris@42 135 T1D = ci[WS(rs, 44)];
Chris@42 136 T7R = T1g * T1k;
Chris@42 137 T1i = T1g * T1h;
Chris@42 138 T1z = W[86];
Chris@42 139 T1C = W[87];
Chris@42 140 T7S = FNMS(T1j, T1h, T7R);
Chris@42 141 T1l = FMA(T1j, T1k, T1i);
Chris@42 142 T7N = T1z * T1D;
Chris@42 143 T1B = T1z * T1A;
Chris@42 144 }
Chris@42 145 {
Chris@42 146 E T1n, T1q, T1m, T1p, T7T, T1o, T1t;
Chris@42 147 T1n = cr[WS(rs, 28)];
Chris@42 148 T1q = ci[WS(rs, 28)];
Chris@42 149 T7O = FNMS(T1C, T1A, T7N);
Chris@42 150 T1E = FMA(T1C, T1D, T1B);
Chris@42 151 T1m = W[54];
Chris@42 152 T1p = W[55];
Chris@42 153 T1u = cr[WS(rs, 12)];
Chris@42 154 T1x = ci[WS(rs, 12)];
Chris@42 155 T7T = T1m * T1q;
Chris@42 156 T1o = T1m * T1n;
Chris@42 157 T1t = W[22];
Chris@42 158 T1w = W[23];
Chris@42 159 T7U = FNMS(T1p, T1n, T7T);
Chris@42 160 T1r = FMA(T1p, T1q, T1o);
Chris@42 161 T7L = T1t * T1x;
Chris@42 162 T1v = T1t * T1u;
Chris@42 163 }
Chris@42 164 }
Chris@42 165 {
Chris@42 166 E T7V, TeX, T1s, T7K, T7M, T1y;
Chris@42 167 T7V = T7S - T7U;
Chris@42 168 TeX = T7S + T7U;
Chris@42 169 T1s = T1l + T1r;
Chris@42 170 T7K = T1l - T1r;
Chris@42 171 T7M = FNMS(T1w, T1u, T7L);
Chris@42 172 T1y = FMA(T1w, T1x, T1v);
Chris@42 173 {
Chris@42 174 E TeY, T7P, T7W, T1F;
Chris@42 175 TeY = T7M + T7O;
Chris@42 176 T7P = T7M - T7O;
Chris@42 177 T7W = T1y - T1E;
Chris@42 178 T1F = T1y + T1E;
Chris@42 179 T7Q = T7K - T7P;
Chris@42 180 TcI = T7K + T7P;
Chris@42 181 TeZ = TeX - TeY;
Chris@42 182 Thr = TeX + TeY;
Chris@42 183 T1G = T1s + T1F;
Chris@42 184 TeW = T1s - T1F;
Chris@42 185 TcJ = T7V - T7W;
Chris@42 186 T7X = T7V + T7W;
Chris@42 187 }
Chris@42 188 }
Chris@42 189 }
Chris@42 190 }
Chris@42 191 {
Chris@42 192 E T8p, T1O, T85, T27, T1X, T20, T1Z, T8r, T1U, T82, T1Y;
Chris@42 193 {
Chris@42 194 E T23, T26, T25, T84, T24;
Chris@42 195 {
Chris@42 196 E T1K, T1N, T1J, T1M, T8o, T1L, T22;
Chris@42 197 T1K = cr[WS(rs, 2)];
Chris@42 198 T1N = ci[WS(rs, 2)];
Chris@42 199 T1J = W[2];
Chris@42 200 T1M = W[3];
Chris@42 201 T23 = cr[WS(rs, 50)];
Chris@42 202 T26 = ci[WS(rs, 50)];
Chris@42 203 T8o = T1J * T1N;
Chris@42 204 T1L = T1J * T1K;
Chris@42 205 T22 = W[98];
Chris@42 206 T25 = W[99];
Chris@42 207 T8p = FNMS(T1M, T1K, T8o);
Chris@42 208 T1O = FMA(T1M, T1N, T1L);
Chris@42 209 T84 = T22 * T26;
Chris@42 210 T24 = T22 * T23;
Chris@42 211 }
Chris@42 212 {
Chris@42 213 E T1Q, T1T, T1P, T1S, T8q, T1R, T1W;
Chris@42 214 T1Q = cr[WS(rs, 34)];
Chris@42 215 T1T = ci[WS(rs, 34)];
Chris@42 216 T85 = FNMS(T25, T23, T84);
Chris@42 217 T27 = FMA(T25, T26, T24);
Chris@42 218 T1P = W[66];
Chris@42 219 T1S = W[67];
Chris@42 220 T1X = cr[WS(rs, 18)];
Chris@42 221 T20 = ci[WS(rs, 18)];
Chris@42 222 T8q = T1P * T1T;
Chris@42 223 T1R = T1P * T1Q;
Chris@42 224 T1W = W[34];
Chris@42 225 T1Z = W[35];
Chris@42 226 T8r = FNMS(T1S, T1Q, T8q);
Chris@42 227 T1U = FMA(T1S, T1T, T1R);
Chris@42 228 T82 = T1W * T20;
Chris@42 229 T1Y = T1W * T1X;
Chris@42 230 }
Chris@42 231 }
Chris@42 232 {
Chris@42 233 E T8s, Tf3, T1V, T81, T83, T21;
Chris@42 234 T8s = T8p - T8r;
Chris@42 235 Tf3 = T8p + T8r;
Chris@42 236 T1V = T1O + T1U;
Chris@42 237 T81 = T1O - T1U;
Chris@42 238 T83 = FNMS(T1Z, T1X, T82);
Chris@42 239 T21 = FMA(T1Z, T20, T1Y);
Chris@42 240 {
Chris@42 241 E Tf4, T86, T8t, T28;
Chris@42 242 Tf4 = T83 + T85;
Chris@42 243 T86 = T83 - T85;
Chris@42 244 T8t = T21 - T27;
Chris@42 245 T28 = T21 + T27;
Chris@42 246 T87 = T81 - T86;
Chris@42 247 TcN = T81 + T86;
Chris@42 248 Tf5 = Tf3 - Tf4;
Chris@42 249 Thw = Tf3 + Tf4;
Chris@42 250 T29 = T1V + T28;
Chris@42 251 Tf8 = T1V - T28;
Chris@42 252 TcQ = T8s - T8t;
Chris@42 253 T8u = T8s + T8t;
Chris@42 254 }
Chris@42 255 }
Chris@42 256 }
Chris@42 257 {
Chris@42 258 E Tbf, T5p, Tao, T5I, T5y, T5B, T5A, Tbh, T5v, Tal, T5z;
Chris@42 259 {
Chris@42 260 E T5E, T5H, T5G, Tan, T5F;
Chris@42 261 {
Chris@42 262 E T5l, T5o, T5k, T5n, Tbe, T5m, T5D;
Chris@42 263 T5l = cr[WS(rs, 63)];
Chris@42 264 T5o = ci[WS(rs, 63)];
Chris@42 265 T5k = W[124];
Chris@42 266 T5n = W[125];
Chris@42 267 T5E = cr[WS(rs, 47)];
Chris@42 268 T5H = ci[WS(rs, 47)];
Chris@42 269 Tbe = T5k * T5o;
Chris@42 270 T5m = T5k * T5l;
Chris@42 271 T5D = W[92];
Chris@42 272 T5G = W[93];
Chris@42 273 Tbf = FNMS(T5n, T5l, Tbe);
Chris@42 274 T5p = FMA(T5n, T5o, T5m);
Chris@42 275 Tan = T5D * T5H;
Chris@42 276 T5F = T5D * T5E;
Chris@42 277 }
Chris@42 278 {
Chris@42 279 E T5r, T5u, T5q, T5t, Tbg, T5s, T5x;
Chris@42 280 T5r = cr[WS(rs, 31)];
Chris@42 281 T5u = ci[WS(rs, 31)];
Chris@42 282 Tao = FNMS(T5G, T5E, Tan);
Chris@42 283 T5I = FMA(T5G, T5H, T5F);
Chris@42 284 T5q = W[60];
Chris@42 285 T5t = W[61];
Chris@42 286 T5y = cr[WS(rs, 15)];
Chris@42 287 T5B = ci[WS(rs, 15)];
Chris@42 288 Tbg = T5q * T5u;
Chris@42 289 T5s = T5q * T5r;
Chris@42 290 T5x = W[28];
Chris@42 291 T5A = W[29];
Chris@42 292 Tbh = FNMS(T5t, T5r, Tbg);
Chris@42 293 T5v = FMA(T5t, T5u, T5s);
Chris@42 294 Tal = T5x * T5B;
Chris@42 295 T5z = T5x * T5y;
Chris@42 296 }
Chris@42 297 }
Chris@42 298 {
Chris@42 299 E Tbi, Tga, T5w, Tak, Tam, T5C;
Chris@42 300 Tbi = Tbf - Tbh;
Chris@42 301 Tga = Tbf + Tbh;
Chris@42 302 T5w = T5p + T5v;
Chris@42 303 Tak = T5p - T5v;
Chris@42 304 Tam = FNMS(T5A, T5y, Tal);
Chris@42 305 T5C = FMA(T5A, T5B, T5z);
Chris@42 306 {
Chris@42 307 E Tgb, Tap, T5J, Tbd;
Chris@42 308 Tgb = Tam + Tao;
Chris@42 309 Tap = Tam - Tao;
Chris@42 310 T5J = T5C + T5I;
Chris@42 311 Tbd = T5I - T5C;
Chris@42 312 Taq = Tak - Tap;
Chris@42 313 Tdm = Tak + Tap;
Chris@42 314 Tgc = Tga - Tgb;
Chris@42 315 ThX = Tga + Tgb;
Chris@42 316 T5K = T5w + T5J;
Chris@42 317 TfS = T5w - T5J;
Chris@42 318 Tdx = Tbi + Tbd;
Chris@42 319 Tbj = Tbd - Tbi;
Chris@42 320 }
Chris@42 321 }
Chris@42 322 }
Chris@42 323 {
Chris@42 324 E T7z, T1d, T7G, TeS, T11, T7v, T7x, T17, T7r, T7m;
Chris@42 325 {
Chris@42 326 E T7h, Ts, T7q, TL, TB, TE, TD, T7j, Ty, T7n, TC;
Chris@42 327 {
Chris@42 328 E TH, TK, TJ, T7p, TI;
Chris@42 329 {
Chris@42 330 E To, Tr, Tn, Tq, T7g, Tp, TG;
Chris@42 331 To = cr[WS(rs, 8)];
Chris@42 332 Tr = ci[WS(rs, 8)];
Chris@42 333 Tn = W[14];
Chris@42 334 Tq = W[15];
Chris@42 335 TH = cr[WS(rs, 24)];
Chris@42 336 TK = ci[WS(rs, 24)];
Chris@42 337 T7g = Tn * Tr;
Chris@42 338 Tp = Tn * To;
Chris@42 339 TG = W[46];
Chris@42 340 TJ = W[47];
Chris@42 341 T7h = FNMS(Tq, To, T7g);
Chris@42 342 Ts = FMA(Tq, Tr, Tp);
Chris@42 343 T7p = TG * TK;
Chris@42 344 TI = TG * TH;
Chris@42 345 }
Chris@42 346 {
Chris@42 347 E Tu, Tx, Tt, Tw, T7i, Tv, TA;
Chris@42 348 Tu = cr[WS(rs, 40)];
Chris@42 349 Tx = ci[WS(rs, 40)];
Chris@42 350 T7q = FNMS(TJ, TH, T7p);
Chris@42 351 TL = FMA(TJ, TK, TI);
Chris@42 352 Tt = W[78];
Chris@42 353 Tw = W[79];
Chris@42 354 TB = cr[WS(rs, 56)];
Chris@42 355 TE = ci[WS(rs, 56)];
Chris@42 356 T7i = Tt * Tx;
Chris@42 357 Tv = Tt * Tu;
Chris@42 358 TA = W[110];
Chris@42 359 TD = W[111];
Chris@42 360 T7j = FNMS(Tw, Tu, T7i);
Chris@42 361 Ty = FMA(Tw, Tx, Tv);
Chris@42 362 T7n = TA * TE;
Chris@42 363 TC = TA * TB;
Chris@42 364 }
Chris@42 365 }
Chris@42 366 {
Chris@42 367 E T7k, TeO, Tz, T7f, T7o, TF, TeN, TM;
Chris@42 368 T7k = T7h - T7j;
Chris@42 369 TeO = T7h + T7j;
Chris@42 370 Tz = Ts + Ty;
Chris@42 371 T7f = Ts - Ty;
Chris@42 372 T7o = FNMS(TD, TB, T7n);
Chris@42 373 TF = FMA(TD, TE, TC);
Chris@42 374 T7r = T7o - T7q;
Chris@42 375 TeN = T7o + T7q;
Chris@42 376 TM = TF + TL;
Chris@42 377 T7m = TF - TL;
Chris@42 378 TcB = T7f + T7k;
Chris@42 379 T7l = T7f - T7k;
Chris@42 380 TiP = TeO + TeN;
Chris@42 381 TeP = TeN - TeO;
Chris@42 382 Tjl = Tz - TM;
Chris@42 383 TN = Tz + TM;
Chris@42 384 }
Chris@42 385 }
Chris@42 386 {
Chris@42 387 E T7D, TU, T13, T16, T7F, T10, T12, T15, T7w, T14;
Chris@42 388 {
Chris@42 389 E T19, T1c, T18, T1b;
Chris@42 390 {
Chris@42 391 E TQ, TT, TS, T7C, TR, TP;
Chris@42 392 TQ = cr[WS(rs, 4)];
Chris@42 393 TT = ci[WS(rs, 4)];
Chris@42 394 TP = W[6];
Chris@42 395 TcC = T7m - T7r;
Chris@42 396 T7s = T7m + T7r;
Chris@42 397 TS = W[7];
Chris@42 398 T7C = TP * TT;
Chris@42 399 TR = TP * TQ;
Chris@42 400 T19 = cr[WS(rs, 52)];
Chris@42 401 T1c = ci[WS(rs, 52)];
Chris@42 402 T7D = FNMS(TS, TQ, T7C);
Chris@42 403 TU = FMA(TS, TT, TR);
Chris@42 404 T18 = W[102];
Chris@42 405 T1b = W[103];
Chris@42 406 }
Chris@42 407 {
Chris@42 408 E TW, TZ, TY, T7E, TX, T7y, T1a, TV;
Chris@42 409 TW = cr[WS(rs, 36)];
Chris@42 410 TZ = ci[WS(rs, 36)];
Chris@42 411 T7y = T18 * T1c;
Chris@42 412 T1a = T18 * T19;
Chris@42 413 TV = W[70];
Chris@42 414 TY = W[71];
Chris@42 415 T7z = FNMS(T1b, T19, T7y);
Chris@42 416 T1d = FMA(T1b, T1c, T1a);
Chris@42 417 T7E = TV * TZ;
Chris@42 418 TX = TV * TW;
Chris@42 419 T13 = cr[WS(rs, 20)];
Chris@42 420 T16 = ci[WS(rs, 20)];
Chris@42 421 T7F = FNMS(TY, TW, T7E);
Chris@42 422 T10 = FMA(TY, TZ, TX);
Chris@42 423 T12 = W[38];
Chris@42 424 T15 = W[39];
Chris@42 425 }
Chris@42 426 }
Chris@42 427 T7G = T7D - T7F;
Chris@42 428 TeS = T7D + T7F;
Chris@42 429 T11 = TU + T10;
Chris@42 430 T7v = TU - T10;
Chris@42 431 T7w = T12 * T16;
Chris@42 432 T14 = T12 * T13;
Chris@42 433 T7x = FNMS(T15, T13, T7w);
Chris@42 434 T17 = FMA(T15, T16, T14);
Chris@42 435 }
Chris@42 436 {
Chris@42 437 E T8Y, T2H, T8E, T30, T2Q, T2T, T2S, T90, T2N, T8B, T2R;
Chris@42 438 {
Chris@42 439 E T2W, T2Z, T2Y, T8D, T2X;
Chris@42 440 {
Chris@42 441 E T2D, T2G, T2C, T2F, T8X, T2E, T2V;
Chris@42 442 T2D = cr[WS(rs, 62)];
Chris@42 443 T2G = ci[WS(rs, 62)];
Chris@42 444 {
Chris@42 445 E TeT, T7A, T1e, T7H;
Chris@42 446 TeT = T7x + T7z;
Chris@42 447 T7A = T7x - T7z;
Chris@42 448 T1e = T17 + T1d;
Chris@42 449 T7H = T17 - T1d;
Chris@42 450 T7B = T7v - T7A;
Chris@42 451 TcF = T7v + T7A;
Chris@42 452 TeU = TeS - TeT;
Chris@42 453 Ths = TeS + TeT;
Chris@42 454 T7I = T7G + T7H;
Chris@42 455 TcG = T7G - T7H;
Chris@42 456 T1f = T11 + T1e;
Chris@42 457 TeR = T11 - T1e;
Chris@42 458 T2C = W[122];
Chris@42 459 }
Chris@42 460 T2F = W[123];
Chris@42 461 T2W = cr[WS(rs, 46)];
Chris@42 462 T2Z = ci[WS(rs, 46)];
Chris@42 463 T8X = T2C * T2G;
Chris@42 464 T2E = T2C * T2D;
Chris@42 465 T2V = W[90];
Chris@42 466 T2Y = W[91];
Chris@42 467 T8Y = FNMS(T2F, T2D, T8X);
Chris@42 468 T2H = FMA(T2F, T2G, T2E);
Chris@42 469 T8D = T2V * T2Z;
Chris@42 470 T2X = T2V * T2W;
Chris@42 471 }
Chris@42 472 {
Chris@42 473 E T2J, T2M, T2I, T2L, T8Z, T2K, T2P;
Chris@42 474 T2J = cr[WS(rs, 30)];
Chris@42 475 T2M = ci[WS(rs, 30)];
Chris@42 476 T8E = FNMS(T2Y, T2W, T8D);
Chris@42 477 T30 = FMA(T2Y, T2Z, T2X);
Chris@42 478 T2I = W[58];
Chris@42 479 T2L = W[59];
Chris@42 480 T2Q = cr[WS(rs, 14)];
Chris@42 481 T2T = ci[WS(rs, 14)];
Chris@42 482 T8Z = T2I * T2M;
Chris@42 483 T2K = T2I * T2J;
Chris@42 484 T2P = W[26];
Chris@42 485 T2S = W[27];
Chris@42 486 T90 = FNMS(T2L, T2J, T8Z);
Chris@42 487 T2N = FMA(T2L, T2M, T2K);
Chris@42 488 T8B = T2P * T2T;
Chris@42 489 T2R = T2P * T2Q;
Chris@42 490 }
Chris@42 491 }
Chris@42 492 {
Chris@42 493 E T91, Tfe, T2O, T8A, T8C, T2U;
Chris@42 494 T91 = T8Y - T90;
Chris@42 495 Tfe = T8Y + T90;
Chris@42 496 T2O = T2H + T2N;
Chris@42 497 T8A = T2H - T2N;
Chris@42 498 T8C = FNMS(T2S, T2Q, T8B);
Chris@42 499 T2U = FMA(T2S, T2T, T2R);
Chris@42 500 {
Chris@42 501 E Tff, T8F, T92, T31;
Chris@42 502 Tff = T8C + T8E;
Chris@42 503 T8F = T8C - T8E;
Chris@42 504 T92 = T2U - T30;
Chris@42 505 T31 = T2U + T30;
Chris@42 506 T8G = T8A - T8F;
Chris@42 507 TcU = T8A + T8F;
Chris@42 508 Tfg = Tfe - Tff;
Chris@42 509 ThB = Tfe + Tff;
Chris@42 510 T32 = T2O + T31;
Chris@42 511 Tfj = T2O - T31;
Chris@42 512 TcX = T91 - T92;
Chris@42 513 T93 = T91 + T92;
Chris@42 514 }
Chris@42 515 }
Chris@42 516 }
Chris@42 517 {
Chris@42 518 E Ta5, T3C, T9f, T3V, T3L, T3O, T3N, Ta7, T3I, T9c, T3M;
Chris@42 519 {
Chris@42 520 E T3R, T3U, T3T, T9e, T3S;
Chris@42 521 {
Chris@42 522 E T3y, T3B, T3x, T3A, Ta4, T3z, T3Q;
Chris@42 523 T3y = cr[WS(rs, 1)];
Chris@42 524 T3B = ci[WS(rs, 1)];
Chris@42 525 T3x = W[0];
Chris@42 526 T3A = W[1];
Chris@42 527 T3R = cr[WS(rs, 49)];
Chris@42 528 T3U = ci[WS(rs, 49)];
Chris@42 529 Ta4 = T3x * T3B;
Chris@42 530 T3z = T3x * T3y;
Chris@42 531 T3Q = W[96];
Chris@42 532 T3T = W[97];
Chris@42 533 Ta5 = FNMS(T3A, T3y, Ta4);
Chris@42 534 T3C = FMA(T3A, T3B, T3z);
Chris@42 535 T9e = T3Q * T3U;
Chris@42 536 T3S = T3Q * T3R;
Chris@42 537 }
Chris@42 538 {
Chris@42 539 E T3E, T3H, T3D, T3G, Ta6, T3F, T3K;
Chris@42 540 T3E = cr[WS(rs, 33)];
Chris@42 541 T3H = ci[WS(rs, 33)];
Chris@42 542 T9f = FNMS(T3T, T3R, T9e);
Chris@42 543 T3V = FMA(T3T, T3U, T3S);
Chris@42 544 T3D = W[64];
Chris@42 545 T3G = W[65];
Chris@42 546 T3L = cr[WS(rs, 17)];
Chris@42 547 T3O = ci[WS(rs, 17)];
Chris@42 548 Ta6 = T3D * T3H;
Chris@42 549 T3F = T3D * T3E;
Chris@42 550 T3K = W[32];
Chris@42 551 T3N = W[33];
Chris@42 552 Ta7 = FNMS(T3G, T3E, Ta6);
Chris@42 553 T3I = FMA(T3G, T3H, T3F);
Chris@42 554 T9c = T3K * T3O;
Chris@42 555 T3M = T3K * T3L;
Chris@42 556 }
Chris@42 557 }
Chris@42 558 {
Chris@42 559 E Ta8, TfI, T3J, T9b, T9d, T3P;
Chris@42 560 Ta8 = Ta5 - Ta7;
Chris@42 561 TfI = Ta5 + Ta7;
Chris@42 562 T3J = T3C + T3I;
Chris@42 563 T9b = T3C - T3I;
Chris@42 564 T9d = FNMS(T3N, T3L, T9c);
Chris@42 565 T3P = FMA(T3N, T3O, T3M);
Chris@42 566 {
Chris@42 567 E TfJ, T9g, Ta9, T3W;
Chris@42 568 TfJ = T9d + T9f;
Chris@42 569 T9g = T9d - T9f;
Chris@42 570 Ta9 = T3P - T3V;
Chris@42 571 T3W = T3P + T3V;
Chris@42 572 T9h = T9b - T9g;
Chris@42 573 Td3 = T9b + T9g;
Chris@42 574 TfK = TfI - TfJ;
Chris@42 575 ThM = TfI + TfJ;
Chris@42 576 T3X = T3J + T3W;
Chris@42 577 Tfr = T3J - T3W;
Chris@42 578 Tde = Ta8 - Ta9;
Chris@42 579 Taa = Ta8 + Ta9;
Chris@42 580 }
Chris@42 581 }
Chris@42 582 }
Chris@42 583 }
Chris@42 584 {
Chris@42 585 E TaC, T69, Taw, TfU, T5X, Tar, TaA, T63;
Chris@42 586 {
Chris@42 587 E T8S, T3r, T8M, Tfl, T3f, T8H, T8Q, T3l;
Chris@42 588 {
Chris@42 589 E T8k, T8f, T8v, T8e;
Chris@42 590 {
Chris@42 591 E T8a, T2f, T8j, T2y, T2o, T2r, T2q, T8c, T2l, T8g, T2p;
Chris@42 592 {
Chris@42 593 E T2u, T2x, T2w, T8i, T2v;
Chris@42 594 {
Chris@42 595 E T2b, T2e, T2a, T2d, T89, T2c, T2t;
Chris@42 596 T2b = cr[WS(rs, 10)];
Chris@42 597 T2e = ci[WS(rs, 10)];
Chris@42 598 T2a = W[18];
Chris@42 599 T2d = W[19];
Chris@42 600 T2u = cr[WS(rs, 26)];
Chris@42 601 T2x = ci[WS(rs, 26)];
Chris@42 602 T89 = T2a * T2e;
Chris@42 603 T2c = T2a * T2b;
Chris@42 604 T2t = W[50];
Chris@42 605 T2w = W[51];
Chris@42 606 T8a = FNMS(T2d, T2b, T89);
Chris@42 607 T2f = FMA(T2d, T2e, T2c);
Chris@42 608 T8i = T2t * T2x;
Chris@42 609 T2v = T2t * T2u;
Chris@42 610 }
Chris@42 611 {
Chris@42 612 E T2h, T2k, T2g, T2j, T8b, T2i, T2n;
Chris@42 613 T2h = cr[WS(rs, 42)];
Chris@42 614 T2k = ci[WS(rs, 42)];
Chris@42 615 T8j = FNMS(T2w, T2u, T8i);
Chris@42 616 T2y = FMA(T2w, T2x, T2v);
Chris@42 617 T2g = W[82];
Chris@42 618 T2j = W[83];
Chris@42 619 T2o = cr[WS(rs, 58)];
Chris@42 620 T2r = ci[WS(rs, 58)];
Chris@42 621 T8b = T2g * T2k;
Chris@42 622 T2i = T2g * T2h;
Chris@42 623 T2n = W[114];
Chris@42 624 T2q = W[115];
Chris@42 625 T8c = FNMS(T2j, T2h, T8b);
Chris@42 626 T2l = FMA(T2j, T2k, T2i);
Chris@42 627 T8g = T2n * T2r;
Chris@42 628 T2p = T2n * T2o;
Chris@42 629 }
Chris@42 630 }
Chris@42 631 {
Chris@42 632 E T8d, Tfa, T2m, T88, T8h, T2s, Tf9, T2z;
Chris@42 633 T8d = T8a - T8c;
Chris@42 634 Tfa = T8a + T8c;
Chris@42 635 T2m = T2f + T2l;
Chris@42 636 T88 = T2f - T2l;
Chris@42 637 T8h = FNMS(T2q, T2o, T8g);
Chris@42 638 T2s = FMA(T2q, T2r, T2p);
Chris@42 639 T8k = T8h - T8j;
Chris@42 640 Tf9 = T8h + T8j;
Chris@42 641 T2z = T2s + T2y;
Chris@42 642 T8f = T2s - T2y;
Chris@42 643 T8v = T88 + T8d;
Chris@42 644 T8e = T88 - T8d;
Chris@42 645 Thx = Tfa + Tf9;
Chris@42 646 Tfb = Tf9 - Tfa;
Chris@42 647 Tf6 = T2m - T2z;
Chris@42 648 T2A = T2m + T2z;
Chris@42 649 }
Chris@42 650 }
Chris@42 651 {
Chris@42 652 E T38, T8J, T3h, T3k, T8L, T3e, T3g, T3j, T8P, T3i;
Chris@42 653 {
Chris@42 654 E T3n, T3q, T3m, T3p;
Chris@42 655 {
Chris@42 656 E T34, T37, T33, T8w, T8l, T36, T8I, T35;
Chris@42 657 T34 = cr[WS(rs, 6)];
Chris@42 658 T37 = ci[WS(rs, 6)];
Chris@42 659 T33 = W[10];
Chris@42 660 T8w = T8k - T8f;
Chris@42 661 T8l = T8f + T8k;
Chris@42 662 T36 = W[11];
Chris@42 663 T8I = T33 * T37;
Chris@42 664 T35 = T33 * T34;
Chris@42 665 T8x = T8v + T8w;
Chris@42 666 TcO = T8v - T8w;
Chris@42 667 T8m = T8e + T8l;
Chris@42 668 TcR = T8l - T8e;
Chris@42 669 T38 = FMA(T36, T37, T35);
Chris@42 670 T8J = FNMS(T36, T34, T8I);
Chris@42 671 }
Chris@42 672 T3n = cr[WS(rs, 22)];
Chris@42 673 T3q = ci[WS(rs, 22)];
Chris@42 674 T3m = W[42];
Chris@42 675 T3p = W[43];
Chris@42 676 {
Chris@42 677 E T3a, T3d, T3c, T8K, T3b, T8R, T3o, T39;
Chris@42 678 T3a = cr[WS(rs, 38)];
Chris@42 679 T3d = ci[WS(rs, 38)];
Chris@42 680 T8R = T3m * T3q;
Chris@42 681 T3o = T3m * T3n;
Chris@42 682 T39 = W[74];
Chris@42 683 T3c = W[75];
Chris@42 684 T8S = FNMS(T3p, T3n, T8R);
Chris@42 685 T3r = FMA(T3p, T3q, T3o);
Chris@42 686 T8K = T39 * T3d;
Chris@42 687 T3b = T39 * T3a;
Chris@42 688 T3h = cr[WS(rs, 54)];
Chris@42 689 T3k = ci[WS(rs, 54)];
Chris@42 690 T8L = FNMS(T3c, T3a, T8K);
Chris@42 691 T3e = FMA(T3c, T3d, T3b);
Chris@42 692 T3g = W[106];
Chris@42 693 T3j = W[107];
Chris@42 694 }
Chris@42 695 }
Chris@42 696 T8M = T8J - T8L;
Chris@42 697 Tfl = T8J + T8L;
Chris@42 698 T3f = T38 + T3e;
Chris@42 699 T8H = T38 - T3e;
Chris@42 700 T8P = T3g * T3k;
Chris@42 701 T3i = T3g * T3h;
Chris@42 702 T8Q = FNMS(T3j, T3h, T8P);
Chris@42 703 T3l = FMA(T3j, T3k, T3i);
Chris@42 704 }
Chris@42 705 }
Chris@42 706 {
Chris@42 707 E T9u, T9p, Tab, T9o;
Chris@42 708 {
Chris@42 709 E T9k, T43, T9t, T4m, T4c, T4f, T4e, T9m, T49, T9q, T4d;
Chris@42 710 {
Chris@42 711 E T4i, T4l, T4k, T9s, T4j;
Chris@42 712 {
Chris@42 713 E T3Z, T42, T3Y, T41, T9j, T40, T4h;
Chris@42 714 {
Chris@42 715 E T94, T8N, T8T, Tfk, T8O, T3s, T8U, T95;
Chris@42 716 T3Z = cr[WS(rs, 9)];
Chris@42 717 T94 = T8H + T8M;
Chris@42 718 T8N = T8H - T8M;
Chris@42 719 T8T = T8Q - T8S;
Chris@42 720 Tfk = T8Q + T8S;
Chris@42 721 T8O = T3l - T3r;
Chris@42 722 T3s = T3l + T3r;
Chris@42 723 T42 = ci[WS(rs, 9)];
Chris@42 724 Tfm = Tfk - Tfl;
Chris@42 725 ThC = Tfl + Tfk;
Chris@42 726 T8U = T8O + T8T;
Chris@42 727 T95 = T8T - T8O;
Chris@42 728 T3t = T3f + T3s;
Chris@42 729 Tfh = T3f - T3s;
Chris@42 730 T96 = T94 + T95;
Chris@42 731 TcV = T94 - T95;
Chris@42 732 T8V = T8N + T8U;
Chris@42 733 TcY = T8U - T8N;
Chris@42 734 T3Y = W[16];
Chris@42 735 }
Chris@42 736 T41 = W[17];
Chris@42 737 T4i = cr[WS(rs, 25)];
Chris@42 738 T4l = ci[WS(rs, 25)];
Chris@42 739 T9j = T3Y * T42;
Chris@42 740 T40 = T3Y * T3Z;
Chris@42 741 T4h = W[48];
Chris@42 742 T4k = W[49];
Chris@42 743 T9k = FNMS(T41, T3Z, T9j);
Chris@42 744 T43 = FMA(T41, T42, T40);
Chris@42 745 T9s = T4h * T4l;
Chris@42 746 T4j = T4h * T4i;
Chris@42 747 }
Chris@42 748 {
Chris@42 749 E T45, T48, T44, T47, T9l, T46, T4b;
Chris@42 750 T45 = cr[WS(rs, 41)];
Chris@42 751 T48 = ci[WS(rs, 41)];
Chris@42 752 T9t = FNMS(T4k, T4i, T9s);
Chris@42 753 T4m = FMA(T4k, T4l, T4j);
Chris@42 754 T44 = W[80];
Chris@42 755 T47 = W[81];
Chris@42 756 T4c = cr[WS(rs, 57)];
Chris@42 757 T4f = ci[WS(rs, 57)];
Chris@42 758 T9l = T44 * T48;
Chris@42 759 T46 = T44 * T45;
Chris@42 760 T4b = W[112];
Chris@42 761 T4e = W[113];
Chris@42 762 T9m = FNMS(T47, T45, T9l);
Chris@42 763 T49 = FMA(T47, T48, T46);
Chris@42 764 T9q = T4b * T4f;
Chris@42 765 T4d = T4b * T4c;
Chris@42 766 }
Chris@42 767 }
Chris@42 768 {
Chris@42 769 E T9n, Tft, T4a, T9i, T9r, T4g, Tfs, T4n;
Chris@42 770 T9n = T9k - T9m;
Chris@42 771 Tft = T9k + T9m;
Chris@42 772 T4a = T43 + T49;
Chris@42 773 T9i = T43 - T49;
Chris@42 774 T9r = FNMS(T4e, T4c, T9q);
Chris@42 775 T4g = FMA(T4e, T4f, T4d);
Chris@42 776 T9u = T9r - T9t;
Chris@42 777 Tfs = T9r + T9t;
Chris@42 778 T4n = T4g + T4m;
Chris@42 779 T9p = T4g - T4m;
Chris@42 780 Tab = T9i + T9n;
Chris@42 781 T9o = T9i - T9n;
Chris@42 782 ThN = Tft + Tfs;
Chris@42 783 Tfu = Tfs - Tft;
Chris@42 784 TfL = T4a - T4n;
Chris@42 785 T4o = T4a + T4n;
Chris@42 786 }
Chris@42 787 }
Chris@42 788 {
Chris@42 789 E T5Q, Tat, T5Z, T62, Tav, T5W, T5Y, T61, Taz, T60;
Chris@42 790 {
Chris@42 791 E T65, T68, T64, T67;
Chris@42 792 {
Chris@42 793 E T5M, T5P, T5L, Tac, T9v, T5O, Tas, T5N;
Chris@42 794 T5M = cr[WS(rs, 7)];
Chris@42 795 T5P = ci[WS(rs, 7)];
Chris@42 796 T5L = W[12];
Chris@42 797 Tac = T9u - T9p;
Chris@42 798 T9v = T9p + T9u;
Chris@42 799 T5O = W[13];
Chris@42 800 Tas = T5L * T5P;
Chris@42 801 T5N = T5L * T5M;
Chris@42 802 Tad = Tab + Tac;
Chris@42 803 Td4 = Tab - Tac;
Chris@42 804 T9w = T9o + T9v;
Chris@42 805 Tdf = T9v - T9o;
Chris@42 806 T5Q = FMA(T5O, T5P, T5N);
Chris@42 807 Tat = FNMS(T5O, T5M, Tas);
Chris@42 808 }
Chris@42 809 T65 = cr[WS(rs, 23)];
Chris@42 810 T68 = ci[WS(rs, 23)];
Chris@42 811 T64 = W[44];
Chris@42 812 T67 = W[45];
Chris@42 813 {
Chris@42 814 E T5S, T5V, T5U, Tau, T5T, TaB, T66, T5R;
Chris@42 815 T5S = cr[WS(rs, 39)];
Chris@42 816 T5V = ci[WS(rs, 39)];
Chris@42 817 TaB = T64 * T68;
Chris@42 818 T66 = T64 * T65;
Chris@42 819 T5R = W[76];
Chris@42 820 T5U = W[77];
Chris@42 821 TaC = FNMS(T67, T65, TaB);
Chris@42 822 T69 = FMA(T67, T68, T66);
Chris@42 823 Tau = T5R * T5V;
Chris@42 824 T5T = T5R * T5S;
Chris@42 825 T5Z = cr[WS(rs, 55)];
Chris@42 826 T62 = ci[WS(rs, 55)];
Chris@42 827 Tav = FNMS(T5U, T5S, Tau);
Chris@42 828 T5W = FMA(T5U, T5V, T5T);
Chris@42 829 T5Y = W[108];
Chris@42 830 T61 = W[109];
Chris@42 831 }
Chris@42 832 }
Chris@42 833 Taw = Tat - Tav;
Chris@42 834 TfU = Tat + Tav;
Chris@42 835 T5X = T5Q + T5W;
Chris@42 836 Tar = T5Q - T5W;
Chris@42 837 Taz = T5Y * T62;
Chris@42 838 T60 = T5Y * T5Z;
Chris@42 839 TaA = FNMS(T61, T5Z, Taz);
Chris@42 840 T63 = FMA(T61, T62, T60);
Chris@42 841 }
Chris@42 842 }
Chris@42 843 }
Chris@42 844 {
Chris@42 845 E T9T, Td9, TfE, TfB, Tda, Ta0;
Chris@42 846 {
Chris@42 847 E T9E, Td6, Tfz, Tfw, Td7, T9L;
Chris@42 848 {
Chris@42 849 E T9G, T4v, T9C, T4O, T4E, T4H, T4G, T9I, T4B, T9z, T4F;
Chris@42 850 {
Chris@42 851 E T4K, T4N, T4M, T9B, T4L;
Chris@42 852 {
Chris@42 853 E T4r, T4u, T4q, T4t, T9F, T4s, T4J;
Chris@42 854 {
Chris@42 855 E Tbl, Tax, TaD, TfT, Tay, T6a, TaE, Tbk;
Chris@42 856 T4r = cr[WS(rs, 5)];
Chris@42 857 Tbl = Tar + Taw;
Chris@42 858 Tax = Tar - Taw;
Chris@42 859 TaD = TaA - TaC;
Chris@42 860 TfT = TaA + TaC;
Chris@42 861 Tay = T63 - T69;
Chris@42 862 T6a = T63 + T69;
Chris@42 863 T4u = ci[WS(rs, 5)];
Chris@42 864 TfV = TfT - TfU;
Chris@42 865 ThY = TfU + TfT;
Chris@42 866 TaE = Tay + TaD;
Chris@42 867 Tbk = Tay - TaD;
Chris@42 868 T6b = T5X + T6a;
Chris@42 869 Tg9 = T6a - T5X;
Chris@42 870 Tbm = Tbk - Tbl;
Chris@42 871 Tdn = Tbl + Tbk;
Chris@42 872 TaF = Tax + TaE;
Chris@42 873 Tdy = TaE - Tax;
Chris@42 874 T4q = W[8];
Chris@42 875 }
Chris@42 876 T4t = W[9];
Chris@42 877 T4K = cr[WS(rs, 53)];
Chris@42 878 T4N = ci[WS(rs, 53)];
Chris@42 879 T9F = T4q * T4u;
Chris@42 880 T4s = T4q * T4r;
Chris@42 881 T4J = W[104];
Chris@42 882 T4M = W[105];
Chris@42 883 T9G = FNMS(T4t, T4r, T9F);
Chris@42 884 T4v = FMA(T4t, T4u, T4s);
Chris@42 885 T9B = T4J * T4N;
Chris@42 886 T4L = T4J * T4K;
Chris@42 887 }
Chris@42 888 {
Chris@42 889 E T4x, T4A, T4w, T4z, T9H, T4y, T4D;
Chris@42 890 T4x = cr[WS(rs, 37)];
Chris@42 891 T4A = ci[WS(rs, 37)];
Chris@42 892 T9C = FNMS(T4M, T4K, T9B);
Chris@42 893 T4O = FMA(T4M, T4N, T4L);
Chris@42 894 T4w = W[72];
Chris@42 895 T4z = W[73];
Chris@42 896 T4E = cr[WS(rs, 21)];
Chris@42 897 T4H = ci[WS(rs, 21)];
Chris@42 898 T9H = T4w * T4A;
Chris@42 899 T4y = T4w * T4x;
Chris@42 900 T4D = W[40];
Chris@42 901 T4G = W[41];
Chris@42 902 T9I = FNMS(T4z, T4x, T9H);
Chris@42 903 T4B = FMA(T4z, T4A, T4y);
Chris@42 904 T9z = T4D * T4H;
Chris@42 905 T4F = T4D * T4E;
Chris@42 906 }
Chris@42 907 }
Chris@42 908 {
Chris@42 909 E T9J, Tfx, T4C, T9y, T9A, T4I;
Chris@42 910 T9J = T9G - T9I;
Chris@42 911 Tfx = T9G + T9I;
Chris@42 912 T4C = T4v + T4B;
Chris@42 913 T9y = T4v - T4B;
Chris@42 914 T9A = FNMS(T4G, T4E, T9z);
Chris@42 915 T4I = FMA(T4G, T4H, T4F);
Chris@42 916 {
Chris@42 917 E Tfy, T9D, T9K, T4P;
Chris@42 918 Tfy = T9A + T9C;
Chris@42 919 T9D = T9A - T9C;
Chris@42 920 T9K = T4I - T4O;
Chris@42 921 T4P = T4I + T4O;
Chris@42 922 T9E = T9y - T9D;
Chris@42 923 Td6 = T9y + T9D;
Chris@42 924 Tfz = Tfx - Tfy;
Chris@42 925 ThJ = Tfx + Tfy;
Chris@42 926 Tfw = T4C - T4P;
Chris@42 927 T4Q = T4C + T4P;
Chris@42 928 Td7 = T9J - T9K;
Chris@42 929 T9L = T9J + T9K;
Chris@42 930 }
Chris@42 931 }
Chris@42 932 }
Chris@42 933 {
Chris@42 934 E T9V, T4W, T9R, T5f, T55, T58, T57, T9X, T52, T9O, T56;
Chris@42 935 {
Chris@42 936 E T5b, T5e, T5d, T9Q, T5c;
Chris@42 937 {
Chris@42 938 E T4S, T4V, T4R, T4U, T9U, T4T, T5a;
Chris@42 939 T4S = cr[WS(rs, 61)];
Chris@42 940 TfN = Tfw + Tfz;
Chris@42 941 TfA = Tfw - Tfz;
Chris@42 942 Taf = FMA(KP414213562, T9E, T9L);
Chris@42 943 T9M = FNMS(KP414213562, T9L, T9E);
Chris@42 944 Td8 = FMA(KP414213562, Td7, Td6);
Chris@42 945 Tdh = FNMS(KP414213562, Td6, Td7);
Chris@42 946 T4V = ci[WS(rs, 61)];
Chris@42 947 T4R = W[120];
Chris@42 948 T4U = W[121];
Chris@42 949 T5b = cr[WS(rs, 45)];
Chris@42 950 T5e = ci[WS(rs, 45)];
Chris@42 951 T9U = T4R * T4V;
Chris@42 952 T4T = T4R * T4S;
Chris@42 953 T5a = W[88];
Chris@42 954 T5d = W[89];
Chris@42 955 T9V = FNMS(T4U, T4S, T9U);
Chris@42 956 T4W = FMA(T4U, T4V, T4T);
Chris@42 957 T9Q = T5a * T5e;
Chris@42 958 T5c = T5a * T5b;
Chris@42 959 }
Chris@42 960 {
Chris@42 961 E T4Y, T51, T4X, T50, T9W, T4Z, T54;
Chris@42 962 T4Y = cr[WS(rs, 29)];
Chris@42 963 T51 = ci[WS(rs, 29)];
Chris@42 964 T9R = FNMS(T5d, T5b, T9Q);
Chris@42 965 T5f = FMA(T5d, T5e, T5c);
Chris@42 966 T4X = W[56];
Chris@42 967 T50 = W[57];
Chris@42 968 T55 = cr[WS(rs, 13)];
Chris@42 969 T58 = ci[WS(rs, 13)];
Chris@42 970 T9W = T4X * T51;
Chris@42 971 T4Z = T4X * T4Y;
Chris@42 972 T54 = W[24];
Chris@42 973 T57 = W[25];
Chris@42 974 T9X = FNMS(T50, T4Y, T9W);
Chris@42 975 T52 = FMA(T50, T51, T4Z);
Chris@42 976 T9O = T54 * T58;
Chris@42 977 T56 = T54 * T55;
Chris@42 978 }
Chris@42 979 }
Chris@42 980 {
Chris@42 981 E T9Y, TfC, T53, T9N, T9P, T59;
Chris@42 982 T9Y = T9V - T9X;
Chris@42 983 TfC = T9V + T9X;
Chris@42 984 T53 = T4W + T52;
Chris@42 985 T9N = T4W - T52;
Chris@42 986 T9P = FNMS(T57, T55, T9O);
Chris@42 987 T59 = FMA(T57, T58, T56);
Chris@42 988 {
Chris@42 989 E TfD, T9S, T9Z, T5g;
Chris@42 990 TfD = T9P + T9R;
Chris@42 991 T9S = T9P - T9R;
Chris@42 992 T9Z = T59 - T5f;
Chris@42 993 T5g = T59 + T5f;
Chris@42 994 T9T = T9N - T9S;
Chris@42 995 Td9 = T9N + T9S;
Chris@42 996 TfE = TfC - TfD;
Chris@42 997 ThI = TfC + TfD;
Chris@42 998 TfB = T53 - T5g;
Chris@42 999 T5h = T53 + T5g;
Chris@42 1000 Tda = T9Y - T9Z;
Chris@42 1001 Ta0 = T9Y + T9Z;
Chris@42 1002 }
Chris@42 1003 }
Chris@42 1004 }
Chris@42 1005 }
Chris@42 1006 {
Chris@42 1007 E TaN, Tdp, Tg0, TfX, Tdq, TaU;
Chris@42 1008 {
Chris@42 1009 E TaQ, T6i, TaL, T6B, T6r, T6u, T6t, TaS, T6o, TaI, T6s;
Chris@42 1010 {
Chris@42 1011 E T6x, T6A, T6z, TaK, T6y;
Chris@42 1012 {
Chris@42 1013 E T6e, T6h, T6d, T6g, TaP, T6f, T6w;
Chris@42 1014 T6e = cr[WS(rs, 3)];
Chris@42 1015 TfO = TfE - TfB;
Chris@42 1016 TfF = TfB + TfE;
Chris@42 1017 Tag = FNMS(KP414213562, T9T, Ta0);
Chris@42 1018 Ta1 = FMA(KP414213562, Ta0, T9T);
Chris@42 1019 Tdb = FNMS(KP414213562, Tda, Td9);
Chris@42 1020 Tdi = FMA(KP414213562, Td9, Tda);
Chris@42 1021 T6h = ci[WS(rs, 3)];
Chris@42 1022 T6d = W[4];
Chris@42 1023 T6g = W[5];
Chris@42 1024 T6x = cr[WS(rs, 51)];
Chris@42 1025 T6A = ci[WS(rs, 51)];
Chris@42 1026 TaP = T6d * T6h;
Chris@42 1027 T6f = T6d * T6e;
Chris@42 1028 T6w = W[100];
Chris@42 1029 T6z = W[101];
Chris@42 1030 TaQ = FNMS(T6g, T6e, TaP);
Chris@42 1031 T6i = FMA(T6g, T6h, T6f);
Chris@42 1032 TaK = T6w * T6A;
Chris@42 1033 T6y = T6w * T6x;
Chris@42 1034 }
Chris@42 1035 {
Chris@42 1036 E T6k, T6n, T6j, T6m, TaR, T6l, T6q;
Chris@42 1037 T6k = cr[WS(rs, 35)];
Chris@42 1038 T6n = ci[WS(rs, 35)];
Chris@42 1039 TaL = FNMS(T6z, T6x, TaK);
Chris@42 1040 T6B = FMA(T6z, T6A, T6y);
Chris@42 1041 T6j = W[68];
Chris@42 1042 T6m = W[69];
Chris@42 1043 T6r = cr[WS(rs, 19)];
Chris@42 1044 T6u = ci[WS(rs, 19)];
Chris@42 1045 TaR = T6j * T6n;
Chris@42 1046 T6l = T6j * T6k;
Chris@42 1047 T6q = W[36];
Chris@42 1048 T6t = W[37];
Chris@42 1049 TaS = FNMS(T6m, T6k, TaR);
Chris@42 1050 T6o = FMA(T6m, T6n, T6l);
Chris@42 1051 TaI = T6q * T6u;
Chris@42 1052 T6s = T6q * T6r;
Chris@42 1053 }
Chris@42 1054 }
Chris@42 1055 {
Chris@42 1056 E TaT, TfY, T6p, TaH, TaJ, T6v;
Chris@42 1057 TaT = TaQ - TaS;
Chris@42 1058 TfY = TaQ + TaS;
Chris@42 1059 T6p = T6i + T6o;
Chris@42 1060 TaH = T6i - T6o;
Chris@42 1061 TaJ = FNMS(T6t, T6r, TaI);
Chris@42 1062 T6v = FMA(T6t, T6u, T6s);
Chris@42 1063 {
Chris@42 1064 E TfZ, TaM, T6C, TaO;
Chris@42 1065 TfZ = TaJ + TaL;
Chris@42 1066 TaM = TaJ - TaL;
Chris@42 1067 T6C = T6v + T6B;
Chris@42 1068 TaO = T6B - T6v;
Chris@42 1069 TaN = TaH - TaM;
Chris@42 1070 Tdp = TaH + TaM;
Chris@42 1071 Tg0 = TfY - TfZ;
Chris@42 1072 ThU = TfY + TfZ;
Chris@42 1073 TfX = T6p - T6C;
Chris@42 1074 T6D = T6p + T6C;
Chris@42 1075 Tdq = TaT + TaO;
Chris@42 1076 TaU = TaO - TaT;
Chris@42 1077 }
Chris@42 1078 }
Chris@42 1079 }
Chris@42 1080 {
Chris@42 1081 E Tb5, T6J, Tb0, T72, T6S, T6V, T6U, Tb7, T6P, TaX, T6T;
Chris@42 1082 {
Chris@42 1083 E T6Y, T71, T70, TaZ, T6Z;
Chris@42 1084 {
Chris@42 1085 E T6F, T6I, T6E, T6H, Tb4, T6G, T6X;
Chris@42 1086 T6F = cr[WS(rs, 59)];
Chris@42 1087 Tgf = TfX + Tg0;
Chris@42 1088 Tg1 = TfX - Tg0;
Chris@42 1089 Tbo = FNMS(KP414213562, TaN, TaU);
Chris@42 1090 TaV = FMA(KP414213562, TaU, TaN);
Chris@42 1091 Tdr = FMA(KP414213562, Tdq, Tdp);
Chris@42 1092 TdA = FNMS(KP414213562, Tdp, Tdq);
Chris@42 1093 T6I = ci[WS(rs, 59)];
Chris@42 1094 T6E = W[116];
Chris@42 1095 T6H = W[117];
Chris@42 1096 T6Y = cr[WS(rs, 43)];
Chris@42 1097 T71 = ci[WS(rs, 43)];
Chris@42 1098 Tb4 = T6E * T6I;
Chris@42 1099 T6G = T6E * T6F;
Chris@42 1100 T6X = W[84];
Chris@42 1101 T70 = W[85];
Chris@42 1102 Tb5 = FNMS(T6H, T6F, Tb4);
Chris@42 1103 T6J = FMA(T6H, T6I, T6G);
Chris@42 1104 TaZ = T6X * T71;
Chris@42 1105 T6Z = T6X * T6Y;
Chris@42 1106 }
Chris@42 1107 {
Chris@42 1108 E T6L, T6O, T6K, T6N, Tb6, T6M, T6R;
Chris@42 1109 T6L = cr[WS(rs, 27)];
Chris@42 1110 T6O = ci[WS(rs, 27)];
Chris@42 1111 Tb0 = FNMS(T70, T6Y, TaZ);
Chris@42 1112 T72 = FMA(T70, T71, T6Z);
Chris@42 1113 T6K = W[52];
Chris@42 1114 T6N = W[53];
Chris@42 1115 T6S = cr[WS(rs, 11)];
Chris@42 1116 T6V = ci[WS(rs, 11)];
Chris@42 1117 Tb6 = T6K * T6O;
Chris@42 1118 T6M = T6K * T6L;
Chris@42 1119 T6R = W[20];
Chris@42 1120 T6U = W[21];
Chris@42 1121 Tb7 = FNMS(T6N, T6L, Tb6);
Chris@42 1122 T6P = FMA(T6N, T6O, T6M);
Chris@42 1123 TaX = T6R * T6V;
Chris@42 1124 T6T = T6R * T6S;
Chris@42 1125 }
Chris@42 1126 }
Chris@42 1127 {
Chris@42 1128 E Tb8, Tg3, T6Q, TaW, TaY, T6W;
Chris@42 1129 Tb8 = Tb5 - Tb7;
Chris@42 1130 Tg3 = Tb5 + Tb7;
Chris@42 1131 T6Q = T6J + T6P;
Chris@42 1132 TaW = T6J - T6P;
Chris@42 1133 TaY = FNMS(T6U, T6S, TaX);
Chris@42 1134 T6W = FMA(T6U, T6V, T6T);
Chris@42 1135 {
Chris@42 1136 E Tg4, Tb1, T73, Tb3;
Chris@42 1137 Tg4 = TaY + Tb0;
Chris@42 1138 Tb1 = TaY - Tb0;
Chris@42 1139 T73 = T6W + T72;
Chris@42 1140 Tb3 = T72 - T6W;
Chris@42 1141 Tb2 = TaW - Tb1;
Chris@42 1142 Tds = TaW + Tb1;
Chris@42 1143 Tg5 = Tg3 - Tg4;
Chris@42 1144 ThT = Tg3 + Tg4;
Chris@42 1145 Tg2 = T6Q - T73;
Chris@42 1146 T74 = T6Q + T73;
Chris@42 1147 Tdt = Tb8 + Tb3;
Chris@42 1148 Tb9 = Tb3 - Tb8;
Chris@42 1149 }
Chris@42 1150 }
Chris@42 1151 }
Chris@42 1152 }
Chris@42 1153 }
Chris@42 1154 }
Chris@42 1155 {
Chris@42 1156 E Thq, Tge, Tg6, Tdu, TdB, Tj7, Thv, ThA, Tht, Tj8, ThD, Thy, ThS, Ti0, ThZ;
Chris@42 1157 E ThV, ThH, ThP, ThO, ThK, Tkm, TcD, Tk0, Tk4, TjZ, Tk3, Tik, Tin;
Chris@42 1158 {
Chris@42 1159 E Tbp, Tba, TiI, TiL;
Chris@42 1160 {
Chris@42 1161 E Tio, T1I, Tj1, T3v, Tj2, TiX, TiN, Tir, T76, TiJ, TiC, TiG, T5j, Tit, Tiw;
Chris@42 1162 E TiK;
Chris@42 1163 {
Chris@42 1164 E TiO, TiW, Tip, Tiq;
Chris@42 1165 {
Chris@42 1166 E TO, T1H, T2B, T3u;
Chris@42 1167 Thq = Tm - TN;
Chris@42 1168 TO = Tm + TN;
Chris@42 1169 Tge = Tg2 - Tg5;
Chris@42 1170 Tg6 = Tg2 + Tg5;
Chris@42 1171 Tbp = FMA(KP414213562, Tb2, Tb9);
Chris@42 1172 Tba = FNMS(KP414213562, Tb9, Tb2);
Chris@42 1173 Tdu = FNMS(KP414213562, Tdt, Tds);
Chris@42 1174 TdB = FMA(KP414213562, Tds, Tdt);
Chris@42 1175 T1H = T1f + T1G;
Chris@42 1176 Tj7 = T1f - T1G;
Chris@42 1177 Thv = T29 - T2A;
Chris@42 1178 T2B = T29 + T2A;
Chris@42 1179 T3u = T32 + T3t;
Chris@42 1180 ThA = T32 - T3t;
Chris@42 1181 Tht = Thr - Ths;
Chris@42 1182 TiO = Ths + Thr;
Chris@42 1183 Tio = TO - T1H;
Chris@42 1184 T1I = TO + T1H;
Chris@42 1185 Tj1 = T2B - T3u;
Chris@42 1186 T3v = T2B + T3u;
Chris@42 1187 TiW = TiP + TiV;
Chris@42 1188 Tj8 = TiV - TiP;
Chris@42 1189 }
Chris@42 1190 ThD = ThB - ThC;
Chris@42 1191 Tip = ThB + ThC;
Chris@42 1192 Tiq = Thw + Thx;
Chris@42 1193 Thy = Thw - Thx;
Chris@42 1194 {
Chris@42 1195 E T6c, T75, Tiz, TiA;
Chris@42 1196 ThS = T5K - T6b;
Chris@42 1197 T6c = T5K + T6b;
Chris@42 1198 Tj2 = TiW - TiO;
Chris@42 1199 TiX = TiO + TiW;
Chris@42 1200 TiN = Tiq + Tip;
Chris@42 1201 Tir = Tip - Tiq;
Chris@42 1202 T75 = T6D + T74;
Chris@42 1203 Ti0 = T74 - T6D;
Chris@42 1204 ThZ = ThX - ThY;
Chris@42 1205 Tiz = ThX + ThY;
Chris@42 1206 TiA = ThU + ThT;
Chris@42 1207 ThV = ThT - ThU;
Chris@42 1208 {
Chris@42 1209 E T4p, Tiy, TiB, T5i, Tiu, Tiv;
Chris@42 1210 ThH = T3X - T4o;
Chris@42 1211 T4p = T3X + T4o;
Chris@42 1212 T76 = T6c + T75;
Chris@42 1213 Tiy = T6c - T75;
Chris@42 1214 TiJ = Tiz + TiA;
Chris@42 1215 TiB = Tiz - TiA;
Chris@42 1216 T5i = T4Q + T5h;
Chris@42 1217 ThP = T4Q - T5h;
Chris@42 1218 ThO = ThM - ThN;
Chris@42 1219 Tiu = ThM + ThN;
Chris@42 1220 Tiv = ThJ + ThI;
Chris@42 1221 ThK = ThI - ThJ;
Chris@42 1222 TiC = Tiy - TiB;
Chris@42 1223 TiG = Tiy + TiB;
Chris@42 1224 T5j = T4p + T5i;
Chris@42 1225 Tit = T4p - T5i;
Chris@42 1226 Tiw = Tiu - Tiv;
Chris@42 1227 TiK = Tiu + Tiv;
Chris@42 1228 }
Chris@42 1229 }
Chris@42 1230 }
Chris@42 1231 {
Chris@42 1232 E TiZ, TiD, TiH, TiE, Tis, TiM, TiY, Tj0;
Chris@42 1233 {
Chris@42 1234 E T3w, TiF, Tix, T77, Tj5, Tj3, Tj6, Tj4;
Chris@42 1235 TiI = T1I - T3v;
Chris@42 1236 T3w = T1I + T3v;
Chris@42 1237 TiF = Tit - Tiw;
Chris@42 1238 Tix = Tit + Tiw;
Chris@42 1239 T77 = T5j + T76;
Chris@42 1240 TiZ = T76 - T5j;
Chris@42 1241 Tj5 = Tj2 - Tj1;
Chris@42 1242 Tj3 = Tj1 + Tj2;
Chris@42 1243 TiD = Tix + TiC;
Chris@42 1244 Tj4 = TiC - Tix;
Chris@42 1245 cr[0] = T3w + T77;
Chris@42 1246 ci[WS(rs, 31)] = T3w - T77;
Chris@42 1247 Tj6 = TiG - TiF;
Chris@42 1248 TiH = TiF + TiG;
Chris@42 1249 ci[WS(rs, 39)] = FMA(KP707106781, Tj4, Tj3);
Chris@42 1250 cr[WS(rs, 56)] = FMS(KP707106781, Tj4, Tj3);
Chris@42 1251 TiE = Tio + Tir;
Chris@42 1252 Tis = Tio - Tir;
Chris@42 1253 ci[WS(rs, 55)] = FMA(KP707106781, Tj6, Tj5);
Chris@42 1254 cr[WS(rs, 40)] = FMS(KP707106781, Tj6, Tj5);
Chris@42 1255 }
Chris@42 1256 TiL = TiJ - TiK;
Chris@42 1257 TiM = TiK + TiJ;
Chris@42 1258 cr[WS(rs, 8)] = FMA(KP707106781, TiD, Tis);
Chris@42 1259 ci[WS(rs, 23)] = FNMS(KP707106781, TiD, Tis);
Chris@42 1260 ci[WS(rs, 7)] = FMA(KP707106781, TiH, TiE);
Chris@42 1261 cr[WS(rs, 24)] = FNMS(KP707106781, TiH, TiE);
Chris@42 1262 TiY = TiN + TiX;
Chris@42 1263 Tj0 = TiX - TiN;
Chris@42 1264 ci[WS(rs, 63)] = TiM + TiY;
Chris@42 1265 cr[WS(rs, 32)] = TiM - TiY;
Chris@42 1266 ci[WS(rs, 47)] = TiZ + Tj0;
Chris@42 1267 cr[WS(rs, 48)] = TiZ - Tj0;
Chris@42 1268 }
Chris@42 1269 }
Chris@42 1270 {
Chris@42 1271 E TjW, TbB, Tk2, T99, TbF, TbL, Tbv, Taj, Tcu, Tcy, Tci, Tce, Tcr, Tcx, Tch;
Chris@42 1272 E Tc7, Tcn, Tkg, Tka, TbZ, TbP, T7J, TbO, T7u, Tk7, TjT, TbI, TbM, Tbw, Tbs;
Chris@42 1273 E T7Y, TbQ;
Chris@42 1274 {
Chris@42 1275 E TbX, TbW, TbU, TbT, Tc1, Tc5, Tc4, Tc2, TaG, Tbq, Tbn, Tcb, Tcs, Tca, Tcc;
Chris@42 1276 E Tbb, Tcm, TbV;
Chris@42 1277 {
Chris@42 1278 E T8W, Tbz, T8z, T97, T8n, T8y;
Chris@42 1279 TbX = FNMS(KP707106781, T8m, T87);
Chris@42 1280 T8n = FMA(KP707106781, T8m, T87);
Chris@42 1281 T8y = FMA(KP707106781, T8x, T8u);
Chris@42 1282 TbW = FNMS(KP707106781, T8x, T8u);
Chris@42 1283 TbU = FNMS(KP707106781, T8V, T8G);
Chris@42 1284 T8W = FMA(KP707106781, T8V, T8G);
Chris@42 1285 ci[WS(rs, 15)] = TiI + TiL;
Chris@42 1286 cr[WS(rs, 16)] = TiI - TiL;
Chris@42 1287 Tbz = FMA(KP198912367, T8n, T8y);
Chris@42 1288 T8z = FNMS(KP198912367, T8y, T8n);
Chris@42 1289 T97 = FMA(KP707106781, T96, T93);
Chris@42 1290 TbT = FNMS(KP707106781, T96, T93);
Chris@42 1291 {
Chris@42 1292 E Tae, TbD, Ta3, Tah;
Chris@42 1293 {
Chris@42 1294 E T9x, Ta2, TbA, T98;
Chris@42 1295 Tc1 = FNMS(KP707106781, T9w, T9h);
Chris@42 1296 T9x = FMA(KP707106781, T9w, T9h);
Chris@42 1297 Ta2 = T9M + Ta1;
Chris@42 1298 Tc5 = Ta1 - T9M;
Chris@42 1299 Tc4 = FNMS(KP707106781, Tad, Taa);
Chris@42 1300 Tae = FMA(KP707106781, Tad, Taa);
Chris@42 1301 TbA = FNMS(KP198912367, T8W, T97);
Chris@42 1302 T98 = FMA(KP198912367, T97, T8W);
Chris@42 1303 TbD = FNMS(KP923879532, Ta2, T9x);
Chris@42 1304 Ta3 = FMA(KP923879532, Ta2, T9x);
Chris@42 1305 TjW = Tbz + TbA;
Chris@42 1306 TbB = Tbz - TbA;
Chris@42 1307 Tk2 = T98 - T8z;
Chris@42 1308 T99 = T8z + T98;
Chris@42 1309 Tah = Taf + Tag;
Chris@42 1310 Tc2 = Taf - Tag;
Chris@42 1311 }
Chris@42 1312 {
Chris@42 1313 E Tc8, Tc9, TbE, Tai;
Chris@42 1314 TaG = FMA(KP707106781, TaF, Taq);
Chris@42 1315 Tc8 = FNMS(KP707106781, TaF, Taq);
Chris@42 1316 Tc9 = Tbp - Tbo;
Chris@42 1317 Tbq = Tbo + Tbp;
Chris@42 1318 Tbn = FMA(KP707106781, Tbm, Tbj);
Chris@42 1319 Tcb = FNMS(KP707106781, Tbm, Tbj);
Chris@42 1320 TbE = FNMS(KP923879532, Tah, Tae);
Chris@42 1321 Tai = FMA(KP923879532, Tah, Tae);
Chris@42 1322 Tcs = FMA(KP923879532, Tc9, Tc8);
Chris@42 1323 Tca = FNMS(KP923879532, Tc9, Tc8);
Chris@42 1324 TbF = FMA(KP820678790, TbE, TbD);
Chris@42 1325 TbL = FNMS(KP820678790, TbD, TbE);
Chris@42 1326 Tbv = FMA(KP098491403, Ta3, Tai);
Chris@42 1327 Taj = FNMS(KP098491403, Tai, Ta3);
Chris@42 1328 Tcc = Tba - TaV;
Chris@42 1329 Tbb = TaV + Tba;
Chris@42 1330 }
Chris@42 1331 }
Chris@42 1332 }
Chris@42 1333 {
Chris@42 1334 E Tcp, Tc3, Tct, Tcd, Tcq, Tc6;
Chris@42 1335 Tct = FNMS(KP923879532, Tcc, Tcb);
Chris@42 1336 Tcd = FMA(KP923879532, Tcc, Tcb);
Chris@42 1337 Tcp = FMA(KP923879532, Tc2, Tc1);
Chris@42 1338 Tc3 = FNMS(KP923879532, Tc2, Tc1);
Chris@42 1339 Tcu = FMA(KP303346683, Tct, Tcs);
Chris@42 1340 Tcy = FNMS(KP303346683, Tcs, Tct);
Chris@42 1341 Tci = FMA(KP534511135, Tca, Tcd);
Chris@42 1342 Tce = FNMS(KP534511135, Tcd, Tca);
Chris@42 1343 Tcq = FMA(KP923879532, Tc5, Tc4);
Chris@42 1344 Tc6 = FNMS(KP923879532, Tc5, Tc4);
Chris@42 1345 Tcm = FNMS(KP668178637, TbT, TbU);
Chris@42 1346 TbV = FMA(KP668178637, TbU, TbT);
Chris@42 1347 Tcr = FMA(KP303346683, Tcq, Tcp);
Chris@42 1348 Tcx = FNMS(KP303346683, Tcp, Tcq);
Chris@42 1349 Tch = FMA(KP534511135, Tc3, Tc6);
Chris@42 1350 Tc7 = FNMS(KP534511135, Tc6, Tc3);
Chris@42 1351 }
Chris@42 1352 {
Chris@42 1353 E TbG, Tbc, Tcl, TbY;
Chris@42 1354 Tcl = FMA(KP668178637, TbW, TbX);
Chris@42 1355 TbY = FNMS(KP668178637, TbX, TbW);
Chris@42 1356 TbG = FNMS(KP923879532, Tbb, TaG);
Chris@42 1357 Tbc = FMA(KP923879532, Tbb, TaG);
Chris@42 1358 Tcn = Tcl + Tcm;
Chris@42 1359 Tkg = Tcl - Tcm;
Chris@42 1360 Tka = TbY + TbV;
Chris@42 1361 TbZ = TbV - TbY;
Chris@42 1362 {
Chris@42 1363 E T7t, TjS, TbH, Tbr;
Chris@42 1364 Tkm = T7s - T7l;
Chris@42 1365 T7t = T7l + T7s;
Chris@42 1366 TjS = TcB - TcC;
Chris@42 1367 TcD = TcB + TcC;
Chris@42 1368 TbP = FMA(KP414213562, T7B, T7I);
Chris@42 1369 T7J = FNMS(KP414213562, T7I, T7B);
Chris@42 1370 TbH = FNMS(KP923879532, Tbq, Tbn);
Chris@42 1371 Tbr = FMA(KP923879532, Tbq, Tbn);
Chris@42 1372 TbO = FNMS(KP707106781, T7t, T7e);
Chris@42 1373 T7u = FMA(KP707106781, T7t, T7e);
Chris@42 1374 Tk7 = FNMS(KP707106781, TjS, TjR);
Chris@42 1375 TjT = FMA(KP707106781, TjS, TjR);
Chris@42 1376 TbI = FMA(KP820678790, TbH, TbG);
Chris@42 1377 TbM = FNMS(KP820678790, TbG, TbH);
Chris@42 1378 Tbw = FMA(KP098491403, Tbc, Tbr);
Chris@42 1379 Tbs = FNMS(KP098491403, Tbr, Tbc);
Chris@42 1380 T7Y = FMA(KP414213562, T7X, T7Q);
Chris@42 1381 TbQ = FNMS(KP414213562, T7Q, T7X);
Chris@42 1382 }
Chris@42 1383 }
Chris@42 1384 }
Chris@42 1385 {
Chris@42 1386 E Tk1, TjV, Tck, TbS, Tkd, Tcz, Tkh, Tcf, TjY, Tk6, Tke, Tcv, Tki, Tcj;
Chris@42 1387 {
Chris@42 1388 E Tbu, TbC, Tkb, Tkc, Tkj, Tkk, Tbx, TbJ;
Chris@42 1389 {
Chris@42 1390 E Tbt, Tkf, Tk9, T9a, TbK, TbN, Tby;
Chris@42 1391 Tk0 = Tbs - Taj;
Chris@42 1392 Tbt = Taj + Tbs;
Chris@42 1393 {
Chris@42 1394 E Tk8, T7Z, TjU, TbR, T80;
Chris@42 1395 Tk8 = T7Y - T7J;
Chris@42 1396 T7Z = T7J + T7Y;
Chris@42 1397 TjU = TbP + TbQ;
Chris@42 1398 TbR = TbP - TbQ;
Chris@42 1399 Tkf = FNMS(KP923879532, Tk8, Tk7);
Chris@42 1400 Tk9 = FMA(KP923879532, Tk8, Tk7);
Chris@42 1401 Tby = FNMS(KP923879532, T7Z, T7u);
Chris@42 1402 T80 = FMA(KP923879532, T7Z, T7u);
Chris@42 1403 Tk1 = FNMS(KP923879532, TjU, TjT);
Chris@42 1404 TjV = FMA(KP923879532, TjU, TjT);
Chris@42 1405 Tck = FMA(KP923879532, TbR, TbO);
Chris@42 1406 TbS = FNMS(KP923879532, TbR, TbO);
Chris@42 1407 T9a = FMA(KP980785280, T99, T80);
Chris@42 1408 Tbu = FNMS(KP980785280, T99, T80);
Chris@42 1409 }
Chris@42 1410 TbC = FMA(KP980785280, TbB, Tby);
Chris@42 1411 TbK = FNMS(KP980785280, TbB, Tby);
Chris@42 1412 TbN = TbL + TbM;
Chris@42 1413 Tk4 = TbL - TbM;
Chris@42 1414 Tkd = FNMS(KP831469612, Tka, Tk9);
Chris@42 1415 Tkb = FMA(KP831469612, Tka, Tk9);
Chris@42 1416 ci[0] = FMA(KP995184726, Tbt, T9a);
Chris@42 1417 cr[WS(rs, 31)] = FNMS(KP995184726, Tbt, T9a);
Chris@42 1418 ci[WS(rs, 8)] = FNMS(KP773010453, TbN, TbK);
Chris@42 1419 cr[WS(rs, 23)] = FMA(KP773010453, TbN, TbK);
Chris@42 1420 Tkc = Tcx - Tcy;
Chris@42 1421 Tcz = Tcx + Tcy;
Chris@42 1422 Tkh = FMA(KP831469612, Tkg, Tkf);
Chris@42 1423 Tkj = FNMS(KP831469612, Tkg, Tkf);
Chris@42 1424 Tkk = Tce - Tc7;
Chris@42 1425 Tcf = Tc7 + Tce;
Chris@42 1426 }
Chris@42 1427 ci[WS(rs, 60)] = FMA(KP956940335, Tkc, Tkb);
Chris@42 1428 cr[WS(rs, 35)] = FMS(KP956940335, Tkc, Tkb);
Chris@42 1429 ci[WS(rs, 52)] = FMA(KP881921264, Tkk, Tkj);
Chris@42 1430 cr[WS(rs, 43)] = FMS(KP881921264, Tkk, Tkj);
Chris@42 1431 Tbx = Tbv + Tbw;
Chris@42 1432 TjY = Tbw - Tbv;
Chris@42 1433 TbJ = TbF + TbI;
Chris@42 1434 Tk6 = TbI - TbF;
Chris@42 1435 cr[WS(rs, 15)] = FMA(KP995184726, Tbx, Tbu);
Chris@42 1436 ci[WS(rs, 16)] = FNMS(KP995184726, Tbx, Tbu);
Chris@42 1437 cr[WS(rs, 7)] = FMA(KP773010453, TbJ, TbC);
Chris@42 1438 ci[WS(rs, 24)] = FNMS(KP773010453, TbJ, TbC);
Chris@42 1439 Tke = Tcu - Tcr;
Chris@42 1440 Tcv = Tcr + Tcu;
Chris@42 1441 Tki = Tci - Tch;
Chris@42 1442 Tcj = Tch + Tci;
Chris@42 1443 }
Chris@42 1444 {
Chris@42 1445 E Tcg, Tco, TjX, Tk5, Tc0, Tcw;
Chris@42 1446 Tcg = FNMS(KP831469612, TbZ, TbS);
Chris@42 1447 Tc0 = FMA(KP831469612, TbZ, TbS);
Chris@42 1448 ci[WS(rs, 44)] = FMA(KP956940335, Tke, Tkd);
Chris@42 1449 cr[WS(rs, 51)] = FMS(KP956940335, Tke, Tkd);
Chris@42 1450 ci[WS(rs, 36)] = FMA(KP881921264, Tki, Tkh);
Chris@42 1451 cr[WS(rs, 59)] = FMS(KP881921264, Tki, Tkh);
Chris@42 1452 Tco = FMA(KP831469612, Tcn, Tck);
Chris@42 1453 Tcw = FNMS(KP831469612, Tcn, Tck);
Chris@42 1454 TjZ = FNMS(KP980785280, TjW, TjV);
Chris@42 1455 TjX = FMA(KP980785280, TjW, TjV);
Chris@42 1456 ci[WS(rs, 4)] = FMA(KP881921264, Tcf, Tc0);
Chris@42 1457 cr[WS(rs, 27)] = FNMS(KP881921264, Tcf, Tc0);
Chris@42 1458 ci[WS(rs, 12)] = FNMS(KP956940335, Tcz, Tcw);
Chris@42 1459 cr[WS(rs, 19)] = FMA(KP956940335, Tcz, Tcw);
Chris@42 1460 Tk3 = FMA(KP980785280, Tk2, Tk1);
Chris@42 1461 Tk5 = FNMS(KP980785280, Tk2, Tk1);
Chris@42 1462 ci[WS(rs, 32)] = FMA(KP995184726, TjY, TjX);
Chris@42 1463 cr[WS(rs, 63)] = FMS(KP995184726, TjY, TjX);
Chris@42 1464 ci[WS(rs, 40)] = FMA(KP773010453, Tk6, Tk5);
Chris@42 1465 cr[WS(rs, 55)] = FMS(KP773010453, Tk6, Tk5);
Chris@42 1466 cr[WS(rs, 11)] = FMA(KP881921264, Tcj, Tcg);
Chris@42 1467 ci[WS(rs, 20)] = FNMS(KP881921264, Tcj, Tcg);
Chris@42 1468 cr[WS(rs, 3)] = FMA(KP956940335, Tcv, Tco);
Chris@42 1469 ci[WS(rs, 28)] = FNMS(KP956940335, Tcv, Tco);
Chris@42 1470 }
Chris@42 1471 }
Chris@42 1472 }
Chris@42 1473 }
Chris@42 1474 {
Chris@42 1475 E Ti8, Thu, Tjf, Tj9, Tib, Tjg, Tja, ThF, Tig, ThW, Tif, Til, Ti6, ThR;
Chris@42 1476 ci[WS(rs, 48)] = FMA(KP995184726, Tk0, TjZ);
Chris@42 1477 cr[WS(rs, 47)] = FMS(KP995184726, Tk0, TjZ);
Chris@42 1478 ci[WS(rs, 56)] = FMA(KP773010453, Tk4, Tk3);
Chris@42 1479 cr[WS(rs, 39)] = FMS(KP773010453, Tk4, Tk3);
Chris@42 1480 Ti8 = Thq + Tht;
Chris@42 1481 Thu = Thq - Tht;
Chris@42 1482 Tjf = Tj8 - Tj7;
Chris@42 1483 Tj9 = Tj7 + Tj8;
Chris@42 1484 {
Chris@42 1485 E Tid, ThL, Tie, ThQ;
Chris@42 1486 {
Chris@42 1487 E Ti9, Thz, Tia, ThE;
Chris@42 1488 Ti9 = Thv - Thy;
Chris@42 1489 Thz = Thv + Thy;
Chris@42 1490 Tia = ThA + ThD;
Chris@42 1491 ThE = ThA - ThD;
Chris@42 1492 Tib = Ti9 + Tia;
Chris@42 1493 Tjg = Tia - Ti9;
Chris@42 1494 Tja = Thz - ThE;
Chris@42 1495 ThF = Thz + ThE;
Chris@42 1496 Tid = ThH + ThK;
Chris@42 1497 ThL = ThH - ThK;
Chris@42 1498 }
Chris@42 1499 Tie = ThO + ThP;
Chris@42 1500 ThQ = ThO - ThP;
Chris@42 1501 Tig = ThS + ThV;
Chris@42 1502 ThW = ThS - ThV;
Chris@42 1503 Tif = FNMS(KP414213562, Tie, Tid);
Chris@42 1504 Til = FMA(KP414213562, Tid, Tie);
Chris@42 1505 Ti6 = FNMS(KP414213562, ThL, ThQ);
Chris@42 1506 ThR = FMA(KP414213562, ThQ, ThL);
Chris@42 1507 }
Chris@42 1508 {
Chris@42 1509 E Ti4, ThG, Tjh, Tjj, Tih, Ti1;
Chris@42 1510 Ti4 = FNMS(KP707106781, ThF, Thu);
Chris@42 1511 ThG = FMA(KP707106781, ThF, Thu);
Chris@42 1512 Tjh = FMA(KP707106781, Tjg, Tjf);
Chris@42 1513 Tjj = FNMS(KP707106781, Tjg, Tjf);
Chris@42 1514 Tih = Ti0 - ThZ;
Chris@42 1515 Ti1 = ThZ + Ti0;
Chris@42 1516 {
Chris@42 1517 E Tje, Tjd, Tjb, Tjc;
Chris@42 1518 {
Chris@42 1519 E Tic, Tim, Ti5, Ti2, Tij, Tii;
Chris@42 1520 Tik = FNMS(KP707106781, Tib, Ti8);
Chris@42 1521 Tic = FMA(KP707106781, Tib, Ti8);
Chris@42 1522 Tii = FNMS(KP414213562, Tih, Tig);
Chris@42 1523 Tim = FMA(KP414213562, Tig, Tih);
Chris@42 1524 Ti5 = FMA(KP414213562, ThW, Ti1);
Chris@42 1525 Ti2 = FNMS(KP414213562, Ti1, ThW);
Chris@42 1526 Tij = Tif + Tii;
Chris@42 1527 Tje = Tii - Tif;
Chris@42 1528 Tjd = FNMS(KP707106781, Tja, Tj9);
Chris@42 1529 Tjb = FMA(KP707106781, Tja, Tj9);
Chris@42 1530 {
Chris@42 1531 E Ti7, Tji, Tjk, Ti3;
Chris@42 1532 Ti7 = Ti5 - Ti6;
Chris@42 1533 Tji = Ti6 + Ti5;
Chris@42 1534 Tjk = Ti2 - ThR;
Chris@42 1535 Ti3 = ThR + Ti2;
Chris@42 1536 ci[WS(rs, 3)] = FMA(KP923879532, Tij, Tic);
Chris@42 1537 cr[WS(rs, 28)] = FNMS(KP923879532, Tij, Tic);
Chris@42 1538 ci[WS(rs, 11)] = FMA(KP923879532, Ti7, Ti4);
Chris@42 1539 cr[WS(rs, 20)] = FNMS(KP923879532, Ti7, Ti4);
Chris@42 1540 ci[WS(rs, 59)] = FMA(KP923879532, Tji, Tjh);
Chris@42 1541 cr[WS(rs, 36)] = FMS(KP923879532, Tji, Tjh);
Chris@42 1542 ci[WS(rs, 43)] = FMA(KP923879532, Tjk, Tjj);
Chris@42 1543 cr[WS(rs, 52)] = FMS(KP923879532, Tjk, Tjj);
Chris@42 1544 cr[WS(rs, 4)] = FMA(KP923879532, Ti3, ThG);
Chris@42 1545 ci[WS(rs, 27)] = FNMS(KP923879532, Ti3, ThG);
Chris@42 1546 Tjc = Tim - Til;
Chris@42 1547 Tin = Til + Tim;
Chris@42 1548 }
Chris@42 1549 }
Chris@42 1550 ci[WS(rs, 35)] = FMA(KP923879532, Tjc, Tjb);
Chris@42 1551 cr[WS(rs, 60)] = FMS(KP923879532, Tjc, Tjb);
Chris@42 1552 ci[WS(rs, 51)] = FMA(KP923879532, Tje, Tjd);
Chris@42 1553 cr[WS(rs, 44)] = FMS(KP923879532, Tje, Tjd);
Chris@42 1554 }
Chris@42 1555 }
Chris@42 1556 }
Chris@42 1557 {
Chris@42 1558 E Tjy, Tju, Tjt, Tjx;
Chris@42 1559 {
Chris@42 1560 E TjD, TjJ, Tgo, Tf2, Tjp, Tjv, Tha, TgI, Tgg, Tgd, Tgr, Tjw, Tjq, Tfp, Thk;
Chris@42 1561 E Tho, Th7, Th4, Tgv, TgB, Tgl, TfR, TjE, Thd, TjK, TgP, Tgw, Tg8, Thh, Thn;
Chris@42 1562 E Th8, TgX;
Chris@42 1563 {
Chris@42 1564 E TgK, TgJ, TgN, TgM, TfW, Th1, Thi, Th0, Th2, Tg7;
Chris@42 1565 {
Chris@42 1566 E TgE, TeQ, TjB, Tjn, TgF, TgG, TjC, Tf1, TeV, Tf0;
Chris@42 1567 TgE = TeM - TeP;
Chris@42 1568 TeQ = TeM + TeP;
Chris@42 1569 TjB = Tjm - Tjl;
Chris@42 1570 Tjn = Tjl + Tjm;
Chris@42 1571 TgF = TeR + TeU;
Chris@42 1572 TeV = TeR - TeU;
Chris@42 1573 cr[WS(rs, 12)] = FMA(KP923879532, Tin, Tik);
Chris@42 1574 ci[WS(rs, 19)] = FNMS(KP923879532, Tin, Tik);
Chris@42 1575 Tf0 = TeW + TeZ;
Chris@42 1576 TgG = TeW - TeZ;
Chris@42 1577 TjC = Tf0 - TeV;
Chris@42 1578 Tf1 = TeV + Tf0;
Chris@42 1579 {
Chris@42 1580 E Tfi, Tgp, Tfd, Tfn;
Chris@42 1581 {
Chris@42 1582 E Tf7, Tjo, TgH, Tfc;
Chris@42 1583 TgK = Tf5 - Tf6;
Chris@42 1584 Tf7 = Tf5 + Tf6;
Chris@42 1585 TjD = FMA(KP707106781, TjC, TjB);
Chris@42 1586 TjJ = FNMS(KP707106781, TjC, TjB);
Chris@42 1587 Tgo = FMA(KP707106781, Tf1, TeQ);
Chris@42 1588 Tf2 = FNMS(KP707106781, Tf1, TeQ);
Chris@42 1589 Tjo = TgF - TgG;
Chris@42 1590 TgH = TgF + TgG;
Chris@42 1591 Tfc = Tf8 + Tfb;
Chris@42 1592 TgJ = Tf8 - Tfb;
Chris@42 1593 TgN = Tfg - Tfh;
Chris@42 1594 Tfi = Tfg + Tfh;
Chris@42 1595 Tjp = FMA(KP707106781, Tjo, Tjn);
Chris@42 1596 Tjv = FNMS(KP707106781, Tjo, Tjn);
Chris@42 1597 Tha = FNMS(KP707106781, TgH, TgE);
Chris@42 1598 TgI = FMA(KP707106781, TgH, TgE);
Chris@42 1599 Tgp = FNMS(KP414213562, Tf7, Tfc);
Chris@42 1600 Tfd = FMA(KP414213562, Tfc, Tf7);
Chris@42 1601 Tfn = Tfj + Tfm;
Chris@42 1602 TgM = Tfj - Tfm;
Chris@42 1603 }
Chris@42 1604 {
Chris@42 1605 E TgY, TgZ, Tgq, Tfo;
Chris@42 1606 TfW = TfS + TfV;
Chris@42 1607 TgY = TfS - TfV;
Chris@42 1608 TgZ = Tgf + Tge;
Chris@42 1609 Tgg = Tge - Tgf;
Chris@42 1610 Tgd = Tg9 - Tgc;
Chris@42 1611 Th1 = Tgc + Tg9;
Chris@42 1612 Tgq = FMA(KP414213562, Tfi, Tfn);
Chris@42 1613 Tfo = FNMS(KP414213562, Tfn, Tfi);
Chris@42 1614 Thi = FNMS(KP707106781, TgZ, TgY);
Chris@42 1615 Th0 = FMA(KP707106781, TgZ, TgY);
Chris@42 1616 Tgr = Tgp + Tgq;
Chris@42 1617 Tjw = Tgq - Tgp;
Chris@42 1618 Tjq = Tfd + Tfo;
Chris@42 1619 Tfp = Tfd - Tfo;
Chris@42 1620 Th2 = Tg6 - Tg1;
Chris@42 1621 Tg7 = Tg1 + Tg6;
Chris@42 1622 }
Chris@42 1623 }
Chris@42 1624 }
Chris@42 1625 {
Chris@42 1626 E TgR, TgV, TgU, TgS, Thc, TgL;
Chris@42 1627 {
Chris@42 1628 E TfM, Tgt, TfH, TfP, Tgu, TfQ;
Chris@42 1629 {
Chris@42 1630 E Tfv, TfG, Thj, Th3;
Chris@42 1631 TgR = Tfr - Tfu;
Chris@42 1632 Tfv = Tfr + Tfu;
Chris@42 1633 TfG = TfA + TfF;
Chris@42 1634 TgV = TfF - TfA;
Chris@42 1635 TgU = TfK - TfL;
Chris@42 1636 TfM = TfK + TfL;
Chris@42 1637 Thj = FNMS(KP707106781, Th2, Th1);
Chris@42 1638 Th3 = FMA(KP707106781, Th2, Th1);
Chris@42 1639 Tgt = FMA(KP707106781, TfG, Tfv);
Chris@42 1640 TfH = FNMS(KP707106781, TfG, Tfv);
Chris@42 1641 Thk = FMA(KP668178637, Thj, Thi);
Chris@42 1642 Tho = FNMS(KP668178637, Thi, Thj);
Chris@42 1643 Th7 = FMA(KP198912367, Th0, Th3);
Chris@42 1644 Th4 = FNMS(KP198912367, Th3, Th0);
Chris@42 1645 TfP = TfN + TfO;
Chris@42 1646 TgS = TfN - TfO;
Chris@42 1647 }
Chris@42 1648 Tgu = FMA(KP707106781, TfP, TfM);
Chris@42 1649 TfQ = FNMS(KP707106781, TfP, TfM);
Chris@42 1650 Thc = FNMS(KP414213562, TgJ, TgK);
Chris@42 1651 TgL = FMA(KP414213562, TgK, TgJ);
Chris@42 1652 Tgv = FNMS(KP198912367, Tgu, Tgt);
Chris@42 1653 TgB = FMA(KP198912367, Tgt, Tgu);
Chris@42 1654 Tgl = FNMS(KP668178637, TfH, TfQ);
Chris@42 1655 TfR = FMA(KP668178637, TfQ, TfH);
Chris@42 1656 }
Chris@42 1657 {
Chris@42 1658 E Thf, TgT, Thb, TgO, Thg, TgW;
Chris@42 1659 Thb = FMA(KP414213562, TgM, TgN);
Chris@42 1660 TgO = FNMS(KP414213562, TgN, TgM);
Chris@42 1661 Thf = FNMS(KP707106781, TgS, TgR);
Chris@42 1662 TgT = FMA(KP707106781, TgS, TgR);
Chris@42 1663 TjE = Thc + Thb;
Chris@42 1664 Thd = Thb - Thc;
Chris@42 1665 TjK = TgL - TgO;
Chris@42 1666 TgP = TgL + TgO;
Chris@42 1667 Thg = FNMS(KP707106781, TgV, TgU);
Chris@42 1668 TgW = FMA(KP707106781, TgV, TgU);
Chris@42 1669 Tgw = FMA(KP707106781, Tg7, TfW);
Chris@42 1670 Tg8 = FNMS(KP707106781, Tg7, TfW);
Chris@42 1671 Thh = FNMS(KP668178637, Thg, Thf);
Chris@42 1672 Thn = FMA(KP668178637, Thf, Thg);
Chris@42 1673 Th8 = FNMS(KP198912367, TgT, TgW);
Chris@42 1674 TgX = FMA(KP198912367, TgW, TgT);
Chris@42 1675 }
Chris@42 1676 }
Chris@42 1677 }
Chris@42 1678 {
Chris@42 1679 E TjH, Th9, TjL, Tjs, TjA, Thl, TjI, Th5, TjM, Thp;
Chris@42 1680 {
Chris@42 1681 E Tgk, Tfq, TgA, Tgs, TjN, Tgy, Tgm, TgD, Tgj, TjO, Tgn, Tgz;
Chris@42 1682 Tgk = FNMS(KP923879532, Tfp, Tf2);
Chris@42 1683 Tfq = FMA(KP923879532, Tfp, Tf2);
Chris@42 1684 TgA = FNMS(KP923879532, Tgr, Tgo);
Chris@42 1685 Tgs = FMA(KP923879532, Tgr, Tgo);
Chris@42 1686 {
Chris@42 1687 E TjF, Tgx, Tgh, TjG, TgC, Tgi;
Chris@42 1688 TjH = FNMS(KP923879532, TjE, TjD);
Chris@42 1689 TjF = FMA(KP923879532, TjE, TjD);
Chris@42 1690 Tgx = FMA(KP707106781, Tgg, Tgd);
Chris@42 1691 Tgh = FNMS(KP707106781, Tgg, Tgd);
Chris@42 1692 TjG = Th8 + Th7;
Chris@42 1693 Th9 = Th7 - Th8;
Chris@42 1694 TjL = FMA(KP923879532, TjK, TjJ);
Chris@42 1695 TjN = FNMS(KP923879532, TjK, TjJ);
Chris@42 1696 Tgy = FNMS(KP198912367, Tgx, Tgw);
Chris@42 1697 TgC = FMA(KP198912367, Tgw, Tgx);
Chris@42 1698 Tgm = FNMS(KP668178637, Tg8, Tgh);
Chris@42 1699 Tgi = FMA(KP668178637, Tgh, Tg8);
Chris@42 1700 ci[WS(rs, 61)] = FMA(KP980785280, TjG, TjF);
Chris@42 1701 cr[WS(rs, 34)] = FMS(KP980785280, TjG, TjF);
Chris@42 1702 TgD = TgB + TgC;
Chris@42 1703 Tjs = TgC - TgB;
Chris@42 1704 TjA = Tgi - TfR;
Chris@42 1705 Tgj = TfR + Tgi;
Chris@42 1706 TjO = Thk - Thh;
Chris@42 1707 Thl = Thh + Thk;
Chris@42 1708 }
Chris@42 1709 cr[WS(rs, 14)] = FMA(KP980785280, TgD, TgA);
Chris@42 1710 ci[WS(rs, 17)] = FNMS(KP980785280, TgD, TgA);
Chris@42 1711 cr[WS(rs, 6)] = FMA(KP831469612, Tgj, Tfq);
Chris@42 1712 ci[WS(rs, 25)] = FNMS(KP831469612, Tgj, Tfq);
Chris@42 1713 ci[WS(rs, 53)] = FMA(KP831469612, TjO, TjN);
Chris@42 1714 cr[WS(rs, 42)] = FMS(KP831469612, TjO, TjN);
Chris@42 1715 Tgn = Tgl + Tgm;
Chris@42 1716 Tjy = Tgl - Tgm;
Chris@42 1717 Tgz = Tgv + Tgy;
Chris@42 1718 Tju = Tgy - Tgv;
Chris@42 1719 ci[WS(rs, 9)] = FNMS(KP831469612, Tgn, Tgk);
Chris@42 1720 cr[WS(rs, 22)] = FMA(KP831469612, Tgn, Tgk);
Chris@42 1721 ci[WS(rs, 1)] = FMA(KP980785280, Tgz, Tgs);
Chris@42 1722 cr[WS(rs, 30)] = FNMS(KP980785280, Tgz, Tgs);
Chris@42 1723 TjI = Th4 - TgX;
Chris@42 1724 Th5 = TgX + Th4;
Chris@42 1725 TjM = Thn + Tho;
Chris@42 1726 Thp = Thn - Tho;
Chris@42 1727 }
Chris@42 1728 {
Chris@42 1729 E Th6, The, Tjr, Tjz, TgQ, Thm;
Chris@42 1730 Th6 = FNMS(KP923879532, TgP, TgI);
Chris@42 1731 TgQ = FMA(KP923879532, TgP, TgI);
Chris@42 1732 ci[WS(rs, 45)] = FMA(KP980785280, TjI, TjH);
Chris@42 1733 cr[WS(rs, 50)] = FMS(KP980785280, TjI, TjH);
Chris@42 1734 ci[WS(rs, 37)] = FNMS(KP831469612, TjM, TjL);
Chris@42 1735 cr[WS(rs, 58)] = -(FMA(KP831469612, TjM, TjL));
Chris@42 1736 The = FMA(KP923879532, Thd, Tha);
Chris@42 1737 Thm = FNMS(KP923879532, Thd, Tha);
Chris@42 1738 Tjt = FNMS(KP923879532, Tjq, Tjp);
Chris@42 1739 Tjr = FMA(KP923879532, Tjq, Tjp);
Chris@42 1740 cr[WS(rs, 2)] = FMA(KP980785280, Th5, TgQ);
Chris@42 1741 ci[WS(rs, 29)] = FNMS(KP980785280, Th5, TgQ);
Chris@42 1742 cr[WS(rs, 10)] = FMA(KP831469612, Thp, Thm);
Chris@42 1743 ci[WS(rs, 21)] = FNMS(KP831469612, Thp, Thm);
Chris@42 1744 Tjx = FMA(KP923879532, Tjw, Tjv);
Chris@42 1745 Tjz = FNMS(KP923879532, Tjw, Tjv);
Chris@42 1746 ci[WS(rs, 33)] = FMA(KP980785280, Tjs, Tjr);
Chris@42 1747 cr[WS(rs, 62)] = FMS(KP980785280, Tjs, Tjr);
Chris@42 1748 ci[WS(rs, 41)] = FMA(KP831469612, TjA, Tjz);
Chris@42 1749 cr[WS(rs, 54)] = FMS(KP831469612, TjA, Tjz);
Chris@42 1750 ci[WS(rs, 13)] = FMA(KP980785280, Th9, Th6);
Chris@42 1751 cr[WS(rs, 18)] = FNMS(KP980785280, Th9, Th6);
Chris@42 1752 ci[WS(rs, 5)] = FMA(KP831469612, Thl, The);
Chris@42 1753 cr[WS(rs, 26)] = FNMS(KP831469612, Thl, The);
Chris@42 1754 }
Chris@42 1755 }
Chris@42 1756 }
Chris@42 1757 {
Chris@42 1758 E Tkq, TdN, Tkw, Td1, TdR, TdX, TdI, Tdl, TeG, TeK, Tet, Teq, TeD, TeJ, Teu;
Chris@42 1759 E Tej, Tez, TkK, TkE, Teb, Te2, TcH, Te0, TcE, TkB, Tkn, TdU, TdY, TdH, TdE;
Chris@42 1760 E TcK, Te1;
Chris@42 1761 {
Chris@42 1762 E Te6, Te5, Te9, Te8, Ted, Teh, Teg, Tee, Tdo, TdC, Tdz, Ten, TeE, Tem, Teo;
Chris@42 1763 E Tdv, Tex, Te7;
Chris@42 1764 {
Chris@42 1765 E TcP, TcS, TcW, TcZ;
Chris@42 1766 Te6 = FNMS(KP707106781, TcO, TcN);
Chris@42 1767 TcP = FMA(KP707106781, TcO, TcN);
Chris@42 1768 ci[WS(rs, 49)] = FMA(KP980785280, Tju, Tjt);
Chris@42 1769 cr[WS(rs, 46)] = FMS(KP980785280, Tju, Tjt);
Chris@42 1770 ci[WS(rs, 57)] = FMA(KP831469612, Tjy, Tjx);
Chris@42 1771 cr[WS(rs, 38)] = FMS(KP831469612, Tjy, Tjx);
Chris@42 1772 TcS = FMA(KP707106781, TcR, TcQ);
Chris@42 1773 Te5 = FNMS(KP707106781, TcR, TcQ);
Chris@42 1774 Te9 = FNMS(KP707106781, TcV, TcU);
Chris@42 1775 TcW = FMA(KP707106781, TcV, TcU);
Chris@42 1776 TcZ = FMA(KP707106781, TcY, TcX);
Chris@42 1777 Te8 = FNMS(KP707106781, TcY, TcX);
Chris@42 1778 {
Chris@42 1779 E Tdg, TdP, Tdd, Tdj;
Chris@42 1780 {
Chris@42 1781 E Td5, TdM, TcT, TdL, Td0, Tdc;
Chris@42 1782 Ted = FNMS(KP707106781, Td4, Td3);
Chris@42 1783 Td5 = FMA(KP707106781, Td4, Td3);
Chris@42 1784 TdM = FNMS(KP198912367, TcP, TcS);
Chris@42 1785 TcT = FMA(KP198912367, TcS, TcP);
Chris@42 1786 TdL = FMA(KP198912367, TcW, TcZ);
Chris@42 1787 Td0 = FNMS(KP198912367, TcZ, TcW);
Chris@42 1788 Tdc = Td8 + Tdb;
Chris@42 1789 Teh = Td8 - Tdb;
Chris@42 1790 Teg = FNMS(KP707106781, Tdf, Tde);
Chris@42 1791 Tdg = FMA(KP707106781, Tdf, Tde);
Chris@42 1792 Tkq = TdM + TdL;
Chris@42 1793 TdN = TdL - TdM;
Chris@42 1794 Tkw = TcT - Td0;
Chris@42 1795 Td1 = TcT + Td0;
Chris@42 1796 TdP = FNMS(KP923879532, Tdc, Td5);
Chris@42 1797 Tdd = FMA(KP923879532, Tdc, Td5);
Chris@42 1798 Tdj = Tdh + Tdi;
Chris@42 1799 Tee = Tdi - Tdh;
Chris@42 1800 }
Chris@42 1801 {
Chris@42 1802 E Tek, Tel, TdQ, Tdk;
Chris@42 1803 Tdo = FMA(KP707106781, Tdn, Tdm);
Chris@42 1804 Tek = FNMS(KP707106781, Tdn, Tdm);
Chris@42 1805 Tel = TdB - TdA;
Chris@42 1806 TdC = TdA + TdB;
Chris@42 1807 Tdz = FMA(KP707106781, Tdy, Tdx);
Chris@42 1808 Ten = FNMS(KP707106781, Tdy, Tdx);
Chris@42 1809 TdQ = FNMS(KP923879532, Tdj, Tdg);
Chris@42 1810 Tdk = FMA(KP923879532, Tdj, Tdg);
Chris@42 1811 TeE = FMA(KP923879532, Tel, Tek);
Chris@42 1812 Tem = FNMS(KP923879532, Tel, Tek);
Chris@42 1813 TdR = FNMS(KP820678790, TdQ, TdP);
Chris@42 1814 TdX = FMA(KP820678790, TdP, TdQ);
Chris@42 1815 TdI = FNMS(KP098491403, Tdd, Tdk);
Chris@42 1816 Tdl = FMA(KP098491403, Tdk, Tdd);
Chris@42 1817 Teo = Tdu - Tdr;
Chris@42 1818 Tdv = Tdr + Tdu;
Chris@42 1819 }
Chris@42 1820 }
Chris@42 1821 }
Chris@42 1822 {
Chris@42 1823 E TeB, Tef, TeF, Tep, TeC, Tei;
Chris@42 1824 TeF = FNMS(KP923879532, Teo, Ten);
Chris@42 1825 Tep = FMA(KP923879532, Teo, Ten);
Chris@42 1826 TeB = FMA(KP923879532, Tee, Ted);
Chris@42 1827 Tef = FNMS(KP923879532, Tee, Ted);
Chris@42 1828 TeG = FMA(KP303346683, TeF, TeE);
Chris@42 1829 TeK = FNMS(KP303346683, TeE, TeF);
Chris@42 1830 Tet = FMA(KP534511135, Tem, Tep);
Chris@42 1831 Teq = FNMS(KP534511135, Tep, Tem);
Chris@42 1832 TeC = FMA(KP923879532, Teh, Teg);
Chris@42 1833 Tei = FNMS(KP923879532, Teh, Teg);
Chris@42 1834 Tex = FNMS(KP668178637, Te5, Te6);
Chris@42 1835 Te7 = FMA(KP668178637, Te6, Te5);
Chris@42 1836 TeD = FNMS(KP303346683, TeC, TeB);
Chris@42 1837 TeJ = FMA(KP303346683, TeB, TeC);
Chris@42 1838 Teu = FNMS(KP534511135, Tef, Tei);
Chris@42 1839 Tej = FMA(KP534511135, Tei, Tef);
Chris@42 1840 }
Chris@42 1841 {
Chris@42 1842 E TdS, Tdw, Tey, Tea, TdT, TdD;
Chris@42 1843 Tey = FMA(KP668178637, Te8, Te9);
Chris@42 1844 Tea = FNMS(KP668178637, Te9, Te8);
Chris@42 1845 TdS = FNMS(KP923879532, Tdv, Tdo);
Chris@42 1846 Tdw = FMA(KP923879532, Tdv, Tdo);
Chris@42 1847 Tez = Tex + Tey;
Chris@42 1848 TkK = Tey - Tex;
Chris@42 1849 TkE = Te7 + Tea;
Chris@42 1850 Teb = Te7 - Tea;
Chris@42 1851 Te2 = FNMS(KP414213562, TcF, TcG);
Chris@42 1852 TcH = FMA(KP414213562, TcG, TcF);
Chris@42 1853 TdT = FNMS(KP923879532, TdC, Tdz);
Chris@42 1854 TdD = FMA(KP923879532, TdC, Tdz);
Chris@42 1855 Te0 = FNMS(KP707106781, TcD, TcA);
Chris@42 1856 TcE = FMA(KP707106781, TcD, TcA);
Chris@42 1857 TkB = FNMS(KP707106781, Tkm, Tkl);
Chris@42 1858 Tkn = FMA(KP707106781, Tkm, Tkl);
Chris@42 1859 TdU = FMA(KP820678790, TdT, TdS);
Chris@42 1860 TdY = FNMS(KP820678790, TdS, TdT);
Chris@42 1861 TdH = FMA(KP098491403, Tdw, TdD);
Chris@42 1862 TdE = FNMS(KP098491403, TdD, Tdw);
Chris@42 1863 TcK = FNMS(KP414213562, TcJ, TcI);
Chris@42 1864 Te1 = FMA(KP414213562, TcI, TcJ);
Chris@42 1865 }
Chris@42 1866 }
Chris@42 1867 {
Chris@42 1868 E Tkv, Tkp, Tew, Te4, TkH, TeL, TkL, Ter, Tks, TkA, TkI, TeH, TkM, Tev;
Chris@42 1869 {
Chris@42 1870 E TdG, TdO, TkF, TkG, TkN, TkO, TdJ, TdV;
Chris@42 1871 {
Chris@42 1872 E TdF, TkJ, TkD, Td2, TdW, TdZ, TdK;
Chris@42 1873 Tku = TdE - Tdl;
Chris@42 1874 TdF = Tdl + TdE;
Chris@42 1875 {
Chris@42 1876 E TkC, TcL, Tko, Te3, TcM;
Chris@42 1877 TkC = TcH - TcK;
Chris@42 1878 TcL = TcH + TcK;
Chris@42 1879 Tko = Te2 + Te1;
Chris@42 1880 Te3 = Te1 - Te2;
Chris@42 1881 TkJ = FNMS(KP923879532, TkC, TkB);
Chris@42 1882 TkD = FMA(KP923879532, TkC, TkB);
Chris@42 1883 TdK = FNMS(KP923879532, TcL, TcE);
Chris@42 1884 TcM = FMA(KP923879532, TcL, TcE);
Chris@42 1885 Tkv = FNMS(KP923879532, Tko, Tkn);
Chris@42 1886 Tkp = FMA(KP923879532, Tko, Tkn);
Chris@42 1887 Tew = FMA(KP923879532, Te3, Te0);
Chris@42 1888 Te4 = FNMS(KP923879532, Te3, Te0);
Chris@42 1889 Td2 = FMA(KP980785280, Td1, TcM);
Chris@42 1890 TdG = FNMS(KP980785280, Td1, TcM);
Chris@42 1891 }
Chris@42 1892 TdO = FMA(KP980785280, TdN, TdK);
Chris@42 1893 TdW = FNMS(KP980785280, TdN, TdK);
Chris@42 1894 TdZ = TdX - TdY;
Chris@42 1895 Tky = TdX + TdY;
Chris@42 1896 TkH = FNMS(KP831469612, TkE, TkD);
Chris@42 1897 TkF = FMA(KP831469612, TkE, TkD);
Chris@42 1898 cr[WS(rs, 1)] = FMA(KP995184726, TdF, Td2);
Chris@42 1899 ci[WS(rs, 30)] = FNMS(KP995184726, TdF, Td2);
Chris@42 1900 cr[WS(rs, 9)] = FMA(KP773010453, TdZ, TdW);
Chris@42 1901 ci[WS(rs, 22)] = FNMS(KP773010453, TdZ, TdW);
Chris@42 1902 TkG = TeJ + TeK;
Chris@42 1903 TeL = TeJ - TeK;
Chris@42 1904 TkL = FMA(KP831469612, TkK, TkJ);
Chris@42 1905 TkN = FNMS(KP831469612, TkK, TkJ);
Chris@42 1906 TkO = Teq - Tej;
Chris@42 1907 Ter = Tej + Teq;
Chris@42 1908 }
Chris@42 1909 ci[WS(rs, 34)] = FNMS(KP956940335, TkG, TkF);
Chris@42 1910 cr[WS(rs, 61)] = -(FMA(KP956940335, TkG, TkF));
Chris@42 1911 ci[WS(rs, 42)] = FMA(KP881921264, TkO, TkN);
Chris@42 1912 cr[WS(rs, 53)] = FMS(KP881921264, TkO, TkN);
Chris@42 1913 TdJ = TdH - TdI;
Chris@42 1914 Tks = TdI + TdH;
Chris@42 1915 TdV = TdR + TdU;
Chris@42 1916 TkA = TdU - TdR;
Chris@42 1917 ci[WS(rs, 14)] = FMA(KP995184726, TdJ, TdG);
Chris@42 1918 cr[WS(rs, 17)] = FNMS(KP995184726, TdJ, TdG);
Chris@42 1919 ci[WS(rs, 6)] = FMA(KP773010453, TdV, TdO);
Chris@42 1920 cr[WS(rs, 25)] = FNMS(KP773010453, TdV, TdO);
Chris@42 1921 TkI = TeG - TeD;
Chris@42 1922 TeH = TeD + TeG;
Chris@42 1923 TkM = Teu + Tet;
Chris@42 1924 Tev = Tet - Teu;
Chris@42 1925 }
Chris@42 1926 {
Chris@42 1927 E Tes, TeA, Tkr, Tkz, Tec, TeI;
Chris@42 1928 Tes = FNMS(KP831469612, Teb, Te4);
Chris@42 1929 Tec = FMA(KP831469612, Teb, Te4);
Chris@42 1930 ci[WS(rs, 50)] = FMA(KP956940335, TkI, TkH);
Chris@42 1931 cr[WS(rs, 45)] = FMS(KP956940335, TkI, TkH);
Chris@42 1932 ci[WS(rs, 58)] = FMA(KP881921264, TkM, TkL);
Chris@42 1933 cr[WS(rs, 37)] = FMS(KP881921264, TkM, TkL);
Chris@42 1934 TeA = FMA(KP831469612, Tez, Tew);
Chris@42 1935 TeI = FNMS(KP831469612, Tez, Tew);
Chris@42 1936 Tkt = FNMS(KP980785280, Tkq, Tkp);
Chris@42 1937 Tkr = FMA(KP980785280, Tkq, Tkp);
Chris@42 1938 cr[WS(rs, 5)] = FMA(KP881921264, Ter, Tec);
Chris@42 1939 ci[WS(rs, 26)] = FNMS(KP881921264, Ter, Tec);
Chris@42 1940 cr[WS(rs, 13)] = FMA(KP956940335, TeL, TeI);
Chris@42 1941 ci[WS(rs, 18)] = FNMS(KP956940335, TeL, TeI);
Chris@42 1942 Tkx = FMA(KP980785280, Tkw, Tkv);
Chris@42 1943 Tkz = FNMS(KP980785280, Tkw, Tkv);
Chris@42 1944 ci[WS(rs, 62)] = FMA(KP995184726, Tks, Tkr);
Chris@42 1945 cr[WS(rs, 33)] = FMS(KP995184726, Tks, Tkr);
Chris@42 1946 ci[WS(rs, 54)] = FMA(KP773010453, TkA, Tkz);
Chris@42 1947 cr[WS(rs, 41)] = FMS(KP773010453, TkA, Tkz);
Chris@42 1948 ci[WS(rs, 10)] = FMA(KP881921264, Tev, Tes);
Chris@42 1949 cr[WS(rs, 21)] = FNMS(KP881921264, Tev, Tes);
Chris@42 1950 ci[WS(rs, 2)] = FMA(KP956940335, TeH, TeA);
Chris@42 1951 cr[WS(rs, 29)] = FNMS(KP956940335, TeH, TeA);
Chris@42 1952 }
Chris@42 1953 }
Chris@42 1954 }
Chris@42 1955 }
Chris@42 1956 }
Chris@42 1957 }
Chris@42 1958 ci[WS(rs, 46)] = FMA(KP995184726, Tku, Tkt);
Chris@42 1959 cr[WS(rs, 49)] = FMS(KP995184726, Tku, Tkt);
Chris@42 1960 ci[WS(rs, 38)] = FNMS(KP773010453, Tky, Tkx);
Chris@42 1961 cr[WS(rs, 57)] = -(FMA(KP773010453, Tky, Tkx));
Chris@42 1962 }
Chris@42 1963 }
Chris@42 1964 }
Chris@42 1965
Chris@42 1966 static const tw_instr twinstr[] = {
Chris@42 1967 {TW_FULL, 1, 64},
Chris@42 1968 {TW_NEXT, 1, 0}
Chris@42 1969 };
Chris@42 1970
Chris@42 1971 static const hc2hc_desc desc = { 64, "hf_64", twinstr, &GENUS, {520, 126, 518, 0} };
Chris@42 1972
Chris@42 1973 void X(codelet_hf_64) (planner *p) {
Chris@42 1974 X(khc2hc_register) (p, hf_64, &desc);
Chris@42 1975 }
Chris@42 1976 #else /* HAVE_FMA */
Chris@42 1977
Chris@42 1978 /* Generated by: ../../../genfft/gen_hc2hc.native -compact -variables 4 -pipeline-latency 4 -n 64 -dit -name hf_64 -include hf.h */
Chris@42 1979
Chris@42 1980 /*
Chris@42 1981 * This function contains 1038 FP additions, 500 FP multiplications,
Chris@42 1982 * (or, 808 additions, 270 multiplications, 230 fused multiply/add),
Chris@42 1983 * 176 stack variables, 15 constants, and 256 memory accesses
Chris@42 1984 */
Chris@42 1985 #include "hf.h"
Chris@42 1986
Chris@42 1987 static void hf_64(R *cr, R *ci, const R *W, stride rs, INT mb, INT me, INT ms)
Chris@42 1988 {
Chris@42 1989 DK(KP290284677, +0.290284677254462367636192375817395274691476278);
Chris@42 1990 DK(KP956940335, +0.956940335732208864935797886980269969482849206);
Chris@42 1991 DK(KP881921264, +0.881921264348355029712756863660388349508442621);
Chris@42 1992 DK(KP471396736, +0.471396736825997648556387625905254377657460319);
Chris@42 1993 DK(KP555570233, +0.555570233019602224742830813948532874374937191);
Chris@42 1994 DK(KP831469612, +0.831469612302545237078788377617905756738560812);
Chris@42 1995 DK(KP098017140, +0.098017140329560601994195563888641845861136673);
Chris@42 1996 DK(KP995184726, +0.995184726672196886244836953109479921575474869);
Chris@42 1997 DK(KP773010453, +0.773010453362736960810906609758469800971041293);
Chris@42 1998 DK(KP634393284, +0.634393284163645498215171613225493370675687095);
Chris@42 1999 DK(KP980785280, +0.980785280403230449126182236134239036973933731);
Chris@42 2000 DK(KP195090322, +0.195090322016128267848284868477022240927691618);
Chris@42 2001 DK(KP382683432, +0.382683432365089771728459984030398866761344562);
Chris@42 2002 DK(KP923879532, +0.923879532511286756128183189396788286822416626);
Chris@42 2003 DK(KP707106781, +0.707106781186547524400844362104849039284835938);
Chris@42 2004 {
Chris@42 2005 INT m;
Chris@42 2006 for (m = mb, W = W + ((mb - 1) * 126); m < me; m = m + 1, cr = cr + ms, ci = ci - ms, W = W + 126, MAKE_VOLATILE_STRIDE(128, rs)) {
Chris@42 2007 E Tj, TcL, ThT, Tin, T6b, Taz, TgT, Thn, TG, Thm, TcO, TgO, T6m, Tim, TaC;
Chris@42 2008 E ThQ, T14, Tfr, T6y, T9O, TaG, Tc0, TcU, TeE, T1r, Tfq, T6J, T9P, TaJ, Tc1;
Chris@42 2009 E TcZ, TeF, T1Q, T2d, Tfu, Tfv, Tfw, Tfx, T6Q, TaM, Tdb, TeI, T71, TaQ, T7a;
Chris@42 2010 E TaN, Td6, TeJ, T77, TaP, T2B, T2Y, Tfz, TfA, TfB, TfC, T7h, TaW, Tdm, TeL;
Chris@42 2011 E T7s, TaU, T7B, TaX, Tdh, TeM, T7y, TaT, T5j, TfR, Tec, TeX, TfY, Tgy, T8D;
Chris@42 2012 E Tbl, T8O, Tbx, T9l, Tbm, TdV, Tf0, T9i, Tbw, T3M, TfL, TdL, TeT, TfI, Tgt;
Chris@42 2013 E T7K, Tbd, T7V, Tb3, T8s, Tbe, Tdu, TeQ, T8p, Tb2, T4x, TfJ, TdE, TdM, TfO;
Chris@42 2014 E Tgu, T87, T8u, T8i, T8v, Tba, Tbh, Tdz, TdN, Tb7, Tbg, T64, TfZ, Te5, Ted;
Chris@42 2015 E TfU, Tgz, T90, T9n, T9b, T9o, Tbt, TbA, Te0, Tee, Tbq, Tbz;
Chris@42 2016 {
Chris@42 2017 E T1, TgR, T6, TgQ, Tc, T68, Th, T69;
Chris@42 2018 T1 = cr[0];
Chris@42 2019 TgR = ci[0];
Chris@42 2020 {
Chris@42 2021 E T3, T5, T2, T4;
Chris@42 2022 T3 = cr[WS(rs, 32)];
Chris@42 2023 T5 = ci[WS(rs, 32)];
Chris@42 2024 T2 = W[62];
Chris@42 2025 T4 = W[63];
Chris@42 2026 T6 = FMA(T2, T3, T4 * T5);
Chris@42 2027 TgQ = FNMS(T4, T3, T2 * T5);
Chris@42 2028 }
Chris@42 2029 {
Chris@42 2030 E T9, Tb, T8, Ta;
Chris@42 2031 T9 = cr[WS(rs, 16)];
Chris@42 2032 Tb = ci[WS(rs, 16)];
Chris@42 2033 T8 = W[30];
Chris@42 2034 Ta = W[31];
Chris@42 2035 Tc = FMA(T8, T9, Ta * Tb);
Chris@42 2036 T68 = FNMS(Ta, T9, T8 * Tb);
Chris@42 2037 }
Chris@42 2038 {
Chris@42 2039 E Te, Tg, Td, Tf;
Chris@42 2040 Te = cr[WS(rs, 48)];
Chris@42 2041 Tg = ci[WS(rs, 48)];
Chris@42 2042 Td = W[94];
Chris@42 2043 Tf = W[95];
Chris@42 2044 Th = FMA(Td, Te, Tf * Tg);
Chris@42 2045 T69 = FNMS(Tf, Te, Td * Tg);
Chris@42 2046 }
Chris@42 2047 {
Chris@42 2048 E T7, Ti, ThR, ThS;
Chris@42 2049 T7 = T1 + T6;
Chris@42 2050 Ti = Tc + Th;
Chris@42 2051 Tj = T7 + Ti;
Chris@42 2052 TcL = T7 - Ti;
Chris@42 2053 ThR = Tc - Th;
Chris@42 2054 ThS = TgR - TgQ;
Chris@42 2055 ThT = ThR + ThS;
Chris@42 2056 Tin = ThS - ThR;
Chris@42 2057 }
Chris@42 2058 {
Chris@42 2059 E T67, T6a, TgP, TgS;
Chris@42 2060 T67 = T1 - T6;
Chris@42 2061 T6a = T68 - T69;
Chris@42 2062 T6b = T67 - T6a;
Chris@42 2063 Taz = T67 + T6a;
Chris@42 2064 TgP = T68 + T69;
Chris@42 2065 TgS = TgQ + TgR;
Chris@42 2066 TgT = TgP + TgS;
Chris@42 2067 Thn = TgS - TgP;
Chris@42 2068 }
Chris@42 2069 }
Chris@42 2070 {
Chris@42 2071 E To, T6d, Tt, T6e, T6c, T6f, Tz, T6i, TE, T6j, T6h, T6k;
Chris@42 2072 {
Chris@42 2073 E Tl, Tn, Tk, Tm;
Chris@42 2074 Tl = cr[WS(rs, 8)];
Chris@42 2075 Tn = ci[WS(rs, 8)];
Chris@42 2076 Tk = W[14];
Chris@42 2077 Tm = W[15];
Chris@42 2078 To = FMA(Tk, Tl, Tm * Tn);
Chris@42 2079 T6d = FNMS(Tm, Tl, Tk * Tn);
Chris@42 2080 }
Chris@42 2081 {
Chris@42 2082 E Tq, Ts, Tp, Tr;
Chris@42 2083 Tq = cr[WS(rs, 40)];
Chris@42 2084 Ts = ci[WS(rs, 40)];
Chris@42 2085 Tp = W[78];
Chris@42 2086 Tr = W[79];
Chris@42 2087 Tt = FMA(Tp, Tq, Tr * Ts);
Chris@42 2088 T6e = FNMS(Tr, Tq, Tp * Ts);
Chris@42 2089 }
Chris@42 2090 T6c = To - Tt;
Chris@42 2091 T6f = T6d - T6e;
Chris@42 2092 {
Chris@42 2093 E Tw, Ty, Tv, Tx;
Chris@42 2094 Tw = cr[WS(rs, 56)];
Chris@42 2095 Ty = ci[WS(rs, 56)];
Chris@42 2096 Tv = W[110];
Chris@42 2097 Tx = W[111];
Chris@42 2098 Tz = FMA(Tv, Tw, Tx * Ty);
Chris@42 2099 T6i = FNMS(Tx, Tw, Tv * Ty);
Chris@42 2100 }
Chris@42 2101 {
Chris@42 2102 E TB, TD, TA, TC;
Chris@42 2103 TB = cr[WS(rs, 24)];
Chris@42 2104 TD = ci[WS(rs, 24)];
Chris@42 2105 TA = W[46];
Chris@42 2106 TC = W[47];
Chris@42 2107 TE = FMA(TA, TB, TC * TD);
Chris@42 2108 T6j = FNMS(TC, TB, TA * TD);
Chris@42 2109 }
Chris@42 2110 T6h = Tz - TE;
Chris@42 2111 T6k = T6i - T6j;
Chris@42 2112 {
Chris@42 2113 E Tu, TF, TcM, TcN;
Chris@42 2114 Tu = To + Tt;
Chris@42 2115 TF = Tz + TE;
Chris@42 2116 TG = Tu + TF;
Chris@42 2117 Thm = Tu - TF;
Chris@42 2118 TcM = T6i + T6j;
Chris@42 2119 TcN = T6d + T6e;
Chris@42 2120 TcO = TcM - TcN;
Chris@42 2121 TgO = TcN + TcM;
Chris@42 2122 }
Chris@42 2123 {
Chris@42 2124 E T6g, T6l, TaA, TaB;
Chris@42 2125 T6g = T6c - T6f;
Chris@42 2126 T6l = T6h + T6k;
Chris@42 2127 T6m = KP707106781 * (T6g + T6l);
Chris@42 2128 Tim = KP707106781 * (T6l - T6g);
Chris@42 2129 TaA = T6c + T6f;
Chris@42 2130 TaB = T6h - T6k;
Chris@42 2131 TaC = KP707106781 * (TaA + TaB);
Chris@42 2132 ThQ = KP707106781 * (TaA - TaB);
Chris@42 2133 }
Chris@42 2134 }
Chris@42 2135 {
Chris@42 2136 E TS, TcR, T6o, T6v, T13, TcS, T6r, T6w, T6s, T6x;
Chris@42 2137 {
Chris@42 2138 E TM, T6t, TR, T6u;
Chris@42 2139 {
Chris@42 2140 E TJ, TL, TI, TK;
Chris@42 2141 TJ = cr[WS(rs, 4)];
Chris@42 2142 TL = ci[WS(rs, 4)];
Chris@42 2143 TI = W[6];
Chris@42 2144 TK = W[7];
Chris@42 2145 TM = FMA(TI, TJ, TK * TL);
Chris@42 2146 T6t = FNMS(TK, TJ, TI * TL);
Chris@42 2147 }
Chris@42 2148 {
Chris@42 2149 E TO, TQ, TN, TP;
Chris@42 2150 TO = cr[WS(rs, 36)];
Chris@42 2151 TQ = ci[WS(rs, 36)];
Chris@42 2152 TN = W[70];
Chris@42 2153 TP = W[71];
Chris@42 2154 TR = FMA(TN, TO, TP * TQ);
Chris@42 2155 T6u = FNMS(TP, TO, TN * TQ);
Chris@42 2156 }
Chris@42 2157 TS = TM + TR;
Chris@42 2158 TcR = T6t + T6u;
Chris@42 2159 T6o = TM - TR;
Chris@42 2160 T6v = T6t - T6u;
Chris@42 2161 }
Chris@42 2162 {
Chris@42 2163 E TX, T6p, T12, T6q;
Chris@42 2164 {
Chris@42 2165 E TU, TW, TT, TV;
Chris@42 2166 TU = cr[WS(rs, 20)];
Chris@42 2167 TW = ci[WS(rs, 20)];
Chris@42 2168 TT = W[38];
Chris@42 2169 TV = W[39];
Chris@42 2170 TX = FMA(TT, TU, TV * TW);
Chris@42 2171 T6p = FNMS(TV, TU, TT * TW);
Chris@42 2172 }
Chris@42 2173 {
Chris@42 2174 E TZ, T11, TY, T10;
Chris@42 2175 TZ = cr[WS(rs, 52)];
Chris@42 2176 T11 = ci[WS(rs, 52)];
Chris@42 2177 TY = W[102];
Chris@42 2178 T10 = W[103];
Chris@42 2179 T12 = FMA(TY, TZ, T10 * T11);
Chris@42 2180 T6q = FNMS(T10, TZ, TY * T11);
Chris@42 2181 }
Chris@42 2182 T13 = TX + T12;
Chris@42 2183 TcS = T6p + T6q;
Chris@42 2184 T6r = T6p - T6q;
Chris@42 2185 T6w = TX - T12;
Chris@42 2186 }
Chris@42 2187 T14 = TS + T13;
Chris@42 2188 Tfr = TcR + TcS;
Chris@42 2189 T6s = T6o - T6r;
Chris@42 2190 T6x = T6v + T6w;
Chris@42 2191 T6y = FNMS(KP382683432, T6x, KP923879532 * T6s);
Chris@42 2192 T9O = FMA(KP923879532, T6x, KP382683432 * T6s);
Chris@42 2193 {
Chris@42 2194 E TaE, TaF, TcQ, TcT;
Chris@42 2195 TaE = T6v - T6w;
Chris@42 2196 TaF = T6o + T6r;
Chris@42 2197 TaG = FMA(KP382683432, TaE, KP923879532 * TaF);
Chris@42 2198 Tc0 = FNMS(KP923879532, TaE, KP382683432 * TaF);
Chris@42 2199 TcQ = TS - T13;
Chris@42 2200 TcT = TcR - TcS;
Chris@42 2201 TcU = TcQ + TcT;
Chris@42 2202 TeE = TcQ - TcT;
Chris@42 2203 }
Chris@42 2204 }
Chris@42 2205 {
Chris@42 2206 E T1f, TcW, T6B, T6E, T1q, TcX, T6C, T6H, T6D, T6I;
Chris@42 2207 {
Chris@42 2208 E T19, T6z, T1e, T6A;
Chris@42 2209 {
Chris@42 2210 E T16, T18, T15, T17;
Chris@42 2211 T16 = cr[WS(rs, 60)];
Chris@42 2212 T18 = ci[WS(rs, 60)];
Chris@42 2213 T15 = W[118];
Chris@42 2214 T17 = W[119];
Chris@42 2215 T19 = FMA(T15, T16, T17 * T18);
Chris@42 2216 T6z = FNMS(T17, T16, T15 * T18);
Chris@42 2217 }
Chris@42 2218 {
Chris@42 2219 E T1b, T1d, T1a, T1c;
Chris@42 2220 T1b = cr[WS(rs, 28)];
Chris@42 2221 T1d = ci[WS(rs, 28)];
Chris@42 2222 T1a = W[54];
Chris@42 2223 T1c = W[55];
Chris@42 2224 T1e = FMA(T1a, T1b, T1c * T1d);
Chris@42 2225 T6A = FNMS(T1c, T1b, T1a * T1d);
Chris@42 2226 }
Chris@42 2227 T1f = T19 + T1e;
Chris@42 2228 TcW = T6z + T6A;
Chris@42 2229 T6B = T6z - T6A;
Chris@42 2230 T6E = T19 - T1e;
Chris@42 2231 }
Chris@42 2232 {
Chris@42 2233 E T1k, T6F, T1p, T6G;
Chris@42 2234 {
Chris@42 2235 E T1h, T1j, T1g, T1i;
Chris@42 2236 T1h = cr[WS(rs, 12)];
Chris@42 2237 T1j = ci[WS(rs, 12)];
Chris@42 2238 T1g = W[22];
Chris@42 2239 T1i = W[23];
Chris@42 2240 T1k = FMA(T1g, T1h, T1i * T1j);
Chris@42 2241 T6F = FNMS(T1i, T1h, T1g * T1j);
Chris@42 2242 }
Chris@42 2243 {
Chris@42 2244 E T1m, T1o, T1l, T1n;
Chris@42 2245 T1m = cr[WS(rs, 44)];
Chris@42 2246 T1o = ci[WS(rs, 44)];
Chris@42 2247 T1l = W[86];
Chris@42 2248 T1n = W[87];
Chris@42 2249 T1p = FMA(T1l, T1m, T1n * T1o);
Chris@42 2250 T6G = FNMS(T1n, T1m, T1l * T1o);
Chris@42 2251 }
Chris@42 2252 T1q = T1k + T1p;
Chris@42 2253 TcX = T6F + T6G;
Chris@42 2254 T6C = T1k - T1p;
Chris@42 2255 T6H = T6F - T6G;
Chris@42 2256 }
Chris@42 2257 T1r = T1f + T1q;
Chris@42 2258 Tfq = TcW + TcX;
Chris@42 2259 T6D = T6B + T6C;
Chris@42 2260 T6I = T6E - T6H;
Chris@42 2261 T6J = FMA(KP382683432, T6D, KP923879532 * T6I);
Chris@42 2262 T9P = FNMS(KP923879532, T6D, KP382683432 * T6I);
Chris@42 2263 {
Chris@42 2264 E TaH, TaI, TcV, TcY;
Chris@42 2265 TaH = T6E + T6H;
Chris@42 2266 TaI = T6B - T6C;
Chris@42 2267 TaJ = FNMS(KP382683432, TaI, KP923879532 * TaH);
Chris@42 2268 Tc1 = FMA(KP923879532, TaI, KP382683432 * TaH);
Chris@42 2269 TcV = T1f - T1q;
Chris@42 2270 TcY = TcW - TcX;
Chris@42 2271 TcZ = TcV - TcY;
Chris@42 2272 TeF = TcV + TcY;
Chris@42 2273 }
Chris@42 2274 }
Chris@42 2275 {
Chris@42 2276 E T1y, T73, T1D, T74, T1E, Td7, T1J, T6N, T1O, T6O, T1P, Td8, T21, Td4, T6R;
Chris@42 2277 E T6U, T2c, Td3, T6W, T6Z;
Chris@42 2278 {
Chris@42 2279 E T1v, T1x, T1u, T1w;
Chris@42 2280 T1v = cr[WS(rs, 2)];
Chris@42 2281 T1x = ci[WS(rs, 2)];
Chris@42 2282 T1u = W[2];
Chris@42 2283 T1w = W[3];
Chris@42 2284 T1y = FMA(T1u, T1v, T1w * T1x);
Chris@42 2285 T73 = FNMS(T1w, T1v, T1u * T1x);
Chris@42 2286 }
Chris@42 2287 {
Chris@42 2288 E T1A, T1C, T1z, T1B;
Chris@42 2289 T1A = cr[WS(rs, 34)];
Chris@42 2290 T1C = ci[WS(rs, 34)];
Chris@42 2291 T1z = W[66];
Chris@42 2292 T1B = W[67];
Chris@42 2293 T1D = FMA(T1z, T1A, T1B * T1C);
Chris@42 2294 T74 = FNMS(T1B, T1A, T1z * T1C);
Chris@42 2295 }
Chris@42 2296 T1E = T1y + T1D;
Chris@42 2297 Td7 = T73 + T74;
Chris@42 2298 {
Chris@42 2299 E T1G, T1I, T1F, T1H;
Chris@42 2300 T1G = cr[WS(rs, 18)];
Chris@42 2301 T1I = ci[WS(rs, 18)];
Chris@42 2302 T1F = W[34];
Chris@42 2303 T1H = W[35];
Chris@42 2304 T1J = FMA(T1F, T1G, T1H * T1I);
Chris@42 2305 T6N = FNMS(T1H, T1G, T1F * T1I);
Chris@42 2306 }
Chris@42 2307 {
Chris@42 2308 E T1L, T1N, T1K, T1M;
Chris@42 2309 T1L = cr[WS(rs, 50)];
Chris@42 2310 T1N = ci[WS(rs, 50)];
Chris@42 2311 T1K = W[98];
Chris@42 2312 T1M = W[99];
Chris@42 2313 T1O = FMA(T1K, T1L, T1M * T1N);
Chris@42 2314 T6O = FNMS(T1M, T1L, T1K * T1N);
Chris@42 2315 }
Chris@42 2316 T1P = T1J + T1O;
Chris@42 2317 Td8 = T6N + T6O;
Chris@42 2318 {
Chris@42 2319 E T1V, T6S, T20, T6T;
Chris@42 2320 {
Chris@42 2321 E T1S, T1U, T1R, T1T;
Chris@42 2322 T1S = cr[WS(rs, 10)];
Chris@42 2323 T1U = ci[WS(rs, 10)];
Chris@42 2324 T1R = W[18];
Chris@42 2325 T1T = W[19];
Chris@42 2326 T1V = FMA(T1R, T1S, T1T * T1U);
Chris@42 2327 T6S = FNMS(T1T, T1S, T1R * T1U);
Chris@42 2328 }
Chris@42 2329 {
Chris@42 2330 E T1X, T1Z, T1W, T1Y;
Chris@42 2331 T1X = cr[WS(rs, 42)];
Chris@42 2332 T1Z = ci[WS(rs, 42)];
Chris@42 2333 T1W = W[82];
Chris@42 2334 T1Y = W[83];
Chris@42 2335 T20 = FMA(T1W, T1X, T1Y * T1Z);
Chris@42 2336 T6T = FNMS(T1Y, T1X, T1W * T1Z);
Chris@42 2337 }
Chris@42 2338 T21 = T1V + T20;
Chris@42 2339 Td4 = T6S + T6T;
Chris@42 2340 T6R = T1V - T20;
Chris@42 2341 T6U = T6S - T6T;
Chris@42 2342 }
Chris@42 2343 {
Chris@42 2344 E T26, T6X, T2b, T6Y;
Chris@42 2345 {
Chris@42 2346 E T23, T25, T22, T24;
Chris@42 2347 T23 = cr[WS(rs, 58)];
Chris@42 2348 T25 = ci[WS(rs, 58)];
Chris@42 2349 T22 = W[114];
Chris@42 2350 T24 = W[115];
Chris@42 2351 T26 = FMA(T22, T23, T24 * T25);
Chris@42 2352 T6X = FNMS(T24, T23, T22 * T25);
Chris@42 2353 }
Chris@42 2354 {
Chris@42 2355 E T28, T2a, T27, T29;
Chris@42 2356 T28 = cr[WS(rs, 26)];
Chris@42 2357 T2a = ci[WS(rs, 26)];
Chris@42 2358 T27 = W[50];
Chris@42 2359 T29 = W[51];
Chris@42 2360 T2b = FMA(T27, T28, T29 * T2a);
Chris@42 2361 T6Y = FNMS(T29, T28, T27 * T2a);
Chris@42 2362 }
Chris@42 2363 T2c = T26 + T2b;
Chris@42 2364 Td3 = T6X + T6Y;
Chris@42 2365 T6W = T26 - T2b;
Chris@42 2366 T6Z = T6X - T6Y;
Chris@42 2367 }
Chris@42 2368 T1Q = T1E + T1P;
Chris@42 2369 T2d = T21 + T2c;
Chris@42 2370 Tfu = T1Q - T2d;
Chris@42 2371 Tfv = Td7 + Td8;
Chris@42 2372 Tfw = Td4 + Td3;
Chris@42 2373 Tfx = Tfv - Tfw;
Chris@42 2374 {
Chris@42 2375 E T6M, T6P, Td9, Tda;
Chris@42 2376 T6M = T1y - T1D;
Chris@42 2377 T6P = T6N - T6O;
Chris@42 2378 T6Q = T6M - T6P;
Chris@42 2379 TaM = T6M + T6P;
Chris@42 2380 Td9 = Td7 - Td8;
Chris@42 2381 Tda = T21 - T2c;
Chris@42 2382 Tdb = Td9 - Tda;
Chris@42 2383 TeI = Td9 + Tda;
Chris@42 2384 }
Chris@42 2385 {
Chris@42 2386 E T6V, T70, T78, T79;
Chris@42 2387 T6V = T6R - T6U;
Chris@42 2388 T70 = T6W + T6Z;
Chris@42 2389 T71 = KP707106781 * (T6V + T70);
Chris@42 2390 TaQ = KP707106781 * (T70 - T6V);
Chris@42 2391 T78 = T6R + T6U;
Chris@42 2392 T79 = T6Z - T6W;
Chris@42 2393 T7a = KP707106781 * (T78 + T79);
Chris@42 2394 TaN = KP707106781 * (T78 - T79);
Chris@42 2395 }
Chris@42 2396 {
Chris@42 2397 E Td2, Td5, T75, T76;
Chris@42 2398 Td2 = T1E - T1P;
Chris@42 2399 Td5 = Td3 - Td4;
Chris@42 2400 Td6 = Td2 - Td5;
Chris@42 2401 TeJ = Td2 + Td5;
Chris@42 2402 T75 = T73 - T74;
Chris@42 2403 T76 = T1J - T1O;
Chris@42 2404 T77 = T75 + T76;
Chris@42 2405 TaP = T75 - T76;
Chris@42 2406 }
Chris@42 2407 }
Chris@42 2408 {
Chris@42 2409 E T2j, T7u, T2o, T7v, T2p, Tdd, T2u, T7e, T2z, T7f, T2A, Tde, T2M, Tdk, T7i;
Chris@42 2410 E T7l, T2X, Tdj, T7n, T7q;
Chris@42 2411 {
Chris@42 2412 E T2g, T2i, T2f, T2h;
Chris@42 2413 T2g = cr[WS(rs, 62)];
Chris@42 2414 T2i = ci[WS(rs, 62)];
Chris@42 2415 T2f = W[122];
Chris@42 2416 T2h = W[123];
Chris@42 2417 T2j = FMA(T2f, T2g, T2h * T2i);
Chris@42 2418 T7u = FNMS(T2h, T2g, T2f * T2i);
Chris@42 2419 }
Chris@42 2420 {
Chris@42 2421 E T2l, T2n, T2k, T2m;
Chris@42 2422 T2l = cr[WS(rs, 30)];
Chris@42 2423 T2n = ci[WS(rs, 30)];
Chris@42 2424 T2k = W[58];
Chris@42 2425 T2m = W[59];
Chris@42 2426 T2o = FMA(T2k, T2l, T2m * T2n);
Chris@42 2427 T7v = FNMS(T2m, T2l, T2k * T2n);
Chris@42 2428 }
Chris@42 2429 T2p = T2j + T2o;
Chris@42 2430 Tdd = T7u + T7v;
Chris@42 2431 {
Chris@42 2432 E T2r, T2t, T2q, T2s;
Chris@42 2433 T2r = cr[WS(rs, 14)];
Chris@42 2434 T2t = ci[WS(rs, 14)];
Chris@42 2435 T2q = W[26];
Chris@42 2436 T2s = W[27];
Chris@42 2437 T2u = FMA(T2q, T2r, T2s * T2t);
Chris@42 2438 T7e = FNMS(T2s, T2r, T2q * T2t);
Chris@42 2439 }
Chris@42 2440 {
Chris@42 2441 E T2w, T2y, T2v, T2x;
Chris@42 2442 T2w = cr[WS(rs, 46)];
Chris@42 2443 T2y = ci[WS(rs, 46)];
Chris@42 2444 T2v = W[90];
Chris@42 2445 T2x = W[91];
Chris@42 2446 T2z = FMA(T2v, T2w, T2x * T2y);
Chris@42 2447 T7f = FNMS(T2x, T2w, T2v * T2y);
Chris@42 2448 }
Chris@42 2449 T2A = T2u + T2z;
Chris@42 2450 Tde = T7e + T7f;
Chris@42 2451 {
Chris@42 2452 E T2G, T7j, T2L, T7k;
Chris@42 2453 {
Chris@42 2454 E T2D, T2F, T2C, T2E;
Chris@42 2455 T2D = cr[WS(rs, 6)];
Chris@42 2456 T2F = ci[WS(rs, 6)];
Chris@42 2457 T2C = W[10];
Chris@42 2458 T2E = W[11];
Chris@42 2459 T2G = FMA(T2C, T2D, T2E * T2F);
Chris@42 2460 T7j = FNMS(T2E, T2D, T2C * T2F);
Chris@42 2461 }
Chris@42 2462 {
Chris@42 2463 E T2I, T2K, T2H, T2J;
Chris@42 2464 T2I = cr[WS(rs, 38)];
Chris@42 2465 T2K = ci[WS(rs, 38)];
Chris@42 2466 T2H = W[74];
Chris@42 2467 T2J = W[75];
Chris@42 2468 T2L = FMA(T2H, T2I, T2J * T2K);
Chris@42 2469 T7k = FNMS(T2J, T2I, T2H * T2K);
Chris@42 2470 }
Chris@42 2471 T2M = T2G + T2L;
Chris@42 2472 Tdk = T7j + T7k;
Chris@42 2473 T7i = T2G - T2L;
Chris@42 2474 T7l = T7j - T7k;
Chris@42 2475 }
Chris@42 2476 {
Chris@42 2477 E T2R, T7o, T2W, T7p;
Chris@42 2478 {
Chris@42 2479 E T2O, T2Q, T2N, T2P;
Chris@42 2480 T2O = cr[WS(rs, 54)];
Chris@42 2481 T2Q = ci[WS(rs, 54)];
Chris@42 2482 T2N = W[106];
Chris@42 2483 T2P = W[107];
Chris@42 2484 T2R = FMA(T2N, T2O, T2P * T2Q);
Chris@42 2485 T7o = FNMS(T2P, T2O, T2N * T2Q);
Chris@42 2486 }
Chris@42 2487 {
Chris@42 2488 E T2T, T2V, T2S, T2U;
Chris@42 2489 T2T = cr[WS(rs, 22)];
Chris@42 2490 T2V = ci[WS(rs, 22)];
Chris@42 2491 T2S = W[42];
Chris@42 2492 T2U = W[43];
Chris@42 2493 T2W = FMA(T2S, T2T, T2U * T2V);
Chris@42 2494 T7p = FNMS(T2U, T2T, T2S * T2V);
Chris@42 2495 }
Chris@42 2496 T2X = T2R + T2W;
Chris@42 2497 Tdj = T7o + T7p;
Chris@42 2498 T7n = T2R - T2W;
Chris@42 2499 T7q = T7o - T7p;
Chris@42 2500 }
Chris@42 2501 T2B = T2p + T2A;
Chris@42 2502 T2Y = T2M + T2X;
Chris@42 2503 Tfz = T2B - T2Y;
Chris@42 2504 TfA = Tdd + Tde;
Chris@42 2505 TfB = Tdk + Tdj;
Chris@42 2506 TfC = TfA - TfB;
Chris@42 2507 {
Chris@42 2508 E T7d, T7g, Tdi, Tdl;
Chris@42 2509 T7d = T2j - T2o;
Chris@42 2510 T7g = T7e - T7f;
Chris@42 2511 T7h = T7d - T7g;
Chris@42 2512 TaW = T7d + T7g;
Chris@42 2513 Tdi = T2p - T2A;
Chris@42 2514 Tdl = Tdj - Tdk;
Chris@42 2515 Tdm = Tdi - Tdl;
Chris@42 2516 TeL = Tdi + Tdl;
Chris@42 2517 }
Chris@42 2518 {
Chris@42 2519 E T7m, T7r, T7z, T7A;
Chris@42 2520 T7m = T7i - T7l;
Chris@42 2521 T7r = T7n + T7q;
Chris@42 2522 T7s = KP707106781 * (T7m + T7r);
Chris@42 2523 TaU = KP707106781 * (T7r - T7m);
Chris@42 2524 T7z = T7i + T7l;
Chris@42 2525 T7A = T7q - T7n;
Chris@42 2526 T7B = KP707106781 * (T7z + T7A);
Chris@42 2527 TaX = KP707106781 * (T7z - T7A);
Chris@42 2528 }
Chris@42 2529 {
Chris@42 2530 E Tdf, Tdg, T7w, T7x;
Chris@42 2531 Tdf = Tdd - Tde;
Chris@42 2532 Tdg = T2M - T2X;
Chris@42 2533 Tdh = Tdf - Tdg;
Chris@42 2534 TeM = Tdf + Tdg;
Chris@42 2535 T7w = T7u - T7v;
Chris@42 2536 T7x = T2u - T2z;
Chris@42 2537 T7y = T7w + T7x;
Chris@42 2538 TaT = T7w - T7x;
Chris@42 2539 }
Chris@42 2540 }
Chris@42 2541 {
Chris@42 2542 E T4D, T9e, T4I, T9f, T4J, TdR, T4O, T8A, T4T, T8B, T4U, TdS, T56, Tea, T8E;
Chris@42 2543 E T8H, T5h, Te9, T8J, T8M;
Chris@42 2544 {
Chris@42 2545 E T4A, T4C, T4z, T4B;
Chris@42 2546 T4A = cr[WS(rs, 63)];
Chris@42 2547 T4C = ci[WS(rs, 63)];
Chris@42 2548 T4z = W[124];
Chris@42 2549 T4B = W[125];
Chris@42 2550 T4D = FMA(T4z, T4A, T4B * T4C);
Chris@42 2551 T9e = FNMS(T4B, T4A, T4z * T4C);
Chris@42 2552 }
Chris@42 2553 {
Chris@42 2554 E T4F, T4H, T4E, T4G;
Chris@42 2555 T4F = cr[WS(rs, 31)];
Chris@42 2556 T4H = ci[WS(rs, 31)];
Chris@42 2557 T4E = W[60];
Chris@42 2558 T4G = W[61];
Chris@42 2559 T4I = FMA(T4E, T4F, T4G * T4H);
Chris@42 2560 T9f = FNMS(T4G, T4F, T4E * T4H);
Chris@42 2561 }
Chris@42 2562 T4J = T4D + T4I;
Chris@42 2563 TdR = T9e + T9f;
Chris@42 2564 {
Chris@42 2565 E T4L, T4N, T4K, T4M;
Chris@42 2566 T4L = cr[WS(rs, 15)];
Chris@42 2567 T4N = ci[WS(rs, 15)];
Chris@42 2568 T4K = W[28];
Chris@42 2569 T4M = W[29];
Chris@42 2570 T4O = FMA(T4K, T4L, T4M * T4N);
Chris@42 2571 T8A = FNMS(T4M, T4L, T4K * T4N);
Chris@42 2572 }
Chris@42 2573 {
Chris@42 2574 E T4Q, T4S, T4P, T4R;
Chris@42 2575 T4Q = cr[WS(rs, 47)];
Chris@42 2576 T4S = ci[WS(rs, 47)];
Chris@42 2577 T4P = W[92];
Chris@42 2578 T4R = W[93];
Chris@42 2579 T4T = FMA(T4P, T4Q, T4R * T4S);
Chris@42 2580 T8B = FNMS(T4R, T4Q, T4P * T4S);
Chris@42 2581 }
Chris@42 2582 T4U = T4O + T4T;
Chris@42 2583 TdS = T8A + T8B;
Chris@42 2584 {
Chris@42 2585 E T50, T8F, T55, T8G;
Chris@42 2586 {
Chris@42 2587 E T4X, T4Z, T4W, T4Y;
Chris@42 2588 T4X = cr[WS(rs, 7)];
Chris@42 2589 T4Z = ci[WS(rs, 7)];
Chris@42 2590 T4W = W[12];
Chris@42 2591 T4Y = W[13];
Chris@42 2592 T50 = FMA(T4W, T4X, T4Y * T4Z);
Chris@42 2593 T8F = FNMS(T4Y, T4X, T4W * T4Z);
Chris@42 2594 }
Chris@42 2595 {
Chris@42 2596 E T52, T54, T51, T53;
Chris@42 2597 T52 = cr[WS(rs, 39)];
Chris@42 2598 T54 = ci[WS(rs, 39)];
Chris@42 2599 T51 = W[76];
Chris@42 2600 T53 = W[77];
Chris@42 2601 T55 = FMA(T51, T52, T53 * T54);
Chris@42 2602 T8G = FNMS(T53, T52, T51 * T54);
Chris@42 2603 }
Chris@42 2604 T56 = T50 + T55;
Chris@42 2605 Tea = T8F + T8G;
Chris@42 2606 T8E = T50 - T55;
Chris@42 2607 T8H = T8F - T8G;
Chris@42 2608 }
Chris@42 2609 {
Chris@42 2610 E T5b, T8K, T5g, T8L;
Chris@42 2611 {
Chris@42 2612 E T58, T5a, T57, T59;
Chris@42 2613 T58 = cr[WS(rs, 55)];
Chris@42 2614 T5a = ci[WS(rs, 55)];
Chris@42 2615 T57 = W[108];
Chris@42 2616 T59 = W[109];
Chris@42 2617 T5b = FMA(T57, T58, T59 * T5a);
Chris@42 2618 T8K = FNMS(T59, T58, T57 * T5a);
Chris@42 2619 }
Chris@42 2620 {
Chris@42 2621 E T5d, T5f, T5c, T5e;
Chris@42 2622 T5d = cr[WS(rs, 23)];
Chris@42 2623 T5f = ci[WS(rs, 23)];
Chris@42 2624 T5c = W[44];
Chris@42 2625 T5e = W[45];
Chris@42 2626 T5g = FMA(T5c, T5d, T5e * T5f);
Chris@42 2627 T8L = FNMS(T5e, T5d, T5c * T5f);
Chris@42 2628 }
Chris@42 2629 T5h = T5b + T5g;
Chris@42 2630 Te9 = T8K + T8L;
Chris@42 2631 T8J = T5b - T5g;
Chris@42 2632 T8M = T8K - T8L;
Chris@42 2633 }
Chris@42 2634 {
Chris@42 2635 E T4V, T5i, Te8, Teb;
Chris@42 2636 T4V = T4J + T4U;
Chris@42 2637 T5i = T56 + T5h;
Chris@42 2638 T5j = T4V + T5i;
Chris@42 2639 TfR = T4V - T5i;
Chris@42 2640 Te8 = T4J - T4U;
Chris@42 2641 Teb = Te9 - Tea;
Chris@42 2642 Tec = Te8 - Teb;
Chris@42 2643 TeX = Te8 + Teb;
Chris@42 2644 }
Chris@42 2645 {
Chris@42 2646 E TfW, TfX, T8z, T8C;
Chris@42 2647 TfW = TdR + TdS;
Chris@42 2648 TfX = Tea + Te9;
Chris@42 2649 TfY = TfW - TfX;
Chris@42 2650 Tgy = TfW + TfX;
Chris@42 2651 T8z = T4D - T4I;
Chris@42 2652 T8C = T8A - T8B;
Chris@42 2653 T8D = T8z - T8C;
Chris@42 2654 Tbl = T8z + T8C;
Chris@42 2655 }
Chris@42 2656 {
Chris@42 2657 E T8I, T8N, T9j, T9k;
Chris@42 2658 T8I = T8E - T8H;
Chris@42 2659 T8N = T8J + T8M;
Chris@42 2660 T8O = KP707106781 * (T8I + T8N);
Chris@42 2661 Tbx = KP707106781 * (T8N - T8I);
Chris@42 2662 T9j = T8E + T8H;
Chris@42 2663 T9k = T8M - T8J;
Chris@42 2664 T9l = KP707106781 * (T9j + T9k);
Chris@42 2665 Tbm = KP707106781 * (T9j - T9k);
Chris@42 2666 }
Chris@42 2667 {
Chris@42 2668 E TdT, TdU, T9g, T9h;
Chris@42 2669 TdT = TdR - TdS;
Chris@42 2670 TdU = T56 - T5h;
Chris@42 2671 TdV = TdT - TdU;
Chris@42 2672 Tf0 = TdT + TdU;
Chris@42 2673 T9g = T9e - T9f;
Chris@42 2674 T9h = T4O - T4T;
Chris@42 2675 T9i = T9g + T9h;
Chris@42 2676 Tbw = T9g - T9h;
Chris@42 2677 }
Chris@42 2678 }
Chris@42 2679 {
Chris@42 2680 E T36, T7G, T3b, T7H, T3c, TdH, T3h, T8m, T3m, T8n, T3n, TdI, T3z, Tds, T7L;
Chris@42 2681 E T7O, T3K, Tdr, T7S, T7T;
Chris@42 2682 {
Chris@42 2683 E T33, T35, T32, T34;
Chris@42 2684 T33 = cr[WS(rs, 1)];
Chris@42 2685 T35 = ci[WS(rs, 1)];
Chris@42 2686 T32 = W[0];
Chris@42 2687 T34 = W[1];
Chris@42 2688 T36 = FMA(T32, T33, T34 * T35);
Chris@42 2689 T7G = FNMS(T34, T33, T32 * T35);
Chris@42 2690 }
Chris@42 2691 {
Chris@42 2692 E T38, T3a, T37, T39;
Chris@42 2693 T38 = cr[WS(rs, 33)];
Chris@42 2694 T3a = ci[WS(rs, 33)];
Chris@42 2695 T37 = W[64];
Chris@42 2696 T39 = W[65];
Chris@42 2697 T3b = FMA(T37, T38, T39 * T3a);
Chris@42 2698 T7H = FNMS(T39, T38, T37 * T3a);
Chris@42 2699 }
Chris@42 2700 T3c = T36 + T3b;
Chris@42 2701 TdH = T7G + T7H;
Chris@42 2702 {
Chris@42 2703 E T3e, T3g, T3d, T3f;
Chris@42 2704 T3e = cr[WS(rs, 17)];
Chris@42 2705 T3g = ci[WS(rs, 17)];
Chris@42 2706 T3d = W[32];
Chris@42 2707 T3f = W[33];
Chris@42 2708 T3h = FMA(T3d, T3e, T3f * T3g);
Chris@42 2709 T8m = FNMS(T3f, T3e, T3d * T3g);
Chris@42 2710 }
Chris@42 2711 {
Chris@42 2712 E T3j, T3l, T3i, T3k;
Chris@42 2713 T3j = cr[WS(rs, 49)];
Chris@42 2714 T3l = ci[WS(rs, 49)];
Chris@42 2715 T3i = W[96];
Chris@42 2716 T3k = W[97];
Chris@42 2717 T3m = FMA(T3i, T3j, T3k * T3l);
Chris@42 2718 T8n = FNMS(T3k, T3j, T3i * T3l);
Chris@42 2719 }
Chris@42 2720 T3n = T3h + T3m;
Chris@42 2721 TdI = T8m + T8n;
Chris@42 2722 {
Chris@42 2723 E T3t, T7M, T3y, T7N;
Chris@42 2724 {
Chris@42 2725 E T3q, T3s, T3p, T3r;
Chris@42 2726 T3q = cr[WS(rs, 9)];
Chris@42 2727 T3s = ci[WS(rs, 9)];
Chris@42 2728 T3p = W[16];
Chris@42 2729 T3r = W[17];
Chris@42 2730 T3t = FMA(T3p, T3q, T3r * T3s);
Chris@42 2731 T7M = FNMS(T3r, T3q, T3p * T3s);
Chris@42 2732 }
Chris@42 2733 {
Chris@42 2734 E T3v, T3x, T3u, T3w;
Chris@42 2735 T3v = cr[WS(rs, 41)];
Chris@42 2736 T3x = ci[WS(rs, 41)];
Chris@42 2737 T3u = W[80];
Chris@42 2738 T3w = W[81];
Chris@42 2739 T3y = FMA(T3u, T3v, T3w * T3x);
Chris@42 2740 T7N = FNMS(T3w, T3v, T3u * T3x);
Chris@42 2741 }
Chris@42 2742 T3z = T3t + T3y;
Chris@42 2743 Tds = T7M + T7N;
Chris@42 2744 T7L = T3t - T3y;
Chris@42 2745 T7O = T7M - T7N;
Chris@42 2746 }
Chris@42 2747 {
Chris@42 2748 E T3E, T7Q, T3J, T7R;
Chris@42 2749 {
Chris@42 2750 E T3B, T3D, T3A, T3C;
Chris@42 2751 T3B = cr[WS(rs, 57)];
Chris@42 2752 T3D = ci[WS(rs, 57)];
Chris@42 2753 T3A = W[112];
Chris@42 2754 T3C = W[113];
Chris@42 2755 T3E = FMA(T3A, T3B, T3C * T3D);
Chris@42 2756 T7Q = FNMS(T3C, T3B, T3A * T3D);
Chris@42 2757 }
Chris@42 2758 {
Chris@42 2759 E T3G, T3I, T3F, T3H;
Chris@42 2760 T3G = cr[WS(rs, 25)];
Chris@42 2761 T3I = ci[WS(rs, 25)];
Chris@42 2762 T3F = W[48];
Chris@42 2763 T3H = W[49];
Chris@42 2764 T3J = FMA(T3F, T3G, T3H * T3I);
Chris@42 2765 T7R = FNMS(T3H, T3G, T3F * T3I);
Chris@42 2766 }
Chris@42 2767 T3K = T3E + T3J;
Chris@42 2768 Tdr = T7Q + T7R;
Chris@42 2769 T7S = T7Q - T7R;
Chris@42 2770 T7T = T3E - T3J;
Chris@42 2771 }
Chris@42 2772 {
Chris@42 2773 E T3o, T3L, TdJ, TdK;
Chris@42 2774 T3o = T3c + T3n;
Chris@42 2775 T3L = T3z + T3K;
Chris@42 2776 T3M = T3o + T3L;
Chris@42 2777 TfL = T3o - T3L;
Chris@42 2778 TdJ = TdH - TdI;
Chris@42 2779 TdK = T3z - T3K;
Chris@42 2780 TdL = TdJ - TdK;
Chris@42 2781 TeT = TdJ + TdK;
Chris@42 2782 }
Chris@42 2783 {
Chris@42 2784 E TfG, TfH, T7I, T7J;
Chris@42 2785 TfG = TdH + TdI;
Chris@42 2786 TfH = Tds + Tdr;
Chris@42 2787 TfI = TfG - TfH;
Chris@42 2788 Tgt = TfG + TfH;
Chris@42 2789 T7I = T7G - T7H;
Chris@42 2790 T7J = T3h - T3m;
Chris@42 2791 T7K = T7I + T7J;
Chris@42 2792 Tbd = T7I - T7J;
Chris@42 2793 }
Chris@42 2794 {
Chris@42 2795 E T7P, T7U, T8q, T8r;
Chris@42 2796 T7P = T7L + T7O;
Chris@42 2797 T7U = T7S - T7T;
Chris@42 2798 T7V = KP707106781 * (T7P + T7U);
Chris@42 2799 Tb3 = KP707106781 * (T7P - T7U);
Chris@42 2800 T8q = T7L - T7O;
Chris@42 2801 T8r = T7T + T7S;
Chris@42 2802 T8s = KP707106781 * (T8q + T8r);
Chris@42 2803 Tbe = KP707106781 * (T8r - T8q);
Chris@42 2804 }
Chris@42 2805 {
Chris@42 2806 E Tdq, Tdt, T8l, T8o;
Chris@42 2807 Tdq = T3c - T3n;
Chris@42 2808 Tdt = Tdr - Tds;
Chris@42 2809 Tdu = Tdq - Tdt;
Chris@42 2810 TeQ = Tdq + Tdt;
Chris@42 2811 T8l = T36 - T3b;
Chris@42 2812 T8o = T8m - T8n;
Chris@42 2813 T8p = T8l - T8o;
Chris@42 2814 Tb2 = T8l + T8o;
Chris@42 2815 }
Chris@42 2816 }
Chris@42 2817 {
Chris@42 2818 E T3X, Tdw, T7Z, T82, T4v, TdB, T8b, T8g, T48, Tdx, T80, T85, T4k, TdA, T8a;
Chris@42 2819 E T8d;
Chris@42 2820 {
Chris@42 2821 E T3R, T7X, T3W, T7Y;
Chris@42 2822 {
Chris@42 2823 E T3O, T3Q, T3N, T3P;
Chris@42 2824 T3O = cr[WS(rs, 5)];
Chris@42 2825 T3Q = ci[WS(rs, 5)];
Chris@42 2826 T3N = W[8];
Chris@42 2827 T3P = W[9];
Chris@42 2828 T3R = FMA(T3N, T3O, T3P * T3Q);
Chris@42 2829 T7X = FNMS(T3P, T3O, T3N * T3Q);
Chris@42 2830 }
Chris@42 2831 {
Chris@42 2832 E T3T, T3V, T3S, T3U;
Chris@42 2833 T3T = cr[WS(rs, 37)];
Chris@42 2834 T3V = ci[WS(rs, 37)];
Chris@42 2835 T3S = W[72];
Chris@42 2836 T3U = W[73];
Chris@42 2837 T3W = FMA(T3S, T3T, T3U * T3V);
Chris@42 2838 T7Y = FNMS(T3U, T3T, T3S * T3V);
Chris@42 2839 }
Chris@42 2840 T3X = T3R + T3W;
Chris@42 2841 Tdw = T7X + T7Y;
Chris@42 2842 T7Z = T7X - T7Y;
Chris@42 2843 T82 = T3R - T3W;
Chris@42 2844 }
Chris@42 2845 {
Chris@42 2846 E T4p, T8e, T4u, T8f;
Chris@42 2847 {
Chris@42 2848 E T4m, T4o, T4l, T4n;
Chris@42 2849 T4m = cr[WS(rs, 13)];
Chris@42 2850 T4o = ci[WS(rs, 13)];
Chris@42 2851 T4l = W[24];
Chris@42 2852 T4n = W[25];
Chris@42 2853 T4p = FMA(T4l, T4m, T4n * T4o);
Chris@42 2854 T8e = FNMS(T4n, T4m, T4l * T4o);
Chris@42 2855 }
Chris@42 2856 {
Chris@42 2857 E T4r, T4t, T4q, T4s;
Chris@42 2858 T4r = cr[WS(rs, 45)];
Chris@42 2859 T4t = ci[WS(rs, 45)];
Chris@42 2860 T4q = W[88];
Chris@42 2861 T4s = W[89];
Chris@42 2862 T4u = FMA(T4q, T4r, T4s * T4t);
Chris@42 2863 T8f = FNMS(T4s, T4r, T4q * T4t);
Chris@42 2864 }
Chris@42 2865 T4v = T4p + T4u;
Chris@42 2866 TdB = T8e + T8f;
Chris@42 2867 T8b = T4p - T4u;
Chris@42 2868 T8g = T8e - T8f;
Chris@42 2869 }
Chris@42 2870 {
Chris@42 2871 E T42, T83, T47, T84;
Chris@42 2872 {
Chris@42 2873 E T3Z, T41, T3Y, T40;
Chris@42 2874 T3Z = cr[WS(rs, 21)];
Chris@42 2875 T41 = ci[WS(rs, 21)];
Chris@42 2876 T3Y = W[40];
Chris@42 2877 T40 = W[41];
Chris@42 2878 T42 = FMA(T3Y, T3Z, T40 * T41);
Chris@42 2879 T83 = FNMS(T40, T3Z, T3Y * T41);
Chris@42 2880 }
Chris@42 2881 {
Chris@42 2882 E T44, T46, T43, T45;
Chris@42 2883 T44 = cr[WS(rs, 53)];
Chris@42 2884 T46 = ci[WS(rs, 53)];
Chris@42 2885 T43 = W[104];
Chris@42 2886 T45 = W[105];
Chris@42 2887 T47 = FMA(T43, T44, T45 * T46);
Chris@42 2888 T84 = FNMS(T45, T44, T43 * T46);
Chris@42 2889 }
Chris@42 2890 T48 = T42 + T47;
Chris@42 2891 Tdx = T83 + T84;
Chris@42 2892 T80 = T42 - T47;
Chris@42 2893 T85 = T83 - T84;
Chris@42 2894 }
Chris@42 2895 {
Chris@42 2896 E T4e, T88, T4j, T89;
Chris@42 2897 {
Chris@42 2898 E T4b, T4d, T4a, T4c;
Chris@42 2899 T4b = cr[WS(rs, 61)];
Chris@42 2900 T4d = ci[WS(rs, 61)];
Chris@42 2901 T4a = W[120];
Chris@42 2902 T4c = W[121];
Chris@42 2903 T4e = FMA(T4a, T4b, T4c * T4d);
Chris@42 2904 T88 = FNMS(T4c, T4b, T4a * T4d);
Chris@42 2905 }
Chris@42 2906 {
Chris@42 2907 E T4g, T4i, T4f, T4h;
Chris@42 2908 T4g = cr[WS(rs, 29)];
Chris@42 2909 T4i = ci[WS(rs, 29)];
Chris@42 2910 T4f = W[56];
Chris@42 2911 T4h = W[57];
Chris@42 2912 T4j = FMA(T4f, T4g, T4h * T4i);
Chris@42 2913 T89 = FNMS(T4h, T4g, T4f * T4i);
Chris@42 2914 }
Chris@42 2915 T4k = T4e + T4j;
Chris@42 2916 TdA = T88 + T89;
Chris@42 2917 T8a = T88 - T89;
Chris@42 2918 T8d = T4e - T4j;
Chris@42 2919 }
Chris@42 2920 {
Chris@42 2921 E T49, T4w, TdC, TdD;
Chris@42 2922 T49 = T3X + T48;
Chris@42 2923 T4w = T4k + T4v;
Chris@42 2924 T4x = T49 + T4w;
Chris@42 2925 TfJ = T49 - T4w;
Chris@42 2926 TdC = TdA - TdB;
Chris@42 2927 TdD = T4k - T4v;
Chris@42 2928 TdE = TdC - TdD;
Chris@42 2929 TdM = TdD + TdC;
Chris@42 2930 }
Chris@42 2931 {
Chris@42 2932 E TfM, TfN, T81, T86;
Chris@42 2933 TfM = TdA + TdB;
Chris@42 2934 TfN = Tdw + Tdx;
Chris@42 2935 TfO = TfM - TfN;
Chris@42 2936 Tgu = TfN + TfM;
Chris@42 2937 T81 = T7Z + T80;
Chris@42 2938 T86 = T82 - T85;
Chris@42 2939 T87 = FMA(KP923879532, T81, KP382683432 * T86);
Chris@42 2940 T8u = FNMS(KP382683432, T81, KP923879532 * T86);
Chris@42 2941 }
Chris@42 2942 {
Chris@42 2943 E T8c, T8h, Tb8, Tb9;
Chris@42 2944 T8c = T8a + T8b;
Chris@42 2945 T8h = T8d - T8g;
Chris@42 2946 T8i = FNMS(KP382683432, T8h, KP923879532 * T8c);
Chris@42 2947 T8v = FMA(KP382683432, T8c, KP923879532 * T8h);
Chris@42 2948 Tb8 = T8d + T8g;
Chris@42 2949 Tb9 = T8a - T8b;
Chris@42 2950 Tba = FNMS(KP382683432, Tb9, KP923879532 * Tb8);
Chris@42 2951 Tbh = FMA(KP923879532, Tb9, KP382683432 * Tb8);
Chris@42 2952 }
Chris@42 2953 {
Chris@42 2954 E Tdv, Tdy, Tb5, Tb6;
Chris@42 2955 Tdv = T3X - T48;
Chris@42 2956 Tdy = Tdw - Tdx;
Chris@42 2957 Tdz = Tdv + Tdy;
Chris@42 2958 TdN = Tdv - Tdy;
Chris@42 2959 Tb5 = T7Z - T80;
Chris@42 2960 Tb6 = T82 + T85;
Chris@42 2961 Tb7 = FMA(KP382683432, Tb5, KP923879532 * Tb6);
Chris@42 2962 Tbg = FNMS(KP382683432, Tb6, KP923879532 * Tb5);
Chris@42 2963 }
Chris@42 2964 }
Chris@42 2965 {
Chris@42 2966 E T5u, Te2, T8Q, T8X, T62, TdY, T94, T99, T5F, Te3, T8T, T8Y, T5R, TdX, T93;
Chris@42 2967 E T96;
Chris@42 2968 {
Chris@42 2969 E T5o, T8V, T5t, T8W;
Chris@42 2970 {
Chris@42 2971 E T5l, T5n, T5k, T5m;
Chris@42 2972 T5l = cr[WS(rs, 3)];
Chris@42 2973 T5n = ci[WS(rs, 3)];
Chris@42 2974 T5k = W[4];
Chris@42 2975 T5m = W[5];
Chris@42 2976 T5o = FMA(T5k, T5l, T5m * T5n);
Chris@42 2977 T8V = FNMS(T5m, T5l, T5k * T5n);
Chris@42 2978 }
Chris@42 2979 {
Chris@42 2980 E T5q, T5s, T5p, T5r;
Chris@42 2981 T5q = cr[WS(rs, 35)];
Chris@42 2982 T5s = ci[WS(rs, 35)];
Chris@42 2983 T5p = W[68];
Chris@42 2984 T5r = W[69];
Chris@42 2985 T5t = FMA(T5p, T5q, T5r * T5s);
Chris@42 2986 T8W = FNMS(T5r, T5q, T5p * T5s);
Chris@42 2987 }
Chris@42 2988 T5u = T5o + T5t;
Chris@42 2989 Te2 = T8V + T8W;
Chris@42 2990 T8Q = T5o - T5t;
Chris@42 2991 T8X = T8V - T8W;
Chris@42 2992 }
Chris@42 2993 {
Chris@42 2994 E T5W, T97, T61, T98;
Chris@42 2995 {
Chris@42 2996 E T5T, T5V, T5S, T5U;
Chris@42 2997 T5T = cr[WS(rs, 11)];
Chris@42 2998 T5V = ci[WS(rs, 11)];
Chris@42 2999 T5S = W[20];
Chris@42 3000 T5U = W[21];
Chris@42 3001 T5W = FMA(T5S, T5T, T5U * T5V);
Chris@42 3002 T97 = FNMS(T5U, T5T, T5S * T5V);
Chris@42 3003 }
Chris@42 3004 {
Chris@42 3005 E T5Y, T60, T5X, T5Z;
Chris@42 3006 T5Y = cr[WS(rs, 43)];
Chris@42 3007 T60 = ci[WS(rs, 43)];
Chris@42 3008 T5X = W[84];
Chris@42 3009 T5Z = W[85];
Chris@42 3010 T61 = FMA(T5X, T5Y, T5Z * T60);
Chris@42 3011 T98 = FNMS(T5Z, T5Y, T5X * T60);
Chris@42 3012 }
Chris@42 3013 T62 = T5W + T61;
Chris@42 3014 TdY = T97 + T98;
Chris@42 3015 T94 = T5W - T61;
Chris@42 3016 T99 = T97 - T98;
Chris@42 3017 }
Chris@42 3018 {
Chris@42 3019 E T5z, T8R, T5E, T8S;
Chris@42 3020 {
Chris@42 3021 E T5w, T5y, T5v, T5x;
Chris@42 3022 T5w = cr[WS(rs, 19)];
Chris@42 3023 T5y = ci[WS(rs, 19)];
Chris@42 3024 T5v = W[36];
Chris@42 3025 T5x = W[37];
Chris@42 3026 T5z = FMA(T5v, T5w, T5x * T5y);
Chris@42 3027 T8R = FNMS(T5x, T5w, T5v * T5y);
Chris@42 3028 }
Chris@42 3029 {
Chris@42 3030 E T5B, T5D, T5A, T5C;
Chris@42 3031 T5B = cr[WS(rs, 51)];
Chris@42 3032 T5D = ci[WS(rs, 51)];
Chris@42 3033 T5A = W[100];
Chris@42 3034 T5C = W[101];
Chris@42 3035 T5E = FMA(T5A, T5B, T5C * T5D);
Chris@42 3036 T8S = FNMS(T5C, T5B, T5A * T5D);
Chris@42 3037 }
Chris@42 3038 T5F = T5z + T5E;
Chris@42 3039 Te3 = T8R + T8S;
Chris@42 3040 T8T = T8R - T8S;
Chris@42 3041 T8Y = T5z - T5E;
Chris@42 3042 }
Chris@42 3043 {
Chris@42 3044 E T5L, T91, T5Q, T92;
Chris@42 3045 {
Chris@42 3046 E T5I, T5K, T5H, T5J;
Chris@42 3047 T5I = cr[WS(rs, 59)];
Chris@42 3048 T5K = ci[WS(rs, 59)];
Chris@42 3049 T5H = W[116];
Chris@42 3050 T5J = W[117];
Chris@42 3051 T5L = FMA(T5H, T5I, T5J * T5K);
Chris@42 3052 T91 = FNMS(T5J, T5I, T5H * T5K);
Chris@42 3053 }
Chris@42 3054 {
Chris@42 3055 E T5N, T5P, T5M, T5O;
Chris@42 3056 T5N = cr[WS(rs, 27)];
Chris@42 3057 T5P = ci[WS(rs, 27)];
Chris@42 3058 T5M = W[52];
Chris@42 3059 T5O = W[53];
Chris@42 3060 T5Q = FMA(T5M, T5N, T5O * T5P);
Chris@42 3061 T92 = FNMS(T5O, T5N, T5M * T5P);
Chris@42 3062 }
Chris@42 3063 T5R = T5L + T5Q;
Chris@42 3064 TdX = T91 + T92;
Chris@42 3065 T93 = T91 - T92;
Chris@42 3066 T96 = T5L - T5Q;
Chris@42 3067 }
Chris@42 3068 {
Chris@42 3069 E T5G, T63, Te1, Te4;
Chris@42 3070 T5G = T5u + T5F;
Chris@42 3071 T63 = T5R + T62;
Chris@42 3072 T64 = T5G + T63;
Chris@42 3073 TfZ = T5G - T63;
Chris@42 3074 Te1 = T5u - T5F;
Chris@42 3075 Te4 = Te2 - Te3;
Chris@42 3076 Te5 = Te1 - Te4;
Chris@42 3077 Ted = Te1 + Te4;
Chris@42 3078 }
Chris@42 3079 {
Chris@42 3080 E TfS, TfT, T8U, T8Z;
Chris@42 3081 TfS = TdX + TdY;
Chris@42 3082 TfT = Te2 + Te3;
Chris@42 3083 TfU = TfS - TfT;
Chris@42 3084 Tgz = TfT + TfS;
Chris@42 3085 T8U = T8Q - T8T;
Chris@42 3086 T8Z = T8X + T8Y;
Chris@42 3087 T90 = FNMS(KP382683432, T8Z, KP923879532 * T8U);
Chris@42 3088 T9n = FMA(KP923879532, T8Z, KP382683432 * T8U);
Chris@42 3089 }
Chris@42 3090 {
Chris@42 3091 E T95, T9a, Tbr, Tbs;
Chris@42 3092 T95 = T93 + T94;
Chris@42 3093 T9a = T96 - T99;
Chris@42 3094 T9b = FMA(KP382683432, T95, KP923879532 * T9a);
Chris@42 3095 T9o = FNMS(KP382683432, T9a, KP923879532 * T95);
Chris@42 3096 Tbr = T96 + T99;
Chris@42 3097 Tbs = T93 - T94;
Chris@42 3098 Tbt = FNMS(KP382683432, Tbs, KP923879532 * Tbr);
Chris@42 3099 TbA = FMA(KP923879532, Tbs, KP382683432 * Tbr);
Chris@42 3100 }
Chris@42 3101 {
Chris@42 3102 E TdW, TdZ, Tbo, Tbp;
Chris@42 3103 TdW = T5R - T62;
Chris@42 3104 TdZ = TdX - TdY;
Chris@42 3105 Te0 = TdW + TdZ;
Chris@42 3106 Tee = TdZ - TdW;
Chris@42 3107 Tbo = T8X - T8Y;
Chris@42 3108 Tbp = T8Q + T8T;
Chris@42 3109 Tbq = FMA(KP382683432, Tbo, KP923879532 * Tbp);
Chris@42 3110 Tbz = FNMS(KP382683432, Tbp, KP923879532 * Tbo);
Chris@42 3111 }
Chris@42 3112 }
Chris@42 3113 {
Chris@42 3114 E T1t, Tgn, TgK, TgL, TgV, Th1, T30, Th0, T66, TgX, Tgw, TgE, TgB, TgF, Tgq;
Chris@42 3115 E TgM;
Chris@42 3116 {
Chris@42 3117 E TH, T1s, TgI, TgJ;
Chris@42 3118 TH = Tj + TG;
Chris@42 3119 T1s = T14 + T1r;
Chris@42 3120 T1t = TH + T1s;
Chris@42 3121 Tgn = TH - T1s;
Chris@42 3122 TgI = Tgy + Tgz;
Chris@42 3123 TgJ = Tgt + Tgu;
Chris@42 3124 TgK = TgI - TgJ;
Chris@42 3125 TgL = TgJ + TgI;
Chris@42 3126 }
Chris@42 3127 {
Chris@42 3128 E TgN, TgU, T2e, T2Z;
Chris@42 3129 TgN = Tfr + Tfq;
Chris@42 3130 TgU = TgO + TgT;
Chris@42 3131 TgV = TgN + TgU;
Chris@42 3132 Th1 = TgU - TgN;
Chris@42 3133 T2e = T1Q + T2d;
Chris@42 3134 T2Z = T2B + T2Y;
Chris@42 3135 T30 = T2e + T2Z;
Chris@42 3136 Th0 = T2e - T2Z;
Chris@42 3137 }
Chris@42 3138 {
Chris@42 3139 E T4y, T65, Tgs, Tgv;
Chris@42 3140 T4y = T3M + T4x;
Chris@42 3141 T65 = T5j + T64;
Chris@42 3142 T66 = T4y + T65;
Chris@42 3143 TgX = T65 - T4y;
Chris@42 3144 Tgs = T3M - T4x;
Chris@42 3145 Tgv = Tgt - Tgu;
Chris@42 3146 Tgw = Tgs + Tgv;
Chris@42 3147 TgE = Tgs - Tgv;
Chris@42 3148 }
Chris@42 3149 {
Chris@42 3150 E Tgx, TgA, Tgo, Tgp;
Chris@42 3151 Tgx = T5j - T64;
Chris@42 3152 TgA = Tgy - Tgz;
Chris@42 3153 TgB = Tgx - TgA;
Chris@42 3154 TgF = Tgx + TgA;
Chris@42 3155 Tgo = TfA + TfB;
Chris@42 3156 Tgp = Tfv + Tfw;
Chris@42 3157 Tgq = Tgo - Tgp;
Chris@42 3158 TgM = Tgp + Tgo;
Chris@42 3159 }
Chris@42 3160 {
Chris@42 3161 E T31, TgW, TgY, TgH;
Chris@42 3162 T31 = T1t + T30;
Chris@42 3163 ci[WS(rs, 31)] = T31 - T66;
Chris@42 3164 cr[0] = T31 + T66;
Chris@42 3165 TgW = TgM + TgV;
Chris@42 3166 cr[WS(rs, 32)] = TgL - TgW;
Chris@42 3167 ci[WS(rs, 63)] = TgL + TgW;
Chris@42 3168 TgY = TgV - TgM;
Chris@42 3169 cr[WS(rs, 48)] = TgX - TgY;
Chris@42 3170 ci[WS(rs, 47)] = TgX + TgY;
Chris@42 3171 TgH = T1t - T30;
Chris@42 3172 cr[WS(rs, 16)] = TgH - TgK;
Chris@42 3173 ci[WS(rs, 15)] = TgH + TgK;
Chris@42 3174 }
Chris@42 3175 {
Chris@42 3176 E Tgr, TgC, TgZ, Th2;
Chris@42 3177 Tgr = Tgn - Tgq;
Chris@42 3178 TgC = KP707106781 * (Tgw + TgB);
Chris@42 3179 ci[WS(rs, 23)] = Tgr - TgC;
Chris@42 3180 cr[WS(rs, 8)] = Tgr + TgC;
Chris@42 3181 TgZ = KP707106781 * (TgB - Tgw);
Chris@42 3182 Th2 = Th0 + Th1;
Chris@42 3183 cr[WS(rs, 56)] = TgZ - Th2;
Chris@42 3184 ci[WS(rs, 39)] = TgZ + Th2;
Chris@42 3185 }
Chris@42 3186 {
Chris@42 3187 E Th3, Th4, TgD, TgG;
Chris@42 3188 Th3 = KP707106781 * (TgF - TgE);
Chris@42 3189 Th4 = Th1 - Th0;
Chris@42 3190 cr[WS(rs, 40)] = Th3 - Th4;
Chris@42 3191 ci[WS(rs, 55)] = Th3 + Th4;
Chris@42 3192 TgD = Tgn + Tgq;
Chris@42 3193 TgG = KP707106781 * (TgE + TgF);
Chris@42 3194 cr[WS(rs, 24)] = TgD - TgG;
Chris@42 3195 ci[WS(rs, 7)] = TgD + TgG;
Chris@42 3196 }
Chris@42 3197 }
Chris@42 3198 {
Chris@42 3199 E T6L, T9x, ThV, Ti1, T7E, Ti0, T9A, ThO, T8y, T9K, T9u, T9E, T9r, T9L, T9v;
Chris@42 3200 E T9H;
Chris@42 3201 {
Chris@42 3202 E T6n, T6K, ThP, ThU;
Chris@42 3203 T6n = T6b + T6m;
Chris@42 3204 T6K = T6y + T6J;
Chris@42 3205 T6L = T6n - T6K;
Chris@42 3206 T9x = T6n + T6K;
Chris@42 3207 ThP = T9O - T9P;
Chris@42 3208 ThU = ThQ + ThT;
Chris@42 3209 ThV = ThP + ThU;
Chris@42 3210 Ti1 = ThU - ThP;
Chris@42 3211 }
Chris@42 3212 {
Chris@42 3213 E T7c, T9y, T7D, T9z;
Chris@42 3214 {
Chris@42 3215 E T72, T7b, T7t, T7C;
Chris@42 3216 T72 = T6Q + T71;
Chris@42 3217 T7b = T77 + T7a;
Chris@42 3218 T7c = FMA(KP195090322, T72, KP980785280 * T7b);
Chris@42 3219 T9y = FNMS(KP195090322, T7b, KP980785280 * T72);
Chris@42 3220 T7t = T7h + T7s;
Chris@42 3221 T7C = T7y + T7B;
Chris@42 3222 T7D = FNMS(KP980785280, T7C, KP195090322 * T7t);
Chris@42 3223 T9z = FMA(KP980785280, T7t, KP195090322 * T7C);
Chris@42 3224 }
Chris@42 3225 T7E = T7c + T7D;
Chris@42 3226 Ti0 = T9z - T9y;
Chris@42 3227 T9A = T9y + T9z;
Chris@42 3228 ThO = T7c - T7D;
Chris@42 3229 }
Chris@42 3230 {
Chris@42 3231 E T8k, T9D, T8x, T9C;
Chris@42 3232 {
Chris@42 3233 E T7W, T8j, T8t, T8w;
Chris@42 3234 T7W = T7K + T7V;
Chris@42 3235 T8j = T87 + T8i;
Chris@42 3236 T8k = T7W - T8j;
Chris@42 3237 T9D = T7W + T8j;
Chris@42 3238 T8t = T8p + T8s;
Chris@42 3239 T8w = T8u + T8v;
Chris@42 3240 T8x = T8t - T8w;
Chris@42 3241 T9C = T8t + T8w;
Chris@42 3242 }
Chris@42 3243 T8y = FMA(KP634393284, T8k, KP773010453 * T8x);
Chris@42 3244 T9K = FMA(KP995184726, T9D, KP098017140 * T9C);
Chris@42 3245 T9u = FNMS(KP773010453, T8k, KP634393284 * T8x);
Chris@42 3246 T9E = FNMS(KP098017140, T9D, KP995184726 * T9C);
Chris@42 3247 }
Chris@42 3248 {
Chris@42 3249 E T9d, T9G, T9q, T9F;
Chris@42 3250 {
Chris@42 3251 E T8P, T9c, T9m, T9p;
Chris@42 3252 T8P = T8D + T8O;
Chris@42 3253 T9c = T90 + T9b;
Chris@42 3254 T9d = T8P - T9c;
Chris@42 3255 T9G = T8P + T9c;
Chris@42 3256 T9m = T9i + T9l;
Chris@42 3257 T9p = T9n + T9o;
Chris@42 3258 T9q = T9m - T9p;
Chris@42 3259 T9F = T9m + T9p;
Chris@42 3260 }
Chris@42 3261 T9r = FNMS(KP634393284, T9q, KP773010453 * T9d);
Chris@42 3262 T9L = FNMS(KP995184726, T9F, KP098017140 * T9G);
Chris@42 3263 T9v = FMA(KP773010453, T9q, KP634393284 * T9d);
Chris@42 3264 T9H = FMA(KP098017140, T9F, KP995184726 * T9G);
Chris@42 3265 }
Chris@42 3266 {
Chris@42 3267 E T7F, T9s, ThZ, Ti2;
Chris@42 3268 T7F = T6L + T7E;
Chris@42 3269 T9s = T8y + T9r;
Chris@42 3270 ci[WS(rs, 24)] = T7F - T9s;
Chris@42 3271 cr[WS(rs, 7)] = T7F + T9s;
Chris@42 3272 ThZ = T9v - T9u;
Chris@42 3273 Ti2 = Ti0 + Ti1;
Chris@42 3274 cr[WS(rs, 39)] = ThZ - Ti2;
Chris@42 3275 ci[WS(rs, 56)] = ThZ + Ti2;
Chris@42 3276 }
Chris@42 3277 {
Chris@42 3278 E Ti3, Ti4, T9t, T9w;
Chris@42 3279 Ti3 = T9r - T8y;
Chris@42 3280 Ti4 = Ti1 - Ti0;
Chris@42 3281 cr[WS(rs, 55)] = Ti3 - Ti4;
Chris@42 3282 ci[WS(rs, 40)] = Ti3 + Ti4;
Chris@42 3283 T9t = T6L - T7E;
Chris@42 3284 T9w = T9u + T9v;
Chris@42 3285 cr[WS(rs, 23)] = T9t - T9w;
Chris@42 3286 ci[WS(rs, 8)] = T9t + T9w;
Chris@42 3287 }
Chris@42 3288 {
Chris@42 3289 E T9B, T9I, ThN, ThW;
Chris@42 3290 T9B = T9x + T9A;
Chris@42 3291 T9I = T9E + T9H;
Chris@42 3292 cr[WS(rs, 31)] = T9B - T9I;
Chris@42 3293 ci[0] = T9B + T9I;
Chris@42 3294 ThN = T9L - T9K;
Chris@42 3295 ThW = ThO + ThV;
Chris@42 3296 cr[WS(rs, 63)] = ThN - ThW;
Chris@42 3297 ci[WS(rs, 32)] = ThN + ThW;
Chris@42 3298 }
Chris@42 3299 {
Chris@42 3300 E ThX, ThY, T9J, T9M;
Chris@42 3301 ThX = T9H - T9E;
Chris@42 3302 ThY = ThV - ThO;
Chris@42 3303 cr[WS(rs, 47)] = ThX - ThY;
Chris@42 3304 ci[WS(rs, 48)] = ThX + ThY;
Chris@42 3305 T9J = T9x - T9A;
Chris@42 3306 T9M = T9K + T9L;
Chris@42 3307 ci[WS(rs, 16)] = T9J - T9M;
Chris@42 3308 cr[WS(rs, 15)] = T9J + T9M;
Chris@42 3309 }
Chris@42 3310 }
Chris@42 3311 {
Chris@42 3312 E Tft, Tg7, Tgh, Tgl, Th9, Thf, TfE, Th6, TfQ, Tg4, Tga, The, Tge, Tgk, Tg1;
Chris@42 3313 E Tg5;
Chris@42 3314 {
Chris@42 3315 E Tfp, Tfs, Tgf, Tgg;
Chris@42 3316 Tfp = Tj - TG;
Chris@42 3317 Tfs = Tfq - Tfr;
Chris@42 3318 Tft = Tfp - Tfs;
Chris@42 3319 Tg7 = Tfp + Tfs;
Chris@42 3320 Tgf = TfY + TfZ;
Chris@42 3321 Tgg = TfR + TfU;
Chris@42 3322 Tgh = FMA(KP382683432, Tgf, KP923879532 * Tgg);
Chris@42 3323 Tgl = FNMS(KP923879532, Tgf, KP382683432 * Tgg);
Chris@42 3324 }
Chris@42 3325 {
Chris@42 3326 E Th7, Th8, Tfy, TfD;
Chris@42 3327 Th7 = T14 - T1r;
Chris@42 3328 Th8 = TgT - TgO;
Chris@42 3329 Th9 = Th7 + Th8;
Chris@42 3330 Thf = Th8 - Th7;
Chris@42 3331 Tfy = Tfu + Tfx;
Chris@42 3332 TfD = Tfz - TfC;
Chris@42 3333 TfE = KP707106781 * (Tfy + TfD);
Chris@42 3334 Th6 = KP707106781 * (Tfy - TfD);
Chris@42 3335 }
Chris@42 3336 {
Chris@42 3337 E TfK, TfP, Tg8, Tg9;
Chris@42 3338 TfK = TfI - TfJ;
Chris@42 3339 TfP = TfL - TfO;
Chris@42 3340 TfQ = FMA(KP382683432, TfK, KP923879532 * TfP);
Chris@42 3341 Tg4 = FNMS(KP923879532, TfK, KP382683432 * TfP);
Chris@42 3342 Tg8 = Tfu - Tfx;
Chris@42 3343 Tg9 = Tfz + TfC;
Chris@42 3344 Tga = KP707106781 * (Tg8 + Tg9);
Chris@42 3345 The = KP707106781 * (Tg9 - Tg8);
Chris@42 3346 }
Chris@42 3347 {
Chris@42 3348 E Tgc, Tgd, TfV, Tg0;
Chris@42 3349 Tgc = TfL + TfO;
Chris@42 3350 Tgd = TfI + TfJ;
Chris@42 3351 Tge = FNMS(KP382683432, Tgd, KP923879532 * Tgc);
Chris@42 3352 Tgk = FMA(KP923879532, Tgd, KP382683432 * Tgc);
Chris@42 3353 TfV = TfR - TfU;
Chris@42 3354 Tg0 = TfY - TfZ;
Chris@42 3355 Tg1 = FNMS(KP382683432, Tg0, KP923879532 * TfV);
Chris@42 3356 Tg5 = FMA(KP923879532, Tg0, KP382683432 * TfV);
Chris@42 3357 }
Chris@42 3358 {
Chris@42 3359 E TfF, Tg2, Thd, Thg;
Chris@42 3360 TfF = Tft + TfE;
Chris@42 3361 Tg2 = TfQ + Tg1;
Chris@42 3362 ci[WS(rs, 27)] = TfF - Tg2;
Chris@42 3363 cr[WS(rs, 4)] = TfF + Tg2;
Chris@42 3364 Thd = Tg5 - Tg4;
Chris@42 3365 Thg = The + Thf;
Chris@42 3366 cr[WS(rs, 36)] = Thd - Thg;
Chris@42 3367 ci[WS(rs, 59)] = Thd + Thg;
Chris@42 3368 }
Chris@42 3369 {
Chris@42 3370 E Thh, Thi, Tg3, Tg6;
Chris@42 3371 Thh = Tg1 - TfQ;
Chris@42 3372 Thi = Thf - The;
Chris@42 3373 cr[WS(rs, 52)] = Thh - Thi;
Chris@42 3374 ci[WS(rs, 43)] = Thh + Thi;
Chris@42 3375 Tg3 = Tft - TfE;
Chris@42 3376 Tg6 = Tg4 + Tg5;
Chris@42 3377 cr[WS(rs, 20)] = Tg3 - Tg6;
Chris@42 3378 ci[WS(rs, 11)] = Tg3 + Tg6;
Chris@42 3379 }
Chris@42 3380 {
Chris@42 3381 E Tgb, Tgi, Th5, Tha;
Chris@42 3382 Tgb = Tg7 + Tga;
Chris@42 3383 Tgi = Tge + Tgh;
Chris@42 3384 cr[WS(rs, 28)] = Tgb - Tgi;
Chris@42 3385 ci[WS(rs, 3)] = Tgb + Tgi;
Chris@42 3386 Th5 = Tgl - Tgk;
Chris@42 3387 Tha = Th6 + Th9;
Chris@42 3388 cr[WS(rs, 60)] = Th5 - Tha;
Chris@42 3389 ci[WS(rs, 35)] = Th5 + Tha;
Chris@42 3390 }
Chris@42 3391 {
Chris@42 3392 E Thb, Thc, Tgj, Tgm;
Chris@42 3393 Thb = Tgh - Tge;
Chris@42 3394 Thc = Th9 - Th6;
Chris@42 3395 cr[WS(rs, 44)] = Thb - Thc;
Chris@42 3396 ci[WS(rs, 51)] = Thb + Thc;
Chris@42 3397 Tgj = Tg7 - Tga;
Chris@42 3398 Tgm = Tgk + Tgl;
Chris@42 3399 ci[WS(rs, 19)] = Tgj - Tgm;
Chris@42 3400 cr[WS(rs, 12)] = Tgj + Tgm;
Chris@42 3401 }
Chris@42 3402 }
Chris@42 3403 {
Chris@42 3404 E TeH, Tf9, TeO, Thk, Thp, Thv, Tfc, Thu, Tf3, Tfn, Tf7, Tfj, TeW, Tfm, Tf6;
Chris@42 3405 E Tfg;
Chris@42 3406 {
Chris@42 3407 E TeD, TeG, Tfa, Tfb;
Chris@42 3408 TeD = TcL + TcO;
Chris@42 3409 TeG = KP707106781 * (TeE + TeF);
Chris@42 3410 TeH = TeD - TeG;
Chris@42 3411 Tf9 = TeD + TeG;
Chris@42 3412 {
Chris@42 3413 E TeK, TeN, Thl, Tho;
Chris@42 3414 TeK = FMA(KP923879532, TeI, KP382683432 * TeJ);
Chris@42 3415 TeN = FNMS(KP923879532, TeM, KP382683432 * TeL);
Chris@42 3416 TeO = TeK + TeN;
Chris@42 3417 Thk = TeK - TeN;
Chris@42 3418 Thl = KP707106781 * (TcU - TcZ);
Chris@42 3419 Tho = Thm + Thn;
Chris@42 3420 Thp = Thl + Tho;
Chris@42 3421 Thv = Tho - Thl;
Chris@42 3422 }
Chris@42 3423 Tfa = FNMS(KP382683432, TeI, KP923879532 * TeJ);
Chris@42 3424 Tfb = FMA(KP382683432, TeM, KP923879532 * TeL);
Chris@42 3425 Tfc = Tfa + Tfb;
Chris@42 3426 Thu = Tfb - Tfa;
Chris@42 3427 {
Chris@42 3428 E TeZ, Tfh, Tf2, Tfi, TeY, Tf1;
Chris@42 3429 TeY = KP707106781 * (Te5 + Te0);
Chris@42 3430 TeZ = TeX - TeY;
Chris@42 3431 Tfh = TeX + TeY;
Chris@42 3432 Tf1 = KP707106781 * (Ted + Tee);
Chris@42 3433 Tf2 = Tf0 - Tf1;
Chris@42 3434 Tfi = Tf0 + Tf1;
Chris@42 3435 Tf3 = FNMS(KP555570233, Tf2, KP831469612 * TeZ);
Chris@42 3436 Tfn = FMA(KP980785280, Tfh, KP195090322 * Tfi);
Chris@42 3437 Tf7 = FMA(KP555570233, TeZ, KP831469612 * Tf2);
Chris@42 3438 Tfj = FNMS(KP980785280, Tfi, KP195090322 * Tfh);
Chris@42 3439 }
Chris@42 3440 {
Chris@42 3441 E TeS, Tfe, TeV, Tff, TeR, TeU;
Chris@42 3442 TeR = KP707106781 * (TdN + TdM);
Chris@42 3443 TeS = TeQ - TeR;
Chris@42 3444 Tfe = TeQ + TeR;
Chris@42 3445 TeU = KP707106781 * (Tdz + TdE);
Chris@42 3446 TeV = TeT - TeU;
Chris@42 3447 Tff = TeT + TeU;
Chris@42 3448 TeW = FMA(KP831469612, TeS, KP555570233 * TeV);
Chris@42 3449 Tfm = FNMS(KP195090322, Tff, KP980785280 * Tfe);
Chris@42 3450 Tf6 = FNMS(KP831469612, TeV, KP555570233 * TeS);
Chris@42 3451 Tfg = FMA(KP195090322, Tfe, KP980785280 * Tff);
Chris@42 3452 }
Chris@42 3453 }
Chris@42 3454 {
Chris@42 3455 E TeP, Tf4, Tht, Thw;
Chris@42 3456 TeP = TeH + TeO;
Chris@42 3457 Tf4 = TeW + Tf3;
Chris@42 3458 ci[WS(rs, 25)] = TeP - Tf4;
Chris@42 3459 cr[WS(rs, 6)] = TeP + Tf4;
Chris@42 3460 Tht = Tf7 - Tf6;
Chris@42 3461 Thw = Thu + Thv;
Chris@42 3462 cr[WS(rs, 38)] = Tht - Thw;
Chris@42 3463 ci[WS(rs, 57)] = Tht + Thw;
Chris@42 3464 }
Chris@42 3465 {
Chris@42 3466 E Thx, Thy, Tf5, Tf8;
Chris@42 3467 Thx = Tf3 - TeW;
Chris@42 3468 Thy = Thv - Thu;
Chris@42 3469 cr[WS(rs, 54)] = Thx - Thy;
Chris@42 3470 ci[WS(rs, 41)] = Thx + Thy;
Chris@42 3471 Tf5 = TeH - TeO;
Chris@42 3472 Tf8 = Tf6 + Tf7;
Chris@42 3473 cr[WS(rs, 22)] = Tf5 - Tf8;
Chris@42 3474 ci[WS(rs, 9)] = Tf5 + Tf8;
Chris@42 3475 }
Chris@42 3476 {
Chris@42 3477 E Tfd, Tfk, Thj, Thq;
Chris@42 3478 Tfd = Tf9 - Tfc;
Chris@42 3479 Tfk = Tfg + Tfj;
Chris@42 3480 ci[WS(rs, 17)] = Tfd - Tfk;
Chris@42 3481 cr[WS(rs, 14)] = Tfd + Tfk;
Chris@42 3482 Thj = Tfj - Tfg;
Chris@42 3483 Thq = Thk + Thp;
Chris@42 3484 cr[WS(rs, 62)] = Thj - Thq;
Chris@42 3485 ci[WS(rs, 33)] = Thj + Thq;
Chris@42 3486 }
Chris@42 3487 {
Chris@42 3488 E Thr, Ths, Tfl, Tfo;
Chris@42 3489 Thr = Tfn - Tfm;
Chris@42 3490 Ths = Thp - Thk;
Chris@42 3491 cr[WS(rs, 46)] = Thr - Ths;
Chris@42 3492 ci[WS(rs, 49)] = Thr + Ths;
Chris@42 3493 Tfl = Tf9 + Tfc;
Chris@42 3494 Tfo = Tfm + Tfn;
Chris@42 3495 cr[WS(rs, 30)] = Tfl - Tfo;
Chris@42 3496 ci[WS(rs, 1)] = Tfl + Tfo;
Chris@42 3497 }
Chris@42 3498 }
Chris@42 3499 {
Chris@42 3500 E Td1, Ten, Tdo, ThA, ThD, ThJ, Teq, ThI, Teh, TeB, Tel, Tex, TdQ, TeA, Tek;
Chris@42 3501 E Teu;
Chris@42 3502 {
Chris@42 3503 E TcP, Td0, Teo, Tep;
Chris@42 3504 TcP = TcL - TcO;
Chris@42 3505 Td0 = KP707106781 * (TcU + TcZ);
Chris@42 3506 Td1 = TcP - Td0;
Chris@42 3507 Ten = TcP + Td0;
Chris@42 3508 {
Chris@42 3509 E Tdc, Tdn, ThB, ThC;
Chris@42 3510 Tdc = FNMS(KP923879532, Tdb, KP382683432 * Td6);
Chris@42 3511 Tdn = FMA(KP923879532, Tdh, KP382683432 * Tdm);
Chris@42 3512 Tdo = Tdc + Tdn;
Chris@42 3513 ThA = Tdn - Tdc;
Chris@42 3514 ThB = KP707106781 * (TeF - TeE);
Chris@42 3515 ThC = Thn - Thm;
Chris@42 3516 ThD = ThB + ThC;
Chris@42 3517 ThJ = ThC - ThB;
Chris@42 3518 }
Chris@42 3519 Teo = FMA(KP382683432, Tdb, KP923879532 * Td6);
Chris@42 3520 Tep = FNMS(KP382683432, Tdh, KP923879532 * Tdm);
Chris@42 3521 Teq = Teo + Tep;
Chris@42 3522 ThI = Teo - Tep;
Chris@42 3523 {
Chris@42 3524 E Te7, Tew, Teg, Tev, Te6, Tef;
Chris@42 3525 Te6 = KP707106781 * (Te0 - Te5);
Chris@42 3526 Te7 = TdV - Te6;
Chris@42 3527 Tew = TdV + Te6;
Chris@42 3528 Tef = KP707106781 * (Ted - Tee);
Chris@42 3529 Teg = Tec - Tef;
Chris@42 3530 Tev = Tec + Tef;
Chris@42 3531 Teh = FMA(KP555570233, Te7, KP831469612 * Teg);
Chris@42 3532 TeB = FMA(KP980785280, Tew, KP195090322 * Tev);
Chris@42 3533 Tel = FNMS(KP831469612, Te7, KP555570233 * Teg);
Chris@42 3534 Tex = FNMS(KP195090322, Tew, KP980785280 * Tev);
Chris@42 3535 }
Chris@42 3536 {
Chris@42 3537 E TdG, Tet, TdP, Tes, TdF, TdO;
Chris@42 3538 TdF = KP707106781 * (Tdz - TdE);
Chris@42 3539 TdG = Tdu - TdF;
Chris@42 3540 Tet = Tdu + TdF;
Chris@42 3541 TdO = KP707106781 * (TdM - TdN);
Chris@42 3542 TdP = TdL - TdO;
Chris@42 3543 Tes = TdL + TdO;
Chris@42 3544 TdQ = FNMS(KP555570233, TdP, KP831469612 * TdG);
Chris@42 3545 TeA = FNMS(KP980785280, Tes, KP195090322 * Tet);
Chris@42 3546 Tek = FMA(KP831469612, TdP, KP555570233 * TdG);
Chris@42 3547 Teu = FMA(KP195090322, Tes, KP980785280 * Tet);
Chris@42 3548 }
Chris@42 3549 }
Chris@42 3550 {
Chris@42 3551 E Tdp, Tei, ThH, ThK;
Chris@42 3552 Tdp = Td1 + Tdo;
Chris@42 3553 Tei = TdQ + Teh;
Chris@42 3554 cr[WS(rs, 26)] = Tdp - Tei;
Chris@42 3555 ci[WS(rs, 5)] = Tdp + Tei;
Chris@42 3556 ThH = Tel - Tek;
Chris@42 3557 ThK = ThI + ThJ;
Chris@42 3558 cr[WS(rs, 58)] = ThH - ThK;
Chris@42 3559 ci[WS(rs, 37)] = ThH + ThK;
Chris@42 3560 }
Chris@42 3561 {
Chris@42 3562 E ThL, ThM, Tej, Tem;
Chris@42 3563 ThL = Teh - TdQ;
Chris@42 3564 ThM = ThJ - ThI;
Chris@42 3565 cr[WS(rs, 42)] = ThL - ThM;
Chris@42 3566 ci[WS(rs, 53)] = ThL + ThM;
Chris@42 3567 Tej = Td1 - Tdo;
Chris@42 3568 Tem = Tek + Tel;
Chris@42 3569 ci[WS(rs, 21)] = Tej - Tem;
Chris@42 3570 cr[WS(rs, 10)] = Tej + Tem;
Chris@42 3571 }
Chris@42 3572 {
Chris@42 3573 E Ter, Tey, Thz, ThE;
Chris@42 3574 Ter = Ten + Teq;
Chris@42 3575 Tey = Teu + Tex;
Chris@42 3576 ci[WS(rs, 29)] = Ter - Tey;
Chris@42 3577 cr[WS(rs, 2)] = Ter + Tey;
Chris@42 3578 Thz = TeB - TeA;
Chris@42 3579 ThE = ThA + ThD;
Chris@42 3580 cr[WS(rs, 34)] = Thz - ThE;
Chris@42 3581 ci[WS(rs, 61)] = Thz + ThE;
Chris@42 3582 }
Chris@42 3583 {
Chris@42 3584 E ThF, ThG, Tez, TeC;
Chris@42 3585 ThF = Tex - Teu;
Chris@42 3586 ThG = ThD - ThA;
Chris@42 3587 cr[WS(rs, 50)] = ThF - ThG;
Chris@42 3588 ci[WS(rs, 45)] = ThF + ThG;
Chris@42 3589 Tez = Ten - Teq;
Chris@42 3590 TeC = TeA + TeB;
Chris@42 3591 cr[WS(rs, 18)] = Tez - TeC;
Chris@42 3592 ci[WS(rs, 13)] = Tez + TeC;
Chris@42 3593 }
Chris@42 3594 }
Chris@42 3595 {
Chris@42 3596 E Tc3, Tcv, TiD, TiJ, Tca, TiI, Tcy, TiA, Tci, TcI, Tcs, TcC, Tcp, TcJ, Tct;
Chris@42 3597 E TcF;
Chris@42 3598 {
Chris@42 3599 E TbZ, Tc2, TiB, TiC;
Chris@42 3600 TbZ = Taz - TaC;
Chris@42 3601 Tc2 = Tc0 + Tc1;
Chris@42 3602 Tc3 = TbZ - Tc2;
Chris@42 3603 Tcv = TbZ + Tc2;
Chris@42 3604 TiB = TaG - TaJ;
Chris@42 3605 TiC = Tin - Tim;
Chris@42 3606 TiD = TiB + TiC;
Chris@42 3607 TiJ = TiC - TiB;
Chris@42 3608 }
Chris@42 3609 {
Chris@42 3610 E Tc6, Tcw, Tc9, Tcx;
Chris@42 3611 {
Chris@42 3612 E Tc4, Tc5, Tc7, Tc8;
Chris@42 3613 Tc4 = TaP - TaQ;
Chris@42 3614 Tc5 = TaM - TaN;
Chris@42 3615 Tc6 = FMA(KP831469612, Tc4, KP555570233 * Tc5);
Chris@42 3616 Tcw = FNMS(KP555570233, Tc4, KP831469612 * Tc5);
Chris@42 3617 Tc7 = TaW - TaX;
Chris@42 3618 Tc8 = TaT - TaU;
Chris@42 3619 Tc9 = FNMS(KP831469612, Tc8, KP555570233 * Tc7);
Chris@42 3620 Tcx = FMA(KP555570233, Tc8, KP831469612 * Tc7);
Chris@42 3621 }
Chris@42 3622 Tca = Tc6 + Tc9;
Chris@42 3623 TiI = Tcx - Tcw;
Chris@42 3624 Tcy = Tcw + Tcx;
Chris@42 3625 TiA = Tc6 - Tc9;
Chris@42 3626 }
Chris@42 3627 {
Chris@42 3628 E Tce, TcB, Tch, TcA;
Chris@42 3629 {
Chris@42 3630 E Tcc, Tcd, Tcf, Tcg;
Chris@42 3631 Tcc = Tbd - Tbe;
Chris@42 3632 Tcd = Tb7 - Tba;
Chris@42 3633 Tce = Tcc - Tcd;
Chris@42 3634 TcB = Tcc + Tcd;
Chris@42 3635 Tcf = Tb2 - Tb3;
Chris@42 3636 Tcg = Tbh - Tbg;
Chris@42 3637 Tch = Tcf - Tcg;
Chris@42 3638 TcA = Tcf + Tcg;
Chris@42 3639 }
Chris@42 3640 Tci = FMA(KP471396736, Tce, KP881921264 * Tch);
Chris@42 3641 TcI = FMA(KP956940335, TcB, KP290284677 * TcA);
Chris@42 3642 Tcs = FNMS(KP881921264, Tce, KP471396736 * Tch);
Chris@42 3643 TcC = FNMS(KP290284677, TcB, KP956940335 * TcA);
Chris@42 3644 }
Chris@42 3645 {
Chris@42 3646 E Tcl, TcE, Tco, TcD;
Chris@42 3647 {
Chris@42 3648 E Tcj, Tck, Tcm, Tcn;
Chris@42 3649 Tcj = Tbl - Tbm;
Chris@42 3650 Tck = TbA - Tbz;
Chris@42 3651 Tcl = Tcj - Tck;
Chris@42 3652 TcE = Tcj + Tck;
Chris@42 3653 Tcm = Tbw - Tbx;
Chris@42 3654 Tcn = Tbq - Tbt;
Chris@42 3655 Tco = Tcm - Tcn;
Chris@42 3656 TcD = Tcm + Tcn;
Chris@42 3657 }
Chris@42 3658 Tcp = FNMS(KP471396736, Tco, KP881921264 * Tcl);
Chris@42 3659 TcJ = FNMS(KP956940335, TcD, KP290284677 * TcE);
Chris@42 3660 Tct = FMA(KP881921264, Tco, KP471396736 * Tcl);
Chris@42 3661 TcF = FMA(KP290284677, TcD, KP956940335 * TcE);
Chris@42 3662 }
Chris@42 3663 {
Chris@42 3664 E Tcb, Tcq, TiH, TiK;
Chris@42 3665 Tcb = Tc3 + Tca;
Chris@42 3666 Tcq = Tci + Tcp;
Chris@42 3667 ci[WS(rs, 26)] = Tcb - Tcq;
Chris@42 3668 cr[WS(rs, 5)] = Tcb + Tcq;
Chris@42 3669 TiH = Tct - Tcs;
Chris@42 3670 TiK = TiI + TiJ;
Chris@42 3671 cr[WS(rs, 37)] = TiH - TiK;
Chris@42 3672 ci[WS(rs, 58)] = TiH + TiK;
Chris@42 3673 }
Chris@42 3674 {
Chris@42 3675 E TiL, TiM, Tcr, Tcu;
Chris@42 3676 TiL = Tcp - Tci;
Chris@42 3677 TiM = TiJ - TiI;
Chris@42 3678 cr[WS(rs, 53)] = TiL - TiM;
Chris@42 3679 ci[WS(rs, 42)] = TiL + TiM;
Chris@42 3680 Tcr = Tc3 - Tca;
Chris@42 3681 Tcu = Tcs + Tct;
Chris@42 3682 cr[WS(rs, 21)] = Tcr - Tcu;
Chris@42 3683 ci[WS(rs, 10)] = Tcr + Tcu;
Chris@42 3684 }
Chris@42 3685 {
Chris@42 3686 E Tcz, TcG, Tiz, TiE;
Chris@42 3687 Tcz = Tcv + Tcy;
Chris@42 3688 TcG = TcC + TcF;
Chris@42 3689 cr[WS(rs, 29)] = Tcz - TcG;
Chris@42 3690 ci[WS(rs, 2)] = Tcz + TcG;
Chris@42 3691 Tiz = TcJ - TcI;
Chris@42 3692 TiE = TiA + TiD;
Chris@42 3693 cr[WS(rs, 61)] = Tiz - TiE;
Chris@42 3694 ci[WS(rs, 34)] = Tiz + TiE;
Chris@42 3695 }
Chris@42 3696 {
Chris@42 3697 E TiF, TiG, TcH, TcK;
Chris@42 3698 TiF = TcF - TcC;
Chris@42 3699 TiG = TiD - TiA;
Chris@42 3700 cr[WS(rs, 45)] = TiF - TiG;
Chris@42 3701 ci[WS(rs, 50)] = TiF + TiG;
Chris@42 3702 TcH = Tcv - Tcy;
Chris@42 3703 TcK = TcI + TcJ;
Chris@42 3704 ci[WS(rs, 18)] = TcH - TcK;
Chris@42 3705 cr[WS(rs, 13)] = TcH + TcK;
Chris@42 3706 }
Chris@42 3707 }
Chris@42 3708 {
Chris@42 3709 E TaL, TbJ, Tip, Tiv, Tb0, Tiu, TbM, Tik, Tbk, TbW, TbG, TbQ, TbD, TbX, TbH;
Chris@42 3710 E TbT;
Chris@42 3711 {
Chris@42 3712 E TaD, TaK, Til, Tio;
Chris@42 3713 TaD = Taz + TaC;
Chris@42 3714 TaK = TaG + TaJ;
Chris@42 3715 TaL = TaD - TaK;
Chris@42 3716 TbJ = TaD + TaK;
Chris@42 3717 Til = Tc1 - Tc0;
Chris@42 3718 Tio = Tim + Tin;
Chris@42 3719 Tip = Til + Tio;
Chris@42 3720 Tiv = Tio - Til;
Chris@42 3721 }
Chris@42 3722 {
Chris@42 3723 E TaS, TbK, TaZ, TbL;
Chris@42 3724 {
Chris@42 3725 E TaO, TaR, TaV, TaY;
Chris@42 3726 TaO = TaM + TaN;
Chris@42 3727 TaR = TaP + TaQ;
Chris@42 3728 TaS = FNMS(KP980785280, TaR, KP195090322 * TaO);
Chris@42 3729 TbK = FMA(KP195090322, TaR, KP980785280 * TaO);
Chris@42 3730 TaV = TaT + TaU;
Chris@42 3731 TaY = TaW + TaX;
Chris@42 3732 TaZ = FMA(KP980785280, TaV, KP195090322 * TaY);
Chris@42 3733 TbL = FNMS(KP195090322, TaV, KP980785280 * TaY);
Chris@42 3734 }
Chris@42 3735 Tb0 = TaS + TaZ;
Chris@42 3736 Tiu = TbK - TbL;
Chris@42 3737 TbM = TbK + TbL;
Chris@42 3738 Tik = TaZ - TaS;
Chris@42 3739 }
Chris@42 3740 {
Chris@42 3741 E Tbc, TbO, Tbj, TbP;
Chris@42 3742 {
Chris@42 3743 E Tb4, Tbb, Tbf, Tbi;
Chris@42 3744 Tb4 = Tb2 + Tb3;
Chris@42 3745 Tbb = Tb7 + Tba;
Chris@42 3746 Tbc = Tb4 - Tbb;
Chris@42 3747 TbO = Tb4 + Tbb;
Chris@42 3748 Tbf = Tbd + Tbe;
Chris@42 3749 Tbi = Tbg + Tbh;
Chris@42 3750 Tbj = Tbf - Tbi;
Chris@42 3751 TbP = Tbf + Tbi;
Chris@42 3752 }
Chris@42 3753 Tbk = FMA(KP634393284, Tbc, KP773010453 * Tbj);
Chris@42 3754 TbW = FNMS(KP995184726, TbP, KP098017140 * TbO);
Chris@42 3755 TbG = FNMS(KP634393284, Tbj, KP773010453 * Tbc);
Chris@42 3756 TbQ = FMA(KP995184726, TbO, KP098017140 * TbP);
Chris@42 3757 }
Chris@42 3758 {
Chris@42 3759 E Tbv, TbR, TbC, TbS;
Chris@42 3760 {
Chris@42 3761 E Tbn, Tbu, Tby, TbB;
Chris@42 3762 Tbn = Tbl + Tbm;
Chris@42 3763 Tbu = Tbq + Tbt;
Chris@42 3764 Tbv = Tbn - Tbu;
Chris@42 3765 TbR = Tbn + Tbu;
Chris@42 3766 Tby = Tbw + Tbx;
Chris@42 3767 TbB = Tbz + TbA;
Chris@42 3768 TbC = Tby - TbB;
Chris@42 3769 TbS = Tby + TbB;
Chris@42 3770 }
Chris@42 3771 TbD = FNMS(KP773010453, TbC, KP634393284 * Tbv);
Chris@42 3772 TbX = FMA(KP098017140, TbR, KP995184726 * TbS);
Chris@42 3773 TbH = FMA(KP773010453, Tbv, KP634393284 * TbC);
Chris@42 3774 TbT = FNMS(KP098017140, TbS, KP995184726 * TbR);
Chris@42 3775 }
Chris@42 3776 {
Chris@42 3777 E Tb1, TbE, Tit, Tiw;
Chris@42 3778 Tb1 = TaL - Tb0;
Chris@42 3779 TbE = Tbk + TbD;
Chris@42 3780 ci[WS(rs, 22)] = Tb1 - TbE;
Chris@42 3781 cr[WS(rs, 9)] = Tb1 + TbE;
Chris@42 3782 Tit = TbD - Tbk;
Chris@42 3783 Tiw = Tiu + Tiv;
Chris@42 3784 cr[WS(rs, 57)] = Tit - Tiw;
Chris@42 3785 ci[WS(rs, 38)] = Tit + Tiw;
Chris@42 3786 }
Chris@42 3787 {
Chris@42 3788 E Tix, Tiy, TbF, TbI;
Chris@42 3789 Tix = TbH - TbG;
Chris@42 3790 Tiy = Tiv - Tiu;
Chris@42 3791 cr[WS(rs, 41)] = Tix - Tiy;
Chris@42 3792 ci[WS(rs, 54)] = Tix + Tiy;
Chris@42 3793 TbF = TaL + Tb0;
Chris@42 3794 TbI = TbG + TbH;
Chris@42 3795 cr[WS(rs, 25)] = TbF - TbI;
Chris@42 3796 ci[WS(rs, 6)] = TbF + TbI;
Chris@42 3797 }
Chris@42 3798 {
Chris@42 3799 E TbN, TbU, Tij, Tiq;
Chris@42 3800 TbN = TbJ + TbM;
Chris@42 3801 TbU = TbQ + TbT;
Chris@42 3802 ci[WS(rs, 30)] = TbN - TbU;
Chris@42 3803 cr[WS(rs, 1)] = TbN + TbU;
Chris@42 3804 Tij = TbX - TbW;
Chris@42 3805 Tiq = Tik + Tip;
Chris@42 3806 cr[WS(rs, 33)] = Tij - Tiq;
Chris@42 3807 ci[WS(rs, 62)] = Tij + Tiq;
Chris@42 3808 }
Chris@42 3809 {
Chris@42 3810 E Tir, Tis, TbV, TbY;
Chris@42 3811 Tir = TbT - TbQ;
Chris@42 3812 Tis = Tip - Tik;
Chris@42 3813 cr[WS(rs, 49)] = Tir - Tis;
Chris@42 3814 ci[WS(rs, 46)] = Tir + Tis;
Chris@42 3815 TbV = TbJ - TbM;
Chris@42 3816 TbY = TbW + TbX;
Chris@42 3817 cr[WS(rs, 17)] = TbV - TbY;
Chris@42 3818 ci[WS(rs, 14)] = TbV + TbY;
Chris@42 3819 }
Chris@42 3820 }
Chris@42 3821 {
Chris@42 3822 E T9R, Taj, Ti9, Tif, T9Y, Tie, Tam, Ti6, Ta6, Taw, Tag, Taq, Tad, Tax, Tah;
Chris@42 3823 E Tat;
Chris@42 3824 {
Chris@42 3825 E T9N, T9Q, Ti7, Ti8;
Chris@42 3826 T9N = T6b - T6m;
Chris@42 3827 T9Q = T9O + T9P;
Chris@42 3828 T9R = T9N - T9Q;
Chris@42 3829 Taj = T9N + T9Q;
Chris@42 3830 Ti7 = T6J - T6y;
Chris@42 3831 Ti8 = ThT - ThQ;
Chris@42 3832 Ti9 = Ti7 + Ti8;
Chris@42 3833 Tif = Ti8 - Ti7;
Chris@42 3834 }
Chris@42 3835 {
Chris@42 3836 E T9U, Tak, T9X, Tal;
Chris@42 3837 {
Chris@42 3838 E T9S, T9T, T9V, T9W;
Chris@42 3839 T9S = T6Q - T71;
Chris@42 3840 T9T = T77 - T7a;
Chris@42 3841 T9U = FNMS(KP831469612, T9T, KP555570233 * T9S);
Chris@42 3842 Tak = FMA(KP831469612, T9S, KP555570233 * T9T);
Chris@42 3843 T9V = T7h - T7s;
Chris@42 3844 T9W = T7y - T7B;
Chris@42 3845 T9X = FMA(KP555570233, T9V, KP831469612 * T9W);
Chris@42 3846 Tal = FNMS(KP555570233, T9W, KP831469612 * T9V);
Chris@42 3847 }
Chris@42 3848 T9Y = T9U + T9X;
Chris@42 3849 Tie = Tak - Tal;
Chris@42 3850 Tam = Tak + Tal;
Chris@42 3851 Ti6 = T9X - T9U;
Chris@42 3852 }
Chris@42 3853 {
Chris@42 3854 E Ta2, Tao, Ta5, Tap;
Chris@42 3855 {
Chris@42 3856 E Ta0, Ta1, Ta3, Ta4;
Chris@42 3857 Ta0 = T8p - T8s;
Chris@42 3858 Ta1 = T87 - T8i;
Chris@42 3859 Ta2 = Ta0 - Ta1;
Chris@42 3860 Tao = Ta0 + Ta1;
Chris@42 3861 Ta3 = T7K - T7V;
Chris@42 3862 Ta4 = T8v - T8u;
Chris@42 3863 Ta5 = Ta3 - Ta4;
Chris@42 3864 Tap = Ta3 + Ta4;
Chris@42 3865 }
Chris@42 3866 Ta6 = FMA(KP471396736, Ta2, KP881921264 * Ta5);
Chris@42 3867 Taw = FNMS(KP956940335, Tap, KP290284677 * Tao);
Chris@42 3868 Tag = FNMS(KP471396736, Ta5, KP881921264 * Ta2);
Chris@42 3869 Taq = FMA(KP956940335, Tao, KP290284677 * Tap);
Chris@42 3870 }
Chris@42 3871 {
Chris@42 3872 E Ta9, Tar, Tac, Tas;
Chris@42 3873 {
Chris@42 3874 E Ta7, Ta8, Taa, Tab;
Chris@42 3875 Ta7 = T8D - T8O;
Chris@42 3876 Ta8 = T9n - T9o;
Chris@42 3877 Ta9 = Ta7 - Ta8;
Chris@42 3878 Tar = Ta7 + Ta8;
Chris@42 3879 Taa = T9i - T9l;
Chris@42 3880 Tab = T9b - T90;
Chris@42 3881 Tac = Taa - Tab;
Chris@42 3882 Tas = Taa + Tab;
Chris@42 3883 }
Chris@42 3884 Tad = FNMS(KP881921264, Tac, KP471396736 * Ta9);
Chris@42 3885 Tax = FMA(KP290284677, Tar, KP956940335 * Tas);
Chris@42 3886 Tah = FMA(KP881921264, Ta9, KP471396736 * Tac);
Chris@42 3887 Tat = FNMS(KP290284677, Tas, KP956940335 * Tar);
Chris@42 3888 }
Chris@42 3889 {
Chris@42 3890 E T9Z, Tae, Tid, Tig;
Chris@42 3891 T9Z = T9R - T9Y;
Chris@42 3892 Tae = Ta6 + Tad;
Chris@42 3893 ci[WS(rs, 20)] = T9Z - Tae;
Chris@42 3894 cr[WS(rs, 11)] = T9Z + Tae;
Chris@42 3895 Tid = Tad - Ta6;
Chris@42 3896 Tig = Tie + Tif;
Chris@42 3897 cr[WS(rs, 59)] = Tid - Tig;
Chris@42 3898 ci[WS(rs, 36)] = Tid + Tig;
Chris@42 3899 }
Chris@42 3900 {
Chris@42 3901 E Tih, Tii, Taf, Tai;
Chris@42 3902 Tih = Tah - Tag;
Chris@42 3903 Tii = Tif - Tie;
Chris@42 3904 cr[WS(rs, 43)] = Tih - Tii;
Chris@42 3905 ci[WS(rs, 52)] = Tih + Tii;
Chris@42 3906 Taf = T9R + T9Y;
Chris@42 3907 Tai = Tag + Tah;
Chris@42 3908 cr[WS(rs, 27)] = Taf - Tai;
Chris@42 3909 ci[WS(rs, 4)] = Taf + Tai;
Chris@42 3910 }
Chris@42 3911 {
Chris@42 3912 E Tan, Tau, Ti5, Tia;
Chris@42 3913 Tan = Taj + Tam;
Chris@42 3914 Tau = Taq + Tat;
Chris@42 3915 ci[WS(rs, 28)] = Tan - Tau;
Chris@42 3916 cr[WS(rs, 3)] = Tan + Tau;
Chris@42 3917 Ti5 = Tax - Taw;
Chris@42 3918 Tia = Ti6 + Ti9;
Chris@42 3919 cr[WS(rs, 35)] = Ti5 - Tia;
Chris@42 3920 ci[WS(rs, 60)] = Ti5 + Tia;
Chris@42 3921 }
Chris@42 3922 {
Chris@42 3923 E Tib, Tic, Tav, Tay;
Chris@42 3924 Tib = Tat - Taq;
Chris@42 3925 Tic = Ti9 - Ti6;
Chris@42 3926 cr[WS(rs, 51)] = Tib - Tic;
Chris@42 3927 ci[WS(rs, 44)] = Tib + Tic;
Chris@42 3928 Tav = Taj - Tam;
Chris@42 3929 Tay = Taw + Tax;
Chris@42 3930 cr[WS(rs, 19)] = Tav - Tay;
Chris@42 3931 ci[WS(rs, 12)] = Tav + Tay;
Chris@42 3932 }
Chris@42 3933 }
Chris@42 3934 }
Chris@42 3935 }
Chris@42 3936 }
Chris@42 3937
Chris@42 3938 static const tw_instr twinstr[] = {
Chris@42 3939 {TW_FULL, 1, 64},
Chris@42 3940 {TW_NEXT, 1, 0}
Chris@42 3941 };
Chris@42 3942
Chris@42 3943 static const hc2hc_desc desc = { 64, "hf_64", twinstr, &GENUS, {808, 270, 230, 0} };
Chris@42 3944
Chris@42 3945 void X(codelet_hf_64) (planner *p) {
Chris@42 3946 X(khc2hc_register) (p, hf_64, &desc);
Chris@42 3947 }
Chris@42 3948 #endif /* HAVE_FMA */