annotate src/fftw-3.3.8/dft/scalar/codelets/t2_64.c @ 83:ae30d91d2ffe

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