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