📄 r2cb_128.c
字号:
T5V = T5y - T5z; T5A = T5y + T5z; } { E T5W, T5I, T5Z, T5J; { E T5D, T3L, T67, T5B, T5Y, T5j, T65, T69, T66, T5k; T5D = FNMS(KP1_990369453, T3K, T2R); T3L = FMA(KP1_990369453, T3K, T2R); T5W = FNMS(KP980785280, T5V, T5U); T67 = FMA(KP980785280, T5V, T5U); T5I = FNMS(KP980785280, T5A, T5x); T5B = FMA(KP980785280, T5A, T5x); T5Y = T5i - T4R; T5j = T4R + T5i; T65 = FNMS(KP1_546020906, T64, T63); T69 = FMA(KP1_546020906, T64, T63); T5Z = FNMS(KP980785280, T5Y, T5X); T66 = FMA(KP980785280, T5Y, T5X); T5J = FNMS(KP980785280, T5j, T4q); T5k = FMA(KP980785280, T5j, T4q); { E T68, T6a, T5E, T5C; T68 = FNMS(KP357805721, T67, T66); T6a = FMA(KP357805721, T66, T67); T5E = FMA(KP049126849, T5k, T5B); T5C = FNMS(KP049126849, T5B, T5k); R1[WS(rs, 60)] = FMA(KP1_883088130, T6a, T69); R1[WS(rs, 28)] = FNMS(KP1_883088130, T6a, T69); R1[WS(rs, 44)] = FMA(KP1_883088130, T68, T65); R1[WS(rs, 12)] = FNMS(KP1_883088130, T68, T65); R1[0] = FMA(KP1_997590912, T5C, T3L); R1[WS(rs, 32)] = FNMS(KP1_997590912, T5C, T3L); R1[WS(rs, 16)] = FNMS(KP1_997590912, T5E, T5D); R1[WS(rs, 48)] = FMA(KP1_997590912, T5E, T5D); } } { E T5H, T5K, T5T, T60; T5L = FMA(KP1_990369453, T5G, T5F); T5H = FNMS(KP1_990369453, T5G, T5F); T5K = FNMS(KP906347169, T5J, T5I); T5M = FMA(KP906347169, T5I, T5J); T61 = FMA(KP1_546020906, T5S, T5P); T5T = FNMS(KP1_546020906, T5S, T5P); T60 = FNMS(KP472964775, T5Z, T5W); T62 = FMA(KP472964775, T5W, T5Z); R1[WS(rs, 40)] = FMA(KP1_481902250, T5K, T5H); R1[WS(rs, 8)] = FNMS(KP1_481902250, T5K, T5H); R1[WS(rs, 4)] = FMA(KP1_807978586, T60, T5T); R1[WS(rs, 36)] = FNMS(KP1_807978586, T60, T5T); } } } } } { E T8B, T8C, T8R, T8S; { E T8v, T7v, T8w, T7O, T8N, T8n, T8U, T8I, T8T, T8F, T8K, T80, T87, T8e, T8L; E T8q; { E T8D, T8E, T8H, T8G, T8o, T8p; { E T7n, T7u, T7G, T7N; T8D = FMA(KP1_847759065, T7m, T7j); T7n = FNMS(KP1_847759065, T7m, T7j); R1[WS(rs, 52)] = FMA(KP1_807978586, T62, T61); R1[WS(rs, 20)] = FNMS(KP1_807978586, T62, T61); R1[WS(rs, 56)] = FMA(KP1_481902250, T5M, T5L); R1[WS(rs, 24)] = FNMS(KP1_481902250, T5M, T5L); T7u = FNMS(KP668178637, T7t, T7q); T8E = FMA(KP668178637, T7q, T7t); T8H = FMA(KP923879532, T7F, T7y); T7G = FNMS(KP923879532, T7F, T7y); T7N = FMA(KP923879532, T7M, T7J); T8G = FNMS(KP923879532, T7M, T7J); T8v = FNMS(KP1_662939224, T7u, T7n); T7v = FMA(KP1_662939224, T7u, T7n); T8w = FMA(KP303346683, T7G, T7N); T7O = FNMS(KP303346683, T7N, T7G); } T8N = FNMS(KP923879532, T8m, T8j); T8n = FMA(KP923879532, T8m, T8j); T8U = FMA(KP534511135, T8G, T8H); T8I = FNMS(KP534511135, T8H, T8G); T8T = FMA(KP1_662939224, T8E, T8D); T8F = FNMS(KP1_662939224, T8E, T8D); T8K = FMA(KP923879532, T7Z, T7S); T80 = FNMS(KP923879532, T7Z, T7S); T87 = FNMS(KP668178637, T86, T83); T8o = FMA(KP668178637, T83, T86); T8p = FMA(KP668178637, T8a, T8d); T8e = FNMS(KP668178637, T8d, T8a); T8L = T8o + T8p; T8q = T8o - T8p; } { E T8M, T8y, T8P, T8z; { E T8t, T7P, T8X, T8r, T8O, T8f, T8V, T8Z, T8W, T8g; T8t = FNMS(KP1_913880671, T7O, T7v); T7P = FMA(KP1_913880671, T7O, T7v); T8M = FNMS(KP831469612, T8L, T8K); T8X = FMA(KP831469612, T8L, T8K); T8y = FNMS(KP831469612, T8q, T8n); T8r = FMA(KP831469612, T8q, T8n); T8O = T8e - T87; T8f = T87 + T8e; T8V = FNMS(KP1_763842528, T8U, T8T); T8Z = FMA(KP1_763842528, T8U, T8T); T8P = FNMS(KP831469612, T8O, T8N); T8W = FMA(KP831469612, T8O, T8N); T8z = FNMS(KP831469612, T8f, T80); T8g = FMA(KP831469612, T8f, T80); { E T8Y, T90, T8u, T8s; T8Y = FNMS(KP250486960, T8X, T8W); T90 = FMA(KP250486960, T8W, T8X); T8u = FMA(KP148335987, T8g, T8r); T8s = FNMS(KP148335987, T8r, T8g); R1[WS(rs, 61)] = FMA(KP1_940062506, T90, T8Z); R1[WS(rs, 29)] = FNMS(KP1_940062506, T90, T8Z); R1[WS(rs, 45)] = FMA(KP1_940062506, T8Y, T8V); R1[WS(rs, 13)] = FNMS(KP1_940062506, T8Y, T8V); R1[WS(rs, 1)] = FMA(KP1_978353019, T8s, T7P); R1[WS(rs, 33)] = FNMS(KP1_978353019, T8s, T7P); R1[WS(rs, 17)] = FNMS(KP1_978353019, T8u, T8t); R1[WS(rs, 49)] = FMA(KP1_978353019, T8u, T8t); } } { E T8x, T8A, T8J, T8Q; T8B = FMA(KP1_913880671, T8w, T8v); T8x = FNMS(KP1_913880671, T8w, T8v); T8A = FNMS(KP741650546, T8z, T8y); T8C = FMA(KP741650546, T8y, T8z); T8R = FMA(KP1_763842528, T8I, T8F); T8J = FNMS(KP1_763842528, T8I, T8F); T8Q = FNMS(KP599376933, T8P, T8M); T8S = FMA(KP599376933, T8M, T8P); R1[WS(rs, 41)] = FMA(KP1_606415062, T8A, T8x); R1[WS(rs, 9)] = FNMS(KP1_606415062, T8A, T8x); R1[WS(rs, 5)] = FMA(KP1_715457220, T8Q, T8J); R1[WS(rs, 37)] = FNMS(KP1_715457220, T8Q, T8J); } } } { E T6R, T6S, T77, T78; { E T6L, T6h, T6M, T6o, T73, T6D, T7a, T6Y, T79, T6V, T70, T6s, T6y, T6v, T71; E T6G; { E T6T, T6U, T6X, T6W, T6E, T6F; { E T6d, T6g, T6k, T6n; T6T = FMA(KP1_847759065, T6c, T6b); T6d = FNMS(KP1_847759065, T6c, T6b); R1[WS(rs, 53)] = FMA(KP1_715457220, T8S, T8R); R1[WS(rs, 21)] = FNMS(KP1_715457220, T8S, T8R); R1[WS(rs, 57)] = FMA(KP1_606415062, T8C, T8B); R1[WS(rs, 25)] = FNMS(KP1_606415062, T8C, T8B); T6g = FNMS(KP668178637, T6f, T6e); T6U = FMA(KP668178637, T6e, T6f); T6X = FMA(KP923879532, T6j, T6i); T6k = FNMS(KP923879532, T6j, T6i); T6n = FNMS(KP923879532, T6m, T6l); T6W = FMA(KP923879532, T6m, T6l); T6L = FMA(KP1_662939224, T6g, T6d); T6h = FNMS(KP1_662939224, T6g, T6d); T6M = FMA(KP534511135, T6k, T6n); T6o = FNMS(KP534511135, T6n, T6k); } T73 = FMA(KP923879532, T6C, T6B); T6D = FNMS(KP923879532, T6C, T6B); T7a = FMA(KP303346683, T6W, T6X); T6Y = FNMS(KP303346683, T6X, T6W); T79 = FMA(KP1_662939224, T6U, T6T); T6V = FNMS(KP1_662939224, T6U, T6T); T70 = FMA(KP923879532, T6r, T6q); T6s = FNMS(KP923879532, T6r, T6q); T6y = FNMS(KP668178637, T6x, T6w); T6E = FMA(KP668178637, T6w, T6x); T6F = FNMS(KP668178637, T6t, T6u); T6v = FMA(KP668178637, T6u, T6t); T71 = T6E + T6F; T6G = T6E - T6F; } { E T72, T6O, T75, T6P; { E T6J, T6p, T7d, T6H, T74, T6z, T7b, T7f, T7c, T6A; T6J = FNMS(KP1_763842528, T6o, T6h); T6p = FMA(KP1_763842528, T6o, T6h); T72 = FNMS(KP831469612, T71, T70); T7d = FMA(KP831469612, T71, T70); T6O = FNMS(KP831469612, T6G, T6D); T6H = FMA(KP831469612, T6G, T6D); T74 = T6y + T6v; T6z = T6v - T6y; T7b = FNMS(KP1_913880671, T7a, T79); T7f = FMA(KP1_913880671, T7a, T79); T75 = FNMS(KP831469612, T74, T73); T7c = FMA(KP831469612, T74, T73); T6P = FNMS(KP831469612, T6z, T6s); T6A = FMA(KP831469612, T6z, T6s); { E T7e, T7g, T6K, T6I; T7e = FNMS(KP148335987, T7d, T7c); T7g = FMA(KP148335987, T7c, T7d); T6K = FMA(KP250486960, T6A, T6H); T6I = FNMS(KP250486960, T6H, T6A); R1[WS(rs, 62)] = FMA(KP1_978353019, T7g, T7f); R1[WS(rs, 30)] = FNMS(KP1_978353019, T7g, T7f); R1[WS(rs, 46)] = FMA(KP1_978353019, T7e, T7b); R1[WS(rs, 14)] = FNMS(KP1_978353019, T7e, T7b); R1[WS(rs, 2)] = FMA(KP1_940062506, T6I, T6p); R1[WS(rs, 34)] = FNMS(KP1_940062506, T6I, T6p); R1[WS(rs, 18)] = FNMS(KP1_940062506, T6K, T6J); R1[WS(rs, 50)] = FMA(KP1_940062506, T6K, T6J); } } { E T6N, T6Q, T6Z, T76; T6R = FMA(KP1_763842528, T6M, T6L); T6N = FNMS(KP1_763842528, T6M, T6L); T6Q = FNMS(KP599376933, T6P, T6O); T6S = FMA(KP599376933, T6O, T6P); T77 = FMA(KP1_913880671, T6Y, T6V); T6Z = FNMS(KP1_913880671, T6Y, T6V); T76 = FNMS(KP741650546, T75, T72); T78 = FMA(KP741650546, T72, T75); R1[WS(rs, 42)] = FMA(KP1_715457220, T6Q, T6N); R1[WS(rs, 10)] = FNMS(KP1_715457220, T6Q, T6N); R1[WS(rs, 6)] = FMA(KP1_606415062, T76, T6Z); R1[WS(rs, 38)] = FNMS(KP1_606415062, T76, T6Z); } } } { E T9B, T97, T9C, T9e, T9T, T9t, Ta0, T9O, T9Z, T9L, T9Q, T9i, T9l, T9o, T9R; E T9w; { E T9J, T9K, T9N, T9M, T9u, T9v; { E T93, T96, T9a, T9d; T9J = FMA(KP1_847759065, T92, T91); T93 = FNMS(KP1_847759065, T92, T91); R1[WS(rs, 54)] = FMA(KP1_606415062, T78, T77); R1[WS(rs, 22)] = FNMS(KP1_606415062, T78, T77); R1[WS(rs, 58)] = FMA(KP1_715457220, T6S, T6R); R1[WS(rs, 26)] = FNMS(KP1_715457220, T6S, T6R); T96 = FNMS(KP198912367, T95, T94); T9K = FMA(KP198912367, T94, T95); T9N = FMA(KP923879532, T99, T98); T9a = FNMS(KP923879532, T99, T98); T9d = FNMS(KP923879532, T9c, T9b); T9M = FMA(KP923879532, T9c, T9b); T9B = FMA(KP1_961570560, T96, T93); T97 = FNMS(KP1_961570560, T96, T93); T9C = FMA(KP820678790, T9a, T9d); T9e = FNMS(KP820678790, T9d, T9a); } T9T = FMA(KP923879532, T9s, T9r); T9t = FNMS(KP923879532, T9s, T9r); Ta0 = FMA(KP098491403, T9M, T9N); T9O = FNMS(KP098491403, T9N, T9M); T9Z = FMA(KP1_961570560, T9K, T9J); T9L = FNMS(KP1_961570560, T9K, T9J); T9Q = FMA(KP923879532, T9h, T9g); T9i = FNMS(KP923879532, T9h, T9g); T9l = FNMS(KP198912367, T9k, T9j); T9u = FMA(KP198912367, T9j, T9k); T9v = FMA(KP198912367, T9m, T9n); T9o = FNMS(KP198912367, T9n, T9m); T9R = T9u + T9v; T9w = T9u - T9v; } { E T9S, T9E, T9V, T9F; { E T9z, T9f, Ta3, T9x, T9U, T9p, Ta1, Ta5, Ta2, T9q; T9z = FNMS(KP1_546020906, T9e, T97); T9f = FMA(KP1_546020906, T9e, T97); T9S = FNMS(KP980785280, T9R, T9Q); Ta3 = FMA(KP980785280, T9R, T9Q); T9E = FNMS(KP980785280, T9w, T9t); T9x = FMA(KP980785280, T9w, T9t); T9U = T9l - T9o; T9p = T9l + T9o; Ta1 = FNMS(KP1_990369453, Ta0, T9Z); Ta5 = FMA(KP1_990369453, Ta0, T9Z); T9V = FNMS(KP980785280, T9U, T9T); Ta2 = FMA(KP980785280, T9U, T9T); T9F = FMA(KP980785280, T9p, T9i); T9q = FNMS(KP980785280, T9p, T9i); { E Ta4, Ta6, T9A, T9y; Ta4 = FNMS(KP049126849, Ta3, Ta2); Ta6 = FMA(KP049126849, Ta2, Ta3); T9A = FMA(KP357805721, T9q, T9x); T9y = FNMS(KP357805721, T9x, T9q); R1[WS(rs, 63)] = FMA(KP1_997590912, Ta6, Ta5); R1[WS(rs, 31)] = FNMS(KP1_997590912, Ta6, Ta5); R1[WS(rs, 47)] = FMA(KP1_997590912, Ta4, Ta1); R1[WS(rs, 15)] = FNMS(KP1_997590912, Ta4, Ta1); R1[WS(rs, 3)] = FMA(KP1_883088130, T9y, T9f); R1[WS(rs, 35)] = FNMS(KP1_883088130, T9y, T9f); R1[WS(rs, 19)] = FNMS(KP1_883088130, T9A, T9z); R1[WS(rs, 51)] = FMA(KP1_883088130, T9A, T9z); } } { E T9D, T9G, T9P, T9W; T9H = FMA(KP1_546020906, T9C, T9B); T9D = FNMS(KP1_546020906, T9C, T9B); T9G = FNMS(KP472964775, T9F, T9E); T9I = FMA(KP472964775, T9E, T9F); T9X = FMA(KP1_990369453, T9O, T9L); T9P = FNMS(KP1_990369453, T9O, T9L); T9W = FNMS(KP906347169, T9V, T9S); T9Y = FMA(KP906347169, T9S, T9V); R1[WS(rs, 43)] = FMA(KP1_807978586, T9G, T9D); R1[WS(rs, 11)] = FNMS(KP1_807978586, T9G, T9D); R1[WS(rs, 7)] = FMA(KP1_481902250, T9W, T9P); R1[WS(rs, 39)] = FNMS(KP1_481902250, T9W, T9P); } } } } } } } } R1[WS(rs, 55)] = FMA(KP1_481902250, T9Y, T9X); R1[WS(rs, 23)] = FNMS(KP1_481902250, T9Y, T9X); R1[WS(rs, 59)] = FMA(KP1_807978586, T9I, T9H); R1[WS(rs, 27)] = FNMS(KP1_807978586, T9I, T9H); }}static const kr2c_desc desc = { 128, "r2cb_128", {416, 0, 540, 0}, &GENUS };void X(codelet_r2cb_128) (planner *p) { X(kr2c_register) (p, r2cb_128, &desc);}#else /* HAVE_FMA *//* Generated by: ../../../genfft/gen_r2cb -compact -variables 4 -pipeline-latency 4 -sign 1 -n 128 -name r2cb_128 -include r2cb.h *//* * This function contains 956 FP additions, 342 FP multiplications, * (or, 812 additions, 198 multiplications, 144 fused multiply/add), * 198 stack variables, 39 constants, and 256 memory accesses */#include "r2cb.h"static void r2cb_128(R *R0, R *R1, R *Cr, R *Ci, stride rs, stride csr, stride csi, INT v, INT ivs, INT ovs){ DK(KP1_028205488, +1.028205488386443453187387677937631545216098241); DK(KP1_715457220, +1.715457220000544139804539968569540274084981599); DK(KP1_606415062, +1.606415062961289819613353025926283847759138854); DK(KP1_191398608, +1.191398608984866686934073057659939779023852677); DK(KP1_940062506, +1.940062506389087985207968414572200502913731924); DK(KP485960359, +0.485960359806527779896548324154942236641981567); DK(KP293460948, +0.293460948910723503317700259293435639412430633); DK(KP1_978353019, +1.978353019929561946903347476032486127967379067); DK(KP831469612, +0.831469612302545237078788377617905756738560812); DK(KP555570233, +0.555570233019602224742830813948532874374937191); DK(KP855110186, +0.855110186860564188641933713777597068609157259); DK(KP1_807978586, +1.807978586246886663172400594461074097420264050); DK(KP1_481902250, +1.481902250709918182351233794990325459457910619); DK(KP1_343117909, +1.343117909694036801250753700854843606457501264); DK(KP1_883088130, +1.883088130366041556825018805199004714371179592); DK(KP673779706, +0.673779706784440101378506425238295140955533559); DK(KP098135348, +0.098135348654836028509909953885365316629490726); DK(KP1_997590912, +1.997590912410344785429543209518201388886407229); DK(KP980785280, +0.980785280403230449126182236134239036973933731); DK(KP195090322, +0.195090322016128267848284868477022240927691618); DK(KP580569354, +0.580569354508924735272384751634790549382952557); DK(KP1_913880671, +1.913880671464417729871595773960539938965698411); DK(KP942793473, +0.942793473651995297112775251810508755314920638); DK(KP1_763842528, +1.763842528696710059425513727320776699016885241); DK(KP1_111140466, +1.111140466039204449485661627897065748749874382); DK(KP1_662939224, +1.662939224605090474157576755235811513477121624); DK(KP1_268786568, +1.268786568327290996430343226450986741351374190); DK(KP1_546020906, +1.546020906725473921621813219516939601942082586); DK(KP196034280, +0.196034280659121203988391127777283691722273346); DK(KP1_990369453, +1.990369453344393772489673906218959843150949737); DK(KP390180644, +0.390180644032256535696569736954044481855383236); DK(KP1_961570560, +1.961570560806460898252364472268478073947867462); DK(KP382683432, +0.382683432365089771728459984030398866761344562); DK(KP923879532, +0.923879532511286756128183189396788286822416626); DK(KP707106781, +0.707106781186547524400844362104849039284835938); DK(KP765366864, +0.765366864730179543456919968060797733522689125); DK(KP1_847759065, +1.847759065022573512256366378793576573644833252); DK(KP1_414213562, +1.414213562373095048801688724209698078569671875); DK(KP2_000000000, +2.000000000000000000000000000000000000000000000); INT i; for (i = v; i > 0; i = i - 1, R0 = R0 + ovs, R1 = R1 + ovs, Cr = Cr + ivs, Ci = Ci + ivs, MAKE_VOLATILE_STRIDE(rs), MAKE_VOLATILE_STRIDE(csr), MAKE_VOLATILE_STRIDE(csi)) { E Ta, T6q, T2a, T5k, T8x, Tbx, TcF, Ten, Th, T6r, T2j, T5l, T8E, Tby, TcI; E Teo, Tx, T6t, TcM, Teq, TcP, Ter, T2t, T5n, T2C, T5o, T8Q, TbA, T8X, TbB; E T6w, T7L, T1j, T6L, Tde, TeC, TdL, TeR, T3v, T5z, T4I, T5O, T9O, TbM, TaV;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -