📄 t2_64.c
字号:
Tdk = Tbj + Tb4; Tdj = FMA(KP707106781, Tbv, Tbs); Tbw = FNMS(KP707106781, Tbv, Tbs); TcS = FNMS(KP668178637, Tae, Tap); Taq = FMA(KP668178637, Tap, Tae); TcW = FMA(KP923879532, Tbk, TaP); Tbl = FNMS(KP923879532, Tbk, TaP); TcT = TcR + TcS; TlO = TcS - TcR; TlI = T9R + Taq; Tar = T9R - Taq; Tbz = Tbx - Tby; Tdn = Tbx + Tby; } { E Tdq, Tdr, TcV, TbA; TcF = FNMS(KP707106781, TcE, TcB); Tdq = FMA(KP707106781, TcE, TcB); Tdr = Tcs + Tcd; Tct = Tcd - Tcs; TbY = FNMS(KP707106781, TbX, TbI); Tdt = FMA(KP707106781, TbX, TbI); TcV = FMA(KP923879532, Tbz, Tbw); TbA = FNMS(KP923879532, Tbz, Tbw); TdL = FMA(KP923879532, Tdr, Tdq); Tds = FNMS(KP923879532, Tdr, Tdq); TcX = FMA(KP303346683, TcW, TcV); Td3 = FNMS(KP303346683, TcV, TcW); TcN = FNMS(KP534511135, Tbl, TbA); TbB = FMA(KP534511135, TbA, Tbl); Tdu = TcG + TcH; TcI = TcG - TcH; } } } { E TdI, Tdl, TdK, Tdv, TdH, Tdo; TdK = FMA(KP923879532, Tdu, Tdt); Tdv = FNMS(KP923879532, Tdu, Tdt); TdI = FMA(KP923879532, Tdk, Tdj); Tdl = FNMS(KP923879532, Tdk, Tdj); TdM = FNMS(KP098491403, TdL, TdK); TdQ = FMA(KP098491403, TdK, TdL); TdA = FMA(KP820678790, Tds, Tdv); Tdw = FNMS(KP820678790, Tdv, Tds); TdH = FMA(KP923879532, Tdn, Tdm); Tdo = FNMS(KP923879532, Tdn, Tdm); TdD = FNMS(KP198912367, Tdb, Tdc); Tdd = FMA(KP198912367, Tdc, Tdb); TdJ = FMA(KP098491403, TdI, TdH); TdP = FNMS(KP098491403, TdH, TdI); Tdz = FNMS(KP820678790, Tdl, Tdo); Tdp = FMA(KP820678790, Tdo, Tdl); } { E TcZ, Tcu, TdE, Tdg; TdE = FMA(KP198912367, Tde, Tdf); Tdg = FNMS(KP198912367, Tdf, Tde); TcZ = FMA(KP923879532, Tct, TbY); Tcu = FNMS(KP923879532, Tct, TbY); TlW = TdE - TdD; TdF = TdD + TdE; Tm2 = Tdd + Tdg; Tdh = Tdd - Tdg; { E T8L, TlE, TcY, TcJ; Tla = T8D + T8K; T8L = T8D - T8K; TlE = TdU - TdT; TdV = TdT + TdU; Td7 = FNMS(KP414213562, T8T, T90); T91 = FMA(KP414213562, T90, T8T); TcY = FMA(KP923879532, TcI, TcF); TcJ = FNMS(KP923879532, TcI, TcF); Td6 = FNMS(KP707106781, T8L, T8w); T8M = FMA(KP707106781, T8L, T8w); TlT = FNMS(KP707106781, TlE, TlD); TlF = FMA(KP707106781, TlE, TlD); Td0 = FNMS(KP303346683, TcZ, TcY); Td4 = FMA(KP303346683, TcY, TcZ); TcO = FMA(KP534511135, Tcu, TcJ); TcK = FNMS(KP534511135, TcJ, Tcu); T9g = FNMS(KP414213562, T9f, T98); Td8 = FMA(KP414213562, T98, T9f); } } } { E Tm1, TlV, TdC, Tda, Td2, TlM, TlL, Td5; { E TlS, TcQ, TlH, TcM, TlR, TcP; { E TcL, Tas, TlP, TlQ, TlN; TlS = TbB + TcK; TcL = TbB - TcK; { E TlU, T9h, TlG, Td9, T9i; TlU = T91 + T9g; T9h = T91 - T9g; TlG = Td8 - Td7; Td9 = Td7 + Td8; Tm1 = FMA(KP923879532, TlU, TlT); TlV = FNMS(KP923879532, TlU, TlT); TcQ = FMA(KP923879532, T9h, T8M); T9i = FNMS(KP923879532, T9h, T8M); TlN = FNMS(KP923879532, TlG, TlF); TlH = FMA(KP923879532, TlG, TlF); TdC = FMA(KP923879532, Td9, Td6); Tda = FNMS(KP923879532, Td9, Td6); Tas = FMA(KP831469612, Tar, T9i); TcM = FNMS(KP831469612, Tar, T9i); } TlR = FNMS(KP831469612, TlO, TlN); TlP = FMA(KP831469612, TlO, TlN); TlQ = TcO - TcN; TcP = TcN + TcO; ri[WS(rs, 11)] = FMA(KP881921264, TcL, Tas); ri[WS(rs, 43)] = FNMS(KP881921264, TcL, Tas); ii[WS(rs, 43)] = FNMS(KP881921264, TlQ, TlP); ii[WS(rs, 11)] = FMA(KP881921264, TlQ, TlP); } { E TcU, Td1, TlJ, TlK; Td2 = FNMS(KP831469612, TcT, TcQ); TcU = FMA(KP831469612, TcT, TcQ); ri[WS(rs, 59)] = FMA(KP881921264, TcP, TcM); ri[WS(rs, 27)] = FNMS(KP881921264, TcP, TcM); ii[WS(rs, 59)] = FMA(KP881921264, TlS, TlR); ii[WS(rs, 27)] = FNMS(KP881921264, TlS, TlR); Td1 = TcX + Td0; TlM = Td0 - TcX; TlL = FNMS(KP831469612, TlI, TlH); TlJ = FMA(KP831469612, TlI, TlH); TlK = Td3 + Td4; Td5 = Td3 - Td4; ri[WS(rs, 3)] = FMA(KP956940335, Td1, TcU); ri[WS(rs, 35)] = FNMS(KP956940335, Td1, TcU); ii[WS(rs, 35)] = FNMS(KP956940335, TlK, TlJ); ii[WS(rs, 3)] = FMA(KP956940335, TlK, TlJ); } } { E Tdy, Tm0, TlZ, TdB; { E Tdi, Tdx, TlX, TlY; Tdy = FNMS(KP980785280, Tdh, Tda); Tdi = FMA(KP980785280, Tdh, Tda); ri[WS(rs, 19)] = FMA(KP956940335, Td5, Td2); ri[WS(rs, 51)] = FNMS(KP956940335, Td5, Td2); ii[WS(rs, 51)] = FNMS(KP956940335, TlM, TlL); ii[WS(rs, 19)] = FMA(KP956940335, TlM, TlL); Tdx = Tdp + Tdw; Tm0 = Tdw - Tdp; TlZ = FNMS(KP980785280, TlW, TlV); TlX = FMA(KP980785280, TlW, TlV); TlY = Tdz + TdA; TdB = Tdz - TdA; ri[WS(rs, 7)] = FMA(KP773010453, Tdx, Tdi); ri[WS(rs, 39)] = FNMS(KP773010453, Tdx, Tdi); ii[WS(rs, 39)] = FNMS(KP773010453, TlY, TlX); ii[WS(rs, 7)] = FMA(KP773010453, TlY, TlX); } { E TdG, TdN, Tm3, Tm4; TdO = FMA(KP980785280, TdF, TdC); TdG = FNMS(KP980785280, TdF, TdC); ri[WS(rs, 23)] = FMA(KP773010453, TdB, Tdy); ri[WS(rs, 55)] = FNMS(KP773010453, TdB, Tdy); ii[WS(rs, 55)] = FNMS(KP773010453, Tm0, TlZ); ii[WS(rs, 23)] = FMA(KP773010453, Tm0, TlZ); TdN = TdJ - TdM; Tm6 = TdJ + TdM; Tm5 = FMA(KP980785280, Tm2, Tm1); Tm3 = FNMS(KP980785280, Tm2, Tm1); Tm4 = TdQ - TdP; TdR = TdP + TdQ; ri[WS(rs, 15)] = FMA(KP995184726, TdN, TdG); ri[WS(rs, 47)] = FNMS(KP995184726, TdN, TdG); ii[WS(rs, 47)] = FNMS(KP995184726, Tm4, Tm3); ii[WS(rs, 15)] = FMA(KP995184726, Tm4, Tm3); } } } } { E Tf5, Tlk, Tle, Tej, Tf9, Tff, TeZ, TeD, TfY, Tg2, TfM, TfI, TfV, Tg1, TfL; E TfB, Tls, TfR, Tly, Tft, Tfj, TdZ, Tfi, TdW, Tlp, Tlb, Tfc, Tfg, Tf0, TeW; E Te2, Tfk; { E Tfn, Tfo, Tfq, Tfr, Tfy, Tfw, Tfv, Tfz, TeR, TeN, TeG, TfF, TfX, TfE, TfG; E TeU, TfP, Tfp; { E Te7, Tea, Tee, Teh; Tfn = FNMS(KP707106781, Te6, Te5); Te7 = FMA(KP707106781, Te6, Te5); ri[WS(rs, 63)] = FMA(KP995184726, TdR, TdO); ri[WS(rs, 31)] = FNMS(KP995184726, TdR, TdO); ii[WS(rs, 63)] = FMA(KP995184726, Tm6, Tm5); ii[WS(rs, 31)] = FNMS(KP995184726, Tm6, Tm5); Tea = FMA(KP707106781, Te9, Te8); Tfo = FNMS(KP707106781, Te9, Te8); Tfq = FNMS(KP707106781, Ted, Tec); Tee = FMA(KP707106781, Ted, Tec); Teh = FMA(KP707106781, Teg, Tef); Tfr = FNMS(KP707106781, Teg, Tef); { E Tey, Tf8, Tev, TeB; { E Ten, Tf3, Teb, Tf4, Tei, Teu; Tfy = FNMS(KP707106781, Tem, Tel); Ten = FMA(KP707106781, Tem, Tel); Tf3 = FMA(KP198912367, Te7, Tea); Teb = FNMS(KP198912367, Tea, Te7); Tf4 = FNMS(KP198912367, Tee, Teh); Tei = FMA(KP198912367, Teh, Tee); Teu = Teq + Tet; Tfw = Tet - Teq; Tfv = FNMS(KP707106781, Tex, Tew); Tey = FMA(KP707106781, Tex, Tew); Tf5 = Tf3 + Tf4; Tlk = Tf4 - Tf3; Tle = Teb + Tei; Tej = Teb - Tei; Tf8 = FMA(KP923879532, Teu, Ten); Tev = FNMS(KP923879532, Teu, Ten); TeB = Tez + TeA; Tfz = Tez - TeA; } { E TfC, TfD, Tf7, TeC; TeR = FMA(KP707106781, TeQ, TeP); TfC = FNMS(KP707106781, TeQ, TeP); TfD = TeM - TeJ; TeN = TeJ + TeM; TeG = FMA(KP707106781, TeF, TeE); TfF = FNMS(KP707106781, TeF, TeE); Tf7 = FMA(KP923879532, TeB, Tey); TeC = FNMS(KP923879532, TeB, Tey); TfX = FMA(KP923879532, TfD, TfC); TfE = FNMS(KP923879532, TfD, TfC); Tf9 = FMA(KP098491403, Tf8, Tf7); Tff = FNMS(KP098491403, Tf7, Tf8); TeZ = FNMS(KP820678790, Tev, TeC); TeD = FMA(KP820678790, TeC, Tev); TfG = TeS - TeT; TeU = TeS + TeT; } } } { E TfU, Tfx, TfW, TfH, TfT, TfA; TfW = FMA(KP923879532, TfG, TfF); TfH = FNMS(KP923879532, TfG, TfF); TfU = FMA(KP923879532, Tfw, Tfv); Tfx = FNMS(KP923879532, Tfw, Tfv); TfY = FNMS(KP303346683, TfX, TfW); Tg2 = FMA(KP303346683, TfW, TfX); TfM = FMA(KP534511135, TfE, TfH); TfI = FNMS(KP534511135, TfH, TfE); TfT = FMA(KP923879532, Tfz, Tfy); TfA = FNMS(KP923879532, Tfz, Tfy); TfP = FNMS(KP668178637, Tfn, Tfo); Tfp = FMA(KP668178637, Tfo, Tfn); TfV = FMA(KP303346683, TfU, TfT); Tg1 = FNMS(KP303346683, TfT, TfU); TfL = FNMS(KP534511135, Tfx, TfA); TfB = FMA(KP534511135, TfA, Tfx); } { E Tfb, TeO, TfQ, Tfs, Tfa, TeV; TfQ = FMA(KP668178637, Tfq, Tfr); Tfs = FNMS(KP668178637, Tfr, Tfq); Tfb = FMA(KP923879532, TeN, TeG); TeO = FNMS(KP923879532, TeN, TeG); Tls = TfQ - TfP; TfR = TfP + TfQ; Tly = Tfp + Tfs; Tft = Tfp - Tfs; Tfj = FNMS(KP414213562, TdX, TdY); TdZ = FMA(KP414213562, TdY, TdX); Tfa = FMA(KP923879532, TeU, TeR); TeV = FNMS(KP923879532, TeU, TeR); Tfi = FNMS(KP707106781, TdV, TdS); TdW = FMA(KP707106781, TdV, TdS); Tlp = FNMS(KP707106781, Tla, Tl9); Tlb = FMA(KP707106781, Tla, Tl9); Tfc = FNMS(KP098491403, Tfb, Tfa); Tfg = FMA(KP098491403, Tfa, Tfb); Tf0 = FMA(KP820678790, TeO, TeV); TeW = FNMS(KP820678790, TeV, TeO); Te2 = FNMS(KP414213562, Te1, Te0); Tfk = FMA(KP414213562, Te0, Te1); } } { E Tlx, Tlr, TfO, Tfm, Tfe, Tli, Tlh, Tfh; { E Tlo, Tf2, Tld, TeY, Tln, Tf1; { E TeX, Tek, Tll, Tlm, Tlj; Tlo = TeD + TeW; TeX = TeD - TeW; { E Tlq, Te3, Tlc, Tfl, Te4; Tlq = Te2 - TdZ; Te3 = TdZ + Te2; Tlc = Tfj + Tfk; Tfl = Tfj - Tfk; Tlx = FNMS(KP923879532, Tlq, Tlp); Tlr = FMA(KP923879532, Tlq, Tlp); Tf2 = FMA(KP923879532, Te3, TdW); Te4 = FNMS(KP923879532, Te3, TdW); Tlj = FNMS(KP923879532, Tlc, Tlb); Tld = FMA(KP923879532, Tlc, Tlb); TfO = FNMS(KP923879532, Tfl, Tfi); Tfm = FMA(KP923879532, Tfl, Tfi); Tek = FMA(KP980785280, Tej, Te4); TeY = FNMS(KP980785280, Tej, Te4); } Tln = FNMS(KP980785280, Tlk, Tlj); Tll = FMA(KP980785280, Tlk, Tlj); Tlm = Tf0 - TeZ; Tf1 = TeZ + Tf0; ri[WS(rs, 9)] = FMA(KP773010453, TeX, Tek); ri[WS(rs, 41)] = FNMS(KP773010453, TeX, Tek); ii[WS(rs, 41)] = FNMS(KP773010453, Tlm, Tll); ii[WS(rs, 9)] = FMA(KP773010453, Tlm, Tll); } { E Tf6, Tfd, Tlf, Tlg; Tfe = FNMS(KP980785280, Tf5, Tf2); Tf6 = FMA(KP980785280, Tf5, Tf2); ri[WS(rs, 57)] = FMA(KP773010453, Tf1, TeY); ri[WS(rs, 25)] = FNMS(KP773010453, Tf1, TeY); ii[WS(rs, 57)] = FMA(KP773010453, Tlo, Tln); ii[WS(rs, 25)] = FNMS(KP773010453, Tlo, Tln); Tfd = Tf9 + Tfc; Tli = Tfc - Tf9; Tlh = FNMS(KP980785280, Tle, Tld); Tlf = FMA(KP980785280, Tle, Tld); Tlg = Tff + Tfg; Tfh = Tff - Tfg; ri[WS(rs, 1)] = FMA(KP995184726, Tfd, Tf6); ri[WS(rs, 33)] = FNMS(KP995184726, Tfd, Tf6); ii[WS(rs, 33)] = FNMS(KP995184726, Tlg, Tlf); ii[WS(rs, 1)] = FMA(KP995184726, Tlg, Tlf); } } { E TfK, Tlw, Tlv, TfN; { E Tfu, TfJ, Tlt, Tlu; TfK = FNMS(KP831469612, Tft, Tfm); Tfu = FMA(KP831469612, Tft, Tfm); ri[WS(rs, 17)] = FMA(KP995184726, Tfh, Tfe); ri[WS(rs, 49)] = FNMS(KP995184726, Tfh, Tfe); ii[WS(rs, 49)] = FNMS(KP995184726, Tli, Tlh); ii[WS(rs, 17)] = FMA(KP995184726, Tli, Tlh); TfJ = TfB + TfI; Tlw = TfI - TfB; Tlv = FNMS(KP831469612, Tls, Tlr); Tlt = FMA(KP831469612, Tls, Tlr); Tlu = TfL + TfM; TfN = TfL - TfM; ri[WS(rs, 5)] = FMA(KP881921264, TfJ, Tfu); ri[WS(rs, 37)] = FNMS(KP881921264, TfJ, Tfu); ii[WS(rs, 37)] = FNMS(KP881921264, Tlu, Tlt); ii[WS(rs, 5)] = FMA(KP881921264, Tlu, Tlt); } { E TfS, TfZ, Tlz, TlA; Tg0 = FMA(KP831469612, TfR, TfO); TfS = FNMS(KP831469612, TfR, TfO); ri[WS(rs, 21)] = FMA(KP881921264, TfN, TfK); ri[WS(rs, 53)] = FNMS(KP881921264, TfN, TfK); ii[WS(rs, 53)] = FNMS(KP881921264, Tlw, Tlv); ii[WS(rs, 21)] = FMA(KP881921264, Tlw, Tlv); TfZ = TfV - TfY; TlC = TfV + TfY; TlB = FMA(KP831469612, Tly, Tlx); Tlz = FNMS(KP831469612, Tly, Tlx); TlA = Tg2 - Tg1; Tg3 = Tg1 + Tg2; ri[WS(rs, 13)] = FMA(KP956940335, TfZ, TfS); ri[WS(rs, 45)] = FNMS(KP956940335, TfZ, TfS); ii[WS(rs, 45)] = FNMS(KP956940335, TlA, Tlz); ii[WS(rs, 13)] = FMA(KP956940335, TlA, Tlz); } } } } } } } } ri[WS(rs, 61)] = FMA(KP956940335, Tg3, Tg0); ri[WS(rs, 29)] = FNMS(KP956940335, Tg3, Tg0); ii[WS(rs, 61)] = FMA(KP956940335, TlC, TlB); ii[WS(rs, 29)] = FNMS(KP956940335, TlC, TlB); }}static const tw_instr twinstr[] = { {TW_CEXP, 0, 1}, {TW_CEXP, 0, 3}, {TW_CEXP, 0, 9}, {TW_CEXP, 0, 27}, {TW_CEXP, 0, 63}, {TW_NEXT, 1, 0}};static const ct_desc desc = { 64, "t2_64", twinstr, &GENUS, {520, 206, 634, 0}, 0, 0, 0 };void X(codelet_t2_64) (planner *p) { X(kdft_dit_register) (p, t2_64, &desc);}#else /* HAVE_FMA *//* Generated by: ../../../genfft/gen_twiddle -compact -variables 4 -pipeline-latency 4 -twiddle-log3 -precompute-twiddles -n 64 -name t2_64 -include t.h *//* * This function contains 1154 FP additions, 660 FP multiplications, * (or, 880 additions, 386 multiplications, 274 fused multiply/add), * 302 stack variables, 15 constants, and 256 memory accesse
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -