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