annotate src/fftw-3.3.5/rdft/scalar/r2cb/hb_64.c @ 83:ae30d91d2ffe

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