annotate src/fftw-3.3.8/dft/scalar/codelets/n1_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:12 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_notw.native -fma -compact -variables 4 -pipeline-latency 4 -n 64 -name n1_64 -include dft/scalar/n.h */
Chris@82 29
Chris@82 30 /*
Chris@82 31 * This function contains 912 FP additions, 392 FP multiplications,
Chris@82 32 * (or, 520 additions, 0 multiplications, 392 fused multiply/add),
Chris@82 33 * 172 stack variables, 15 constants, and 256 memory accesses
Chris@82 34 */
Chris@82 35 #include "dft/scalar/n.h"
Chris@82 36
Chris@82 37 static void n1_64(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
Chris@82 38 {
Chris@82 39 DK(KP956940335, +0.956940335732208864935797886980269969482849206);
Chris@82 40 DK(KP881921264, +0.881921264348355029712756863660388349508442621);
Chris@82 41 DK(KP534511135, +0.534511135950791641089685961295362908582039528);
Chris@82 42 DK(KP303346683, +0.303346683607342391675883946941299872384187453);
Chris@82 43 DK(KP995184726, +0.995184726672196886244836953109479921575474869);
Chris@82 44 DK(KP773010453, +0.773010453362736960810906609758469800971041293);
Chris@82 45 DK(KP820678790, +0.820678790828660330972281985331011598767386482);
Chris@82 46 DK(KP098491403, +0.098491403357164253077197521291327432293052451);
Chris@82 47 DK(KP980785280, +0.980785280403230449126182236134239036973933731);
Chris@82 48 DK(KP831469612, +0.831469612302545237078788377617905756738560812);
Chris@82 49 DK(KP668178637, +0.668178637919298919997757686523080761552472251);
Chris@82 50 DK(KP198912367, +0.198912367379658006911597622644676228597850501);
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 i;
Chris@82 56 for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, ro = ro + ovs, io = io + ovs, MAKE_VOLATILE_STRIDE(256, is), MAKE_VOLATILE_STRIDE(256, os)) {
Chris@82 57 E T37, T7B, T8F, T5Z, Tf, Td9, TbB, TcB, T62, T7C, T2i, TdH, Tah, Tcb, T3e;
Chris@82 58 E T8G, Tu, TdI, Tak, TbC, Tan, TbD, T2x, Tda, T3m, T65, T7G, T8I, T7J, T8J;
Chris@82 59 E T3t, T64, TK, Tdd, Tas, Tce, Tav, Tcf, T2N, Tdc, T3G, T6G, T7O, T9k, T7R;
Chris@82 60 E T9l, T3N, T6H, T1L, TdA, Tbs, Tct, Tdx, Teo, T5j, T6Y, T5Q, T6V, T8y, T9z;
Chris@82 61 E Tbb, Tcw, T8n, T9C, TZ, Tdf, Taz, Tch, TaC, Tci, T32, Tdg, T3Z, T6J, T7V;
Chris@82 62 E T9n, T7Y, T9o, T46, T6K, T1g, Tdp, Tb1, Tcm, Tdm, Tej, T4q, T6R, T4X, T6O;
Chris@82 63 E T8f, T9s, TaK, Tcp, T84, T9v, T1v, Tdn, Tb4, Tcq, Tds, Tek, T4N, T6P, T50;
Chris@82 64 E T6S, T8i, T9w, TaV, Tcn, T8b, T9t, T20, Tdy, Tbv, Tcx, TdD, Tep, T5G, T6W;
Chris@82 65 E T5T, T6Z, T8B, T9D, Tbm, Tcu, T8u, T9A;
Chris@82 66 {
Chris@82 67 E T3, T35, T26, T5Y, T6, T5X, T29, T36, Ta, T39, T2d, T38, Td, T3b, T2g;
Chris@82 68 E T3c;
Chris@82 69 {
Chris@82 70 E T1, T2, T24, T25;
Chris@82 71 T1 = ri[0];
Chris@82 72 T2 = ri[WS(is, 32)];
Chris@82 73 T3 = T1 + T2;
Chris@82 74 T35 = T1 - T2;
Chris@82 75 T24 = ii[0];
Chris@82 76 T25 = ii[WS(is, 32)];
Chris@82 77 T26 = T24 + T25;
Chris@82 78 T5Y = T24 - T25;
Chris@82 79 }
Chris@82 80 {
Chris@82 81 E T4, T5, T27, T28;
Chris@82 82 T4 = ri[WS(is, 16)];
Chris@82 83 T5 = ri[WS(is, 48)];
Chris@82 84 T6 = T4 + T5;
Chris@82 85 T5X = T4 - T5;
Chris@82 86 T27 = ii[WS(is, 16)];
Chris@82 87 T28 = ii[WS(is, 48)];
Chris@82 88 T29 = T27 + T28;
Chris@82 89 T36 = T27 - T28;
Chris@82 90 }
Chris@82 91 {
Chris@82 92 E T8, T9, T2b, T2c;
Chris@82 93 T8 = ri[WS(is, 8)];
Chris@82 94 T9 = ri[WS(is, 40)];
Chris@82 95 Ta = T8 + T9;
Chris@82 96 T39 = T8 - T9;
Chris@82 97 T2b = ii[WS(is, 8)];
Chris@82 98 T2c = ii[WS(is, 40)];
Chris@82 99 T2d = T2b + T2c;
Chris@82 100 T38 = T2b - T2c;
Chris@82 101 }
Chris@82 102 {
Chris@82 103 E Tb, Tc, T2e, T2f;
Chris@82 104 Tb = ri[WS(is, 56)];
Chris@82 105 Tc = ri[WS(is, 24)];
Chris@82 106 Td = Tb + Tc;
Chris@82 107 T3b = Tb - Tc;
Chris@82 108 T2e = ii[WS(is, 56)];
Chris@82 109 T2f = ii[WS(is, 24)];
Chris@82 110 T2g = T2e + T2f;
Chris@82 111 T3c = T2e - T2f;
Chris@82 112 }
Chris@82 113 {
Chris@82 114 E T7, Te, T2a, T2h;
Chris@82 115 T37 = T35 - T36;
Chris@82 116 T7B = T35 + T36;
Chris@82 117 T8F = T5Y - T5X;
Chris@82 118 T5Z = T5X + T5Y;
Chris@82 119 T7 = T3 + T6;
Chris@82 120 Te = Ta + Td;
Chris@82 121 Tf = T7 + Te;
Chris@82 122 Td9 = T7 - Te;
Chris@82 123 {
Chris@82 124 E Tbz, TbA, T60, T61;
Chris@82 125 Tbz = Td - Ta;
Chris@82 126 TbA = T26 - T29;
Chris@82 127 TbB = Tbz + TbA;
Chris@82 128 TcB = TbA - Tbz;
Chris@82 129 T60 = T3b - T3c;
Chris@82 130 T61 = T39 + T38;
Chris@82 131 T62 = T60 - T61;
Chris@82 132 T7C = T61 + T60;
Chris@82 133 }
Chris@82 134 T2a = T26 + T29;
Chris@82 135 T2h = T2d + T2g;
Chris@82 136 T2i = T2a + T2h;
Chris@82 137 TdH = T2a - T2h;
Chris@82 138 {
Chris@82 139 E Taf, Tag, T3a, T3d;
Chris@82 140 Taf = T3 - T6;
Chris@82 141 Tag = T2d - T2g;
Chris@82 142 Tah = Taf + Tag;
Chris@82 143 Tcb = Taf - Tag;
Chris@82 144 T3a = T38 - T39;
Chris@82 145 T3d = T3b + T3c;
Chris@82 146 T3e = T3a - T3d;
Chris@82 147 T8G = T3a + T3d;
Chris@82 148 }
Chris@82 149 }
Chris@82 150 }
Chris@82 151 {
Chris@82 152 E Ti, T3j, T2l, T3h, Tl, T3g, T2o, T3k, Tp, T3q, T2s, T3o, Ts, T3n, T2v;
Chris@82 153 E T3r;
Chris@82 154 {
Chris@82 155 E Tg, Th, T2j, T2k;
Chris@82 156 Tg = ri[WS(is, 4)];
Chris@82 157 Th = ri[WS(is, 36)];
Chris@82 158 Ti = Tg + Th;
Chris@82 159 T3j = Tg - Th;
Chris@82 160 T2j = ii[WS(is, 4)];
Chris@82 161 T2k = ii[WS(is, 36)];
Chris@82 162 T2l = T2j + T2k;
Chris@82 163 T3h = T2j - T2k;
Chris@82 164 }
Chris@82 165 {
Chris@82 166 E Tj, Tk, T2m, T2n;
Chris@82 167 Tj = ri[WS(is, 20)];
Chris@82 168 Tk = ri[WS(is, 52)];
Chris@82 169 Tl = Tj + Tk;
Chris@82 170 T3g = Tj - Tk;
Chris@82 171 T2m = ii[WS(is, 20)];
Chris@82 172 T2n = ii[WS(is, 52)];
Chris@82 173 T2o = T2m + T2n;
Chris@82 174 T3k = T2m - T2n;
Chris@82 175 }
Chris@82 176 {
Chris@82 177 E Tn, To, T2q, T2r;
Chris@82 178 Tn = ri[WS(is, 60)];
Chris@82 179 To = ri[WS(is, 28)];
Chris@82 180 Tp = Tn + To;
Chris@82 181 T3q = Tn - To;
Chris@82 182 T2q = ii[WS(is, 60)];
Chris@82 183 T2r = ii[WS(is, 28)];
Chris@82 184 T2s = T2q + T2r;
Chris@82 185 T3o = T2q - T2r;
Chris@82 186 }
Chris@82 187 {
Chris@82 188 E Tq, Tr, T2t, T2u;
Chris@82 189 Tq = ri[WS(is, 12)];
Chris@82 190 Tr = ri[WS(is, 44)];
Chris@82 191 Ts = Tq + Tr;
Chris@82 192 T3n = Tq - Tr;
Chris@82 193 T2t = ii[WS(is, 12)];
Chris@82 194 T2u = ii[WS(is, 44)];
Chris@82 195 T2v = T2t + T2u;
Chris@82 196 T3r = T2t - T2u;
Chris@82 197 }
Chris@82 198 {
Chris@82 199 E Tm, Tt, Tai, Taj;
Chris@82 200 Tm = Ti + Tl;
Chris@82 201 Tt = Tp + Ts;
Chris@82 202 Tu = Tm + Tt;
Chris@82 203 TdI = Tt - Tm;
Chris@82 204 Tai = Ti - Tl;
Chris@82 205 Taj = T2l - T2o;
Chris@82 206 Tak = Tai + Taj;
Chris@82 207 TbC = Taj - Tai;
Chris@82 208 }
Chris@82 209 {
Chris@82 210 E Tal, Tam, T2p, T2w;
Chris@82 211 Tal = Tp - Ts;
Chris@82 212 Tam = T2s - T2v;
Chris@82 213 Tan = Tal - Tam;
Chris@82 214 TbD = Tal + Tam;
Chris@82 215 T2p = T2l + T2o;
Chris@82 216 T2w = T2s + T2v;
Chris@82 217 T2x = T2p + T2w;
Chris@82 218 Tda = T2p - T2w;
Chris@82 219 }
Chris@82 220 {
Chris@82 221 E T3i, T3l, T7E, T7F;
Chris@82 222 T3i = T3g + T3h;
Chris@82 223 T3l = T3j - T3k;
Chris@82 224 T3m = FMA(KP414213562, T3l, T3i);
Chris@82 225 T65 = FNMS(KP414213562, T3i, T3l);
Chris@82 226 T7E = T3j + T3k;
Chris@82 227 T7F = T3h - T3g;
Chris@82 228 T7G = FMA(KP414213562, T7F, T7E);
Chris@82 229 T8I = FNMS(KP414213562, T7E, T7F);
Chris@82 230 }
Chris@82 231 {
Chris@82 232 E T7H, T7I, T3p, T3s;
Chris@82 233 T7H = T3q + T3r;
Chris@82 234 T7I = T3o - T3n;
Chris@82 235 T7J = FNMS(KP414213562, T7I, T7H);
Chris@82 236 T8J = FMA(KP414213562, T7H, T7I);
Chris@82 237 T3p = T3n + T3o;
Chris@82 238 T3s = T3q - T3r;
Chris@82 239 T3t = FNMS(KP414213562, T3s, T3p);
Chris@82 240 T64 = FMA(KP414213562, T3p, T3s);
Chris@82 241 }
Chris@82 242 }
Chris@82 243 {
Chris@82 244 E Ty, T3H, T2B, T3x, TB, T3w, T2E, T3I, TI, T3K, T2L, T3E, TF, T3L, T2I;
Chris@82 245 E T3B;
Chris@82 246 {
Chris@82 247 E Tw, Tx, T2C, T2D;
Chris@82 248 Tw = ri[WS(is, 2)];
Chris@82 249 Tx = ri[WS(is, 34)];
Chris@82 250 Ty = Tw + Tx;
Chris@82 251 T3H = Tw - Tx;
Chris@82 252 {
Chris@82 253 E T2z, T2A, Tz, TA;
Chris@82 254 T2z = ii[WS(is, 2)];
Chris@82 255 T2A = ii[WS(is, 34)];
Chris@82 256 T2B = T2z + T2A;
Chris@82 257 T3x = T2z - T2A;
Chris@82 258 Tz = ri[WS(is, 18)];
Chris@82 259 TA = ri[WS(is, 50)];
Chris@82 260 TB = Tz + TA;
Chris@82 261 T3w = Tz - TA;
Chris@82 262 }
Chris@82 263 T2C = ii[WS(is, 18)];
Chris@82 264 T2D = ii[WS(is, 50)];
Chris@82 265 T2E = T2C + T2D;
Chris@82 266 T3I = T2C - T2D;
Chris@82 267 {
Chris@82 268 E TG, TH, T3C, T2J, T2K, T3D;
Chris@82 269 TG = ri[WS(is, 58)];
Chris@82 270 TH = ri[WS(is, 26)];
Chris@82 271 T3C = TG - TH;
Chris@82 272 T2J = ii[WS(is, 58)];
Chris@82 273 T2K = ii[WS(is, 26)];
Chris@82 274 T3D = T2J - T2K;
Chris@82 275 TI = TG + TH;
Chris@82 276 T3K = T3C + T3D;
Chris@82 277 T2L = T2J + T2K;
Chris@82 278 T3E = T3C - T3D;
Chris@82 279 }
Chris@82 280 {
Chris@82 281 E TD, TE, T3z, T2G, T2H, T3A;
Chris@82 282 TD = ri[WS(is, 10)];
Chris@82 283 TE = ri[WS(is, 42)];
Chris@82 284 T3z = TD - TE;
Chris@82 285 T2G = ii[WS(is, 10)];
Chris@82 286 T2H = ii[WS(is, 42)];
Chris@82 287 T3A = T2G - T2H;
Chris@82 288 TF = TD + TE;
Chris@82 289 T3L = T3A - T3z;
Chris@82 290 T2I = T2G + T2H;
Chris@82 291 T3B = T3z + T3A;
Chris@82 292 }
Chris@82 293 }
Chris@82 294 {
Chris@82 295 E TC, TJ, Taq, Tar;
Chris@82 296 TC = Ty + TB;
Chris@82 297 TJ = TF + TI;
Chris@82 298 TK = TC + TJ;
Chris@82 299 Tdd = TC - TJ;
Chris@82 300 Taq = TI - TF;
Chris@82 301 Tar = T2B - T2E;
Chris@82 302 Tas = Taq + Tar;
Chris@82 303 Tce = Tar - Taq;
Chris@82 304 }
Chris@82 305 {
Chris@82 306 E Tat, Tau, T2F, T2M;
Chris@82 307 Tat = Ty - TB;
Chris@82 308 Tau = T2I - T2L;
Chris@82 309 Tav = Tat + Tau;
Chris@82 310 Tcf = Tat - Tau;
Chris@82 311 T2F = T2B + T2E;
Chris@82 312 T2M = T2I + T2L;
Chris@82 313 T2N = T2F + T2M;
Chris@82 314 Tdc = T2F - T2M;
Chris@82 315 }
Chris@82 316 {
Chris@82 317 E T3y, T3F, T7M, T7N;
Chris@82 318 T3y = T3w + T3x;
Chris@82 319 T3F = T3B - T3E;
Chris@82 320 T3G = FNMS(KP707106781, T3F, T3y);
Chris@82 321 T6G = FMA(KP707106781, T3F, T3y);
Chris@82 322 T7M = T3x - T3w;
Chris@82 323 T7N = T3L + T3K;
Chris@82 324 T7O = FMA(KP707106781, T7N, T7M);
Chris@82 325 T9k = FNMS(KP707106781, T7N, T7M);
Chris@82 326 }
Chris@82 327 {
Chris@82 328 E T7P, T7Q, T3J, T3M;
Chris@82 329 T7P = T3H + T3I;
Chris@82 330 T7Q = T3B + T3E;
Chris@82 331 T7R = FMA(KP707106781, T7Q, T7P);
Chris@82 332 T9l = FNMS(KP707106781, T7Q, T7P);
Chris@82 333 T3J = T3H - T3I;
Chris@82 334 T3M = T3K - T3L;
Chris@82 335 T3N = FNMS(KP707106781, T3M, T3J);
Chris@82 336 T6H = FMA(KP707106781, T3M, T3J);
Chris@82 337 }
Chris@82 338 }
Chris@82 339 {
Chris@82 340 E T1z, T5I, T56, Tb8, T1C, T53, T5L, Tb9, T1J, Tbq, T5h, T5N, T1G, Tbp, T5c;
Chris@82 341 E T5O;
Chris@82 342 {
Chris@82 343 E T1x, T1y, T5J, T5K;
Chris@82 344 T1x = ri[WS(is, 63)];
Chris@82 345 T1y = ri[WS(is, 31)];
Chris@82 346 T1z = T1x + T1y;
Chris@82 347 T5I = T1x - T1y;
Chris@82 348 {
Chris@82 349 E T54, T55, T1A, T1B;
Chris@82 350 T54 = ii[WS(is, 63)];
Chris@82 351 T55 = ii[WS(is, 31)];
Chris@82 352 T56 = T54 - T55;
Chris@82 353 Tb8 = T54 + T55;
Chris@82 354 T1A = ri[WS(is, 15)];
Chris@82 355 T1B = ri[WS(is, 47)];
Chris@82 356 T1C = T1A + T1B;
Chris@82 357 T53 = T1A - T1B;
Chris@82 358 }
Chris@82 359 T5J = ii[WS(is, 15)];
Chris@82 360 T5K = ii[WS(is, 47)];
Chris@82 361 T5L = T5J - T5K;
Chris@82 362 Tb9 = T5J + T5K;
Chris@82 363 {
Chris@82 364 E T1H, T1I, T5d, T5e, T5f, T5g;
Chris@82 365 T1H = ri[WS(is, 55)];
Chris@82 366 T1I = ri[WS(is, 23)];
Chris@82 367 T5d = T1H - T1I;
Chris@82 368 T5e = ii[WS(is, 55)];
Chris@82 369 T5f = ii[WS(is, 23)];
Chris@82 370 T5g = T5e - T5f;
Chris@82 371 T1J = T1H + T1I;
Chris@82 372 Tbq = T5e + T5f;
Chris@82 373 T5h = T5d - T5g;
Chris@82 374 T5N = T5d + T5g;
Chris@82 375 }
Chris@82 376 {
Chris@82 377 E T1E, T1F, T58, T59, T5a, T5b;
Chris@82 378 T1E = ri[WS(is, 7)];
Chris@82 379 T1F = ri[WS(is, 39)];
Chris@82 380 T58 = T1E - T1F;
Chris@82 381 T59 = ii[WS(is, 7)];
Chris@82 382 T5a = ii[WS(is, 39)];
Chris@82 383 T5b = T59 - T5a;
Chris@82 384 T1G = T1E + T1F;
Chris@82 385 Tbp = T59 + T5a;
Chris@82 386 T5c = T58 + T5b;
Chris@82 387 T5O = T5b - T58;
Chris@82 388 }
Chris@82 389 }
Chris@82 390 {
Chris@82 391 E T1D, T1K, Tbo, Tbr;
Chris@82 392 T1D = T1z + T1C;
Chris@82 393 T1K = T1G + T1J;
Chris@82 394 T1L = T1D + T1K;
Chris@82 395 TdA = T1D - T1K;
Chris@82 396 Tbo = T1z - T1C;
Chris@82 397 Tbr = Tbp - Tbq;
Chris@82 398 Tbs = Tbo + Tbr;
Chris@82 399 Tct = Tbo - Tbr;
Chris@82 400 }
Chris@82 401 {
Chris@82 402 E Tdv, Tdw, T57, T5i;
Chris@82 403 Tdv = Tb8 + Tb9;
Chris@82 404 Tdw = Tbp + Tbq;
Chris@82 405 Tdx = Tdv - Tdw;
Chris@82 406 Teo = Tdv + Tdw;
Chris@82 407 T57 = T53 + T56;
Chris@82 408 T5i = T5c - T5h;
Chris@82 409 T5j = FNMS(KP707106781, T5i, T57);
Chris@82 410 T6Y = FMA(KP707106781, T5i, T57);
Chris@82 411 }
Chris@82 412 {
Chris@82 413 E T5M, T5P, T8w, T8x;
Chris@82 414 T5M = T5I - T5L;
Chris@82 415 T5P = T5N - T5O;
Chris@82 416 T5Q = FNMS(KP707106781, T5P, T5M);
Chris@82 417 T6V = FMA(KP707106781, T5P, T5M);
Chris@82 418 T8w = T5I + T5L;
Chris@82 419 T8x = T5c + T5h;
Chris@82 420 T8y = FMA(KP707106781, T8x, T8w);
Chris@82 421 T9z = FNMS(KP707106781, T8x, T8w);
Chris@82 422 }
Chris@82 423 {
Chris@82 424 E Tb7, Tba, T8l, T8m;
Chris@82 425 Tb7 = T1J - T1G;
Chris@82 426 Tba = Tb8 - Tb9;
Chris@82 427 Tbb = Tb7 + Tba;
Chris@82 428 Tcw = Tba - Tb7;
Chris@82 429 T8l = T56 - T53;
Chris@82 430 T8m = T5O + T5N;
Chris@82 431 T8n = FMA(KP707106781, T8m, T8l);
Chris@82 432 T9C = FNMS(KP707106781, T8m, T8l);
Chris@82 433 }
Chris@82 434 }
Chris@82 435 {
Chris@82 436 E TN, T40, T2Q, T3Q, TQ, T3P, T2T, T41, TX, T43, T30, T3X, TU, T44, T2X;
Chris@82 437 E T3U;
Chris@82 438 {
Chris@82 439 E TL, TM, T2R, T2S;
Chris@82 440 TL = ri[WS(is, 62)];
Chris@82 441 TM = ri[WS(is, 30)];
Chris@82 442 TN = TL + TM;
Chris@82 443 T40 = TL - TM;
Chris@82 444 {
Chris@82 445 E T2O, T2P, TO, TP;
Chris@82 446 T2O = ii[WS(is, 62)];
Chris@82 447 T2P = ii[WS(is, 30)];
Chris@82 448 T2Q = T2O + T2P;
Chris@82 449 T3Q = T2O - T2P;
Chris@82 450 TO = ri[WS(is, 14)];
Chris@82 451 TP = ri[WS(is, 46)];
Chris@82 452 TQ = TO + TP;
Chris@82 453 T3P = TO - TP;
Chris@82 454 }
Chris@82 455 T2R = ii[WS(is, 14)];
Chris@82 456 T2S = ii[WS(is, 46)];
Chris@82 457 T2T = T2R + T2S;
Chris@82 458 T41 = T2R - T2S;
Chris@82 459 {
Chris@82 460 E TV, TW, T3V, T2Y, T2Z, T3W;
Chris@82 461 TV = ri[WS(is, 54)];
Chris@82 462 TW = ri[WS(is, 22)];
Chris@82 463 T3V = TV - TW;
Chris@82 464 T2Y = ii[WS(is, 54)];
Chris@82 465 T2Z = ii[WS(is, 22)];
Chris@82 466 T3W = T2Y - T2Z;
Chris@82 467 TX = TV + TW;
Chris@82 468 T43 = T3V + T3W;
Chris@82 469 T30 = T2Y + T2Z;
Chris@82 470 T3X = T3V - T3W;
Chris@82 471 }
Chris@82 472 {
Chris@82 473 E TS, TT, T3S, T2V, T2W, T3T;
Chris@82 474 TS = ri[WS(is, 6)];
Chris@82 475 TT = ri[WS(is, 38)];
Chris@82 476 T3S = TS - TT;
Chris@82 477 T2V = ii[WS(is, 6)];
Chris@82 478 T2W = ii[WS(is, 38)];
Chris@82 479 T3T = T2V - T2W;
Chris@82 480 TU = TS + TT;
Chris@82 481 T44 = T3T - T3S;
Chris@82 482 T2X = T2V + T2W;
Chris@82 483 T3U = T3S + T3T;
Chris@82 484 }
Chris@82 485 }
Chris@82 486 {
Chris@82 487 E TR, TY, Tax, Tay;
Chris@82 488 TR = TN + TQ;
Chris@82 489 TY = TU + TX;
Chris@82 490 TZ = TR + TY;
Chris@82 491 Tdf = TR - TY;
Chris@82 492 Tax = TX - TU;
Chris@82 493 Tay = T2Q - T2T;
Chris@82 494 Taz = Tax + Tay;
Chris@82 495 Tch = Tay - Tax;
Chris@82 496 }
Chris@82 497 {
Chris@82 498 E TaA, TaB, T2U, T31;
Chris@82 499 TaA = TN - TQ;
Chris@82 500 TaB = T2X - T30;
Chris@82 501 TaC = TaA + TaB;
Chris@82 502 Tci = TaA - TaB;
Chris@82 503 T2U = T2Q + T2T;
Chris@82 504 T31 = T2X + T30;
Chris@82 505 T32 = T2U + T31;
Chris@82 506 Tdg = T2U - T31;
Chris@82 507 }
Chris@82 508 {
Chris@82 509 E T3R, T3Y, T7T, T7U;
Chris@82 510 T3R = T3P + T3Q;
Chris@82 511 T3Y = T3U - T3X;
Chris@82 512 T3Z = FNMS(KP707106781, T3Y, T3R);
Chris@82 513 T6J = FMA(KP707106781, T3Y, T3R);
Chris@82 514 T7T = T3Q - T3P;
Chris@82 515 T7U = T44 + T43;
Chris@82 516 T7V = FMA(KP707106781, T7U, T7T);
Chris@82 517 T9n = FNMS(KP707106781, T7U, T7T);
Chris@82 518 }
Chris@82 519 {
Chris@82 520 E T7W, T7X, T42, T45;
Chris@82 521 T7W = T40 + T41;
Chris@82 522 T7X = T3U + T3X;
Chris@82 523 T7Y = FMA(KP707106781, T7X, T7W);
Chris@82 524 T9o = FNMS(KP707106781, T7X, T7W);
Chris@82 525 T42 = T40 - T41;
Chris@82 526 T45 = T43 - T44;
Chris@82 527 T46 = FNMS(KP707106781, T45, T42);
Chris@82 528 T6K = FMA(KP707106781, T45, T42);
Chris@82 529 }
Chris@82 530 }
Chris@82 531 {
Chris@82 532 E T14, T4P, T4d, TaH, T17, T4a, T4S, TaI, T1e, TaZ, T4o, T4U, T1b, TaY, T4j;
Chris@82 533 E T4V;
Chris@82 534 {
Chris@82 535 E T12, T13, T4Q, T4R;
Chris@82 536 T12 = ri[WS(is, 1)];
Chris@82 537 T13 = ri[WS(is, 33)];
Chris@82 538 T14 = T12 + T13;
Chris@82 539 T4P = T12 - T13;
Chris@82 540 {
Chris@82 541 E T4b, T4c, T15, T16;
Chris@82 542 T4b = ii[WS(is, 1)];
Chris@82 543 T4c = ii[WS(is, 33)];
Chris@82 544 T4d = T4b - T4c;
Chris@82 545 TaH = T4b + T4c;
Chris@82 546 T15 = ri[WS(is, 17)];
Chris@82 547 T16 = ri[WS(is, 49)];
Chris@82 548 T17 = T15 + T16;
Chris@82 549 T4a = T15 - T16;
Chris@82 550 }
Chris@82 551 T4Q = ii[WS(is, 17)];
Chris@82 552 T4R = ii[WS(is, 49)];
Chris@82 553 T4S = T4Q - T4R;
Chris@82 554 TaI = T4Q + T4R;
Chris@82 555 {
Chris@82 556 E T1c, T1d, T4k, T4l, T4m, T4n;
Chris@82 557 T1c = ri[WS(is, 57)];
Chris@82 558 T1d = ri[WS(is, 25)];
Chris@82 559 T4k = T1c - T1d;
Chris@82 560 T4l = ii[WS(is, 57)];
Chris@82 561 T4m = ii[WS(is, 25)];
Chris@82 562 T4n = T4l - T4m;
Chris@82 563 T1e = T1c + T1d;
Chris@82 564 TaZ = T4l + T4m;
Chris@82 565 T4o = T4k - T4n;
Chris@82 566 T4U = T4k + T4n;
Chris@82 567 }
Chris@82 568 {
Chris@82 569 E T19, T1a, T4f, T4g, T4h, T4i;
Chris@82 570 T19 = ri[WS(is, 9)];
Chris@82 571 T1a = ri[WS(is, 41)];
Chris@82 572 T4f = T19 - T1a;
Chris@82 573 T4g = ii[WS(is, 9)];
Chris@82 574 T4h = ii[WS(is, 41)];
Chris@82 575 T4i = T4g - T4h;
Chris@82 576 T1b = T19 + T1a;
Chris@82 577 TaY = T4g + T4h;
Chris@82 578 T4j = T4f + T4i;
Chris@82 579 T4V = T4i - T4f;
Chris@82 580 }
Chris@82 581 }
Chris@82 582 {
Chris@82 583 E T18, T1f, TaX, Tb0;
Chris@82 584 T18 = T14 + T17;
Chris@82 585 T1f = T1b + T1e;
Chris@82 586 T1g = T18 + T1f;
Chris@82 587 Tdp = T18 - T1f;
Chris@82 588 TaX = T14 - T17;
Chris@82 589 Tb0 = TaY - TaZ;
Chris@82 590 Tb1 = TaX + Tb0;
Chris@82 591 Tcm = TaX - Tb0;
Chris@82 592 }
Chris@82 593 {
Chris@82 594 E Tdk, Tdl, T4e, T4p;
Chris@82 595 Tdk = TaH + TaI;
Chris@82 596 Tdl = TaY + TaZ;
Chris@82 597 Tdm = Tdk - Tdl;
Chris@82 598 Tej = Tdk + Tdl;
Chris@82 599 T4e = T4a + T4d;
Chris@82 600 T4p = T4j - T4o;
Chris@82 601 T4q = FNMS(KP707106781, T4p, T4e);
Chris@82 602 T6R = FMA(KP707106781, T4p, T4e);
Chris@82 603 }
Chris@82 604 {
Chris@82 605 E T4T, T4W, T8d, T8e;
Chris@82 606 T4T = T4P - T4S;
Chris@82 607 T4W = T4U - T4V;
Chris@82 608 T4X = FNMS(KP707106781, T4W, T4T);
Chris@82 609 T6O = FMA(KP707106781, T4W, T4T);
Chris@82 610 T8d = T4P + T4S;
Chris@82 611 T8e = T4j + T4o;
Chris@82 612 T8f = FMA(KP707106781, T8e, T8d);
Chris@82 613 T9s = FNMS(KP707106781, T8e, T8d);
Chris@82 614 }
Chris@82 615 {
Chris@82 616 E TaG, TaJ, T82, T83;
Chris@82 617 TaG = T1e - T1b;
Chris@82 618 TaJ = TaH - TaI;
Chris@82 619 TaK = TaG + TaJ;
Chris@82 620 Tcp = TaJ - TaG;
Chris@82 621 T82 = T4d - T4a;
Chris@82 622 T83 = T4V + T4U;
Chris@82 623 T84 = FMA(KP707106781, T83, T82);
Chris@82 624 T9v = FNMS(KP707106781, T83, T82);
Chris@82 625 }
Chris@82 626 }
Chris@82 627 {
Chris@82 628 E T1j, TaL, T1m, TaM, T4G, T4L, TaO, TaN, T86, T85, T1q, TaR, T1t, TaS, T4v;
Chris@82 629 E T4A, TaT, TaQ, T89, T88;
Chris@82 630 {
Chris@82 631 E T4C, T4K, T4H, T4F;
Chris@82 632 {
Chris@82 633 E T1h, T1i, T4I, T4J;
Chris@82 634 T1h = ri[WS(is, 5)];
Chris@82 635 T1i = ri[WS(is, 37)];
Chris@82 636 T1j = T1h + T1i;
Chris@82 637 T4C = T1h - T1i;
Chris@82 638 T4I = ii[WS(is, 5)];
Chris@82 639 T4J = ii[WS(is, 37)];
Chris@82 640 T4K = T4I - T4J;
Chris@82 641 TaL = T4I + T4J;
Chris@82 642 }
Chris@82 643 {
Chris@82 644 E T1k, T1l, T4D, T4E;
Chris@82 645 T1k = ri[WS(is, 21)];
Chris@82 646 T1l = ri[WS(is, 53)];
Chris@82 647 T1m = T1k + T1l;
Chris@82 648 T4H = T1k - T1l;
Chris@82 649 T4D = ii[WS(is, 21)];
Chris@82 650 T4E = ii[WS(is, 53)];
Chris@82 651 T4F = T4D - T4E;
Chris@82 652 TaM = T4D + T4E;
Chris@82 653 }
Chris@82 654 T4G = T4C - T4F;
Chris@82 655 T4L = T4H + T4K;
Chris@82 656 TaO = T1j - T1m;
Chris@82 657 TaN = TaL - TaM;
Chris@82 658 T86 = T4C + T4F;
Chris@82 659 T85 = T4K - T4H;
Chris@82 660 }
Chris@82 661 {
Chris@82 662 E T4r, T4z, T4w, T4u;
Chris@82 663 {
Chris@82 664 E T1o, T1p, T4x, T4y;
Chris@82 665 T1o = ri[WS(is, 61)];
Chris@82 666 T1p = ri[WS(is, 29)];
Chris@82 667 T1q = T1o + T1p;
Chris@82 668 T4r = T1o - T1p;
Chris@82 669 T4x = ii[WS(is, 61)];
Chris@82 670 T4y = ii[WS(is, 29)];
Chris@82 671 T4z = T4x - T4y;
Chris@82 672 TaR = T4x + T4y;
Chris@82 673 }
Chris@82 674 {
Chris@82 675 E T1r, T1s, T4s, T4t;
Chris@82 676 T1r = ri[WS(is, 13)];
Chris@82 677 T1s = ri[WS(is, 45)];
Chris@82 678 T1t = T1r + T1s;
Chris@82 679 T4w = T1r - T1s;
Chris@82 680 T4s = ii[WS(is, 13)];
Chris@82 681 T4t = ii[WS(is, 45)];
Chris@82 682 T4u = T4s - T4t;
Chris@82 683 TaS = T4s + T4t;
Chris@82 684 }
Chris@82 685 T4v = T4r - T4u;
Chris@82 686 T4A = T4w + T4z;
Chris@82 687 TaT = TaR - TaS;
Chris@82 688 TaQ = T1q - T1t;
Chris@82 689 T89 = T4r + T4u;
Chris@82 690 T88 = T4z - T4w;
Chris@82 691 }
Chris@82 692 {
Chris@82 693 E T1n, T1u, Tb2, Tb3;
Chris@82 694 T1n = T1j + T1m;
Chris@82 695 T1u = T1q + T1t;
Chris@82 696 T1v = T1n + T1u;
Chris@82 697 Tdn = T1u - T1n;
Chris@82 698 Tb2 = TaO + TaN;
Chris@82 699 Tb3 = TaQ - TaT;
Chris@82 700 Tb4 = Tb2 + Tb3;
Chris@82 701 Tcq = Tb2 - Tb3;
Chris@82 702 }
Chris@82 703 {
Chris@82 704 E Tdq, Tdr, T4B, T4M;
Chris@82 705 Tdq = TaL + TaM;
Chris@82 706 Tdr = TaR + TaS;
Chris@82 707 Tds = Tdq - Tdr;
Chris@82 708 Tek = Tdq + Tdr;
Chris@82 709 T4B = FMA(KP414213562, T4A, T4v);
Chris@82 710 T4M = FNMS(KP414213562, T4L, T4G);
Chris@82 711 T4N = T4B - T4M;
Chris@82 712 T6P = T4M + T4B;
Chris@82 713 }
Chris@82 714 {
Chris@82 715 E T4Y, T4Z, T8g, T8h;
Chris@82 716 T4Y = FMA(KP414213562, T4G, T4L);
Chris@82 717 T4Z = FNMS(KP414213562, T4v, T4A);
Chris@82 718 T50 = T4Y - T4Z;
Chris@82 719 T6S = T4Y + T4Z;
Chris@82 720 T8g = FMA(KP414213562, T85, T86);
Chris@82 721 T8h = FNMS(KP414213562, T88, T89);
Chris@82 722 T8i = T8g + T8h;
Chris@82 723 T9w = T8g - T8h;
Chris@82 724 }
Chris@82 725 {
Chris@82 726 E TaP, TaU, T87, T8a;
Chris@82 727 TaP = TaN - TaO;
Chris@82 728 TaU = TaQ + TaT;
Chris@82 729 TaV = TaP + TaU;
Chris@82 730 Tcn = TaU - TaP;
Chris@82 731 T87 = FNMS(KP414213562, T86, T85);
Chris@82 732 T8a = FMA(KP414213562, T89, T88);
Chris@82 733 T8b = T87 + T8a;
Chris@82 734 T9t = T8a - T87;
Chris@82 735 }
Chris@82 736 }
Chris@82 737 {
Chris@82 738 E T1O, Tbc, T1R, Tbd, T5z, T5E, Tbf, Tbe, T8p, T8o, T1V, Tbi, T1Y, Tbj, T5o;
Chris@82 739 E T5t, Tbk, Tbh, T8s, T8r;
Chris@82 740 {
Chris@82 741 E T5v, T5D, T5A, T5y;
Chris@82 742 {
Chris@82 743 E T1M, T1N, T5B, T5C;
Chris@82 744 T1M = ri[WS(is, 3)];
Chris@82 745 T1N = ri[WS(is, 35)];
Chris@82 746 T1O = T1M + T1N;
Chris@82 747 T5v = T1M - T1N;
Chris@82 748 T5B = ii[WS(is, 3)];
Chris@82 749 T5C = ii[WS(is, 35)];
Chris@82 750 T5D = T5B - T5C;
Chris@82 751 Tbc = T5B + T5C;
Chris@82 752 }
Chris@82 753 {
Chris@82 754 E T1P, T1Q, T5w, T5x;
Chris@82 755 T1P = ri[WS(is, 19)];
Chris@82 756 T1Q = ri[WS(is, 51)];
Chris@82 757 T1R = T1P + T1Q;
Chris@82 758 T5A = T1P - T1Q;
Chris@82 759 T5w = ii[WS(is, 19)];
Chris@82 760 T5x = ii[WS(is, 51)];
Chris@82 761 T5y = T5w - T5x;
Chris@82 762 Tbd = T5w + T5x;
Chris@82 763 }
Chris@82 764 T5z = T5v - T5y;
Chris@82 765 T5E = T5A + T5D;
Chris@82 766 Tbf = T1O - T1R;
Chris@82 767 Tbe = Tbc - Tbd;
Chris@82 768 T8p = T5v + T5y;
Chris@82 769 T8o = T5D - T5A;
Chris@82 770 }
Chris@82 771 {
Chris@82 772 E T5k, T5s, T5p, T5n;
Chris@82 773 {
Chris@82 774 E T1T, T1U, T5q, T5r;
Chris@82 775 T1T = ri[WS(is, 59)];
Chris@82 776 T1U = ri[WS(is, 27)];
Chris@82 777 T1V = T1T + T1U;
Chris@82 778 T5k = T1T - T1U;
Chris@82 779 T5q = ii[WS(is, 59)];
Chris@82 780 T5r = ii[WS(is, 27)];
Chris@82 781 T5s = T5q - T5r;
Chris@82 782 Tbi = T5q + T5r;
Chris@82 783 }
Chris@82 784 {
Chris@82 785 E T1W, T1X, T5l, T5m;
Chris@82 786 T1W = ri[WS(is, 11)];
Chris@82 787 T1X = ri[WS(is, 43)];
Chris@82 788 T1Y = T1W + T1X;
Chris@82 789 T5p = T1W - T1X;
Chris@82 790 T5l = ii[WS(is, 11)];
Chris@82 791 T5m = ii[WS(is, 43)];
Chris@82 792 T5n = T5l - T5m;
Chris@82 793 Tbj = T5l + T5m;
Chris@82 794 }
Chris@82 795 T5o = T5k - T5n;
Chris@82 796 T5t = T5p + T5s;
Chris@82 797 Tbk = Tbi - Tbj;
Chris@82 798 Tbh = T1V - T1Y;
Chris@82 799 T8s = T5k + T5n;
Chris@82 800 T8r = T5s - T5p;
Chris@82 801 }
Chris@82 802 {
Chris@82 803 E T1S, T1Z, Tbt, Tbu;
Chris@82 804 T1S = T1O + T1R;
Chris@82 805 T1Z = T1V + T1Y;
Chris@82 806 T20 = T1S + T1Z;
Chris@82 807 Tdy = T1Z - T1S;
Chris@82 808 Tbt = Tbf + Tbe;
Chris@82 809 Tbu = Tbh - Tbk;
Chris@82 810 Tbv = Tbt + Tbu;
Chris@82 811 Tcx = Tbt - Tbu;
Chris@82 812 }
Chris@82 813 {
Chris@82 814 E TdB, TdC, T5u, T5F;
Chris@82 815 TdB = Tbc + Tbd;
Chris@82 816 TdC = Tbi + Tbj;
Chris@82 817 TdD = TdB - TdC;
Chris@82 818 Tep = TdB + TdC;
Chris@82 819 T5u = FMA(KP414213562, T5t, T5o);
Chris@82 820 T5F = FNMS(KP414213562, T5E, T5z);
Chris@82 821 T5G = T5u - T5F;
Chris@82 822 T6W = T5F + T5u;
Chris@82 823 }
Chris@82 824 {
Chris@82 825 E T5R, T5S, T8z, T8A;
Chris@82 826 T5R = FMA(KP414213562, T5z, T5E);
Chris@82 827 T5S = FNMS(KP414213562, T5o, T5t);
Chris@82 828 T5T = T5R - T5S;
Chris@82 829 T6Z = T5R + T5S;
Chris@82 830 T8z = FMA(KP414213562, T8o, T8p);
Chris@82 831 T8A = FNMS(KP414213562, T8r, T8s);
Chris@82 832 T8B = T8z + T8A;
Chris@82 833 T9D = T8z - T8A;
Chris@82 834 }
Chris@82 835 {
Chris@82 836 E Tbg, Tbl, T8q, T8t;
Chris@82 837 Tbg = Tbe - Tbf;
Chris@82 838 Tbl = Tbh + Tbk;
Chris@82 839 Tbm = Tbg + Tbl;
Chris@82 840 Tcu = Tbl - Tbg;
Chris@82 841 T8q = FNMS(KP414213562, T8p, T8o);
Chris@82 842 T8t = FMA(KP414213562, T8s, T8r);
Chris@82 843 T8u = T8q + T8t;
Chris@82 844 T9A = T8t - T8q;
Chris@82 845 }
Chris@82 846 }
Chris@82 847 {
Chris@82 848 E T11, TeD, TeG, TeI, T22, T23, T34, TeH;
Chris@82 849 {
Chris@82 850 E Tv, T10, TeE, TeF;
Chris@82 851 Tv = Tf + Tu;
Chris@82 852 T10 = TK + TZ;
Chris@82 853 T11 = Tv + T10;
Chris@82 854 TeD = Tv - T10;
Chris@82 855 TeE = Tej + Tek;
Chris@82 856 TeF = Teo + Tep;
Chris@82 857 TeG = TeE - TeF;
Chris@82 858 TeI = TeE + TeF;
Chris@82 859 }
Chris@82 860 {
Chris@82 861 E T1w, T21, T2y, T33;
Chris@82 862 T1w = T1g + T1v;
Chris@82 863 T21 = T1L + T20;
Chris@82 864 T22 = T1w + T21;
Chris@82 865 T23 = T21 - T1w;
Chris@82 866 T2y = T2i + T2x;
Chris@82 867 T33 = T2N + T32;
Chris@82 868 T34 = T2y - T33;
Chris@82 869 TeH = T2y + T33;
Chris@82 870 }
Chris@82 871 ro[WS(os, 32)] = T11 - T22;
Chris@82 872 io[WS(os, 32)] = TeH - TeI;
Chris@82 873 ro[0] = T11 + T22;
Chris@82 874 io[0] = TeH + TeI;
Chris@82 875 io[WS(os, 16)] = T23 + T34;
Chris@82 876 ro[WS(os, 16)] = TeD + TeG;
Chris@82 877 io[WS(os, 48)] = T34 - T23;
Chris@82 878 ro[WS(os, 48)] = TeD - TeG;
Chris@82 879 }
Chris@82 880 {
Chris@82 881 E Teh, Tex, Tev, TeB, Tem, Tey, Ter, Tez;
Chris@82 882 {
Chris@82 883 E Tef, Teg, Tet, Teu;
Chris@82 884 Tef = Tf - Tu;
Chris@82 885 Teg = T2N - T32;
Chris@82 886 Teh = Tef + Teg;
Chris@82 887 Tex = Tef - Teg;
Chris@82 888 Tet = T2i - T2x;
Chris@82 889 Teu = TZ - TK;
Chris@82 890 Tev = Tet - Teu;
Chris@82 891 TeB = Teu + Tet;
Chris@82 892 }
Chris@82 893 {
Chris@82 894 E Tei, Tel, Ten, Teq;
Chris@82 895 Tei = T1g - T1v;
Chris@82 896 Tel = Tej - Tek;
Chris@82 897 Tem = Tei + Tel;
Chris@82 898 Tey = Tel - Tei;
Chris@82 899 Ten = T1L - T20;
Chris@82 900 Teq = Teo - Tep;
Chris@82 901 Ter = Ten - Teq;
Chris@82 902 Tez = Ten + Teq;
Chris@82 903 }
Chris@82 904 {
Chris@82 905 E Tes, TeC, Tew, TeA;
Chris@82 906 Tes = Tem + Ter;
Chris@82 907 ro[WS(os, 40)] = FNMS(KP707106781, Tes, Teh);
Chris@82 908 ro[WS(os, 8)] = FMA(KP707106781, Tes, Teh);
Chris@82 909 TeC = Tey + Tez;
Chris@82 910 io[WS(os, 40)] = FNMS(KP707106781, TeC, TeB);
Chris@82 911 io[WS(os, 8)] = FMA(KP707106781, TeC, TeB);
Chris@82 912 Tew = Ter - Tem;
Chris@82 913 io[WS(os, 56)] = FNMS(KP707106781, Tew, Tev);
Chris@82 914 io[WS(os, 24)] = FMA(KP707106781, Tew, Tev);
Chris@82 915 TeA = Tey - Tez;
Chris@82 916 ro[WS(os, 56)] = FNMS(KP707106781, TeA, Tex);
Chris@82 917 ro[WS(os, 24)] = FMA(KP707106781, TeA, Tex);
Chris@82 918 }
Chris@82 919 }
Chris@82 920 {
Chris@82 921 E Tdb, TdV, Te5, TdJ, Tdi, Te6, Te3, Teb, TdM, TdW, Tdu, TdR, Te0, Tea, TdF;
Chris@82 922 E TdQ;
Chris@82 923 {
Chris@82 924 E Tde, Tdh, Tdo, Tdt;
Chris@82 925 Tdb = Td9 - Tda;
Chris@82 926 TdV = Td9 + Tda;
Chris@82 927 Te5 = TdI + TdH;
Chris@82 928 TdJ = TdH - TdI;
Chris@82 929 Tde = Tdc - Tdd;
Chris@82 930 Tdh = Tdf + Tdg;
Chris@82 931 Tdi = Tde - Tdh;
Chris@82 932 Te6 = Tde + Tdh;
Chris@82 933 {
Chris@82 934 E Te1, Te2, TdK, TdL;
Chris@82 935 Te1 = TdA + TdD;
Chris@82 936 Te2 = Tdy + Tdx;
Chris@82 937 Te3 = FNMS(KP414213562, Te2, Te1);
Chris@82 938 Teb = FMA(KP414213562, Te1, Te2);
Chris@82 939 TdK = Tdf - Tdg;
Chris@82 940 TdL = Tdd + Tdc;
Chris@82 941 TdM = TdK - TdL;
Chris@82 942 TdW = TdL + TdK;
Chris@82 943 }
Chris@82 944 Tdo = Tdm - Tdn;
Chris@82 945 Tdt = Tdp - Tds;
Chris@82 946 Tdu = FMA(KP414213562, Tdt, Tdo);
Chris@82 947 TdR = FNMS(KP414213562, Tdo, Tdt);
Chris@82 948 {
Chris@82 949 E TdY, TdZ, Tdz, TdE;
Chris@82 950 TdY = Tdp + Tds;
Chris@82 951 TdZ = Tdn + Tdm;
Chris@82 952 Te0 = FMA(KP414213562, TdZ, TdY);
Chris@82 953 Tea = FNMS(KP414213562, TdY, TdZ);
Chris@82 954 Tdz = Tdx - Tdy;
Chris@82 955 TdE = TdA - TdD;
Chris@82 956 TdF = FNMS(KP414213562, TdE, Tdz);
Chris@82 957 TdQ = FMA(KP414213562, Tdz, TdE);
Chris@82 958 }
Chris@82 959 }
Chris@82 960 {
Chris@82 961 E Tdj, TdG, TdP, TdS;
Chris@82 962 Tdj = FMA(KP707106781, Tdi, Tdb);
Chris@82 963 TdG = Tdu - TdF;
Chris@82 964 ro[WS(os, 44)] = FNMS(KP923879532, TdG, Tdj);
Chris@82 965 ro[WS(os, 12)] = FMA(KP923879532, TdG, Tdj);
Chris@82 966 TdP = FMA(KP707106781, TdM, TdJ);
Chris@82 967 TdS = TdQ - TdR;
Chris@82 968 io[WS(os, 44)] = FNMS(KP923879532, TdS, TdP);
Chris@82 969 io[WS(os, 12)] = FMA(KP923879532, TdS, TdP);
Chris@82 970 }
Chris@82 971 {
Chris@82 972 E TdN, TdO, TdT, TdU;
Chris@82 973 TdN = FNMS(KP707106781, TdM, TdJ);
Chris@82 974 TdO = Tdu + TdF;
Chris@82 975 io[WS(os, 28)] = FNMS(KP923879532, TdO, TdN);
Chris@82 976 io[WS(os, 60)] = FMA(KP923879532, TdO, TdN);
Chris@82 977 TdT = FNMS(KP707106781, Tdi, Tdb);
Chris@82 978 TdU = TdR + TdQ;
Chris@82 979 ro[WS(os, 28)] = FNMS(KP923879532, TdU, TdT);
Chris@82 980 ro[WS(os, 60)] = FMA(KP923879532, TdU, TdT);
Chris@82 981 }
Chris@82 982 {
Chris@82 983 E TdX, Te4, Ted, Tee;
Chris@82 984 TdX = FMA(KP707106781, TdW, TdV);
Chris@82 985 Te4 = Te0 + Te3;
Chris@82 986 ro[WS(os, 36)] = FNMS(KP923879532, Te4, TdX);
Chris@82 987 ro[WS(os, 4)] = FMA(KP923879532, Te4, TdX);
Chris@82 988 Ted = FMA(KP707106781, Te6, Te5);
Chris@82 989 Tee = Tea + Teb;
Chris@82 990 io[WS(os, 36)] = FNMS(KP923879532, Tee, Ted);
Chris@82 991 io[WS(os, 4)] = FMA(KP923879532, Tee, Ted);
Chris@82 992 }
Chris@82 993 {
Chris@82 994 E Te7, Te8, Te9, Tec;
Chris@82 995 Te7 = FNMS(KP707106781, Te6, Te5);
Chris@82 996 Te8 = Te3 - Te0;
Chris@82 997 io[WS(os, 52)] = FNMS(KP923879532, Te8, Te7);
Chris@82 998 io[WS(os, 20)] = FMA(KP923879532, Te8, Te7);
Chris@82 999 Te9 = FNMS(KP707106781, TdW, TdV);
Chris@82 1000 Tec = Tea - Teb;
Chris@82 1001 ro[WS(os, 52)] = FNMS(KP923879532, Tec, Te9);
Chris@82 1002 ro[WS(os, 20)] = FMA(KP923879532, Tec, Te9);
Chris@82 1003 }
Chris@82 1004 }
Chris@82 1005 {
Chris@82 1006 E Tcd, TcP, TcD, TcZ, Tck, Td0, TcX, Td4, Tcs, TcK, TcG, TcQ, TcU, Td5, Tcz;
Chris@82 1007 E TcL, Tcc, TcC;
Chris@82 1008 Tcc = TbC - TbD;
Chris@82 1009 Tcd = FMA(KP707106781, Tcc, Tcb);
Chris@82 1010 TcP = FNMS(KP707106781, Tcc, Tcb);
Chris@82 1011 TcC = Tan - Tak;
Chris@82 1012 TcD = FMA(KP707106781, TcC, TcB);
Chris@82 1013 TcZ = FNMS(KP707106781, TcC, TcB);
Chris@82 1014 {
Chris@82 1015 E Tcg, Tcj, TcV, TcW;
Chris@82 1016 Tcg = FMA(KP414213562, Tcf, Tce);
Chris@82 1017 Tcj = FNMS(KP414213562, Tci, Tch);
Chris@82 1018 Tck = Tcg - Tcj;
Chris@82 1019 Td0 = Tcg + Tcj;
Chris@82 1020 TcV = FMA(KP707106781, Tcx, Tcw);
Chris@82 1021 TcW = FMA(KP707106781, Tcu, Tct);
Chris@82 1022 TcX = FNMS(KP198912367, TcW, TcV);
Chris@82 1023 Td4 = FMA(KP198912367, TcV, TcW);
Chris@82 1024 }
Chris@82 1025 {
Chris@82 1026 E Tco, Tcr, TcE, TcF;
Chris@82 1027 Tco = FNMS(KP707106781, Tcn, Tcm);
Chris@82 1028 Tcr = FNMS(KP707106781, Tcq, Tcp);
Chris@82 1029 Tcs = FMA(KP668178637, Tcr, Tco);
Chris@82 1030 TcK = FNMS(KP668178637, Tco, Tcr);
Chris@82 1031 TcE = FMA(KP414213562, Tch, Tci);
Chris@82 1032 TcF = FNMS(KP414213562, Tce, Tcf);
Chris@82 1033 TcG = TcE - TcF;
Chris@82 1034 TcQ = TcF + TcE;
Chris@82 1035 }
Chris@82 1036 {
Chris@82 1037 E TcS, TcT, Tcv, Tcy;
Chris@82 1038 TcS = FMA(KP707106781, Tcq, Tcp);
Chris@82 1039 TcT = FMA(KP707106781, Tcn, Tcm);
Chris@82 1040 TcU = FMA(KP198912367, TcT, TcS);
Chris@82 1041 Td5 = FNMS(KP198912367, TcS, TcT);
Chris@82 1042 Tcv = FNMS(KP707106781, Tcu, Tct);
Chris@82 1043 Tcy = FNMS(KP707106781, Tcx, Tcw);
Chris@82 1044 Tcz = FNMS(KP668178637, Tcy, Tcv);
Chris@82 1045 TcL = FMA(KP668178637, Tcv, Tcy);
Chris@82 1046 }
Chris@82 1047 {
Chris@82 1048 E Tcl, TcA, TcN, TcO;
Chris@82 1049 Tcl = FMA(KP923879532, Tck, Tcd);
Chris@82 1050 TcA = Tcs + Tcz;
Chris@82 1051 ro[WS(os, 38)] = FNMS(KP831469612, TcA, Tcl);
Chris@82 1052 ro[WS(os, 6)] = FMA(KP831469612, TcA, Tcl);
Chris@82 1053 TcN = FMA(KP923879532, TcG, TcD);
Chris@82 1054 TcO = TcK + TcL;
Chris@82 1055 io[WS(os, 38)] = FNMS(KP831469612, TcO, TcN);
Chris@82 1056 io[WS(os, 6)] = FMA(KP831469612, TcO, TcN);
Chris@82 1057 }
Chris@82 1058 {
Chris@82 1059 E TcH, TcI, TcJ, TcM;
Chris@82 1060 TcH = FNMS(KP923879532, TcG, TcD);
Chris@82 1061 TcI = Tcz - Tcs;
Chris@82 1062 io[WS(os, 54)] = FNMS(KP831469612, TcI, TcH);
Chris@82 1063 io[WS(os, 22)] = FMA(KP831469612, TcI, TcH);
Chris@82 1064 TcJ = FNMS(KP923879532, Tck, Tcd);
Chris@82 1065 TcM = TcK - TcL;
Chris@82 1066 ro[WS(os, 54)] = FNMS(KP831469612, TcM, TcJ);
Chris@82 1067 ro[WS(os, 22)] = FMA(KP831469612, TcM, TcJ);
Chris@82 1068 }
Chris@82 1069 {
Chris@82 1070 E TcR, TcY, Td3, Td6;
Chris@82 1071 TcR = FNMS(KP923879532, TcQ, TcP);
Chris@82 1072 TcY = TcU - TcX;
Chris@82 1073 ro[WS(os, 46)] = FNMS(KP980785280, TcY, TcR);
Chris@82 1074 ro[WS(os, 14)] = FMA(KP980785280, TcY, TcR);
Chris@82 1075 Td3 = FNMS(KP923879532, Td0, TcZ);
Chris@82 1076 Td6 = Td4 - Td5;
Chris@82 1077 io[WS(os, 46)] = FNMS(KP980785280, Td6, Td3);
Chris@82 1078 io[WS(os, 14)] = FMA(KP980785280, Td6, Td3);
Chris@82 1079 }
Chris@82 1080 {
Chris@82 1081 E Td1, Td2, Td7, Td8;
Chris@82 1082 Td1 = FMA(KP923879532, Td0, TcZ);
Chris@82 1083 Td2 = TcU + TcX;
Chris@82 1084 io[WS(os, 30)] = FNMS(KP980785280, Td2, Td1);
Chris@82 1085 io[WS(os, 62)] = FMA(KP980785280, Td2, Td1);
Chris@82 1086 Td7 = FMA(KP923879532, TcQ, TcP);
Chris@82 1087 Td8 = Td5 + Td4;
Chris@82 1088 ro[WS(os, 30)] = FNMS(KP980785280, Td8, Td7);
Chris@82 1089 ro[WS(os, 62)] = FMA(KP980785280, Td8, Td7);
Chris@82 1090 }
Chris@82 1091 }
Chris@82 1092 {
Chris@82 1093 E Tap, TbR, TbF, Tc1, TaE, Tc2, TbZ, Tc7, Tb6, TbN, TbI, TbS, TbW, Tc6, Tbx;
Chris@82 1094 E TbM, Tao, TbE;
Chris@82 1095 Tao = Tak + Tan;
Chris@82 1096 Tap = FNMS(KP707106781, Tao, Tah);
Chris@82 1097 TbR = FMA(KP707106781, Tao, Tah);
Chris@82 1098 TbE = TbC + TbD;
Chris@82 1099 TbF = FNMS(KP707106781, TbE, TbB);
Chris@82 1100 Tc1 = FMA(KP707106781, TbE, TbB);
Chris@82 1101 {
Chris@82 1102 E Taw, TaD, TbX, TbY;
Chris@82 1103 Taw = FNMS(KP414213562, Tav, Tas);
Chris@82 1104 TaD = FMA(KP414213562, TaC, Taz);
Chris@82 1105 TaE = Taw - TaD;
Chris@82 1106 Tc2 = Taw + TaD;
Chris@82 1107 TbX = FMA(KP707106781, Tbv, Tbs);
Chris@82 1108 TbY = FMA(KP707106781, Tbm, Tbb);
Chris@82 1109 TbZ = FNMS(KP198912367, TbY, TbX);
Chris@82 1110 Tc7 = FMA(KP198912367, TbX, TbY);
Chris@82 1111 }
Chris@82 1112 {
Chris@82 1113 E TaW, Tb5, TbG, TbH;
Chris@82 1114 TaW = FNMS(KP707106781, TaV, TaK);
Chris@82 1115 Tb5 = FNMS(KP707106781, Tb4, Tb1);
Chris@82 1116 Tb6 = FMA(KP668178637, Tb5, TaW);
Chris@82 1117 TbN = FNMS(KP668178637, TaW, Tb5);
Chris@82 1118 TbG = FNMS(KP414213562, Taz, TaC);
Chris@82 1119 TbH = FMA(KP414213562, Tas, Tav);
Chris@82 1120 TbI = TbG - TbH;
Chris@82 1121 TbS = TbH + TbG;
Chris@82 1122 }
Chris@82 1123 {
Chris@82 1124 E TbU, TbV, Tbn, Tbw;
Chris@82 1125 TbU = FMA(KP707106781, Tb4, Tb1);
Chris@82 1126 TbV = FMA(KP707106781, TaV, TaK);
Chris@82 1127 TbW = FMA(KP198912367, TbV, TbU);
Chris@82 1128 Tc6 = FNMS(KP198912367, TbU, TbV);
Chris@82 1129 Tbn = FNMS(KP707106781, Tbm, Tbb);
Chris@82 1130 Tbw = FNMS(KP707106781, Tbv, Tbs);
Chris@82 1131 Tbx = FNMS(KP668178637, Tbw, Tbn);
Chris@82 1132 TbM = FMA(KP668178637, Tbn, Tbw);
Chris@82 1133 }
Chris@82 1134 {
Chris@82 1135 E TaF, Tby, TbL, TbO;
Chris@82 1136 TaF = FMA(KP923879532, TaE, Tap);
Chris@82 1137 Tby = Tb6 - Tbx;
Chris@82 1138 ro[WS(os, 42)] = FNMS(KP831469612, Tby, TaF);
Chris@82 1139 ro[WS(os, 10)] = FMA(KP831469612, Tby, TaF);
Chris@82 1140 TbL = FMA(KP923879532, TbI, TbF);
Chris@82 1141 TbO = TbM - TbN;
Chris@82 1142 io[WS(os, 42)] = FNMS(KP831469612, TbO, TbL);
Chris@82 1143 io[WS(os, 10)] = FMA(KP831469612, TbO, TbL);
Chris@82 1144 }
Chris@82 1145 {
Chris@82 1146 E TbJ, TbK, TbP, TbQ;
Chris@82 1147 TbJ = FNMS(KP923879532, TbI, TbF);
Chris@82 1148 TbK = Tb6 + Tbx;
Chris@82 1149 io[WS(os, 26)] = FNMS(KP831469612, TbK, TbJ);
Chris@82 1150 io[WS(os, 58)] = FMA(KP831469612, TbK, TbJ);
Chris@82 1151 TbP = FNMS(KP923879532, TaE, Tap);
Chris@82 1152 TbQ = TbN + TbM;
Chris@82 1153 ro[WS(os, 26)] = FNMS(KP831469612, TbQ, TbP);
Chris@82 1154 ro[WS(os, 58)] = FMA(KP831469612, TbQ, TbP);
Chris@82 1155 }
Chris@82 1156 {
Chris@82 1157 E TbT, Tc0, Tc9, Tca;
Chris@82 1158 TbT = FMA(KP923879532, TbS, TbR);
Chris@82 1159 Tc0 = TbW + TbZ;
Chris@82 1160 ro[WS(os, 34)] = FNMS(KP980785280, Tc0, TbT);
Chris@82 1161 ro[WS(os, 2)] = FMA(KP980785280, Tc0, TbT);
Chris@82 1162 Tc9 = FMA(KP923879532, Tc2, Tc1);
Chris@82 1163 Tca = Tc6 + Tc7;
Chris@82 1164 io[WS(os, 34)] = FNMS(KP980785280, Tca, Tc9);
Chris@82 1165 io[WS(os, 2)] = FMA(KP980785280, Tca, Tc9);
Chris@82 1166 }
Chris@82 1167 {
Chris@82 1168 E Tc3, Tc4, Tc5, Tc8;
Chris@82 1169 Tc3 = FNMS(KP923879532, Tc2, Tc1);
Chris@82 1170 Tc4 = TbZ - TbW;
Chris@82 1171 io[WS(os, 50)] = FNMS(KP980785280, Tc4, Tc3);
Chris@82 1172 io[WS(os, 18)] = FMA(KP980785280, Tc4, Tc3);
Chris@82 1173 Tc5 = FNMS(KP923879532, TbS, TbR);
Chris@82 1174 Tc8 = Tc6 - Tc7;
Chris@82 1175 ro[WS(os, 50)] = FNMS(KP980785280, Tc8, Tc5);
Chris@82 1176 ro[WS(os, 18)] = FMA(KP980785280, Tc8, Tc5);
Chris@82 1177 }
Chris@82 1178 }
Chris@82 1179 {
Chris@82 1180 E T6F, T7h, T7m, T7x, T7p, T7w, T6M, T7s, T6U, T7c, T75, T7r, T78, T7i, T71;
Chris@82 1181 E T7d;
Chris@82 1182 {
Chris@82 1183 E T6D, T6E, T7k, T7l;
Chris@82 1184 T6D = FNMS(KP707106781, T3e, T37);
Chris@82 1185 T6E = T65 + T64;
Chris@82 1186 T6F = FNMS(KP923879532, T6E, T6D);
Chris@82 1187 T7h = FMA(KP923879532, T6E, T6D);
Chris@82 1188 T7k = FMA(KP923879532, T6S, T6R);
Chris@82 1189 T7l = FMA(KP923879532, T6P, T6O);
Chris@82 1190 T7m = FMA(KP098491403, T7l, T7k);
Chris@82 1191 T7x = FNMS(KP098491403, T7k, T7l);
Chris@82 1192 }
Chris@82 1193 {
Chris@82 1194 E T7n, T7o, T6I, T6L;
Chris@82 1195 T7n = FMA(KP923879532, T6Z, T6Y);
Chris@82 1196 T7o = FMA(KP923879532, T6W, T6V);
Chris@82 1197 T7p = FNMS(KP098491403, T7o, T7n);
Chris@82 1198 T7w = FMA(KP098491403, T7n, T7o);
Chris@82 1199 T6I = FMA(KP198912367, T6H, T6G);
Chris@82 1200 T6L = FNMS(KP198912367, T6K, T6J);
Chris@82 1201 T6M = T6I - T6L;
Chris@82 1202 T7s = T6I + T6L;
Chris@82 1203 }
Chris@82 1204 {
Chris@82 1205 E T6Q, T6T, T73, T74;
Chris@82 1206 T6Q = FNMS(KP923879532, T6P, T6O);
Chris@82 1207 T6T = FNMS(KP923879532, T6S, T6R);
Chris@82 1208 T6U = FMA(KP820678790, T6T, T6Q);
Chris@82 1209 T7c = FNMS(KP820678790, T6Q, T6T);
Chris@82 1210 T73 = FNMS(KP707106781, T62, T5Z);
Chris@82 1211 T74 = T3m + T3t;
Chris@82 1212 T75 = FNMS(KP923879532, T74, T73);
Chris@82 1213 T7r = FMA(KP923879532, T74, T73);
Chris@82 1214 }
Chris@82 1215 {
Chris@82 1216 E T76, T77, T6X, T70;
Chris@82 1217 T76 = FMA(KP198912367, T6J, T6K);
Chris@82 1218 T77 = FNMS(KP198912367, T6G, T6H);
Chris@82 1219 T78 = T76 - T77;
Chris@82 1220 T7i = T77 + T76;
Chris@82 1221 T6X = FNMS(KP923879532, T6W, T6V);
Chris@82 1222 T70 = FNMS(KP923879532, T6Z, T6Y);
Chris@82 1223 T71 = FNMS(KP820678790, T70, T6X);
Chris@82 1224 T7d = FMA(KP820678790, T6X, T70);
Chris@82 1225 }
Chris@82 1226 {
Chris@82 1227 E T6N, T72, T7f, T7g;
Chris@82 1228 T6N = FMA(KP980785280, T6M, T6F);
Chris@82 1229 T72 = T6U + T71;
Chris@82 1230 ro[WS(os, 39)] = FNMS(KP773010453, T72, T6N);
Chris@82 1231 ro[WS(os, 7)] = FMA(KP773010453, T72, T6N);
Chris@82 1232 T7f = FMA(KP980785280, T78, T75);
Chris@82 1233 T7g = T7c + T7d;
Chris@82 1234 io[WS(os, 39)] = FNMS(KP773010453, T7g, T7f);
Chris@82 1235 io[WS(os, 7)] = FMA(KP773010453, T7g, T7f);
Chris@82 1236 }
Chris@82 1237 {
Chris@82 1238 E T79, T7a, T7b, T7e;
Chris@82 1239 T79 = FNMS(KP980785280, T78, T75);
Chris@82 1240 T7a = T71 - T6U;
Chris@82 1241 io[WS(os, 55)] = FNMS(KP773010453, T7a, T79);
Chris@82 1242 io[WS(os, 23)] = FMA(KP773010453, T7a, T79);
Chris@82 1243 T7b = FNMS(KP980785280, T6M, T6F);
Chris@82 1244 T7e = T7c - T7d;
Chris@82 1245 ro[WS(os, 55)] = FNMS(KP773010453, T7e, T7b);
Chris@82 1246 ro[WS(os, 23)] = FMA(KP773010453, T7e, T7b);
Chris@82 1247 }
Chris@82 1248 {
Chris@82 1249 E T7j, T7q, T7v, T7y;
Chris@82 1250 T7j = FNMS(KP980785280, T7i, T7h);
Chris@82 1251 T7q = T7m - T7p;
Chris@82 1252 ro[WS(os, 47)] = FNMS(KP995184726, T7q, T7j);
Chris@82 1253 ro[WS(os, 15)] = FMA(KP995184726, T7q, T7j);
Chris@82 1254 T7v = FNMS(KP980785280, T7s, T7r);
Chris@82 1255 T7y = T7w - T7x;
Chris@82 1256 io[WS(os, 47)] = FNMS(KP995184726, T7y, T7v);
Chris@82 1257 io[WS(os, 15)] = FMA(KP995184726, T7y, T7v);
Chris@82 1258 }
Chris@82 1259 {
Chris@82 1260 E T7t, T7u, T7z, T7A;
Chris@82 1261 T7t = FMA(KP980785280, T7s, T7r);
Chris@82 1262 T7u = T7m + T7p;
Chris@82 1263 io[WS(os, 31)] = FNMS(KP995184726, T7u, T7t);
Chris@82 1264 io[WS(os, 63)] = FMA(KP995184726, T7u, T7t);
Chris@82 1265 T7z = FMA(KP980785280, T7i, T7h);
Chris@82 1266 T7A = T7x + T7w;
Chris@82 1267 ro[WS(os, 31)] = FNMS(KP995184726, T7A, T7z);
Chris@82 1268 ro[WS(os, 63)] = FMA(KP995184726, T7A, T7z);
Chris@82 1269 }
Chris@82 1270 }
Chris@82 1271 {
Chris@82 1272 E T9j, T9V, Ta0, Tab, Ta3, Taa, T9q, Ta6, T9y, T9Q, T9J, Ta5, T9M, T9W, T9F;
Chris@82 1273 E T9R;
Chris@82 1274 {
Chris@82 1275 E T9h, T9i, T9Y, T9Z;
Chris@82 1276 T9h = FNMS(KP707106781, T7C, T7B);
Chris@82 1277 T9i = T8I - T8J;
Chris@82 1278 T9j = FMA(KP923879532, T9i, T9h);
Chris@82 1279 T9V = FNMS(KP923879532, T9i, T9h);
Chris@82 1280 T9Y = FMA(KP923879532, T9w, T9v);
Chris@82 1281 T9Z = FMA(KP923879532, T9t, T9s);
Chris@82 1282 Ta0 = FMA(KP303346683, T9Z, T9Y);
Chris@82 1283 Tab = FNMS(KP303346683, T9Y, T9Z);
Chris@82 1284 }
Chris@82 1285 {
Chris@82 1286 E Ta1, Ta2, T9m, T9p;
Chris@82 1287 Ta1 = FMA(KP923879532, T9D, T9C);
Chris@82 1288 Ta2 = FMA(KP923879532, T9A, T9z);
Chris@82 1289 Ta3 = FNMS(KP303346683, Ta2, Ta1);
Chris@82 1290 Taa = FMA(KP303346683, Ta1, Ta2);
Chris@82 1291 T9m = FMA(KP668178637, T9l, T9k);
Chris@82 1292 T9p = FNMS(KP668178637, T9o, T9n);
Chris@82 1293 T9q = T9m - T9p;
Chris@82 1294 Ta6 = T9m + T9p;
Chris@82 1295 }
Chris@82 1296 {
Chris@82 1297 E T9u, T9x, T9H, T9I;
Chris@82 1298 T9u = FNMS(KP923879532, T9t, T9s);
Chris@82 1299 T9x = FNMS(KP923879532, T9w, T9v);
Chris@82 1300 T9y = FMA(KP534511135, T9x, T9u);
Chris@82 1301 T9Q = FNMS(KP534511135, T9u, T9x);
Chris@82 1302 T9H = FNMS(KP707106781, T8G, T8F);
Chris@82 1303 T9I = T7J - T7G;
Chris@82 1304 T9J = FMA(KP923879532, T9I, T9H);
Chris@82 1305 Ta5 = FNMS(KP923879532, T9I, T9H);
Chris@82 1306 }
Chris@82 1307 {
Chris@82 1308 E T9K, T9L, T9B, T9E;
Chris@82 1309 T9K = FMA(KP668178637, T9n, T9o);
Chris@82 1310 T9L = FNMS(KP668178637, T9k, T9l);
Chris@82 1311 T9M = T9K - T9L;
Chris@82 1312 T9W = T9L + T9K;
Chris@82 1313 T9B = FNMS(KP923879532, T9A, T9z);
Chris@82 1314 T9E = FNMS(KP923879532, T9D, T9C);
Chris@82 1315 T9F = FNMS(KP534511135, T9E, T9B);
Chris@82 1316 T9R = FMA(KP534511135, T9B, T9E);
Chris@82 1317 }
Chris@82 1318 {
Chris@82 1319 E T9r, T9G, T9T, T9U;
Chris@82 1320 T9r = FMA(KP831469612, T9q, T9j);
Chris@82 1321 T9G = T9y + T9F;
Chris@82 1322 ro[WS(os, 37)] = FNMS(KP881921264, T9G, T9r);
Chris@82 1323 ro[WS(os, 5)] = FMA(KP881921264, T9G, T9r);
Chris@82 1324 T9T = FMA(KP831469612, T9M, T9J);
Chris@82 1325 T9U = T9Q + T9R;
Chris@82 1326 io[WS(os, 37)] = FNMS(KP881921264, T9U, T9T);
Chris@82 1327 io[WS(os, 5)] = FMA(KP881921264, T9U, T9T);
Chris@82 1328 }
Chris@82 1329 {
Chris@82 1330 E T9N, T9O, T9P, T9S;
Chris@82 1331 T9N = FNMS(KP831469612, T9M, T9J);
Chris@82 1332 T9O = T9F - T9y;
Chris@82 1333 io[WS(os, 53)] = FNMS(KP881921264, T9O, T9N);
Chris@82 1334 io[WS(os, 21)] = FMA(KP881921264, T9O, T9N);
Chris@82 1335 T9P = FNMS(KP831469612, T9q, T9j);
Chris@82 1336 T9S = T9Q - T9R;
Chris@82 1337 ro[WS(os, 53)] = FNMS(KP881921264, T9S, T9P);
Chris@82 1338 ro[WS(os, 21)] = FMA(KP881921264, T9S, T9P);
Chris@82 1339 }
Chris@82 1340 {
Chris@82 1341 E T9X, Ta4, Ta9, Tac;
Chris@82 1342 T9X = FNMS(KP831469612, T9W, T9V);
Chris@82 1343 Ta4 = Ta0 - Ta3;
Chris@82 1344 ro[WS(os, 45)] = FNMS(KP956940335, Ta4, T9X);
Chris@82 1345 ro[WS(os, 13)] = FMA(KP956940335, Ta4, T9X);
Chris@82 1346 Ta9 = FNMS(KP831469612, Ta6, Ta5);
Chris@82 1347 Tac = Taa - Tab;
Chris@82 1348 io[WS(os, 45)] = FNMS(KP956940335, Tac, Ta9);
Chris@82 1349 io[WS(os, 13)] = FMA(KP956940335, Tac, Ta9);
Chris@82 1350 }
Chris@82 1351 {
Chris@82 1352 E Ta7, Ta8, Tad, Tae;
Chris@82 1353 Ta7 = FMA(KP831469612, Ta6, Ta5);
Chris@82 1354 Ta8 = Ta0 + Ta3;
Chris@82 1355 io[WS(os, 29)] = FNMS(KP956940335, Ta8, Ta7);
Chris@82 1356 io[WS(os, 61)] = FMA(KP956940335, Ta8, Ta7);
Chris@82 1357 Tad = FMA(KP831469612, T9W, T9V);
Chris@82 1358 Tae = Tab + Taa;
Chris@82 1359 ro[WS(os, 29)] = FNMS(KP956940335, Tae, Tad);
Chris@82 1360 ro[WS(os, 61)] = FMA(KP956940335, Tae, Tad);
Chris@82 1361 }
Chris@82 1362 }
Chris@82 1363 {
Chris@82 1364 E T3v, T6j, T6o, T6y, T6r, T6z, T48, T6u, T52, T6f, T67, T6t, T6a, T6k, T5V;
Chris@82 1365 E T6e;
Chris@82 1366 {
Chris@82 1367 E T3f, T3u, T6m, T6n;
Chris@82 1368 T3f = FMA(KP707106781, T3e, T37);
Chris@82 1369 T3u = T3m - T3t;
Chris@82 1370 T3v = FNMS(KP923879532, T3u, T3f);
Chris@82 1371 T6j = FMA(KP923879532, T3u, T3f);
Chris@82 1372 T6m = FMA(KP923879532, T50, T4X);
Chris@82 1373 T6n = FMA(KP923879532, T4N, T4q);
Chris@82 1374 T6o = FMA(KP303346683, T6n, T6m);
Chris@82 1375 T6y = FNMS(KP303346683, T6m, T6n);
Chris@82 1376 }
Chris@82 1377 {
Chris@82 1378 E T6p, T6q, T3O, T47;
Chris@82 1379 T6p = FMA(KP923879532, T5T, T5Q);
Chris@82 1380 T6q = FMA(KP923879532, T5G, T5j);
Chris@82 1381 T6r = FNMS(KP303346683, T6q, T6p);
Chris@82 1382 T6z = FMA(KP303346683, T6p, T6q);
Chris@82 1383 T3O = FNMS(KP668178637, T3N, T3G);
Chris@82 1384 T47 = FMA(KP668178637, T46, T3Z);
Chris@82 1385 T48 = T3O - T47;
Chris@82 1386 T6u = T3O + T47;
Chris@82 1387 }
Chris@82 1388 {
Chris@82 1389 E T4O, T51, T63, T66;
Chris@82 1390 T4O = FNMS(KP923879532, T4N, T4q);
Chris@82 1391 T51 = FNMS(KP923879532, T50, T4X);
Chris@82 1392 T52 = FMA(KP534511135, T51, T4O);
Chris@82 1393 T6f = FNMS(KP534511135, T4O, T51);
Chris@82 1394 T63 = FMA(KP707106781, T62, T5Z);
Chris@82 1395 T66 = T64 - T65;
Chris@82 1396 T67 = FNMS(KP923879532, T66, T63);
Chris@82 1397 T6t = FMA(KP923879532, T66, T63);
Chris@82 1398 }
Chris@82 1399 {
Chris@82 1400 E T68, T69, T5H, T5U;
Chris@82 1401 T68 = FNMS(KP668178637, T3Z, T46);
Chris@82 1402 T69 = FMA(KP668178637, T3G, T3N);
Chris@82 1403 T6a = T68 - T69;
Chris@82 1404 T6k = T69 + T68;
Chris@82 1405 T5H = FNMS(KP923879532, T5G, T5j);
Chris@82 1406 T5U = FNMS(KP923879532, T5T, T5Q);
Chris@82 1407 T5V = FNMS(KP534511135, T5U, T5H);
Chris@82 1408 T6e = FMA(KP534511135, T5H, T5U);
Chris@82 1409 }
Chris@82 1410 {
Chris@82 1411 E T49, T5W, T6d, T6g;
Chris@82 1412 T49 = FMA(KP831469612, T48, T3v);
Chris@82 1413 T5W = T52 - T5V;
Chris@82 1414 ro[WS(os, 43)] = FNMS(KP881921264, T5W, T49);
Chris@82 1415 ro[WS(os, 11)] = FMA(KP881921264, T5W, T49);
Chris@82 1416 T6d = FMA(KP831469612, T6a, T67);
Chris@82 1417 T6g = T6e - T6f;
Chris@82 1418 io[WS(os, 43)] = FNMS(KP881921264, T6g, T6d);
Chris@82 1419 io[WS(os, 11)] = FMA(KP881921264, T6g, T6d);
Chris@82 1420 }
Chris@82 1421 {
Chris@82 1422 E T6b, T6c, T6h, T6i;
Chris@82 1423 T6b = FNMS(KP831469612, T6a, T67);
Chris@82 1424 T6c = T52 + T5V;
Chris@82 1425 io[WS(os, 27)] = FNMS(KP881921264, T6c, T6b);
Chris@82 1426 io[WS(os, 59)] = FMA(KP881921264, T6c, T6b);
Chris@82 1427 T6h = FNMS(KP831469612, T48, T3v);
Chris@82 1428 T6i = T6f + T6e;
Chris@82 1429 ro[WS(os, 27)] = FNMS(KP881921264, T6i, T6h);
Chris@82 1430 ro[WS(os, 59)] = FMA(KP881921264, T6i, T6h);
Chris@82 1431 }
Chris@82 1432 {
Chris@82 1433 E T6l, T6s, T6B, T6C;
Chris@82 1434 T6l = FMA(KP831469612, T6k, T6j);
Chris@82 1435 T6s = T6o + T6r;
Chris@82 1436 ro[WS(os, 35)] = FNMS(KP956940335, T6s, T6l);
Chris@82 1437 ro[WS(os, 3)] = FMA(KP956940335, T6s, T6l);
Chris@82 1438 T6B = FMA(KP831469612, T6u, T6t);
Chris@82 1439 T6C = T6y + T6z;
Chris@82 1440 io[WS(os, 35)] = FNMS(KP956940335, T6C, T6B);
Chris@82 1441 io[WS(os, 3)] = FMA(KP956940335, T6C, T6B);
Chris@82 1442 }
Chris@82 1443 {
Chris@82 1444 E T6v, T6w, T6x, T6A;
Chris@82 1445 T6v = FNMS(KP831469612, T6u, T6t);
Chris@82 1446 T6w = T6r - T6o;
Chris@82 1447 io[WS(os, 51)] = FNMS(KP956940335, T6w, T6v);
Chris@82 1448 io[WS(os, 19)] = FMA(KP956940335, T6w, T6v);
Chris@82 1449 T6x = FNMS(KP831469612, T6k, T6j);
Chris@82 1450 T6A = T6y - T6z;
Chris@82 1451 ro[WS(os, 51)] = FNMS(KP956940335, T6A, T6x);
Chris@82 1452 ro[WS(os, 19)] = FMA(KP956940335, T6A, T6x);
Chris@82 1453 }
Chris@82 1454 }
Chris@82 1455 {
Chris@82 1456 E T7L, T8X, T92, T9c, T95, T9d, T80, T98, T8k, T8T, T8L, T97, T8O, T8Y, T8D;
Chris@82 1457 E T8S;
Chris@82 1458 {
Chris@82 1459 E T7D, T7K, T90, T91;
Chris@82 1460 T7D = FMA(KP707106781, T7C, T7B);
Chris@82 1461 T7K = T7G + T7J;
Chris@82 1462 T7L = FNMS(KP923879532, T7K, T7D);
Chris@82 1463 T8X = FMA(KP923879532, T7K, T7D);
Chris@82 1464 T90 = FMA(KP923879532, T8i, T8f);
Chris@82 1465 T91 = FMA(KP923879532, T8b, T84);
Chris@82 1466 T92 = FMA(KP098491403, T91, T90);
Chris@82 1467 T9c = FNMS(KP098491403, T90, T91);
Chris@82 1468 }
Chris@82 1469 {
Chris@82 1470 E T93, T94, T7S, T7Z;
Chris@82 1471 T93 = FMA(KP923879532, T8B, T8y);
Chris@82 1472 T94 = FMA(KP923879532, T8u, T8n);
Chris@82 1473 T95 = FNMS(KP098491403, T94, T93);
Chris@82 1474 T9d = FMA(KP098491403, T93, T94);
Chris@82 1475 T7S = FNMS(KP198912367, T7R, T7O);
Chris@82 1476 T7Z = FMA(KP198912367, T7Y, T7V);
Chris@82 1477 T80 = T7S - T7Z;
Chris@82 1478 T98 = T7S + T7Z;
Chris@82 1479 }
Chris@82 1480 {
Chris@82 1481 E T8c, T8j, T8H, T8K;
Chris@82 1482 T8c = FNMS(KP923879532, T8b, T84);
Chris@82 1483 T8j = FNMS(KP923879532, T8i, T8f);
Chris@82 1484 T8k = FMA(KP820678790, T8j, T8c);
Chris@82 1485 T8T = FNMS(KP820678790, T8c, T8j);
Chris@82 1486 T8H = FMA(KP707106781, T8G, T8F);
Chris@82 1487 T8K = T8I + T8J;
Chris@82 1488 T8L = FNMS(KP923879532, T8K, T8H);
Chris@82 1489 T97 = FMA(KP923879532, T8K, T8H);
Chris@82 1490 }
Chris@82 1491 {
Chris@82 1492 E T8M, T8N, T8v, T8C;
Chris@82 1493 T8M = FNMS(KP198912367, T7V, T7Y);
Chris@82 1494 T8N = FMA(KP198912367, T7O, T7R);
Chris@82 1495 T8O = T8M - T8N;
Chris@82 1496 T8Y = T8N + T8M;
Chris@82 1497 T8v = FNMS(KP923879532, T8u, T8n);
Chris@82 1498 T8C = FNMS(KP923879532, T8B, T8y);
Chris@82 1499 T8D = FNMS(KP820678790, T8C, T8v);
Chris@82 1500 T8S = FMA(KP820678790, T8v, T8C);
Chris@82 1501 }
Chris@82 1502 {
Chris@82 1503 E T81, T8E, T8R, T8U;
Chris@82 1504 T81 = FMA(KP980785280, T80, T7L);
Chris@82 1505 T8E = T8k - T8D;
Chris@82 1506 ro[WS(os, 41)] = FNMS(KP773010453, T8E, T81);
Chris@82 1507 ro[WS(os, 9)] = FMA(KP773010453, T8E, T81);
Chris@82 1508 T8R = FMA(KP980785280, T8O, T8L);
Chris@82 1509 T8U = T8S - T8T;
Chris@82 1510 io[WS(os, 41)] = FNMS(KP773010453, T8U, T8R);
Chris@82 1511 io[WS(os, 9)] = FMA(KP773010453, T8U, T8R);
Chris@82 1512 }
Chris@82 1513 {
Chris@82 1514 E T8P, T8Q, T8V, T8W;
Chris@82 1515 T8P = FNMS(KP980785280, T8O, T8L);
Chris@82 1516 T8Q = T8k + T8D;
Chris@82 1517 io[WS(os, 25)] = FNMS(KP773010453, T8Q, T8P);
Chris@82 1518 io[WS(os, 57)] = FMA(KP773010453, T8Q, T8P);
Chris@82 1519 T8V = FNMS(KP980785280, T80, T7L);
Chris@82 1520 T8W = T8T + T8S;
Chris@82 1521 ro[WS(os, 25)] = FNMS(KP773010453, T8W, T8V);
Chris@82 1522 ro[WS(os, 57)] = FMA(KP773010453, T8W, T8V);
Chris@82 1523 }
Chris@82 1524 {
Chris@82 1525 E T8Z, T96, T9f, T9g;
Chris@82 1526 T8Z = FMA(KP980785280, T8Y, T8X);
Chris@82 1527 T96 = T92 + T95;
Chris@82 1528 ro[WS(os, 33)] = FNMS(KP995184726, T96, T8Z);
Chris@82 1529 ro[WS(os, 1)] = FMA(KP995184726, T96, T8Z);
Chris@82 1530 T9f = FMA(KP980785280, T98, T97);
Chris@82 1531 T9g = T9c + T9d;
Chris@82 1532 io[WS(os, 33)] = FNMS(KP995184726, T9g, T9f);
Chris@82 1533 io[WS(os, 1)] = FMA(KP995184726, T9g, T9f);
Chris@82 1534 }
Chris@82 1535 {
Chris@82 1536 E T99, T9a, T9b, T9e;
Chris@82 1537 T99 = FNMS(KP980785280, T98, T97);
Chris@82 1538 T9a = T95 - T92;
Chris@82 1539 io[WS(os, 49)] = FNMS(KP995184726, T9a, T99);
Chris@82 1540 io[WS(os, 17)] = FMA(KP995184726, T9a, T99);
Chris@82 1541 T9b = FNMS(KP980785280, T8Y, T8X);
Chris@82 1542 T9e = T9c - T9d;
Chris@82 1543 ro[WS(os, 49)] = FNMS(KP995184726, T9e, T9b);
Chris@82 1544 ro[WS(os, 17)] = FMA(KP995184726, T9e, T9b);
Chris@82 1545 }
Chris@82 1546 }
Chris@82 1547 }
Chris@82 1548 }
Chris@82 1549 }
Chris@82 1550
Chris@82 1551 static const kdft_desc desc = { 64, "n1_64", {520, 0, 392, 0}, &GENUS, 0, 0, 0, 0 };
Chris@82 1552
Chris@82 1553 void X(codelet_n1_64) (planner *p) {
Chris@82 1554 X(kdft_register) (p, n1_64, &desc);
Chris@82 1555 }
Chris@82 1556
Chris@82 1557 #else
Chris@82 1558
Chris@82 1559 /* Generated by: ../../../genfft/gen_notw.native -compact -variables 4 -pipeline-latency 4 -n 64 -name n1_64 -include dft/scalar/n.h */
Chris@82 1560
Chris@82 1561 /*
Chris@82 1562 * This function contains 912 FP additions, 248 FP multiplications,
Chris@82 1563 * (or, 808 additions, 144 multiplications, 104 fused multiply/add),
Chris@82 1564 * 172 stack variables, 15 constants, and 256 memory accesses
Chris@82 1565 */
Chris@82 1566 #include "dft/scalar/n.h"
Chris@82 1567
Chris@82 1568 static void n1_64(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
Chris@82 1569 {
Chris@82 1570 DK(KP773010453, +0.773010453362736960810906609758469800971041293);
Chris@82 1571 DK(KP634393284, +0.634393284163645498215171613225493370675687095);
Chris@82 1572 DK(KP098017140, +0.098017140329560601994195563888641845861136673);
Chris@82 1573 DK(KP995184726, +0.995184726672196886244836953109479921575474869);
Chris@82 1574 DK(KP881921264, +0.881921264348355029712756863660388349508442621);
Chris@82 1575 DK(KP471396736, +0.471396736825997648556387625905254377657460319);
Chris@82 1576 DK(KP290284677, +0.290284677254462367636192375817395274691476278);
Chris@82 1577 DK(KP956940335, +0.956940335732208864935797886980269969482849206);
Chris@82 1578 DK(KP831469612, +0.831469612302545237078788377617905756738560812);
Chris@82 1579 DK(KP555570233, +0.555570233019602224742830813948532874374937191);
Chris@82 1580 DK(KP195090322, +0.195090322016128267848284868477022240927691618);
Chris@82 1581 DK(KP980785280, +0.980785280403230449126182236134239036973933731);
Chris@82 1582 DK(KP923879532, +0.923879532511286756128183189396788286822416626);
Chris@82 1583 DK(KP382683432, +0.382683432365089771728459984030398866761344562);
Chris@82 1584 DK(KP707106781, +0.707106781186547524400844362104849039284835938);
Chris@82 1585 {
Chris@82 1586 INT i;
Chris@82 1587 for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, ro = ro + ovs, io = io + ovs, MAKE_VOLATILE_STRIDE(256, is), MAKE_VOLATILE_STRIDE(256, os)) {
Chris@82 1588 E T37, T7B, T8F, T5Z, Tf, Td9, TbB, TcB, T62, T7C, T2i, TdH, Tah, Tcb, T3e;
Chris@82 1589 E T8G, Tu, TdI, Tak, TbD, Tan, TbC, T2x, Tda, T3m, T65, T7G, T8J, T7J, T8I;
Chris@82 1590 E T3t, T64, TK, Tdd, Tas, Tce, Tav, Tcf, T2N, Tdc, T3G, T6G, T7O, T9k, T7R;
Chris@82 1591 E T9l, T3N, T6H, T1L, Tdv, Tbs, Tcw, TdC, Teo, T5j, T6V, T5Q, T6Y, T8y, T9C;
Chris@82 1592 E Tbb, Tct, T8n, T9z, TZ, Tdf, Taz, Tch, TaC, Tci, T32, Tdg, T3Z, T6J, T7V;
Chris@82 1593 E T9n, T7Y, T9o, T46, T6K, T1g, Tdp, Tb1, Tcm, Tdm, Tej, T4q, T6R, T4X, T6O;
Chris@82 1594 E T8f, T9s, TaK, Tcp, T84, T9v, T1v, Tdn, Tb4, Tcq, Tds, Tek, T4N, T6P, T50;
Chris@82 1595 E T6S, T8i, T9w, TaV, Tcn, T8b, T9t, T20, TdD, Tbv, Tcu, Tdy, Tep, T5G, T6Z;
Chris@82 1596 E T5T, T6W, T8B, T9A, Tbm, Tcx, T8u, T9D;
Chris@82 1597 {
Chris@82 1598 E T3, T35, T26, T5Y, T6, T5X, T29, T36, Ta, T39, T2d, T38, Td, T3b, T2g;
Chris@82 1599 E T3c;
Chris@82 1600 {
Chris@82 1601 E T1, T2, T24, T25;
Chris@82 1602 T1 = ri[0];
Chris@82 1603 T2 = ri[WS(is, 32)];
Chris@82 1604 T3 = T1 + T2;
Chris@82 1605 T35 = T1 - T2;
Chris@82 1606 T24 = ii[0];
Chris@82 1607 T25 = ii[WS(is, 32)];
Chris@82 1608 T26 = T24 + T25;
Chris@82 1609 T5Y = T24 - T25;
Chris@82 1610 }
Chris@82 1611 {
Chris@82 1612 E T4, T5, T27, T28;
Chris@82 1613 T4 = ri[WS(is, 16)];
Chris@82 1614 T5 = ri[WS(is, 48)];
Chris@82 1615 T6 = T4 + T5;
Chris@82 1616 T5X = T4 - T5;
Chris@82 1617 T27 = ii[WS(is, 16)];
Chris@82 1618 T28 = ii[WS(is, 48)];
Chris@82 1619 T29 = T27 + T28;
Chris@82 1620 T36 = T27 - T28;
Chris@82 1621 }
Chris@82 1622 {
Chris@82 1623 E T8, T9, T2b, T2c;
Chris@82 1624 T8 = ri[WS(is, 8)];
Chris@82 1625 T9 = ri[WS(is, 40)];
Chris@82 1626 Ta = T8 + T9;
Chris@82 1627 T39 = T8 - T9;
Chris@82 1628 T2b = ii[WS(is, 8)];
Chris@82 1629 T2c = ii[WS(is, 40)];
Chris@82 1630 T2d = T2b + T2c;
Chris@82 1631 T38 = T2b - T2c;
Chris@82 1632 }
Chris@82 1633 {
Chris@82 1634 E Tb, Tc, T2e, T2f;
Chris@82 1635 Tb = ri[WS(is, 56)];
Chris@82 1636 Tc = ri[WS(is, 24)];
Chris@82 1637 Td = Tb + Tc;
Chris@82 1638 T3b = Tb - Tc;
Chris@82 1639 T2e = ii[WS(is, 56)];
Chris@82 1640 T2f = ii[WS(is, 24)];
Chris@82 1641 T2g = T2e + T2f;
Chris@82 1642 T3c = T2e - T2f;
Chris@82 1643 }
Chris@82 1644 {
Chris@82 1645 E T7, Te, T2a, T2h;
Chris@82 1646 T37 = T35 - T36;
Chris@82 1647 T7B = T35 + T36;
Chris@82 1648 T8F = T5Y - T5X;
Chris@82 1649 T5Z = T5X + T5Y;
Chris@82 1650 T7 = T3 + T6;
Chris@82 1651 Te = Ta + Td;
Chris@82 1652 Tf = T7 + Te;
Chris@82 1653 Td9 = T7 - Te;
Chris@82 1654 {
Chris@82 1655 E Tbz, TbA, T60, T61;
Chris@82 1656 Tbz = T26 - T29;
Chris@82 1657 TbA = Td - Ta;
Chris@82 1658 TbB = Tbz - TbA;
Chris@82 1659 TcB = TbA + Tbz;
Chris@82 1660 T60 = T3b - T3c;
Chris@82 1661 T61 = T39 + T38;
Chris@82 1662 T62 = KP707106781 * (T60 - T61);
Chris@82 1663 T7C = KP707106781 * (T61 + T60);
Chris@82 1664 }
Chris@82 1665 T2a = T26 + T29;
Chris@82 1666 T2h = T2d + T2g;
Chris@82 1667 T2i = T2a + T2h;
Chris@82 1668 TdH = T2a - T2h;
Chris@82 1669 {
Chris@82 1670 E Taf, Tag, T3a, T3d;
Chris@82 1671 Taf = T3 - T6;
Chris@82 1672 Tag = T2d - T2g;
Chris@82 1673 Tah = Taf - Tag;
Chris@82 1674 Tcb = Taf + Tag;
Chris@82 1675 T3a = T38 - T39;
Chris@82 1676 T3d = T3b + T3c;
Chris@82 1677 T3e = KP707106781 * (T3a - T3d);
Chris@82 1678 T8G = KP707106781 * (T3a + T3d);
Chris@82 1679 }
Chris@82 1680 }
Chris@82 1681 }
Chris@82 1682 {
Chris@82 1683 E Ti, T3j, T2l, T3h, Tl, T3g, T2o, T3k, Tp, T3q, T2s, T3o, Ts, T3n, T2v;
Chris@82 1684 E T3r;
Chris@82 1685 {
Chris@82 1686 E Tg, Th, T2j, T2k;
Chris@82 1687 Tg = ri[WS(is, 4)];
Chris@82 1688 Th = ri[WS(is, 36)];
Chris@82 1689 Ti = Tg + Th;
Chris@82 1690 T3j = Tg - Th;
Chris@82 1691 T2j = ii[WS(is, 4)];
Chris@82 1692 T2k = ii[WS(is, 36)];
Chris@82 1693 T2l = T2j + T2k;
Chris@82 1694 T3h = T2j - T2k;
Chris@82 1695 }
Chris@82 1696 {
Chris@82 1697 E Tj, Tk, T2m, T2n;
Chris@82 1698 Tj = ri[WS(is, 20)];
Chris@82 1699 Tk = ri[WS(is, 52)];
Chris@82 1700 Tl = Tj + Tk;
Chris@82 1701 T3g = Tj - Tk;
Chris@82 1702 T2m = ii[WS(is, 20)];
Chris@82 1703 T2n = ii[WS(is, 52)];
Chris@82 1704 T2o = T2m + T2n;
Chris@82 1705 T3k = T2m - T2n;
Chris@82 1706 }
Chris@82 1707 {
Chris@82 1708 E Tn, To, T2q, T2r;
Chris@82 1709 Tn = ri[WS(is, 60)];
Chris@82 1710 To = ri[WS(is, 28)];
Chris@82 1711 Tp = Tn + To;
Chris@82 1712 T3q = Tn - To;
Chris@82 1713 T2q = ii[WS(is, 60)];
Chris@82 1714 T2r = ii[WS(is, 28)];
Chris@82 1715 T2s = T2q + T2r;
Chris@82 1716 T3o = T2q - T2r;
Chris@82 1717 }
Chris@82 1718 {
Chris@82 1719 E Tq, Tr, T2t, T2u;
Chris@82 1720 Tq = ri[WS(is, 12)];
Chris@82 1721 Tr = ri[WS(is, 44)];
Chris@82 1722 Ts = Tq + Tr;
Chris@82 1723 T3n = Tq - Tr;
Chris@82 1724 T2t = ii[WS(is, 12)];
Chris@82 1725 T2u = ii[WS(is, 44)];
Chris@82 1726 T2v = T2t + T2u;
Chris@82 1727 T3r = T2t - T2u;
Chris@82 1728 }
Chris@82 1729 {
Chris@82 1730 E Tm, Tt, Tai, Taj;
Chris@82 1731 Tm = Ti + Tl;
Chris@82 1732 Tt = Tp + Ts;
Chris@82 1733 Tu = Tm + Tt;
Chris@82 1734 TdI = Tt - Tm;
Chris@82 1735 Tai = T2l - T2o;
Chris@82 1736 Taj = Ti - Tl;
Chris@82 1737 Tak = Tai - Taj;
Chris@82 1738 TbD = Taj + Tai;
Chris@82 1739 }
Chris@82 1740 {
Chris@82 1741 E Tal, Tam, T2p, T2w;
Chris@82 1742 Tal = Tp - Ts;
Chris@82 1743 Tam = T2s - T2v;
Chris@82 1744 Tan = Tal + Tam;
Chris@82 1745 TbC = Tal - Tam;
Chris@82 1746 T2p = T2l + T2o;
Chris@82 1747 T2w = T2s + T2v;
Chris@82 1748 T2x = T2p + T2w;
Chris@82 1749 Tda = T2p - T2w;
Chris@82 1750 }
Chris@82 1751 {
Chris@82 1752 E T3i, T3l, T7E, T7F;
Chris@82 1753 T3i = T3g + T3h;
Chris@82 1754 T3l = T3j - T3k;
Chris@82 1755 T3m = FNMS(KP923879532, T3l, KP382683432 * T3i);
Chris@82 1756 T65 = FMA(KP923879532, T3i, KP382683432 * T3l);
Chris@82 1757 T7E = T3h - T3g;
Chris@82 1758 T7F = T3j + T3k;
Chris@82 1759 T7G = FNMS(KP382683432, T7F, KP923879532 * T7E);
Chris@82 1760 T8J = FMA(KP382683432, T7E, KP923879532 * T7F);
Chris@82 1761 }
Chris@82 1762 {
Chris@82 1763 E T7H, T7I, T3p, T3s;
Chris@82 1764 T7H = T3o - T3n;
Chris@82 1765 T7I = T3q + T3r;
Chris@82 1766 T7J = FMA(KP923879532, T7H, KP382683432 * T7I);
Chris@82 1767 T8I = FNMS(KP382683432, T7H, KP923879532 * T7I);
Chris@82 1768 T3p = T3n + T3o;
Chris@82 1769 T3s = T3q - T3r;
Chris@82 1770 T3t = FMA(KP382683432, T3p, KP923879532 * T3s);
Chris@82 1771 T64 = FNMS(KP923879532, T3p, KP382683432 * T3s);
Chris@82 1772 }
Chris@82 1773 }
Chris@82 1774 {
Chris@82 1775 E Ty, T3H, T2B, T3x, TB, T3w, T2E, T3I, TI, T3L, T2L, T3B, TF, T3K, T2I;
Chris@82 1776 E T3E;
Chris@82 1777 {
Chris@82 1778 E Tw, Tx, T2C, T2D;
Chris@82 1779 Tw = ri[WS(is, 2)];
Chris@82 1780 Tx = ri[WS(is, 34)];
Chris@82 1781 Ty = Tw + Tx;
Chris@82 1782 T3H = Tw - Tx;
Chris@82 1783 {
Chris@82 1784 E T2z, T2A, Tz, TA;
Chris@82 1785 T2z = ii[WS(is, 2)];
Chris@82 1786 T2A = ii[WS(is, 34)];
Chris@82 1787 T2B = T2z + T2A;
Chris@82 1788 T3x = T2z - T2A;
Chris@82 1789 Tz = ri[WS(is, 18)];
Chris@82 1790 TA = ri[WS(is, 50)];
Chris@82 1791 TB = Tz + TA;
Chris@82 1792 T3w = Tz - TA;
Chris@82 1793 }
Chris@82 1794 T2C = ii[WS(is, 18)];
Chris@82 1795 T2D = ii[WS(is, 50)];
Chris@82 1796 T2E = T2C + T2D;
Chris@82 1797 T3I = T2C - T2D;
Chris@82 1798 {
Chris@82 1799 E TG, TH, T3z, T2J, T2K, T3A;
Chris@82 1800 TG = ri[WS(is, 58)];
Chris@82 1801 TH = ri[WS(is, 26)];
Chris@82 1802 T3z = TG - TH;
Chris@82 1803 T2J = ii[WS(is, 58)];
Chris@82 1804 T2K = ii[WS(is, 26)];
Chris@82 1805 T3A = T2J - T2K;
Chris@82 1806 TI = TG + TH;
Chris@82 1807 T3L = T3z + T3A;
Chris@82 1808 T2L = T2J + T2K;
Chris@82 1809 T3B = T3z - T3A;
Chris@82 1810 }
Chris@82 1811 {
Chris@82 1812 E TD, TE, T3C, T2G, T2H, T3D;
Chris@82 1813 TD = ri[WS(is, 10)];
Chris@82 1814 TE = ri[WS(is, 42)];
Chris@82 1815 T3C = TD - TE;
Chris@82 1816 T2G = ii[WS(is, 10)];
Chris@82 1817 T2H = ii[WS(is, 42)];
Chris@82 1818 T3D = T2G - T2H;
Chris@82 1819 TF = TD + TE;
Chris@82 1820 T3K = T3D - T3C;
Chris@82 1821 T2I = T2G + T2H;
Chris@82 1822 T3E = T3C + T3D;
Chris@82 1823 }
Chris@82 1824 }
Chris@82 1825 {
Chris@82 1826 E TC, TJ, Taq, Tar;
Chris@82 1827 TC = Ty + TB;
Chris@82 1828 TJ = TF + TI;
Chris@82 1829 TK = TC + TJ;
Chris@82 1830 Tdd = TC - TJ;
Chris@82 1831 Taq = T2B - T2E;
Chris@82 1832 Tar = TI - TF;
Chris@82 1833 Tas = Taq - Tar;
Chris@82 1834 Tce = Tar + Taq;
Chris@82 1835 }
Chris@82 1836 {
Chris@82 1837 E Tat, Tau, T2F, T2M;
Chris@82 1838 Tat = Ty - TB;
Chris@82 1839 Tau = T2I - T2L;
Chris@82 1840 Tav = Tat - Tau;
Chris@82 1841 Tcf = Tat + Tau;
Chris@82 1842 T2F = T2B + T2E;
Chris@82 1843 T2M = T2I + T2L;
Chris@82 1844 T2N = T2F + T2M;
Chris@82 1845 Tdc = T2F - T2M;
Chris@82 1846 }
Chris@82 1847 {
Chris@82 1848 E T3y, T3F, T7M, T7N;
Chris@82 1849 T3y = T3w + T3x;
Chris@82 1850 T3F = KP707106781 * (T3B - T3E);
Chris@82 1851 T3G = T3y - T3F;
Chris@82 1852 T6G = T3y + T3F;
Chris@82 1853 T7M = T3x - T3w;
Chris@82 1854 T7N = KP707106781 * (T3K + T3L);
Chris@82 1855 T7O = T7M - T7N;
Chris@82 1856 T9k = T7M + T7N;
Chris@82 1857 }
Chris@82 1858 {
Chris@82 1859 E T7P, T7Q, T3J, T3M;
Chris@82 1860 T7P = T3H + T3I;
Chris@82 1861 T7Q = KP707106781 * (T3E + T3B);
Chris@82 1862 T7R = T7P - T7Q;
Chris@82 1863 T9l = T7P + T7Q;
Chris@82 1864 T3J = T3H - T3I;
Chris@82 1865 T3M = KP707106781 * (T3K - T3L);
Chris@82 1866 T3N = T3J - T3M;
Chris@82 1867 T6H = T3J + T3M;
Chris@82 1868 }
Chris@82 1869 }
Chris@82 1870 {
Chris@82 1871 E T1z, T53, T5L, Tbo, T1C, T5I, T56, Tbp, T1J, Tb9, T5h, T5N, T1G, Tb8, T5c;
Chris@82 1872 E T5O;
Chris@82 1873 {
Chris@82 1874 E T1x, T1y, T54, T55;
Chris@82 1875 T1x = ri[WS(is, 63)];
Chris@82 1876 T1y = ri[WS(is, 31)];
Chris@82 1877 T1z = T1x + T1y;
Chris@82 1878 T53 = T1x - T1y;
Chris@82 1879 {
Chris@82 1880 E T5J, T5K, T1A, T1B;
Chris@82 1881 T5J = ii[WS(is, 63)];
Chris@82 1882 T5K = ii[WS(is, 31)];
Chris@82 1883 T5L = T5J - T5K;
Chris@82 1884 Tbo = T5J + T5K;
Chris@82 1885 T1A = ri[WS(is, 15)];
Chris@82 1886 T1B = ri[WS(is, 47)];
Chris@82 1887 T1C = T1A + T1B;
Chris@82 1888 T5I = T1A - T1B;
Chris@82 1889 }
Chris@82 1890 T54 = ii[WS(is, 15)];
Chris@82 1891 T55 = ii[WS(is, 47)];
Chris@82 1892 T56 = T54 - T55;
Chris@82 1893 Tbp = T54 + T55;
Chris@82 1894 {
Chris@82 1895 E T1H, T1I, T5d, T5e, T5f, T5g;
Chris@82 1896 T1H = ri[WS(is, 55)];
Chris@82 1897 T1I = ri[WS(is, 23)];
Chris@82 1898 T5d = T1H - T1I;
Chris@82 1899 T5e = ii[WS(is, 55)];
Chris@82 1900 T5f = ii[WS(is, 23)];
Chris@82 1901 T5g = T5e - T5f;
Chris@82 1902 T1J = T1H + T1I;
Chris@82 1903 Tb9 = T5e + T5f;
Chris@82 1904 T5h = T5d + T5g;
Chris@82 1905 T5N = T5d - T5g;
Chris@82 1906 }
Chris@82 1907 {
Chris@82 1908 E T1E, T1F, T5b, T58, T59, T5a;
Chris@82 1909 T1E = ri[WS(is, 7)];
Chris@82 1910 T1F = ri[WS(is, 39)];
Chris@82 1911 T5b = T1E - T1F;
Chris@82 1912 T58 = ii[WS(is, 7)];
Chris@82 1913 T59 = ii[WS(is, 39)];
Chris@82 1914 T5a = T58 - T59;
Chris@82 1915 T1G = T1E + T1F;
Chris@82 1916 Tb8 = T58 + T59;
Chris@82 1917 T5c = T5a - T5b;
Chris@82 1918 T5O = T5b + T5a;
Chris@82 1919 }
Chris@82 1920 }
Chris@82 1921 {
Chris@82 1922 E T1D, T1K, Tbq, Tbr;
Chris@82 1923 T1D = T1z + T1C;
Chris@82 1924 T1K = T1G + T1J;
Chris@82 1925 T1L = T1D + T1K;
Chris@82 1926 Tdv = T1D - T1K;
Chris@82 1927 Tbq = Tbo - Tbp;
Chris@82 1928 Tbr = T1J - T1G;
Chris@82 1929 Tbs = Tbq - Tbr;
Chris@82 1930 Tcw = Tbr + Tbq;
Chris@82 1931 }
Chris@82 1932 {
Chris@82 1933 E TdA, TdB, T57, T5i;
Chris@82 1934 TdA = Tbo + Tbp;
Chris@82 1935 TdB = Tb8 + Tb9;
Chris@82 1936 TdC = TdA - TdB;
Chris@82 1937 Teo = TdA + TdB;
Chris@82 1938 T57 = T53 - T56;
Chris@82 1939 T5i = KP707106781 * (T5c - T5h);
Chris@82 1940 T5j = T57 - T5i;
Chris@82 1941 T6V = T57 + T5i;
Chris@82 1942 }
Chris@82 1943 {
Chris@82 1944 E T5M, T5P, T8w, T8x;
Chris@82 1945 T5M = T5I + T5L;
Chris@82 1946 T5P = KP707106781 * (T5N - T5O);
Chris@82 1947 T5Q = T5M - T5P;
Chris@82 1948 T6Y = T5M + T5P;
Chris@82 1949 T8w = T5L - T5I;
Chris@82 1950 T8x = KP707106781 * (T5c + T5h);
Chris@82 1951 T8y = T8w - T8x;
Chris@82 1952 T9C = T8w + T8x;
Chris@82 1953 }
Chris@82 1954 {
Chris@82 1955 E Tb7, Tba, T8l, T8m;
Chris@82 1956 Tb7 = T1z - T1C;
Chris@82 1957 Tba = Tb8 - Tb9;
Chris@82 1958 Tbb = Tb7 - Tba;
Chris@82 1959 Tct = Tb7 + Tba;
Chris@82 1960 T8l = T53 + T56;
Chris@82 1961 T8m = KP707106781 * (T5O + T5N);
Chris@82 1962 T8n = T8l - T8m;
Chris@82 1963 T9z = T8l + T8m;
Chris@82 1964 }
Chris@82 1965 }
Chris@82 1966 {
Chris@82 1967 E TN, T40, T2Q, T3Q, TQ, T3P, T2T, T41, TX, T44, T30, T3U, TU, T43, T2X;
Chris@82 1968 E T3X;
Chris@82 1969 {
Chris@82 1970 E TL, TM, T2R, T2S;
Chris@82 1971 TL = ri[WS(is, 62)];
Chris@82 1972 TM = ri[WS(is, 30)];
Chris@82 1973 TN = TL + TM;
Chris@82 1974 T40 = TL - TM;
Chris@82 1975 {
Chris@82 1976 E T2O, T2P, TO, TP;
Chris@82 1977 T2O = ii[WS(is, 62)];
Chris@82 1978 T2P = ii[WS(is, 30)];
Chris@82 1979 T2Q = T2O + T2P;
Chris@82 1980 T3Q = T2O - T2P;
Chris@82 1981 TO = ri[WS(is, 14)];
Chris@82 1982 TP = ri[WS(is, 46)];
Chris@82 1983 TQ = TO + TP;
Chris@82 1984 T3P = TO - TP;
Chris@82 1985 }
Chris@82 1986 T2R = ii[WS(is, 14)];
Chris@82 1987 T2S = ii[WS(is, 46)];
Chris@82 1988 T2T = T2R + T2S;
Chris@82 1989 T41 = T2R - T2S;
Chris@82 1990 {
Chris@82 1991 E TV, TW, T3S, T2Y, T2Z, T3T;
Chris@82 1992 TV = ri[WS(is, 54)];
Chris@82 1993 TW = ri[WS(is, 22)];
Chris@82 1994 T3S = TV - TW;
Chris@82 1995 T2Y = ii[WS(is, 54)];
Chris@82 1996 T2Z = ii[WS(is, 22)];
Chris@82 1997 T3T = T2Y - T2Z;
Chris@82 1998 TX = TV + TW;
Chris@82 1999 T44 = T3S + T3T;
Chris@82 2000 T30 = T2Y + T2Z;
Chris@82 2001 T3U = T3S - T3T;
Chris@82 2002 }
Chris@82 2003 {
Chris@82 2004 E TS, TT, T3V, T2V, T2W, T3W;
Chris@82 2005 TS = ri[WS(is, 6)];
Chris@82 2006 TT = ri[WS(is, 38)];
Chris@82 2007 T3V = TS - TT;
Chris@82 2008 T2V = ii[WS(is, 6)];
Chris@82 2009 T2W = ii[WS(is, 38)];
Chris@82 2010 T3W = T2V - T2W;
Chris@82 2011 TU = TS + TT;
Chris@82 2012 T43 = T3W - T3V;
Chris@82 2013 T2X = T2V + T2W;
Chris@82 2014 T3X = T3V + T3W;
Chris@82 2015 }
Chris@82 2016 }
Chris@82 2017 {
Chris@82 2018 E TR, TY, Tax, Tay;
Chris@82 2019 TR = TN + TQ;
Chris@82 2020 TY = TU + TX;
Chris@82 2021 TZ = TR + TY;
Chris@82 2022 Tdf = TR - TY;
Chris@82 2023 Tax = T2Q - T2T;
Chris@82 2024 Tay = TX - TU;
Chris@82 2025 Taz = Tax - Tay;
Chris@82 2026 Tch = Tay + Tax;
Chris@82 2027 }
Chris@82 2028 {
Chris@82 2029 E TaA, TaB, T2U, T31;
Chris@82 2030 TaA = TN - TQ;
Chris@82 2031 TaB = T2X - T30;
Chris@82 2032 TaC = TaA - TaB;
Chris@82 2033 Tci = TaA + TaB;
Chris@82 2034 T2U = T2Q + T2T;
Chris@82 2035 T31 = T2X + T30;
Chris@82 2036 T32 = T2U + T31;
Chris@82 2037 Tdg = T2U - T31;
Chris@82 2038 }
Chris@82 2039 {
Chris@82 2040 E T3R, T3Y, T7T, T7U;
Chris@82 2041 T3R = T3P + T3Q;
Chris@82 2042 T3Y = KP707106781 * (T3U - T3X);
Chris@82 2043 T3Z = T3R - T3Y;
Chris@82 2044 T6J = T3R + T3Y;
Chris@82 2045 T7T = T40 + T41;
Chris@82 2046 T7U = KP707106781 * (T3X + T3U);
Chris@82 2047 T7V = T7T - T7U;
Chris@82 2048 T9n = T7T + T7U;
Chris@82 2049 }
Chris@82 2050 {
Chris@82 2051 E T7W, T7X, T42, T45;
Chris@82 2052 T7W = T3Q - T3P;
Chris@82 2053 T7X = KP707106781 * (T43 + T44);
Chris@82 2054 T7Y = T7W - T7X;
Chris@82 2055 T9o = T7W + T7X;
Chris@82 2056 T42 = T40 - T41;
Chris@82 2057 T45 = KP707106781 * (T43 - T44);
Chris@82 2058 T46 = T42 - T45;
Chris@82 2059 T6K = T42 + T45;
Chris@82 2060 }
Chris@82 2061 }
Chris@82 2062 {
Chris@82 2063 E T14, T4P, T4d, TaG, T17, T4a, T4S, TaH, T1e, TaZ, T4j, T4V, T1b, TaY, T4o;
Chris@82 2064 E T4U;
Chris@82 2065 {
Chris@82 2066 E T12, T13, T4Q, T4R;
Chris@82 2067 T12 = ri[WS(is, 1)];
Chris@82 2068 T13 = ri[WS(is, 33)];
Chris@82 2069 T14 = T12 + T13;
Chris@82 2070 T4P = T12 - T13;
Chris@82 2071 {
Chris@82 2072 E T4b, T4c, T15, T16;
Chris@82 2073 T4b = ii[WS(is, 1)];
Chris@82 2074 T4c = ii[WS(is, 33)];
Chris@82 2075 T4d = T4b - T4c;
Chris@82 2076 TaG = T4b + T4c;
Chris@82 2077 T15 = ri[WS(is, 17)];
Chris@82 2078 T16 = ri[WS(is, 49)];
Chris@82 2079 T17 = T15 + T16;
Chris@82 2080 T4a = T15 - T16;
Chris@82 2081 }
Chris@82 2082 T4Q = ii[WS(is, 17)];
Chris@82 2083 T4R = ii[WS(is, 49)];
Chris@82 2084 T4S = T4Q - T4R;
Chris@82 2085 TaH = T4Q + T4R;
Chris@82 2086 {
Chris@82 2087 E T1c, T1d, T4f, T4g, T4h, T4i;
Chris@82 2088 T1c = ri[WS(is, 57)];
Chris@82 2089 T1d = ri[WS(is, 25)];
Chris@82 2090 T4f = T1c - T1d;
Chris@82 2091 T4g = ii[WS(is, 57)];
Chris@82 2092 T4h = ii[WS(is, 25)];
Chris@82 2093 T4i = T4g - T4h;
Chris@82 2094 T1e = T1c + T1d;
Chris@82 2095 TaZ = T4g + T4h;
Chris@82 2096 T4j = T4f - T4i;
Chris@82 2097 T4V = T4f + T4i;
Chris@82 2098 }
Chris@82 2099 {
Chris@82 2100 E T19, T1a, T4k, T4l, T4m, T4n;
Chris@82 2101 T19 = ri[WS(is, 9)];
Chris@82 2102 T1a = ri[WS(is, 41)];
Chris@82 2103 T4k = T19 - T1a;
Chris@82 2104 T4l = ii[WS(is, 9)];
Chris@82 2105 T4m = ii[WS(is, 41)];
Chris@82 2106 T4n = T4l - T4m;
Chris@82 2107 T1b = T19 + T1a;
Chris@82 2108 TaY = T4l + T4m;
Chris@82 2109 T4o = T4k + T4n;
Chris@82 2110 T4U = T4n - T4k;
Chris@82 2111 }
Chris@82 2112 }
Chris@82 2113 {
Chris@82 2114 E T18, T1f, TaX, Tb0;
Chris@82 2115 T18 = T14 + T17;
Chris@82 2116 T1f = T1b + T1e;
Chris@82 2117 T1g = T18 + T1f;
Chris@82 2118 Tdp = T18 - T1f;
Chris@82 2119 TaX = T14 - T17;
Chris@82 2120 Tb0 = TaY - TaZ;
Chris@82 2121 Tb1 = TaX - Tb0;
Chris@82 2122 Tcm = TaX + Tb0;
Chris@82 2123 }
Chris@82 2124 {
Chris@82 2125 E Tdk, Tdl, T4e, T4p;
Chris@82 2126 Tdk = TaG + TaH;
Chris@82 2127 Tdl = TaY + TaZ;
Chris@82 2128 Tdm = Tdk - Tdl;
Chris@82 2129 Tej = Tdk + Tdl;
Chris@82 2130 T4e = T4a + T4d;
Chris@82 2131 T4p = KP707106781 * (T4j - T4o);
Chris@82 2132 T4q = T4e - T4p;
Chris@82 2133 T6R = T4e + T4p;
Chris@82 2134 }
Chris@82 2135 {
Chris@82 2136 E T4T, T4W, T8d, T8e;
Chris@82 2137 T4T = T4P - T4S;
Chris@82 2138 T4W = KP707106781 * (T4U - T4V);
Chris@82 2139 T4X = T4T - T4W;
Chris@82 2140 T6O = T4T + T4W;
Chris@82 2141 T8d = T4P + T4S;
Chris@82 2142 T8e = KP707106781 * (T4o + T4j);
Chris@82 2143 T8f = T8d - T8e;
Chris@82 2144 T9s = T8d + T8e;
Chris@82 2145 }
Chris@82 2146 {
Chris@82 2147 E TaI, TaJ, T82, T83;
Chris@82 2148 TaI = TaG - TaH;
Chris@82 2149 TaJ = T1e - T1b;
Chris@82 2150 TaK = TaI - TaJ;
Chris@82 2151 Tcp = TaJ + TaI;
Chris@82 2152 T82 = T4d - T4a;
Chris@82 2153 T83 = KP707106781 * (T4U + T4V);
Chris@82 2154 T84 = T82 - T83;
Chris@82 2155 T9v = T82 + T83;
Chris@82 2156 }
Chris@82 2157 }
Chris@82 2158 {
Chris@82 2159 E T1j, TaR, T1m, TaS, T4G, T4L, TaT, TaQ, T89, T88, T1q, TaM, T1t, TaN, T4v;
Chris@82 2160 E T4A, TaO, TaL, T86, T85;
Chris@82 2161 {
Chris@82 2162 E T4H, T4F, T4C, T4K;
Chris@82 2163 {
Chris@82 2164 E T1h, T1i, T4D, T4E;
Chris@82 2165 T1h = ri[WS(is, 5)];
Chris@82 2166 T1i = ri[WS(is, 37)];
Chris@82 2167 T1j = T1h + T1i;
Chris@82 2168 T4H = T1h - T1i;
Chris@82 2169 T4D = ii[WS(is, 5)];
Chris@82 2170 T4E = ii[WS(is, 37)];
Chris@82 2171 T4F = T4D - T4E;
Chris@82 2172 TaR = T4D + T4E;
Chris@82 2173 }
Chris@82 2174 {
Chris@82 2175 E T1k, T1l, T4I, T4J;
Chris@82 2176 T1k = ri[WS(is, 21)];
Chris@82 2177 T1l = ri[WS(is, 53)];
Chris@82 2178 T1m = T1k + T1l;
Chris@82 2179 T4C = T1k - T1l;
Chris@82 2180 T4I = ii[WS(is, 21)];
Chris@82 2181 T4J = ii[WS(is, 53)];
Chris@82 2182 T4K = T4I - T4J;
Chris@82 2183 TaS = T4I + T4J;
Chris@82 2184 }
Chris@82 2185 T4G = T4C + T4F;
Chris@82 2186 T4L = T4H - T4K;
Chris@82 2187 TaT = TaR - TaS;
Chris@82 2188 TaQ = T1j - T1m;
Chris@82 2189 T89 = T4H + T4K;
Chris@82 2190 T88 = T4F - T4C;
Chris@82 2191 }
Chris@82 2192 {
Chris@82 2193 E T4r, T4z, T4w, T4u;
Chris@82 2194 {
Chris@82 2195 E T1o, T1p, T4x, T4y;
Chris@82 2196 T1o = ri[WS(is, 61)];
Chris@82 2197 T1p = ri[WS(is, 29)];
Chris@82 2198 T1q = T1o + T1p;
Chris@82 2199 T4r = T1o - T1p;
Chris@82 2200 T4x = ii[WS(is, 61)];
Chris@82 2201 T4y = ii[WS(is, 29)];
Chris@82 2202 T4z = T4x - T4y;
Chris@82 2203 TaM = T4x + T4y;
Chris@82 2204 }
Chris@82 2205 {
Chris@82 2206 E T1r, T1s, T4s, T4t;
Chris@82 2207 T1r = ri[WS(is, 13)];
Chris@82 2208 T1s = ri[WS(is, 45)];
Chris@82 2209 T1t = T1r + T1s;
Chris@82 2210 T4w = T1r - T1s;
Chris@82 2211 T4s = ii[WS(is, 13)];
Chris@82 2212 T4t = ii[WS(is, 45)];
Chris@82 2213 T4u = T4s - T4t;
Chris@82 2214 TaN = T4s + T4t;
Chris@82 2215 }
Chris@82 2216 T4v = T4r - T4u;
Chris@82 2217 T4A = T4w + T4z;
Chris@82 2218 TaO = TaM - TaN;
Chris@82 2219 TaL = T1q - T1t;
Chris@82 2220 T86 = T4z - T4w;
Chris@82 2221 T85 = T4r + T4u;
Chris@82 2222 }
Chris@82 2223 {
Chris@82 2224 E T1n, T1u, Tb2, Tb3;
Chris@82 2225 T1n = T1j + T1m;
Chris@82 2226 T1u = T1q + T1t;
Chris@82 2227 T1v = T1n + T1u;
Chris@82 2228 Tdn = T1u - T1n;
Chris@82 2229 Tb2 = TaT - TaQ;
Chris@82 2230 Tb3 = TaL + TaO;
Chris@82 2231 Tb4 = KP707106781 * (Tb2 - Tb3);
Chris@82 2232 Tcq = KP707106781 * (Tb2 + Tb3);
Chris@82 2233 }
Chris@82 2234 {
Chris@82 2235 E Tdq, Tdr, T4B, T4M;
Chris@82 2236 Tdq = TaR + TaS;
Chris@82 2237 Tdr = TaM + TaN;
Chris@82 2238 Tds = Tdq - Tdr;
Chris@82 2239 Tek = Tdq + Tdr;
Chris@82 2240 T4B = FNMS(KP923879532, T4A, KP382683432 * T4v);
Chris@82 2241 T4M = FMA(KP923879532, T4G, KP382683432 * T4L);
Chris@82 2242 T4N = T4B - T4M;
Chris@82 2243 T6P = T4M + T4B;
Chris@82 2244 }
Chris@82 2245 {
Chris@82 2246 E T4Y, T4Z, T8g, T8h;
Chris@82 2247 T4Y = FNMS(KP923879532, T4L, KP382683432 * T4G);
Chris@82 2248 T4Z = FMA(KP382683432, T4A, KP923879532 * T4v);
Chris@82 2249 T50 = T4Y - T4Z;
Chris@82 2250 T6S = T4Y + T4Z;
Chris@82 2251 T8g = FNMS(KP382683432, T89, KP923879532 * T88);
Chris@82 2252 T8h = FMA(KP923879532, T86, KP382683432 * T85);
Chris@82 2253 T8i = T8g - T8h;
Chris@82 2254 T9w = T8g + T8h;
Chris@82 2255 }
Chris@82 2256 {
Chris@82 2257 E TaP, TaU, T87, T8a;
Chris@82 2258 TaP = TaL - TaO;
Chris@82 2259 TaU = TaQ + TaT;
Chris@82 2260 TaV = KP707106781 * (TaP - TaU);
Chris@82 2261 Tcn = KP707106781 * (TaU + TaP);
Chris@82 2262 T87 = FNMS(KP382683432, T86, KP923879532 * T85);
Chris@82 2263 T8a = FMA(KP382683432, T88, KP923879532 * T89);
Chris@82 2264 T8b = T87 - T8a;
Chris@82 2265 T9t = T8a + T87;
Chris@82 2266 }
Chris@82 2267 }
Chris@82 2268 {
Chris@82 2269 E T1O, Tbc, T1R, Tbd, T5o, T5t, Tbf, Tbe, T8p, T8o, T1V, Tbi, T1Y, Tbj, T5z;
Chris@82 2270 E T5E, Tbk, Tbh, T8s, T8r;
Chris@82 2271 {
Chris@82 2272 E T5p, T5n, T5k, T5s;
Chris@82 2273 {
Chris@82 2274 E T1M, T1N, T5l, T5m;
Chris@82 2275 T1M = ri[WS(is, 3)];
Chris@82 2276 T1N = ri[WS(is, 35)];
Chris@82 2277 T1O = T1M + T1N;
Chris@82 2278 T5p = T1M - T1N;
Chris@82 2279 T5l = ii[WS(is, 3)];
Chris@82 2280 T5m = ii[WS(is, 35)];
Chris@82 2281 T5n = T5l - T5m;
Chris@82 2282 Tbc = T5l + T5m;
Chris@82 2283 }
Chris@82 2284 {
Chris@82 2285 E T1P, T1Q, T5q, T5r;
Chris@82 2286 T1P = ri[WS(is, 19)];
Chris@82 2287 T1Q = ri[WS(is, 51)];
Chris@82 2288 T1R = T1P + T1Q;
Chris@82 2289 T5k = T1P - T1Q;
Chris@82 2290 T5q = ii[WS(is, 19)];
Chris@82 2291 T5r = ii[WS(is, 51)];
Chris@82 2292 T5s = T5q - T5r;
Chris@82 2293 Tbd = T5q + T5r;
Chris@82 2294 }
Chris@82 2295 T5o = T5k + T5n;
Chris@82 2296 T5t = T5p - T5s;
Chris@82 2297 Tbf = T1O - T1R;
Chris@82 2298 Tbe = Tbc - Tbd;
Chris@82 2299 T8p = T5p + T5s;
Chris@82 2300 T8o = T5n - T5k;
Chris@82 2301 }
Chris@82 2302 {
Chris@82 2303 E T5A, T5y, T5v, T5D;
Chris@82 2304 {
Chris@82 2305 E T1T, T1U, T5w, T5x;
Chris@82 2306 T1T = ri[WS(is, 59)];
Chris@82 2307 T1U = ri[WS(is, 27)];
Chris@82 2308 T1V = T1T + T1U;
Chris@82 2309 T5A = T1T - T1U;
Chris@82 2310 T5w = ii[WS(is, 59)];
Chris@82 2311 T5x = ii[WS(is, 27)];
Chris@82 2312 T5y = T5w - T5x;
Chris@82 2313 Tbi = T5w + T5x;
Chris@82 2314 }
Chris@82 2315 {
Chris@82 2316 E T1W, T1X, T5B, T5C;
Chris@82 2317 T1W = ri[WS(is, 11)];
Chris@82 2318 T1X = ri[WS(is, 43)];
Chris@82 2319 T1Y = T1W + T1X;
Chris@82 2320 T5v = T1W - T1X;
Chris@82 2321 T5B = ii[WS(is, 11)];
Chris@82 2322 T5C = ii[WS(is, 43)];
Chris@82 2323 T5D = T5B - T5C;
Chris@82 2324 Tbj = T5B + T5C;
Chris@82 2325 }
Chris@82 2326 T5z = T5v + T5y;
Chris@82 2327 T5E = T5A - T5D;
Chris@82 2328 Tbk = Tbi - Tbj;
Chris@82 2329 Tbh = T1V - T1Y;
Chris@82 2330 T8s = T5A + T5D;
Chris@82 2331 T8r = T5y - T5v;
Chris@82 2332 }
Chris@82 2333 {
Chris@82 2334 E T1S, T1Z, Tbt, Tbu;
Chris@82 2335 T1S = T1O + T1R;
Chris@82 2336 T1Z = T1V + T1Y;
Chris@82 2337 T20 = T1S + T1Z;
Chris@82 2338 TdD = T1Z - T1S;
Chris@82 2339 Tbt = Tbh - Tbk;
Chris@82 2340 Tbu = Tbf + Tbe;
Chris@82 2341 Tbv = KP707106781 * (Tbt - Tbu);
Chris@82 2342 Tcu = KP707106781 * (Tbu + Tbt);
Chris@82 2343 }
Chris@82 2344 {
Chris@82 2345 E Tdw, Tdx, T5u, T5F;
Chris@82 2346 Tdw = Tbc + Tbd;
Chris@82 2347 Tdx = Tbi + Tbj;
Chris@82 2348 Tdy = Tdw - Tdx;
Chris@82 2349 Tep = Tdw + Tdx;
Chris@82 2350 T5u = FNMS(KP923879532, T5t, KP382683432 * T5o);
Chris@82 2351 T5F = FMA(KP382683432, T5z, KP923879532 * T5E);
Chris@82 2352 T5G = T5u - T5F;
Chris@82 2353 T6Z = T5u + T5F;
Chris@82 2354 }
Chris@82 2355 {
Chris@82 2356 E T5R, T5S, T8z, T8A;
Chris@82 2357 T5R = FNMS(KP923879532, T5z, KP382683432 * T5E);
Chris@82 2358 T5S = FMA(KP923879532, T5o, KP382683432 * T5t);
Chris@82 2359 T5T = T5R - T5S;
Chris@82 2360 T6W = T5S + T5R;
Chris@82 2361 T8z = FNMS(KP382683432, T8r, KP923879532 * T8s);
Chris@82 2362 T8A = FMA(KP382683432, T8o, KP923879532 * T8p);
Chris@82 2363 T8B = T8z - T8A;
Chris@82 2364 T9A = T8A + T8z;
Chris@82 2365 }
Chris@82 2366 {
Chris@82 2367 E Tbg, Tbl, T8q, T8t;
Chris@82 2368 Tbg = Tbe - Tbf;
Chris@82 2369 Tbl = Tbh + Tbk;
Chris@82 2370 Tbm = KP707106781 * (Tbg - Tbl);
Chris@82 2371 Tcx = KP707106781 * (Tbg + Tbl);
Chris@82 2372 T8q = FNMS(KP382683432, T8p, KP923879532 * T8o);
Chris@82 2373 T8t = FMA(KP923879532, T8r, KP382683432 * T8s);
Chris@82 2374 T8u = T8q - T8t;
Chris@82 2375 T9D = T8q + T8t;
Chris@82 2376 }
Chris@82 2377 }
Chris@82 2378 {
Chris@82 2379 E T11, TeD, TeG, TeI, T22, T23, T34, TeH;
Chris@82 2380 {
Chris@82 2381 E Tv, T10, TeE, TeF;
Chris@82 2382 Tv = Tf + Tu;
Chris@82 2383 T10 = TK + TZ;
Chris@82 2384 T11 = Tv + T10;
Chris@82 2385 TeD = Tv - T10;
Chris@82 2386 TeE = Tej + Tek;
Chris@82 2387 TeF = Teo + Tep;
Chris@82 2388 TeG = TeE - TeF;
Chris@82 2389 TeI = TeE + TeF;
Chris@82 2390 }
Chris@82 2391 {
Chris@82 2392 E T1w, T21, T2y, T33;
Chris@82 2393 T1w = T1g + T1v;
Chris@82 2394 T21 = T1L + T20;
Chris@82 2395 T22 = T1w + T21;
Chris@82 2396 T23 = T21 - T1w;
Chris@82 2397 T2y = T2i + T2x;
Chris@82 2398 T33 = T2N + T32;
Chris@82 2399 T34 = T2y - T33;
Chris@82 2400 TeH = T2y + T33;
Chris@82 2401 }
Chris@82 2402 ro[WS(os, 32)] = T11 - T22;
Chris@82 2403 io[WS(os, 32)] = TeH - TeI;
Chris@82 2404 ro[0] = T11 + T22;
Chris@82 2405 io[0] = TeH + TeI;
Chris@82 2406 io[WS(os, 16)] = T23 + T34;
Chris@82 2407 ro[WS(os, 16)] = TeD + TeG;
Chris@82 2408 io[WS(os, 48)] = T34 - T23;
Chris@82 2409 ro[WS(os, 48)] = TeD - TeG;
Chris@82 2410 }
Chris@82 2411 {
Chris@82 2412 E Teh, Tex, Tev, TeB, Tem, Tey, Ter, Tez;
Chris@82 2413 {
Chris@82 2414 E Tef, Teg, Tet, Teu;
Chris@82 2415 Tef = Tf - Tu;
Chris@82 2416 Teg = T2N - T32;
Chris@82 2417 Teh = Tef + Teg;
Chris@82 2418 Tex = Tef - Teg;
Chris@82 2419 Tet = T2i - T2x;
Chris@82 2420 Teu = TZ - TK;
Chris@82 2421 Tev = Tet - Teu;
Chris@82 2422 TeB = Teu + Tet;
Chris@82 2423 }
Chris@82 2424 {
Chris@82 2425 E Tei, Tel, Ten, Teq;
Chris@82 2426 Tei = T1g - T1v;
Chris@82 2427 Tel = Tej - Tek;
Chris@82 2428 Tem = Tei + Tel;
Chris@82 2429 Tey = Tel - Tei;
Chris@82 2430 Ten = T1L - T20;
Chris@82 2431 Teq = Teo - Tep;
Chris@82 2432 Ter = Ten - Teq;
Chris@82 2433 Tez = Ten + Teq;
Chris@82 2434 }
Chris@82 2435 {
Chris@82 2436 E Tes, TeC, Tew, TeA;
Chris@82 2437 Tes = KP707106781 * (Tem + Ter);
Chris@82 2438 ro[WS(os, 40)] = Teh - Tes;
Chris@82 2439 ro[WS(os, 8)] = Teh + Tes;
Chris@82 2440 TeC = KP707106781 * (Tey + Tez);
Chris@82 2441 io[WS(os, 40)] = TeB - TeC;
Chris@82 2442 io[WS(os, 8)] = TeB + TeC;
Chris@82 2443 Tew = KP707106781 * (Ter - Tem);
Chris@82 2444 io[WS(os, 56)] = Tev - Tew;
Chris@82 2445 io[WS(os, 24)] = Tev + Tew;
Chris@82 2446 TeA = KP707106781 * (Tey - Tez);
Chris@82 2447 ro[WS(os, 56)] = Tex - TeA;
Chris@82 2448 ro[WS(os, 24)] = Tex + TeA;
Chris@82 2449 }
Chris@82 2450 }
Chris@82 2451 {
Chris@82 2452 E Tdb, TdV, Te5, TdJ, Tdi, Te6, Te3, Teb, TdM, TdW, Tdu, TdQ, Te0, Tea, TdF;
Chris@82 2453 E TdR;
Chris@82 2454 {
Chris@82 2455 E Tde, Tdh, Tdo, Tdt;
Chris@82 2456 Tdb = Td9 - Tda;
Chris@82 2457 TdV = Td9 + Tda;
Chris@82 2458 Te5 = TdI + TdH;
Chris@82 2459 TdJ = TdH - TdI;
Chris@82 2460 Tde = Tdc - Tdd;
Chris@82 2461 Tdh = Tdf + Tdg;
Chris@82 2462 Tdi = KP707106781 * (Tde - Tdh);
Chris@82 2463 Te6 = KP707106781 * (Tde + Tdh);
Chris@82 2464 {
Chris@82 2465 E Te1, Te2, TdK, TdL;
Chris@82 2466 Te1 = Tdv + Tdy;
Chris@82 2467 Te2 = TdD + TdC;
Chris@82 2468 Te3 = FNMS(KP382683432, Te2, KP923879532 * Te1);
Chris@82 2469 Teb = FMA(KP923879532, Te2, KP382683432 * Te1);
Chris@82 2470 TdK = Tdf - Tdg;
Chris@82 2471 TdL = Tdd + Tdc;
Chris@82 2472 TdM = KP707106781 * (TdK - TdL);
Chris@82 2473 TdW = KP707106781 * (TdL + TdK);
Chris@82 2474 }
Chris@82 2475 Tdo = Tdm - Tdn;
Chris@82 2476 Tdt = Tdp - Tds;
Chris@82 2477 Tdu = FMA(KP923879532, Tdo, KP382683432 * Tdt);
Chris@82 2478 TdQ = FNMS(KP923879532, Tdt, KP382683432 * Tdo);
Chris@82 2479 {
Chris@82 2480 E TdY, TdZ, Tdz, TdE;
Chris@82 2481 TdY = Tdn + Tdm;
Chris@82 2482 TdZ = Tdp + Tds;
Chris@82 2483 Te0 = FMA(KP382683432, TdY, KP923879532 * TdZ);
Chris@82 2484 Tea = FNMS(KP382683432, TdZ, KP923879532 * TdY);
Chris@82 2485 Tdz = Tdv - Tdy;
Chris@82 2486 TdE = TdC - TdD;
Chris@82 2487 TdF = FNMS(KP923879532, TdE, KP382683432 * Tdz);
Chris@82 2488 TdR = FMA(KP382683432, TdE, KP923879532 * Tdz);
Chris@82 2489 }
Chris@82 2490 }
Chris@82 2491 {
Chris@82 2492 E Tdj, TdG, TdT, TdU;
Chris@82 2493 Tdj = Tdb + Tdi;
Chris@82 2494 TdG = Tdu + TdF;
Chris@82 2495 ro[WS(os, 44)] = Tdj - TdG;
Chris@82 2496 ro[WS(os, 12)] = Tdj + TdG;
Chris@82 2497 TdT = TdJ + TdM;
Chris@82 2498 TdU = TdQ + TdR;
Chris@82 2499 io[WS(os, 44)] = TdT - TdU;
Chris@82 2500 io[WS(os, 12)] = TdT + TdU;
Chris@82 2501 }
Chris@82 2502 {
Chris@82 2503 E TdN, TdO, TdP, TdS;
Chris@82 2504 TdN = TdJ - TdM;
Chris@82 2505 TdO = TdF - Tdu;
Chris@82 2506 io[WS(os, 60)] = TdN - TdO;
Chris@82 2507 io[WS(os, 28)] = TdN + TdO;
Chris@82 2508 TdP = Tdb - Tdi;
Chris@82 2509 TdS = TdQ - TdR;
Chris@82 2510 ro[WS(os, 60)] = TdP - TdS;
Chris@82 2511 ro[WS(os, 28)] = TdP + TdS;
Chris@82 2512 }
Chris@82 2513 {
Chris@82 2514 E TdX, Te4, Ted, Tee;
Chris@82 2515 TdX = TdV + TdW;
Chris@82 2516 Te4 = Te0 + Te3;
Chris@82 2517 ro[WS(os, 36)] = TdX - Te4;
Chris@82 2518 ro[WS(os, 4)] = TdX + Te4;
Chris@82 2519 Ted = Te5 + Te6;
Chris@82 2520 Tee = Tea + Teb;
Chris@82 2521 io[WS(os, 36)] = Ted - Tee;
Chris@82 2522 io[WS(os, 4)] = Ted + Tee;
Chris@82 2523 }
Chris@82 2524 {
Chris@82 2525 E Te7, Te8, Te9, Tec;
Chris@82 2526 Te7 = Te5 - Te6;
Chris@82 2527 Te8 = Te3 - Te0;
Chris@82 2528 io[WS(os, 52)] = Te7 - Te8;
Chris@82 2529 io[WS(os, 20)] = Te7 + Te8;
Chris@82 2530 Te9 = TdV - TdW;
Chris@82 2531 Tec = Tea - Teb;
Chris@82 2532 ro[WS(os, 52)] = Te9 - Tec;
Chris@82 2533 ro[WS(os, 20)] = Te9 + Tec;
Chris@82 2534 }
Chris@82 2535 }
Chris@82 2536 {
Chris@82 2537 E Tcd, TcP, TcD, TcZ, Tck, Td0, TcX, Td5, Tcs, TcK, TcG, TcQ, TcU, Td4, Tcz;
Chris@82 2538 E TcL, Tcc, TcC;
Chris@82 2539 Tcc = KP707106781 * (TbD + TbC);
Chris@82 2540 Tcd = Tcb - Tcc;
Chris@82 2541 TcP = Tcb + Tcc;
Chris@82 2542 TcC = KP707106781 * (Tak + Tan);
Chris@82 2543 TcD = TcB - TcC;
Chris@82 2544 TcZ = TcB + TcC;
Chris@82 2545 {
Chris@82 2546 E Tcg, Tcj, TcV, TcW;
Chris@82 2547 Tcg = FNMS(KP382683432, Tcf, KP923879532 * Tce);
Chris@82 2548 Tcj = FMA(KP923879532, Tch, KP382683432 * Tci);
Chris@82 2549 Tck = Tcg - Tcj;
Chris@82 2550 Td0 = Tcg + Tcj;
Chris@82 2551 TcV = Tct + Tcu;
Chris@82 2552 TcW = Tcw + Tcx;
Chris@82 2553 TcX = FNMS(KP195090322, TcW, KP980785280 * TcV);
Chris@82 2554 Td5 = FMA(KP195090322, TcV, KP980785280 * TcW);
Chris@82 2555 }
Chris@82 2556 {
Chris@82 2557 E Tco, Tcr, TcE, TcF;
Chris@82 2558 Tco = Tcm - Tcn;
Chris@82 2559 Tcr = Tcp - Tcq;
Chris@82 2560 Tcs = FMA(KP555570233, Tco, KP831469612 * Tcr);
Chris@82 2561 TcK = FNMS(KP831469612, Tco, KP555570233 * Tcr);
Chris@82 2562 TcE = FNMS(KP382683432, Tch, KP923879532 * Tci);
Chris@82 2563 TcF = FMA(KP382683432, Tce, KP923879532 * Tcf);
Chris@82 2564 TcG = TcE - TcF;
Chris@82 2565 TcQ = TcF + TcE;
Chris@82 2566 }
Chris@82 2567 {
Chris@82 2568 E TcS, TcT, Tcv, Tcy;
Chris@82 2569 TcS = Tcm + Tcn;
Chris@82 2570 TcT = Tcp + Tcq;
Chris@82 2571 TcU = FMA(KP980785280, TcS, KP195090322 * TcT);
Chris@82 2572 Td4 = FNMS(KP195090322, TcS, KP980785280 * TcT);
Chris@82 2573 Tcv = Tct - Tcu;
Chris@82 2574 Tcy = Tcw - Tcx;
Chris@82 2575 Tcz = FNMS(KP831469612, Tcy, KP555570233 * Tcv);
Chris@82 2576 TcL = FMA(KP831469612, Tcv, KP555570233 * Tcy);
Chris@82 2577 }
Chris@82 2578 {
Chris@82 2579 E Tcl, TcA, TcN, TcO;
Chris@82 2580 Tcl = Tcd + Tck;
Chris@82 2581 TcA = Tcs + Tcz;
Chris@82 2582 ro[WS(os, 42)] = Tcl - TcA;
Chris@82 2583 ro[WS(os, 10)] = Tcl + TcA;
Chris@82 2584 TcN = TcD + TcG;
Chris@82 2585 TcO = TcK + TcL;
Chris@82 2586 io[WS(os, 42)] = TcN - TcO;
Chris@82 2587 io[WS(os, 10)] = TcN + TcO;
Chris@82 2588 }
Chris@82 2589 {
Chris@82 2590 E TcH, TcI, TcJ, TcM;
Chris@82 2591 TcH = TcD - TcG;
Chris@82 2592 TcI = Tcz - Tcs;
Chris@82 2593 io[WS(os, 58)] = TcH - TcI;
Chris@82 2594 io[WS(os, 26)] = TcH + TcI;
Chris@82 2595 TcJ = Tcd - Tck;
Chris@82 2596 TcM = TcK - TcL;
Chris@82 2597 ro[WS(os, 58)] = TcJ - TcM;
Chris@82 2598 ro[WS(os, 26)] = TcJ + TcM;
Chris@82 2599 }
Chris@82 2600 {
Chris@82 2601 E TcR, TcY, Td7, Td8;
Chris@82 2602 TcR = TcP + TcQ;
Chris@82 2603 TcY = TcU + TcX;
Chris@82 2604 ro[WS(os, 34)] = TcR - TcY;
Chris@82 2605 ro[WS(os, 2)] = TcR + TcY;
Chris@82 2606 Td7 = TcZ + Td0;
Chris@82 2607 Td8 = Td4 + Td5;
Chris@82 2608 io[WS(os, 34)] = Td7 - Td8;
Chris@82 2609 io[WS(os, 2)] = Td7 + Td8;
Chris@82 2610 }
Chris@82 2611 {
Chris@82 2612 E Td1, Td2, Td3, Td6;
Chris@82 2613 Td1 = TcZ - Td0;
Chris@82 2614 Td2 = TcX - TcU;
Chris@82 2615 io[WS(os, 50)] = Td1 - Td2;
Chris@82 2616 io[WS(os, 18)] = Td1 + Td2;
Chris@82 2617 Td3 = TcP - TcQ;
Chris@82 2618 Td6 = Td4 - Td5;
Chris@82 2619 ro[WS(os, 50)] = Td3 - Td6;
Chris@82 2620 ro[WS(os, 18)] = Td3 + Td6;
Chris@82 2621 }
Chris@82 2622 }
Chris@82 2623 {
Chris@82 2624 E Tap, TbR, TbF, Tc1, TaE, Tc2, TbZ, Tc7, Tb6, TbM, TbI, TbS, TbW, Tc6, Tbx;
Chris@82 2625 E TbN, Tao, TbE;
Chris@82 2626 Tao = KP707106781 * (Tak - Tan);
Chris@82 2627 Tap = Tah - Tao;
Chris@82 2628 TbR = Tah + Tao;
Chris@82 2629 TbE = KP707106781 * (TbC - TbD);
Chris@82 2630 TbF = TbB - TbE;
Chris@82 2631 Tc1 = TbB + TbE;
Chris@82 2632 {
Chris@82 2633 E Taw, TaD, TbX, TbY;
Chris@82 2634 Taw = FNMS(KP923879532, Tav, KP382683432 * Tas);
Chris@82 2635 TaD = FMA(KP382683432, Taz, KP923879532 * TaC);
Chris@82 2636 TaE = Taw - TaD;
Chris@82 2637 Tc2 = Taw + TaD;
Chris@82 2638 TbX = Tbb + Tbm;
Chris@82 2639 TbY = Tbs + Tbv;
Chris@82 2640 TbZ = FNMS(KP555570233, TbY, KP831469612 * TbX);
Chris@82 2641 Tc7 = FMA(KP831469612, TbY, KP555570233 * TbX);
Chris@82 2642 }
Chris@82 2643 {
Chris@82 2644 E TaW, Tb5, TbG, TbH;
Chris@82 2645 TaW = TaK - TaV;
Chris@82 2646 Tb5 = Tb1 - Tb4;
Chris@82 2647 Tb6 = FMA(KP980785280, TaW, KP195090322 * Tb5);
Chris@82 2648 TbM = FNMS(KP980785280, Tb5, KP195090322 * TaW);
Chris@82 2649 TbG = FNMS(KP923879532, Taz, KP382683432 * TaC);
Chris@82 2650 TbH = FMA(KP923879532, Tas, KP382683432 * Tav);
Chris@82 2651 TbI = TbG - TbH;
Chris@82 2652 TbS = TbH + TbG;
Chris@82 2653 }
Chris@82 2654 {
Chris@82 2655 E TbU, TbV, Tbn, Tbw;
Chris@82 2656 TbU = TaK + TaV;
Chris@82 2657 TbV = Tb1 + Tb4;
Chris@82 2658 TbW = FMA(KP555570233, TbU, KP831469612 * TbV);
Chris@82 2659 Tc6 = FNMS(KP555570233, TbV, KP831469612 * TbU);
Chris@82 2660 Tbn = Tbb - Tbm;
Chris@82 2661 Tbw = Tbs - Tbv;
Chris@82 2662 Tbx = FNMS(KP980785280, Tbw, KP195090322 * Tbn);
Chris@82 2663 TbN = FMA(KP195090322, Tbw, KP980785280 * Tbn);
Chris@82 2664 }
Chris@82 2665 {
Chris@82 2666 E TaF, Tby, TbP, TbQ;
Chris@82 2667 TaF = Tap + TaE;
Chris@82 2668 Tby = Tb6 + Tbx;
Chris@82 2669 ro[WS(os, 46)] = TaF - Tby;
Chris@82 2670 ro[WS(os, 14)] = TaF + Tby;
Chris@82 2671 TbP = TbF + TbI;
Chris@82 2672 TbQ = TbM + TbN;
Chris@82 2673 io[WS(os, 46)] = TbP - TbQ;
Chris@82 2674 io[WS(os, 14)] = TbP + TbQ;
Chris@82 2675 }
Chris@82 2676 {
Chris@82 2677 E TbJ, TbK, TbL, TbO;
Chris@82 2678 TbJ = TbF - TbI;
Chris@82 2679 TbK = Tbx - Tb6;
Chris@82 2680 io[WS(os, 62)] = TbJ - TbK;
Chris@82 2681 io[WS(os, 30)] = TbJ + TbK;
Chris@82 2682 TbL = Tap - TaE;
Chris@82 2683 TbO = TbM - TbN;
Chris@82 2684 ro[WS(os, 62)] = TbL - TbO;
Chris@82 2685 ro[WS(os, 30)] = TbL + TbO;
Chris@82 2686 }
Chris@82 2687 {
Chris@82 2688 E TbT, Tc0, Tc9, Tca;
Chris@82 2689 TbT = TbR + TbS;
Chris@82 2690 Tc0 = TbW + TbZ;
Chris@82 2691 ro[WS(os, 38)] = TbT - Tc0;
Chris@82 2692 ro[WS(os, 6)] = TbT + Tc0;
Chris@82 2693 Tc9 = Tc1 + Tc2;
Chris@82 2694 Tca = Tc6 + Tc7;
Chris@82 2695 io[WS(os, 38)] = Tc9 - Tca;
Chris@82 2696 io[WS(os, 6)] = Tc9 + Tca;
Chris@82 2697 }
Chris@82 2698 {
Chris@82 2699 E Tc3, Tc4, Tc5, Tc8;
Chris@82 2700 Tc3 = Tc1 - Tc2;
Chris@82 2701 Tc4 = TbZ - TbW;
Chris@82 2702 io[WS(os, 54)] = Tc3 - Tc4;
Chris@82 2703 io[WS(os, 22)] = Tc3 + Tc4;
Chris@82 2704 Tc5 = TbR - TbS;
Chris@82 2705 Tc8 = Tc6 - Tc7;
Chris@82 2706 ro[WS(os, 54)] = Tc5 - Tc8;
Chris@82 2707 ro[WS(os, 22)] = Tc5 + Tc8;
Chris@82 2708 }
Chris@82 2709 }
Chris@82 2710 {
Chris@82 2711 E T6F, T7h, T7m, T7w, T7p, T7x, T6M, T7s, T6U, T7c, T75, T7r, T78, T7i, T71;
Chris@82 2712 E T7d;
Chris@82 2713 {
Chris@82 2714 E T6D, T6E, T7k, T7l;
Chris@82 2715 T6D = T37 + T3e;
Chris@82 2716 T6E = T65 + T64;
Chris@82 2717 T6F = T6D - T6E;
Chris@82 2718 T7h = T6D + T6E;
Chris@82 2719 T7k = T6O + T6P;
Chris@82 2720 T7l = T6R + T6S;
Chris@82 2721 T7m = FMA(KP956940335, T7k, KP290284677 * T7l);
Chris@82 2722 T7w = FNMS(KP290284677, T7k, KP956940335 * T7l);
Chris@82 2723 }
Chris@82 2724 {
Chris@82 2725 E T7n, T7o, T6I, T6L;
Chris@82 2726 T7n = T6V + T6W;
Chris@82 2727 T7o = T6Y + T6Z;
Chris@82 2728 T7p = FNMS(KP290284677, T7o, KP956940335 * T7n);
Chris@82 2729 T7x = FMA(KP290284677, T7n, KP956940335 * T7o);
Chris@82 2730 T6I = FNMS(KP555570233, T6H, KP831469612 * T6G);
Chris@82 2731 T6L = FMA(KP831469612, T6J, KP555570233 * T6K);
Chris@82 2732 T6M = T6I - T6L;
Chris@82 2733 T7s = T6I + T6L;
Chris@82 2734 }
Chris@82 2735 {
Chris@82 2736 E T6Q, T6T, T73, T74;
Chris@82 2737 T6Q = T6O - T6P;
Chris@82 2738 T6T = T6R - T6S;
Chris@82 2739 T6U = FMA(KP471396736, T6Q, KP881921264 * T6T);
Chris@82 2740 T7c = FNMS(KP881921264, T6Q, KP471396736 * T6T);
Chris@82 2741 T73 = T5Z + T62;
Chris@82 2742 T74 = T3m + T3t;
Chris@82 2743 T75 = T73 - T74;
Chris@82 2744 T7r = T73 + T74;
Chris@82 2745 }
Chris@82 2746 {
Chris@82 2747 E T76, T77, T6X, T70;
Chris@82 2748 T76 = FNMS(KP555570233, T6J, KP831469612 * T6K);
Chris@82 2749 T77 = FMA(KP555570233, T6G, KP831469612 * T6H);
Chris@82 2750 T78 = T76 - T77;
Chris@82 2751 T7i = T77 + T76;
Chris@82 2752 T6X = T6V - T6W;
Chris@82 2753 T70 = T6Y - T6Z;
Chris@82 2754 T71 = FNMS(KP881921264, T70, KP471396736 * T6X);
Chris@82 2755 T7d = FMA(KP881921264, T6X, KP471396736 * T70);
Chris@82 2756 }
Chris@82 2757 {
Chris@82 2758 E T6N, T72, T7f, T7g;
Chris@82 2759 T6N = T6F + T6M;
Chris@82 2760 T72 = T6U + T71;
Chris@82 2761 ro[WS(os, 43)] = T6N - T72;
Chris@82 2762 ro[WS(os, 11)] = T6N + T72;
Chris@82 2763 T7f = T75 + T78;
Chris@82 2764 T7g = T7c + T7d;
Chris@82 2765 io[WS(os, 43)] = T7f - T7g;
Chris@82 2766 io[WS(os, 11)] = T7f + T7g;
Chris@82 2767 }
Chris@82 2768 {
Chris@82 2769 E T79, T7a, T7b, T7e;
Chris@82 2770 T79 = T75 - T78;
Chris@82 2771 T7a = T71 - T6U;
Chris@82 2772 io[WS(os, 59)] = T79 - T7a;
Chris@82 2773 io[WS(os, 27)] = T79 + T7a;
Chris@82 2774 T7b = T6F - T6M;
Chris@82 2775 T7e = T7c - T7d;
Chris@82 2776 ro[WS(os, 59)] = T7b - T7e;
Chris@82 2777 ro[WS(os, 27)] = T7b + T7e;
Chris@82 2778 }
Chris@82 2779 {
Chris@82 2780 E T7j, T7q, T7z, T7A;
Chris@82 2781 T7j = T7h + T7i;
Chris@82 2782 T7q = T7m + T7p;
Chris@82 2783 ro[WS(os, 35)] = T7j - T7q;
Chris@82 2784 ro[WS(os, 3)] = T7j + T7q;
Chris@82 2785 T7z = T7r + T7s;
Chris@82 2786 T7A = T7w + T7x;
Chris@82 2787 io[WS(os, 35)] = T7z - T7A;
Chris@82 2788 io[WS(os, 3)] = T7z + T7A;
Chris@82 2789 }
Chris@82 2790 {
Chris@82 2791 E T7t, T7u, T7v, T7y;
Chris@82 2792 T7t = T7r - T7s;
Chris@82 2793 T7u = T7p - T7m;
Chris@82 2794 io[WS(os, 51)] = T7t - T7u;
Chris@82 2795 io[WS(os, 19)] = T7t + T7u;
Chris@82 2796 T7v = T7h - T7i;
Chris@82 2797 T7y = T7w - T7x;
Chris@82 2798 ro[WS(os, 51)] = T7v - T7y;
Chris@82 2799 ro[WS(os, 19)] = T7v + T7y;
Chris@82 2800 }
Chris@82 2801 }
Chris@82 2802 {
Chris@82 2803 E T9j, T9V, Ta0, Taa, Ta3, Tab, T9q, Ta6, T9y, T9Q, T9J, Ta5, T9M, T9W, T9F;
Chris@82 2804 E T9R;
Chris@82 2805 {
Chris@82 2806 E T9h, T9i, T9Y, T9Z;
Chris@82 2807 T9h = T7B + T7C;
Chris@82 2808 T9i = T8J + T8I;
Chris@82 2809 T9j = T9h - T9i;
Chris@82 2810 T9V = T9h + T9i;
Chris@82 2811 T9Y = T9s + T9t;
Chris@82 2812 T9Z = T9v + T9w;
Chris@82 2813 Ta0 = FMA(KP995184726, T9Y, KP098017140 * T9Z);
Chris@82 2814 Taa = FNMS(KP098017140, T9Y, KP995184726 * T9Z);
Chris@82 2815 }
Chris@82 2816 {
Chris@82 2817 E Ta1, Ta2, T9m, T9p;
Chris@82 2818 Ta1 = T9z + T9A;
Chris@82 2819 Ta2 = T9C + T9D;
Chris@82 2820 Ta3 = FNMS(KP098017140, Ta2, KP995184726 * Ta1);
Chris@82 2821 Tab = FMA(KP098017140, Ta1, KP995184726 * Ta2);
Chris@82 2822 T9m = FNMS(KP195090322, T9l, KP980785280 * T9k);
Chris@82 2823 T9p = FMA(KP195090322, T9n, KP980785280 * T9o);
Chris@82 2824 T9q = T9m - T9p;
Chris@82 2825 Ta6 = T9m + T9p;
Chris@82 2826 }
Chris@82 2827 {
Chris@82 2828 E T9u, T9x, T9H, T9I;
Chris@82 2829 T9u = T9s - T9t;
Chris@82 2830 T9x = T9v - T9w;
Chris@82 2831 T9y = FMA(KP634393284, T9u, KP773010453 * T9x);
Chris@82 2832 T9Q = FNMS(KP773010453, T9u, KP634393284 * T9x);
Chris@82 2833 T9H = T8F + T8G;
Chris@82 2834 T9I = T7G + T7J;
Chris@82 2835 T9J = T9H - T9I;
Chris@82 2836 Ta5 = T9H + T9I;
Chris@82 2837 }
Chris@82 2838 {
Chris@82 2839 E T9K, T9L, T9B, T9E;
Chris@82 2840 T9K = FNMS(KP195090322, T9o, KP980785280 * T9n);
Chris@82 2841 T9L = FMA(KP980785280, T9l, KP195090322 * T9k);
Chris@82 2842 T9M = T9K - T9L;
Chris@82 2843 T9W = T9L + T9K;
Chris@82 2844 T9B = T9z - T9A;
Chris@82 2845 T9E = T9C - T9D;
Chris@82 2846 T9F = FNMS(KP773010453, T9E, KP634393284 * T9B);
Chris@82 2847 T9R = FMA(KP773010453, T9B, KP634393284 * T9E);
Chris@82 2848 }
Chris@82 2849 {
Chris@82 2850 E T9r, T9G, T9T, T9U;
Chris@82 2851 T9r = T9j + T9q;
Chris@82 2852 T9G = T9y + T9F;
Chris@82 2853 ro[WS(os, 41)] = T9r - T9G;
Chris@82 2854 ro[WS(os, 9)] = T9r + T9G;
Chris@82 2855 T9T = T9J + T9M;
Chris@82 2856 T9U = T9Q + T9R;
Chris@82 2857 io[WS(os, 41)] = T9T - T9U;
Chris@82 2858 io[WS(os, 9)] = T9T + T9U;
Chris@82 2859 }
Chris@82 2860 {
Chris@82 2861 E T9N, T9O, T9P, T9S;
Chris@82 2862 T9N = T9J - T9M;
Chris@82 2863 T9O = T9F - T9y;
Chris@82 2864 io[WS(os, 57)] = T9N - T9O;
Chris@82 2865 io[WS(os, 25)] = T9N + T9O;
Chris@82 2866 T9P = T9j - T9q;
Chris@82 2867 T9S = T9Q - T9R;
Chris@82 2868 ro[WS(os, 57)] = T9P - T9S;
Chris@82 2869 ro[WS(os, 25)] = T9P + T9S;
Chris@82 2870 }
Chris@82 2871 {
Chris@82 2872 E T9X, Ta4, Tad, Tae;
Chris@82 2873 T9X = T9V + T9W;
Chris@82 2874 Ta4 = Ta0 + Ta3;
Chris@82 2875 ro[WS(os, 33)] = T9X - Ta4;
Chris@82 2876 ro[WS(os, 1)] = T9X + Ta4;
Chris@82 2877 Tad = Ta5 + Ta6;
Chris@82 2878 Tae = Taa + Tab;
Chris@82 2879 io[WS(os, 33)] = Tad - Tae;
Chris@82 2880 io[WS(os, 1)] = Tad + Tae;
Chris@82 2881 }
Chris@82 2882 {
Chris@82 2883 E Ta7, Ta8, Ta9, Tac;
Chris@82 2884 Ta7 = Ta5 - Ta6;
Chris@82 2885 Ta8 = Ta3 - Ta0;
Chris@82 2886 io[WS(os, 49)] = Ta7 - Ta8;
Chris@82 2887 io[WS(os, 17)] = Ta7 + Ta8;
Chris@82 2888 Ta9 = T9V - T9W;
Chris@82 2889 Tac = Taa - Tab;
Chris@82 2890 ro[WS(os, 49)] = Ta9 - Tac;
Chris@82 2891 ro[WS(os, 17)] = Ta9 + Tac;
Chris@82 2892 }
Chris@82 2893 }
Chris@82 2894 {
Chris@82 2895 E T3v, T6j, T6o, T6y, T6r, T6z, T48, T6u, T52, T6e, T67, T6t, T6a, T6k, T5V;
Chris@82 2896 E T6f;
Chris@82 2897 {
Chris@82 2898 E T3f, T3u, T6m, T6n;
Chris@82 2899 T3f = T37 - T3e;
Chris@82 2900 T3u = T3m - T3t;
Chris@82 2901 T3v = T3f - T3u;
Chris@82 2902 T6j = T3f + T3u;
Chris@82 2903 T6m = T4q + T4N;
Chris@82 2904 T6n = T4X + T50;
Chris@82 2905 T6o = FMA(KP634393284, T6m, KP773010453 * T6n);
Chris@82 2906 T6y = FNMS(KP634393284, T6n, KP773010453 * T6m);
Chris@82 2907 }
Chris@82 2908 {
Chris@82 2909 E T6p, T6q, T3O, T47;
Chris@82 2910 T6p = T5j + T5G;
Chris@82 2911 T6q = T5Q + T5T;
Chris@82 2912 T6r = FNMS(KP634393284, T6q, KP773010453 * T6p);
Chris@82 2913 T6z = FMA(KP773010453, T6q, KP634393284 * T6p);
Chris@82 2914 T3O = FNMS(KP980785280, T3N, KP195090322 * T3G);
Chris@82 2915 T47 = FMA(KP195090322, T3Z, KP980785280 * T46);
Chris@82 2916 T48 = T3O - T47;
Chris@82 2917 T6u = T3O + T47;
Chris@82 2918 }
Chris@82 2919 {
Chris@82 2920 E T4O, T51, T63, T66;
Chris@82 2921 T4O = T4q - T4N;
Chris@82 2922 T51 = T4X - T50;
Chris@82 2923 T52 = FMA(KP995184726, T4O, KP098017140 * T51);
Chris@82 2924 T6e = FNMS(KP995184726, T51, KP098017140 * T4O);
Chris@82 2925 T63 = T5Z - T62;
Chris@82 2926 T66 = T64 - T65;
Chris@82 2927 T67 = T63 - T66;
Chris@82 2928 T6t = T63 + T66;
Chris@82 2929 }
Chris@82 2930 {
Chris@82 2931 E T68, T69, T5H, T5U;
Chris@82 2932 T68 = FNMS(KP980785280, T3Z, KP195090322 * T46);
Chris@82 2933 T69 = FMA(KP980785280, T3G, KP195090322 * T3N);
Chris@82 2934 T6a = T68 - T69;
Chris@82 2935 T6k = T69 + T68;
Chris@82 2936 T5H = T5j - T5G;
Chris@82 2937 T5U = T5Q - T5T;
Chris@82 2938 T5V = FNMS(KP995184726, T5U, KP098017140 * T5H);
Chris@82 2939 T6f = FMA(KP098017140, T5U, KP995184726 * T5H);
Chris@82 2940 }
Chris@82 2941 {
Chris@82 2942 E T49, T5W, T6h, T6i;
Chris@82 2943 T49 = T3v + T48;
Chris@82 2944 T5W = T52 + T5V;
Chris@82 2945 ro[WS(os, 47)] = T49 - T5W;
Chris@82 2946 ro[WS(os, 15)] = T49 + T5W;
Chris@82 2947 T6h = T67 + T6a;
Chris@82 2948 T6i = T6e + T6f;
Chris@82 2949 io[WS(os, 47)] = T6h - T6i;
Chris@82 2950 io[WS(os, 15)] = T6h + T6i;
Chris@82 2951 }
Chris@82 2952 {
Chris@82 2953 E T6b, T6c, T6d, T6g;
Chris@82 2954 T6b = T67 - T6a;
Chris@82 2955 T6c = T5V - T52;
Chris@82 2956 io[WS(os, 63)] = T6b - T6c;
Chris@82 2957 io[WS(os, 31)] = T6b + T6c;
Chris@82 2958 T6d = T3v - T48;
Chris@82 2959 T6g = T6e - T6f;
Chris@82 2960 ro[WS(os, 63)] = T6d - T6g;
Chris@82 2961 ro[WS(os, 31)] = T6d + T6g;
Chris@82 2962 }
Chris@82 2963 {
Chris@82 2964 E T6l, T6s, T6B, T6C;
Chris@82 2965 T6l = T6j + T6k;
Chris@82 2966 T6s = T6o + T6r;
Chris@82 2967 ro[WS(os, 39)] = T6l - T6s;
Chris@82 2968 ro[WS(os, 7)] = T6l + T6s;
Chris@82 2969 T6B = T6t + T6u;
Chris@82 2970 T6C = T6y + T6z;
Chris@82 2971 io[WS(os, 39)] = T6B - T6C;
Chris@82 2972 io[WS(os, 7)] = T6B + T6C;
Chris@82 2973 }
Chris@82 2974 {
Chris@82 2975 E T6v, T6w, T6x, T6A;
Chris@82 2976 T6v = T6t - T6u;
Chris@82 2977 T6w = T6r - T6o;
Chris@82 2978 io[WS(os, 55)] = T6v - T6w;
Chris@82 2979 io[WS(os, 23)] = T6v + T6w;
Chris@82 2980 T6x = T6j - T6k;
Chris@82 2981 T6A = T6y - T6z;
Chris@82 2982 ro[WS(os, 55)] = T6x - T6A;
Chris@82 2983 ro[WS(os, 23)] = T6x + T6A;
Chris@82 2984 }
Chris@82 2985 }
Chris@82 2986 {
Chris@82 2987 E T7L, T8X, T92, T9c, T95, T9d, T80, T98, T8k, T8S, T8L, T97, T8O, T8Y, T8D;
Chris@82 2988 E T8T;
Chris@82 2989 {
Chris@82 2990 E T7D, T7K, T90, T91;
Chris@82 2991 T7D = T7B - T7C;
Chris@82 2992 T7K = T7G - T7J;
Chris@82 2993 T7L = T7D - T7K;
Chris@82 2994 T8X = T7D + T7K;
Chris@82 2995 T90 = T84 + T8b;
Chris@82 2996 T91 = T8f + T8i;
Chris@82 2997 T92 = FMA(KP471396736, T90, KP881921264 * T91);
Chris@82 2998 T9c = FNMS(KP471396736, T91, KP881921264 * T90);
Chris@82 2999 }
Chris@82 3000 {
Chris@82 3001 E T93, T94, T7S, T7Z;
Chris@82 3002 T93 = T8n + T8u;
Chris@82 3003 T94 = T8y + T8B;
Chris@82 3004 T95 = FNMS(KP471396736, T94, KP881921264 * T93);
Chris@82 3005 T9d = FMA(KP881921264, T94, KP471396736 * T93);
Chris@82 3006 T7S = FNMS(KP831469612, T7R, KP555570233 * T7O);
Chris@82 3007 T7Z = FMA(KP831469612, T7V, KP555570233 * T7Y);
Chris@82 3008 T80 = T7S - T7Z;
Chris@82 3009 T98 = T7S + T7Z;
Chris@82 3010 }
Chris@82 3011 {
Chris@82 3012 E T8c, T8j, T8H, T8K;
Chris@82 3013 T8c = T84 - T8b;
Chris@82 3014 T8j = T8f - T8i;
Chris@82 3015 T8k = FMA(KP956940335, T8c, KP290284677 * T8j);
Chris@82 3016 T8S = FNMS(KP956940335, T8j, KP290284677 * T8c);
Chris@82 3017 T8H = T8F - T8G;
Chris@82 3018 T8K = T8I - T8J;
Chris@82 3019 T8L = T8H - T8K;
Chris@82 3020 T97 = T8H + T8K;
Chris@82 3021 }
Chris@82 3022 {
Chris@82 3023 E T8M, T8N, T8v, T8C;
Chris@82 3024 T8M = FNMS(KP831469612, T7Y, KP555570233 * T7V);
Chris@82 3025 T8N = FMA(KP555570233, T7R, KP831469612 * T7O);
Chris@82 3026 T8O = T8M - T8N;
Chris@82 3027 T8Y = T8N + T8M;
Chris@82 3028 T8v = T8n - T8u;
Chris@82 3029 T8C = T8y - T8B;
Chris@82 3030 T8D = FNMS(KP956940335, T8C, KP290284677 * T8v);
Chris@82 3031 T8T = FMA(KP290284677, T8C, KP956940335 * T8v);
Chris@82 3032 }
Chris@82 3033 {
Chris@82 3034 E T81, T8E, T8V, T8W;
Chris@82 3035 T81 = T7L + T80;
Chris@82 3036 T8E = T8k + T8D;
Chris@82 3037 ro[WS(os, 45)] = T81 - T8E;
Chris@82 3038 ro[WS(os, 13)] = T81 + T8E;
Chris@82 3039 T8V = T8L + T8O;
Chris@82 3040 T8W = T8S + T8T;
Chris@82 3041 io[WS(os, 45)] = T8V - T8W;
Chris@82 3042 io[WS(os, 13)] = T8V + T8W;
Chris@82 3043 }
Chris@82 3044 {
Chris@82 3045 E T8P, T8Q, T8R, T8U;
Chris@82 3046 T8P = T8L - T8O;
Chris@82 3047 T8Q = T8D - T8k;
Chris@82 3048 io[WS(os, 61)] = T8P - T8Q;
Chris@82 3049 io[WS(os, 29)] = T8P + T8Q;
Chris@82 3050 T8R = T7L - T80;
Chris@82 3051 T8U = T8S - T8T;
Chris@82 3052 ro[WS(os, 61)] = T8R - T8U;
Chris@82 3053 ro[WS(os, 29)] = T8R + T8U;
Chris@82 3054 }
Chris@82 3055 {
Chris@82 3056 E T8Z, T96, T9f, T9g;
Chris@82 3057 T8Z = T8X + T8Y;
Chris@82 3058 T96 = T92 + T95;
Chris@82 3059 ro[WS(os, 37)] = T8Z - T96;
Chris@82 3060 ro[WS(os, 5)] = T8Z + T96;
Chris@82 3061 T9f = T97 + T98;
Chris@82 3062 T9g = T9c + T9d;
Chris@82 3063 io[WS(os, 37)] = T9f - T9g;
Chris@82 3064 io[WS(os, 5)] = T9f + T9g;
Chris@82 3065 }
Chris@82 3066 {
Chris@82 3067 E T99, T9a, T9b, T9e;
Chris@82 3068 T99 = T97 - T98;
Chris@82 3069 T9a = T95 - T92;
Chris@82 3070 io[WS(os, 53)] = T99 - T9a;
Chris@82 3071 io[WS(os, 21)] = T99 + T9a;
Chris@82 3072 T9b = T8X - T8Y;
Chris@82 3073 T9e = T9c - T9d;
Chris@82 3074 ro[WS(os, 53)] = T9b - T9e;
Chris@82 3075 ro[WS(os, 21)] = T9b + T9e;
Chris@82 3076 }
Chris@82 3077 }
Chris@82 3078 }
Chris@82 3079 }
Chris@82 3080 }
Chris@82 3081
Chris@82 3082 static const kdft_desc desc = { 64, "n1_64", {808, 144, 104, 0}, &GENUS, 0, 0, 0, 0 };
Chris@82 3083
Chris@82 3084 void X(codelet_n1_64) (planner *p) {
Chris@82 3085 X(kdft_register) (p, n1_64, &desc);
Chris@82 3086 }
Chris@82 3087
Chris@82 3088 #endif