annotate src/fftw-3.3.8/rdft/scalar/r2cf/r2cf_25.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:06:27 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_r2cf.native -fma -compact -variables 4 -pipeline-latency 4 -n 25 -name r2cf_25 -include rdft/scalar/r2cf.h */
Chris@82 29
Chris@82 30 /*
Chris@82 31 * This function contains 200 FP additions, 168 FP multiplications,
Chris@82 32 * (or, 44 additions, 12 multiplications, 156 fused multiply/add),
Chris@82 33 * 127 stack variables, 66 constants, and 50 memory accesses
Chris@82 34 */
Chris@82 35 #include "rdft/scalar/r2cf.h"
Chris@82 36
Chris@82 37 static void r2cf_25(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(KP792626838, +0.792626838241819413632131824093538848057784557);
Chris@82 40 DK(KP876091699, +0.876091699473550838204498029706869638173524346);
Chris@82 41 DK(KP809385824, +0.809385824416008241660603814668679683846476688);
Chris@82 42 DK(KP860541664, +0.860541664367944677098261680920518816412804187);
Chris@82 43 DK(KP560319534, +0.560319534973832390111614715371676131169633784);
Chris@82 44 DK(KP681693190, +0.681693190061530575150324149145440022633095390);
Chris@82 45 DK(KP237294955, +0.237294955877110315393888866460840817927895961);
Chris@82 46 DK(KP897376177, +0.897376177523557693138608077137219684419427330);
Chris@82 47 DK(KP997675361, +0.997675361079556513670859573984492383596555031);
Chris@82 48 DK(KP923225144, +0.923225144846402650453449441572664695995209956);
Chris@82 49 DK(KP956723877, +0.956723877038460305821989399535483155872969262);
Chris@82 50 DK(KP949179823, +0.949179823508441261575555465843363271711583843);
Chris@82 51 DK(KP570584518, +0.570584518783621657366766175430996792655723863);
Chris@82 52 DK(KP669429328, +0.669429328479476605641803240971985825917022098);
Chris@82 53 DK(KP262346850, +0.262346850930607871785420028382979691334784273);
Chris@82 54 DK(KP906616052, +0.906616052148196230441134447086066874408359177);
Chris@82 55 DK(KP921078979, +0.921078979742360627699756128143719920817673854);
Chris@82 56 DK(KP845997307, +0.845997307939530944175097360758058292389769300);
Chris@82 57 DK(KP982009705, +0.982009705009746369461829878184175962711969869);
Chris@82 58 DK(KP876306680, +0.876306680043863587308115903922062583399064238);
Chris@82 59 DK(KP559154169, +0.559154169276087864842202529084232643714075927);
Chris@82 60 DK(KP683113946, +0.683113946453479238701949862233725244439656928);
Chris@82 61 DK(KP242145790, +0.242145790282157779872542093866183953459003101);
Chris@82 62 DK(KP968583161, +0.968583161128631119490168375464735813836012403);
Chris@82 63 DK(KP999754674, +0.999754674276473633366203429228112409535557487);
Chris@82 64 DK(KP904508497, +0.904508497187473712051146708591409529430077295);
Chris@82 65 DK(KP904730450, +0.904730450839922351881287709692877908104763647);
Chris@82 66 DK(KP916574801, +0.916574801383451584742370439148878693530976769);
Chris@82 67 DK(KP831864738, +0.831864738706457140726048799369896829771167132);
Chris@82 68 DK(KP829049696, +0.829049696159252993975487806364305442437946767);
Chris@82 69 DK(KP855719849, +0.855719849902058969314654733608091555096772472);
Chris@82 70 DK(KP952936919, +0.952936919628306576880750665357914584765951388);
Chris@82 71 DK(KP998026728, +0.998026728428271561952336806863450553336905220);
Chris@82 72 DK(KP690983005, +0.690983005625052575897706582817180941139845410);
Chris@82 73 DK(KP522616830, +0.522616830205754336872861364785224694908468440);
Chris@82 74 DK(KP772036680, +0.772036680810363904029489473607579825330539880);
Chris@82 75 DK(KP734762448, +0.734762448793050413546343770063151342619912334);
Chris@82 76 DK(KP803003575, +0.803003575438660414833440593570376004635464850);
Chris@82 77 DK(KP999544308, +0.999544308746292983948881682379742149196758193);
Chris@82 78 DK(KP992114701, +0.992114701314477831049793042785778521453036709);
Chris@82 79 DK(KP763932022, +0.763932022500210303590826331268723764559381640);
Chris@82 80 DK(KP894834959, +0.894834959464455102997960030820114611498661386);
Chris@82 81 DK(KP447417479, +0.447417479732227551498980015410057305749330693);
Chris@82 82 DK(KP867381224, +0.867381224396525206773171885031575671309956167);
Chris@82 83 DK(KP958953096, +0.958953096729998668045963838399037225970891871);
Chris@82 84 DK(KP912575812, +0.912575812670962425556968549836277086778922727);
Chris@82 85 DK(KP951056516, +0.951056516295153572116439333379382143405698634);
Chris@82 86 DK(KP244189809, +0.244189809627953270309879511234821255780225091);
Chris@82 87 DK(KP522847744, +0.522847744331509716623755382187077770911012542);
Chris@82 88 DK(KP578046249, +0.578046249379945007321754579646815604023525655);
Chris@82 89 DK(KP269969613, +0.269969613759572083574752974412347470060951301);
Chris@82 90 DK(KP667278218, +0.667278218140296670899089292254759909713898805);
Chris@82 91 DK(KP494780565, +0.494780565770515410344588413655324772219443730);
Chris@82 92 DK(KP447533225, +0.447533225982656890041886979663652563063114397);
Chris@82 93 DK(KP603558818, +0.603558818296015001454675132653458027918768137);
Chris@82 94 DK(KP120146378, +0.120146378570687701782758537356596213647956445);
Chris@82 95 DK(KP869845200, +0.869845200362138853122720822420327157933056305);
Chris@82 96 DK(KP786782374, +0.786782374965295178365099601674911834788448471);
Chris@82 97 DK(KP132830569, +0.132830569247582714407653942074819768844536507);
Chris@82 98 DK(KP893101515, +0.893101515366181661711202267938416198338079437);
Chris@82 99 DK(KP066152395, +0.066152395967733048213034281011006031460903353);
Chris@82 100 DK(KP059835404, +0.059835404262124915169548397419498386427871950);
Chris@82 101 DK(KP987388751, +0.987388751065621252324603216482382109400433949);
Chris@82 102 DK(KP559016994, +0.559016994374947424102293417182819058860154590);
Chris@82 103 DK(KP250000000, +0.250000000000000000000000000000000000000000000);
Chris@82 104 DK(KP618033988, +0.618033988749894848204586834365638117720309180);
Chris@82 105 {
Chris@82 106 INT i;
Chris@82 107 for (i = v; i > 0; i = i - 1, R0 = R0 + ivs, R1 = R1 + ivs, Cr = Cr + ovs, Ci = Ci + ovs, MAKE_VOLATILE_STRIDE(100, rs), MAKE_VOLATILE_STRIDE(100, csr), MAKE_VOLATILE_STRIDE(100, csi)) {
Chris@82 108 E T2p, TJ, T2u, T1O, T2s, T2t, TB, T1c, T26, T2e, T1k, T1r, T1M, T21, T1B;
Chris@82 109 E T9, TX, T29, T2k, T1h, T1v, T1R, T1X, T1z, Ti, TQ, T2a, T2j, T1g, T1u;
Chris@82 110 E T1U, T1Y, T1y, Ts, T15, T27, T2f, T1j, T1s, T1J, T20, T1C, Tj, TC;
Chris@82 111 {
Chris@82 112 E TI, T2r, TF, T2q;
Chris@82 113 T2p = R0[0];
Chris@82 114 {
Chris@82 115 E TG, TH, TD, TE;
Chris@82 116 TG = R0[WS(rs, 5)];
Chris@82 117 TH = R1[WS(rs, 7)];
Chris@82 118 TI = TG - TH;
Chris@82 119 T2r = TG + TH;
Chris@82 120 TD = R1[WS(rs, 2)];
Chris@82 121 TE = R0[WS(rs, 10)];
Chris@82 122 TF = TD - TE;
Chris@82 123 T2q = TD + TE;
Chris@82 124 }
Chris@82 125 TJ = FMA(KP618033988, TI, TF);
Chris@82 126 T2u = T2q - T2r;
Chris@82 127 T1O = FNMS(KP618033988, TF, TI);
Chris@82 128 T2s = T2q + T2r;
Chris@82 129 T2t = FNMS(KP250000000, T2s, T2p);
Chris@82 130 }
Chris@82 131 {
Chris@82 132 E Tt, TA, T1a, T16, T17;
Chris@82 133 Tt = R1[WS(rs, 1)];
Chris@82 134 {
Chris@82 135 E Tu, Tv, Tw, Tx, Ty, Tz;
Chris@82 136 Tu = R0[WS(rs, 4)];
Chris@82 137 Tv = R1[WS(rs, 11)];
Chris@82 138 Tw = Tu + Tv;
Chris@82 139 Tx = R1[WS(rs, 6)];
Chris@82 140 Ty = R0[WS(rs, 9)];
Chris@82 141 Tz = Tx + Ty;
Chris@82 142 TA = Tw + Tz;
Chris@82 143 T1a = Tz - Tw;
Chris@82 144 T16 = Tv - Tu;
Chris@82 145 T17 = Tx - Ty;
Chris@82 146 }
Chris@82 147 TB = Tt + TA;
Chris@82 148 {
Chris@82 149 E T18, T1L, T1b, T1K, T19;
Chris@82 150 T18 = FNMS(KP618033988, T17, T16);
Chris@82 151 T1L = FMA(KP618033988, T16, T17);
Chris@82 152 T19 = FNMS(KP250000000, TA, Tt);
Chris@82 153 T1b = FNMS(KP559016994, T1a, T19);
Chris@82 154 T1K = FMA(KP559016994, T1a, T19);
Chris@82 155 T1c = FNMS(KP987388751, T1b, T18);
Chris@82 156 T26 = FNMS(KP059835404, T1L, T1K);
Chris@82 157 T2e = FMA(KP066152395, T1K, T1L);
Chris@82 158 T1k = FMA(KP893101515, T18, T1b);
Chris@82 159 T1r = FNMS(KP132830569, T1b, T18);
Chris@82 160 T1M = FNMS(KP786782374, T1L, T1K);
Chris@82 161 T21 = FMA(KP869845200, T1K, T1L);
Chris@82 162 T1B = FMA(KP120146378, T18, T1b);
Chris@82 163 }
Chris@82 164 }
Chris@82 165 {
Chris@82 166 E T1, T8, TV, TS, TU;
Chris@82 167 T1 = R0[WS(rs, 2)];
Chris@82 168 {
Chris@82 169 E T2, T3, T4, T5, T6, T7;
Chris@82 170 T2 = R1[WS(rs, 4)];
Chris@82 171 T3 = R0[WS(rs, 12)];
Chris@82 172 T4 = T2 + T3;
Chris@82 173 T5 = R0[WS(rs, 7)];
Chris@82 174 T6 = R1[WS(rs, 9)];
Chris@82 175 T7 = T5 + T6;
Chris@82 176 T8 = T4 + T7;
Chris@82 177 TV = T5 - T6;
Chris@82 178 TS = T4 - T7;
Chris@82 179 TU = T3 - T2;
Chris@82 180 }
Chris@82 181 T9 = T1 + T8;
Chris@82 182 {
Chris@82 183 E TW, T1P, TT, T1Q, TR;
Chris@82 184 TW = FNMS(KP618033988, TV, TU);
Chris@82 185 T1P = FMA(KP618033988, TU, TV);
Chris@82 186 TR = FMS(KP250000000, T8, T1);
Chris@82 187 TT = FNMS(KP559016994, TS, TR);
Chris@82 188 T1Q = FMA(KP559016994, TS, TR);
Chris@82 189 TX = FMA(KP603558818, TW, TT);
Chris@82 190 T29 = FNMS(KP447533225, T1P, T1Q);
Chris@82 191 T2k = FMA(KP494780565, T1Q, T1P);
Chris@82 192 T1h = FNMS(KP667278218, TT, TW);
Chris@82 193 T1v = FNMS(KP786782374, TW, TT);
Chris@82 194 T1R = FMA(KP132830569, T1Q, T1P);
Chris@82 195 T1X = FNMS(KP120146378, T1P, T1Q);
Chris@82 196 T1z = FMA(KP869845200, TT, TW);
Chris@82 197 }
Chris@82 198 }
Chris@82 199 {
Chris@82 200 E Ta, Th, TO, TK, TL;
Chris@82 201 Ta = R1[0];
Chris@82 202 {
Chris@82 203 E Tb, Tc, Td, Te, Tf, Tg;
Chris@82 204 Tb = R0[WS(rs, 3)];
Chris@82 205 Tc = R1[WS(rs, 10)];
Chris@82 206 Td = Tb + Tc;
Chris@82 207 Te = R1[WS(rs, 5)];
Chris@82 208 Tf = R0[WS(rs, 8)];
Chris@82 209 Tg = Te + Tf;
Chris@82 210 Th = Td + Tg;
Chris@82 211 TO = Td - Tg;
Chris@82 212 TK = Tb - Tc;
Chris@82 213 TL = Tf - Te;
Chris@82 214 }
Chris@82 215 Ti = Ta + Th;
Chris@82 216 {
Chris@82 217 E TM, T1S, TP, T1T, TN;
Chris@82 218 TM = FNMS(KP618033988, TL, TK);
Chris@82 219 T1S = FMA(KP618033988, TK, TL);
Chris@82 220 TN = FNMS(KP250000000, Th, Ta);
Chris@82 221 TP = FMA(KP559016994, TO, TN);
Chris@82 222 T1T = FNMS(KP559016994, TO, TN);
Chris@82 223 TQ = FMA(KP269969613, TP, TM);
Chris@82 224 T2a = FMA(KP578046249, T1T, T1S);
Chris@82 225 T2j = FNMS(KP522847744, T1S, T1T);
Chris@82 226 T1g = FNMS(KP244189809, TM, TP);
Chris@82 227 T1u = FNMS(KP603558818, TM, TP);
Chris@82 228 T1U = FNMS(KP987388751, T1T, T1S);
Chris@82 229 T1Y = FMA(KP893101515, T1S, T1T);
Chris@82 230 T1y = FMA(KP667278218, TP, TM);
Chris@82 231 }
Chris@82 232 }
Chris@82 233 {
Chris@82 234 E Tk, Tr, T13, TZ, T10;
Chris@82 235 Tk = R0[WS(rs, 1)];
Chris@82 236 {
Chris@82 237 E Tl, Tm, Tn, To, Tp, Tq;
Chris@82 238 Tl = R1[WS(rs, 3)];
Chris@82 239 Tm = R0[WS(rs, 11)];
Chris@82 240 Tn = Tl + Tm;
Chris@82 241 To = R0[WS(rs, 6)];
Chris@82 242 Tp = R1[WS(rs, 8)];
Chris@82 243 Tq = To + Tp;
Chris@82 244 Tr = Tn + Tq;
Chris@82 245 T13 = Tn - Tq;
Chris@82 246 TZ = Tm - Tl;
Chris@82 247 T10 = Tp - To;
Chris@82 248 }
Chris@82 249 Ts = Tk + Tr;
Chris@82 250 {
Chris@82 251 E T11, T1I, T14, T1H, T12;
Chris@82 252 T11 = FMA(KP618033988, T10, TZ);
Chris@82 253 T1I = FNMS(KP618033988, TZ, T10);
Chris@82 254 T12 = FMS(KP250000000, Tr, Tk);
Chris@82 255 T14 = FNMS(KP559016994, T13, T12);
Chris@82 256 T1H = FMA(KP559016994, T13, T12);
Chris@82 257 T15 = FMA(KP578046249, T14, T11);
Chris@82 258 T27 = FNMS(KP603558818, T1I, T1H);
Chris@82 259 T2f = FMA(KP667278218, T1H, T1I);
Chris@82 260 T1j = FNMS(KP522847744, T11, T14);
Chris@82 261 T1s = FMA(KP447533225, T11, T14);
Chris@82 262 T1J = FMA(KP059835404, T1I, T1H);
Chris@82 263 T20 = FNMS(KP066152395, T1H, T1I);
Chris@82 264 T1C = FNMS(KP494780565, T14, T11);
Chris@82 265 }
Chris@82 266 }
Chris@82 267 Tj = T9 - Ti;
Chris@82 268 TC = Ts - TB;
Chris@82 269 Ci[WS(csi, 5)] = KP951056516 * (FNMS(KP618033988, TC, Tj));
Chris@82 270 Ci[WS(csi, 10)] = KP951056516 * (FMA(KP618033988, Tj, TC));
Chris@82 271 {
Chris@82 272 E T39, T3c, T3e, T3a, T3b, T3d;
Chris@82 273 T39 = T2p + T2s;
Chris@82 274 T3a = T9 + Ti;
Chris@82 275 T3b = Ts + TB;
Chris@82 276 T3c = T3a + T3b;
Chris@82 277 T3e = T3a - T3b;
Chris@82 278 Cr[0] = T3c + T39;
Chris@82 279 T3d = FNMS(KP250000000, T3c, T39);
Chris@82 280 Cr[WS(csr, 5)] = FMA(KP559016994, T3e, T3d);
Chris@82 281 Cr[WS(csr, 10)] = FNMS(KP559016994, T3e, T3d);
Chris@82 282 }
Chris@82 283 {
Chris@82 284 E T1A, T1x, T1F, T1G;
Chris@82 285 T1A = FNMS(KP912575812, T1z, T1y);
Chris@82 286 {
Chris@82 287 E T1t, T1w, T1E, T1D;
Chris@82 288 T1t = FMA(KP958953096, T1s, T1r);
Chris@82 289 T1w = FMA(KP912575812, T1v, T1u);
Chris@82 290 T1D = FNMS(KP867381224, T1C, T1B);
Chris@82 291 T1E = FMA(KP447417479, T1w, T1D);
Chris@82 292 T1x = FNMS(KP894834959, T1w, T1t);
Chris@82 293 T1F = FMA(KP763932022, T1E, T1t);
Chris@82 294 }
Chris@82 295 Ci[WS(csi, 4)] = KP951056516 * (FMA(KP992114701, T1x, TJ));
Chris@82 296 T1G = FMA(KP999544308, T1F, T1A);
Chris@82 297 Ci[WS(csi, 9)] = KP951056516 * (FNMS(KP803003575, T1G, TJ));
Chris@82 298 }
Chris@82 299 {
Chris@82 300 E T1Z, T1N, T1W, T24, T1V, T23, T22, T25;
Chris@82 301 T1Z = FNMS(KP734762448, T1Y, T1X);
Chris@82 302 T1N = FNMS(KP772036680, T1M, T1J);
Chris@82 303 T1V = FMA(KP734762448, T1U, T1R);
Chris@82 304 T22 = FMA(KP772036680, T21, T20);
Chris@82 305 T23 = FNMS(KP522616830, T1V, T22);
Chris@82 306 T1W = FNMS(KP992114701, T1V, T1O);
Chris@82 307 T24 = FMA(KP690983005, T23, T1N);
Chris@82 308 Ci[WS(csi, 3)] = KP998026728 * (FNMS(KP952936919, T1W, T1N));
Chris@82 309 T25 = FNMS(KP855719849, T24, T1Z);
Chris@82 310 Ci[WS(csi, 8)] = -(KP951056516 * (FNMS(KP992114701, T25, T1O)));
Chris@82 311 }
Chris@82 312 {
Chris@82 313 E T1i, T1l, T1e, T1p, T1n, TY, T1d, T1m, T1f, T1q, T1o;
Chris@82 314 T1i = FNMS(KP829049696, T1h, T1g);
Chris@82 315 T1l = FMA(KP831864738, T1k, T1j);
Chris@82 316 TY = FNMS(KP916574801, TX, TQ);
Chris@82 317 T1d = FMA(KP831864738, T1c, T15);
Chris@82 318 T1m = FMA(KP904730450, T1d, TY);
Chris@82 319 T1e = FNMS(KP904730450, T1d, TY);
Chris@82 320 T1p = FNMS(KP904508497, T1m, T1i);
Chris@82 321 T1n = FNMS(KP999754674, T1m, T1l);
Chris@82 322 Ci[WS(csi, 1)] = -(KP951056516 * (FMA(KP968583161, T1e, TJ)));
Chris@82 323 T1f = FNMS(KP242145790, T1e, TJ);
Chris@82 324 T1q = FMA(KP683113946, T1p, T1l);
Chris@82 325 T1o = FNMS(KP559154169, T1n, T1i);
Chris@82 326 Ci[WS(csi, 6)] = -(KP951056516 * (FMA(KP968583161, T1o, T1f)));
Chris@82 327 Ci[WS(csi, 11)] = -(KP951056516 * (FMA(KP876306680, T1q, T1f)));
Chris@82 328 }
Chris@82 329 {
Chris@82 330 E T2l, T2c, T2n, T2i, T2d, T2o, T2m;
Chris@82 331 T2l = FNMS(KP982009705, T2k, T2j);
Chris@82 332 {
Chris@82 333 E T2g, T28, T2b, T2h;
Chris@82 334 T2g = FMA(KP845997307, T2f, T2e);
Chris@82 335 T28 = FNMS(KP845997307, T27, T26);
Chris@82 336 T2b = FNMS(KP921078979, T2a, T29);
Chris@82 337 T2h = FMA(KP906616052, T2b, T28);
Chris@82 338 T2c = FNMS(KP906616052, T2b, T28);
Chris@82 339 T2n = T2g + T2h;
Chris@82 340 T2i = FMA(KP618033988, T2h, T2g);
Chris@82 341 }
Chris@82 342 Ci[WS(csi, 2)] = -(KP998026728 * (FNMS(KP952936919, T1O, T2c)));
Chris@82 343 T2d = FMA(KP262346850, T2c, T1O);
Chris@82 344 T2o = FNMS(KP669429328, T2n, T2l);
Chris@82 345 T2m = FMA(KP570584518, T2l, T2i);
Chris@82 346 Ci[WS(csi, 12)] = KP951056516 * (FNMS(KP949179823, T2m, T2d));
Chris@82 347 Ci[WS(csi, 7)] = KP951056516 * (FNMS(KP876306680, T2o, T2d));
Chris@82 348 }
Chris@82 349 {
Chris@82 350 E T2P, T2W, T2V, T2Z, T32, T33, T2S, T37, T35, T2Q, T2R, T34;
Chris@82 351 T2P = FNMS(KP559016994, T2u, T2t);
Chris@82 352 T2W = FNMS(KP734762448, T1U, T1R);
Chris@82 353 {
Chris@82 354 E T2U, T2T, T2Y, T2X;
Chris@82 355 T2U = FNMS(KP772036680, T21, T20);
Chris@82 356 T2T = FMA(KP734762448, T1Y, T1X);
Chris@82 357 T2X = FMA(KP772036680, T1M, T1J);
Chris@82 358 T2Y = FMA(KP522616830, T2T, T2X);
Chris@82 359 T2V = FMA(KP956723877, T2U, T2T);
Chris@82 360 T2Z = FNMS(KP763932022, T2Y, T2U);
Chris@82 361 }
Chris@82 362 T32 = FMA(KP845997307, T27, T26);
Chris@82 363 T33 = FMA(KP921078979, T2a, T29);
Chris@82 364 T2Q = FNMS(KP845997307, T2f, T2e);
Chris@82 365 T2R = FMA(KP982009705, T2k, T2j);
Chris@82 366 T34 = FNMS(KP923225144, T2R, T2Q);
Chris@82 367 T2S = FMA(KP923225144, T2R, T2Q);
Chris@82 368 T37 = FNMS(KP904508497, T34, T32);
Chris@82 369 T35 = FNMS(KP997675361, T34, T33);
Chris@82 370 Cr[WS(csr, 2)] = FMA(KP949179823, T2S, T2P);
Chris@82 371 Cr[WS(csr, 3)] = FMA(KP992114701, T2V, T2P);
Chris@82 372 {
Chris@82 373 E T30, T31, T38, T36;
Chris@82 374 T30 = FMA(KP855719849, T2Z, T2W);
Chris@82 375 Cr[WS(csr, 8)] = FNMS(KP897376177, T30, T2P);
Chris@82 376 T31 = FNMS(KP237294955, T2S, T2P);
Chris@82 377 T38 = FNMS(KP681693190, T37, T33);
Chris@82 378 T36 = FMA(KP560319534, T35, T32);
Chris@82 379 Cr[WS(csr, 12)] = FNMS(KP949179823, T36, T31);
Chris@82 380 Cr[WS(csr, 7)] = FNMS(KP860541664, T38, T31);
Chris@82 381 }
Chris@82 382 }
Chris@82 383 {
Chris@82 384 E T2v, T2H, T2M, T2O, T2A, T2C, T2y, T2F, T2D, T2w, T2x, T2B;
Chris@82 385 T2v = FMA(KP559016994, T2u, T2t);
Chris@82 386 T2H = FNMS(KP912575812, T1v, T1u);
Chris@82 387 {
Chris@82 388 E T2I, T2K, T2L, T2J;
Chris@82 389 T2I = FMA(KP867381224, T1C, T1B);
Chris@82 390 T2J = FNMS(KP958953096, T1s, T1r);
Chris@82 391 T2K = FMA(KP912575812, T1z, T1y);
Chris@82 392 T2L = FNMS(KP447417479, T2K, T2J);
Chris@82 393 T2M = FNMS(KP690983005, T2L, T2I);
Chris@82 394 T2O = FNMS(KP809385824, T2K, T2I);
Chris@82 395 }
Chris@82 396 T2A = FMA(KP916574801, TX, TQ);
Chris@82 397 T2C = FNMS(KP831864738, T1c, T15);
Chris@82 398 T2w = FMA(KP829049696, T1h, T1g);
Chris@82 399 T2x = FNMS(KP831864738, T1k, T1j);
Chris@82 400 T2B = FMA(KP904730450, T2x, T2w);
Chris@82 401 T2y = FNMS(KP904730450, T2x, T2w);
Chris@82 402 T2F = T2A + T2B;
Chris@82 403 T2D = FMA(KP904730450, T2C, T2B);
Chris@82 404 Cr[WS(csr, 1)] = FMA(KP968583161, T2y, T2v);
Chris@82 405 Cr[WS(csr, 4)] = FNMS(KP992114701, T2O, T2v);
Chris@82 406 {
Chris@82 407 E T2N, T2z, T2G, T2E;
Chris@82 408 T2N = FNMS(KP999544308, T2M, T2H);
Chris@82 409 Cr[WS(csr, 9)] = FNMS(KP803003575, T2N, T2v);
Chris@82 410 T2z = FNMS(KP242145790, T2y, T2v);
Chris@82 411 T2G = FMA(KP683113946, T2F, T2C);
Chris@82 412 T2E = FNMS(KP618033988, T2D, T2A);
Chris@82 413 Cr[WS(csr, 6)] = FNMS(KP876091699, T2E, T2z);
Chris@82 414 Cr[WS(csr, 11)] = FNMS(KP792626838, T2G, T2z);
Chris@82 415 }
Chris@82 416 }
Chris@82 417 }
Chris@82 418 }
Chris@82 419 }
Chris@82 420
Chris@82 421 static const kr2c_desc desc = { 25, "r2cf_25", {44, 12, 156, 0}, &GENUS };
Chris@82 422
Chris@82 423 void X(codelet_r2cf_25) (planner *p) {
Chris@82 424 X(kr2c_register) (p, r2cf_25, &desc);
Chris@82 425 }
Chris@82 426
Chris@82 427 #else
Chris@82 428
Chris@82 429 /* Generated by: ../../../genfft/gen_r2cf.native -compact -variables 4 -pipeline-latency 4 -n 25 -name r2cf_25 -include rdft/scalar/r2cf.h */
Chris@82 430
Chris@82 431 /*
Chris@82 432 * This function contains 200 FP additions, 140 FP multiplications,
Chris@82 433 * (or, 117 additions, 57 multiplications, 83 fused multiply/add),
Chris@82 434 * 101 stack variables, 40 constants, and 50 memory accesses
Chris@82 435 */
Chris@82 436 #include "rdft/scalar/r2cf.h"
Chris@82 437
Chris@82 438 static void r2cf_25(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs)
Chris@82 439 {
Chris@82 440 DK(KP998026728, +0.998026728428271561952336806863450553336905220);
Chris@82 441 DK(KP125581039, +0.125581039058626752152356449131262266244969664);
Chris@82 442 DK(KP1_996053456, +1.996053456856543123904673613726901106673810439);
Chris@82 443 DK(KP062790519, +0.062790519529313376076178224565631133122484832);
Chris@82 444 DK(KP809016994, +0.809016994374947424102293417182819058860154590);
Chris@82 445 DK(KP309016994, +0.309016994374947424102293417182819058860154590);
Chris@82 446 DK(KP1_369094211, +1.369094211857377347464566715242418539779038465);
Chris@82 447 DK(KP728968627, +0.728968627421411523146730319055259111372571664);
Chris@82 448 DK(KP963507348, +0.963507348203430549974383005744259307057084020);
Chris@82 449 DK(KP876306680, +0.876306680043863587308115903922062583399064238);
Chris@82 450 DK(KP497379774, +0.497379774329709576484567492012895936835134813);
Chris@82 451 DK(KP968583161, +0.968583161128631119490168375464735813836012403);
Chris@82 452 DK(KP684547105, +0.684547105928688673732283357621209269889519233);
Chris@82 453 DK(KP1_457937254, +1.457937254842823046293460638110518222745143328);
Chris@82 454 DK(KP481753674, +0.481753674101715274987191502872129653528542010);
Chris@82 455 DK(KP1_752613360, +1.752613360087727174616231807844125166798128477);
Chris@82 456 DK(KP248689887, +0.248689887164854788242283746006447968417567406);
Chris@82 457 DK(KP1_937166322, +1.937166322257262238980336750929471627672024806);
Chris@82 458 DK(KP992114701, +0.992114701314477831049793042785778521453036709);
Chris@82 459 DK(KP250666467, +0.250666467128608490746237519633017587885836494);
Chris@82 460 DK(KP425779291, +0.425779291565072648862502445744251703979973042);
Chris@82 461 DK(KP1_809654104, +1.809654104932039055427337295865395187940827822);
Chris@82 462 DK(KP1_274847979, +1.274847979497379420353425623352032390869834596);
Chris@82 463 DK(KP770513242, +0.770513242775789230803009636396177847271667672);
Chris@82 464 DK(KP844327925, +0.844327925502015078548558063966681505381659241);
Chris@82 465 DK(KP1_071653589, +1.071653589957993236542617535735279956127150691);
Chris@82 466 DK(KP125333233, +0.125333233564304245373118759816508793942918247);
Chris@82 467 DK(KP1_984229402, +1.984229402628955662099586085571557042906073418);
Chris@82 468 DK(KP904827052, +0.904827052466019527713668647932697593970413911);
Chris@82 469 DK(KP851558583, +0.851558583130145297725004891488503407959946084);
Chris@82 470 DK(KP637423989, +0.637423989748689710176712811676016195434917298);
Chris@82 471 DK(KP1_541026485, +1.541026485551578461606019272792355694543335344);
Chris@82 472 DK(KP535826794, +0.535826794978996618271308767867639978063575346);
Chris@82 473 DK(KP1_688655851, +1.688655851004030157097116127933363010763318483);
Chris@82 474 DK(KP293892626, +0.293892626146236564584352977319536384298826219);
Chris@82 475 DK(KP475528258, +0.475528258147576786058219666689691071702849317);
Chris@82 476 DK(KP250000000, +0.250000000000000000000000000000000000000000000);
Chris@82 477 DK(KP559016994, +0.559016994374947424102293417182819058860154590);
Chris@82 478 DK(KP587785252, +0.587785252292473129168705954639072768597652438);
Chris@82 479 DK(KP951056516, +0.951056516295153572116439333379382143405698634);
Chris@82 480 {
Chris@82 481 INT i;
Chris@82 482 for (i = v; i > 0; i = i - 1, R0 = R0 + ivs, R1 = R1 + ivs, Cr = Cr + ovs, Ci = Ci + ovs, MAKE_VOLATILE_STRIDE(100, rs), MAKE_VOLATILE_STRIDE(100, csr), MAKE_VOLATILE_STRIDE(100, csi)) {
Chris@82 483 E T8, T1j, T1V, T1l, T7, T9, Ta, T12, T2u, T1O, T19, T1P, Ti, T2r, T1K;
Chris@82 484 E Tp, T1L, Tx, T2q, T1H, TE, T1I, TN, T2t, T1R, TU, T1S, T6, T1k, T3;
Chris@82 485 E T2s, T2v;
Chris@82 486 T8 = R0[0];
Chris@82 487 {
Chris@82 488 E T4, T5, T1, T2;
Chris@82 489 T4 = R0[WS(rs, 5)];
Chris@82 490 T5 = R1[WS(rs, 7)];
Chris@82 491 T6 = T4 + T5;
Chris@82 492 T1k = T4 - T5;
Chris@82 493 T1 = R1[WS(rs, 2)];
Chris@82 494 T2 = R0[WS(rs, 10)];
Chris@82 495 T3 = T1 + T2;
Chris@82 496 T1j = T1 - T2;
Chris@82 497 }
Chris@82 498 T1V = KP951056516 * T1k;
Chris@82 499 T1l = FMA(KP951056516, T1j, KP587785252 * T1k);
Chris@82 500 T7 = KP559016994 * (T3 - T6);
Chris@82 501 T9 = T3 + T6;
Chris@82 502 Ta = FNMS(KP250000000, T9, T8);
Chris@82 503 {
Chris@82 504 E T16, T13, T14, TY, T17, T11, T15, T18;
Chris@82 505 T16 = R1[WS(rs, 1)];
Chris@82 506 {
Chris@82 507 E TW, TX, TZ, T10;
Chris@82 508 TW = R0[WS(rs, 4)];
Chris@82 509 TX = R1[WS(rs, 11)];
Chris@82 510 T13 = TW + TX;
Chris@82 511 TZ = R1[WS(rs, 6)];
Chris@82 512 T10 = R0[WS(rs, 9)];
Chris@82 513 T14 = TZ + T10;
Chris@82 514 TY = TW - TX;
Chris@82 515 T17 = T13 + T14;
Chris@82 516 T11 = TZ - T10;
Chris@82 517 }
Chris@82 518 T12 = FMA(KP475528258, TY, KP293892626 * T11);
Chris@82 519 T2u = T16 + T17;
Chris@82 520 T1O = FNMS(KP293892626, TY, KP475528258 * T11);
Chris@82 521 T15 = KP559016994 * (T13 - T14);
Chris@82 522 T18 = FNMS(KP250000000, T17, T16);
Chris@82 523 T19 = T15 + T18;
Chris@82 524 T1P = T18 - T15;
Chris@82 525 }
Chris@82 526 {
Chris@82 527 E Tm, Tj, Tk, Te, Tn, Th, Tl, To;
Chris@82 528 Tm = R1[0];
Chris@82 529 {
Chris@82 530 E Tc, Td, Tf, Tg;
Chris@82 531 Tc = R0[WS(rs, 3)];
Chris@82 532 Td = R1[WS(rs, 10)];
Chris@82 533 Tj = Tc + Td;
Chris@82 534 Tf = R1[WS(rs, 5)];
Chris@82 535 Tg = R0[WS(rs, 8)];
Chris@82 536 Tk = Tf + Tg;
Chris@82 537 Te = Tc - Td;
Chris@82 538 Tn = Tj + Tk;
Chris@82 539 Th = Tf - Tg;
Chris@82 540 }
Chris@82 541 Ti = FMA(KP475528258, Te, KP293892626 * Th);
Chris@82 542 T2r = Tm + Tn;
Chris@82 543 T1K = FNMS(KP293892626, Te, KP475528258 * Th);
Chris@82 544 Tl = KP559016994 * (Tj - Tk);
Chris@82 545 To = FNMS(KP250000000, Tn, Tm);
Chris@82 546 Tp = Tl + To;
Chris@82 547 T1L = To - Tl;
Chris@82 548 }
Chris@82 549 {
Chris@82 550 E TB, Ty, Tz, Tt, TC, Tw, TA, TD;
Chris@82 551 TB = R0[WS(rs, 2)];
Chris@82 552 {
Chris@82 553 E Tr, Ts, Tu, Tv;
Chris@82 554 Tr = R1[WS(rs, 4)];
Chris@82 555 Ts = R0[WS(rs, 12)];
Chris@82 556 Ty = Tr + Ts;
Chris@82 557 Tu = R0[WS(rs, 7)];
Chris@82 558 Tv = R1[WS(rs, 9)];
Chris@82 559 Tz = Tu + Tv;
Chris@82 560 Tt = Tr - Ts;
Chris@82 561 TC = Ty + Tz;
Chris@82 562 Tw = Tu - Tv;
Chris@82 563 }
Chris@82 564 Tx = FMA(KP475528258, Tt, KP293892626 * Tw);
Chris@82 565 T2q = TB + TC;
Chris@82 566 T1H = FNMS(KP293892626, Tt, KP475528258 * Tw);
Chris@82 567 TA = KP559016994 * (Ty - Tz);
Chris@82 568 TD = FNMS(KP250000000, TC, TB);
Chris@82 569 TE = TA + TD;
Chris@82 570 T1I = TD - TA;
Chris@82 571 }
Chris@82 572 {
Chris@82 573 E TR, TO, TP, TJ, TS, TM, TQ, TT;
Chris@82 574 TR = R0[WS(rs, 1)];
Chris@82 575 {
Chris@82 576 E TH, TI, TK, TL;
Chris@82 577 TH = R1[WS(rs, 3)];
Chris@82 578 TI = R0[WS(rs, 11)];
Chris@82 579 TO = TH + TI;
Chris@82 580 TK = R0[WS(rs, 6)];
Chris@82 581 TL = R1[WS(rs, 8)];
Chris@82 582 TP = TK + TL;
Chris@82 583 TJ = TH - TI;
Chris@82 584 TS = TO + TP;
Chris@82 585 TM = TK - TL;
Chris@82 586 }
Chris@82 587 TN = FMA(KP475528258, TJ, KP293892626 * TM);
Chris@82 588 T2t = TR + TS;
Chris@82 589 T1R = FNMS(KP293892626, TJ, KP475528258 * TM);
Chris@82 590 TQ = KP559016994 * (TO - TP);
Chris@82 591 TT = FNMS(KP250000000, TS, TR);
Chris@82 592 TU = TQ + TT;
Chris@82 593 T1S = TT - TQ;
Chris@82 594 }
Chris@82 595 T2s = T2q - T2r;
Chris@82 596 T2v = T2t - T2u;
Chris@82 597 Ci[WS(csi, 5)] = FNMS(KP587785252, T2v, KP951056516 * T2s);
Chris@82 598 Ci[WS(csi, 10)] = FMA(KP587785252, T2s, KP951056516 * T2v);
Chris@82 599 {
Chris@82 600 E T2z, T2y, T2A, T2w, T2x, T2B;
Chris@82 601 T2z = T8 + T9;
Chris@82 602 T2w = T2r + T2q;
Chris@82 603 T2x = T2t + T2u;
Chris@82 604 T2y = KP559016994 * (T2w - T2x);
Chris@82 605 T2A = T2w + T2x;
Chris@82 606 Cr[0] = T2z + T2A;
Chris@82 607 T2B = FNMS(KP250000000, T2A, T2z);
Chris@82 608 Cr[WS(csr, 5)] = T2y + T2B;
Chris@82 609 Cr[WS(csr, 10)] = T2B - T2y;
Chris@82 610 }
Chris@82 611 {
Chris@82 612 E Tb, Tq, TF, TG, T1E, T1F, T1G, T1B, T1C, T1D, TV, T1a, T1b, T1o, T1r;
Chris@82 613 E T1s, T1z, T1x, T1e, T1h, T1i, T1u, T1t;
Chris@82 614 Tb = T7 + Ta;
Chris@82 615 Tq = FMA(KP1_688655851, Ti, KP535826794 * Tp);
Chris@82 616 TF = FMA(KP1_541026485, Tx, KP637423989 * TE);
Chris@82 617 TG = Tq - TF;
Chris@82 618 T1E = FMA(KP851558583, TN, KP904827052 * TU);
Chris@82 619 T1F = FMA(KP1_984229402, T12, KP125333233 * T19);
Chris@82 620 T1G = T1E + T1F;
Chris@82 621 T1B = FNMS(KP844327925, Tp, KP1_071653589 * Ti);
Chris@82 622 T1C = FNMS(KP1_274847979, Tx, KP770513242 * TE);
Chris@82 623 T1D = T1B + T1C;
Chris@82 624 TV = FNMS(KP425779291, TU, KP1_809654104 * TN);
Chris@82 625 T1a = FNMS(KP992114701, T19, KP250666467 * T12);
Chris@82 626 T1b = TV + T1a;
Chris@82 627 {
Chris@82 628 E T1m, T1n, T1p, T1q;
Chris@82 629 T1m = FMA(KP1_937166322, Ti, KP248689887 * Tp);
Chris@82 630 T1n = FMA(KP1_071653589, Tx, KP844327925 * TE);
Chris@82 631 T1o = T1m + T1n;
Chris@82 632 T1p = FMA(KP1_752613360, TN, KP481753674 * TU);
Chris@82 633 T1q = FMA(KP1_457937254, T12, KP684547105 * T19);
Chris@82 634 T1r = T1p + T1q;
Chris@82 635 T1s = T1o + T1r;
Chris@82 636 T1z = T1q - T1p;
Chris@82 637 T1x = T1n - T1m;
Chris@82 638 }
Chris@82 639 {
Chris@82 640 E T1c, T1d, T1f, T1g;
Chris@82 641 T1c = FNMS(KP497379774, Ti, KP968583161 * Tp);
Chris@82 642 T1d = FNMS(KP1_688655851, Tx, KP535826794 * TE);
Chris@82 643 T1e = T1c + T1d;
Chris@82 644 T1f = FNMS(KP963507348, TN, KP876306680 * TU);
Chris@82 645 T1g = FNMS(KP1_369094211, T12, KP728968627 * T19);
Chris@82 646 T1h = T1f + T1g;
Chris@82 647 T1i = T1e + T1h;
Chris@82 648 T1u = T1f - T1g;
Chris@82 649 T1t = T1d - T1c;
Chris@82 650 }
Chris@82 651 Cr[WS(csr, 1)] = Tb + T1i;
Chris@82 652 Ci[WS(csi, 1)] = -(T1l + T1s);
Chris@82 653 Cr[WS(csr, 4)] = Tb + TG + T1b;
Chris@82 654 Ci[WS(csi, 4)] = T1l + T1D - T1G;
Chris@82 655 Ci[WS(csi, 9)] = FMA(KP309016994, T1D, T1l) + FMA(KP587785252, T1a - TV, KP809016994 * T1G) - (KP951056516 * (Tq + TF));
Chris@82 656 Cr[WS(csr, 9)] = FMA(KP309016994, TG, Tb) + FMA(KP951056516, T1B - T1C, KP587785252 * (T1F - T1E)) - (KP809016994 * T1b);
Chris@82 657 {
Chris@82 658 E T1v, T1w, T1y, T1A;
Chris@82 659 T1v = FMS(KP250000000, T1s, T1l);
Chris@82 660 T1w = KP559016994 * (T1r - T1o);
Chris@82 661 Ci[WS(csi, 11)] = FMA(KP587785252, T1t, KP951056516 * T1u) + T1v - T1w;
Chris@82 662 Ci[WS(csi, 6)] = FMA(KP951056516, T1t, T1v) + FNMS(KP587785252, T1u, T1w);
Chris@82 663 T1y = FNMS(KP250000000, T1i, Tb);
Chris@82 664 T1A = KP559016994 * (T1e - T1h);
Chris@82 665 Cr[WS(csr, 11)] = FMA(KP587785252, T1x, T1y) + FNMA(KP951056516, T1z, T1A);
Chris@82 666 Cr[WS(csr, 6)] = FMA(KP951056516, T1x, T1A) + FMA(KP587785252, T1z, T1y);
Chris@82 667 }
Chris@82 668 }
Chris@82 669 {
Chris@82 670 E T1W, T1X, T1J, T1M, T1N, T21, T22, T23, T1Q, T1T, T1U, T1Y, T1Z, T20, T26;
Chris@82 671 E T29, T2a, T2k, T2j, T2l, T2m, T2d, T2o, T2i;
Chris@82 672 T1W = FNMS(KP587785252, T1j, T1V);
Chris@82 673 T1X = Ta - T7;
Chris@82 674 T1J = FNMS(KP125333233, T1I, KP1_984229402 * T1H);
Chris@82 675 T1M = FMA(KP1_457937254, T1K, KP684547105 * T1L);
Chris@82 676 T1N = T1J - T1M;
Chris@82 677 T21 = FNMS(KP1_996053456, T1R, KP062790519 * T1S);
Chris@82 678 T22 = FMA(KP1_541026485, T1O, KP637423989 * T1P);
Chris@82 679 T23 = T21 - T22;
Chris@82 680 T1Q = FNMS(KP770513242, T1P, KP1_274847979 * T1O);
Chris@82 681 T1T = FMA(KP125581039, T1R, KP998026728 * T1S);
Chris@82 682 T1U = T1Q - T1T;
Chris@82 683 T1Y = FNMS(KP1_369094211, T1K, KP728968627 * T1L);
Chris@82 684 T1Z = FMA(KP250666467, T1H, KP992114701 * T1I);
Chris@82 685 T20 = T1Y - T1Z;
Chris@82 686 {
Chris@82 687 E T24, T25, T27, T28;
Chris@82 688 T24 = FNMS(KP481753674, T1L, KP1_752613360 * T1K);
Chris@82 689 T25 = FMA(KP851558583, T1H, KP904827052 * T1I);
Chris@82 690 T26 = T24 - T25;
Chris@82 691 T27 = FNMS(KP844327925, T1S, KP1_071653589 * T1R);
Chris@82 692 T28 = FNMS(KP998026728, T1P, KP125581039 * T1O);
Chris@82 693 T29 = T27 + T28;
Chris@82 694 T2a = T26 + T29;
Chris@82 695 T2k = T27 - T28;
Chris@82 696 T2j = T24 + T25;
Chris@82 697 }
Chris@82 698 {
Chris@82 699 E T2b, T2c, T2g, T2h;
Chris@82 700 T2b = FNMS(KP425779291, T1I, KP1_809654104 * T1H);
Chris@82 701 T2c = FMA(KP963507348, T1K, KP876306680 * T1L);
Chris@82 702 T2l = T2c + T2b;
Chris@82 703 T2g = FMA(KP1_688655851, T1R, KP535826794 * T1S);
Chris@82 704 T2h = FMA(KP1_996053456, T1O, KP062790519 * T1P);
Chris@82 705 T2m = T2g + T2h;
Chris@82 706 T2d = T2b - T2c;
Chris@82 707 T2o = T2l + T2m;
Chris@82 708 T2i = T2g - T2h;
Chris@82 709 }
Chris@82 710 Ci[WS(csi, 2)] = T1W + T2a;
Chris@82 711 Cr[WS(csr, 2)] = T1X + T2o;
Chris@82 712 Ci[WS(csi, 3)] = T1N + T1U - T1W;
Chris@82 713 Cr[WS(csr, 3)] = T1X + T20 + T23;
Chris@82 714 Cr[WS(csr, 8)] = FMA(KP309016994, T20, T1X) + FNMA(KP809016994, T23, KP587785252 * (T1T + T1Q)) - (KP951056516 * (T1M + T1J));
Chris@82 715 Ci[WS(csi, 8)] = FNMS(KP587785252, T21 + T22, KP309016994 * T1N) + FNMA(KP809016994, T1U, KP951056516 * (T1Y + T1Z)) - T1W;
Chris@82 716 {
Chris@82 717 E T2e, T2f, T2n, T2p;
Chris@82 718 T2e = KP559016994 * (T26 - T29);
Chris@82 719 T2f = FNMS(KP250000000, T2a, T1W);
Chris@82 720 Ci[WS(csi, 7)] = FMA(KP951056516, T2d, T2e) + FNMS(KP587785252, T2i, T2f);
Chris@82 721 Ci[WS(csi, 12)] = FMA(KP587785252, T2d, T2f) + FMS(KP951056516, T2i, T2e);
Chris@82 722 T2n = KP559016994 * (T2l - T2m);
Chris@82 723 T2p = FNMS(KP250000000, T2o, T1X);
Chris@82 724 Cr[WS(csr, 7)] = FMA(KP951056516, T2j, KP587785252 * T2k) + T2n + T2p;
Chris@82 725 Cr[WS(csr, 12)] = FMA(KP587785252, T2j, T2p) + FNMA(KP951056516, T2k, T2n);
Chris@82 726 }
Chris@82 727 }
Chris@82 728 }
Chris@82 729 }
Chris@82 730 }
Chris@82 731
Chris@82 732 static const kr2c_desc desc = { 25, "r2cf_25", {117, 57, 83, 0}, &GENUS };
Chris@82 733
Chris@82 734 void X(codelet_r2cf_25) (planner *p) {
Chris@82 735 X(kr2c_register) (p, r2cf_25, &desc);
Chris@82 736 }
Chris@82 737
Chris@82 738 #endif