⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hb2_25.c

📁 快速fft变换
💻 C
📖 第 1 页 / 共 4 页
字号:
			      T1q = cr[WS(rs, 22)];			      T1r = T1p - T1q;			      T34 = T1p + T1q;			      T1s = ci[WS(rs, 12)];			      T1t = cr[WS(rs, 17)];			      T1u = T1s - T1t;			      T35 = T1s + T1t;			 }			 T36 = FNMS(KP951056516, T35, KP587785252 * T34);			 T5J = FMA(KP951056516, T34, KP587785252 * T35);			 T3c = KP559016994 * (T1r - T1u);			 T1v = T1r + T1u;			 T3b = FNMS(KP250000000, T1v, T1o);		    }		    {			 E TI, T3o, TF, T3n;			 TC = cr[WS(rs, 3)];			 {			      E TG, TH, TD, TE;			      TG = ci[WS(rs, 11)];			      TH = ci[WS(rs, 6)];			      TI = TG + TH;			      T3o = TG - TH;			      TD = cr[WS(rs, 8)];			      TE = ci[WS(rs, 1)];			      TF = TD + TE;			      T3n = TD - TE;			 }			 T3h = KP559016994 * (TF - TI);			 T5S = FMA(KP951056516, T3n, KP587785252 * T3o);			 T3p = FNMS(KP951056516, T3o, KP587785252 * T3n);			 TJ = TF + TI;			 T3g = FNMS(KP250000000, TJ, TC);		    }		    {			 E T1D, T3k, T1A, T3j;			 T1x = ci[WS(rs, 21)];			 {			      E T1B, T1C, T1y, T1z;			      T1B = cr[WS(rs, 13)];			      T1C = cr[WS(rs, 18)];			      T1D = T1B + T1C;			      T3k = T1C - T1B;			      T1y = ci[WS(rs, 16)];			      T1z = cr[WS(rs, 23)];			      T1A = T1y - T1z;			      T3j = T1y + T1z;			 }			 T3l = FNMS(KP951056516, T3k, KP587785252 * T3j);			 T5Q = FMA(KP951056516, T3j, KP587785252 * T3k);			 T3r = KP559016994 * (T1A + T1D);			 T1E = T1A - T1D;			 T3q = FNMS(KP250000000, T1E, T1x);		    }		    TB = Tt + TA;		    TK = TC + TJ;		    TL = TB + TK;		    T1w = T1o + T1v;		    T1F = T1x + T1E;		    T1Q = T1w + T1F;		    {			 E T37, T4D, T3e, T4E, T33, T3d;			 T33 = T31 - T32;			 T37 = T33 - T36;			 T4D = T33 + T36;			 T3d = T3b - T3c;			 T3e = T3a + T3d;			 T4E = T3d - T3a;			 T3f = FNMS(KP844327925, T3e, KP535826794 * T37);			 T4S = FMA(KP062790519, T4E, KP998026728 * T4D);			 T3K = FMA(KP535826794, T3e, KP844327925 * T37);			 T4F = FNMS(KP998026728, T4E, KP062790519 * T4D);		    }		    {			 E T5R, T6T, T5U, T6S, T5P, T5T;			 T5P = T3h + T3g;			 T5R = T5P - T5Q;			 T6T = T5P + T5Q;			 T5T = T3q + T3r;			 T5U = T5S + T5T;			 T6S = T5T - T5S;			 T5V = FNMS(KP684547105, T5U, KP728968627 * T5R);			 T74 = FNMS(KP992114701, T6S, KP125333233 * T6T);			 T68 = FMA(KP728968627, T5U, KP684547105 * T5R);			 T6U = FMA(KP125333233, T6S, KP992114701 * T6T);		    }		    {			 E T5K, T6Q, T5N, T6P, T5I, T5M;			 T5I = T32 + T31;			 T5K = T5I - T5J;			 T6Q = T5I + T5J;			 T5M = T3c + T3b;			 T5N = T5L + T5M;			 T6P = T5M - T5L;			 T5O = FNMS(KP481753674, T5N, KP876306680 * T5K);			 T73 = FNMS(KP425779291, T6P, KP904827052 * T6Q);			 T67 = FMA(KP876306680, T5N, KP481753674 * T5K);			 T6R = FMA(KP904827052, T6P, KP425779291 * T6Q);		    }		    {			 E T3m, T4H, T3t, T4G, T3i, T3s;			 T3i = T3g - T3h;			 T3m = T3i - T3l;			 T4H = T3i + T3l;			 T3s = T3q - T3r;			 T3t = T3p + T3s;			 T4G = T3s - T3p;			 T3u = FNMS(KP998026728, T3t, KP062790519 * T3m);			 T4T = FNMS(KP637423989, T4G, KP770513242 * T4H);			 T3L = FMA(KP062790519, T3t, KP998026728 * T3m);			 T4I = FMA(KP770513242, T4G, KP637423989 * T4H);		    }	       }	       {		    E TM, T14, T2e, T21, T23, T2l, T1H, T2f, T1O, T2k;		    {			 E T12, T13, T1R, T22;			 T12 = KP559016994 * (Ts - TL);			 TM = Ts + TL;			 T13 = FNMS(KP250000000, TM, T9);			 T14 = T12 + T13;			 T2e = T13 - T12;			 T1R = KP559016994 * (T1P - T1Q);			 T21 = T1P + T1Q;			 T22 = FNMS(KP250000000, T21, T20);			 T23 = T1R + T22;			 T2l = T22 - T1R;		    }		    {			 E T1n, T1G, T1M, T1N;			 T1n = T1d - T1m;			 T1G = T1w - T1F;			 T1H = FMA(KP951056516, T1n, KP587785252 * T1G);			 T2f = FNMS(KP951056516, T1G, KP587785252 * T1n);			 T1M = Ti - Tr;			 T1N = TB - TK;			 T1O = FMA(KP951056516, T1M, KP587785252 * T1N);			 T2k = FNMS(KP951056516, T1N, KP587785252 * T1M);		    }		    {			 E T1I, T24, T2o, T2q;			 cr[0] = T9 + TM;			 ci[0] = T20 + T21;			 T1I = T14 - T1H;			 T24 = T1O + T23;			 cr[WS(rs, 5)] = FNMS(T1L, T24, T11 * T1I);			 ci[WS(rs, 5)] = FMA(T1L, T1I, T11 * T24);			 T2o = T2e + T2f;			 T2q = T2l - T2k;			 cr[WS(rs, 15)] = FNMS(T2p, T2q, T2n * T2o);			 ci[WS(rs, 15)] = FMA(T2p, T2o, T2n * T2q);			 {			      E T2g, T2m, T28, T2a;			      T2g = T2e - T2f;			      T2m = T2k + T2l;			      cr[WS(rs, 10)] = FNMS(T2j, T2m, T2d * T2g);			      ci[WS(rs, 10)] = FMA(T2j, T2g, T2d * T2m);			      T28 = T14 + T1H;			      T2a = T23 - T1O;			      cr[WS(rs, 20)] = FNMS(T29, T2a, T27 * T28);			      ci[WS(rs, 20)] = FMA(T29, T28, T27 * T2a);			 }		    }	       }	       {		    E T76, T7n, T7a, T7q, T6H, T6W, T6X, T6Y, T7e, T7f, T7d, T7g, T7x, T7y;		    {			 E T72, T75, T78, T79;			 T72 = T70 + T71;			 T75 = T73 - T74;			 T76 = FMA(KP951056516, T72, KP587785252 * T75);			 T7n = FNMS(KP951056516, T75, KP587785252 * T72);			 T78 = T6K - T6N;			 T79 = T6U - T6R;			 T7a = FMA(KP951056516, T78, KP587785252 * T79);			 T7q = FNMS(KP951056516, T79, KP587785252 * T78);		    }		    {			 E T6O, T6V, T7b, T7c;			 T6H = T5Y + T5Z;			 T6O = T6K + T6N;			 T6V = T6R + T6U;			 T6W = T6O - T6V;			 T6X = FNMS(KP250000000, T6W, T6H);			 T6Y = KP559016994 * (T6O + T6V);			 T7e = T6j - T6i;			 T7b = T70 - T71;			 T7c = T73 + T74;			 T7f = T7b + T7c;			 T7d = KP559016994 * (T7b - T7c);			 T7g = FNMS(KP250000000, T7f, T7e);		    }		    T7x = T6H + T6W;		    T7y = T7e + T7f;		    cr[WS(rs, 4)] = FNMS(TY, T7y, TT * T7x);		    ci[WS(rs, 4)] = FMA(TY, T7x, TT * T7y);		    {			 E T7o, T7u, T7s, T7w, T7m, T7r;			 T7m = T6X - T6Y;			 T7o = T7m - T7n;			 T7u = T7m + T7n;			 T7r = T7g - T7d;			 T7s = T7q + T7r;			 T7w = T7r - T7q;			 cr[WS(rs, 14)] = FNMS(T7p, T7s, T7l * T7o);			 ci[WS(rs, 14)] = FMA(T7p, T7o, T7l * T7s);			 cr[WS(rs, 19)] = FNMS(T7v, T7w, T7t * T7u);			 ci[WS(rs, 19)] = FMA(T7v, T7u, T7t * T7w);		    }		    {			 E T77, T7j, T7i, T7k, T6Z, T7h;			 T6Z = T6X + T6Y;			 T77 = T6Z - T76;			 T7j = T6Z + T76;			 T7h = T7d + T7g;			 T7i = T7a + T7h;			 T7k = T7h - T7a;			 cr[WS(rs, 9)] = FNMS(TZ, T7i, TU * T77);			 ci[WS(rs, 9)] = FMA(TZ, T77, TU * T7i);			 cr[WS(rs, 24)] = FNMS(T26, T7k, T25 * T7j);			 ci[WS(rs, 24)] = FMA(T26, T7j, T25 * T7k);		    }	       }	       {		    E T3N, T4h, T3U, T4m, T3D, T3E, T3w, T3F, T44, T45, T3X, T46, T4t, T4u;		    {			 E T3J, T3M, T3S, T3T;			 T3J = T3H - T3I;			 T3M = T3K - T3L;			 T3N = FMA(KP951056516, T3J, KP587785252 * T3M);			 T4h = FNMS(KP951056516, T3M, KP587785252 * T3J);			 T3S = T2K + T2Z;			 T3T = T3f - T3u;			 T3U = FMA(KP951056516, T3S, KP587785252 * T3T);			 T4m = FNMS(KP951056516, T3T, KP587785252 * T3S);		    }		    {			 E T30, T3v, T3V, T3W;			 T3D = T3z - T3C;			 T30 = T2K - T2Z;			 T3v = T3f + T3u;			 T3E = T30 + T3v;			 T3w = KP559016994 * (T30 - T3v);			 T3F = FNMS(KP250000000, T3E, T3D);			 T44 = T40 + T43;			 T3V = T3H + T3I;			 T3W = T3K + T3L;			 T45 = T3V + T3W;			 T3X = KP559016994 * (T3V - T3W);			 T46 = FNMS(KP250000000, T45, T44);		    }		    T4t = T3D + T3E;		    T4u = T44 + T45;		    cr[WS(rs, 2)] = FNMS(T2t, T4u, T2r * T4t);		    ci[WS(rs, 2)] = FMA(T2t, T4t, T2r * T4u);		    {			 E T4i, T4q, T4o, T4s, T4g, T4n;			 T4g = T3F - T3w;			 T4i = T4g - T4h;			 T4q = T4g + T4h;			 T4n = T46 - T3X;			 T4o = T4m + T4n;			 T4s = T4n - T4m;			 cr[WS(rs, 12)] = FNMS(T4l, T4o, T4f * T4i);			 ci[WS(rs, 12)] = FMA(T4l, T4i, T4f * T4o);			 cr[WS(rs, 17)] = FNMS(T4r, T4s, T4p * T4q);			 ci[WS(rs, 17)] = FMA(T4r, T4q, T4p * T4s);		    }		    {			 E T3O, T4a, T48, T4c, T3G, T47;			 T3G = T3w + T3F;			 T3O = T3G - T3N;			 T4a = T3G + T3N;			 T47 = T3X + T46;			 T48 = T3U + T47;			 T4c = T47 - T3U;			 cr[WS(rs, 7)] = FNMS(T3R, T48, T2v * T3O);			 ci[WS(rs, 7)] = FMA(T3R, T3O, T2v * T48);			 cr[WS(rs, 22)] = FNMS(T4b, T4c, T49 * T4a);			 ci[WS(rs, 22)] = FMA(T4b, T4a, T49 * T4c);		    }	       }	       {		    E T4V, T5f, T50, T5i, T4L, T4M, T4K, T4N, T54, T55, T53, T56, T5r, T5s;		    {			 E T4R, T4U, T4Y, T4Z;			 T4R = T4P - T4Q;			 T4U = T4S - T4T;			 T4V = FMA(KP951056516, T4R, KP587785252 * T4U);			 T5f = FNMS(KP951056516, T4U, KP587785252 * T4R);			 T4Y = T4y + T4B;			 T4Z = T4F + T4I;			 T50 = FMA(KP951056516, T4Y, KP587785252 * T4Z);			 T5i = FNMS(KP951056516, T4Z, KP587785252 * T4Y);		    }		    {			 E T4C, T4J, T51, T52;			 T4L = T3z + T3C;			 T4C = T4y - T4B;			 T4J = T4F - T4I;			 T4M = T4C + T4J;			 T4K = KP559016994 * (T4C - T4J);			 T4N = FNMS(KP250000000, T4M, T4L);			 T54 = T43 - T40;			 T51 = T4P + T4Q;			 T52 = T4S + T4T;			 T55 = T51 + T52;			 T53 = KP559016994 * (T51 - T52);			 T56 = FNMS(KP250000000, T55, T54);		    }		    T5r = T4L + T4M;		    T5s = T54 + T55;		    cr[WS(rs, 3)] = FNMS(TR, T5s, TO * T5r);		    ci[WS(rs, 3)] = FMA(TR, T5r, TO * T5s);		    {			 E T5g, T5o, T5k, T5q, T5e, T5j;			 T5e = T4N - T4K;			 T5g = T5e - T5f;			 T5o = T5e + T5f;			 T5j = T56 - T53;			 T5k = T5i + T5j;			 T5q = T5j - T5i;			 cr[WS(rs, 13)] = FNMS(T5h, T5k, T5d * T5g);			 ci[WS(rs, 13)] = FMA(T5h, T5g, T5d * T5k);			 cr[WS(rs, 18)] = FNMS(T5p, T5q, T5n * T5o);			 ci[WS(rs, 18)] = FMA(T5p, T5o, T5n * T5q);		    }		    {			 E T4W, T5a, T58, T5c, T4O, T57;			 T4O = T4K + T4N;			 T4W = T4O - T4V;			 T5a = T4O + T4V;			 T57 = T53 + T56;			 T58 = T50 + T57;			 T5c = T57 - T50;			 cr[WS(rs, 8)] = FNMS(T4X, T58, T4v * T4W);			 ci[WS(rs, 8)] = FMA(T4X, T4W, T4v * T58);			 cr[WS(rs, 23)] = FNMS(T5b, T5c, T59 * T5a);			 ci[WS(rs, 23)] = FMA(T5b, T5a, T59 * T5c);		    }	       }	       {		    E T6a, T6v, T6e, T6y, T60, T61, T5X, T62, T6k, T6l, T6h, T6m, T6F, T6G;		    {			 E T66, T69, T6c, T6d;			 T66 = T64 - T65;			 T69 = T67 - T68;			 T6a = FMA(KP951056516, T66, KP587785252 * T69);			 T6v = FNMS(KP951056516, T69, KP587785252 * T66);			 T6c = T5z - T5G;			 T6d = T5O - T5V;			 T6e = FMA(KP951056516, T6c, KP587785252 * T6d);			 T6y = FNMS(KP951056516, T6d, KP587785252 * T6c);		    }		    {			 E T5H, T5W, T6f, T6g;			 T60 = T5Y - T5Z;			 T5H = T5z + T5G;			 T5W = T5O + T5V;			 T61 = T5H + T5W;			 T5X = KP559016994 * (T5H - T5W);			 T62 = FNMS(KP250000000, T61, T60);			 T6k = T6i + T6j;			 T6f = T64 + T65;			 T6g = T67 + T68;			 T6l = T6f + T6g;			 T6h = KP559016994 * (T6f - T6g);			 T6m = FNMS(KP250000000, T6l, T6k);		    }		    T6F = T60 + T61;		    T6G = T6k + T6l;		    cr[WS(rs, 1)] = FNMS(TQ, T6G, TN * T6F);		    ci[WS(rs, 1)] = FMA(TQ, T6F, TN * T6G);		    {			 E T6w, T6C, T6A, T6E, T6u, T6z;			 T6u = T62 - T5X;			 T6w = T6u - T6v;			 T6C = T6u + T6v;			 T6z = T6m - T6h;			 T6A = T6y + T6z;			 T6E = T6z - T6y;			 cr[WS(rs, 11)] = FNMS(T6x, T6A, T6t * T6w);			 ci[WS(rs, 11)] = FMA(T6x, T6w, T6t * T6A);			 cr[WS(rs, 16)] = FNMS(T6D, T6E, T6B * T6C);			 ci[WS(rs, 16)] = FMA(T6D, T6C, T6B * T6E);		    }		    {			 E T6b, T6q, T6o, T6s, T63, T6n;			 T63 = T5X + T62;			 T6b = T63 - T6a;			 T6q = T63 + T6a;			 T6n = T6h + T6m;			 T6o = T6e + T6n;			 T6s = T6n - T6e;			 cr[WS(rs, 6)] = FNMS(T5m, T6o, T5l * T6b);			 ci[WS(rs, 6)] = FMA(T5m, T6b, T5l * T6o);			 cr[WS(rs, 21)] = FNMS(T6r, T6s, T6p * T6q);			 ci[WS(rs, 21)] = FMA(T6r, T6q, T6p * T6s);		    }	       }	  }     }}static const tw_instr twinstr[] = {     {TW_CEXP, 1, 1},     {TW_CEXP, 1, 3},     {TW_CEXP, 1, 9},     {TW_CEXP, 1, 24},     {TW_NEXT, 1, 0}};static const hc2hc_desc desc = { 25, "hb2_25", twinstr, &GENUS, {280, 180, 160, 0} };void X(codelet_hb2_25) (planner *p) {     X(khc2hc_register) (p, hb2_25, &desc);}#endif				/* HAVE_FMA */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -