annotate src/fftw-3.3.3/rdft/scalar/r2cb/hb_64.c @ 23:619f715526df sv_v2.1

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