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