annotate src/fftw-3.3.5/dft/scalar/codelets/t1_64.c @ 83:ae30d91d2ffe

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