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

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents d0c2a83c1364
children
rev   line source
Chris@82 1 /*
Chris@82 2 * Copyright (c) 2003, 2007-14 Matteo Frigo
Chris@82 3 * Copyright (c) 2003, 2007-14 Massachusetts Institute of Technology
Chris@82 4 *
Chris@82 5 * This program is free software; you can redistribute it and/or modify
Chris@82 6 * it under the terms of the GNU General Public License as published by
Chris@82 7 * the Free Software Foundation; either version 2 of the License, or
Chris@82 8 * (at your option) any later version.
Chris@82 9 *
Chris@82 10 * This program is distributed in the hope that it will be useful,
Chris@82 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Chris@82 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Chris@82 13 * GNU General Public License for more details.
Chris@82 14 *
Chris@82 15 * You should have received a copy of the GNU General Public License
Chris@82 16 * along with this program; if not, write to the Free Software
Chris@82 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Chris@82 18 *
Chris@82 19 */
Chris@82 20
Chris@82 21 /* This file was automatically generated --- DO NOT EDIT */
Chris@82 22 /* Generated on Thu May 24 08:04:10 EDT 2018 */
Chris@82 23
Chris@82 24 #include "dft/codelet-dft.h"
Chris@82 25
Chris@82 26 #if defined(ARCH_PREFERS_FMA) || defined(ISA_EXTENSION_PREFERS_FMA)
Chris@82 27
Chris@82 28 /* Generated by: ../../../genfft/gen_notw.native -fma -compact -variables 4 -pipeline-latency 4 -n 11 -name n1_11 -include dft/scalar/n.h */
Chris@82 29
Chris@82 30 /*
Chris@82 31 * This function contains 140 FP additions, 110 FP multiplications,
Chris@82 32 * (or, 30 additions, 0 multiplications, 110 fused multiply/add),
Chris@82 33 * 62 stack variables, 10 constants, and 44 memory accesses
Chris@82 34 */
Chris@82 35 #include "dft/scalar/n.h"
Chris@82 36
Chris@82 37 static void n1_11(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
Chris@82 38 {
Chris@82 39 DK(KP989821441, +0.989821441880932732376092037776718787376519372);
Chris@82 40 DK(KP959492973, +0.959492973614497389890368057066327699062454848);
Chris@82 41 DK(KP918985947, +0.918985947228994779780736114132655398124909697);
Chris@82 42 DK(KP830830026, +0.830830026003772851058548298459246407048009821);
Chris@82 43 DK(KP876768831, +0.876768831002589333891339807079336796764054852);
Chris@82 44 DK(KP778434453, +0.778434453334651800608337670740821884709317477);
Chris@82 45 DK(KP715370323, +0.715370323453429719112414662767260662417897278);
Chris@82 46 DK(KP521108558, +0.521108558113202722944698153526659300680427422);
Chris@82 47 DK(KP634356270, +0.634356270682424498893150776899916060542806975);
Chris@82 48 DK(KP342584725, +0.342584725681637509502641509861112333758894680);
Chris@82 49 {
Chris@82 50 INT i;
Chris@82 51 for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, ro = ro + ovs, io = io + ovs, MAKE_VOLATILE_STRIDE(44, is), MAKE_VOLATILE_STRIDE(44, os)) {
Chris@82 52 E T1, T1f, T4, T1u, Tg, T1q, T7, T1t, Ta, T1s, Td, T1r, Ti, TP, T26;
Chris@82 53 E TG, T1X, T1O, T1w, TY, T1F, T17, To, T1i, TA, T1k, Tr, T1h, Tu, T1j;
Chris@82 54 E Tx, T1g, TC, TU, T21, TL, T1S, T1J, T1m, T13, T1A, T1c;
Chris@82 55 T1 = ri[0];
Chris@82 56 T1f = ii[0];
Chris@82 57 {
Chris@82 58 E T5, T6, Tp, Tq;
Chris@82 59 {
Chris@82 60 E T2, T3, Te, Tf;
Chris@82 61 T2 = ri[WS(is, 1)];
Chris@82 62 T3 = ri[WS(is, 10)];
Chris@82 63 T4 = T2 + T3;
Chris@82 64 T1u = T3 - T2;
Chris@82 65 Te = ri[WS(is, 5)];
Chris@82 66 Tf = ri[WS(is, 6)];
Chris@82 67 Tg = Te + Tf;
Chris@82 68 T1q = Tf - Te;
Chris@82 69 }
Chris@82 70 T5 = ri[WS(is, 2)];
Chris@82 71 T6 = ri[WS(is, 9)];
Chris@82 72 T7 = T5 + T6;
Chris@82 73 T1t = T6 - T5;
Chris@82 74 {
Chris@82 75 E T8, T9, Tb, Tc;
Chris@82 76 T8 = ri[WS(is, 3)];
Chris@82 77 T9 = ri[WS(is, 8)];
Chris@82 78 Ta = T8 + T9;
Chris@82 79 T1s = T9 - T8;
Chris@82 80 Tb = ri[WS(is, 4)];
Chris@82 81 Tc = ri[WS(is, 7)];
Chris@82 82 Td = Tb + Tc;
Chris@82 83 T1r = Tc - Tb;
Chris@82 84 }
Chris@82 85 {
Chris@82 86 E Th, TO, T25, TF, T1W;
Chris@82 87 Th = FNMS(KP342584725, Ta, T7);
Chris@82 88 Ti = FNMS(KP634356270, Th, Td);
Chris@82 89 TO = FNMS(KP342584725, T4, Ta);
Chris@82 90 TP = FNMS(KP634356270, TO, Tg);
Chris@82 91 T25 = FMA(KP521108558, T1q, T1u);
Chris@82 92 T26 = FMA(KP715370323, T25, T1r);
Chris@82 93 TF = FNMS(KP342584725, Td, T4);
Chris@82 94 TG = FNMS(KP634356270, TF, T7);
Chris@82 95 T1W = FMA(KP521108558, T1s, T1q);
Chris@82 96 T1X = FNMS(KP715370323, T1W, T1t);
Chris@82 97 }
Chris@82 98 {
Chris@82 99 E T1N, T1v, TX, T1E, T16;
Chris@82 100 T1N = FNMS(KP521108558, T1t, T1r);
Chris@82 101 T1O = FMA(KP715370323, T1N, T1q);
Chris@82 102 T1v = FNMS(KP521108558, T1u, T1t);
Chris@82 103 T1w = FNMS(KP715370323, T1v, T1s);
Chris@82 104 TX = FNMS(KP342584725, T7, Tg);
Chris@82 105 TY = FNMS(KP634356270, TX, T4);
Chris@82 106 T1E = FMA(KP521108558, T1r, T1s);
Chris@82 107 T1F = FMA(KP715370323, T1E, T1u);
Chris@82 108 T16 = FNMS(KP342584725, Tg, Td);
Chris@82 109 T17 = FNMS(KP634356270, T16, Ta);
Chris@82 110 }
Chris@82 111 {
Chris@82 112 E Tm, Tn, Ty, Tz;
Chris@82 113 Tm = ii[WS(is, 3)];
Chris@82 114 Tn = ii[WS(is, 8)];
Chris@82 115 To = Tm - Tn;
Chris@82 116 T1i = Tm + Tn;
Chris@82 117 Ty = ii[WS(is, 5)];
Chris@82 118 Tz = ii[WS(is, 6)];
Chris@82 119 TA = Ty - Tz;
Chris@82 120 T1k = Ty + Tz;
Chris@82 121 }
Chris@82 122 Tp = ii[WS(is, 2)];
Chris@82 123 Tq = ii[WS(is, 9)];
Chris@82 124 Tr = Tp - Tq;
Chris@82 125 T1h = Tp + Tq;
Chris@82 126 {
Chris@82 127 E Ts, Tt, Tv, Tw;
Chris@82 128 Ts = ii[WS(is, 4)];
Chris@82 129 Tt = ii[WS(is, 7)];
Chris@82 130 Tu = Ts - Tt;
Chris@82 131 T1j = Ts + Tt;
Chris@82 132 Tv = ii[WS(is, 1)];
Chris@82 133 Tw = ii[WS(is, 10)];
Chris@82 134 Tx = Tv - Tw;
Chris@82 135 T1g = Tv + Tw;
Chris@82 136 }
Chris@82 137 {
Chris@82 138 E TB, TT, T20, TK, T1R;
Chris@82 139 TB = FMA(KP521108558, TA, Tx);
Chris@82 140 TC = FMA(KP715370323, TB, Tu);
Chris@82 141 TT = FNMS(KP521108558, Tr, Tu);
Chris@82 142 TU = FMA(KP715370323, TT, TA);
Chris@82 143 T20 = FNMS(KP342584725, T1i, T1h);
Chris@82 144 T21 = FNMS(KP634356270, T20, T1j);
Chris@82 145 TK = FMA(KP521108558, To, TA);
Chris@82 146 TL = FNMS(KP715370323, TK, Tr);
Chris@82 147 T1R = FNMS(KP342584725, T1j, T1g);
Chris@82 148 T1S = FNMS(KP634356270, T1R, T1h);
Chris@82 149 }
Chris@82 150 {
Chris@82 151 E T1I, T1l, T12, T1z, T1b;
Chris@82 152 T1I = FNMS(KP342584725, T1g, T1i);
Chris@82 153 T1J = FNMS(KP634356270, T1I, T1k);
Chris@82 154 T1l = FNMS(KP342584725, T1k, T1j);
Chris@82 155 T1m = FNMS(KP634356270, T1l, T1i);
Chris@82 156 T12 = FMA(KP521108558, Tu, To);
Chris@82 157 T13 = FMA(KP715370323, T12, Tx);
Chris@82 158 T1z = FNMS(KP342584725, T1h, T1k);
Chris@82 159 T1A = FNMS(KP634356270, T1z, T1g);
Chris@82 160 T1b = FNMS(KP521108558, Tx, Tr);
Chris@82 161 T1c = FNMS(KP715370323, T1b, To);
Chris@82 162 }
Chris@82 163 }
Chris@82 164 ro[0] = T1 + T4 + T7 + Ta + Td + Tg;
Chris@82 165 io[0] = T1f + T1g + T1h + T1i + T1j + T1k;
Chris@82 166 {
Chris@82 167 E Tk, TE, Tj, TD, Tl;
Chris@82 168 Tj = FNMS(KP778434453, Ti, T4);
Chris@82 169 Tk = FNMS(KP876768831, Tj, Tg);
Chris@82 170 TD = FMA(KP830830026, TC, Tr);
Chris@82 171 TE = FMA(KP918985947, TD, To);
Chris@82 172 Tl = FNMS(KP959492973, Tk, T1);
Chris@82 173 ro[WS(os, 10)] = FNMS(KP989821441, TE, Tl);
Chris@82 174 ro[WS(os, 1)] = FMA(KP989821441, TE, Tl);
Chris@82 175 }
Chris@82 176 {
Chris@82 177 E T23, T28, T22, T27, T24;
Chris@82 178 T22 = FNMS(KP778434453, T21, T1g);
Chris@82 179 T23 = FNMS(KP876768831, T22, T1k);
Chris@82 180 T27 = FMA(KP830830026, T26, T1t);
Chris@82 181 T28 = FMA(KP918985947, T27, T1s);
Chris@82 182 T24 = FNMS(KP959492973, T23, T1f);
Chris@82 183 io[WS(os, 1)] = FMA(KP989821441, T28, T24);
Chris@82 184 io[WS(os, 10)] = FNMS(KP989821441, T28, T24);
Chris@82 185 }
Chris@82 186 {
Chris@82 187 E T1U, T1Z, T1T, T1Y, T1V;
Chris@82 188 T1T = FNMS(KP778434453, T1S, T1k);
Chris@82 189 T1U = FNMS(KP876768831, T1T, T1i);
Chris@82 190 T1Y = FMA(KP830830026, T1X, T1u);
Chris@82 191 T1Z = FNMS(KP918985947, T1Y, T1r);
Chris@82 192 T1V = FNMS(KP959492973, T1U, T1f);
Chris@82 193 io[WS(os, 2)] = FNMS(KP989821441, T1Z, T1V);
Chris@82 194 io[WS(os, 9)] = FMA(KP989821441, T1Z, T1V);
Chris@82 195 }
Chris@82 196 {
Chris@82 197 E TI, TN, TH, TM, TJ;
Chris@82 198 TH = FNMS(KP778434453, TG, Tg);
Chris@82 199 TI = FNMS(KP876768831, TH, Ta);
Chris@82 200 TM = FMA(KP830830026, TL, Tx);
Chris@82 201 TN = FNMS(KP918985947, TM, Tu);
Chris@82 202 TJ = FNMS(KP959492973, TI, T1);
Chris@82 203 ro[WS(os, 2)] = FNMS(KP989821441, TN, TJ);
Chris@82 204 ro[WS(os, 9)] = FMA(KP989821441, TN, TJ);
Chris@82 205 }
Chris@82 206 {
Chris@82 207 E TR, TW, TQ, TV, TS;
Chris@82 208 TQ = FNMS(KP778434453, TP, Td);
Chris@82 209 TR = FNMS(KP876768831, TQ, T7);
Chris@82 210 TV = FNMS(KP830830026, TU, To);
Chris@82 211 TW = FNMS(KP918985947, TV, Tx);
Chris@82 212 TS = FNMS(KP959492973, TR, T1);
Chris@82 213 ro[WS(os, 8)] = FNMS(KP989821441, TW, TS);
Chris@82 214 ro[WS(os, 3)] = FMA(KP989821441, TW, TS);
Chris@82 215 }
Chris@82 216 {
Chris@82 217 E T1L, T1Q, T1K, T1P, T1M;
Chris@82 218 T1K = FNMS(KP778434453, T1J, T1j);
Chris@82 219 T1L = FNMS(KP876768831, T1K, T1h);
Chris@82 220 T1P = FNMS(KP830830026, T1O, T1s);
Chris@82 221 T1Q = FNMS(KP918985947, T1P, T1u);
Chris@82 222 T1M = FNMS(KP959492973, T1L, T1f);
Chris@82 223 io[WS(os, 3)] = FMA(KP989821441, T1Q, T1M);
Chris@82 224 io[WS(os, 8)] = FNMS(KP989821441, T1Q, T1M);
Chris@82 225 }
Chris@82 226 {
Chris@82 227 E T10, T15, TZ, T14, T11;
Chris@82 228 TZ = FNMS(KP778434453, TY, Ta);
Chris@82 229 T10 = FNMS(KP876768831, TZ, Td);
Chris@82 230 T14 = FNMS(KP830830026, T13, TA);
Chris@82 231 T15 = FMA(KP918985947, T14, Tr);
Chris@82 232 T11 = FNMS(KP959492973, T10, T1);
Chris@82 233 ro[WS(os, 4)] = FNMS(KP989821441, T15, T11);
Chris@82 234 ro[WS(os, 7)] = FMA(KP989821441, T15, T11);
Chris@82 235 }
Chris@82 236 {
Chris@82 237 E T1C, T1H, T1B, T1G, T1D;
Chris@82 238 T1B = FNMS(KP778434453, T1A, T1i);
Chris@82 239 T1C = FNMS(KP876768831, T1B, T1j);
Chris@82 240 T1G = FNMS(KP830830026, T1F, T1q);
Chris@82 241 T1H = FMA(KP918985947, T1G, T1t);
Chris@82 242 T1D = FNMS(KP959492973, T1C, T1f);
Chris@82 243 io[WS(os, 4)] = FNMS(KP989821441, T1H, T1D);
Chris@82 244 io[WS(os, 7)] = FMA(KP989821441, T1H, T1D);
Chris@82 245 }
Chris@82 246 {
Chris@82 247 E T1o, T1y, T1n, T1x, T1p;
Chris@82 248 T1n = FNMS(KP778434453, T1m, T1h);
Chris@82 249 T1o = FNMS(KP876768831, T1n, T1g);
Chris@82 250 T1x = FNMS(KP830830026, T1w, T1r);
Chris@82 251 T1y = FNMS(KP918985947, T1x, T1q);
Chris@82 252 T1p = FNMS(KP959492973, T1o, T1f);
Chris@82 253 io[WS(os, 5)] = FMA(KP989821441, T1y, T1p);
Chris@82 254 io[WS(os, 6)] = FNMS(KP989821441, T1y, T1p);
Chris@82 255 }
Chris@82 256 {
Chris@82 257 E T19, T1e, T18, T1d, T1a;
Chris@82 258 T18 = FNMS(KP778434453, T17, T7);
Chris@82 259 T19 = FNMS(KP876768831, T18, T4);
Chris@82 260 T1d = FNMS(KP830830026, T1c, Tu);
Chris@82 261 T1e = FNMS(KP918985947, T1d, TA);
Chris@82 262 T1a = FNMS(KP959492973, T19, T1);
Chris@82 263 ro[WS(os, 6)] = FNMS(KP989821441, T1e, T1a);
Chris@82 264 ro[WS(os, 5)] = FMA(KP989821441, T1e, T1a);
Chris@82 265 }
Chris@82 266 }
Chris@82 267 }
Chris@82 268 }
Chris@82 269
Chris@82 270 static const kdft_desc desc = { 11, "n1_11", {30, 0, 110, 0}, &GENUS, 0, 0, 0, 0 };
Chris@82 271
Chris@82 272 void X(codelet_n1_11) (planner *p) {
Chris@82 273 X(kdft_register) (p, n1_11, &desc);
Chris@82 274 }
Chris@82 275
Chris@82 276 #else
Chris@82 277
Chris@82 278 /* Generated by: ../../../genfft/gen_notw.native -compact -variables 4 -pipeline-latency 4 -n 11 -name n1_11 -include dft/scalar/n.h */
Chris@82 279
Chris@82 280 /*
Chris@82 281 * This function contains 140 FP additions, 100 FP multiplications,
Chris@82 282 * (or, 60 additions, 20 multiplications, 80 fused multiply/add),
Chris@82 283 * 41 stack variables, 10 constants, and 44 memory accesses
Chris@82 284 */
Chris@82 285 #include "dft/scalar/n.h"
Chris@82 286
Chris@82 287 static void n1_11(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs)
Chris@82 288 {
Chris@82 289 DK(KP654860733, +0.654860733945285064056925072466293553183791199);
Chris@82 290 DK(KP142314838, +0.142314838273285140443792668616369668791051361);
Chris@82 291 DK(KP959492973, +0.959492973614497389890368057066327699062454848);
Chris@82 292 DK(KP415415013, +0.415415013001886425529274149229623203524004910);
Chris@82 293 DK(KP841253532, +0.841253532831181168861811648919367717513292498);
Chris@82 294 DK(KP989821441, +0.989821441880932732376092037776718787376519372);
Chris@82 295 DK(KP909631995, +0.909631995354518371411715383079028460060241051);
Chris@82 296 DK(KP281732556, +0.281732556841429697711417915346616899035777899);
Chris@82 297 DK(KP540640817, +0.540640817455597582107635954318691695431770608);
Chris@82 298 DK(KP755749574, +0.755749574354258283774035843972344420179717445);
Chris@82 299 {
Chris@82 300 INT i;
Chris@82 301 for (i = v; i > 0; i = i - 1, ri = ri + ivs, ii = ii + ivs, ro = ro + ovs, io = io + ovs, MAKE_VOLATILE_STRIDE(44, is), MAKE_VOLATILE_STRIDE(44, os)) {
Chris@82 302 E T1, TM, T4, TG, Tk, TR, Tw, TN, T7, TK, Ta, TH, Tn, TQ, Td;
Chris@82 303 E TJ, Tq, TO, Tt, TP, Tg, TI;
Chris@82 304 {
Chris@82 305 E T2, T3, Ti, Tj;
Chris@82 306 T1 = ri[0];
Chris@82 307 TM = ii[0];
Chris@82 308 T2 = ri[WS(is, 1)];
Chris@82 309 T3 = ri[WS(is, 10)];
Chris@82 310 T4 = T2 + T3;
Chris@82 311 TG = T3 - T2;
Chris@82 312 Ti = ii[WS(is, 1)];
Chris@82 313 Tj = ii[WS(is, 10)];
Chris@82 314 Tk = Ti - Tj;
Chris@82 315 TR = Ti + Tj;
Chris@82 316 {
Chris@82 317 E Tu, Tv, T5, T6;
Chris@82 318 Tu = ii[WS(is, 2)];
Chris@82 319 Tv = ii[WS(is, 9)];
Chris@82 320 Tw = Tu - Tv;
Chris@82 321 TN = Tu + Tv;
Chris@82 322 T5 = ri[WS(is, 2)];
Chris@82 323 T6 = ri[WS(is, 9)];
Chris@82 324 T7 = T5 + T6;
Chris@82 325 TK = T6 - T5;
Chris@82 326 }
Chris@82 327 }
Chris@82 328 {
Chris@82 329 E T8, T9, To, Tp;
Chris@82 330 T8 = ri[WS(is, 3)];
Chris@82 331 T9 = ri[WS(is, 8)];
Chris@82 332 Ta = T8 + T9;
Chris@82 333 TH = T9 - T8;
Chris@82 334 {
Chris@82 335 E Tl, Tm, Tb, Tc;
Chris@82 336 Tl = ii[WS(is, 3)];
Chris@82 337 Tm = ii[WS(is, 8)];
Chris@82 338 Tn = Tl - Tm;
Chris@82 339 TQ = Tl + Tm;
Chris@82 340 Tb = ri[WS(is, 4)];
Chris@82 341 Tc = ri[WS(is, 7)];
Chris@82 342 Td = Tb + Tc;
Chris@82 343 TJ = Tc - Tb;
Chris@82 344 }
Chris@82 345 To = ii[WS(is, 4)];
Chris@82 346 Tp = ii[WS(is, 7)];
Chris@82 347 Tq = To - Tp;
Chris@82 348 TO = To + Tp;
Chris@82 349 {
Chris@82 350 E Tr, Ts, Te, Tf;
Chris@82 351 Tr = ii[WS(is, 5)];
Chris@82 352 Ts = ii[WS(is, 6)];
Chris@82 353 Tt = Tr - Ts;
Chris@82 354 TP = Tr + Ts;
Chris@82 355 Te = ri[WS(is, 5)];
Chris@82 356 Tf = ri[WS(is, 6)];
Chris@82 357 Tg = Te + Tf;
Chris@82 358 TI = Tf - Te;
Chris@82 359 }
Chris@82 360 }
Chris@82 361 {
Chris@82 362 E Tx, Th, TZ, T10;
Chris@82 363 ro[0] = T1 + T4 + T7 + Ta + Td + Tg;
Chris@82 364 io[0] = TM + TR + TN + TQ + TO + TP;
Chris@82 365 Tx = FMA(KP755749574, Tk, KP540640817 * Tn) + FNMS(KP909631995, Tt, KP281732556 * Tq) - (KP989821441 * Tw);
Chris@82 366 Th = FMA(KP841253532, Ta, T1) + FNMS(KP959492973, Td, KP415415013 * Tg) + FNMA(KP142314838, T7, KP654860733 * T4);
Chris@82 367 ro[WS(os, 7)] = Th - Tx;
Chris@82 368 ro[WS(os, 4)] = Th + Tx;
Chris@82 369 TZ = FMA(KP755749574, TG, KP540640817 * TH) + FNMS(KP909631995, TI, KP281732556 * TJ) - (KP989821441 * TK);
Chris@82 370 T10 = FMA(KP841253532, TQ, TM) + FNMS(KP959492973, TO, KP415415013 * TP) + FNMA(KP142314838, TN, KP654860733 * TR);
Chris@82 371 io[WS(os, 4)] = TZ + T10;
Chris@82 372 io[WS(os, 7)] = T10 - TZ;
Chris@82 373 {
Chris@82 374 E TX, TY, Tz, Ty;
Chris@82 375 TX = FMA(KP909631995, TG, KP755749574 * TK) + FNMA(KP540640817, TI, KP989821441 * TJ) - (KP281732556 * TH);
Chris@82 376 TY = FMA(KP415415013, TR, TM) + FNMS(KP142314838, TO, KP841253532 * TP) + FNMA(KP959492973, TQ, KP654860733 * TN);
Chris@82 377 io[WS(os, 2)] = TX + TY;
Chris@82 378 io[WS(os, 9)] = TY - TX;
Chris@82 379 Tz = FMA(KP909631995, Tk, KP755749574 * Tw) + FNMA(KP540640817, Tt, KP989821441 * Tq) - (KP281732556 * Tn);
Chris@82 380 Ty = FMA(KP415415013, T4, T1) + FNMS(KP142314838, Td, KP841253532 * Tg) + FNMA(KP959492973, Ta, KP654860733 * T7);
Chris@82 381 ro[WS(os, 9)] = Ty - Tz;
Chris@82 382 ro[WS(os, 2)] = Ty + Tz;
Chris@82 383 }
Chris@82 384 }
Chris@82 385 {
Chris@82 386 E TB, TA, TT, TU;
Chris@82 387 TB = FMA(KP540640817, Tk, KP909631995 * Tw) + FMA(KP989821441, Tn, KP755749574 * Tq) + (KP281732556 * Tt);
Chris@82 388 TA = FMA(KP841253532, T4, T1) + FNMS(KP959492973, Tg, KP415415013 * T7) + FNMA(KP654860733, Td, KP142314838 * Ta);
Chris@82 389 ro[WS(os, 10)] = TA - TB;
Chris@82 390 ro[WS(os, 1)] = TA + TB;
Chris@82 391 {
Chris@82 392 E TV, TW, TD, TC;
Chris@82 393 TV = FMA(KP540640817, TG, KP909631995 * TK) + FMA(KP989821441, TH, KP755749574 * TJ) + (KP281732556 * TI);
Chris@82 394 TW = FMA(KP841253532, TR, TM) + FNMS(KP959492973, TP, KP415415013 * TN) + FNMA(KP654860733, TO, KP142314838 * TQ);
Chris@82 395 io[WS(os, 1)] = TV + TW;
Chris@82 396 io[WS(os, 10)] = TW - TV;
Chris@82 397 TD = FMA(KP989821441, Tk, KP540640817 * Tq) + FNMS(KP909631995, Tn, KP755749574 * Tt) - (KP281732556 * Tw);
Chris@82 398 TC = FMA(KP415415013, Ta, T1) + FNMS(KP654860733, Tg, KP841253532 * Td) + FNMA(KP959492973, T7, KP142314838 * T4);
Chris@82 399 ro[WS(os, 8)] = TC - TD;
Chris@82 400 ro[WS(os, 3)] = TC + TD;
Chris@82 401 }
Chris@82 402 TT = FMA(KP989821441, TG, KP540640817 * TJ) + FNMS(KP909631995, TH, KP755749574 * TI) - (KP281732556 * TK);
Chris@82 403 TU = FMA(KP415415013, TQ, TM) + FNMS(KP654860733, TP, KP841253532 * TO) + FNMA(KP959492973, TN, KP142314838 * TR);
Chris@82 404 io[WS(os, 3)] = TT + TU;
Chris@82 405 io[WS(os, 8)] = TU - TT;
Chris@82 406 {
Chris@82 407 E TL, TS, TF, TE;
Chris@82 408 TL = FMA(KP281732556, TG, KP755749574 * TH) + FNMS(KP909631995, TJ, KP989821441 * TI) - (KP540640817 * TK);
Chris@82 409 TS = FMA(KP841253532, TN, TM) + FNMS(KP142314838, TP, KP415415013 * TO) + FNMA(KP654860733, TQ, KP959492973 * TR);
Chris@82 410 io[WS(os, 5)] = TL + TS;
Chris@82 411 io[WS(os, 6)] = TS - TL;
Chris@82 412 TF = FMA(KP281732556, Tk, KP755749574 * Tn) + FNMS(KP909631995, Tq, KP989821441 * Tt) - (KP540640817 * Tw);
Chris@82 413 TE = FMA(KP841253532, T7, T1) + FNMS(KP142314838, Tg, KP415415013 * Td) + FNMA(KP654860733, Ta, KP959492973 * T4);
Chris@82 414 ro[WS(os, 6)] = TE - TF;
Chris@82 415 ro[WS(os, 5)] = TE + TF;
Chris@82 416 }
Chris@82 417 }
Chris@82 418 }
Chris@82 419 }
Chris@82 420 }
Chris@82 421
Chris@82 422 static const kdft_desc desc = { 11, "n1_11", {60, 20, 80, 0}, &GENUS, 0, 0, 0, 0 };
Chris@82 423
Chris@82 424 void X(codelet_n1_11) (planner *p) {
Chris@82 425 X(kdft_register) (p, n1_11, &desc);
Chris@82 426 }
Chris@82 427
Chris@82 428 #endif