! File: fft49t.i90 ! Public domain 2004 James Van Buskirk subroutine fft49t(h) ! 856 adds, 472 muls complex(wp), intent(inout) :: h(0:48) real(wp) xr1, xi1, xr2, xi2, xr3, xi3, xr4, xi4, xr5, xi5 real(wp) xr6, xi6, xr7, xi7, xr8, xi8, xr9, xi9, xra, xia real(wp) xrb, xib, xrc, xic, xrd, xid, xre, xie, xrf, xif real(wp) xrg, xig, xrh, xih, xri, xii, xrj, xij, xrk, xik real(wp) xrL, xiL, xrm, xim, xrn, xin, xro, xio, xrp, xip real(wp) yr1, yi1, yr2, yi2, yr3, yi3, yr4, yi4, yr5, yi5 real(wp) yr6, yi6, yr7, yi7, yr8, yi8, yr9, yi9, yra, yia real(wp) yrb, yib, yrc, yic, yrd, yid, yre, yie, yrf, yif real(wp) yrg, yig, yrh, yih, yri, yii, yrj, yij, yrk, yik real(wp) yrL, yiL, yrm, yim, yrn, yin, yro, yio real(wp) xr38, xi38, xr3_8, xi3_8, xr47, xi47, xr4_7, xi4_7 real(wp) xr56, xi56, xr5_6, xi5_6, xr384756, xi384756 real(wp) pr2, pi2, pr345, pi345, pr3, pi3, pr4, pi4, pr5, pi5 real(wp) pr6, pi6, pr7, pi7, pr8, pi8 real(wp) xraf, xiaf, xra_f, xia_f, xrbe, xibe, xrb_e, xib_e real(wp) xrcd, xicd, xrc_d, xic_d, xrafbecd, xiafbecd real(wp) pr9, pi9, prabc, piabc, pra, pia, prb, pib, prc, pic real(wp) prd, pid, pre, pie, prf, pif real(wp) xrhm, xihm, xrh_m, xih_m, xriL, xiiL, xri_L, xii_L real(wp) xrjk, xijk, xrj_k, xij_k, xrhmiLjk, xihmiLjk real(wp) prg, pig, prhij, pihij, prh, pih, pri, pii, prj, pij real(wp) prk, pik, prL, piL, prm, pim real(wp) xrnop, xinop, ur29g, ui29g, ur2, ui2, ur9, ui9, urg, uig real(wp) xr1nop, xi1nop, pr29g, pi29g, sr1, si1 real(wp) srnop, sinop, srn, sin, sro, sio, srp, sip real(wp) ur3, ui3, ur6, ui6, ur4, ui4, ur7, ui7 real(wp) ur5, ui5, ur8, ui8, ura, uia, urd, uid real(wp) urb, uib, ure, uie, urc, uic, urf, uif real(wp) urh, uih, urk, uik, uri, uii, urL, uiL real(wp) urj, uij, urm, uim real(wp) ur345, ui345, sr2, si2, sr384756, si384756 real(wp) sr38, si38, sr47, si47, sr56, si56 real(wp) sr3_8, si3_8, sr4_7, si4_7, sr5_6, si5_6 real(wp) sr3, si3, sr8, si8, sr4, si4, sr7, si7 real(wp) sr5, si5, sr6, si6 real(wp) urabc, uiabc, sr9, si9, srafbecd, siafbecd real(wp) sraf, siaf, srbe, sibe, srcd, sicd real(wp) sra_f, sia_f, srb_e, sib_e, src_d, sic_d real(wp) sra, sia, srf, sif, srb, sib, sre, sie real(wp) src, sic, srd, sid real(wp) urhij, uihij, srg, sig, srhmiLjk, sihmiLjk real(wp) srhm, sihm, sriL, siiL, srjk, sijk real(wp) srh_m, sih_m, sri_L, sii_L, srj_k, sij_k real(wp) srh, sih, srm, sim, sri, sii, srL, siL real(wp) srj, sij, srk, sik real(wp) yr27, yi27, yr2_7, yi2_7, yr36, yi36, yr3_6, yi3_6 real(wp) yr45, yi45, yr4_5, yi4_5, yr273645, yi273645 real(wp) qr1, qi1, qr234, qi234, qr2, qi2, qr3, qi3, qr4, qi4 real(wp) qr5, qi5, qr6, qi6, qr7, qi7 real(wp) yr9e, yi9e, yr9_e, yi9_e, yrad, yiad, yra_d, yia_d real(wp) yrbc, yibc, yrb_c, yib_c, yr9eadbc, yi9eadbc real(wp) qr8, qi8, qr9ab, qi9ab, qr9, qi9, qra, qia, qrb, qib real(wp) qrc, qic, qrd, qid, qre, qie real(wp) yrgL, yigL, yrg_L, yig_L, yrhk, yihk, yrh_k, yih_k real(wp) yrij, yiij, yri_j, yii_j, yrgLhkij, yigLhkij real(wp) qrf, qif, qrghi, qighi, qrg, qig, qrh, qih, qri, qii real(wp) qrj, qij, qrk, qik, qrL, qiL real(wp) vr1, vi1, vr8, vi8, vrf, vif real(wp) trm, tim, trn, tin, tro, tio real(wp) vr2, vi2, vr5, vi5, vr3, vi3, vr6, vi6 real(wp) vr4, vi4, vr7, vi7, vr9, vi9, vrc, vic real(wp) vra, via, vrd, vid, vrb, vib, vre, vie real(wp) vrg, vig, vrj, vij, vrh, vih, vrk, vik real(wp) vri, vii, vrL, viL real(wp) vr234, vi234, tr1, ti1, tr273645, ti273645 real(wp) tr27, ti27, tr36, ti36, tr45, ti45 real(wp) tr2_7, ti2_7, tr3_6, ti3_6, tr4_5, ti4_5 real(wp) tr2, ti2, tr7, ti7, tr3, ti3, tr6, ti6 real(wp) tr4, ti4, tr5, ti5 real(wp) vr9ab, vi9ab, tr8, ti8, tr9eadbc, ti9eadbc real(wp) tr9e, ti9e, trad, tiad, trbc, tibc real(wp) tr9_e, ti9_e, tra_d, tia_d, trb_c, tib_c real(wp) tr9, ti9, tre, tie, tra, tia, trd, tid real(wp) trb, tib, trc, tic real(wp) vrghi, vighi, trf, tif, trgLhkij, tigLhkij real(wp) trgL, tigL, trhk, tihk, trij, tiij real(wp) trg_L, tig_L, trh_k, tih_k, tri_j, tii_j real(wp) trg, tig, trL, tiL, trh, tih, trk, tik real(wp) tri, tii, trj, tij real(wp), parameter :: dc1 = 0.70985799751249978581502368347151554_wp real(wp), parameter :: dc2 = 8.4582792045500101823058510621176930E-0002_wp real(wp), parameter :: dc3 = -0.60624202699387040323016632188421131_wp real(wp), parameter :: dc4 = 0.69232598121660909875233920093472965_wp real(wp), parameter :: dc5 = 0.16777673698403059402961405001827376_wp real(wp), parameter :: dc6 = -0.59126910968680973375382611311377524_wp real(wp), parameter :: dc7 = 0.62363256524424426970248670435381406_wp real(wp), parameter :: dc8 = 0.32457915164420626932990687719931612_wp real(wp), parameter :: dc9 = -0.53260267796926576232729160923822222_wp real(wp), parameter :: dc10 = 0.37103127208120112628229118809150595_wp real(wp), parameter :: dc11 = 0.56562377159219777349628367830970979_wp real(wp), parameter :: dc12 = -0.31687288338349778771397200971856036_wp real(wp), parameter :: dc13 = -0.33105445699892872276310610123791603_wp real(wp), parameter :: dc14 = 0.58643031930633038415839768040132940_wp real(wp), parameter :: dc15 = 0.28273137128789138394102579477731644_wp real(wp), parameter :: dc16 = 0.62348980185873353052500488400423983_wp real(wp), parameter :: dc17 = -0.84601073581504793481390744850103454_wp real(wp), parameter :: dc18 = -1.5244586697611526567611072035116850_wp real(wp), parameter :: ds1 = 9.1526053555448670492376177649636860E-0002_wp real(wp), parameter :: ds2 = -0.65600743234340545442406304704067157_wp real(wp), parameter :: ds3 = -7.8166253567112455704878330840231682E-0002_wp real(wp), parameter :: ds4 = 0.18154925184189120117244024942530162_wp real(wp), parameter :: ds5 = -0.63980541301788891683736373090399062_wp real(wp), parameter :: ds6 = -0.15504901941167564583381872952979816_wp real(wp), parameter :: ds7 = 0.35122331739048081666587436319441893_wp real(wp), parameter :: ds8 = -0.57632315094738936805808914809834297_wp real(wp), parameter :: ds9 = -0.29995623999230521416304031894978034_wp real(wp), parameter :: ds10 = 0.61205489153318324899007461741810011_wp real(wp), parameter :: ds11 = -0.34288445431342798484751518970570177_wp real(wp), parameter :: ds12 = -0.52271496464763951024399449151576836_wp real(wp), parameter :: ds13 = 0.63456941433781337231033478323656174_wp real(wp), parameter :: ds14 = 0.30594032195556601574960740266819216_wp real(wp), parameter :: ds15 = -0.54194310603607028347297471277838883_wp real(wp), parameter :: ds16 = 0.78183148246802980870844452667405774_wp real(wp), parameter :: ds17 = 0.97492791218182360701813168299393109_wp real(wp), parameter :: ds18 = -0.43388373911755812047576833284835864_wp real(wp), parameter :: cc1 = -0.73697622909957824233808630700517015_wp real(wp), parameter :: cc2 = 1.8019377358048382524722046390148904_wp real(wp), parameter :: cc3 = -1.1820180970122070509158914359987598_wp real(wp), parameter :: cs1 = 1.2469796037174670610500097680084796_wp real(wp), parameter :: cs2 = -0.55495813208737119142219487100641030_wp xr1 = real(h(0)) xi1 = aimag(h(0)) xr2 = real(h(1))+real(h(48)) xi2 = aimag(h(1))+aimag(h(48)) xr3 = real(h(8))+real(h(41)) xi3 = aimag(h(8))+aimag(h(41)) xr4 = real(h(15))+real(h(34)) xi4 = aimag(h(15))+aimag(h(34)) xr5 = real(h(22))+real(h(27)) xi5 = aimag(h(22))+aimag(h(27)) xr6 = real(h(29))+real(h(20)) xi6 = aimag(h(29))+aimag(h(20)) xr7 = real(h(36))+real(h(13)) xi7 = aimag(h(36))+aimag(h(13)) xr8 = real(h(43))+real(h(6)) xi8 = aimag(h(43))+aimag(h(6)) xr9 = real(h(2))+real(h(47)) xi9 = aimag(h(2))+aimag(h(47)) xra = real(h(9))+real(h(40)) xia = aimag(h(9))+aimag(h(40)) xrb = real(h(16))+real(h(33)) xib = aimag(h(16))+aimag(h(33)) xrc = real(h(23))+real(h(26)) xic = aimag(h(23))+aimag(h(26)) xrd = real(h(30))+real(h(19)) xid = aimag(h(30))+aimag(h(19)) xre = real(h(37))+real(h(12)) xie = aimag(h(37))+aimag(h(12)) xrf = real(h(44))+real(h(5)) xif = aimag(h(44))+aimag(h(5)) xrg = real(h(4))+real(h(45)) xig = aimag(h(4))+aimag(h(45)) xrh = real(h(11))+real(h(38)) xih = aimag(h(11))+aimag(h(38)) xri = real(h(18))+real(h(31)) xii = aimag(h(18))+aimag(h(31)) xrj = real(h(25))+real(h(24)) xij = aimag(h(25))+aimag(h(24)) xrk = real(h(32))+real(h(17)) xik = aimag(h(32))+aimag(h(17)) xrL = real(h(39))+real(h(10)) xiL = aimag(h(39))+aimag(h(10)) xrm = real(h(46))+real(h(3)) xim = aimag(h(46))+aimag(h(3)) xrn = real(h(7))+real(h(42)) xin = aimag(h(7))+aimag(h(42)) xro = real(h(14))+real(h(35)) xio = aimag(h(14))+aimag(h(35)) xrp = real(h(28))+real(h(21)) xip = aimag(h(28))+aimag(h(21)) yr1 = real(h(1))-real(h(48)) yi1 = aimag(h(1))-aimag(h(48)) yr2 = real(h(8))-real(h(41)) yi2 = aimag(h(8))-aimag(h(41)) yr3 = real(h(15))-real(h(34)) yi3 = aimag(h(15))-aimag(h(34)) yr4 = real(h(22))-real(h(27)) yi4 = aimag(h(22))-aimag(h(27)) yr5 = real(h(29))-real(h(20)) yi5 = aimag(h(29))-aimag(h(20)) yr6 = real(h(36))-real(h(13)) yi6 = aimag(h(36))-aimag(h(13)) yr7 = real(h(43))-real(h(6)) yi7 = aimag(h(43))-aimag(h(6)) yr8 = real(h(2))-real(h(47)) yi8 = aimag(h(2))-aimag(h(47)) yr9 = real(h(9))-real(h(40)) yi9 = aimag(h(9))-aimag(h(40)) yra = real(h(16))-real(h(33)) yia = aimag(h(16))-aimag(h(33)) yrb = real(h(23))-real(h(26)) yib = aimag(h(23))-aimag(h(26)) yrc = real(h(30))-real(h(19)) yic = aimag(h(30))-aimag(h(19)) yrd = real(h(37))-real(h(12)) yid = aimag(h(37))-aimag(h(12)) yre = real(h(44))-real(h(5)) yie = aimag(h(44))-aimag(h(5)) yrf = real(h(4))-real(h(45)) yif = aimag(h(4))-aimag(h(45)) yrg = real(h(11))-real(h(38)) yig = aimag(h(11))-aimag(h(38)) yrh = real(h(18))-real(h(31)) yih = aimag(h(18))-aimag(h(31)) yri = real(h(25))-real(h(24)) yii = aimag(h(25))-aimag(h(24)) yrj = real(h(32))-real(h(17)) yij = aimag(h(32))-aimag(h(17)) yrk = real(h(39))-real(h(10)) yik = aimag(h(39))-aimag(h(10)) yrL = real(h(46))-real(h(3)) yiL = aimag(h(46))-aimag(h(3)) yrm = real(h(7))-real(h(42)) yim = aimag(h(7))-aimag(h(42)) yrn = real(h(14))-real(h(35)) yin = aimag(h(14))-aimag(h(35)) yro = real(h(28))-real(h(21)) yio = aimag(h(28))-aimag(h(21)) xr38 = xr3+xr8 xi38 = xi3+xi8 xr3_8 = xr3-xr8 xi3_8 = xi3-xi8 xr47 = xr4+xr7 xi47 = xi4+xi7 xr4_7 = xr4-xr7 xi4_7 = xi4-xi7 xr56 = xr5+xr6 xi56 = xi5+xi6 xr5_6 = xr6-xr5 xi5_6 = xi6-xi5 xr384756 = xr38+xr47+xr56 xi384756 = xi38+xi47+xi56 pr2 = xr2+xr384756 pi2 = xi2+xi384756 pr345 = cc3*xr2+cc1*xr384756 pi345 = cc3*xi2+cc1*xi384756 pr3 = pr345+xr47+cc2*xr56 pi3 = pi345+xi47+cc2*xi56 pr4 = pr345+xr38+cc2*xr47 pi4 = pi345+xi38+cc2*xi47 pr5 = pr345+cc2*xr38+xr56 pi5 = pi345+cc2*xi38+xi56 pr6 = xr3_8+cs1*xr4_7+cs2*xr5_6 pi6 = xi3_8+cs1*xi4_7+cs2*xi5_6 pr7 = cs1*xr3_8+cs2*xr4_7+xr5_6 pi7 = cs1*xi3_8+cs2*xi4_7+xi5_6 pr8 = cs2*xr3_8+xr4_7+cs1*xr5_6 pi8 = cs2*xi3_8+xi4_7+cs1*xi5_6 xraf = xra+xrf xiaf = xia+xif xra_f = xra-xrf xia_f = xia-xif xrbe = xrb+xre xibe = xib+xie xrb_e = xrb-xre xib_e = xib-xie xrcd = xrc+xrd xicd = xic+xid xrc_d = xrd-xrc xic_d = xid-xic xrafbecd = xraf+xrbe+xrcd xiafbecd = xiaf+xibe+xicd pr9 = xr9+xrafbecd pi9 = xi9+xiafbecd prabc = cc3*xr9+cc1*xrafbecd piabc = cc3*xi9+cc1*xiafbecd pra = prabc+xrbe+cc2*xrcd pia = piabc+xibe+cc2*xicd prb = prabc+xraf+cc2*xrbe pib = piabc+xiaf+cc2*xibe prc = prabc+cc2*xraf+xrcd pic = piabc+cc2*xiaf+xicd prd = xra_f+cs1*xrb_e+cs2*xrc_d pid = xia_f+cs1*xib_e+cs2*xic_d pre = cs1*xra_f+cs2*xrb_e+xrc_d pie = cs1*xia_f+cs2*xib_e+xic_d prf = cs2*xra_f+xrb_e+cs1*xrc_d pif = cs2*xia_f+xib_e+cs1*xic_d xrhm = xrh+xrm xihm = xih+xim xrh_m = xrh-xrm xih_m = xih-xim xriL = xri+xrL xiiL = xii+xiL xri_L = xri-xrL xii_L = xii-xiL xrjk = xrj+xrk xijk = xij+xik xrj_k = xrk-xrj xij_k = xik-xij xrhmiLjk = xrhm+xriL+xrjk xihmiLjk = xihm+xiiL+xijk prg = xrg+xrhmiLjk pig = xig+xihmiLjk prhij = cc3*xrg+cc1*xrhmiLjk pihij = cc3*xig+cc1*xihmiLjk prh = prhij+xriL+cc2*xrjk pih = pihij+xiiL+cc2*xijk pri = prhij+xrhm+cc2*xriL pii = pihij+xihm+cc2*xiiL prj = prhij+cc2*xrhm+xrjk pij = pihij+cc2*xihm+xijk prk = xrh_m+cs1*xri_L+cs2*xrj_k pik = xih_m+cs1*xii_L+cs2*xij_k prL = cs1*xrh_m+cs2*xri_L+xrj_k piL = cs1*xih_m+cs2*xii_L+xij_k prm = cs2*xrh_m+xri_L+cs1*xrj_k pim = cs2*xih_m+xii_L+cs1*xij_k xrnop = xrn+xro+xrp xinop = xin+xio+xip ur29g = xr1+dc16*xrnop ui29g = xi1+dc16*xinop ur2 = ur29g+dc17*xro+dc18*xrp ui2 = ui29g+dc17*xio+dc18*xip ur9 = ur29g+dc17*xrn+dc18*xro ui9 = ui29g+dc17*xin+dc18*xio urg = ur29g+dc18*xrn+dc17*xrp uig = ui29g+dc18*xin+dc17*xip xr1nop = xr1+xrnop xi1nop = xi1+xinop pr29g = pr2+pr9+prg pi29g = pi2+pi9+pig sr1 = xr1nop+pr29g si1 = xi1nop+pi29g srnop = xr1nop+dc16*pr29g sinop = xi1nop+dc16*pi29g srn = srnop+dc17*pr9+dc18*prg sin = sinop+dc17*pi9+dc18*pig sro = srnop+dc17*pr2+dc18*pr9 sio = sinop+dc17*pi2+dc18*pi9 srp = srnop+dc18*pr2+dc17*prg sip = sinop+dc18*pi2+dc17*pig ur3 = dc1*pr3+dc2*pr6 ui3 = dc1*pi3+dc2*pi6 ur6 = dc2*pr3+dc3*pr6 ui6 = dc2*pi3+dc3*pi6 ur4 = dc4*pra+dc5*prd ui4 = dc4*pia+dc5*pid ur7 = dc5*pra+dc6*prd ui7 = dc5*pia+dc6*pid ur5 = dc7*prh+dc8*prk ui5 = dc7*pih+dc8*pik ur8 = dc8*prh+dc9*prk ui8 = dc8*pih+dc9*pik ura = dc4*pr4+dc5*pr7 uia = dc4*pi4+dc5*pi7 urd = dc5*pr4+dc6*pr7 uid = dc5*pi4+dc6*pi7 urb = dc7*prb+dc8*pre uib = dc7*pib+dc8*pie ure = dc8*prb+dc9*pre uie = dc8*pib+dc9*pie urc = dc10*pri+dc11*prL uic = dc10*pii+dc11*piL urf = dc11*pri+dc12*prL uif = dc11*pii+dc12*piL urh = dc7*pr5+dc8*pr8 uih = dc7*pi5+dc8*pi8 urk = dc8*pr5+dc9*pr8 uik = dc8*pi5+dc9*pi8 uri = dc10*prc+dc11*prf uii = dc10*pic+dc11*pif urL = dc11*prc+dc12*prf uiL = dc11*pic+dc12*pif urj = dc13*prj+dc14*prm uij = dc13*pij+dc14*pim urm = dc14*prj+dc15*prm uim = dc14*pij+dc15*pim ur345 = ur3+ur4+ur5 ui345 = ui3+ui4+ui5 sr2 = ur2+cc3*ur345 si2 = ui2+cc3*ui345 sr384756 = ur2+cc1*ur345 si384756 = ui2+cc1*ui345 sr38 = sr384756+ur4+cc2*ur5 si38 = si384756+ui4+cc2*ui5 sr47 = sr384756+ur3+cc2*ur4 si47 = si384756+ui3+cc2*ui4 sr56 = sr384756+cc2*ur3+ur5 si56 = si384756+cc2*ui3+ui5 sr3_8 = ur6+cs1*ur7+cs2*ur8 si3_8 = ui6+cs1*ui7+cs2*ui8 sr4_7 = cs1*ur6+cs2*ur7+ur8 si4_7 = cs1*ui6+cs2*ui7+ui8 sr5_6 = cs2*ur6+ur7+cs1*ur8 si5_6 = cs2*ui6+ui7+cs1*ui8 sr3 = sr38+sr3_8 si3 = si38+si3_8 sr8 = sr38-sr3_8 si8 = si38-si3_8 sr4 = sr47+sr4_7 si4 = si47+si4_7 sr7 = sr47-sr4_7 si7 = si47-si4_7 sr6 = sr56+sr5_6 si6 = si56+si5_6 sr5 = sr56-sr5_6 si5 = si56-si5_6 urabc = ura+urb+urc uiabc = uia+uib+uic sr9 = ur9+cc3*urabc si9 = ui9+cc3*uiabc srafbecd = ur9+cc1*urabc siafbecd = ui9+cc1*uiabc sraf = srafbecd+urb+cc2*urc siaf = siafbecd+uib+cc2*uic srbe = srafbecd+ura+cc2*urb sibe = siafbecd+uia+cc2*uib srcd = srafbecd+cc2*ura+urc sicd = siafbecd+cc2*uia+uic sra_f = urd+cs1*ure+cs2*urf sia_f = uid+cs1*uie+cs2*uif srb_e = cs1*urd+cs2*ure+urf sib_e = cs1*uid+cs2*uie+uif src_d = cs2*urd+ure+cs1*urf sic_d = cs2*uid+uie+cs1*uif sra = sraf+sra_f sia = siaf+sia_f srf = sraf-sra_f sif = siaf-sia_f srb = srbe+srb_e sib = sibe+sib_e sre = srbe-srb_e sie = sibe-sib_e srd = srcd+src_d sid = sicd+sic_d src = srcd-src_d sic = sicd-sic_d urhij = urh+uri+urj uihij = uih+uii+uij srg = urg+cc3*urhij sig = uig+cc3*uihij srhmiLjk = urg+cc1*urhij sihmiLjk = uig+cc1*uihij srhm = srhmiLjk+uri+cc2*urj sihm = sihmiLjk+uii+cc2*uij sriL = srhmiLjk+urh+cc2*uri siiL = sihmiLjk+uih+cc2*uii srjk = srhmiLjk+cc2*urh+urj sijk = sihmiLjk+cc2*uih+uij srh_m = urk+cs1*urL+cs2*urm sih_m = uik+cs1*uiL+cs2*uim sri_L = cs1*urk+cs2*urL+urm sii_L = cs1*uik+cs2*uiL+uim srj_k = cs2*urk+urL+cs1*urm sij_k = cs2*uik+uiL+cs1*uim srh = srhm+srh_m sih = sihm+sih_m srm = srhm-srh_m sim = sihm-sih_m sri = sriL+sri_L sii = siiL+sii_L srL = sriL-sri_L siL = siiL-sii_L srk = srjk+srj_k sik = sijk+sij_k srj = srjk-srj_k sij = sijk-sij_k yr27 = yr2+yr7 yi27 = yi2+yi7 yr2_7 = yr2-yr7 yi2_7 = yi2-yi7 yr36 = yr3+yr6 yi36 = yi3+yi6 yr3_6 = yr3-yr6 yi3_6 = yi3-yi6 yr45 = yr4+yr5 yi45 = yi4+yi5 yr4_5 = yr5-yr4 yi4_5 = yi5-yi4 yr273645 = yr27+yr36+yr45 yi273645 = yi27+yi36+yi45 qr1 = yr1+yr273645 qi1 = yi1+yi273645 qr234 = cc3*yr1+cc1*yr273645 qi234 = cc3*yi1+cc1*yi273645 qr2 = qr234+yr36+cc2*yr45 qi2 = qi234+yi36+cc2*yi45 qr3 = qr234+yr27+cc2*yr36 qi3 = qi234+yi27+cc2*yi36 qr4 = qr234+cc2*yr27+yr45 qi4 = qi234+cc2*yi27+yi45 qr5 = yr2_7+cs1*yr3_6+cs2*yr4_5 qi5 = yi2_7+cs1*yi3_6+cs2*yi4_5 qr6 = cs1*yr2_7+cs2*yr3_6+yr4_5 qi6 = cs1*yi2_7+cs2*yi3_6+yi4_5 qr7 = cs2*yr2_7+yr3_6+cs1*yr4_5 qi7 = cs2*yi2_7+yi3_6+cs1*yi4_5 yr9e = yr9+yre yi9e = yi9+yie yr9_e = yr9-yre yi9_e = yi9-yie yrad = yra+yrd yiad = yia+yid yra_d = yra-yrd yia_d = yia-yid yrbc = yrb+yrc yibc = yib+yic yrb_c = yrc-yrb yib_c = yic-yib yr9eadbc = yr9e+yrad+yrbc yi9eadbc = yi9e+yiad+yibc qr8 = yr8+yr9eadbc qi8 = yi8+yi9eadbc qr9ab = cc3*yr8+cc1*yr9eadbc qi9ab = cc3*yi8+cc1*yi9eadbc qr9 = qr9ab+yrad+cc2*yrbc qi9 = qi9ab+yiad+cc2*yibc qra = qr9ab+yr9e+cc2*yrad qia = qi9ab+yi9e+cc2*yiad qrb = qr9ab+cc2*yr9e+yrbc qib = qi9ab+cc2*yi9e+yibc qrc = yr9_e+cs1*yra_d+cs2*yrb_c qic = yi9_e+cs1*yia_d+cs2*yib_c qrd = cs1*yr9_e+cs2*yra_d+yrb_c qid = cs1*yi9_e+cs2*yia_d+yib_c qre = cs2*yr9_e+yra_d+cs1*yrb_c qie = cs2*yi9_e+yia_d+cs1*yib_c yrgL = yrg+yrL yigL = yig+yiL yrg_L = yrg-yrL yig_L = yig-yiL yrhk = yrh+yrk yihk = yih+yik yrh_k = yrh-yrk yih_k = yih-yik yrij = yri+yrj yiij = yii+yij yri_j = yrj-yri yii_j = yij-yii yrgLhkij = yrgL+yrhk+yrij yigLhkij = yigL+yihk+yiij qrf = yrf+yrgLhkij qif = yif+yigLhkij qrghi = cc3*yrf+cc1*yrgLhkij qighi = cc3*yif+cc1*yigLhkij qrg = qrghi+yrhk+cc2*yrij qig = qighi+yihk+cc2*yiij qrh = qrghi+yrgL+cc2*yrhk qih = qighi+yigL+cc2*yihk qri = qrghi+cc2*yrgL+yrij qii = qighi+cc2*yigL+yiij qrj = yrg_L+cs1*yrh_k+cs2*yri_j qij = yig_L+cs1*yih_k+cs2*yii_j qrk = cs1*yrg_L+cs2*yrh_k+yri_j qik = cs1*yig_L+cs2*yih_k+yii_j qrL = cs2*yrg_L+yrh_k+cs1*yri_j qiL = cs2*yig_L+yih_k+cs1*yii_j vr1 = ds16*yrm+ds17*yrn+ds18*yro vi1 = ds16*yim+ds17*yin+ds18*yio vr8 = ds17*yrm+ds18*yrn+ds16*yro vi8 = ds17*yim+ds18*yin+ds16*yio vrf = ds18*yrm+ds16*yrn+ds17*yro vif = ds18*yim+ds16*yin+ds17*yio trm = ds16*qr1+ds17*qr8+ds18*qrf tim = ds16*qi1+ds17*qi8+ds18*qif trn = ds17*qr1+ds18*qr8+ds16*qrf tin = ds17*qi1+ds18*qi8+ds16*qif tro = ds18*qr1+ds16*qr8+ds17*qrf tio = ds18*qi1+ds16*qi8+ds17*qif vr2 = ds1*qr2+ds2*qr5 vi2 = ds1*qi2+ds2*qi5 vr5 = ds2*qr2+ds3*qr5 vi5 = ds2*qi2+ds3*qi5 vr3 = ds4*qr9+ds5*qrc vi3 = ds4*qi9+ds5*qic vr6 = ds5*qr9+ds6*qrc vi6 = ds5*qi9+ds6*qic vr4 = ds7*qrg+ds8*qrj vi4 = ds7*qig+ds8*qij vr7 = ds8*qrg+ds9*qrj vi7 = ds8*qig+ds9*qij vr9 = ds4*qr3+ds5*qr6 vi9 = ds4*qi3+ds5*qi6 vrc = ds5*qr3+ds6*qr6 vic = ds5*qi3+ds6*qi6 vra = ds7*qra+ds8*qrd via = ds7*qia+ds8*qid vrd = ds8*qra+ds9*qrd vid = ds8*qia+ds9*qid vrb = ds10*qrh+ds11*qrk vib = ds10*qih+ds11*qik vre = ds11*qrh+ds12*qrk vie = ds11*qih+ds12*qik vrg = ds7*qr4+ds8*qr7 vig = ds7*qi4+ds8*qi7 vrj = ds8*qr4+ds9*qr7 vij = ds8*qi4+ds9*qi7 vrh = ds10*qrb+ds11*qre vih = ds10*qib+ds11*qie vrk = ds11*qrb+ds12*qre vik = ds11*qib+ds12*qie vri = ds13*qri+ds14*qrL vii = ds13*qii+ds14*qiL vrL = ds14*qri+ds15*qrL viL = ds14*qii+ds15*qiL vr234 = vr2+vr3+vr4 vi234 = vi2+vi3+vi4 tr1 = vr1+cc3*vr234 ti1 = vi1+cc3*vi234 tr273645 = vr1+cc1*vr234 ti273645 = vi1+cc1*vi234 tr27 = tr273645+vr3+cc2*vr4 ti27 = ti273645+vi3+cc2*vi4 tr36 = tr273645+vr2+cc2*vr3 ti36 = ti273645+vi2+cc2*vi3 tr45 = tr273645+cc2*vr2+vr4 ti45 = ti273645+cc2*vi2+vi4 tr2_7 = vr5+cs1*vr6+cs2*vr7 ti2_7 = vi5+cs1*vi6+cs2*vi7 tr3_6 = cs1*vr5+cs2*vr6+vr7 ti3_6 = cs1*vi5+cs2*vi6+vi7 tr4_5 = cs2*vr5+vr6+cs1*vr7 ti4_5 = cs2*vi5+vi6+cs1*vi7 tr2 = tr27+tr2_7 ti2 = ti27+ti2_7 tr7 = tr27-tr2_7 ti7 = ti27-ti2_7 tr3 = tr36+tr3_6 ti3 = ti36+ti3_6 tr6 = tr36-tr3_6 ti6 = ti36-ti3_6 tr5 = tr45+tr4_5 ti5 = ti45+ti4_5 tr4 = tr45-tr4_5 ti4 = ti45-ti4_5 vr9ab = vr9+vra+vrb vi9ab = vi9+via+vib tr8 = vr8+cc3*vr9ab ti8 = vi8+cc3*vi9ab tr9eadbc = vr8+cc1*vr9ab ti9eadbc = vi8+cc1*vi9ab tr9e = tr9eadbc+vra+cc2*vrb ti9e = ti9eadbc+via+cc2*vib trad = tr9eadbc+vr9+cc2*vra tiad = ti9eadbc+vi9+cc2*via trbc = tr9eadbc+cc2*vr9+vrb tibc = ti9eadbc+cc2*vi9+vib tr9_e = vrc+cs1*vrd+cs2*vre ti9_e = vic+cs1*vid+cs2*vie tra_d = cs1*vrc+cs2*vrd+vre tia_d = cs1*vic+cs2*vid+vie trb_c = cs2*vrc+vrd+cs1*vre tib_c = cs2*vic+vid+cs1*vie tr9 = tr9e+tr9_e ti9 = ti9e+ti9_e tre = tr9e-tr9_e tie = ti9e-ti9_e tra = trad+tra_d tia = tiad+tia_d trd = trad-tra_d tid = tiad-tia_d trc = trbc+trb_c tic = tibc+tib_c trb = trbc-trb_c tib = tibc-tib_c vrghi = vrg+vrh+vri vighi = vig+vih+vii trf = vrf+cc3*vrghi tif = vif+cc3*vighi trgLhkij = vrf+cc1*vrghi tigLhkij = vif+cc1*vighi trgL = trgLhkij+vrh+cc2*vri tigL = tigLhkij+vih+cc2*vii trhk = trgLhkij+vrg+cc2*vrh tihk = tigLhkij+vig+cc2*vih trij = trgLhkij+cc2*vrg+vri tiij = tigLhkij+cc2*vig+vii trg_L = vrj+cs1*vrk+cs2*vrL tig_L = vij+cs1*vik+cs2*viL trh_k = cs1*vrj+cs2*vrk+vrL tih_k = cs1*vij+cs2*vik+viL tri_j = cs2*vrj+vrk+cs1*vrL tii_j = cs2*vij+vik+cs1*viL trg = trgL+trg_L tig = tigL+tig_L trL = trgL-trg_L tiL = tigL-tig_L trh = trhk+trh_k tih = tihk+tih_k trk = trhk-trh_k tik = tihk-tih_k trj = trij+tri_j tij = tiij+tii_j tri = trij-tri_j tii = tiij-tii_j h(0) = cmplx(sr1,si1,wp) h(1) = cmplx(sr2+ti1,si2-tr1,wp) h(2) = cmplx(sr9+ti8,si9-tr8,wp) h(3) = cmplx(srm-tiL,sim+trL,wp) h(4) = cmplx(srg+tif,sig-trf,wp) h(5) = cmplx(srf-tie,sif+tre,wp) h(6) = cmplx(sr8-ti7,si8+tr7,wp) h(7) = cmplx(srn+tim,sin-trm,wp) h(8) = cmplx(sr3+ti2,si3-tr2,wp) h(9) = cmplx(sra+ti9,sia-tr9,wp) h(10) = cmplx(srL-tik,siL+trk,wp) h(11) = cmplx(srh+tig,sih-trg,wp) h(12) = cmplx(sre-tid,sie+trd,wp) h(13) = cmplx(sr7-ti6,si7+tr6,wp) h(14) = cmplx(sro+tin,sio-trn,wp) h(15) = cmplx(sr4+ti3,si4-tr3,wp) h(16) = cmplx(srb+tia,sib-tra,wp) h(17) = cmplx(srk-tij,sik+trj,wp) h(18) = cmplx(sri+tih,sii-trh,wp) h(19) = cmplx(srd-tic,sid+trc,wp) h(20) = cmplx(sr6-ti5,si6+tr5,wp) h(21) = cmplx(srp-tio,sip+tro,wp) h(22) = cmplx(sr5+ti4,si5-tr4,wp) h(23) = cmplx(src+tib,sic-trb,wp) h(24) = cmplx(srj-tii,sij+tri,wp) h(25) = cmplx(srj+tii,sij-tri,wp) h(26) = cmplx(src-tib,sic+trb,wp) h(27) = cmplx(sr5-ti4,si5+tr4,wp) h(28) = cmplx(srp+tio,sip-tro,wp) h(29) = cmplx(sr6+ti5,si6-tr5,wp) h(30) = cmplx(srd+tic,sid-trc,wp) h(31) = cmplx(sri-tih,sii+trh,wp) h(32) = cmplx(srk+tij,sik-trj,wp) h(33) = cmplx(srb-tia,sib+tra,wp) h(34) = cmplx(sr4-ti3,si4+tr3,wp) h(35) = cmplx(sro-tin,sio+trn,wp) h(36) = cmplx(sr7+ti6,si7-tr6,wp) h(37) = cmplx(sre+tid,sie-trd,wp) h(38) = cmplx(srh-tig,sih+trg,wp) h(39) = cmplx(srL+tik,siL-trk,wp) h(40) = cmplx(sra-ti9,sia+tr9,wp) h(41) = cmplx(sr3-ti2,si3+tr2,wp) h(42) = cmplx(srn-tim,sin+trm,wp) h(43) = cmplx(sr8+ti7,si8-tr7,wp) h(44) = cmplx(srf+tie,sif-tre,wp) h(45) = cmplx(srg-tif,sig+trf,wp) h(46) = cmplx(srm+tiL,sim-trL,wp) h(47) = cmplx(sr9-ti8,si9+tr8,wp) h(48) = cmplx(sr2-ti1,si2+tr1,wp) end subroutine fft49t