* *-----WTOXSN32------------------------------------------------------------ * real*8 function wtoxsn32(ndim,x) implicit real*8 (a-h,o-z) character*1 om,opglu parameter(npos=512) * common/wtmod/om common/wtsfh/ip0 common/wtpqcd/opglu common/wthx/xshmx(npos) * dimension x(ndim) * if(om.eq.'e') then r24= wtoxsn(ndim,x) if(ndim.eq.6.or.ndim.eq.7) then rg= 0.d0 else if(ndim.eq.8.or.ndim.eq.9) then if(opglu.eq.'y') then rg= wtoxsng(ndim,x) else rg= 0.d0 endif endif wtoxsn32= r24+rg else if(om.eq.'g') then if(ip0.eq.1) then r24= wtoxsn(ndim,x) rg= 0.d0 else if(ip0.eq.2) then r24= 0.d0 rg= wtoxsng(ndim,x) endif wtoxsn32= r24+rg endif * return end * *-----WTOXSM43------------------------------------------------------------ * real*8 function wtoxsm43(ndim,x) implicit real*8 (a-h,o-z) character*1,om,opglu character*2,ofs * common/wtmod/om common/wtfs/ofs common/wtsfh/ip0 common/wtpqcd/opglu * dimension x(ndim) * if(om.eq.'e') then r35= wtoxs35(ndim,x) if(ofs.eq.'ll') then rg= 0.d0 else if(ofs.eq.'qq') then if(ndim.eq.7.or.ndim.eq.6) then rg= 0.d0 else if(ndim.eq.9.or.ndim.eq.8) then if(opglu.eq.'y') then rg= wtoxs35g(ndim,x) else rg= 0.d0 endif endif endif wtoxsm43= r35+rg else if(om.eq.'g') then if(ip0.eq.1) then r35= wtoxs35(ndim,x) rg= 0.d0 else if(ip0.eq.2) then r35= 0.d0 rg= wtoxs35g(ndim,x) endif wtoxsm43= r35+rg endif * return end * *-----WTOXSN----------------------------------------------------------- * real*8 function wtoxsn(ndim,x) implicit real*8 (a-h,o-z) * character*1,opeak,otrans,oqcd,om,osm character*4,otype * parameter(ninv=10,npos=512) * common/wtmod/om common/wtmp/zrm common/wtps/opeak common/wtkount/ik common/wtdis/dist common/wtsmod/osm common/wtistrf/isf common/wtaqcd/oqcd common/wtcqcd/iqcd common/wtlmsb/qcdl common/wtqcdz/alsz common/wtsf/ix0,it0 common/wtchi/hch(36) common/wtipt/ifz(44) common/wtshel/otrans common/wticuts/iac(4) common/wtisa/isaa,isab common/wttopt/ios,iosf common/wthx/xshmx(npos) common/wtochannel/otype common/wtparh/xaph(ninv) common/wttc/itc,itcc,itcn common/wtpmxh/xmxh(npos,9) common/wtncc/chf2,chfp2,conc(10) common/wtnclr/vel,ver,velr,vfl,vfr,vfpl,vfpr common/wtnchannel/chf,chfp,tif,tifp,fcun,fcdn common/wtee/qch,qch2,vqr,vql,hbe(24),hbo(24),hmp(24) common/wtbpar/wm,zm,zg,gf,pi,pis,cfct,fcnt,ge,alphai,alwi common/wtfmass/em,rmm,tm,rnm,uqm,dqm,cqm,sqm,bqm,tqm,dmy common/wtcpar/alpha,hbet,hbeti,omhb,eob,d0gl,g8,tfact,pih,alw, # eta,feta,beta,g2,tfacth common/wtapar/ars,s,rwm,rwm2,rwg,rwmg,swg,swgs,opswgs,sth2,cth2, # hsth2,tsth2,scth2,asth2,tth2,rzm,rzm2,rzg,rzmg,szg, # szgs,opszgs,sth4,cth4,ve,vf,vfp,rbqm2,rszw,rszw2, # s0w,s0z common/wtsubreg/dsm,usm,dsp,usp,rl(6),rr(6),srl(6),sdsm,sdsp,vvl1, # vvl2,vvl3,ul,omul,suml common/wtcuts/aim(6),bim(6),ae(4),asa(4),bsa(4),afsa(6),bfsa(6), # ombsa(4),opbsa(4),teq,rae(4),omasa(4),opasa(4), # sg12,cg12,sg13,cg13,sg14,cg14,sg23,cg23,sg24, # cg24,sg34,cg34,sct120,sct130,sct140,sct230, # sct240,sct340,sgam(4),cgam(4) * dimension x(ndim) dimension bt1(2),bt2(2) dimension tgn(16),tgnn(6) dimension rru1(2),rru2(2) dimension sfur(2),sflr(2) dimension ret1(2),ret2(2) dimension ee(5),e(5),sg(5) dimension rrr(6),rrl(6),srrl(6) dimension bl(4),xbl(4),ss(4),cs(4) dimension dpxs(2,2,2,12),epxs(2,2,2,12),cpxs(2,12),bpxs(2,12), # apxs(12) dimension rr1(2),rr2(2),rs1(2),rs2(2),rtp(2),rtm(2) dimension har(4),hbr(4),hdr(4),her(4),hfr(4),hgr(4),hhr(8), # hir(8),hlr(4),hmr(4),hnr(4),hor(4),hpr(8),hqr(8), # hapr(4),hbpr(4),hc(8),hcp(8) dimension hai(4),hbi(4),hdi(4),hei(4),hfi(4),hgi(4),hhi(8), # hii(8),hli(4),hmi(4),hni(4),hoi(4),hpi(8),hqi(8), # hapi(4),hbpi(4) * data ec2/-0.4999999963d0/,ec4/0.0416666418d0/, # ec6/-0.0013888397d0/,ec8/0.0000247609d0/, # ec10/-0.0000002605d0/ * external c02ajf,s09aaf,s07aaf external s21bbf,s21caf * *-----the order of integration is: * u, v, m_-^2, m_+^2, M_0^2, m_0^2, m^2, t_w, t_1 * * m_{+/-}^2 transformed for the resonating peaks * M_0^2,m_0^2 transformed for the resonating peaks * m^2 and t_1 transformed for the jacobian peaks * do ix=1,2 do it=1,2 do itt=1,2 do il=1,12 dpxs(ix,it,itt,il)= 0.d0 enddo enddo enddo enddo do it=1,2 do il=1,12 cpxs(it,il)= 0.d0 bpxs(it,il)= 0.d0 enddo enddo * if(ndim.eq.6) then if(itc.eq.1) then if(itcc.eq.1) then smx= x(1) sux= x(2) sdx= x(3) sfx= x(4) twx= x(5) t1x= x(6) else if(itcc.eq.2) then smx= x(1) spx= x(2) sux= x(3) sfx= x(4) twx= x(5) t1x= x(6) else if(itcc.eq.3) then smx= x(1) spx= x(2) sux= x(3) sdx= x(4) twx= x(5) t1x= x(6) endif else if(itc.eq.4) then spx= x(1) sux= x(2) sdx= x(3) sfx= x(4) twx= x(5) t1x= x(6) else smx= x(1) sux= x(2) sdx= x(3) sfx= x(4) twx= x(5) t1x= x(6) endif else if(ndim.eq.8) then if(itc.eq.1) then if(itcc.eq.1) then uvx= x(1) vvx= x(2) smx= x(3) sux= x(4) sdx= x(5) sfx= x(6) twx= x(7) t1x= x(8) else if(itcc.eq.2) then uvx= x(1) vvx= x(2) smx= x(3) spx= x(4) sux= x(5) sfx= x(6) twx= x(7) t1x= x(8) else if(itcc.eq.3) then uvx= x(1) vvx= x(2) smx= x(3) spx= x(4) sux= x(5) sdx= x(6) twx= x(7) t1x= x(8) endif else if(itc.eq.4) then uvx= x(1) vvx= x(2) spx= x(3) sux= x(4) sdx= x(5) sfx= x(6) twx= x(7) t1x= x(8) else uvx= x(1) vvx= x(2) smx= x(3) sux= x(4) sdx= x(5) sfx= x(6) twx= x(7) t1x= x(8) endif else if(ndim.eq.7) then smx= x(1) spx= x(2) sux= x(3) sdx= x(4) sfx= x(5) twx= x(6) t1x= x(7) else if(ndim.eq.9) then uvx= x(1) vvx= x(2) smx= x(3) spx= x(4) sux= x(5) sdx= x(6) sfx= x(7) twx= x(8) t1x= x(9) endif * ik= ik+1 rs= ars one= 1.d0 em2= em*em vmu2= em2/s * *-----if a point is not allowed then the * result is set to zero * iz= 1 * if(ndim.eq.6.or.ndim.eq.7) then ueps= 0.d0 uv= 1.d0 uvs= uv*uv ujc= 1.d0 veps= 0.d0 vv= 1.d0 vjc= 1.d0 else if(ndim.eq.8.or.ndim.eq.9) then * *-----independent invariants are initialized * first u and v variable * if(itc.eq.3) then omuld= 1.d0-(dist/rs+sqrt(dsm))*(dist/rs+sqrt(dsm)) omul= dmin1(omul,omuld) endif if(uvx.gt.1.d0) then iz= 0 ifz(1)= ifz(1)+1 go to 1 endif ueps= omul*(1.d0-uvx)**hbeti uv= 1.d0-ueps ujc= omul**hbet uvs= uv*uv * *-----limits for v * *-----from equal cuts on SA * if(iac(3).eq.1.and.isab.eq.1) then vvl4= ombsa(1)/opbsa(1)*uvs vvl= dmax1(vvl1,vvl2,vvl3,vvl4) else vvl= dmax1(vvl1,vvl2,vvl3) endif * *-----from E * vve= uv*(2.d0*suml-uv) vvll= dmax1(vvl,vve) * if(itc.eq.3) then vvlld= (dist/rs+sqrt(dsm))*(dist/rs+sqrt(dsm)) vvll= dmax1(vvll,vvlld) endif * vvu1= uv if(iac(3).eq.1.and.isaa.eq.1) then vvu2= omasa(1)/opasa(1)*uvs vvu= dmin1(vvu1,vvu2) else vvu= uv endif uvl= uv-vvll * vkf= (uv-vvu)/uvl if(vkf.lt.0.d0) then iz= 0 ifz(1)= ifz(1)+1 go to 1 else if(vkf.eq.0.d0) then if(vvx.gt.1.d0) then iz= 0 ifz(1)= ifz(1)+1 go to 1 else if(vvx.eq.1.d0) then veps= 0.d0 else veps= uvl*(1.d0-vvx)**hbeti endif avkf= 1.d0 else veps= uvl*(1.d0-(1.d0-vkf**hbet)*vvx)**hbeti avkf= 1.d0-vkf**hbet endif vv= uv-veps vjc0= 1.d0-vvll/uv if(vjc0.le.0.d0) then iz= 0 ifz(1)= ifz(1)+1 go to 1 else vjc= vjc0**hbet*avkf endif endif * if(vv.lt.0.d0) then iz= 0 ifz(1)= ifz(1)+1 go to 1 endif svv= sqrt(vv) vzmg= rzmg*vv vvs= vv*vv xm= uv xp= vv/uv delsp= (xm-xp)*(xm-xp)+2.d0*(xm+xp) delsd= 2.d0-xm-xp delsr= 2.d0+delsp-delsd delsu= -2.d0-delsp+2.d0*delsd de4= 4.d0+2.d0*(delsp-delsd) dt4= 5.d0-2.d0*(1+xm)*delsd-2.d0*xm+2.d0*delsp xmop= xm/xp if(ndim.eq.7.or.ndim.eq.6) then xdf= 0.d0 else xdf= (ueps*(1.d0-ueps)-veps)/uv endif xdfs= xdf*xdf sh= vv*s smp0= s0z/vv rmu2= em2/sh rmu2s= rmu2*rmu2 rmu2c= rmu2s*rmu2 xmas= 1.d0+rmu2 vmas= vv+vmu2 * *-----Z parameters * rszm2= zm*zm/sh * *-----Z propagator (real part and imaginary part) * dsz0= 1.d0-rszm2 dsz= dsz0*dsz0+rszw2 rsz= dsz0/dsz aisz= -rszw/dsz * *-----Reduced structure functions are computed with arguments xp,xm * opxp= 1.d0+xp opxm= 1.d0+xm omxp= veps/uv omxm= ueps if(isf.eq.0) then stfp= 1.d0 stfm= 1.d0 else if(isf.gt.0) then if(omxp.eq.0) then stfp= d0gl else rcpx= 0.25d0*opxp*opxp rcpy= xp iflp= 1 rclp= s21baf(rcpx,rcpy,iflp) stfp= d0gl+eob*omxp**omhb*(-0.5d0*opxp+ # feta*(-4.d0*opxp*log(omxp)+ # 3.d0*opxp*log(xp)+4.d0*rclp-5.d0-xp)) endif if(omxm.eq.0) then stfm= d0gl else rcmx= 0.25d0*opxm*opxm rcmy= xm iflm= 1 rclm= s21baf(rcmx,rcmy,iflm) stfm= d0gl+eob*omxm**omhb*(-0.5d0*opxm+ # feta*(-4.d0*opxm*log(omxm)+ # 3.d0*opxm*log(xm)+4.d0*rclm-5.d0-xm)) endif endif * stf= stfp*stfm * *-----if there is no upper cut on some FS IM, then the maximum is allowed * do j=1,6 if(rr(j).eq.1.d0) then rrr(j)= rr(j) else rrr(j)= rr(j)/vv endif rrl(j)= rl(j)/vv srrl(j)= srl(j)/svv enddo * *-----cuts become special near xp = xm * if(abs(xdf).gt.1.d-15) then ieq= 1 bxe= vv/(ueps*(1.d0-ueps)-veps) if(xdf.gt.0.d0) then enc= 1.d0 else if(xdf.lt.0.d0) then enc= xmop endif else ieq= 0 bxe= 1.d0 endif if(ieq.eq.0.and.xm.le.teq) then iz= 0 ifz(1)= ifz(1)+1 go to 1 endif * if(ieq.eq.0.and.iac(2).ne.0.and.iac(4).ne.0) then sct12= sct120/vv sct13= sct130/vv sct14= sct140/vv sct23= sct230/vv sct24= sct240/vv sct34= sct340/vv else sct12= 0.d0 sct13= 0.d0 sct14= 0.d0 sct23= 0.d0 sct24= 0.d0 sct34= 0.d0 endif * *-----cuts on E * do j=1,4 if(ieq.eq.1) then bl(j)= 2.d0*rae(j)/xdf xbl(j)= 2.d0*rae(j)/xp else if(ieq.eq.0) then bl(j)= 2.d0*rae(j)/xm endif enddo * *-----cuts on SA * if(iac(3).ne.0) then do j=1,4 if(cgam(j).eq.0.d0) then ss(j)= 0.d0 else ss(j)= 1.d0+(1.d0-cgam(j))/cgam(j)*xmop ss(j)= 1.d0/ss(j) endif if(sgam(j).eq.0.d0) then cs(j)= 1.d0 else cs(j)= 1.d0+(1.d0-sgam(j))/sgam(j)*xmop cs(j)= 1.d0/cs(j) endif enddo endif * *-----initialization of sm = m_-^2 * zma1= dsm zma2= vv*sct12 zmb1= usm zmb2= (svv-sdsp)*(svv-sdsp) zmb3= vv*(1.d0-sqrt(sct34))*(1.d0-sqrt(sct34)) if(ieq.eq.0) then zma3= vv*(bl(1)+bl(2)-1.d0) zmb4= vv*(1.d0-0.5d0*(bl(3)+bl(4)))* # (1.d0-0.5d0*(bl(3)+bl(4))) zmb5= vv*(1.d0-bl(3)) zmb6= vv*(1.d0-bl(4)) else if(ieq.eq.1) then zma3= vv*(-enc+xbl(1)+xbl(2)) zmb4= 0.25d0*vv*(1.d0+enc-xbl(3)-xbl(4))* # (1.d0+enc-xbl(3)-xbl(4)) zmb5= vv*(enc-xbl(3)) zmb6= vv*(enc-xbl(4)) endif xzma= dmax1(zma1,zma2,zma3) xzmb= dmin1(zmb1,zmb2,zmb3,zmb4,zmb5,zmb6) * *-----limits on sm from cuts on SA. Here for maximum security. Rare * if(iac(3).eq.0) then zma= xzma zmb= xzmb else if(ss(4).eq.ss(3).and.ss(2).eq.ss(1)) then if(ss(3).eq.ss(1)) then szma= xzma szmb= xzmb else if(ss(3).gt.ss(1)) then szmb= xzmb adsp= dsp/vv axszma= dmax1(adsp,sct34) axszma= vv*(axszma-(1.d0-ss(1)-ss(3))/ # (ss(3)-ss(1))) szma= dmax1(axszma,xzma) else if(ss(3).lt.ss(1)) then if(ss(3).lt.0.5d0) then szma= xzma axszmb= vv*((ss(3)-0.5d0)/(ss(3)-ss(1)))**2 szmb= dmin1(axszmb,xzmb) else iz= 0 ifz(2)= ifz(2)+1 go to 1 endif endif else szma= xzma szmb= xzmb endif if(cs(4).eq.cs(3).and.cs(2).eq.cs(1)) then if(cs(3).eq.cs(1)) then zma= szma zmb= szmb else if(cs(3).gt.cs(1)) then if(cs(3).gt.0.5d0) then zma= szma axczmb= vv*((cs(3)-0.5d0)/(cs(3)-cs(1)))**2 zmb= dmin1(axczmb,szmb) else iz= 0 ifz(3)= ifz(3)+1 go to 1 endif else if(cs(3).lt.cs(1)) then zmb= szmb adsp= dsp/vv axczma= dmax1(adsp,sct34) axczma= vv*(axczma-(1.d0-cs(1)-cs(3))/ # (cs(3)-cs(1))) zma= dmax1(axczma,szma) endif else zma= szma zmb= szmb endif endif * if((itc.eq.1.and.itcc.eq.1).or.(itc.gt.1)) then dzpa= dmax1(dsp,sct340) if(itc.eq.1) then dzmb= (dist/rs-sqrt(dzpa))*(dist/rs-sqrt(dzpa)) zmb= dmin1(zmb,dzmb) else if(itc.eq.2) then dzma= (dist/rs+sqrt(dzpa))*(dist/rs+sqrt(dzpa)) zma= dmax1(zma,dzma) dzmb= 0.25d0*(svv+dist/rs)*(svv+dist/rs) zmb= dmin1(zmb,dzmb) else if(itc.eq.3) then dzmb= (svv-dist/rs)*(svv-dist/rs) zmb= dmin1(zmb,dzmb) endif endif if(itc.eq.1.and.itcc.eq.3) then zmbd3= vv-0.5d0*dist*dist/s zmb= dmin1(zmb,zmbd3) endif * *-----test on sm * if(zmb.le.zma) then iz= 0 ifz(4)= ifz(4)+1 go to 1 endif * if(itc.eq.4) then bdistl= dist*dist/s-zma bdistu= zmb-dist*dist/s if(bdistl.le.0.d0.or.bdistu.le.0.d0) then iz= 0 ifz(4)= ifz(4)+1 go to 1 endif endif * if(itc.eq.4) then sm= (dist/rs/svv)**2 pmjac= 2.d0*dist/s/((vv*sm-rzm2)**2+ # (vv*sm*szg)**2) smjc= 1.d0 else * if(opeak.eq.'y') then zmas= zma-rzm2 zmbs= zmb-rzm2 atma= (zmas+szgs*zma)/rzmg atmb= (zmbs+szgs*zmb)/rzmg if(atma.gt.1.d0.and.atmb.gt.1.d0) then atma= 1.d0/atma atma= atan(atma) zmat= (pih-atma)/vzmg atmb= 1.d0/atmb atmb= atan(atmb) zmbt= (pih-atmb)/vzmg smjc0= (-atmb+atma)/vzmg else if(atma.gt.1.d0.and.atmb.lt.-1.d0) then atma= 1.d0/atma atma= atan(atma) zmat= (pih-atma)/vzmg atmb= -1.d0/atmb atmb= atan(atmb) zmbt= (-pih+atmb)/vzmg smjc0= (-pi+atmb+atma)/vzmg else if(atma.gt.1.d0.and.abs(atmb).lt.1.d0) then atma= 1.d0/atma atma= atan(atma) zmat= (pih-atma)/vzmg atmb= atan(atmb) zmbt= atmb/vzmg smjc0= (-pih+atmb+atma)/vzmg else if(atma.lt.-1.d0.and.atmb.gt.1.d0) then atma= -1.d0/atma atma= atan(atma) zmat= (-pih+atma)/vzmg atmb= 1.d0/atmb atmb= atan(atmb) zmbt= (pih-atmb)/vzmg smjc0= (pi-atmb-atma)/vzmg else if(atma.lt.-1.d0.and.atmb.lt.-1.d0) then atma= -1.d0/atma atma= atan(atma) zmat= (-pih+atma)/vzmg atmb= -1.d0/atmb atmb= atan(atmb) zmbt= (-pih+atmb)/vzmg smjc0= (atmb-atma)/vzmg else if(atma.lt.-1.d0.and.abs(atmb).lt.1.d0) then atma= -1.d0/atma atma= atan(atma) zmat= (-pih+atma)/vzmg atmb= atan(atmb) zmbt= atmb/vzmg smjc0= (pih+atmb-atma)/vzmg else if(abs(atma).lt.1.d0.and.atmb.gt.1.d0) then atma= atan(atma) zmat= atma/vzmg atmb= 1.d0/atmb atmb= atan(atmb) zmbt= (pih-atmb)/vzmg smjc0= (pih-atmb-atma)/vzmg else if(abs(atma).lt.1.d0.and.atmb.lt.-1.d0) then atma= atan(atma) zmat= atma/vzmg atmb= -1.d0/atmb atmb= atan(atmb) zmbt= (-pih+atmb)/vzmg smjc0= (-pih+atmb-atma)/vzmg else if(abs(atma).lt.1.d0.and.abs(atmb).lt.1.d0) then atma= atan(atma) zmat= atma/vzmg atmb= atan(atmb) zmbt= atmb/vzmg smjc0= (atmb-atma)/vzmg endif * zmv= smjc0*smx+zmat iftn= 1 atnm= vzmg*zmv sm= smp0*(1.d0+szg*s07aaf(atnm,iftn)) if(iftn.ne.0) print 300 pmjac= 1.d0 smjc= vv*smjc0 * else if(opeak.eq.'n') then smjc0= zmb-zma sm= (smjc0*smx+zma)/vv pmjac= 1.d0/((vv*sm-rzm2)**2+(vv*sm*szg)**2) smjc= smjc0 endif endif * if(sm.lt.0.d0) then iz= 0 ifz(4)= ifz(4)+1 go to 1 endif ssm= sqrt(sm) * 300 format(/' Unsuccesful call to S07AAF ') * *-----initialization of sp = m_+^2 * zpa1= dsp zpb1= usp zpb2= vv*(1.d0-ssm)*(1.d0-ssm) * *-----limits on sp from cuts on SA. Here for maximum security. Rare * if(iac(3).eq.0) then zpb= dmin1(zpb1,zpb2) zpa= zpa1 else if(ss(4).eq.ss(3).and.ss(2).eq.ss(1)) then if(ss(3).eq.ss(1)) then azpb= dmin1(zpb1,zpb2) azpa= zpa1 else if(ss(3).gt.ss(1)) then zpb3= vv*(sm+(1.d0-ss(1)-ss(3))/(ss(3)-ss(1))) azpb= dmin1(zpb1,zpb2,zpb3) azpa= zpa1 else if(ss(3).lt.ss(1)) then azpb= dmin1(zpb1,zpb2) zpa2= vv*(sm+(1.d0-ss(1)-ss(3))/(ss(3)-ss(1))) azpa= dmax1(zpa1,zpa2) endif else azpa= zpa1 azpb= dmin1(zpb1,zpb2) endif if(cs(4).eq.cs(3).and.cs(2).eq.cs(1)) then if(cs(3).eq.cs(1)) then zpa= azpa zpb= azpb else if(cs(3).gt.cs(1)) then zpb= azpb bzpa= vv*(sm+(1.d0-cs(1)-cs(3))/(cs(3)-cs(1))) zpa= dmax1(azpa,bzpa) else if(cs(3).lt.cs(1)) then zpa= azpa bzpb= vv*(sm+(1.d0-cs(1)-cs(3))/(cs(3)-cs(1))) zpb= dmin1(azpb,bzpb) endif else zpa= azpa zpb= azpb endif endif * if(ieq.eq.0) then zpel= vv*(-1.d0+bl(3)+bl(4)+sm) zpeu1= vv*(1.d0-bl(1)-bl(2)+sm) zpeu2= vv*(1.d0-bl(1)) zpeu3= vv*(1.d0-bl(2)) else if(ieq.eq.1) then zpel= vv*(sm-enc+xbl(3)+xbl(4)) zpeu1= vv*(sm+enc-xbl(1)-xbl(2)) zpeu2= vv*(enc-xbl(1)) zpeu3= vv*(enc-xbl(2)) endif zpa= dmax1(zpa,zpel) zpb= dmin1(zpb,zpeu1,zpeu2,zpeu3) zpap= vv*sct34 zpa= dmax1(zpa,zpap) if(itc.eq.1.and.itcc.eq.3) then zpbd3= vv*(1.d0-sm)-0.5d0*dist*dist/s zpb= dmin1(zpb,zpbd3) endif * *-----test on sp * if(zpb.le.zpa) then iz= 0 ifz(5)= ifz(5)+1 go to 1 endif * if((itc.eq.1.and.itcc.eq.1).or.(itc.gt.1.and.itc.lt.3)) then bdistl= (dist/rs-svv*ssm)*(dist/rs-svv*ssm)-zpa bdistu= zpb-(dist/rs-svv*ssm)*(dist/rs-svv*ssm) if(bdistl.le.0.d0.or.bdistu.le.0.d0) then iz= 0 ifz(5)= ifz(5)+1 go to 1 endif else if(itc.eq.3) then bdistl= dist*dist/s-zpa bdistu= zpb-dist*dist/s if(bdistl.le.0.d0.or.bdistu.le.0.d0) then iz= 0 ifz(5)= ifz(5)+1 go to 1 endif endif * if((itc.eq.1.and.itcc.eq.1).or.(itc.gt.1.and.itc.lt.3)) then sp= (dist/rs/svv-ssm)*(dist/rs/svv-ssm) ppjac= 2.d0*abs((dist/rs-svv*ssm))/ars/ # ((vv*sp-rzm2)**2+(vv*sp*szg)**2) spjc= 1.d0 else if(itc.eq.3) then sp= (dist/rs/svv)**2 ppjac= 2.d0*dist/s/((vv*sp-rzm2)**2+ # (vv*sp*szg)**2) spjc= 1.d0 else * if(opeak.eq.'y') then zpas= zpa-rzm2 zpbs= zpb-rzm2 atpa= (zpas+szgs*zpa)/rzmg atpb= (zpbs+szgs*zpb)/rzmg if(atpa.gt.1.d0.and.atpb.gt.1.d0) then atpa= 1.d0/atpa atpa= atan(atpa) zpat= (pih-atpa)/vzmg atpb= 1.d0/atpb atpb= atan(atpb) zpbt= (pih-atpb)/vzmg spjc0= (-atpb+atpa)/vzmg else if(atpa.gt.1.d0.and.atpb.lt.-1.d0) then atpa= 1.d0/atpa atpa= atan(atpa) zpat= (pih-atpa)/vzmg atpb= -1.d0/atpb atpb= atan(atpb) zpbt= (-pih+atpb)/vzmg spjc0= (-pi+atpb+atpa)/vzmg else if(atpa.gt.1.d0.and.abs(atpb).lt.1.d0) then atpa= 1.d0/atpa atpa= atan(atpa) zpat= (pih-atpa)/vzmg atpb= atan(atpb) zpbt= atpb/vzmg spjc0= (-pih+atpb+atpa)/vzmg else if(atpa.lt.-1.d0.and.atpb.gt.1.d0) then atpa= -1.d0/atpa atpa= atan(atpa) zpat= (-pih+atpa)/vzmg atpb= 1.d0/atpb atpb= atan(atpb) zpbt= (pih-atpb)/vzmg spjc0= (pi-atpb-atpa)/vzmg else if(atpa.lt.-1.d0.and.atpb.lt.-1.d0) then atpa= -1.d0/atpa atpa= atan(atpa) zpat= (-pih+atpa)/vzmg atpb= -1.d0/atpb atpb= atan(atpb) zpbt= (-pih+atpb)/vzmg spjc0= (atpb-atpa)/vzmg else if(atpa.lt.-1.d0.and.abs(atpb).lt.1.d0) then atpa= -1.d0/atpa atpa= atan(atpa) zpat= (-pih+atpa)/vzmg atpb= atan(atpb) zpbt= atpb/vzmg spjc0= (pih+atpb-atpa)/vzmg else if(abs(atpa).lt.1.d0.and.atpb.gt.1.d0) then atpa= atan(atpa) zpat= atpa/vzmg atpb= 1.d0/atpb atpb= atan(atpb) zpbt= (pih-atpb)/vzmg spjc0= (pih-atpb-atpa)/vzmg else if(abs(atpa).lt.1.d0.and.atpb.lt.-1.d0) then atpa= atan(atpa) zpat= atpa/vzmg atpb= -1.d0/atpb atpb= atan(atpb) zpbt= (-pih+atpb)/vzmg spjc0= (-pih+atpb-atpa)/vzmg else if(abs(atpa).lt.1.d0.and.abs(atpb).lt.1.d0) then atpa= atan(atpa) zpat= atpa/vzmg atpb= atan(atpb) zpbt= atpb/vzmg spjc0= (atpb-atpa)/vzmg endif * zpv= spjc0*spx+zpat iftn= 1 atnp= vzmg*zpv sp= smp0*(1.d0+szg*s07aaf(atnp,iftn)) if(iftn.ne.0) print 300 ppjac= 1.d0 spjc= vv*spjc0 * else if(opeak.eq.'n') then spjc0= zpb-zpa sp= (spjc0*spx+zpa)/vv ppjac= 1.d0/((vv*sp-rzm2)**2+(vv*sp*szg)**2) spjc= spjc0 endif endif * if(sp.lt.0.d0) then iz= 0 ifz(5)= ifz(5)+1 go to 1 endif ssp= sqrt(sp) spmm= sp-sm smmp= sm-sp * if(ios.eq.3) then scals= -vv*s rscals= svv*rs scalm= -vv*sm*s rscalm= svv*ssm*rs scalp= -vv*sp*s rscalp= svv*ssp*rs call wtopself(scalm,pggfm) call wtopself(scalp,pggfp) call wtopself(scals,pggfs) derml= 0.25d0*alpha/pi*pggfm derpl= 0.25d0*alpha/pi*pggfp dersl= 0.25d0*alpha/pi*pggfs eth= 40.d0/rs/vv if(rscalm.gt.40.d0) then call wtohadr5(rscalm,dermh,edermh) else call wtopselfnp(scalm,pggnpm) dermh= 0.25d0*alpha/pi*pggnpm endif if(rscalp.gt.40.d0) then call wtohadr5(rscalp,derph,ederph) else call wtopselfnp(scalp,pggnpp) derph= 0.25d0*alpha/pi*pggnpp endif if(rscals.gt.40.d0) then call wtohadr5(rscals,dersh,edersh) else call wtopselfnp(scals,pggnps) dersh= 0.25d0*alpha/pi*pggnps endif derm= derml+dermh derp= derpl+derph ders= dersl+dersh alpm= alpha/(1.d0-derm) alpp= alpha/(1.d0-derp) alps= alpha/(1.d0-ders) corrgm= 4*pi*alpm/g2/sth2 corrgp= 4*pi*alpp/g2/sth2 corrgs= 4*pi*alps/g2/sth2 else corrgm= 1.d0 corrgp= 1.d0 corrgs= 1.d0 endif * if(oqcd.eq.'y') then if(iqcd.lt.2) then qcdjac= (1.d0+0.5d0*alsz/pi*(fcun-1.d0))* # (1.d0+0.5d0*alsz/pi*(fcdn-1.d0))-1.d0 else nf= 5 scalp= sqrt(vv)*ssp*ars scalm= sqrt(vv)*ssm*ars alsp= wtorals(qcdl,scalp,nf) alsm= wtorals(qcdl,scalm,nf) qcdjac= (1.d0+0.5d0*alsp/pi*(fcun-1.d0))* # (1.d0+0.5d0*alsm/pi*(fcdn-1.d0))-1.d0 endif else qcdjac= 0.d0 endif * cbw= -1.d0+sp-sm ifcr= 0 call c02ajf(one,cbw,sm,bt1,bt2,ifcr) if(bt1(2).ne.0.d0) then iz= 0 ifz(6)= ifz(6)+1 go to 1 endif * smtp= sm*sp ssmpp= ssm+ssp ssmmp= ssm-ssp asup= 1.d0-ssmpp*ssmpp asum= 1.d0-ssmmp*ssmmp if(asup.lt.0.d0.or.asum.lt.0.d0) then iz= 0 ifz(7)= ifz(7)+1 go to 1 endif rasup= sqrt(asup) rasum= sqrt(asum) * *-----initialization of su = M_0^2 * *-----limits on su from cuts on FS IM * sulim= rrl(4) suuim1= rrr(4) suuim2= (1.d0-srrl(3))*(1.d0-srrl(3)) suuim= dmin1(suuim1,suuim2) * *-----limits on su from Delta_- > 0 (as derived from consistency * on sd limits) * suud1= 0.25d0*(rasup+rasum)*(rasup+rasum) suud2= 0.25d0*(1.d0+rasup)*(1.d0+rasup) * sul= sulim sul= dmax1(sul,sct23) if(ieq.eq.0) then sul1= bl(2)+bl(3)-1.d0 suu1= 1.d0-sp-bl(1) suu2= 1.d0-sm-bl(4) suu3= (1.d0-0.5d0*(bl(1)+bl(4)))* # (1.d0-0.5d0*(bl(1)+bl(4))) else if(ieq.eq.1) then sul1= xbl(2)+xbl(3)+1.d0-2.d0*enc suu1= enc-sp-xbl(1) suu2= enc-sm-xbl(4) suu3= (enc-0.5d0*(xbl(1)+xbl(4)))* # (enc-0.5d0*(xbl(1)+xbl(4))) endif sul= dmax1(sul,sul1) suu= dmin1(suuim,suud1,suud2,suu1,suu2,suu3) sdlim= rrl(3) * if(itc.eq.1.and.itcc.eq.2) then dsdl= dmax1(sdlim,sct140) dsuu= (dist/svv/rs-sqrt(dsdl))*(dist/svv/rs-sqrt(dsdl)) suu= dmin1(suu,dsuu) endif if(itc.eq.1.and.itcc.eq.3) then suud3= 1.d0-sm-sp-0.5d0*dist*dist/vv/s suu= dmin1(suu,suud3) endif * *-----test on su * if(suu.le.sul) then iz= 0 ifz(8)= ifz(8)+1 go to 1 endif * sujc= suu-sul su= sujc*sux+sul if(su.lt.0.d0) then iz= 0 ifz(8)= ifz(8)+1 go to 1 endif ssu= sqrt(su) * *-----initialization of sd = m_0^2 * *-----limits on sd from cuts on FS IM * sdlim= rrl(3) sduim1= rrr(3) sduim2= (1.d0-ssu)*(1.d0-ssu) sduim= dmin1(sduim1,sduim2) * *-----limits on sd from Delta_- > 0 * if(ssu.gt.rasup) then sdld= (ssu-rasup)*(ssu-rasup) else sdld= sdlim endif sdud1= (ssu+rasup)*(ssu+rasup) sdud2= (-ssu+rasum)*(-ssu+rasum) sdud= dmin1(sdud1,sdud2) * *-----limits on sd from cuts on SA. Here for maximum security. Rare * if(iac(3).ne.0.and.ss(4).eq.ss(1).and.ss(3).eq.ss(2)) then if(ss(2).eq.ss(1)) then asdu= dmin1(sduim,sdud) asdl= dmax1(sdlim,sdld) else if(ss(1).gt.ss(2)) then sdusa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2)) asdu= dmin1(sduim,sdud,sdusa) asdl= dmax1(sdlim,sdld) else if(ss(1).lt.ss(2)) then asdu= dmin1(sduim,sdud) sdlsa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2)) asdl= dmax1(sdlim,sdld,sdlsa) endif else asdu= dmin1(sduim,sdud) asdl= dmax1(sdlim,sdld) endif if(iac(3).ne.0.and.cs(4).eq.cs(1).and.cs(3).eq.cs(2)) then if(cs(2).eq.cs(1)) then sdl= asdl sdu= asdu else if(cs(1).gt.cs(2)) then sdu= asdu sdlsb= su+(1.d0-cs(1)-cs(2))/(cs(1)-cs(2)) sdl= dmax1(asdl,sdlsb) else if(cs(1).lt.cs(2)) then sdl= asdl sdusb= su+(1.d0-cs(1)-cs(2))/(cs(1)-cs(2)) sdu= dmin1(asdu,sdusb) endif else sdl= asdl sdu= asdu endif * if(ieq.eq.0) then sdenl= -1.d0+bl(1)+bl(4)+su sdenu1= 1.d0-sp-bl(2) sdenu2= 1.d0-sm-bl(3) sdenu3= 1.d0-bl(2)-bl(3)+su else if(ieq.eq.1) then sdenl= su+1.d0-2.d0*enc+xbl(1)+xbl(4) sdenu1= enc-sp-xbl(2) sdenu2= enc-sm-xbl(3) sdenu3= su-1.d0+2.d0*enc-xbl(2)-xbl(3) endif sdl= dmax1(sdl,sdenl) sdu= dmin1(sdu,sdenu1,sdenu2,sdenu3) sdl= dmax1(sdl,sct14) if(itc.eq.1.and.itcc.eq.3) then sdld3= 1.d0-sm-sp-su-dist*dist/vv/s sdl= dmax1(sdl,sdld3) sdud3= 1.d0-sm-sp-su-0.5d0*dist*dist/vv/s sdu= dmin1(sdu,sdud3) endif * *-----test on sd * if(sdu.le.sdl) then iz= 0 ifz(9)= ifz(9)+1 go to 1 endif * if(itc.eq.1.and.itcc.eq.2) then bdistl= (dist/rs-svv*ssu)*(dist/rs-svv*ssu)-vv*sdl bdistu= vv*sdu-(dist/rs-svv*ssu)*(dist/rs-svv*ssu) if(bdistl.le.0.d0.or.bdistu.le.0.d0) then iz= 0 ifz(9)= ifz(9)+1 go to 1 endif endif * if(itc.eq.1.and.itcc.eq.2) then sd= (dist/rs/svv-ssu)*(dist/rs/svv-ssu) sdjc= 2.d0*abs((dist/rs-svv*ssu))/vv/ars else sdjc= sdu-sdl sd= sdjc*sdx+sdl endif if(sd.lt.0.d0) then iz= 0 ifz(9)= ifz(9)+1 go to 1 endif * ssd= sqrt(sd) sdmu= sd-su sdmus= (1.d0+sdmu)*(1.d0+sdmu) * *-----initialization of sf = m^2 * *-----limits on sf from cuts on FS IM * sflim1= rrl(2) sfuim1= rrr(2) bsg= sm+sp+su+sd ombsg= 1.d0-bsg sflim2= ombsg-rrr(5) sfuim2= ombsg-rrl(5) sflim= dmax1(sflim1,sflim2) sfuim= dmin1(sfuim1,sfuim2) * *-----limits on sf from cuts on SA * tcuts= ss(1)-ss(2)+ss(3)-ss(4) tcutc= cs(1)-cs(2)+cs(3)-cs(4) if(iac(3).ne.0.and.tcuts.ne.0.d0.and.tcutc.ne.0.d0) then if(tcuts.gt.0.d0.and.tcutc.gt.0.d0) then sflsa= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd- # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- # (cs(1)-cs(4))*sm)/tcutc sfusa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd- # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp- # (ss(1)-ss(4))*sm)/tcuts asfl= dmax1(sflim,sflsa) asfu= dmin1(sfuim,sfusa) else if(tcuts.gt.0.d0.and.tcutc.lt.0.d0) then sfusa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd- # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp- # (ss(1)-ss(4))*sm)/tcuts sfusb= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd- # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- # (cs(1)-cs(4))*sm)/tcutc asfu= dmin1(sfuim,sfusa,sfusb) asfl= sflim else if(tcuts.lt.0.d0.and.tcutc.gt.0.d0) then sflsa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd- # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp- # (ss(1)-ss(4))*sm)/tcuts sflsb= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd- # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- # (cs(1)-cs(4))*sm)/tcutc asfl= dmax1(sflim,sflsa,sflsb) asfu= sfuim else if(tcuts.lt.0.d0.and.tcutc.lt.0.d0) then sflsa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd- # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp- # (ss(1)-ss(4))*sm)/tcuts sfusa= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd- # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- # (cs(1)-cs(4))*sm)/tcutc asfl= dmax1(sflim,sflsa) asfu= dmin1(sfuim,sfusa) endif else asfl= sflim asfu= sfuim endif * if(ieq.eq.0) then asfenl1= bl(1)-sm-sd asfenl2= bl(3)-sp-su asfenu1= 1.d0-bl(2)-sp-sd asfenu2= 1.d0-bl(4)-sm-su else if(ieq.eq.1) then asfenl1= 1.d0-enc-sm-sd+xbl(1) asfenl2= 1.d0-enc-sp-su+xbl(3) asfenu1= enc-sp-sd-xbl(2) asfenu2= enc-sm-su-xbl(4) endif asfl= dmax1(asfl,asfenl1,asfenl2) asfu= dmin1(asfu,asfenu1,asfenu2) aasfu= 1.d0-sm-sp-su-sd-sct24 asfl= dmax1(asfl,sct13) asfu= dmin1(asfu,aasfu) * if(iac(3).ne.0) then if(ss(4).ne.ss(3)) then if(ss(4).gt.ss(3)) then asfltw= -(1.d0-ss(3)*sp-ss(3)*su+ss(4)*sm+ # ss(4)*su-ss(4)-bt1(1))/(ss(4)-ss(3)) asfl= dmax1(asfl,asfltw) else if (ss(4).lt.ss(3)) then asfutw= -(1.d0-ss(3)*sp-ss(3)*su+ss(4)*sm+ # ss(4)*su-ss(4)-bt1(1))/(ss(4)-ss(3)) asfu= dmin1(asfu,asfutw) endif endif if(cs(1).ne.cs(2)) then if(cs(1).gt.cs(2)) then bsfltw= -(cs(1)*sm+cs(1)*sd-cs(2)*sp-cs(2)*sd+ # cs(2)-bt1(1))/(cs(1)-cs(2)) asfl= dmax1(asfl,bsfltw) else if(cs(1).lt.cs(2)) then bsfutw= -(cs(1)*sm+cs(1)*sd-cs(2)*sp-cs(2)*sd+ # cs(2)-bt1(1))/(cs(1)-cs(2)) asfu= dmin1(asfu,bsfutw) endif endif if(cs(4).ne.cs(3)) then if(cs(4).gt.cs(3)) then csfutw= (bt2(1)-1.d0+cs(3)*sp+cs(3)*su-cs(4)*sm- # cs(4)*su+cs(4))/(cs(4)-cs(3)) asfu= dmin1(asfu,csfutw) else if(cs(4).lt.cs(3)) then csfltw= (bt2(1)-1.d0+cs(3)*sp+cs(3)*su-cs(4)*sm- # cs(4)*su+cs(4))/(cs(4)-cs(3)) asfl= dmax1(asfl,csfltw) endif endif if(ss(1).ne.ss(2)) then if(ss(1).gt.ss(2)) then dsfutw= (bt2(1)-ss(1)*sm-ss(1)*sd+ss(2)*sp+ # ss(2)*sd-ss(2))/(ss(1)-ss(2)) asfu= dmin1(asfu,dsfutw) else if(ss(1).lt.ss(2)) then dsfltw= (bt2(1)-ss(1)*sm-ss(1)*sd+ss(2)*sp+ # ss(2)*sd-ss(2))/(ss(1)-ss(2)) asfl= dmax1(asfl,dsfltw) endif endif endif * *-----positivity of R^2 * scp= ssmpp*ssmpp scm= ssmmp*ssmmp snp= (ssu+ssd)*(ssu+ssd) snm= (ssu-ssd)*(ssu-ssd) rlp= ssu*ssd+ssp*ssm rlm= ssu*ssd-ssp*ssm bsgmo= bsg-1.d0 ombsg2= ombsg*ombsg rlps= rlp*rlp rlms= rlm*rlm edelp= ombsg2-4.d0*rlps edelm= ombsg2-4.d0*rlms edeld= 16.d0*ssu*ssd*ssp*ssm * *-----first Delta_- > 0 > Delta_+ with Sigma > or < 1/2 * then Delta_+ > 0 * *-----control * cnt1= scp+snm cnt2= scm+snp if(cnt1.gt.1.d0.or.cnt2.gt.1.d0) then iz= 0 ifz(10)= ifz(10)+1 go to 1 endif if(edelm.le.0.d0) then etest= edeld+edelp if(etest.gt.0.d0) then edelm= etest else iz= 0 ifz(11)= ifz(11)+1 go to 1 endif endif sedm= sqrt(edelm) ifcr= 0 call c02ajf(one,bsgmo,rlms,rr1,rr2,ifcr) if(rr1(2).ne.0.d0) then iz= 0 ifz(12)= ifz(12)+1 go to 1 endif ifcr= 0 call c02ajf(one,bsgmo,rlps,rs1,rs2,ifcr) * cnt3= scp+snp cnt4= scm+snm cbru= -1.d0 ccru= 0.5d0*bsg * *-----R^2 has two real roots and two complex conjugate roots * if(cnt3.gt.1.d0.or.cnt4.gt.1.d0) then if(bsg.gt.0.5d0) then iel= 1 sflr(1)= rr1(1) sfur(1)= rr2(1) sflr(2)= rr1(1) sfur(2)= rr2(1) else iel= 2 ifcr= 0 call c02ajf(one,cbru,ccru,rru1,rru2,ifcr) ru1= rru1(1)*rru1(1) ru2= rru2(1)*rru2(1) sflr(1)= rr1(1) sflr(2)= ru2 sfur(1)= ru1 sfur(2)= rr2(1) endif * *-----R^2 has four real roots * else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then if(bsg.gt.0.5d0) then sflr(1)= rr1(1) sflr(2)= rs2(1) sfur(1)= rs1(1) sfur(2)= rr2(1) else ifcr= 0 call c02ajf(one,cbru,ccru,rru1,rru2,ifcr) ru1= rru1(1)*rru1(1) ru2= rru2(1)*rru2(1) sflr(1)= rr1(1) sfur(1)= dmin1(rs1(1),ru1) sflr(2)= dmax1(rs2(1),ru2) sfur(2)= rr2(1) endif endif * *-----the loop for transforming sf starts here * if(om.eq.'g') then itmn= it0 itmx= it0 else itmn= 1 itmx= 2 endif do it=itmn,itmx if(sflr(it).ge.asfl) then sfl= sflr(it) else sfl= asfl endif if(sfur(it).le.asfu) then sfu= sfur(it) else sfu= asfu endif * *-----test on sf * if(sfu.le.sfl) then iz= 0 ifz(13)= ifz(13)+1 go to 2 endif * if(itc.eq.1.and.itcc.eq.3) then ittm= 2 else ittm= 1 endif * do itt=1,ittm * if(itc.eq.1.and.itcc.eq.3) then distm= dist/svv/rs sbdist= 2.d0*(1.d0-sm-sp-su-sd)-distm*distm if(sbdist.le.0.d0) then iz= 0 ifz(13)= ifz(13)+1 go to 5 endif if(itt.eq.1) then bdist= 0.25d0*(distm-sqrt(sbdist))* # (distm-sqrt(sbdist)) else if(itt.eq.2) then bdist= 0.25d0*(distm+sqrt(sbdist))* # (distm+sqrt(sbdist)) endif bdistl= bdist-sfl bdistu= sfu-bdist if(bdistl.le.0.d0.or.bdistu.le.0.d0) then iz= 0 ifz(13)= ifz(13)+1 go to 5 endif sf= bdist ssf= sqrt(sf) pfjc= 2.d0/vv/rs*ssf*(distm-ssf)/sqrt(sbdist) sfjc0= sf*sf+(sm+sp+su+sd-1.d0)*sf+su*sd+sm*sp sfjc= 4.d0*sm*sp*su*sd-sfjc0*sfjc0 if(sfjc.le.0.d0) then iz= 0 ifz(13)= ifz(13)+1 go to 5 else if(iel.eq.1) then sfjc= 0.5d0*pfjc/sqrt(sfjc) else if(iel.eq.2) then sfjc= pfjc/sqrt(sfjc) endif endif else * *-----transformation for jacobian, first Delta_+ < 0, then Delta_+ > 0 * if(cnt3.gt.1.d0.or.cnt4.gt.1.d0) then er= rs1(1) es= abs(rs1(2)) er1= rr1(1) er2= rr2(1) ek2= edelm/edeld ek= sqrt(ek2) dog= -2.d0/sqrt(edeld) ecpl= (ombsg-2.d0*sfl)/sedm ecpu= (ombsg-2.d0*sfu)/sedm eql= ecpl*ecpl equ= ecpu*ecpu omecpl= 2.d0*(sfl-er1)/sedm es2pl= omecpl*(2.d0-omecpl) erl= 1.d0-ek2*es2pl espl= sqrt(es2pl) opecpu= 2.d0*(er2-sfu)/sedm es2pu= opecpu*(2.d0-opecpu) espu= sqrt(es2pu) eru= 1.d0-ek2*es2pu if(eql.eq.1) then sflt= 0.d0 else ifel= 1 sflt= -dog*espl*s21bbf(eql,erl,one,ifel) if(ifel.ne.0) then iz= 0 ifz(14)= ifz(14)+1 go to 2 endif endif if(equ.eq.1.d0) then sfut= 0.d0 else ifel= 1 sfut= -dog*espu*s21bbf(equ,eru,one,ifel) if(ifel.ne.0) then iz= 0 ifz(15)= ifz(15)+1 go to 2 endif endif if(iel.eq.1) then if(sfu.le.er) then efac= 0.5d0 sft= (sfut-sflt)*sfx+sflt ifel= 1 asf= -sft/dog call s21caf(asf,ek2,elsn,elcn,edn,ifel) if(ifel.ne.0) then iz= 0 ifz(16)= ifz(16)+1 go to 2 endif sf= 0.5d0*(ombsg-sedm*elcn) sfjc= efac*(sfut-sflt) else if(sfl.ge.er) then efac= 0.5d0 sft= (sflt-sfut)*sfx+sfut ifel= 1 asf= -sft/dog call s21caf(asf,ek2,elsn,elcn,edn,ifel) if(ifel.ne.0) then iz= 0 ifz(17)= ifz(17)+1 go to 2 endif sf= 0.5d0*(ombsg+sedm*elcn) sfjc= efac*(sflt-sfut) else efac= 1.d0 qbar= 0.d0 rbar= 1.d0-ek2 ifel= 1 sfbar= -dog*s21bbf(qbar,rbar,one,ifel) if(ifel.ne.0) then iz= 0 ifz(18)= ifz(18)+1 go to 2 endif if(it.eq.1) then sft= (sfbar-sflt)*sfx+sflt ifel= 1 asf= -sft/dog call s21caf(asf,ek2,elsn,elcn,edn,ifel) if(ifel.ne.0) then iz= 0 ifz(19)= ifz(19)+1 go to 2 endif sf= 0.5d0*(ombsg-sedm*elcn) sfjc= efac*(sfbar-sflt) else if(it.eq.2) then sft= (sfbar-sfut)*sfx+sfut ifel= 1 asf= -sft/dog call s21caf(asf,ek2,elsn,elcn,edn,ifel) if(ifel.ne.0) then iz= 0 ifz(20)= ifz(20)+1 go to 2 endif sf= 0.5d0*(ombsg+sedm*elcn) sfjc= efac*(sfbar-sfut) endif endif else if(iel.eq.2) then efac= 1.d0 if(it.eq.1) then sft= (sfut-sflt)*sfx+sflt ifel= 1 asf= -sft/dog call s21caf(asf,ek2,elsn,elcn,edn,ifel) if(ifel.ne.0) then iz= 0 ifz(21)= ifz(21)+1 go to 2 endif sf= 0.5d0*(ombsg-sedm*elcn) sfjc= efac*(sfut-sflt) else if(it.eq.2) then sft= (sflt-sfut)*sfx+sfut ifel= 1 asf= -sft/dog call s21caf(asf,ek2,elsn,elcn,edn,ifel) if(ifel.ne.0) then iz= 0 ifz(22)= ifz(22)+1 go to 2 endif sf= 0.5d0*(ombsg+sedm*elcn) sfjc= efac*(sflt-sfut) endif endif else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then if(edelp.le.0.d0) then iz= 0 ifz(23)= ifz(23)+1 go to 2 endif sedp= sqrt(edelp) efac= 1.d0 es1= rs1(1) es2= rs2(1) er1= rr1(1) er2= rr2(1) ssed= sedm+sedp ek= (sedm-sedp)/ssed ek2= ek*ek dog= 2.d0/ssed if(it.eq.1) then es2pl= (er1-sfl)/(sfl-er2)/ek es2pu= (er1-sfu)/(sfu-er2)/ek eql= 1.d0-es2pl equ= 1.d0-es2pu erl= 1.d0-ek2*es2pl eru= 1.d0-ek2*es2pu else if(it.eq.2) then es2pl= (sfl-es2)/(sfl-es1)/ek es2pu= (sfu-es2)/(sfu-es1)/ek eql= 1.d0-es2pl equ= 1.d0-es2pu erl= 1.d0-ek2*es2pl eru= 1.d0-ek2*es2pu endif if(eql.eq.1.d0) then sflt= 0.d0 else ifel= 1 sflt= 2.d0*dog*sqrt(es2pl)* # s21bbf(eql,erl,one,ifel) if(ifel.ne.0) then iz= 0 ifz(24)= ifz(24)+1 go to 2 endif endif if(equ.eq.1.d0) then sfut= 0.d0 else ifel= 1 if(equ.lt.0.d0.and.abs(equ).lt.1.d-12) then equ= 0.d0 endif sfut= 2.d0*dog*sqrt(es2pu)* # s21bbf(equ,eru,one,ifel) if(ifel.ne.0) then iz= 0 ifz(25)= ifz(25)+1 go to 2 endif endif sft= (sfut-sflt)*sfx+sflt ifel= 1 asf= 0.5d0/dog*sft call s21caf(asf,ek2,elsn,elcn,edn,ifel) elsn2= elsn*elsn if(ifel.ne.0) then iz= 0 ifz(26)= ifz(26)+1 go to 2 endif if(it.eq.1) then sf= (er1+ek*elsn2*er2)/(1.d0+ek*elsn2) else if(it.eq.2) then sf= (es2-ek*elsn2*es1)/(1.d0-ek*elsn2) endif sfjc= efac*(sfut-sflt) endif * endif * *-----auxiliary quantities * sdpf= sd+sf e3= sp+su+sf e4= 1.d0+spmm-e3 e3p4= 1.d0+spmm e1= sm+sdpf e2= 1.d0+smmp-e1 e1p2= 1.d0+smmp e1p3= e1+e3 e1m2= 2.d0*e1-1.d0+spmm ep12= xp*e1*e2 ep1= xp*e1 ep2= xp*e2 ep3= xp*e3 ep4= xp*e4 e1t2= e1*e2 e1t3= e1*e3 e1t4= e1*e4 e2t3= e2*e3 e2t4= e2*e4 e3t4= e3*e4 if((e1p3*e1p3-4.d0*sf).lt.0.d0) then iz= 0 ifz(27)= ifz(27)+1 go to 2 endif skl2= sqrt(e1p3*e1p3-4.d0*sf) if((sdmus-4.d0*sd).lt.0.d0) then iz= 0 ifz(28)= ifz(28)+1 go to 2 endif skl3= sdmus-4.d0*sd skl3= sqrt(skl3) * *-----initialization of t_w * *-----limits on tw from positivity and SA * twlp1= 0.d0 twlp2= smmp twlp3= spmm-1.d0 twlp= dmax1(twlp1,twlp2,twlp3) twup= 1.d0 * *-----limits on tw from cuts on SA * if(iac(3).ne.0) then skl2m= 0.5d0*(e1p3-skl2) skl2p= 0.5d0*(e1p3+skl2) skl3p= -0.5d0*(1.d0+sdmu-skl3) skl3m= -0.5d0*(1.d0+sdmu+skl3) twlsa1= 1.d0-cs(3)*e3-cs(4)*e4 twlsa2= ss(1)*e1+ss(2)*e2 twlsa3= 1.d0-cs(3)*e3-cs(4)*e4-skl3p+skl3m twlsa4= 1.d0-2.d0*cs(3)*e3+skl2m+skl3m twlsa5= 1.d0-2.d0*cs(4)*e4-skl2p-skl3p twlsa6= 1.d0-cs(3)*e3-cs(4)*e4-skl2p+skl2m twusa1= 1.d0-ss(3)*e3-ss(4)*e4 twusa2= cs(1)*e1+cs(2)*e2 twusa3= 1.d0-ss(3)*e3-ss(4)*e4+skl3p-skl3m twusa4= 1.d0-2.d0*ss(4)*e4-skl2m-skl3m twusa5= 1.d0-2.d0*ss(3)*e3+skl2p+skl3p twusa6= 1.d0-ss(3)*e3-ss(4)*e4+skl2p-skl2m atwl= dmax1(twlp,twlsa1,twlsa2,twlsa3,twlsa4, # twlsa5,twlsa6) atwu= dmin1(twup,twusa1,twusa2,twusa3,twusa4, # twusa5,twusa6) else atwl= twlp atwu= twup endif * *-----limits on tw from E * if(ieq.eq.1) then atwle= 1.d0-bxe*e3p4+bl(3)+bl(4) atwue= bxe*e1p2-bl(1)-bl(2) if(xdf.gt.0.d0) then twle= atwle twue= atwue else if(xdf.lt.0.d0) then atwle1= bxe*e1-bl(1) atwle2= bxe*e2-bl(2) atwue1= 1.d0-bxe*e3+bl(3) atwue2= 1.d0-bxe*e4+bl(4) twle= dmax1(atwue,atwle1,atwle2) twue= dmin1(atwle,atwue1,atwue2) endif atwl= dmax1(atwl,twle) atwu= dmin1(atwu,twue) endif * *-----natural limits on tw * atwl= dmax1(atwl,bt1(1)) atwu= dmin1(atwu,bt2(1)) * *-----test on tw * if(atwu.le.atwl) then iz= 0 ifz(29)= ifz(29)+1 go to 2 endif * twjc= atwu-atwl tw= twjc*twx+atwl pn= tw+sp-1.d0 omtw= 1.d0-tw * *-----initialization of t1 * *-----limits on t1 from positivity+SA * t1lp1= 0.d0 t1lp2= pn+sdpf t1up1= tw t1up2= sm+sdpf t1lp= dmax1(t1lp1,t1lp2) t1up= dmin1(t1up1,t1up2) * *-----limits on t1 from cuts on SA * if(iac(3).ne.0) then t1lc1= ss(1)*e1 t1lc2= tw-cs(2)*e2 t1lc3= ss(3)*e3-(omtw-0.5d0*(1.d0+sdmu-skl3)) t1lc4= -cs(4)*e4+0.5d0*(1.d0+sdmu-skl3) t1lc5= 0.5d0*(e1p3-skl2)-cs(3)*e3 t1lc6= 0.5d0*(e1p3-skl2)-omtw+ss(4)*e4 t1uc1= cs(1)*e1 t1uc2= tw-ss(2)*e2 t1uc3= cs(3)*e3-(omtw-0.5d0*(1.d0+sdmu+skl3)) t1uc4= -ss(4)*e4+0.5d0*(1.d0+sdmu+skl3) t1uc5= 0.5d0*(e1p3+skl2)-ss(3)*e3 t1uc6= 0.5d0*(e1p3+skl2)-omtw+cs(4)*e4 t1lc= dmax1(t1lc1,t1lc2,t1lc3,t1lc4,t1lc5,t1lc6) t1uc= dmin1(t1uc1,t1uc2,t1uc3,t1uc4,t1uc5,t1uc6) at1l= dmax1(t1lp,t1lc) at1u= dmin1(t1up,t1uc) else at1l= t1lp at1u= t1up endif * *-----limits on t1 from E * if(ieq.eq.1) then at1le= tw-bxe*e2+bl(2) at1ue= bxe*e1-bl(1) if(xdf.gt.0.d0) then t1le= at1le t1ue= at1ue else t1le= at1ue t1ue= at1le endif at1l= dmax1(at1l,t1le) at1u= dmin1(at1u,t1ue) endif * *-----positivity of (R')^2 / reality of roots for t3 * rp0= e1p2*e1p2-4.d0*sm if(rp0.lt.0.d0) then iz= 0 ifz(30)= ifz(30)+1 go to 2 endif srp0= sqrt(rp0) rp0e= -rp0 rp1= (e1*e1p2-2.d0*sm)*tw-sm*e1m2 rp1e= 2.d0*rp1 rp2= -(e1*tw-sm)*(e1*tw-sm) ifct= 0 if(rp0e.ne.0.d0) then call c02ajf(rp0e,rp1e,rp2,ret1,ret2,ifct) rpds= 0.5d0*rp0*(ret2(1)-ret1(1)) t1l= dmax1(at1l,ret1(1)) t1u= dmin1(at1u,ret2(1)) else if(rp0e.eq.0.d0) then sret1= -rp2/rp1e if(rp1e.gt.0.d0) then t1l= dmax1(at1l,sret1) t1u= at1u else if(rp1e.lt.0.d0) then t1l= at1l t1u= dmin1(at1u,sret1) endif endif * *-----test on t1 * if(t1u.le.t1l) then iz= 0 ifz(31)= ifz(31)+1 go to 2 endif * sr= 1.d0-sm-sp-su-sd-sf * *-----transformation for jacobian * if(rp0e.eq.0.d0) then taul= 2.d0/rp1e*sqrt(rp1e*t1l+rp2) taut= 2.d0/rp1e*sqrt(rp1e*t1u+rp2) t1jc= taut-taul t1= 0.25d0*rp1e*(t1jc*t1x+taul)**2-rp2/rp1e endif if(ret1(1).eq.t1l) then at1tl= -pih/srp0 else bt1tl= 1.d0+rp0/rpds*(ret1(1)-t1l) ifas= 1 at1tl= -s09aaf(bt1tl,ifas)/srp0 if(ifas.ne.0) print 200 endif if(ret2(1).eq.t1u) then at1tu= pih/srp0 else bt1tu= -1.d0+rp0/rpds*(ret2(1)-t1u) ifas= 1 at1tu= -s09aaf(bt1tu,ifas)/srp0 if(ifas.ne.0) print 200 endif if((at1tl+at1tu).eq.0.d0) then if(t1x.lt.1.d-3) then arc= pi*t1x arc2= arc*arc exc= arc2*(ec2+arc2*(ec4+arc2*(ec6+ # arc2*(ec8+arc2*ec10)))) t1= ret1(1)+0.5d0*(ret1(1)-ret2(1))*exc else if((1.d0-t1x).lt.1.d-3) then arc= pi*(1.d0-t1x) arc2= arc*arc exc= arc2*(ec2+arc2*(ec4+arc2*(ec6+ # arc2*(ec8+arc2*ec10)))) t1= ret2(1)-0.5d0*(ret1(1)-ret2(1))*exc else carc= cos(pi*t1x) t1= 0.5d0*(ret1(1)+ret2(1))+ # 0.5d0*(ret1(1)-ret2(1))*carc endif t1jc= pi/srp0 else t1tl= dmin1(at1tl,at1tu) t1tu= dmax1(at1tl,at1tu) t1jc= t1tu-t1tl t1t= t1jc*t1x+t1tl t1= (rp1+rpds*sin(srp0*t1t))/rp0 endif t1s= t1*t1 * 200 format(' Unsuccesful call to S09AAF ') * *-----test on t1 from FS A * if(ieq.eq.1.and.iac(4).ne.0.d0) then cnlct1= xp*(xm*sm-ep12*cg12)+xdf* # ep1*cg12*tw+xdf*cg12*t1*(ep2-ep1- # xdf*tw)+xdfs*cg12*t1s cnlst1= xp*(ep12*sg12-xm*sm)-xdf* # ep1*sg12*tw+xdf*sg12*t1*(ep1-ep2+ # xdf*tw)-xdfs*sg12*t1s if(cnlct1.lt.0.d0) then iz= 0 ifz(32)= ifz(32)+1 go to 2 else if(cnlst1.lt.0.d0) then iz= 0 ifz(33)= ifz(33)+1 go to 2 endif endif * *-----some vector components * t2= tw-t1 t2s= t2*t2 * edn1= ep1-xdf*t1 edn2= ep2-xdf*t2 * *-----equation for xi is solved * e1s= e1*e1 e2s= e2*e2 e3s= e3*e3 e12= e1t2-2.d0*sm e13= e1t3-2.d0*sf e23= e2t3-2.d0*su e12s= e12*e12 e13s= e13*e13 e23s= e23*e23 xia= e1s*e2s-e12s xib= 2.d0*t1*(e2s*e13-e12*e23)+2.d0*t2*(e1s*e23- # e12*e13)-e1*e2s*e13+e1*e12*e23-e1s*e2*e23+ # e2*e12*e13 xic= 8.d0*t1*t2*(-e3s*e12+e13*e23)+4.d0*t1*(-e1* # e2s*e3s+e1*e23s+e2*e3s*e12-e2*e13*e23)+4.d0* # t1s*(e2s*e3s-e23s)+4.d0*t2*(e1*e3s*e12-e1* # e13*e23-e1s*e2*e3s+e2*e13s)+4.d0*t2*t2*(e1s* # e3s-e13s)-2.d0*e1t2*e3s*e12+2.d0*e1t2*e13* # e23+e1s*e2s*e3s+e3s*e12s-2.d0*e12*e13*e23 xib= 2.d0*xib if(xia.eq.0.d0) then if(xib.eq.0.d0) then iz= 0 ifz(34)= ifz(34)+1 go to 2 endif rtm(1)= -xic/xib rtp(1)= rtm(1) rtm(2)= 0.d0 rtp(2)= 0.d0 ixia= 0 else ixia= 1 ifc0= 0 call c02ajf(xia,xib,xic,rtm,rtp,ifc0) endif if(rtm(2).ne.0.d0) then iz= 0 ifz(35)= ifz(35)+1 go to 2 endif * * *-----xi^+ and xi^- are computed * xip= 0.5d0*(e3-rtp(1)) xim= 0.5d0*(e3-rtm(1)) * *-----each integral becomes a sum of two terms * *-----loop over ix starts here * if(om.eq.'g') then ixmn= ix0 ixmx= ix0 else ixmn= 1 ixmx= 2 endif do ix=ixmn,ixmx * *-----x15 is selected * if(ix.eq.1) then t3= xip else if(ix.eq.2) then t3= xim endif * *-----The two integrands are computed * *-----further auxiliary quantities * edn1= ep1-xdf*t1 edn2= ep2-xdf*t2 edn3= ep3-xdf*t3 t4= omtw-t3 edn4= ep4-xdf*t4 * *-----collections of all limits on t3 * *-----from energy (or natural limits) * if(ieq.eq.1) then at3l1= omtw-bxe*e4+bl(4) at3u1= bxe*e3-bl(3) if(xdf.gt.0.d0) then t3l1= at3l1 O O O O O O O O O O O O O O O O O O 37= x23*x26t! O p38= x23*x34p! O p39= x23*x35 ! O p40= x23*x36d! O p41= x23*x45=! O p42= x23*x46i! O p43= x23*x56 " O p44= x23*x56s! O p45= x24*x25 ! O p46= x24*x35 ! O p47= x24*x36d! O p48= x24*x56s! O p49= x25*x26 ! O p50= x25*x34c! O p51= x25*x350! O p52= x25*x36 ! O p53= x25*x45 ! O p54= x25*x46 ! O p55= x25*x56d! O p56= x26*x34s! O p57= x26*x35 " O p58= x26*x35s" O p59= x26s*x35! O p60= x26*x36 ! O p61= x26*x45," O p62= x26s*x45! O p63= x26*x561! O p64= x34*x35x! O p65= x34*x36m! O p66= x34*x46 ! O p67= x34*x56 " O p68= x34*x56s! O p69= x35*x36 ! O p70= x35*x45 ! O p71= x35*x46 ! O p72= x35*x56 ! O p73= x36*x45 ! O p74= x36*x46 ! O p75= x45*x56 O ! O p76= x46*x56  O * P O u1= p1*x25  O u2= p1*x56) O u3= p3*x45i O u4= x13*p48 O u5= p4*x462 O u6= p4*x56. O u7= p7*x45 O u8= x13*p73 O u9= p12*x23! O u10= p12*x25p! O u11= p12*x35 ! O u12= p13*x352! O u13= p13*x56 ! O u14= p15*x26 ! O u15= p15*x35e! O u16= p15*x36c! O u17= p15*x56=! O u18= p17*x35t! O u19= p18*x36d! O u20= p20*x451! O u21= p23*x46e! O u22= p24*x36 ! O u23= p25*x34 ! O u24= p29*x45 ! O u25= x16*p46 ! O u26= p31*x34 ! O u27= p31*x35 ! O u28= p36*x46 ! O u29= p49*x34 ! O u30= p36*x36 O ! O u31= p36*x34(! O u32= p38*x56 ! O u33= p50*x561! O u34= p52*x45 ! O u35= p54*x56s! O u36= p57*x45n! O u37= p57*x56p! O u38= p64*x56l! O u39= p37*x46 ! O u40= p39*x56*! O u41= p52*x56t! O u42= p39*x45* O *j O w1= p7-p29  O w2= p9-p18q O w3= p42-p56 O w4= p11-p34 O w5= p31-x56 O w6= p4-x35 O O w7= p71-p73 O w8= p67-p71 O w9= p43-p57! O w10= p54-p61h! O w11= p41-p50 O & O w12= -x13+p18/x45% O w13= p54/x45-x26 & O w14= -p16/x45+x25& O w15= 1.d0-p15/x45! O w16= x14+x16d! O w17= p11+p340! O w18= p49+p57." O w19= -p41-p50! O w20= p22+p35a! O w21= p67+p71+" O w22= -p43+p52" O w23= -p43-p57! O w24= p11-p27e! O w25= p34-p52l" O w26= -p43-p52" O w27= -p52-p57! O w28= p67-p73 " O w29= -p67-p73! O w30= p27-p34 ! O w31= p52-p57 " O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O x34-x13s*x24*x25-x34*x35,A O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+ E O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)- B O # x14*x16*x23s+x14*x23*x36+x16*x23*9 O # x34-x13s*x24*x26-x34*x365B O e(3)= -x13*x15*x24*x26+x13*x16*x24*x25+D O # x13*(-x25*x46+x26*x45)+x14*x15*x23*F O # x26-x14*x16*x23*x25+x14*(x25*x36-x26*F O # x35)+x15*(-x23*x46+x24*x36)+x16*(x23*= O # x45-x24*x35)+x35*x46-x36*x45rC O e(4)= x13*x14*(x25*x36-x26*x35)+x13*x15*nE O # (x23*x46-x26*x34)+x13*x16*(-x23*x45+ D O # x25*x34)+x13*(x35*x46-x36*x45)-x14*E O # x15*x23*x36+x14*x16*x23*x35+x15*x34*sD O # x36-x16*x34*x35+x13s*(-x25*x46+x26*% O # x45)dG O e(5)= x13*(-x23*x25*x46+x23*x26*x45+x24*x25*)D O # x36-x24*x26*x35)+x15*(-x23*x24*x36-D O # x23*x26*x34+x46*x23s)+x16*(x23*x24*C O # x35+x23*x25*x34-x45*x23s)-x23*x35*oE O # x46+x23*x36*x45-x25*x34*x36+x26*x34*c$ O # x35 O *r" O ises= 0# O do i=1,5 8 O if(abs(e(i)).lt.zrm) then. O ises= ises+18 O else if(e(i).gt.zrm) then/ O sg(i)= 0.25d0 9 O else if(e(i).lt.-zrm) then*0 O sg(i)= -0.25d0$ O endif5 O if(ee(i).lt.0.d0) thenq. O ises= ises+1$ O endif O enddo- O if(ises.eq.0) thenp5 O ses1= sg(1)*sqrt(ee(1))45 O ses2= sg(2)*sqrt(ee(2))x5 O ses3= sg(3)*sqrt(ee(3)) 5 O ses4= sg(4)*sqrt(ee(4)) O 5 O ses5= sg(5)*sqrt(ee(5)) , O s1= -ses1-ses2& O s2= ses1& O s3= ses2, O s4= -ses1+ses3, O s5= -ses2-ses3& O s6= ses3, O s7= -ses1+ses4, O s8= -ses2-ses4& O s9= ses4, O s10= ses3-ses4, O s11= ses1+ses5, O s12= ses2-ses5' O s13= ses5 - O s14= -ses3-ses52- O s15= -ses4-ses5  O else # O iz= 0 0 O ifz(39)= ifz(39)+1% O go to 41 O endif O endif  O endif O *p$ O tgn(1)= x15*x24$ O tgn(2)= x34*x46$ O tgn(3)= x34/x46$ O tgn(4)= x24/x15$ O tgn(5)= x15/x25$ O tgn(6)= x15*x25$ O tgn(7)= x14*x25$ O tgn(8)= x14*x34$ O tgn(9)= x25*x46% O tgn(10)= x25/x46 % O tgn(11)= x14/x34 % O tgn(12)= x45/x36 % O tgn(13)= x14*x24 % O tgn(14)= x24/x140% O tgn(15)= x45*x361% O tgn(16)= x14/x252 O * O @ O if(otype.eq.'nc48'.or.otype.eq.'nc50') then- O if(x45.lt.1.d-4) then ! O itr= 1  O else ! O itr= 0  O endif 0 O else if(otype.eq.'nc19'.or.2 O # otype.eq.'nc21') then. O if(otrans.eq.'n') then! O itr= 0 3 O else if(otrans.eq.'y') thenp0 O if(x45.lt.1.d-4) then$ O itr= 1 O else $ O itr= 0 O endif O endif3 O else3 O itr= 0 O endif  O * & O if(itr.eq.1) then0 O tgnn(1)= x56/x15/x24/x350 O tgnn(2)= x15/x24/x35/x565 O tgnn(3)= 1.d0/x15/x24/x35/x56 0 O tgnn(4)= x24/x15/x35/x560 O tgnn(5)= x15*x24/x35/x565 O tgnn(6)= 1.d0/x34/x35/x46/x56 O itgnn= 0 O do l=1,64 O if(tgnn(l).le.0.d0) then- O itgnn= itgnn+1 O ! O endif O  O enddo4+ O if(itgnn.ne.0) then O iz= 0- O ifz(40)= ifz(40)+1 " O go to 4 O endif + O gnn1= sqrt(tgnn(1)) + O gnn2= sqrt(tgnn(2)) + O gnn3= sqrt(tgnn(3))4+ O gnn4= sqrt(tgnn(4)) + O gnn5= sqrt(tgnn(5)) + O gnn6= sqrt(tgnn(6))  O endif O *p O itgn= 0 O do l=1,160 O if(tgn(l).le.0.d0) then( O itgn= itgn+1 O endif O enddo' O if(itgn.ne.0) then  O iz= 0c* O ifz(40)= ifz(40)+1 O go to 4  O endif O * O ' O gpna= sqrt(tgn(1)) ' O gpnb= sqrt(tgn(2)) ' O gpnc= sqrt(tgn(3)) ' O gpnd= sqrt(tgn(4))4' O gpne= sqrt(tgn(5))*' O gpnf= sqrt(tgn(6)) O ' O gpng= sqrt(tgn(7)) ' O gmna= sqrt(tgn(8)) ' O gmnb= sqrt(tgn(9)) ( O gmnc= sqrt(tgn(10))( O gmnd= sqrt(tgn(11))( O gmne= sqrt(tgn(12))( O gmnf= sqrt(tgn(13))( O gmng= sqrt(tgn(14))( O gmnh= sqrt(tgn(15))( O gmni= sqrt(tgn(16)) O *6# O gn1= gpna/gpnb*# O gn2= gpna*gpnc5# O gn3= gpna/gpnct# O gn4= gpnd/gpnb O ( O gn5= 1.d0/gpna/gpnc( O gn6= 1.d0/gpnd/gpnc# O gn7= gpnd/gpnc # O gn8= gpnb/gpna # O gn9= gpnd*gpnc=$ O gn10= gpnb/gpnd$ O gn11= gpna*gpnb$ O gn12= gmnd/gmnb) O gn13= 1.d0/gmnc/gmna $ O gn14= gmna/gmnb$ O gn15= gmnd/gmnc) O gn16= 1.d0/gmnd/gmnc $ O gn17= gmna*gmnb$ O gn18= gmnc/gmnd$ O gn19= gmnc/gmna$ O gn20= gmna*gmnc$ O gn21= gmnd*gmnb$ O gn22= gmnd*gmnc$ O gn23= gmnb/gmnd$ O gn24= gmnb/gmna$ O gn25= gpnc/gpnd) O gn26= 1.d0/gpna/gpnb2$ O gn27= gpnc/gpna) O gn28= 1.d0/gpnd/gpnb $ O gn29= gpne/gmnh$ O gn30= gmne/gpnf) O gn31= 1.d0/gpnf/gmne ) O gn32= 1.d0/gpnf/gmnh $ O gn33= gpne*gmne$ O gn34= gpne/gmne$ O gn35= gmnh/gpnf$ O gn36= gmnh*gpne$ O gn37= gpnb*gmni$ O gn38= gpnc/gpng) O gn39= 1.d0/gpng/gpnb $ O gn40= gmne/gmnf$ O gn41= gmng*gmne) O gn42= 1.d0/gmnf/gmnh $ O gn43= gmng/gmnh$ O gn44= gmne/gmng) O gn45= 1.d0/gmng/gmnh+$ O gn46= gmnf/gmnh$ O gn47= gmnf*gmne$ O gn48= gmnh/gmnf) O gn49= 1.d0/gmng/gmne4$ O gn50= gmng*gmnh) O gn51= 1.d0/gmnf/gmne3$ O gn52= gmnh/gmng$ O gn53= gmnf*gmnh$ O gn54= gmnf/gmne) O gn55= 1.d0/gpnb*gmni ) O gn56= 1.d0/gpnc/gpngx$ O gn57= gpnc*gmni) O gn58= 1.d0/gpnc*gmni1$ O gn59= gpnb/gpng$ O gn60= gpnb*gpng$ O gn61= gpnc/gmni) O gn62= 1.d0/gpnb/gmni $ O gn63= gpnc*gpng) O gn64= 1.d0/gpnc*gpng ) O gn65= 1.d0/gpnb*gpng3$ O gn66= gpnb/gmni) O gn67= 1.d0/gpnc/gmni1$ O gn68= gpne/gmne) O gn69= 1.d0/gpnf*gmnh ) O gn70= 1.d0/gmne*gmngs O *4 O *-----helicity a-b)  O * ' O *-----Conversion diagram 1: common part4G O * 5D O c1abrc= gn12*(u4-u7-u13-u16+u18-u22+u24-u25+p73)+gn13*(-u4-u5+C O # u7-u21+u22+u24-u25+w7)+gn14*(p25+w5)+gn15*(w6+p23+w9+-& O # p52)+gn16*(-p25+p31+x56)E O c1abic= 4.d0*(s1*gn12*x56+s1*gn13*(-2.d0*x15+x56)+2.d0*s5*gn38* F O # (-x15+x56)-s6*gn14+s6*gn16+s7*gn13*x26+2.d0*s8*gn39*x24*F O # (x15-x56)-s8*gn13*x25+s9*gn12*x24-s10*gn12*x23+s11*gn12*A O # x16+s12*gn12*(-x15+2.d0*x56)-s13*gn15+s14*gn13*x13)s O *1' O *-----Conversion diagram 2: common parttG O * = O c2abrc= 2.d0*(-gn12*u16+gn14*p31+gn15*p4-2.d0*gn37*x25)  O c2abic= 8.d0*s8*gn12*x25 O * $ O *-----Pair production I: common part O *eC O p1abrc= 2.d0*(gn13*p4*(x24-x45)+gn15*x25*(-x23+x35)+gn16*x25*  O # (x15-1.d0)) # O p1abic= 8.d0*gn13*x25*(s1-s7)  O * % O *-----Pair production II: common part  O * G O p2abrc= gn12*(-u4+u7+u13-u16-u18+u22-u24+u25-p73)+gn13*(u4-u5-u7+tF O # u21-u22-u24+u25-w7)+gn14*(-p25+p31+x56)+gn15*(p4-p23-w9+$ O # p52+x35)+gn16*(p25+w5)D O p2abic= 4.d0*(s1*gn13*x56-s2*gn15+s5*gn12*x35-s6*gn16-s7*gn13*D O # x26+s8*gn12*x25-s8*gn13*x25+s10*gn12*x23-s11*gn12*x16-1 O # s13*gn12*x14+s13*gn15-s14*gn13*x13) O  O * & O *-----Pair production III: common part O * E O p3abrc= gn12*(u4-u7-u13+u16+u18-u22+u24-u25+p73)+gn14*(p25-p31- E O # x56)+gn15*(-p4+p23-2.d0*p41+2.d0*p46-x35)+2.d0*gn37*x25 O E O p3abic= 4.d0*(s2*gn15-s5*gn12*x35-s8*gn12*x25-s10*gn12*x23+s11*s2 O # gn12*x16-2.d0*s11*gn15+s13*gn12*x14) O * % O *-----Pair production IV: common part  O * C O p4abrc= 2.d0*(gn13*x13*(-p41-p45+p46)+gn15*p36+gn16*(p23+x25-s O # x35)) - O p4abic= 8.d0*gn13*((x35-x25)*s1-x23*s7)x O *x O *-----helicity c-d)4 O * O ' O *-----Conversion diagram 1: common part4G O * xD O c1cdrc= 2.d0*(gn1*x36*(x14-x45)+gn2*(-x16+x56)+gn3*(-x13+x35)) O c1cdic= 8.d0*gn1*(s8-s15)  O * ' O *-----Conversion diagram 2: common partxG O * -F O c2cdrc= 2.d0*(gn1*p20-gn2*x16+gn4*x36*w2-gn5*x23*w2-gn6*p13+gn8* O # w6-gn9*w4+gn10) G O c2cdic= 8.d0*(s1*gn5*x35+s5*gn25-s8*gn4*x35+s11*gn5*x13+s12*gn28*  O # x14+s15*gn4*x13) O * $ O *-----Pair production I: common part O *xE O p1cdrc= 2.d0*(gn3*(x13-x35)+gn6*x23*(-x14+x45)+gn10*(1.d0-x25))3 O p1cdic= -8.d0*gn6*(s1+s11) O * % O *-----Pair production II: common part) O *.@ O p2cdrc= gn1*p47-gn2*x26-gn3*(x23+x36)+gn4*(-u4+u7+u13-u16-? O # u18-u24+u25+p73)+gn5*(-u5+u7-u13+u16-u18+u24+w7)+48 O # gn6*p42+gn7*(w6+w4)-gn8*w5+gn9*w5-gn10*x26= O p2cdic= 4.d0*(-s2*gn5*x46+s2*gn7-s4*gn4*x36+s4*gn5*x36+x> O # s6*gn8-s6*gn9-2.d0*s7*gn5*x26-s8*gn4*x25+s8*gn5*2 O # x25+s12*gn1-s12*gn6+s15*gn4-s15*gn5) O **& O *-----Pair production III: common part O * B O p3cdrc= -gn1*p47+gn2*x26+gn3*x23+gn4*(u4-u7-u13+u16+u18+u24-9 O # u25-p73)+gn7*(-w6+2.d0*w2)-gn9*w5-2.d0*gn11*A O p3cdic= 4.d0*(-s2*gn7+s4*gn4*x36+s6*gn9-2.d0*s7*gn7+s8*gn4*x" O # x25-s12*gn1-s15*gn4) O * % O *-----Pair production IV: common part* O **< O p4cdrc= 2.d0*(-gn3*x13+gn5*x23*w2+gn6*p13-gn8*w6-gn10)- O p4cdic= 8.d0*(s1*gn6-s2*gn8-s7*gn5*x23)- O ** O *-----helicity e-f)3 O * O ' O *-----Conversion diagram 1: common part-G O * 0C O c1efrc= gn40*(u5-u7-u21+u23+u24-u26+w8)-gn41*w4+gn44*(w1-w9)++F O # gn45*(-u5+u13-u18-u21+u23+u26-w8)+gn46*w4+gn48*x45+gn49*3 O # p15-gn50*x15-gn52*(1.d0+x25)-gn54*x15 E O c1efic= 4.d0*(-s1*gn40*x56+s3*gn44+s4*gn48-s4*gn49-s5*gn40*x35+ E O # s7*gn45*x26+s9*gn41-s10*gn45*x23+s12*gn45*x15+s13*gn44-f$ O # s13*gn45*x14+s15*gn40) O * ' O *-----Conversion diagram 2: common part G O * G O c2efrc= gn44*(w1+2.d0*w3)+gn45*(-u5+u13-u18-u21+u23+u26-w8)+gn46* 1 O # w4-gn49*p15+gn52-2.d0*gn53+gn54*x15 B O c2efic= 4.d0*(s3*gn44+s4*gn49+s7*gn45*x26-s10*gn45*x23-2.d0*1 O # s12*gn44+s12*gn45*x15-s13*gn45*x14)i O *+$ O *-----Pair production I: common part O * @ O p1efrc= 2.d0*(-gn48*x45-gn49*p15+gn50*x15+gn52*(1.d0+x25)+H O # gn54*x15) ! O p1efic= 8.d0*(gn49-gn48)*s4) O * % O *-----Pair production II: common partr O *e? O p2efrc= 2.d0*(gn40*w3+gn41*w1-gn48*x46+gn50*x16+gn52*x26) 4 O p2efic= 8.d0*(s1*gn40*x26+s5*gn40*x23-s5*gn48) O * & O *-----Pair production III: common part O * 5 O p3efrc= 2.d0*(gn49*p15-gn52+2.d0*gn53-gn54*x15)s O p3efic= -8.d0*s4*gn49  O *s% O *-----Pair production IV: common part  O *s@ O p4efrc= 2.d0*(-gn40*w3-gn41*w1-gn48*x34+gn50*x13+gn52*x23)F O p4efic= 4.d0*(s1*gn42*(p67+2.d0*p71)-s1*gn43*x56-s2*gn42*p66-s2*H O # gn43*x46-s4*gn51*x34+2.d0*s5*gn42*p64-s5*gn43*x35-s6*gn43*G O # x34-s7*gn43*x26-s8*gn42*p50+2.d0*s8*gn43*x25-s9*gn43*x34- D O # s10*gn42*p38+s10*gn43*x23+s11*gn42*(p33+2.d0*x46)-s11*E O # gn43*x16+2.d0*s13*gn45*x34-2.d0*s13*gn46-2.d0*s14*gn42*4C O # x34+s14*gn43*x13+s15*gn42*x34-2.d0*s15*gn43*x13+2.d0*) O # s15*gn45*x23)2 O *3 O *-----helicity g-h)  O * ' O *-----Conversion diagram 1: common part2G O * eE O c1ghrc= 2.d0*(gn29*(-u5+u26)-gn30*w4-gn31*u17+gn32*(u1*x56-u10* 6 O # x35)+gn33*w1+gn34*p54+gn35*x56-gn36*x26)E O c1ghic= 8.d0*(-s2*gn30*x16-s6*gn30*x13+s6*gn35-s7*gn32*p31-s10**# O # gn31*x25+s10*gn32*p4)  O * ' O *-----Conversion diagram 2: common part*G O * B O c2ghrc= 2.d0*(gn29*x25*(-p10+p33)+gn31*u15+gn32*p15*w4-gn34* O # p50-gn35*p4)8 O c2ghic= 8.d0*(s7*gn31*x25-s8*gn29*x25+s9*gn32*p15) O *1$ O *-----Pair production I: common part O *)= O p1ghrc= 2.d0*(gn31*p16-gn34*p45-gn35*x25+2.d0*gn36*x25)  O p1ghic= 8.d0*s4*gn31*x25 O *5% O *-----Pair production II: common part  O *s5 O p2ghrc= 2.d0*(gn30*w4-gn33*w1+gn35*w5+gn36*x26) A O p2ghic= 8.d0*(s2*gn30*x16+s6*gn30*x13-s6*gn35+s7*gn32*(p31-=D O # 0.5d0*p49)-s8*gn29*x25+0.5d0*s8*gn32*x25s+s9*gn32*x25*B O # (x14-0.5d0*x24)+s10*gn32*x25*(-x13+0.5d0*x23)+0.5d0*A O # s11*gn32*p31-0.5d0*s12*gn29*x25+0.5d0*s13*gn32*p15- O # 0.5d0*s14*gn *p4) O * & O *-----Pair production III: common part O *3C O p3ghrc= 2.d0*(-gn31*p16+gn34*p45+gn35*(p15+x25-x45)+gn36*x24)2% O p3ghic= 8.d0*s4*(gn35-gn31*x25)  O * % O *-----Pair production IV: common part* O * 6 O p4ghrc= 2.d0*(-gn30*w4+gn33*w1+gn35*w6+gn36*x23)5 O p4ghic= 8.d0*(-s2*gn30*x16+s2*gn35-s6*gn30*x13)* O **1 O if(otype.eq.'nc19'.or.otype.eq.'nc21') then5 O *6 O *-----helicity d)2 O * O # O *-----Bremsstrahlung I: common partx O *xE O b1drc= 2.d0*(gn3*(x13-x35)+gn6*x23*(-x14+x45)+gn10*(1.d0-x25))* O b1dic= 8.d0*(s1+s11)*gn6  O * $ O *-----Bremsstrahlung II: common part O **D O b2drc= gn1*p47-gn2*x26-gn3*(x23+x36)+gn4*(-u4+u7+u13-u16-u18-C O # u24+u25+p73)+gn5*(-u5+u7-u13+u16-u18+u24+w7)+gn6*p42+x0 O # gn7*(w6+w4)-gn8*w5+gn9*w5-gn10*x26D O b2dic= 4.d0*(s2*gn5*(x14+x46)-s2*gn7-s3*gn26*p21-s4*gn26*p20+F O # s5*gn4*x35-s5*gn5*x35+s5*gn26*p18+s7*gn4*x26+s7*gn5*x26+E O # s7*gn26*p17-s8*gn26*p15+s9*gn4*x24-s9*gn7-s11*gn26*p12-5C O # s12*gn1+s12*gn6+s12*gn28*x14-s14*gn4*x13+s14*gn5*x13)4 O *5% O *-----Bremsstrahlung III: common part6 O *4F O b3drc= 2.d0*(gn1*p20-gn2*x16+gn4*x36*w2-gn5*x23*w2-gn6*p13+gn8* O # w6-gn9*w4+gn10) E O b3dic= 8.d0*(-s1*gn5*x35+s1*gn6-s8*gn1+s8*gn4*x35-s11*gn5*x13-# O # s15*gn4*x13) O *x$ O *-----Bremsstrahlung IV: common part O * 6 O b4drc= 2.d0*(gn1*p47-gn2*x26-gn3*x23+2.d0*gn11)D O b4dic= 4.d0*(-s1*gn4*x56+s3*gn4*x45-s4*gn4*x36-s6*gn9+s7*gn4*B O # x26+s9*gn4*x24-s11*gn4*x16-2.d0*s12*gn1-s13*gn4*x14) O * " O *-----Multiperipheral: common part O * A O rmdrc= gn3*x36+gn5*(u5-u7+u13-u16+u18-u24-w7)-gn6*p42+gn7* 5 O # (-2.d0*w2-w4)+gn8*w5+gn10*x26+2.d0*gn11eH O rmdic= 4.d0*(-s2*gn5*x46+s5*gn5*x35-s7*gn5*x26-2.d0*s7*gn7+s9* & O # gn7-s12*gn6-s14*gn5*x13) O * " O *-----Two options accordind to x45 O *t O if(itr.eq.0) then O *  O *-----Fusion: common part  O * G O fdrc= 0.25d0*(gn1*(-2.d0*p20+p47)+gn2*(2.d0*x16-x26)+gn3*(2.d0* C O # x13-x23-2.d0*x35+x36)+gn4*(u4-u7-2.d0*u8-u13+u16+u18+eD O # 2.d0*u19+u24-u25-p73)+gn5*(2.d0*u3+u5-u7-2.d0*u12+u13-B O # u16+u18-u24-w7)+gn6*(2.d0*p41-p42)+gn7*(-w6-w4)+gn8*B O # (-2.d0*w6+w5)+gn9*(2.d0*w4-w5)+gn10*(-2.d0*x25+x26)+ O # 4.d0*gn11)9 O fdic= -2.d0*s1*gn6+s3*gn4*x45+s4*gn5*w12-s4*gn10/2E O # x45-s5*gn4*x35-s6*gn9+s7*gn3/x45-s7*gn4*(x26+2.d0*x36)+ 3 O # s7*gn5*(w15+x23+w13)+s7*gn7*(x35/x45-3F O # x56/x45)-s7*gn8*x25/x45+2.d0*s8*gn1-2.d0*s9*gn9+s11*gn4*= O # x16-s11*gn5*w12+2.d0*s11*gn6+s11*gn10/x45-2.d0* < O # s12*gn1-2.d0*s12*gn6+s14*gn5*w12-s14*gn10/x45+ O # s15*gn4  O fphr= 1.d0 O fphi= 0.d0 O else  O * D O fdic= s1*gnn2*x56*(x23-x26)+s1*gnn3*x56*(-w6-p15+w5+x45)+s1*E O # gnn5*x56-s2*gnn2*w3+s2*gnn3*(u5-u7-u13+u16-u18+u24-u26+ H O # p67+w7)+s2*gnn4*(p11+p34)-s2*gnn5*x36+s4*gnn2*(p40-w3-p60+E O # x36)+s4*gnn3*(-p4*x36+u5-u7-u13-u18+u24-u26+w5*x36+p67+ O ( O # p69+p71)+s4*gnn4*(p11+p34) O fdic= fdic+ F O # s5*gnn2*x35*(-x23+x26-2.d0)+s5*gnn3*x35*(w6+p15-w5-x45)-G O # s5*gnn5*x35+s6*gnn2*(-w3+x34)+s6*gnn3*(x13*w10+x14*(-p43+tE O # p52-p57)+x16*w11+p67+w7)+s6*gnn4*(p11+p34-4.d0*x35)-s6* F O # gnn5*x36-2.d0*s7*gnn2*x26+2.d0*s8*gnn2*x25+s9*gnn4*(x25*E O # (-x13-x14+x16)-3.d0*x35+x45-x56)+s9*gnn5*(2.d0+x23+x24- $ O # x26)-4.d0*s10*gnn4*x35H O fdic= fdic- E O # 4.d0*s12*gnn2*x56+s13*gnn2*(-p13+p17)+s13*gnn3*(u1-u10- O G O # p18-p21+p22+x14s*x25)+s13*gnn5*(-4.d0-x14)+2.d0*s14*gnn2**C O # (x13+2.d0*x35-2.d0*x36)+s15*gnn2*(-2.d0-x23+x26)+s15*n+ O # gnn3*(w6+p15-w5-x45)-s15*gnn5  O fdic= fdic/2.d0  O * E O fdrc= gnn2*(x13*(2.d0*u28-x23*p61-u29-p49*x46+p62)+x14*(-u30- E O # x23*p57-x23*p63+x23s*x56-p49*x36+p59)+x15*(x23*p56+u39- E O # x23s*x46-x26s*x34)+x16*(-u31-u28-x23*p61+x23s*x45+2.d0* B O # u29)+x23*(-p67-p73-p76)+x25*(2.d0*p65-4.d0*p71+2.d0*7 O # p74)+x26*(p64+2.d0*p67+4.d0*p70-p71-p73))  O fdrc= fdrc+oG O # gnn3*(x13*(-p13*p55-u14*x35+2.d0*u14*x56+p16*x36-p29*p53- C O # p31*p61+p32*x34+p32*x46+2.d0*p41*x56-u33-u34-u35+u36-.C O # p61*x56+p4*p61-p5*x46)+x14*(2.d0*p29*p51-p29*p55-p31* A O # p57+p32*x36-3.d0*u40+p44+p51*x36-u41+3.d0*u37-p58)+ F O # x16*(u42-p41*x56-3.d0*x25*p64+2.d0*u33+3.d0*x25*p71-u34-B O # 2.d0*u36+p29*p53-p32*x34)+3.d0*u38-p68-x35*p73-3.d0*' O # p71*x56+x35s*x46+p73*x56)  O fdrc= fdrc+ @ O # gnn4*(x13*(-u27-w5*x56+p72+u6)+x16*(-4.d0*p51-p72-C O # x35s+u27)+4.d0*p72)+gnn5*(x13*(-p43-p52+2.d0*p57-p63+5B O # 4.d0*x56)+x15*(p40+p60-4.d0*x36)+x16*(-p39+2.d0*p43-D O # p52-p57+4.d0*x35)-4.d0*p43+4.d0*p52+4.d0*p67+p69+4.d0*" O # w7-4.d0*p72-x36*x56) O fdrc= fdrc/8.d0  O * " O afphr= 0.5d0*gnn6*(p67+w7) O afphi= 2.d0*s15*gnn6 O omfphr= 1.d0-afphr O tfphr= 1.d0-afphr*afphr  O if(afphi.lt.zrm) then O  O sfphi= -1.d0 " O else if(afphi.gt.zrm) then O sfphi= +1.d0 ' O else if(abs(afphi).lt.zrm) then  O sfphi= 0.d0 endif 2 O if(tfphr.gt.0.d0.and.omfphr.gt.1.d-6) then- O fphi= sfphi*sqrt(1.d0-afphr*afphr)( O fphr= afphr7 O else if(tfphr.gt.0.d0.and.omfphr.lt.1.d-6) then 6 O fphi= sfphi*sqrt(2.d0*omfphr)*(1.d0-0.25d0*+ O # omfphr*(1.d0+omfphr/8.d0))( O fphr= afphr O else O fphi= 0.d0  O fphr= 1.d0 endif O O O endif O *  O *-----helicity f), O * O # O *-----Bremsstrahlung I: common part. O *0@ O b1frc= 2.d0*(-gn48*x45-gn49*p15+gn50*x15+gn52*(1.d0+x25)+ O # gn54*x15) ! O b1fic= 8.d0*s4*(gn48-gn49)  O *i$ O *-----Bremsstrahlung II: common part O * ? O b2frc= 2.d0*(gn40*w3+gn41*w1-gn48*x46+gn50*x16+gn52*x26) 5 O b2fic= 8.d0*(-s1*gn40*x26-s5*gn40*x23+s5*gn48)  O * % O *-----Bremsstrahlung III: common part  O * F O b3frc= gn44*(w1+2.d0*w3)+gn45*(-u5+u13-u18-x15*p42+u23+u26-w8)+6 O # gn46*w4-gn49*p15+gn52-2.d0*gn53+gn54*x15G O b3fic= 4.d0*(-s3*gn44-s4*gn49-s7*gn45*x26+s10*gn45*x23+2.d0*s12* O - O # gn44-s12*gn45*x15+s13*gn45*x14)  O * $ O *-----Bremsstrahlung IV: common part O * G O b4frc= 2.d0*(gn40*w3+gn41*(p7-p30)-gn45*x25*w3+gn46*w9+gn48*x34- O ) O # gn49*p50-gn50*x13+gn54*x35) F O b4fic= 8.d0*(-s1*gn40*x26+s1*gn48-s5*gn40*x23-s11*gn45*x26+s11* O # gn49+s14*gn45*x23) O *s" O *-----Multiperipheral: common part O *= O rmfrc= 0.d0 O rmfic= 0.d0 O *s O *-----Fusion: common part  O * E O ffrc= 0.25d0*(gn44*(-w1-2.d0*w3)+gn45*(u5-u13+u18+u21-u23-u26- E O # 2.d0*u28+2.d0*u29+w8)+gn46*(-w4+2.d0*w9)+2.d0*gn48*(x34- D O # x45+x46)+gn49*(-p15-2.d0*p50)+2.d0*gn50*(-x13+x15-x16)+F O # gn52*(1.d0+2.d0*(x25-x26))+2.d0*gn53+gn54*(x15+2.d0*x35))G O ffic= s1*gn40*x56+2.d0*s1*gn48-s3*gn40*x45+s3*gn44+2.d0*s4*gn48-1F O # s4*gn49+s5*gn40*x35-2.d0*s5*gn48-s7*gn40*x26+s7*gn45*x26-F O # s9*gn41+s10*gn40*x23-s10*gn45*x23-2.d0*s11*gn45*x26+2.d0*G O # s11*gn49+s12*gn40*x15-2.d0*s12*gn44+s12*gn45*x15-s13*gn45* + O # x14+2.d0*s14*gn45*x23-s15*gn40  O * D O else if(otype.eq.'nc24'.or.otype.eq.'nc25'.or.otype.eq.'nc50'.7 O # or.otype.eq.'nc33'.or.otype.eq.'nc32'.or.g# O # otype.eq.'nc48') theng O b1frc= 0.d0 O b1fic= 0.d0 O b2frc= 0.d0 O b2fic= 0.d0 O b3frc= 0.d0 O b3fic= 0.d0 O b4frc= 0.d0 O b4fic= 0.d0 O rmfrc= 0.d0 O rmfic= 0.d0 O ffrc= 0.d0  O ffic= 0.d0p O b1drc= 0.d0 O b1dic= 0.d0 O b2drc= 0.d0 O b2dic= 0.d0 O b3drc= 0.d0 O b3dic= 0.d0 O b4drc= 0.d0 O b4dic= 0.d0 O rmdrc= 0.d0 O rmdic= 0.d0 O fdrc= 0.d0  O fdic= 0.d0g O endif  O * 1 O if(otype.eq.'nc48'.or.otype.eq.'nc50') theng O *= O *-----helicity i-j)  O * # O *-----Bremsstrahlung I: common part  O * ' O eb1ijic= -8.d0*(gn49*s4+gn70*s4)gB O eb1ijrc= 2.d0*(-gn49*p15-gn50+gn52+gn54*(x15-x25)+gn70*p24) O * $ O *-----Bremsstrahlung II: common part O * F O eb2ijic= 4.d0*(gn45*s1*x56+gn41*s3+gn49*s4+gn70*s4+gn45*s5*x35+C O # gn43*s7*x26-gn46*s9-gn43*s10*x23-gn43*s12*x15+gn45* O * O # s13*x14+gn46*s13+gn45*s15)E O eb2ijrc= gn41*w1+gn43*(u4-u5+u21-u23-u25+u26-w8)+gn44*w1+gn45*mH O # (-u5-u13+u18+u21-u23+u26+w8)+gn46*(w4-w9)+gn49*p15+gn50-- O # gn52+gn54*(-x15+x25)-gn70*p24h O * % O *-----Bremsstrahlung III: common part3 O * G O eb3ijic= 4.d0*(gn45*s1*x56-gn49*s4+gn45*s5*x35-gn46*s9+gn45*s13* O + O # x14+gn45*s15-2.d0*gn46*s15) C O eb3ijrc= gn44*w1+gn45*(-u5-u13+u18+u21-u23+u26+w8)+gn46*(w4-p9 O # 2.d0*w8)-gn49*p15+gn52-2.d0*gn53+gn54*x15  O * $ O *-----Bremsstrahlung IV: common part O * G O eb4ijic= 4.d0*(gn43*s1*x56-gn70*s4+gn43*s5*x35-gn43*s9*x24+gn46* + O # s13-gn43*s15+2.d0*gn46*s15) G O eb4ijrc= gn41*w1+gn43*(u4-u5+u21-u23-u25+u26-w8)+gn46*(-w9+2.d0* 4 O # w8)-gn50+2.d0*gn53-gn54*x25+gn70*p24 O *=$ O *-----Multiperipheral I: common part O *6D O em1ijic= 4.d0*(-gn45*s1*x56-gn49*s4-gn45*s5*x35+gn46*s9-gn45*/ O # s13*x14-gn45*s15+2.d0*gn46*s15)6E O em1ijrc= -gn44*w1+gn45*(u5+u13-u18-u21+x15*p56-u26-w8)+gn46*(--< O # w4+2.d0*w8)-gn49*p15+gn52-2.d0*gn53+gn54*x15 O * % O *-----Multiperipheral II: common part  O * ( O em2ijic= 8.d0*(-gn70*s7-gn70*s10)E O em2ijrc= 2.d0*(gn50*(-x13-x16)+gn54*(-x35-x56)+gn70*(p26+p28))7 O *1 O *-----helicity c-d)* O *5# O *-----Bremsstrahlung I: common part  O *)% O eb1cdic= 8.d0*(s1*gn6+s11*gn6)0D O eb1cdrc= 2.d0*(gn3*(-x13+x35)+gn6*(p13-p41)+gn10*(-1.d0+x25)) O *+$ O *-----Bremsstrahlung II: common part O *gF O eb2cdic= 4.d0*(s2*gn5*(x14+x46)-s2*gn7-s3*gn26*p21-s4*gn26*p20+D O # s5*gn4*x35-s5*gn5*x35+s5*gn26*p18+s7*gn4*x26+s7*gn5*G O # x26+s7*gn26*p17-s8*gn26*p15+s9*gn4*x24-s9*gn7-s11*gn26* E O # p12-s12*gn1+s12*gn6+s12*gn28*x14-s14*gn4*x13+s14*gn5*0 O # x13)F O eb2cdrc= -gn1*p47+gn2*x26+gn3*(x23+x36)+gn4*(u4-u7-u13+u16+u18+D O # u24-u25-p73)+gn5*(u5-u7+u13-u16+u18-u24-w7)-gn6*p42+3 O # gn7*(-w6-w4)+gn8*w5-gn9*w5+gn10*x26) O * O % O *-----Bremsstrahlung III: common part  O *-D O eb3cdic= 8.d0*(-s1*gn5*x35+s1*gn6-s8*gn1+s8*gn4*x35-s11*gn5*! O # x13-s15*gn4*x13)4C O eb3cdrc= 2.d0*(-gn1*p20+gn2*x16+gn4*(-u8+u19)+gn5*(u3-u12)+(, O # gn6*p13-gn8*w6+gn9*w4-gn10) O * O $ O *-----Bremsstrahlung IV: common part O *5G O eb4cdic= 4.d0*(-s1*gn4*x56+s3*gn4*x45-s4*gn4*x36-s6*gn9+s7*gn4**E O # x26+s9*gn4*x24-s11*gn4*x16-2.d0*s12*gn1-s13*gn4*x14)3: O eb4cdrc= 2.d0*(-gn1*p47+gn2*x26+gn3*x23-2.d0*gn11) O *c$ O *-----Multiperipheral I: common part O *)E O em1cdic= 4.d0*(-s2*gn5*x46+s5*gn5*x35-s7*gn5*x26-2.d0*s7*gn7+5, O # s9*gn7-s12*gn6-s14*gn5*x13)B O em1cdrc= -gn3*x36+gn5*(-u5+u7-u13+u16-u18+u24+w7)+gn6*p42+; O # gn7*(2.d0*w2+w4)-gn8*w5-gn10*x26-2.d0*gn11m O *p% O *-----Multiperipheral II: common part( O *10 O em2cdic= 8.d0*(-s7*gn4*x36+s8*gn1-s9*gn9)B O em2cdrc= 2.d0*(gn1*p20-gn2*x16-gn3*x13+gn4*(u8-u19)-gn9*w4) O *i O *-----helicity l-m)o O *r" O *-----Two options accordind to x45 O *  O if(itr.eq.0) then O * # O *-----Bremsstrahlung I: common part  O *1? O eb1lmic= 8.d0*(s1*gn6-s4*gn8*x25/x45-s7*gn3/x45-s7*gn5* / O # w15+s7*gn7*x25/x45-s11*gn3/x45)nC O eb1lmrc= 2.d0*(gn3*(-p18/x45+x23-p46/x45)+gn5*(-u1+w2+x14s* < O # p51/x45)+gn6*p13+gn7*(-p4+u15/x45)+gn8*w14-5 O # gn10*p15/x45+gn11*(x15/x45+x25/x45))6 O *9$ O *-----Bremsstrahlung II: common part O *5G O eb2lmic= 4.d0*(-2.d0*s1*gn26*p61+s3*gn4*x45+s3*gn26*p21-s4*gn4*)E O # x36+2.d0*s5*gn25-s5*gn26*p18-s6*gn27*x14+s7*gn4*x26+*H O # 2.d0*s7*gn5-s7*gn26*p17+s10*gn4*x23+s11*gn26*(p12-2.d0*7 O # p17)+s12*gn1-s13*gn4*x14+s15*gn26*x14) G O eb2lmrc= gn1*(p20+p47)+gn2*(-2.d0*x16-x26)-gn3*x23+gn4*(-u2-u4+ F O # u7+u11+u13-u16-u18-u24+u25+p73)+gn5*(u1-2.d0*p9+p18)-E O # gn6*p13+gn7*w6-gn9*w5+gn25*p17+gn26*(x13*p17*x45-u9*4B O # x45+u20+x14s*w9-x14s*p52)+gn27*(u10+2.d0*u14-p22- O # 2.d0*p61) O * % O *-----Bremsstrahlung III: common part- O **F O eb3lmic= 4.d0*(-s2*gn5*x14-s2*gn8+2.d0*s4*gn5*p18/x45+s4*gn27*E O # x36-s5*gn26*p18+ gn27*x34-2.d0*s7*gn3/x45+2.d0*s7*)E O # gn7*x35/x45-2.d0*s7*gn8*x25/x45-s7*gn26*p17+2.d0*s8*4E O # gn1-2.d0*s8*gn4*x35+s8*gn27*x25-s9*gn4*x14+2.d0*s11* D O # gn6*x14/x45+s12*gn25-s12*gn28*x14+s14*gn26*p1+2.d0*& O # s15*gn4*x13-s15*gn27)G O eb3lmrc= gn1*p20+gn2*(-2.d0*x16+x36)-2.d0*gn3*p18/x45+gn4*(-u2+ O G O # 2.d0*u8+u11-2.d0*u19)+gn5*(-u1-p18+2.d0*x14s*p51/x45)+ B O # gn6*p13+gn7*(-2.d0*p8+2.d0*p19/x45)+gn8*(p4-2.d0*F O # u15/x45+x35)-gn9*w4+gn10*(-2.d0*p15/x45-x23+2.d0*p50/F O # x45)+gn11*(2.d0*x15/x45-2.d0*x35/x45)+gn25*(p17-p56)+E O # gn26*(x13*p17*x45-u9*x45+u20+x14s*w9-x14s*p52)+gn27**: O # (-u7+u10-u13+u16+u18-p22+u24-u26+p67-p73) O *1$ O *-----Bremsstrahlung IV: common part O *#D O eb4lmic= 4.d0*(s1*gn4*x56-s1*gn27*x56+s4*gn8*(-2.d0*x25/x45+E O # 2.d0*x35/x45)-s4*gn27*x36+s5*gn27*(2.d0*x25-x35)-s6* C O # gn9-s7*gn4*x26+s7*gn7*(2.d0*x25/x45-2.d0*x35/x45)+2D O # s8*gn4*(-x25+2.d0*x35)-s9*gn9-s13*gn4*x14+s13*gn27*D O # x14-2.d0*s14*gn2/x45+s14*gn4*x13+2.d0*s14*gn25*x34/E O # x45-2.d0*s14*gn27+2.d0*s15*gn1*x24/x45-2.d0*s15*gn2/ / O # x45-2.d0*s15*gn4*x13+s15*gn27)-C O eb4lmrc= gn1*p47+gn2*(-x26-x36)+gn3*(x23-2.d0*p46/x45)+gn4* C O # (-u4+u7-2.d0*u8+u13-u16-u18+2.d0*u19-u24+u25+p73)+)A O # gn7*(-p4+2.d0*p8+2.d0*u15/x45-2.d0*p19/x45-x35)+ 9 O # gn8*(-p4+2.d0*u15/x45+2.d0*w14-x35)+gn9*2D O # (w4-w5)+gn10*(x23-2.d0*p50/x45)+gn11*(2.d0*x25/x45+B O # 2.d0*x35/x45)+gn25*p56+gn27*(u7+u13+2.d0*u14-u16-. O # u18-u24+u26-2.d0*p61-p67+p73) O *-$ O *-----Multiperipheral I: common part O * E O em1lmic= 8.d0*(-s4*gn8*(1.d0+1.d0/x45*x56)+s7*gn7*(1.d0+1.d0/f3 O # x45*x56)-s14*gn10/x45+s15*gn3/x45)pD O em1lmrc= 2.d0*(gn3*(-p71/x45+x36)+gn7*(-w2-p11+p18/x45*x56)+1 O # gn8*(-p15+x45+x56*w15)+gn10*w13)5 O *.% O *-----Multiperipheral II: common part  O * G O em2lmic= 4.d0*(s3*gn26*p21-s3*gn27*x45+s4*gn26*p20-s4*gn27*x36-3D O # 2.d0*s5*gn26*p9+2.d0*s7*gn4*(-x16+x36)-s7*gn27*x26+F O # s8*gn26*p15-s9*gn4*x14+s10*gn27*x23+s11*gn26*p12-s12*/ O # gn25+s13*gn27*x14+s14*gn26*p1)oF O em2lmrc= -gn1*p20+gn2*(2.d0*x16-x36)+gn4*(u2-2.d0*u8-u11+2.d0*G O # u19)+gn5*(-u1+2.d0*p9-p18)+gn6*p13-gn8*w6+gn9*w4-gn10*3C O # x23+gn25*(-p17+p56)+gn26*(-x13*p17*x45+u9*x45-u20-+D O # x14s*w9+x14s*p52)+gn27*(u7-u10+u13-u16-u18+p22-u24+ O # u26-p67+p73) O else O *0# O *-----Bremsstrahlung I: common partr O *2C O eb1lmic= 4.d0*(-s1*gnn3*p55-s2*gnn2*x46-s4*gnn3*p52+s5*x35* D O # (gnn2+gnn3*x25)-s7*gnn2*x26-s9*(gnn4*x25+gnn5)+s12*H O # gnn2*x15+s13*gnn3*p15+s14*(gnn2*x13-2.d0*gnn3*x35)+s15* O # gnn3*x25)C O eb1lmrc= gnn2*(x13*w10+x14*(w22-p57)-x15*w3+x16*w11-x25*w3+nA O # w21-p73)+gnn3*(p4*w10+p15*(w23+p52)+p31*w11+x25*1A O # (w8-p73)+2.d0*u36)+gnn4*(x25*w17-2.d0*p72)+gnn5*  O # (w24+w25) O *n$ O *-----Bremsstrahlung II: common part O *+E O eb2lmic= 4.d0*(s1*gnn2*x25*(-4.d0*x16-2.d0*x26)+2.d0*s2*gnn3*5G O # (u10+u14-x16*x45-p61)+2.d0*s2*gnn5*x16+s3*gnn2*x45+s3*xG O # gnn3*p53+s4*gnn2*(-2.d0*p29-2.d0*p37+x36)+s4*gnn3*x25*+F O # (-2.d0*p2-2.d0*p7+x36)+2.d0*s5*gnn2*p36-2.d0*s6*gnn5*H O # x23+s7*gnn3*p49+s8*gnn2*x25+2.d0*s9*gnn3*(-p15+x45)+s9*F O # gnn5-s10*gnn3*p36-s11*gnn2*x16+s12*gnn2*x25-s13*gnn3*" O # p15+s14*gnn2*x13)D O eb2lmrc= gnn2*(-x13*w10+x14*(-w9-p52)+x15*w3-x16*w11+x25*w3+E O # p67-w7)+gnn3*(x13*(x25*(2.d0*p22-w10)-2.d0*p75)+p15*.D O # (p43+p57-p52)-p31*w11+x25*(-w8+p73)-2.d0*u36)+gnn4*8 O # x25*w4+gnn5*(-p11+p27-p34-2.d0*p43+p52) O *3% O *-----Bremsstrahlung III: common part) O * O F O eb3lmic= 8.d0*x56*(s1*gnn2*x23-s2*(gnn3*x14+gnn4*x13)+s4*gnn3* O # p3-s7*gnn3)F O eb3lmrc= 2.d0*(gnn2*(-u13+p14*x56-u32+p67)+gnn3*(-x13*p13*p55+E O # u1*x56+u3*x56-p9*x56)+gnn4*(-x13*p72+x13s*p55)-gnn5*- O # x13*p43)  O *b$ O *-----Bremsstrahlung IV: common part O *2D O eb4lmic= 4.d0*(-s1*gnn2*p43+s1*gnn3*(u6-p55)-s2*gnn2*p42+s2*C O # gnn3*(-2.d0*u16+p54+2.d0*p73)+2.d0*s2*gnn5*x36+s3*4E O # gnn2*p41+s3*gnn3*(2.d0*u15-p70)-2.d0*s3*gnn5*x35+s4*gF O # gnn3*(p4*x36-p52-2.d0*p57-p69)+s5*gnn3*(-p4*x35+2.d0*G O # p51)+s7*gnn3*(p49+p57)+s9*gnn4*(p4-2.d0*x25)-s10*gnn2* D O # x23s-s10*gnn3*p39-2.d0*s11*gnn2*x36+s12*gnn2*(-x25+G O # x35)+s13*gnn3*(-u1+p15-p18)+2.d0*s13*gnn5+s14*gnn2*p3+sB O # s14*gnn3*(-p4+2.d0*p8-2.d0*x35)+s15*gnn2*x23+s15* O # gnn3*(-p4+x25))C O eb4lmrc= gnn2*(x13*(2.d0*u28+x26*w19)+p13*(w27-p43)-p23*w3+2E O # p29*w11+x23*(w28+2.d0*p71)+x34*(2.d0*p52-p57))+gnn3*p@ O # (u1*(w9+p52)-x13*p31*w11+p4*(w29+2.d0*p71)+u7*(@ O # +w6)-p6*x46+p18*(2.d0*p29*x25+w26+p57)+p34*w19+D O # x35*(-w29-p71))+gnn4*(x13*(x25*(-p34+2.d0*x56)-x56*C O # w6)+x35*(p34-2.d0*x56))+gnn5*(x13*(-w22+2.d0*p57)+-( O # x23*(w30-2.d0*x56)-p69) O *t$ O *-----Multiperipheral I: common part O *rG O em1lmic= 4.d0*(s1*(gnn2*p63-gnn3*p55*w16)+s2*gnn5*x46+s4*(gnn2*(C O # p60-gnn3*p52*w16)+s5*(-gnn2*p57+gnn3*p51*w16-gnn5*6G O # x35)+s8*gnn5*x25+s9*(-gnn4*x25*w16+gnn5*x26)+s10*gnn5*1E O # x23-s11*gnn5*x16+s13*(gnn2*(-p17+2.d0*x46)+gnn3*p15* O C O # w16-gnn5*x14)-2.d0*s14*gnn3*x35*w16+s15*(gnn2*x26+  O # gnn3*x25*w16))dB O em1lmrc= gnn2*(x13*(-p49*x46+p62)+x14*(x23*(-p54+p63)+x25*B O # (p56-p60)+p59)+p25*w3+x16*(-p36*x46-p37*x45+2.d0*A O # p49*x34)+x46*(-2.d0*p43+2.d0*p52)+x26*(w8-p73))+nC O # gnn3*(p1*x25*w32+p2*x25*w32+p12*x25*(w11-p43+w31)+*B O # p15*(w8-p73)+x14*(2.d0*p57*x45+x25*(-p13*x56-p17*F O # x35+p15*x36))+p31*(w8-p73)+x16*(2.d0*p57*x45+p30*p53-E O # p32*x34))+gnn4*(p4*(p22+p35)+p18*(p31-2.d0*x56)+p34*3D O # (-2.d0*x56+p31))+gnn5*(x13*(-p48-w32-p63)+x14*(p43-C O # 2.d0*p52+p57)+x15*(w3+p47+p60)+x16*(-w11-p46+w27)+n O # p67+w7) O *n% O *-----Multiperipheral II: common partn O *(E O em2lmic= 4.d0*(s1*gnn2*x56+2.d0*s2*(gnn3*x36*(-p15+x45)+gnn5*nD O # x36)+s3*(gnn3*x35*(2.d0*p15-x45)-2.d0*gnn5*x35)+s4*E O # (-gnn2*x36+gnn3*(2.d0*p11-p69))+s5*gnn2*x35+s7*gnn3**E O # p57-s9*gnn5-s10*gnn3*p39-2.d0*s11*gnn2*x36+s12*gnn2*p6 O # x35+s13*(gnn2*x14-gnn3*p18)+s15*gnn2)C O em2lmrc= gnn2*(x13*w10+x14*(-2.d0*p36*x36+p43+p52-p57)+x15* G O # (-p42+p56)+x16*w11+p39*x46+x34*(2.d0*p52-p57-x56)+w7)+2H O # gnn3*(p1*x25*(-2.d0*p57-2.d0*x56+2.d0*p52)+p4*(w7-p73)+F O # p9*(p57+2.d0*x56)+p18*(2.d0*p29*x25-p43-p52+p57)+p34*G O # (-p41-p50)+x35*(p67-w7))-gnn4*x35*w4+gnn5*(x13*(-2.d0*-E O # p52+2.d0*p57+x56)+x15*(2.d0*p40-x36)+x16*(-2.d0*p39+2 O # x35)-p69) O endif6 O *5 O *-----helicity e-f)  O * # O *-----Bremsstrahlung I: common part  O *2# O eb1efic= 8.d0*s4*(gn48-gn49)6A O eb1efrc= 2.d0*(gn48*x45+gn49*p15-gn50*x15-gn52*(1.d0+x25)-+ O # gn54*x15)  O * $ O *-----Bremsstrahlung II: common part O *17 O eb2efic= 8.d0*(-s1*gn40*x26-s5*gn40*x23+s5*gn48)2B O eb2efrc= 2.d0*(-gn40*w3-gn41*w1+gn48*x46-gn50*x16-gn52*x26) O *7% O *-----Bremsstrahlung III: common part  O * @ O eb3efic= 4.d0*(-s3*gn44-s4*gn49-s7*gn45*x26+s10*gn45*x23+8 O # 2.d0*s12*gn44-s12*gn45*x15+s13*gn45*x14)D O eb3efrc= gn44*(-w1-2.d0*w3)+gn45*(u5-u13+u18+u21-u23-u26+w8)-8 O # gn46*w4+gn49*p15-gn52+2.d0*gn53-gn54*x15 O *1$ O *-----Bremsstrahlung IV: common part O *p@ O eb4efic= 8.d0*(-s1*gn40*x26+s1*gn48-s5*gn40*x23-s11*gn45** O # x26+s11*gn49+s14*gn45*x23)C O eb4efrc= 2.d0*(-gn40*w3-gn41*w1+gn45*(u28-u29)-gn46*w9-gn48* O / O # x34+gn49*p50+gn50*x13-gn54*x35)( O *d$ O *-----Multiperipheral I: common part O *p? O em1efic= 4.d0*(s3*gn44-s4*gn49+s7*gn45*x26-s10*gn45*x23-18 O # 2.d0*s12*gn44+s12*gn45*x15-s13*gn45*x14)D O em1efrc= gn44*(w1+2.d0*w3)+gn45*(-u5+u13-u18-u21+u23+u26-w8)+8 O # gn46*w4+gn49*p15-gn52+2.d0*gn53-gn54*x15 O *h% O *-----Multiperipheral II: common part2 O **& O em2efic= 8.d0*(s1*gn48-s5*gn48)D O em2efrc= 2.d0*(gn48*(-x34-x46)+gn50*(x13+x16)+gn52*(x23+x26)) O * O else O eb1ijrc= 0.d0 O eb1ijic= 0.d0 O eb2ijrc= 0.d0 O eb2ijic= 0.d0 O eb3ijrc= 0.d0 O eb3ijic= 0.d0 O eb4ijrc= 0.d0 O eb4ijic= 0.d0 O em1ijrc= 0.d0 O em1ijic= 0.d0 O em2ijrc= 0.d0 O em2ijic= 0.d0 O eb1cdrc= 0.d0 O eb1cdic= 0.d0 O eb2cdrc= 0.d0 O eb2cdic= 0.d0 O eb3cdrc= 0.d0 O eb3cdic= 0.d0 O eb4cdrc= 0.d0 O eb4cdic= 0.d0 O em1cdrc= 0.d0 O em1cdic= 0.d0 O em2cdrc= 0.d0 O em2cdic= 0.d0 O eb1lmrc= 0.d0 O eb1lmic= 0.d0 O eb2lmrc= 0.d0 O eb2lmic= 0.d0 O eb3lmrc= 0.d0 O eb3lmic= 0.d0 O eb4lmrc= 0.d0 O eb4lmic= 0.d0 O em1lmrc= 0.d0 O em1lmic= 0.d0 O em2lmrc= 0.d0 O em2lmic= 0.d0 O eb1efrc= 0.d0 O eb1efic= 0.d0 O eb2efrc= 0.d0 O eb2efic= 0.d0 O eb3efrc= 0.d0 O eb3efic= 0.d0 O eb4efrc= 0.d0 O eb4efic= 0.d0 O em1efrc= 0.d0 O em1efic= 0.d0 O em2efrc= 0.d0 O em2efic= 0.d0 O endif5 O *.? O *-----complete diagrams, epsilon real and imag parts separated:6 O *0( O *-----compensating single Z propagators  O *g& O zpcfr= sp-rzm2/vv& O zmcfr= sm-rzm2/vv" O zpcfi= sp*szg" O zmcfi= sm*szg O * & O *-----Compensating double Z propagator O *c2 O ztcfr= zpcfr*zmcfr-sp*sm*szgs3 O ztcfi= zpcfr*zmcfi+zmcfr*zpcfiu O *p% O *-----All Conversion I/II gamma-gammac O *.: O cc1gg= -conc(1)/smtp/pn*corrgm*corrgp: O cc2gg= conc(1)/smtp/pnp*corrgm*corrgp O *3( O cc1ggr= cc1gg*ztcfr( O cc1ggi= cc1gg*ztcfi( O cc2ggr= cc2gg*ztcfr( O cc2ggi= cc2gg*ztcfi O *d* O c1aggr= cc1ggr*c1abrc, O c1aggre= -cc1ggi*c1abic+ O c1aggie= cc1ggr*c1abic * O c1aggi= cc1ggi*c1abrc O *7$ O c1bggr= -c1aggr% O c1bggre= c1aggre2% O c1bggie= c1aggie5$ O c1bggi= -c1aggi O * * O c1cggr= cc1ggr*c1cdrc, O c1cggre= -cc1ggi*c1cdic+ O c1cggie= cc1ggr*c1cdico* O c1cggi= cc1ggi*c1cdrc O * $ O c1dggr= -c1cggr% O c1dggre= c1cggreb% O c1dggie= c1cggieb$ O c1dggi= -c1cggi O *f* O c1eggr= cc1ggr*c1efrc, O c1eggre= -cc1ggi*c1efic+ O c1eggie= cc1ggr*c1efic * O c1eggi= cc1ggi*c1efrc O * $ O c1fggr= -c1eggr% O c1fggre= c1eggrec% O c1fggie= c1eggiec$ O c1fggi= -c1eggi O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O c2ezgre= -hbi(1)*c2efic+ O c2ezgie= hbr(1)*c2efic * O c2ezgi= hbi(1)*c2efrc O *++ O c2fzgr= -hbr(2)*c2efrcs, O c2fzgre= -hbi(2)*c2efic+ O c2fzgie= hbr(2)*c2eficn+ O c2fzgi= -hbi(2)*c2efrcw O * O * O c2gzgr= hbr(3)*c2ghrc, O c2gzgre= -hbi(3)*c2ghic+ O c2gzgie= hbr(3)*c2ghicg* O c2gzgi= hbi(3)*c2ghrc O *4+ O c2hzgr= -hbr(4)*c2ghrc , O c2hzgre= -hbi(4)*c2ghic+ O c2hzgie= hbr(4)*c2ghic + O c2hzgi= -hbi(4)*c2ghrc2 O ** O *-----All Conversion I/II Z-Zn O *- O do i=1,8u! O ip8= i+8+4 O hc(i)= -hch(ip8)*conc(5)/pn5 O hcp(i)= hch(ip8)*conc(5)/pnp4 O enddo O * ) O c1azzr= hc(1)*c1abrc6* O c1azzie= hc(1)*c1abic O * * O c1bzzr= -hc(2)*c1abrc* O c1bzzie= hc(2)*c1abic O *-) O c1czzr= hc(7)*c1cdrc * O c1czzie= hc(7)*c1cdic O *p* O c1dzzr= -hc(8)*c1cdrc* O c1dzzie= hc(8)*c1cdic O *+) O c1ezzr= hc(3)*c1efrc1* O c1ezzie= hc(3)*c1efic O * * O c1fzzr= -hc(4)*c1efrc* O c1fzzie= hc(4)*c1efic O * ) O c1gzzr= hc(5)*c1ghrc** O c1gzzie= hc(5)*c1ghic O *3* O c1hzzr= -hc(6)*c1ghrc* O c1hzzie= hc(6)*c1ghic O *2* O c2azzr= hcp(1)*c2abrc+ O c2azzie= hcp(1)*c2abic# O * + O c2bzzr= -hcp(2)*c2abrc.+ O c2bzzie= hcp(2)*c2abic. O *x* O c2czzr= hcp(7)*c2cdrc+ O c2czzie= hcp(7)*c2cdict O *r+ O c2dzzr= -hcp(8)*c2cdrc4+ O c2dzzie= hcp(8)*c2cdic4 O *n* O c2ezzr= hcp(3)*c2efrc+ O c2ezzie= hcp(3)*c2efic  O *x+ O c2fzzr= -hcp(4)*c2efrc1+ O c2fzzie= hcp(4)*c2efic1 O *g* O c2gzzr= hcp(5)*c2ghrc+ O c2gzzie= hcp(5)*c2ghic( O *2+ O c2hzzr= -hcp(6)*c2ghrc + O c2hzzie= hcp(6)*c2ghic3 O *p O *-----All PP1-PP2 gamma-gamma( O *-5 O cp12gg= conc(6)/sm*corrgs*corrgm / O cp1ggr= -cp12gg/pfpb*ztcfrp/ O cp1ggi= -cp12gg/pfpb*ztcfiw- O cp2ggr= cp12gg/pfp*ztcfr5- O cp2ggi= cp12gg/pfp*ztcfi O  O * * O p1aggr= cp1ggr*p1abrc, O p1aggre= -cp1ggi*p1abic+ O p1aggie= cp1ggr*p1abic4* O p1aggi= cp1ggi*p1abrc O **$ O p1bggr= -p1aggr% O p1bggre= p1aggre*% O p1bggie= p1aggiew$ O p1bggi= -p1aggi O *p* O p1cggr= cp1ggr*p1cdrc, O p1cggre= -cp1ggi*p1cdic+ O p1cggie= cp1ggr*p1cdic0* O p1cggi= cp1ggi*p1cdrc O *3$ O p1dggr= -p1cggr% O p1dggre= p1cggre*% O p1dggie= p1cggie#$ O p1dggi= -p1cggi O *5* O p1eggr= cp1ggr*p1efrc, O p1eggre= -cp1ggi*p1efic+ O p1eggie= cp1ggr*p1efic-* O p1eggi= cp1ggi*p1efrc O *-$ O p1fggr= -p1eggr% O p1fggre= p1eggrep% O p1fggie= p1eggie $ O p1fggi= -p1eggi O *4* O p1gggr= cp1ggr*p1ghrc, O p1gggre= -cp1ggi*p1ghic+ O p1gggie= cp1ggr*p1ghicn* O p1gggi= cp1ggi*p1ghrc O *s$ O p1hggr= -p1gggr% O p1hggre= p1gggre1% O p1hggie= p1gggieg$ O p1hggi= -p1gggi O *5* O p2aggr= cp2ggr*p2abrc, O p2aggre= -cp2ggi*p2abic+ O p2aggie= cp2ggr*p2abic*+ O p2aggi= -cp2ggi*p2abrc- O *-$ O p2bggr= -p2aggr% O p2bggre= p2aggres% O p2bggie= p2aggie $ O p2bggi= -p2aggi O *)* O p2cggr= cp2ggr*p2cdrc, O p2cggre= -cp2ggi*p2cdic+ O p2cggie= cp2ggr*p2cdic-* O p2cggi= cp2ggi*p2cdrc O *e$ O p2dggr= -p2cggr% O p2dggre= p2cggre+% O p2dggie= p2cggie $ O p2dggi= -p2cggi O *6* O p2eggr= cp2ggr*p2efrc, O p2eggre= -cp2ggi*p2efic+ O p2eggie= cp2ggr*p2efic4* O p2eggi= cp2ggi*p2efrc O * $ O p2fggr= -p2eggr% O p2fggre= p2eggre*% O p2fggie= p2eggie O $ O p2fggi= -p2eggi O *0* O p2gggr= cp2ggr*p2ghrc, O p2gggre= -cp2ggi*p2ghic+ O p2gggie= cp2ggr*p2ghic4* O p2gggi= cp2ggi*p2ghrc O * $ O p2hggr= -p2gggr% O p2hggre= p2gggre % O p2hggie= p2gggie $ O p2hggi= -p2gggi O * O  O *-----All PP1 gamma-Z  O * 0 O cp1gz= -conc(3)/pfpb*corrgs O *  O do i=1,4 # O ip16= i+1606 O hdr(i)= hch(ip16)*cp1gz*zpcfr6 O hdi(i)= hch(ip16)*cp1gz*zpcfi O enddo O *1* O p1agzr= hdr(3)*p1abrc, O p1agzre= -hdi(3)*p1abic+ O p1agzie= hdr(3)*p1abicc* O p1agzi= hdi(3)*p1abrc O *.+ O p1bgzr= -hdr(4)*p1abrc0, O p1bgzre= -hdi(4)*p1abic+ O p1bgzie= hdr(4)*p1abic + O p1bgzi= -hdi(4)*p1abrc  O *e* O p1cgzr= hdr(4)*p1cdrc, O p1cgzre= -hdi(4)*p1cdic+ O p1cgzie= hdr(4)*p1cdicf* O p1cgzi= hdi(4)*p1cdrc O * + O p1dgzr= -hdr(3)*p1cdrc., O p1dgzre= -hdi(3)*p1cdic+ O p1dgzie= hdr(3)*p1cdic O + O p1dgzi= -hdi(3)*p1cdrc O  O * * O p1egzr= hdr(2)*p1efrc, O p1egzre= -hdi(2)*p1efic+ O p1egzie= hdr(2)*p1eficc* O p1egzi= hdi(2)*p1efrc O * + O p1fgzr= -hdr(1)*p1efrc*, O p1fgzre= -hdi(1)*p1efic+ O p1fgzie= hdr(1)*p1eficr+ O p1fgzi= -hdi(1)*p1efrc  O *c* O p1ggzr= hdr(1)*p1ghrc, O p1ggzre= -hdi(1)*p1ghic+ O p1ggzie= hdr(1)*p1ghicg* O p1ggzi= hdi(1)*p1ghrc O *i+ O p1hgzr= -hdr(2)*p1ghrc , O p1hgzre= -hdi(2)*p1ghic+ O p1hgzie= hdr(2)*p1ghic + O p1hgzi= -hdi(2)*p1ghrc  O *  O *-----All PP2 gamma-Zc O *r. O cp2gz= conc(3)/pfp*corrgs O *c O do i=1,4g# O ip16= i+16g6 O her(i)= hch(ip16)*cp2gz*zpcfr6 O hei(i)= hch(ip16)*cp2gz*zpcfi O enddo O * * O p2agzr= her(3)*p2abrc, O p2agzre= -hei(3)*p2abic+ O p2agzie= her(3)*p2abic O * O p2agzi= hei(3)*p2abrc O * + O p2bgzr= -her(4)*p2abrc , O p2bgzre= -hei(4)*p2abic+ O p2bgzie= her(4)*p2abicg+ O p2bgzi= -hei(4)*p2abrce O *c* O p2cgzr= her(4)*p2cdrc, O p2cgzre= -hei(4)*p2cdic+ O p2cgzie= her(4)*p2cdic=* O p2cgzi= hei(4)*p2cdrc O *c+ O p2dgzr= -her(3)*p2cdrc , O p2dgzre= -hei(3)*p2cdic+ O p2dgzie= her(3)*p2cdic + O p2dgzi= -hei(3)*p2cdrc  O * * O p2egzr= her(2)*p2efrc, O p2egzre= -hei(2)*p2efic+ O p2egzie= her(2)*p2efic * O p2egzi= hei(2)*p2efrc O *g+ O p2fgzr= -her(1)*p2efrc1, O p2fgzre= -hei(1)*p2efic+ O p2fgzie= her(1)*p2efic*+ O p2fgzi= -hei(1)*p2efrcc O *i* O p2ggzr= her(1)*p2ghrc, O p2ggzre= -hei(1)*p2ghic+ O p2ggzie= her(1)*p2ghic * O p2ggzi= hei(1)*p2ghrc O * + O p2hgzr= -her(2)*p2ghrc , O p2hgzre= -hei(2)*p2ghic+ O p2hgzie= her(2)*p2ghic + O p2hgzi= -hei(2)*p2ghrc  O *c O *-----All PP1 Z-gamma O  O * 2 O cp1zg= conc(4)/sm/pfpb*corrgm O *c O do i=1,4 ! O ip4= i+4 5 O hfr(i)= hch(ip4)*cp1zg*ztcfre5 O hfi(i)= hch(ip4)*cp1zg*ztcfig O enddo O * O + O ap1azgr= hfr(1)*p1abrc.- O ap1azgre= -hfi(1)*p1abic , O ap1azgie= hfr(1)*p1abic+ O ap1azgi= hfi(1)*p1abrc 5 O p1azgr= ap1azgr*rsz-ap1azgi*aiszg8 O p1azgre= ap1azgre*rsz-ap1azgie*aisz8 O p1azgie= ap1azgie*rsz+ap1azgre*aisz5 O p1azgi= ap1azgi*rsz+ap1azgr*aiszc O *g, O ap1bzgr= -hfr(2)*p1abrc- O ap1bzgre= -hfi(2)*p1abic , O ap1bzgie= hfr(2)*p1abic, O ap1bzgi= -hfi(2)*p1abrc5 O p1bzgr= ap1bzgr*rsz-ap1bzgi*aisz 8 O p1bzgre= ap1bzgre*rsz-ap1bzgie*aisz8 O p1bzgie= ap1bzgie*rsz+ap1bzgre*aisz5 O p1bzgi= ap1bzgi*rsz+ap1bzgr*aisz  O *c+ O ap1czgr= hfr(3)*p1cdrca- O ap1czgre= -hfi(3)*p1cdicz, O ap1czgie= hfr(3)*p1cdic+ O ap1czgi= hfi(3)*p1cdrcb5 O p1czgr= ap1czgr*rsz-ap1czgi*aiszi8 O p1czgre= ap1czgre*rsz-ap1czgie*aisz8 O p1czgie= ap1czgie*rsz+ap1czgre*aisz5 O p1czgi= ap1czgi*rsz+ap1czgr*aisz  O *c, O ap1dzgr= -hfr(4)*p1cdrc- O ap1dzgre= -hfi(4)*p1cdicz, O ap1dzgie= hfr(4)*p1cdic, O ap1dzgi= -hfi(4)*p1cdrc5 O p1dzgr= ap1dzgr*rsz-ap1dzgi*aisz(8 O p1dzgre= ap1dzgre*rsz-ap1dzgie*aisz8 O p1dzgie= ap1dzgie*rsz+ap1dzgre*aisz5 O p1dzgi= ap1dzgi*rsz+ap1dzgr*aisz  O *e+ O ap1ezgr= hfr(3)*p1efrce- O ap1ezgre= -hfi(3)*p1eficf, O ap1ezgie= hfr(3)*p1efic+ O ap1ezgi= hfi(3)*p1efrcf5 O p1ezgr= ap1ezgr*rsz-ap1ezgi*aisz(8 O p1ezgre= ap1ezgre*rsz-ap1ezgie*aisz8 O p1ezgie= ap1ezgie*rsz+ap1ezgre*aisz5 O p1ezgi= ap1ezgi*rsz+ap1ezgr*aisz  O *g, O ap1fzgr= -hfr(4)*p1efrc- O ap1fzgre= -hfi(4)*p1efich, O ap1fzgie= hfr(4)*p1efic, O ap1fzgi= -hfi(4)*p1efrc5 O p1fzgr= ap1fzgr*rsz-ap1fzgi*aisz-8 O p1fzgre= ap1fzgre*rsz-ap1fzgie*aisz8 O p1fzgie= ap1fzgie*rsz+ap1fzgre*aisz5 O p1fzgi= ap1fzgi*rsz+ap1fzgr*aiszp O *c+ O ap1gzgr= hfr(1)*p1ghrc - O ap1gzgre= -hfi(1)*p1ghico, O ap1gzgie= hfr(1)*p1ghic+ O ap1gzgi= hfi(1)*p1ghrcc5 O p1gzgr= ap1gzgr*rsz-ap1gzgi*aisz 8 O p1gzgre= ap1gzgre*rsz-ap1gzgie*aisz8 O p1gzgie= ap1gzgie*rsz+ap1gzgre*aisz5 O p1gzgi= ap1gzgi*rsz+ap1gzgr*aisz  O *r, O ap1hzgr= -hfr(2)*p1ghrc- O ap1hzgre= -hfi(2)*p1ghicp, O ap1hzgie= hfr(2)*p1ghic, O ap1hzgi= -hfi(2)*p1ghrc5 O p1hzgr= ap1hzgr*rsz-ap1hzgi*aiszc8 O p1hzgre= ap1hzgre*rsz-ap1hzgie*aisz8 O p1hzgie= ap1hzgie*rsz+ap1hzgre*aisz5 O p1hzgi= ap1hzgi*rsz+ap1hzgr*aiszc O *z O *-----All PP2 Z-gamma O  O * 2 O cp2zg= -conc(4)/sm/pfp*corrgm O *  O do i=1,4.! O ip4= i+4r5 O hgr(i)= hch(ip4)*cp2zg*ztcfrd5 O hgi(i)= hch(ip4)*cp2zg*ztcfi  O enddo O * + O ap2azgr= hgr(1)*p2abrc - O ap2azgre= -hgi(1)*p2abic , O ap2azgie= hgr(1)*p2abic+ O ap2azgi= hgi(1)*p2abrc 5 O p2azgr= ap2azgr*rsz-ap2azgi*aisz 8 O p2azgre= ap2azgre*rsz-ap2azgie*aisz8 O p2azgie= ap2azgie*rsz+ap2azgre*aisz5 O p2azgi= ap2azgi*rsz+ap2azgr*aisz O  O * , O ap2bzgr= -hgr(2)*p2abrc- O ap2bzgre= -hgi(2)*p2abic , O ap2bzgie= hgr(2)*p2abic, O ap2bzgi= -hgi(2)*p2abrc5 O p2bzgr= ap2bzgr*rsz-ap2bzgi*aisz(8 O p2bzgre= ap2bzgre*rsz-ap2bzgie*aisz8 O p2bzgie= ap2bzgie*rsz+ap2bzgre*aisz5 O p2bzgi= ap2bzgi*rsz+ap2bzgr*aisz  O *a+ O ap2czgr= hgr(3)*p2cdrcc- O ap2czgre= -hgi(3)*p2cdica, O ap2czgie= hgr(3)*p2cdic+ O ap2czgi= hgi(3)*p2cdrc 5 O p2czgr= ap2czgr*rsz-ap2czgi*aisze8 O p2czgre= ap2czgre*rsz-ap2czgie*aisz8 O p2czgie= ap2czgie*rsz+ap2czgre*aisz5 O p2czgi= ap2czgi*rsz+ap2czgr*aisz  O * , O ap2dzgr= -hgr(4)*p2cdrc- O ap2dzgre= -hgi(4)*p2cdic , O ap2dzgie= hgr(4)*p2cdic, O ap2dzgi= -hgi(4)*p2cdrc5 O p2dzgr= ap2dzgr*rsz-ap2dzgi*aisz 8 O p2dzgre= ap2dzgre*rsz-ap2dzgie*aisz8 O p2dzgie= ap2dzgie*rsz+ap2dzgre*aisz5 O p2dzgi= ap2dzgi*rsz+ap2dzgr*aisz  O * + O ap2ezgr= hgr(3)*p2efrc - O ap2ezgre= -hgi(3)*p2efic , O ap2ezgie= hgr(3)*p2efic+ O ap2ezgi= hgi(3)*p2efrc 5 O p2ezgr= ap2ezgr*rsz-ap2ezgi*aisz 8 O p2ezgre= ap2ezgre*rsz-ap2ezgie*aisz8 O p2ezgie= ap2ezgie*rsz+ap2ezgre*aisz5 O p2ezgi= ap2ezgi*rsz+ap2ezgr*aiszg O *7, O ap2fzgr= -hgr(4)*p2efrc- O ap2fzgre= -hgi(4)*p2eficg, O ap2fzgie= hgr(4)*p2efic, O ap2fzgi= -hgi(4)*p2efrc5 O p2fzgr= ap2fzgr*rsz-ap2fzgi*aisz 8 O p2fzgre= ap2fzgre*rsz-ap2fzgie*aisz8 O p2fzgie= ap2fzgie*rsz+ap2fzgre*aisz5 O p2fzgi= ap2fzgi*rsz+ap2fzgr*aiszi O *c+ O ap2gzgr= hgr(1)*p2ghrc - O ap2gzgre= -hgi(1)*p2ghic , O ap2gzgie= hgr(1)*p2ghic+ O ap2gzgi= hgi(1)*p2ghrc 5 O p2gzgr= ap2gzgr*rsz-ap2gzgi*aisz 8 O p2gzgre= ap2gzgre*rsz-ap2gzgie*aisz8 O p2gzgie= ap2gzgie*rsz+ap2gzgre*aisz5 O p2gzgi= ap2gzgi*rsz+ap2gzgr*aisz  O * , O ap2hzgr= -hgr(2)*p2ghrc- O ap2hzgre= -hgi(2)*p2ghic , O ap2hzgie= hgr(2)*p2ghic, O ap2hzgi= -hgi(2)*p2ghrc5 O p2hzgr= ap2hzgr*rsz-ap2hzgi*aisz 8 O p2hzgre= ap2hzgre*rsz-ap2hzgie*aisz8 O p2hzgie= ap2hzgie*rsz+ap2hzgre*aisz5 O p2hzgi= ap2hzgi*rsz+ap2hzgr*aisz O  O *  O *-----All PP1 Z-Ze O *e( O cp1zz= conc(5)/pfpb O *e O do i=1,8 # O ip20= i+20 6 O hhr(i)= hch(ip20)*cp1zz*zpcfr6 O hhi(i)= hch(ip20)*cp1zz*zpcfi O enddo O * + O ap1azzr= hhr(3)*p1abrc - O ap1azzre= -hhi(3)*p1abic , O ap1azzie= hhr(3)*p1abic+ O ap1azzi= hhi(3)*p1abrc 5 O p1azzr= ap1azzr*rsz-ap1azzi*aisz 8 O p1azzre= ap1azzre*rsz-ap1azzie*aisz8 O p1azzie= ap1azzie*rsz+ap1azzre*aisz5 O p1azzi= ap1azzi*rsz+ap1azzr*aisz- O *-, O ap1bzzr= -hhr(4)*p1abrc- O ap1bzzre= -hhi(4)*p1abic+, O ap1bzzie= hhr(4)*p1abic, O ap1bzzi= -hhi(4)*p1abrc5 O p1bzzr= ap1bzzr*rsz-ap1bzzi*aisz 8 O p1bzzre= ap1bzzre*rsz-ap1bzzie*aisz8 O p1bzzie= ap1bzzie*rsz+ap1bzzre*aisz5 O p1bzzi= ap1bzzi*rsz+ap1bzzr*aisz  O *2+ O ap1czzr= hhr(5)*p1cdrc(- O ap1czzre= -hhi(5)*p1cdic*, O ap1czzie= hhr(5)*p1cdic+ O ap1czzi= hhi(5)*p1cdrc*5 O p1czzr= ap1czzr*rsz-ap1czzi*aisz O 8 O p1czzre= ap1czzre*rsz-ap1czzie*aisz8 O p1czzie= ap1czzie*rsz+ap1czzre*aisz5 O p1czzi= ap1czzi*rsz+ap1czzr*aisz( O *c, O ap1dzzr= -hhr(6)*p1cdrc- O ap1dzzre= -hhi(6)*p1cdic1, O ap1dzzie= hhr(6)*p1cdic, O ap1dzzi= -hhi(6)*p1cdrc5 O p1dzzr= ap1dzzr*rsz-ap1dzzi*aisz O 8 O p1dzzre= ap1dzzre*rsz-ap1dzzie*aisz8 O p1dzzie= ap1dzzie*rsz+ap1dzzre*aisz5 O p1dzzi= ap1dzzi*rsz+ap1dzzr*aiszc O *)+ O ap1ezzr= hhr(8)*p1efrcc- O ap1ezzre= -hhi(8)*p1efic(, O ap1ezzie= hhr(8)*p1efic+ O ap1ezzi= hhi(8)*p1efrcc5 O p1ezzr= ap1ezzr*rsz-ap1ezzi*aiszc8 O p1ezzre= ap1ezzre*rsz-ap1ezzie*aisz8 O p1ezzie= ap1ezzie*rsz+ap1ezzre*aisz5 O p1ezzi= ap1ezzi*rsz+ap1ezzr*aisz  O *h, O ap1fzzr= -hhr(7)*p1efrc- O ap1fzzre= -hhi(7)*p1eficm, O ap1fzzie= hhr(7)*p1efic, O ap1fzzi= -hhi(7)*p1efrc5 O p1fzzr= ap1fzzr*rsz-ap1fzzi*aisz=8 O p1fzzre= ap1fzzre*rsz-ap1fzzie*aisz8 O p1fzzie= ap1fzzie*rsz+ap1fzzre*aisz5 O p1fzzi= ap1fzzi*rsz+ap1fzzr*aisz  O * + O ap1gzzr= hhr(1)*p1ghrc - O ap1gzzre= -hhi(1)*p1ghic , O ap1gzzie= hhr(1)*p1ghic+ O ap1gzzi= hhi(1)*p1ghrc 5 O p1gzzr= ap1gzzr*rsz-ap1gzzi*aiszg8 O p1gzzre= ap1gzzre*rsz-ap1gzzie*aisz8 O p1gzzie= ap1gzzie*rsz+ap1gzzre*aisz5 O p1gzzi= ap1gzzi*rsz+ap1gzzr*aiszg O *p, O ap1hzzr= -hhr(2)*p1ghrc- O ap1hzzre= -hhi(2)*p1ghic O , O ap1hzzie= hhr(2)*p1ghic, O ap1hzzi= -hhi(2)*p1ghrc5 O p1hzzr= ap1hzzr*rsz-ap1hzzi*aiszg8 O p1hzzre= ap1hzzre*rsz-ap1hzzie*aisz8 O p1hzzie= ap1hzzie*rsz+ap1hzzre*aisz5 O p1hzzi= ap1hzzi*rsz+ap1hzzr*aisz  O *  O *-----All PP2 Z-Z O  O * ( O cp2zz= -conc(5)/pfp O *  O do i=1,8 # O ip20= i+2046 O hir(i)= hch(ip20)*cp2zz*zpcfr6 O hii(i)= hch(ip20)*cp2zz*zpcfi O enddo O * + O ap2azzr= hir(3)*p2abrc - O ap2azzre= -hii(3)*p2abic , O ap2azzie= hir(3)*p2abic+ O ap2azzi= hii(3)*p2abrcg5 O p2azzr= ap2azzr*rsz-ap2azzi*aiszb8 O p2azzre= ap2azzre*rsz-ap2azzie*aisz8 O p2azzie= ap2azzie*rsz+ap2azzre*aisz5 O p2azzi= ap2azzi*rsz+ap2azzr*aiszg O *-, O ap2bzzr= -hir(4)*p2abrc- O ap2bzzre= -hii(4)*p2abic , O ap2bzzie= hir(4)*p2abic, O ap2bzzi= -hii(4)*p2abrc5 O p2bzzr= ap2bzzr*rsz-ap2bzzi*aiszp8 O p2bzzre= ap2bzzre*rsz-ap2bzzie*aisz8 O p2bzzie= ap2bzzie*rsz+ap2bzzre*aisz5 O p2bzzi= ap2bzzi*rsz+ap2bzzr*aiszp O *g+ O ap2czzr= hir(5)*p2cdrc2- O ap2czzre= -hii(5)*p2cdic2, O ap2czzie= hir(5)*p2cdic+ O ap2czzi= hii(5)*p2cdrce5 O p2czzr= ap2czzr*rsz-ap2czzi*aisz 8 O p2czzre= ap2czzre*rsz-ap2czzie*aisz8 O p2czzie= ap2czzie*rsz+ap2czzre*aisz5 O p2czzi= ap2czzi*rsz+ap2czzr*aisz  O * , O ap2dzzr= -hir(6)*p2cdrc- O ap2dzzre= -hii(6)*p2cdicp, O ap2dzzie= hir(6)*p2cdic, O ap2dzzi= -hii(6)*p2cdrc5 O p2dzzr= ap2dzzr*rsz-ap2dzzi*aisz 8 O p2dzzre= ap2dzzre*rsz-ap2dzzie*aisz8 O p2dzzie= ap2dzzie*rsz+ap2dzzre*aisz5 O p2dzzi= ap2dzzi*rsz+ap2dzzr*aisz  O * + O ap2ezzr= hir(8)*p2efrc - O ap2ezzre= -hii(8)*p2efich, O ap2ezzie= hir(8)*p2efic+ O ap2ezzi= hii(8)*p2efrc 5 O p2ezzr= ap2ezzr*rsz-ap2ezzi*aisz18 O p2ezzre= ap2ezzre*rsz-ap2ezzie*aisz8 O p2ezzie= ap2ezzie*rsz+ap2ezzre*aisz5 O p2ezzi= ap2ezzi*rsz+ap2ezzr*aiszz O *-, O ap2fzzr= -hir(7)*p2efrc- O ap2fzzre= -hii(7)*p2eficd, O ap2fzzie= hir(7)*p2efic, O ap2fzzi= -hii(7)*p2efrc5 O p2fzzr= ap2fzzr*rsz-ap2fzzi*aisz18 O p2fzzre= ap2fzzre*rsz-ap2fzzie*aisz8 O p2fzzie= ap2fzzie*rsz+ap2fzzre*aisz5 O p2fzzi= ap2fzzi*rsz+ap2fzzr*aiszz O * + O ap2gzzr= hir(1)*p2ghrc - O ap2gzzre= -hii(1)*p2ghicd, O ap2gzzie= hir(1)*p2ghic+ O ap2gzzi= hii(1)*p2ghrc 5 O p2gzzr= ap2gzzr*rsz-ap2gzzi*aisze8 O p2gzzre= ap2gzzre*rsz-ap2gzzie*aisz8 O p2gzzie= ap2gzzie*rsz+ap2gzzre*aisz5 O p2gzzi= ap2gzzi*rsz+ap2gzzr*aiszz O * , O ap2hzzr= -hir(2)*p2ghrc- O ap2hzzre= -hii(2)*p2ghic=, O ap2hzzie= hir(2)*p2ghic, O ap2hzzi= -hii(2)*p2ghrc5 O p2hzzr= ap2hzzr*rsz-ap2hzzi*aiszh8 O p2hzzre= ap2hzzre*rsz-ap2hzzie*aisz8 O p2hzzie= ap2hzzie*rsz+ap2hzzre*aisz5 O p2hzzi= ap2hzzi*rsz+ap2hzzr*aiszz O *- O *-----All PP3-PP4 gamma-gammaP O *a5 O cp34gg= conc(7)/sp*corrgs*corrgpr, O cp3ggr= cp34gg/pf*ztcfr, O cp3ggi= cp34gg/pf*ztcfi. O cp4ggr= -cp34gg/pfb*ztcfr. O cp4ggi= -cp34gg/pfb*ztcfi O * * O p3aggr= cp3ggr*p3abrc, O p3aggre= -cp3ggi*p3abic+ O p3aggie= cp3ggr*p3abic * O p3aggi= cp3ggi*p3abrc O * $ O p3bggr= -p3aggr% O p3bggre= p3aggre % O p3bggie= p3aggieb$ O p3bggi= -p3aggi O *p* O p3cggr= cp3ggr*p3cdrc, O p3cggre= -cp3ggi*p3cdic+ O p3cggie= cp3ggr*p3cdici* O p3cggi= cp3ggi*p3cdrc O *)$ O p3dggr= -p3cggr% O p3dggre= p3cggre % O p3dggie= p3cggie $ O p3dggi= -p3cggi O * * O p3eggr= cp3ggr*p3efrc, O p3eggre= p3ggi*p3efic+ O p3eggie= cp3ggr*p3efic * O p3eggi= cp3ggi*p3efrc O * $ O p3fggr= -p3eggr% O p3fggre= p3eggref% O p3fggie= p3eggiee$ O p3fggi= -p3eggi O *e* O p3gggr= cp3ggr*p3ghrc, O p3gggre= -cp3ggi*p3ghic+ O p3gggie= cp3ggr*p3ghicp* O p3gggi= cp3ggi*p3ghrc O *z$ O p3hggr= -p3gggr% O p3hggre= p3gggre % O p3hggie= p3gggie $ O p3hggi= -p3gggi O * O * O p4aggr= cp4ggr*p4abrc, O p4aggre= -cp4ggi*p4abic+ O p4aggie= cp4ggr*p4abic * O p4aggi= cp4ggi*p4abrc O * $ O p4bggr= -p4aggr% O p4bggre= p4aggre % O p4bggie= p4aggie $ O p4bggi= -p4aggi O *t* O p4cggr= cp4ggr*p4cdrc, O p4cggre= -cp4ggi*p4cdic+ O p4cggie= cp4ggr*p4cdic * O p4cggi= cp4ggi*p4cdrc O * $ O p4dggr= -p4cggr% O p4dggre= p4cggre % O p4dggie= p4cggie $ O p4dggi= -p4cggi O *z* O p4eggr= cp4ggr*p4efrc, O p4eggre= -cp4ggi*p4efic+ O p4eggie= cp4ggr*p4efic * O p4eggi= cp4ggi*p4efrc O *s$ O p4fggr= -p4eggr% O p4fggre= p4eggre1% O p4fggie= p4eggie $ O p4fggi= -p4eggi O * * O p4gggr= cp4ggr*p4ghrc, O p4gggre= -cp4ggi*p4ghic+ O p4gggie= cp4ggr*p4ghic1* O p4gggi= cp4ggi*p4ghrc O *g$ O p4hggr= -p4gggr% O p4hggre= p4gggre O % O p4hggie= p4gggie)$ O p4hggi= -p4gggi O *- O *-----All PP3 gamma-Z  O * - O cp3gz= conc(2)/pf*corrgs  O *  O do i=1,4 # O ip16= i+16a6 O hlr(i)= hch(ip16)*cp3gz*zmcfr6 O hli(i)= hch(ip16)*cp3gz*zmcfi O enddo O * * O p3agzr= hlr(3)*p3abrc, O p3agzre= -hli(3)*p3abic+ O p3agzie= hlr(3)*p3abici* O p3agzi= hli(3)*p3abrc O *c+ O p3bgzr= -hlr(4)*p3abrcc, O p3bgzre= -hli(4)*p3abic+ O p3bgzie= hlr(4)*p3abicd+ O p3bgzi= -hli(4)*p3abrcp O *g* O p3cgzr= hlr(4)*p3cdrc, O p3cgzre= -hli(4)*p3cdic+ O p3cgzie= hlr(4)*p3cdice* O p3cgzi= hli(4)*p3cdrc O *f+ O p3dgzr= -hlr(3)*p3cdrcc, O p3dgzre= -hli(3)*p3cdic+ O p3dgzie= hlr(3)*p3cdic1+ O p3dgzi= -hli(3)*p3cdrce O *e* O p3egzr= hlr(2)*p3efrc, O p3egzre= -hli(2)*p3efic+ O p3egzie= hlr(2)*p3eficg* O p3egzi= hli(2)*p3efrc O * O + O p3fgzr= -hlr(1)*p3efrch, O p3fgzre= -hli(1)*p3efic+ O p3fgzie= hlr(1)*p3eficc+ O p3fgzi= -hli(1)*p3efrc1 O *i* O p3ggzr= hlr(1)*p3ghrc, O p3ggzre= -hli(1)*p3ghic+ O p3ggzie= hlr(1)*p3ghic * O p3ggzi= hli(1)*p3ghrc O * O + O p3hgzr= -hlr(2)*p3ghrc O , O p3hgzre= -hli(2)*p3ghic+ O p3hgzie= hlr(2)*p3ghicc+ O p3hgzi= -hli(2)*p3ghrcc O *  O *-----All PP4 gamma-Zg O *a/ O cp4gz= -conc(2)/pfb*corrgsg O *e O do i=1,4 # O ip16= i+16r6 O hmr(i)= hch(ip16)*cp4gz*zmcfr6 O hmi(i)= hch(ip16)*cp4gz*zmcfi O enddo O * * O p4agzr= hmr(3)*p4abrc, O p4agzre= -hmi(3)*p4abic+ O p4agzie= hmr(3)*p4abic * O p4agzi= hmi(3)*p4abrc O * + O p4bgzr= -hmr(4)*p4abrci, O p4bgzre= -hmi(4)*p4abic+ O p4bgzie= hmr(4)*p4abica+ O p4bgzi= -hmi(4)*p4abrc- O *m* O p4cgzr= hmr(4)*p4cdrc, O p4cgzre= -hmi(4)*p4cdic+ O p4cgzie= hmr(4)*p4cdic * O p4cgzi= hmi(4)*p4cdrc O *f+ O p4dgzr= -hmr(3)*p4cdrc*, O p4dgzre= -hmi(3)*p4cdic+ O p4dgzie= hmr(3)*p4cdica+ O p4dgzi= -hmi(3)*p4cdrca O *z* O p4egzr= hmr(2)*p4efrc, O p4egzre= -hmi(2)*p4efic+ O p4egzie= hmr(2)*p4eficp* O p4egzi= hmi(2)*p4efrc O * + O p4fgzr= -hmr(1)*p4efrc , O p4fgzre= -hmi(1)*p4efic+ O p4fgzie= hmr(1)*p4efici+ O p4fgzi= -hmi(1)*p4efrca O *z* O p4ggzr= hmr(1)*p4ghrc, O p4ggzre= -hmi(1)*p4ghic+ O p4ggzie= hmr(1)*p4ghica* O p4ggzi= hmi(1)*p4ghrc O *b+ O p4hgzr= -hmr(2)*p4ghrc , O p4hgzre= -hmi(2)*p4ghic+ O p4hgzie= hmr(2)*p4ghicz+ O p4hgzi= -hmi(2)*p4ghrci O *z O *-----All PP3 Z-gamma  O * 1 O cp3zg= -conc(4)/sp/pf*corrgp  O *  O do i=1,4 3 O hnr(i)= hch(i)*cp3zg*ztcfr 3 O hni(i)= hch(i)*cp3zg*ztcfi  O enddo O *a+ O ap3azgr= hnr(1)*p3abrcr- O ap3azgre= -hni(1)*p3abic , O ap3azgie= hnr(1)*p3abic+ O ap3azgi= hni(1)*p3abrc 5 O p3azgr= ap3azgr*rsz-ap3azgi*aisz 8 O p3azgre= ap3azgre*rsz-ap3azgie*aisz8 O p3azgie= ap3azgie*rsz+ap3azgre*aisz5 O p3azgi= ap3azgi*rsz+ap3azgr*aiszz O *a, O ap3bzgr= -hnr(2)*p3abrc- O ap3bzgre= -hni(2)*p3abic , O ap3bzgie= hnr(2)*p3abic, O ap3bzgi= -hni(2)*p3abrc5 O p3bzgr= ap3bzgr*rsz-ap3bzgi*aisz 8 O p3bzgre= ap3bzgre*rsz-ap3bzgie*aisz8 O p3bzgie= ap3bzgie*rsz+ap3bzgre*aisz5 O p3bzgi= ap3bzgi*rsz+ap3bzgr*aiszz O *a+ O ap3czgr= hnr(3)*p3cdrcr- O ap3czgre= -hni(3)*p3cdic , O ap3czgie= hnr(3)*p3cdic+ O ap3czgi= hni(3)*p3cdrc 5 O p3czgr= ap3czgr*rsz-ap3czgi*aisz 8 O p3czgre= ap3czgre*rsz-ap3czgie*aisz8 O p3czgie= ap3czgie*rsz+ap3czgre*aisz5 O p3czgi= ap3czgi*rsz+ap3czgr*aiszz O *a, O ap3dzgr= -hnr(4)*p3cdrc- O ap3dzgre= -hni(4)*p3cdic , O ap3dzgie= hnr(4)*p3cdic, O ap3dzgi= -hni(4)*p3cdrc5 O p3dzgr= ap3dzgr*rsz-ap3dzgi*aisz 8 O p3dzgre= ap3dzgre*rsz-ap3dzgie*aisz8 O p3dzgie= ap3dzgie*rsz+ap3dzgre*aisz5 O p3dzgi= ap3dzgi*rsz+ap3dzgr*aiszz O *a+ O ap3ezgr= hnr(1)*p3efrcr- O ap3ezgre= -hni(1)*p3efic , O ap3ezgie= hnr(1)*p3efic+ O ap3ezgi= hni(1)*p3efrc 5 O p3ezgr= ap3ezgr*rsz-ap3ezgi*aisz 8 O p3ezgre= ap3ezgre*rsz-ap3ezgie*aisz8 O p3ezgie= ap3ezgie*rsz+ap3ezgre*aisz5 O p3ezgi= ap3ezgi*rsz+ap3ezgr*aiszz O *a, O ap3fzgr= -hnr(2)*p3efrc- O ap3fzgre= -hni(2)*p3efic , O ap3fzgie= hnr(2)*p3efic, O ap3fzgi= -hni(2)*p3efrc5 O p3fzgr= ap3fzgr*rsz-ap3fzgi*aisz/8 O p3fzgre= ap3fzgre*rsz-ap3fzgie*aisz8 O p3fzgie= ap3fzgie*rsz+ap3fzgre*aisz5 O p3fzgi= ap3fzgi*rsz+ap3fzgr*aiszh O *2+ O ap3gzgr= hnr(3)*p3ghrc - O ap3gzgre= -hni(3)*p3ghic O , O ap3gzgie= hnr(3)*p3ghic+ O ap3gzgi= hni(3)*p3ghrcc5 O p3gzgr= ap3gzgr*rsz-ap3gzgi*aisz 8 O p3gzgre= ap3gzgre*rsz-ap3gzgie*aisz8 O p3gzgie= ap3gzgie*rsz+ap3gzgre*aisz5 O p3gzgi= ap3gzgi*rsz+ap3gzgr*aisz  O * , O ap3hzgr= -hnr(4)*p3ghrc- O ap3hzgre= -hni(4)*p3ghic O , O ap3hzgie= hnr(4)*p3ghic, O ap3hzgi= -hni(4)*p3ghrc5 O p3hzgr= ap3hzgr*rsz-ap3hzgi*aisz 8 O p3hzgre= ap3hzgre*rsz-ap3hzgie*aisz8 O p3hzgie= ap3hzgie*rsz+ap3hzgre*aisz5 O p3hzgi= ap3hzgi*rsz+ap3hzgr*aisz  O *  O *-----All PP4 Z-gammai O *z1 O cp4zg= conc(4)/sp/pfb*corrgph O *) O do i=1,4a3 O hor(i)= hch(i)*cp4zg*ztcfri3 O hoi(i)= hch(i)*cp4zg*ztcfi) O enddo O *p+ O ap4azgr= hor(1)*p4abrc - O ap4azgre= -hoi(1)*p4abic , O ap4azgie= hor(1)*p4abic+ O ap4azgi= hoi(1)*p4abrci5 O p4azgr= ap4azgr*rsz-ap4azgi*aiszh8 O p4azgre= ap4azgre*rsz-ap4azgie*aisz8 O p4azgie= ap4azgie*rsz+ap4azgre*aisz5 O p4azgi= ap4azgi*rsz+ap4azgr*aisz  O *p, O ap4bzgr= -hor(2)*p4abrc- O ap4bzgre= -hoi(2)*p4abic , O ap4bzgie= hor(2)*p4abic, O ap4bzgi= -hoi(2)*p4abrc5 O p4bzgr= ap4bzgr*rsz-ap4bzgi*aiszh8 O p4bzgre= ap4bzgre*rsz-ap4bzgie*aisz8 O p4bzgie= ap4bzgie*rsz+ap4bzgre*aisz5 O p4bzgi= ap4bzgi*rsz+ap4bzgr*aisz  O *p+ O ap4czgr= hor(3)*p4cdrc - O ap4czgre= -hoi(3)*p4cdic , O ap4czgie= hor(3)*p4cdic+ O ap4czgi= hoi(3)*p4cdrci5 O p4czgr= ap4czgr*rsz-ap4czgi*aiszh8 O p4czgre= ap4czgre*rsz-ap4czgie*aisz8 O p4czgie= ap4czgie*rsz+ap4czgre*aisz5 O p4czgi= ap4czgi*rsz+ap4czgr*aisz  O *p, O ap4dzgr= -hor(4)*p4cdrc- O ap4dzgre= -hoi(4)*p4cdic , O ap4dzgie= hor(4)*p4cdic, O ap4dzgi= -hoi(4)*p4cdrc5 O p4dzgr= ap4dzgr*rsz-ap4dzgi*aiszh8 O p4dzgre= ap4dzgre*rsz-ap4dzgie*aisz8 O p4dzgie= ap4dzgie*rsz+ap4dzgre*aisz5 O p4dzgi= ap4dzgi*rsz+ap4dzgr*aisz  O *p+ O ap4ezgr= hor(1)*p4efrc - O ap4ezgre= -hoi(1)*p4efic , O ap4ezgie= hor(1)*p4efic+ O ap4ezgi= hoi(1)*p4efrci5 O p4ezgr= ap4ezgr*rsz-ap4ezgi*aiszh8 O p4ezgre= ap4ezgre*rsz-ap4ezgie*aisz8 O p4ezgie= ap4ezgie*rsz+ap4ezgre*aisz5 O p4ezgi= ap4ezgi*rsz+ap4ezgr*aisz  O *p, O ap4fzgr= -hor(2)*p4efrc- O ap4fzgre= -hoi(2)*p4efic , O ap4fzgie= hor(2)*p4efic, O ap4fzgi= -hoi(2)*p4efrc5 O p4fzgr= ap4fzgr*rsz-ap4fzgi*aisz 8 O p4fzgre= ap4fzgre*rsz-ap4fzgie*aisz8 O p4fzgie= ap4fzgie*rsz+ap4fzgre*aisz5 O p4fzgi= ap4fzgi*rsz+ap4fzgr*aisz  O * + O ap4gzgr= hor(3)*p4ghrc - O ap4gzgre= -hoi(3)*p4ghic , O ap4gzgie= hor(3)*p4ghic+ O ap4gzgi= hoi(3)*p4ghrc 5 O p4gzgr= ap4gzgr*rsz-ap4gzgi*aiszz8 O p4gzgre= ap4gzgre*rsz-ap4gzgie*aisz8 O p4gzgie= ap4gzgie*rsz+ap4gzgre*aisz5 O p4gzgi= ap4gzgi*rsz+ap4gzgr*aisze O *z, O ap4hzgr= -hor(4)*p4ghrc- O ap4hzgre= -hoi(4)*p4ghic , O ap4hzgie= hor(4)*p4ghic, O ap4hzgi= -hoi(4)*p4ghrc5 O p4hzgr= ap4hzgr*rsz-ap4hzgi*aiszz8 O p4hzgre= ap4hzgre*rsz-ap4hzgie*aisz8 O p4hzgie= ap4hzgie*rsz+ap4hzgre*aisz5 O p4hzgi= ap4hzgi*rsz+ap4hzgr*aisze O *z O *-----All PP3 Z-Z  O * ' O cp3zz= -conc(5)/pfa O *p O do i=1,8z# O ip28= i+28 6 O hpr(i)= hch(ip28)*cp3zz*zmcfr6 O hpi(i)= hch(ip28)*cp3zz*zmcfi O enddo O *p+ O ap3azzr= hpr(3)*p3abrc - O ap3azzre= -hpi(3)*p3abic , O ap3azzie= hpr(3)*p3abic+ O ap3azzi= hpi(3)*p3abrci5 O p3azzr= ap3azzr*rsz-ap3azzi*aiszh8 O p3azzre= ap3azzre*rsz-ap3azzie*aisz8 O p3azzie= ap3azzie*rsz+ap3azzre*aisz5 O p3azzi= ap3azzi*rsz+ap3azzr*aisz  O *p, O ap3bzzr= -hpr(4)*p3abrc- O ap3bzzre= -hpi(4)*p3abic , O ap3bzzie= hpr(4)*p3abic, O ap3bzzi= -hpi(4)*p3abrc5 O p3bzzr= ap3bzzr*rsz-ap3bzzi*aiszi8 O p3bzzre= ap3bzzre*rsz-ap3bzzie*aisz8 O p3bzzie= ap3bzzie*rsz+ap3bzzre*aisz5 O p3bzzi= ap3bzzi*rsz+ap3bzzr*aisz  O *p+ O ap3czzr= hpr(5)*p3cdrc - O ap3czzre= -hpi(5)*p3cdic , O ap3czzie= hpr(5)*p3cdic+ O ap3czzi= hpi(5)*p3cdrci5 O p3czzr= ap3czzr*rsz-ap3czzi*aiszh8 O p3czzre= ap3czzre*rsz-ap3czzie*aisz8 O p3czzie= ap3czzie*rsz+ap3czzre*aisz5 O p3czzi= ap3czzi*rsz+ap3czzr*aisz  O *p, O ap3dzzr= -hpr(6)*p3cdrc- O ap3dzzre= -hpi(6)*p3cdic , O ap3dzzie= hpr(6)*p3cdic, O ap3dzzi= -hpi(6)*p3cdrc5 O p3dzzr= ap3dzzr*rsz-ap3dzzi*aiszi8 O p3dzzre= ap3dzzre*rsz-ap3dzzie*aisz8 O p3dzzie= ap3dzzie*rsz+ap3dzzre*aisz5 O p3dzzi= ap3dzzi*rsz+ap3dzzr*aisz  O *p+ O ap3ezzr= hpr(7)*p3efrc - O ap3ezzre= -hpi(7)*p3efic , O ap3ezzie= hpr(7)*p3efic+ O ap3ezzi= hpi(7)*p3efrci5 O p3ezzr= ap3ezzr*rsz-ap3ezzi*aiszh8 O p3ezzre= ap3ezzre*rsz-ap3ezzie*aisz8 O p3ezzie= ap3ezzie*rsz+ap3ezzre*aisz5 O p3ezzi= ap3ezzi*rsz+ap3ezzr*aisz  O *p, O ap3fzzr= -hpr(8)*p3efrc- O ap3fzzre= -hpi(8)*p3efic , O ap3fzzie= hpr(8)*p3efic, O ap3fzzi= -hpi(8)*p3efrc5 O p3fzzr= ap3fzzr*rsz-ap3fzzi*aisz O 8 O p3fzzre= ap3fzzre*rsz-ap3fzzie*aisz8 O p3fzzie= ap3fzzie*rsz+ap3fzzre*aisz5 O p3fzzi= ap3fzzi*rsz+ap3fzzr*aisz  O *4+ O ap3gzzr= hpr(1)*p3ghrcc- O ap3gzzre= -hpi(1)*p3ghic , O ap3gzzie= hpr(1)*p3ghic+ O ap3gzzi= hpi(1)*p3ghrc 5 O p3gzzr= ap3gzzr*rsz-ap3gzzi*aiszc8 O p3gzzre= ap3gzzre*rsz-ap3gzzie*aisz8 O p3gzzie= ap3gzzie*rsz+ap3gzzre*aisz5 O p3gzzi= ap3gzzi*rsz+ap3gzzr*aiszi O *p, O ap3hzzr= -hpr(2)*p3ghrc- O ap3hzzre= -hpi(2)*p3ghic , O ap3hzzie= hpr(2)*p3ghic, O ap3hzzi= -hpi(2)*p3ghrc5 O p3hzzr= ap3hzzr*rsz-ap3hzzi*aisz 8 O p3hzzre= ap3hzzre*rsz-ap3hzzie*aisz8 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O afdgre O * , O ffgr= cofgp*ffrc*ztcfr. O ffgre= -cofgp*ffic*ztcfi- O ffgie= cofgp*ffic*ztcfrr, O ffgi= cofgp*ffrc*ztcfi O *3- O afdzr= cofdp*fdrc*zpcfr / O afdzre= -cofdp*fdic*zpcfi3. O afdzie= cofdp*fdic*zpcfr- O afdzi= cofdp*fdrc*zpcfiz2 O fdzr= fphr*afdzr-fphi*afdzie3 O fdzre= fphr*afdzre-fphi*afdzi 3 O fdzie= fphr*afdzie+fphi*afdzrg2 O fdzi= fphr*afdzi+fphi*afdzre O *g, O ffzr= coffp*ffrc*zpcfr. O ffzre= -coffp*ffic*zpcfi- O ffzie= coffp*ffic*zpcfr , O ffzi= coffp*ffrc*zpcfi O *  O elsec O * O b1dr= 0.d0! O b1dre= 0.d0 ! O b1die= 0.d0* O b1di= 0.d0 O b1fr= 0.d0! O b1fre= 0.d0z! O b1fie= 0.d0- O b1fi= 0.d0 O b2dr= 0.d0! O b2dre= 0.d0 ! O b2die= 0.d0* O b2di= 0.d0 O b2fr= 0.d0! O b2fre= 0.d0 ! O b2fie= 0.d0a O b2fi= 0.d0! O b3dgr= 0.d0 " O b3dgre= 0.d0" O b3dgie= 0.d0! O b3dgi= 0.d04! O b3fgr= 0.d0 " O b3fgre= 0.d0" O b3fgie= 0.d0! O b3fgi= 0.d0 ! O b3dzr= 0.d0z" O b3dzre= 0.d0" O b3dzie= 0.d0! O b3dzi= 0.d0a! O b3fzr= 0.d0=" O b3fzre= 0.d0" O b3fzie= 0.d0! O b3fzi= 0.d0z! O b4dgr= 0.d0g" O b4dgre= 0.d0" O b4dgie= 0.d0! O b4dgi= 0.d0 ! O b4fgr= 0.d0 " O b4fgre= 0.d0" O b4fgie= 0.d0! O b4fgi= 0.d0 ! O b4dzr= 0.d0c" O b4dzre= 0.d0" O b4dzie= 0.d0! O b4dzi= 0.d0 ! O b4fzr= 0.d0r" O b4fzre= 0.d0" O b4fzie= 0.d0! O b4fzi= 0.d04 O rmdr= 0.d0! O rmdre= 0.d0d! O rmdie= 0.d0- O rmdi= 0.d0 O rmfr= 0.d0! O rmfre= 0.d0d! O rmfie= 0.d04 O rmfi= 0.d0 O fdgr= 0.d0! O fdgre= 0.d0p! O fdgie= 0.d0 O O fdgi= 0.d0 O ffgr= 0.d0! O ffgre= 0.d0 ! O ffgie= 0.d0o O ffgi= 0.d0 O fdzr= 0.d0! O fdzre= 0.d0i! O fdzie= 0.d0z O fdzi= 0.d0 O ffzr= 0.d0! O ffzre= 0.d0e! O ffzie= 0.d0 O ffzi= 0.d0 O *z O endif O * > O *-----complete diagrams, epsilon real and imag parts separated O * for NC48 O * 7 O if(otype.eq.'nc48'.or.otype.eq.'nc50') then  O * $ O eb1ijr= zmcfr*eb1ijrc& O eb1ijre= -zmcfi*eb1ijic% O eb1ijie= zmcfr*eb1ijicf$ O eb1iji= zmcfi*eb1ijrc$ O eb2ijr= zmcfr*eb2ijrc& O eb2ijre= -zmcfi*eb2ijic% O eb2ijie= zmcfr*eb2ijic $ O eb2iji= zmcfi*eb2ijrc$ O eb3ijr= zmcfr*eb3ijrc& O eb3ijre= -zmcfi*eb3ijic% O eb3ijie= zmcfr*eb3ijic $ O eb3iji= zmcfi*eb3ijrc$ O eb4ijr= zmcfr*eb4ijrc& O eb4ijre= -zmcfi*eb4ijic% O eb4ijie= zmcfr*eb4ijicg$ O eb4iji= zmcfi*eb4ijrc O * $ O eb1lmr= zmcfr*eb1lmrc& O eb1lmre= -zmcfi*eb1lmic% O eb1lmie= zmcfr*eb1lmica$ O eb1lmi= zmcfi*eb1lmrc$ O eb2lmr= zmcfr*eb2lmrc& O eb2lmre= -zmcfi*eb2lmic% O eb2lmie= zmcfr*eb2lmicr$ O eb2lmi= zmcfi*eb2lmrc$ O eb3lmr= zmcfr*eb3lmrc& O eb3lmre= -zmcfi*eb3lmic% O eb3lmie= zmcfr*eb3lmicp$ O eb3lmi= zmcfi*eb3lmrc$ O eb4lmr= zmcfr*eb4lmrc& O eb4lmre= -zmcfi*eb4lmic% O eb4lmie= zmcfr*eb4lmic $ O eb4lmi= zmcfi*eb4lmrc O * $ O eb1cdr= zmcfr*eb1cdrc& O eb1cdre= -zmcfi*eb1cdic% O eb1cdie= zmcfr*eb1cdico$ O eb1cdi= zmcfi*eb1cdrc$ O eb2cdr= zmcfr*eb2cdrc& O eb2cdre= -zmcfi*eb2cdic% O eb2cdie= zmcfr*eb2cdic $ O eb2cdi= zmcfi*eb2cdrc$ O eb3cdr= zmcfr*eb3cdrc& O eb3cdre= -zmcfi*eb3cdic% O eb3cdie= zmcfr*eb3cdic $ O eb3cdi= zmcfi*eb3cdrc$ O eb4cdr= zmcfr*eb4cdrc& O eb4cdre= -zmcfi*eb4cdic% O eb4cdie= zmcfr*eb4cdicc$ O eb4cdi= zmcfi*eb4cdrc O *p$ O eb1efr= zmcfr*eb1efrc& O eb1efre= -zmcfi*eb1efic% O eb1efie= zmcfr*eb1efic $ O eb1efi= zmcfi*eb1efrc$ O eb2efr= zmcfr*eb2efrc& O eb2efre= -zmcfi*eb2efic% O eb2efie= zmcfr*eb2efic $ O eb2efi= zmcfi*eb2efrc$ O eb3efr= zmcfr*eb3efrc& O eb3efre= -zmcfi*eb3efic% O eb3efie= zmcfr*eb3efic $ O eb3efi= zmcfi*eb3efrc$ O eb4efr= zmcfr*eb4efrc& O eb4efre= -zmcfi*eb4efic% O eb4efie= zmcfr*eb4efic $ O eb4efi= zmcfi*eb4efrc O *i O x16z= x16+rzm2/vv O x25z= x25+rzm2/vv% O sx25= sth2/x25*corrg25z% O sx16= sth2/x16*corrg16z& O sx16z= 0.25d0/x16z/cth2& O sx25z= 0.25d0/x25z/cth2 O sqch= qch*sth2c$ O sqchm= sqch/sm*corrgm" O qsth2= 0.25d0/cth2  O fcf1= pfp*pnp*pn O fcf2= pfpb*pnp*pn O fcf3= pfpb*pfp*pn! O fcf4= pfpb*pfp*pnpr$ O fcfa= pfpb*pfp*pnp*pn O *z O *-----All B1 O *s1 O eb1ir= -fcf1*(sx25*(-sqchm*eb1ijr+ 2 O # hbo(1)*qsth2*eb1ijrc)+sx25z*, O # (-hbo(2)*sqchm*eb1ijr+, O # hbo(3)*qsth2*eb1ijrc))6 O eb1ire= fcf1*sqchm*(sx25+sx25z*hbo(2))* O # eb1ijre3 O eb1iie= -fcf1*(sx25*(-sqchm*eb1ijie+ 3 O # hbo(1)*qsth2*eb1ijic)+sx25z*z. O # (-hbo(2)*sqchm*eb1ijie+- O # hbo(3)*qsth2*eb1ijic)) 5 O eb1ii= fcf1*sqchm*(sx25+sx25z*hbo(2))*3 O # eb1iji O * 0 O eb1jr= -fcf1*(sx25*(sqchm*eb1ijr-2 O # hbo(4)*qsth2*eb1ijrc)+sx25z*+ O # (hbo(5)*sqchm*eb1ijr- O , O # hbo(6)*qsth2*eb1ijrc))6 O eb1jre= fcf1*sqchm*(sx25+sx25z*hbo(5))* O # eb1ijre3 O eb1jie= -fcf1*(sx25*(-sqchm*eb1ijie+33 O # hbo(4)*qsth2*eb1ijic)+sx25z*=. O # (-hbo(5)*sqchm*eb1ijie+- O # hbo(6)*qsth2*eb1ijic))z6 O eb1ji= -fcf1*sqchm*(sx25+sx25z*hbo(5))* O # eb1iji O * 1 O eb1lr= -fcf1*(sx25*(-sqchm*eb1lmr+ 2 O # hbo(7)*qsth2*eb1lmrc)+sx25z*, O # (-hbo(8)*sqchm*eb1lmr+, O # hbo(9)*qsth2*eb1lmrc))6 O eb1lre= fcf1*sqchm*(sx25+sx25z*hbo(8))* O # eb1lmre3 O eb1lie= -fcf1*(sx25*(-sqchm*eb1lmie+33 O # hbo(7)*qsth2*eb1lmic)+sx25z*z. O # (-hbo(8)*sqchm*eb1lmie+- O # hbo(9)*qsth2*eb1lmic))p5 O eb1li= fcf1*sqchm*(sx25+sx25z*hbo(8))*  O # eb1lmi O * 0 O eb1mr= -fcf1*(sx25*(sqchm*eb1lmr-3 O # hbo(10)*qsth2*eb1lmrc)+sx25z* , O # (hbo(11)*sqchm*eb1lmr-- O # hbo(12)*qsth2*eb1lmrc))i7 O eb1mre= fcf1*sqchm*(sx25+sx25z*hbo(11))*4 O # eb1lmre3 O eb1mie= -fcf1*(sx25*(-sqchm*eb1lmie+ 4 O # hbo(10)*qsth2*eb1lmic)+sx25z*/ O # (-hbo(11)*sqchm*eb1lmie+=. O # hbo(12)*qsth2*eb1lmic))7 O eb1mi= -fcf1*sqchm*(sx25+sx25z*hbo(11))*  O # eb1lmi O *i1 O eb1cr= -fcf1*(sx25*(-sqchm*eb1cdr+r3 O # hbo(13)*qsth2*eb1cdrc)+sx25z*b- O # (-hbo(14)*sqchm*eb1cdr+i- O # hbo(15)*qsth2*eb1cdrc))c7 O eb1cre= fcf1*sqchm*(sx25+sx25z*hbo(14))*  O # eb1cdre3 O eb1cie= -fcf1*(sx25*(-sqchm*eb1cdie+r4 O # hbo(13)*qsth2*eb1cdic)+sx25z*/ O # (-hbo(14)*sqchm*eb1cdie+=. O # hbo(15)*qsth2*eb1cdic))6 O eb1ci= fcf1*sqchm*(sx25+sx25z*hbo(14))* O # eb1cdi O * 0 O eb1dr= -fcf1*(sx25*(sqchm*eb1cdr-3 O # hbo(16)*qsth2*eb1cdrc)+sx25z*c, O # (hbo(17)*sqchm*eb1cdr-- O # hbo(18)*qsth2*eb1cdrc)) 7 O eb1dre= fcf1*sqchm*(sx25+sx25z*hbo(17))*  O # eb1cdre3 O eb1die= -fcf1*(sx25*(-sqchm*eb1cdie+ 4 O # hbo(16)*qsth2*eb1cdic)+sx25z*/ O # (-hbo(17)*sqchm*eb1cdie+4. O # hbo(18)*qsth2*eb1cdic))7 O eb1di= -fcf1*sqchm*(sx25+sx25z*hbo(17))*i O # eb1cdi O *p1 O eb1er= -fcf1*(sx25*(-sqchm*eb1efr+z3 O # hbo(19)*qsth2*eb1efrc)+sx25z*p- O # (-hbo(20)*sqchm*eb1efr+ - O # hbo(21)*qsth2*eb1efrc)) 7 O eb1ere= fcf1*sqchm*(sx25+sx25z*hbo(20))*a O # eb1efre3 O eb1eie= -fcf1*(sx25*(-sqchm*eb1efie+ 4 O # hbo(19)*qsth2*eb1efic)+sx25z*/ O # (-hbo(20)*sqchm*eb1efie+ . O # hbo(21)*qsth2*eb1efic))6 O eb1ei= fcf1*sqchm*(sx25+sx25z*hbo(20))* O # eb1efi O *z0 O eb1fr= -fcf1*(sx25*(sqchm*eb1efr-3 O # hbo(22)*qsth2*eb1efrc)+sx25z*8, O # (hbo(23)*sqchm*eb1efr-- O # hbo(24)*qsth2*eb1efrc))r7 O eb1fre= fcf1*sqchm*(sx25+sx25z*hbo(23))*r O # eb1efre3 O eb1fie= -fcf1*(sx25*(-sqchm*eb1efie+ 4 O # hbo(22)*qsth2*eb1efic)+sx25z*/ O # (-hbo(23)*sqchm*eb1efie+ . O # hbo(24)*qsth2*eb1efic))7 O eb1fi= -fcf1*sqchm*(sx25+sx25z*hbo(23))*  O # eb1efi O * O *-----All B2 O *z1 O eb2ir= -fcf2*(sx16*(-sqchm*eb2ijr+p2 O # hbe(1)*qsth2*eb2ijrc)+sx16z*, O # (-hbe(2)*sqchm*eb2ijr+, O # hbe(3)*qsth2*eb2ijrc))6 O eb2ire= fcf2*sqchm*(sx16+sx16z*hbe(2))* O # eb2ijre3 O eb2iie= -fcf2*(sx16*(-sqchm*eb2ijie+*3 O # hbe(1)*qsth2*eb2ijic)+sx16z* O . O # (-hbe(2)*sqchm*eb2ijie+- O # hbe(3)*qsth2*eb2ijic))r5 O eb2ii= fcf2*sqchm*(sx16+sx16z*hbe(2))*e O # eb2iji O * 0 O eb2jr= -fcf2*(sx16*(sqchm*eb2ijr-2 O # hbe(4)*qsth2*eb2ijrc)+sx16z*+ O # (hbe(5)*sqchm*eb2ijr- , O # hbe(6)*qsth2*eb2ijrc))6 O eb2jre= fcf2*sqchm*(sx16+sx16z*hbe(5))* O # eb2ijre3 O eb2jie= -fcf2*(sx16*(-sqchm*eb2ijie+ 3 O # hbe(4)*qsth2*eb2ijic)+sx16z* . O # (-hbe(5)*sqchm*eb2ijie+- O # hbe(6)*qsth2*eb2ijic))p6 O eb2ji= -fcf2*sqchm*(sx16+sx16z*hbe(5))* O # eb2iji O *r1 O eb2lr= -fcf2*(sx16*(-sqchm*eb2lmr+b2 O # hbe(7)*qsth2*eb2lmrc)+sx16z*, O # (-hbe(8)*sqchm*eb2lmr+, O # hbe(9)*qsth2*eb2lmrc))6 O eb2lre= fcf2*sqchm*(sx16+sx16z*hbe(8))* O # eb2lmre3 O eb2lie= -fcf2*(sx16*(-sqchm*eb2lmie+b3 O # hbe(7)*qsth2*eb2lmic)+sx16z*b. O # (-hbe(8)*sqchm*eb2lmie+- O # hbe(9)*qsth2*eb2lmic))25 O eb2li= fcf2*sqchm*(sx16+sx16z*hbe(8))*i O # eb2lmi O * 0 O eb2mr= -fcf2*(sx16*(sqchm*eb2lmr-3 O # hbe(10)*qsth2*eb2lmrc)+sx16z*i, O # (hbe(11)*sqchm*eb2lmr-- O # hbe(12)*qsth2*eb2lmrc)) 7 O eb2mre= fcf2*sqchm*(sx16+sx16z*hbe(11))*0 O # eb2lmre3 O eb2mie= -fcf2*(sx16*(-sqchm*eb2lmie+ 4 O # hbe(10)*qsth2*eb2lmic)+sx16z*/ O # (-hbe(11)*sqchm*eb2lmie+ . O # hbe(12)*qsth2*eb2lmic))7 O eb2mi= -fcf2*sqchm*(sx16+sx16z*hbe(11))*  O # eb2lmi O *n1 O eb2cr= -fcf2*(sx16*(-sqchm*eb2cdr+n3 O # hbe(13)*qsth2*eb2cdrc)+sx16z*3- O # (-hbe(14)*sqchm*eb2cdr+*- O # hbe(15)*qsth2*eb2cdrc))g7 O eb2cre= fcf2*sqchm*(sx16+sx16z*hbe(14))*f O # eb2cdre3 O eb2cie= -fcf2*(sx16*(-sqchm*eb2cdie+ 4 O # hbe(13)*qsth2*eb2cdic)+sx16z*/ O # (-hbe(14)*sqchm*eb2cdie+3. O # hbe(15)*qsth2*eb2cdic))6 O eb2ci= fcf2*sqchm*(sx16+sx16z*hbe(14))* O # eb2cdi O *30 O eb2dr= -fcf2*(sx16*(sqchm*eb2cdr-3 O # hbe(16)*qsth2*eb2cdrc)+sx16z*z, O # (hbe(17)*sqchm*eb2cdr-- O # hbe(18)*qsth2*eb2cdrc)) 7 O eb2dre= fcf2*sqchm*(sx16+sx16z*hbe(17))*c O # eb2cdre3 O eb2die= -fcf2*(sx16*(-sqchm*eb2cdie+ 4 O # hbe(16)*qsth2*eb2cdic)+sx16z*/ O # (-hbe(17)*sqchm*eb2cdie+ . O # hbe(18)*qsth2*eb2cdic))7 O eb2di= -fcf2*sqchm*(sx16+sx16z*hbe(17))*e O # eb2cdi O * 1 O eb2er= -fcf2*(sx16*(-sqchm*eb2efr+ 3 O # hbe(19)*qsth2*eb2efrc)+sx16z* - O # (-hbe(20)*sqchm*eb2efr+ - O # hbe(21)*qsth2*eb2efrc)) 7 O eb2ere= fcf2*sqchm*(sx16+sx16z*hbe(20))*4 O # eb2efre3 O eb2eie= -fcf2*(sx16*(-sqchm*eb2efie+ 4 O # hbe(19)*qsth2*eb2efic)+sx16z*/ O # (-hbe(20)*sqchm*eb2efie+ . O # hbe(21)*qsth2*eb2efic))6 O eb2ei= fcf2*sqchm*(sx16+sx16z*hbe(20))* O # eb2efi O *(0 O eb2fr= -fcf2*(sx16*(sqchm*eb2efr-3 O # hbe(22)*qsth2*eb2efrc)+sx16z*=, O # (hbe(23)*sqchm*eb2efr-- O # hbe(24)*qsth2*eb2efrc))i7 O eb2fre= fcf2*sqchm*(sx16+sx16z*hbe(23))* O  O # eb2efre3 O eb2fie= -fcf2*(sx16*(-sqchm*eb2efie+ 4 O # hbe(22)*qsth2*eb2efic)+sx16z*/ O # (-hbe(23)*sqchm*eb2efie+ . O # hbe(24)*qsth2*eb2efic))7 O eb2fi= -fcf2*sqchm*(sx16+sx16z*hbe(23))*= O # eb2efi O * O *-----All B3 O * O 1 O eb3ir= -fcf3*(sx25*(-sqchm*eb3ijr+ O 2 O # hbo(1)*qsth2*eb3ijrc)+sx25z*, O # (-hbo(2)*sqchm*eb3ijr+, O # hbo(3)*qsth2*eb3ijrc))6 O eb3ire= fcf3*sqchm*(sx25+sx25z*hbo(2))* O # eb3ijre3 O eb3iie= -fcf3*(sx25*(-sqchm*eb3ijie+*3 O # hbo(1)*qsth2*eb3ijic)+sx25z*a. O # (-hbo(2)*sqchm*eb3ijie+- O # hbo(3)*qsth2*eb3ijic))=5 O eb3ii= fcf3*sqchm*(sx25+sx25z*hbo(2))*f O # eb3iji O * 0 O eb3jr= -fcf3*(sx25*(sqchm*eb3ijr-2 O # hbo(4)*qsth2*eb3ijrc)+sx25z*+ O # (hbo(5)*sqchm*eb3ijr- , O # hbo(6)*qsth2*eb3ijrc))6 O eb3jre= fcf3*sqchm*(sx25+sx25z*hbo(5))* O # eb3ijre3 O eb3jie= -fcf3*(sx25*(-sqchm*eb3ijie+ 3 O # hbo(4)*qsth2*eb3ijic)+sx25z* . O # (-hbo(5)*sqchm*eb3ijie+- O # hbo(6)*qsth2*eb3ijic)) 6 O eb3ji= -fcf3*sqchm*(sx25+sx25z*hbo(5))* O # eb3iji O *f1 O eb3lr= -fcf3*(sx25*(-sqchm*eb3lmr+ 2 O # hbo(7)*qsth2*eb3lmrc)+sx25z*, O # (-hbo(8)*sqchm*eb3lmr+, O # hbo(9)*qsth2*eb3lmrc))6 O eb3lre= fcf3*sqchm*(s 5+sx25z*hbo(8))* O # eb3lmre3 O eb3lie= -fcf3*(sx25*(-sqchm*eb3lmie+ 3 O # hbo(7)*qsth2*eb3lmic)+sx25z*r. O # (-hbo(8)*sqchm*eb3lmie+- O # hbo(9)*qsth2*eb3lmic)) 5 O eb3li= fcf3*sqchm*(sx25+sx25z*hbo(8))*  O # eb3lmi O * 0 O eb3mr= -fcf3*(sx25*(sqchm*eb3lmr-3 O # hbo(10)*qsth2*eb3lmrc)+sx25z* O , O # (hbo(11)*sqchm*eb3lmr-- O # hbo(12)*qsth2*eb3lmrc)) 7 O eb3mre= fcf3*sqchm*(sx25+sx25z*hbo(11))*  O # eb3lmre3 O eb3mie= -fcf3*(sx25*(-sqchm*eb3lmie+ 4 O # hbo(10)*qsth2*eb3lmic)+sx25z*/ O # (-hbo(11)*sqchm*eb3lmie+ . O # hbo(12)*qsth2*eb3lmic))7 O eb3mi= -fcf3*sqchm*(sx25+sx25z*hbo(11))*  O # eb3lmi O * 1 O eb3cr= -fcf3*(sx25*(-sqchm*eb3cdr+03 O # hbo(13)*qsth2*eb3cdrc)+sx25z* - O # (-hbo(14)*sqchm*eb3cdr+4- O # hbo(15)*qsth2*eb3cdrc)) O 7 O eb3cre= fcf3*sqchm*(sx25+sx25z*hbo(14))*  O # eb3cdre3 O eb3cie= -fcf3*(sx25*(-sqchm*eb3cdie+ O 4 O # hbo(13)*qsth2*eb3cdic)+sx25z*/ O # (-hbo(14)*sqchm*eb3cdie+.. O # hbo(15)*qsth2*eb3cdic))6 O eb3ci= fcf3*sqchm*(sx25+sx25z*hbo(14))* O # eb3cdi O *z0 O eb3dr= -fcf3*(sx25*(sqchm*eb3cdr-3 O # hbo(16)*qsth2*eb3cdrc)+sx25z*m, O # (hbo(17)*sqchm*eb3cdr-- O # hbo(18)*qsth2*eb3cdrc)) 7 O eb3dre= fcf3*sqchm*(sx25+sx25z*hbo(17))* O  O # eb3cdre3 O eb3die= -fcf3*(sx25*(-sqchm*eb3cdie+ 4 O # hbo(16)*qsth2*eb3cdic)+sx25z*/ O # (-hbo(17)*sqchm*eb3cdie+ . O # hbo(18)*qsth2*eb3cdic))7 O eb3di= -fcf3*sqchm*(sx25+sx25z*hbo(17))*  O # eb3cdi O * 1 O eb3er= -fcf3*(sx25*(-sqchm*eb3efr+03 O # hbo(19)*qsth2*eb3efrc)+sx25z* - O # (-hbo(20)*sqchm*eb3efr+ - O # hbo(21)*qsth2*eb3efrc)) 7 O eb3ere= fcf3*sqchm*(sx25+sx25z*hbo(20))*0 O # eb3efre3 O eb3eie= -fcf3*(sx25*(-sqchm*eb3efie+p4 O # hbo(19)*qsth2*eb3efic)+sx25z*/ O # (-hbo(20)*sqchm*eb3efie+'. O # hbo(21)*qsth2*eb3efic))6 O eb3ei= fcf3*sqchm*(sx25+sx25z*hbo(20))* O # eb3efi O *f0 O eb3fr= -fcf3*(sx25*(sqchm*eb3efr-3 O # hbo(22)*qsth2*eb3efrc)+sx25z*e, O # (hbo(23)*sqchm*eb3efr-- O # hbo(24)*qsth2*eb3efrc))e7 O eb3fre= fcf3*sqchm*(sx25+sx25z*hbo(23))*  O # eb3efre3 O eb3fie= -fcf3*(sx25*(-sqchm*eb3efie+34 O # hbo(22)*qsth2*eb3efic)+sx25z*/ O # (-hbo(23)*sqchm*eb3efie+ . O # hbo(24)*qsth2*eb3efic))7 O eb3fi= -fcf3*sqchm*(sx25+sx25z*hbo(23))*e O # eb3efi O *z O *-----All B4 O * 1 O eb4ir= -fcf4*(sx16*(-sqchm*eb4ijr+e2 O # hbe(1)*qsth2*eb4ijrc)+sx16z*, O # (-hbe(2)*sqchm*eb4ijr+, O # hbe(3)*qsth2*eb4ijrc))6 O eb4ire= fcf4*sqchm*(sx16+sx16z*hbe(2))* O # eb4ijre3 O eb4iie= -fcf4*(sx16*(-sqchm*eb4ijie+*3 O # hbe(1)*qsth2*eb4ijic)+sx16z* . O # (-hbe(2)*sqchm*eb4ijie+- O # hbe(3)*qsth2*eb4ijic)) 5 O eb4ii= fcf4*sqchm*(sx16+sx16z*hbe(2))*  O # eb4iji O *10 O eb4jr= -fcf4*(sx16*(sqchm*eb4ijr-2 O # hbe(4)*qsth2*eb4ijrc)+sx16z*+ O # (hbe(5)*sqchm*eb4ijr-z, O # hbe(6)*qsth2*eb4ijrc))6 O eb4jre= fcf4*sqchm*(sx16+sx16z*hbe(5))* O # eb4ijre3 O eb4jie= -fcf4*(sx16*(-sqchm*eb4ijie+33 O # hbe(4)*qsth2*eb4ijic)+sx16z*b. O # (-hbe(5)*sqchm*eb4ijie+- O # hbe(6)*qsth2*eb4ijic)) 6 O eb4ji= -fcf4*sqchm*(sx16+sx16z*hbe(5))* O # eb4iji O *=1 O eb4lr= -fcf4*(sx16*(-sqchm*eb4lmr+12 O # hbe(7)*qsth2*eb4lmrc)+sx16z*, O # (-hbe(8)*sqchm*eb4lmr+, O # hbe(9)*qsth2*eb4lmrc))6 O eb4lre= fcf4*sqchm*(sx16+sx16z*hbe(8))* O # eb4lmre3 O eb4lie= -fcf4*(sx16*(-sqchm*eb4lmie+ 3 O # hbe(7)*qsth2*eb4lmic)+sx16z*e. O # (-hbe(8)*sqchm*eb4lmie+- O # hbe(9)*qsth2*eb4lmic)) O 5 O eb4li= fcf4*sqchm*(sx16+sx16z*hbe(8))*4 O # eb4lmi O * 0 O eb4mr= -fcf4*(sx16*(sqchm*eb4lmr-3 O # hbe(10)*qsth2*eb4lmrc)+sx16z* O , O # (hbe(11)*sqchm*eb4lmr-- O # hbe(12)*qsth2*eb4lmrc))=7 O eb4mre= fcf4*sqchm*(sx16+sx16z*hbe(11))*2 O # eb4lmre3 O eb4mie= -fcf4*(sx16*(-sqchm*eb4lmie+ 4 O # hbe(10)*qsth2*eb4lmic)+sx16z*/ O # (-hbe(11)*sqchm*eb4lmie+ . O # hbe(12)*qsth2*eb4lmic))7 O eb4mi= -fcf4*sqchm*(sx16+sx16z*hbe(11))*  O # eb4lmi O *-1 O eb4cr= -fcf4*(sx16*(-sqchm*eb4cdr+-3 O # hbe(13)*qsth2*eb4cdrc)+sx16z*1- O # (-hbe(14)*sqchm*eb4cdr+c- O # hbe(15)*qsth2*eb4cdrc))e7 O eb4cre= fcf4*sqchm*(sx16+sx16z*hbe(14))*b O # eb4cdre3 O eb4cie= -fcf4*(sx16*(-sqchm*eb4cdie+14 O # hbe(13)*qsth2*eb4cdic)+sx16z*/ O # (-hbe(14)*sqchm*eb4cdie+i. O # hbe(15)*qsth2*eb4cdic))6 O eb4ci= fcf4*sqchm*(sx16+sx16z*hbe(14))* O # eb4cdi O *i0 O eb4dr= -fcf4*(sx16*(sqchm*eb4cdr-3 O # hbe(16)*qsth2*eb4cdrc)+sx16z*5, O # (hbe(17)*sqchm*eb4cdr-- O # hbe(18)*qsth2*eb4cdrc)))7 O eb4dre= fcf4*sqchm*(sx16+sx16z*hbe(17))* O  O # eb4cdre3 O eb4die= -fcf4*(sx16*(-sqchm*eb4cdie+ O 4 O # hbe(16)*qsth2*eb4cdic)+sx16z*/ O # (-hbe(17)*sqchm*eb4cdie+ . O # hbe(18)*qsth2*eb4cdic))7 O eb4di= -fcf4*sqchm*(sx16+sx16z*hbe(17))*  O # eb4cdi O * 1 O eb4er= -fcf4*(sx16*(-sqchm*eb4efr+ 3 O # hbe(19)*qsth2*eb4efrc)+sx16z*#- O # (-hbe(20)*sqchm*eb4efr+ - O # hbe(21)*qsth2*eb4efrc)) 7 O eb4ere= fcf4*sqchm*(sx16+sx16z*hbe(20))*  O # eb4efre3 O eb4eie= -fcf4*(sx16*(-sqchm*eb4efie+ 4 O # hbe(19)*qsth2*eb4efic)+sx16z*/ O # (-hbe(20)*sqchm*eb4efie+ . O # hbe(21)*qsth2*eb4efic))6 O eb4ei= fcf4*sqchm*(sx16+sx16z*hbe(20))* O # eb4efi O * 0 O eb4fr= -fcf4*(sx16*(sqchm*eb4efr-3 O # hbe(22)*qsth2*eb4efrc)+sx16z* , O # (hbe(23)*sqchm*eb4efr-- O # hbe(24)*qsth2*eb4efrc)) 7 O eb4fre= fcf4*sqchm*(sx16+sx16z*hbe(23))*  O # eb4efre3 O eb4fie= -fcf4*(sx16*(-sqchm*eb4efie+ 4 O # hbe(22)*qsth2*eb4efic)+sx16z*/ O # (-hbe(23)*sqchm*eb4efie+ . O # hbe(24)*qsth2*eb4efic))7 O eb4fi= -fcf4*sqchm*(sx16+sx16z*hbe(23))*  O # eb4efi O * ! O ebiru= eb1ir+eb3irr! O ebiiu= eb1ii+eb3iih$ O ebireu= eb1ire+eb3ire$ O ebiieu= eb1iie+eb3iie" O ebird= -eb2ir+eb4ir" O ebiid= -eb2ii+eb4ii% O ebired= -eb2ire+eb4ire % O ebiied= -eb2iie+eb4iie= O *c! O ebjru= eb1jr+eb3jr ! O ebjiu= eb1ji+eb3jic$ O ebjreu= eb1jre+eb3jre$ O ebjieu= eb1jie+eb3jie" O ebjrd= -eb2jr+eb4jr" O ebjid= -eb2ji+eb4ji% O ebjred= -eb2jre+eb4jreb% O ebjied= -eb2jie+eb4jies O **! O eblru= eb1lr+eb3lr ! O ebliu= eb1li+eb3li $ O eblreu= eb1lre+eb3lre$ O eblieu= eb1lie+eb3lie" O eblrd= -eb2lr+eb4lr" O eblid= -eb2li+eb4li% O eblred= -eb2lre+eb4lre % O eblied= -eb2lie+eb4lie1 O *e! O ebmru= eb1mr+eb3mrq! O ebmiu= eb1mi+eb3mi $ O ebmreu= eb1mre+eb3mre$ O ebmieu= eb1mie+eb3mie" O ebmrd= -eb2mr+eb4mr" O ebmid= -eb2mi+eb4mi% O ebmred= -eb2mre+eb4mre % O ebmied= -eb2mie+eb4mie O  O * ! O ebcru= eb1cr+eb3cre! O ebciu= eb1ci+eb3ci $ O ebcreu= eb1cre+eb3cre$ O ebcieu= eb1cie+eb3cie" O ebcrd= -eb2cr+eb4cr" O ebcid= -eb2ci+eb4ci% O ebcred= -eb2cre+eb4cre-% O ebcied= -eb2cie+eb4cie  O * ! O ebdru= eb1dr+eb3dr5! O ebdiu= eb1di+eb3di)$ O ebdreu= eb1dre+eb3dre$ O ebdieu= eb1die+eb3die" O ebdrd= -eb2dr+eb4dr" O ebdid= -eb2di+eb4di% O ebdred= -eb2dre+eb4dre2% O ebdied= -eb2die+eb4die  O *(! O eberu= eb1er+eb3er ! O ebeiu= eb1ei+eb3ei-$ O ebereu= eb1ere+eb3ere$ O ebeieu= eb1eie+eb3eie" O eberd= -eb2er+eb4er" O ebeid= -eb2ei+eb4ei% O ebered= -eb2ere+eb4eref% O ebeied= -eb2eie+eb4eiet O *e! O ebfru= eb1fr+eb3fr ! O ebfiu= eb1fi+eb3fi#$ O ebfreu= eb1fre+eb3fre$ O ebfieu= eb1fie+eb3fie" O ebfrd= -eb2fr+eb4fr" O ebfid= -eb2fi+eb4fi% O ebfred= -eb2fre+eb4fre-% O ebfied= -eb2fie+eb4fieb O *)' O ebir= (ebiru+ebird)/fcfa ' O ebii= (ebiiu+ebiid)/fcfa * O ebire= (ebireu+ebired)/fcfa* O ebiie= (ebiieu+ebiied)/fcfa O * ' O ebjr= (ebjru+ebjrd)/fcfa ' O ebji= (ebjiu+ebjid)/fcfa * O ebjre= (ebjreu+ebjred)/fcfa* O ebjie= (ebjieu+ebjied)/fcfa O *b' O eblr= (eblru+eblrd)/fcfah' O ebli= (ebliu+eblid)/fcfas* O eblre= (eblreu+eblred)/fcfa* O eblie= (eblieu+eblied)/fcfa O *s' O ebmr= (ebmru+ebmrd)/fcfa ' O ebmi= (ebmiu+ebmid)/fcfa * O ebmre= (ebmreu+ebmred)/fcfa* O ebmie= (ebmieu+ebmied)/fcfa O * ' O ebcr= (ebcru+ebcrd)/fcfa*' O ebci= (ebciu+ebcid)/fcfa * O ebcre= (ebcreu+ebcred)/fcfa* O ebcie= (ebcieu+ebcied)/fcfa O *s' O ebdr= (ebdru+ebdrd)/fcfaq' O ebdi= (ebdiu+ebdid)/fcfa6* O ebdre= (ebdreu+ebdred)/fcfa* O ebdie= (ebdieu+ebdied)/fcfa O * ' O eber= (eberu+eberd)/fcfaf' O ebei= (ebeiu+ebeid)/fcfa * O ebere= (ebereu+ebered)/fcfa* O ebeie= (ebeieu+ebeied)/fcfa O * ' O ebfr= (ebfru+ebfrd)/fcfa ' O ebfi= (ebfiu+ebfid)/fcfa** O ebfre= (ebfreu+ebfred)/fcfa* O ebfie= (ebfieu+ebfied)/fcfa O *e O *-----All M1 O * % O pem1= 1.d0/(t2+t4-x46) O  O qch16= qch*sx16 O qch25= qch*sx25 O * 8 O em1ir= pem1*(qch16*(-qch25+hmp(1)*sx25z)+9 O # sx16z*(qch25*hmp(2)-hmp(3)*sx25z))* O # O # em1ijrc c9 O em1iie= pem1*(qch16*(-qch25+hmp(1)*sx25z)+1: O # sx16z*(qch25*hmp(2)-hmp(3)*sx25z))*$ O # em1ijic  O * 9 O em1jr= -pem1*(qch16*(-qch25+hmp(4)*sx25z)+ : O # sx16z*(qch25*hmp(5)-hmp(6)*sx25z))*$ O # em1ijrc 9 O em1jie= pem1*(qch16*(-qch25+hmp(4)*sx25z)+ : O # sx16z*(qch25*hmp(5)-hmp(6)*sx25z))*$ O # em1ijic  O *f8 O em1lr= pem1*(qch16*(-qch25+hmp(7)*sx25z)+9 O # sx16z*(qch25*hmp(8)-hmp(9)*sx25z))* O # O # em1lmrc b9 O em1lie= pem1*(qch16*(-qch25+hmp(7)*sx25z)+r: O # sx16z*(qch25*hmp(8)-hmp(9)*sx25z))*$ O # em1lmic  O *(: O em1mr= -pem1*(qch16*( ch25+hmp(10)*sx25z)+; O # sx16z*(qch25*hmp(11)-hmp(12)*sx25z))*1# O # em1lmrc : O em1mie= pem1*(qch16*(-qch25+hmp(10)*sx25z)+< O # sx16z*(qch25*hmp(11)-hmp(12)*sx25z))*$ O # em1lmic  O * 9 O em1cr= pem1*(qch16*(-qch25+hmp(13)*sx25z)+-; O # sx16z*(qch25*hmp(14)-hmp(15)*sx25z))*## O # em1cdrc -: O em1cie= pem1*(qch16*(-qch25+hmp(13)*sx25z)+< O # sx16z*(qch25*hmp(14)-hmp(15)*sx25z))*$ O # em1cdic  O *-: O em1dr= -pem1*(qch16*(-qch25+hmp(16)*sx25z)+; O # sx16z*(qch25*hmp(17)-hmp(18)*sx25z))*m# O # em1cdrc e: O em1die= pem1*(qch16*(-qch25+hmp(16)*sx25z)+< O # sx16z*(qch25*hmp(17)-hmp(18)*sx25z))*$ O # em1cdic  O * 9 O em1er= pem1*(qch16*(-qch25+hmp(19)*sx25z)+ ; O # sx16z*(qch25*hmp(20)-hmp(21)*sx25z))* # O # em1efrc : O em1eie= pem1*(qch16*(-qch25+hmp(19)*sx25z)+< O # sx16z*(qch25*hmp(20)-hmp(21)*sx25z))*$ O # em1efic  O *1: O em1fr= -pem1*(qch16*(-qch25+hmp(22)*sx25z)+; O # sx16z*(qch25*hmp(23)-hmp(24)*sx25z))*)# O # em1efrc x: O em1fie= pem1*(qch16*(-qch25+hmp(22)*sx25z)+< O # sx16z*(qch25*hmp(23)-hmp(24)*sx25z))*$ O # em1efic  O *# O *-----All M2 O *h% O pem2= 1.d0/(t1+t4-x36)  O * 8 O em2ir= pem2*(qch16*(-qch25+hmp(1)*sx25z)+9 O # sx16z*(qch25*hmp(2)-hmp(3)*sx25z))* # O # em2ijrc c9 O em2iie= pem2*(qch16*(-qch25+hmp(1)*sx25z)++: O # sx16z*(qch25*hmp(2)-hmp(3)*sx25z))*$ O # em2ijic  O *c9 O em2jr= -pem2*(qch16*(-qch25+hmp(4)*sx25z)+=9 O # sx16z*(qch25*hmp(5)-hmp(6)*sx25z))* # O # em2ijrc b9 O em2jie= pem2*(qch16*(-qch25+hmp(4)*sx25z)+ O : O # sx16z*(qch25*hmp(5)-hmp(6)*sx25z))*$ O # em2ijic  O * 8 O em2lr= pem2*(qch16*(-qch25+hmp(7)*sx25z)+9 O # sx16z*(qch25*hmp(8)-hmp(9)*sx25z))*c# O # em2lmrc h9 O em2lie= pem2*(qch16*(-qch25+hmp(7)*sx25z)+2: O # sx16z*(qch25*hmp(8)-hmp(9)*sx25z))*$ O # em2lmic  O *x: O em2mr= -pem2*(qch16*(-qch25+hmp(10)*sx25z)+; O # sx16z*(qch25*hmp(11)-hmp(12)*sx25z))* # O # em2lmrc : O em2mie= pem2*(qch16*(-qch25+hmp(10)*sx25z)+< O # sx16z*(qch25*hmp(11)-hmp(12)*sx25z))*$ O # em2lmic  O * 9 O em2cr= pem2*(qch16*(-qch25+hmp(13)*sx25z)+j; O # sx16z*(qch25*hmp(14)-hmp(15)*sx25z))* # O # em2cdrc b: O em2cie= pem2*(qch16*(-qch25+hmp(13)*sx25z)+< O # sx16z*(qch25*hmp(14)-hmp(15)*sx25z))*$ O # em2cdic  O *3: O em2dr= -pem2*(qch16*(-qch25+hmp(16)*sx25z)+; O # sx16z*(qch25*hmp(17)-hmp(18)*sx25z))*m# O # em2cdrc ): O em2die= pem2*(qch16*(-qch25+hmp(16)*sx25z)+< O # sx16z*(qch25*hmp(17)-hmp(18)*sx25z))*$ O # em2cdic  O * 9 O em2er= pem2*(qch16*(-qch25+hmp(19)*sx25z)+ ; O # sx16z*(qch25*hmp(20)-hmp(21)*sx25z))*h# O # em2efrc : O em2eie= pem2*(qch16*(-qch25+hmp(19)*sx25z)+< O # sx16z*(qch25*hmp(20)-hmp(21)*sx25z))*$ O # em2efic  O *b: O em2fr= -pem2*(qch16*(-qch25+hmp(22)*sx25z)+; O # sx16z*(qch25*hmp(23)-hmp(24)*sx25z))* # O # em2efrc (: O em2fie= pem2*(qch16*(-qch25+hmp(22)*sx25z)+< O # sx16z*(qch25*hmp(23)-hmp(24)*sx25z))*$ O # em2efic  O * O emir= em1ir-em2ir# O emiie= em1iie-em2iiee O *m O emjr= em1jr-em2jr# O emjie= em1jie-em2jie  O * O emlr= em1lr-em2lr# O emlie= em1lie-em2lie0 O * O emmr= em1mr-em2mr# O emmie= em1mie-em2mie  O *- O emcr= em1cr-em2cr# O emcie= em1cie-em2cie O  O * O emdr= em1dr-em2dr# O emdie= em1die-em2die  O * O emer= em1er-em2er# O emeie= em1eie-em2eie  O * O emfr= em1fr-em2fr# O emfie= em1fie-em2fie1 O *s= O ehir= (zpcfr*ebir+ztcfr*emir-zpcfi*ebii)/16.d0 O = O ehjr= (zpcfr*ebjr+ztcfr*emjr-zpcfi*ebji)/16.d0 = O ehlr= (zpcfr*eblr+ztcfr*emlr-zpcfi*ebli)/16.d0c= O ehmr= (zpcfr*ebmr+ztcfr*emmr-zpcfi*ebmi)/16.d0m= O ehcr= (zpcfr*ebcr+ztcfr*emcr-zpcfi*ebci)/16.d0 = O ehdr= (zpcfr*ebdr+ztcfr*emdr-zpcfi*ebdi)/16.d0h= O eher= (zpcfr*eber+ztcfr*emer-zpcfi*ebei)/16.d0 = O ehfr= (zpcfr*ebfr+ztcfr*emfr-zpcfi*ebfi)/16.d0  O * A O ehire= (zpcfr*ebire-zpcfi*ebiie-ztcfi*emiie)/16.d0sA O ehjre= (zpcfr*ebjre-zpcfi*ebjie-ztcfi*emjie)/16.d0 A O ehlre= (zpcfr*eblre-zpcfi*eblie-ztcfi*emlie)/16.d0 A O ehmre= (zpcfr*ebmre-zpcfi*ebmie-ztcfi*emmie)/16.d0rA O ehcre= (zpcfr*ebcre-zpcfi*ebcie-ztcfi*emcie)/16.d0 A O ehdre= (zpcfr*ebdre-zpcfi*ebdie-ztcfi*emdie)/16.d0*A O ehere= (zpcfr*ebere-zpcfi*ebeie-ztcfi*emeie)/16.d0(A O ehfre= (zpcfr*ebfre-zpcfi*ebfie-ztcfi*emfie)/16.d03 O *xA O ehiie= (zpcfi*ebire+ztcfr*emiie+zpcfr*ebiie)/16.d0+A O ehjie= (zpcfi*ebjre+ztcfr*emjie+zpcfr*ebjie)/16.d0 A O ehlie= (zpcfi*eblre+ztcfr*emlie+zpcfr*eblie)/16.d0cA O ehmie= (zpcfi*ebmre+ztcfr*emmie+zpcfr*ebmie)/16.d0 A O ehcie= (zpcfi*ebcre+ztcfr*emcie+zpcfr*ebcie)/16.d0(A O ehdie= (zpcfi*ebdre+ztcfr*emdie+zpcfr*ebdie)/16.d03A O eheie= (zpcfi*ebere+ztcfr*emeie+zpcfr*ebeie)/16.d0 A O ehfie= (zpcfi*ebfre+ztcfr*emfie+zpcfr*ebfie)/16.d0e O *f= O ehii= (zpcfi*ebir+ztcfi*emir+zpcfr*ebii)/16.d0#= O ehji= (zpcfi*ebjr+ztcfi*emjr+zpcfr*ebji)/16.d0 = O ehli= (zpcfi*eblr+ztcfi*emlr+zpcfr*ebli)/16.d0)= O ehmi= (zpcfi*ebmr+ztcfi*emmr+zpcfr*ebmi)/16.d0*= O ehci= (zpcfi*ebcr+ztcfi*emcr+zpcfr*ebci)/16.d0 O = O ehdi= (zpcfi*ebdr+ztcfi*emdr+zpcfr*ebdi)/16.d0 = O ehei= (zpcfi*eber+ztcfi*emer+zpcfr*ebei)/16.d0-= O ehfi= (zpcfi*ebfr+ztcfi*emfr+zpcfr*ebfi)/16.d0c O else O ehir= 0.d0x O ehjr= 0.d0  O ehlr= 0.d0  O ehmr= 0.d0s O ehcr= 0.d0  O ehdr= 0.d0i O eher= 0.d0  O ehfr= 0.d0  O *  O ehire= 0.d0 O ehjre= 0.d0 O ehlre= 0.d0 O ehmre= 0.d0 O ehcre= 0.d0 O ehdre= 0.d0 O ehere= 0.d0 O ehfre= 0.d0  O *  O ehiie= 0.d0 O ehjie= 0.d0 O ehlie= 0.d0 O ehmie= 0.d0 O ehcie= 0.d0 O ehdie= 0.d0 O eheie= 0.d0 O ehfie= 0.d0 O *  O ehii= 0.d0* O ehji= 0.d0  O ehli= 0.d0* O ehmi= 0.d0  O ehci= 0.d0i O ehdi= 0.d0i O ehei= 0.d0b O ehfi= 0.d0  O endif  O * O tdrar= c1azzr+c2azzr O tdrbr= c1bzzr+c2bzzr O tdrcr= c1czzr+c2czzr O tdrdr= c1dzzr+c2dzzr O tdrer= c1ezzr+c2ezzr O tdrfr= c1fzzr+c2fzzr O tdrgr= c1gzzr+c2gzzr O tdrhr= c1hzzr+c2hzzr O * # O tdraie= c1azzie+c2azziec# O tdrbie= c1bzzie+c2bzzieh# O tdrcie= c1czzie+c2czzie # O tdrdie= c1dzzie+c2dzzie+# O tdreie= c1ezzie+c2ezzie*# O tdrfie= c1fzzie+c2fzzie4# O tdrgie= c1gzzie+c2gzzie # O tdrhie= c1hzzie+c2hzzie  O *e. O tcar= c1aggr+c1agzr+c1azgr+c1azzr+- O # c2aggr+c2agzr+c2azgr+c2azzr + O tcare= c1aggre+c1agzre+c1azgre+ * O # c2aggre+c2agzre+c2azgre3 O tcaie= c1aggie+c1agzie+c1azgie+c1azzie+ O 2 O # c2aggie+c2agzie+c2azgie+c2azzie' O tcai= c1aggi+c1agzi+c1azgi+ & O # c2aggi+c2agzi+c2azgi O **. O tcbr= c1bggr+c1bgzr+c1bzgr+c1bzzr+- O # c2bggr+c2bgzr+c2bzgr+c2bzzrc+ O tcbre= c1bggre+c1bgzre+c1bzgre+x* O # c2bggre+c2bgzre+c2bzgre3 O tcbie= c1bggie+c1bgzie+c1bzgie+c1bzzie+r2 O # c2bggie+c2bgzie+c2bzgie+c2bzzie' O tcbi= c1bggi+c1bgzi+c1bzgi+h& O # c2bggi+c2bgzi+c2bzgi O *s. O tccr= c1cggr+c1cgzr+c1czgr+c1czzr+- O # c2cggr+c2cgzr+c2czgr+c2czzr + O tccre= c1cggre+c1cgzre+c1czgre+(* O # c2cggre+c2cgzre+c2czgre3 O tccie= c1cggie+c1cgzie+c1czgie+c1czzie+h2 O # c2cggie+c2cgzie+c2czgie+c2czzie' O tcci= c1cggi+c1cgzi+c1czgi+ & O # c2cggi+c2cgzi+c2czgi O * . O tcdr= c1dggr+c1dgzr+c1dzgr+c1dzzr+- O # c2dggr+c2dgzr+c2dzgr+c2dzzr + O tcdre= c1dggre+c1dgzre+c1dzgre+ * O # c2dggre+c2dgzre+c2dzgre3 O tcdie= c1dggie+c1dgzie+c1dzgie+c1dzzie+42 O # c2dggie+c2dgzie+c2dzgie+c2dzzie' O tcdi= c1dggi+c1dgzi+c1dzgi+=& O # c2dggi+c2dgzi+c2dzgi O * . O tcer= c1eggr+c1egzr+c1ezgr+c1ezzr+- O # c2eggr+c2egzr+c2ezgr+c2ezzr + O tcere= c1eggre+c1egzre+c1ezgre+ * O # c2eggre+c2egzre+c2ezgre3 O tceie= c1eggie+c1egzie+c1ezgie+c1ezzie+ 2 O # c2eggie+c2egzie+c2ezgie+c2ezzie' O tcei= c1eggi+c1egzi+c1ezgi+z& O # c2eggi+c2egzi+c2ezgi O *b. O tcfr= c1fggr+c1fgzr+c1fzgr+c1fzzr+- O # c2fggr+c2fgzr+c2fzgr+c2fzzr++ O tcfre= c1fggre+c1fgzre+c1fzgre+f* O # c2fggre+c2fgzre+c2fzgre3 O tcfie= c1fggie+c1fgzie+c1fzgie+c1fzzie+42 O # c2fggie+c2fgzie+c2fzgie+c2fzzie' O tcfi= c1fggi+c1fgzi+c1fzgi+)& O # c2fggi+c2fgzi+c2fzgi O *4. O tcgr= c1gggr+c1ggzr+c1gzgr+c1gzzr+- O # c2gggr+c2ggzr+c2gzgr+c2gzzr1+ O tcgre= c1gggre+c1ggzre+c1gzgre+2* O # c2gggre+c2ggzre+c2gzgre3 O tcgie= c1gggie+c1ggzie+c1gzgie+c1gzzie+(2 O # c2gggie+c2ggzie+c2gzgie+c2gzzie' O tcgi= c1gggi+c1ggzi+c1gzgi+ & O # c2gggi+c2ggzi+c2gzgi O *c. O tchr= c1hggr+c1hgzr+c1hzgr+c1hzzr+- O # c2hggr+c2hgzr+c2hzgr+c2hzzr + O tchre= c1hggre+c1hgzre+c1hzgre+ * O # c2hggre+c2hgzre+c2hzgre3 O tchie= c1hggie+c1hgzie+c1hzgie+c1hzzie+ 2 O # c2hggie+c2hgzie+c2hzgie+c2hzzie' O tchi= c1hggi+c1hgzi+c1hzgi+i& O # c2hggi+c2hgzi+c2hzgi O *i. O tpar= p1aggr+p1agzr+p1azgr+p1azzr+. O # p2aggr+p2agzr+p2azgr+p2azzr+. O # p3aggr+p3agzr+p3azgr+p3azzr+- O # p4aggr+p4agzr+p4azgr+p4azzr=3 O tpare= p1aggre+p1agzre+p1azgre+p1azzre+ 2 O # p2aggre+p2agzre+p2azgre+p2azzre+2 O # p3aggre+p3agzre+p3azgre+p3azzre+1 O # p4aggre+p4agzre+p4azgre+p4azzred3 O tpaie= p1aggie+p1agzie+p1azgie+p1azzie+b2 O # p2aggie+p2agzie+p2azgie+p2azzie+2 O # p3aggie+p3agzie+p3azgie+p3azzie+1 O # p4aggie+p4agzie+p4azgie+p4azzie O . O tpai= p1aggi+p1agzi+p1azgi+p1azzi+. O # p2aggi+p2agzi+p2azgi+p2azzi+. O # p3aggi+p3agzi+p3azgi+p3azzi+- O # p4aggi+p4agzi+p4azgi+p4azzie O * . O tpbr= p1bggr+p1bgzr+p1bzgr+p1bzzr+. O # p2bggr+p2bgzr+p2bzgr+p2bzzr+. O # p3bggr+p3bgzr+p3bzgr+p3bzzr+- O # p4bggr+p4bgzr+p4bzgr+p4bzzr 3 O tpbre= p1bggre+p1bgzre+p1bzgre+p1bzzre+m2 O # p2bggre+p2bgzre+p2bzgre+p2bzzre+2 O # p3bggre+p3bgzre+p3bzgre+p3bzzre+1 O # p4bggre+p4bgzre+p4bzgre+p4bzzrer3 O tpbie= p1bggie+p1bgzie+p1bzgie+p1bzzie+ 2 O # p2bggie+p2bgzie+p2bzgie+p2bzzie+2 O # p3bggie+p3bgzie+p3bzgie+p3bzzie+1 O # p4bggie+p4bgzie+p4bzgie+p4bzzie . O tpbi= p1bggi+p1bgzi+p1bzgi+p1bzzi+. O # p2bggi+p2bgzi+p2bzgi+p2bzzi+. O # p3bggi+p3bgzi+p3bzgi+p3bzzi+- O # p4bggi+p4bgzi+p4bzgi+p4bzzi  O *d. O tpcr= p1cggr+p1cgzr+p1czgr+p1czzr+. O # p2cggr+p2cgzr+p2czgr+p2czzr+. O # p3cggr+p3cgzr+p3czgr+p3czzr+- O # p4cggr+p4cgzr+p4czgr+p4czzre3 O tpcre= p1cggre+p1cgzre+p1czgre+p1czzre+e2 O # p2cggre+p2cgzre+p2czgre+p2czzre+2 O # p3cggre+p3cgzre+p3czgre+p3czzre+1 O # p4cggre+p4cgzre+p4czgre+p4czzre O 3 O tpcie= p1cggie+p1cgzie+p1czgie+p1czzie+ 2 O # p2cggie+p2cgzie+p2czgie+p2czzie+2 O # p3cggie+p3cgzie+p3czgie+p3czzie+1 O # p4cggie+p4cgzie+p4czgie+p4czzie . O tpci= p1cggi+p1cgzi+p1czgi+p1czzi+. O # p2cggi+p2cgzi+p2czgi+p2czzi+. O # p3cggi+p3cgzi+p3czgi+p3czzi+- O # p4cggi+p4cgzi+p4czgi+p4czzi  O * . O tpdr= p1dggr+p1dgzr+p1dzgr+p1dzzr+. O # p2dggr+p2dgzr+p2dzgr+p2dzzr+. O # p3dggr+p3dgzr+p3dzgr+p3dzzr+- O # p4dggr+p4dgzr+p4dzgr+p4dzzr+3 O tpdre= p1dggre+p1dgzre+p1dzgre+p1dzzre+c2 O # p2dggre+p2dgzre+p2dzgre+p2dzzre+2 O # p3dggre+p3dgzre+p3dzgre+p3dzzre+1 O # p4dggre+p4dgzre+p4dzgre+p4dzzree3 O tpdie= p1dggie+p1dgzie+p1dzgie+p1dzzie+r2 O # p2dggie+p2dgzie+p2dzgie+p2dzzie+2 O # p3dggie+p3dgzie+p3dzgie+p3dzzie+1 O # p4dggie+p4dgzie+p4dzgie+p4dzzie . O tpdi= p1dggi+p1dgzi+p1dzgi+p1dzzi+. O # p2dggi+p2dgzi+p2dzgi+p2dzzi+. O # p3dggi+p3dgzi+p3dzgi+p3dzzi+- O # p4dggi+p4dgzi+p4dzgi+p4dzzi( O *r. O tper= p1eggr+p1egzr+p1ezgr+p1ezzr+. O # p2eggr+p2egzr+p2ezgr+p2ezzr+. O # p3eggr+p3egzr+p3ezgr+p3ezzr+- O # p4eggr+p4egzr+p4ezgr+p4ezzr O 3 O tpere= p1eggre+p1egzre+p1ezgre+p1ezzre+ 2 O # p2eggre+p2egzre+p2ezgre+p2ezzre+2 O # p3eggre+p3egzre+p3ezgre+p3ezzre+1 O # p4eggre+p4egzre+p4ezgre+p4ezzre)3 O tpeie= p1eggie+p1egzie+p1ezgie+p1ezzie+ 2 O # p2eggie+p2egzie+p2ezgie+p2ezzie+2 O # p3eggie+p3egzie+p3ezgie+p3ezzie+1 O # p4eggie+p4egzie+p4ezgie+p4ezzie5. O tpei= p1eggi+p1egzi+p1ezgi+p1ezzi+. O # p2eggi+p2egzi+p2ezgi+p2ezzi+. O # p3eggi+p3egzi+p3ezgi+p3ezzi+- O # p4eggi+p4egzi+p4ezgi+p4ezzii O *p. O tpfr= p1fggr+p1fgzr+p1fzgr+p1fzzr+. O # p2fggr+p2fgzr+p2fzgr+p2fzzr+. O # p3fggr+p3fgzr+p3fzgr+p3fzzr+- O # p4fggr+p4fgzr+p4fzgr+p4fzzr53 O tpfre= p1fggre+p1fgzre+p1fzgre+p1fzzre+62 O # p2fggre+p2fgzre+p2fzgre+p2fzzre+2 O # p3fggre+p3fgzre+p3fzgre+p3fzzre+1 O # p4fggre+p4fgzre+p4fzgre+p4fzzrep3 O tpfie= p1fggie+p1fgzie+p1fzgie+p1fzzie+f2 O # p2fggie+p2fgzie+p2fzgie+p2fzzie+2 O # p3fggie+p3fgzie+p3fzgie+p3fzzie+1 O # p4fggie+p4fgzie+p4fzgie+p4fzzieb. O tpfi= p1fggi+p1fgzi+p1fzgi+p1fzzi+. O # p2fggi+p2fgzi+p2fzgi+p2fzzi+. O # p3fggi+p3fgzi+p3fzgi+p3fzzi+- O # p4fggi+p4fgzi+p4fzgi+p4fzzi* O *h. O tpgr= p1gggr+p1ggzr+p1gzgr+p1gzzr+. O # p2gggr+p2ggzr+p2gzgr+p2gzzr+. O # p3gggr+p3ggzr+p3gzgr+p3gzzr+- O # p4gggr+p4ggzr+p4gzgr+p4gzzr 3 O tpgre= p1gggre+p1ggzre+p1gzgre+p1gzzre+)2 O # p2gggre+p2ggzre+p2gzgre+p2gzzre+2 O # p3gggre+p3ggzre+p3gzgre+p3gzzre+1 O # p4gggre+p4ggzre+p4gzgre+p4gzzre)3 O tpgie= p1gggie+p1ggzie+p1gzgie+p1gzzie+ 2 O # p2gggie+p2ggzie+p2gzgie+p2gzzie+2 O # p3gggie+p3ggzie+p3gzgie+p3gzzie+1 O # p4gggie+p4ggzie+p4gzgie+p4gzzie O . O tpgi= p1gggi+p1ggzi+p1gzgi+p1gzzi+. O # p2gggi+p2ggzi+p2gzgi+p2gzzi+. O # p3gggi+p3ggzi+p3gzgi+p3gzzi+- O # p4gggi+p4ggzi+p4gzgi+p4gzzi* O *h. O tphr= p1hggr+p1hgzr+p1hzgr+p1hzzr+. O # p2hggr+p2hgzr+p2hzgr+p2hzzr+. O # p3hggr+p3hgzr+p3hzgr+p3hzzr+- O # p4hggr+p4hgzr+p4hzgr+p4hzzr O 3 O tphre= p1hggre+p1hgzre+p1hzgre+p1hzzre+22 O # p2hggre+p2hgzre+p2hzgre+p2hzzre+2 O # p3hggre+p3hgzre+p3hzgre+p3hzzre+1 O # p4hggre+p4hgzre+p4hzgre+p4hzzre13 O tphie= p1hggie+p1hgzie+p1hzgie+p1hzzie+ O 2 O # p2hggie+p2hgzie+p2hzgie+p2hzzie+2 O # p3hggie+p3hgzie+p3hzgie+p3hzzie+1 O # p4hggie+p4hgzie+p4hzgie+p4hzzie . O tphi= p1hggi+p1hgzi+p1hzgi+p1hzzi+. O # p2hggi+p2hgzi+p2hzgi+p2hzzi+. O # p3hggi+p3hgzi+p3hzgi+p3hzzi+- O # p4hggi+p4hgzi+p4hzgi+p4hzzi  O *  O dasr= tcar+tpar O  O dasre= tcare+tpare O dasie= tcaie+tpaie O dasi= tcai+tpaih O *h O dbsr= tcbr+tpbr# O dbsre= tcbre+tpbre O dbsie= tcbie+tpbie O dbsi= tcbi+tpbi  O *# O dcsr= tccr+tpcr-ehcr$ O dcsre= tccre+tpcre-ehcre$ O dcsie= tccie+tpcie-ehcie O dcsi= tcci+tpci-ehci O *x/ O d19dr= b1dr+b2dr+b3dgr+b3dzr+b4dgr+-' O # b4dzr+rmdr+fdgr+fdzrm5 O d19dre= b1dre+b2dre+b3dgre+b3dzre+b4dgre+5, O # b4dzre+rmdre+fdgre+fdzre5 O d19die= b1die+b2die+b3dgie+b3dzie+b4dgie+e, O # b4dzie+rmdie+fdgie+fdzie/ O d19di= b1di+b2di+b3dgi+b3dzi+b4dgi+ ' O # b4dzi+rmdi+fdgi+fdzi & O ddsr= tcdr+tpdr-d19dr-ehdr+ O ddsre= tcdre+tpdre-d19dre-ehdre*+ O ddsie= tcdie+tpdie-d19die-ehdie*& O ddsi= tcdi+tpdi-d19di-ehdi O * O desr= tcer+tper-eher$ O desre= tcere+tpere-ehere$ O desie= tceie+tpeie-eheie O desi= tcei+tpei-ehei O * / O d19fr= b1fr+b2fr+b3fgr+b3fzr+b4fgr+e' O # b4fzr+rmfr+ffgr+ffzr+5 O d19fre= b1fre+b2fre+b3fgre+b3fzre+b4fgre+x, O # b4fzre+rmfre+ffgre+ffzre5 O d19fie= b1fie+b2fie+b3fgie+b3fzie+b4fgie+x, O # b4fzie+rmfie+ffgie+ffzie/ O d19fi= b1fi+b2fi+b3fgi+b3fzi+b4fgi+c' O # b4fzi+rmfi+ffgi+ffziq& O dfsr= tcfr+tpfr-d19fr-ehfr+ O dfsre= tcfre+tpfre-d19fre-ehfre5+ O dfsie= tcfie+tpfie-d19fie-ehfie3& O dfsi= tcfi+tpfi-d19fi-ehfi O *5 O dgsr= tcgr+tpgr  O dgsre= tcgre+tpgre O dgsie= tcgie+tpgie O dgsi= tcgi+tpgi  O *  O dhsr= tchr+tphrh O dhsre= tchre+tphre O dhsie= tchie+tphie O dhsi= tchi+tphi  O *  O disr= ehir O disre= ehire O disie= ehiie O disi= ehii O *  O djsr= ehjr O djsre= ehjre O djsie= ehjie O djsi= ehji O *= O dlsr= ehlr O dlsre= ehlre O dlsie= ehlie O dlsi= ehli O *  O dmsr= ehmr O dmsre= ehmre O dmsie= ehmie O dmsi= ehmi O *#5 O ddras= tdrar*tdrar+tdraie*tdraie O 5 O ddrbs= tdrbr*tdrbr+tdrbie*tdrbie25 O ddrcs= tdrcr*tdrcr+tdrcie*tdrcie 5 O ddrds= tdrdr*tdrdr+tdrdie*tdrdie 5 O ddres= tdrer*tdrer+tdreie*tdreiee5 O ddrfs= tdrfr*tdrfr+tdrfie*tdrfie 5 O ddrgs= tdrgr*tdrgr+tdrgie*tdrgiem5 O ddrhs= tdrhr*tdrhr+tdrhie*tdrhie  O * 0 O das= dasr*dasr+dasre*dasre+/ O # dasi*dasi+dasie*dasie20 O dbs= dbsr*dbsr+dbsre*dbsre+/ O # dbsi*dbsi+dbsie*dbsie 0 O dcs= dcsr*dcsr+dcsre*dcsre+/ O # dcsi*dcsi+dcsie*dcsie 0 O dds= ddsr*ddsr+ddsre*ddsre+/ O # ddsi*ddsi+ddsie*ddsiee0 O des= desr*desr+desre*desre+/ O # desi*desi+desie*desie(0 O dfs= dfsr*dfsr+dfsre*dfsre+/ O # dfsi*dfsi+dfsie*dfsie60 O dgs= dgsr*dgsr+dgsre*dgsre+/ O # dgsi*dgsi+dgsie*dgsieb0 O dhs= dhsr*dhsr+dhsre*dhsre+/ O # dhsi*dhsi+dhsie*dhsie 0 O dis= disr*disr+disre*disre+/ O # disi*disi+disie*disier0 O djs= djsr*djsr+djsre*djsre+/ O # djsi*djsi+djsie*djsie 0 O dls= dlsr*dlsr+dlsre*dlsre+/ O # dlsi*dlsi+dlsie*dlsiee0 O dms= dmsr*dmsr+dmsre*dmsre+/ O # dmsi*dmsi+dmsie*dmsier O * 7 O if(oqcd.eq.'y'.and.iqcd.eq.0) then/- O das= das+qcdjac*ddrasi- O dbs= dbs+qcdjac*ddrbse- O dcs= dcs+qcdjac*ddrcs O - O dds= dds+qcdjac*ddrdsz- O des= des+qcdjac*ddresz- O dfs= dfs+qcdjac*ddrfs - O dgs= dgs+qcdjac*ddrgsr- O dhs= dhs+qcdjac*ddrhsl O endif O *d% O 4 if(iz.eq.0) thenz! O do i=1,12 3 O dpxs(ix,it,itt,i)= 0.d0e O enddo O iz= 1 O else : O tjac= ujc*vjc*smjc*spjc*sujc*sdjc*; O # sfjc*twjc*t1jc*pmjac*ppjac*vv O : O if(oqcd.eq.'y'.and.iqcd.gt.0) then3 O tjac= tjac*(1.d0+qcdjac)p O endif ' O tjacp= tjac*stf/6 O dpxs(ix,it,itt,1)= tjacp*das/s6 O dpxs(ix,it,itt,2)= tjacp*dbs/s6 O dpxs(ix,it,itt,3)= tjacp*dcs/s6 O dpxs(ix,it,itt,4)= tjacp*dds/s6 O dpxs(ix,it,itt,5)= tjacp*des/s6 O dpxs(ix,it,itt,6)= tjacp*dfs/s6 O dpxs(ix,it,itt,7)= tjacp*dgs/s6 O dpxs(ix,it,itt,8)= tjacp*dhs/s. O if(otype.eq.'nc48'.or.1 O # otype.eq.'nc50' ) then 9 O dpxs(ix,it,itt,9)= tjacp*dis/s : O dpxs(ix,it,itt,10)= tjacp*djs/s: O dpxs(ix,it,itt,11)= tjacp*dls/s: O dpxs(ix,it,itt,12)= tjacp*dms/s O else3 O dpxs(ix,it,itt,9)= 0.d0e3 O dpxs(ix,it,itt,10)= 0.d0m3 O dpxs(ix,it,itt,11)= 0.d0e3 O dpxs(ix,it,itt,12)= 0.d0  O endif  O endif O *j O *-----end of ix loop O *  O enddo O * ! O 5 if(iz.eq.0) thene O do i=1,12=! O do ix=1,2 O 4 O epxs(ix,it,itt,i)= 0.d0 O enddo2 O enddoc O iz= 1d O else  O do i=1,12 ! O do ix=1,2 A O epxs(ix,it,itt,i)= dpxs(ix,it,itt,i)  O enddoi O enddoz O endif O *d O *-----end of itt loop O  O *  O enddo O *d O do i=1,12% O cpxs(it,i)= 0.d0 " O do itt=1,ittm? O cpxs(it,i)= cpxs(it,i)+epxs(1,it,itt,i)+a3 O # epxs(2,it,itt,i)2 O enddo O enddo O *e O 2 if(iz.eq.0) thena O do i=1,12i& O bpxs(it,i)= 0.d0 O enddoc O iz= 1  O elsei O do i=1,12 , O bpxs(it,i)= cpxs(it,i) O enddoc O endif O *  O *-----end on it loop O *z O enddoc O *= O 1 if(iz.eq.0) then O do i=1,12 O apxs(i)= 0.d0 O enddo O iz= 1 O else O do i=1,12- O apxs(i)= bpxs(1,i)+bpxs(2,i)1 O enddo O endifz O *2 O apxst= 0.d0  O do i=1,12c O apxst= apxst+apxs(i) O enddo + O if(apxst.lt.0.d0) then O ifz(41)= ifz(41)+1( O resf= 0.d0c O else O resf= apxst O endifg O *c O wtoxsn= 256.d0*tfact*resf  O *  O if(om.eq.'g') then O if(osm.eq.'n') then O jp= iwtopos(ndim,x) ( O if(wtoxsn.gt.xshmx(jp)) then O xshmx(jp)= wtoxsn O do l=1,9 # O xmxh(jp,l)= x(l)  O enddo O endif  O endif O xaph(1)= xm O xaph(2)= xp O xaph(3)= sm O xaph(4)= sp O xaph(5)= su O xaph(6)= sd O xaph(7)= sf O xaph(8)= tw O xaph(9)= t1 O xaph(10)= t3 O endif1 O *r O return O end O O G O *-----WTOXSNG----------------------------------------------------------e O *e% O real*8 function wtoxsng(ndim,x)c O implicit real*8 (a-h,o-z)= O *e O character*1,oqcd,om,osm O  O character*4,otypee O *e! O parameter(ninv=10,npos=512)c O *  O common/wtmod/om O  O common/wtmp/zrmi O common/wtqcd/als O common/wtkount/ikz O common/wtsmod/osm  O common/wtdis/dist2 O common/wtistrf/isf O common/wtcqcd/iqcd O common/wtlmsb/qcdl O common/wtaqcd/oqcd O common/wtqcdz/alsz O common/wtsf/ix0,it0 O  O common/wtchi/hch(36) O common/wtipt/ifz(44) O common/wticuts/iac(4)1 O common/wtisa/isaa,isab O common/wthx/xshmx(npos)  O common/wtochannel/otypeg O common/wtparh/xaph(ninv)F O common/wttc/itc,itcc,itcn O common/wtpmxh/xmxh(npos,9)& O common/wtncc/chf2,chfp2,conc(10)2 O common/wtnclr/vel,ver,velr,vfl,vfr,vfpl,vfpr3 O common/wtnchannel/chf,chfp,tif,tifp,fcun,fcdn1? O common/wtbpar/wm,zm,zg,gf,pi,pis,cfct,fcnt,ge,alphai,alwic> O common/wtfmass/em,rmm,tm,rnm,uqm,dqm,cqm,sqm,bqm,tqm,dmyD O common/wtcpar/alpha,hbet,hbeti,omhb,eob,d0gl,g8,tfact,pih,alw,) O # eta,feta,beta,g2,tfacth F O common/wtapar/ars,s,rwm,rwm2,rwg,rwmg,swg,swgs,opswgs,sth2,cth2,E O # hsth2,tsth2,scth2,asth2,tth2,rzm,rzm2,rzg,rzmg,szg, C O # szgs,opszgs,sth4,cth4,ve,vf,vfp,rbqm2,rszw,rszw2,a O # s0w,s0z H O common/wtsubreg/dsm,usm,dsp,usp,rl(6),rr(6),srl(6),sdsm,sdsp,vvl1,* O # vvl2,vvl3,ul,omul,sumlF O common/wtcuts/aim(6),bim(6),ae(4),asa(4),bsa(4),afsa(6),bfsa(6),A O # ombsa(4),opbsa(4),teq,rae(4),omasa(4),opasa(4), ? O # sg12,cg12,sg13,cg13,sg14,cg14,sg23,cg23,sg24,g= O # cg24,sg34,cg34,sct120,sct130,sct140,sct230,e/ O # sct240,sct340,sgam(4),cgam(4)z O *+ O dimension tgn(16)  O dimension x(ndim)+ O dimension bt1(2),bt2(2)g O dimension rru1(2),rru2(2)  O dimension sfur(2),sflr(2)i O dimension ret1(2),ret2(2)i O dimension ee(5),e(5),sg(5)% O dimension rrr(6),rrl(6),srrl(6) ( O dimension bl(4),xbl(4),ss(4),cs(4)@ O dimension dpxs(2,2,2,8),epxs(2,2,2,8),cpxs(2,8),bpxs(2,8), O # apxs(8)z9 O dimension rr1(2),rr2(2),rs1(2),rs2(2),rtp(2),rtm(2) O + O dimension hfr(4),hgr(4),hnr(4),hor(4)  O * 4 O data ec2/-0.4999999963d0/,ec4/0.0416666418d0/,4 # ec6/-0.0013888397d0/,ec8/0.0000247609d0/, O # ec10/-0.0000002605d0/ O *+# O external c02ajf,s09aaf,s07aaf4 O external s21bbf,s21caf O * " O *-----the order of integration is:5 O * u, v, m_-^2, m_+^2, M_0^2, m_0^2, m^2, t_w, t_1i O * 6 O * m_{+/-}^2 transformed for the resonating peaks6 O * M_0^2,m_0^2 transformed for the resonating peaks4 O * m^2 and t_1 transformed for the jacobian peaks O *g O do ix=1,2p O do it=1,2 O do itt=1,2 O do il=1,8b3 O dpxs(ix,it,itt,il)= 0.d0z O enddo  O enddoz O enddo O enddo  O do it=1,2z O do il=1,8! O cpxs(it,il)= 0.d0 ! O bpxs(it,il)= 0.d0e O enddo O enddo  O if(ndim.eq.6) then O if(itc.eq.1) then O if(itcc.eq.1) then O smx= x(1) O sux= x(2) O sdx= x(3) O sfx= x(4) O twx= x(5) O t1x= x(6)# O else if(itcc.eq.2) then3 O smx= x(1) O spx= x(2) O sux= x(3) O sfx= x(4) O twx= x(5) O t1x= x(6)# O else if(itcc.eq.3) theni O smx= x(1) O spx= x(2) O sux= x(3) O sdx= x(4) O twx= x(5) O t1x= x(6) O endif else3 O smx= x(1)  O sux= x(2)4 O sdx= x(3)  O sfx= x(4)e O twx= x(5)  O t1x= x(6)2 O endif O else if(ndim.eq.8) thenr O if(itc.eq.1) then O if(itcc.eq.1) then O uvx= x(1) O vvx= x(2) O smx= x(3) O sux= x(4) O sdx= x(5) O sfx= x(6) O twx= x(7) O t1x= x(8)# O else if(itcc.eq.2) theni O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sfx= x(6) O twx= x(7) O t1x= x(8)# O else if(itcc.eq.3) then  O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sdx= x(6) O twx= x(7) O t1x= x(8) O endifr else  O uvx= x(1)3 O vvx= x(2)  O smx= x(3)r O sux= x(4)  O sdx= x(5)p O sfx= x(6)  O twx= x(7)g O t1x= x(8)z O endif O else if(ndim.eq.7) then+ O smx= x(1) O spx= x(2) O sux= x(3) O sdx= x(4) O sfx= x(5) O twx= x(6) O t1x= x(7) O else if(ndim.eq.9) then  O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sdx= x(6) O sfx= x(7) O twx= x(8) O t1x= x(9) O endif  O *  O ik= ik+1 rs= ars O  O one= 1.d0  O *g( O *-----if a point is not allowed then the O * result is set to zerof O *e O iz= 1  O * % O if(ndim.eq.6.or.ndim.eq.7) then  O ueps= 0.d0r O uv= 1.d03 O uvs= uv*uv  O ujc= 1.d0 O veps= 0.d0  O vv= 1.d0g O vjc= 1.d0* O else if(ndim.eq.8.or.ndim.eq.9) then O *z, O *-----independent invariants are initialized O * first u and v variable O *  O if(itc.eq.3) then? O omuld= 1.d0-(dist/rs+sqrt(dsm))*(dist/rs+sqrt(dsm)) # O omul= dmin1(omul,omuld)+ O endif O if(uvx.gt.1.d0) then+ O iz= 0  O ifz(1)= ifz(1)+1 O go to 1  O endif% O ueps= omul*(1.d0-uvx)**hbetip O uv= 1.d0-ueps O ujc= omul**hbet O uvs= uv*uv  O *# O *-----limits for v O *z O *-----from equal cuts on SA  O *r+ O if(iac(3).eq.1.and.isab.eq.1) then ' O vvl4= ombsa(1)/opbsa(1)*uvs++ O vvl= dmax1(vvl1,vvl2,vvl3,vvl4)3 else & O vvl= dmax1(vvl1,vvl2,vvl3) O endif O *i O *-----from E O *e O vve= uv*(2.d0*suml-uv)  O vvll= dmax1(vvl,vve)z O *+ O if(itc.eq.3) then: O vvlld= (dist/rs+sqrt(dsm))*(dist/rs+sqrt(dsm))# O vvll= dmax1(vvll,vvlld)1 O endif O *p O vvu1= uv + O if(iac(3).eq.1.and.isaa.eq.1) then ' O vvu2= omasa(1)/opasa(1)*uvs ! O vvu= dmin1(vvu1,vvu2)p else  O vvu= uvp O endif O uvl= uv-vvll  O *g O vkf= (uv-vvu)/uvl O if(vkf.lt.0.d0) then3 O iz= 0# O ifz(1)= ifz(1)+1 O go to 1 " O else if(vkf.eq.0.d0) then O if(vvx.gt.1.d0) then O iz= 0 O ifz(1)= ifz(1)+1g O go to 1% O else if(vvx.eq.1.d0) then+ O veps= 0.d0= O else) O veps= uvl*(1.d0-vvx)**hbeti+ O endifz O avkf= 1.d0 else+8 O veps= uvl*(1.d0-(1.d0-vkf**hbet)*vvx)**hbeti O avkf= 1.d0-vkf**hbet O endif O vv= uv-veps O vjc0= 1.d0-vvll/uvh O if(vjc0.le.0.d0) then O iz= 0+ O ifz(1)= ifz(1)+1 O go to 1 elsea O vjc= vjc0**hbet*avkf O endif O endifi O *t O if(vv.lt.0.d0) theni O iz= 0 O ifz(1)= ifz(1)+1b O go to 1 O endifb O svv= sqrt(vv)= O vzmg= rzmg*vv  O vvs= vv*vv O xm= uv O xp= vv/uv c O xmop= xm/xp % O if(ndim.eq.7.or.ndim.eq.6) thenc O xdf= 0.d0 O else( O xdf= (ueps*(1.d0-ueps)-veps)/uv O endif2 O xdfs= xdf*xdf- O sh= vv*s O *  O *-----Z parameters O * O  O rszm2= zm*zm/shr O *21 O *-----Z propagator (real part and imaginary part)z O *r O dsz0= 1.d0-rszm2 O dsz= dsz0*dsz0+rszw2 O rsz= dsz0/dsz O  O aisz= -rszw/dszz O *rC O *-----Reduced structure functions are computed with arguments xp,xm  O *# O opxp= 1.d0+xpd O opxm= 1.d0+xm  O omxp= veps/uv1 O omxm= ueps O if(isf.eq.0) t O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O zpeu2= vv*(1.d0-bl(1))  O zpeu3= vv*(1.d0-bl(2))  O else if(ieq.eq.1) then( O zpel= vv*(sm-enc+xbl(3)+xbl(4))) O zpeu1= vv*(sm+enc-xbl(1)-xbl(2))n O zpeu2= vv*(enc-xbl(1))c O zpeu3= vv*(enc-xbl(2)) O endif  O zpa= dmax1(zpa,zpel)' O zpb= dmin1(zpb,zpeu1,zpeu2,zpeu3)  O zpap= vv*sct34 O zpa= dmax1(zpa,zpap)% O if(itc.eq.1.and.itcc.eq.3) thenf. O zpbd3= vv*(1.d0-sm)-0.5d0*dist*dist/s O zpb= dmin1(zpb,zpbd3) O endifw O *a O *-----test on sp O *d O if(zpb.le.zpa) then  O iz= 0 O ifz(5)= ifz(5)+10 O go to 1 O endif  O * B O if((itc.eq.1.and.itcc.eq.1).or.(itc.gt.1.and.itc.lt.3)) then8 O bdistl= (dist/rs-svv*ssm)*(dist/rs-svv*ssm)-zpa8 O bdistu= zpb-(dist/rs-svv*ssm)*(dist/rs-svv*ssm)2 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then O iz= 0  O ifz(5)= ifz(5)+1 O go to 1s O endif O else if(itc.eq.3) then O bdistl= dist*dist/s-zpa O bdistu= zpb-dist*dist/s2 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then O iz= 0a O ifz(5)= ifz(5)+1 O go to 1  O endif O endif1 O *gB O if((itc.eq.1.and.itcc.eq.1).or.(itc.gt.1.and.itc.lt.3)) then0 O sp= (dist/rs/svv-ssm)*(dist/rs/svv-ssm)1 O spjc= 2.d0*abs((dist/rs-svv*ssm))/vv/arse O else if(itc.eq.3) then O sp= (dist/rs/svv)**2o O spjc= 2.d0*dist/vv/ss O else O *r O spjc0= zpb-zpa1 O sp= (spjc0*spx+zpa)/vv5 O spjc= spjc0/vvs O endifl O *, O if(sp.lt.0.d0) thenl O iz= 0 O ifz(5)= ifz(5)+1s O go to 1 O endif8 O ssp= sqrt(sp)  O spmm= sp-sm  O smmp= sm-sp) O *2 O if(oqcd.eq.'y') then O if(iqcd.eq.1) thenh5 O qcdjac= (1.d0+0.5d0*alsz/pi*(fcun-1.d0))*09 O # (1.d0+0.5d0*alsz/pi*(fcdn-1.d0))-1.d0/) O fggp= pi*als/g2/chf/chfp/sth22) O fggm= pi*als/g2/chf/chfp/sth27 O else if(iqcd.eq.2) then O nf= 5e# O scalp= sqrt(vv)*ssp*ars^# O scalm= sqrt(vv)*ssm*arsi( O alsp= wtorals(qcdl,scalp,nf)( O alsm= wtorals(qcdl,scalm,nf)5 O qcdjac= (1.d0+0.5d0*alsp/pi*(fcun-1.d0))* 9 O # (1.d0+0.5d0*alsm/pi*(fcdn-1.d0))-1.d0 * O fggp= pi*alsp/g2/chf/chfp/sth2* O fggm= pi*alsm/g2/chf/chfp/sth2 O endif O else& O fggp= pi*als/g2/chf/chfp/sth2& O fggm= pi*als/g2/chf/chfp/sth2 O qcdjac= 0.d0 O endif  O *i O cbw= -1.d0+sp-sm ifcr= 0 * O call c02ajf(one,cbw,sm,bt1,bt2,ifcr) O if(bt1(2).ne.0.d0) thend O iz= 0 O ifz(6)= ifz(6)+1  O go to 1 O endifn O *  O smtp= sm*spq O ssmpp= ssm+ssp O ssmmp= ssm-ssp O asup= 1.d0-ssmpp*ssmpp O asum= 1.d0-ssmmp*ssmmp+ O if(asup.lt.0.d0.or.asum.lt.0.d0) then  O iz= 0 O ifz(7)= ifz(7)+1. O go to 1 O endif( O rasup= sqrt(asup)( O rasum= sqrt(asum)( O * O " O *-----initialization of su = M_0^2 O * % O *-----limits on su from cuts on FS IM  O *  O sulim= rrl(4). O suuim1= rrr(4)5 O suuim2= (1.d0-srrl(3))*(1.d0-srrl(3)) s! O suuim= dmin1(suuim1,suuim2) O  O * @ O *-----limits on su from Delta_- > 0 (as derived from consistency O * on sd limits)  O * / O suud1= 0.25d0*(rasup+rasum)*(rasup+rasum) - O suud2= 0.25d0*(1.d0+rasup)*(1.d0+rasup)  O *w O sul= sulim O sul= dmax1(sul,sct23)f O if(ieq.eq.0) then) O sul1= bl(2)+bl(3)-1.d0n O suu1= 1.d0-sp-bl(1) O suu2= 1.d0-sm-bl(4)* O suu3= (1.d0-0.5d0*(bl(1)+bl(4)))** O # (1.d0-0.5d0*(bl(1)+bl(4))) O else if(ieq.eq.1) then* O sul1= xbl(2)+xbl(3)+1.d0-2.d0*enc O suu1= enc-sp-xbl(1) O suu2= enc-sm-xbl(4)+ O suu3= (enc-0.5d0*(xbl(1)+xbl(4)))*(* O # (enc-0.5d0*(xbl(1)+xbl(4))) O endif  O sul= dmax1(sul,sul1)2 O suu= dmin1(suuim,suud1,suud2,suu1,suu2,suu3) O sdlim= rrl(3) O  O * % O if(itc.eq.1.and.itcc.eq.2) then " O dsdl= dmax1(sdlim,sct140)@ O dsuu= (dist/svv/rs-sqrt(dsdl))*(dist/svv/rs-sqrt(dsdl)) O suu= dmin1(suu,dsuu) O endif)% O if(itc.eq.1.and.itcc.eq.3) then / O suud3= 1.d0-sm-sp-0.5d0*dist*dist/vv/s O  O suu= dmin1(suu,suud3) O endif  O *  O *-----test on su O * O  O if(suu.le.sul) then  O iz= 0 O ifz(8)= ifz(8)+1 O  O go to 1 O endif  O *  O sujc= suu-sule O su= sujc*sux+sul O if(su.lt.0.d0) then  O iz= 0 O ifz(8)= ifz(8)+1) O go to 1 O endifs O ssu= sqrt(su)x O *(" O *-----initialization of sd = m_0^2 O *d% O *-----limits on sd from cuts on FS IM  O *  O sdlim= rrl(3)s O sduim1= rrr(3)# O sduim2= (1.d0-ssu)*(1.d0-ssu)s! O sduim= dmin1(sduim1,sduim2)  O *t# O *-----limits on sd from Delta_- > 0n O *  O if(ssu.gt.rasup) thens& O sdld= (ssu-rasup)*(ssu-rasup) O else O sdld= sdlim O endif $ O sdud1= (ssu+rasup)*(ssu+rasup)& O sdud2= (-ssu+rasum)*(-ssu+rasum) O sdud= dmin1(sdud1,sdud2) O *dC O *-----limits on sd from cuts on SA. Here for maximum security. Rare  O * A O if(iac(3).ne.0.and.ss(4).eq.ss(1).and.ss(3).eq.ss(2)) then q O if(ss(2).eq.ss(1)) then# O asdu= dmin1(sduim,sdud) # O asdl= dmax1(sdlim,sdld).% O else if(ss(1).gt.ss(2)) thens6 O sdusa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2))) O asdu= dmin1(sduim,sdud,sdusa) # O asdl= dmax1(sdlim,sdld)z% O else if(ss(1).lt.ss(2)) then # O asdu= dmin1(sduim,sdud) 6 O sdlsa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2))) O asdl= dmax1(sdlim,sdld,sdlsa)  O endif O else O asdu= dmin1(sduim,sdud) O asdl= dmax1(sdlim,sdld) O endiftA O if(iac(3).ne.0.and.cs(4).eq.cs(1).and.cs(3).eq.cs(2)) then a O if(cs(2).eq.cs(1)) then O sdl= asdl= O sdu= asdu O % O else if(cs(1).gt.cs(2)) then  O sdu= asdum6 O sdlsb= su+(1.d0-cs(1)-cs(2))/(cs(1)-cs(2))" O sdl= dmax1(asdl,sdlsb)% O else if(cs(1).lt.cs(2)) then O  O sdl= asdl(6 O sdusb= su+(1.d0-cs(1)-cs(2))/(cs(1)-cs(2))" O sdu= dmin1(asdu,sdusb) O endif O else O sdl= asdl O sdu= asdu O endif2 O * O  O if(ieq.eq.0) then $ O sdenl= -1.d0+bl(1)+bl(4)+su O sdenu1= 1.d0-sp-bl(2) O sdenu2= 1.d0-sm-bl(3)$ O sdenu3= 1.d0-bl(2)-bl(3)+su O else if(ieq.eq.1) then. O sdenl= su+1.d0-2.d0*enc+xbl(1)+xbl(4) O sdenu1= enc-sp-xbl(2) O sdenu2= enc-sm-xbl(3)/ O sdenu3= su-1.d0+2.d0*enc-xbl(2)-xbl(3) O endif  O sdl= dmax1(sdl,sdenl)+* O sdu= dmin1(sdu,sdenu1,sdenu2,sdenu3) O sdl= dmax1(sdl,sct14)1% O if(itc.eq.1.and.itcc.eq.3) then , O sdld3= 1.d0-sm-sp-su-dist*dist/vv/s O sdl= dmax1(sdl,sdld3)2 O sdud3= 1.d0-sm-sp-su-0.5d0*dist*dist/vv/s O sdu= dmin1(sdu,sdud3) O endif  O *c O *-----test on sd O *  O if(sdu.le.sdl) then O  O iz= 0 O ifz(9)= ifz(9)+1( O go to 1 O endif  O * % O if(itc.eq.1.and.itcc.eq.2) thenf; O bdistl= (dist/rs-svv*ssu)*(dist/rs-svv*ssu)-vv*sdli; O bdistu= vv*sdu-(dist/rs-svv*ssu)*(dist/rs-svv*ssu)12 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then O iz= 0v O ifz(9)= ifz(9)+1 O go to 1  O endif O endif. O *m% O if(itc.eq.1.and.itcc.eq.2) then 0 O sd= (dist/rs/svv-ssu)*(dist/rs/svv-ssu)1 O sdjc= 2.d0*abs((dist/rs-svv*ssu))/vv/ars O else O sdjc= sdu-sdl O sd= sdjc*sdx+sdlr O endifl O *r O if(sd.lt.0.d0) then O  O iz= 0 O ifz(9)= ifz(9)+10 O go to 1 O endif  O ssd= sqrt(sd) O  O sdmu= sd-sut$ O sdmus= (1.d0+sdmu)*(1.d0+sdmu) O *e O *-----initialization of sf = m^2 O * O % O *-----limits on sf from cuts on FS IMu O * O  O sflim1= rrl(2) O sfuim1= rrr(2) O bsg= sm+sp+su+sd O ombsg= 1.d0-bsg  O sflim2= ombsg-rrr(5) O sfuim2= ombsg-rrl(5)! O sflim= dmax1(sflim1,sflim2)s! O sfuim= dmin1(sfuim1,sfuim2)p O * O " O *-----limits on sf from cuts on SA O * $ O tcuts= ss(1)-ss(2)+ss(3)-ss(4)$ O tcutc= cs(1)-cs(2)+cs(3)-cs(4)> O if(iac(3).ne.0.and.tcuts.ne.0.d0.and.tcutc.ne.0.d0) then1 O if(tcuts.gt.0.d0.and.tcutc.gt.0.d0) thenl6 O sflsa= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- + O # (cs(1)-cs(4))*sm)/tcutc O 6 O sfusa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp-p+ O # (ss(1)-ss(4))*sm)/tcuts o$ O asfl= dmax1(sflim,sflsa)$ O asfu= dmin1(sfuim,sfusa)6 O else if(tcuts.gt.0.d0.and.tcutc.lt.0.d0) then6 O sfusa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp-.+ O # (ss(1)-ss(4))*sm)/tcuts 6 O sfusb= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp-j+ O # (cs(1)-cs(4))*sm)/tcutc p* O asfu= dmin1(sfuim,sfusa,sfusb)# O asfl= sflim 6 O else if(tcuts.lt.0.d0.and.tcutc.gt.0.d0) then6 O sflsa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp-f+ O # (ss(1)-ss(4))*sm)/tcuts 6 O sflsb= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- + O # (cs(1)-cs(4))*sm)/tcutc .* O asfl= dmax1(sflim,sflsa,sflsb)# O asfu= sfuim 36 O else if(tcuts.lt.0.d0.and.tcutc.lt.0.d0) then6 O sflsa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp- + O # (ss(1)-ss(4))*sm)/tcuts s6 O sfusa= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- + O # (cs(1)-cs(4))*sm)/tcutc $ O asfl= dmax1(sflim,sflsa)$ O asfu= dmin1(sfuim,sfusa) O endif O else O asfl= sflim O asfu= sfuim O endif  O *n O if(ieq.eq.0) thenA O asfenl1= bl(1)-sm-sdn O asfenl2= bl(3)-sp-su " O asfenu1= 1.d0-bl(2)-sp-sd" O asfenu2= 1.d0-bl(4)-sm-su O else if(ieq.eq.1) then' O asfenl1= 1.d0-enc-sm-sd+xbl(1) ' O asfenl2= 1.d0-enc-sp-su+xbl(3) " O asfenu1= enc-sp-sd-xbl(2)" O asfenu2= enc-sm-su-xbl(4) O endif ' O asfl= dmax1(asfl,asfenl1,asfenl2)g' O asfu= dmin1(asfu,asfenu1,asfenu2) # O aasfu= 1.d0-sm-sp-su-sd-sct24d O asfl= dmax1(asfl,sct13)r O asfu= dmin1(asfu,aasfu)m O *m O if(iac(3).ne.0) then O if(ss(4).ne.ss(3)) then O if(ss(4).gt.ss(3)) thenv5 O asfltw= -(1.d0-ss(3)*sp-ss(3)*su+ss(4)*sm+s7 O # ss(4)*su-ss(4)-bt1(1))/(ss(4)-ss(3)))# O asfl= dmax1(asfl,asfltw)-% O else if (ss(4).lt.ss(3)) then(5 O asfutw= -(1.d0-ss(3)*sp-ss(3)*su+ss(4)*sm+37 O # ss(4)*su-ss(4)-bt1(1))/(ss(4)-ss(3))1# O asfu= dmin1(asfu,asfutw)) endif O endif O if(cs(1).ne.cs(2)) then O if(cs(1).gt.cs(2)) thenb9 O bsfltw= -(cs(1)*sm+cs(1)*sd-cs(2)*sp-cs(2)*sd+e. O # cs(2)-bt1(1))/(cs(1)-cs(2))# O asfl= dmax1(asfl,bsfltw)z$ O else if(cs(1).lt.cs(2)) then9 O bsfutw= -(cs(1)*sm+cs(1)*sd-cs(2)*sp-cs(2)*sd+l/ O # cs(2)-bt1(1))/(cs(1)-cs(2))z# O asfu= dmin1(asfu,bsfutw) O endif4 O endif O if(cs(4).ne.cs(3)) then O if(cs(4).gt.cs(3)) then ; O csfutw= (bt2(1)-1.d0+cs(3)*sp+cs(3)*su-cs(4)*sm- 0 O # cs(4)*su+cs(4))/(cs(4)-cs(3))# O asfu= dmin1(asfu,csfutw) $ O else if(cs(4).lt.cs(3)) then; O csfltw= (bt2(1)-1.d0+cs(3)*sp+cs(3)*su-cs(4)*sm- O 0 O # cs(4)*su+cs(4))/(cs(4)-cs(3))# O asfl= dmax1(asfl,csfltw) endifs O endif O if(ss(1).ne.ss(2)) then O if(ss(1).gt.ss(2)) thenz6 O dsfutw= (bt2(1)-ss(1)*sm-ss(1)*sd+ss(2)*sp+0 O # ss(2)*sd-ss(2))/(ss(1)-ss(2))# O asfu= dmin1(asfu,dsfutw) $ O else if(ss(1).lt.ss(2)) then6 O dsfltw= (bt2(1)-ss(1)*sm-ss(1)*sd+ss(2)*sp+0 O # ss(2)*sd-ss(2))/(ss(1)-ss(2))# O asfl= dmax1(asfl,dsfltw)z endif O endif O endif. O *c O *-----positivity of R^2t O *  O scp= ssmpp*ssmpp  O scm= ssmmp*ssmmp $ O snp= (ssu+ssd)*(ssu+ssd) $ O snm= (ssu-ssd)*(ssu-ssd)  O rlp= ssu*ssd+ssp*ssm O rlm= ssu*ssd-ssp*ssm O bsgmo= bsg-1.d0  O ombsg2= ombsg*ombsg5 O rlps= rlp*rlpd O rlms= rlm*rlmm O edelp= ombsg2-4.d0*rlps  O edelm= ombsg2-4.d0*rlms " O edeld= 16.d0*ssu*ssd*ssp*ssm O *)7 O *-----first Delta_- > 0 > Delta_+ with Sigma > or < 1/2  O * then Delta_+ > 0 O *( *-----control  O *  O cnt1= scp+snm  O cnt2= scm+snp + O if(cnt1.gt.1.d0.or.cnt2.gt.1.d0) thens O iz= 0 O ifz(10)= ifz(10)+1( O go to 1 O endif  O if(edelm.le.0.d0) then O etest= edeld+edelpa O if(etest.gt.0.d0) then O  O edelm= etest else  O iz= 0  O ifz(11)= ifz(11)+1 O go to 11 O endif O endif) O sedm= sqrt(edelm)a ifcr= 0 O . O call c02ajf(one,bsgmo,rlms,rr1,rr2,ifcr) O if(rr1(2).ne.0.d0) thent O iz= 0 O ifz(12)= ifz(12)+1  O go to 1 O endif O ifcr= 0a. O call c02ajf(one,bsgmo,rlps,rs1,rs2,ifcr) O *  O cnt3= scp+snpd O cnt4= scm+snmb O cbru= -1.d0r O ccru= 0.5d0*bsg  O * < O *-----R^2 has two real roots and two complex conjugate roots O * + O if(cnt3.gt.1.d0.or.cnt4.gt.1.d0) then  O if(bsg.gt.0.5d0) then O iel= 1 O sflr(1)= rr1(1)t O sfur(1)= rr2(1)3 O sflr(2)= rr1(1)  O sfur(2)= rr2(1) else- O iel= 2 O ifcr= 0t5 O call c02ajf(one,cbru,ccru,rru1,rru2,ifcr) O ru1= rru1(1)*rru1(1) O ru2= rru2(1)*rru2(1) O sflr(1)= rr1(1)c O sflr(2)= ru2 O sfur(1)= ru1 O sfur(2)= rr2(1)  O endif O *  O *-----R^2 has four real rootsz O * 1 O else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then- O if(bsg.gt.0.5d0) then O sflr(1)= rr1(1)  O sflr(2)= rs2(1). O sfur(1)= rs1(1)- O sfur(2)= rr2(1) elsem O ifcr= 0 O 5 O call c02ajf(one,cbru,ccru,rru1,rru2,ifcr)b O ru1= rru1(1)*rru1(1) O ru2= rru2(1)*rru2(1) O sflr(1)= rr1(1) & O sfur(1)= dmin1(rs1(1),ru1)& O sflr(2)= dmax1(rs2(1),ru2) O sfur(2)= rr2(1)  O endif O endifn O * . O *-----the loop for transforming sf starts here O *- O if(om.eq.'g') then O itmn= it0 O itmx= it0 O else O itmn= 1 O itmx= 2 O endif  O do it=itmn,itmxz$ O if(sflr(it).ge.asfl) then O sfl= sflr(it)s O else  O sfl= asfl2 O endif$ O if(sfur(it).le.asfu) then O sfu= sfur(it)n O else  O sfu= asfus O endif O *) O *-----test on sf O *  O if(sfu.le.sfl) then O iz= 0 O ifz(13)= ifz(13)+1 O go to 2. O endif O * * O if(itc.eq.1.and.itcc.eq.3) then O ittm= 2( O else  O ittm= 1( O endif O *  O do itt=1,ittm O *n* O if(itc.eq.1.and.itcc.eq.3) then O distm= dist/svv/rs9 O sbdist= 2.d0*(1.d0-sm-sp-su-sd)-distm*distm % O if(sbdist.le.0.d0) then  O iz= 0# O ifz(13)= ifz(13)+1i O go to 5 O endif= O if(itt.eq.1) then 4 O bdist= 0.25d0*(distm-sqrt(sbdist))*+ O # (distm-sqrt(sbdist)))$ O else if(itt.eq.2) then4 O bdist= 0.25d0*(distm+sqrt(sbdist))*+ O # (distm+sqrt(sbdist))v O endif  O bdistl= bdist-sfl  O bdistu= sfu-bdist)7 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) thenv O iz= 0# O ifz(13)= ifz(13)+1c O go to 5 O endif0 O sf= bdistb O ssf= sqrt(sf)i; O pfjc= 2.d0/vv/rs*ssf*(distm-ssf)/sqrt(sbdist) < O sfjc0= sf*sf+(sm+sp+su+sd-1.d0)*sf+su*sd+sm*sp0 O sfjc= 4.d0*sm*sp*su*sd-sfjc0*sfjc0# O if(sfjc.le.0.d0) then  O iz= 0*" O ifz(13)= ifz(13)+1 O go to 5* O else! O if(iel.eq.1) thend. O sfjc= 0.5d0*pfjc/sqrt(sfjc)& O else if(iel.eq.2) then( O sfjc= pfjc/sqrt(sfjc) O endif= O endif  O elsed O **F O *-----transformation for jacobian, first Delta_+ < 0, then Delta_+ > 0 O * 0 O if(cnt3.gt.1.d0.or.cnt4.gt.1.d0) then O er= rs1(1) O es= abs(rs1(2))1 O er1= rr1(1)1 O er2= rr2(1)  O ek2= edelm/edeld O ek= sqrt(ek2)d$ O dog= -2.d0/sqrt(edeld)) O ecpl= (ombsg-2.d0*sfl)/sedmt) O ecpu= (ombsg-2.d0*sfu)/sedms O eql= ecpl*ecpl O equ= ecpu*ecpu) O omecpl= 2.d0*(sfl-er1)/sedm O ) O es2pl= omecpl*(2.d0-omecpl)l! O erl= 1.d0-ek2*es2pli O espl= sqrt(es2pl) ) O opecpu= 2.d0*(er2-sfu)/sedmp) O es2pu= opecpu*(2.d0-opecpu). O espu= sqrt(es2pu).! O eru= 1.d0-ek2*es2pu+ O if(eql.eq.1) then  O sflt= 0.d0l O else O ifel= 19 O sflt= -dog*espl*s21bbf(eql,erl,one,ifel)p# O if(ifel.ne.0) thenh O iz= 0 & O ifz(14)= ifz(14)+1 O go to 2i O endif O endif " O if(equ.eq.1.d0) then O sfut= 0.d0+ O else O ifel= 19 O sfut= -dog*espu*s21bbf(equ,eru,one,ifel)p# O if(ifel.ne.0) then  O iz= 0/& O ifz(15)= ifz(15)+1 O go to 2t O endif O endif  O if(iel.eq.1) then # O if(sfu.le.er) thenf O efac= 0.5d0,- O sft= (sfut-sflt)*sfx+sfltd O ifel= 1z! O asf= -sft/dog ; O call s21caf(asf,ek2,elsn,elcn,edn,ifel) & O if(ifel.ne.0) then O iz= 0) O ifz(16)= ifz(16)+1d O go to 2 O endif / O sf= 0.5d0*(ombsg-sedm*elcn)(* O sfjc= efac*(sfut-sflt)) O else if(sfl.ge.er) then  O efac= 0.5d0 - O sft= (sflt-sfut)*sfx+sfuti O ifel= 1(! O asf= -sft/dogs; O call s21caf(asf,ek2,elsn,elcn,edn,ifel)e& O if(ifel.ne.0) then O iz= 0) O ifz(17)= ifz(17)+10 O go to 2 O endif / O sf= 0.5d0*(ombsg+sedm*elcn))* O sfjc= efac*(sflt-sfut) O else O efac= 1.d0 O qbar= 0.d0" O rbar= 1.d0-ek2 O ifel= 1(: O sfbar= -dog*s21bbf(qbar,rbar,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(18)= ifz(18)+1  O go to 2 O endif=$ O if(it.eq.1) then1 O sft= (sfbar-sflt)*sfx+sflt O  O ifel= 1$ O asf= -sft/dog> O call s21caf(asf,ek2,elsn,elcn,edn,ifel)) O if(ifel.ne.0) then  O iz= 0., O ifz(19)= ifz(19)+1! O go to 2s O endif2 O sf= 0.5d0*(ombsg-sedm*elcn). O sfjc= efac*(sfbar-sflt)* O else if(it.eq.2) then1 O sft= (sfbar-sfut)*sfx+sfuts O ifel= 1$ O asf= -sft/dog> O call s21caf(asf,ek2,elsn,elcn,edn,ifel)) O if(ifel.ne.0) thend O iz= 0d, O ifz(20)= ifz(20)+1! O go to 2d O endif2 O sf= 0.5d0*(ombsg+sedm*elcn). O sfjc= efac*(sfbar-sfut) O endif O endif $ O else if(iel.eq.2) then O efac= 1.d0" O if(it.eq.1) then. O sft= (sfut-sflt)*sfx+sflt O ifel= 1" O asf= -sft/dog< O call s21caf(asf,ek2,elsn,elcn,edn,ifel)' O if(ifel.ne.0) then( O iz= 0 * O ifz(21)= ifz(21)+1 O go to 2= O endif0 O sf= 0.5d0*(ombsg-sedm*elcn)+ O sfjc= efac*(sfut-sflt) ' O else if(it.eq.2) then . O sft= (sflt-sfut)*sfx+sfut O ifel= 1" O asf= -sft/dog< O call s21caf(asf,ek2,elsn,elcn,edn,ifel)' O if(ifel.ne.0) thenl O iz= 0f* O ifz(22)= ifz(22)+1 O go to 2. O endif0 O sf= 0.5d0*(ombsg+sedm*elcn)+ O sfjc= efac*(sflt-sfut)d O endif+ O endifs6 O else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then$ O if(edelp.le.0.d0) then O iz= 0# O ifz(23)= ifz(23)+1s O go to 2 O endif O  O sedp= sqrt(edelp)  O efac= 1.d0 O es1= rs1(1)  O es2= rs2(1)  O er1= rr1(1)4 O er2= rr2(1)- O ssed= sedm+sedp-" O ek= (sedm-sedp)/ssed O ek2= ek*ek O dog= 2.d0/ssed O if(it.eq.1) then. O es2pl= (er1-sfl)/(sfl-er2)/ek. O es2pu= (er1-sfu)/(sfu-er2)/ek O eql= 1.d0-es2pl O equ= 1.d0-es2pu$ O erl= 1.d0-ek2*es2pl$ O eru= 1.d0-ek2*es2pu# O else if(it.eq.2) then . O es2pl= (sfl-es2)/(sfl-es1)/ek. O es2pu= (sfu-es2)/(sfu-es1)/ek O eql= 1.d0-es2pl O equ= 1.d0-es2pu$ O erl= 1.d0-ek2*es2pl$ O eru= 1.d0-ek2*es2pu O endifz% O if(eql.eq.1.d0) then O  O sflt= 0.d0 O elsei O ifel= 1r/ O sflt= 2.d0*dog*sqrt(es2pl)*/2 O # s21bbf(eql,erl,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(24)= ifz(24)+1e O go to 2 O endife O endif% O if(equ.eq.1.d0) thens O sfut= 0.d0 O else  O ifel= 1 ? O if(equ.lt.0.d0.and.abs(equ).lt.1.d-12) then O O equ= 0.d0 O endif O / O sfut= 2.d0*dog*sqrt(es2pu)*d2 O # s21bbf(equ,eru,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(25)= ifz(25)+1  O go to 2 O endif  O endif* O ft= (sfut-sflt)*sfx+sflt O ifel= 1# O asf= 0.5d0/dog*sft-8 O call s21caf(asf,ek2,elsn,elcn,edn,ifel)! O elsn2= elsn*elsnc# O if(ifel.ne.0) then0 O iz= 0c& O ifz(26)= ifz(26)+1 O go to 2  O endif! O if(it.eq.1) then#: O sf= (er1+ek*elsn2*er2)/(1.d0+ek*elsn2)& O else if(it.eq.2) then: O sf= (es2-ek*elsn2*es1)/(1.d0-ek*elsn2) O endif' O sfjc= efac*(sfut-sflt)  O endif O *u O endif O *l O *-----auxiliary quantities  O *  O sdpf= sd+sf O e3= sp+su+sfg O e4= 1.d0+spmm-e3n O e3p4= 1.d0+spmm O e1= sm+sdpf O e2= 1.d0+smmp-e13( O e1p2= 1.d0+smmp $ O e1p3= e1+e3 0 O e1m2= 2.d0*e1-1.d0+spmm  O ep12= xp*e1*e23 O ep1= xp*e1) O ep2= xp*e2  O ep3= xp*e3u O ep4= xp*e4  O e1t2= e1*e2 O e1t3= e1*e3 O e1t4= e1*e4 O e2t3= e2*e3 O e2t4= e2*e4 O e3t4= e3*e4/ O if((e1p3*e1p3-4.d0*sf).lt.0.d0) then  O iz= 0! O ifz(27)= ifz(27)+1( O go to 2 O endif( O skl2= sqrt(e1p3*e1p3-4.d0*sf)+ O if((sdmus-4.d0*sd).lt.0.d0) then) O iz= 0! O ifz(28)= ifz(28)+1  O go to 2 O endif O skl3= sdmus-4.d0*sd O skl3= sqrt(skl3). O *0 O *-----initialization of t_w  O * ) O *-----limits on tw from positivity and SAs O * O  O twlp1= 0.d0 O twlp2= smmp O twlp3= spmm-1.d0s) O twlp= dmax1(twlp1,twlp2,twlp3)( O twup= 1.d0- O *2" O *-----limits on tw from cuts on SA O *) O if(iac(3).ne.0) then & O skl2m= 0.5d0*(e1p3-skl2)& O skl2p= 0.5d0*(e1p3+skl2), O skl3p= -0.5d0*(1.d0+sdmu-skl3), O skl3m= -0.5d0*(1.d0+sdmu+skl3), O twlsa1= 1.d0-cs(3)*e3-cs(4)*e4' O twlsa2= ss(1)*e1+ss(2)*e2 O 8 O twlsa3= 1.d0-cs(3)*e3-cs(4)*e4-skl3p+skl3m4 O twlsa4= 1.d0-2.d0*cs(3)*e3+skl2m+skl3m4 O twlsa5= 1.d0-2.d0*cs(4)*e4-skl2p-skl3p8 O twlsa6= 1.d0-cs(3)*e3-cs(4)*e4-skl2p+skl2m, O twusa1= 1.d0-ss(3)*e3-ss(4)*e4' O twusa2= cs(1)*e1+cs(2)*e2s8 O twusa3= 1.d0-ss(3)*e3-ss(4)*e4+skl3p-skl3m4 O twusa4= 1.d0-2.d0*ss(4)*e4-skl2m-skl3m4 O twusa5= 1.d0-2.d0*ss(3)*e3+skl2p+skl3p8 O twusa6= 1.d0-ss(3)*e3-ss(4)*e4+skl2p-skl2m; O atwl= dmax1(twlp,twlsa1,twlsa2,twlsa3,twlsa4, ( O # twlsa5,twlsa6); O atwu= dmin1(twup,twusa1,twusa2,twusa3,twusa4, O ( O # twusa5,twusa6) O else) O atwl= twlp O atwu= twup O endif O * O  O *-----limits on tw from E- O *4 O if(ieq.eq.1) then. O atwle= 1.d0-bxe*e3p4+bl(3)+bl(4)) O atwue= bxe*e1p2-bl(1)-bl(2)h" O if(xdf.gt.0.d0) then O twle= atwle O twue= atwue' O else if(xdf.lt.0.d0) then-% O atwle1= bxe*e1-bl(1)l% O atwle2= bxe*e2-bl(2)h* O atwue1= 1.d0-bxe*e3+bl(3)* O atwue2= 1.d0-bxe*e4+bl(4)1 O twle= dmax1(atwue,atwle1,atwle2)f1 O twue= dmin1(atwle,atwue1,atwue2)( O endif O $ O atwl= dmax1(atwl,twle)$ O atwu= dmin1(atwu,twue) O endif O *  O *-----natural limits on tw O *)# O atwl= dmax1(atwl,bt1(1))1# O atwu= dmin1(atwu,bt2(1)). O *c O *-----test on tw O * O if(atwu.le.atwl) then O iz= 0 O ifz(29)= ifz(29)+1 O go to 2a O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O * O if(ieq.eq.1) then* O at3l1= omtw-bxe*e4+bl(4)% O at3u1= bxe*e3-bl(3) & O if(xdf.gt.0.d0) then O t3l1= at3l1 O t3u1= at3u1+ O else if(xdf.lt.0.d0) thenf O t3l1= at3u1 O t3u1= at3l1 O endif  O else0 O t3l1= 0.d0 O t3u1= e3 O endif O *  O *-----natural limits O *n. O t3l2= -t1+0.5d0*(e1p3-skl2). O t3u2= -t1+0.5d0*(e1p3+skl2) O * 7 O t3l3= omtw+t1-0.5d0*(1.d0+sdmu+skl3)f7 O t3u3= omtw+t1-0.5d0*(1.d0+sdmu-skl3)f O *n O *-----from positivity on SA  O *  O t3l4= 0.d0 $ O t3l5= sm+su+sf-tw! O t3u4= sp+su+sf  O t3u5= omtw  O * *-----from SA( O *s' O if(iac(3).ne.0) then=# O t3l6= ss(3)*e3 # O t3u6= cs(3)*e3 ( O t3l7= omtw-cs(4)*e4( O t3u7= omtw-ss(4)*e44 O t3l= dmax1(t3l1,t3l2,t3l3,t3l4,/ O # t3l5,t3l6,t3l7) 4 O t3u= dmin1(t3u1,t3u2,t3u3,t3u4,/ O # t3u5,t3u6,t3u7)  O else(9 O t3l= dmax1(t3l1,t3l2,t3l3,t3l4,t3l5)f9 O t3u= dmin1(t3u1,t3u2,t3u3,t3u4,t3u5)  O endif O *  O *-----limits on t3 are imposed O * , O tlimt3= (t3u-t3)*(t3-t3l)& O if(t3u.lt.t3l) then O iz= 0t( O ifz(36)= ifz(36)+1 O go to 4d/ O else if(tlimt3.lt.0.d0) then, O iz= 0 ( O ifz(36)= ifz(36)+1 O go to 4  O endif O * O , O *-----non linear limits on t3,t4 are imposed O * 4 O if(iac(4).ne.0.and.ieq.eq.1) then3 O tnl13c= -cg13*edn1*edn3+vv*sf 2 O tnl13s= sg13*edn1*edn3-vv*sf3 O tnl23c= -cg23*edn2*edn3+vv*su 2 O tnl23s= sg23*edn2*edn3-vv*su3 O tnl14c= -cg14*edn1*edn4+vv*sd 2 O tnl14s= sg14*edn1*edn4-vv*sd* O sres= 1.d0-e1-e3+sf 5 O tnl24c= -cg24*edn2*edn4+vv*sres 4 O tnl24s= sg24*edn2*edn4-vv*sres3 O tnl34c= -cg34*edn3*edn4+vv*spp2 O tnl34s= sg34*edn3*edn4-vv*sp= O if(tnl13c.lt.0.d0.or.tnl13s.lt.0.d0.or.2= O # tnl23c.lt.0.d0.or.tnl23s.lt.0.d0.or.s= O # tnl14c.lt.0.d0.or.tnl14s.lt.0.d0.or.e= O # tnl24c.lt.0.d0.or.tnl24s.lt.0.d0.or. ? O # tnl34c.lt.0.d0.or.tnl34s.lt.0.d0) then O  O iz= 0+ O ifz(37)= ifz(37)+1e O go to 4+ O endif e O endif O *.: O *-----non linear constraints from FS A in the case xp = xm O * 7 O if(iac(4).ne.0.d0.and.ieq.eq.0) then . O smr= 1.d0-sm-sp-su-sd-sf; O spc12= (-cg12*e1t2+sm)*(sg12*e1t2-sm)d; O spc13= (-cg13*e1t3+sf)*(sg13*e1t3-sf)e; O spc14= (-cg14*e1t4+sd)*(sg14*e1t4-sd) ; O spc23= (-cg23*e2t3+su)*(sg23*e2t3-su) = O spc24= (-cg24*e2t4+smr)*(sg24*e2t4-smr) ; O spc34= (-cg34*e3t4+sp)*(sg34*e3t4-sp) M O if(spc12.lt.0.d0.or.spc13.lt.0.d0.or. N O # spc14.lt.0.d0.or.spc23.lt.0.d0.or. = O # spc24.lt.0.d0.or.spc34.lt.0.d0) then  O iz= 0+ O ifz(38)= ifz(38)+1o O go to 4 O endif  O endif O *  O *-----all invariants O *+ O x13= t1 O x14= t2 O x15= t3 O x16= t4 O x23= e1-t1= O x24= e2-t2o O x25= e3-t3c O x26= e4-t4  O x34= sm O x35= sf O x36= sd O x45= su' O x46= 1.d0-e1-e3+sfo O x56= sp O * 1 O *-----Control for the normalization of helicities  O *f O *-----computes cross-section O *nB O *-----born matrix element is calculated at the reduced c.m. energy O *2. O *-----propagators for pair production diagrams O *d! O pfp= e4-1.d0u! O pfb= e1-1.d0 " O pfpb= e3-1.d0 O pf= e2-1.d0 O *f O *-----extra propagatorsg O * # O vrwm2= rwm2/vv $ O x25w= x25+vrwm2$ O x16w= x16+vrwm2$ O ptww= x16w*x25w O pnp= tw-sm  O * O , O *-----The epsilons are computed in the order9 O * epf(pp,pm,q1,q2),epf(pp,pm,q1,q3),epf(pp,pm,q1,q4), 9 O * epf(pp,pm,q2,q3),epf(pp,pm,q2,q4),epf(pp,pm,q3,q4), 9 O * epf(pp,q1,q2,q3),epf(pp,q1,q2,q4),epf(pp,q1,q3,q4), 9 O * epf(pp,q2,q3,q4),epf(pm,q1,q2,q3),epf(pm,q1,q2,q4),=8 O * epf(pm,q1,q3,q4),epf(pm,q2,q3,q4),epf(q1,q2,q3,q4) O **" O x13s= x13*x13" O x14s= x14*x14" O x15s= x15*x15" O x16s= x16*x16" O x23s= x23*x23" O x24s= x24*x24" O x25s= x25*x25" O x26s= x26*x26" O x34s= x34*x34" O x35s= x35*x35" O x36s= x36*x36" O x45s= x45*x45" O x46s= x46*x46" O x56s= x56*x56G O * O > O ee(1)= 2.d0*(x13*x14*x23*x24+x13*x24*x34+A O # x14*x23*x34)-x13s*x24s-x14s*x23s-x34s1> O ee(2)= 2.d0*(x13*x15*x23*x25+x13*x25*x35+A O # x15*x23*x35)-x13s*x25s-x15s*x23s-x35sd> O ee(3)= 2.d0*(x14*x15*x24*x25+x14*x25*x45+A O # x15*x24*x45)-x14s*x25s-x15s*x24s-x45seB O ee(4)= 2.d0*(x13*x14*x35*x45+x13*x15*x34*x45+A O # x14*x15*x34*x35)-x13s*x45s-x14s*x35s- % O # x15s*x34s4B O ee(5)= 2.d0*(x23*x24*x35*x45+x23*x25*x34*x45+A O # x24*x25*x34*x35)-x23s*x45s-x24s*x35s-e% O # x25s*x34swG O * 3 O e(1)= 1.d0wF O e(2)= x13*x14*x23*x25+x13*x15*x23*x24+x13*(-2.d0*E O # x23*x45+x24*x35+x25*x34)-x14*x15*x23s+x14*)C O # x23*x35+x15*x23*x34-x13s*x24*x25-x34*x35#E O e(3)= -x13*x14*x24*x25+x13*x15*x24s-x13*x24*x45-lF O # x14*x15*x23*x24+x14*(-x23*x45+2.d0*x24*x35-D O # x25*x34)-x15*x24*x34+x14s*x23*x25+x34*x45F O e(4)= x13*x14*(x23*x45+x24*x35-2.d0*x25*x34)+x13*G O # x15*x24*x34+x13*x34*x45+x14*x15*x23*x34+x14* F O # x34*x35-x15*x34s-x13s*x24*x45-x14s*x23*x35 G O e(5)= x13*(-x23*x24*x45-x24*x25*x34+x35*x24s)+x14* C O # (-x23*x24*x35-x23*x25*x34+x45*x23s)+x15*xD O # 2.d0*x23*x24*x34-x23*x34*x45-x24*x34*x35+$ O # x25*x34s O *2 O *-----sign of eps_1*eps_i  O *  O ises= 0" O sg(1)= 0.25d0+ O if(ee(1).lt.0.d0) thens$ O ises= ises+1 O endif O do i=2,5-2 O if(abs(e(i)).lt.zrm) then( O ises= ises+12 O else if(e(i).gt.zrm) then) O sg(i)= 0.25d0 3 O else if(e(i).lt.-zrm) then * O sg(i)= -0.25d0 O endif/ O if(ee(i).lt.0.d0) then ( O ises= ises+1 O endif O enddo O *t' O if(ises.eq.0) then2/ O ses1= sg(1)*sqrt(ee(1)) / O ses2= sg(2)*sqrt(ee(2))c/ O ses3= sg(3)*sqrt(ee(3)) / O ses4= sg(4)*sqrt(ee(4))u/ O ses5= sg(5)*sqrt(ee(5)). O s1= ses1 O s2= ses2& O s3= -ses1-ses2 O s4= ses3% O s5= ses1-ses3*% O s6= ses2+ses3- O s7= ses4% O s8= ses1-ses4+% O s9= ses2+ses43& O s10= ses3-ses4! O s11= ses5 ' O s12= -ses1-ses51' O s13= -ses2+ses5n' O s14= -ses3-ses5 ' O s15= -ses4-ses5  O elseuA O ee(1)= 2.d0*(x13*x14*x23*x24+x13*x24*x34+ D O # x14*x23*x34)-x13s*x24s-x14s*x23s-x34sA O ee(2)= 2.d0*(x13*x16*x23*x26+x13*x26*x36+ D O # x16*x23*x36)-x13s*x26s-x16s*x23s-x36sA O ee(3)= 2.d0*(x14*x16*x24*x26+x14*x26*x46+lD O # x16*x24*x46)-x14s*x26s-x16s*x24s-x46sE O ee(4)= 2.d0*(x13*x14*x36*x46+x13*x16*x34*x46+uD O # x14*x16*x34*x36)-x13s*x46s-x14s*x36s-( O # x16s*x34sE O ee(5)= 2.d0*(x23*x24*x36*x46+x23*x26*x34*x46+ E O # x24*x26*x34*x36)-x23s*x46s-x24s*x36s- ) O # x26s*x34s " O e(1)= 1.d0> O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+B O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)-C O # x14*x16*x23s+x14*x23*x36+x16*x23*x34- 2 O # x13s*x24*x26-x34*x36@ O e(3)= -x13*x14*x24*x26+x13*x16*x24s-x13*@ O # x24*x46-x14*x16*x23*x24+x14*(-x23*@ O # x46+2.d0*x24*x36-x26*x34)-x16*x24*6 O # x34+x14s*x23*x26+x34*x46@ O e(4)= x13*x14*(x23*x46+x24*x36-2.d0*x26*? O # x34)+x13*x16*x24*x34+x13*x34*x46+ > O # x14*x16*x23*x34+x14*x34*x36-x16*= O # x34s-x13s*x24*x46-x14s*x23*x36 @ O e(5)= x13*(-x23*x24*x46-x24*x26*x34+x36*> O # x24s)+x14*(-x23*x24*x36-x23*x26*A O # x34+x46*x23s)+x16*2.d0*x23*x24*x34--> O # x23*x34*x46-x24*x34*x36+x26*x34s O ises= 0r% O sg(1)= 0.25d0a. O if(ee(1).lt.0.d0) then' O ises= ises+10 O endif1 O do i=2,55 O if(abs(e(i)).lt.zrm) then O + O ises= ises+1p5 O else if(e(i).gt.zrm) then , O sg(i)= 0.25d06 O else if(e(i).lt.-zrm) then- O sg(i)= -0.25d0t! O endif 2 O if(ee(i).lt.0.d0) then+ O ises= ises+1a! O endif  O enddo * O if(ises.eq.0) then2 O ses1= sg(1)*sqrt(ee(1))2 O ses2= sg(2)*sqrt(ee(2))2 O ses3= sg(3)*sqrt(ee(3))2 O ses4= sg(4)*sqrt(ee(4))2 O ses5= sg(5)*sqrt(ee(5))# O s1= ses1d) O s2= -ses1-ses2c# O s3= ses2c) O s4= -ses1-ses3+# O s5= ses3 ) O s6= -ses2-ses3 ( O s7= ses1-ses4# O s8= ses4 ) O s9= -ses2-ses40* O s10= -ses3+ses4* O s11= -ses1-ses5$ O s12= ses5) O s13= ses2-ses5m) O s14= ses3+ses5() O s15= ses4+ses5. O elseD O ee(1)= 2.d0*(x13*x15*x23*x25+x13*x25*x35+C O # x15*x23*x35)-x13s*x25s-x15s*x23s- & O # x35sD O ee(2)= 2.d0*(x13*x16*x23*x26+x13*x26*x36+C O # x16*x23*x36)-x13s*x26s-x16s*x23s-t& O # x36sD O ee(3)= 2.d0*(x15*x16*x25*x26+x15*x26*x56+C O # x16*x25*x56)-x15s*x26s-x16s*x25s- O & O # x56sD O ee(4)= 2.d0*(x13*x15*x36*x56+x13*x16*x35*A O # x56+x15*x16*x35*x36)-x13s*x56s- 5 O # x15s*x36s-x16s*x35s D O ee(5)= 2.d0*(x23*x25*x36*x56+x23*x26*x35*A O # x56+x25*x26*x35*x36)-x23s*x56s-p5 O # x25s*x36s-x26s*x35srG O * A O e(1)= x13*x14*x23*x25+x13*x15*x23*x24+ E O # x13*(-2.d0*x23*x45+x24*x35+x25*x34)-eB O # x14*x15*x23s+x14*x23*x35+x15*x23*9 O # x34-x13s*x24*x25-x34*x35eA O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+1E O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)-cB O # x14*x16*x23s+x14*x23*x36+x16*x23*9 O # x34-x13s*x24*x26-x34*x36 B O e(3)= -x13*x15*x24*x26+x13*x16*x24*x25+D O # x13*(-x25*x46+x26*x45)+x14*x15*x23*F O # x26-x14*x16*x23*x25+x14*(x25*x36-x26*F O # x35)+x15*(-x23*x46+x24*x36)+x16*(x23*= O # x45-x24*x35)+x35*x46-x36*x45 C O e(4)= x13*x14*(x25*x36-x26*x35)+x13*x15* E O # (x23*x46-x26*x34)+x13*x16*(-x23*x45+ O D O # x25*x34)+x13*(x35*x46-x36*x45)-x14*E O # x15*x23*x36+x14*x16*x23*x35+x15*x34* D O # x36-x16*x34*x35+x13s*(-x25*x46+x26*% O # x45) G O e(5)= x13*(-x23*x25*x46+x23*x26*x45+x24*x25* D O # x36-x24*x26*x35)+x15*(-x23*x24*x36-D O # x23*x26*x34+x46*x23s)+x16*(x23*x24*C O # x35+x23*x25*x34-x45*x23s)-x23*x35*-E O # x46+x23*x36*x45-x25*x34*x36+x26*x34*t$ O # x35 O *n" O ises= 0# O do i=1,5 8 O if(abs(e(i)).lt.zrm) then. O ises= ises+18 O else if(e(i).gt.zrm) then/ O sg(i)= 0.25d0 O 9 O else if(e(i).lt.-zrm) then 0 O sg(i)= -0.25d0$ O endif5 O if(ee(i).lt.0.d0) thenn. O ises= ises+1$ O endif O enddo- O if(ises.eq.0) then 5 O ses1= sg(1)*sqrt(ee(1)) 5 O ses2= sg(2)*sqrt(ee(2)) 5 O ses3= sg(3)*sqrt(ee(3))t5 O ses4= sg(4)*sqrt(ee(4))h5 O ses5= sg(5)*sqrt(ee(5)) , O s1= -ses1-ses2& O s2= ses1& O s3= ses2, O s4= -ses1+ses3, O s5= -ses2-ses3& O s6= ses3, O s7= -ses1+ses4, O s8= -ses2-ses4& O s9= ses4, O s10= ses3-ses4, O s11= ses1+ses5, O s12= ses2-ses5' O s13= ses5d- O s14= -ses3-ses5 - O s15= -ses4-ses5  O else O # O iz= 0)0 O ifz(39)= ifz(39)+1% O go to 4 O endif O endift O endif O * $ O tgn(1)= x15*x24$ O tgn(2)= x34*x46$ O tgn(3)= x34/x46$ O tgn(4)= x24/x15$ O tgn(5)= x15/x25$ O tgn(6)= x15*x25$ O tgn(7)= x14*x25$ O tgn(8)= x14*x34$ O tgn(9)= x25*x46% O tgn(10)= x25/x463% O tgn(11)= x14/x34 % O tgn(12)= x45/x36 % O tgn(13)= x14*x24 % O tgn(14)= x24/x14 % O tgn(15)= x45*x36 % O tgn(16)= x14/x25e O *  O itgn= 0 O do l=1,160 O if(tgn(l).le.0.d0) then( O itgn= itgn+1 O endif O enddo' O if(itgn.ne.0) then. O iz= 0 * O ifz(40)= ifz(40)+1 O go to 4e O endif O * ( O gpna= sqrt(x15*x24)( O gpnb= sqrt(x34*x46)( O gpnc= sqrt(x34/x46)( O gpnd= sqrt(x24/x15)( O gpne= sqrt(x15/x25)( O gpnf= sqrt(x15*x25)( O gpng= sqrt(x14*x25)( O gmna= sqrt(x14*x34)( O gmnb= sqrt(x25*x46)( O gmnc= sqrt(x25/x46)( O gmnd= sqrt(x14/x34)( O gmne= sqrt(x45/x36)( O gmnf= sqrt(x14*x24)( O gmng= sqrt(x24/x14)( O gmnh= sqrt(x45*x36)( O gmni= sqrt(x14/x25) O *l# O gn1= gpna/gpnb # O gn2= gpna*gpnc.# O gn3= gpna/gpnc # O gn4= gpnd/gpnb ( O gn5= 1.d0/gpna/gpnc( O gn6= 1.d0/gpnd/gpnc# O gn7= gpnd/gpnc # O gn8= gpnb/gpnat# O gn9= gpnd*gpnc O $ O gn10= gpnb/gpnd$ O gn11= gpna*gpnb$ O gn12= gmnd/gmnb) O gn13= 1.d0/gmnc/gmnag$ O gn14= gmna/gmnb$ O gn15= gmnd/gmnc) O gn16= 1.d0/gmnd/gmnc)$ O gn17= gmna*gmnb$ O gn18= gmnc/gmnd$ O gn19= gmnc/gmna$ O gn20= gmna*gmnc$ O gn21= gmnd*gmnb$ O gn22= gmnd*gmnc$ O gn23= gmnb/gmnd$ O gn24= gmnb/gmna$ O gn25= gpnc/gpnd) O gn26= 1.d0/gpna/gpnb $ O gn27= gpnc/gpna) O gn28= 1.d0/gpnd/gpnb $ O gn29= gpne/gmnh$ O gn30= gmne/gpnf) O gn31= 1.d0/gpnf/gmne ) O gn32= 1.d0/gpnf/gmnh $ O gn33= gpne*gmne$ O gn34= gpne/gmne$ O gn35= gmnh/gpnf$ O gn36= gmnh*gpne$ O gn37= gpnb*gmni$ O gn38= gpnc/gpng) O gn39= 1.d0/gpng/gpnb $ O gn40= gmne/gmnf$ O gn41= gmng*gmne) O gn42= 1.d0/gmnf/gmnh $ O gn43= gmng/gmnh$ O gn44= gmne/gmng) O gn45= 1.d0/gmng/gmnho$ O gn46= gmnf/gmnh$ O gn47= gmnf*gmne$ O gn48= gmnh/gmnf) O gn49= 1.d0/gmng/gmne $ O gn50= gmng*gmnh) O gn51= 1.d0/gmnf/gmne $ O gn52= gmnh/gmng$ O gn53= gmnf*gmnh$ O gn54= gmnf/gmne O *2 O *-----helicity a-b)  O * $ O *-----Pair production I: common part O *65 O p1abrc= 32.d0*(gn13*x13*x25*(x24-x45)+gn15*x25* / O # (-x23+x35)+gn16*x25*(x15-1.d0))o% O p1abic= 128.d0*gn13*x25*(s1-s7)( O *p% O *-----Pair production II: common partq O * 4 O p2abrc= 16.d0*(gn12*(-x13*x24*x56+x13*x26*x45+8 O # x14*x23*x56-x14*x25*x36-x14*x26*x35+x15*9 O # x24*x36-x16*x23*x45+x16*x24*x35-x36*x45)+,: O # gn13*(x13*x24*x56-x13*x25*x46-x13*x26*x45+8 O # x15*x23*x46-x15*x24*x36-x16*x23*x45+x16*8 O # x24*x35-x35*x46+x36*x45)+gn14*(-x15*x26+; O # x16*x25+x56)+gn15*(x13*x25-x15*x23-x23*x56+x; O # x25*x36+x26*x35+x35)+gn16*(x15*x26+x16*x25-  O # x56)) O 8 O p2abic= 64.d0*(s1*gn13*x56-s2*gn15+s5*gn12*x35-s6*= O # gn16-s7*gn13*x26+s8*gn12*x25-s8*gn13*x25+s10* < O # gn12*x23-s11*gn12*x16-s13*gn12*x14+s13*gn15- O # s14*gn13*x13) O  O * & O *-----Pair production III: common part O * 7 O p3abrc= 16.d0*(gn12*(x13*x24*x56-x13*x26*x45-x14* 8 O # x23*x56+x14*x25*x36+x14*x26*x35-x15*x24*: O # x36+x16*x23*x45-x16*x24*x35+x36*x45)+gn14*9 O # (x15*x26-x16*x25-x56)+gn15*(-x13*x25+x15**8 O # x23-2.d0*x23*x45+2.d0*x24*x35-x35)+2.d0* O # gn37*x25)55 O p3abic= 64.d0*(s2*gn15-s5*gn12*x35-s8*gn12*x25-18 O # s10*gn12*x23+s11*gn12*x16-2.d0*s11*gn15+ O # s13*gn12*x14)  O * % O *-----Pair production IV: common part* O **0 O p4abrc= 32.d0*(gn13*x13*(-x23*x45-x24*x25+4 O # x24*x35)+gn15*x23*x25+gn16*(x15*x23+ O # x25-x35)) / O p4abic= 128.d0*gn13*((x35-x25)*s1-x23*s7)4 O * O  O *-----helicity c-d)  O * $ O *-----Pair production I: common part O * O + O p1cdrc= 32.d0*(gn3*(x13-x35)+gn6*x23* + O # (-x14+x45)+gn10*(1.d0-x25)) " O p1cdic= -128.d0*gn6*(s1+s11) O * % O *-----Pair production II: common part2 O *x- O p2cdrc= 16.d0*(gn1*x24*x36-gn2*x26-gn3* 0 O # (x23+x36)+gn4*(-x13*x24*x56+x13*0 O # x26*x45+x14*x23*x56-x14*x25*x36-0 O # x14*x26*x35-x16*x23*x45+x16*x24*/ O # x35+x36*x45)+gn5*(-x13*x25*x46+x0 O # x13*x26*x45-x14*x23*x56+x14*x25*0 O # x36-x14*x26*x35+x16*x23*x45+x35*/ O # x46-x36*x45)+gn6*(x23*x46)+gn7*5. O # (x13*x25+x13*x56-x16*x35-x35)+0 O # gn8*(-x16*x25+x56)+gn9*(x16*x25- O # x56)-gn10*x26)+ O p2cdic= 64.d0*(-s2*gn5*x46+s2*gn7-s4*x1 O # gn4*x36+s4*gn5*x36+s6*gn8-s6*gn9- 2 O # 2.d0*s7*gn5*x26-s8*gn4*x25+s8*gn5*0 O # x25+s12*gn1-s12*gn6+s15*gn4-s15* O # gn5) O *)& O *-----Pair production III: common part O **. O p3cdrc= 16.d0*(-gn1*x24*x36+gn2*x26+gn3*5 O # x23+gn4*(x13*x24*x56-x13*x26*x45-x14* O 4 O # x23*x56+x14*x25*x36+x14*x26*x35+x16*3 O # x23*x45-x16*x24*x35-x36*x45)+gn7*(-)2 O # x13*x25+2.d0*x13*x45-2.d0*x14*x35+2 O # x35)+gn9*(-x16*x25+x56)-2.d0*gn11)/ O p3cdic= 64.d0*(-s2*gn7+s4*gn4*x36+s6*gn9-h3 O # 2.d0*s7*gn7+s8*gn4*x25-s12*gn1-s15*  O # gn4) O *e% O *-----Pair production IV: common part  O * + O p4cdrc= 32.d0*(-gn3*x13+gn5*x23*(x13*s/ O # x45-x14*x35)+gn6*x14*x23+gn8*(- " O # x13*x25+x35)-gn10)/ O p4cdic= 128.d0*(s1*gn6-s2*gn8-s7*gn5*x23). O *0 O *-----helicity e-f)  O * $ O *-----Pair production I: common part O * , O p1efrc= 32.d0*(-gn48*x45-gn49*x14*x25+2 O # gn50*x15+gn52*(1.d0+x25)+gn54*x15)# O p1efic= 128.d0*(gn49-gn48)*s4( O * % O *-----Pair production II: common partq O *e, O p2efrc= 32.d0*(gn40*(x23*x46-x26*x34)+0 O # gn41*(x13*x26-x16*x23)-gn48*x46+" O # gn50*x16+gn52*x26)* O p2efic= 128.d0*(s1*gn40*x26+s5*gn40* O # x23-s5*gn48) O * & O *-----Pair production III: common part O * , O p3efrc= 32.d0*(gn49*x14*x25-gn52+2.d0* O # gn53-gn54*x15) O p3efic= -128.d0*s4*gn49  O * % O *-----Pair production IV: common part  O *4- O p4efrc= 32.d0*(gn40*(-x23*x46+x26*x34)+ 1 O gn41*(-x13*x26+x16*x23)-gn48*x34+ " O # gn50*x13+gn52*x23)+ O p4efic= 64.d0*(s1*gn42*(x34*x56+2.d0* 1 O # x35*x46)-s1*gn43*x56-s2*gn42*x34*21 O # x46-s2*gn43*x46-s4*gn51*x34+2.d0* / O # s5*gn42*x34*x35-s5*gn43*x35-s6* 1 O # gn43*x34-s7*gn43*x26-s8*gn42*x25*d- O # x34+2.d0*s8*gn43*x25-s9*gn43* . O # x34-s10*gn42*x23*x34+s10*gn43*0 O # x23+s11*gn42*(x16*x34+2.d0*x46)-/ O # s11*gn43*x16+2.d0*s13*gn45*x34- , O # 2.d0*s13*gn46-2.d0*s14*gn42*. O # x34+s14*gn43*x13+s15*gn42*x34-0 O # 2.d0*s15*gn43*x13+2.d0*s15*gn45* O # x23) O *1 O *-----helicity g-h)  O * $ O *-----Pair production I: common part O *x0 O p1ghrc= 32.d0*(gn31*x14*x25s-gn34*x24*x25-' O # gn35*x25+2.d0*gn36*x25) O p1ghic= 128.d0*s4*gn31*x25 O * O % O *-----Pair production II: common part3 O *41 O p2ghrc= 32.d0*(gn30*(x13*x56-x16*x35)+gn33* 6 O # (-x13*x26+x16*x23)+gn35*(x16*x25-x56)+ O # gn36*x26)s1 O p2ghic= 128.d0*(s2*gn30*x16+s6*gn30*x13-s6* 5 O # gn35+s7*gn32*(x16*x25-0.5d0*x25*x26)- O 7 O # s8*gn29*x25+0.5d0*s8*gn32*x25s+s9*gn32*x7 O # x25*(x14-0.5d0*x24)+s10*gn32*x25*(-x13+x8 O # 0.5d0*x23)+0.5d0*s11*gn32*x16*x25-0.5d0*4 O # s12*gn29*x25+0.5d0*s13*gn32*x14*x25-' O # 0.5d0*s14*gn32*x13*x25)  O * & O *-----Pair production III: common part O *21 O p3ghrc= 32.d0*(-gn31*x14*x25s+gn34*x24*x25+x0 O # gn35*(x14*x25+x25-x45)+gn36*x24)' O p3ghic= 128.d0*s4*(gn35-gn31*x25)  O * % O *-----Pair production IV: common part2 O * O - O p4ghrc= 32.d0*(gn30*(-x13*x56+x16*x35)+x1 O # gn33*(x13*x26-x16*x23)+gn35*(x13**" O # x25-x35)+gn36*x23). O p4ghic= 128.d0*(-s2*gn30*x16+s2*gn35-s6* O # gn30*x13)  O * ? O *-----complete diagrams, epsilon real and imag parts separated:  O *  O * , O *-----compensating single gluon propagators  O *  O gpcfr= sp O gmcfr= sm O *  O *-----All PP1-PP2 gamma-gluon3 O *3$ O cotggm= conc(6)3 O cp1ggr= cotggm/pfpb*gpcfr*fggm 3 O cp2ggr= -cotggm/pfp*gpcfr*fggm  O * + O p1aggr= -cp1ggr*p1abrc , O p1aggie= -cp1ggr*p1abic O * $ O p1bggr= -p1aggr% O p1bggie= p1aggie  O * + O p1cggr= -cp1ggr*p1cdrcl, O p1cggie= -cp1ggr*p1cdic O * $ O p1dggr= -p1cggr% O p1dggie= p1cggie O  O * + O p1eggr= -cp1ggr*p1efrc , O p1eggie= -cp1ggr*p1efic O * $ O p1fggr= -p1eggr% O p1fggie= p1eggie+ O * O + O p1gggr= -cp1ggr*p1ghrc , O p1gggie= -cp1ggr*p1ghic O *i$ O p1hggr= -p1gggr% O p1hggie= p1gggie  O * + O p2aggr= -cp2ggr*p2abrc , O p2aggie= -cp2ggr*p2abic O * $ O p2bggr= -p2aggr% O p2bggie= p2aggie= O *(+ O p2cggr= -cp2ggr*p2cdrc=, O p2cggie= -cp2ggr*p2cdic O *c$ O p2dggr= -p2cggr% O p2dggie= p2cggies O *++ O p2eggr= -cp2ggr*p2efrc , O p2eggie= -cp2ggr*p2efic O * $ O p2fggr= -p2eggr% O p2fggie= p2eggie  O * + O p2gggr= -cp2ggr*p2ghrc , O p2gggie= -cp2ggr*p2ghic O * $ O p2hggr= -p2gggr% O p2hggie= p2gggie  O *  O *-----All PP1 Z-gluon  O * ( O cp1zg= conc(4)/pfpb O *  O do i=1,4s: O hfr(i)= hch(i+4)*cp1zg*gpcfr*fggm O enddo O * + O ap1azgr= hfr(1)*p1abrcx, O ap1azgie= hfr(1)*p1abic( O p1azgr= ap1azgr*rsz, O p1azgre= -ap1azgie*aisz* O p1azgie= ap1azgie*rsz) O p1azgi= ap1azgr*aisz  O * , O ap1bzgr= -hfr(2)*p1abrc, O ap1bzgie= hfr(2)*p1abic( O p1bzgr= ap1bzgr*rsz, O p1bzgre= -ap1bzgie*aisz* O p1bzgie= ap1bzgie*rsz) O p1bzgi= ap1bzgr*aisz  O * + O ap1czgr= hfr(3)*p1cdrc5, O ap1czgie= hfr(3)*p1cdic( O p1czgr= ap1czgr*rsz, O p1czgre= -ap1czgie*aisz* O p1czgie= ap1czgie*rsz) O p1czgi= ap1czgr*aisz  O * , O ap1dzgr= -hfr(4)*p1cdrc, O ap1dzgie= hfr(4)*p1cdic( O p1dzgr= ap1dzgr*rsz, O p1dzgre= -ap1dzgie*aisz* O p1dzgie= ap1dzgie*rsz) O p1dzgi= ap1dzgr*aisz  O * + O ap1ezgr= hfr(3)*p1efrc#, O ap1ezgie= hfr(3)*p1efic( O p1ezgr= ap1ezgr*rsz, O p1ezgre= -ap1ezgie*aisz* O p1ezgie= ap1ezgie*rsz) O p1ezgi= ap1ezgr*aisz  O * , O ap1fzgr= -hfr(4)*p1efrc, O ap1fzgie= hfr(4)*p1efic( O p1fzgr= ap1fzgr*rsz, O p1fzgre= -ap1fzgie*aisz* O p1fzgie= ap1fzgie*rsz) O p1fzgi= ap1fzgr*aiszx O *x+ O ap1gzgr= hfr(1)*p1ghrc , O ap1gzgie= hfr(1)*p1ghic( O p1gzgr= ap1gzgr*rsz, O p1gzgre= -ap1gzgie*aisz* O p1gzgie= ap1gzgie*rsz) O p1gzgi= ap1gzgr*aisz  O * , O ap1hzgr= -hfr(2)*p1ghrc, O ap1hzgie= hfr(2)*p1ghic( O p1hzgr= ap1hzgr*rsz, O p1hzgre= -ap1hzgie*aisz* O p1hzgie= ap1hzgie*rsz) O p1hzgi= ap1hzgr*aisz  O *  O *-----All PP2 Z-gluon  O * ( O cp2zg= -conc(4)/pfp O *3 O do i=1,4 : O hgr(i)= hch(i+4)*cp2zg*gpcfr*fggm O enddo O * 6+ O ap2azgr= hgr(1)*p2abrcx, O ap2azgie= hgr(1)*p2abic( O p2azgr= ap2azgr*rsz, O p2azgre= -ap2azgie*aisz* O p2azgie= ap2azgie*rsz) O p2azgi= ap2azgr*aisz  O * , O ap2bzgr= -hgr(2)*p2abrc, O ap2bzgie= hgr(2)*p2abic( O p2bzgr= ap2bzgr*rsz, O p2bzgre= -ap2bzgie*aisz* O p2bzgie= ap2bzgie*rsz) O p2bzgi= ap2bzgr*aisze O * O + O ap2czgr= hgr(3)*p2cdrc5, O ap2czgie= hgr(3)*p2cdic( O p2czgr= ap2czgr*rsz, O p2czgre= -ap2czgie*aisz* O p2czgie= ap2czgie*rsz) O p2czgi= ap2czgr*aisz  O * , O ap2dzgr= -hgr(4)*p2cdrc, O ap2dzgie= hgr(4)*p2cdic( O p2dzgr= ap2dzgr*rsz, O p2dzgre= -ap2dzgie*aisz* O p2dzgie= ap2dzgie*rsz) O p2dzgi= ap2dzgr*aisz  O * + O ap2ezgr= hgr(3)*p2efrc , O ap2ezgie= hgr(3)*p2efic( O p2ezgr= ap2ezgr*rsz, O p2ezgre= -ap2ezgie*aisz* O p2ezgie= ap2ezgie*rsz) O p2ezgi= ap2ezgr*aisz  O * , O ap2fzgr= -hgr(4)*p2efrc, O ap2fzgie= hgr(4)*p2efic( O p2fzgr= ap2fzgr*rsz, O p2fzgre= -ap2fzgie*aisz* O p2fzgie= ap2fzgie*rsz) O p2fzgi= ap2fzgr*aisz  O * + O ap2gzgr= hgr(1)*p2ghrc , O ap2gzgie= hgr(1)*p2ghic( O p2gzgr= ap2gzgr*rsz, O p2gzgre= -ap2gzgie*aisz* O p2gzgie= ap2gzgie*rsz) O p2gzgi= ap2gzgr*aisz  O * , O ap2hzgr= -hgr(2)*p2ghrc, O ap2hzgie= hgr(2)*p2ghic( O p2hzgr= ap2hzgr*rsz, O p2hzgre= -ap2hzgie*aisz* O p2hzgie= ap2hzgie*rsz) O p2hzgi= ap2hzgr*aiszx O * O  O *-----All PP3-PP4 gamma-gluon4 O *52 O cp3ggr= conc(7)/pf*gmcfr*fggp4 O cp4ggr= -conc(7)/pfb*gmcfr*fggp O *4* O p3aggr= cp3ggr*p3abrc+ O p3aggie= cp3ggr*p3abic  O * $ O p3bggr= -p3aggr% O p3bggie= p3aggie  O * * O p3cggr= cp3ggr*p3cdrc+ O p3cggie= cp3ggr*p3cdicn O *)$ O p3dggr= -p3cggr% O p3dggie p3cggie1 O * * O p3eggr= cp3ggr*p3efrc+ O p3eggie= cp3ggr*p3efic  O * $ O p3fggr= -p3eggr% O p3fggie= p3eggie  O * * O p3gggr= cp3ggr*p3ghrc+ O p3gggie= cp3ggr*p3ghice O * O $ O p3hggr= -p3gggr% O p3hggie= p3gggie  O * * O p4aggr= cp4ggr*p4abrc+ O p4aggie= cp4ggr*p4abicr O *1$ O p4bggr= -p4aggr% O p4bggie= p4aggies O *(* O p4cggr= cp4ggr*p4cdrc+ O p4cggie= cp4ggr*p4cdic2 O * O $ O p4dggr= -p4cggr% O p4dggie= p4cggie* O *)* O p4eggr= cp4ggr*p4efrc+ O p4eggie= cp4ggr*p4efic  O * $ O p4fggr= -p4eggr% O p4fggie= p4eggie  O * * O p4gggr= cp4ggr*p4ghrc+ O p4gggie= cp4ggr*p4ghic  O * $ O p4hggr= -p4gggr% O p4hggie= p4gggie  O *  O *-----All PP3 Z-gluon2 O * O ' O cp3zg= -conc(4)/pf O  O *  O do i=1,4.8 O hnr(i)= hch(i)*cp3zg*gmcfr*fggp O enddo O * + O ap3azgr= hnr(1)*p3abrc , O ap3azgie= hnr(1)*p3abic( O p3azgr= ap3azgr*rsz, O p3azgre= -ap3azgie*aisz* O p3azgie= ap3azgie*rsz) O p3azgi= ap3azgr*aisz  O * , O ap3bzgr= -hnr(2)*p3abrc, O ap3bzgie= hnr(2)*p3abic( O p3bzgr= ap3bzgr*rsz, O p3bzgre= -ap3bzgie*aisz* O p3bzgie= ap3bzgie*rsz) O p3bzgi= ap3bzgr*aisz O  O * + O ap3czgr= hnr(3)*p3cdrc , O ap3czgie= hnr(3)*p3cdic( O p3czgr= ap3czgr*rsz, O p3czgre= -ap3czgie*aisz* O p3czgie= ap3czgie*rsz) O p3czgi= ap3czgr*aisz  O * , O ap3dzgr= -hnr(4)*p3cdrc, O ap3dzgie= hnr(4)*p3cdic( O p3dzgr= ap3dzgr*rsz, O p3dzgre= -ap3dzgie*aisz* O p3dzgie= ap3dzgie*rsz) O p3dzgi= ap3dzgr*aisz/ O *f+ O ap3ezgr= hnr(1)*p3efrc O , O ap3ezgie= hnr(1)*p3efic( O p3ezgr= ap3ezgr*rsz, O p3ezgre= -ap3ezgie*aisz* O p3ezgie= ap3ezgie*rsz) O p3ezgi= ap3ezgr*aisz/ O *g, O ap3fzgr= -hnr(2)*p3efrc, O ap3fzgie= hnr(2)*p3efic( O p3fzgr= ap3fzgr*rsz, O p3fzgre= -ap3fzgie*aisz* O p3fzgie= ap3fzgie*rsz) O p3fzgi= ap3fzgr*aisz  O *4+ O ap3gzgr= hnr(3)*p3ghrc*, O ap3gzgie= hnr(3)*p3ghic( O p3gzgr= ap3gzgr*rsz, O p3gzgre= -ap3gzgie*aisz* O p3gzgie= ap3gzgie*rsz) O p3gzgi= ap3gzgr*aisz  O * , O ap3hzgr= -hnr(4)*p3ghrc, O ap3hzgie= hnr(4)*p3ghic( O p3hzgr= ap3hzgr*rsz, O p3hzgre= -ap3hzgie*aisz* O p3hzgie= ap3hzgie*rsz) O p3hzgi= ap3hzgr*aiszs O *7 O *-----All PP4 Z-gluonu O *o' O cp4zg= conc(4)/pfbd O *g O do i=1,4 O 8 O hor(i)= hch(i)*cp4zg*gmcfr*fggp O enddo O **+ O ap4azgr= hor(1)*p4abrcn, O ap4azgie= hor(1)*p4abic( O p4azgr= ap4azgr*rsz, O p4azgre= -ap4azgie*aisz* O p4azgie= ap4azgie*rsz) O p4azgi= ap4azgr*aisz  O *#, O ap4bzgr= -hor(2)*p4abrc, O ap4bzgie= hor(2)*p4abic( O p4bzgr= ap4bzgr*rsz, O p4bzgre= -ap4bzgie*aisz* O p4bzgie= ap4bzgie*rsz) O p4bzgi= ap4bzgr*aisz  O * + O ap4czgr= hor(3)*p4cdrct, O ap4czgie= hor(3)*p4cdic( O p4czgr= ap4czgr*rsz, O p4czgre= -ap4czgie*aisz* O p4czgie= ap4czgie*rsz) O p4czgi= ap4czgr*aisz5 O *6, O ap4dzgr= -hor(4)*p4cdrc, O ap4dzgie= hor(4)*p4cdic( O p4dzgr= ap4dzgr*rsz, O p4dzgre= -ap4dzgie*aisz* O p4dzgie= ap4dzgie*rsz) O p4dzgi= ap4dzgr*aisz O  O * O + O ap4ezgr= hor(1)*p4efrc , O ap4ezgie= hor(1)*p4efic( O p4ezgr= ap4ezgr*rsz, O p4ezgre= -ap4ezgie*aisz* O p4ezgie= ap4ezgie*rsz) O p4ezgi= ap4ezgr*aiszp O *u, O ap4fzgr= -hor(2)*p4efrc, O ap4fzgie= hor(2)*p4efic( O p4fzgr= ap4fzgr*rsz, O p4fzgre= -ap4fzgie*aisz* O p4fzgie= ap4fzgie*rsz) O p4fzgi= ap4fzgr*aiszx O *x+ O ap4gzgr= hor(3)*p4ghrc2, O ap4gzgie= hor(3)*p4ghic( O p4gzgr= ap4gzgr*rsz, O p4gzgre= -ap4gzgie*aisz* O p4gzgie= ap4gzgie*rsz) O p4gzgi= ap4gzgr*aisz* O *+, O ap4hzgr= -hor(4)*p4ghrc, O ap4hzgie= hor(4)*p4ghic( O p4hzgr= ap4hzgr*rsz, O p4hzgre= -ap4hzgie*aisz* O p4hzgie= ap4hzgie*rsz) O p4hzgi= ap4hzgr*aiszs O *n7 O dasr= p1aggr+p1azgr+p2aggr+p2azgr+*6 O # p3aggr+p3azgr+p4aggr+p4azgr6 O dasi= p1azgi+p2azgi+p3azgi+p4azgi; O dasre= p1azgre+p2azgre+p3azgre+p4azgre O < O dasie= p1aggie+p1azgie+p2aggie+p2azgie+; O # p3aggie+p3azgie+p4aggie+p4azgie  O *27 O dbsr= p1bggr+p1bzgr+p2bggr+p2bzgr+26 O # p3bggr+p3bzgr+p4bggr+p4bzgr6 O dbsi= p1bzgi+p2bzgi+p3bzgi+p4bzgi; O dbsre= p1bzgre+p2bzgre+p3bzgre+p4bzgre2< O dbsie= p1bggie+p1bzgie+ O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O s,rwm,rwm2,rwg,rwmg,swg,swgs,opswgs,sth2,cth2,E O # hsth2,tsth2,scth2,asth2,tth2,rzm,rzm2,rzg,rzmg,szg,zC O # szgs,opszgs,sth4,cth4,ve,vf,vfp,rbqm2,rszw,rszw2,  O # s0w,s0z H O common/wtsubreg/dsm,usm,dsp,usp,rl(6),rr(6),srl(6),sdsm,sdsp,vvl1,* O # vvl2,vvl3,ul,omul,sumlF O common/wtcuts/aim(6),bim(6),ae(4),asa(4),bsa(4),afsa(6),bfsa(6),A O # ombsa(4),opbsa(4),teq,rae(4),omasa(4),opasa(4),r? O # sg12,cg12,sg13,cg13,sg14,cg14,sg23,cg23,sg24, = O # cg24,sg34,cg34,sct120,sct130,sct140,sct230, / O # sct240,sct340,sgam(4),cgam(4)f O *e O dimension x(ndim)  O dimension bt1(2),bt2(2)  O dimension rru1(2),rru2(2)p O dimension sfur(2),sflr(2)z O dimension ret1(2),ret2(2) O dimension ee(5),e(5),sg(5)% O dimension rrr(6),rrl(6),srrl(6) O ( O dimension bl(4),xbl(4),ss(4),cs(4)( O dimension tgc(15),tgn(16),otgn(16)@ O dimension dpxs(2,2,2,9),epxs(2,2,2,9),cpxs(2,9),bpxs(2,9), O # apxs(9)*9 O dimension rr1(2),rr2(2),rs1(2),rs2(2),rtp(2),rtm(2) A O dimension har(4),hbr(4),hdr(4),her(4),hfr(4),hgr(4),hhr(8),pA O # hir(8),hlr(4),hmr(4),hnr(4),hor(4),hpr(8),hqr(8),l, O # hapr(4),hbpr(4),hc(8),hcp(8)A O dimension hai(4),hbi(4),hdi(4),hei(4),hfi(4),hgi(4),hhi(8),cA O # hii(8),hli(4),hmi(4),hni(4),hoi(4),hpi(8),hqi(8), O  O # hapi(4),hbpi(4)g O *p4 O data ec2/-0.4999999963d0/,ec4/0.0416666418d0/,4 O # ec6/-0.0013888397d0/,ec8/0.0000247609d0/, O # ec10/-0.0000002605d0/ O * # O external c02ajf,s09aaf,s07aaf O  O external s21bbf,s21caf O *-" O *-----the order of integration is:5 O * u, v, m_-^2, m_+^2, M_0^2, m_0^2, m^2, t_w, t_1f O * 6 O * m_{+/-}^2 transformed for the resonating peaks6 O * M_0^2,m_0^2 transformed for the resonating peaks4 O * m^2 and t_1 transformed for the jacobian peaks O *c O do ix=1,2  O do it=1,2 O do itt=1,2 O do il=1,9 3 O dpxs(ix,it,itt,il)= 0.d0p O enddo  O enddop O enddo O enddo  O do it=1,2 O  O do il=1,9! O cpxs(it,il)= 0.d0 ! O bpxs(it,il)= 0.d0  O enddo O enddo  O * O  O if(ndim.eq.6) then O if(itc.eq.1) then O if(itcc.eq.1) then O smx= x(1) O sux= x(2) O sdx= x(3) O sfx= x(4) O twx= x(5) O t1x= x(6)# O else if(itcc.eq.2) then  O smx= x(1) O spx= x(2) O sux= x(3) O sfx= x(4) O twx= x(5) O t1x= x(6)# O else if(itcc.eq.3) then  O smx= x(1) O spx= x(2) O sux= x(3) O sdx= x(4) O twx= x(5) O t1x= x(6) O endif else( O smx= x(1)  O sux= x(2)1 O sdx= x(3)  O sfx= x(4)r O twx= x(5)  O t1x= x(6)z O endif O else if(ndim.eq.8) then  O if(itc.eq.1) then O if(itcc.eq.1) then O uvx= x(1) O vvx= x(2) O smx= x(3) O sux= x(4) O sdx= x(5) O sfx= x(6) O twx= x(7) O t1x= x(8)# O else if(itcc.eq.2) thenr O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sfx= x(6) O twx= x(7) O t1x= x(8)# O else if(itcc.eq.3) then  O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sdx= x(6) O twx= x(7) O t1x= x(8) O endif elseg O uvx= x(1)  O vvx= x(2)a O smx= x(3)  O sux= x(4)  O sdx= x(5)  O sfx= x(6)h O twx= x(7)  O t1x= x(8)z O endif O else if(ndim.eq.7) then* O smx= x(1) O spx= x(2) O sux= x(3) O sdx= x(4) O sfx= x(5) O twx= x(6) O t1x= x(7) O else if(ndim.eq.9) theni O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sdx= x(6) O sfx= x(7) O twx= x(8) O t1x= x(9) O endif O  O * O  O ik= ik+1 rs= arsn O one= 1.d0  O * ( O *-----if a point is not allowed then the O * result is set to zeroz O *r O iz= 1  O * % O if(ndim.eq.6.or.ndim.eq.7) then  O ueps= 0.d0  O uv= 1.d0  O uvs= uv*uv= O ujc= 1.d0 O veps= 0.d0a O vv= 1.d0h O vjc= 1.d0* O else if(ndim.eq.8.or.ndim.eq.9) then O * , O *-----independent invariants are initialized O * first u and v variable O * % O ueps= omul*(1.d0-uvx)**hbeti  O uv= 1.d0-ueps O ujc= omul**hbet O uvs= uv*uv  O *  O *-----limits for v O *o O *-----from equal cuts on SA  O * + O if(iac(3).eq.1.and.isab.eq.1) then=' O vvl4= ombsa(1)/opbsa(1)*uvs + O vvl= dmax1(vvl1,vvl2,vvl3,vvl4) else O & O vvl= dmax1(vvl1,vvl2,vvl3) O endif O * O *-----from E O *4 O vve= uv*(2.d0*suml-uv)a O vvll= dmax1(vvl,vve)  O *  O vvu1= uva+ O if(iac(3).eq.1.and.isaa.eq.1) thenr' O vvu2= omasa(1)/opasa(1)*uvs ! O vvu= dmin1(vvu1,vvu2) else2 O vvu= uv  O endif O uvl= uv-vvll  O *  O vkf= (uv-vvu)/uvl O if(vkf.eq.0.d0) thene' O veps= uvl*(1.d0-vvx)**hbetig else 8 O veps= uvl*(1.d0-(1.d0-vkf**hbet)*vvx)**hbeti O endif O vv= uv-veps O avkf= 1.d0-vkf**hbeta' O vjc= (1.d0-vvll/uv)**hbet*avkf O endifz O *  O svv= sqrt(vv)c O vwmg= rwmg*vv  O vzmg= rzmg*vvc O vvs= vv*vv O xm= uv O xp= vv/uv r O xmop= xm/xp % O if(ndim.eq.7.or.ndim.eq.6) thend O xdf= 0.d0 O else( O xdf= (ueps*(1.d0-ueps)-veps)/uv O endifi O xdfs= xdf*xdf  O sh= vv*s O *e O *-----Z parameters O *  O rszm2= zm*zm/sh O  O * O 1 O *-----Z propagator (real part and imaginary part)  O *  O dz0= 1.d0-rszm2h O dz= dz0*dz0+rszw2  O rsz= dz0/dz4! O omrz= (-rszm2*dz0+rszw2)/dzg O aisz= -rszw/dz O haisz= scth2*aisze O *pC O *-----Reduced structure functions are computed with arguments xp,xm  O *  O opxp= 1.d0+xp2 O opxm= 1.d0+xm  O omxp= veps/uvr O omxm= ueps O if(isf.eq.0) then4 O stfp= 1.d0  O stfm= 1.d04 O else if(isf.gt.0) then O if(omxp.eq.0) then  O stfp= d0gl else O " O rcpx= 0.25d0*opxp*opxp O rcpy= xp O iflp= 1=( O rclp= s21baf(rcpx,rcpy,iflp)3 O stfp= d0gl+eob*omxp**omhb*(-0.5d0*opxp+i- O # feta*(-4.d0*opxp*log(omxp)+r7 O # 3.d0*opxp*log(xp)+4.d0*rclp-5.d0-xp))  O endif O if(omxm.eq.0) then  O stfm= d0gl else O " O rcmx= 0.25d0*opxm*opxm O rcmy= xm O iflm= 1i( O rclm= s21baf(rcmx,rcmy,iflm)3 O stfm= d0gl+eob*omxm**omhb*(-0.5d0*opxm+ O - O # feta*(-4.d0*opxm*log(omxm)+a7 O # 3.d0*opxm*log(xm)+4.d0*rclm-5.d0-xm))a O endif O endif  O *d O stf= stfp*stfm O *+I O *-----if there is no upper cut on some FS IM, then the maximum is allowed  O *  O do j=1,6 O if(rr(j).eq.1.d0) then O rrr(j)= rr(j) O else O rrr(j)= rr(j)/vv  O endif= O rrl(j)= rl(j)/vv O srrl(j)= srl(j)/svvp O enddop O *g& O *-----cuts become special near xp = xm O *+! O if(abs(xdf).gt.1.d-15) then  O ieq= 1z( O bxe= vv/(ueps*(1.d0-ueps)-veps) O if(xdf.gt.0.d0) then+ O enc= 1.d0#" O else if(xdf.lt.0.d0) then O enc= xmop O  O endif O else O ieq= 0g O bxe= 1.d0 O endif % O if(ieq.eq.0.and.xm.le.teq) then  O iz= 0 O ifz(1)= ifz(1)+14 O go to 1 O endife O *17 O if(ieq.eq.0.and.iac(2).ne.0.and.iac(4).ne.0) thene O sct12= sct120/vv2 O sct13= sct130/vv  O sct14= sct140/vvg O sct23= sct230/vv  O sct24= sct240/vvz O sct34= sct340/vv O else O sct12= 0.d0 O sct13= 0.d0 O sct14= 0.d0 O sct23= 0.d0 O sct24= 0.d0 O sct34= 0.d0 O endif4 O *  O *-----cuts on Es O *  O do j=1,4 O if(ieq.eq.1) then # O bl(j)= 2.d0*rae(j)/xdfi# O xbl(j)= 2.d0*rae(j)/xpd O else if(ieq.eq.0) then" O bl(j)= 2.d0*rae(j)/xm O endifz O enddo  O *  O *-----cuts on SA O *2 O if(iac(3).ne.0) then O do j=1,4 % O if(sgam(j).eq.1.d0) then  O ss(j)= 0.d0+ O elsez7 O ss(j)= 1.d0+sgam(j)/(1.d0-sgam(j))*xmop+! O ss(j)= 1.d0/ss(j)d O endif% O if(cgam(j).eq.0.d0) then  O cs(j)= 1.d0r O else 7 O cs(j)= 1.d0+cgam(j)/(1.d0-cgam(j))*xmop ! O cs(j)= 1.d0/cs(j)z O endif O enddo O endif+ O *g" O *-----initialization of sm = m_-^2 O *  O zma1= dsm+ O zma2= vv*sct12 O zmb1= usm ! O zmb2= (svv-sdsp)*(svv-sdsp)r4 O zmb3= vv*(1.d0-sqrt(sct34))*(1.d0-sqrt(sct34)) O if(ieq.eq.0) then $ O zma3= vv*(bl(1)+bl(2)-1.d0)- O zmb4= vv*(1.d0-0.5d0*(bl(3)+bl(4)))*r) O # (1.d0-0.5d0*(bl(3)+bl(4)))g O zmb5= vv*(1.d0-bl(3)) O zmb6= vv*(1.d0-bl(4)) O else if(ieq.eq.1) then& O zma3= vv*(-enc+xbl(1)+xbl(2))2 O zmb4= 0.25d0*vv*(1.d0+enc-xbl(3)-xbl(4))*' O # (1.d0+enc-xbl(3)-xbl(4))  O zmb5= vv*(enc-xbl(3)) O zmb6= vv*(enc-xbl(4)) O endifz! O xzma= dmax1(zma1,zma2,zma3) 0 O xzmb= dmin1(zmb1,zmb2,zmb3,zmb4,zmb5,zmb6) O *#C O *-----limits on sm from cuts on SA. Here for maximum security. Rare  O *  O if(iac(3).eq.0) then O zma= xzma O zmb= xzmb O else i4 O if(ss(4).eq.ss(3).and.ss(2).eq.ss(1)) then # O if(ss(3).eq.ss(1)) thenb O szma= xzma  O szmb= xzmbc( O else if(ss(3).gt.ss(1)) then O szmb= xzmb  O adsp= dsp/vvd( O axszma= dmax1(adsp,sct34)5 O axszma= vv*(axszma-(1.d0-ss(1)-ss(3))/*% O # (ss(3)-ss(1)))d' O szma= dmax1(axszma,xzma)s( O else if(ss(3).lt.ss(1)) then& O if(ss(3).lt.0.5d0) then O szma= xzma= O axszmb= vv*((ss(3)-0.5d0)/(ss(3)-ss(1)))**2 O * O szmb= dmin1(axszmb,xzmb) O else  O iz= 0*" O ifz(2)= ifz(2)+1 O go to 1  O endif O endif else, O szma= xzma O szmb= xzmb O endif4 O if(cs(4).eq.cs(3).and.cs(2).eq.cs(1)) then # O if(cs(3).eq.cs(1)) thenj O zma= szma O zmb= szmb( O else if(cs(3).gt.cs(1)) then& O if(cs(3).gt.0.5d0) then O zma= szma+= O axczmb= vv*((cs(3)-0.5d0)/(cs(3)-cs(1)))**2 ) O zmb= dmin1(axczmb,szmb)  O elses O iz= 0b" O ifz(3)= ifz(3)+1 O go to 1  O endif( O else if(cs(3).lt.cs(1)) then O zmb= szmb, O adsp= dsp/vv+ O axczma= dmax1(adsp,sct34)t8 O axczma= vv*(axczma-(1.d0-cs(1)-cs(3))/( O # (cs(3)-cs(1)))) O zma= dmax1(axczma,szma)  O endif- elseo O zma= szma  O zmb= szmbd O endif O endifz O *.5 O if((itc.eq.1.and.itcc.eq.1).or.(itc.eq.2)) then O dzpa= dmax1(dsp,sct340) O if(itc.eq.1) then; O dzmb= (dist/rs-sqrt(dzpa))*(dist/rs-sqrt(dzpa)) O zmb= dmin1(zmb,dzmb) O else if(itc.eq.2) then ; O dzma= (dist/rs+sqrt(dzpa))*(dist/rs+sqrt(dzpa)) O zma= dmax1(zma,dzma)4 O dzmb= 0.25d0*(svv+dist/rs)*(svv+dist/rs) O zmb= dmin1(zmb,dzmb) O endif O endif % O if(itc.eq.1.and.itcc.eq.3) then $ O zmbd3= vv-0.5d0*dist*dist/s O zmb= dmin1(zmb,zmbd3) O endif  O *c O *-----test on sm O *  O if(zmb.le.zma) thent O iz= 0 O ifz(4)= ifz(4)+1( O go to 1 O endif# O *  O if(opeak.eq.'y') then( O zmas= zma-rwm2  O zmbs= zmb-rwm2 # O atma= (zmas+swgs*zma)/rwmgz# O atmb= (zmbs+swgs*zmb)/rwmg1/ O if(atma.gt.1.d0.and.atmb.gt.1.d0) then  O atma= 1.d0/atma  O atma= atan(atma)! O zmat= (pih-atma)/vwmg O  O atmb= 1.d0/atmb, O atmb= atan(atmb)! O zmbt= (pih-atmb)/vwmg $ O smjc0= (-atmb+atma)/vwmg5 O else if(atma.gt.1.d0.and.atmb.lt.-1.d0) then  O atma= 1.d0/atma( O atma= atan(atma)! O zmat= (pih-atma)/vwmg O  O atmb= -1.d0/atmb O atmb= atan(atmb)" O zmbt= (-pih+atmb)/vwmg' O smjc0= (-pi+atmb+atma)/vwmg 9 O else if(atma.gt.1.d0.and.abs(atmb).lt.1.d0) then  O atma= 1.d0/atmah O atma= atan(atma)! O zmat= (pih-atma)/vwmge O atmb= atan(atmb) O zmbt= atmb/vwmg.( O smjc0= (-pih+atmb+atma)/vwmg5 O else if(atma.lt.-1.d0.and.atmb.gt.1.d0) thenw O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vwmg O atmb= 1.d0/atmb  O atmb= atan(atmb)! O zmbt= (pih-atmb)/vwmg & O smjc0= (pi-atmb-atma)/vwmg6 O else if(atma.lt.-1.d0.and.atmb.lt.-1.d0) then O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vwmg O atmb= -1.d0/atmb O atmb= atan(atmb)" O zmbt= (-pih+atmb)/vwmg# O smjc0= (atmb-atma)/vwmg-: O else if(atma.lt.-1.d0.and.abs(atmb).lt.1.d0) then O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vwmg O atmb= atan(atmb) O zmbt= atmb/vwmgh' O smjc0= (pih+atmb-atma)/vwmgv9 O else if(abs(atma).lt.1.d0.and.atmb.gt.1.d0) thenm O atma= atan(atma) O zmat= atma/vwmg  O atmb= 1.d0/atmbm O atmb= atan(atmb)! O zmbt= (pih-atmb)/vwmg O ' O smjc0= (pih-atmb-atma)/vwmgk: O else if(abs(atma).lt.1.d0.and.atmb.lt.-1.d0) then O atma= atan(atma) O zmat= atma/vwmg  O atmb= -1.d0/atmb O atmb= atan(atmb)" O zmbt= (-pih+atmb)/vwmg( O smjc0= (-pih+atmb-atma)/vwmg> O else if(abs(atma).lt.1.d0.and.abs(atmb).lt.1.d0) then O atma= atan(atma) O zmat= atma/vwmg/ O atmb= atan(atmb) O zmbt= atmb/vwmgn# O smjc0= (atmb-atma)/vwmgp O endif O *w O zmv= smjc0*smx+zmat O iftn= 1 O atnm= vwmg*zmvt0 O sm= s0w/vv*(1.d0+swg*s07aaf(atnm,iftn)) O if(iftn.ne.0) print 300 O pmjac= 1.d0 O smjc= vv*smjc0v O * O ) O else if(opeak.eq.'n') then v O smjc0= zmb-zman O sm= (smjc0*smx+zma)/vvd5 O pmjac= 1.d0/((vv*sm-rwm2)**2+(vv*sm*swg)**2)= O smjc= smjc0 O endifi O if(sm.lt.0.d0) thenw O iz= 0 O ifz(4)= ifz(4)+1d O go to 1 O endifo O ssm= sqrt(sm)u O *c- O 300 format(/' Unsuccesful call to S07AAF ')  O * " O *-----initialization of sp = m_+^2 O * O  O zpa1= dspa O zpb1= uspi$ O zpb2= vv*(1.d0-ssm)*(1.d0-ssm) O * C O *-----limits on sp from cuts on SA. Here for maximum security. Rare2 O *g O if(iac(3).eq.0) then O zpb= dmin1(zpb1,zpb2) O zpa= zpa1 O else ,4 O if(ss(4).eq.ss(3).and.ss(2).eq.ss(1)) then # O if(ss(3).eq.ss(1)) then % O azpb= dmin1(zpb1,zpb2)/ O azpa= zpa1,( O else if(ss(3).gt.ss(1)) then= O zpb3= vv*(sm+(1.d0-ss(1)-ss(3))/(ss(3)-ss(1)))4* O azpb= dmin1(zpb1,zpb2,zpb3) O azpa= zpa1e( O else if(ss(3).lt.ss(1)) then% O azpb= dmin1(zpb1,zpb2)3= O zpa2= vv*(sm+(1.d0-ss(1)-ss(3))/(ss(3)-ss(1)))t% O azpa= dmax1(zpa1,zpa2)s O endif4 elsei O azpa= zpa1" O azpb= dmin1(zpb1,zpb2) O endif4 O if(cs(4).eq.cs(3).and.cs(2).eq.cs(1)) then # O if(cs(3).eq.cs(1)) then  O zpa= azpa O zpb= azpb( O else if(cs(3).gt.cs(1)) then O zpb= azpb= O bzpa= vv*(sm+(1.d0-cs(1)-cs(3))/(cs(3)-cs(1)))9$ O zpa= dmax1(azpa,bzpa)( O else if(cs(3).lt.cs(1)) then O zpa= azpa= O bzpb= vv*(sm+(1.d0-cs(1)-cs(3))/(cs(3)-cs(1)))h$ O zpb= dmin1(azpb,bzpb) O endif) elsel O zpa= azpa4 O zpb= azpb O  O endif O endif, O *( O if(ieq.eq.0) thenh( O zpel= vv*(-1.d0+bl(3)+bl(4)+sm)( O zpeu1= vv*(1.d0-bl(1)-bl(2)+sm) O zpeu2= vv*(1.d0-bl(1))  O zpeu3= vv*(1.d0-bl(2)). O else if(ieq.eq.1) then( O zpel= vv*(sm-enc+xbl(3)+xbl(4))) O zpeu1= vv*(sm+enc-xbl(1)-xbl(2))x O zpeu2= vv*(enc-xbl(1))  O zpeu3= vv*(enc-xbl(2))- O endiff O zpa= dmax1(zpa,zpel)' O zpb= dmin1(zpb,zpeu1,zpeu2,zpeu3)_ O zpap= vv*sct34 O zpa= dmax1(zpa,zpap)% O if(itc.eq.1.and.itcc.eq.3) thenn. O zpbd3= vv*(1.d0-sm)-0.5d0*dist*dist/s O zpb= dmin1(zpb,zpbd3) O endif  O *  O *-----test on sp O *  O if(zpb.le.zpa) then  O iz= 0 O ifz(5)= ifz(5)+1  O go to 1 O endifx O *x5 O if((itc.eq.1.and.itcc.eq.1).or.(itc.eq.2)) then 8 O bdistl= (dist/rs-svv*ssm)*(dist/rs-svv*ssm)-zpa8 O bdistu= zpb-(dist/rs-svv*ssm)*(dist/rs-svv*ssm)2 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then O iz= 0  O ifz(5)= ifz(5)+1 O go to 1  O endif O endif  O * 5 O if((itc.eq.1.and.itcc.eq.1).or.(itc.eq.2)) then 0 O sp= (dist/rs/svv-ssm)*(dist/rs/svv-ssm)0 O ppjac= 2.d0*abs((dist/rs-svv*ssm))/ars/0 O # ((vv*sp-rwm2)**2+(vv*sp*swg)**2) O spjc= 1.d0 O else O *  O if(opeak.eq.'y') then O zpas= zpa-rwm2 O zpbs= zpb-rwm2& O atpa= (zpas+swgs*zpa)/rwmg& O atpb= (zpbs+swgs*zpb)/rwmg2 O if(atpa.gt.1.d0.and.atpb.gt.1.d0) then O atpa= 1.d0/atpa O atpa= atan(atpa)t$ O zpat= (pih-atpa)/vwmg O atpb= 1.d0/atpb O atpb= atan(atpb) $ O zpbt= (pih-atpb)/vwmg' O spjc0= (-atpb+atpa)/vwmg=8 O else if(atpa.gt.1.d0.and.atpb.lt.-1.d0) then O atpa= 1.d0/atpa O atpa= atan(atpa)i$ O zpat= (pih-atpa)/vwmg O atpb= -1.d0/atpb  O atpb= atan(atpb) % O zpbt= (-pih+atpb)/vwmg O * O spjc0= (-pi+atpb+atpa)/vwmg< O else if(atpa.gt.1.d0.and.abs(atpb).lt.1.d0) then O atpa= 1.d0/atpa O atpa= atan(atpa) $ O zpat= (pih-atpa)/vwmg O atpb= atan(atpb)) O zpbt= atpb/vwmg+ O spjc0= (-pih+atpb+atpa)/vwmg)8 O else if(atpa.lt.-1.d0.and.atpb.gt.1.d0) then O atpa= -1.d0/atpa O  O atpa= atan(atpa) % O zpat= (-pih+atpa)/vwmg( O atpb= 1.d0/atpb O atpb= atan(atpb) $ O zpbt= (pih-atpb)/vwmg) O spjc0= (pi-atpb-atpa)/vwmg 9 O else if(atpa.lt.-1.d0.and.atpb.lt.-1.d0) thenx O atpa= -1.d0/atpa  O atpa= atan(atpa)w% O zpat= (-pih+atpa)/vwmg  O atpb= -1.d0/atpb) O atpb= atan(atpb) % O zpbt= (-pih+atpb)/vwmg & O spjc0= (atpb-atpa)/vwmg= O else if(atpa.lt.-1.d0.and.abs(atpb).lt.1.d0) theni O atpa= -1.d0/atpax O atpa= atan(atpa) % O zpat= (-pih+atpa)/vwmg  O atpb= atan(atpb) O  O zpbt= atpb/vwmg* O spjc0= (pih+atpb-atpa)/vwmg< O else if(abs(atpa).lt.1.d0.and.atpb.gt.1.d0) then O atpa= atan(atpa)e O zpat= atpa/vwmg O atpb= 1.d0/atpb O atpb= atan(atpb) $ O zpbt= (pih-atpb)/vwmg* O spjc0= (pih-atpb-atpa)/vwmg= O else if(abs(atpa).lt.1.d0.and.atpb.lt.-1.d0) then. O atpa= atan(atpa)e O zpat= atpa/vwmg O atpb= -1.d0/atpb O  O atpb= atan(atpb))% O zpbt= (-pih+atpb)/vwmg + O spjc0= (-pih+atpb-atpa)/vwmg O A O else if(abs(atpa).lt.1.d0.and.abs(atpb).lt.1.d0) theni O atpa= atan(atpa)= O zpat= atpa/vwmg O atpb= atan(atpb)1 O zpbt= atpb/vwmg& O spjc0= (atpb-atpa)/vwmg O endifd O * O  O zpv= spjc0*spx+zpate O iftn= 1 O  O atnp= vwmg*zpv3 O sp= s0w/vv*(1.d0+swg*s07aaf(atnp,iftn))n# O if(iftn.ne.0) print 300  O ppjac= 1.d0  O spjc= vv*spjc0 O * , O else if(opeak.eq.'n') then  O spjc0= zpb-zpa" O sp= (spjc0*spx+zpa)/vv8 O ppjac= 1.d0/((vv*sp-rwm2)**2+(vv*sp*swg)**2) O spjc= spjc0  O endif O endif* O *d O if(sp.lt.0.d0) thene O iz= 0 O ifz(5)= ifz(5)+1  O go to 1 O endif  O ssp= sqrt(sp)l O spmm= sp-sm  O smmp= sm-sp  O *v O cbw= -1.d0+sp-sm ifcr= 0 * O call c02ajf(one,cbw,sm,bt1,bt2,ifcr) O if(bt1(2).ne.0.d0) then  O iz= 0 O ifz(6)= ifz(6)+1. O go to 1 O endif  O *  O *-----Coul factors O *p O if(ocoul.eq.'y') then 0 O betb= 1.d0-2.d0*(sp+sm)+(sp-sm)*(sp-sm) O if(betb.le.0.d0) then O iz= 0 O  O ifz(7)= ifz(7)+1 O go to 1 O  O endif O betb= sqrt(betb)z O bdel= abs(sp-sm)4 O bmsr= 1.d0-4.d0*rwm2/vv% O bmsi= 4.d0*rwm*rwg/vv+1.d-20s' O abm= sqrt(bmsr*bmsr+bmsi*bmsi)u$ O bmr= sqrt(0.5d0*(abm+bmsr)) O bmi= 0.5d0*bmsi/bmr8 O acoulf= (bmr+bdel)*(bmr+bdel)+bmi*bmi-betb*betb& O acoulf= 0.5d0*acoulf/betb/bmi O acoulf= atan(acoulf)d7 O coulf= 0.5d0*alw*pi/betb*(1.d0-2.d0/pi*acoulf)t O else O coulf= 0.d0 O endif  O ssmpp= ssm+ssp O ssmmp= ssm-ssp O asup= 1.d0-ssmpp*ssmpp O asum= 1.d0-ssmmp*ssmmp+ O if(asup.lt.0.d0.or.asum.lt.0.d0) thenx O iz= 0 O ifz(8)= ifz(8)+1e O go to 1 O endif  O rasup= sqrt(asup)o O rasum= sqrt(asum)  O * " O *-----initialization of su = M_0^2 O *e% O *-----limits on su from cuts on FS IMs O * O  O sulim= rrl(4)5 O suuim1= rrr(4)5 O suuim2= (1.d0-srrl(3))*(1.d0-srrl(3)) 2! O suuim= dmin1(suuim1,suuim2)t O * @ O *-----limits on su from Delta_- > 0 (as derived from consistency O * on sd limits)  O * / O suud1= 0.25d0*(rasup+rasum)*(rasup+rasum) O - O suud2= 0.25d0*(1.d0+rasup)*(1.d0+rasup)f O *t O sul= sulim O sul= dmax1(sul,sct23)F O if(ieq.eq.0) then  O sul1= bl(2)+bl(3)-1.d0  O suu1= 1.d0-sp-bl(1) O suu2= 1.d0-sm-bl(4)* O suu3= (1.d0-0.5d0*(bl(1)+bl(4)))** O # (1.d0-0.5d0*(bl(1)+bl(4))) O else if(ieq.eq.1) then* O sul1= xbl(2)+xbl(3)+1.d0-2.d0*enc O suu1= enc-sp-xbl(1) O suu2= enc-sm-xbl(4)+ O suu3= (enc-0.5d0*(xbl(1)+xbl(4)))*0* O # (enc-0.5d0*(xbl(1)+xbl(4))) O endif  O sul= dmax1(sul,sul1)2 O suu= dmin1(suuim,suud1,suud2,suu1,suu2,suu3) O *d O sdlim= rrl(3) % O if(itc.eq.1.and.itcc.eq.2) thenn" O dsdl= dmax1(sdlim,sct140)@ O dsuu= (dist/svv/rs-sqrt(dsdl))*(dist/svv/rs-sqrt(dsdl)) O suu= dmin1(suu,dsuu)f O endif.% O if(itc.eq.1.and.itcc.eq.3) then / O suud3= 1.d0-sm-sp-0.5d0*dist*dist/vv/s  O suu= dmin1(suu,suud3) O endif  O *2 O *-----test on su O *4 O if(suu.le.sul) then4 O iz= 0 O ifz(9)= ifz(9)+1. O go to 1 O endif  O *s O if(opeakn.eq.'y') then O zuas= vv*sul-rzm2 O zubs= vv*suu-rzm2& O atua= (zuas+vv*szgs*sul)/rzmg& O atub= (zubs+vv*szgs*suu)/rzmg/ O if(atua.gt.1.d0.and.atub.gt.1.d0) then  O atua= 1.d0/atuax O atua= atan(atua)! O zuat= (pih-atua)/vzmge O atub= 1.d0/atub  O atub= atan(atub)! O zubt= (pih-atub)/vzmg $ O sujc0= (-atub+atua)/vzmg5 O else if(atua.gt.1.d0.and.atub.lt.-1.d0) then  O atua= 1.d0/atua  O atua= atan(atua)! O zuat= (pih-atua)/vzmg1 O atub= -1.d0/atub O atub= atan(atub)" O zubt= (-pih+atub)/vzmg' O sujc0= (-pi+atub+atua)/vzmg 9 O else if(atua.gt.1.d0.and.abs(atub).lt.1.d0) thens O atua= 1.d0/atua  O atua= atan(atua)! O zuat= (pih-atua)/vzmg  O atub= atan(atub) O zubt= atub/vzmg ( O sujc0= (-pih+atub+atua)/vzmg5 O else if(atua.lt.-1.d0.and.atub.gt.1.d0) thent O atua= -1.d0/atua O atua= atan(atua)" O zuat= (-pih+atua)/vzmg O atub= 1.d0/atub  O atub= atan(atub)! O zubt= (pih-atub)/vzmg)& O sujc0= (pi-atub-atua)/vzmg6 O else if(atua.lt.-1.d0.and.atub.lt.-1.d0) then O atua= -1.d0/atua O atua= atan(atua)" O zuat= (-pih+atua)/vzmg O atub= -1.d0/atub O atub= atan(atub)" O zubt= (-pih+atub)/vzmg# O sujc0= (atub-atua)/vzmgm: O else if(atua.lt.-1.d0.and.abs(atub).lt.1.d0) then O atua= -1.d0/atua O atua= atan(atua)" O zuat= (-pih+atua)/vzmg O atub= atan(atub) O zubt= atub/vzmgq' O sujc0= (pih+atub-atua)/vzmg 9 O else if(abs(atua).lt.1.d0.and.atub.gt.1.d0) then  O atua= atan(atua) O zuat= atua/vzmg) O atub= 1.d0/atubx O atub= atan(atub)! O zubt= (pih-atub)/vzmga' O sujc0= (pih-atub-atua)/vzmgs: O else if(abs(atua).lt.1.d0.and.atub.lt.-1.d0) then O atua= atan(atua) O zuat= atua/vzmg  O atub= -1.d0/atub O atub= atan(atub)" O zubt= (-pih+atub)/vzmg( O sujc0= (-pih+atub-atua)/vzmg> O else if(abs(atua).lt.1.d0.and.abs(atub).lt.1.d0) then O atua= atan(atua) O zuat= atua/vzmg  O atub= atan(atub) O zubt= atub/vzmg # O sujc0= (atub-atua)/vzmg  O endif O *  O zuv= sujc0*sux+zuat O iftn= 1 O atnu= vzmg*zuv(0 O su= s0z/vv* .d0+szg*s07aaf(atnu,iftn)) O if(iftn.ne.0) print 300 O pujac= 1.d0 O * * O else if(opeakn.eq.'n') then  O sujc0= suu-sul  O su= sujc0*sux+sul5 O pujac= 1.d0/((vv*su-rzm2)**2+(vv*su*szg)**2)x O endif( O sujc= vv*sujc0 O if(su.lt.0.d0) thenm O iz= 0 O ifz(9)= ifz(9)+1s O go to 1 O endif  O ssu= sqrt(su)  O *(" O *-----initialization of sd = m_0^2 O * % O *-----limits on sd from cuts on FS IM3 O *t O sdlim= rrl(3)  O sduim1= rrr(3)# O sduim2= (1.d0-ssu)*(1.d0-ssu) ! O sduim= dmin1(sduim1,sduim2)4 O * O # O *-----limits on sd from Delta_- > 0( O *0 O if(ssu.gt.rasup) then & O sdld= (ssu-rasup)*(ssu-rasup) O else O sdld= sdlim O endifi$ O sdud1= (ssu+rasup)*(ssu+rasup)& O sdud2= (-ssu+rasum)*(-ssu+rasum) O sdud= dmin1(sdud1,sdud2) O *tC O *-----limits on sd from cuts on SA. Here for maximum security. Rares O *4A O if(iac(3).ne.0.and.ss(4).eq.ss(1).and.ss(3).eq.ss(2)) then a O if(ss(2).eq.ss(1)) then# O asdu= dmin1(sduim,sdud)s# O asdl= dmax1(sdlim,sdld)a% O else if(ss(1).gt.ss(2)) thenp6 O sdusa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2))) O asdu= dmin1(sduim,sdud,sdusa) # O asdl= dmax1(sdlim,sdld)e% O else if(ss(1).lt.ss(2)) thenn# O asdu= dmin1(sduim,sdud)v6 O sdlsa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2))) O asdl= dmax1(sdlim,sdld,sdlsa)f O endif O else O asdu= dmin1(sduim,sdud) O asdl= dmax1(sdlim,sdld) O endifoA O if(iac(3).ne.0.and.cs(4).eq.cs(1).and.cs(3).eq.cs(2)) then m O if(cs(2).eq.cs(1)) then O sdl= asdl( O sdu= asdu % O else if(cs(1).gt.cs(2)) then) O sdu= asdua6 O sdlsb= su+(1.d0-cs(1)-cs(2))/(cs(1)-cs(2))" O sdl= dmax1(asdl,sdlsb)% O else if(cs(1).lt.cs(2)) thenn O sdl= asdlt6 O sdusb= su+(1.d0-cs(1)-cs(2))/(cs(1)-cs(2))" O sdu= dmin1(asdu,sdusb) O endif O else O sdl= asdl O sdu= asdu O endif O  O *  O if(ieq.eq.0) thenv$ O sdenl= -1.d0+bl(1)+bl(4)+su O sdenu1= 1.d0-sp-bl(2) O sdenu2= 1.d0-sm-bl(3)$ O sdenu3= 1.d0-bl(2)-bl(3)+su O else if(ieq.eq.1) then. O sdenl= su+1.d0-2.d0*enc+xbl(1)+xbl(4) O sdenu1= enc-sp-xbl(2) O sdenu2= enc-sm-xbl(3)/ O sdenu3= su-1.d0+2.d0*enc-xbl(2)-xbl(3) O endift O sdl= dmax1(sdl,sdenl)c* O sdu= dmin1(sdu,sdenu1,sdenu2,sdenu3) O sdl= dmax1(sdl,sct14))% O if(itc.eq.1.and.itcc.eq.3) then , O sdld3= 1.d0-sm-sp-su-dist*dist/vv/s O sdl= dmax1(sdl,sdld3)2 O sdud3= 1.d0-sm-sp-su-0.5d0*dist*dist/vv/s O sdu= dmin1(sdu,sdud3) O endifc O *( O *-----test on sd O *  O if(sdu.le.sdl) then0 O iz= 0 O ifz(10)= ifz(10)+11 O go to 1 O endifn O *m% O if(itc.eq.1.and.itcc.eq.2) then O ; O bdistl= (dist/rs-svv*ssu)*(dist/rs-svv*ssu)-vv*sdl ; O bdistu= vv*sdu-(dist/rs-svv*ssu)*(dist/rs-svv*ssu)m2 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then O iz= 0  O ifz(10)= ifz(10)+1 O go to 1m O endif O endift O */% O if(itc.eq.1.and.itcc.eq.2) then 0 O sd= (dist/rs/svv-ssu)*(dist/rs/svv-ssu)0 O pdjac= 2.d0*abs((dist/rs-svv*ssu))/ars/0 O # ((vv*sd-rzm2)**2+(vv*sd*szg)**2) O sdjc= 1.d0m O else O if(opeakn.eq.'y') then O  O zdas= vv*sdl-rzm2  O zdbs= vv*sdu-rzm2 O ) O atda= (zdas+vv*szgs*sdl)/rzmg O ) O atdb= (zdbs+vv*szgs*sdu)/rzmg.2 O if(atda.gt.1.d0.and.atdb.gt.1.d0) then O atda= 1.d0/atda O atda= atan(atda) $ O zdat= (pih-atda)/vzmg O atdb= 1.d0/atdb O atdb= atan(atdb) $ O zdbt= (pih-atdb)/vzmg' O sdjc0= (-atdb+atda)/vzmga8 O else if(atda.gt.1.d0.and.atdb.lt.-1.d0) then O atda= 1.d0/atda O atda= atan(atda)m$ O zdat= (pih-atda)/vzmg O atdb= -1.d0/atdbt O atdb= atan(atdb) % O zdbt= (-pih+atdb)/vzmg,* O sdjc0= (-pi+atdb+atda)/vzmg< O else if(atda.gt.1.d0.and.abs(atdb).lt.1.d0) then O atda= 1.d0/atda O atda= atan(atda) $ O zdat= (pih-atda)/vzmg O atdb= atan(atdb)s O zdbt= atdb/vzmg+ O sdjc0= (-pih+atdb+atda)/vzmg 8 O else if(atda.lt.-1.d0.and.atdb.gt.1.d0) then O atda= -1.d0/atdau O atda= atan(atda) % O zdat= (-pih+atda)/vzmga O atdb= 1.d0/atdb O atdb= atan(atdb) $ O zdbt= (pih-atdb)/vzmg) O sdjc0= (pi-atdb-atda)/vzmgm9 O else if(atda.lt.-1.d0.and.atdb.lt.-1.d0) then  O atda= -1.d0/atda  O atda= atan(atda) % O zdat= (-pih+atda)/vzmg) O atdb= -1.d0/atdbs O atdb= atan(atdb)d% O zdbt= (-pih+atdb)/vzmgz& O sdjc0= (atdb-atda)/vzmg= O else if(atda.lt.-1.d0.and.abs(atdb).lt.1.d0) thens O atda= -1.d0/atda1 O atda= atan(atda)a% O zdat= (-pih+atda)/vzmgt O atdb= atan(atdb)= O zdbt= atdb/vzmg* O sdjc0= (pih+atdb-atda)/vzmg< O else if(abs(atda).lt.1.d0.and.atdb.gt.1.d0) then O atda= atan(atda)  O zdat= atda/vzmg O atdb= 1.d0/atdb O atdb= atan(atdb)($ O zdbt= (pih-atdb)/vzmg* O sdjc0= (pih-atdb-atda)/vzmg= O else if(abs(atda).lt.1.d0.and.atdb.lt.-1.d0) then  O atda= atan(atda)  O zdat= atda/vzmg O atdb= -1.d0/atdb  O atdb= atan(atdb) O % O zdbt= (-pih+atdb)/vzmgn+ O sdjc0= (-pih+atdb-atda)/vzmgpA O else if(abs(atda).lt.1.d0.and.abs(atdb).lt.1.d0) thenm O atda= atan(atda)) O zdat= atda/vzmg O atdb= atan(atdb) O  O zdbt= atdb/vzmg& O sdjc0= (atdb-atda)/vzmg O endifb O *) O zdv= sdjc0*sdx+zdat( O iftn= 1  O atnd= vzmg*zdv3 O sd= s0z/vv*(1.d0+szg*s07aaf(atnd,iftn))1# O if(iftn.ne.0) print 300( O pdjac= 1.d01 O *v- O else if(opeakn.eq.'n') then n O sdjc0= sdu-sdl O sd= sdjc0*sdx+sdl O 8 O pdjac= 1.d0/((vv*sd-rzm2)**2+(vv*sd*szg)**2) O endif O sdjc= vv*sdjc0p O endifz O *) O if(sd.lt.0.d0) thenc O iz= 0 O ifz(10)= ifz(10)+15 O go to 1 O endifm O ssd= sqrt(sd)  O sdmu= sd-sue$ O sdmus= (1.d0+sdmu)*(1.d0+sdmu) O * O  O if(ios.eq.3) theni O escals= -vv*s O rescals= svv*rs O escalu= -vv*su*si O rescalu= svv*ssu*rs O escald= -vv*sd*s- O rescald= svv*ssd*rs$ O call wtopself(escalu,pggfu)$ O call wtopself(escald,pggfd)$ O call wtopself(escals,pggfs)% O derul= 0.25d0*alpha/pi*pggfuf% O derdl= 0.25d0*alpha/pi*pggfde% O dersl= 0.25d0*alpha/pi*pggfsq O eth= 40.d0/rs/vvq" O if(rescalu.gt.40.d0) then/ O call wtohadr5(rescalu,deruh,ederuh)s O else * O call wtopselfnp(escalu,pggnpu)) O deruh= 0.25d0*alpha/pi*pggnpu  O endif" O if(rescald.gt.40.d0) then/ O call wtohadr5(rescald,derdh,ederdh)  O else * O call wtopselfnp(escald,pggnpd)) O derdh= 0.25d0*alpha/pi*pggnpd. O endif" O if(rescals.gt.40.d0) then/ O call wtohadr5(rescals,dersh,edersh)  O else * O call wtopselfnp(escals,pggnps)) O dersh= 0.25d0*alpha/pi*pggnps  O endif O deru= derul+deruh O derd= derdl+derdh O ders= dersl+dersh O alpu= alpha/(1.d0-deru) O alpd= alpha/(1.d0-derd) O alps= alpha/(1.d0-ders)" O corrgu= 4*pi*alpu/g2/sth2" O corrgd= 4*pi*alpd/g2/sth2" O corrgs= 4*pi*alps/g2/sth2 O else O corrgu= 1.d0  O corrgd= 1.d0+ O corrgs= 1.d0 O endifg O *. O if(oqcd.eq.'y') then O if(iqcd.lt.2) then/3 O qcdjc= (1.d0+0.5d0*als/pi*(fcuc-1.d0))* 7 O # (1.d0+0.5d0*als/pi*(fcdc-1.d0))-1.d0 O 4 O qcdjn= (1.d0+0.5d0*alsz/pi*(fcun-1.d0))*8 O # (1.d0+0.5d0*alsz/pi*(fcdn-1.d0))-1.d0 else0 O nf= 5 # O scalp= sqrt(vv)*ssp*arsa# O scalm= sqrt(vv)*ssm*ars=# O scalu= sqrt(vv)*ssu*arsp# O scald= sqrt(vv)*ssd*arsa( O alsp= wtorals(qcdl,scalp,nf)( O alsm= wtorals(qcdl,scalm,nf)( O alsu= wtorals(qcdl,scalu,nf)( O alsd= wtorals(qcdl,scald,nf)4 O qcdjc= (1.d0+0.5d0*alsp/pi*(fcuc-1.d0))*8 O # (1.d0+0.5d0*alsm/pi*(fcdc-1.d0))-1.d04 O qcdjn= (1.d0+0.5d0*alsu/pi*(fcun-1.d0))*8 O # (1.d0+0.5d0*alsd/pi*(fcdn-1.d0))-1.d0 O endif O else O qcdjc= 0.d0 O qcdjn= 0.d0 O endif  O * O *-----initialization of sf = m^2 O * % O *-----limits on sf from cuts on FS IM= O *p O sflim1= rrl(2) O sfuim1= rrr(2) O bsg= sm+sp+su+sd O ombsg= 1.d0-bsg  O sflim2= ombsg-rrr(5) O sfuim2= ombsg-rrl(5)! O sflim= dmax1(sflim1,sflim2)h! O sfuim= dmin1(sfuim1,sfuim2)e O * " O *-----limits on sf from cuts on SA O * $ O tcuts= ss(1)-ss(2)+ss(3)-ss(4)$ O tcutc= cs(1)-cs(2)+cs(3)-cs(4)> O if(iac(3).ne.0.and.tcuts.ne.0.d0.and.tcutc.ne.0.d0) then1 O if(tcuts.gt.0.d0.and.tcutc.gt.0.d0) thend6 O sflsa= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- + O # (cs(1)-cs(4))*sm)/tcutc 6 O sfusa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp-n+ O # (ss(1)-ss(4))*sm)/tcuts p$ O asfl= dmax1(sflim,sflsa)$ O asfu= dmin1(sfuim,sfusa)6 O else if(tcuts.gt.0.d0.and.tcutc.lt.0.d0) then6 O sfusa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp- + O # (ss(1)-ss(4))*sm)/tcuts 06 O sfusb= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp-s+ O # (cs(1)-cs(4))*sm)/tcutc * O asfu= dmin1(sfuim,sfusa,sfusb)# O asfl= sflim 6 O else if(tcuts.lt.0.d0.and.tcutc.gt.0.d0) then6 O sflsa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp-5+ O # (ss(1)-ss(4))*sm)/tcuts O 6 O sflsb= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- + O # (cs(1)-cs(4))*sm)/tcutc f* O asfl= dmax1(sflim,sflsa,sflsb)# O asfu= sfuim o6 O else if(tcuts.lt.0.d0.and.tcutc.lt.0.d0) then6 O sflsa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp- + O # (ss(1)-ss(4))*sm)/tcuts 6 O sfusa= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp-0+ O # (cs(1)-cs(4))*sm)/tcutc 2$ O asfl= dmax1(sflim,sflsa)$ O asfu= dmin1(sfuim,sfusa) O endif O else O asfl= sflim O asfu= sfuim O endifb O ** O if(ieq.eq.0) then5 O asfenl1= bl(1)-sm-sdo O asfenl2= bl(3)-sp-suu" O asfenu1= 1.d0-bl(2)-sp-sd" O asfenu2= 1.d0-bl(4)-sm-su O else if(ieq.eq.1) then' O asfenl1= 1.d0-enc-sm-sd+xbl(1) ' O asfenl2= 1.d0-enc-sp-su+xbl(3)s" O asfenu1= enc-sp-sd-xbl(2)" O asfenu2= enc-sm-su-xbl(4) O endifz' O asfl= dmax1(asfl,asfenl1,asfenl2)n' O asfu= dmin1(asfu,asfenu1,asfenu2)u# O aasfu= 1.d0-sm-sp-su-sd-sct24i O asfl= dmax1(asfl,sct13)i O asfu= dmin1(asfu,aasfu) O  O *  O if(iac(3).ne.0) then O if(ss(4).ne.ss(3)) then O if(ss(4).gt.ss(3)) then 5 O asfltw= -(1.d0-ss(3)*sp-ss(3)*su+ss(4)*sm+s7 O # ss(4)*su-ss(4)-bt1(1))/(ss(4)-ss(3)) # O asfl= dmax1(asfl,asfltw)2% O else if (ss(4) t.ss(3)) then 5 O asfutw= -(1.d0-ss(3)*sp-ss(3)*su+ss(4)*sm+=7 O # ss(4)*su-ss(4)-bt1(1))/(ss(4)-ss(3))t# O asfu= dmin1(asfu,asfutw) endif= O endif O if(cs(1).ne.cs(2)) then O if(cs(1).gt.cs(2)) then+9 O bsfltw= -(cs(1)*sm+cs(1)*sd-cs(2)*sp-cs(2)*sd+ . O # cs(2)-bt1(1))/(cs(1)-cs(2))# O asfl= dmax1(asfl,bsfltw)c$ O else if(cs(1).lt.cs(2)) then9 O bsfutw= -(cs(1)*sm+cs(1)*sd-cs(2)*sp-cs(2)*sd+ / O # cs(2)-bt1( O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O sfjc= efac*(sflt-sfut) O else O efac= 1.d0 O qbar= 0.d0" O rbar= 1.d0-ek2 O ifel= 10: O sfbar= -dog*s21bbf(qbar,rbar,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(19)= ifz(19)+11 O go to 2 O endif $ O if(it.eq.1) then1 O sft= (sfbar-sflt)*sfx+sfltb O ifel= 1$ O asf= -sft/dog> O call s21caf(asf,ek2,elsn,elcn,edn,ifel)) O if(ifel.ne.0) then  O iz= 0 , O ifz(20)= ifz(20)+1! O go to 2= O endif2 O sf= 0.5d0*(ombsg-sedm*elcn). O sfjc= efac*(sfbar-sflt)* O else if(it.eq.2) then1 O sft= (sfbar-sfut)*sfx+sfut O  O ifel= 1$ O asf= -sft/dog> O call s21caf(asf,ek2,elsn,elcn,edn,ifel)) O if(ifel.ne.0) thend O iz= 0a, O ifz(21)= ifz(21)+1! O go to 2  O endif2 O sf= 0.5d0*(ombsg+sedm*elcn). O sfjc= efac*(sfbar-sfut) O endif O endif $ O else if(iel.eq.2) then O efac= 1.d0" O if(it.eq.1) then. O sft= (sfut-sflt)*sfx+sflt O ifel= 1" O asf= -sft/dog< O call s21caf(asf,ek2,elsn,elcn,edn,ifel)' O if(ifel.ne.0) then  O iz= 00* O ifz(22)= ifz(22)+1 O go to 2  O endif0 O sf= 0.5d0*(ombsg-sedm*elcn)+ O sfjc= efac*(sfut-sflt) ' O else if(it.eq.2) thenv. O sft= (sflt-sfut)*sfx+sfut O ifel= 1" O asf= -sft/dog< O call s21caf(asf,ek2,elsn,elcn,edn,ifel)' O if(ifel.ne.0) thene O iz= 0l* O ifz(23)= ifz(23)+1 O go to 2r O endif0 O sf= 0.5d0*(ombsg+sedm*elcn)+ O sfjc= efac*(sflt-sfut)l O endif  O endifa6 O else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then$ O if(edelp.le.0.d0) then O iz= 0# O ifz(24)= ifz(24)+1c O go to 2 O endif  O sedp= sqrt(edelp)  O efac= 1.d0 O es1= rs1(1)d O es2= rs2(1)4 O er1= rr1(1)l O er2= rr2(1)r O ssed= sedm+sedp " O ek= (sedm-sedp)/ssed O ek2= ek*ek O dog= 2.d0/ssed O if(it.eq.1) then. O es2pl= (er1-sfl)/(sfl-er2)/ek. O es2pu= (er1-sfu)/(sfu-er2)/ek O eql= 1.d0-es2pl O equ= 1.d0-es2pu$ O erl= 1.d0-ek2*es2pl$ O eru= 1.d0-ek2*es2pu# O else if(it.eq.2) then . O es2pl= (sfl-es2)/(sfl-es1)/ek. O es2pu= (sfu-es2)/(sfu-es1)/ek O eql= 1.d0-es2pl O equ= 1.d0-es2pu$ O erl= 1.d0-ek2*es2pl$ O eru= 1.d0-ek2*es2pu O endif % O if(eql.eq.1.d0) thenn O sflt= 0.d0 O else1 O ifel= 1 / O sflt= 2.d0*dog*sqrt(es2pl)**2 O # s21bbf(eql,erl,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(25)= ifz(25)+1  O go to 2 O endifr O endif% O if(equ.eq.1.d0) then  O sfut= 0.d0 O else  O ifel= 1s? O if(equ.lt.0.d0.and.abs(equ).lt.1.d-12) thenc O equ= 0.d0 O endif)/ O sfut= 2.d0*dog*sqrt(es2pu)*c2 O # s21bbf(equ,eru,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(26)= ifz(26)+1  O go to 2 O endif  O endif* O sft= (sfut-sflt)*sfx+sflt O ifel= 1# O asf= 0.5d0/dog*sft-8 O call s21caf(asf,ek2,elsn,elcn,edn,ifel)! O elsn2= elsn*elsnc# O if(ifel.ne.0) then0 O iz= 0c& O ifz(27)= ifz(27)+1 O go to 2  O endif! O if(it.eq.1) then#: O sf= (er1+ek*elsn2*er2)/(1.d0+ek*elsn2)& O else if(it.eq.2) then: O sf= (es2-ek*elsn2*es1)/(1.d0-ek*elsn2) O endif' O sfjc= efac*(sfut-sflt)  O endif O *u O endif O *l O *-----auxiliary quantities  O *  O sdpf= sd+sf O e3= sp+su+sfg O e4= 1.d0+spmm-e3n O e3p4= 1.d0+spmm O e1= sm+sdpf O e2= 1.d0+smmp-e13( O e1p2= 1.d0+smmp $ O e1p3= e1+e3 0 O e1m2= 2.d0*e1-1.d0+spmm  O ep12= xp*e1*e23 O ep1= xp*e1) O ep2= xp*e2  O ep3= xp*e3u O ep4= xp*e4  O e1t2= e1*e2 O e1t3= e1*e3 O e1t4= e1*e4 O e2t3= e2*e3 O e2t4= e2*e4 O e3t4= e3*e4/ O if((e1p3*e1p3-4.d0*sf).lt.0.d0) then  O iz= 0! O ifz(28)= ifz(28)+1( O go to 2 O endif( O skl2= sqrt(e1p3*e1p3-4.d0*sf)+ O if((sdmus-4.d0*sd).lt.0.d0) then) O iz= 0! O ifz(29)= ifz(29)+1  O go to 2 O endif O skl3= sdmus-4.d0*sd O skl3= sqrt(skl3). O *0 O *-----initialization of t_w  O * ) O *-----limits on tw from positivity and SAs O * O  O twlp1= 0.d0 O twlp2= smmp O twlp3= spmm-1.d0s) O twlp= dmax1(twlp1,twlp2,twlp3)( O twup= 1.d0- O *2" O *-----limits on tw from cuts on SA O *) O if(iac(3).ne.0) then & O skl2m= 0.5d0*(e1p3-skl2)& O skl2p= 0.5d0*(e1p3+skl2), O skl3p= -0.5d0*(1.d0+sdmu-skl3), O skl3m= -0.5d0*(1.d0+sdmu+skl3), O twlsa1= 1.d0-cs(3)*e3-cs(4)*e4' O twlsa2= ss(1)*e1+ss(2)*e2 O 8 O twlsa3= 1.d0-cs(3)*e3-cs(4)*e4-skl3p+skl3m4 O twlsa4= 1.d0-2.d0*cs(3)*e3+skl2m+skl3m4 O twlsa5= 1.d0-2.d0*cs(4)*e4-skl2p-skl3p8 O twlsa6= 1.d0-cs(3)*e3-cs(4)*e4-skl2p+skl2m, O twusa1= 1.d0-ss(3)*e3-ss(4)*e4' O twusa2= cs(1)*e1+cs(2)*e2s8 O twusa3= 1.d0-ss(3)*e3-ss(4)*e4+skl3p-skl3m4 O twusa4= 1.d0-2.d0*ss(4)*e4-skl2m-skl3m4 O twusa5= 1.d0-2.d0*ss(3)*e3+skl2p+skl3p8 O twusa6= 1.d0-ss(3)*e3-ss(4)*e4+skl2p-skl2m; O atwl= dmax1(twlp,twlsa1,twlsa2,twlsa3,twlsa4, ( O # twlsa5,twlsa6); O atwu= dmin1(twup,twusa1,twusa2,twusa3,twusa4, O ( O # twusa5,twusa6) O else) O atwl= twlp O atwu= twup O endif O * O  O *-----limits on tw from E- O *4 O if(ieq.eq.1) then. O atwle= 1.d0-bxe*e3p4+bl(3)+bl(4)) O atwue= bxe*e1p2-bl(1)-bl(2)h" O if(xdf.gt.0.d0) then O twle= atwle O twue= atwue' O else if(xdf.lt.0.d0) then-% O atwle1= bxe*e1-bl(1)l% O atwle2= bxe*e2-bl(2)h* O atwue1= 1.d0-bxe*e3+bl(3)* O atwue2= 1.d0-bxe*e4+bl(4)1 O twle= dmax1(atwue,atwle1,atwle2)f1 O twue= dmin1(atwle,atwue1,atwue2)( O endif O $ O atwl= dmax1(atwl,twle)$ O atwu= dmin1(atwu,twue) O endif O *  O *-----natural limits on tw O *)# O atwl= dmax1(atwl,bt1(1))1# O atwu= dmin1(atwu,bt2(1)). O *c O *-----test on tw O * O if(atwu.le.atwl) then O iz= 0 O ifz(30)= ifz(30)+1 O go to 2a O endif O *w O twjc= atwu-atwl O tw= twjc*twx+atwl O pn= tw+sp-1.d0. O omtw= 1.d0-tw O *t O *-----initialization of t1 O *(% O *-----limits on t1 from positivity+SA2 O *( O t1lp1= 0.d0 O t1lp2= pn+sdpf O  O t1up1= tw O t1up2= sm+sdpfd# O t1lp= dmax1(t1lp1,t1lp2))# O t1up= dmin1(t1up1,t1up2)2 O *(" O *-----limits on t1 from cuts on SA O *f O if(iac(3).ne.0) then  O t1lc1= ss(1)*e1- O t1lc2= tw-cs(2)*e2; O t1lc3= ss(3)*e3-(omtw-0.5d0*(1.d0+sdmu-skl3))(5 O t1lc4= -cs(4)*e4+0.5d0*(1.d0+sdmu-skl3))/ O t1lc5= 0.5d0*(e1p3-skl2)-cs(3)*e3u4 O t1lc6= 0.5d0*(e1p3-skl2)-omtw+ss(4)*e4 O t1uc1= cs(1)*e1 O t1uc2= tw-ss(2)*e2; O t1uc3= cs(3)*e3-(omtw-0.5d0*(1.d0+sdmu+skl3))d5 O t1uc4= -ss(4)*e4+0.5d0*(1.d0+sdmu+skl3) / O t1uc5= 0.5d0*(e1p3+skl2)-ss(3)*e3a4 O t1uc6= 0.5d0*(e1p3+skl2)-omtw+cs(4)*e4> O t1lc= dmax1(t1lc1,t1lc2,t1lc3,t1lc4,t1lc5,t1lc6)> O t1uc= dmin1(t1uc1,t1uc2,t1uc3,t1uc4,t1uc5,t1uc6)$ O at1l= dmax1(t1lp,t1lc)$ O at1u= dmin1(t1up,t1uc) O elses O at1l= t1lp O at1u= t1up O endif O *z O *-----limits on t1 from Ei O *1 O if(ieq.eq.1) then$ O at1le= tw-bxe*e2+bl(2)! O at1ue= bxe*e1-bl(1) " O if(xdf.gt.0.d0) then O t1le= at1le O t1ue= at1ue O else O t1le= at1ue O t1ue= at1le O endif,$ O at1l= dmax1(at1l,t1le)$ O at1u= dmin1(at1u,t1ue) O endif O *u4 O *-----positivity of (R')^2 / reality of roots for t3 O *m! O rp0= e1p2*e1p2-4.d0*smc O if(rp0.lt.0.d0) then  O iz= 00 O ifz(31)= ifz(31)+1 O go to 21 O endif O srp0= sqrt(rp0) O rp0e= -rp0 , O rp1= (e1*e1p2-2.d0*sm)*tw-sm*e1m2 O rp1e= 2.d0*rp1f& O rp2= -(e1*tw-sm)*(e1*tw-sm) O if(rp0e.eq.0.d0) then O iz= 0) O ifz(31)= ifz(31)+1 O go to 2r O endif O ifct= 0 O if(rp0e.ne.0.d0) then7 O call c02ajf(rp0e,rp1e,rp2,ret1,ret2,ifct)r/ O rpds= 0.5d0*rp0*(ret2(1)-ret1(1))t& O t1l= dmax1(at1l,ret1(1))& O t1u= dmin1(at1u,ret2(1))% O else if(rp0e.eq.0.d0) then  O sret1= -rp2/rp1e# O if(rp1e.gt.0.d0) then ' O t1l= dmax1(at1l,sret1)( O t1u= at1u( O else if(rp1e.lt.0.d0) then O t1l= at1l' O t1u= dmin1(at1u,sret1)  O endif1 O endif O *f O *-----test on t1 O *u O if(t1u.le.t1l) then O iz= 0 O ifz(32)= ifz(32)+1 O go to 2e O endif O *q! O *-----transformation for jacobian  O * O if(rp0e.eq.0.d0) then0 O taul= 2.d0/rp1e*sqrt(rp1e*t1l+rp2)0 O taut= 2.d0/rp1e*sqrt(rp1e*t1u+rp2) O t1jc= taut-taul O 9 O t1= 0.25d0*rp1e*(t1jc*t1x+taul)**2-rp2/rp1ef O endif" O if(ret1(1).eq.t1l) then O at1tl= -pih/srp0 O elsef0 O bt1tl= 1.d0+rp0/rpds*(ret1(1)-t1l) O ifas= 1e- O at1tl= -s09aaf(bt1tl,ifas)/srp0 % O if(ifas.ne.0) print 200  O endif" O if(ret2(1).eq.t1u) then O at1tu= pih/srp0t O else 1 O bt1tu= -1.d0+rp0/rpds*(ret2(1)-t1u)e O ifas= 1t- O at1tu= -s09aaf(bt1tu,ifas)/srp0h% O if(ifas.ne.0) print 200  O endif) O if((at1tl+at1tu).eq.0.d0) then # O if(t1x.lt.1.d-3) then  O arc= pi*t1x O arc2= arc*arc4 O exc= arc2*(ec2+arc2*(ec4+arc2*(ec6+- O # arc2*(ec8+arc2*ec10))))t8 O t1= ret1(1)+0.5d0*(ret1(1)-ret2(1))*exc/ O else if((1.d0-t1x).lt.1.d-3) then2# O arc= pi*(1.d0-t1x)0 O arc2= arc*arc4 O exc= arc2*(ec2+arc2*(ec4+arc2*(ec6+- O # arc2*(ec8+arc2*ec10)))) 8 O t1= ret2(1)-0.5d0*(ret1(1)-ret2(1))*exc O else" O carc= cos(pi*t1x)- O t1= 0.5d0*(ret1(1)+ret2(1))+ 1 O # 0.5d0*(ret1(1)-ret2(1))*carcd O endifs O t1jc= pi/srp0f O elsef& O t1tl= dmin1(at1tl,at1tu)& O t1tu= dmax1(at1tl,at1tu) O t1jc= t1tu-t1tl. O t1t= t1jc*t1x+t1tl. O t1= (rp1+rpds*sin(srp0*t1t))/rp0 O endif O t1s= t1*t11 O * 1 O 200 format(' Unsuccesful call to S09AAF ')  O *  O *-----test on t1 from FS A O * / O if(ieq.eq.1.and.iac(4).ne.0.d0) then / O cnlct1= xp*(xm*sm-ep12*cg12)+xdf*s7 O # ep1*cg12*tw+xdf*cg12*t1*(ep2-ep1- + O # xdf*tw)+xdfs*cg12*t1sr/ O cnlst1= xp*(ep12*sg12-xm*sm)-xdf*a7 O # ep1*sg12*tw+xdf*sg12*t1*(ep1-ep2+h+ O # xdf*tw)-xdfs*sg12*t1ss% O if(cnlct1.lt.0.d0) then1 O iz= 0# O ifz(33)= ifz(33)+1d O go to 2* O else if(cnlst1.lt.0.d0) then O iz= 0# O ifz(34)= ifz(34)+1u O go to 2 O endifp O endif O *  O *-----some vector components O *c O t2= tw-t1d O * O  O *-----equation for xi is solved- O *c O e1s= e1*e11 O e2s= e2*e2  O e3s= e3*e3  O e12= e1t2-2.d0*sm O e13= e1t3-2.d0*sf O e23= e2t3-2.d0*su O e12s= e12*e12 O e13s= e13*e13 O e23s= e23*e23 O xia= e1s*e2s-e12s= O xib= 2.d0*t1*(e2s*e13-e12*e23)+2.d0*t2*(e1s*e23- < O # e12*e13)-e1*e2s*e13+e1*e12*e23-e1s*e2*e23+ O # e2*e12*e13= O xic= 8.d0*t1*t2*(-e3s*e12+e13*e23)+4.d0*t1*(-e1* O > O # e2s*e3s+e1*e23s+e2*e3s*e12-e2*e13*e23)+4.d0*< O # t1s*(e2s*e3s-e23s)+4.d0*t2*(e1*e3s*e12-e1*> O # e13*e23-e1s*e2*e3s+e2*e13s)+4.d0*t2*t2*(e1s*< O # e3s-e13s)-2.d0*e1t2*e3s*e12+2.d0*e1t2*e13*; O # e23+e1s*e2s*e3s+e3s*e12s-2.d0*e12*e13*e23 O  O xib= 2.d0*xib! O if(xia.eq.0.d0) thent$ O if(xib.eq.0.d0) then O iz= 0% O ifz(35)= ifz(35)+1i O go to 2 O endif O rtm(1)= -xic/xib O rtp(1)= rtm(1) O rtm(2)= 0.d0 O rtp(2)= 0.d0 O ixia= 0, O elsef O ixia= 1  O ifc0= 0 5 O call c02ajf(xia,xib,xic,rtm,rtp,ifc0)  O endif$ O if(rtm(2).ne.0.d0) then O iz= 0 " O ifz(36)= ifz(36)+1 O go to 2f O endif O * O *-----xi^+ and xi^- are computed O *e# O xip= 0.5d0*(e3-rtp(1)) O # O xim= 0.5d0*(e3-rtm(1))s O *s. O *-----each integral becomes a sum of two terms O *  O *-----loop over ix starts here O *  O if(om.eq.'g') then O ixmn= ix0 O ixmx= ix0 O else O ixmn= 1 O ixmx= 2 O endif  O do ix=ixmn,ixmx  O * ) O *-----q_3 is compared and x15 is selectedd O *o" O if(ix.eq.1) then O t3= xip' O else if(ix.eq.2) thenf O t3= xim O endif  O * % O *-----The two integrands are computedf O * " O *-----further auxiliary quantities O *b O edn1= ep1-xdf*t1  O edn2= ep2-xdf*t2  O edn3= ep3-xdf*t3  O t4= omtw-t3 O edn4= ep4-xdf*t4  O *2% O *-----collections of all limits on t3  O * % O *-----from energy (or natural limits)  O * O if(ieq.eq.1) then* O at3l1= omtw-bxe*e4+bl(4)% O at3u1= bxe*e3-bl(3) & O if(xdf.gt.0.d0) then O t3l1= at3l1 O t3u1= at3u1+ O else if(xdf.lt.0.d0) thenf O t3l1= at3u1 O t3u1= at3l1 O endif  O else0 O t3l1= 0.d0 O t3u1= e3 O endif O *  O *-----natural limits O *n. O t3l2= -t1+0.5d0*(e1p3-skl2). O t3u2= -t1+0.5d0*(e1p3+skl2) O * 7 O t3l3= omtw+t1-0.5d0*(1.d0+sdmu+skl3)f7 O t3u3= omtw+t1-0.5d0*(1.d0+sdmu-skl3)f O *n O *-----from positivity on SA  O *  O t3l4= 0.d0 $ O t3l5= sm+su+sf-tw! O t3u4= sp+su+sf  O t3u5= omtw  O * *-----from SA( O *s' O if(iac(3).ne.0) then=# O t3l6= ss(3)*e3 # O t3u6= cs(3)*e3 ( O t3l7= omtw-cs(4)*e4( O t3u7= omtw-ss(4)*e44 O t3l= dmax1(t3l1,t3l2,t3l3,t3l4,/ O # t3l5,t3l6,t3l7) 4 O t3u= dmin1(t3u1,t3u2,t3u3,t3u4,/ O # t3u5,t3u6,t3u7)  O else 9 O t3l= dmax1(t3l1,t3l2,t3l3,t3l4,t3l5)f9 O t3u= dmin1(t3u1,t3u2,t3u3,t3u4,t3u5)  O endif O *  O *-----limits on t3 are imposed O * , O tlimt3= (t3u-t3)*(t3-t3l)& O if(t3u.lt.t3l) then O iz= 0t( O ifz(37)= ifz(37)+1 O go to 4d/ O else if(tlimt3.lt.0.d0) then, O iz= 0 ( O ifz(37)= ifz(37)+1 O go to 4  O endif O * O , O *-----non linear limits on t3,t4 are imposed O * 4 O if(iac(4).ne.0.and.ieq.eq.1) then3 O tnl13c= -cg13*edn1*edn3+vv*sf 2 O tnl13s= sg13*edn1*edn3-vv*sf3 O tnl23c= -cg23*edn2*edn3+vv*su ; O tnl23s= sg23*edn2*(ep3- xdf*t3)-vv*su 3 O tnl14c= -cg14*edn1*edn4+vv*sd 2 O tnl14s= sg14*edn1*edn4-vv*sd* O sres= 1.d0-e1-e3+sf 5 O tnl24c= -cg24*edn2*edn4+vv*sres=4 O tnl24s= sg24*edn2*edn4-vv*sres3 O tnl34c= -cg34*edn3*edn4+vv*sp 2 O tnl34s= sg34*edn3*edn4-vv*sp= O if(tnl13c.lt.0.d0.or.tnl13s.lt.0.d0.or.s= O # tnl23c.lt.0.d0.or.tnl23s.lt.0.d0.or.k= O # tnl14c.lt.0.d0.or.tnl14s.lt.0.d0.or.e= O # tnl24c.lt.0.d0.or.tnl24s.lt.0.d0.or.u? O # tnl34c.lt.0.d0.or.tnl34s.lt.0.d0) then  O iz= 0+ O ifz(38)= ifz(38)+1e O go to 4+ O endif  O endif O *2: O *-----non linear constraints from FS A in the case xp = xm O * O 7 O if(iac(4).ne.0.d0.and.ieq.eq.0) then . O smr= 1.d0-sm-sp-su-sd-sf; O spc12= (-cg12*e1t2+sm)*(sg12*e1t2-sm)s; O spc13= (-cg13*e1t3+sf)*(sg13*e1t3-sf) ; O spc14= (-cg14*e1t4+sd)*(sg14*e1t4-sd)i; O spc23= (-cg23*e2t3+su)*(sg23*e2t3-su) = O spc24= (-cg24*e2t4+smr)*(sg24*e2t4-smr) ; O spc34= (-cg34*e3t4+sp)*(sg34*e3t4-sp) M O if(spc12.lt.0.d0.or.spc13.lt.0.d0.or. N O # spc14.lt.0.d0.or.spc23.lt.0.d0.or. = O # spc24.lt.0.d0.or.spc34.lt.0.d0) thent O iz= 0+ O ifz(39)= ifz(39)+1 O O go to 4 O endifi O endif O *i O *-----all invariants O *  O x13= t1 O x14= t2 O x15= t3 O x16= t4 O x23= e1-t1  O x24= e2-t2  O x25= e3-t32 O x26= e4-t4  O x34= sm O x35= sf O x36= sd O x45= su' O x46= 1.d0-e1-e3+sf  O x56= sp O *  O *-----computes cross-section O * B O *-----born matrix element is calculated at the reduced c.m. energy O * . O *-----propagators for pair production diagrams O *l! O pfp= e4-1.d0 ! O pfb= e1-1.d0=" O pfpb= e3-1.d0 O pf= e2-1.d0 O *i O *-----extra propagators  O * $ O pp23= x23+rszm2& O pp14= x14+rwm2/vv$ O pp13= x13+rszm2 O *+ O *f( O *-----compensating single W propagators  O *p& O wpcfr= sp-rwm2/vv& O wmcfr= sm-rwm2/vv" O wpcfi= sp*swg" O wmcfi= sm*swg O *e& O *-----Compensating double W propagator O * 2 O wtcfr= wpcfr*wmcfr-sp*sm*swgs3 O wtcfi= wpcfr*wmcfi+wmcfr*wpcfie O *4, O *-----The epsilons are computed in the order9 O * epf(pp,pm,q1,q2),epf(pp,pm,q1,q3),epf(pp,pm,q1,q4),f9 O * epf(pp,pm,q2,q3),epf(pp,pm,q2,q4),epf(pp,pm,q3,q4),29 O * epf(pp,q1,q2,q3),epf(pp,q1,q2,q4),epf(pp,q1,q3,q4), 9 O * epf(pp,q2,q3,q4),epf(pm,q1,q2,q3),epf(pm,q1,q2,q4),s8 O * epf(pm,q1,q3,q4),epf(pm,q2,q3,q4),epf(q1,q2,q3,q4) O * " O x13s= x13*x13" O x14s= x14*x14" O x15s= x15*x15" O x16s= x16*x16" O x23s= x23*x23" O x24s= x24*x24" O x25s= x25*x25" O x26s= x26*x26" O x34s= x34*x34" O x35s= x35*x35" O x36s= x36*x36" O x45s= x45*x45" O x46s= x46*x46" O x56s= x56*x56G O * k> O ee(1)= 2.d0*(x13*x14*x23*x24+x13*x24*x34+A O # x14*x23*x34)-x13s*x24s-x14s*x23s-x34s > O ee(2)= 2.d0*(x13*x15*x23*x25+x13*x25*x35+A O # x15*x23*x35)-x13s*x25s-x15s*x23s-x35ss> O ee(3)= 2.d0*(x14*x15*x24*x25+x14*x25*x45+A O # x15*x24*x45)-x14s*x25s-x15s*x24s-x45s B O ee(4)= 2.d0*(x13*x14*x35*x45+x13*x15*x34*x45+A O # x14*x15*x34*x35)-x13s*x45s-x14s*x35s-l% O # x15s*x34sdB O ee(5)= 2.d0*(x23*x24*x35*x45+x23*x25*x34*x45+A O # x24*x25*x34*x35)-x23s*x45s-x24s*x35s-w% O # x25s*x34s5G O *  O e(1)= 1.d0uF O e(2)= x13*x14*x23*x25+x13*x15*x23*x24+x13*(-2.d0*E O # x23*x45+x24*x35+x25*x34)-x14*x15*x23s+x14*(C O # x23*x35+x15*x23*x34-x13s*x24*x25-x34*x35 E O e(3)= -x13*x14*x24*x25+x13*x15*x24s-x13*x24*x45-nF O # x14*x15*x23*x24+x14*(-x23*x45+2.d0*x24*x35-D O # x25*x34)-x15*x24*x34+x14s*x23*x25+x34*x45F O e(4)= x13*x14*(x23*x45+x24*x35-2.d0*x25*x34)+x13*G O # x15*x24*x34+x13*x34*x45+x14*x15*x23*x34+x14* F O # x34*x35-x15*x34s-x13s*x24*x45-x14s*x23*x35 G O e(5)= x13*(-x23*x24*x45-x24*x25*x34+x35*x24s)+x14*)C O # (-x23*x24*x35-x23*x25*x34+x45*x23s)+x15*aD O # 2.d0*x23*x24*x34-x23*x34*x45-x24*x34*x35+$ O # x25*x34s O *e O *-----sign of eps_1*eps_i( O *u O ises= 0" O sg(1)= 0.25d0+ O if(ee(1).lt.0.d0) thenf$ O ises= ises+1 O endif O do i=2,5 2 O if(abs(e(i)).lt.zrm) then( O ises= ises+12 O else if(e(i).gt.zrm) then) O sg(i)= 0.25d023 O else if(e(i).lt.-zrm) then * O sg(i)= -0.25d0 O endif/ O if(ee(i).lt.0.d0) then ( O ises= ises+1 O endif O enddo O *s' O if(ises.eq.0) then5/ O ses1= sg(1)*sqrt(ee(1))(/ O ses2= sg(2)*sqrt(ee(2))(/ O ses3= sg(3)*sqrt(ee(3))(/ O ses4= sg(4)*sqrt(ee(4)) / O ses5= sg(5)*sqrt(ee(5))) O s1= ses1 O s2= ses2& O s3= -ses1-ses2 O s4= ses3% O s5= ses1-ses3c% O s6= ses2+ses31 O s7= ses4% O s8= ses1-ses4 % O s9= ses2+ses4 & O s10= ses3-ses4! O s11= ses5 O ' O s12= -ses1-ses5f' O s13= -ses2+ses5 ' O s14= -ses3-ses5t' O s15= -ses4-ses5= O else A O ee(1)= 2.d0*(x13*x14*x23*x24+x13*x24*x34+ D O # x14*x23*x34)-x13s*x24s-x14s*x23s-x34sA O ee(2)= 2.d0*(x13*x16*x23*x26+x13*x26*x36+ D O # x16*x23*x36)-x13s*x26s-x16s*x23s-x36sA O ee(3)= 2.d0*(x14*x16*x24*x26+x14*x26*x46+ D O # x16*x24*x46)-x14s*x26s-x16s*x24s-x46sE O ee(4)= 2.d0*(x13*x14*x36*x46+x13*x16*x34*x46+tD O # x14*x16*x34*x36)-x13s*x46s-x14s*x36s-( O # x16s*x34sE O ee(5)= 2.d0*(x23*x24*x36*x46+x23 26*x34*x46+wE O # x24*x26*x34*x36)-x23s*x46s-x24s*x36s- ) O # x26s*x34s " O e(1)= 1.d0> O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+B O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)-C O # x14*x16*x23s+x14*x23*x36+x16*x23*x34- 2 O # x13s*x24*x26-x34*x36@ O e(3)= -x13*x14*x24*x26+x13*x16*x24s-x13*@ O # x24*x46-x14*x16*x23*x24+x14*(-x23*@ O # x46+2.d0*x24*x36-x26*x34)-x16*x24*6 O # x34+x14s*x23*x26+x34*x46@ O e(4)= x13*x14*(x23*x46+x24*x36-2.d0*x26*? O # x34)+x13*x16*x24*x34+x13*x34*x46+ O > O # x14*x16*x23*x34+x14*x34*x36-x16*= O # x34s-x13s*x24*x46-x14s*x23*x36 @ O e(5)= x13*(-x23*x24*x46-x24*x26*x34+x36*> O # x24s)+x14*(-x23*x24*x36-x23*x26*A O # x34+x46*x23s)+x16*2.d0*x23*x24*x34-+> O # x23*x34*x46-x24*x34*x36+x26*x34s O ises= 0i% O sg(1)= 0.25d0 . O if(ee(1).lt.0.d0) then' O ises= ises+1b O endif O do i=2,55 O if(abs(e(i)).lt.zrm) then + O ises= ises+1 5 O else if(e(i).gt.zrm) then , O sg(i)= 0.25d06 O else if(e(i).lt.-zrm) then- O sg(i)= -0.25d0q! O endifl2 O if(ee(i).lt.0.d0) then+ O ises= ises+1c! O endif  O enddor* O if(ises.eq.0) then2 O ses1= sg(1)*sqrt(ee(1))2 O ses2= sg(2)*sqrt(ee(2))2 O ses3= sg(3)*sqrt(ee(3))2 O ses4= sg(4)*sqrt(ee(4))2 O ses5= sg(5)*sqrt(ee(5))# O s1= ses12) O s2= -ses1-ses2 # O s3= ses2 ) O s4= -ses1-ses3 # O s5= ses3d) O s6= -ses2-ses3 ( O s7= ses1-ses4# O s8= ses4 ) O s9= -ses2-ses41* O s10= -ses3+ses4* O s11= -ses1-ses5$ O s12= ses5) O s13= ses2-ses5c) O s14= ses3+ses5 ) O s15= ses4+ses5d O elseD O ee(1)= 2.d0*(x13*x15*x23*x25+x13*x25*x35+C O # x15*x23*x35)-x13s*x25s-x15s*x23s-1& O # x35sD O ee(2)= 2.d0*(x13*x16*x23*x26+x13*x26*x36+C O # x16*x23*x36)-x13s*x26s-x16s*x23s-c& O # x36sD O ee(3)= 2.d0*(x15*x16*x25*x26+x15*x26*x56+C O # x16*x25*x56)-x15s*x26s-x16s*x25s- & O # x56sD O ee(4)= 2.d0*(x13*x15*x36*x56+x13*x16*x35*A O # x56+x15*x16*x35*x36)-x13s*x56s-i5 O # x15s*x36s-x16s*x35s D O ee(5)= 2.d0*(x23*x25*x36*x56+x23*x26*x35*A O # x56+x25*x26*x35*x36)-x23s*x56s-d5 O # x25s*x36s-x26s*x35s3G O * A O e(1)= x13*x14*x23*x25+x13*x15*x23*x24+ E O # x13*(-2.d0*x23*x45+x24*x35+x25*x34)-eB O # x14*x15*x23s+x14*x23*x35+x15*x23*9 O # x34-x13s*x24*x25-x34*x35)A O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+*E O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)-#B O # x14*x16*x23s+x14*x23*x36+x16*x23*9 O # x34-x13s*x24*x26-x34*x36 B O e(3)= -x13*x15*x24*x26+x13*x16*x24*x25+D O # x13*(-x25*x46+x26*x45)+x14*x15*x23*F O # x26-x14*x16*x23*x25+x14*(x25*x36-x26*F O # x35)+x15*(-x23*x46+x24*x36)+x16*(x23*= O # x45-x24*x35)+x35*x46-x36*x45 C O e(4)= x13*x14*(x25*x36-x26*x35)+x13*x15* E O # (x23*x46-x26*x34)+x13*x16*(-x23*x45+ D O # x25*x34)+x13*(x35*x46-x36*x45)-x14*E O # x15*x23*x36+x14*x16*x23*x35+x15*x34* D O # x36-x16*x34*x35+x13s*(-x25*x46+x26*% O # x45) G O e(5)= x13*(-x23*x25*x46+x23*x26*x45+x24*x25*tD O # x36-x24*x26*x35)+x15*(-x23*x24*x36-D O # x23*x26*x34+x46*x23s)+x16*(x23*x24*C O # x35+x23*x25*x34-x45*x23s)-x23*x35* E O # x46+x23*x36*x45-x25*x34*x36+x26*x34*1$ O # x35 O *i" O ises= 0# O do i=1,5e8 O if(abs(e(i)).lt.zrm) then. O ises= ises+18 O else if(e(i).gt.zrm) then/ O sg(i)= 0.25d029 O else if(e(i).lt.-zrm) thent0 O sg(i)= -0.25d0$ O endif5 O if(ee(i).lt.0.d0) then . O ises= ises+1$ O endif O enddo- O if(ises.eq.0) then 5 O ses1= sg(1)*sqrt(ee(1)) 5 O ses2= sg(2)*sqrt(ee(2)) 5 O ses3= sg(3)*sqrt(ee(3)) 5 O ses4= sg(4)*sqrt(ee(4)) 5 O ses5= sg(5)*sqrt(ee(5)) , O s1= -ses1-ses2& O s2= ses1& O s3= ses2, O s4= -ses1+ses3, O s5= -ses2-ses3& O s6= ses3, O s7= -ses1+ses4, O s8= -ses2-ses4& O s9= ses4, O s10= ses3-ses4, O s11= ses1+ses5, O s12= ses2-ses5' O s13= ses5(- O s14= -ses3-ses54- O s15= -ses4-ses5  O elset# O iz= 0 0 O ifz(40)= ifz(40)+1% O go to 4 O endif O endif  O endif O * $ O tgc(1)= x15*x24$ O tgc(2)= x34*x46$ O tgc(3)= x34/x46$ O tgc(4)= x24/x15$ O tgc(5)= x15/x25$ O tgc(6)= x15*x25$ O tgc(7)= x14*x34$ O tgc(8)= x25*x46$ O tgc(9)= x25/x46% O tgc(10)= x14/x34t% O tgc(11)= x45/x36 % O tgc(12)= x14*x247% O tgc(13)= x24/x14t% O tgc(14)= x45*x36-% O tgc(15)= x14/x25d O *  O itgc= 0 O do l=1,150 O if(tgc(l).le.0.d0) then( O itgc= itgc+1 O endif O enddo' O if(itgc.ne.0) thens O iz= 0 * O ifz(41)= ifz(41)+1 O go to 4  O endif O * ( O gpna= sqrt(x15*x24)( O gpnb= sqrt(x34*x46)( O gpnc= sqrt(x34/x46)( O gpnd= sqrt(x24/x15)( O gpne= sqrt(x15/x25)( O gpnf= sqrt(x15*x25)( O gmna= sqrt(x14*x34)( O gmnb= sqrt(x25*x46)( O gmnc= sqrt(x25/x46)( O gmnd= sqrt(x14/x34)( O gmne= sqrt(x45/x36)( O gmnf= sqrt(x14*x24)( O gmng= sqrt(x24/x14)( O gmnh= sqrt(x45*x36)( O gmni= sqrt(x14/x25) O *+# O gc1= gpna/gpnb O # O gc2= gpna*gpnc # O gc3= gpna/gpnc O # O gc4= gpnd/gpnbA( O gc5= 1.d0/gpna/gpnc( O gc6= 1.d0/gpnd/gpnc# O gc7= gpnd/gpnc-# O gc8= gpnb/gpna=# O gc9= gpnd*gpnc $ O gc10= gpnb/gpnd$ O gc11= gpna*gpnb$ O gc12= gmnd/gmnb) O gc13= 1.d0/gmnc/gmna2$ O gc14= gmna/gmnb$ O gc15= gmnd/gmnc) O gc16= 1.d0/gmnd/gmncc$ O gc17= gmna*gmnb$ O gc18= gmnc/gmnd$ O gc19= gmnc/gmna$ O gc20= gmna*gmnc$ O gc21= gmnd*gmnb$ O gc22= gmnd*gmnc$ O gc23= gmnb/gmnd$ O gc24= gmnb/gmna$ O gc25= gpnc/gpnd) O gc26= 1.d0/gpna/gpnb $ O gc27= gpnc/gpna) O gc28= 1.d0/gpnd/gpnb $ O gc29= gpne/gmnh$ O gc30= gmne/gpnf) O gc31= 1.d0/gpnf/gmne ) O gc32= 1.d0/gpnf/gmnh $ O gc33= gpne*gmne$ O gc34= gpne/gmne$ O gc35= gmnh/gpnf$ O gc36= gmnh*gpne$ O gc37= gpnb*gmni O *u% O otgn(1)= x15*x24s% O otgn(2)= x34*x46-% O otgn(3)= x34/x46o% O otgn(4)= x24/x15r% O otgn(5)= x15/x25r% O otgn(6)= x15*x25 % O otgn(7)= x14*x25 % O otgn(8)= x14*x34 % O otgn(9)= x25*x46 & O otgn(10)= x25/x46& O otgn(11)= x14/x34& O otgn(12)= x45/x36& O otgn(13)= x14*x24& O otgn(14)= x24/x14& O otgn(15)= x45*x36& O otgn(16)= x14/x25 O *w O iotgn= 0  O do l=1,161 O if(otgn(l).le.0.d0) thenu* O iotgn= iotgn+1 O endif O enddo( O if(iotgn.ne.0) then O iz= 0 O * O ifz(42)= ifz(42)+1 O go to 42 O endif O *,) O ogpna= sqrt(otgn(1))q) O ogpnb= sqrt(otgn(2))3) O ogpnc= sqrt(otgn(3)) ) O ogpnd= sqrt(otgn(4))1) O ogpne= sqrt(otgn(5))x) O ogpnf= sqrt(otgn(6)) O ) O ogpng= sqrt(otgn(7)) ) O ogmna= sqrt(otgn(8)) ) O ogmnb= sqrt(otgn(9))4* O ogmnc= sqrt(otgn(10))* O ogmnd= sqrt(otgn(11))* O ogmne= sqrt(otgn(12))* O ogmnf= sqrt(otgn(13))* O ogmng= sqrt(otgn(14))* O ogmnh= sqrt(otgn(15))* O ogmni= sqrt(otgn(16)) O * & O ogn1= ogpna/ogpnb& O ogn2= ogpna*ogpnc& O ogn3= ogpna/ogpnc& O ogn4= ogpnd/ogpnb+ O ogn5= 1.d0/ogpna/ogpnc + O ogn6= 1.d0/ogpnd/ogpnc*& O ogn7= ogpnd/ogpnc& O ogn8= ogpnb/ogpna& O ogn9= ogpnd*ogpnc' O ogn10= ogpnb/ogpnd ' O ogn11= ogpna*ogpnb ' O ogn12= ogmnd/ogmnb1, O ogn13= 1.d0/ogmnc/ogmna' O ogn14= ogmna/ogmnb*' O ogn15= ogmnd/ogmncx, O ogn16= 1.d0/ogmnd/ogmnc' O ogn17= ogmna*ogmnb ' O ogn18= ogmnc/ogmndx' O ogn19= ogmnc/ogmna2' O ogn20= ogmna*ogmnc ' O ogn21= ogmnd*ogmnb O ' O ogn22= ogmnd*ogmnc ' O ogn23= ogmnb/ogmnd5' O ogn24= ogmnb/ogmna ' O ogn25= ogpnc/ogpnd2, O ogn26= 1.d0/ogpna/ogpnb' O ogn27= ogpnc/ogpna , O ogn28= 1.d0/ogpnd/ogpnb' O ogn29= ogpne/ogmnh ' O ogn30= ogmne/ogpnf*, O ogn31= 1.d0/ogpnf/ogmne, O ogn32= 1.d0/ogpnf/ogmnh' O ogn33= ogpne*ogmnex' O ogn34= ogpne/ogmnex' O ogn35= og O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O i O *=A O dpp2arc= +2.d0*gc3*x13+2.d0*gc5*x23*(-x13* C O # x45+x14*x35)-2.d0*gc6*x14*x23+2.d0*s; O # gc8*(x13*x25-x35)+2.d0*gc10 @ O dpp2aic= 8.d0*(-gc5*x23*s7+gc6*s1-gc8*s2)+ O if(ockm.eq.'y') thene, O if(ickm.eq.1) thenA O dpp2arc= dpp2arc*vckm(1,1)*vckm(1,1) A O dpp2aic= dpp2aic*vckm(1,1)*vckm(1,1) 1 O else if(ickm.eq.2) then O A O dpp2arc= dpp2arc*vckm(1,2)*vckm(1,2)sA O dpp2aic= dpp2aic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) then(A O dpp2arc= dpp2arc*vckm(1,3)*vckm(1,3) A O dpp2aic= dpp2aic*vckm(1,3)*vckm(1,3) 1 O else if(ickm.eq.4) then A O dpp2arc= dpp2arc*vckm(2,1)*vckm(2,1)eA O dpp2aic= dpp2aic*vckm(2,1)*vckm(2,1) 1 O else if(ickm.eq.5) then A O dpp2arc= dpp2arc*vckm(2,2)*vckm(2,2) A O dpp2aic= dpp2aic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) then O A O dpp2arc= dpp2arc*vckm(2,3)*vckm(2,3) A O dpp2aic= dpp2aic*vckm(2,3)*vckm(2,3)5 O endif1 O endif O * E O *-----pair production III: common part O  O * A O dpp3arc= 2.d0*gc3*(x35-x13)+2.d0*gc6*(x14* O B O # x23-x23*x45)+2.d0*gc10*(-1.d0+x25)2 O dpp3aic= -8.d0*gc6*(s1+s11)+ O if(ockm.eq.'y') then , O if(ickm.eq.1) thenA O dpp3arc= dpp3arc*vckm(1,1)*vckm(1,1) A O dpp3aic= dpp3aic*vckm(1,1)*vckm(1,1) 1 O else if(ickm.eq.2) then A O dpp3arc= dpp3arc*vckm(1,2)*vckm(1,2) A O dpp3aic= dpp3aic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) then A O dpp3arc= dpp3arc*vckm(1,3)*vckm(1,3) A O dpp3aic= dpp3aic*vckm(1,3)*vckm(1,3) 1 O else if(ickm.eq.4) then A O dpp3arc= dpp3arc*vckm(2,1)*vckm(2,1) A O dpp3aic= dpp3aic*vckm(2,1)*vckm(2,1) 1 O else if(ickm.eq.5) then O A O dpp3arc= dpp3arc*vckm(2,2)*vckm(2,2)sA O dpp3aic= dpp3aic*vckm(2,2)*vckm(2,2)i1 O else if(ickm.eq.6) then A O dpp3arc= dpp3arc*vckm(2,3)*vckm(2,3)nA O dpp3aic= dpp3aic*vckm(2,3)*vckm(2,3)  O endif O  O endif O *2D O *-----pair production IV: common part  O *n< O dpp4arc= gc1*x24*x36-gc2*x26-gc3*x23+= O # gc4*(x13*(-x24*x56+x26*x45)+ n> O # x14*(x23*x56-x25*x36-x26*x35)-? O # x16*(x23*x45-x24*x35)+x36*x45)+s? O # gc7*(x13*x25-2.d0*x13*x45+2.d0* ? O # x14*x35-x35)+gc9*(x16*x25-x56)+1) O # 2.d0*gc11gC O dpp4aic= -4.d0*gc1*s12+4.d0*gc4*(x25*s8+x36* C O # s4-s15)-4.d0*gc7*(s2+2.d0*s7)+4.d0* & O # gc9*s6+ O if(ockm.eq.'y') theng, O if(ickm.eq.1) thenA O dpp4arc= dpp4arc*vckm(1,1)*vckm(1,1)gA O dpp4aic= dpp4aic*vckm(1,1)*vckm(1,1) 1 O else if(ickm.eq.2) then1A O dpp4arc= dpp4arc*vckm(1,2)*vckm(1,2) A O dpp4aic= dpp4aic*vckm(1,2)*vckm(1,2) O 1 O else if(ickm.eq.3) then A O dpp4arc= dpp4arc*vckm(1,3)*vckm(1,3) A O dpp4aic= dpp4aic*vckm(1,3)*vckm(1,3)b1 O else if(ickm.eq.4) then A O dpp4arc= dpp4arc*vckm(2,1)*vckm(2,1) A O dpp4aic= dpp4aic*vckm(2,1)*vckm(2,1)p1 O else if(ickm.eq.5) then A O dpp4arc= dpp4arc*vckm(2,2)*vckm(2,2)gA O dpp4aic= dpp4aic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) then1A O dpp4arc= dpp4arc*vckm(2,3)*vckm(2,3) A O dpp4aic= dpp4aic*vckm(2,3)*vckm(2,3)  O endif  O endif O *i O endif O *(? O *-----complete diagrams, epsilon real and imag parts separated:  O * " O *-----complete conversion diagram: O * & O dcr= -0.25d0*dcr& O dci= -0.25d0*dci O * % O *-----complete annihilation diagrams:  O *g7 O adap= 0.5d0*(sth2*omrz+0.5d0*rsz) ' O daar= -adap*daarc 3 O daare= 0.5d0*asth2*aisz*daaic ( O daaie= -adap*daaic3 O daai= -0.5d0*asth2*aisz*daarc4 O *4D O *-----complete pair production I-IV:  O *x7 O hcpd1= 1.d0-tsth2*(omchdp+hchdp) 5 O hcpd2= 1.d0-tsth2*(omchd+hchd)68 O hcpu3= -1.d0+tsth2*(opchup-hchup)6 O hcpu4= -1.d0+tsth2*(opchu-hchu) O * B O gcpd1= (1.d0-tsth2*opchdp-omrz*hcpd1)*scth2A O gcpd2= (1.d0-tsth2*opchd-omrz*hcpd2)*scth2 B O gcpu3= (1.d0-tsth2*omchup+omrz*hcpu3)*scth2A O gcpu4= (1.d0-tsth2*omchu+omrz*hcpu4)*scth2  O * , O dpp1ar= gcpd1*dpp1arcB O dpp1are= -hcpd1*haisz*dpp1aic - O dpp1aie= gcpd1*dpp1aic(@ O dpp1ai= hcpd1*haisz*dpp1arc - O dpp2ar= -gcpd2*dpp2arc A O dpp2are= hcpd2*haisz*dpp2aic O . O dpp2aie= -gcpd2*dpp2aicA O dpp2ai= -hcpd2*haisz*dpp2arc , O dpp3ar= gcpu3*dpp3arcA O dpp3are= hcpu3*haisz*dpp3aic - O dpp3aie= gcpu3*dpp3aic A O dpp3ai= -hcpu3*haisz*dpp3arc o- O dpp4ar= -gcpu4*dpp4arc B O dpp4are= -hcpu4*haisz*dpp4aic . O dpp4aie= -gcpu4*dpp4aic@ O dpp4ai= hcpu4*haisz*dpp4arc  O * < O *-----compensating the missing W and the fermion propagators O * > O d11ar= (dpp1ar*wpcfr-dpp1ai*wpcfi)/pfp+> O # (dpp2ar*wmcfr-dpp2ai*wmcfi)/pfb+? O # (dpp3ar*wpcfr-dpp3ai*wpcfi)/pfpb+.< O # (dpp4ar*wmcfr-dpp4ai*wmcfi)/pfA O d11are= (dpp1are*wpcfr-dpp1aie*wpcfi)/pfp+.A O # (dpp2are*wmcfr-dpp2aie*wmcfi)/pfb+ B O # (dpp3are*wpcfr-dpp3aie*wpcfi)/pfpb+? O # (dpp4are*wmcfr-dpp4aie*wmcfi)/pf > O d11ai= (dpp1ar*wpcfi+dpp1ai*wpcfr)/pfp+> O # (dpp2ar*wmcfi+dpp2ai*wmcfr)/pfb+? O # (dpp3ar*wpcfi+dpp3ai*wpcfr)/pfpb+ < O # (dpp4ar*wmcfi+dpp4ai*wmcfr)/pfA O d11aie= (dpp1are*wpcfi+dpp1aie*wpcfr)/pfp+bA O # (dpp2are*wmcfi+dpp2aie*wmcfr)/pfb+nB O # (dpp3are*wpcfi+dpp3aie*wpcfr)/pfpb+? O # (dpp4are*wmcfi+dpp4aie*wmcfr)/pfn O * O pns= pn*pn- O darc= dcr/pn+daar-d11ar5) O darec= daare-d11are 0 O daiec= dci/pn+daaie-d11aie< O daic= daai-d11ai  O * ( O darc3= dcr/pn+daar# O darec3= daare * O daiec3= dci/pn+daaie7 O daic3= daai n O *  O *-----helicity b)  O * ' O if(iint.eq.2) then # O dabrc= 0.d0 # O dabic= 0.d0f% O dpp1brc= 0.d0n% O dpp1bic= 0.d0g% O dpp2brc= 0.d0o% O dpp2bic= 0.d0 % O dpp3brc= 0.d01% O dpp3bic= 0.d0 % O dpp4brc= 0.d0 % O dpp4bic= 0.d0  O else  O * G O *-----annihilation diagrams: common part oG O * < O dabrc= 2.d0*gc12*(x23*x36*x45-x24*x35*= O # x36)+gc13*(-x13*x23*x45+x13*x24* = O # x35-0.5d0*x13*x24*x56+0.5d0*x13*b= O # x26*x45-0.5d0*x15*x23*x46+0.5d0* ; O # x15*x24*x36+0.5d0*x16*x23*x45-.= O # 0.5d0*x16*x24*x35+0.5d0*x35*x46- < O # 0.5d0*x36*x45)+2.d0*gc14*(-x23*> O # x56+x26*x35)+gc15*(x23*x45+0.5d0*< O # x23*x56-x24*x35-0.5d0*x26*x35)+= O # gc16*(x15*x23-0.5d0*x15*x26-x35+i< O # 0.5d0*x56)+3.d0*gc17-2.d0*gc20*< O # x56+gc21*(-x35+1.5d0*x36)+2.d0*: O # gc22*x36*x45+gc23*(x15+1.5d0*; O # x16)+gc24*(-x13*x45-1.5d0*x13* ! O # x46) B O dabic= 8.d0*gc12*x36*s11+2.d0*gc13*(x16*s11-D O # 2.d0*x23*s7+x23*s10+2.d0*x35*s1+x35*s5-C O # x46*s2)+8.d0*gc14*s13+2.d0*gc15*(2.d0* E O # s11-s13)-8.d0*gc18*s10-8.d0*gc19*x45*s8+o8 O # 2.d0*gc24*(2.d0*s7-3.d0*s8)* O if(ockm.eq.'y') then+ O if(ickm.eq.1) then < O dabrc= dabrc*vckm(1,1)*vckm(1,1)< O dabic= dabic*vckm(1,1)*vckm(1,1)0 O else if(ickm.eq.2) then< O dabrc= dabrc*vckm(1,2)*vckm(1,2)< O dabic= dabic*vckm(1,2)*vckm(1,2)0 O else if(ickm.eq.3) then< O dabrc= dabrc*vckm(1,3)*vckm(1,3)< O dabic= dabic*vckm(1,3)*vckm(1,3)0 O else if(ickm.eq.4) then< O dabrc= dabrc*vckm(2,1)*vckm(2,1)< O dabic= dabic*vckm(2,1)*vckm(2,1)0 O else if(ickm.eq.5) then< O dabrc= dabrc*vckm(2,2)*vckm(2,2)< O dabic= dabic*vckm(2,2)*vckm(2,2)0 O else if(ickm.eq.6) then< O dabrc= dabrc*vckm(2,3)*vckm(2,3)< O dabic= dabic*vckm(2,3)*vckm(2,3) O endif O endif( O *)G O *-----pair production I: common part  O * A O dpp1brc= gc12*(-x13*(x24*x56-x26*x45)+x14*iB O # (x23*x56-x26*x35)+x15*x24*x36-x16*@ O # (x23*x45-x24*x35)-x36*x45)+gc13*@ O # (x13*(x24*x56-x26*x45)+x15*(x23*C O # x46-x24*x36)-x16*(x23*x45-x24*x35)- @ O # x35*x46+x36*x45)+gc14*(-x15*x26+@ O # x56)+gc15*(-x15*x23-x23*x56+x26*A O # x35+x35)+gc16*(x15*x26-x56)+gc20* > O # x16+gc21*(x13+x36)+gc22*(-x14*= O # x36)+gc23*x16+gc24*(-x13*x46) @ O dpp1bic= 4.d0*gc12*(-x14*s13-x16*s11+x23*@ O # s10+x35*s5)+4.d0*gc13*(-x13*s14-C O # x26*s7+x56*s1)+4.d0*gc15*(-s2+s13)-x? O # 4.d0*gc16*s6+4.d0*gc22*s8-4.d0*1' O # gc24*s8 + O if(ockm.eq.'y') then , O if(ickm.eq.1) thenA O dpp1brc= dpp1brc*vckm(1,1)*vckm(1,1)7A O dpp1bic= dpp1bic*vckm(1,1)*vckm(1,1)*1 O else if(ickm.eq.2) thencA O dpp1brc= dpp1brc*vckm(1,2)*vckm(1,2)*A O dpp1bic= dpp1bic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) then A O dpp1brc= dpp1brc*vckm(1,3)*vckm(1,3)iA O dpp1bic= dpp1bic*vckm(1,3)*vckm(1,3).1 O else if(ickm.eq.4) thencA O dpp1brc= dpp1brc*vckm(2,1)*vckm(2,1)(A O dpp1bic= dpp1bic*vckm(2,1)*vckm(2,1) 1 O else if(ickm.eq.5) thenkA O dpp1brc= dpp1brc*vckm(2,2)*vckm(2,2))A O dpp1bic= dpp1bic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) then A O dpp1brc= dpp1brc*vckm(2,3)*vckm(2,3) A O dpp1bic= dpp1bic*vckm(2,3)*vckm(2,3)a O endif  O endif O *dH O *-----pair production II: common part  O * A O dpp2brc= 2.d0*gc13*x13*(-x23*x45+x24*x35)+ B O # 2.d0*gc16*(x15*x23-x35)+2.d0*gc21*? O # x23+2.d0*gc23-2.d0*gc24*x13*x24o@ O dpp2bic= 8.d0*gc13*(-x23*s7+x35*s1)-8.d0*' O # gc24*s16+ O if(ockm.eq.'y') then , O if(ickm.eq.1) thenA O dpp2brc= dpp2brc*vckm(1,1)*vckm(1,1)4A O dpp2bic= dpp2bic*vckm(1,1)*vckm(1,1)*1 O else if(ickm.eq.2) then(A O dpp2brc= dpp2brc*vckm(1,2)*vckm(1,2)*A O dpp2bic= dpp2bic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) then A O dpp2brc= dpp2brc*vckm(1,3)*vckm(1,3) A O dpp2bic= dpp2bic*vckm(1,3)*vckm(1,3)01 O else if(ickm.eq.4) then A O dpp2brc= dpp2brc*vckm(2,1)*vckm(2,1) A O dpp2bic= dpp2bic*vckm(2,1)*vckm(2,1) 1 O else if(ickm.eq.5) then6A O dpp2brc= dpp2brc*vckm(2,2)*vckm(2,2) A O dpp2bic= dpp2bic*vckm(2,2)*vckm(2,2)11 O else if(ickm.eq.6) then A O dpp2brc= dpp2brc*vckm(2,3)*vckm(2,3) A O dpp2bic= dpp2bic*vckm(2,3)*vckm(2,3)1 O endif  O endif O *1D O *-----production III: common part  O *e? O dpp3brc= 2.d0*gc21*(-x23+x35)+2.d0*gc23*1C O # (-1.d0+x15)+2.d0*gc24*x13*(x24-x45)31 O dpp3bic= 8.d0*gc24*(s1-s7)e+ O if(ockm.eq.'y') then1, O if(ickm.eq.1) thenA O dpp3brc= dpp3brc*vckm(1,1)*vckm(1,1) A O dpp3bic= dpp3bic*vckm(1,1)*vckm(1,1)c1 O else if(ickm.eq.2) then A O dpp3brc= dpp3brc*vckm(1,2)*vckm(1,2) A O dpp3bic= dpp3bic*vckm(1,2)*vckm(1,2)c1 O else if(ickm.eq.3) then A O dpp3brc= dpp3brc*vckm(1,3)*vckm(1,3) A O dpp3bic= dpp3bic*vckm(1,3)*vckm(1,3)o1 O else if(ickm.eq.4) theniA O dpp3brc= dpp3brc*vckm(2,1)*vckm(2,1)xA O dpp3bic= dpp3bic*vckm(2,1)*vckm(2,1)+1 O else if(ickm.eq.5) then5A O dpp3brc= dpp3brc*vckm(2,2)*vckm(2,2)+A O dpp3bic= dpp3bic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) then A O dpp3brc= dpp3brc*vckm(2,3)*vckm(2,3) A O dpp3bic= dpp3bic*vckm(2,3)*vckm(2,3)  O endift O endif O * I O *-----pair production IV: common par c O *p@ O dpp4brc= gc12*(x13*(x24*x56-x26*x45)-x14*B O # (x23*x56-x26*x35)-x15*x24*x36+x16*@ O # (x23*x45-x24*x35)+x36*x45)+gc14*B O # (x15*x26-x56)+gc15*(x15*x23-2*x23*@ O # x45+2.d0*x24*x35-x35)+2.d0*gc17-> O # gc20*x16-gc21*x13+gc22*x14*x36C O dpp4bic= 4.d0*gc12*(x14*s13+x16*s11-x23*s10- @ O # x35*s5)+4.d0*gc15*(s2-2.d0*s11)-, O # 4.d0*gc22*s8+ O if(ockm.eq.'y') then(, O if(ickm.eq.1) thenA O dpp4brc= dpp4brc*vckm(1,1)*vckm(1,1) A O dpp4bic= dpp4bic*vckm(1,1)*vckm(1,1)n1 O else if(ickm.eq.2) thenpA O dpp4brc= dpp4brc*vckm(1,2)*vckm(1,2) A O dpp4bic= dpp4bic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) then(A O dpp4brc= dpp4brc*vckm(1,3)*vckm(1,3) A O dpp4bic= dpp4bic*vckm(1,3)*vckm(1,3) 1 O else if(ickm.eq.4) thenpA O dpp4brc= dpp4brc*vckm(2,1)*vckm(2,1)pA O dpp4bic= dpp4bic*vckm(2,1)*vckm(2,1)i1 O else if(ickm.eq.5) thenpA O dpp4brc= dpp4brc*vckm(2,2)*vckm(2,2)pA O dpp4bic= dpp4bic*vckm(2,2)*vckm(2,2)i1 O else if(ickm.eq.6) thenpA O dpp4brc= dpp4brc*vckm(2,3)*vckm(2,3)pA O dpp4bic= dpp4bic*vckm(2,3)*vckm(2,3)i O endif  O endif O *c O endif O * 1 O *-----complete diagrams, epsilon parts separated:1 O * O % O *-----complete annihilation diagrams:e O *)- O dabr= -hsth2*omrz*dabrcp. O dabre= -hsth2*aisz*dabic. O dabie= -hsth2*omrz*dabic, O dabi= hsth2*aisz*dabrc O * D O *-----complete pair production I-IV:  O * D O gcmd1= tth2*(-0.25d0-0.5d0*chdp+omrz*(0.25d0+1 O # chdp*hsth2)) eC O gcmd2= tth2*(-0.25d0-0.5d0*chd+omrz*(0.25d0+ 0 O # chd*hsth2)) D O gcmu3= tth2*(-0.25d0+0.5d0*chup+omrz*(0.25d0-1 O # chup*hsth2)) C O gcmu4= tth2*(-0.25d0+0.5d0*chu+omrz*(0.25d0-x0 O # chu*hsth2)) 1 O hcmd1= -tsth2*(1.d0+hchdp) 0 O hcmd2= -tsth2*(1.d0+hchd)0 O hcmu3= tsth2*(1.d0-hchup)/ O hcmu4= tsth2*(1.d0-hchu). O *g, O dpp1br= gcmd1*dpp1brcB O dpp1bre= -hcmd1*haisz*dpp1bic - O dpp1bie= gcmd1*dpp1bic.@ O dpp1bi= hcmd1*haisz*dpp1brc - O dpp2br= -gcmd2*dpp2brc*A O dpp2bre= hcmd2*haisz*dpp2bic *. O dpp2bie= -gcmd2*dpp2bicA O dpp2bi= -hcmd2*haisz*dpp2brc 1, O dpp3br= gcmu3*dpp3brcA O dpp3bre= hcmu3*haisz*dpp3bic e- O dpp3bie= gcmu3*dpp3bic A O dpp3bi= -hcmu3*haisz*dpp3brc - O dpp4br= -gcmu4*dpp4brc B O dpp4bre= -hcmu4*haisz*dpp4bic . O dpp4bie= -gcmu4*dpp4bic@ O dpp4bi= hcmu4*haisz*dpp4brc  O * < O *-----compensating the missing W and the fermion propagators O *a> O d11br= (dpp1br*wpcfr-dpp1bi*wpcfi)/pfp+> O # (dpp2br*wmcfr-dpp2bi*wmcfi)/pfb+? O # (dpp3br*wpcfr-dpp3bi*wpcfi)/pfpb+p< O # (dpp4br*wmcfr-dpp4bi*wmcfi)/pfA O d11bre= (dpp1bre*wpcfr-dpp1bie*wpcfi)/pfp+ O A O # (dpp2bre*wmcfr-dpp2bie*wmcfi)/pfb+-B O # (dpp3bre*wpcfr-dpp3bie*wpcfi)/pfpb+? O # (dpp4bre*wmcfr-dpp4bie*wmcfi)/pf=> O d11bi= (dpp1br*wpcfi+dpp1bi*wpcfr)/pfp+> O # (dpp2br*wmcfi+dpp2bi*wmcfr)/pfb+? O # (dpp3br*wpcfi+dpp3bi*wpcfr)/pfpb+*< O # (dpp4br*wmcfi+dpp4bi*wmcfr)/pfA O d11bie= (dpp1bre*wpcfi+dpp1bie*wpcfr)/pfp+iA O # (dpp2bre*wmcfi+dpp2bie*wmcfr)/pfb+:B O # (dpp3bre*wpcfi+dpp3bie*wpcfr)/pfpb+? O # (dpp4bre*wmcfi+dpp4bie*wmcfr)/pft O *(8 O *-----the square of h= b, inclusive of the compensating  O * nu propagator  O * & O dbrc= dabr-d11br) O dbrec= dabre-d11bre-) O dbiec= dabie-d11bie & O dbic= dabi-d11bi O *p! O dbrc3= dabrg# O dbrec3= dabres# O dbiec3= dabie1! O dbic3= dabi O  O * O  O *-----NC diagrams  O *d" O *-----Conversion for helicity sets O * 3 O * pp pm q1 q2 q3 q4 ==> pp pm q1 q2 q3 q4  O * 5 O * + - + - + - a + - + - + - b 5 O * - + - + - + b - + - + - + f 5 O * + - - + - + c + - - + - + g 5 O * - + + - + - d - + + - + - h 5 O * + - + - - + e + - + + - - i 5 O * - + - + + - f - + - - + + l 5 O * + - - + + - g + - - - + + m 5 O * - + + - - + h - + + + - - n  O * O $ O *-----Re-initialization of variables O *3 O y13= x13 O y14= x16 O y15= x15 O y16= x14 O y23= x23 O y24= x26 O y25= x25 O y26= x24 O y34= x36 O y35= x35 O y36= x34 O y45= x56 O y46= x46 O y56= x45 O y13s= y13*y13  O y14s= y14*y14= O y15s= y15*y15  O y16s= y16*y16- O y23s= y23*y23s O y24s= y24*y24n O y25s= y25*y25  O y26s= y26*y261 O y34s= y34*y341 O y35s= y35*y35# O y36s= y36*y36  O y45s= y45*y45i O y46s= y46*y46  O y56s= y56*y56  O *p O w1= s3 O w2= s2 O w3= s1 w4= -s6 w5= -s5f w6= -s4/ w7= -s9 w8= -s8r w9= -s7f O w10= -s10p O w11= -s13  O w12= -s12  O w13= -s11p O w14= -s14  O w15= -s15  O * ysm= sd3 ysd= smi ysp= su O ysu= sp  O ytw= t1+t4 O *r O ypfpb= e3-1.d0 O ypfp= e2-1.d0  O ypfb= e1-1.d0* O ypf= e4-1.d0 O *+( O *-----compensating single Z propagators  O *+ O zpcfr= ysp-rzm2/vv O zmcfr= ysm-rzm2/vv O zpcfi= ysp*szg O zmcfi= ysm*szg O * & O *-----Compensating double Z propagator O */% O ztcfr= zpcfr*zmcfr-ysm*ysp*szgs1$ O ztcfi= zpcfr*zmcfi+zmcfr*zpcfi O ysmtp= ysm*ysp O ypnp= ytw-ysm2 O ypn= ytw+ysp-1.d0  O * $ O tgn(1)= y15*y24$ O tgn(2)= y34*y46$ O tgn(3)= y34/y46$ O tgn(4)= y24/y15$ O tgn(5)= y15/y25$ O tgn(6)= y15*y25$ O tgn(7)= y14*y25$ O tgn(8)= y14*y34$ O tgn(9)= y25*y46% O tgn(10)= y25/y46 % O tgn(11)= y14/y34 % O tgn(12)= y45/y36 % O tgn(13)= y14*y24 % O tgn(14)= y24/y14 % O tgn(15)= y45*y36 % O tgn(16)= y14/y25  O *  O itgn= 0 O do l=1,160 O if(tgn(l).le.0.d0) then( O itgn= itgn+1 O endif O enddo' O if(itgn.ne.0) thenp O iz= 0 * O ifz(43)= ifz(43)+1 O go to 4  O endif O * ( O ygpna= sqrt(tgn(1))( O ygpnb= sqrt(tgn(2))( O ygpnc= sqrt(tgn(3))( O ygpnd= sqrt(tgn(4))( O ygpne= sqrt(tgn(5))( O ygpnf= sqrt(tgn(6))( O ygpng= sqrt(tgn(7))( O ygmna= sqrt(tgn(8))( O ygmnb= sqrt(tgn(9))) O ygmnc= sqrt(tgn(10))0) O ygmnd= sqrt(tgn(11))6) O ygmne= sqrt(tgn(12)) ) O ygmnf= sqrt(tgn(13)) ) O ygmng= sqrt(tgn(14)).) O ygmnh= sqrt(tgn(15)) ) O ygmni= sqrt(tgn(16))  O * % O gn1= ygpna/ygpnbx% O gn2= ygpna*ygpncg% O gn3= ygpna/ygpnc#% O gn4= ygpnd/ygpnbg* O gn5= 1.d0/ygpna/ygpnc* O gn6= 1.d0/ygpnd/ygpnc% O gn7= ygpnd/ygpnc1% O gn8= ygpnb/ygpnax% O gn9= ygpnd*ygpnc & O gn10= ygpnb/ygpnd& O gn11= ygpna*ygpnb& O gn12= ygmnd/ygmnb+ O gn13= 1.d0/ygmnc/ygmna O & O gn14= ygmna/ygmnb& O gn15= ygmnd/ygmnc+ O gn16= 1.d0/ygmnd/ygmnc0& O gn17= ygmna*ygmnb& O gn18= ygmnc/ygmnd& O gn19= ygmnc/ygmna& O gn20= ygmna*ygmnc& O gn21= ygmnd*ygmnb& O gn22= ygmnd*ygmnc& O gn23= ygmnb/ygmnd& O gn24= ygmnb/ygmna& O gn25= ygpnc/ygpnd+ O gn26= 1.d0/ygpna/ygpnb & O gn27= ygpnc/ygpna+ O gn28= 1.d0/ygpnd/ygpnb & O gn29= ygpne/ygmnh& O gn30= ygmne/ygpnf+ O gn31= 1.d0/ygpnf/ygmnek+ O gn32= 1.d0/ygpnf/ygmnhs& O gn33= ygpne*ygmne& O gn34= ygpne/ygmne& O gn35= ygmnh/ygpnf& O gn36= ygmnh*ygpne& O gn37= ygpnb*ygmni& O gn38= ygpnc/ygpng+ O gn39= 1.d0/ygpng/ygpnb & O gn40= ygmne/ygmnf& O gn41= ygmng*ygmne+ O gn42= 1.d0/ygmnf/ygmnhv& O gn43= ygmng/ygmnh& O gn44= ygmne/ygmng+ O gn45= 1.d0/ygmng/ygmnh & O gn46= ygmnf/ygmnh& O gn47= ygmnf*ygmne& O gn48= ygmnh/ygmnf+ O gn49= 1.d0/ygmng/ygmnei& O gn50= ygmng*ygmnh+ O gn51= 1.d0/ygmnf/ygmne & O gn52= ygmnh/ygmng& O gn53= ygmnf*ygmnh& O gn54= ygmnf/ygmne+ O gn55= 1.d0/ygpnb*ygmni(+ O gn56= 1.d0/ygpnc/ygpng & O gn57= ygpnc*ygmni+ O gn58= 1.d0/ygpnc*ygmni1& O gn59= ygpnb/ygpng& O gn60= ygpnb*ygpng& O gn61= ygpnc/ygmni+ O gn62= 1.d0/ygpnb/ygmni & O gn63= ygpnc*ygpng+ O gn64= 1.d0/ygpnc*ygpng0+ O gn65= 1.d0/ygpnb*ygpng & O gn66= ygpnb/ygmni+ O gn67= 1.d0/ygpnc/ygmni*& O gn68= ygpne/ygmne+ O gn69= 1.d0/ygpnf*ygmnhc+ O gn70= 1.d0/ygmne*ygmng  O *4 O *-----NC helicity a-b) O * ' O *-----Conversion diagram 1: common part G O * * O if(iint.eq.1) then O c1abrc= 0.d0  O c1abic= 0.d0c O else O *17 O c1abrc= 16.d0*(gn12*(y13*y24*y56-y13*y26*y45-y14* ; O # y23*y56-y14*y25*y36+y14*y26*y35-y15*y24*y36+2; O # y16*y23*y45-y16*y24*y35+y36*y45)+gn13*(-y13*c; O # y24*y56-y13*y25*y46+y13*y26*y45-y15*y23*y46+ O ; O # y15*y24*y36+y16*y23*y45-y16*y24*y35+y35*y46-1= O # y36*y45)+gn14*(y15*y26+y16*y25-y56)+gn15*(y13*c= O # y25+y15*y23+y23*y56+y25*y36-y26*y35-y35)+gn16* & O # (-y15*y26+y16*y25+y56))9 O c1abic= 64.d0*(w1*gn12*y56+w1*gn13*(-2.d0*y15+y56)+b? O # 2.d0*w5*gn38*(-y15+y56)-w6*gn14+w6*gn16+w7*gn13*i= O # y26+2.d0*w8*gn39*y24*(y15-y56)-w8*gn13*y25+w9*rA O # gn12*y24-w10*gn12*y23+w11*gn12*y16+w12*gn12*(-y15+i/ O # 2.d0*y56)-w13*gn15+w14*gn13*y13)  O *e O endif) O xc1r= c1abrc O xc1i= c1abic6 O xc2r= 16.d0*(ogn55*(x13*x24*x56-x13*x26*x45-x14*0 O # x23*x56-x14*x25*x36+x14*x26*x35-x15*0 O # x24*x36+x16*x23*x45-x16*x24*x35+x36*3 O # x45)+ogn57*(x15*x26+x16*x25-x56)+ogn58* / O # (x13*x25+x15*x23-2.d0*x23*x45+2.d0* ( O # x24*x35-x35)-2.d0*ogn37*x25)6 O xc2i= 64.d0*(s2*ogn58-s5*ogn55*x35+s8*ogn55*x25-1 O # s10*ogn55*x23+s11*ogn55*x16-2.d0*s11* O # ogn58+s13*ogn55*x14) O if(iint.eq.1) then O cmod= 1 O else" O cmod= xc1r*xc1r+xc1i*xc1i O endif % O phr= (xc2r*xc1r+xc2i*xc1i)/cmodm' O phie= (-xc2r*xc1i+xc2i*xc1r)/cmod  O *i' O *-----Conversion diagram 2: common part G O * p O if(iint.eq.1) then O c2abrc= 0.d0  O c2abic= 0.d0( O else O *(= O c2abrc= 32.d0*(-gn12*y14*y25*y36+gn14*y16*y25+gn15*y13*1! O # y25-2.d0*gn37*y25)d O c2abic= 128.d0*w8*gn12*y25 O * O O endif  O * $ O *-----Pair production I: common part O *  O if(iint.eq.1) then O p1abrc= 0.d0* O p1abic= 0.d0 O else O * 5 O p1abrc= 32.d0*(gn13*y13*y25*(y24-y45)+gn15*y25* / O # (-y23+y35)+gn16*y25*(y15-1.d0)) % O p1abic= 128.d0*gn13*y25*(w1-w7)2 O ** O endif  O * % O *-----Pair production II: common part* O *m O if(iint.eq.1) then O p2abrc= 0.d0e O p2abic= 0.d0 O O else O * 4 O p2abrc= 16.d0*(gn12*(-y13*y24*y56+y13*y26*y45+8 O # y14*y23*y56-y14*y25*y36-y14*y26*y35+y15*9 O # y24*y36-y16*y23*y45+y16*y24*y35-y36*y45)+ O : O # gn13*(y13*y24*y56-y13*y25*y46-y13*y26*y45+8 O # y15*y23*y46-y15*y24*y36-y16*y23*y45+y16*8 O # y24*y35-y35*y46+y36*y45)+gn14*(-y15*y26+; O # y16*y25+y56)+gn15*(y13*y25-y15*y23-y23*y56+ ; O # y25*y36+y26*y35+y35)+gn16*(y15*y26+y16*y25-  O # y56))28 O p2abic= 64.d0*(w1*gn13*y56-w2*gn15+w5*gn12*y35-w6*= O # gn16-w7*gn13*y26+w8*gn12*y25-w8*gn13*y25+w10* < O # gn12*y23-w11*gn12*y16-w13*gn12*y14+w13*gn15- O # w14*gn13*y13)f O *k O endif O  O * & O *-----Pair production III: common part O *c O if(iint.eq.1) then O p3abrc= 0.d0  O p3abic= 0.d0m O else O *c7 O p3abrc= 16.d0*(gn12*(y13*y24*y56-y13*y26*y45-y14* 8 O # y23*y56+y14*y25*y36+y14*y26*y35-y15*y24*: O # y36+y16*y23*y45-y16*y24*y35+y36*y45)+gn14*9 O # (y15*y26-y16*y25-y56)+gn15*(-y13*y25+y15*t8 O # y23-2.d0*y23*y45+2.d0*y24*y35-y35)+2.d0* O # gn37*y25) 5 O p3abic= 64.d0*(w2*gn15-w5*gn12*y35-w8*gn12*y25- O 8 O # w10*gn12*y23+w11*gn12*y16-2.d0*w11*gn15+ O # w13*gn12*y14)  O *3 O endif* O *m% O *-----Pair production IV: common partp O *c O if(iint.eq.1) then O p4abrc= 0.d0  O p4abic= 0.d0m O else O * 0 O p4abrc= 32.d0*(gn13*y13*(-y23*y45-y24*y25+4 O # y24*y35)+gn15*y23*y25+gn16*(y15*y23+ O # y25-y35)) / O p4abic= 128.d0*gn13*((y35-y25)*w1-y23*w7)e O * O O endif  O *  O *-----NC helicity c-d) O **' O *-----Conversion diagram 1: common part G O *  O if(iint.eq.1) then O c1cdrc= 0.d0- O c1cdic= 0.d0o O else O * + O c1cdrc= 32.d0*(gn1*y36*(y14-y45)+gn2* ) O # (-y16+y56)+gn3*(-y13+y35))6! O c1cdic= 128.d0*gn1*(w8-w15)  O * O endifx * *-----Conversion diagram 2: common part * if(iint.eq.1) then c2cdrc= 0.d0 c2cdic= 0.d0 else * c2cdrc= 32.d0*(gn1*y14*y36-gn2*y16+gn4* # y36*(y13*y45-y14*y35)+gn5*y23*(- # y13*y45+y14*y35)-gn6*y14*y23+gn8* # (y13*y25-y35)+gn9*(-y13*y56+y16* # y35)+gn10) c2cdic= 128.d0*(w1*gn5*y35+w5*gn25-w8*gn4* # y35+w11*gn5*y13+w12*gn28*y14+w15*gn4* # y13) * endif * *-----Pair production I: common part * if(iint.eq.1) then p1cdrc= 0.d0 p1cdic= 0.d0 else * p1cdrc= 32.d0*(gn3*(y13-y35)+gn6*y23* # (-y14+y45)+gn10*(1.d0-y25)) p1cdic= -128.d0*gn6*(w1+w11) * endif * *-----Pair production II: common part * if(iint.eq.1) then p2cdrc= 0.d0 p2cdic= 0.d0 else * p2cdrc= 16.d0*(gn1*y24*y36-gn2*y26-gn3* # (y23+y36)+gn4*(-y13*y24*y56+y13* # y26*y45+y14*y23*y56-y14*y25*y36- # y14*y26*y35-y16*y23*y45+y16*y24* # y35+y36*y45)+gn5*(-y13*y25*y46+ # y13*y26*y45-y14*y23*y56+y14*y25* # y36-y14*y26*y35+y16*y23*y45+y35* # y46-y36*y45)+gn6*(y23*y46)+gn7* # (y13*y25+y13*y56-y16*y35-y35)+ # gn8*(-y16*y25+y56)+gn9*(y16*y25- # y56)-gn10*y26) p2cdic= 64.d0*(-w2*gn5*y46+w2*gn7-w4* # gn4*y36+w4*gn5*y36+w6*gn8-w6*gn9- # 2.d0*w7*gn5*y26-w8*gn4*y25+w8*gn5* # y25+w12*gn1-w12*gn6+w15*gn4-w15* # gn5) * endif * *-----Pair production III: common part * if(iint.eq.1) then p3cdrc= 0.d0 p3cdic= 0.d0 else * p3cdrc= 16.d0*(-gn1*y24*y36+gn2*y26+gn3* # y23+gn4*(y13*y24*y56-y13*y26*y45-y14* # y23*y56+y14*y25*y36+y14*y26*y35+y16* # y23*y45-y16*y24*y35-y36*y45)+gn7*(- # y13*y25+2.d0*y13*y45-2.d0*y14*y35+ # y35)+gn9*(-y16*y25+y56)-2.d0*gn11) p3cdic= 64.d0*(-w2*gn7+w4*gn4*y36+w6*gn9- # 2.d0*w7*gn7+w8*gn4*y25-w12*gn1-w15* # gn4) * endif * *-----Pair production IV: common part * if(iint.eq.1) then p4cdrc= 0.d0 p4cdic= 0.d0 else * p4cdrc= 32.d0*(-gn3*y13+gn5*y23*(y13* # y45-y14*y35)+gn6*y14*y23+gn8*(- # y13*y25+y35)-gn10) p4cdic= 128.d0*(w1*gn6-w2*gn8-w7*gn5*y23) * endif * *-----NC helicity e-f) * *-----Conversion diagram 1: common part * if(iint.eq.1) then c1efrc= 0.d0 c1efic= 0.d0 else * c1efrc= 16.d0*(gn40*(y13*y25*y46-y13*y26* # y45-y15*y23*y46+y15*y26*y34+y16*y23* # y45-y16*y25*y34+y34*y56-y35*y46)+gn41* # (-y13*y56+y16*y35)+gn44*(y13*y26-y16* # y23-y23*y56+y26*y35)+gn45*(-y13*y25* # y46+y14*y23*y56-y14*y26*y35-y15*y23* # y46+y15*y26*y34+y16*y25*y34-y34*y56+ # y35*y46)+gn46*(y13*y56-y16*y35)+gn48* # y45+gn49*y14*y25-gn50*y15-gn52*(1.d0+ # y25)-gn54*y15) c1efic= 64.d0*(-w1*gn40*y56+w3*gn44+w4* # gn48-w4*gn49-w5*gn40*y35+w7*gn45* # y26+w9*gn41-w10*gn45*y23+w12*gn45* # y15+w13*gn44-w13*gn45*y14+w15*gn40) * endif * *-----Conversion diagram 2: common part * if(iint.eq.1) then c2efrc= 0.d0 c2efic= 0.d0 else * c2efrc= 16.d0*(gn44*(y13*y26-y16*y23+ # 2.d0*y23*y46-2.d0*y26*y34)+gn45* # (-y13*y25*y46+y14*y23*y56-y14*y26* # y35-y15*y23*y46+y15*y26*y34+y16*y25* # y34-y34*y56+y35*y46)+gn46*(y13*y56- # y16*y35)-gn49*y14*y25+gn52-2.d0*gn53+ # gn54*y15) c2efic= 64.d0*(w3*gn44+w4*gn49+w7*gn45*y26- # w10*gn45*y23-2.d0*w12*gn44+w12*gn45* # y15-w13*gn45*y14) * endif * *-----Pair production I: common part * if(iint.eq.1) then p1efrc= 0.d0 p1efic= 0.d0 else * p1efrc= 32.d0*(-gn48*y45-gn49*y14*y25+ # gn50*y15+gn52*(1.d0+y25)+gn54*y15) p1efic= 128.d0*(gn49-gn48)*w4 * endif * *-----Pair production II: common part * if(iint.eq.1) then p2efrc= 0.d0 p2efic= 0.d0 else * p2efrc= 32.d0*(gn40*(y23*y46-y26*y34)+ # gn41*(y13*y26-y16*y23)-gn48*y46+ # gn50*y16+gn52*y26) p2efic= 128.d0*(w1*gn40*y26+w5*gn40* # y23-w5*gn48) * endif * *-----Pair production III: common part * if(iint.eq.1) then p3efrc= 0.d0 p3efic= 0.d0 else * p3efrc= 32.d0*(gn49*y14*y25-gn52+2.d0* # gn53-gn54*y15) p3efic= -128.d0*w4*gn49 * endif * *-----Pair production IV: common part * if(iint.eq.1) then p4efrc= 0.d0 p4efic= 0.d0 else * p4efrc= 32.d0*(gn40*(-y23*y46+y26*y34)+ # gn41*(-y13*y26+y16*y23)-gn48*y34+ # gn50*y13+gn52*y23) p4efic= 64.d0*(w1*gn42*(y34*y56+2.d0* # y35*y46)-w1*gn43*y56-w2*gn42*y34* # y46-w2*gn43*y46-w4*gn51*y34+2.d0* # w5*gn42*y34*y35-w5*gn43*y35-w6* # gn43*y34-w7*gn43*y26-w8*gn42*y25* # y34+2.d0*w8*gn43*y25-w9*gn43* # y34-w10*gn42*y23*y34+w10*gn43* # y23+w11*gn42*(y16*y34+2.d0*y46)- # w11*gn43*y16+2.d0*w13*gn45*y34- # 2.d0*w13*gn46-2.d0*w14*gn42* # y34+w14*gn43*y13+w15*gn42*y34- # 2.d0*w15*gn43*y13+2.d0*w15*gn45* # y23) * endif * *-----NC helicity g-h) * *-----Conversion diagram 1: common part * if(iint.eq.1) then c1ghrc= 0.d0 c1ghic= 0.d0 else * c1ghrc= 32.d0*(gn29*(-y13*y25*y46+y16* # y25*y34)+gn30*(-y13*y56+y16*y35)- # gn31*y14*y25*y56+gn32*(y13*y14* # y25*y56-y14*y16*y25*y35)+gn33*(y13* # y26-y16*y23)+gn34*y25*y46+gn35*y56- # gn36*y26) c1ghic= 128.d0*(-w2*gn30*y16-w6*gn30*y13+ # w6*gn35-w7*gn32*y16*y25-w10*gn31*y25+ # w10*gn32*y13*y25) * endif * *-----Conversion diagram 2: common part * if(iint.eq.1) then c2ghrc= 0.d0 c2ghic= 0.d0 else * c2ghrc= 32.d0*(gn29*y25*(-y13*y46+y16*y34)+ # gn31*y14*y25*y35+gn32*y14*y25*(y13* # y56-y16*y35)-gn34*y25*y34-gn35*y13*y25) c2ghic= 128.d0*(w7*gn31*y25-w8*gn29*y25+w9* # gn32*y14*y25) * endif * *-----Pair production I: common part * if(iint.eq.1) then p1ghrc= 0.d0 p1g O O O O O O O O O ersion I Z-gamma O *.3 O cc1zg= -conc(2)/ysm/ypn*corrgd  O *n O do i=1,4 ! O ip4= i+4.6 O hapr(i)= hch(ip4)*cc1zg*zmcfr6 O hapi(i)= hch(ip4)*cc1zg*zmcfi O enddo O *3, O c1azgr= -hapr(1)*c1abrc, O c1azgre= hapi(1)*c1abic- O c1azgie= -hapr(1)*c1abicC, O c1azgi= -hapi(1)*c1abrc O *o+ O c1bzgr= hapr(2)*c1abrc , O c1bzgre= hapi(2)*c1abic- O c1bzgie= -hapr(2)*c1abic + O c1bzgi= hapi(2)*c1abrc  O *d, O c1czgr= -hapr(3)*c1cdrc, O c1czgre= hapi(3)*c1cdic- O c1czgie= -hapr(3)*c1cdicv, O c1czgi= -hapi(3)*c1cdrc O * + O c1dzgr= hapr(4)*c1cdrc , O c1dzgre= hapi(4)*c1cdic- O c1dzgie= -hapr(4)*c1cdicx+ O c1dzgi= hapi(4)*c1cdrc4 O * O , O c1ezgr= -hapr(3)*c1efrc, O c1ezgre= hapi(3)*c1efic- O c1ezgie= -hapr(3)*c1eficy, O c1ezgi= -hapi(3)*c1efrc O *c+ O c1fzgr= hapr(4)*c1efrc , O c1fzgre= hapi(4)*c1efic- O c1fzgie= -hapr(4)*c1efic-+ O c1fzgi= hapi(4)*c1efrcf O *n, O c1gzgr= -hapr(1)*c1ghrc, O c1gzgre= hapi(1)*c1ghic- O c1gzgie= -hapr(1)*c1ghic1, O c1gzgi= -hapi(1)*c1ghrc O *n+ O c1hzgr= hapr(2)*c1ghrcp, O c1hzgre= hapi(2)*c1ghic- O c1hzgie= -hapr(2)*c1ghic=+ O c1hzgi= hapi(2)*c1ghrcg O *y O *-----All Conversion II Z-gamma  O * 3 O cc2zg= conc(3)/ysp/ypnp*corrgu* O *+ O do i=1,4#3 O hbr(i)= hch(i)*cc2zg*zpcfr 3 O hbi(i)= hch(i)*cc2zg*zpcfi  O enddo O *2+ O c2azgr= -hbr(1)*c2abrc4+ O c2azgre= hbi(1)*c2abic*, O c2azgie= -hbr(1)*c2abic+ O c2azgi= -hbi(1)*c2abrc5 O *g* O c2bzgr= hbr(2)*c2abrc+ O c2bzgre= hbi(2)*c2abicc, O c2bzgie= -hbr(2)*c2abic* O c2bzgi= hbi(2)*c2abrc O *y+ O c2czgr= -hbr(3)*c2cdrcn+ O c2czgre= hbi(3)*c2cdic , O c2czgie= -hbr(3)*c2cdic+ O c2czgi= -hbi(3)*c2cdrcp O *r* O c2dzgr= hbr(4)*c2cdrc+ O c2dzgre= hbi(4)*c2cdic+, O c2dzgie= -hbr(4)*c2cdic* O c2dzgi= hbi(4)*c2cdrc O **+ O c2ezgr= -hbr(1)*c2efrc-+ O c2ezgre= hbi(1)*c2efic , O c2ezgie= -hbr(1)*c2efic+ O c2ezgi= -hbi(1)*c2efrc  O *3* O c2fzgr= hbr(2)*c2efrc+ O c2fzgre= hbi(2)*c2eficw, O c2fzgie= -hbr(2)*c2efic* O c2fzgi= hbi(2)*c2efrc O * O + O c2gzgr= -hbr(3)*c2ghrc + O c2gzgre= hbi(3)*c2ghic , O c2gzgie= -hbr(3)*c2ghic+ O c2gzgi= -hbi(3)*c2ghrc  O *#* O c2hzgr= hbr(4)*c2ghrc+ O c2hzgre= hbi(4)*c2ghic , O c2hzgie= -hbr(4)*c2ghic* O c2hzgi= hbi(4)*c2ghrc O *  O *-----All Conversion I/II Z-Z  O *  O do i=1,8 ! O ip8= i+805 O hc(i)= -hch(ip8)*conc(5)/ypnc6 O hcp(i)= hch(ip8)*conc(5)/ypnp O enddo O * ) O c1azzr= hc(1)*c1abrc+* O c1azzie= hc(1)*c1abic O *(* O c1bzzr= -hc(2)*c1abrc* O c1bzzie= hc(2)*c1abic O *y) O c1czzr= hc(7)*c1cdrc * O c1czzie= hc(7)*c1cdic O * * O c1dzzr= -hc(8)*c1cdrc* O c1dzzie= hc(8)*c1cdic O **) O c1ezzr= hc(3)*c1efrc * O c1ezzie= hc(3)*c1efic O * * O c1fzzr= -hc(4)*c1efrc* O c1fzzie= hc(4)*c1efic O *n) O c1gzzr= hc(5)*c1ghrcy* O c1gzzie= hc(5)*c1ghic O *r* O c1hzzr= -hc(6)*c1ghrc* O c1hzzie= hc(6)*c1ghic O * * O c2azzr= hcp(1)*c2abrc+ O c2azzie= hcp(1)*c2abicl O * O + O c2bzzr= -hcp(2)*c2abrc3+ O c2bzzie= hcp(2)*c2abic+ O *5* O c2czzr= hcp(7)*c2cdrc+ O c2czzie= hcp(7)*c2cdic5 O *6+ O c2dzzr= -hcp(8)*c2cdrc5+ O c2dzzie= hcp(8)*c2cdic- O *9* O c2ezzr= hcp(3)*c2efrc+ O c2ezzie= hcp(3)*c2eficw O *n+ O c2fzzr= -hcp(4)*c2efrc2+ O c2fzzie= hcp(4)*c2efic* O *)* O c2gzzr= hcp(5)*c2ghrc+ O c2gzzie= hcp(5)*c2ghicn O * + O c2hzzr= -hcp(6)*c2ghrc + O c2hzzie= hcp(6)*c2ghic4 O *1 O *-----All PP1-PP2 gamma-gamma5 O *56 O cp12gg= conc(6)/ysm*corrgs*corrgd/ O cp1ggr= cp12gg/ypfpb*ztcfr / O cp2ggr= -cp12gg/ypfp*ztcfr / O cp1ggi= cp12gg/ypfpb*ztcfil/ O cp2ggi= -cp12gg/ypfp*ztcfi4 O * O + O p1aggr= -cp1ggr*p1abrc4+ O p1aggre= cp1ggi*p1abic , O p1aggie= -cp1ggr*p1abic+ O p1aggi= -cp1ggi*p1abrc- O *-$ O p1bggr= -p1aggr% O p1bggre= p1aggre=% O p1bggie= p1aggiee$ O p1bggi= -p1aggi O *n+ O p1cggr= -cp1ggr*p1cdrc + O p1cggre= cp1ggi*p1cdic O , O p1cggie= -cp1ggr*p1cdic+ O p1cggi= -cp1ggi*p1cdrcd O * O $ O p1dggr= -p1cggr% O p1dggre= p1cggre*% O p1dggie= p1cggiey$ O p1dggi= -p1cggi O *y+ O p1eggr= -cp1ggr*p1efrc3+ O p1eggre= cp1ggi*p1efic3, O p1eggie= -cp1ggr*p1efic+ O p1eggi= -cp1ggi*p1efrcg O **$ O p1fggr= -p1eggr% O p1fggre= p1eggre O % O p1fggie= p1eggie*$ O p1fggi= -p1eggi O *y+ O p1gggr= -cp1ggr*p1ghrc1+ O p1gggre= cp1ggi*p1ghic6, O p1gggie= -cp1ggr*p1ghic+ O p1gggi= -cp1ggi*p1ghrc* O *3$ O p1hggr= -p1gggr% O p1hggre= p1gggre % O p1hggie= p1gggie-$ O p1hggi= -p1gggi O *d+ O p2aggr= -cp2ggr*p2abrc + O p2aggre= cp2ggi*p2abic , O p2aggie= -cp2ggr*p2abic+ O p2aggi= -cp2ggi*p2abrc O  O * $ O p2bggr= -p2aggr% O p2bggre= p2aggrey% O p2bggie= p2aggie2$ O p2bggi= -p2aggi O *y+ O p2cggr= -cp2ggr*p2cdrc + O p2cggre= cp2ggi*p2cdic , O p2cggie= -cp2ggr*p2cdic+ O p2cggi= -cp2ggi*p2cdrcw O *n$ O p2dggr= -p2cggr% O p2dggre= p2cggre O % O p2dggie= p2cggiep$ O p2dggi= -p2cggi O * + O p2eggr= -cp2ggr*p2efrcf+ O p2eggre= cp2ggi*p2efic , O p2eggie= -cp2ggr*p2efic+ O p2eggi= -cp2ggi*p2efrc  O * $ O p2fggr= -p2eggr% O p2fggre= p2eggrey% O p2fggie= p2eggie($ O p2fggi= -p2eggi O * + O p2gggr= -cp2ggr*p2ghrc-+ O p2gggre= cp2ggi*p2ghici, O p2gggie= -cp2ggr*p2ghic+ O p2gggi= -cp2ggi*p2ghrc2 O **$ O p2hggr= -p2gggr% O p2hggre= p2gggre % O p2hggie= p2gggien$ O p2hggi= -p2gggi O *n O *-----All PP1 gamma-Zn O *q1 O cp1gz= -conc(3)/ypfpb*corrgs* O *  O do i=1,4d# O ip16= i+16 6 O hdr(i)= hch(ip16)*cp1gz*zpcfr6 O hdi(i)= hch(ip16)*cp1gz*zpcfi O enddo O * * O p1agzr= hdr(3)*p1abrc, O p1agzre= -hdi(3)*p1abic+ O p1agzie= hdr(3)*p1abic4* O p1agzi= hdi(3)*p1abrc O *2+ O p1bgzr= -hdr(4)*p1abrc , O p1bgzre= -hdi(4)*p1abic+ O p1bgzie= hdr(4)*p1abic + O p1bgzi= -hdi(4)*p1abrco O *a* O p1cgzr= hdr(4)*p1cdrc, O p1cgzre= -hdi(4)*p1cdic+ O p1cgzie= hdr(4)*p1cdicy* O p1cgzi= hdi(4)*p1cdrc O *)+ O p1dgzr= -hdr(3)*p1cdrc1, O p1dgzre= -hdi(3)*p1cdic+ O p1dgzie= hdr(3)*p1cdic1+ O p1dgzi= -hdi(3)*p1cdrc0 O * * O p1egzr= hdr(2)*p1efrc, O p1egzre= -hdi(2)*p1efic+ O p1egzie= hdr(2)*p1efic2* O p1egzi= hdi(2)*p1efrc O * + O p1fgzr= -hdr(1)*p1efrc O , O p1fgzre= -hdi(1)*p1efic+ O p1fgzie= hdr(1)*p1eficg+ O p1fgzi= -hdi(1)*p1efrc  O * * O p1ggzr= hdr(1)*p1ghrc, O p1ggzre= -hdi(1)*p1ghic+ O p1ggzie= hdr(1)*p1ghic O * O p1ggzi= hdi(1)*p1ghrc O * + O p1hgzr= -hdr(2)*p1ghrc , O p1hgzre= -hdi(2)*p1ghic+ O p1hgzie= hdr(2)*p1ghic + O p1hgzi= -hdi(2)*p1ghrc  O *  O *-----All PP2 gamma-Z* O *b/ O cp2gz= conc(3)/ypfp*corrgs  O *  O do i=1,4 O # O ip16= i+16=6 O her(i)= hch(ip16)*cp2gz*zpcfr6 O hei(i)= hch(ip16)*cp2gz*zpcfi O enddo O * * O p2agzr= her(3)*p2abrc, O p2agzre= -hei(3)*p2abic+ O p2agzie= her(3)*p2abic * O p2agzi= hei(3)*p2abrc O *c+ O p2bgzr= -her(4)*p2abrc=, O p2bgzre= -hei(4)*p2abic+ O p2bgzie= her(4)*p2abic1+ O p2bgzi= -hei(4)*p2abrcg O *c* O p2cgzr= her(4)*p2cdrc, O p2cgzre= -hei(4)*p2cdic+ O p2cgzie= her(4)*p2cdic * O p2cgzi= hei(4)*p2cdrc O * + O p2dgzr= -her(3)*p2cdrc , O p2dgzre= -hei(3)*p2cdic+ O p2dgzie= her(3)*p2cdic + O p2dgzi= -hei(3)*p2cdrc  O * * O p2egzr= her(2)*p2efrc, O p2egzre= -hei(2)*p2efic+ O p2egzie= her(2)*p2efic * O p2egzi= hei(2)*p2efrc O * O + O p2fgzr= -her(1)*p2efrcc, O p2fgzre= -hei(1)*p2efic+ O p2fgzie= her(1)*p2eficg+ O p2fgzi= -hei(1)*p2efrc O  O * O * O p2ggzr= her(1)*p2ghrc, O p2ggzre= -hei(1)*p2ghic+ O p2ggzie= her(1)*p2ghic * O p2ggzi= hei(1)*p2ghrc O *c+ O p2hgzr= -her(2)*p2ghrcg, O p2hgzre= -hei(2)*p2ghic+ O p2hgzie= her(2)*p2ghicg+ O p2hgzi= -hei(2)*p2ghrcd O *= O *-----All PP1 Z-gamma  O * 4 O cp1zg= conc(4)/ysm/ypfpb*corrgd O *i O do i=1,4=! O ip4= i+4c5 O hfr(i)= hch(ip4)*cp1zg*ztcfr25 O hfi(i)= hch(ip4)*cp1zg*ztcfi  O enddo O * + O ap1azgr= hfr(1)*p1abrc - O ap1azgre= -hfi(1)*p1abicc, O ap1azgie= hfr(1)*p1abic+ O ap1azgi= hfi(1)*p1abrc25 O p1azgr= ap1azgr*rsz-ap1azgi*aiszc8 O p1azgre= ap1azgre*rsz-ap1azgie*aisz8 O p1azgie= ap1azgie*rsz+ap1azgre*aisz5 O p1azgi= ap1azgi*rsz+ap1azgr*aisz  O * , O ap1bzgr= -hfr(2)*p1abrc- O ap1bzgre= -hfi(2)*p1abicv, O ap1bzgie= hfr(2)*p1abic, O ap1bzgi= -hfi(2)*p1abrc5 O p1bzgr= ap1bzgr*rsz-ap1bzgi*aiszh8 O p1bzgre= ap1bzgre*rsz-ap1bzgie*aisz8 O p1bzgie= ap1bzgie*rsz+ap1bzgre*aisz5 O p1bzgi= ap1bzgi*rsz+ap1bzgr*aiszc O *z+ O ap1czgr= hfr(3)*p1cdrcz- O ap1czgre= -hfi(3)*p1cdic=, O ap1czgie= hfr(3)*p1cdic+ O ap1czgi= hfi(3)*p1cdrcz5 O p1czgr= ap1czgr*rsz-ap1czgi*aisz28 O p1czgre= ap1czgre*rsz-ap1czgie*aisz8 O p1czgie= ap1czgie*rsz+ap1czgre*aisz5 O p1czgi= ap1czgi*rsz+ap1czgr*aiszc O *z, O ap1dzgr= -hfr(4)*p1cdrc- O ap1dzgre= -hfi(4)*p1cdicd, O ap1dzgie= hfr(4)*p1cdic, O ap1dzgi= -hfi(4)*p1cdrc5 O p1dzgr= ap1dzgr*rsz-ap1dzgi*aisz*8 O p1dzgre= ap1dzgre*rsz-ap1dzgie*aisz8 O p1dzgie= ap1dzgie*rsz+ap1dzgre*aisz5 O p1dzgi= ap1dzgi*rsz+ap1dzgr*aiszc O *z+ O ap1ezgr= hfr(3)*p1efrcc- O ap1ezgre= -hfi(3)*p1eficz, O ap1ezgie= hfr(3)*p1efic+ O ap1ezgi= hfi(3)*p1efrcz5 O p1ezgr= ap1ezgr*rsz-ap1ezgi*aisz(8 O p1ezgre= ap1ezgre*rsz-ap1ezgie*aisz8 O p1ezgie= ap1ezgie*rsz+ap1ezgre*aisz5 O p1ezgi= ap1ezgi*rsz+ap1ezgr*aisz  O *c, O ap1fzgr= -hfr(4)*p1efrc- O ap1fzgre= -hfi(4)*p1eficz, O ap1fzgie= hfr(4)*p1efic, O ap1fzgi= -hfi(4)*p1efrc5 O p1fzgr= ap1fzgr*rsz-ap1fzgi*aiszp8 O p1fzgre= ap1fzgre*rsz-ap1fzgie*aisz8 O p1fzgie= ap1fzgie*rsz+ap1fzgre*aisz5 O p1fzgi= ap1fzgi*rsz+ap1fzgr*aisz) O *c+ O ap1gzgr= hfr(1)*p1ghrco- O ap1gzgre= -hfi(1)*p1ghicb, O ap1gzgie= hfr(1)*p1ghic+ O ap1gzgi= hfi(1)*p1ghrca5 O p1gzgr= ap1gzgr*rsz-ap1gzgi*aisz O 8 O p1gzgre= ap1gzgre*rsz-ap1gzgie*aisz8 O p1gzgie= ap1gzgie*rsz+ap1gzgre*aisz5 O p1gzgi= ap1gzgi*rsz+ap1gzgr*aiszp O *), O ap1hzgr= -hfr(2)*p1ghrc- O ap1hzgre= -hfi(2)*p1ghici, O ap1hzgie= hfr(2)*p1ghic, O ap1hzgi= -hfi(2)*p1ghrc5 O p1hzgr= ap1hzgr*rsz-ap1hzgi*aiszc8 O p1hzgre= ap1hzgre*rsz-ap1hzgie*aisz8 O p1hzgie= ap1hzgie*rsz+ap1hzgre*aisz5 O p1hzgi= ap1hzgi*rsz+ap1hzgr*aisz  O *e O *-----All PP2 Z-gamma  O * 4 O cp2zg= -conc(4)/ysm/ypfp*corrgd O *  O do i=1,4 ! O ip4= i+4*5 O hgr(i)= hch(ip4)*cp2zg*ztcfri5 O hgi(i)= hch(ip4)*cp2zg*ztcfi  O enddo O * + O ap2azgr= hgr(1)*p2abrc - O ap2azgre= -hgi(1)*p2abic , O ap2azgie= hgr(1)*p2abic+ O ap2azgi= hgi(1)*p2abrc 5 O p2azgr= ap2azgr*rsz-ap2azgi*aisz 8 O p2azgre= ap2azgre*rsz-ap2azgie*aisz8 O p2azgie= ap2azgie*rsz+ap2azgre*aisz5 O p2azgi= ap2azgi*rsz+ap2azgr*aisz O  O *-, O ap2bzgr= -hgr(2)*p2abrc- O ap2bzgre= -hgi(2)*p2abic , O ap2bzgie= hgr(2)*p2abic, O ap2bzgi= -hgi(2)*p2abrc5 O p2bzgr= ap2bzgr*rsz-ap2bzgi*aiszp8 O p2bzgre= ap2bzgre*rsz-ap2bzgie*aisz8 O p2bzgie= ap2bzgie*rsz+ap2bzgre*aisz5 O p2bzgi= ap2bzgi*rsz+ap2bzgr*aisz  O *a+ O ap2czgr= hgr(3)*p2cdrcc- O ap2czgre= -hgi(3)*p2cdic , O ap2czgie= hgr(3)*p2cdic+ O ap2czgi= hgi(3)*p2cdrc 5 O p2czgr= ap2czgr*rsz-ap2czgi*aisz=8 O p2czgre= ap2czgre*rsz-ap2czgie*aisz8 O p2czgie= ap2czgie*rsz+ap2czgre*aisz5 O p2czgi= ap2czgi*rsz+ap2czgr*aisz  O * , O ap2dzgr= -hgr(4)*p2cdrc- O ap2dzgre= -hgi(4)*p2cdic , O ap2dzgie= hgr(4)*p2cdic, O ap2dzgi= -hgi(4)*p2cdrc5 O p2dzgr= ap2dzgr*rsz-ap2dzgi*aisz 8 O p2dzgre= ap2dzgre*rsz-ap2dzgie*aisz8 O p2dzgie= ap2dzgie*rsz+ap2dzgre*aisz5 O p2dzgi= ap2dzgi*rsz+ap2dzgr*aiszc O * + O ap2ezgr= hgr(3)*p2efrc - O ap2ezgre= -hgi(3)*p2efic , O ap2ezgie= hgr(3)*p2efic+ O ap2ezgi= hgi(3)*p2efrcn5 O p2ezgr= ap2ezgr*rsz-ap2ezgi*aisz 8 O p2ezgre= ap2ezgre*rsz-ap2ezgie*aisz8 O p2ezgie= ap2ezgie*rsz+ap2ezgre*aisz5 O p2ezgi= ap2ezgi*rsz+ap2ezgr*aisz) O *g, O ap2fzgr= -hgr(4)*p2efrc- O ap2fzgre= -hgi(4)*p2eficg, O ap2fzgie= hgr(4)*p2efic, O ap2fzgi= -hgi(4)*p2efrc5 O p2fzgr= ap2fzgr*rsz-ap2fzgi*aisz O 8 O p2fzgre= ap2fzgre*rsz-ap2fzgie*aisz8 O p2fzgie= ap2fzgie*rsz+ap2fzgre*aisz5 O p2fzgi= ap2fzgi*rsz+ap2fzgr*aisz O  O * O + O ap2gzgr= hgr(1)*p2ghrc O - O ap2gzgre= -hgi(1)*p2ghic , O ap2gzgie= hgr(1)*p2ghic+ O ap2gzgi= hgi(1)*p2ghrcg5 O p2gzgr= ap2gzgr*rsz-ap2gzgi*aisz 8 O p2gzgre= ap2gzgre*rsz-ap2gzgie*aisz8 O p2gzgie= ap2gzgie*rsz+ap2gzgre*aisz5 O p2gzgi= ap2gzgi*rsz+ap2gzgr*aiszr O * O , O ap2hzgr= -hgr(2)*p2ghrc- O ap2hzgre= -hgi(2)*p2ghic , O ap2hzgie= hgr(2)*p2ghic, O ap2hzgi= -hgi(2)*p2ghrc5 O p2hzgr= ap2hzgr*rsz-ap2hzgi*aisz 8 O p2hzgre= ap2hzgre*rsz-ap2hzgie*aisz8 O p2hzgie= ap2hzgie*rsz+ap2hzgre*aisz5 O p2hzgi= ap2hzgi*rsz+ap2hzgr*aiszi O * O  O *-----All PP1 Z-Z  O *e) O cp1zz= conc(5)/ypfpbc O *g O do i=1,8 # O ip20= i+20 6 O hhr(i)= hch(ip20)*cp1zz*zpcfr6 O hhi(i)= hch(ip20)*cp1zz*zpcfi O enddo O * + O ap1azzr= hhr(3)*p1abrc - O ap1azzre= -hhi(3)*p1abic , O ap1azzie= hhr(3)*p1abic+ O ap1azzi= hhi(3)*p1abrc 5 O p1azzr= ap1azzr*rsz-ap1azzi*aisz 8 O p1azzre= ap1azzre*rsz-ap1azzie*aisz8 O p1azzie= ap1azzie*rsz+ap1azzre*aisz5 O p1azzi= ap1azzi*rsz+ap1azzr*aisz  O * , O ap1bzzr= -hhr(4)*p1abrc- O ap1bzzre= -hhi(4)*p1abic*, O ap1bzzie= hhr(4)*p1abic, O ap1bzzi= -hhi(4)*p1abrc5 O p1bzzr= ap1bzzr*rsz-ap1bzzi*aisza8 O p1bzzre= ap1bzzre*rsz-ap1bzzie*aisz8 O p1bzzie= ap1bzzie*rsz+ap1bzzre*aisz5 O p1bzzi= ap1bzzi*rsz+ap1bzzr*aiszz O *h+ O ap1czzr= hhr(5)*p1cdrcc- O ap1czzre= -hhi(5)*p1cdicc, O ap1czzie= hhr(5)*p1cdic+ O ap1czzi= hhi(5)*p1cdrc(5 O p1czzr= ap1czzr*rsz-ap1czzi*aisz O 8 O p1czzre= ap1czzre*rsz-ap1czzie*aisz8 O p1czzie= ap1czzie*rsz+ap1czzre*aisz5 O p1czzi= ap1czzi*rsz+ap1czzr*aiszc O **, O ap1dzzr= -hhr(6)*p1cdrc- O ap1dzzre= -hhi(6)*p1cdic1, O ap1dzzie= hhr(6)*p1cdic, O ap1dzzi= -hhi(6)*p1cdrc5 O p1dzzr= ap1dzzr*rsz-ap1dzzi*aisz38 O p1dzzre= ap1dzzre*rsz-ap1dzzie*aisz8 O p1dzzie= ap1dzzie*rsz+ap1dzzre*aisz5 O p1dzzi= ap1dzzi*rsz+ap1dzzr*aiszz O *-+ O ap1ezzr= hhr(8)*p1efrc - O ap1ezzre= -hhi(8)*p1efic=, O ap1ezzie= hhr(8)*p1efic+ O ap1ezzi= hhi(8)*p1efrcz5 O p1ezzr= ap1ezzr*rsz-ap1ezzi*aisz)8 O p1ezzre= ap1ezzre*rsz-ap1ezzie*aisz8 O p1ezzie= ap1ezzie*rsz+ap1ezzre*aisz5 O p1ezzi= ap1ezzi*rsz+ap1ezzr*aisz  O *c, O ap1fzzr= -hhr(7)*p1efrc- O ap1fzzre= -hhi(7)*p1eficc, O ap1fzzie= hhr(7)*p1efic, O ap1fzzi= -hhi(7)*p1efrc5 O p1fzzr= ap1fzzr*rsz-ap1fzzi*aiszc8 O p1fzzre= ap1fzzre*rsz-ap1fzzie*aisz8 O p1fzzie= ap1fzzie*rsz+ap1fzzre*aisz5 O p1fzzi= ap1fzzi*rsz+ap1fzzr*aisz  O * + O ap1gzzr= hhr(1)*p1ghrc - O ap1gzzre= -hhi(1)*p1ghic O , O ap1gzzie= hhr(1)*p1ghic+ O ap1gzzi= hhi(1)*p1ghrc 5 O p1gzzr= ap1gzzr*rsz-ap1gzzi*aisz-8 O p1gzzre= ap1gzzre*rsz-ap1gzzie*aisz8 O p1gzzie= ap1gzzie*rsz+ap1gzzre*aisz5 O p1gzzi= ap1gzzi*rsz+ap1gzzr*aiszp O *g, O ap1hzzr= -hhr(2)*p1ghrc- O ap1hzzre= -hhi(2)*p1ghic1, O ap1hzzie= hhr(2)*p1ghic, O ap1hzzi= -hhi(2)*p1ghrc5 O p1hzzr= ap1hzzr*rsz-ap1hzzi*aisz 8 O p1hzzre= ap1hzzre*rsz-ap1hzzie*aisz8 O p1hzzie= ap1hzzie*rsz+ap1hzzre*aisz5 O p1hzzi= ap1hzzi*rsz+ap1hzzr*aisz  O *  O *-----All PP2 Z-Ze O *1) O cp2zz= -conc(5)/ypfpi O * O  O do i=1,81# O ip20= i+20=6 O hir(i)= hch(ip20)*cp2zz*zpcfr6 O hii(i)= hch(ip20)*cp2zz*zpcfi O enddo O *g+ O ap2azzr= hir(3)*p2abrc-- O ap2azzre= -hii(3)*p2abic O , O ap2azzie= hir(3)*p2abic+ O ap2azzi= hii(3)*p2abrc 5 O p2azzr= ap2azzr*rsz-ap2azzi*aisz 8 O p2azzre= ap2azzre*rsz-ap2azzie*aisz8 O p2azzie= ap2azzie*rsz+ap2azzre*aisz5 O p2azzi= ap2azzi*rsz+ap2azzr*aisz  O * , O ap2bzzr= -hir(4)*p2abrc- O ap2bzzre= -hii(4)*p2abic-, O ap2bzzie= hir(4)*p2abic, O ap2bzzi= -hii(4)*p2abrc5 O p2bzzr= ap2bzzr*rsz-ap2bzzi*aiszc8 O p2bzzre= ap2bzzre*rsz-ap2bzzie*aisz8 O p2bzzie= ap2bzzie*rsz+ap2bzzre*aisz5 O p2bzzi= ap2bzzi*rsz+ap2bzzr*aisz  O * + O ap2czzr= hir(5)*p2cdrc - O ap2czzre= -hii(5)*p2cdic , O ap2czzie= hir(5)*p2cdic+ O ap2czzi= hii(5)*p2cdrc 5 O p2czzr= ap2czzr*rsz-ap2czzi*aisz 8 O p2czzre= ap2czzre*rsz-ap2czzie*aisz8 O p2czzie= ap2czzie*rsz+ap2czzre*aisz5 O p2czzi= ap2czzi*rsz+ap2czzr*aisz- O *g, O ap2dzzr= -hir(6)*p2cdrc- O ap2dzzre= -hii(6)*p2cdicg, O ap2dzzie= hir(6)*p2cdic, O ap2dzzi= -hii(6)*p2cdrc5 O p2dzzr= ap2dzzr*rsz-ap2dzzi*aisz 8 O p2dzzre= ap2dzzre*rsz-ap2dzzie*aisz8 O p2dzzie= ap2dzzie*rsz+ap2dzzre*aisz5 O p2dzzi= ap2dzzi*rsz+ap2dzzr*aisz  O * + O ap2ezzr= hir(8)*p2efrc1- O ap2ezzre= -hii(8)*p2eficc, O ap2ezzie= hir(8)*p2efic+ O ap2ezzi= hii(8)*p2efrcd5 O p2ezzr= ap2ezzr*rsz-ap2ezzi*aisz 8 O p2ezzre= ap2ezzre*rsz-ap2ezzie*aisz8 O p2ezzie= ap2ezzie*rsz+ap2ezzre*aisz5 O p2ezzi= ap2ezzi*rsz+ap2ezzr*aisz) O *a, O ap2fzzr= -hir(7)*p2efrc- O ap2fzzre= -hii(7)*p2efici, O ap2fzzie= hir(7)*p2efic, O ap2fzzi= -hii(7)*p2efrc5 O p2fzzr= ap2fzzr*rsz-ap2fzzi*aisz 8 O p2fzzre= ap2fzzre*rsz-ap2fzzie*aisz8 O p2fzzie= ap2fzzie*rsz+ap2fzzre*aisz5 O p2fzzi= ap2fzzi*rsz+ap2fzzr*aisz3 O *1+ O ap2gzzr= hir(1)*p2ghrcc- O ap2gzzre= -hii(1)*p2ghicr, O ap2gzzie= hir(1)*p2ghic+ O ap2gzzi= hii(1)*p2ghrc15 O p2gzzr= ap2gzzr*rsz-ap2gzzi*aisz 8 O p2gzzre= ap2gzzre*rsz-ap2gzzie*aisz8 O p2gzzie= ap2gzzie*rsz+ap2gzzre*aisz5 O p2gzzi= ap2gzzi*rsz+ap2gzzr*aisz) O *e, O ap2hzzr= -hir(2)*p2ghrc- O ap2hzzre= -hii(2)*p2ghic1, O ap2hzzie= hir(2)*p2ghic, O ap2hzzi= -hii(2)*p2ghrc5 O p2hzzr= ap2hzzr*rsz-ap2hzzi*aisz 8 O p2hzzre= ap2hzzre*rsz-ap2hzzie*aisz8 O p2hzzie= ap2hzzie*rsz+ap2hzzre*aisz5 O p2hzzi= ap2hzzi*rsz+ap2hzzr*aisz) O *g O *-----All PP3-PP4 gamma-gamma* O *b6 O cp34gg= conc(7)/ysp*corrgs*corrgu- O cp3ggr= cp34gg/ypf*ztcfr / O cp4ggr= -cp34gg/ypfb*ztcfrr- O cp3ggi= cp34gg/ypf*ztcfi / O cp4ggi= -cp34gg/ypfb*ztcfi  O * * O p3aggr= cp3ggr*p3abrc, O p3aggre= -cp3ggi*p3abic+ O p3aggie= cp3ggr*p3abice* O p3aggi= cp3ggi*p3abrc O *3$ O p3bggr= -p3aggr% O p3bggre= p3aggre % O p3bggie= p3aggie $ O p3bggi= -p3aggi O * * O p3cggr= cp3ggr*p3cdrc, O p3cggre= -cp3ggi*p3cdic+ O p3cggie= cp3ggr*p3cdic * O p3cggi= cp3ggi*p3cdrc O * $ O p3dggr= -p3cggr% O p3dggre= p3cggre)% O p3dggie= p3cggie $ O p3dggi= -p3cggi O *z* O p3eggr= cp3ggr*p3efrc, O p3eggre= -cp3ggi*p3efic+ O p3eggie= cp3ggr*p3eficp* O p3eggi= cp3ggi*p3efrc O *e$ O p3fggr= -p3eggr% O p3fggre= p3eggre % O p3fggie= p3eggie $ O p3fggi= -p3eggi O *c* O p3gggr= cp3ggr*p3ghrc, O p3gggre= -cp3ggi*p3ghic+ O p3gggie= cp3ggr*p3ghic2* O p3gggi= cp3ggi*p3ghrc O *h$ O p3hggr= -p3gggr% O p3hggre= p3gggre=% O p3hggie= p3gggie $ O p3hggi= -p3gggi O * * O p4aggr= cp4ggr*p4abrc, O p4aggre= -cp4ggi*p4abic+ O p4aggie= cp4ggr*p4abic * O p4aggi= cp4ggi*p4abrc O *o$ O p4bggr= -p4aggr% O p4bggre= p4aggre % O p4bggie= p4aggie $ O p4bggi= -p4aggi O * * O p4cggr= cp4ggr*p4cdrc, O p4cggre= -cp4ggi*p4cdic+ O p4cggie= cp4ggr*p4cdicf* O p4cggi= cp4ggi*p4cdrc O *f$ O p4dggr= -p4cggr% O p4dggre= p4cggre % O p4dggie= p4cggie $ O p4dggi= -p4cggi O *c* O p4eggr= cp4ggr*p4efrc, O p4eggre= -cp4ggi*p4efic+ O p4eggie= cp4ggr*p4efic * O p4eggi= cp4ggi*p4efrc O * $ O p4fggr= -p4eggr% O p4fggre= p4eggre)% O p4fggie= p4eggie=$ O p4fggi= -p4eggi O *z* O p4gggr= cp4ggr*p4ghrc, O p4gggre= -cp4ggi*p4ghic+ O p4gggie= cp4ggr*p4ghic * O p4gggi= cp4ggi*p4ghrc O *r$ O p4hggr= -p4gggr% O p4hggre= p4gggre % O p4hggie= p4gggie $ O p4hggi= -p4gggi O *= O *-----All PP3 gamma-Za O *z. O cp3gz= conc(2)/ypf*corrgs O *f O do i=1,4 # O ip16= i+16 O 6 O hlr(i)= hch(ip16)*cp3gz*zmcfr6 O hli(i)= hch(ip16)*cp3gz*zmcfi O enddo O *=* O p3agzr= hlr(3)*p3abrc, O p3agzre= -hli(3)*p3abic+ O p3agzie= hlr(3)*p3abic * O p3agzi= hli(3)*p3abrc O * + O p3bgzr= -hlr(4)*p3abrc , O p3bgzre= -hli(4)*p3abic+ O p3bgzie= hlr(4)*p3abicz+ O p3bgzi= -hli(4)*p3abrcg O *r* O p3cgzr= hlr(4)*p3cdrc, O p3cgzre= -hli(4)*p3cdic+ O p3cgzie= hlr(4)*p3cdic * O p3cgzi= hli(4)*p3cdrc O * + O p3dgzr= -hlr(3)*p3cdrc , O p3dgzre= -hli(3)*p3cdic+ O p3dgzie= hlr(3)*p3cdic + O p3dgzi= -hli(3)*p3cdrcz O *** O p3egzr= hlr(2)*p3efrc, O p3egzre= -hli(2)*p3efic+ O p3egzie= hlr(2)*p3efic * O p3egzi= hli(2)*p3efrc O * + O p3fgzr= -hlr(1)*p3efrc , O p3fgzre= -hli(1)*p3efic+ O p3fgzie= hlr(1)*p3efic + O p3fgzi= -hli(1)*p3efrc  O * * O p3ggzr= hlr(1)*p3ghrc, O p3ggzre= -hli(1)*p3ghic+ O p3ggzie= hlr(1)*p3ghicg* O p3ggzi= hli(1)*p3ghrc O * + O p3hgzr= -hlr(2)*p3ghrc , O p3hgzre= -hli(2)*p3ghic+ O p3hgzie= hlr(2)*p3ghic + O p3hgzi= -hli(2)*p3ghrc  O *  O *-----All PP4 gamma-Zz O *10 O cp4gz= -conc(2)/ypfb*corrgs O *z O do i=1,4 # O ip16= i+16i6 O hmr(i)= hch(ip16)*cp4gz*zmcfr6 O hmi(i)= hch(ip16)*cp4gz*zmcfi O enddo O *f* O p4agzr= hmr(3)*p4abrc, O p4agzre= -hmi(3)*p4abic+ O p4agzie= hmr(3)*p4abica* O p4agzi= hmi(3)*p4abrc O *p+ O p4bgzr= -hmr(4)*p4abrc , O p4bgzre= -hmi(4)*p4abic+ O p4bgzie= hmr(4)*p4abic1+ O p4bgzi= -hmi(4)*p4abrc  O * * O p4cgzr= hmr(4)*p4cdrc, O p4cgzre= -hmi(4)*p4cdic+ O p4cgzie= hmr(4)*p4cdic * O p4cgzi= hmi(4)*p4cdrc O * + O p4dgzr= -hmr(3)*p4cdrc , O p4dgzre= -hmi(3)*p4cdic+ O p4dgzie= hmr(3)*p4cdic(+ O p4dgzi= -hmi(3)*p4cdrcg O *)* O p4egzr= hmr(2)*p4efrc, O p4egzre= -hmi(2)*p4efic+ O p4egzie= hmr(2)*p4eficz* O p4egzi= hmi(2)*p4efrc O *g+ O p4fgzr= -hmr(1)*p4efrc , O p4fgzre= -hmi(1)*p4efic+ O p4fgzie= hmr(1)*p4eficr+ O p4fgzi= -hmi(1)*p4efrcr O *** O p4ggzr= hmr(1)*p4ghrc, O p4ggzre= -hmi(1)*p4ghic+ O p4ggzie= hmr(1)*p4ghici* O p4ggzi= hmi(1)*p4ghrc O *r+ O p4hgzr= -hmr(2)*p4ghrcg, O p4hgzre= -hmi(2)*p4ghic+ O p4hgzie= hmr(2)*p4ghic + O p4hgzi= -hmi(2)*p4ghrcr O *s O *-----All PP3 Z-gamma  O * 3 O cp3zg= -conc(4)/ysp/ypf*corrgur O *- O do i=1,4 3 O hnr(i)= hch(i)*cp3zg*ztcfr23 O hni(i)= hch(i)*cp3zg*ztcfi2 O enddo O * + O ap3azgr= hnr(1)*p3abrci- O ap3azgre= -hni(1)*p3abica, O ap3azgie= hnr(1)*p3abic+ O ap3azgi= hni(1)*p3abrc 5 O p3azgr= ap3azgr*rsz-ap3azgi*aiszr8 O p3azgre= ap3azgre*rsz-ap3azgie*aisz8 O p3azgie= ap3azgie*rsz+ap3azgre*aisz5 O p3azgi= ap3azgi*rsz+ap3azgr*aisz  O * , O ap3bzgr= -hnr(2)*p3abrc- O ap3bzgre= -hni(2)*p3abica, O ap3bzgie= hnr(2)*p3abic, O ap3bzgi= -hni(2)*p3abrc5 O p3bzgr= ap3bzgr*rsz-ap3bzgi*aiszr8 O p3bzgre= ap3bzgre*rsz-ap3bzgie*aisz8 O p3bzgie= ap3bzgie*rsz+ap3bzgre*aisz5 O p3bzgi= ap3bzgi*rsz+ap3bzgr*aisz  O * + O ap3czgr= hnr(3)*p3cdrci- O ap3czgre= -hni(3)*p3cdica, O ap3czgie= hnr(3)*p3cdic+ O ap3czgi= hni(3)*p3cdrc 5 O p3czgr= ap3czgr*rsz-ap3czgi*aiszr8 O p3czgre= ap3czgre*rsz-ap3czgie*aisz8 O p3czgie= ap3czgie*rsz+ap3czgre*aisz5 O p3czgi= ap3czgi*rsz+ap3czgr*aisz  O * , O ap3dzgr= -hnr(4)*p3cdrc- O ap3dzgre= -hni(4)*p3cdica, O ap3dzgie= hnr(4)*p3cdic, O ap3dzgi= -hni(4)*p3cdrc5 O p3dzgr= ap3dzgr*rsz-ap3dzgi*aiszr8 O p3dzgre= ap3dzgre*rsz-ap3dzgie*aisz8 O p3dzgie= ap3dzgie*rsz+ap3dzgre*aisz5 O p3dzgi= ap3dzgi*rsz+ap3dzgr*aisz  O * + O ap3ezgr= hnr(1)*p3efrci- O ap3ezgre= -hni(1)*p3efica, O ap3ezgie= hnr(1)*p3efic+ O ap3ezgi= hni(1)*p3efrc 5 O p3ezgr= ap3ezgr*rsz-ap3ezgi*aiszr8 O p3ezgre= ap3ezgre*rsz-ap3ezgie*aisz8 O p3ezgie= ap3ezgie*rsz+ap3ezgre*aisz5 O p3ezgi= ap3ezgi*rsz+ap3ezgr*aisz  O * , O ap3fzgr= -hnr(2)*p3efrc- O ap3fzgre= -hni(2)*p3efica, O ap3fzgie= hnr(2)*p3efic, O ap3fzgi= -hni(2)*p3efrc5 O p3fzgr= ap3fzgr*rsz-ap3fzgi*aisz 8 O p3fzgre= ap3fzgre*rsz-ap3fzgie*aisz8 O p3fzgie= ap3fzgie*rsz+ap3fzgre*aisz5 O p3fzgi= ap3fzgi*rsz+ap3fzgr*aiszz O *c+ O ap3gzgr= hnr(3)*p3ghrc - O ap3gzgre= -hni(3)*p3ghic , O ap3gzgie= hnr(3)*p3ghic+ O ap3gzgi= hni(3)*p3ghrc 5 O p3gzgr= ap3gzgr*rsz-ap3gzgi*aisz 8 O p3gzgre= ap3gzgre*rsz-ap3gzgie*aisz8 O p3gzgie= ap3gzgie*rsz+ap3gzgre*aisz5 O p3gzgi= ap3gzgi*rsz+ap3gzgr*aisz  O *a, O ap3hzgr= -hnr(4)*p3ghrc- O ap3hzgre= -hni(4)*p3ghic , O ap3hzgie= hnr(4)*p3ghic, O ap3hzgi= -hni(4)*p3ghrc5 O p3hzgr= ap3hzgr*rsz-ap3hzgi*aisz 8 O p3hzgre= ap3hzgre*rsz-ap3hzgie*aisz8 O p3hzgie= ap3hzgie*rsz+ap3hzgre*aisz5 O p3hzgi= ap3hzgi*rsz+ap3hzgr*aisz  O *b O *-----All PP4 Z-gammar O *s3 O cp4zg= conc(4)/ysp/ypfb*corrgu O  O *  O do i=1,4(3 O hor(i)= hch(i)*cp4zg*ztcfrd3 O hoi(i)= hch(i)*cp4zg*ztcfi  O enddo O *r+ O ap4azgr= hor(1)*p4abrcz- O ap4azgre= -hoi(1)*p4abic , O ap4azgie= hor(1)*p4abic+ O ap4azgi= hoi(1)*p4abrca5 O p4azgr= ap4azgr*rsz-ap4azgi*aisz O 8 O p4azgre= ap4azgre*rsz-ap4azgie*aisz8 O p4azgie= ap4azgie*rsz+ap4azgre*aisz5 O p4azgi= ap4azgi*rsz+ap4azgr*aisz1 O *r, O ap4bzgr= -hor(2)*p4abrc- O ap4bzgre= -hoi(2)*p4abic , O ap4bzgie= hor(2)*p4abic, O ap4bzgi= -hoi(2)*p4abrc5 O p4bzgr= ap4bzgr*rsz-ap4bzgi*aisz O 8 O p4bzgre= ap4bzgre*rsz-ap4bzgie*aisz8 O p4bzgie= ap4bzgie*rsz+ap4bzgre*aisz5 O p4bzgi= ap4bzgi*rsz+ap4bzgr*aisz1 O *r+ O ap4czgr= hor(3)*p4cdrcz- O ap4czgre= -hoi(3)*p4cdic , O ap4czgie= hor(3)*p4cdic+ O ap4czgi= hoi(3)*p4cdrca5 O p4czgr= ap4czgr*rsz-ap4czgi*aisz O 8 O p4czgre= ap4czgre*rsz-ap4czgie*aisz8 O p4czgie= ap4czgie*rsz+ap4czgre*aisz5 O p4czgi= ap4czgi*rsz+ap4czgr*aisz1 O *r, O ap4dzgr= -hor(4)*p4cdrc- O ap4dzgre= -hoi(4)*p4cdic , O ap4dzgie= hor(4)*p4cdic, O ap4dzgi= -hoi(4)*p4cdrc5 O p4dzgr= ap4dzgr*rsz-ap4dzgi*aisz O 8 O p4dzgre= ap4dzgre*rsz-ap4dzgie*aisz8 O p4dzgie= ap4dzgie*rsz+ap4dzgre*aisz5 O p4dzgi= ap4dzgi*rsz+ap4dzgr*aisz1 O *r+ O ap4ezgr= hor(1)*p4efrcz- O ap4ezgre= -hoi(1)*p4efic , O ap4ezgie= hor(1)*p4efic+ O ap4ezgi= hoi(1)*p4efrca5 O p4ezgr= ap4ezgr*rsz-ap4ezgi*aisz O 8 O p4ezgre= ap4ezgre*rsz-ap4ezgie*aisz8 O p4ezgie= ap4ezgie*rsz+ap4ezgre*aisz5 O p4ezgi= ap4ezgi*rsz+ap4ezgr*aisz1 O *r, O ap4fzgr= -hor(2)*p4efrc- O ap4fzgre= -hoi(2)*p4efic , O ap4fzgie= hor(2)*p4efic, O ap4fzgi= -hoi(2)*p4efrc5 O p4fzgr= ap4fzgr*rsz-ap4fzgi*aiszc8 O p4fzgre= ap4fzgre*rsz-ap4fzgie*aisz8 O p4fzgie= ap4fzgie*rsz+ap4fzgre*aisz5 O p4fzgi= ap4fzgi*rsz+ap4fzgr*aisz  O * + O ap4gzgr= hor(3)*p4ghrc - O ap4gzgre= -hoi(3)*p4ghic , O ap4gzgie= hor(3)*p4ghic+ O ap4gzgi= hoi(3)*p4ghrci5 O p4gzgr= ap4gzgr*rsz-ap4gzgi*aiszp8 O p4gzgre= ap4gzgre*rsz-ap4gzgie*aisz8 O p4gzgie= ap4gzgie*rsz+ap4gzgre*aisz5 O p4gzgi= ap4gzgi*rsz+ap4gzgr*aiszr O *i, O ap4hzgr= -hor(4)*p4ghrc- O ap4hzgre= -hoi(4)*p4ghic , O ap4hzgie= hor(4)*p4ghic, O ap4hzgi= -hoi(4)*p4ghrc5 O p4hzgr= ap4hzgr*rsz-ap4hzgi*aisz*8 O p4hzgre= ap4hzgre*rsz-ap4hzgie*aisz8 O p4hzgie= ap4hzgie*rsz+ap4hzgre*aisz5 O p4hzgi= ap4hzgi*rsz+ap4hzgr*aiszr O *i O *-----All PP3 Z-Z  O * ( O cp3zz= -conc(5)/ypf O *  O do i=1,8p# O ip28= i+28=6 O hpr(i)= hch(ip28)*cp3zz*zmcfr6 O hpi(i)= hch(ip28)*cp3zz*zmcfi O enddo O *z+ O ap3azzr= hpr(3)*p3abrcc- O ap3azzre= -hpi(3)*p3abic , O ap3azzie= hpr(3)*p3abic+ O ap3azzi= hpi(3)*p3abrcr5 O p3azzr= ap3azzr*rsz-ap3azzi*aiszc8 O p3azzre= ap3azzre*rsz-ap3azzie*aisz8 O p3azzie= ap3azzie*rsz+ap3azzre*aisz5 O p3azzi= ap3azzi*rsz+ap3azzr*aisza O *z, O ap3bzzr= -hpr(4)*p3abrc- O ap3bzzre= -hpi(4)*p3abic , O ap3bzzie= hpr(4)*p3abic, O ap3bzzi= -hpi(4)*p3abrc5 O p3bzzr= ap3bzzr*rsz-ap3bzzi*aisz18 O p3bzzre= ap3bzzre*rsz-ap3bzzie*aisz8 O p3bzzie= ap3bzzie*rsz+ap3bzzre*aisz5 O p3bzzi= ap3bzzi*rsz+ap3bzzr*aisza O *z+ O ap3czzr= hpr(5)*p3cdrce- O ap3czzre= -hpi(5)*p3cdic , O ap3czzie= hpr(5)*p3cdic+ O ap3czzi= hpi(5)*p3cdrcr5 O p3czzr= ap3czzr*rsz-ap3czzi*aiszc8 O p3czzre= ap3czzre*rsz-ap3czzie*aisz8 O p3czzie= ap3czzie*rsz+ap3czzre*aisz5 O p3czzi= ap3czzi*rsz+ap3czzr*aisza O *z, O ap3dzzr= -hpr(6)*p3cdrc- O ap3dzzre= -hpi(6)*p3cdic , O ap3dzzie= hpr(6)*p3cdic, O ap3dzzi= -hpi(6)*p3cdrc5 O p3dzzr= ap3dzzr*rsz-ap3dzzi*aiszc8 O p3dzzre= ap3dzzre*rsz-ap3dzzie*aisz8 O p3dzzie= ap3dzzie*rsz+ap3dzzre*aisz5 O p3dzzi= ap3dzzi*rsz+ap3dzzr*aisza O *z+ O ap3ezzr= hpr(7)*p3efrcg- O ap3ezzre= -hpi(7)*p3efic , O ap3ezzie= hpr(7)*p3efic+ O ap3ezzi= hpi(7)*p3efrcr5 O p3ezzr= ap3ezzr*rsz-ap3ezzi*aiszc8 O p3ezzre= ap3ezzre*rsz-ap3ezzie*aisz8 O p3ezzie= ap3ezzie*rsz+ap3ezzre*aisz5 O p3ezzi= ap3ezzi*rsz+ap3ezzr*aisza O *z, O ap3fzzr= -hpr(8)*p3efrc- O ap3fzzre= -hpi(8)*p3efic , O ap3fzzie= hpr(8)*p3efic, O ap3fzzi= -hpi(8)*p3efrc5 O p3fzzr= ap3fzzr*rsz-ap3fzzi*aisz 8 O p3fzzre= ap3fzzre*rsz-ap3fzzie*aisz8 O p3fzzie= ap3fzzie*rsz+ap3fzzre*aisz5 O p3fzzi= ap3fzzi*rsz+ap3fzzr*aiszg O *c+ O ap3gzzr= hpr(1)*p3ghrc=- O ap3gzzre= -hpi(1)*p3ghicp, O ap3gzzie= hpr(1)*p3ghic+ O ap3gzzi= hpi(1)*p3ghrca5 O p3gzzr= ap3gzzr*rsz-ap3gzzi*aiszg8 O p3gzzre= ap3gzzre*rsz-ap3gzzie*aisz8 O p3gzzie= ap3gzzie*rsz+ap3gzzre*aisz5 O p3gzzi= ap3gzzi*rsz+ap3gzzr*aisz  O * , O ap3hzzr= -hpr(2)*p3ghrc- O ap3hzzre= -hpi(2)*p3ghic , O ap3hzzie= hpr(2)*p3ghic, O ap3hzzi= -hpi(2)*p3ghrc5 O p3hzzr= ap3hzzr*rsz-ap3hzzi*aiszp8 O p3hzzre= ap3hzzre*rsz-ap3hzzie*aisz8 O p3hzzie= ap3hzzie*rsz+ap3hzzre*aisz5 O p3hzzi= ap3hzzi*rsz+ap3hzzr*aisze O *c O *-----All PP4 Z-Z  O * ( O cp4zz= conc(5)/ypfb O *  O do i=1,8c# O ip28= i+2836 O hqr(i)= hch(ip28)*cp4zz*zmcfr6 O hqi(i)= hch(ip28)*cp4zz*zmcfi O enddo O * + O ap4azzr= hqr(3)*p4abrc - O ap4azzre= -hqi(3)*p4abic , O ap4azzie= hqr(3)*p4abic+ O ap4azzi= hqi(3)*p4abrc 5 O p4azzr= ap4azzr*rsz-ap4azzi*aiszr8 O p4azzre= ap4azzre*rsz-ap4azzie*aisz8 O p4azzie= ap4azzie*rsz+ap4azzre*aisz5 O p4azzi= ap4azzi*rsz+ap4azzr*aiszb O * O , O ap4bzzr= -hqr(4)*p4abrc- O ap4bzzre= -hqi(4)*p4abic O , O ap4bzzie= hqr(4)*p4abic, O ap4bzzi= -hqi(4)*p4abrc5 O p4bzzr= ap4bzzr*rsz-ap4bzzi*aisz-8 O p4bzzre= ap4bzzre*rsz-ap4bzzie*aisz8 O p4bzzie= ap4bzzie*rsz+ap4bzzre*aisz5 O p4bzzi= ap4bzzi*rsz+ap4bzzr*aiszc O *=+ O ap4czzr= hqr(5)*p4cdrcg- O ap4czzre= -hqi(5)*p4cdicr, O ap4czzie= hqr(5)*p4cdic+ O ap4czzi= hqi(5)*p4cdrc 5 O p4czzr= ap4czzr*rsz-ap4czzi*aisz 8 O p4czzre= ap4czzre*rsz-ap4czzie*aisz8 O p4czzie= ap4czzie*rsz+ap4czzre*aisz5 O p4czzi= ap4czzi*rsz+ap4czzr*aisz  O * , O ap4dzzr= -hqr(6)*p4cdrc- O ap4dzzre= -hqi(6)*p4cdic-, O ap4dzzie= hqr(6)*p4cdic, O ap4dzzi= -hqi(6)*p4cdrc5 O p4dzzr= ap4dzzr*rsz-ap4dzzi*aisz O 8 O p4dzzre= ap4dzzre*rsz-ap4dzzie*aisz8 O p4dzzie= ap4dzzie*rsz+ap4dzzre*aisz5 O p4dzzi= ap4dzzi*rsz+ap4dzzr*aisz  O * + O ap4ezzr= hqr(7)*p4efrc - O ap4ezzre= -hqi(7)*p4efic2, O ap4ezzie= hqr(7)*p4efic+ O ap4ezzi= hqi(7)*p4efrc 5 O p4ezzr= ap4ezzr*rsz-ap4ezzi*aisz 8 O p4ezzre= ap4ezzre*rsz-ap4ezzie*aisz8 O p4ezzie= ap4ezzie*rsz+ap4ezzre*aisz5 O p4ezzi= ap4ezzi*rsz+ap4ezzr*aiszc O * , O ap4fzzr= -hqr(8)*p4efrc- O ap4fzzre= -hqi(8)*p4efic , O ap4fzzie= hqr(8)*p4efic, O ap4fzzi= -hqi(8)*p4efrc5 O p4fzzr= ap4fzzr*rsz-ap4fzzi*aisz 8 O p4fzzre= ap4fzzre*rsz-ap4fzzie*aisz8 O p4fzzie= ap4fzzie*rsz+ap4fzzre*aisz5 O p4fzzi= ap4fz *rsz+ap4fzzr*aisz  O * + O ap4gzzr= hqr(1)*p4ghrc O - O ap4gzzre= -hqi(1)*p4ghic , O ap4gzzie= hqr(1)*p4ghic+ O ap4gzzi= hqi(1)*p4ghrc 5 O p4gzzr= ap4gzzr*rsz-ap4gzzi*aisz 8 O p4gzzre= ap4gzzre*rsz-ap4gzzie*aisz8 O p4gzzie= ap4gzzie*rsz+ap4gzzre*aisz5 O p4gzzi= ap4gzzi*rsz+ap4gzzr*aisz O  O * O , O ap4hzzr= -hqr(2)*p4ghrc- O ap4hzzre= -hqi(2)*p4ghic , O ap4hzzie= hqr(2)*p4ghic, O ap4hzzi= -hqi(2)*p4ghrc5 O p4hzzr= ap4hzzr*rsz-ap4hzzi*aisz 8 O p4hzzre= ap4hzzre*rsz-ap4hzzie*aisz8 O p4hzzie= ap4hzzie*rsz+ap4hzzre*aisz5 O p4hzzi= ap4hzzi*rsz+ap4hzzr*aiszr O * O 7 O if(oqcd.eq.'y'.and.iqcd.eq.0) then - O darndr= c1azzr+c2azzr 0 O daiendr= c1azzie+c2azzie O endif8 O darn= (c1aggr+c1agzr+c1azgr+c1azzr+8 O # c2aggr+c2agzr+c2azgr+c2azzr+8 O # p1aggr+p1agzr+p1azgr+p1azzr+8 O # p2aggr+p2agzr+p2azgr+p2azzr+8 O # p3aggr+p3agzr+p3azgr+p3azzr+8 O # p4aggr+p4agzr+p4azgr+p4azzr)5 O daren= (c1aggre+c1agzre+c1azgre+ 5 O # c2aggre+c2agzre+c2azgre+p= O # p1aggre+p1agzre+p1azgre+p1azzre+4= O # p2aggre+p2agzre+p2azgre+p2azzre+ = O # p3aggre+p3agzre+p3azgre+p3azzre+z= O # p4aggre+p4agzre+p4azgre+p4azzre) O 1 O dain= (c1aggi+c1agzi+c1azgi+ 1 O # c2aggi+c2agzi+c2azgi+ 8 O # p1aggi+p1agzi+p1azgi+p1azzi+8 O # p2aggi+p2agzi+p2azgi+p2azzi+8 O # p3aggi+p3agzi+p3azgi+p3azzi+8 O # p4aggi+p4agzi+p4azgi+p4azzi)= O daien= (c1aggie+c1agzie+c1azgie+c1azzie+e= O # c2aggie+c2agzie+c2azgie+c2azzie+g= O # p1aggie+p1agzie+p1azgie+p1azzie+ = O # p2aggie+p2agzie+p2azgie+p2azzie+(= O # p3aggie+p3agzie+p3azgie+p3azzie+a= O # p4aggie+p4agzie+p4azgie+p4azzie)z O *37 O if(oqcd.eq.'y'.and.iqcd.eq.0) thenb- O dbrndr= c1bzzr+c2bzzri0 O dbiendr= c1bzzie+c2bzzie O endif8 O dbrn= (c1bggr+c1bgzr+c1bzgr+c1bzzr+8 O # c2bggr+c2bgzr+c2bzgr+c2bzzr+8 O # p1bggr+p1bgzr+p1bzgr+p1bzzr+8 O # p2bggr+p2bgzr+p2bzgr+p2bzzr+8 O # p3bggr+p3bgzr+p3bzgr+p3bzzr+8 O # p4bggr+p4bgzr+p4bzgr+p4bzzr)5 O dbren= (c1bggre+c1bgzre+c1bzgre+ 5 O # c2bggre+c2bgzre+c2bzgre+c= O # p1bggre+p1bgzre+p1bzgre+p1bzzre+p= O # p2bggre+p2bgzre+p2bzgre+p2bzzre+e= O # p3bggre+p3bgzre+p3bzgre+p3bzzre+3= O # p4bggre+p4bgzre+p4bzgre+p4bzzre) 1 O dbin= (c1bggi+c1bgzi+c1bzgi+ 1 O # c2bggi+c2bgzi+c2bzgi+ 8 O # p1bggi+p1bgzi+p1bzgi+p1bzzi+8 O # p2bggi+p2bgzi+p2bzgi+p2bzzi+8 O # p3bggi+p3bgzi+p3bzgi+p3bzzi+8 O # p4bggi+p4bgzi+p4bzgi+p4bzzi)= O dbien= (c1bggie+c1bgzie+c1bzgie+c1bzzie+ = O # c2bggie+c2bgzie+c2bzgie+c2bzzie+ O = O # p1bggie+p1bgzie+p1bzgie+p1bzzie+ = O # p2bggie+p2bgzie+p2bzgie+p2bzzie+r= O # p3bggie+p3bgzie+p3bzgie+p3bzzie+a= O # p4bggie+p4bgzie+p4bzgie+p4bzzie)r O *i7 O if(oqcd.eq.'y'.and.iqcd.eq.0) thena- O dcrndr= c1czzr+c2czzrf0 O dciendr= c1czzie+c2czzie O endif8 O dcrn= (c1cggr+c1cgzr+c1czgr+c1czzr+8 O # c2cggr+c2cgzr+c2czgr+c2czzr+8 O # p1cggr+p1cgzr+p1czgr+p1czzr+8 O # p2cggr+p2cgzr+p2czgr+p2czzr+8 O # p3cggr+p3cgzr+p3czgr+p3czzr+8 O # p4cggr+p4cgzr+p4czgr+p4czzr)5 O dcren= (c1cggre+c1cgzre+c1czgre+ 5 O # c2cggre+c2cgzre+c2czgre+a= O # p1cggre+p1cgzre+p1czgre+p1czzre+z= O # p2cggre+p2cgzre+p2czgre+p2czzre+z= O # p3cggre+p3cgzre+p3czgre+p3czzre+i= O # p4cggre+p4cgzre+p4czgre+p4czzre) O 1 O dcin= (c1cggi+c1cgzi+c1czgi+ 1 O # c2cggi+c2cgzi+c2czgi+ 8 O # p1cggi+p1cgzi+p1czgi+p1czzi+8 O # p2cggi+p2cgzi+p2czgi+p2czzi+8 O # p3cggi+p3cgzi+p3czgi+p3czzi+8 O # p4cggi+p4cgzi+p4czgi+p4czzi)= O dcien= (c1cggie+c1cgzie+c1czgie+c1czzie+a= O # c2cggie+c2cgzie+c2czgie+c2czzie+c= O # p1cggie+p1cgzie+p1czgie+p1czzie+ = O # p2cggie+p2cgzie+p2czgie+p2czzie+h= O # p3cggie+p3cgzie+p3czgie+p3czzie+)= O # p4cggie+p4cgzie+p4czgie+p4czzie)  O *a7 O if(oqcd.eq.'y'.and.iqcd.eq.0) thenq- O derndr= c1ezzr+c2ezzrr0 O deiendr= c1ezzie+c2ezzie O endif8 O dern= (c1eggr+c1egzr+c1ezgr+c1ezzr+8 O # c2eggr+c2egzr+c2ezgr+c2ezzr+8 O # p1eggr+p1egzr+p1ezgr+p1ezzr+8 O # p2eggr+p2egzr+p2ezgr+p2ezzr+8 O # p3eggr+p3egzr+p3ezgr+p3ezzr+8 O # p4eggr+p4egzr+p4ezgr+p4ezzr)5 O deren= (c1eggre+c1egzre+c1ezgre+ 5 O # c2eggre+c2egzre+c2ezgre+ = O # p1eggre+p1egzre+p1ezgre+p1ezzre+ = O # p2eggre+p2egzre+p2ezgre+p2ezzre+ = O # p3eggre+p3egzre+p3ezgre+p3ezzre+a= O # p4eggre+p4egzre+p4ezgre+p4ezzre)p1 O dein= (c1eggi+c1egzi+c1ezgi+c1 O # c2eggi+c2egzi+c2ezgi+ 8 O # p1eggi+p1egzi+p1ezgi+p1ezzi+8 O # p2eggi+p2egzi+p2ezgi+p2ezzi+8 O # p3eggi+p3egzi+p3ezgi+p3ezzi+8 O # p4eggi+p4egzi+p4ezgi+p4ezzi)= O deien= (c1eggie+c1egzie+c1ezgie+c1ezzie+a= O # c2eggie+c2egzie+c2ezgie+c2ezzie+*= O # p1eggie+p1egzie+p1ezgie+p1ezzie+ = O # p2eggie+p2egzie+p2ezgie+p2ezzie+ = O # p3eggie+p3egzie+p3ezgie+p3ezzie+d= O # p4eggie+p4egzie+p4ezgie+p4ezzie)a O *z7 O if(oqcd.eq.'y'.and.iqcd.eq.0) thenq- O dgrndr= c1gzzr+c2gzzrq0 O dgiendr= c1gzzie+c2gzzie O endif8 O dgrn= (c1gggr+c1ggzr+c1gzgr+c1gzzr+8 O # c2gggr+c2ggzr+c2gzgr+c2gzzr+8 O # p1gggr+p1ggzr+p1gzgr+p1gzzr+8 O # p2gggr+p2ggzr+p2gzgr+p2gzzr+8 O # p3gggr+p3ggzr+p3gzgr+p3gzzr+8 O # p4gggr+p4ggzr+p4gzgr+p4gzzr)5 O dgren= (c1gggre+c1ggzre+c1gzgre+ 5 O # c2gggre+c2ggzre+c2gzgre+ = O # p1gggre+p1ggzre+p1gzgre+p1gzzre+p= O # p2gggre+p2ggzre+p2gzgre+p2gzzre+e= O # p3gggre+p3ggzre+p3gzgre+p3gzzre+z= O # p4gggre+p4ggzre+p4gzgre+p4gzzre)p1 O dgin= (c1gggi+c1ggzi+c1gzgi+i1 O # c2gggi+c2ggzi+c2gzgi+ 8 O # p1gggi+p1ggzi+p1gzgi+p1gzzi+8 O # p2gggi+p2ggzi+p2gzgi+p2gzzi+8 O # p3gggi+p3ggzi+p3gzgi+p3gzzi+8 O # p4gggi+p4ggzi+p4gzgi+p4gzzi)= O dgien= (c1gggie+c1ggzie+c1gzgie+c1gzzie+ = O # c2gggie+c2ggzie+c2gzgie+c2gzzie+)= O # p1gggie+p1ggzie+p1gzgie+p1gzzie+ = O # p2gggie+p2ggzie+p2gzgie+p2gzzie+z= O # p3gggie+p3ggzie+p3gzgie+p3gzzie+h= O # p4gggie+p4ggzie+p4gzgie+p4gzzie)r O *a7 O if(oqcd.eq.'y'.and.iqcd.eq.0) then4- O dhrndr= c1hzzr+c2hzzr.0 O dhiendr= c1hzzie+c2hzzie O endif8 O dhrn= (c1hggr+c1hgzr+c1hzgr+c1hzzr+8 O # c2hggr+c2hgzr+c2hzgr+c2hzzr+8 O # p1hggr+p1hgzr+p1hzgr+p1hzzr+8 O # p2hggr+p2hgzr+p2hzgr+p2hzzr+8 O # p3hggr+p3hgzr+p3hzgr+p3hzzr+8 O # p4hggr+p4hgzr+p4hzgr+p4hzzr)5 O dhren= (c1hggre+c1hgzre+c1hzgre+z5 O # c2hggre+c2hgzre+c2hzgre+c= O # p1hggre+p1hgzre+p1hzgre+p1hzzre+c= O # p2hggre+p2hgzre+p2hzgre+p2hzzre+p= O # p3hggre+p3hgzre+p3hzgre+p3hzzre+p= O # p4hggre+p4hgzre+p4hzgre+p4hzzre)p1 O dhin= (c1hggi+c1hgzi+c1hzgi+z1 O # c2hggi+c2hgzi+c2hzgi+18 O # p1hggi+p1hgzi+p1hzgi+p1hzzi+8 O # p2hggi+p2hgzi+p2hzgi+p2hzzi+8 O # p3hggi+p3hgzi+p3hzgi+p3hzzi+8 O # p4hggi+p4hgzi+p4hzgi+p4hzzi)= O dhien= (c1hggie+c1hgzie+c1hzgie+c1hzzie+i= O # c2hggie+c2hgzie+c2hzgie+c2hzzie+c= O # p1hggie+p1hgzie+p1hzgie+p1hzzie+c= O # p2hggie+p2hgzie+p2hzgie+p2hzzie+p= O # p3hggie+p3hgzie+p3hzgie+p3hzzie+p= O # p4hggie+p4hgzie+p4hzgie+p4hzzie)r O **7 O if(oqcd.eq.'y'.and.iqcd.eq.0) then - O ddrndr= c1dzzr+c2dzzr 0 O ddiendr= c1dzzie+c2dzzie O endif8 O ddrn= (c1dggr+c1dgzr+c1dzgr+c1dzzr+8 O # c2dggr+c2dgzr+c2dzgr+c2dzzr+8 O # p1dggr+p1dgzr+p1dzgr+p1dzzr+8 O # p2dggr+p2dgzr+p2dzgr+p2dzzr+8 O # p3dggr+p3dgzr+p3dzgr+p3dzzr+8 O # p4dggr+p4dgzr+p4dzgr+p4dzzr)5 O ddren= (c1dggre+c1dgzre+c1dzgre+p5 O # c2dggre+c2dgzre+c2dzgre+ = O # p1dggre+p1dgzre+p1dzgre+p1dzzre+== O # p2dggre+p2dgzre+p2dzgre+p2dzzre+ O = O # p3dggre+p3dgzre+p3dzgre+p3dzzre+ = O # p4dggre+p4dgzre+p4dzgre+p4dzzre)g1 O ddin= (c1dggi+c1dgzi+c1dzgi+ 1 O # c2dggi+c2dgzi+c2dzgi+ 8 O # p1dggi+p1dgzi+p1dzgi+p1dzzi+8 O # p2dggi+p2dgzi+p2dzgi+p2dzzi+8 O # p3dggi+p3dgzi+p3dzgi+p3dzzi+8 O # p4dggi+p4dgzi+p4dzgi+p4dzzi)= O ddien= (c1dggie+c1dgzie+c1dzgie+c1dzzie+ = O # c2dggie+c2dgzie+c2dzgie+c2dzzie+ = O # p1dggie+p1dgzie+p1dzgie+p1dzzie+ = O # p2dggie+p2dgzie+p2dzgie+p2dzzie+3= O # p3dggie+p3dgzie+p3dzgie+p3dzzie+c= O # p4dggie+p4dgzie+p4dzgie+p4dzzie)  O * 7 O if(oqcd.eq.'y'.and.iqcd.eq.0) then=- O dfrndr= c1fzzr+c2fzzr 0 O dfiendr= c1fzzie+c2fzzie O endif8 O dfrn= (c1fggr+c1fgzr+c1fzgr+c1fzzr+8 O # c2fggr+c2fgzr+c2fzgr+c2fzzr+8 O # p1fggr+p1fgzr+p1fzgr+p1fzzr+8 O # p2fggr+p2fgzr+p2fzgr+p2fzzr+8 O # p3fggr+p3fgzr+p3fzgr+p3fzzr+8 O # p4fggr+p4fgzr+p4fzgr+p4fzzr)5 O dfren= (c1fggre+c1fgzre+c1fzgre+g5 O # c2fggre+c2fgzre+c2fzgre+d= O # p1fggre+p1fgzre+p1fzgre+p1fzzre+r= O # p2fggre+p2fgzre+p2fzgre+p2fzzre+a= O # p3fggre+p3fgzre+p3fzgre+p3fzzre+ = O # p4fggre+p4fgzre+p4fzgre+p4fzzre)z1 O dfin= (c1fggi+c1fgzi+c1fzgi+ 1 O # c2fggi+c2fgzi+c2fzgi+e8 O # p1fggi+p1fgzi+p1fzgi+p1fzzi+8 O # p2fggi+p2fgzi+p2fzgi+p2fzzi+8 O # p3fggi+p3fgzi+p3fzgi+p3fzzi+8 O # p4fggi+p4fgzi+p4fzgi+p4fzzi)= O dfien= (c1fggie+c1fgzie+c1fzgie+c1fzzie+ = O # c2fggie+c2fgzie+c2fzgie+c2fzzie+f= O # p1fggie+p1fgzie+p1fzgie+p1fzzie+ = O # p2fggie+p2fgzie+p2fzgie+p2fzzie+i= O # p3fggie+p3fgzie+p3fzgie+p3fzzie+g= O # p4fggie+p4fgzie+p4fzgie+p4fzzie)  O * G O *-----CC and NC diagrams are comensated with double Z and W propagators O  O * 0 O adarn= phr*darn-phie*daien 0 O adaren= phr*daren-phie*dain0 O adaien= phr*daien+phie*darn/ O adain= phr*dain+phie*daren37 O if(oqcd.eq.'y'.and.iqcd.eq.0) then 9 O adarndr= phr*darndr-phie*daiendr i9 O adaiendr= phr*daiendr+phie*darndr - O dbr240= wtcfr*adarndr 0 O dbre240= -wtcfi*adaiendr/ O dbie240= wtcfr*adaiendrz- O dbi240= wtcfi*adarndr3 O endif O * 2 O dar3= ztcfr*darc3-ztcfi*daic35 O dare3= ztcfr*darec3-ztcfi*daiec3/5 O daie3= ztcfr*daiec3+ztcfi*darec3 2 O dai3= ztcfr*daic3+ztcfi*darc3 O * 2 O dbr3= ztcfr*dbrc3-ztcfi*dbic35 O dbre3= ztcfr*dbrec3-ztcfi*dbiec3 5 O dbie3= ztcfr*dbiec3+ztcfi*dbrec3p2 O dbi3= ztcfr*dbic3+ztcfi*dbrc3 O * 1 O dbr11= ztcfr*dbrc-ztcfi*dbic 4 O dbre11= ztcfr*dbrec-ztcfi*dbiec4 O dbie11= ztcfr*dbiec+ztcfi*dbrec1 O dbi11= ztcfr*dbic+ztcfi*dbrci O * O 3 O dbr24= wtcfr*adarn-wtcfi*adain16 O dbre24= wtcfr*adaren-wtcfi*adaien6 O dbie24= wtcfr*adaien+wtcfi*adaren3 O dbi24= wtcfr*adain+wtcfi*adarn  O *4/ O dar= ztcfr*darc-ztcfi*daic=2 O dare= ztcfr*darec-ztcfi*daiec2 O daie= ztcfr*daiec+ztcfi*darec/ O dai= ztcfr*daic+ztcfi*darc  O * 0 O dbr= ztcfr*dbrc-ztcfi*dbic-1 O # wtcfr*adarn+wtcfi*adain 3 O dbre= ztcfr*dbrec-ztcfi*dbiec- 4 O # wtcfr*adaren+wtcfi*adaien3 O dbie= ztcfr*dbiec+ztcfi*dbrec-44 O # wtcfr*adaien-wtcfi*adaren0 O dbi= ztcfr*dbic+ztcfi*dbrc-1 O # wtcfr*adain-wtcfi*adarn  O * / O dfr= wtcfr*dbrn-wtcfi*dbin 2 O dfre= wtcfr*dbren-wtcfi*dbien2 O dfie= wtcfr*dbien+wtcfi*dbren/ O dfi= wtcfr*dbin+wtcfi*dbrn47 O if(oqcd.eq.'y'.and.iqcd.eq.0) thenr+ O dfrdr= wtcfr*dbrndrg. O dfredr= -wtcfi*dbiendr- O dfiedr= wtcfr*dbiendr + O dfidr= wtcfi*dbrndrs O endif O *4/ O dgr= wtcfr*dcrn-wtcfi*dcinr2 O dgre= wtcfr*dcren-wtcfi*dcien2 O dgie= wtcfr*dcien+wtcfi*dcren/ O dgi= wtcfr*dcin+wtcfi*dcrna7 O if(oqcd.eq.'y'.and.iqcd.eq.0) thena+ O dgrdr= wtcfr*dcrndrp. O dgredr= -wtcfi*dciendr- O dgiedr= wtcfr*dciendr + O dgidr= wtcfi*dcrndr  O endif O *e/ O dhr= wtcfr*ddrn-wtcfi*ddinc2 O dhre= wtcfr*ddren-wtcfi*ddien2 O dhie= wtcfr*ddien+wtcfi*ddren/ O dhi= wtcfr*ddin+wtcfi*ddrni7 O if(oqcd.eq.'y'.and.iqcd.eq.0) thenr+ O dhrdr= wtcfr*ddrndrr. O dhredr= -wtcfi*ddiendr- O dhiedr= wtcfr*ddiendrr+ O dhidr= wtcfi*ddrndrz O endif O * / O dir= wtcfr*dern-wtcfi*dein 2 O dire= wtcfr*deren-wtcfi*deien2 O diie= wtcfr*deien+wtcfi*deren/ O dii= wtcfr*dein+wtcfi*dernz7 O if(oqcd.eq.'y'.and.iqcd.eq.0) then O + O dirdr= wtcfr*derndrh. O diredr= -wtcfi*deiendr- O diiedr= wtcfr*deiendrc+ O diidr= wtcfi*derndrc O endif O *a/ O dlr= wtcfr*dfrn-wtcfi*dfinh2 O dlre= wtcfr*dfren-wtcfi*dfien2 O dlie= wtcfr*dfien+wtcfi*dfren/ O dli= wtcfr*dfin+wtcfi*dfrn-7 O if(oqcd.eq.'y'.and.iqcd.eq.0) then)+ O dlrdr= wtcfr*dfrndr . O dlredr= -wtcfi*dfiendr- O dliedr= wtcfr*dfiendr + O dlidr= wtcfi*dfrndrc O endif O * O / O dmr= wtcfr*dgrn-wtcfi*dgin O 2 O dmre= wtcfr*dgren-wtcfi*dgien2 O dmie= wtcfr*dgien+wtcfi*dgren/ O dmi= wtcfr*dgin+wtcfi*dgrn 7 O if(oqcd.eq.'y'.and.iqcd.eq.0) then + O dmrdr= wtcfr*dgrndra. O dmredr= -wtcfi*dgiendr- O dmiedr= wtcfr*dgiendr O + O dmidr= wtcfi*dgrndrq O endif O * / O dnr= wtcfr*dhrn-wtcfi*dhin 2 O dnre= wtcfr*dhren-wtcfi*dhien2 O dnie= wtcfr*dhien+wtcfi*dhren/ O dni= wtcfr*dhin+wtcfi*dhrnc7 O if(oqcd.eq.'y'.and.iqcd.eq.0) thenp+ O dnrdr= wtcfr*dhrndr . O dnredr= -wtcfi*dhiendr- O dniedr= wtcfr*dhiendr + O dnidr= wtcfi*dhrndrp O endif O *r1 O das0= dar3*dar3+daie3*daie3+ 0 O # dare3*dare3+dai3*dai31 O dbs0= dbr3*dbr3+dbie3*dbie3+ 0 O # dbre3*dbre3+dbi3*dbi3; O dbs240= dbr240*dbr240+dbie240*dbie240+g8 O # dbre240*dbre240+dbi240*dbi2409 O dascs= coulf*(dar3*dar3+daie3*daie3+z2 O # dare3*dare3+dai3*dai3)9 O dbscs= coulf*(dbr3*dbr3+dbie3*dbie3+i2 O # dbre3*dbre3+dbi3*dbi3)) O if(ofs.eq.'ll') then @ O das= dar*dar+dare*dare+daie*daie+dai*dai@ O dbs= dbr*dbr+dbre*dbre+dbie*dbie+dbi*dbi@ O dfs= dfr*dfr+dfre*dfre+dfie*dfie+dfi*dfi@ O dgs= dgr*dgr+dgre*dgre+dgie*dgie+dgi*dgi@ O dhs= dhr*dhr+dhre*dhre+dhie*dhie+dhi*dhi@ O dis= dir*dir+dire*dire+diie*diie+dii*dii@ O dls= dlr*dlr+dlre*dlre+dlie*dlie+dli*dli@ O dms= dmr*dmr+dmre*dmre+dmie*dmie+dmi*dmi@ O dns= dnr*dnr+dnre*dnre+dnie*dnie+dni*dni O * & O das= das+dascs& O dbs= dbs+dbscs. O else if(ofs.eq.'qq') then: O if((oqcd.eq.'y'.and.iqcd.gt.0).or., O # oqcd.eq.'n') then7 O das= 9.d0*(dar*dar+dare*dare++D O # daie*daie+dai*dai+dascs)*(1.d0+qcdjc)? O dbs= 9.d0*(dbr11*dbr11+dbre11*dbre11+ @ O # dbie11*dbie11+dbi11*dbi11+dbscs)*, O # (1.d0+qcdjc)+? O # 9.d0*(dbr24*dbr24+dbre24*dbre24+ : O # dbie24*dbie24+dbi24*dbi24)*, O # (1.d0+qcdjn)-? O # 6.d0*(dbr11*dbr24+dbre11*dbre24+ O 9 O # dbie11*dbie24+dbi11*dbi24) 7 O dfs= 9.d0*(dfr*dfr+dfre*dfre+ > O # dfie*dfie+dfi*dfi)*(1.d0+qcdjn)7 O dgs= 9.d0*(dgr*dgr+dgre*dgre+ > O # dgie*dgie+dgi*dgi)*(1.d0+qcdjn)7 O dhs= 9.d0*(dhr*dhr+dhre*dhre+n> O # dhie*dhie+dhi*dhi)*(1.d0+qcdjn)7 O dis= 9.d0*(dir*dir+dire*dire+ > O # diie*diie+dii*dii)*(1.d0+qcdjn)7 O dls= 9.d0*(dlr*dlr+dlre*dlre+ > O # dlie*dlie+dli*dli)*(1.d0+qcdjn)7 O dms= 9.d0*(dmr*dmr+dmre*dmre+ > O # dmie*dmie+dmi*dmi)*(1.d0+qcdjn)7 O dns= 9.d0*(dnr*dnr+dnre*dnre+ > O # dnie*dnie+dni*dni)*(1.d0+qcdjn)? O else if(oqcd.eq.'y'.and.iqcd.eq.0) then 7 O das= 9.d0*(dar*dar+dare*dare+ 8 O # daie*daie+dai*dai+dascs)+< O # 9.0d0*das0*(1.d0+coulf)*qcdjc? O dbs= 9.d0*(dbr11*dbr11+dbre11*dbre11+ @ O # dbie11*dbie11+dbi11*dbi11+dbscs)+? O # 9.d0*(dbr24*dbr24+dbre24*dbre24+e@ O # dbie24*dbie24+dbi24*dbi24+dbscs)-? O # 6.d0*(dbr11*dbr24+dbre11*dbre24+e: O # dbie11*dbie24+dbi11*dbi24)+< O # 9.d0*dbs0*(1.d0+coulf)*qcdjc+0 O # 9.d0*dbs240*qcdjn7 O dfs= 9.d0*(dfr*dfr+dfre*dfre++2 O # dfie*dfie+dfi*dfi)+? O # 9.d0*(dfrdr*dfrdr+dfredr*dfredr+p? O # dfiedr*dfiedr+dfidr*dfidr)*qcdjn O 7 O dgs= 9.d0*(dgr*dgr+dgre*dgre+ O 2 O # dgie*dgie+dgi*dgi)+? O # 9.d0*(dgrdr*dgrdr+dgredr*dgredr+c? O # dgiedr*dgiedr+dgidr*dgidr)*qcdjne7 O dhs= 9.d0*(dhr*dhr+dhre*dhre+g2 O # dhie*dhie+dhi*dhi)+? O # 9.d0*(dhrdr*dhrdr+dhredr*dhredr+e? O # dhiedr*dhiedr+dhidr*dhidr)*qcdjnn7 O dis= 9.d0*(dir*dir+dire*dire+r2 O # diie*diie+dii*dii)+? O # 9.d0*(dirdr*dirdr+diredr*diredr+1? O # diiedr*diiedr+diidr*diidr)*qcdjng7 O dls= 9.d0*(dlr*dlr+dlre*dlre+g2 O # dlie*dlie+dli*dli)+? O # 9.d0*(dlrdr*dlrdr+dlredr*dlredr+z? O # dliedr*dliedr+dlidr*dlidr)*qcdjnr7 O dms= 9.d0*(dmr*dmr+dmre*dmre+g2 O # dmie*dmie+dmi*dmi)+? O # 9.d0*(dmrdr*dmrdr+dmredr*dmredr+p? O # dmiedr*dmiedr+dmidr*dmidr)*qcdjng7 O dns= 9.d0*(dnr*dnr+dnre*dnre+g2 O # dnie*dnie+dni*dni)+? O # 9.d0*(dnrdr*dnrdr+dnredr*dnredr+z? O # dniedr*dniedr+dnidr*dnidr)*qcdjn  O endifi O endif O * % O 4 if(iz.eq.0) theni! O do il=1,9 5 O dpxs(ix,it,itt,il)= 0.d0  O enddo) O iz= 1c O elsez: O tjac= ujc*vjc*smjc*spjc*sujc*sdjc*2 O # sfjc*twjc*t1jc*vv**3< O tjacp= tjac*pmjac*ppjac*pujac*pdjac*$ O # stf/s4 O dpxs(ix,it,itt,1)= tjacp*das4 O dpxs(ix,it,itt,2)= tjacp*dbs4 O dpxs(ix,it,itt,3)= tjacp*dfs4 O dpxs(ix,it,itt,4)= tjacp*dgs4 O dpxs(ix,it,itt,5)= tjacp*dhs4 O dpxs(ix,it,itt,6)= tjacp*dis4 O dpxs(ix,it,itt,7)= tjacp*dls4 O dpxs(ix,it,itt,8)= tjacp*dms4 O dpxs(ix,it,itt,9)= tjacp*dns O endif O *+ O *-----end of ix loop O *  O enddo O * O ! O 5 if(iz.eq.0) thenp O do i=1,9! O do ix=1,2e4 O epxs(ix,it,itt,i)= 0.d0 O enddo  O enddop O iz= 1  O elseg O do i=1,9! O do ix=1,2eA O epxs(ix,it,itt,i)= dpxs(ix,it,itt,i)h O enddo  O enddoc O endif O *  O *-----end of itt loopc O *  O enddo O *p O do i=1,9#% O cpxs(it,i)= 0.d0z" O do itt=1,ittm? O cpxs(it,i)= cpxs(it,i)+epxs(1,it,itt,i)+g3 O # epxs(2,it,itt,i)  O enddo O enddo O *  O 2 if(iz.eq.0) thenc O do il=1,9 ( O bpxs(it,il)= 0.d0 O enddo  O iz= 1g O else  O do il=1,9p/ O bpxs(it,il)= cpxs(it,il)  O enddog O endif O *  O *--- end on it loop O *y O enddot O *  O 1 if(iz.eq.0) then O do il=1,9 O apxs(il)= 0.d0 O enddo O iz= 1 O else O do il=1,91 O apxs(il)= bpxs(1,il)+bpxs(2,il)g O enddo O endif  O *  O tapxs= 0.d0p O do il=1,9z O tapxs= tapxs+apxs(il) O enddo2 O if(tapxs.lt.0.d0) then O ifz(44)= ifz(44)+1z O resf= 0.d0 O else O resf= tapxs O endif O  O *  O wtoxs35= tfact*resfd O *e O if(om.eq.'g') then O if(osm.eq.'n') then O jp= iwtopos(ndim,x) ) O if(wtoxs35.gt.xshmx(jp)) thenz! O xshmx(jp)= wtoxs35p O do l=1,9d# O xmxh(jp,l)= x(l)p O enddo O endif  O endif O xaph(1)= xm O xaph(2)= xp O xaph(3)= sm O xaph(4)= sp O xaph(5)= su O xaph(6)= sd O xaph(7)= sf O xaph(8)= tw O xaph(9)= t1 O xaph(10)= t3 O endifi O *d O return O end# O * E O *-----XS35G----------------------------------------------------------  O * & O real*8 function wtoxs35g(ndim,x) O implicit real*8 (a-h,o-z)e O *d. O character*1,ocoul,opeak,oqcd,ockm,om,osm O character*2,ofsd O character*4,otype  O * ! O parameter(ninv=10,npos=512)z O *  O common/wtmod/om  O common/wtmp/zrmp O common/wtfs/ofs# O common/wtqcd/als O common/wtdis/distd O common/wtsmod/osm  O common/wtps/opeake O common/wtkount/ik  O common/wtckm/ockmd O common/wtistrf/isf O common/wtaqcd/oqcd O common/wtcqcd/iqcd O common/wtickm/ickm O common/wtlmsb/qcdl O common/wtqcdz/alsz O common/wtsf/ix0,it0( O common/wtcoul/ocoul+ O common/wtchi/hch(36) O common/wtipt/ifz(44) O common/wticuts/iac(4)  O common/wtisa/isaa,isab O common/wtvckm/vckm(3,3)2 O common/wthx/xshmx(npos)  O common/wtochannel/otypep O common/wtparh/xaph(ninv), O common/wttc/itc,itcc,itcn O common/wtpmxh/xmxh(npos,9)& O common/wtncc/chf2,chfp2,conc(10)3 O common/wtcchannel/chu,chup,chd,chdp,fcuc,fcdc ? O common/wtbpar/wm,zm,zg,gf,pi,pis,cfct,fcnt,ge,alphai,alwi > O common/wtfmass/em,rmm,tm,rnm,uqm,dqm,cqm,sqm,bqm,tqm,dmyA O common/wtacchannel/omchu,opchu,omchup,opchup,omchdp,opchdp, 8 O # omchd,opchd,hchup,hchu,hchdp,hchdD O common/wtcpar/alpha,hbet,hbeti,omhb,eob,d0gl,g8,tfact,pih,alw,) O # eta,feta,beta,g2,tfacth F O common/wtapar/ars,s,rwm,rwm2,rwg,rwmg,swg,swgs,opswgs,sth2,cth2,E O # hsth2,tsth2,scth2,asth2,tth2,rzm,rzm2,rzg,rzmg,szg,fC O # szgs,opszgs,sth4,cth4,ve,vf,vfp,rbqm2,rszw,rszw2,  O # s0w,s0zgH O common/wtsubreg/dsm,usm,dsp,usp,rl(6),rr(6),srl(6),sdsm,sdsp,vvl1,* O # vvl2,vvl3,ul,omul,sumlF O common/wtcuts/aim(6),bim(6),ae(4),asa(4),bsa(4),afsa(6),bfsa(6),A O # ombsa(4),opbsa(4),teq,rae(4),omasa(4),opasa(4),e? O # sg12,cg12,sg13,cg13,sg14,cg14,sg23,cg23,sg24,p= O # cg24,sg34,cg34,sct120,sct130,sct140,sct230,c/ O # sct240,sct340,sgam(4),cgam(4)  O *  O dimension x(ndim)* O dimension bt1(2),bt2(2)  O dimension rru1(2),rru2(2)n O dimension sfur(2),sflr(2)r O dimension ret1(2),ret2(2) O dimension ee(5),e(5),sg(5)% O dimension rrr(6),rrl(6),srrl(6).( O dimension bl(4),xbl(4),ss(4),cs(4)( O dimension tgc(15),tgn(16),otgn(16)@ O dimension dpxs(2,2,2,9),epxs(2,2,2,9),cpxs(2,9),bpxs(2,9), O # apxs(9)*9 O dimension rr1(2),rr2(2),rs1(2),rs2(2),rtp(2),rtm(2) O + O dimension hfr(4),hgr(4),hnr(4),hor(4)d O * O 4 O data ec2/-0.4999999963d0/,ec4/0.0416666418d0/,4 O # ec6/-0.0013888397d0/,ec8/0.0000247609d0/, O # ec10/-0.0000002605d0/ O * # O external c02ajf,s09aaf,s07aafc O external s21bbf,s21caf O *t" O *-----the order of integration is:5 O * u, v, m_-^2, m_+^2, M_0^2, m_0^2, m^2, t_w, t_1  O * 6 O * m_{+/-}^2 transformed for the resonating peaks6 O * M_0^2,m_0^2 transformed for the resonating peaks4 O * m^2 and t_1 transformed for the jacobian peaks O *i O do ix=1,2c O do it=1,2 O do itt=1,2 O do il=1,9 3 O dpxs(ix,it,itt,il)= 0.d0  O enddod O enddo  O enddo O enddo  O do it=1,2  O do il=1,9! O cpxs(it,il)= 0.d0d! O bpxs(it,il)= 0.d0  O enddo O enddo  O *t O if(ndim.eq.6) then O if(itc.eq.1) then O if(itcc.eq.1) then O smx= x(1) O sux= x(2) O sdx= x(3) O sfx= x(4) O twx= x(5) O t1x= x(6)# O else if(itcc.eq.2) then  O smx= x(1) O spx= x(2) O sux= x(3) O sfx= x(4) O twx= x(5) O t1x= x(6)# O else if(itcc.eq.3) then+ O smx= x(1) O spx= x(2) O sux= x(3) O sdx= x(4) O twx= x(5) O t1x= x(6) O endif else  O smx= x(1)* O sux= x(2)  O sdx= x(3)n O sfx= x(4)  O twx= x(5)d O t1x= x(6)  O endif O else if(ndim.eq.8) then  O if(itc.eq.1) then O if(itcc.eq.1) then O uvx= x(1) O vvx= x(2) O smx= x(3) O sux= x(4) O sdx= x(5) O sfx= x(6) O twx= x(7) O t1x= x(8)# O else if(itcc.eq.2) then  O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sfx= x(6) O twx= x(7) O t1x= x(8)# O else if(itcc.eq.3) theni O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sdx= x(6) O twx= x(7) O t1x= x(8) O endif else  O uvx= x(1)  O vvx= x(2)n O smx= x(3)  O sux= x(4)d O sdx= x(5)  O sfx= x(6)c O twx= x(7)  O t1x= x(8)  O endif O else if(ndim.eq.7) then( O smx= x(1) O spx= x(2) O sux= x(3) O sdx= x(4) O sfx= x(5) O twx= x(6) O t1x= x(7) O else if(ndim.eq.9) thend O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sdx= x(6) O sfx= x(7) O twx= x(8) O t1x= x(9) O endif  O *  O ik= ik+1 rs= arsd O one= 1.d0  O * ( O *-----if a point is not allowed then the O * result is set to zeron O *q O iz= 1 O  O * % O if(ndim.eq.6.or.ndim.eq.7) thend O ueps= 0.d0  O uv= 1.d0i O uvs= uv*uv  O ujc= 1.d0 O veps= 0.d0  O vv= 1.d0i O vjc= 1.d0* O else if(ndim.eq.8.or.ndim.eq.9) then O * , O *-----independent invariants are initialized O * first u and v variable O *d% O ueps= omul*(1.d0-uvx)**hbetid O uv= 1.d0-ueps O ujc= omul**hbet O uvs= uv*uv  O *  O *-----limits for v O *. O *-----from equal cuts on SA  O * + O if(iac(3).eq.1.and.isab.eq.1) then ' O vvl4= ombsa(1)/opbsa(1)*uvs + O vvl= dmax1(vvl1,vvl2,vvl3,vvl4) O else & O vvl= dmax1(vvl1,vvl2,vvl3) O endif O * O O *-----from E O *  O vve= uv*(2.d0*suml-uv) O  O vvll= dmax1(vvl,vve)r O *r O vvu1= uv + O if(iac(3).eq.1.and.isaa.eq.1) thenn' O vvu2= omasa(1)/opasa(1)*uvsc! O vvu= dmin1(vvu1,vvu2)q elseq O vvu= uv  O endif O uvl= uv-vvll O  O *  O vkf= (uv-vvu)/uvlc O if(vkf.eq.0.d0) then* O veps= uvl*(1.d0-vvx)**hbeti O else; O veps= uvl*(1.d0-(1.d0-vkf**hbet)*vvx)**hbeti  O endifc O vv= uv-veps O avkf= 1.d0-vkf**hbet* O vjc= (1.d0-vvll/uv)**hbet*avkf O endif  O *  O svv= sqrt(vv)f O vwmg= rwmg*vv  O vvs= vv*vv O xm= uv O xp= vv/uv e O xmop= xm/xp % O if(ndim.eq.7.or.ndim.eq.6) then  O xdf= 0.d0 O else( O xdf= (ueps*(1.d0-ueps)-veps)/uv O endif  O xdfs= xdf*xdf  O sh= vv*s O *p O *-----Z parameters O *e O rszm2= zm*zm/sh  O * 1 O *-----Z propagator (real part and imaginary part)  O *  O dz0= 1.d0-rszm2a O dz= dz0*dz0+rszw2d O rsz= dz0/dz3! O omrz= (-rszm2*dz0+rszw2)/dz  O aisz= -rszw/dz O haisz= scth2*aiszs O *=C O *-----Reduced structure functions are computed with arguments xp,xmd O *2 O opxp= 1.d0+xp  O opxm= 1.d0+xms O omxp= veps/uvi O omxm= ueps O if(isf.eq.0) thene O stfp= 1.d0  O stfm= 1.d0s O else if(isf.gt.0) then O if(omxp.eq.0) then  O stfp= d0gl else " O rcpx= 0.25d0*opxp*opxp O rcpy= xp O iflp= 1d( O rclp= s21baf(rcpx,rcpy,iflp)3 O stfp= d0gl+eob*omxp**omhb*(-0.5d0*opxp+ - O # feta*(-4.d0*opxp*log(omxp)+i7 O # 3.d0*opxp*log(xp)+4.d0*rclp-5.d0-xp))* O endif O if(omxm.eq.0) thenr O stfm= d0gl else " O rcmx= 0.25d0*opxm*opxm O rcmy= xm O iflm= 1 ( O rclm= s21baf(rcmx,rcmy,iflm)3 O stfm= d0gl+eob*omxm**omhb*(-0.5d0*opxm+i- O # feta*(-4.d0*opxm*log(omxm)+r7 O # 3.d0*opxm*log(xm)+4.d0*rclm-5.d0-xm))  O endif O endif  O *  O stf= stfp*stfm O * O I O *-----if there is no upper cut on some FS IM, then the maximum is allowed( O *d O do j=1,6 O if(rr(j).eq.1.d0) then O rrr(j)= rr(j) O else O rrr(j)= rr(j)/vva O endif  O rrl(j)= rl(j)/vv O srrl(j)= srl(j)/svv O enddo  O * & O *-----cuts become special near xp = xm O * ! O if(abs(xdf).gt.1.d-15) theni O ieq= 1d( O bxe= vv/(ueps*(1.d0-ueps)-veps) O if(xdf.gt.0.d0) then  O enc= 1.d0d" O else if(xdf.lt.0.d0) then O enc= xmopd O endif O else O ieq= 0  O bxe= 1.d0 O endif#% O if(ieq.eq.0.and.xm.le.teq) thenr O iz= 0 O ifz(1)= ifz(1)+1  O go to 1 O endif4 O * O 7 O if(ieq.eq.0.and.iac(2).ne.0.and.iac(4).ne.0) then O  O sct12= sct120/vv  O sct13= sct130/vv+ O sct14= sct140/vv  O sct23= sct230/vvr O sct24= sct240/vv  O sct34= sct340/vvd O else O sct12= 0.d0 O sct13= 0.d0 O sct14= 0.d0 O sct23= 0.d0 O sct24= 0.d0 O sct34= 0.d0 O endif O * 9 O *-----cuts on E* O *e O do j=1,4 O if(ieq.eq.1) thend# O bl(j)= 2.d0*rae(j)/xdf # O xbl(j)= 2.d0*rae(j)/xpe O else if(ieq.eq.0) then" O bl(j)= 2.d0*rae(j)/xm O endif O enddod O *d O *-----cuts on SA O *  O if(iac(3).ne.0) then O do j=1,4*% O f(sgam(j).eq.1.d0) then  O ss(j)= 0.d0  O else 7 O ss(j)= 1.d0+sgam(j)/(1.d0-sgam(j))*xmop ! O ss(j)= 1.d0/ss(j). O endif% O if(cgam(j).eq.0.d0) thend O cs(j)= 1.d0  O elsei7 O cs(j)= 1.d0+cgam(j)/(1.d0-cgam(j))*xmop0! O cs(j)= 1.d0/cs(j)  O endif O enddo O endifb O *1" O *-----initialization of sm = m_-^2 O *1 O zma1= dsmi O zma2= vv*sct12 O zmb1= usm ! O zmb2= (svv-sdsp)*(svv-sdsp)e4 O zmb3= vv*(1.d0-sqrt(sct34))*(1.d0-sqrt(sct34)) O if(ieq.eq.0) then $ O zma3= vv*(bl(1)+bl(2)-1.d0)- O zmb4= vv*(1.d0-0.5d0*(bl(3)+bl(4)))*d) O # (1.d0-0.5d0*(bl(3)+bl(4)))  O zmb5= vv*(1.d0-bl(3)) O zmb6= vv*(1.d0-bl(4)) O else if(ieq.eq.1) then& O zma3= vv*(-enc+xbl(1)+xbl(2))2 O zmb4= 0.25d0*vv*(1.d0+enc-xbl(3)-xbl(4))*' O # (1.d0+enc-xbl(3)-xbl(4))  O zmb5= vv*(enc-xbl(3)) O zmb6= vv*(enc-xbl(4)) O endifi! O xzma= dmax1(zma1,zma2,zma3) 0 O xzmb= dmin1(zmb1,zmb2,zmb3,zmb4,zmb5,zmb6) O * O C O *-----limits on sm from cuts on SA. Here for maximum security. Rare  O *  O if(iac(3).eq.0) then O zma= xzma O zmb= xzmb O else *4 O if(ss(4).eq.ss(3).and.ss(2).eq.ss(1)) then # O if(ss(3).eq.ss(1)) then# O szma= xzmai O szmb= xzmb ( O else if(ss(3).gt.ss(1)) then O szmb= xzmb  O adsp= dsp/vvr( O axszma= dmax1(adsp,sct34)5 O axszma= vv*(axszma-(1.d0-ss(1)-ss(3))/ % O # (ss(3)-ss(1)))#' O szma= dmax1(axszma,xzma)r( O else if(ss(3).lt.ss(1)) then& O if(ss(3).lt.0.5d0) then O szma= xzma= O axszmb= vv*((ss(3)-0.5d0)/(ss(3)-ss(1)))**2i* O szmb= dmin1(axszmb,xzmb) O elser O iz= 0 " O ifz(2)= ifz(2)+1 O go to 1  O endif O endifr else# O szma= xzma O szmb= xzmb O endif4 O if(cs(4).eq.cs(3).and.cs(2).eq.cs(1)) then # O if(cs(3).eq.cs(1)) thenr O zma= szma O zmb= szmb( O else if(cs(3).gt.cs(1)) then& O if(cs(3).gt.0.5d0) then O zma= szma9= O axczmb= vv*((cs(3)-0.5d0)/(cs(3)-cs(1)))**2 ) O zmb= dmin1(axczmb,szmb)  O elsei O iz= 0d" O ifz(3)= ifz(3)+1 O go to 1  O endif( O else if(cs(3).lt.cs(1)) then O zmb= szmb  O adsp= dsp/vv+ O axczma= dmax1(adsp,sct34) 8 O axczma= vv*(axczma-(1.d0-cs(1)-cs(3))/( O # (cs(3)-cs(1)))) O zma= dmax1(axczma,szma)* O endifd else  O zma= szmaf O zmb= szmb  O endif O endifd O * O 5 O if((itc.eq.1.and.itcc.eq.1).or.(itc.eq.2)) then O dzpa= dmax1(dsp,sct340) O if(itc.eq.1) then; O dzmb= (dist/rs-sqrt(dzpa))*(dist/rs-sqrt(dzpa)) O zmb= dmin1(zmb,dzmb) O else if(itc.eq.2) then,; O dzma= (dist/rs+sqrt(dzpa))*(dist/rs+sqrt(dzpa))7 O zma= dmax1(zma,dzma)4 O dzmb= 0.25d0*(svv+dist/rs)*(svv+dist/rs) O zmb= dmin1(zmb,dzmb) O endif O endif % O if(itc.eq.1.and.itcc.eq.3) then $ O zmbd3= vv-0.5d0*dist*dist/s O zmb= dmin1(zmb,zmbd3) O endif  O *  O *-----test on sm O *  O if(zmb.le.zma) then O  O iz= 0 O ifz(4)= ifz(4)+1, O go to 1 O endif  O *n O if(opeak.eq.'y') thend O zmas= zma-rwm2z O zmbs= zmb-rwm2s# O atma= (zmas+swgs*zma)/rwmg # O atmb= (zmbs+swgs*zmb)/rwmg / O if(atma.gt.1.d0.and.atmb.gt.1.d0) then, O atma= 1.d0/atma  O atma= atan(atma)! O zmat= (pih-atma)/vwmg O  O atmb= 1.d0/atmb  O atmb= atan(atmb)! O zmbt= (pih-atmb)/vwmg $ O smjc0= (-atmb+atma)/vwmg5 O else if(atma.gt.1.d0.and.atmb.lt.-1.d0) then  O atma= 1.d0/atmac O atma= atan(atma)! O zmat= (pih-atma)/vwmge O atmb= -1.d0/atmb O atmb= atan(atmb)" O zmbt= (-pih+atmb)/vwmg' O smjc0= (-pi+atmb+atma)/vwmg O 9 O else if(atma.gt.1.d0.and.abs(atmb).lt.1.d0) then  O atma= 1.d0/atma  O atma= atan(atma)! O zmat= (pih-atma)/vwmg  O atmb= atan(atmb) O zmbt= atmb/vwmgn( O smjc0= (-pih+atmb+atma)/vwmg5 O else if(atma.lt.-1.d0.and.atmb.gt.1.d0) thenq O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vwmg O atmb= 1.d0/atmb  O atmb= atan(atmb)! O zmbt= (pih-atmb)/vwmg(& O smjc0= (pi-atmb-atma)/vwmg6 O else if(atma.lt.-1.d0.and.atmb.lt.-1.d0) then O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vwmg O atmb= -1.d0/atmb O atmb= atan(atmb)" O zmbt= (-pih+atmb)/vwmg# O smjc0= (atmb-atma)/vwmgn: O else if(atma.lt.-1.d0.and.abs(atmb).lt.1.d0) then O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vwmg O atmb= atan(atmb) O zmbt= atmb/vwmg ' O smjc0= (pih+atmb-atma)/vwmg 9 O else if(abs(atma).lt.1.d0.and.atmb.gt.1.d0) then  O atma= atan(atma) O zmat= atma/vwmg O  O atmb= 1.d0/atmb  O atmb= atan(atmb)! O zmbt= (pih-atmb)/vwmg ' O smjc0= (pih-atmb-atma)/vwmge: O else if(abs(atma).lt.1.d0.and.atmb.lt.-1.d0) then O atma= atan(atma) O zmat= atma/vwmg  O atmb= -1.d0/atmb O atmb= atan(atmb)" O zmbt= (-pih+atmb)/vwmg( O smjc0= (-pih+atmb-atma)/vwmg> O else if(abs(atma).lt.1.d0.and.abs(atmb).lt.1.d0) then O atma= atan(atma) O zmat= atma/vwmgf O atmb= atan(atmb) O zmbt= atmb/vwmg # O smjc0= (atmb-atma)/vwmgw O endif O *o O zmv= smjc0*smx+zmat O iftn= 1 O atnm= vwmg*zmv 0 O sm= s0w/vv*(1.d0+swg*s07aaf(atnm,iftn)) O if(iftn.ne.0) print 300 O pmjac= 1.d0 O smjc= vv*smjc0  O *m) O else if(opeak.eq.'n') then + O smjc0= zmb-zma3 O sm= (smjc0*smx+zma)/vv 5 O pmjac= 1.d0/((vv*sm-rwm2)**2+(vv*sm*swg)**2)b O smjc= smjc0 O endif  O if(sm.lt.0.d0) then  O iz= 0 O ifz(4)= ifz(4)+1m O go to 1 O endifm O ssm= sqrt(sm)  O * - O 300 format(/' Unsuccesful call to S07AAF ')  O *o" O *-----initialization of sp = m_+^2 O *o O zpa1= dsph O zpb1= uspc$ O zpb2= vv*(1.d0-ssm)*(1.d0-ssm) O *,C O *-----limits on sp from cuts on SA. Here for maximum security. Rareu O *d O if(iac(3).eq.0) then O zpb= dmin1(zpb1,zpb2) O zpa= zpa1 O else 4 O if(ss(4).eq.ss(3).and.ss(2).eq.ss(1)) then # O if(ss(3).eq.ss(1)) theni% O azpb= dmin1(zpb1,zpb2)# O azpa= zpa12( O else if(ss(3).gt.ss(1)) then= O zpb3= vv*(sm+(1.d0-ss(1)-ss(3))/(ss(3)-ss(1))),* O azpb= dmin1(zpb1,zpb2,zpb3) O azpa= zpa1o( O else if(ss(3).lt.ss(1)) then% O azpb= dmin1(zpb1,zpb2)o= O zpa2= vv*(sm+(1.d0-ss(1)-ss(3))/(ss(3)-ss(1))),% O azpa= dmax1(zpa1,zpa2), O endifw elsem O azpa= zpa1" O azpb= dmin1(zpb1,zpb2) O endif4 O if(cs(4).eq.cs(3).and.cs(2).eq.cs(1)) then # O if(cs(3).eq.cs(1)) then, O zpa= azpa O zpb= azpb( O else if(cs(3).gt.cs(1)) then O zpb= azpb= O bzpa= vv*(sm+(1.d0-cs(1)-cs(3))/(cs(3)-cs(1))) O $ O zpa= dmax1(azpa,bzpa)( O else if(cs(3).lt.cs(1)) then O zpa= azpa= O bzpb= vv*(sm+(1.d0-cs(1)-cs(3))/(cs(3)-cs(1)))l$ O zpb= dmin1(azpb,bzpb) O endife elseg O zpa= azpai O zpb= azpbp O endif O endif9 O * O  O if(ieq.eq.0) then O ( O zpel= vv*(-1.d0+bl(3)+bl(4)+sm)( O zpeu1= vv*(1.d0-bl(1)-bl(2)+sm) O zpeu2= vv*(1.d0-bl(1))a O zpeu3= vv*(1.d0-bl(2))6 O else if(ieq.eq.1) then( O zpel= vv*(sm-enc+xbl(3)+xbl(4))) O zpeu1= vv*(sm+enc-xbl(1)-xbl(2))n O zpeu2= vv*(enc-xbl(1))x O zpeu3= vv*(enc-xbl(2))h O endift O zpa= dmax1(zpa,zpel)' O zpb= dmin1(zpb,zpeu1,zpeu2,zpeu3) O  O zpap= vv*sct34 O zpa= dmax1(zpa,zpap)% O if(itc.eq.1.and.itcc.eq.3) thenr. O zpbd3= vv*(1.d0-sm)-0.5d0*dist*dist/s O zpb= dmin1(zpb,zpbd3) O endif  O *i O *-----test on sp O *  O if(zpb.le.zpa) theni O iz= 0 O ifz(5)= ifz(5)+1  O go to 1 O endifx O *,5 O if((itc.eq.1.and.itcc.eq.1).or.(itc.eq.2)) then 8 O bdistl= (dist/rs-svv*ssm)*(dist/rs-svv*ssm)-zpa8 O bdistu= zpb-(dist/rs-svv*ssm)*(dist/rs-svv*ssm)2 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then O iz= 0  O ifz(5)= ifz(5)+1 O go to 1  O endif O endif  O *f5 O if((itc.eq.1.and.itcc.eq.1).or.(itc.eq.2)) then 0 O sp= (dist/rs/svv-ssm)*(dist/rs/svv-ssm)0 O ppjac= 2.d0*abs((dist/rs-svv*ssm))/ars/0 O # ((vv*sp-rwm2)**2+(vv*sp*swg)**2) O spjc= 1.d0s O else O *  O if(opeak.eq.'y') then O zpas= zpa-rwm2 O zpbs= zpb-rwm2& O atpa= (zpas+swgs*zpa)/rwmg& O atpb= (zpbs+swgs*zpb)/rwmg2 O if(atpa.gt.1.d0.and.atpb.gt.1.d0) then O atpa= 1.d0/atpa O atpa= atan(atpa) $ O zpat= (pih-atpa)/vwmg O atpb= 1.d0/atpb O atpb= atan(atpb) $ O zpbt= (pih-atpb)/vwmg' O spjc0= (-atpb+atpa)/vwmg58 O else if(atpa.gt.1.d0.and.atpb.lt.-1.d0) then O atpa= 1.d0/atpa O atpa= atan(atpa).$ O zpat= (pih-atpa)/vwmg O atpb= -1.d0/atpb  O atpb= atan(atpb)s% O zpbt= (-pih+atpb)/vwmg * O spjc0= (-pi+atpb+atpa)/vwmg< O else if(atpa.gt.1.d0.and.abs(atpb).lt.1.d0) then O atpa= 1.d0/atpa O atpa= atan(atpa) $ O zpat= (pih-atpa)/vwmg O atpb= atan(atpb)  O zpbt= atpb/vwmg+ O spjc0= (-pih+atpb+atpa)/vwmg 8 O else if(atpa.lt.-1.d0.and.atpb.gt.1.d0) then O atpa= -1.d0/atpa  O atpa= atan(atpa) % O zpat= (-pih+atpa)/vwmg O  O atpb= 1.d0/atpb O atpb= atan(atpb) $ O zpbt= (pih-atpb)/vwmg) O spjc0= (pi-atpb-atpa)/vwmg 9 O else if(atpa.lt.-1.d0.and.atpb.lt.-1.d0) thend O atpa= -1.d0/atpa  O atpa= atan(atpa)x% O zpat= (-pih+atpa)/vwmge O atpb= -1.d0/atpbe O atpb= atan(atpb)s% O zpbt= (-pih+atpb)/vwmgs& O spjc0= (atpb-atpa)/vwmg= O else if(atpa.lt.-1.d0.and.abs(atpb).lt.1.d0) then  O atpa= -1.d0/atpa( O atpa= atan(atpa)s% O zpat= (-pih+atpa)/vwmgs O atpb= atan(atpb)  O zpbt= atpb/vwmg* O spjc0= (pih+atpb-atpa)/vwmg< O else if(abs(atpa).lt.1.d0.and.atpb.gt.1.d0) then O atpa= atan(atpa)o O zpat= atpa/vwmg O atpb= 1.d0/atpb O atpb= atan(atpb) $ O zpbt= (pih-atpb)/vwmg* O spjc0= (pih-atpb-atpa)/vwmg= O else if(abs(atpa).lt.1.d0.and.atpb.lt.-1.d0) thenn O atpa= atan(atpa)d O zpat= atpa/vwmg O atpb= -1.d0/atpb O  O atpb= atan(atpb)b% O zpbt= (-pih+atpb)/vwmgu+ O spjc0= (-pih+atpb-atpa)/vwmg-A O else if(abs(atpa).lt.1.d0.and.abs(atpb).lt.1.d0) thena O atpa= atan(atpa)  O zpat= atpa/vwmg O atpb= atan(atpb)l O zpbt= atpb/vwmg& O spjc0= (atpb-atpa)/vwmg O endif O  O * O  O zpv= spjc0*spx+zpatv O iftn= 1  O atnp= vwmg*zpv; O sp= rwm2/opszgs/vv*(1.d0+swg*s07aaf(atnp,iftn)))# O if(iftn.ne.0) print 300a O ppjac= 1.d0v O spjc= vv*spjc0 O *e, O else if(opeak.eq.'n') then  O spjc0= zpb-zpa" O sp= (spjc0*spx+zpa)/vv8 O ppjac= 1.d0/((vv*sp-rwm2)**2+(vv*sp*swg)**2) O spjc= spjc0  O endif O endifl O *. O if(sp.lt.0.d0) thenb O iz= 0 O ifz(5)= ifz(5)+1v O go to 1 O endifv O ssp= sqrt(sp)  O spmm= sp-sm* O smmp= sm-spn O *  O cbw= -1.d0+sp-sm ifcr= 0 * O call c02ajf(one,cbw,sm,bt1,bt2,ifcr) O if(bt1(2).ne.0.d0) thenm O iz= 0 O ifz(6)= ifz(6)+1  O go to 1 O endife O *  O *-----Coul factors O *- O if(ocoul.eq.'y') then O 0 O betb= 1.d0-2.d0*(sp+sm)+(sp-sm)*(sp-sm) O if(betb.le.0.d0) then O iz= 0  O ifz(7)= ifz(7)+1 O go to 1  O endif O betb= sqrt(betb)d O bdel= abs(sp-sm) O bmsr= 1.d0-4.d0*rwm2/vv% O bmsi= 4.d0*rwm*rwg/vv+1.d-20s' O abm= sqrt(bmsr*bmsr+bmsi*bmsi) $ O bmr= sqrt(0.5d0*(abm+bmsr)) O bmi= 0.5d0*bmsi/bmr8 O acoulf= (bmr+bdel)*(bmr+bdel)+bmi*bmi-betb*betb& O acoulf= 0.5d0*acoulf/betb/bmi O acoulf= atan(acoulf) 9 O coulf= 0.5d0*alpha*pi/betb*(1.d0-2.d0/pi*acoulf) O else O coulf= 0.d0 O endif  O ssmpp= ssm+ssp O ssmmp= ssm-ssp O asup= 1.d0-ssmpp*ssmpp O asum= 1.d0-ssmmp*ssmmp+ O if(asup.lt.0.d0.or.asum.lt.0.d0) then- O iz= 0 O ifz(8)= ifz(8)+1* O go to 1 O endif  O rasup= sqrt(asup)0 O rasum= sqrt(asum)  O *d" O *-----initialization of su = M_0^2 O * % O *-----limits on su from cuts on FS IM  O *  O sulim= rrl(4)p O suuim1= rrr(4)5 O suuim2= (1.d0-srrl(3))*(1.d0-srrl(3)) ,! O suuim= dmin1(suuim1,suuim2)e O *o@ O *-----limits on su from Delta_- > 0 (as derived from consistency O * on sd limits)  O * / O suud1= 0.25d0*(rasup+rasum)*(rasup+rasum)e- O suud2= 0.25d0*(1.d0+rasup)*(1.d0+rasup) O  O *- O sul= sulim O sul= dmax1(sul,sct23)n O if(ieq.eq.0) then O  O sul1= bl(2)+bl(3)-1.d0r O suu1= 1.d0-sp-bl(1) O suu2= 1.d0-sm-bl(4)* O suu3= (1.d0-0.5d0*(bl(1)+bl(4)))** O # (1.d0-0.5d0*(bl(1)+bl(4))) O else if(ieq.eq.1) then* O sul1= xbl(2)+xbl(3)+1.d0-2.d0*enc O suu1= enc-sp-xbl(1) O suu2= enc-sm-xbl(4)+ O suu3= (enc-0.5d0*(xbl(1)+xbl(4)))*p* O # (enc-0.5d0*(xbl(1)+xbl(4))) O endifd O sul= dmax1(sul,sul1)2 O suu= dmin1(suuim,suud1,suud2,suu1,suu2,suu3) O *  O sdlim= rrl(3) % O if(itc.eq.1.and.itcc.eq.2) then " O dsdl= dmax1(sdlim,sct140)@ O dsuu= (dist/svv/rs-sqrt(dsdl))*(dist/svv/rs-sqrt(dsdl)) O suu= dmin1(suu,dsuu). O endif.% O if(itc.eq.1.and.itcc.eq.3) then2/ O suud3= 1.d0-sm-sp-0.5d0*dist*dist/vv/s  O suu= dmin1(suu,suud3) O endifr O *  O *-----test on su O *v O if(suu.le.sul) thenv O iz= 0 O ifz(9)= ifz(9)+1  O go to 1 O endif  O *0 O sujc= suu-sul0 O su= sujc*sux+sul O if(su.lt.0.d0) then  O iz= 0 O ifz(9)= ifz(9)+1 O  O go to 1 O endifq O ssu= sqrt(su)  O * " O *-----initialization of sd = m_0^2 O *x% O *-----limits on sd from cuts on FS IMi O *e O sdlim= rrl(3)  O sduim1= rrr(3)# O sduim2= (1.d0-ssu)*(1.d0-ssu) O ! O sduim= dmin1(sduim1,sduim2)i O *3# O *-----limits on sd from Delta_- > 0  O *  O if(ssu.gt.rasup) then & O sdld= (ssu-rasup)*(ssu-rasup) O else O sdld= sdlim O endif/$ O sdud1= (ssu+rasup)*(ssu+rasup)& O sdud2= (-ssu+rasum)*(-ssu+rasum) O sdud= dmin1(sdud1,sdud2) O *eC O *-----limits on sd from cuts on SA. Here for maximum security. Rare  O *jA O if(iac(3).ne.0.and.ss(4).eq.ss(1).and.ss(3).eq.ss(2)) then s O if(ss(2).eq.ss(1)) then# O asdu= dmin1(sduim,sdud)a# O asdl= dmax1(sdlim,sdld)1% O else if(ss(1).gt.ss(2)) then16 O sdusa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2))) O asdu= dmin1(sduim,sdud,sdusa) # O asdl= dmax1(sdlim,sdld)=% O els¯ø#̸ü=mF%oöV}б.†Í¦òú~'Íõ[ý §‘gæ$Lêñ„îXµ[ÓEÝ&O«R7køÆK°. O ¡Øº»°8,@î g^»%´ÐîbMJOm²$]!(‡·PêK‘b ƒ› ×h†õŸ{)”ûK7›¨”_lÀç?4{Q¯é~gªüG ø-¿{·+‹&*Æ×¹Ù NtâÕ¯äéwsdÉ¢wÑú.D?MBs»Vw%tµÆ^¤[âÆÖ63? r&¢Ò¢šû¤Úü^hù°ÁÈ)A«Ô†–Ó ÐÝ ;]­L¿‹'Ë$™îªÁçt[C#”²ÁæñÝ\Y åDäA#?ÐYÜÇ Í-ç¬'ÌÐÀÊ÷¾™6EçK"¤Ò}*4õXLSÐ2ˆ*ÈZ§£Ô>räKg#©C±#Ü«mCŽæ=§?ŒJL¼Å˜ŒÆÒµF€9æ“‚GªŒ_['£™xyè´äUÉ0P@ó‰ O ž¯Bü5ŒHë—ÅâºÚXׯ"5‘ p€EÇ Ó¤ZzÑóFHN ?Mõêz~A õØrg&þ]Må?*¼dGô÷:a){u‡ #—•yg># –b›ÖB÷Ò áÑXǻ“ln|Ι£”h äig«ÄÙk†Ù O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O  O *3 *-----control) O * O  O cnt1= scp+snmp O cnt2= scm+snp + O if(cnt1.gt.1.d0.or.cnt2.gt.1.d0) then  O iz= 0 O ifz(11)= ifz(11)+1  O go to 1 O endift O if(edelm.le.0.d0) then O etest= edeld+edelp  O if(etest.gt.0.d0) thenn O edelm= etest elsez O iz= 0  O ifz(12)= ifz(12)+1 O go to 1  O endif O endif  O sedm= sqrt(edelm)1 ifcr= 0). O call c02ajf(one,bsgmo,rlms,rr1,rr2,ifcr) O if(rr1(2).ne.0.d0) thent O iz= 0 O ifz(13)= ifz(13)+1  O go to 1 O endifs ifcr= 0n. O call c02ajf(one,bsgmo,rlps,rs1,rs2,ifcr) O * O  O cnt3= scp+snp O  O cnt4= scm+snm  O cbru= -1.d0f O ccru= 0.5d0*bsg1 O *r< O *-----R^2 has two real roots and two complex conjugate roots O *s+ O if(cnt3.gt.1.d0.or.cnt4.gt.1.d0) then) O if(bsg.gt.0.5d0) then O iel= 1 O sflr(1)= rr1(1)  O sfur(1)= rr2(1)a O sflr(2)= rr1(1)p O sfur(2)= rr2(1)s else  O iel= 2 O ifcr= 0 5 O call c02ajf(one,cbru,ccru,rru1,rru2,ifcr)t O ru1= rru1(1)*rru1(1) O ru2= rru2(1)*rru2(1) O sflr(1)= rr1(1)  O sflr(2)= ru2 O sfur(1)= ru1 O sfur(2)= rr2(1)  O endif O * O  O *-----R^2 has four real roots/ O *g1 O else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then  O if(bsg.gt.0.5d0) then O sflr(1)= rr1(1)  O sflr(2)= rs2(1)  O sfur(1)= rs1(1)  O sfur(2)= rr2(1)g else  O ifcr= 5 O call c02ajf(one,cbru,ccru,rru1,rru2,ifcr)p O ru1= rru1(1)*rru1(1) O ru2= rru2(1)*rru2(1) O sflr(1)= rr1(1)a& O sfur(1)= dmin1(rs1(1),ru1)& O sflr(2)= dmax1(rs2(1),ru2) O sfur(2)= rr2(1)= O endif O endif  O *a. O *-----the loop for transforming sf starts here O *  O if(om.eq.'g') then O itmn= it0 O itmx= it0 O else O itmn= 1 O itmx= 2 O endif0 O do it=itmn,itmxa$ O if(sflr(it).ge.asfl) then O sfl= sflr(it)  O elset O sfl= asfla O endif$ O if(sfur(it).le.asfu) then O sfu= sfur(it)) O else  O sfu= asfun O endif O *d O *-----test on sf O *= O if(sfu.le.sfl) then O iz= 0 O ifz(14)= ifz(14)+1 O go to 2. O endif O * * O if(itc.eq.1.and.itcc.eq.3) then O ittm= 2  O elsea O ittm= 1  O endif O *1 O do itt=1,ittm O *e* O if(itc.eq.1.and.itcc.eq.3) then O distm= dist/svv/rs9 O sbdist= 2.d0*(1.d0-sm-sp-su-sd)-distm*distm(% O if(sbdist.le.0.d0) then O  O iz= 0# O ifz(14)= ifz(14)+1i O go to 5 O endif  O if(itt.eq.1) then 4 O bdist= 0.25d0*(distm-sqrt(sbdist))*+ O # (distm-sqrt(sbdist)) $ O else if(itt.eq.2) then4 O bdist= 0.25d0*(distm+sqrt(sbdist))*+ O # (distm+sqrt(sbdist))n O endif= O bdistl= bdist-sfl= O bdistu= sfu-bdist-7 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then  O iz= 0# O ifz(14)= ifz(14)+1a O go to 5 O endifd O sf= bdistt O ssf= sqrt(sf)a; O pfjc= 2.d0/vv/rs*ssf*(distm-ssf)/sqrt(sbdist)=< O sfjc0= sf*sf+(sm+sp+su+sd-1.d0)*sf+su*sd+sm*sp0 O sfjc= 4.d0*sm*sp*su*sd-sfjc0*sfjc0# O if(sfjc.le.0.d0) then  O iz= 0 " O ifz(14)= ifz(14)+1 O go to 5s O else! O if(iel.eq.1) thena. O sfjc= 0.5d0*pfjc/sqrt(sfjc)& O else if(iel.eq.2) then( O sfjc= pfjc/sqrt(sfjc) O endifj O endif  O else/ O *vF O *-----transformation for jacobian, first Delta_+ < 0, then Delta_+ > 0 O * 0 O if(cnt3.gt.1.d0.or.cnt4.gt.1.d0) then O er= rs1(1) O es= abs(rs1(2))  O er1= rr1(1)p O er2= rr2(1)  O ek2= edelm/edeld O ek= sqrt(ek2) $ O dog= -2.d0/sqrt(edeld)) O ecpl= (ombsg-2.d0*sfl)/sedm ) O ecpu= (ombsg-2.d0*sfu)/sedm  O eql= ecpl*ecpl O equ= ecpu*ecpu) O omecpl= 2.d0*(sfl-er1)/sedm.) O es2pl= omecpl*(2.d0-omecpl)b! O erl= 1.d0-ek2*es2pl O  O espl= sqrt(es2pl) ) O opecpu= 2.d0*(er2-sfu)/sedmb) O es2pu= opecpu*(2.d0-opecpu)  O espu= sqrt(es2pu)v! O eru= 1.d0-ek2*es2pud O if(eql.eq.1) thenr O sflt= 0.d0q O else O ifel= 19 O sflt= -dog*espl*s21bbf(eql,erl,one,ifel)e# O if(ifel.ne.0) thenb O iz= 0(& O ifz(15)= ifz(15)+1 O go to 2 O  O endif O endif " O if(equ.eq.1.d0) then O sfut= 0.d0m O else O ifel= 19 O sfut= -dog*espu*s21bbf(equ,eru,one,ifel) # O if(ifel.ne.0) theno O iz= 0u& O ifz(16)= ifz(16)+1 O go to 2  O endif O endifo O if(iel.eq.1) thenp# O if(sfu.le.er) then  O efac= 0.5d0 - O sft= (sfut-sflt)*sfx+sflt O  O ifel= 1_! O asf= -sft/dog O ; O call s21caf(asf,ek2,elsn,elcn,edn,ifel)r& O if(ifel.ne.0) then O iz= 0) O ifz(17)= ifz(17)+1 O  O go to 2 O endif O / O sf= 0.5d0*(ombsg-sedm*elcn)-* O sfjc= efac*(sfut-sflt)) O else if(sfl.ge.er) then) O efac= 0.5d0 - O sft= (sflt-sfut)*sfx+sfutc O ifel= 1)! O asf= -sft/dog ; O call s21caf(asf,ek2,elsn,elcn,edn,ifel)-& O if(ifel.ne.0) then O iz= 0) O ifz(18)= ifz(18)+1u O go to 2 O endif./ O sf= 0.5d0*(ombsg+sedm*elcn) * O sfjc= efac*(sflt-sfut) O else O efac= 1.d0 O qbar= 0.d0" O rbar= 1.d0-ek2 O ifel= 1 O : O sfbar= -dog*s21bbf(qbar,rbar,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(19)= ifz(19)+1  O go to 2 O endiff$ O if(it.eq.1) then1 O sft= (sfbar-sflt)*sfx+sfltn O ifel= 1$ O asf= -sft/dog> O call s21caf(asf,ek2,elsn,elcn,edn,ifel)) O if(ifel.ne.0) thend O iz= 0d, O ifz(20)= ifz(20)+1! O go to 2g O endif2 O sf= 0.5d0*(ombsg-sedm*elcn). O sfjc= efac*(sfbar-sflt)* O else if(it.eq.2) then1 O sft= (sfbar-sfut)*sfx+sfuti O ifel= 1$ O asf= -sft/dog> O call s21caf(asf,ek2,elsn,elcn,edn,ifel)) O if(ifel.ne.0) then  O iz= 0 , O ifz(21)= ifz(21)+1! O go to 2  O endif2 O sf= 0.5d0*(ombsg+sedm*elcn). O sfjc= efac*(sfbar-sfut) O endif O endifu$ O else if(iel.eq.2) then O efac= 1.d0" O if(it.eq.1) then. O sft= (sfut-sflt)*sfx+sflt O ifel= 1" O asf= -sft/dog< O call s21caf(asf,ek2,elsn,elcn,edn,ifel)' O if(ifel.ne.0) thenc O iz= 0d* O ifz(22)= ifz(22)+1 O go to 2  O endif0 O sf= 0.5d0*(ombsg-sedm*elcn)+ O sfjc= efac*(sfut-sflt)c' O else if(it.eq.2) thend. O sft= (sflt-sfut)*sfx+sfut O ifel= 1" O asf= -sft/dog< O call s21caf(asf,ek2,elsn,elcn,edn,ifel)' O if(ifel.ne.0) thens O iz= 0 * O ifz(23)= ifz(23)+1 O go to 21 O endif0 O sf= 0.5d0*(ombsg+sedm*elcn)+ O sfjc= efac*(sflt-sfut)b O endifc O endifs6 O else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then$ O if(edelp.le.0.d0) then O iz= 0# O ifz(24)= ifz(24)+1m O go to 2 O endif  O sedp= sqrt(edelp)/ O efac= 1.d0 O es1= rs1(1)  O es2= rs2(1)s O er1= rr1(1)( O er2= rr2(1)b O ssed= sedm+sedpf" O ek= (sedm-sedp)/ssed O ek2= ek*ek O dog= 2.d0/ssed O if(it.eq.1) then. O es2pl= (er1-sfl)/(sfl-e )/ek. O es2pu= (er1-sfu)/(sfu-er2)/ek O eql= 1.d0-es2pl O equ= 1.d0-es2pu$ O erl= 1.d0-ek2*es2pl$ O eru= 1.d0-ek2*es2pu# O else if(it.eq.2) thene. O es2pl= (sfl-es2)/(sfl-es1)/ek. O es2pu= (sfu-es2)/(sfu-es1)/ek O eql= 1.d0-es2pl O equ= 1.d0-es2pu$ O erl= 1.d0-ek2*es2pl$ O eru= 1.d0-ek2*es2pu O endifd% O if(eql.eq.1.d0) then1 O sflt= 0.d0 O elses O ifel= 1s/ O sflt= 2.d0*dog*sqrt(es2pl)* 2 O # s21bbf(eql,erl,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(25)= ifz(25)+1 O  O go to 2 O endif  O endif% O if(equ.eq.1.d0) then* O sfut= 0.d0 O else  O ifel= 1n? O if(equ.lt.0.d0.and.abs(equ).lt.1.d-12) then O equ= 0.d0 O endifs/ O sfut= 2.d0*dog*sqrt(es2pu)* 2 O # s21bbf(equ,eru,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(26)= ifz(26)+1  O go to 2 O endif  O endif* O sft= (sfut-sflt)*sfx+sflt O ifel= 1# O asf= 0.5d0/dog*sft-8 O call s21caf(asf,ek2,elsn,elcn,edn,ifel)! O elsn2= elsn*elsnc# O if(ifel.ne.0) then0 O iz= 0c& O ifz(27)= ifz(27)+1 O go to 2  O endif! O if(it.eq.1) then#: O sf= (er1+ek*elsn2*er2)/(1.d0+ek*elsn2)& O else if(it.eq.2) then: O sf= (es2-ek*elsn2*es1)/(1.d0-ek*elsn2) O endif' O sfjc= efac*(sfut-sflt)  O endif O *u O endif O *l O *-----auxiliary quantities  O *  O sdpf= sd+sf O e3= sp+su+sfg O e4= 1.d0+spmm-e3n O e3p4= 1.d0+spmm O e1= sm+sdpf O e2= 1.d0+smmp-e13( O e1p2= 1.d0+smmp $ O e1p3= e1+e3 0 O e1m2= 2.d0*e1-1.d0+spmm  O ep12= xp*e1*e23 O ep1= xp*e1) O ep2= xp*e2  O ep3= xp*e3u O ep4= xp*e4  O e1t2= e1*e2 O e1t3= e1*e3 O e1t4= e1*e4 O e2t3= e2*e3 O e2t4= e2*e4 O e3t4= e3*e4/ O if((e1p3*e1p3-4.d0*sf).lt.0.d0) then  O iz= 0! O ifz(28)= ifz(28)+1( O go to 2 O endif( O skl2= sqrt(e1p3*e1p3-4.d0*sf)+ O if((sdmus-4.d0*sd).lt.0.d0) then) O iz= 0! O ifz(29)= ifz(29)+1  O go to 2 O endif O skl3= sdmus-4.d0*sd O skl3= sqrt(skl3). O *0 O *-----initialization of t_w  O * ) O *-----limits on tw from positivity and SAs O * O  O twlp1= 0.d0 O twlp2= smmp O twlp3= spmm-1.d0s) O twlp= dmax1(twlp1,twlp2,twlp3)( O twup= 1.d0- O *2" O *-----limits on tw from cuts on SA O *) O if(iac(3).ne.0) then & O skl2m= 0.5d0*(e1p3-skl2)& O skl2p= 0.5d0*(e1p3+skl2), O skl3p= -0.5d0*(1.d0+sdmu-skl3), O skl3m= -0.5d0*(1.d0+sdmu+skl3), O twlsa1= 1.d0-cs(3)*e3-cs(4)*e4' O twlsa2= ss(1)*e1+ss(2)*e2 O 8 O twlsa3= 1.d0-cs(3)*e3-cs(4)*e4-skl3p+skl3m4 O twlsa4= 1.d0-2.d0*cs(3)*e3+skl2m+skl3m4 O twlsa5= 1.d0-2.d0*cs(4)*e4-skl2p-skl3p8 O twlsa6= 1.d0-cs(3)*e3-cs(4)*e4-skl2p+skl2m, O twusa1= 1.d0-ss(3)*e3-ss(4)*e4' O twusa2= cs(1)*e1+cs(2)*e2s8 O twusa3= 1.d0-ss(3)*e3-ss(4)*e4+skl3p-skl3m4 O twusa4= 1.d0-2.d0*ss(4)*e4-skl2m-skl3m4 O twusa5= 1.d0-2.d0*ss(3)*e3+skl2p+skl3p8 O twusa6= 1.d0-ss(3)*e3-ss(4)*e4+skl2p-skl2m; O atwl= dmax1(twlp,twlsa1,twlsa2,twlsa3,twlsa4, ( O # twlsa5,twlsa6); O atwu= dmin1(twup,twusa1,twusa2,twusa3,twusa4, O ( O # twusa5,twusa6) O else) O atwl= twlp O atwu= twup O endif O * O  O *-----limits on tw from E- O *4 O if(ieq.eq.1) then. O atwle= 1.d0-bxe*e3p4+bl(3)+bl(4)) O atwue= bxe*e1p2-bl(1)-bl(2)h" O if(xdf.gt.0.d0) then O twle= atwle O twue= atwue' O else if(xdf.lt.0.d0) then-% O atwle1= bxe*e1-bl(1)l% O atwle2= bxe*e2-bl(2)h* O atwue1= 1.d0-bxe*e3+bl(3)* O atwue2= 1.d0-bxe*e4+bl(4)1 O twle= dmax1(atwue,atwle1,atwle2)f1 O twue= dmin1(atwle,atwue1,atwue2)( O endif O $ O atwl= dmax1(atwl,twle)$ O atwu= dmin1(atwu,twue) O endif O *  O *-----natural limits on tw O *)# O atwl= dmax1(atwl,bt1(1))1# O atwu= dmin1(atwu,bt2(1)). O *c O *-----test on tw O *  O twjc= atwu-atwl O tw= twjc*twx+atwl O pn= tw+sp-1.d0) O omtw= 1.d0-tw O *f O *-----initialization of t1 O * % O *-----limits on t1 from positivity+SAe O *( O t1lp1= 0.d0 O t1lp2= pn+sdpf  O t1up1= tw O t1up2= sm+sdpf # O t1lp= dmax1(t1lp1,t1lp2)1# O t1up= dmin1(t1up1,t1up2), O *u" O *-----limits on t1 from cuts on SA O *h O if(iac(3).ne.0) then( O t1lc1= ss(1)*e1# O t1lc2= tw-cs(2)*e2; O t1lc3= ss(3)*e3-(omtw-0.5d0*(1.d0+sdmu-skl3))v5 O t1lc4= -cs(4)*e4+0.5d0*(1.d0+sdmu-skl3)^/ O t1lc5= 0.5d0*(e1p3-skl2)-cs(3)*e3s4 O t1lc6= 0.5d0*(e1p3-skl2)-omtw+ss(4)*e4 O t1uc1= cs(1)*e1) O t1uc2= tw-ss(2)*e2; O t1uc3= cs(3)*e3-(omtw-0.5d0*(1.d0+sdmu+skl3))m5 O t1uc4= -ss(4)*e4+0.5d0*(1.d0+sdmu+skl3)l/ O t1uc5= 0.5d0*(e1p3+skl2)-ss(3)*e3l4 O t1uc6= 0.5d0*(e1p3+skl2)-omtw+cs(4)*e4> O t1lc= dmax1(t1lc1,t1lc2,t1lc3,t1lc4,t1lc5,t1lc6)> O t1uc= dmin1(t1uc1,t1uc2,t1uc3,t1uc4,t1uc5,t1uc6)$ O at1l= dmax1(t1lp,t1lc)$ O at1u= dmin1(t1up,t1uc) O else  O at1l= t1lp O at1u= t1up O endif O *m O *-----limits on t1 from Ee O *  O if(ieq.eq.1) then$ O at1le= tw-bxe*e2+bl(2)! O at1ue= bxe*e1-bl(1)z" O if(xdf.gt.0.d0) then O t1le= at1le O t1ue= at1ue O else O t1le= at1ue O t1ue= at1le O endife$ O at1l= dmax1(at1l,t1le)$ O at1u= dmin1(at1u,t1ue) O endif O * 4 O *-----positivity of (R')^2 / reality of roots for t3 O * O ! O rp0= e1p2*e1p2-4.d0*sm4 O if(rp0.lt.0.d0) then  O iz= 0 O O ifz(30)= ifz(30)+1 O go to 2e O endif O srp0= sqrt(rp0) O rp0e= -rp0(, O rp1= (e1*e1p2-2.d0*sm)*tw-sm*e1m2 O rp1e= 2.d0*rp1 & O rp2= -(e1*tw-sm)*(e1*tw-sm) O if(rp0e.eq.0.d0) then O iz= 0e O ifz(31)= ifz(31)+1 O go to 2  O endif O ifct= 0 O if(rp0e.ne.0.d0) then7 O call c02ajf(rp0e,rp1e,rp2,ret1,ret2,ifct)r/ O rpds= 0.5d0*rp0*(ret2(1)-ret1(1)) & O t1l= dmax1(at1l,ret1(1))& O t1u= dmin1(at1u,ret2(1))% O else if(rp0e.eq.0.d0) then3 O sret1= -rp2/rp1e# O if(rp1e.gt.0.d0) then ' O t1l= dmax1(at1l,sret1)r O t1u= at1u( O else if(rp1e.lt.0.d0) then O t1l= at1l' O t1u= dmin1(at1u,sret1), O endiff O endif O *= O *-----test on t1 O *  O if(t1u.le.t1l) then O iz= 01 O ifz(31)= ifz(31)+1 O go to 2  O endif O *,! O *-----transformation for jacobian O  O * O if(rp0e.eq.0.d0) then0 O taul= 2.d0/rp1e*sqrt(rp1e*t1l+rp2)0 O taut= 2.d0/rp1e*sqrt(rp1e*t1u+rp2) O t1jc= taut-taul 9 O t1= 0.25d0*rp1e*(t1jc*t1x+taul)**2-rp2/rp1en O endif" O if(ret1(1).eq.t1l) then O at1tl= -pih/srp0 O else 0 O bt1tl= 1.d0+rp0/rpds*(ret1(1)-t1l) O ifas= 1 - O at1tl= -s09aaf(bt1tl,ifas)/srp0 % O if(ifas.ne.0) print 200f O endif" O if(ret2(1).eq.t1u) then O at1tu= pih/srp0  O else=1 O bt1tu= -1.d0+rp0/rpds*(ret2(1)-t1u)f O ifas= 1.- O at1tu= -s09aaf(bt1tu,ifas)/srp0 % O if(ifas.ne.0) print 200  O endif) O if((at1tl+at1tu).eq.0.d0) then # O if(t1x.lt.1.d-3) then O  O arc= pi*t1x O arc2= arc*arc4 O exc= arc2*(ec2+arc2*(ec4+arc2*(ec6+- O # arc2*(ec8+arc2*ec10)))) 8 O t1= ret1(1)+0.5d0*(ret1(1)-ret2(1))*exc/ O else if((1.d0-t1x).lt.1.d-3) thent# O arc= pi*(1.d0-t1x)( O arc2= arc*arc4 O exc= arc2*(ec2+arc2*(ec4+arc2*(ec6+- O # arc2*(ec8+arc2*ec10))))58 O t1= ret2(1)-0.5d0*(ret1(1)-ret2(1))*exc O else" O carc= cos(pi*t1x)- O t1= 0.5d0*(ret1(1)+ret2(1))+ O 1 O # 0.5d0*(ret1(1)-ret2(1))*carct O endif  O t1jc= pi/srp01 O else & O t1tl= dmin1(at1tl,at1tu)& O t1tu= dmax1(at1tl,at1tu) O t1jc= t1tu-t1tl O t1t= t1jc*t1x+t1tl. O t1= (rp1+rpds*sin(srp0*t1t))/rp0 O endif O t1s= t1*t1  O * 1 O 200 format(' Unsuccesful call to S09AAF ')f O *j O *-----test on t1 from FS A O * / O if(ieq.eq.1.and.iac(4).ne.0.d0) then / O cnlct1= xp*(xm*sm-ep12*cg12)+xdf* 7 O # ep1*cg12*tw+xdf*cg12*t1*(ep2-ep1-0+ O # xdf*tw)+xdfs*cg12*t1s./ O cnlst1= xp*(ep12*sg12-xm*sm)-xdf*j7 O # ep1*sg12*tw+xdf*sg12*t1*(ep1-ep2+ + O # xdf*tw)-xdfs*sg12*t1sa% O if(cnlct1.lt.0.d0) then O  O iz= 0# O ifz(32)= ifz(32)+1  O go to 2* O else if(cnlst1.lt.0.d0) then O iz= 0# O ifz(33)= ifz(33)+1e O go to 2 O endif  O endif O *l O *-----some vector components O *d O t2= tw-t1  O *  O *-----equation for xi is solved  O *  O e1s= e1*e1  O e2s= e2*e2u O e3s= e3*e3. O e12= e1t2-2.d0*sm O e13= e1t3-2.d0*sf O e23= e2t3-2.d0*su O e12s= e12*e12 O e13s= e13*e13 O e23s= e23*e23 O xia= e1s*e2s-e12s= O xib= 2.d0*t1*(e2s*e13-e12*e23)+2.d0*t2*(e1s*e23-1< O # e12*e13)-e1*e2s*e13+e1*e12*e23-e1s*e2*e23+ O # e2*e12*e13= O xic= 8.d0*t1*t2*(-e3s*e12+e13*e23)+4.d0*t1*(-e1*s> O # e2s*e3s+e1*e23s+e2*e3s*e12-e2*e13*e23)+4.d0*< O # t1s*(e2s*e3s-e23s)+4.d0*t2*(e1*e3s*e12-e1*> O # e13*e23-e1s*e2*e3s+e2*e13s)+4.d0*t2*t2*(e1s*< O # e3s-e13s)-2.d0*e1t2*e3s*e12+2.d0*e1t2*e13*; O # e23+e1s*e2s*e3s+e3s*e12s-2.d0*e12*e13*e23  O xib= 2.d0*xib! O if(xia.eq.0.d0) thenf$ O if(xib.eq.0.d0) then O iz= 0% O ifz(34)= ifz(34)+1z O go to 2 O endif O rtm(1)= -xic/xib O rtp(1)= rtm(1) O rtm(2)= 0.d0 O rtp(2)= 0.d0 O ixia= 0  O elsel O ixia= 1  O ifc0= 0 5 O call c02ajf(xia,xib,xic,rtm,rtp,ifc0)1 O endif$ O if(rtm(2).ne.0.d0) then O iz= 0 " O ifz(35)= ifz(35)+1 O go to 2+ O endif O * O *-----xi^+ and xi^- are computed O * O # O xip= 0.5d0*(e3-rtp(1))g# O xim= 0.5d0*(e3-rtm(1))c O *f. O *-----each integral becomes a sum of two terms O *) O *-----loop over ix starts here O *. O if(om.eq.'g') then O ixmn= ix0 O ixmx= ix0 O else O ixmn= 1 O ixmx= 2 O endif, O do ix=ixmn,ixmx  O *f) O *-----q_3 is compared and x15 is selected= O * O " O if(ix.eq.1) then O t3= xip' O else if(ix.eq.2) then  O t3= xim O endif  O * % O *-----The two integrands are computed  O * " O *-----further auxiliary quantities O *0 O edn1= ep1-xdf*t1 O  O edn2= ep2-xdf*t22 O edn3= ep3-xdf*t3  O t4= omtw-t3 O edn4= ep4-xdf*t4  O * % O *-----collections of all limits on t3  O * % O *-----from energy (or natural limits)  O *z O if(ieq.eq.1) then* O at3l1= omtw-bxe*e4+bl(4)% O at3u1= bxe*e3-bl(3) & O if(xdf.gt.0.d0) then O t3l1= at3l1 O t3u1= at3u1+ O else if(xdf.lt.0.d0) thenf O t3l1= at3u1 O t3u1= at3l1 O endif  O else  O t3l1= 0.d0 O t3u1= e3 O endif O *  O *-----natural limits O * . O t3l2= -t1+0.5d0*(e1p3-skl2). O t3u2= -t1+0.5d0*(e1p3+skl2) O * 7 O t3l3= omtw+t1-0.5d0*(1.d0+sdmu+skl3) 7 O t3u3= omtw+t1-0.5d0*(1.d0+sdmu-skl3)e O *1 O *-----from positivity on SA  O *t O t3l4= 0.d0l$ O t3l5= sm+su+sf-tw! O t3u4= sp+su+sf) O t3u5= omtw  O *z *-----from SA  O * ' O if(iac(3).ne.0) then # O t3l6= ss(3)*e3 # O t3u6= cs(3)*e3 ( O t3l7= omtw-cs(4)*e4( O t3u7= omtw-ss(4)*e44 O t3l= dmax1(t3l1,t3l2,t3l3,t3l4,/ O # t3l5,t3l6,t3l7) 4 O t3u= dmin1(t3u1,t3u2,t3u3,t3u4,/ O # t3u5,t3u6,t3u7)  O else 9 O t3l= dmax1(t3l1,t3l2,t3l3,t3l4,t3l5) 9 O t3u= dmin1(t3u1,t3u2,t3u3,t3u4,t3u5)( O endif O *  O *-----limits on t3 are imposed O * , O tlimt3= (t3u-t3)*(t3-t3l)& O if(t3u.lt.t3l) then O iz= 0-( O ifz(36)= ifz(36)+1 O go to 4 / O else if(tlimt3.lt.0.d0) thent O iz= 0 ( O ifz(36)= ifz(36)+1 O go to 4  O endif O *s, O *-----non linear limits on t3,t4 are imposed O * 4 O if(iac(4).ne.0.and.ieq.eq.1) then3 O tnl13c= -cg13*edn1*edn3+vv*sf O 2 O tnl13s= sg13*edn1*edn3-vv*sf3 O tnl23c= -cg23*edn2*edn3+vv*sue2 O tnl23s= sg23*edn2*edn3-vv*su3 O tnl14c= -cg14*edn1*edn4+vv*sd42 O tnl14s= sg14*edn1*edn4-vv*sd* O sres= 1.d0-e1-e3+sf 5 O tnl24c= -cg24*edn2*edn4+vv*sres 4 O tnl24s= sg24*edn2*edn4-vv*sres3 O tnl34c= -cg34*edn3*edn4+vv*sp 2 O tnl34s= sg34*edn3*edn4-vv*sp= O if(tnl13c.lt.0.d0.or.tnl13s.lt.0.d0.or. = O # tnl23c.lt.0.d0.or.tnl23s.lt.0.d0.or. = O # tnl14c.lt.0.d0.or.tnl14s.lt.0.d0.or. = O # tnl24c.lt.0.d0.or.tnl24s.lt.0.d0.or.1? O # tnl34c.lt.0.d0.or.tnl34s.lt.0.d0) then  O iz= 0+ O ifz(37)= ifz(37)+1e O go to 4+ O endif l O endif O * : O *-----non linear constraints from FS A in the case xp = xm O *l7 O if(iac(4).ne.0.d0.and.ieq.eq.0) then . O smr= 1.d0-sm-sp-su-sd-sf; O spc12= (-cg12*e1t2+sm)*(sg12*e1t2-sm)q; O spc13= (-cg13*e1t3+sf)*(sg13*e1t3-sf) ; O spc14= (-cg14*e1t4+sd)*(sg14*e1t4-sd) ; O spc23= (-cg23*e2t3+su)*(sg23*e2t3-su)f= O spc24= (-cg24*e2t4+smr)*(sg24*e2t4-smr) ; O spc34= (-cg34*e3t4+sp)*(sg34*e3t4-sp)(M O if(spc12.lt.0.d0.or.spc13.lt.0.d0.or. N O # spc14.lt.0.d0.or.spc23.lt.0.d0.or. = O # spc24.lt.0.d0.or.spc34.lt.0.d0) then  O iz= 0+ O ifz(38)= ifz(38)+1 O go to 4 O endif  O endif O * O  O *-----all invariants O *  O x13= t1 O x14= t2 O x15= t3 O x16= t4 O x23= e1-t1  O x24= e2-t2  O x25= e3-t3f O x26= e4-t4t O x34= sm O x35= sf O x36= sd O x45= su' O x46= 1.d0-e1-e3+sfn O x56= sp O *n O *-----computes cross-section O *zB O *-----born matrix element is calculated at the reduced c.m. energy O * . O *-----propagators for pair production diagrams O *e! O pfp= e4-1.d0 ! O pfb= e1-1.d0 O " O pfpb= e3-1.d0 O pf= e2-1.d0 O *l O *-----extra propagators O  O * $ O pp23= x23+rszm2& O pp14= x14+rwm2/vv$ O pp13= x13+rszm2 O *r O *u( O *-----compensating single W propagators  O * & O wpcfr= sp-rwm2/vv& O wmcfr= sm-rwm2/vv" O wpcfi= sp*swg" O wmcfi= sm*swg O *m& O *-----Compensating double W propagator O * 2 O wtcfr= wpcfr*wmcfr-sp*sm*swgs3 O wtcfi= wpcfr*wmcfi+wmcfr*wpcfi  O *e, O *-----The epsilons are computed in the order9 O * epf(pp,pm,q1,q2),epf(pp,pm,q1,q3),epf(pp,pm,q1,q4), 9 O * epf(pp,pm,q2,q3),epf(pp,pm,q2,q4),epf(pp,pm,q3,q4),e9 O * epf(pp,q1,q2,q3),epf(pp,q1,q2,q4),epf(pp,q1,q3,q4), 9 O * epf(pp,q2,q3,q4),epf(pm,q1,q2,q3),epf(pm,q1,q2,q4),i8 O * epf(pm,q1,q3,q4),epf(pm,q2,q3,q4),epf(q1,q2,q3,q4) O *o" O x13s= x13*x13" O x14s= x14*x14" O x15s= x15*x15" O x16s= x16*x16" O x23s= x23*x23" O x24s= x24*x24" O x25s= x25*x25" O x26s= x26*x26" O x34s= x34*x34" O x35s= x35*x35" O x36s= x36*x36" O x45s= x45*x45" O x46s= x46*x46" O x56s= x56*x56G O * e> O ee(1)= 2.d0*(x13*x14*x23*x24+x13*x24*x34+A O # x14*x23*x34)-x13s*x24s-x14s*x23s-x34s > O ee(2)= 2.d0*(x13*x15*x23*x25+x13*x25*x35+A O # x15*x23*x35)-x13s*x25s-x15s*x23s-x35s O > O ee(3)= 2.d0*(x14*x15*x24*x25+x14*x25*x45+A O # x15*x24*x45)-x14s*x25s-x15s*x24s-x45s5B O ee(4)= 2.d0*(x13*x14*x35*x45+x13*x15*x34*x45+A O # x14*x15*x34*x35)-x13s*x45s-x14s*x35s-4% O # x15s*x34seB O ee(5)= 2.d0*(x23*x24*x35*x45+x23*x25*x34*x45+A O # x24*x25*x34*x35)-x23s*x45s-x24s*x35s-5% O # x25s*x34s G O * m O e(1)= 1.d0sF O e(2)= x13*x14*x23*x25+x13*x15*x23*x24+x13*(-2.d0*E O # x23*x45+x24*x35+x25*x34)-x14*x15*x23s+x14*tC O # x23*x35+x15*x23*x34-x13s*x24*x25-x34*x35uE O e(3)= -x13*x14*x24*x25+x13*x15*x24s-x13*x24*x45- F O # x14*x15*x23*x24+x14*(-x23*x45+2.d0*x24*x35-D O # x25*x34)-x15*x24*x34+x14s*x23*x25+x34*x45F O e(4 x13*x14*(x23*x45+x24*x35-2.d0*x25*x34)+x13*G O # x15*x24*x34+x13*x34*x45+x14*x15*x23*x34+x14*lF O # x34*x35-x15*x34s-x13s*x24*x45-x14s*x23*x35 G O e(5)= x13*(-x23*x24*x45-x24*x25*x34+x35*x24s)+x14* C O # (-x23*x24*x35-x23*x25*x34+x45*x23s)+x15*eD O # 2.d0*x23*x24*x34-x23*x34*x45-x24*x34*x35+$ O # x25*x34s O *u O *-----sign of eps_1*eps_i- O *- O ises= 0" O sg(1)= 0.25d0+ O if(ee(1).lt.0.d0) then-$ O ises= ises+1 O endif O do i=2,5d2 O if(abs(e(i)).lt.zrm) then( O ises= ises+12 O else if(e(i).gt.zrm) then) O sg(i)= 0.25d0 3 O else if(e(i).lt.-zrm) thenl* O sg(i)= -0.25d0 O endif/ O if(ee(i).lt.0.d0) then ( O ises= ises+1 O endif O enddo O *1' O if(ises.eq.0) thens/ O ses1= sg(1)*sqrt(ee(1))c/ O ses2= sg(2)*sqrt(ee(2))c/ O ses3= sg(3)*sqrt(ee(3)) / O ses4= sg(4)*sqrt(ee(4))2/ O ses5= sg(5)*sqrt(ee(5))+ O s1= ses1 O s2= ses2& O s3= -ses1-ses2 O s4= ses3% O s5= ses1-ses3 % O s6= ses2+ses3c O s7= ses4% O s8= ses1-ses41% O s9= ses2+ses4l& O s10= ses3-ses4! O s11= ses5t' O s12= -ses1-ses5 ' O s13= -ses2+ses5e' O s14= -ses3-ses5 ' O s15= -ses4-ses5  O else A O ee(1)= 2.d0*(x13*x14*x23*x24+x13*x24*x34+ D O # x14*x23*x34)-x13s*x24s-x14s*x23s-x34sA O ee(2)= 2.d0*(x13*x16*x23*x26+x13*x26*x36+ D O # x16*x23*x36)-x13s*x26s-x16s*x23s-x36sA O ee(3)= 2.d0*(x14*x16*x24*x26+x14*x26*x46+ D O # x16*x24*x46)-x14s*x26s-x16s*x24s-x46sE O ee(4)= 2.d0*(x13*x14*x36*x46+x13*x16*x34*x46+ D O # x14*x16*x34*x36)-x13s*x46s-x14s*x36s-( O # x16s*x34sE O ee(5)= 2.d0*(x23*x24*x36*x46+x23*x26*x34*x46+-E O # x24*x26*x34*x36)-x23s*x46s-x24s*x36s- O ) O # x26s*x34s " O e(1)= 1.d0> O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+B O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)-C O # x14*x16*x23s+x14*x23*x36+x16*x23*x34- 2 O # x13s*x24*x26-x34*x36@ O e(3)= -x13*x14*x24*x26+x13*x16*x24s-x13*@ O # x24*x46-x14*x16*x23*x24+x14*(-x23*@ O # x46+2.d0*x24*x36-x26*x34)-x16*x24*6 O # x34+x14s*x23*x26+x34*x46@ O e(4)= x13*x14*(x23*x46+x24*x36-2.d0*x26*? O # x34)+x13*x16*x24*x34+x13*x34*x46+ > O # x14*x16*x23*x34+x14*x34*x36-x16*= O # x34s-x13s*x24*x46-x14s*x23*x36 @ O e(5)= x13*(-x23*x24*x46-x24*x26*x34+x36*> O # x24s)+x14*(-x23*x24*x36-x23*x26*A O # x34+x46*x23s)+x16*2.d0*x23*x24*x34-*> O # x23*x34*x46-x24*x34*x36+x26*x34s O ises= 0 % O sg(1)= 0.25d0 . O if(ee(1).lt.0.d0) then' O ises= ises+1= O endif O do i=2,55 O if(abs(e(i)).lt.zrm) then O + O ises= ises+1s5 O else if(e(i).gt.zrm) then O , O sg(i)= 0.25d06 O else if(e(i).lt.-zrm) then- O sg(i)= -0.25d0l! O endif 2 O if(ee(i).lt.0.d0) then+ O ises= ises+1 ! O endif2 O enddor* O if(ises.eq.0) then2 O ses1= sg(1)*sqrt(ee(1))2 O ses2= sg(2)*sqrt(ee(2))2 O ses3= sg(3)*sqrt(ee(3))2 O ses4= sg(4)*sqrt(ee(4))2 O ses5= sg(5)*sqrt(ee(5))# O s1= ses1e) O s2= -ses1-ses2 # O s3= ses2 ) O s4= -ses1-ses3 # O s5= ses32) O s6= -ses2-ses3 ( O s7= ses1-ses4# O s8= ses4 ) O s9= -ses2-ses4 * O s10= -ses3+ses4* O s11= -ses1-ses5$ O s12= ses5) O s13= ses2-ses5a) O s14= ses3+ses5-) O s15= ses4+ses5e O elseD O ee(1)= 2.d0*(x13*x15*x23*x25+x13*x25*x35+C O # x15*x23*x35)-x13s*x25s-x15s*x23s-w& O # x35sD O ee(2)= 2.d0*(x13*x16*x23*x26+x13*x26*x36+C O # x16*x23*x36)-x13s*x26s-x16s*x23s- & O # x36sD O ee(3)= 2.d0*(x15*x16*x25*x26+x15*x26*x56+C O # x16*x25*x56)-x15s*x26s-x16s*x25s- & O # x56sD O ee(4)= 2.d0*(x13*x15*x36*x56+x13*x16*x35*A O # x56+x15*x16*x35*x36)-x13s*x56s--5 O # x15s*x36s-x16s*x35s1D O ee(5)= 2.d0*(x23*x25*x36*x56+x23*x26*x35*A O # x56+x25*x26*x35*x36)-x23s*x56s-35 O # x25s*x36s-x26s*x35s G O * sA O e(1)= x13*x14*x23*x25+x13*x15*x23*x24+ E O # x13*(-2.d0*x23*x45+x24*x35+x25*x34)- B O # x14*x15*x23s+x14*x23*x35+x15*x23*9 O # x34-x13s*x24*x25-x34*x35eA O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+eE O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)-1B O # x14*x16*x23s+x14*x23*x36+x16*x23*9 O # x34-x13s*x24*x26-x34*x36 O B O e(3)= -x13*x15*x24*x26+x13*x16*x24*x25+D O # x13*(-x25*x46+x26*x45)+x14*x15*x23*F O # x26-x14*x16*x23*x25+x14*(x25*x36-x26*F O # x35)+x15*(-x23*x46+x24*x36)+x16*(x23*= O # x45-x24*x35)+x35*x46-x36*x45 O C O e(4)= x13*x14*(x25*x36-x26*x35)+x13*x15* E O # (x23*x46-x26*x34)+x13*x16*(-x23*x45+,D O # x25*x34)+x13*(x35*x46-x36*x45)-x14*E O # x15*x23*x36+x14*x16*x23*x35+x15*x34* D O # x36-x16*x34*x35+x13s*(-x25*x46+x26*% O # x45))G O e(5)= x13*(-x23*x25*x46+x23*x26*x45+x24*x25* D O # x36-x24*x26*x35)+x15*(-x23*x24*x36-D O # x23*x26*x34+x46*x23s)+x16*(x23*x24*C O # x35+x23*x25*x34-x45*x23s)-x23*x35* O E O # x46+x23*x36*x45-x25*x34*x36+x26*x34*a$ O # x35 O * " O ises= 0# O do i=1,5l8 O if(abs(e(i)).lt.zrm) then. O ises= ises+18 O else if(e(i).gt.zrm) then/ O sg(i)= 0.25d0 9 O else if(e(i).lt.-zrm) then 0 O sg(i)= -0.25d0$ O endif5 O if(ee(i).lt.0.d0) then O . O ises= ises+1$ O endif O enddo- O if(ises.eq.0) then 5 O ses1= sg(1)*sqrt(ee(1))a5 O ses2= sg(2)*sqrt(ee(2)) 5 O ses3= sg(3)*sqrt(ee(3))=5 O ses4= sg(4)*sqrt(ee(4)) O 5 O ses5= sg(5)*sqrt(ee(5))3, O s1= -ses1-ses2& O s2= ses1& O s3= ses2, O s4= -ses1+ses3, O s5= -ses2-ses3& O s6= ses3, O s7= -ses1+ses4, O s8= -ses2-ses4& O s9= ses4, O s10= ses3-ses4, O s11= ses1+ses5, O s12= ses2-ses5' O s13= ses5 - O s14= -ses3-ses5t- O s15= -ses4-ses54 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O if(ockm.eq.'y') then8, O if(ickm.eq.1) thenA O dpp1arc= dpp1arc*vckm(1,1)*vckm(1,1) A O dpp1aic= dpp1aic*vckm(1,1)*vckm(1,1) 1 O else if(ickm.eq.2) then A O dpp1arc= dpp1arc*vckm(1,2)*vckm(1,2) A O dpp1aic= dpp1aic*vckm(1,2)*vckm(1,2)41 O else if(ickm.eq.3) then A O dpp1arc= dpp1arc*vckm(1,3)*vckm(1,3)eA O dpp1aic= dpp1aic*vckm(1,3)*vckm(1,3) 1 O else if(ickm.eq.4) then A O dpp1arc= dpp1arc*vckm(2,1)*vckm(2,1) A O dpp1aic= dpp1aic*vckm(2,1)*vckm(2,1) 1 O else if(ickm.eq.5) thenxA O dpp1arc= dpp1arc*vckm(2,2)*vckm(2,2)xA O dpp1aic= dpp1aic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) thenxA O dpp1arc= dpp1arc*vckm(2,3)*vckm(2,3)sA O dpp1aic= dpp1aic*vckm(2,3)*vckm(2,3)  O endif  O endif O **G O *-----pair production II: common part 4 O *6A O dpp2arc= +2.d0*gc3*x13+2.d0*gc5*x23*(-x13*xC O # x45+x14*x35)-2.d0*gc6*x14*x23+2.d0* ; O # gc8*(x13*x25-x35)+2.d0*gc10 O @ O dpp2aic= 8.d0*(-gc5*x23*s7+gc6*s1-gc8*s2)+ O if(ockm.eq.'y') then6, O if(ickm.eq.1) thenA O dpp2arc= dpp2arc*vckm(1,1)*vckm(1,1)*A O dpp2aic= dpp2aic*vckm(1,1)*vckm(1,1)x1 O else if(ickm.eq.2) then A O dpp2arc= dpp2arc*vckm(1,2)*vckm(1,2) A O dpp2aic= dpp2aic*vckm(1,2)*vckm(1,2)*1 O else if(ickm.eq.3) then A O dpp2arc= dpp2arc*vckm(1,3)*vckm(1,3) A O dpp2aic= dpp2aic*vckm(1,3)*vckm(1,3) 1 O else if(ickm.eq.4) then A O dpp2arc= dpp2arc*vckm(2,1)*vckm(2,1) A O dpp2aic= dpp2aic*vckm(2,1)*vckm(2,1) 1 O else if(ickm.eq.5) then A O dpp2arc= dpp2arc*vckm(2,2)*vckm(2,2)iA O dpp2aic= dpp2aic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) then O A O dpp2arc= dpp2arc*vckm(2,3)*vckm(2,3) A O dpp2aic= dpp2aic*vckm(2,3)*vckm(2,3)( O endif  O endif O * E O *-----pair production III: common part i O *+A O dpp3arc= 2.d0*gc3*(x35-x13)+2.d0*gc6*(x14*dB O # x23-x23*x45)+2.d0*gc10*(-1.d0+x25)2 O dpp3aic= -8.d0*gc6*(s1+s11)+ O if(ockm.eq.'y') then , O if(ickm.eq.1) thenA O dpp3arc= dpp3arc*vckm(1,1)*vckm(1,1) A O dpp3aic= dpp3aic*vckm(1,1)*vckm(1,1) 1 O else if(ickm.eq.2) then A O dpp3arc= dpp3arc*vckm(1,2)*vckm(1,2)sA O dpp3aic= dpp3aic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) thensA O dpp3arc= dpp3arc*vckm(1,3)*vckm(1,3) A O dpp3aic= dpp3aic*vckm(1,3)*vckm(1,3) 1 O else if(ickm.eq.4) then A O dpp3arc= dpp3arc*vckm(2,1)*vckm(2,1)sA O dpp3aic= dpp3aic*vckm(2,1)*vckm(2,1) 1 O else if(ickm.eq.5) theneA O dpp3arc= dpp3arc*vckm(2,2)*vckm(2,2)3A O dpp3aic= dpp3aic*vckm(2,2)*vckm(2,2)21 O else if(ickm.eq.6) then A O dpp3arc= dpp3arc*vckm(2,3)*vckm(2,3) A O dpp3aic= dpp3aic*vckm(2,3)*vckm(2,3)  O endif3 O endif O *(D O *-----pair production IV: common part  O * < O dpp4arc= gc1*x24*x36-gc2*x26-gc3*x23+= O # gc4*(x13*(-x24*x56+x26*x45)+ 3> O # x14*(x23*x56-x25*x36-x26*x35)-? O # x16*(x23*x45-x24*x35)+x36*x45)+6? O # gc7*(x13*x25-2.d0*x13*x45+2.d0**? O # x14*x35-x35)+gc9*(x16*x25-x56)+3) O # 2.d0*gc11 C O dpp4aic= -4.d0*gc1*s12+4.d0*gc4*(x25*s8+x36* C O # s4-s15)-4.d0*gc7*(s2+2.d0*s7)+4.d0*x& O # gc9*s6+ O if(ockm.eq.'y') then+, O if(ickm.eq.1) thenA O dpp4arc= dpp4arc*vckm(1,1)*vckm(1,1) A O dpp4aic= dpp4aic*vckm(1,1)*vckm(1,1)x1 O else if(ickm.eq.2) then A O dpp4arc= dpp4arc*vckm(1,2)*vckm(1,2) A O dpp4aic= dpp4aic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) then A O dpp4arc= dpp4arc*vckm(1,3)*vckm(1,3)#A O dpp4aic= dpp4aic*vckm(1,3)*vckm(1,3) 1 O else if(ickm.eq.4) then4A O dpp4arc= dpp4arc*vckm(2,1)*vckm(2,1)+A O dpp4aic= dpp4aic*vckm(2,1)*vckm(2,1)31 O else if(ickm.eq.5) then3A O dpp4arc= dpp4arc*vckm(2,2)*vckm(2,2)(A O dpp4aic= dpp4aic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) then A O dpp4arc= dpp4arc*vckm(2,3)*vckm(2,3) A O dpp4aic= dpp4aic*vckm(2,3)*vckm(2,3)# O endif O  O endif O *x? O *-----complete diagrams, epsilon real and imag parts separated:  O * " O *-----complete conversion diagram: O * O & O dcr= -0.25d0*dcr& O dci= -0.25d0*dci O * % O *-----complete annihilation diagrams:x O *)7 O adap= 0.5d0*(sth2*omrz+0.5d0*rsz)x' O daar= -adap*daarc 3 O daare= 0.5d0*asth2*aisz*daaici( O daaie= -adap*daaic3 O daai= -0.5d0*asth2*aisz*daarcm O *hD O *-----complete pair production I-IV:  O * 7 O hcpd1= 1.d0-tsth2*(omchdp+hchdp) 5 O hcpd2= 1.d0-tsth2*(omchd+hchd) 8 O hcpu3= -1.d0+tsth2*(opchup-hchup)6 O hcpu4= -1.d0+tsth2*(opchu-hchu) O *fB O gcpd1= (1.d0-tsth2*opchdp-omrz*hcpd1)*scth2A O gcpd2= (1.d0-tsth2*opchd-omrz*hcpd2)*scth2 B O gcpu3= (1.d0-tsth2*omchup+omrz*hcpu3)*scth2A O gcpu4= (1.d0-tsth2*omchu+omrz*hcpu4)*scth2t O *(, O dpp1ar= gcpd1*dpp1arcB O dpp1are= -hcpd1*haisz*dpp1aic - O dpp1aie= gcpd1*dpp1aicq@ O dpp1ai= hcpd1*haisz*dpp1arc - O dpp2ar= -gcpd2*dpp2arc O A O dpp2are= hcpd2*haisz*dpp2aic . O dpp2aie= -gcpd2*dpp2aicA O dpp2ai= -hcpd2*haisz*dpp2arc , O dpp3ar= gcpu3*dpp3arcA O dpp3are= hcpu3*haisz*dpp3aic -- O dpp3aie= gcpu3*dpp3aic A O dpp3ai= -hcpu3*haisz*dpp3arc - O dpp4ar= -gcpu4*dpp4arc B O dpp4are= -hcpu4*haisz*dpp4aic . O dpp4aie= -gcpu4*dpp4aic@ O dpp4ai= hcpu4*haisz*dpp4arc  O *e< O *-----comp sating the missing W and the fermion propagators O * > O d11ar= (dpp1ar*wpcfr-dpp1ai*wpcfi)/pfp+> O # (dpp2ar*wmcfr-dpp2ai*wmcfi)/pfb+? O # (dpp3ar*wpcfr-dpp3ai*wpcfi)/pfpb+=< O # (dpp4ar*wmcfr-dpp4ai*wmcfi)/pfA O d11are= (dpp1are*wpcfr-dpp1aie*wpcfi)/pfp+ A O # (dpp2are*wmcfr-dpp2aie*wmcfi)/pfb+5B O # (dpp3are*wpcfr-dpp3aie*wpcfi)/pfpb+? O # (dpp4are*wmcfr-dpp4aie*wmcfi)/pf > O d11ai= (dpp1ar*wpcfi+dpp1ai*wpcfr)/pfp+> O # (dpp2ar*wmcfi+dpp2ai*wmcfr)/pfb+? O # (dpp3ar*wpcfi+dpp3ai*wpcfr)/pfpb+ < O # (dpp4ar*wmcfi+dpp4ai*wmcfr)/pfA O d11aie= (dpp1are*wpcfi+dpp1aie*wpcfr)/pfp+lA O # (dpp2are*wmcfi+dpp2aie*wmcfr)/pfb+ B O # (dpp3are*wpcfi+dpp3aie*wpcfr)/pfpb+? O # (dpp4are*wmcfi+dpp4aie*wmcfr)/pf  O * O pns= pn*pn- O darc= dcr/pn+daar-d11ar ) O darec= daare-d11are 0 O daiec= dci/pn+daaie-d11aie< O daic= daai-d11ai  O * ( O darc3= dcr/pn+daar# O darec3= daare)* O daiec3= dci/pn+daaie7 O daic3= daai  O *  O *-----helicity b)) O *  O * G O *-----annihilation diagrams: common part 3G O * s< O dabrc= 2.d0*gc12*(x23*x36*x45-x24*x35*= O # x36)+gc13*(-x13*x23*x45+x13*x24*s= O # x35-0.5d0*x13*x24*x56+0.5d0*x13* = O # x26*x45-0.5d0*x15*x23*x46+0.5d0*n; O # x15*x24*x36+0.5d0*x16*x23*x45- = O # 0.5d0*x16*x24*x35+0.5d0*x35*x46- O < O # 0.5d0*x36*x45)+2.d0*gc14*(-x23*> O # x56+x26*x35)+gc15*(x23*x45+0.5d0*< O # x23*x56-x24*x35-0.5d0*x26*x35)+= O # gc16*(x15*x23-0.5d0*x15*x26-x35+1< O # 0.5d0*x56)+3.d0*gc17-2.d0*gc20*< O # x56+gc21*(-x35+1.5d0*x36)+2.d0*: O # gc22*x36*x45+gc23*(x15+1.5d0*; O # x16)+gc24*(-x13*x45-1.5d0*x13*n! O # x46)gB O dabic= 8.d0*gc12*x36*s11+2.d0*gc13*(x16*s11-D O # 2.d0*x23*s7+x23*s10+2.d0*x35*s1+x35*s5-C O # x46*s2)+8.d0*gc14*s13+2.d0*gc15*(2.d0* E O # s11-s13)-8.d0*gc18*s10-8.d0*gc19*x45*s8+a8 O # 2.d0*gc24*(2.d0*s7-3.d0*s8)* O if(ockm.eq.'y') then+ O if(ickm.eq.1) then=< O dabrc= dabrc*vckm(1,1)*vckm(1,1)< O dabic= dabic*vckm(1,1)*vckm(1,1)0 O else if(ickm.eq.2) then< O dabrc= dabrc*vckm(1,2)*vckm(1,2)< O dabic= dabic*vckm(1,2)*vckm(1,2)0 O else if(ickm.eq.3) then< O dabrc= dabrc*vckm(1,3)*vckm(1,3)< O dabic= dabic*vckm(1,3)*vckm(1,3)0 O else if(ickm.eq.4) then< O dabrc= dabrc*vckm(2,1)*vckm(2,1)< O dabic= dabic*vckm(2,1)*vckm(2,1)0 O else if(ickm.eq.5) then< O dabrc= dabrc*vckm(2,2)*vckm(2,2)< O dabic= dabic*vckm(2,2)*vckm(2,2)0 O else if(ickm.eq.6) then< O dabrc= dabrc*vckm(2,3)*vckm(2,3)< O dabic= dabic*vckm(2,3)*vckm(2,3) O endif O endif( O *)G O *-----pair production I: common part  O * A O dpp1brc= gc12*(-x13*(x24*x56-x26*x45)+x14* B O # (x23*x56-x26*x35)+x15*x24*x36-x16*@ O # (x23*x45-x24*x35)-x36*x45)+gc13*@ O # (x13*(x24*x56-x26*x45)+x15*(x23*C O # x46-x24*x36)-x16*(x23*x45-x24*x35)- @ O # x35*x46+x36*x45)+gc14*(-x15*x26+@ O # x56)+gc15*(-x15*x23-x23*x56+x26*A O # x35+x35)+gc16*(x15*x26-x56)+gc20* > O # x16+gc21*(x13+x36)+gc22*(-x14*= O # x36)+gc23*x16+gc24*(-x13*x46)d@ O dpp1bic= 4.d0*gc12*(-x14*s13-x16*s11+x23*@ O # s10+x35*s5)+4.d0*gc13*(-x13*s14-C O # x26*s7+x56*s1)+4.d0*gc15*(-s2+s13)-0? O # 4.d0*gc16*s6+4.d0*gc22*s8-4.d0*4' O # gc24*s80+ O if(ockm.eq.'y') then , O if(ickm.eq.1) thenA O dpp1brc= dpp1brc*vckm(1,1)*vckm(1,1) A O dpp1bic= dpp1bic*vckm(1,1)*vckm(1,1)#1 O else if(ickm.eq.2) thenxA O dpp1brc= dpp1brc*vckm(1,2)*vckm(1,2)2A O dpp1bic= dpp1bic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) then3A O dpp1brc= dpp1brc*vckm(1,3)*vckm(1,3) O A O dpp1bic= dpp1bic*vckm(1,3)*vckm(1,3)#1 O else if(ickm.eq.4) then*A O dpp1brc= dpp1brc*vckm(2,1)*vckm(2,1)dA O dpp1bic= dpp1bic*vckm(2,1)*vckm(2,1))1 O else if(ickm.eq.5) thencA O dpp1brc= dpp1brc*vckm(2,2)*vckm(2,2) A O dpp1bic= dpp1bic*vckm(2,2)*vckm(2,2)c1 O else if(ickm.eq.6) thenaA O dpp1brc= dpp1brc*vckm(2,3)*vckm(2,3)kA O dpp1bic= dpp1bic*vckm(2,3)*vckm(2,3)k O endif  O endif O *)H O *-----pair production II: common part  O * A O dpp2brc= 2.d0*gc13*x13*(-x23*x45+x24*x35)+iB O # 2.d0*gc16*(x15*x23-x35)+2.d0*gc21*? O # x23+2.d0*gc23-2.d0*gc24*x13*x24k@ O dpp2bic= 8.d0*gc13*(-x23*s7+x35*s1)-8.d0*' O # gc24*s1.+ O if(ockm.eq.'y') then=, O if(ickm.eq.1) thenA O dpp2brc= dpp2brc*vckm(1,1)*vckm(1,1) A O dpp2bic= dpp2bic*vckm(1,1)*vckm(1,1)v1 O else if(ickm.eq.2) theniA O dpp2brc= dpp2brc*vckm(1,2)*vckm(1,2) A O dpp2bic= dpp2bic*vckm(1,2)*vckm(1,2) 1 O else if(ickm.eq.3) then A O dpp2brc= dpp2brc*vckm(1,3)*vckm(1,3) A O dpp2bic= dpp2bic*vckm(1,3)*vckm(1,3) 1 O else if(ickm.eq.4) then*A O dpp2brc= dpp2brc*vckm(2,1)*vckm(2,1)2A O dpp2bic= dpp2bic*vckm(2,1)*vckm(2,1)31 O else if(ickm.eq.5) then2A O dpp2brc= dpp2brc*vckm(2,2)*vckm(2,2) A O dpp2bic= dpp2bic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) then A O dpp2brc= dpp2brc*vckm(2,3)*vckm(2,3).A O dpp2bic= dpp2bic*vckm(2,3)*vckm(2,3)  O endif* O endif O * D O *-----production III: common part  O * ? O dpp3brc= 2.d0*gc21*(-x23+x35)+2.d0*gc23*eC O # (-1.d0+x15)+2.d0*gc24*x13*(x24-x45) 1 O dpp3bic= 8.d0*gc24*(s1-s7)1+ O if(ockm.eq.'y') thenp, O if(ickm.eq.1) thenA O dpp3brc= dpp3brc*vckm(1,1)*vckm(1,1)aA O dpp3bic= dpp3bic*vckm(1,1)*vckm(1,1)a1 O else if(ickm.eq.2) then A O dpp3brc= dpp3brc*vckm(1,2)*vckm(1,2)aA O dpp3bic= dpp3bic*vckm(1,2)*vckm(1,2)a1 O else if(ickm.eq.3) then A O dpp3brc= dpp3brc*vckm(1,3)*vckm(1,3)aA O dpp3bic= dpp3bic*vckm(1,3)*vckm(1,3)a1 O else if(ickm.eq.4) then A O dpp3brc= dpp3brc*vckm(2,1)*vckm(2,1)aA O dpp3bic= dpp3bic*vckm(2,1)*vckm(2,1)a1 O else if(ickm.eq.5) then A O dpp3brc= dpp3brc*vckm(2,2)*vckm(2,2)aA O dpp3bic= dpp3bic*vckm(2,2)*vckm(2,2)a1 O else if(ickm.eq.6) then A O dpp3brc= dpp3brc*vckm(2,3)*vckm(2,3)tA O dpp3bic= dpp3bic*vckm(2,3)*vckm(2,3)  O endif* O endif O * I O *-----pair production IV: common part  O * @ O dpp4brc= gc12*(x13*(x24*x56-x26*x45)-x14*B O # (x23*x56-x26*x35)-x15*x24*x36+x16*@ O # (x23*x45-x24*x35)+x36*x45)+gc14*B O # (x15*x26-x56)+gc15*(x15*x23-2*x23*@ O # x45+2.d0*x24*x35-x35)+2.d0*gc17-> O # gc20*x16-gc21*x13+gc22*x14*x36C O dpp4bic= 4.d0*gc12*(x14*s13+x16*s11-x23*s10- @ O # x35*s5)+4.d0*gc15*(s2-2.d0*s11)-, O # 4.d0*gc22*s8+ O if(ockm.eq.'y') thenc, O if(ickm.eq.1) thenA O dpp4brc= dpp4brc*vckm(1,1)*vckm(1,1) A O dpp4bic= dpp4bic*vckm(1,1)*vckm(1,1)21 O else if(ickm.eq.2) then A O dpp4brc= dpp4brc*vckm(1,2)*vckm(1,2) A O dpp4bic= dpp4bic*vckm(1,2)*vckm(1,2)21 O else if(ickm.eq.3) then A O dpp4brc= dpp4brc*vckm(1,3)*vckm(1,3) A O dpp4bic= dpp4bic*vckm(1,3)*vckm(1,3)21 O else if(ickm.eq.4) then A O dpp4brc= dpp4brc*vckm(2,1)*vckm(2,1) A O dpp4bic= dpp4bic*vckm(2,1)*vckm(2,1):1 O else if(ickm.eq.5) then A O dpp4brc= dpp4brc*vckm(2,2)*vckm(2,2) A O dpp4bic= dpp4bic*vckm(2,2)*vckm(2,2) 1 O else if(ickm.eq.6) then A O dpp4brc= dpp4brc*vckm(2,3)*vckm(2,3) A O dpp4bic= dpp4bic*vckm(2,3)*vckm(2,3)* O endif  O endif O **1 O *-----complete diagrams, epsilon parts separated:e O *(% O *-----complete annihilation diagrams:  O * - O dabr= -hsth2*omrz*dabrc . O dabre= -hsth2*aisz*dabic. O dabie= -hsth2*omrz*dabic, O dabi= hsth2*aisz*dabrc O *pD O *-----complete pair production I-IV:  O * D O gcmd1= tth2*(-0.25d0-0.5d0*chdp+omrz*(0.25d0+1 O # chdp*hsth2)) pC O gcmd2= tth2*(-0.25d0-0.5d0*chd+omrz*(0.25d0+30 O # chd*hsth2)) D O gcmu3= tth2*(-0.25d0+0.5d0*chup+omrz*(0.25d0-1 O # chup*hsth2)) C O gcmu4= tth2*(-0.25d0+0.5d0*chu+omrz*(0.25d0-l0 O # chu*hsth2)) 1 O hcmd1= -tsth2*(1.d0+hchdp) 0 O hcmd2= -tsth2*(1.d0+hchd)0 O hcmu3= tsth2*(1.d0-hchup)/ O hcmu4= tsth2*(1.d0-hchu)V O *o, O dpp1br= gcmd1*dpp1brcB O dpp1bre= -hcmd1*haisz*dpp1bic - O dpp1bie= gcmd1*dpp1bic6@ O dpp1bi= hcmd1*haisz*dpp1brc - O dpp2br= -gcmd2*dpp2brc3A O dpp2bre= hcmd2*haisz*dpp2bic x. O dpp2bie= -gcmd2*dpp2bicA O dpp2bi= -hcmd2*haisz*dpp2brc , O dpp3br= gcmu3*dpp3brcA O dpp3bre= hcmu3*haisz*dpp3bic - O dpp3bie= gcmu3*dpp3bic A O dpp3bi= -hcmu3*haisz*dpp3brc e- O dpp4br= -gcmu4*dpp4brc.B O dpp4bre= -hcmu4*haisz*dpp4bic . O dpp4bie= -gcmu4*dpp4bic@ O dpp4bi= hcmu4*haisz*dpp4brc  O * < O *-----compensating the missing W and the fermion propagators O * O > O d11br= (dpp1br*wpcfr-dpp1bi*wpcfi)/pfp+> O # (dpp2br*wmcfr-dpp2bi*wmcfi)/pfb+? O # (dpp3br*wpcfr-dpp3bi*wpcfi)/pfpb+ < O # (dpp4br*wmcfr-dpp4bi*wmcfi)/pfA O d11bre= (dpp1bre*wpcfr-dpp1bie*wpcfi)/pfp+ A O # (dpp2bre*wmcfr-dpp2bie*wmcfi)/pfb+ B O # (dpp3bre*wpcfr-dpp3bie*wpcfi)/pfpb+? O # (dpp4bre*wmcfr-dpp4bie*wmcfi)/pfd> O d11bi= (dpp1br*wpcfi+dpp1bi*wpcfr)/pfp+> O # (dpp2br*wmcfi+dpp2bi*wmcfr)/pfb+? O # (dpp3br*wpcfi+dpp3bi*wpcfr)/pfpb+c< O # (dpp4br*wmcfi+dpp4bi*wmcfr)/pfA O d11bie= (dpp1bre*wpcfi+dpp1bie*wpcfr)/pfp+iA O # (dpp2bre*wmcfi+dpp2bie*wmcfr)/pfb+lB O # (dpp3bre*wpcfi+dpp3bie*wpcfr)/pfpb+? O # (dpp4bre*wmcfi+dpp4bie*wmcfr)/pf  O * 8 O *-----the square of h= b, inclusive of the compensating  O * nu propagator  O * & O dbrc= dabr-d11br) O dbrec= dabre-d11bre ) O dbiec= dabie-d11biea& O dbic= dabi-d11bi O *d! O dbrc3= dabri# O dbrec3= dabre-# O dbiec3= dabie ! O dbic3= dabi  O *  O *-----NC diagrams  O *0" O *-----Conversion for helicity sets O * 3 O * pp pm q1 q2 q3 q4 ==> pp pm q1 q2 q3 q4  O * 5 O * + - + - + - a + - + - + - b 5 O * - + - + - + b - + - + - + f 5 O * + - - + - + c + - - + - + g O 5 O * - + + - + - d - + + - + - hp5 O * + - + - - + e + - + + - - im5 O * - + - + + - f - + - - + + l15 O * + - - + + - h + - - - + + m 5 O * - + + - - + g - + + + - - np O *e$ O *-----Re-initialization of variables O * % O otgn(1)= x15*x24i% O otgn(2)= x34*x461% O otgn(3)= x34/x46 % O otgn(4)= x24/x15 % O otgn(5)= x15/x25s% O otgn(6)= x15*x25 % O otgn(7)= x14*x25 % O otgn(8)= x14*x34p% O otgn(9)= x25*x46 & O otgn(10)= x25/x46& O otgn(11)= x14/x34& O otgn(12)= x45/x36& O otgn(13)= x14*x24& O otgn(14)= x24/x14& O otgn(15)= x45*x36& O otgn(16)= x14/x25 O *d O iotgn= 0  O do l=1,161 O if(otgn(l).le.0.d0) thend* O iotgn= iotgn+1 O endif O enddo( O if(iotgn.ne.0) then O iz= 0 * O ifz(41)= ifz(41)+1 O go to 4  O endif O *3) O ogpna= sqrt(otgn(1)) ) O ogpnb= sqrt(otgn(2)) ) O ogpnc= sqrt(otgn(3))i) O ogpnd= sqrt(otgn(4)) ) O ogpne= sqrt(otgn(5)) ) O ogpnf= sqrt(otgn(6))p) O ogpng= sqrt(otgn(7)) ) O ogmna= sqrt(otgn(8)) ) O ogmnb= sqrt(otgn(9))p* O ogmnc= sqrt(otgn(10))* O ogmnd= sqrt(otgn(11))* O ogmne= sqrt(otgn(12))* O ogmnf= sqrt(otgn(13))* O ogmng= sqrt(otgn(14))* O ogmnh= sqrt(otgn(15))* O ogmni= sqrt(otgn(16)) O *p& O ogn1= ogpna/ogpnb& O ogn2= ogpna*ogpnc& O ogn3= ogpna/ogpnc& O ogn4= ogpnd/ogpnb+ O ogn5= 1.d0/ogpna/ogpnc O + O ogn6= 1.d0/ogpnd/ogpnc & O ogn7= ogpnd/ogpnc& O ogn8= ogpnb/ogpna& O ogn9= ogpnd*ogpnc' O ogn10= ogpnb/ogpnd O ' O ogn11= ogpna*ogpnb O ' O ogn12= ogmnd/ogmnb , O ogn13= 1.d0/ogmnc/ogmna' O ogn14= ogmna/ogmnb ' O ogn15= ogmnd/ogmnc O , O ogn16= 1.d0/ogmnd/ogmnc' O ogn17= ogmna*ogmnb ' O ogn18= ogmnc/ogmnd ' O ogn19= ogmnc/ogmnaa' O ogn20= ogmna*ogmnc ' O ogn21= ogmnd*ogmnbx' O ogn22= ogmnd*ogmnc ' O ogn23= ogmnb/ogmnd ' O ogn24= ogmnb/ogmnax' O ogn25= ogpnc/ogpnd , O ogn26= 1.d0/ogpna/ogpnb' O ogn27= ogpnc/ogpna0, O ogn28= 1.d0/ogpnd/ogpnb' O ogn29= ogpne/ogmnh ' O ogn30= ogmne/ogpnf*, O ogn31= 1.d0/ogpnf/ogmne, O ogn32= 1.d0/ogpnf/ogmnh' O ogn33= ogpne*ogmne5' O ogn34= ogpne/ogmne6' O ogn35= ogmnh/ogpnf ' O ogn36= ogmnh*ogpne*' O ogn37= ogpnb*ogmni4' O ogn38= ogpnc/ogpng , O ogn39= 1.d0/ogpng/ogpnb' O ogn40= ogmne/ogmnf ' O ogn41= ogmng*ogmnec, O ogn42= 1.d0/ogmnf/ogmnh' O ogn43= ogmng/ogmnh ' O ogn44= ogmne/ogmng4, O ogn45= 1.d0/ogmng/ogmnh' O ogn46= ogmnf/ogmnh4' O ogn47= ogmnf*ogmne*' O ogn48= ogmnh/ogmnf , O ogn49= 1.d0/ogmng/ogmne' O ogn50= ogmng*ogmnh , O ogn51= 1.d0/ogmnf/ogmne' O ogn52= ogmnh/ogmngv' O ogn53= ogmnf*ogmnh ' O ogn54= ogmnf/ogmne , O ogn55= 1.d0/ogpnb*ogmni, O ogn56= 1.d0/ogpnc/ogpng' O ogn57= ogpnc*ogmni , O ogn58= 1.d0/ogpnc*ogmni' O ogn59= ogpnb/ogpng O ' O ogn60= ogpnb*ogpngv' O ogn61= ogpnc/ogmni , O ogn62= 1.d0/ogpnb/ogmni' O ogn63= ogpnc*ogpng), O ogn64= 1.d0/ogpnc*ogpng, O ogn65= 1.d0/ogpnb*ogpng' O ogn66= ogpnb/ogmni , O ogn67= 1.d0/ogpnc/ogmni' O ogn68= ogpne/ogmne(, O ogn69= 1.d0/ogpnf*ogmnh, O ogn70= 1.d0/ogmne*ogmng O *a O y13= x13 O y14= x16 O y15= x15 O y16= x14 O y23= x23 O y24= x26 O y25= x25 O y26= x24 O y34= x36 O y35= x35 O y36= x34 O y45= x56 O y46= x46 O y56= x45 O *  O y13s= y13*y13  O y14s= y14*y14c O y15s= y15*y15* O y16s= y16*y16  O y23s= y23*y23  O y24s= y24*y24* O y25s= y25*y25  O y26s= y26*y26  O y34s= y34*y343 O y35s= y35*y35  O y36s= y36*y36  O y45s= y45*y454 O y46s= y46*y46  O y56s= y56*y56  O *4 O w1= s3 O w2= s2 O w3= s1 w4= -s6 w5= -s54 w6= -s4* w7= -s9 w8= -s8 w9= -s7) O w10= -s102 O w11= -s13# O w12= -s12  O w13= -s11g O w14= -s14+ O w15= -s15  O * ysm= sd ysd= sm+ ysp= su* ysu= sp  O ytw= t1+t4 O *) ye1= e1( O ye2= 1.d0+ysm-ysp-ye1 ye3= e3. O ye4= 1.d0+ysp-ysm-ye3* O ypfpb= ye3-1.d0  O ypfp= ye4-1.d0 O ypfb= ye1-1.d0 O ypf= ye2-1.d0  O *  O ysmtp= ysm*ysp O ypnp= ytw-ysm O  O ypn= ytw+ysp-1.d0  O * $ O tgn(1)= y15*y24$ O tgn(2)= y34*y46$ O tgn(3)= y34/y46$ O tgn(4)= y24/y15$ O tgn(5)= y15/y25$ O tgn(6)= y15*y25$ O tgn(7)= y14*y25$ O tgn(8)= y14*y34$ O tgn(9)= y25*y46% O tgn(10)= y25/y46 % O tgn(11)= y14/y342% O tgn(12)= y45/y36c% O tgn(13)= y14*y24 % O tgn(14)= y24/y14e% O tgn(15)= y45*y36c% O tgn(16)= y14/y25  O *  O itgn= 0 O do l=1,160 O if(tgn(l).le.0.d0) then( O itgn= itgn+1 O endif O enddo' O if(itgn.ne.0) then  O iz= 0)* O ifz(42)= ifz(42)+1 O go to 4  O endif O *b( O ygpna= sqrt(tgn(1))( O ygpnb= sqrt(tgn(2))( O ygpnc= sqrt(tgn(3))( O ygpnd= sqrt(tgn(4))( O ygpne= sqrt(tgn(5))( O ygpnf= sqrt(tgn(6))( O ygpng= sqrt(tgn(7))( O ygmna= sqrt(tgn(8))( O ygmnb= sqrt(tgn(9))) O ygmnc= sqrt(tgn(10))4) O ygmnd= sqrt(tgn(11)) ) O ygmne= sqrt(tgn(12))#) O ygmnf= sqrt(tgn(13))0) O ygmng= sqrt(tgn(14))b) O ygmnh= sqrt(tgn(15))#) O ygmni= sqrt(tgn(16))  O * % O gn1= ygpna/ygpnb % O gn2= ygpna*ygpnc O % O gn3= ygpna/ygpncp% O gn4= ygpnd/ygpnb * O gn5= 1.d0/ygpna/ygpnc* O gn6= 1.d0/ygpnd/ygpnc% O gn7= ygpnd/ygpnc % O gn8= ygpnb/ygpnam% O gn9= ygpnd*ygpncp& O gn10= ygpnb/ygpnd& O gn11= ygpna*ygpnb& O gn12= ygmnd/ygmnb+ O gn13= 1.d0/ygmnc/ygmna & O gn14= ygmna/ygmnb& O gn15= ygmnd/ygmnc+ O gn16= 1.d0/ygmnd/ygmnc & O gn17= ygmna*ygmnb& O gn18= ygmnc/ygmnd& O gn19= ygmnc/ygmna& O gn20= ygmna*ygmnc& O gn21= ygmnd*ygmnb& O gn22= ygmnd*ygmnc& O gn23= ygmnb/ygmnd& O gn24= ygmnb/ygmna& O gn25= ygpnc/ygpnd+ O gn26= 1.d0/ygpna/ygpnb*& O gn27= ygpnc/ygpna+ O gn28= 1.d0/ygpnd/ygpnb3& O gn29= ygpne/ygmnh& O gn30= ygmne/ygpnf+ O gn31= 1.d0/ygpnf/ygmne + O gn32= 1.d0/ygpnf/ygmnhp& O gn33= ygpne*ygmne& O gn34= ygpne/ygmne& O gn35= ygmnh/ygpnf& O gn36= ygmnh*ygpne& O gn37= ygpnb*ygmni& O gn38= ygpnc/ygpng+ O gn39= 1.d0/ygpng/ygpnbp& O gn40= ygmne/ygmnf& O gn41= ygmng*ygmne+ O gn42= 1.d0/ygmnf/ygmnh & O gn43= ygmng/ygmnh& O gn44= ygmne/ygmng+ O gn45= 1.d0/ygmng/ygmnh & O gn46= ygmnf/ygmnh& O gn47= ygmnf*ygmne& O gn48= ygmnh/ygmnf+ O gn49= 1.d0/ygmng/ygmne & O gn50= ygmng*ygmnh+ O gn51= 1.d0/ygmnf/ygmne & O gn52= ygmnh/ygmng& O gn53= ygmnf*ygmnh& O gn54= ygmnf/ygmne) O gn55= 1.d0/gpnb*gmni O + O gn55= 1.d0/ygpnb*ygmnit+ O gn56= 1.d0/ygpnc/ygpngp& O gn57= ygpnc*ygmni+ O gn58= 1.d0/ygpnc*ygmnic& O gn59= ygpnb/ygpng& O gn60= ygpnb*ygpng& O gn61= ygpnc/ygmni+ O gn62= 1.d0/ygpnb/ygmnic& O gn63= ygpnc*ygpng+ O gn64= 1.d0/ygpnc*ygpng + O gn65= 1.d0/ygpnb*ygpngn& O gn66= ygpnb/ygmni+ O gn67= 1.d0/ygpnc/ygmni(& O gn68= ygpne/ygmne+ O gn69= 1.d0/ygpnf*ygmnh*+ O gn70= 1.d0/ygmne*ygmng3 O *55 O xc1r= 16.d0*(gn12*(y13*y24*y56-y13*y26*y45-y14* ; O # y23*y56-y14*y25*y36+y14*y26*y35-y15*y24*y36+ ; O # y16*y23*y45-y16*y24*y35+y36*y45)+gn13*(-y13* ; O # y24*y56-y13*y25*y46+y13*y26*y45-y15*y23*y46+ ; O # y15*y24*y36+y16*y23*y45-y16*y24*y35+y35*y46- = O # y36*y45)+gn14*(y15*y26+y16*y25-y56)+gn15*(y13* = O # y25+y15*y23+y23*y56+y25*y36-y26*y35-y35)+gn16*(& O # (-y15*y26+y16*y25+y56))7 O xc1i= 64.d0*(w1*gn12*y56+w1*gn13*(-2.d0*y15+y56)+p? O # 2.d0*w5*gn38*(-y15+y56)-w6*gn14+w6*gn16+w7*gn13*d= O # y26+2.d0*w8*gn39*y24*(y15-y56)-w8*gn13*y25+w9* A O # gn12*y24-w10*gn12*y23+w11*gn12*y16+w12*gn12*(-y15+4/ O # 2.d0*y56)-w13*gn15+w14*gn13*y13) 6 O xc2r= 16.d0*(ogn55*(x13*x24*x56-x13*x26*x45-x14*0 O # x23*x56-x14*x25*x36+x14*x26*x35-x15*0 O # x24*x36+x16*x23*x45-x16*x24*x35+x36*3 O # x45)+ogn57*(x15*x26+x16*x25-x56)+ogn58**/ O # (x13*x25+x15*x23-2.d0*x23*x45+2.d0*l( O # x24*x35-x35)-2.d0*ogn37*x25)6 O xc2i= 64.d0*(s2*ogn58-s5*ogn55*x35+s8*ogn55*x25-1 O # s10*ogn55*x23+s11*ogn55*x16-2.d0*s11*c O # ogn58+s13*ogn55*x14) O cmod= xc1r*xc1r+xc1i*xc1i % O phr= (xc2r*xc1r+xc2i*xc1i)/cmod*' O phie= (-xc2r*xc1i+xc2i*xc1r)/cmod  O *  O *-----NC helicity a-b) O *2$ O *-----Pair production I: common part O * 5 O p1abrc= 32.d0*(gn13*y13*y25*(y24-y45)+gn15*y25*d/ O # (-y23+y35)+gn16*y25*(y15-1.d0)) % O p1abic= 128.d0*gn13*y25*(w1-w7)2 O **% O *-----Pair production II: common partn O * 4 O p2abrc= 16.d0*(gn12*(-y13*y24*y56+y13*y26*y45+8 O # y14*y23*y56-y14*y25*y36-y14*y26*y35+y15*9 O # y24*y36-y16*y23*y45+y16*y24*y35-y36*y45)+o: O # gn13*(y13*y24*y56-y13*y25*y46-y13*y26*y45+8 O # y15*y23*y46-y15*y24*y36-y16*y23*y45+y16*8 O # y24*y35-y35*y46+y36*y45)+gn14*(-y15*y26+; O # y16*y25+y56)+gn15*(y13*y25-y15*y23-y23*y56+ ; O # y25*y36+y26*y35+y35)+gn16*(y15*y26+y16*y25-+ O # 6)) 8 O p2abic= 64.d0*(w1*gn13*y56-w2*gn15+w5*gn12*y35-w6*= O # gn16-w7*gn13*y26+w8*gn12*y25-w8*gn13*y25+w10* < O # gn12*y23-w11*gn12*y16-w13*gn12*y14+w13*gn15- O # w14*gn13*y13)d O * O & O *-----Pair production III: common part O * 7 O p3abrc= 16.d0*(gn12*(y13*y24*y56-y13*y26*y45-y14**8 O # y23*y56+y14*y25*y36+y14*y26*y35-y15*y24*: O # y36+y16*y23*y45-y16*y24*y35+y36*y45)+gn14*9 O # (y15*y26-y16*y25-y56)+gn15*(-y13*y25+y15* 8 O # y23-2.d0*y23*y45+2.d0*y24*y35-y35)+2.d0* O # gn37*y25)-5 O p3abic= 64.d0*(w2*gn15-w5*gn12*y35-w8*gn12*y25-c8 O # w10*gn12*y23+w11*gn12*y16-2.d0*w11*gn15+ O # w13*gn12*y14)  O *d% O *-----Pair production IV: common part  O * 0 O p4abrc= 32.d0*(gn13*y13*(-y23*y45-y24*y25+4 O # y24*y35)+gn15*y23*y25+gn16*(y15*y23+ O # y25-y35))*/ O p4abic= 128.d0*gn13*((y35-y25)*w1-y23*w7)  O *d O *-----NC helicity c-d) O * $ O *-----Pair production I: common part O *p+ O p1cdrc= 32.d0*(gn3*(y13-y35)+gn6*y23*d+ O # (-y14+y45)+gn10*(1.d0-y25))d" O p1cdic= -128.d0*gn6*(w1+w11) O * % O *-----Pair production II: common partu O *p- O p2cdrc= 16.d0*(gn1*y24*y36-gn2*y26-gn3*a0 O # (y23+y36)+gn4*(-y13*y24*y56+y13*0 O # y26*y45+y14*y23*y56-y14*y25*y36-0 O # y14*y26*y35-y16*y23*y45+y16*y24*/ O # y35+y36*y45)+gn5*(-y13*y25*y46+ 0 O # y13*y26*y45-y14*y23*y56+y14*y25*0 O # y36-y14*y26*y35+y16*y23*y45+y35*/ O # y46-y36*y45)+gn6*(y23*y46)+gn7* . O # (y13*y25+y13*y56-y16*y35-y35)+0 O # gn8*(-y16*y25+y56)+gn9*(y16*y25- O # y56)-gn10*y26)+ O p2cdic= 64.d0*(-w2*gn5*y46+w2*gn7-w4*c1 O # gn4*y36+w4*gn5*y36+w6*gn8-w6*gn9-m2 O # 2.d0*w7*gn5*y26-w8*gn4*y25+w8*gn5*0 O # y25+w12*gn1-w12*gn6+w15*gn4-w15* O # gn5) O *r& O *-----Pair production III: common part O * . O p3cdrc= 16.d0*(-gn1*y24*y36+gn2*y26+gn3*5 O # y23+gn4*(y13*y24*y56-y13*y26*y45-y14*44 O # y23*y56+y14*y25*y36+y14*y26*y35+y16*3 O # y23*y45-y16*y24*y35-y36*y45)+gn7*(- 2 O # y13*y25+2.d0*y13*y45-2.d0*y14*y35+2 O # y35)+gn9*(-y16*y25+y56)-2.d0*gn11)/ O p3cdic= 64.d0*(-w2*gn7+w4*gn4*y36+w6*gn9-w3 O # 2.d0*w7*gn7+w8*gn4*y25-w12*gn1-w15*f O # gn4) O * % O *-----Pair production IV: common partm O *++ O p4cdrc= 32.d0*(-gn3*y13+gn5*y23*(y13* / O # y45-y14*y35)+gn6*y14*y23+gn8*(-#" O # y13*y25+y35)-gn10)/ O p4cdic= 128.d0*(w1*gn6-w2*gn8-w7*gn5*y23)= O *  O *-----NC helicity e-f) O *n$ O *-----Pair production I: common part O * , O p1efrc= 32.d0*(-gn48*y45-gn49*y14*y25+2 O # gn50*y15+gn52*(1.d0+y25)+gn54*y15)# O p1efic= 128.d0*(gn49-gn48)*w4  O *b% O *-----Pair production II: common part  O *b, O p2efrc= 32.d0*(gn40*(y23*y46-y26*y34)+0 O # gn41*(y13*y26-y16*y23)-gn48*y46+" O # gn50*y16+gn52*y26)* O p2efic= 128.d0*(w1*gn40*y26+w5*gn40* O # y23-w5*gn48) O *3& O *-----Pair production III: common part O * , O p3efrc= 32.d0*(gn49*y14*y25-gn52+2.d0* O # gn53-gn54*y15) O p3efic= -128.d0*w4*gn49  O * % O *-----Pair production IV: common part  O *+- O p4efrc= 32.d0*(gn40*(-y23*y46+y26*y34)+ 1 O # gn41*(-y13*y26+y16*y23)-gn48*y34+-" O # gn50*y13+gn52*y23)+ O p4efic= 64.d0*(w1*gn42*(y34*y56+2.d0*-1 O # y35*y46)-w1*gn43*y56-w2*gn42*y34* 1 O # y46-w2*gn43*y46-w4*gn51*y34+2.d0* O / O # w5*gn42*y34*y35-w5*gn43*y35-w6* 1 O # gn43*y34-w7*gn43*y26-w8*gn42*y25* - O # y34+2.d0*w8*gn43*y25-w9*gn43*g. O # y34-w10*gn42*y23*y34+w10*gn43*0 O # y23+w11*gn42*(y16*y34+2.d0*y46)-/ O # w11*gn43*y16+2.d0*w13*gn45*y34- , O # 2.d0*w13*gn46-2.d0*w14*gn42*. O # y34+w14*gn43*y13+w15*gn42*y34-0 O # 2.d0*w15*gn43*y13+2.d0*w15*gn45* O # y23) O *o O *-----NC helicity g-h) O * $ O *-----Pair production I: common part O * 0 O p1ghrc= 32.d0*(gn31*y14*y25s-gn34*y24*y25-' O # gn35*y25+2.d0*gn36*y25)g O p1ghic= 128.d0*w4*gn31*y25 O *o% O *-----Pair production II: common part  O *i1 O p2ghrc= 32.d0*(gn30*(y13*y56-y16*y35)+gn33* 6 O # (-y13*y26+y16*y23)+gn35*(y16*y25-y56)+ O # gn36*y26)11 O p2ghic= 128.d0*(w2*gn30*y16+w6*gn30*y13-w6* 5 O # gn35+w7*gn32*(y16*y25-0.5d0*y25*y26)- 7 O # w8*gn29*y25+0.5d0*w8*gn32*y25s+w9*gn32*17 O # y25*(y14-0.5d0*y24)+w10*gn32*y25*(-y13+ 8 O # 0.5d0*y23)+0.5d0*w11*gn32*y16*y25-0.5d0*4 O # w12*gn29*y25+0.5d0*w13*gn32*y14*y25-' O # 0.5d0*w14*gn32*y13*y25) O  O * & O *-----Pair production III: common part O * 1 O p3ghrc= 32.d0*(-gn31*y14*y25s+gn34*y24*y25+ 0 O # gn35*(y14*y25+y25-y45)+gn36*y24)' O p3ghic= 128.d0*w4*(gn35-gn31*y25)  O * % O *-----Pair production IV: common part  O * - O p4ghrc= 32.d0*(gn30*(-y13*y56+y16*y35)+m1 O # gn33*(y13*y26-y16*y23)+gn35*(y13*t" O # y25-y35)+gn36*y23). O p4ghic= 128.d0*(-w2*gn30*y16+w2*gn35-w6* O # gn30*y13)  O * ? O *-----complete diagrams, epsilon real and imag parts separated:( O *), O *-----compensating single gluon propagators  O * O  O gpcfr= yspo O gmcfr= ysmo O *a* O *-----Compensating double gluon propagator O * O # O gtcfr= ysp*ysmb" O sdtu= ysp*ysm! O pnp= ytw-ysmn& O ypn= ytw+ysp-1.d0 O *o? O *-----complete diagrams, epsilon real and imag parts separated:  O *  O *-----All PP1-PP2 gamma-gluon  O * $ O cotggm= conc(6)/ O cp1ggr= cotggm/ypfpb*gpcfr / O cp2ggr= -cotggm/ypfp*gpcfr  O *n+ O p1aggr= -cp1ggr*p1abrcn, O p1aggie= -cp1ggr*p1abic O *n$ O p1bggr= -p1aggr% O p1bggie= p1aggieo O *7+ O p1cggr= -cp1ggr*p1cdrcg, O p1cggie= -cp1ggr*p1cdic O *n$ O p1dggr= -p1cggr% O p1dggie= p1cggien O *g+ O p1eggr= -cp1ggr*p1efrc , O p1eggie= -cp1ggr*p1efic O * $ O p1fggr= -p1eggr% O p1fggie= p1eggie O  O * + O p1gggr= -cp1ggr*p1ghrc , O p1gggie= -cp1ggr*p1ghic O * $ O p1hggr= -p1gggr% O p1hggie= p1gggie  O * + O p2aggr= -cp2ggr*p2abrc , O p2aggie= -cp2ggr*p2abic O * $ O p2bggr= -p2aggr% O p2bggie= p2aggie  O * + O p2cggr= -cp2ggr*p2cdrc , O p2cggie= -cp2ggr*p2cdic O * $ O p2dggr= -p2cggr% O p2dggie= p2cggie  O * + O p2eggr= -cp2ggr*p2efrco, O p2eggie= -cp2ggr*p2efic O *0$ O p2fggr= -p2eggr% O p2fggie= p2eggie  O *n+ O p2gggr= -cp2ggr*p2ghrcn, O p2gggie= -cp2ggr*p2ghic O *n$ O p2hggr= -p2gggr% O p2hggie= p2gggieo O *6 O *-----All PP1 Z-gluon  O * ) O cp1zg= conc(4)/ypfpb  O *  O do i=1,4 5 O hfr(i)= hch(i+4)*cp1zg*gpcfr  O enddo O * 0+ O ap1azgr= hfr(1)*p1abrcn, O ap1azgie= hfr(1)*p1abic( O p1azgr= ap1azgr*rsz, O p1azgre= -ap1azgie*aisz* O p1azgie= ap1azgie*rsz) O p1azgi= ap1azgr*aiszg O * , O ap1bzgr= -hfr(2)*p1abrc, O ap1bzgie= hfr(2)*p1abic( O p1bzgr= ap1bzgr*rsz, O p1bzgre= -ap1bzgie*aisz* O p1bzgie= ap1bzgie*rsz) O p1bzgi= ap1bzgr*aisz  O * + O ap1czgr= hfr(3)*p1cdrc , O ap1czgie= hfr(3)*p1cdic( O p1czgr= ap1czgr*rsz, O p1czgre= -ap1czgie*aisz* O p1czgie= ap1czgie*rsz) O p1czgi= ap1czgr*aisz  O * , O ap1dzgr= -hfr(4)*p1cdrc, O ap1dzgie= hfr(4)*p1cdic( O p1dzgr= ap1dzgr*rsz, O p1dzgre= -ap1dzgie*aisz* O p1dzgie= ap1dzgie*rsz) O p1dzgi= ap1dzgr*aisz  O *1+ O ap1ezgr= hfr(3)*p1efrcs, O ap1ezgie= hfr(3)*p1efic( O p1ezgr= ap1ezgr*rsz, O p1ezgre= -ap1ezgie*aisz* O p1ezgie= ap1ezgie*rsz) O p1ezgi= ap1ezgr*aisz  O **, O ap1fzgr= -hfr(4)*p1efrc, O ap1fzgie= hfr(4)*p1efic( O p1fzgr= ap1fzgr*rsz, O p1fzgre= -ap1fzgie*aisz* O p1fzgie= ap1fzgie*rsz) O p1fzgi= ap1fzgr*aisz1 O *-+ O ap1gzgr= hfr(1)*p1ghrc , O ap1gzgie= hfr(1)*p1ghic( O p1gzgr= ap1gzgr*rsz, O p1gzgre= -ap1gzgie*aisz* O p1gzgie= ap1gzgie*rsz) O p1gzgi= ap1gzgr*aiszy O *1, O ap1hzgr= -hfr(2)*p1ghrc, O ap1hzgie= hfr(2)*p1ghic( O p1hzgr= ap1hzgr*rsz, O p1hzgre= -ap1hzgie*aisz* O p1hzgie= ap1hzgie*rsz) O p1hzgi= ap1hzgr*aisz5 O *5 O *-----All PP2 Z-gluont O *6) O cp2zg= -conc(4)/ypfp4 O *5 O do i=1,4y5 O hgr(i)= hch(i+4)*cp2zg*gpcfr  O enddo O * 1+ O ap2azgr= hgr(1)*p2abrc4, O ap2azgie= hgr(1)*p2abic( O p2azgr= ap2azgr*rsz, O p2azgre= -ap2azgie*aisz* O p2azgie= ap2azgie*rsz) O p2azgi= ap2azgr*aisz  O * , O ap2bzgr= -hgr(2)*p2abrc, O ap2bzgie= hgr(2)*p2abic( O p2bzgr= ap2bzgr*rsz, O p2bzgre= -ap2bzgie*aisz* O p2bzgie= ap2bzgie*rsz) O p2bzgi= ap2bzgr*aiszi O *4+ O ap2czgr= hgr(3)*p2cdrc , O ap2czgie= hgr(3)*p2cdic( O p2czgr= ap2czgr*rsz, O p2czgre= -ap2czgie*aisz* O p2czgie= ap2czgie*rsz) O p2czgi= ap2czgr*aisz  O *t, O ap2dzgr= -hgr(4)*p2cdrc, O ap2dzgie= hgr(4)*p2cdic( O p2dzgr= ap2dzgr*rsz, O p2dzgre= -ap2dzgie*aisz* O p2dzgie= ap2dzgie*rsz) O p2dzgi= ap2dzgr*aisz  O * + O ap2ezgr= hgr(3)*p2efrc , O ap2ezgie= hgr(3)*p2efic( O p2ezgr= ap2ezgr*rsz, O p2ezgre= -ap2ezgie*aisz* O p2ezgie= ap2ezgie*rsz) O p2ezgi= ap2ezgr*aisz  O * , O ap2fzgr= -hgr(4)*p2efrc, O ap2fzgie= hgr(4)*p2efic( O p2fzgr= ap2fzgr*rsz, O p2fzgre= -ap2fzgie*aisz* O p2fzgie= ap2fzgie*rsz) O p2fzgi= ap2fzgr*aiszg O *m+ O ap2gzgr= hgr(1)*p2ghrc , O ap2gzgie= hgr(1)*p2ghic( O p2gzgr= ap2gzgr*rsz, O p2gzgre= -ap2gzgie*aisz* O p2gzgie= ap2gzgie*rsz) O p2gzgi= ap2gzgr*aisz  O *1, O ap2hzgr= -hgr(2)*p2ghrc, O ap2hzgie= hgr(2)*p2ghic( O p2hzgr= ap2hzgr*rsz, O p2hzgre= -ap2hzgie*aisz* O p2hzgie= ap2hzgie*rsz) O p2hzgi= ap2hzgr*aisz  O *  O *-----All PP3-PP4 gamma-gluon  O * . O cp3ggr= conc(7)/ypf*gmcfr0 O cp4ggr= -conc(7)/ypfb*gmcfr O *y* O p3aggr= cp3ggr*p3abrc+ O p3aggie= cp3ggr*p3abicc O *p$ O p3bggr= -p3aggr% O p3bggie= p3aggiey O *e* O p3cggr= cp3ggr*p3cdrc+ O p3cggie= cp3ggr*p3cdicn O * O $ O p3dggr= -p3cggr% O p3dggie= p3cggiee O *m* O p3eggr= cp3ggr*p3efrc+ O p3eggie= cp3ggr*p3efic  O * $ O p3fggr= -p3eggr% O p3fggie= p3eggie  O * * O p3gggr= cp3ggr*p3ghrc+ O p3gggie= cp3ggr*p3ghic  O * $ O p3hggr= -p3gggr% O p3hggie= p3gggie  O *g* O p4aggr= cp4ggr*p4abrc+ O p4aggie= cp4ggr*p4abic= O *m$ O p4bggr= -p4aggr% O p4bggie= p4aggieg O *=* O p4cggr= cp4ggr*p4cdrc+ O p4cggie= cp4ggr*p4cdicm O * O $ O p4dggr= -p4cggr% O p4dggie= p4cggieg O *m* O p4eggr= cp4ggr*p4efrc+ O p4eggie= cp4ggr*p4efic O  O * $ O p4fggr= -p4eggr% O p4fggie= p4eggie  O * * O p4gggr= cp4ggr*p4ghrc+ O p4gggie= cp4ggr*p4ghic  O * $ O p4hggr= -p4gggr% O p4hggie= p4gggie  O *  O *-----All PP3 Z-gluond O *g( O cp3zg= -conc(4)/ypf O *y O do i=1,4=3 O hnr(i)= hch(i)*cp3zg*gmcfr O  O enddo O */+ O ap3azgr= hnr(1)*p3abrcc, O ap3azgie= hnr(1)*p3abic( O p3azgr= ap3azgr*rsz, O p3azgre= -ap3azgie*aisz* O p3azgie= ap3azgie*rsz) O p3azgi= ap3azgr*aiszm O * O , O ap3bzgr= -hnr(2)*p3abrc, O ap3bzgie= hnr(2)*p3abic( O p3bzgr= ap3bzgr*rsz, O p3bzgre= -ap3bzgie*aisz* O p3bzgie= ap3bzgie*rsz) O p3bzgi= ap3bzgr*aisz( O *3+ O ap3czgr= hnr(3)*p3cdrc6, O ap3czgie= hnr(3)*p3cdic( O p3czgr= ap3czgr*rsz, O p3czgre= -ap3czgie*aisz* O p3czgie= ap3czgie*rsz) O p3czgi= ap3czgr*aisz  O *(, O ap3dzgr= -hnr(4)*p3cdrc, O ap3dzgie= hnr(4)*p3cdic( O p3dzgr= ap3dzgr*rsz, O p3dzgre= -ap3dzgie*aisz* O p3dzgie= ap3dzgie*rsz) O p3dzgi= ap3dzgr*aiszn O *(+ O ap3ezgr= hnr(1)*p3efrc*, O ap3ezgie= hnr(1)*p3efic( O p3ezgr= ap3ezgr*rsz, O p3ezgre= -ap3ezgie*aisz* O p3ezgie= ap3ezgie*rsz) O p3ezgi= ap3ezgr*aisz O  O * , O ap3fzgr= -hnr(2)*p3efrc, O ap3fzgie= hnr(2)*p3efic( O p3fzgr= ap3fzgr*rsz, O p3fzgre= -ap3fzgie*aisz* O p3fzgie= ap3fzgie*rsz) O p3fzgi= ap3fzgr*aisz  O *h+ O ap3gzgr= hnr(3)*p3ghrc-, O ap3gzgie= hnr(3)*p3ghic( O p3gzgr= ap3gzgr*rsz, O p3gzgre= -ap3gzgie*aisz* O p3gzgie= ap3gzgie*rsz) O p3gzgi= ap3gzgr*aisz  O *., O ap3hzgr= -hnr(4)*p3ghrc, O ap3hzgie= hnr(4)*p3ghic( O p3hzgr= ap3hzgr*rsz, O p3hzgre= -ap3hzgie*aisz* O p3hzgie= ap3hzgie*rsz) O p3hzgi= ap3hzgr*aisz* O ** O *-----All PP4 Z-gluon* O *+( O cp4zg= conc(4)/ypfb O ** O do i=1,423 O hor(i)= hch(i)*cp4zg*gmcfr  O enddo O *5+ O ap4azgr= hor(1)*p4abrc3, O ap4azgie= hor(1)*p4abic( O p4azgr= ap4azgr*rsz, O p4azgre= -ap4azgie*aisz* O p4azgie= ap4azgie*rsz) O p4azgi= ap4azgr*aiszn O *y, O ap4bzgr= -hor(2)*p4abrc, O ap4bzgie= hor(2)*p4abic( O p4bzgr= ap4bzgr*rsz, O p4bzgre= -ap4bzgie*aisz* O p4bzgie= ap4bzgie*rsz) O p4bzgi= ap4bzgr*aisz* O * + O ap4czgr= hor(3)*p4cdrc3, O ap4czgie= hor(3)*p4cdic( O p4czgr= ap4czgr*rsz, O p4czgre= -ap4czgie*aisz* O p4czgie= ap4czgie*rsz) O p4czgi= ap4czgr*aisz  O * , O ap4dzgr= -hor(4)*p4cdrc, O ap4dzgie= hor(4)*p4cdic( O p4dzgr= ap4dzgr*rsz, O p4dzgre= -ap4dzgie*aisz* O p4dzgie= ap4dzgie*rsz) O p4dzgi= ap4dzgr*aiszt O *-+ O ap4ezgr= hor(1)*p4efrc O , O ap4ezgie= hor(1)*p4efic( O p4ezgr= ap4ezgr*rsz, O p4ezgre= -ap4ezgie*aisz* O p4ezgie= ap4ezgie*rsz) O p4ezgi= ap4ezgr*aiszg O *a, O ap4fzgr= -hor(2)*p4efrc, O ap4fzgie= hor(2)*p4efic( O p4fzgr= ap4fzgr*rsz, O p4fzgre= -ap4fzgie*aisz* O p4fzgie= ap4fzgie*rsz) O p4fzgi= ap4fzgr*aisz  O *-+ O ap4gzgr= hor(3)*p4ghrc , O ap4gzgie= hor(3)*p4ghic( O p4gzgr= ap4gzgr*rsz, O p4gzgre= -ap4gzgie*aisz* O p4gzgie= ap4gzgie*rsz) O p4gzgi= ap4gzgr*aisz  O * , O ap4hzgr= -hor(4)*p4ghrc, O ap4hzgie= hor(4)*p4ghic( O p4hzgr= ap4hzgr*rsz, O p4hzgre= -ap4hzgie*aisz* O p4hzgie= ap4hzgie*rsz) O p4hzgi= ap4hzgr*aisz  O * 8 O darn= (p1aggr+p1azgr+p2aggr+p2azgr+8 O # p3aggr+p3azgr+p4aggr+p4azgr)= O daren= (p1azgre+p2azgre+p3azgre+p4azgre)38 O dain= (p1azgi+p2azgi+p3azgi+p4azgi)= O daien= (p1aggie+p1azgie+p2aggie+p2azgie+ O < O # p3aggie+p3azgie+p4aggie+p4azgie) O * 8 O dbrn= (p1bggr+p1bzgr+p2bggr+p2bzgr+8 O # p3bggr+p3bzgr+p4bggr+p4bzgr)= O dbren= (p1bzgre+p2bzgre+p3bzgre+p4bzgre)38 O dbin= (p1bzgi+p2bzgi+p3bzgi+p4bzgi)= O dbien= (p1bggie+p1bzgie+p2bggie+p2bzgie+o< O # p3bggie+p3bzgie+p4bggie+p4bzgie) O * 8 O dcrn= (p1cggr+p1czgr+p2cggr+p2czgr+8 O # p3cggr+p3czgr+p4cggr+p4czgr)= O dcren= (p1czgre+p2czgre+p3czgre+p4czgre) 8 O dcin= (p1czgi+p2czgi+p3czgi+p4czgi)= O dcien= (p1cggie+p1czgie+p2cggie+p2czgie+4< O # p3cggie+p3czgie+p4cggie+p4czgie) O *c8 O ddrn= (p1dggr+p1dzgr+p2dggr+p2dzgr+8 O # p3dggr+p3dzgr+p4dggr+p4dzgr)= O ddren= (p1dzgre+p2dzgre+p3dzgre+p4dzgre) 8 O ddin= (p1dzgi+p2dzgi+p3dzgi+p4dzgi)= O ddien= (p1dggie+p1dzgie+p2dggie+p2dzgie+5< O # p3dggie+p3dzgie+p4dggie+p4dzgie) O * 8 O dern= (p1eggr+p1ezgr+p2eggr+p2ezgr+8 O # p3eggr+p3ezgr+p4eggr+p4ezgr)= O deren= (p1ezgre+p2ezgre+p3ezgre+p4ezgre)w8 O dein= (p1ezgi+p2ezgi+p3ezgi+p4ezgi)= O deien= (p1eggie+p1ezgie+p2eggie+p2ezgie+ < O # p3eggie+p3ezgie+p4eggie+p4ezgie) O *68 O dfrn= (p1fggr+p1fzgr+p2fggr+p2fzgr+8 O # p3fggr+p3fzgr+p4fggr+p4fzgr)= O dfren= (p1fzgre+p2fzgre+p3fzgre+p4fzgre) 8 O dfin= (p1fzgi+p2fzgi+p3fzgi+p4fzgi)= O dfien= (p1fggie+p1fzgie+p2fggie+p2fzgie+*< O # p3fggie+p3fzgie+p4fggie+p4fzgie) O * 8 O dgrn= (p1gggr+p1gzgr+p2gggr+p2gzgr+8 O # p3gggr+p3gzgr+p4gggr+p4gzgr)= O dgren= (p1gzgre+p2gzgre+p3gzgre+p4gzgre) 8 O dgin= (p1gzgi+p2gzgi+p3gzgi+p4gzgi)= O dgien= (p1gggie+p1gzgie+p2gggie+p2gzgie+2< O # p3gggie+p3gzgie+p4gggie+p4gzgie) O *18 O dhrn= (p1hggr+p1hzgr+p2hggr+p2hzgr+8 O # p3hggr+p3hzgr+p4hggr+p4hzgr)= O dhren= (p1hzgre+p2hzgre+p3hzgre+p4hzgre) 8 O dhin= (p1hzgi+p2hzgi+p3hzgi+p4hzgi)= O dhien= (p1hggie+p1hzgie+p2hggie+p2hzgie+4< O # p3hggie+p3hzgie+p4hggie+p4hzgie) O * G O *-----CC and NC diagrams are comensated with double Z and W propagatorsn O *r/ O adarn= phr*darn-phie*daien30 O adaren= phr*daren-phie*dain0 O adaien= phr*daien+phie*darn/ O adain= phr*dain+phie*daren  O * $ O dar= gtcfr*darc& O dare= gtcfr*darec& O daie= gtcfr*daiec$ O dai= gtcfr*daic O * & O dar3= gtcfr*darc3( O dar = gtcfr*darec3( O daie3= gtcfr*daiec3& O dai3= gtcfr*daic3 O *p& O dbr11= gtcfr*dbrc( O dbre11= gtcfr*dbrec( O dbie11= gtcfr*dbiec& O dbi11= gtcfr*dbic O *P3 O dbr24= wtcfr*adarn-wtcfi*adainc6 O dbre24= wtcfr*adaren-wtcfi*adaien6 O dbie24= wtcfr*adaien+wtcfi*adaren3 O dbi24= wtcfr*adain+wtcfi*adarn  O * % O dbr= gtcfr*dbrc- 1 O # wtcfr*adarn+wtcfi*adain ' O dbre= gtcfr*dbrec- 4 O # wtcfr*adaren+wtcfi*adaien' O dbie= gtcfr*dbiec- 4 O # wtcfr*adaien-wtcfi*adaren% O dbi= gtcfr*dbic-g1 O # wtcfr*adain-wtcfi*adarnc O *g& O dbr3= gtcfr*dbrc3( O dbre3= gtcfr*dbrec3( O dbie3= gtcfr*dbiec3& O dbi3= gtcfr*dbic3 O *g/ O dfr= wtcfr*dbrn-wtcfi*dbing2 O dfre= wtcfr*dbren-wtcfi*dbien2 O dfie= wtcfr*dbien+wtcfi*dbren/ O dfi= wtcfr*dbin+wtcfi*dbrn  O * / O dgr= wtcfr*dcrn-wtcfi*dcin 2 O dgre= wtcfr*dcren-wtcfi*dcien2 O dgie= wtcfr*dcien+wtcfi*dcren/ O dgi= wtcfr*dcin+wtcfi*dcrn2 O *r/ O dhr= wtcfr*ddrn-wtcfi*ddin 2 O dhre= wtcfr*ddren-wtcfi*ddien2 O dhie= wtcfr*ddien+wtcfi*ddren/ O dhi= wtcfr*ddin+wtcfi*ddrnf O *e/ O dir= wtcfr*dern-wtcfi*deing2 O dire= wtcfr*deren-wtcfi*deien2 O diie= wtcfr*deien+wtcfi*deren/ O dii= wtcfr*dein+wtcfi*dern  O * / O dlr= wtcfr*dfrn-wtcfi*dfin/2 O dlre= wtcfr*dfren-wtcfi*dfien2 O dlie= wtcfr*dfien+wtcfi*dfren/ O dli= wtcfr*dfin+wtcfi*dfrn0 O * / O dmr= wtcfr*dhrn-wtcfi*dhin 2 O dmre= wtcfr*dhren-wtcfi*dhien2 O dmie= wtcfr*dhien+wtcfi*dhren/ O dmi= wtcfr*dhin+wtcfi*dhrng O * / O dnr= wtcfr*dgrn-wtcfi*dginr2 O dnre= wtcfr*dgren-wtcfi*dgien2 O dnie= wtcfr*dgien+wtcfi*dgren/ O dni= wtcfr*dgin+wtcfi*dgrn  O * 9 O fgg= pi*als/g2/sqrt(chf2*chfp2)/sth2g" O fggs= fgg*fgg O das= 0.d0% O qcdc= 1.d0+qcdjnr$ O fggs= fggs*qcdcB O dbs= 32.d0*(fggs*dbr24*dbr24-fgg*dbr11*dbr24+? O # fggs*dbre24*dbre24-fgg*dbre11*dbre24+c? O # fggs*dbie24*dbie24-fgg*dbie11*dbie24+ ; O # fggs*dbi24*dbi24-fgg*dbi11*dbi24)18 O dfs= 32.d0*fggs*(dfr*dfr+dfre*dfre+, O # dfie*dfie+dfi*dfi)8 O dgs= 32.d0*fggs*(dgr*dgr+dgre*dgre+, O # dgie*dgie+dgi*dgi)8 O dhs= 32.d0*fggs*(dhr*dhr+dhre*dhre+, O # dhie*dhie+dhi*dhi)8 O dis= 32.d0*fggs*(dir*dir+dire*dire+, O # diie*diie+dii*dii)8 O dls= 32.d0*fggs*(dlr*dlr+dlre*dlre+, O # dlie*dlie+dli*dli)8 O dms= 32.d0*fggs*(dmr*dmr+dmre*dmre+, O # dmie*dmie+dmi*dmi)8 O dns= 32.d0*fggs*(dnr*dnr+dnre*dnre+, O # dnie*dnie+dni*dni) O *z% O 4 if(iz.eq.0) thenz! O do il=1,9 5 O dpxs(ix,it,itt,il)= 0.d0g O enddo  O iz= 1  O else : O tjac= ujc*vjc*smjc*spjc*sujc*sdjc*/ O # sfjc*twjc*t1jc*vv : O tjacp= tjac*pmjac*ppjac/sdtu/sdtu*$ O # stf/s4 O dpxs(ix,it,itt,1)= tjacp*das4 O dpxs(ix,it,itt,2)= tjacp*dbs4 O dpxs(ix,it,itt,3)= tjacp*dfs4 O dpxs(ix,it,itt,4)= tjacp*dgs4 O dpxs(ix,it,itt,5)= tjacp*dhs4 O dpxs(ix,it,itt,6)= tjacp*dis4 O dpxs(ix,it,itt,7)= tjacp*dls4 O dpxs(ix,it,itt,8)= tjacp*dms4 O dpxs(ix,it,itt,9)= tjacp*dns O endif O *i O *-----end of ix loop O *  O enddo O *p! O 5 if(iz.eq.0) then  O do i=1,9! O do ix=1,2=4 O epxs(ix,it,itt,i)= 0.d0 O enddoe O enddo  O iz= 1e O else  O do i=1,9! O do ix=1,2)A O epxs(ix,it,itt,i)= dpxs(ix,it,itt,i)  O enddo  O enddo  O endif O *  O *-----end of itt loopg O *  O enddo O * O  O do i=1,92% O cpxs(it,i)= 0.d0 " O do itt=1,ittm? O cpxs(it,i)= cpxs(it,i)+epxs(1,it,itt,i)+a3 O # epxs(2,it,itt,i)r O enddo O enddo O *  O 2 if(iz.eq.0) thenp O do il=1,9a( O bpxs(it,il)= 0.d0 O enddo  O iz= 1e O else  O do il=1,9e/ O bpxs(it,il)= cpxs(it,il)s O enddo  O endif O *c O *-----end on it loop O *2 O enddof O * O  O 1 if(iz.eq.0) then O do il=1,9 O apxs(il)= 0.d0 O enddo O iz= 1 O else O do il=1,91 O apxs(il)= bpxs(1,il)+bpxs(2,il)p O enddo O endif= O *r O tapxs= 0.d0  O do il=1,9g O tapxs= tapxs+apxs(il) O enddoa O if(tapxs.lt.0.d0) then O ifz(43)= ifz(43)+1  O resf= 0.d0g O else O resf= tapxs O endif2 O *r O wtoxs35g= tfact*resf O *  O if(om.eq.'g') then O if(osm.eq.'n') then O jp= iwtopos(ndim,x) * O if(wtoxs35g.gt.xshmx(jp)) then" O xshmx(jp)= wtoxs35g O do l=1,92# O xmxh(jp,l)= x(l)m O enddo O endif= O endif O xaph(1)= xm O xaph(2)= xp O xaph(3)= sm O xaph(4)= sp O xaph(5)= su O xaph(6)= sd O xaph(7)= sf O xaph(8)= tw O xaph(9)= t1 O xaph(10)= t33 O endif  O * O return O end3 O **I O *-----WTOXSN64-----------------------------------------------------------  O *p& O real*8 function wtoxsn64(ndim,x) O implicit real*8 (a-h,o-z)  O * : O character*1,opeak,oqcd,om,osm,ostop,omssm,opglu,oint O character*2,ofs  O character*4,otypeg O * O - O parameter(ninv=10,npos=512,ifmax=10000)  O *  O common/wtmod/om3 O common/wtmp/zrm  O common/wtfs/ofsr O common/wtqcd/als O common/wtoi/oint O common/wtii/iint O common/wtim/ostop  O common/wtsmod/osm= O common/wtps/opeak  O common/wtkount/ikr O common/wtdis/dist  O common/wtqcdz/alsz O common/wtsp/psg(4) O common/wtistrf/isf O common/wtaqcd/oqcd O common/wtsf/ix0,it0  O common/wtpqcd/opglu O  O common/wtmssmo/omssm O common/wtchi/hch(36) O common/wtipt/ifz(44) O common/wtnf/ifl(npos)= O common/wticuts/iac(4)  O common/wtisa/isaa,isab O common/wtochannel/otypeg O common/wthx/xshmx(npos)  O common/wtmatx/colf(8,8)  O common/wtparh/xaph(ninv)F O common/wttc/itc,itcc,itcn O common/wtpmxh/xmxh(npos,9)$ O common/wtstor/stry(npos,ifmax)& O common/wtncc/chf2,chfp2,conc(10)/ O common/wtmssmi/am,tbeta,rmu,scalm,bat,bab 2 O common/wtnclr/vel,ver,velr,vfl,vfr,vfpl,vfpr3 O common/wtnchannel/chf,chfp,tif,tifp,fcun,fcdn ? O common/wtbpar/wm,zm,zg,gf,pi,pis,cfct,fcnt,ge,alphai,alwih> O common/wtfmass/em,rmm,tm,rnm,uqm,dqm,cqm,sqm,bqm,tqm,dmyD O common/wtcpar/alpha,hbet,hbeti,omhb,eob,d0gl,g8,tfact,pih,alw,) O # eta,feta,beta,g2,tfacth3F O common/wtapar/ars,s,rwm,rwm2,rwg,rwmg,swg,swgs,opswgs,sth2,cth2,E O # hsth2,tsth2,scth2,asth2,tth2,rzm,rzm2,rzg,rzmg,szg,rC O # szgs,opszgs,sth4,cth4,ve,vf,vfp,rbqm2,rszw,rszw2,  O # s0w,s0z H O common/wtsubreg/dsm,usm,dsp,usp,rl(6),rr(6),srl(6),sdsm,sdsp,vvl1,* O # vvl2,vvl3,ul,omul,sumlF O common/wtcuts/aim(6),bim(6),ae(4),asa(4),bsa(4),afsa(6),bfsa(6),A O # ombsa(4),opbsa(4),teq,rae(4),omasa(4),opasa(4),p? O # sg12,cg12,sg13,cg13,sg14,cg14,sg23,cg23,sg24, = O # cg24,sg34,cg34,sct120,sct130,sct140,sct230,3/ O # sct240,sct340,sgam(4),cgam(4)=D O common/wtmssm/ams,shm,shms,bhm,bhms,sbeta,cbeta,salpha,calpha,? O # sbma,cbma,rshm,rshm2,rshg,rshmg,sshg,sshgs,3E O # opsshgs,rbhm,rbhm2,rbhg,rbhmg,sbhg,sbhgs,opsbhgs, 5 O # ram,ram2,rag,ramg,sag,sags,opsags  O *e O dimension flow(4)  O dimension tgn(16)3 O dimension x(ndim)  O dimension bt1(2),bt2(2)  O dimension rru1(2),rru2(2)r O dimension sfur(2),sflr(2)a O dimension ret1(2),ret2(2) O dimension ee(5),e(5),sg(5)% O dimension rrr(6),rrl(6),srrl(6)r( O dimension bl(4),xbl(4),ss(4),cs(4)7 O dimension dpxs(2,2,2),epxs(2,2,2),cpxs(2),bpxs(2) 9 O dimension rr1(2),rr2(2),rs1(2),rs2(2),rtp(2),rtm(2) : O dimension har(4),hdr(4),her(4),hfr(4),hgr(4),hhr(8),$ O # hir(8),hapr(4),hc(8): O dimension hai(4),hdi(4),hei(4),hfi(4),hgi(4),hhi(8), O # hii(8),hapi(4) O *p O dimension dsh(12)  O dimension dcfr(4),dcfi(4) O # O dimension xcrc(4,6),xcic(4,6)*% O dimension ycrc(4,12),ycic(4,12)h% O dimension zcrc(4,12),zcic(4,12)g5 O dimension dd3hr(4),dd3hre(4),dd3hie(4),dd3hi(4)*5 O dimension dd4hr(4),dd4hre(4),dd4hie(4),dd4hi(4) C O dimension aephr(4,12),aephie(4,12),omephr(4,12),sephie(4,12), O 2 O # tephr(4,12),ephie(4,12),ephr(4,12)5 O dimension crc(4,6),cic(4,6),p1rc(4,6),p1ic(4,6)i# O dimension p2rc(4,6),p2ic(4,6) = O dimension cggr(4,12),cggre(4,12),cggie(4,12),cggi(4,12) O = O dimension cgzr(4,12),cgzre(4,12),cgzie(4,12),cgzi(4,12) = O dimension czgr(4,12),czgre(4,12),czgie(4,12),czgi(4,12)*& O dimension czzr(4,12),czzie(4,12)A O dimension p1ggr(4,12),p1ggre(4,12),p1ggie(4,12),p1ggi(4,12) A O dimension p1gzr(4,12),p1gzre(4,12),p1gzie(4,12),p1gzi(4,12)hA O dimension p1zgr(4,12),p1zgre(4,12),p1zgie(4,12),p1zgi(4,12) A O dimension p1zzr(4,12),p1zzre(4,12),p1zzie(4,12),p1zzi(4,12)bA O dimension p2ggr(4,12),p2ggre(4,12),p2ggie(4,12),p2ggi(4,12) A O dimension p2gzr(4,12),p2gzre(4,12),p2gzie(4,12),p2gzi(4,12)hA O dimension p2zgr(4,12),p2zgre(4,12),p2zgie(4,12),p2zgi(4,12) A O dimension p2zzr(4,12),p2zzre(4,12),p2zzie(4,12),p2zzi(4,12)c< O dimension ap1azgr(4,12),ap1azgre(4,12),ap1azgie(4,12), O # ap1azgi(4,12)4< O dimension ap1bzgr(4,12),ap1bzgre(4,12),ap1bzgie(4,12), O # ap1bzgi(4,12)r< O dimension ap1czgr(4,12),ap1czgre(4,12),ap1czgie(4,12), O # ap1czgi(4,12) O < O dimension ap1dzgr(4,12),ap1dzgre(4,12),ap1dzgie(4,12), O # ap1dzgi(4,12) O < O dimension ap1ezgr(4,12),ap1ezgre(4,12),ap1ezgie(4,12), O # ap1ezgi(4,12) < O dimension ap1fzgr(4,12),ap1fzgre(4,12),ap1fzgie(4,12), O # ap1fzgi(4,12) < O dimension ap1gzgr(4,12),ap1gzgre(4,12),ap1gzgie(4,12), O # ap1gzgi(4,12) < O dimension ap1hzgr(4,12),ap1hzgre(4,12),ap1hzgie(4,12), O # ap1hzgi(4,12) < O dimension ap2azgr(4,12),ap2azgre(4,12),ap2azgie(4,12), O # ap2azgi(4,12) < O dimension ap2bzgr(4,12),ap2bzgre(4,12),ap2bzgie(4,12), O # ap2bzgi(4,12) < O dimension ap2czgr(4,12),ap2czgre(4,12),ap2czgie(4,12), O # ap2czgi(4,12)g< O dimension ap2dzgr(4,12),ap2dzgre(4,12),ap2dzgie(4,12), O # ap2dzgi(4,12)a< O dimension ap2ezgr(4,12),ap2ezgre(4,12),ap2ezgie(4,12), O # ap2ezgi(4,12)=< O dimension ap2fzgr(4,12),ap2fzgre(4,12),ap2fzgie(4,12), O # ap2fzgi(4,12)z< O dimension ap2gzgr(4,12),ap2gzgre(4,12),ap2gzgie(4,12), O # ap2gzgi(4,12)s< O dimension ap2hzgr(4,12),ap2hzgre(4,12),ap2hzgie(4,12), O # ap2hzgi(4,12) < O dimension ap1azzr(4,12),ap1azzre(4,12),ap1azzie(4,12), O # ap1azzi(4,12) O < O dimension ap1bzzr(4,12),ap1bzzre(4,12 p1bzzie(4,12), O # ap1bzzi(4,12)e< O dimension ap1czzr(4,12),ap1czzre(4,12),ap1czzie(4,12), O # ap1czzi(4,12) O < O dimension ap1dzzr(4,12),ap1dzzre(4,12),ap1dzzie(4,12), O # ap1dzzi(4,12)p< O dimension ap1ezzr(4,12),ap1ezzre(4,12),ap1ezzie(4,12), O # ap1ezzi(4,12) < O dimension ap1fzzr(4,12),ap1fzzre(4,12),ap1fzzie(4,12), O # ap1fzzi(4,12)e< O dimension ap1gzzr(4,12),ap1gzzre(4,12),ap1gzzie(4,12), O # ap1gzzi(4,12) < O dimension ap1hzzr(4,12),ap1hzzre(4,12),ap1hzzie(4,12), O # ap1hzzi(4,12)4< O dimension ap2azzr(4,12),ap2azzre(4,12),ap2azzie(4,12), O # ap2azzi(4,12) < O dimension ap2bzzr(4,12),ap2bzzre(4,12),ap2bzzie(4,12), O # ap2bzzi(4,12)e< O dimension ap2czzr(4,12),ap2czzre(4,12),ap2czzie(4,12), O # ap2czzi(4,12) < O dimension ap2dzzr(4,12),ap2dzzre(4,12),ap2dzzie(4,12), O # ap2dzzi(4,12)d< O dimension ap2ezzr(4,12),ap2ezzre(4,12),ap2ezzie(4,12), O # ap2ezzi(4,12)i< O dimension ap2fzzr(4,12),ap2fzzre(4,12),ap2fzzie(4,12), O # ap2fzzi(4,12)e< O dimension ap2gzzr(4,12),ap2gzzre(4,12),ap2gzzie(4,12), O # ap2gzzi(4,12)r< O dimension ap2hzzr(4,12),ap2hzzre(4,12),ap2hzzie(4,12), O # ap2hzzi(4,12) E O dimension adhelr(4,12),adhelre(4,12),adhelie(4,12),adheli(4,12) 9 O dimension dhelr(12),dhelre(12),dhelie(12),dheli(12) @ O dimension pcggr(4,12),pcgzr(4,12),pczgr(4,12),pczzr(4,12),D O # pp1zzr(4,12),pp1zpr(4,12),pp1zgr(4,12),pp1pzr(4,12),D O # pp1ppr(4,12),pp1pgr(4,12),pp2zzr(4,12),pp2zpr(4,12),C O # pp2zgr(4,12),pp2pzr(4,12),pp2ppr(4,12),pp2pgr(4,12)gD O dimension pcggre(4,12),pcgzre(4,12),pczgre(4,12),pczzre(4,12),H O # pp1zzre(4,12),pp1zpre(4,12),pp1zgre(4,12),pp1pzre(4,12),H O # pp1ppre(4,12),pp1pgre(4,12),pp2zzre(4,12),pp2zpre(4,12),G O # pp2zgre(4,12),pp2pzre(4,12),pp2ppre(4,12),pp2pgre(4,12) D O dimension pcggie(4,12),pcgzie(4,12),pczgie(4,12),pczzie(4,12),H O # pp1zzie(4,12),pp1zpie(4,12),pp1zgie(4,12),pp1pzie(4,12),H O # pp1ppie(4,12),pp1pgie(4,12),pp2zzie(4,12),pp2zpie(4,12),G O # pp2zgie(4,12),pp2pzie(4,12),pp2ppie(4,12),pp2pgie(4,12) @ O dimension pcggi(4,12),pcgzi(4,12),pczgi(4,12),pczzi(4,12),D O # pp1zzi(4,12),pp1zpi(4,12),pp1zgi(4,12),pp1pzi(4,12),D O # pp1ppi(4,12),pp1pgi(4,12),pp2zzi(4,12),pp2zpi(4,12),C O # pp2zgi(4,12),pp2pzi(4,12),pp2ppi(4,12),pp2pgi(4,12)e9 O dimension qdr(8,12),qdre(8,12),qdie(8,12),qdi(8,12)z= O dimension fqdr(8,12),fqdre(8,12),fqdie(8,12),fqdi(8,12)e O *i4 O data ec2/-0.4999999963d0/,ec4/0.0416666418d0/,4 O # ec6/-0.0013888397d0/,ec8/0.0000247609d0/, O # ec10/-0.0000002605d0/ O * # O external c02ajf,s09aaf,s07aafn O external s21bbf,s21caf O **" O *-----the order of integration is:5 O * u, v, m_-^2, m_+^2, M_0^2, m_0^2, m^2, t_w, t_1r O * O 6 O * m_{+/-}^2 transformed for the resonating peaks6 O * M_0^2,m_0^2 transformed for the resonating peaks4 O * m^2 and t_1 transformed for the jacobian peaks O *  O do ix=1,2i O do it=1,2 O do itt=1,2 O dpxs(ix,it,itt)= 0.d0 enddor O enddo O enddo  O do it=1,2g O cpxs(it)= 0.d0  O bpxs(it)= 0.d0d O enddo  O * ( O if(ofs.eq.'qq'.and.ndim.eq.9) then O if(opglu.eq.'y') then% O cfgg= pi*als/g2/chf2/sth2r elsed O cfgg= 0.d0 O endif O else O cfgg= 0.d0 O endif4* O if(ofs.eq.'qq'.and.oqcd.eq.'y') then. O qcdjac= (1.d0+alsz/pi)*(1.d0+alsz/pi) O else O qcdjac= 1.d0 O endif  O *d O do ip=1,4  O do ii=1,6 O crc(ip,ii)= 0.d0 O cic(ip,ii)= 0.d0! O xcrc(ip,ii)= 0.d0w! O xcic(ip,ii)= 0.d0 ! O p1rc(ip,ii)= 0.d0#! O p1ic(ip,ii)= 0.d0f! O p2rc(ip,ii)= 0.d0d! O p2ic(ip,ii)= 0.d0 O cggr(ip,ii)=0.d0 O cgzr(ip,ii)=0.d0! O czgr(ip,ii)= 0.d03! O czzr(ip,ii)= 0.d0f" O p1ggr(ip,ii)= 0.d0" O p2ggr(ip,ii)= 0.d0" O p1gzr(ip,ii)= 0.d0" O p2gzr(ip,ii)= 0.d0" O p1zgr(ip,ii)= 0.d0" O p2zgr(ip,ii)= 0.d0" O p1zzr(ip,ii)= 0.d0! O p2zzr(ip,ii)=0.d0 " O cggi(ip,ii)= 0.d0 " O cgzi(ip,ii)= 0.d0 " O czgi(ip,ii)= 0.d0 # O p1ggi(ip,ii)= 0.d0 # O p2ggi(ip,ii)= 0.d0 r# O p1gzi(ip,ii)= 0.d0 d# O p2gzi(ip,ii)= 0.d0 # O p1zgi(ip,ii)= 0.d0 r# O p2zgi(ip,ii)= 0.d0 f# O p1zzi(ip,ii)= 0.d0 " O p2zzi(ip,ii)= 0.d0# O cggre(ip,ii)= 0.d0 w# O cgzre(ip,ii)= 0.d0 # O czgre(ip,ii)= 0.d0 $ O p1ggre(ip,ii)= 0.d0 $ O p2ggre(ip,ii)= 0.d0 $ O p1gzre(ip,ii)= 0.d0 $ O p2gzre(ip,ii)= 0.d0 $ O p1zgre(ip,ii)= 0.d0 $ O p2zgre(ip,ii)= 0.d0 $ O p1zzre(ip,ii)= 0.d0 # O p2zzre(ip,ii)= 0.d0 # O cggie(ip,ii)= 0.d0 c# O cgzie(ip,ii)= 0.d0 t# O czgie(ip,ii)= 0.d0 # O czzie(ip,ii)= 0.d0 O $ O p1ggie(ip,ii)= 0.d0 $ O p2ggie(ip,ii)= 0.d0 $ O p1gzie(ip,ii)= 0.d0 $ O p2gzie(ip,ii)= 0.d0 $ O p1zgie(ip,ii)= 0.d0 $ O p2zgie(ip,ii)= 0.d0 $ O p1zzie(ip,ii)= 0.d0 # O p2zzie(ip,ii)= 0.d0  O enddo O enddo  O *  O do ip=1,4* O do ii=1,12 ! O ephr(ip,ii)= 1.d0*" O ephie(ip,ii)= 0.d0# O adhelr(ip,ii)= 0.d0e$ O adhelre(ip,ii)= 0.d0$ O adhelie(ip,ii)= 0.d0# O adheli(ip,ii)= 0.d04 O enddo O enddo  O *  O if(ndim.eq.6) then O if(itc.eq.1) then O if(itcc.eq.1) then O smx= x(1) O sux= x(2) O sdx= x(3) O sfx= x(4) O twx= x(5) O t1x= x(6)# O else if(itcc.eq.2) thene O smx= x(1) O spx= x(2) O sux= x(3) O sfx= x(4) O twx= x(5) O t1x= x(6)# O else if(itcc.eq.3) then  O smx= x(1) O spx= x(2) O sux= x(3) O sdx= x(4) O twx= x(5) O t1x= x(6) O endif* else O  O smx= x(1)  O sux= x(2)z O sdx= x(3)i O sfx= x(4)  O twx= x(5)= O t1x= x(6)  O endif O else if(ndim.eq.8) then  O if(itc.eq.1) then O if(itcc.eq.1) then O uvx= x(1) O vvx= x(2) O smx= x(3) O sux= x(4) O sdx= x(5) O sfx= x(6) O twx= x(7) O t1x= x(8)# O else if(itcc.eq.2) then  O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sfx= x(6) O twx= x(7) O t1x= x(8)# O else if(itcc.eq.3) thena O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sdx= x(6) O twx= x(7) O t1x= x(8) O endif else  O uvx= x(1)f O vvx= x(2)  O smx= x(3)  O sux= x(4)  O sdx= x(5)  O sfx= x(6)o O twx= x(7)  O t1x= x(8)  O endif O else if(ndim.eq.7) then0 O smx= x(1) O spx= x(2) O sux= x(3) O sdx= x(4) O sfx= x(5) O twx= x(6) O t1x= x(7) O else if(ndim.eq.9) theni O uvx= x(1) O vvx= x(2) O smx= x(3) O spx= x(4) O sux= x(5) O sdx= x(6) O sfx= x(7) O twx= x(8) O t1x= x(9) O endif  O *  O ik= ik+1 rs= arse O one= 1.d0  O * ( O *-----if a point is not allowed then the O * result is set to zero  O * O iz= 1m O * % O if(ndim.eq.6.or.ndim.eq.7) thent O ueps= 0.d0a O uv= 1.d0  O uvs= uv*uv( O ujc= 1.d0 O veps= 0.d0 O  O vv= 1.d0d O vjc= 1.d0* O else if(ndim.eq.8.or.ndim.eq.9) then O *,, O *-----independent invariants are initialized O * first u and v variable O * % O ueps= omul*(1.d0-uvx)**hbeti O  O uv= 1.d0-ueps O ujc= omul**hbet O uvs= uv*uvi O *l O *-----limits for v O *n O *-----from equal cuts on SAc O *-+ O if(iac(3).eq.1.and.isab.eq.1) then O ' O vvl4= ombsa(1)/opbsa(1)*uvsd+ O vvl= dmax1(vvl1,vvl2,vvl3,vvl4) elseo& O vvl= dmax1(vvl1,vvl2,vvl3) O endif O *9 O *-----from E O *  O vve= uv*(2.d0*suml-uv)p O vvll= dmax1(vvl,vve)  O *i O vvu1= uv=+ O if(iac(3).eq.1.and.isaa.eq.1) thena' O vvu2= omasa(1)/opasa(1)*uvss! O vvu= dmin1(vvu1,vvu2)f else  O vvu= uv  O endif O uvl= uv-vvll2 O *r O vkf= (uv-vvu)/uvl O if(vkf.eq.0.d0) then O ' O veps= uvl*(1.d0-vvx)**hbeti elsem8 O veps= uvl*(1.d0-(1.d0-vkf**hbet)*vvx)**hbeti O endif O vv= uv-veps O avkf= 1.d0-vkf**hbet ' O vjc= (1.d0-vvll/uv)**hbet*avkfo O endif  O *i O svv= sqrt(vv)  O vj= sqrt(vv**3)  O vzmg= rzmg*vv  O vvs= vv*vv O xm= uv O xp= vv/uv p O xmop= xm/xpx% O if(ndim.eq.7.or.ndim.eq.6) then  O xdf= 0.d0 O else( O xdf= (ueps*(1.d0-ueps)-veps)/uv O endife O xdfs= xdf*xdf O  O sh= vv*s O *- O *-----Z parameters O *- O rszm2= zm*zm/sh- O *-1 O *-----Z propagator (real part and imaginary part)  O *m O dsz0= 1.d0-rszm2 O dsz= dsz0*dsz0+rszw2 O rsz= dsz0/dszm O aisz= -rszw/dszh O *cC O *-----Reduced structure functions are computed with arguments xp,xms O *2 O opxp= 1.d0+xp  O opxm= 1.d0+xm O  O omxp= veps/uv  O omxm= ueps O if(isf.eq.0) thend O stfp= 1.d0o O stfm= 1.d0w O else if(isf.gt.0) then O if(omxp.eq.0) then= O stfp= d0gl elsen" O rcpx= 0.25d0*opxp*opxp O rcpy= xp O iflp= 1w( O rclp= s21baf(rcpx,rcpy,iflp)3 O stfp= d0gl+eob*omxp**omhb*(-0.5d0*opxp+ - O # feta*(-4.d0*opxp*log(omxp)+s7 O # 3.d0*opxp*log(xp)+4.d0*rclp-5.d0-xp))) O endif O if(omxm.eq.0) thenw O stfm= d0gl else," O rcmx= 0.25d0*opxm*opxm O rcmy= xm O iflm= 1m( O rclm= s21baf(rcmx,rcmy,iflm)3 O stfm= d0gl+eob*omxm**omhb*(-0.5d0*opxm+ - O # feta*(-4.d0*opxm*log(omxm)+x7 O # 3.d0*opxm*log(xm)+4.d0*rclm-5.d0-xm))  O endif O endifc O *) O stf= stfp*stfm O *,I O *-----if there is no upper cut on some FS IM, then the maximum is allowedr O *  O do j=1,6 O if(rr(j).eq.1.d0) then O rrr(j)= rr(j) O else O rrr(j)= rr(j)/vvo O endifm O rrl(j)= rl(j)/vv O srrl(j)= srl(j)/svvl O enddoi O *h& O *-----cuts become special near xp = xm O * ! O if(abs(xdf).gt.1.d-15) then  O ieq= 1,( O bxe= vv/(ueps*(1.d0-ueps)-veps) O if(xdf.gt.0.d0) thens O enc= 1.d0m" O else if(xdf.lt.0.d0) then O enc= xmoph O endif O else O ieq= 0  O bxe= 1.d0 O endife% O if(ieq.eq.0.and.xm.le.teq) thens O iz= 0 O ifz(1)= ifz(1)+1, O go to 1 O endift O *i7 O if(ieq.eq.0.and.iac(2).ne.0.and.iac(4).ne.0) then  O sct12= sct120/vv, O sct13= sct130/vv) O sct14= sct140/vvc O sct23= sct230/vv3 O sct24= sct240/vv  O sct34= sct340/vvc O else O sct12= 0.d0 O sct13= 0.d0 O sct14= 0.d0 O sct23= 0.d0 O sct24= 0.d0 O sct34= 0.d0 O endif O * , O *-----cuts on Es O *, O do j=1,4 O if(ieq.eq.1) thenm# O bl(j)= 2.d0*rae(j)/xdf # O xbl(j)= 2.d0*rae(j)/xpm O else if(ieq.eq.0) then" O bl(j)= 2.d0*rae(j)/xm O endifs O enddo O  O *  O *-----cuts on SA O *2 O if(iac(3).ne.0) then O do j=1,4i% O if(sgam(j).eq.1.d0) theno O ss(j)= 0.d0e O else(7 O ss(j)= 1.d0+sgam(j)/(1.d0-sgam(j))*xmopo! O ss(j)= 1.d0/ss(j)i O endif% O if(cgam(j).eq.0.d0) thene O cs(j)= 1.d02 O else O 7 O cs(j)= 1.d0+cgam(j)/(1.d0-cgam(j))*xmop,! O cs(j)= 1.d0/cs(j)( O endif O enddo O endifg O *)" O *-----initialization of sm = m_-^2 O *) O zma1= dsms O zma2= vv*sct12 O zmb1= usmc! O zmb2= (svv-sdsp)*(svv-sdsp)c4 O zmb3= vv*(1.d0-sqrt(sct34))*(1.d0-sqrt(sct34)) O if(ieq.eq.0) theni$ O zma3= vv*(bl(1)+bl(2)-1.d0)- O zmb4= vv*(1.d0-0.5d0*(bl(3)+bl(4)))*h) O # (1.d0-0.5d0*(bl(3)+bl(4)))i O zmb5= vv*(1.d0-bl(3)) O zmb6= vv*(1.d0-bl(4)) O else if(ieq.eq.1) then& O zma3= vv*(-enc+xbl(1)+xbl(2))2 O zmb4= 0.25d0*vv*(1.d0+enc-xbl(3)-xbl(4))*' O # (1.d0+enc-xbl(3)-xbl(4))r O zmb5= vv*(enc-xbl(3)) O zmb6= vv*(enc-xbl(4)) O endif4! O xzma= dmax1(zma1,zma2,zma3) 0 O xzmb= dmin1(zmb1,zmb2,zmb3,zmb4,zmb5,zmb6) O *2C O *-----limits on sm from cuts on SA. Here for maximum security. Rare2 O *1 O if(iac(3).eq.0) then O zma= xzma O zmb= xzmb O else g4 O if(ss(4).eq.ss(3).and.ss(2).eq.ss(1)) then # O if(ss(3).eq.ss(1)) then O  O szma= xzma, O szmb= xzmb1( O else if(ss(3).gt.ss(1)) then O szmb= xzmbg O adsp= dsp/vvz( O axszma= dmax1(adsp,sct34)5 O axszma= vv*(axszma-(1.d0-ss(1)-ss(3))/,% O # (ss(3)-ss(1)))(' O szma= dmax1(axszma,xzma)2( O else if(ss(3).lt.ss(1)) then& O if(ss(3).lt.0.5d0) then O szma= xzma= O axszmb= vv*((ss(3)-0.5d0)/(ss(3)-ss(1)))**2 * O szmb= dmin1(axszmb,xzmb) O elsez O iz= 0 " O ifz(2)= ifz(2)+1 O go to 1a O endif O endif, elsee O szma= xzma O szmb= xzmb O endif4 O if(cs(4).eq.cs(3).and.cs(2).eq.cs(1)) then # O if(cs(3).eq.cs(1)) then  O zma= szma O zmb= szmb( O else if(cs(3).gt.cs(1)) then& O if(cs(3).gt.0.5d0) then O zma= szma1= O axczmb= vv*((cs(3)-0.5d0)/(cs(3)-cs(1)))**2p) O zmb= dmin1(axczmb,szmb) O  O elseg O iz= 0 " O ifz(3)= ifz(3)+1 O go to 1p O endif( O else if(cs(3).lt.cs(1)) then O zmb= szmbp O adsp= dsp/vv+ O axczma= dmax1(adsp,sct34) 8 O axczma= vv*(axczma-(1.d0-cs(1)-cs(3))/( O # (cs(3)-cs(1)))) O zma= dmax1(axczma,szma)f O endif4 else, O zma= szmap O zmb= szmbe O endif O endif4 O *)5 O if((itc.eq.1.and.itcc.eq.1).or.(itc.eq.2)) then O dzpa= dmax1(dsp,sct340) O if(itc.eq.1) then; O dzmb= (dist/rs-sqrt(dzpa))*(dist/rs-sqrt(dzpa))z O zmb= dmin1(zmb,dzmb) O else if(itc.eq.2) thene; O dzma= (dist/rs+sqrt(dzpa))*(dist/rs+sqrt(dzpa)) O zma= dmax1(zma,dzma)4 O dzmb= 0.25d0*(svv+dist/rs)*(svv+dist/rs) O zmb= dmin1(zmb,dzmb) O endif O endif % O if(itc.eq.1.and.itcc.eq.3) then $ O zmbd3= vv-0.5d0*dist*dist/s O zmb= dmin1(zmb,zmbd3) O endif  O *  O *-----test on sm O *  O if(zmb.le.zma) then, O iz= 0 O ifz(4)= ifz(4)+1  O go to 1 O endifi O *s O if(opeak.eq.'y') then1 O zmas= zma-rzm2# O zmbs= zmb-rzm2 O # O atma= (zmas+szgs*zma)/rzmge# O atmb= (zmbs+szgs*zmb)/rzmg / O if(atma.gt.1.d0.and.atmb.gt.1.d0) thenp O atma= 1.d0/atma O  O atma= atan(atma)! O zmat= (pih-atma)/vzmgb O atmb= 1.d0/atmb  O atmb= atan(atmb)! O zmbt= (pih-atmb)/vzmgz$ O smjc0= (-atmb+atma)/vzmg5 O else if(atma.gt.1.d0.and.atmb.lt.-1.d0) thenz O atma= 1.d0/atma  O atma= atan(atma)! O zmat= (pih-atma)/vzmge O atmb= -1.d0/atmb O atmb= atan(atmb)" O zmbt= (-pih+atmb)/vzmg' O smjc0= (-pi+atmb+atma)/vzmgf9 O else if(atma.gt.1.d0.and.abs(atmb).lt.1.d0) then2 O atma= 1.d0/atma  O atma= atan(atma)! O zmat= (pih-atma)/vzmgz O atmb= atan(atmb) O zmbt= atmb/vzmg ( O smjc0= (-pih+atmb+atma)/vzmg5 O else if(atma.lt.-1.d0.and.atmb.gt.1.d0) theni O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vzmg O atmb= 1.d0/atmb, O atmb= atan(atmb)! O zmbt= (pih-atmb)/vzmg,& O smjc0= (pi-atmb-atma)/vzmg6 O else if(atma.lt.-1.d0.and.atmb.lt.-1.d0) then O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vzmg O atmb= -1.d0/atmb O atmb= atan(atmb)" O zmbt= (-pih+atmb)/vzmg# O smjc0= (atmb-atma)/vzmg#: O else if(atma.lt.-1.d0.and.abs(atmb).lt.1.d0) then O atma= -1.d0/atma O atma= atan(atma)" O zmat= (-pih+atma)/vzmg O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O m= sqrt(asum)0 O *." O *-----initialization of su = M_0^2 O * % O *-----limits on su from cuts on FS IMs O * O  O sulim= rrl(4)u O suuim1= rrr(4)5 O suuim2= (1.d0-srrl(3))*(1.d0-srrl(3)) O ! O suuim= dmin1(suuim1,suuim2)e O *u@ O *-----limits on su from Delta_- > 0 (as derived from consistency O * on sd limits)d O * O / O suud1= 0.25d0*(rasup+rasum)*(rasup+rasum).- O suud2= 0.25d0*(1.d0+rasup)*(1.d0+rasup)n O *  O sul= sulim O sul= dmax1(sul,sct23)c O if(ieq.eq.0) then  O sul1= bl(2)+bl(3)-1.d0, O suu1= 1.d0-sp-bl(1) O suu2= 1.d0-sm-bl(4)* O suu3= (1.d0-0.5d0*(bl(1)+bl(4)))** O # (1.d0-0.5d0*(bl(1)+bl(4))) O else if(ieq.eq.1) then* O sul1= xbl(2)+xbl(3)+1.d0-2.d0*enc O suu1= enc-sp-xbl(1) O suu2= enc-sm-xbl(4)+ O suu3= (enc-0.5d0*(xbl(1)+xbl(4)))* * O # (enc-0.5d0*(xbl(1)+xbl(4))) O endif  O sul= dmax1(sul,sul1)2 O suu= dmin1(suuim,suud1,suud2,suu1,suu2,suu3) O sdlim= rrl(3)# O * % O if(itc.eq.1.and.itcc.eq.2) then0" O dsdl= dmax1(sdlim,sct140)@ O dsuu= (dist/svv/rs-sqrt(dsdl))*(dist/svv/rs-sqrt(dsdl)) O suu= dmin1(suu,dsuu) O endif O % O if(itc.eq.1.and.itcc.eq.3) then./ O suud3= 1.d0-sm-sp-0.5d0*dist*dist/vv/sl O suu= dmin1(suu,suud3) O endif  O *i O *-----test on su O *  O if(suu.le.sul) then= O iz= 0 O ifz(8)= ifz(8)+1b O go to 1 O endif O  O *  O if(opeak.eq.'y') then  O zuas= vv*sul-rzm2 O zubs= vv*suu-rzm2& O atua= (zuas+vv*szgs*sul)/rzmg& O atub= (zubs+vv*szgs*suu)/rzmg/ O if(atua.gt.1.d0.and.atub.gt.1.d0) then  O atua= 1.d0/atuai O atua= atan(atua)! O zuat= (pih-atua)/vzmgm O atub= 1.d0/atub0 O atub= atan(atub)! O zubt= (pih-atub)/vzmg O $ O sujc0= (-atub+atua)/vzmg5 O else if(atua.gt.1.d0.and.atub.lt.-1.d0) then  O atua= 1.d0/atuas O atua= atan(atua)! O zuat= (pih-atua)/vzmg2 O atub= -1.d0/atub O atub= atan(atub)" O zubt= (-pih+atub)/vzmg' O sujc0= (-pi+atub+atua)/vzmg 9 O else if(atua.gt.1.d0.and.abs(atub).lt.1.d0) then  O atua= 1.d0/atua, O atua= atan(atua)! O zuat= (pih-atua)/vzmg) O atub= atan(atub) O zubt= atub/vzmg ( O sujc0= (-pih+atub+atua)/vzmg5 O else if(atua.lt.-1.d0.and.atub.gt.1.d0) then O  O atua= -1.d0/atua O atua= atan(atua)" O zuat= (-pih+atua)/vzmg O atub= 1.d0/atub  O atub= atan(atub)! O zubt= (pih-atub)/vzmgd& O sujc0= (pi-atub-atua)/vzmg6 O else if(atua.lt.-1.d0.and.atub.lt.-1.d0) then O atua= -1.d0/atua O atua= atan(atua)" O zuat= (-pih+atua)/vzmg O atub= -1.d0/atub O atub= atan(atub)" O zubt= (-pih+atub)/vzmg# O sujc0= (atub-atua)/vzmg O : O else if(atua.lt.-1.d0.and.abs(atub).lt.1.d0) then O atua= -1.d0/atua O atua= atan(atua)" O zuat= (-pih+atua)/vzmg O atub= atan(atub) O zubt= atub/vzmg ' O sujc0= (pih+atub-atua)/vzmg 9 O else if(abs(atua).lt.1.d0.and.atub.gt.1.d0) then. O atua= atan(atua) O zuat= atua/vzmg  O atub= 1.d0/atub O  O atub= atan(atub)! O zubt= (pih-atub)/vzmg2' O sujc0= (pih-atub-atua)/vzmgl: O else if(abs(atua).lt.1.d0.and.atub.lt.-1.d0) then O atua= atan(atua) O zuat= atua/vzmg O  O atub= -1.d0/atub O atub= atan(atub)" O zubt= (-pih+atub)/vzmg( O sujc0= (-pih+atub-atua)/vzmg> O else if(abs(atua).lt.1.d0.and.abs(atub).lt.1.d0) then O atua= atan(atua) O zuat= atua/vzmg  O atub= atan(atub) O zubt= atub/vzmg # O sujc0= (atub-atua)/vzmg  O endif O * O  O zuv= sujc0*sux+zuat O iftn= 1 O atnu= vzmg*zuv 0 O su= s0z/vv*(1.d0+szg*s07aaf(atnu,iftn)) O if(iftn.ne.0) print 300 O pujac= 1.d0 O * ) O else if(opeak.eq.'n') then  O sujc0= suu-sul3 O su= sujc0*sux+sul5 O pujac= 1.d0/((vv*su-rzm2)**2+(vv*su*szg)**2)s O endif  O sujc= vv*sujc0 O if(su.lt.0.d0) then  O iz= 0 O ifz(8)= ifz(8)+1  O go to 1 O endif) O ssu= sqrt(su)  O *z" O *-----initialization of sd = m_0^2 O *e% O *-----limits on sd from cuts on FS IM  O *  O sdlim1= rrl(3)) O sdlim2= 1.d0-rrr(2)-rrr(5)-sm-sp-su ! O sdlim= dmax1(sdlim1,sdlim2)  O sduim1= rrr(3)# O sduim2= (1.d0-ssu)*(1.d0-ssu) ) O sduim3= 1.d0-rrl(2)-rrl(5)-sm-sp-suc( O sduim= dmin1(sduim1,sduim2,sduim3) O *.# O *-----limits on sd from Delta_- > 0a O *  O if(ssu.gt.rasup) then & O sdld= (ssu-rasup)*(ssu-rasup) O else O sdld= sdlim O endif $ O sdud1= (ssu+rasup)*(ssu+rasup)& O sdud2= (-ssu+rasum)*(-ssu+rasum) O sdud= dmin1(sdud1,sdud2) O *cC O *-----limits on sd from cuts on SA. Here for maximum security. Rare  O * A O if(iac(3).ne.0.and.ss(4).eq.ss(1).and.ss(3).eq.ss(2)) then d O if(ss(2).eq.ss(1)) then# O asdu= dmin1(sduim,sdud)m# O asdl= dmax1(sdlim,sdld) % O else if(ss(1).gt.ss(2)) then46 O sdusa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2))) O asdu= dmin1(sduim,sdud,sdusa))# O asdl= dmax1(sdlim,sdld)m% O else if(ss(1).lt.ss(2)) thene# O asdu= dmin1(sduim,sdud) 6 O sdlsa= su+(1.d0-ss(1)-ss(2))/(ss(1)-ss(2))) O asdl= dmax1(sdlim,sdld,sdlsa)t O endif O else O asdu= dmin1(sduim,sdud) O asdl= dmax1(sdlim,sdld) O endifiA O if(iac(3).ne.0.and.cs(4).eq.cs(1).and.cs(3).eq.cs(2)) then O if(cs(2).eq.cs(1)) then O sdl= asdl) O sdu= asdu O % O else if(cs(1).gt.cs(2)) then  O sdu= asdu+6 O sdlsb= su+(1.d0-cs(1)-cs(2))/(cs(1)-cs(2))" O sdl= dmax1(asdl,sdlsb)% O else if(cs(1).lt.cs(2)) then  O sdl= asdls6 O sdusb= su+(1.d0-cs(1)-cs(2))/(cs(1)-cs(2))" O sdu= dmin1(asdu,sdusb) O endif O else O sdl= asdl O sdu= asdu O endif  O *  O if(ieq.eq.0) thenk$ O sdenl= -1.d0+bl(1)+bl(4)+su O sdenu1= 1.d0-sp-bl(2) O sdenu2= 1.d0-sm-bl(3)$ O sdenu3= 1.d0-bl(2)-bl(3)+su O else if(ieq.eq.1) then. O sdenl= su+1.d0-2.d0*enc+xbl(1)+xbl(4) O sdenu1= enc-sp-xbl(2) O sdenu2= enc-sm-xbl(3)/ O sdenu3= su-1.d0+2.d0*enc-xbl(2)-xbl(3) O endifm O sdl= dmax1(sdl,sdenl)m* O sdu= dmin1(sdu,sdenu1,sdenu2,sdenu3) O sdl= dmax1(sdl,sct14)1% O if(itc.eq.1.and.itcc.eq.3) then , O sdld3= 1.d0-sm-sp-su-dist*dist/vv/s O sdl= dmax1(sdl,sdld3)2 O sdud3= 1.d0-sm-sp-su-0.5d0*dist*dist/vv/s O sdu= dmin1(sdu,sdud3) O endif/ O *g O *-----test on sd O *( O if(sdu.le.sdl) then  O iz= 0 O ifz(9)= ifz(9)+1d O go to 1 O endif0 O *m% O if(itc.eq.1.and.itcc.eq.2) then ; O bdistl= (dist/rs-svv*ssu)*(dist/rs-svv*ssu)-vv*sdl ; O bdistu= vv*sdu-(dist/rs-svv*ssu)*(dist/rs-svv*ssu)a2 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then O iz= 0  O ifz(9)= ifz(9)+1 O go to 1 O  O endif O endif/ O *g% O if(itc.eq.1.and.itcc.eq.2) then 0 O sd= (dist/rs/svv-ssu)*(dist/rs/svv-ssu)/ O sdjc= 2.d0*abs((dist/rs-svv*ssu))/ars/ / O # ((vv*sd-rzm2)**2+(vv*sd*szg)**2)h O pdjac= 1.d0 O else O if(opeak.eq.'y') then O zdas= vv*sdl-rzm2g O zdbs= vv*sdu-rzm2 O ) O atda= (zdas+vv*szgs*sdl)/rzmgm) O atdb= (zdbs+vv*szgs*sdu)/rzmgt2 O if(atda.gt.1.d0.and.atdb.gt.1.d0) then O atda= 1.d0/atda O atda= atan(atda) $ O zdat= (pih-atda)/vzmg O atdb= 1.d0/atdb O atdb= atan(atdb)t$ O zdbt= (pih-atdb)/vzmg' O sdjc0= (-atdb+atda)/vzmgl8 O else if(atda.gt.1.d0.and.atdb.lt.-1.d0) then O atda= 1.d0/atda O atda= atan(atda) $ O zdat= (pih-atda)/vzmg O atdb= -1.d0/atdb  O atdb= atan(atdb) O % O zdbt= (-pih+atdb)/vzmga* O sdjc0= (-pi+atdb+atda)/vzmg< O else if(atda.gt.1.d0.and.abs(atdb).lt.1.d0) then O atda= 1.d0/atda O atda= atan(atda)z$ O zdat= (pih-atda)/vzmg O atdb= atan(atdb)) O zdbt= atdb/vzmg+ O sdjc0= (-pih+atdb+atda)/vzmg 8 O else if(atda.lt.-1.d0.and.atdb.gt.1.d0) then O atda= -1.d0/atda  O atda= atan(atda) % O zdat= (-pih+atda)/vzmgt O atdb= 1.d0/atdb O atdb= atan(atdb)*$ O zdbt= (pih-atdb)/vzmg) O sdjc0= (pi-atdb-atda)/vzmg.9 O else if(atda.lt.-1.d0.and.atdb.lt.-1.d0) then' O atda= -1.d0/atda  O atda= atan(atda)+% O zdat= (-pih+atda)/vzmgr O atdb= -1.d0/atdb  O atdb= atan(atdb) % O zdbt= (-pih+atdb)/vzmg & O sdjc0= (atdb-atda)/vzmg= O else if(atda.lt.-1.d0.and.abs(atdb).lt.1.d0) thenu O atda= -1.d0/atda- O atda= atan(atda) O % O zdat= (-pih+atda)/vzmg O  O atdb= atan(atdb)s O zdbt= atdb/vzmg* O sdjc0= (pih+atdb-atda)/vzmg< O else if(abs(atda).lt.1.d0.and.atdb.gt.1.d0) then O atda= atan(atda)e O zdat= atda/vzmg O atdb= 1.d0/atdb O atdb= atan(atdb) $ O zdbt= (pih-atdb)/vzmg* O sdjc0= (pih-atdb-atda)/vzmg= O else if(abs(atda).lt.1.d0.and.atdb.lt.-1.d0) then1 O atda= atan(atda)  O zdat= atda/vzmg O atdb= -1.d0/atdb  O atdb= atan(atdb) % O zdbt= (-pih+atdb)/vzmgp+ O sdjc0= (-pih+atdb-atda)/vzmg-A O else if(abs(atda).lt.1.d0.and.abs(atdb).lt.1.d0) then  O atda= atan(atda)  O zdat= atda/vzmg O atdb= atan(atdb)  O zdbt= atdb/vzmg& O sdjc0= (atdb-atda)/vzmg O endif) O *e O zdv= sdjc0*sdx+zdat  O iftn= 1 O  O atnd= vzmg*zdv3 O sd= s0z/vv*(1.d0+szg*s07aaf(atnd,iftn)) # O if(iftn.ne.0) print 3003 O pdjac= 1.d0  O *a, O else if(opeak.eq.'n') then  O sdjc0= sdu-sdl O sd= sdjc0*sdx+sdlp8 O pdjac= 1.d0/((vv*sd-rzm2)**2+(vv*sd*szg)**2) O endif O sdjc= vv*sdjc0i O * O O endif  O if(sd.lt.0.d0) then  O iz= 0 O ifz(9)= ifz(9)+1  O go to 1 O endift O ssd= sqrt(sd)v O sdmu= sd-su)$ O sdmus= (1.d0+sdmu)*(1.d0+sdmu) O *) O *-----initialization of sf = m^2 O * % O *-----limits on sf from cuts on FS IM  O *l O sflim1= rrl(2) O sfuim1= rrr(2) O bsg= sm+sp+su+sd O ombsg= 1.d0-bsgx O sflim2= ombsg-rrr(5) O sfuim2= ombsg-rrl(5)! O sflim= dmax1(sflim1,sflim2)n! O sfuim= dmin1(sfuim1,sfuim2)  O * " O *-----limits on sf from cuts on SA O * $ O tcuts= ss(1)-ss(2)+ss(3)-ss(4)$ O tcutc= cs(1)-cs(2)+cs(3)-cs(4)> O if(iac(3).ne.0.and.tcuts.ne.0.d0.and.tcutc.ne.0.d0) then1 O if(tcuts.gt.0.d0.and.tcutc.gt.0.d0) thene6 O sflsa= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp-n+ O # (cs(1)-cs(4))*sm)/tcutc r6 O sfusa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp-*+ O # (ss(1)-ss(4))*sm)/tcuts .$ O asfl= dmax1(sflim,sflsa)$ O asfu= dmin1(sfuim,sfusa)6 O else if(tcuts.gt.0.d0.and.tcutc.lt.0.d0) then6 O sfusa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp- + O # (ss(1)-ss(4))*sm)/tcuts /6 O sfusb= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp-'+ O # (cs(1)-cs(4))*sm)/tcutc * O asfu= dmin1(sfuim,sfusa,sfusb)# O asfl= sflim b6 O else if(tcuts.lt.0.d0.and.tcutc.gt.0.d0) then6 O sflsa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp-/+ O # (ss(1)-ss(4))*sm)/tcuts 6 O sflsb= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp- + O # (cs(1)-cs(4))*sm)/tcutc * O asfl= dmax1(sflim,sflsa,sflsb)# O asfu= sfuim 6 O else if(tcuts.lt.0.d0.and.tcutc.lt.0.d0) then6 O sflsa= (1.d0-ss(2)-ss(4)-(ss(1)-ss(2))*sd-5 O # (ss(3)-ss(4))*su-(ss(3)-ss(2))*sp-++ O # (ss(1)-ss(4))*sm)/tcuts a6 O sfusa= (1.d0-cs(2)-cs(4)-(cs(1)-cs(2))*sd-5 O # (cs(3)-cs(4))*su-(cs(3)-cs(2))*sp-a+ O # (cs(1)-cs(4))*sm)/tcutc ($ O asfl= dmax1(sflim,sflsa)$ O asfu= dmin1(sfuim,sfusa) O endif O else O asfl= sflim O asfu= sfuim O endifp O *- O if(ieq.eq.0) then  O asfenl1= bl(1)-sm-sd  O asfenl2= bl(3)-sp-su " O asfenu1= 1.d0-bl(2)-sp-sd" O asfenu2= 1.d0-bl(4)-sm-su O else if(ieq.eq.1) then' O asfenl1= 1.d0-enc-sm-sd+xbl(1) O ' O asfenl2= 1.d0-enc-sp-su+xbl(3)b" O asfenu1= enc-sp-sd-xbl(2)" O asfenu2= enc-sm-su-xbl(4) O endif O ' O asfl= dmax1(asfl,asfenl1,asfenl2) ' O asfu= dmin1(asfu,asfenu1,asfenu2) # O aasfu= 1.d0-sm-sp-su-sd-sct24  O asfl= dmax1(asfl,sct13)  O asfu= dmin1(asfu,aasfu)g O *  O if(iac(3).ne.0) then O if(ss(4).ne.ss(3)) then O if(ss(4).gt.ss(3)) thene5 O asfltw= -(1.d0-ss(3)*sp-ss(3)*su+ss(4)*sm+=7 O # ss(4)*su-ss(4)-bt1(1))/(ss(4)-ss(3)) # O asfl= dmax1(asfl,asfltw) % O else if (ss(4).lt.ss(3)) then 5 O asfutw= -(1.d0-ss(3)*sp-ss(3)*su+ss(4)*sm+ O 7 O # ss(4)*su-ss(4)-bt1(1))/(ss(4)-ss(3))p# O asfu= dmin1(asfu,asfutw)b endif O endif O if(cs(1).ne.cs(2)) then O if(cs(1).gt.cs(2)) then 9 O bsfltw= -(cs(1)*sm+cs(1)*sd-cs(2)*sp-cs(2)*sd+.. O # cs(2)-bt1(1))/(cs(1)-cs(2))# O asfl= dmax1(asfl,bsfltw)/$ O else if(cs(1).lt.cs(2)) then9 O bsfutw= -(cs(1)*sm+cs(1)*sd-cs(2)*sp-cs(2)*sd+p/ O # cs(2)-bt1(1))/(cs(1)-cs(2))a# O asfu= dmin1(asfu,bsfutw)t endif. O endif O if(cs(4).ne.cs(3)) then O if(cs(4).gt.cs(3)) then=; O csfutw= (bt2(1)-1.d0+cs(3)*sp+cs(3)*su-cs(4)*sm-z0 O # cs(4)*su+cs(4))/(cs(4)-cs(3))# O asfu= dmin1(asfu,csfutw) $ O else if(cs(4).lt.cs(3)) then; O csfltw= (bt2(1)-1.d0+cs(3)*sp+cs(3)*su-cs(4)*sm-(0 O # cs(4)*su+cs(4))/(cs(4)-cs(3))# O asfl= dmax1(asfl,csfltw)1 endif O endif O if(ss(1).ne.ss(2)) then O if(ss(1).gt.ss(2)) then 6 O dsfutw= (bt2(1)-ss(1)*sm-ss(1)*sd+ss(2)*sp+0 O # ss(2)*sd-ss(2))/(ss(1)-ss(2))# O asfu= dmin1(asfu,dsfutw) $ O else if(ss(1).lt.ss(2)) then6 O dsfltw= (bt2(1)-ss(1)*sm-ss(1)*sd+ss(2)*sp+0 O # ss(2)*sd-ss(2))/(ss(1)-ss(2))# O asfl= dmax1(asfl,dsfltw)p endif O endif O endif  O *r O *-----positivity of R^2n O *b O scp= ssmpp*ssmpp  O scm= ssmmp*ssmmp $ O snp= (ssu+ssd)*(ssu+ssd) $ O snm= (ssu-ssd)*(ssu-ssd)  O rlp= ssu*ssd+ssp*ssm O rlm= ssu*ssd-ssp*ssm O bsgmo= bsg-1.d0m O ombsg2= ombsg*ombsgf O rlps= rlp*rlp. O rlms= rlm*rlm  O edelp= ombsg2-4.d0*rlps7 O edelm= ombsg2-4.d0*rlmsn" O edeld= 16.d0*ssu*ssd*ssp*ssm O *a7 O *-----first Delta_- > 0 > Delta_+ with Sigma > or < 1/2 O  O * then Delta_+ > 0 O * *-----control O  O * O  O cnt1= scp+snm O  O cnt2= scm+snp O + O if(cnt1.gt.1.d0.or.cnt2.gt.1.d0) then  O iz= 0 O ifz(10)= ifz(10)+1 O  O go to 1 O endift O if(edelm.le.0.d0) then O etest= edeld+edelp O  O if(etest.gt.0.d0) thens O edelm= etest else1 O iz= 0s O ifz(11)= ifz(11)+1 O go to 13 O endif O endif O  O sedm= sqrt(edelm)) ifcr= 0 . O call c02ajf(one,bsgmo,rlms,rr1,rr2,ifcr) O if(rr1(2).ne.0.d0) then( O iz= 0 O ifz(12)= ifz(12)+1b O go to 1 O endif. ifcr= 0 . O call c02ajf(one,bsgmo,rlps,rs1,rs2,ifcr) O *u O cnt3= scp+snp  O cnt4= scm+snm( O cbru= -1.d0( O ccru= 0.5d0*bsg) O * < O *-----R^2 has two real roots and two complex conjugate roots O * + O if(cnt3.gt.1.d0.or.cnt4.gt.1.d0) thens O if(bsg.gt.0.5d0) then O iel= 1 O sflr(1)= rr1(1)e O sfur(1)= rr2(1)a O sflr(2)= rr1(1)u O sfur(2)= rr2(1)d else( O iel= 2 O ifcr= 0 5 O call c02ajf(one,cbru,ccru,rru1,rru2,ifcr) O ru1= rru1(1)*rru1(1) O ru2= rru2(1)*rru2(1) O sflr(1)= rr1(1)- O sflr(2)= ru2 O sfur(1)= ru1 O sfur(2)= rr2(1)i O endif O *g O *-----R^2 has four real roots  O *o1 O else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then  O if(bsg.gt.0.5d0) then O sflr(1)= rr1(1)g O sflr(2)= rs2(1)s O sfur(1)= rs1(1)g O sfur(2)= rr2(1) elset O ifcr= 0 5 O call c02ajf(one,cbru,ccru,rru1,rru2,ifcr)m O ru1= rru1(1)*rru1(1) O ru2= rru2(1)*rru2(1) O sflr(1)= rr1(1) O & O sfur(1)= dmin1(rs1(1),ru1)& O sflr(2)= dmax1(rs2(1),ru2) O sfur(2)= rr2(1)t O endif O endift O * . O *-----the loop for transforming sf starts here O *  O if(om.eq.'g') then O itmn= it0 O itmx= it0 O else O itmn= 1 O itmx= 2 O endifv O do it=itmn,itmxa$ O if(sflr(it).ge.asfl) then O sfl= sflr(it)u O elset O sfl= asfl  O endif$ O if(sfur(it).le.asfu) then O sfu= sfur(it) O  O else= O sfu= asfu  O endif O *t O *-----test on sf O *d O if(sfu.le.sfl) then O iz= 0t O ifz(13)= ifz(13)+1 O go to 2  O endif O * * O if(itc.eq.1.and.itcc.eq.3) then O ittm= 2 O  O else= O ittm= 1  O endif O *t O do itt=1,ittm O *n* O if(itc.eq.1.and.itcc.eq.3) then O distm= dist/svv/rs9 O sbdist= 2.d0*(1.d0-sm-sp-su-sd)-distm*distm % O if(sbdist.le.0.d0) then- O iz= 0# O ifz(13)= ifz(13)+1  O go to 5 O endifh O if(itt.eq.1) then O 4 O bdist= 0.25d0*(distm-sqrt(sbdist))*+ O # (distm-sqrt(sbdist)) $ O else if(itt.eq.2) then4 O bdist= 0.25d0*(distm+sqrt(sbdist))*+ O # (distm+sqrt(sbdist))  O endif  O bdistl= bdist-sfl  O bdistu= sfu-bdist 7 O if(bdistl.le.0.d0.or.bdistu.le.0.d0) then  O iz= 0# O ifz(13)= ifz(13)+1a O go to 5 O endif  O sf= bdist  O ssf= sqrt(sf) ; O pfjc= 2.d0/vv/rs*ssf*(distm-ssf)/sqrt(sbdist) < O sfjc0= sf*sf+(sm+sp+su+sd-1.d0)*sf+su*sd+sm*sp0 O sfjc= 4.d0*sm*sp*su*sd-sfjc0*sfjc0# O if(sfjc.le.0.d0) thena O iz= 0 " O ifz(13)= ifz(13)+1 O go to 5  O else! O if(iel.eq.1) then O . O sfjc= 0.5d0*pfjc/sqrt(sfjc)& O else if(iel.eq.2) then( O sfjc= pfjc/sqrt(sfjc) O endifi O endif0 O else  O *0F O *-----transformation for jacobian, first Delta_+ < 0, then Delta_+ > 0 O * O 0 O if(cnt3.gt.1.d0.or.cnt4.gt.1.d0) then O er= rs1(1) O es= abs(rs1(2))c O er1= rr1(1)0 O er2= rr2(1) O  O ek2= edelm/edeld O ek= sqrt(ek2) $ O dog= -2.d0/sqrt(edeld)) O ecpl= (ombsg-2.d0*sfl)/sedmd) O ecpu= (ombsg-2.d0*sfu)/sedm( O eql= ecpl*ecpl O equ= ecpu*ecpu) O omecpl= 2.d0*(sfl-er1)/sedm)) O es2pl= omecpl*(2.d0-omecpl) ! O erl= 1.d0-ek2*es2pls O espl= sqrt(es2pl)i) O opecpu= 2.d0*(er2-sfu)/sedmt) O es2pu= opecpu*(2.d0-opecpu) O  O espu= sqrt(es2pu)a! O eru= 1.d0-ek2*es2pul O if(eql.eq.1) thens O sflt= 0.d0d O else O ifel= 19 O sflt= -dog*espl*s21bbf(eql,erl,one,ifel)e# O if(ifel.ne.0) then  O iz= 0)& O ifz(14)= ifz(14)+1 O go to 2n O endif O endif " O if(equ.eq.1.d0) then O sfut= 0.d0t O else O ifel= 19 O sfut= -dog*espu*s21bbf(equ,eru,one,ifel) O # O if(ifel.ne.0) then O  O iz= 0s& O ifz(15)= ifz(15)+1 O go to 2s O endif O endif  O if(iel.eq.1) then O # O if(sfu.le.er) thena O efac= 0.5d0a- O sft= (sfut-sflt)*sfx+sflti O ifel= 1.! O asf= -sft/dog ; O call s21caf(asf,ek2,elsn,elcn,edn,ifel) & O if(ifel.ne.0) then O iz= 0) O ifz(16)= ifz(16)+12 O go to 2 O endif / O sf= 0.5d0*(ombsg-sedm*elcn)=* O sfjc= efac*(sfut-sflt)) O else if(sfl.ge.er) thena O efac= 0.5d0 - O sft= (sflt-sfut)*sfx+sfut  O ifel= 1e! O asf= -sft/dogl; O call s21caf(asf,ek2,elsn,elcn,edn,ifel)=& O if(ifel.ne.0) then O iz= 0) O ifz(17)= ifz(17)+1e O go to 2 O endifs/ O sf= 0.5d0*(ombsg+sedm*elcn)d* O sfjc= efac*(sflt-sfut) O else O efac= 1.d0 O qbar= 0.d0" O rbar= 1.d0-ek2 O ifel= 1.: O sfbar= -dog*s21bbf(qbar,rbar,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(18)= ifz(18)+1o O go to 2 O endif $ O if(it.eq.1) then1 O sft= (sfbar-sflt)*sfx+sflt) O ifel= 1$ O asf= -sft/dog> O call s21caf(asf,ek2,elsn,elcn,edn,ifel)) O if(ifel.ne.0) then  O iz= 0 , O ifz(19)= ifz(19)+1! O go to 2  O endif2 O sf= 0.5d0*(ombsg-sedm*elcn). O sfjc= efac*(sfbar-sflt)* O else if(it.eq.2) then1 O sft= (sfbar-sfut)*sfx+sfut  O ifel= 1$ O asf= -sft/dog> O call s21caf(asf,ek2,elsn,elcn,edn,ifel)) O if(ifel.ne.0) then O  O iz= 0t, O ifz(20)= ifz(20)+1! O go to 2  O endif2 O sf= 0.5d0*(ombsg+sedm*elcn). O sfjc= efac*(sfbar-sfut) O endif O endifl$ O else if(iel.eq.2) then O efac= 1.d0" O if(it.eq.1) then. O sft= (sfut-sflt)*sfx+sflt O ifel= 1" O asf= -sft/dog< O call s21caf(asf,ek2,elsn,elcn,edn,ifel)' O if(ifel.ne.0) then  O iz= 0a* O ifz(21)= ifz(21)+1 O go to 2a O endif0 O sf= 0.5d0*(ombsg-sedm*elcn)+ O sfjc= efac*(sfut-sflt) ' O else if(it.eq.2) then . O sft= (sflt-sfut)*sfx+sfut O ifel= 1" O asf= -sft/dog< O call s21caf(asf,ek2,elsn,elcn,edn,ifel)' O if(ifel.ne.0) thena O iz= 0(* O ifz(22)= ifz(22)+1 O go to 2i O endif0 O sf= 0.5d0*(ombsg+sedm*elcn)+ O sfjc= efac*(sflt-sfut)  O endif O  O endif-6 O else if(cnt3.lt.1.d0.and.cnt4.lt.1.d0) then$ O if(edelp.le.0.d0) then O iz= 0# O ifz(23)= ifz(23)+11 O go to 2 O endif  O sedp= sqrt(edelp)  O efac= 1.d0 O es1= rs1(1)v O es2= rs2(1)a O er1= rr1(1)z O er2= rr2(1)  O ssed= sedm+sedp O " O ek= (sedm-sedp)/ssed O ek2= ek*ek O dog= 2.d0/ssed O if(it.eq.1) then. O es2pl= (er1-sfl)/(sfl-er2)/ek. O es2pu= (er1-sfu)/(sfu-er2)/ek O eql= 1.d0-es2pl O equ= 1.d0-es2pu$ O erl= 1.d0-ek2*es2pl$ O eru= 1.d0-ek2*es2pu# O else if(it.eq.2) thenz. O es2pl= (sfl-es2)/(sfl-es1)/ek. O es2pu= (sfu-es2)/(sfu-es1)/ek O eql= 1.d0-es2pl O equ= 1.d0-es2pu$ O erl= 1.d0-ek2*es2pl$ O eru= 1.d0-ek2*es2pu O endif % O if(eql.eq.1.d0) then  O sflt= 0.d0 O else O  O ifel= 1t/ O sflt= 2.d0*dog*sqrt(es2pl)*=2 O # s21bbf(eql,erl,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(24)= ifz(24)+1  O go to 2 O endif  O endif% O if(equ.eq.1.d0) then+ O sfut= 0.d0 O elsez O ifel= 1 ? O if(equ.lt.0.d0.and.abs(equ).lt.1.d-12) then O O equ= 0.d0 O endif O / O sfut= 2.d0*dog*sqrt(es2pu)*d2 O # s21bbf(equ,eru,one,ifel)& O if(ifel.ne.0) then O iz= 0) O ifz(25)= ifz(25)+1  O go to 2 O endif  O endif* O sft= (sfut-sflt)*sfx+sflt O ifel= 1# O asf= 0.5d0/dog*sft-8 O call s21caf(asf,ek2,elsn,elcn,edn,ifel)! O elsn2= elsn*elsnc# O if(ifel.ne.0) then0 O iz= 0c& O ifz(26)= ifz(26)+1 O go to 2  O endif! O if(it.eq.1) then#: O sf= (er1+ek*elsn2*er2)/(1.d0+ek*elsn2)& O else if(it.eq.2) then: O sf= (es2-ek*elsn2*es1)/(1.d0-ek*elsn2) O endif' O sfjc= efac*(sfut-sflt)  O endif O *u O endif O *l O *-----auxiliary quantities  O *  O sdpf= sd+sf O e3= sp+su+sfg O e4= 1.d0+spmm-e3n O e3p4= 1.d0+spmm O e1= sm+sdpf O e2= 1.d0+smmp-e13( O e1p2= 1.d0+smmp $ O e1p3= e1+e3 0 O e1m2= 2.d0*e1-1.d0+spmm  O ep1= xp*e1( O ep2= xp*e2c O ep3= xp*e3  O ep4= xp*e4) O e1t2= e1*e2 O e1t3= e1*e3 O e1t4= e1*e4 O e2t3= e2*e3 O e2t4= e2*e4 O e3t4= e3*e4 O ep12= xp*e1t2/ O if((e1p3*e1p3-4.d0*sf).lt.0.d0) then  O iz= 0! O ifz(27)= ifz(27)+1  O go to 2 O endif( O skl2= sqrt(e1p3*e1p3-4.d0*sf)+ O if((sdmus-4.d0*sd).lt.0.d0) then( O iz= 0! O ifz(28)= ifz(28)+1  O go to 2 O endif O skl3= sdmus-4.d0*sd O skl3= sqrt(skl3)l O *. O *-----initialization of t_w  O * ) O *-----limits on tw from positivity and SA) O *- O twlp1= 0.d0 O twlp2= smmp O twlp3= spmm-1.d0() O twlp= dmax1(twlp1,twlp2,twlp3)= O twup= 1.d01 O *s" O *-----limits on tw from cuts on SA O *4 O if(iac(3).ne.0) then & O skl2m= 0.5d0*(e1p3-skl2)& O skl2p= 0.5d0*(e1p3+skl2), O skl3p= -0.5d0*(1.d0+sdmu-skl3), O skl3m= -0.5d0*(1.d0+sdmu+skl3), O twlsa1= 1.d0-cs(3)*e3-cs(4)*e4' O twlsa2= ss(1) +ss(2)*e2 8 O twlsa3= 1.d0-cs(3)*e3-cs(4)*e4-skl3p+skl3m4 O twlsa4= 1.d0-2.d0*cs(3)*e3+skl2m+skl3m4 O twlsa5= 1.d0-2.d0*cs(4)*e4-skl2p-skl3p8 O twlsa6= 1.d0-cs(3)*e3-cs(4)*e4-skl2p+skl2m, O twusa1= 1.d0-ss(3)*e3-ss(4)*e4' O twusa2= cs(1)*e1+cs(2)*e2 8 O twusa3= 1.d0-ss(3)*e3-ss(4)*e4+skl3p-skl3m4 O twusa4= 1.d0-2.d0*ss(4)*e4-skl2m-skl3m4 O twusa5= 1.d0-2.d0*ss(3)*e3+skl2p+skl3p8 O twusa6= 1.d0-ss(3)*e3-ss(4)*e4+skl2p-skl2m; O atwl= dmax1(twlp,twlsa1,twlsa2,twlsa3,twlsa4, ( O # twlsa5,twlsa6); O atwu= dmin1(twup,twusa1,twusa2,twusa3,twusa4, ( O # twusa5,twusa6) O else( O atwl= twlp O atwu= twup O endif O * O  O *-----limits on tw from Es O *s O if(ieq.eq.1) then. O atwle= 1.d0-bxe*e3p4+bl(3)+bl(4)) O atwue= bxe*e1p2-bl(1)-bl(2) " O if(xdf.gt.0.d0) then O twle= atwle O twue= atwue' O else if(xdf.lt.0.d0) then1% O atwle1= bxe*e1-bl(1)s% O atwle2= bxe*e2-bl(2) * O atwue1= 1.d0-bxe*e3+bl(3)* O atwue2= 1.d0-bxe*e4+bl(4)1 O twle= dmax1(atwue,atwle1,atwle2)a1 O twue= dmin1(atwle,atwue1,atwue2)i O endifn$ O atwl= dmax1(atwl,twle)$ O atwu= dmin1(atwu,twue) O endif O * O  O *-----natural limits on tw O *4# O atwl= dmax1(atwl,bt1(1))i# O atwu= dmin1(atwu,bt2(1))4 O *t O *-----test on tw O * O if(atwu.le.atwl) then O iz= 0 O ifz(29)= ifz(29)+1 O go to 2  O endif O *l O twjc= atwu-atwl O tw= twjc*twx+atwl O omtw= 1.d0-tw O *. O *-----initialization of t1 O *=% O *-----limits on t1 from positivity+SA  O *# O t1lp1= 0.d0! O t1lp2= tw+sp-1.d0+sdpf= O t1up1= tw O t1up2= sm+sdpf(# O t1lp= dmax1(t1lp1,t1lp2)s# O t1up= dmin1(t1up1,t1up2)  O * " O *-----limits on t1 from cuts on SA O *  O if(iac(3).ne.0) then O  O t1lc1= ss(1)*e1 O t1lc2= tw-cs(2)*e2; O t1lc3= ss(3)*e3-(omtw-0.5d0*(1.d0+sdmu-skl3))m5 O t1lc4= -cs(4)*e4+0.5d0*(1.d0+sdmu-skl3)n/ O t1lc5= 0.5d0*(e1p3-skl2)-cs(3)*e3s4 O t1lc6= 0.5d0*(e1p3-skl2)-omtw+ss(4)*e4 O t1uc1= cs(1)*e1f O t1uc2= tw-ss(2)*e2; O t1uc3= cs(3)*e3-(omtw-0.5d0*(1.d0+sdmu+skl3))g5 O t1uc4= -ss(4)*e4+0.5d0*(1.d0+sdmu+skl3)-/ O t1uc5= 0.5d0*(e1p3+skl2)-ss(3)*e3 4 O t1uc6= 0.5d0*(e1p3+skl2)-omtw+cs(4)*e4> O t1lc= dmax1(t1lc1,t1lc2,t1lc3,t1lc4,t1lc5,t1lc6)> O t1uc= dmin1(t1uc1,t1uc2,t1uc3,t1uc4,t1uc5,t1uc6)$ O at1l= dmax1(t1lp,t1lc)$ O at1u= dmin1(t1up,t1uc) O elsed O at1l= t1lp O at1u= t1up O endif O *  O *-----limits on t1 from E O  O *  O if(ieq.eq.1) then$ O at1le= tw-bxe*e2+bl(2)! O at1ue= bxe*e1-bl(1))" O if(xdf.gt.0.d0) then O t1le= at1le O t1ue= at1ue O else O t1le= at1ue O t1ue= at1le O endif $ O at1l= dmax1(at1l,t1le)$ O at1u= dmin1(at1u,t1ue) O endif O *b4 O *-----positivity of (R')^2 / reality of roots for t3 O * ! O rp0= e1p2*e1p2-4.d0*sme O if(rp0.lt.0.d0) then. O iz= 0s O ifz(30)= ifz(30)+1 O go to 2  O endif O srp0= sqrt(rp0) O rp0e= -rp0f, O rp1= (e1*e1p2-2.d0*sm)*tw-sm*e1m2 O rp1e= 2.d0*rp1 & O rp2= -(e1*tw-sm)*(e1*tw-sm) O if(rp0e.eq.0.d0) then O iz= 0 O ifz(31)= ifz(31)+1 O go to 2 O  O endif O ifct= 0 O if(rp0e.ne.0.d0) then7 O call c02ajf(rp0e,rp1e,rp2,ret1,ret2,ifct)g/ O rpds= 0.5d0*rp0*(ret2(1)-ret1(1))i& O t1l= dmax1(at1l,ret1(1))& O t1u= dmin1(at1u,ret2(1))% O else if(rp0e.eq.0.d0) then2 O sret1= -rp2/rp1e# O if(rp1e.gt.0.d0) then ' O t1l= dmax1(at1l,sret1)  O t1u= at1u( O else if(rp1e.lt.0.d0) then O t1l= at1l' O t1u= dmin1(at1u,sret1)1 O endif  O endif O *1 O *-----test on t1 O *f O if(t1u.le.t1l) then O iz= 0t O ifz(31)= ifz(31)+1 O go to 2a O endif O *e! O *-----transformation for jacobian  O * O if(rp0e.eq.0.d0) then0 O taul= 2.d0/rp1e*sqrt(rp1e*t1l+rp2)0 O taut= 2.d0/rp1e*sqrt(rp1e*t1u+rp2) O t1jc= taut-taul 9 O t1= 0.25d0*rp1e*(t1jc*t1x+taul)**2-rp2/rp1ea O endif" O if(ret1(1).eq.t1l) then O at1tl= -pih/srp0 O elsee0 O bt1tl= 1.d0+rp0/rpds*(ret1(1)-t1l) O ifas= 1d- O at1tl= -s09aaf(bt1tl,ifas)/srp0 % O if(ifas.ne.0) print 2001 O endif" O if(ret2(1).eq.t1u) then O at1tu= pih/srp0  O else 1 O bt1tu= -1.d0+rp0/rpds*(ret2(1)-t1u)  O ifas= 1 O - O at1tu= -s09aaf(bt1tu,ifas)/srp0.% O if(ifas.ne.0) print 200  O endif) O if((at1tl+at1tu).eq.0.d0) then-# O if(t1x.lt.1.d-3) thend O arc= pi*t1x O arc2= arc*arc4 O exc= arc2*(ec2+arc2*(ec4+arc2*(ec6+- O # arc2*(ec8+arc2*ec10)))) O 8 O t1= ret1(1)+0.5d0*(ret1(1)-ret2(1))*exc/ O else if((1.d0-t1x).lt.1.d-3) then # O arc= pi*(1.d0-t1x)  O arc2= arc*arc4 O exc= arc2*(ec2+arc2*(ec4+arc2*(ec6+- O # arc2*(ec8+arc2*ec10))))l8 O t1= ret2(1)-0.5d0*(ret1(1)-ret2(1))*exc O else" O carc= cos(pi*t1x)- O t1= 0.5d0*(ret1(1)+ret2(1))+31 O # 0.5d0*(ret1(1)-ret2(1))*carc  O endifd O t1jc= pi/srp0( O else & O t1tl= dmin1(at1tl,at1tu)& O t1tu= dmax1(at1tl,at1tu) O t1jc= t1tu-t1tl O O t1t= t1jc*t1x+t1tl. O t1= (rp1+rpds*sin(srp0*t1t))/rp0 O endif O t1s= t1*t1  O * 1 O 200 format(' Unsuccesful call to S09AAF ')  O *  O *-----test on t1 from FS A O *l/ O if(ieq.eq.1.and.iac(4).ne.0.d0) then// O cnlct1= xp*(xm*sm-ep12*cg12)+xdf*n7 O # ep1*cg12*tw+xdf*cg12*t1*(ep2-ep1- + O # xdf*tw)+xdfs*cg12*t1ss/ O cnlst1= xp*(ep12*sg12-xm*sm)-xdf*D7 O # ep1*sg12*tw+xdf*sg12*t1*(ep1-ep2+.+ O # xdf*tw)-xdfs*sg12*t1ss% O if(cnlct1.lt.0.d0) then  O iz= 0# O ifz(32)= ifz(32)+1  O go to 2* O else if(cnlst1.lt.0.d0) then O iz= 0# O ifz(33)= ifz(33)+1d O go to 2 O endif O  O endif O *p O *-----some vector components O *c O t2= tw-t1c O *  O *-----equation for xi is solved  O *s O e1s= e1*e1  O e2s= e2*e2- O e3s= e3*e3  O e12= e1t2-2.d0*sm O e13= e1t3-2.d0*sf O e23= e2t3-2.d0*su O e12s= e12*e12 O e13s= e13*e13 O e23s= e23*e23 O xia= e1s*e2s-e12s= O xib= 2.d0*t1*(e2s*e13-e12*e23)+2.d0*t2*(e1s*e23- < O # e12*e13)-e1*e2s*e13+e1*e12*e23-e1s*e2*e23+ O # e2*e12*e13= O xic= 8.d0*t1*t2*(-e3s*e12+e13*e23)+4.d0*t1*(-e1* > O # e2s*e3s+e1*e23s+e2*e3s*e12-e2*e13*e23)+4.d0*< O # t1s*(e2s*e3s-e23s)+4.d0*t2*(e1*e3s*e12-e1*> O # e13*e23-e1s*e2*e3s+e2*e13s)+4.d0*t2*t2*(e1s*< O # e3s-e13s)-2.d0*e1t2*e3s*e12+2.d0*e1t2*e13*; O # e23+e1s*e2s*e3s+e3s*e12s-2.d0*e12*e13*e23  O xib= 2.d0*xib! O if(xia.eq.0.d0) then $ O if(xib.eq.0.d0) then O iz= 0% O ifz(34)= ifz(34)+1e O go to 2 O endif O rtm(1)= -xic/xib O rtp(1)= rtm(1) O rtm(2)= 0.d0 O rtp(2)= 0.d0 O ixia= 0  O elses O ixia= 1  O ifc0= 0i5 O call c02ajf(xia,xib,xic,rtm,rtp,ifc0)  O endif$ O if(rtm(2).ne.0.d0) then O iz= 0 " O ifz(35)= ifz(35)+1 O go to 2 O  O endif O *c O *-----xi^+ and xi^- are computed O * # O xip= 0.5d0*(e3-rtp(1)) # O xim= 0.5d0*(e3-rtm(1))  O * . O *-----each integral becomes a sum of two terms O *l O *-----loop over ix starts here O */ O if(om.eq.'g') then O ixmn= ix0 O ixmx= ix0 O else O ixmn= 1 O ixmx= 2 O endif  O do ix=ixmn,ixmx  O * ) O *-----q_3 is compared and x15 is selected  O * " O if(ix.eq.1) then O t3= xip' O else if(ix.eq.2) then O  O t3= xim O endifr O *.% O *-----The two integrands are computed O  O * " O *-----further auxiliary quantities O *  O edn1= ep1-xdf*t1r O edn2= ep2-xdf*t2f O edn3= ep3-xdf*t3  O t4= omtw-t3 O edn4= ep4-xdf*t4  O * % O *-----collections of all limits on t3  O * % O *-----from energy (or natural limits)  O *n O if(ieq.eq.1) then* O at3l1= omtw-bxe*e4+bl(4)% O at3u1= bxe*e3-bl(3)t& O if(xdf.gt.0.d0) then O t3l1= at3l1 O t3u1= at3u1+ O else if(xdf.lt.0.d0) then O t3l1= at3u1 O t3u1= at3l1 O endif  O else  O t3l1= 0.d0 O t3u1= e3 O endif O *s O *-----natural limits O * . O t3l2= -t1+0.5d0*(e1p3-skl2). O t3u2= -t1+0.5d0*(e1p3+skl2) O *i7 O t3l3= omtw+t1-0.5d0*(1.d0+sdmu+skl3) 7 O t3u3= omtw+t1-0.5d0*(1.d0+sdmu-skl3)  O *  O *-----from positivity on SAe O * O  O t3l4= 0.d0t$ O t3l5= sm+su+sf-tw! O t3u4= sp+su+sf  O t3u5= omtw  O *d *-----from SA  O * ' O if(iac(3).ne.0) then # O t3l6= ss(3)*e3u# O t3u6= cs(3)*e3 ( O t3l7= omtw-cs(4)*e4( O t3u7= omtw-ss(4)*e44 O t3l= dmax1(t3l1,t3l2,t3l3,t3l4,/ O # t3l5,t3l6,t3l7) 4 O t3u= dmin1(t3u1,t3u2,t3u3,t3u4,/ O # t3u5,t3u6,t3u7)n O else 9 O t3l= dmax1(t3l1,t3l2,t3l3,t3l4,t3l5) 9 O t3u= dmin1(t3u1,t3u2,t3u3,t3u4,t3u5)  O endif O *  O *-----limits on t3 are imposed O * , O tlimt3= (t3u-t3)*(t3-t3l)& O if(t3u.lt.t3l) then O iz= 0 ( O ifz(36)= ifz(36)+1 O go to 4 / O else if(tlimt3.lt.0.d0) thenl O iz= 0n( O ifz(36)= ifz(36)+1 O go to 4  O endif O * , O *-----non linear limits on t3,t4 are imposed O * 4 O if(iac(4).ne.0.and.ieq.eq.1) then3 O tnl13c= -cg13*edn1*edn3+vv*sfl2 O tnl13s= sg13*edn1*edn3-vv*sf3 O tnl23c= -cg23*edn2*edn3+vv*su02 O tnl23s= sg23*edn2*edn3-vv*su3 O tnl14c= -cg14*edn1*edn4+vv*sd12 O tnl14s= sg14*edn1*edn4-vv*sd* O sres= 1.d0-e1-e3+sf 5 O tnl24c= -cg24*edn2*edn4+vv*sres 4 O tnl24s= sg24*edn2*edn4-vv*sres3 O tnl34c= -cg34*edn3*edn4+vv*sp 2 O tnl34s= sg34*edn3*edn4-vv*sp= O if(tnl13c.lt.0.d0.or.tnl13s.lt.0.d0.or.n= # tnl23c.lt.0.d0.or.tnl23s.lt.0.d0.or. = O # tnl14c.lt.0.d0.or.tnl14s.lt.0.d0.or.2= O # tnl24c.lt.0.d0.or.tnl24s.lt.0.d0.or.0? O # tnl34c.lt.0.d0.or.tnl34s.lt.0.d0) thenl O iz= 0+ O ifz(37)= ifz(37)+1 O go to 4+ O endif  O endif O * : O *-----non linear constraints from FS A in the case xp = xm O *e7 O if(iac(4).ne.0.d0.and.ieq.eq.0) thenq. O smr= 1.d0-sm-sp-su-sd-sf; O spc12= (-cg12*e1t2+sm)*(sg12*e1t2-sm) ; O spc13= (-cg13*e1t3+sf)*(sg13*e1t3-sf) ; O spc14= (-cg14*e1t4+sd)*(sg14*e1t4-sd)0; O spc23= (-cg23*e2t3+su)*(sg23*e2t3-su)i= O spc24= (-cg24*e2t4+smr)*(sg24*e2t4-smr) ; O spc34= (-cg34*e3t4+sp)*(sg34*e3t4-sp)qH O if(spc12.lt.0.d0.or.spc13.lt.0.d0.or. I O # spc14.lt.0.d0.or.spc23.lt.0.d0.or. u= O # spc24.lt.0.d0.or.spc34.lt.0.d0) then  O iz= 0+ O ifz(38)= ifz(38)+1 O go to 4 O endiff O endif O *  O *-----all invariants O *  O x13= t1 O x14= t2 O x15= t3 O x16= t4 O x23= e1-t1* O x24= e2-t21 O x25= e3-t3* O x26= e4-t4f O x34= sm O x35= sf O x36= sd O x45= su' O x46= 1.d0-e1-e3+sfi O x56= sp O *t O *-----computes cross-section O * B O *-----born matrix element is calculated at the reduced c.m. energy O *r, O *-----The epsilons are computed in the order9 O * epf(pp,pm,q1,q2),epf(pp,pm,q1,q3),epf(pp,pm,q1,q4),.9 O * epf(pp,pm,q2,q3),epf(pp,pm,q2,q4),epf(pp,pm,q3,q4),=9 O * epf(pp,q1,q2,q3),epf(pp,q1,q2,q4),epf(pp,q1,q3,q4), O 9 O * epf(pp,q2,q3,q4),epf(pm,q1,q2,q3),epf(pm,q1,q2,q4),f8 O * epf(pm,q1,q3,q4),epf(pm,q2,q3,q4),epf(q1,q2,q3,q4) O * " O x13s= x13*x13" O x14s= x14*x14" O x15s= x15*x15" O x16s= x16*x16" O x23s= x23*x23" O x24s= x24*x24" O x25s= x25*x25" O x26s= x26*x26" O x34s= x34*x34" O x35s= x35*x35" O x36s= x36*x36" O x45s= x45*x45" O x46s= x46*x46" O x56s= x56*x56G O * +> O ee(1)= 2.d0*(x13*x14*x23*x24+x13*x24*x34+A O # x14*x23*x34)-x13s*x24s-x14s*x23s-x34s(> O ee(2)= 2.d0*(x13*x15*x23*x25+x13*x25*x35+A O # x15*x23*x35)-x13s*x25s-x15s*x23s-x35sd> O ee(3)= 2.d0*(x14*x15*x24*x25+x14*x25*x45+A O # x15*x24*x45)-x14s*x25s-x15s*x24s-x45slB O ee(4)= 2.d0*(x13*x14*x35*x45+x13*x15*x34*x45+A O # x14*x15*x34*x35)-x13s*x45s-x14s*x35s- O % O # x15s*x34s O B O ee(5)= 2.d0*(x23*x24*x35*x45+x23*x25*x34*x45+A O # x24*x25*x34*x35)-x23s*x45s-x24s*x35s--% O # x25s*x34skG O * 4 O e(1)= 1.d0sF O e(2)= x13*x14*x23*x25+x13*x15*x23*x24+x13*(-2.d0*E O # x23*x45+x24*x35+x25*x34)-x14*x15*x23s+x14* C O # x23*x35+x15*x23*x34-x13s*x24*x25-x34*x35sE O e(3)= -x13*x14*x24*x25+x13*x15*x24s-x13*x24*x45- F O # x14*x15*x23*x24+x14*(-x23*x45+2.d0*x24*x35-D O # x25*x34)-x15*x24*x34+x14s*x23*x25+x34*x45F O e(4)= x13*x14*(x23*x45+x24*x35-2.d0*x25*x34)+x13*G O # x15*x24*x34+x13*x34*x45+x14*x15*x23*x34+x14*wF O # x34*x35-x15*x34s-x13s*x24*x45-x14s*x23*x35 G O e(5)= x13*(-x23*x24*x45-x24*x25*x34+x35*x24s)+x14* C O # (-x23*x24*x35-x23*x25*x34+x45*x23s)+x15*lD O # 2.d0*x23*x24*x34-x23*x34*x45-x24*x34*x35+$ O # x25*x34s O *  O *-----sign of eps_1*eps_i1 O *- O ises= 0" O sg(1)= 0.25d0+ O if(ee(1).lt.0.d0) then $ O ises= ises+1 O endif O do i=2,5 2 O if(abs(e(i)).lt.zrm) then( O ises= ises+12 O else if(e(i).gt.zrm) then) O sg(i)= 0.25d013 O else if(e(i).lt.-zrm) thena* O sg(i)= -0.25d0 O endif/ O if(ee(i).lt.0.d0) then ( O ises= ises+1 O endif O enddo O *i' O if(ises.eq.0) then / O ses1= sg(1)*sqrt(ee(1)) / O ses2= sg(2)*sqrt(ee(2)) / O ses3= sg(3)*sqrt(ee(3))t/ O ses4= sg(4)*sqrt(ee(4)) / O ses5= sg(5)*sqrt(ee(5)) O s1= ses1 O s2= ses2& O s3= -ses1-ses2 O s4= ses3% O s5= ses1-ses3a% O s6= ses2+ses31 O s7= ses4% O s8= ses1-ses4(% O s9= ses2+ses4=& O s10= ses3-ses4! O s11= ses5-' O s12= -ses1-ses5 ' O s13= -ses2+ses53' O s14= -ses3-ses5)' O s15= -ses4-ses51 O else A O ee(1)= 2.d0*(x13*x14*x23*x24+x13*x24*x34+ D O # x14*x23*x34)-x13s*x24s-x14s*x23s-x34sA O ee(2)= 2.d0*(x13*x16*x23*x26+x13*x26*x36+0D O # x16*x23*x36)-x13s*x26s-x16s*x23s-x36sA O ee(3)= 2.d0*(x14*x16*x24*x26+x14*x26*x46+cD O # x16*x24*x46)-x14s*x26s-x16s*x24s-x46sE O ee(4)= 2.d0*(x13*x14*x36*x46+x13*x16*x34*x46+)D O # x14*x16*x34*x36)-x13s*x46s-x14s*x36s-( O # x16s*x34sE O ee(5)= 2.d0*(x23*x24*x36*x46+x23*x26*x34*x46+*E O # x24*x26*x34*x36)-x23s*x46s-x24s*x36s-.) O # x26s*x34s " O e(1)= 1.d0> O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+B O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)-C O # x14*x16*x23s+x14*x23*x36+x16*x23*x34-i2 O # x13s*x24*x26-x34*x36@ O e(3)= -x13*x14*x24*x26+x13*x16*x24s-x13*@ O # x24*x46-x14*x16*x23*x24+x14*(-x23*@ O # x46+2.d0*x24*x36-x26*x34)-x16*x24*6 O # x34+x14s*x23*x26+x34*x46@ O e(4)= x13*x14*(x23*x46+x24*x36-2.d0*x26*? O # x34)+x13*x16*x24*x34+x13*x34*x46+ > O # x14*x16*x23*x34+x14*x34*x36-x16*= O # x34s-x13s*x24*x46-x14s*x23*x36 O @ O e(5)= x13*(-x23*x24*x46-x24*x26*x34+x36*> O # x24s)+x14*(-x23*x24*x36-x23*x26*A O # x34+x46*x23s)+x16*2.d0*x23*x24*x34- > O # x23*x34*x46-x24*x34*x36+x26*x34s O ises= 0 % O sg(1)= 0.25d01. O if(ee(1).lt.0. ) then' O ises= ises+1  O endifu O do i=2,55 O if(abs(e(i)).lt.zrm) then + O ises= ises+1z5 O else if(e(i).gt.zrm) theno, O sg(i)= 0.25d06 O else if(e(i).lt.-zrm) then- O sg(i)= -0.25d0p! O endifq2 O if(ee(i).lt.0.d0) then+ O ises= ises+12! O endif  O enddo * O if(ises.eq.0) then2 O ses1= sg(1)*sqrt(ee(1))2 O ses2= sg(2)*sqrt(ee(2))2 O ses3= sg(3)*sqrt(ee(3))2 O ses4= sg(4)*sqrt(ee(4))2 O ses5= sg(5)*sqrt(ee(5))# O s1= ses1r) O s2= -ses1-ses2 # O s3= ses2u) O s4= -ses1-ses3r# O s5= ses3 ) O s6= -ses2-ses3 ( O s7= ses1-ses4# O s8= ses4=) O s9= -ses2-ses4r* O s10= -ses3+ses4* O s11= -ses1-ses5$ O s12= ses5) O s13= ses2-ses5t) O s14= ses3+ses5 O ) O s15= ses4+ses5  O elseD O ee(1)= 2.d0*(x13*x15*x23*x25+x13*x25*x35+C O # x15*x23*x35)-x13s*x25s-x15s*x23s- & O # x35sD O ee(2)= 2.d0*(x13*x16*x23*x26+x13*x26*x36+C O # x16*x23*x36)-x13s*x26s-x16s*x23s-s& O # x36sD O ee(3)= 2.d0*(x15*x16*x25*x26+x15*x26*x56+C O # x16*x25*x56)-x15s*x26s-x16s*x25s- & O # x56sD O ee(4)= 2.d0*(x13*x15*x36*x56+x13*x16*x35*A O # x56+x15*x16*x35*x36)-x13s*x56s- 5 O # x15s*x36s-x16s*x35s D O ee(5)= 2.d0*(x23*x25*x36*x56+x23*x26*x35*A O # x56+x25*x26*x35*x36)-x23s*x56s-15 O # x25s*x36s-x26s*x35s G O * A O e(1)= x13*x14*x23*x25+x13*x15*x23*x24+ O E O # x13*(-2.d0*x23*x45+x24*x35+x25*x34)- B O # x14*x15*x23s+x14*x23*x35+x15*x23*9 O # x34-x13s*x24*x25-x34*x35 A O e(2)= x13*x14*x23*x26+x13*x16*x23*x24+-E O # x13*(-2.d0*x23*x46+x24*x36+x26*x34)-fB O # x14*x16*x23s+x14*x23*x36+x16*x23*9 O # x34-x13s*x24*x26-x34*x36*B O e(3)= -x13*x15*x24*x26+x13*x16*x24*x25+D O # x13*(-x25*x46+x26*x45)+x14*x15*x23*F O # x26-x14*x16*x23*x25+x14*(x25*x36-x26*F O # x35)+x15*(-x23*x46+x24*x36)+x16*(x23*= O # x45-x24*x35)+x35*x46-x36*x45 C O e(4)= x13*x14*(x25*x36-x26*x35)+x13*x15* E O # (x23*x46-x26*x34)+x13*x16*(-x23*x45+1D O # x25*x34)+x13*(x35*x46-x36*x45)-x14*E O # x15*x23*x36+x14*x16*x23*x35+x15*x34*tD O # x36-x16*x34*x35+x13s*(-x25*x46+x26*% O # x45)0G O e(5)= x13*(-x23*x25*x46+x23*x26*x45+x24*x25* D O # x36-x24*x26*x35)+x15*(-x23*x24*x36-D O # x23*x26*x34+x46*x23s)+x16*(x23*x24*C O # x35+x23*x25*x34-x45*x23s)-x23*x35*(E O # x46+x23*x36*x45-x25*x34*x36+x26*x34* $ O # x35 O * " O ises= 0# O do i=1,5f8 O if(abs(e(i)).lt.zrm) then. O ises= ises+18 O else if(e(i).gt.zrm) then/ O sg(i)= 0.25d0 9 O else if(e(i).lt.-zrm) then*0 O sg(i)= -0.25d0$ O endif5 O if(ee(i).lt.0.d0) then . O ises= ises+1$ O endif O enddo- O if(ises.eq.0) then-5 O ses1= sg(1)*sqrt(ee(1)) 5 O ses2= sg(2)*sqrt(ee(2)) O 5 O ses3= sg(3)*sqrt(ee(3)) 5 O ses4= sg(4)*sqrt(ee(4)) 5 O ses5= sg(5)*sqrt(ee(5))r, O s1= -ses1-ses2& O s2= ses1& O s3= ses2, O s4= -ses1+ses3, O s5= -ses2-ses3& O s6= ses3, O s7= -ses1+ses4, O s8= -ses2-ses4& O s9= ses4, O s10= ses3-ses4, O s11= ses1+ses5, O s12= ses2-ses5' O s13= ses5l- O s14= -ses3-ses5 - O s15= -ses4-ses5  O else # O iz= 0d0 O ifz(39)= ifz(39)+1% O go to 4 O endif O endifl O endif O *  O *t( O *-----Loops over permutations start here O *- O *r O do ip=1,4S O if(ip.eq.1) thenl O y13= x13 O y14= x14 O y15= x15 O y16= x16 O y23= x23 O y24= x24 O y25= x25 O y26= x26 O y34= x34 O y35= x35 O y36= x36 O y45= x45 O y46= x46 O y56= x56 O ys1= s1  O ys2= s2, O ys3= s3  O ys4= s45 O ys5= s5  O ys6= s63 O ys7= s7  O ys8= s8  O ys9= s9  O ys10= s10  O ys11= s11m O ys12= s123 O ys13= s13  O ys14= s143 O ys15= s15  O ysm= sm- O ysp= spd O ysu= su  O ysd= sd3 O ytw= t1+t2 O j1= 1l O j2= 2  O j3= 3  O j4= 46 O j5= 5  O j6= 6  O j7= 7e O j8= 8) O l1= 1  O l2= 2  O l3= 36 O l4= 4  O i3= 3  O i4= 4e O else if(ip.eq.2) then O y13= x15 O y14= x14 O y15= x13 O y16= x16 O y23= x25 O y24= x24 O y25= x23 O y26= x26 O y34= x45 O y35= x35 O y36= x56 O y45= x34 O y46= x46 O y56= x36 O ys1= -s4 O ys2= -s2 O ys3= s6d O ys4= -s1 O ys5= s5  O ys6= s32 O ys7= -s7 O ys8= -s10  O ys9= -s9 O ys10= -s8  O ys11= -s11 O ys12= -s14 O ys13= -s13 O ys14= -s12 O ys15= -s15 O ysm= su O  O ysp= sd  O ysu= sm3 O ysd= sp  O ytw= t3+t2 O j1= 1d O j2= 2  O j3= 30 O j4= 4. O j5= 9  O j6= 10 O j7= 11 O j8= 12 O l1= 1  O l2= 2z O l3= 5  O l4= 6g O i3= 5  O i4= 6 O else if(ip.eq.3) then O y13= x13 O y14= x16 O y15= x15 O y16= x14 O y23= x23 O y24= x26 O y25= x25 O y26= x24 O y34= x36 O y35= x35 O y36= x34 O y45= x56 O y46= x46 O y56= x45 O ys1= s30 O ys2= s2  O ys3= s1( O ys4= -s6 O ys5= -s5 O ys6= -s4 O ys7= -s9 O ys8= -s8 O ys9= -s7 O ys10= -s10 O ys11= -s13 O ys12= -s12 O ys13= -s11 O ys14= -s14 O ys15= -s15 O ysm= sdl O ysp= su) O ysu= sp  O ysd= sm  O ytw= t1+t4 O j1= 1  O j2= 24 O j3= 3  O j4= 4  O j5= 11 O j6= 12 O j7= 9x O j8= 10 O l1= 1  O l2= 23 O l3= 6  O l4= 5  O i3= 6 O  O i4= 5x O else if(ip.eq.4) then O y13= x15 O y14= x16 O y15= x13 O y16= x14 O y23= x25 O y24= x26 O y25= x23 O y26= x24 O y34= x56 O y35= x35 O y36= x45 O y45= x36 O y46= x46 O y56= x34 O ys1= s6p O ys2= -s2 O ys3= -s4 O ys4= -s3 O ys5= -s5 O ys6= s1f O ys7= s9, O ys8= s10 O ys9= s74 O ys10= s8 O ys11= s13p O ys12= s14q O ys13= s11q O ys14= s121 O ys15= s15  O ysm= sp3 O ysp= smx O ysu= sd  O ysd= su5 O ytw= t3+t4 O j1= 1  O j2= 2x O j3= 3  O j4= 4  O j5= 7= O j6= 8  O j7= 56 O j8= 6  O l1= 1  O l2= 2x O l3= 4  O l4= 3 O  O i3= 4x O i4= 3  O endif O *6 O y13s= y13*y13 O y14s= y14*y14 O y15s= y15*y15 O y16s= y16*y16 O y23s= y23*y23 O y24s= y24*y24 O y25s= y25*y25 O y26s= y26*y26 O y34s= y34*y34 O y35s= y35*y35 O y36s= y36*y36 O y45s= y45*y45 O y46s= y46*y46 O y56s= y56*y56 O smtp= ysm*ysp O pn= ytw+ysp-1.d01 O zpcfr= ysp-rzm2/vv  O zmcfr= ysm-rzm2/vv) O zpcfi= ysp*szg O  O zmcfi= ysm*szg  O *0& O *-----Compensating double Z propagator O * * O ztcfr= zpcfr*zmcfr-ysp*ysm*szgs) O ztcfi= zpcfr*zmcfi+zmcfr*zpcfi  O *s. O *-----propagators for pair production diagrams O *3 O pfpb= y15+y25-1.d0  O pfp= y16+y26-1.d0 O * 3$ O tgn(1)= y15*y24$ O tgn(2)= y34*y46$ O tgn(3)= y34/y46$ O tgn(4)= y24/y15$ O tgn(5)= y15/y25$ O tgn(6)= y15*y25$ O tgn(7)= y14*y25$ O tgn(8)= y14*y34$ O tgn(9)= y25*y46% O tgn(10)= y25/y46 O % O tgn(11)= y14/y34*% O tgn(12)= y45/y36 % O tgn(13)= y14*y24(% O tgn(14)= y24/y14 % O tgn(15)= y45*y363% O tgn(16)= y14/y25= O *3 O itgn= 0 O do l=1,160 O if(tgn(l).le.0.d0) then( O itgn= itgn+1 O endif O enddo' O if(itgn.ne.0) thenx O iz= 0 * O ifz(40)= ifz(40)+1 O go to 42 O endif O *3' O gpna= sqrt(tgn(1)) O ' O gpnb= sqrt(tgn(2)) ' O gpnc= sqrt(tgn(3)) ' O gpnd= sqrt(tgn(4))(' O gpne= sqrt(tgn(5)) ' O gpnf= sqrt(tgn(6))d' O gpng= sqrt(tgn(7)) ' O gmna= sqrt(tgn(8))h' O gmnb= sqrt(tgn(9))s( O gmnc= sqrt(tgn(10))( O gmnd= sqrt(tgn(11))( O gmne= sqrt(tgn(12))( O gmnf= sqrt(tgn(13))( O gmng= sqrt(tgn(14))( O gmnh= sqrt(tgn(15))( O gmni= sqrt(tgn(16)) O * # O gn1= gpna/gpnb # O gn2= gpna*gpnc # O gn3= gpna/gpncs# O gn4= gpnd/gpnb ( O gn5= 1.d0/gpna/gpnc( O gn6= 1.d0/gpnd/gpnc# O gn7= gpnd/gpnc(# O gn8= gpnb/gpnag# O gn9= gpnd*gpnc $ O gn10= gpnb/gpnd$ O gn11= gpna*gpnb$ O gn12= gmnd/gmnb) O gn13= 1.d0/gmnc/gmna $ O gn14= gmna/gmnb$ O gn15= gmnd/gmnc) O gn16= 1.d0/gmnd/gmnc7$ O gn17= gmna*gmnb$ O gn18= gmnc/gmnd$ O gn19= gmnc/gmna$ O gn20= gmna*gmnc$ O gn21= gmnd*gmnb$ O gn22= gmnd*gmnc$ O gn23= gmnb/gmnd$ O gn24= gmnb/gmna$ O gn25= gpnc/gpnd) O gn26= 1.d0/gpna/gpnbe$ O gn27= gpnc/gpna) O gn28= 1.d0/gpnd/gpnbx$ O gn29= gpne/gmnh$ O gn3 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 0-y25)) ? O xcic(3,2)= -128.d0*(ys1*gn6-ys8*gn1+ys11*gn6+ys15*gn1) D O xcrc(2,2)= 32.d0*(gn1*p20-gn2*y16-gn3*y13+gn4*(u8-u19)-gn9* O # w4) 9 O xcic(2,2)= 128.d0*(-ys7*gn4*y36+ys8*gn1-ys9*gn9)=E O xcrc(4,2)= 32.d0*(gn1*p20-gn2*y16+gn4*y36*w2-gn5*y23*w2-gn6*=1 O # p13+gn8*(p4-y35)-gn9*w4+gn10) B O xcic(4,2)= 128.d0*(ys1*gn5*y35+ys5*gn25-ys8*gn4*y35+ys11*7 O # gn5*y13+ys12*gn28*y14+ys15*gn4*y13)3 O endif  O *s$ O *-----Pair production I: common part O * E O p1rc(ip,2)= 32.d0*(gn3*(y13-y35)+gn6*y23*(-y14+y45)+gn10*(1.d0-  O # y25)) ( O p1ic(ip,2)= -128.d0*gn6*(ys1+ys11) O * % O *-----Pair production II: common part  O * C O p2rc(ip,2)= 16.d0*(gn1*p47-gn2*y26-gn3*(y23+y36)+gn4*(-u4+u7+ C O # u13-u16-u18-u24+u25+p73)+gn5*(-u5+u7-u13+u16-u18+ D O # u24+p71-p73)+gn6*(p42)+gn7*(p4+w4-y35)-gn8*w5+gn9* O # w5-gn10*y26)B O p2ic(ip,2)= 64.d0*(-ys2*gn5*y46+ys2*gn7-ys4*gn4*y36+ys4*gn5*C O # y36+ys6*gn8-ys6*gn9-2.d0*ys7*gn5*y26-ys8*gn4*y25+ B O # ys8*gn5*y25+ys12*gn1-ys12*gn6+ys15*gn4-ys15*gn5) O *  O *-----helicity e-f)  O * ' O *-----Conversion diagram 1: common part G O * A O crc(ip,i3)= 16.d0*(gn40*(u5-u7-u21+u23+u24-u26+w8)-gn41*w4+ A O # gn44*(w1-w9)+gn45*(-u5+u13-u18-u21+u23+u26-w8)+ @ O # gn46*w4+gn48*y45+gn49*p15-gn50*y15-gn52*(1.d0+ O # y25)-gn54*y15)B O cic(ip,i3)= 64.d0*(-ys1*gn40*y56+ys3*gn44+ys4*gn48-ys4*gn49-C O # ys5*gn40*y35+ys7*gn45*y26+ys9*gn41-ys10*gn45*y23+ B O # ys12*gn45*y15+ys13*gn44-ys13*gn45*y14+ys15*gn40) O *  O if(ip.eq.1) then O xcrc(1,3)= crc(1,3) O xcic(1,3)= cic(1,3)D O xcrc(3,6)= 32.d0*(gn1*(-p20+p73)+gn3*(y13-y35)+gn10*(-1.d0+( O # y25)+gn25*(p17-p61))A O xcic(3,6)= 128.d0*(-ys5*gn25+ys8*gn1+ys14*gn25-ys15*gn1) O D O xcrc(2,5)= 32.d0*(gn38*u26+gn55*u16-gn57*(p31+p52)-gn58*p4- O # gn59*p4)7 O xcic(2,5)= 128.d0*(-ys8*gn38*y25+ys8*gn55*y25)3A O xcrc(4,4)= 32.d0*(gn29*y25*(-p10+p33)+gn31*u15+gn32*p15* ( O # w4-gn34*p50-gn35*p4)C O xcic(4,4)= 128.d0*(ys7*gn31*y25-ys8*gn29*y25+ys9*gn32*p15)  O endif  O * $ O *-----Pair production I: common part O * O A O p1rc(ip,i3)= 32.d0*(-gn48*y45-gn49*p15+gn50*y15+gn52*(1.d0+x! O # y25)+gn54*y15) ) O p1ic(ip,i3)= 128.d0*(gn49-gn48)*ys4  O * % O *-----Pair production II: common part O  O * E O p2rc(ip,i3)= 32.d0*(gn40*w3+gn41*w1-gn48*y46+gn50*y16+gn52*y26) > O p2ic(ip,i3)= 128.d0*(ys1*gn40*y26+ys5*gn40*y23-ys5*gn48) O *0 O *-----helicity g-h)  O *3' O *-----Conversion diagram 1: common part G O * B O crc(ip,i4)= 32.d0*(gn29*(-u5+u26)-gn30*w4-gn31*u17+gn32*(p1*B O # p55-p12*p51)+gn33*w1+gn34*p54+gn35*y56-gn36*y26)B O cic(ip,i4)= 128.d0*(-ys2*gn30*y16-ys6*gn30*y13+ys6*gn35-ys7*6 O # gn32*p31-ys10*gn31*y25+ys10*gn32*p4) O *x O if(ip.eq.1) then O xcrc(1,4)= crc(1,4) O xcic(1,4)= cic(1,4)D O xcrc(3,5)= 16.d0*(gn55*(u4-u7-u13+u16+u18+u22+u24-u25-p73)+C O # gn57*(-p25-w5-2.d0*p48+2.d0*p61)+gn58*(-p4-p23+ ' O # y35)+2.d0*gn37*y25) C O xcic(3,5)= 64.d0*(-ys1*gn55*y56+ys6*gn57+ys7*gn55*y26+ys8* C O # gn55*y25+ys13*gn55*y14-ys14*gn55*y13+2.d0*ys14* O  O # gn57) E O xcrc(2,6)= 32.d0*(-gn1*p20+gn2*y16+gn3*y13+gn4*(p20*y56-y16* O # p73)-gn7*w4)9 O xcic(2,6)= 128.d0*(ys8*gn1-ys9*gn7+ys10*gn4*y36) C O xcrc(4,3)= 16.d0*(gn44*(w1+2.d0*w3)+gn45*(-u5+u13-u18-u21+ O E O # u23+u26-w8)+gn46*w4-gn49*p15+gn52-2.d0*gn53+gn54* O  O # y15)D O xcic(4,3)= 64.d0*(ys3*gn44+ys4*gn49+ys7*gn45*y26-ys10*gn45*C O # y23-2.d0*ys12*gn44+ys12*gn45*y15-ys13*gn45*y14) O endif  O * $ O *-----Pair production I: common part O * O C O p1rc(ip,i4)= 32.d0*(gn31*p16-gn34*p45-gn35*y25+2.d0*gn36*y25) & O p1ic(ip,i4)= 128.d0*ys4*gn31*y25 O * % O *-----Pair production II: common part5 O *=; O p2rc(ip,i4)= 32.d0*(gn30*w4-gn33*w1+gn35*w5+gn36*y26)8B O p2ic(ip,i4)= 128.d0*(ys2*gn30*y16+ys6*gn30*y13-ys6*gn35+ys7*D O # gn32*(p31-0.5d0*p49)-ys8*gn29*y25+0.5d0*ys8*gn32*C O # y25s+ys9*gn32*y25*(y14-0.5d0*y24)+ys10*gn32*y25*yC O # (-y13+0.5d0*y23)+0.5d0*ys11*gn32*p31-0.5d0*ys12*3C O # gn29*y25+0.5d0*ys13*gn32*p15-0.5d0*ys14*gn32*p4)  O * ? O *-----complete diagrams, epsilon real and imag parts separated:5 O *  O *-----Conversion gamma-gamma O * + O ccgg= -conc(1)/smtp/pn  O * & O ccggr= ccgg*ztcfr& O ccggi= ccgg*ztcfi O * 2 O cggr(ip,j1)= ccggr*crc(ip,l1)4 O cggre(ip,j1)= -ccggi*cic(ip,l1)3 O cggie(ip,j1)= ccggr*cic(ip,l1) 2 O cggi(ip,j1)= ccggi*crc(ip,l1) O *c. O cggr(ip,j2)= -cggr(ip,j1)/ O cggre(ip,j2)= cggre(ip,j1)p/ O cggie(ip,j2)= cggie(ip,j1) O . O cggi(ip,j2)= -cggi(ip,j1) O * 2 O cggr(ip,j3)= ccggr*crc(ip,l2)4 O cggre(ip,j3)= -ccggi*cic(ip,l2)3 O cggie(ip,j3)= ccggr*cic(ip,l2) 2 O cggi(ip,j3)= ccggi*crc(ip,l2) O *y. O cggr(ip,j4)= -cggr(ip,j3)/ O cggre(ip,j4)= cggre(ip,j3) / O cggie(ip,j4)= cggie(ip,j3)n. O cggi(ip,j4)= -cggi(ip,j3) O *32 O cggr(ip,j5)= ccggr*crc(ip,l3)4 O cggre(ip,j5)= -ccggi*cic(ip,l3)3 O cggie(ip,j5)= ccggr*cic(ip,l3)22 O cggi(ip,j5)= ccggi*crc(ip,l3) O * . O cggr(ip,j6)= -cggr(ip,j5)/ O cggre(ip,j6)= cggre(ip,j5) / O cggie(ip,j6)= cggie(ip,j5) . O cggi(ip,j6)= -cggi(ip,j5) O *)2 O cggr(ip,j7)= ccggr*crc(ip,l4)4 O cggre(ip,j7)= -ccggi*cic(ip,l4)3 O cggie(ip,j7)= ccggr*cic(ip,l4) 2 O cggi(ip,j7)= ccggi*crc(ip,l4) O *n. O cggr(ip,j8)= -cggr(ip,j7)/ O cggre(ip,j8)= cggre(ip,j7))/ O cggie(ip,j8)= cggie(ip,j7) . O cggi(ip,j8)= -cggi(ip,j7) O *  O *-----Conversion gamma-Z O * ) O ccgz= conc(3)/ysp/pn  O *  O do i=1,4s2 O har(i)= hch(i)*ccgz*zpcfr2 O hai(i)= hch(i)*ccgz*zpcfi O enddo O * 3 O cgzr(ip,j1)= har(1)*crc(ip,l1) 5 O cgzre(ip,j1)= -hai(1)*cic(ip,l1)g4 O cgzie(ip,j1)= har(1)*cic(ip,l1)3 O cgzi(ip,j1)= hai(1)*crc(ip,l1)  O * 4 O cgzr(ip,j2)= -har(2)*crc(ip,l1)5 O cgzre(ip,j2)= -hai(2)*cic(ip,l1) 4 O cgzie(ip,j2)= har(2)*cic(ip,l1)4 O cgzi(ip,j2)= -hai(2)*crc(ip,l1) O * 3 O cgzr(ip,j3)= har(3)*crc(ip,l2)g5 O cgzre(ip,j3)= -hai(3)*cic(ip,l2) 4 O cgzie(ip,j3)= har(3)*cic(ip,l2)3 O cgzi(ip,j3)= hai(3)*crc(ip,l2)m O *g4 O cgzr(ip,j4)= -har(4)*crc(ip,l2)5 O cgzre(ip,j4)= -hai(4)*cic(ip,l2)14 O cgzie(ip,j4)= har(4)*cic(ip,l2)4 O cgzi(ip,j4)= -hai(4)*crc(ip,l2) O * 3 O cgzr(ip,j5)= har(1)*crc(ip,l3)c5 O cgzre(ip,j5)= -hai(1)*cic(ip,l3) 4 O cgzie(ip,j5)= har(1)*cic(ip,l3)3 O cgzi(ip,j5)= hai(1)*crc(ip,l3)  O * 4 O cgzr(ip,j6)= -har(2)*crc(ip,l3)5 O cgzre(ip,j6)= -hai(2)*cic(ip,l3) 4 O cgzie(ip,j6)= har(2)*cic(ip,l3)4 O cgzi(ip,j6)= -hai(2)*crc(ip,l3) O *p3 O cgzr(ip,j7)= har(3)*crc(ip,l4) 5 O cgzre(ip,j7)= -hai(3)*cic(ip,l4) 4 O cgzie(ip,j7)= har(3)*cic(ip,l4)3 O cgzi(ip,j7)= hai(3)*crc(ip,l4)  O * 4 O cgzr(ip,j8)= -har(4)*crc(ip,l4)5 O cgzre(ip,j8)= -hai(4)*cic(ip,l4) 4 O cgzie(ip,j8)= har(4)*cic(ip,l4)4 O cgzi(ip,j8)= -hai(4)*crc(ip,l4) O *  O *-----Conversion Z-gamma O *m) O cczg= conc(2)/ysm/pnm O * O  O do i=1,4/! O ip4= i+4d5 O hapr(i)= hch(ip4)*cczg*zmcfr 5 O hapi(i)= hch(ip4)*cczg*zmcfig O enddo O * 4 O czgr(ip,j1)= hapr(1)*crc(ip,l1)6 O czgre(ip,j1)= -hapi(1)*cic(ip,l1)5 O czgie(ip,j1)= hapr(1)*cic(ip,l1) 4 O czgi(ip,j1)= hapi(1)*crc(ip,l1) O * O 5 O czgr(ip,j2)= -hapr(2)*crc(ip,l1) 6 O czgre(ip,j2)= -hapi(2)*cic(ip,l1)5 O czgie(ip,j2)= hapr(2)*cic(ip,l1)+5 O czgi(ip,j2)= -hapi(2)*crc(ip,l1)  O * 4 O czgr(ip,j3)= hapr(3)*crc(ip,l2)6 O czgre(ip,j3)= -hapi(3)*cic(ip,l2)5 O czgie(ip,j3)= hapr(3)*cic(ip,l2)14 O czgi(ip,j3)= hapi(3)*crc(ip,l2) O * 5 O czgr(ip,j4)= -hapr(4)*crc(ip,l2) 6 O czgre(ip,j4)= -hapi(4)*cic(ip,l2)5 O czgie(ip,j4)= hapr(4)*cic(ip,l2) 5 O czgi(ip,j4)= -hapi(4)*crc(ip,l2)  O *m4 O czgr(ip,j5)= hapr(3)*crc(ip,l3)6 O czgre(ip,j5)= -hapi(3)*cic(ip,l3)5 O czgie(ip,j5)= hapr(3)*cic(ip,l3) 4 O czgi(ip,j5)= hapi(3)*crc(ip,l3) O **5 O czgr(ip,j6)= -hapr(4)*crc(ip,l3) 6 O czgre(ip,j6)= -hapi(4)*cic(ip,l3)5 O czgie(ip,j6)= hapr(4)*cic(ip,l3) 5 O czgi(ip,j6)= -hapi(4)*crc(ip,l3)  O * 4 O czgr(ip,j7)= hapr(1)*crc(ip,l4)6 O czgre(ip,j7)= -hapi(1)*cic(ip,l4)5 O czgie(ip,j7)= hapr(1)*cic(ip,l4)14 O czgi(ip,j7)= hapi(1)*crc(ip,l4) O * 5 O czgr(ip,j8)= -hapr(2)*crc(ip,l4) 6 O czgre(ip,j8)= -hapi(2)*cic(ip,l4)5 O czgie(ip,j8)= hapr(2)*cic(ip,l4) 5 O czgi(ip,j8)= -hapi(2)*crc(ip,l4)p O *  O *-----Conversion Z-Z O *  O do i=1,8 ! O ip8= i+8 4 O hc(i)= -hch(ip8)*conc(5)/pn O enddo O * 2 O czzr(ip,j1)= hc(1)*crc(ip,l1)3 O czzie(ip,j1)= hc(1)*cic(ip,l1)5 O * O 3 O czzr(ip,j2)= -hc(2)*crc(ip,l1) 3 O czzie(ip,j2)= hc(2)*cic(ip,l1) O  O * 2 O czzr(ip,j3)= hc(7)*crc(ip,l2)3 O czzie(ip,j3)= hc(7)*cic(ip,l2)  O * 3 O czzr(ip,j4)= -hc(8)*crc(ip,l2)u3 O czzie(ip,j4)= hc(8)*cic(ip,l2)  O * 2 O czzr(ip,j5)= hc(3)*crc(ip,l3)3 O czzie(ip,j5)= hc(3)*cic(ip,l3)  O * 3 O czzr(ip,j6)= -hc(4)*crc(ip,l3)s3 O czzie(ip,j6)= hc(4)*cic(ip,l3)  O * 2 O czzr(ip,j7)= hc(5)*crc(ip,l4)3 O czzie(ip,j7)= hc(5)*cic(ip,l4)  O *u3 O czzr(ip,j8)= -hc(6)*crc(ip,l4) 3 O czzie(ip,j8)= hc(6)*cic(ip,l4)u O * $ O *-----All PP1-PP2 gamma-gamma(gluon) O *-( O cp12gg= conc(6)/ysm/ O cp1ggr= -cp12gg/pfpb*ztcfr / O cp1ggi= -cp12gg/pfpb*ztcfi O - O cp2ggr= cp12gg/pfp*ztcfr - O cp2ggi= cp12gg/pfp*ztcfic O * 5 O p1ggr(ip,j1)= cp1ggr*p1rc(ip,l1)17 O p1ggre(ip,j1)= -cp1ggi*p1ic(ip,l1) 6 O p1ggie(ip,j1)= cp1ggr*p1ic(ip,l1)5 O p1ggi(ip,j1)= cp1ggi*p1rc(ip,l1)  O * 0 O p1ggr(ip,j2)= -p1ggr(ip,j1)1 O p1ggre(ip,j2)= p1ggre(ip,j1) 1 O p1ggie(ip,j2)= p1ggie(ip,j1) 0 O p1ggi(ip,j2)= -p1ggi(ip,j1) O * O 5 O p1ggr(ip,j3)= cp1ggr*p1rc(ip,l2) O 7 O p1ggre(ip,j3)= -cp1ggi*p1ic(ip,l2) 6 O p1ggie(ip,j3)= cp1ggr*p1ic(ip,l2)5 O p1ggi(ip,j3)= cp1ggi*p1rc(ip,l2)  O * 0 O p1ggr(ip,j4)= -p1ggr(ip,j3)1 O p1ggre(ip,j4)= p1ggre(ip,j3) 1 O p1ggie(ip,j4)= p1ggie(ip,j3)+0 O p1ggi(ip,j4)= -p1ggi(ip,j3) O * 5 O p1ggr(ip,j5)= cp1ggr*p1rc(ip,l3) 7 O p1ggre(ip,j5)= -cp1ggi*p1ic(ip,l3)-6 O p1ggie(ip,j5)= cp1ggr*p1ic(ip,l3)5 O p1ggi(ip,j5)= cp1ggi*p1rc(ip,l3)- O *m0 O p1ggr(ip,j6)= -p1ggr(ip,j5)1 O p1ggre(ip,j6)= p1ggre(ip,j5) 1 O p1ggie(ip,j6)= p1ggie(ip,j5) 0 O p1ggi(ip,j6)= -p1ggi(ip,j5) O * 5 O p1ggr(ip,j7)= cp1ggr*p1rc(ip,l4) 7 O p1ggre(ip,j7)= -cp1ggi*p1ic(ip,l4) 6 O p1ggie(ip,j7)= cp1ggr*p1ic(ip,l4)5 O p1ggi(ip,j7)= cp1ggi*p1rc(ip,l4)  O * 0 O p1ggr(ip,j8)= -p1ggr(ip,j7)1 O p1ggre(ip,j8)= p1ggre(ip,j7) O 1 O p1ggie(ip,j8)= p1ggie(ip,j7),0 O p1ggi(ip,j8)= -p1ggi(ip,j7) O *i5 O p2ggr(ip,j1)= cp2ggr*p2rc(ip,l1) 7 O p2ggre(ip,j1)= -cp2ggi*p2ic(ip,l1)p6 O p2ggie(ip,j1)= cp2ggr*p2ic(ip,l1)6 O p2ggi(ip,j1)= -cp2ggi*p2rc(ip,l1) O *10 O p2ggr(ip,j2)= -p2ggr(ip,j1)1 O p2ggre(ip,j2)= p2ggre(ip,j1).1 O p2ggie(ip,j2)= p2ggie(ip,j1) 0 O p2ggi(ip,j2)= -p2ggi(ip,j1) O *y5 O p2ggr(ip,j3)= cp2ggr*p2rc(ip,l2)y7 O p2ggre(ip,j3)= -cp2ggi*p2ic(ip,l2)16 O p2ggie(ip,j3)= cp2ggr*p2ic(ip,l2)5 O p2ggi(ip,j3)= cp2ggi*p2rc(ip,l2)1 O *h0 O p2ggr(ip,j4)= -p2ggr(ip,j3)1 O p2ggre(ip,j4)= p2ggre(ip,j3)71 O p2ggie(ip,j4)= p2ggie(ip,j3) 0 O p2ggi(ip,j4)= -p2ggi(ip,j3) O *#5 O p2ggr(ip,j5)= cp2ggr*p2rc(ip,l3),7 O p2ggre(ip,j5)= -cp2ggi*p2ic(ip,l3) 6 O p2ggie(ip,j5)= cp2ggr*p2ic(ip,l3)5 O p2ggi(ip,j5)= cp2ggi*p2rc(ip,l3)  O *d0 O p2ggr(ip,j6)= -p2ggr(ip,j5)1 O p2ggre(ip,j6)= p2ggre(ip,j5).1 O p2ggie(ip,j6)= p2ggie(ip,j5) 0 O p2ggi(ip,j6)= -p2ggi(ip,j5) O * 5 O p2ggr(ip,j7)= cp2ggr*p2rc(ip,l4) O 7 O p2ggre(ip,j7)= -cp2ggi*p2ic(ip,l4))6 O p2ggie(ip,j7)= cp2ggr*p2ic(ip,l4)5 O p2ggi(ip,j7)= cp2ggi*p2rc(ip,l4). O *g0 O p2ggr(ip,j8)= -p2ggr(ip,j7)1 O p2ggre(ip,j8)= p2ggre(ip,j7)41 O p2ggie(ip,j8)= p2ggie(ip,j7) 0 O p2ggi(ip,j8)= -p2ggi(ip,j7) O *  O *-----All PP1 gamma-Z+ O *)) O cp1gz= -conc(3)/pfpb  O *  O do i=1,4-# O ip16= i+16 6 O hdr(i)= hch(ip16)*cp1gz*zpcfr6 O hdi(i)= hch(ip16)*cp1gz*zpcfi O enddo O * 5 O p1gzr(ip,j1)= hdr(3)*p1rc(ip,l1)o7 O p1gzre(ip,j1)= -hdi(3)*p1ic(ip,l1) 6 O p1gzie(ip,j1)= hdr(3)*p1ic(ip,l1)5 O p1gzi(ip,j1)= hdi(3)*p1rc(ip,l1)( O *36 O p1gzr(ip,j2)= -hdr(4)*p1rc(ip,l1)7 O p1gzre(ip,j2)= -hdi(4)*p1ic(ip,l1))6 O p1gzie(ip,j2)= hdr(4)*p1ic(ip,l1)6 O p1gzi(ip,j2)= -hdi(4)*p1rc(ip,l1) O *#5 O p1gzr(ip,j3)= hdr(4)*p1rc(ip,l2))7 O p1gzre(ip,j3)= -hdi(4)*p1ic(ip,l2)x6 O p1gzie(ip,j3)= hdr(4)*p1ic(ip,l2)5 O p1gzi(ip,j3)= hdi(4)*p1rc(ip,l2)0 O *y6 O p1gzr(ip,j4)= -hdr(3)*p1rc(ip,l2)7 O p1gzre(ip,j4)= -hdi(3)*p1ic(ip,l2) 6 O p1gzie(ip,j4)= hdr(3)*p1ic(ip,l2)6 O p1gzi(ip,j4)= -hdi(3)*p1rc(ip,l2) O * 5 O p1gzr(ip,j5)= hdr(2)*p1rc(ip,l3) 7 O p1gzre(ip,j5)= -hdi(2)*p1ic(ip,l3) 6 O p1gzie(ip,j5)= hdr(2)*p1ic(ip,l3)5 O p1gzi(ip,j5)= hdi(2)*p1rc(ip,l3)  O * 6 O p1gzr(ip,j6)= -hdr(1)*p1rc(ip,l3)7 O p1gzre(ip,j6)= -hdi(1)*p1ic(ip,l3)(6 O p1gzie(ip,j6)= hdr(1)*p1ic(ip,l3)6 O p1gzi(ip,j6)= -hdi(1)*p1rc(ip,l3) O *+5 O p1gzr(ip,j7)= hdr(1)*p1rc(ip,l4) 7 O p1gzre(ip,j7)= -hdi(1)*p1ic(ip,l4)*6 O p1gzie(ip,j7)= hdr(1)*p1ic(ip,l4)5 O p1gzi(ip,j7)= hdi(1)*p1rc(ip,l4)  O * 6 O p1gzr(ip,j8)= -hdr(2)*p1rc(ip,l4)7 O p1gzre(ip,j8)= -hdi(2)*p1ic(ip,l4) 6 O p1gzie(ip,j8)= hdr(2)*p1ic(ip,l4)6 O p1gzi(ip,j8)= -hdi(2)*p1rc(ip,l4) O *4 O *-----All PP2 gamma-Z6 O *)' O cp2gz= conc(3)/pfp) O *4 O do i=1,4 # O ip16= i+16g6 O her(i)= hch(ip16)*cp2gz*zpcfr6 O hei(i)= hch(ip16)*cp2gz*zpcfi O enddo O * 5 O p2gzr(ip,j1)= her(3)*p2rc(ip,l1) 7 O p2gzre(ip,j1)= -hei(3)*p2ic(ip,l1)+6 O p2gzie(ip,j1)= her(3)*p2ic(ip,l1)5 O p2gzi(ip,j1)= hei(3)*p2rc(ip,l1)r O *,6 O p2gzr(ip,j2)= -her(4)*p2rc(ip,l1)7 O p2gzre(ip,j2)= -hei(4)*p2ic(ip,l1))6 O p2gzie(ip,j2)= her(4)*p2ic(ip,l1)6 O p2gzi(ip,j2)= -hei(4)*p2rc(ip,l1) O *p5 O p2gzr(ip,j3)= her(4)*p2rc(ip,l2)27 O p2gzre(ip,j3)= -hei(4)*p2ic(ip,l2)26 O p2gzie(ip,j3)= her(4)*p2ic(ip,l2)5 O p2gzi(ip,j3)= hei(4)*p2rc(ip,l2). O *(6 O p2gzr(ip,j4)= -her(3)*p2rc(ip,l2)7 O p2gzre(ip,j4)= -hei(3)*p2ic(ip,l2) 6 O p2gzie(ip,j4)= her(3)*p2ic(ip,l2)6 O p2gzi(ip,j4)= -hei(3)*p2rc(ip,l2) O *35 O p2gzr(ip,j5)= her(2)*p2rc(ip,l3)I7 O p2gzre(ip,j5)= -hei(2)*p2ic(ip,l3)16 O p2gzie(ip,j5)= her(2)*p2ic(ip,l3)5 O p2gzi(ip,j5)= hei(2)*p2rc(ip,l3)i O *y6 O p2gzr(ip,j6)= -her(1)*p2rc(ip,l3)7 O p2gzre(ip,j6)= -hei(1)*p2ic(ip,l3) 6 O p2gzie(ip,j6)= her(1)*p2ic(ip,l3)6 O p2gzi(ip,j6)= -hei(1)*p2rc(ip,l3) O *35 O p2gzr(ip,j7)= her(1)*p2rc(ip,l4).7 O p2gzre(ip,j7)= -hei(1)*p2ic(ip,l4) 6 O p2gzie(ip,j7)= her(1)*p2ic(ip,l4)5 O p2gzi(ip,j7)= hei(1)*p2rc(ip,l4)x O *(6 O p2gzr(ip,j8)= -her(2)*p2rc(ip,l4)7 O p2gzre(ip,j8)= -hei(2)*p2ic(ip,l4)p6 O p2gzie(ip,j8)= her(2)*p2ic(ip,l4)6 O p2gzi(ip,j8)= -hei(2)*p2rc(ip,l4) O ** O *-----All PP1 Z-gamma(gluon) O *8, O cp1zg= conc(4)/ysm/pfpb O *1 O do i=1,4 ! O ip4= i+4,5 O hfr(i)= hch(ip4)*cp1zg*ztcfr O 5 O hfi(i)= hch(ip4)*cp1zg*ztcfi2 O enddo O * )7 O ap1azgr(ip,l1)= hfr(1)*p1rc(ip,l1)#9 O ap1azgre(ip,l1)= -hfi(1)*p1ic(ip,l1)n8 O ap1azgie(ip,l1)= hfr(1)*p1ic(ip,l1)7 O ap1azgi(ip,l1)= hfi(1)*p1rc(ip,l1) 6 O p1zgr(ip,j1)= ap1azgr(ip,l1)*rsz-6 O # ap1azgi(ip,l1)*aisz8 O p1zgre(ip,j1)= ap1azgre(ip,l1)*rsz-8 O # ap1azgie(ip,l1)*aisz8 O p1zgie(ip,j1)= ap1azgie(ip,l1)*rsz+8 O # ap1azgre(ip,l1)*aisz6 O p1zgi(ip,j1)= ap1azgi(ip,l1)*rsz+6 O # ap1azgr(ip,l1)*aisz O *58 O ap1bzgr(ip,l1)= -hfr(2)*p1rc(ip,l1)9 O ap1bzgre(ip,l1)= -hfi(2)*p1ic(ip,l1)38 O ap1bzgie(ip,l1)= hfr(2)*p1ic(ip,l1)8 O ap1bzgi(ip,l1)= -hfi(2)*p1rc(ip,l1)6 O p1zgr(ip,j2)= ap1bzgr(ip,l1)*rsz-6 O # ap1bzgi(ip,l1)*aisz8 O p1zgre(ip,j2)= ap1bzgre(ip,l1)*rsz-8 O # ap1bzgie(ip,l1)*aisz8 O p1zgie(ip,j2)= ap1bzgie(ip,l1)*rsz+8 O # ap1bzgre(ip,l1)*aisz6 O p1zgi(ip,j2)= ap1bzgi(ip,l1)*rsz+6 O # ap1bzgr(ip,l1)*aisz O * 7 O ap1czgr(ip,l2)= hfr(3)*p1rc(ip,l2)c9 O ap1czgre(ip,l2)= -hfi(3)*p1ic(ip,l2)28 O ap1czgie(ip,l2)= hfr(3)*p1ic(ip,l2)7 O ap1czgi(ip,l2)= hfi(3)*p1rc(ip,l2)p6 O p1zgr(ip,j3)= ap1czgr(ip,l2)*rsz-6 O # ap1czgi(ip,l2)*aisz8 O p1zgre(ip,j3)= ap1czgre(ip,l2)*rsz-8 O # ap1czgie(ip,l2)*aisz8 O p1zgie(ip,j3)= ap1czgie(ip,l2)*rsz+8 O # ap1czgre(ip,l2)*aisz6 O p1zgi(ip,j3)= ap1czgi(ip,l2)*rsz+6 O # ap1czgr(ip,l2)*aisz O *c8 O ap1dzgr(ip,l2)= -hfr(4)*p1rc(ip,l2)9 O ap1dzgre(ip,l2)= -hfi(4)*p1ic(ip,l2)l8 O ap1dzgie(ip,l2)= hfr(4)*p1ic(ip,l2)8 O ap1dzgi(ip,l2)= -hfi(4)*p1rc(ip,l2)6 O p1zgr(ip,j4)= ap1dzgr(ip,l2)*rsz-6 O # ap1dzgi(ip,l2)*aisz8 O p1zgre(ip,j4)= ap1dzgre(ip,l2)*rsz-8 O # ap1dzgie(ip,l2)*aisz8 O p1zgie(ip,j4)= ap1dzgie(ip,l2)*rsz+8 O # ap1dzgre(ip,l2)*aisz6 O p1zgi(ip,j4)= ap1dzgi(ip,l2)*rsz+6 O # ap1dzgr(ip,l2)*aisz O * 7 O ap1ezgr(ip,l3)= hfr(3)*p1rc(ip,l3)v9 O ap1ezgre(ip,l3)= -hfi(3)*p1ic(ip,l3)p8 O ap1ezgie(ip,l3)= hfr(3)*p1ic(ip,l3)7 O ap1ezgi(ip,l3)= hfi(3)*p1rc(ip,l3) 6 O p1zgr(ip,j5)= ap1ezgr(ip,l3)*rsz-6 O # ap1ezgi(ip,l3)*aisz8 O p1zgre(ip,j5)= ap1ezgre(ip,l3)*rsz-8 O # ap1ezgie(ip,l3)*aisz8 O p1zgie(ip,j5)= ap1ezgie(ip,l3)*rsz+8 O # ap1ezgre(ip,l3)*aisz6 O p1zgi(ip,j5)= ap1ezgi(ip,l3)*rsz+6 O # ap1ezgr(ip,l3)*aisz O * 8 O ap1fzgr(ip,l3)= -hfr(4)*p1rc(ip,l3)9 O ap1fzgre(ip,l3)= -hfi(4)*p1ic(ip,l3) 8 O ap1fzgie(ip,l3)= hfr(4)*p1ic(ip,l3)8 O ap1fzgi(ip,l3)= -hfi(4)*p1rc(ip,l3)6 O p1zgr(ip,j6)= ap1fzgr(ip,l3)*rsz-6 O # ap1fzgi(ip,l3)*aisz8 O p1zgre(ip,j6)= ap1fzgre(ip,l3)*rsz-8 O # ap1fzgie(ip,l3)*aisz8 O p1zgie(ip,j6)= ap1fzgie(ip,l3)*rsz+8 O # ap1fzgre(ip,l3)*aisz6 O p1zgi(ip,j6)= ap1fzgi(ip,l3)*rsz+6 O # ap1fzgr(ip,l3)*aisz O *c7 O ap1gzgr(ip,l4)= hfr(1)*p1rc(ip,l4)*9 O ap1gzgre(ip,l4)= -hfi(1)*p1ic(ip,l4)i8 O ap1gzgie(ip,l4)= hfr(1)*p1ic(ip,l4)7 O ap1gzgi(ip,l4)= hfi(1)*p1rc(ip,l4) O 6 O p1zgr(ip,j7)= ap1gzgr(ip,l4)*rsz-6 O # ap1gzgi(ip,l4)*aisz8 O p1zgre(ip,j7)= ap1gzgre(ip,l4)*rsz-8 O # ap1gzgie(ip,l4)*aisz8 O p1zgie(ip,j7)= ap1gzgie(ip,l4)*rsz+8 O # ap1gzgre(ip,l4)*aisz6 O p1zgi(ip,j7)= ap1gzgi(ip,l4)*rsz+6 O # ap1gzgr(ip,l4)*aisz O *r8 O ap1hzgr(ip,l4)= -hfr(2)*p1rc(ip,l4)9 O ap1hzgre(ip,l4)= -hfi(2)*p1ic(ip,l4) 8 O ap1hzgie(ip,l4)= hfr(2)*p1ic(ip,l4)8 O ap1hzgi(ip,l4)= -hfi(2)*p1rc(ip,l4)6 O p1zgr(ip,j8)= ap1hzgr(ip,l4)*rsz-6 O # ap1hzgi(ip,l4)*aisz8 O p1zgre(ip,j8)= ap1hzgre(ip,l4)*rsz-8 O # ap1hzgie(ip,l4)*aisz8 O p1zgie(ip,j8)= ap1hzgie(ip,l4)*rsz+8 O # ap1hzgre(ip,l4)*aisz6 O p1z (ip,j8)= ap1hzgi(ip,l4)*rsz+6 O # ap1hzgr(ip,l4)*aisz O *g O *-----All PP2 Z-gamma(gluon) O * , O cp2zg= -conc(4)/ysm/pfp O *p O do i=1,4e! O ip4= i+4 5 O hgr(i)= hch(ip4)*cp2zg*ztcfr 5 O hgi(i)= hch(ip4)*cp2zg*ztcfi  O enddo O * 7 O ap2azgr(ip,l1)= hgr(1)*p2rc(ip,l1) 9 O ap2azgre(ip,l1)= -hgi(1)*p2ic(ip,l1) 8 O ap2azgie(ip,l1)= hgr(1)*p2ic(ip,l1)7 O ap2azgi(ip,l1)= hgi(1)*p2rc(ip,l1) 6 O p2zgr(ip,j1)= ap2azgr(ip,l1)*rsz-6 O # ap2azgi(ip,l1)*aisz8 O p2zgre(ip,j1)= ap2azgre(ip,l1)*rsz-8 O # ap2azgie(ip,l1)*aisz8 O p2zgie(ip,j1)= ap2azgie(ip,l1)*rsz+8 O # ap2azgre(ip,l1)*aisz6 O p2zgi(ip,j1)= ap2azgi(ip,l1)*rsz+6 O # ap2azgr(ip,l1)*aisz O * 8 O ap2bzgr(ip,l1)= -hgr(2)*p2rc(ip,l1)9 O ap2bzgre(ip,l1)= -hgi(2)*p2ic(ip,l1)(8 O ap2bzgie(ip,l1)= hgr(2)*p2ic(ip,l1)8 O ap2bzgi(ip,l1)= -hgi(2)*p2rc(ip,l1)6 O p2zgr(ip,j2)= ap2bzgr(ip,l1)*rsz-6 O # ap2bzgi(ip,l1)*aisz8 O p2zgre(ip,j2)= ap2bzgre(ip,l1)*rsz-8 O # ap2bzgie(ip,l1)*aisz8 O p2zgie(ip,j2)= ap2bzgie(ip,l1)*rsz+8 O # ap2bzgre(ip,l1)*aisz6 O p2zgi(ip,j2)= ap2bzgi(ip,l1)*rsz+6 O # ap2bzgr(ip,l1)*aisz O * 7 O ap2czgr(ip,l2)= hgr(3)*p2rc(ip,l2)c9 O ap2czgre(ip,l2)= -hgi(3)*p2ic(ip,l2)z8 O ap2czgie(ip,l2)= hgr(3)*p2ic(ip,l2)7 O ap2czgi(ip,l2)= hgi(3)*p2rc(ip,l2)j6 O p2zgr(ip,j3)= ap2czgr(ip,l2)*rsz-6 O # ap2czgi(ip,l2)*aisz8 O p2zgre(ip,j3)= ap2czgre(ip,l2)*rsz-8 O # ap2czgie(ip,l2)*aisz8 O p2zgie(ip,j3)= ap2czgie(ip,l2)*rsz+8 O # ap2czgre(ip,l2)*aisz6 O p2zgi(ip,j3)= ap2czgi(ip,l2)*rsz+6 O # ap2czgr(ip,l2)*aisz O *i8 O ap2dzgr(ip,l2)= -hgr(4)*p2rc(ip,l2)9 O ap2dzgre(ip,l2)= -hgi(4)*p2ic(ip,l2) 8 O ap2dzgie(ip,l2)= hgr(4)*p2ic(ip,l2)8 O ap2dzgi(ip,l2)= -hgi(4)*p2rc(ip,l2)6 O p2zgr(ip,j4)= ap2dzgr(ip,l2)*rsz-6 O # ap2dzgi(ip,l2)*aisz8 O p2zgre(ip,j4)= ap2dzgre(ip,l2)*rsz-8 O # ap2dzgie(ip,l2)*aisz8 O p2zgie(ip,j4)= ap2dzgie(ip,l2)*rsz+8 O # ap2dzgre(ip,l2)*aisz6 O p2zgi(ip,j4)= ap2dzgi(ip,l2)*rsz+6 O # ap2dzgr(ip,l2)*aisz O * 7 O ap2ezgr(ip,l3)= hgr(3)*p2rc(ip,l3) 9 O ap2ezgre(ip,l3)= -hgi(3)*p2ic(ip,l3)g8 O ap2ezgie(ip,l3)= hgr(3)*p2ic(ip,l3)7 O ap2ezgi(ip,l3)= hgi(3)*p2rc(ip,l3)i6 O p2zgr(ip,j5)= ap2ezgr(ip,l3)*rsz-6 O # ap2ezgi(ip,l3)*aisz8 O p2zgre(ip,j5)= ap2ezgre(ip,l3)*rsz-8 O # ap2ezgie(ip,l3)*aisz8 O p2zgie(ip,j5)= ap2ezgie(ip,l3)*rsz+8 O # ap2ezgre(ip,l3)*aisz6 O p2zgi(ip,j5)= ap2ezgi(ip,l3)*rsz+6 O # ap2ezgr(ip,l3)*aisz O *(8 O ap2fzgr(ip,l3)= -hgr(4)*p2rc(ip,l3)9 O ap2fzgre(ip,l3)= -hgi(4)*p2ic(ip,l3) O 8 O ap2fzgie(ip,l3)= hgr(4)*p2ic(ip,l3)8 O ap2fzgi(ip,l3)= -hgi(4)*p2rc(ip,l3)6 O p2zgr(ip,j6)= ap2fzgr(ip,l3)*rsz-6 O # ap2fzgi(ip,l3)*aisz8 O p2zgre(ip,j6)= ap2fzgre(ip,l3)*rsz-8 O # ap2fzgie(ip,l3)*aisz8 O p2zgie(ip,j6)= ap2fzgie(ip,l3)*rsz+8 O # ap2fzgre(ip,l3)*aisz6 O p2zgi(ip,j6)= ap2fzgi(ip,l3)*rsz+6 O # ap2fzgr(ip,l3)*aisz O *=7 O ap2gzgr(ip,l4)= hgr(1)*p2rc(ip,l4)29 O ap2gzgre(ip,l4)= -hgi(1)*p2ic(ip,l4)g8 O ap2gzgie(ip,l4)= hgr(1)*p2ic(ip,l4)7 O ap2gzgi(ip,l4)= hgi(1)*p2rc(ip,l4)p6 O p2zgr(ip,j7)= ap2gzgr(ip,l4)*rsz-6 O # ap2gzgi(ip,l4)*aisz8 O p2zgre(ip,j7)= ap2gzgre(ip,l4)*rsz-8 O # ap2gzgie(ip,l4)*aisz8 O p2zgie(ip,j7)= ap2gzgie(ip,l4)*rsz+8 O # ap2gzgre(ip,l4)*aisz6 O p2zgi(ip,j7)= ap2gzgi(ip,l4)*rsz+6 O # ap2gzgr(ip,l4)*aisz O * 8 O ap2hzgr(ip,l4)= -hgr(2)*p2rc(ip,l4)9 O ap2hzgre(ip,l4)= -hgi(2)*p2ic(ip,l4)p8 O ap2hzgie(ip,l4)= hgr(2)*p2ic(ip,l4)8 O ap2hzgi(ip,l4)= -hgi(2)*p2rc(ip,l4)6 O p2zgr(ip,j8)= ap2hzgr(ip,l4)*rsz-6 O # ap2hzgi(ip,l4)*aisz8 O p2zgre(ip,j8)= ap2hzgre(ip,l4)*rsz-8 O # ap2hzgie(ip,l4)*aisz8 O p2zgie(ip,j8)= ap2hzgie(ip,l4)*rsz+8 O # ap2hzgre(ip,l4)*aisz6 O p2zgi(ip,j8)= ap2hzgi(ip,l4)*rsz+6 O # ap2hzgr(ip,l4)*aisz O * O  O *-----All PP1 Z-Z  O *p( O cp1zz= conc(5)/pfpb O *  O do i=1,8r# O ip20= i+20g6 O hhr(i)= hch(ip20)*cp1zz*zpcfr6 O hhi(i)= hch(ip20)*cp1zz*zpcfi O enddo O * 7 O ap1azzr(ip,l1)= hhr(3)*p1rc(ip,l1) 9 O ap1azzre(ip,l1)= -hhi(3)*p1ic(ip,l1)m8 O ap1azzie(ip,l1)= hhr(3)*p1ic(ip,l1)7 O ap1azzi(ip,l1)= hhi(3)*p1rc(ip,l1)i6 O p1zzr(ip,j1)= ap1azzr(ip,l1)*rsz-6 O # ap1azzi(ip,l1)*aisz8 O p1zzre(ip,j1)= ap1azzre(ip,l1)*rsz-8 O # ap1azzie(ip,l1)*aisz8 O p1zzie(ip,j1)= ap1azzie(ip,l1)*rsz+8 O # ap1azzre(ip,l1)*aisz6 O p1zzi(ip,j1)= ap1azzi(ip,l1)*rsz+6 O # ap1azzr(ip,l1)*aisz O * 8 O ap1bzzr(ip,l1)= -hhr(4)*p1rc(ip,l1)9 O ap1bzzre(ip,l1)= -hhi(4)*p1ic(ip,l1)p8 O ap1bzzie(ip,l1)= hhr(4)*p1ic(ip,l1)8 O ap1bzzi(ip,l1)= -hhi(4)*p1rc(ip,l1)6 O p1zzr(ip,j2)= ap1bzzr(ip,l1)*rsz-6 O # ap1bzzi(ip,l1)*aisz8 O p1zzre(ip,j2)= ap1bzzre(ip,l1)*rsz-8 O # ap1bzzie(ip,l1)*aisz8 O p1zzie(ip,j2)= ap1bzzie(ip,l1)*rsz+8 O # ap1bzzre(ip,l1)*aisz6 O p1zzi(ip,j2)= ap1bzzi(ip,l1)*rsz+6 O # ap1bzzr(ip,l1)*aisz O *p7 O ap1czzr(ip,l2)= hhr(5)*p1rc(ip,l2)p9 O ap1czzre(ip,l2)= -hhi(5)*p1ic(ip,l2)i8 O ap1czzie(ip,l2)= hhr(5)*p1ic(ip,l2)7 O ap1czzi(ip,l2)= hhi(5)*p1rc(ip,l2)r6 O p1zzr(ip,j3)= ap1czzr(ip,l2)*rsz-6 O # ap1czzi(ip,l2)*aisz8 O p1zzre(ip,j3)= ap1czzre(ip,l2)*rsz-8 O # ap1czzie(ip,l2)*aisz8 O p1zzie(ip,j3)= ap1czzie(ip,l2)*rsz+8 O # ap1czzre(ip,l2)*aisz6 O p1zzi(ip,j3)= ap1czzi(ip,l2)*rsz+6 O # ap1czzr(ip,l2)*aisz O *r8 O ap1dzzr(ip,l2)= -hhr(6)*p1rc(ip,l2)9 O ap1dzzre(ip,l2)= -hhi(6)*p1ic(ip,l2),8 O ap1dzzie(ip,l2)= hhr(6)*p1ic(ip,l2)8 O ap1dzzi(ip,l2)= -hhi(6)*p1rc(ip,l2)6 O p1zzr(ip,j4)= ap1dzzr(ip,l2)*rsz-6 O # ap1dzzi(ip,l2)*aisz8 O p1zzre(ip,j4)= ap1dzzre(ip,l2)*rsz-8 O # ap1dzzie(ip,l2)*aisz8 O p1zzie(ip,j4)= ap1dzzie(ip,l2)*rsz+8 O # ap1dzzre(ip,l2)*aisz6 O p1zzi(ip,j4)= ap1dzzi(ip,l2)*rsz+6 O # ap1dzzr(ip,l2)*aisz O *i7 O ap1ezzr(ip,l3)= hhr(8)*p1rc(ip,l3)p9 O ap1ezzre(ip,l3)= -hhi(8)*p1ic(ip,l3)j8 O ap1ezzie(ip,l3)= hhr(8)*p1ic(ip,l3)7 O ap1ezzi(ip,l3)= hhi(8)*p1rc(ip,l3)36 O p1zzr(ip,j5)= ap1ezzr(ip,l3)*rsz-6 O # ap1ezzi(ip,l3)*aisz8 O p1zzre(ip,j5)= ap1ezzre(ip,l3)*rsz-8 O # ap1ezzie(ip,l3)*aisz8 O p1zzie(ip,j5)= ap1ezzie(ip,l3)*rsz+8 O # ap1ezzre(ip,l3)*aisz6 O p1zzi(ip,j5)= ap1ezzi(ip,l3)*rsz+6 O # ap1ezzr(ip,l3)*aisz O *58 O ap1fzzr(ip,l3)= -hhr(7)*p1rc(ip,l3)9 O ap1fzzre(ip,l3)= -hhi(7)*p1ic(ip,l3) 8 O ap1fzzie(ip,l3)= hhr(7)*p1ic(ip,l3)8 O ap1fzzi(ip,l3)= -hhi(7)*p1rc(ip,l3)6 O p1zzr(ip,j6)= ap1fzzr(ip,l3)*rsz-6 O # ap1fzzi(ip,l3)*aisz8 O p1zzre(ip,j6)= ap1fzzre(ip,l3)*rsz-8 O # ap1fzzie(ip,l3)*aisz8 O p1zzie(ip,j6)= ap1fzzie(ip,l3)*rsz+8 O # ap1fzzre(ip,l3)*aisz6 O p1zzi(ip,j6)= ap1fzzi(ip,l3)*rsz+6 O # ap1fzzr(ip,l3)*aisz O *-7 O ap1gzzr(ip,l4)= hhr(1)*p1rc(ip,l4)h9 O ap1gzzre(ip,l4)= -hhi(1)*p1ic(ip,l4)(8 O ap1gzzie(ip,l4)= hhr(1)*p1ic(ip,l4)7 O ap1gzzi(ip,l4)= hhi(1)*p1rc(ip,l4) 6 O p1zzr(ip,j7)= ap1gzzr(ip,l4)*rsz-6 O # ap1gzzi(ip,l4)*aisz8 O p1zzre(ip,j7)= ap1gzzre(ip,l4)*rsz-8 O # ap1gzzie(ip,l4)*aisz8 O p1zzie(ip,j7)= ap1gzzie(ip,l4)*rsz+8 O # ap1gzzre(ip,l4)*aisz6 O p1zzi(ip,j7)= ap1gzzi(ip,l4)*rsz+6 O # ap1gzzr(ip,l4)*aisz O * 8 O ap1hzzr(ip,l4)= -hhr(2)*p1rc(ip,l4)9 O ap1hzzre(ip,l4)= -hhi(2)*p1ic(ip,l4) 8 O ap1hzzie(ip,l4)= hhr(2)*p1ic(ip,l4)8 O ap1hzzi(ip,l4)= -hhi(2)*p1rc(ip,l4)6 O p1zzr(ip,j8)= ap1hzzr(ip,l4)*rsz-6 O # ap1hzzi(ip,l4)*aisz8 O p1zzre(ip,j8)= ap1hzzre(ip,l4)*rsz-8 O # ap1hzzie(ip,l4)*aisz8 O p1zzie(ip,j8)= ap1hzzie(ip,l4)*rsz+8 O # ap1hzzre(ip,l4)*aisz6 O p1zzi(ip,j8)= ap1hzzi(ip,l4)*rsz+6 O # ap1hzzr(ip,l4)*aisz O *  O *-----All PP2 Z-Z1 O *i( O cp2zz= -conc(5)/pfp O *  O do i=1,81# O ip20= i+20 6 O hir(i)= hch(ip20)*cp2zz*zpcfr6 O hii(i)= hch(ip20)*cp2zz*zpcfi O enddo O * 7 O ap2azzr(ip,l1)= hir(3)*p2rc(ip,l1) 9 O ap2azzre(ip,l1)= -hii(3)*p2ic(ip,l1) 8 O ap2azzie(ip,l1)= hir(3)*p2ic(ip,l1)7 O ap2azzi(ip,l1)= hii(3)*p2rc(ip,l1) 6 O p2zzr(ip,j1)= ap2azzr(ip,l1)*rsz-6 O # ap2azzi(ip,l1)*aisz8 O p2zzre(ip,j1)= ap2azzre(ip,l1)*rsz-8 O # ap2azzie(ip,l1)*aisz8 O p2zzie(ip,j1)= ap2azzie(ip,l1)*rsz+8 O # ap2azzre(ip,l1)*aisz6 O p2zzi(ip,j1)= ap2azzi(ip,l1)*rsz+6 O # ap2azzr(ip,l1)*aisz O * 8 O ap2bzzr(ip,l1)= -hir(4)*p2rc(ip,l1)9 O ap2bzzre(ip,l1)= -hii(4)*p2ic(ip,l1) 8 O ap2bzzie(ip,l1)= hir(4)*p2ic(ip,l1)8 O ap2bzzi(ip,l1)= -hii(4)*p2rc(ip,l1)6 O p2zzr(ip,j2)= ap2bzzr(ip,l1)*rsz-6 O # ap2bzzi(ip,l1)*aisz8 O p2zzre(ip,j2)= ap2bzzre(ip,l1)*rsz-8 O # ap2bzzie(ip,l1)*aisz8 O p2zzie(ip,j2)= ap2bzzie(ip,l1)*rsz+8 O # ap2bzzre(ip,l1)*aisz6 O p2zzi(ip,j2)= ap2bzzi(ip,l1)*rsz+6 O # ap2bzzr(ip,l1)*aisz O * 7 O ap2czzr(ip,l2)= hir(5)*p2rc(ip,l2) 9 O ap2czzre(ip,l2)= -hii(5)*p2ic(ip,l2) 8 O ap2czzie(ip,l2)= hir(5)*p2ic(ip,l2)7 O ap2czzi(ip,l2)= hii(5)*p2rc(ip,l2) 6 O p2zzr(ip,j3)= ap2czzr(ip,l2)*rsz-6 O # ap2czzi(ip,l2)*aisz8 O p2zzre(ip,j3)= ap2czzre(ip,l2)*rsz-8 O # ap2czzie(ip,l2)*aisz8 O p2zzie(ip,j3)= ap2czzie(ip,l2)*rsz+8 O # ap2czzre(ip,l2)*aisz6 O p2zzi(ip,j3)= ap2czzi(ip,l2)*rsz+6 O # ap2czzr(ip,l2)*aisz O * 8 O ap2dzzr(ip,l2)= -hir(6)*p2rc(ip,l2)9 O ap2dzzre(ip,l2)= -hii(6)*p2ic(ip,l2) 8 O ap2dzzie(ip,l2)= hir(6)*p2ic(ip,l2)8 O ap2dzzi(ip,l2)= -hii(6)*p2rc(ip,l2)6 O p2zzr(ip,j4)= ap2dzzr(ip,l2)*rsz-6 O # ap2dzzi(ip,l2)*aisz8 O p2zzre(ip,j4)= ap2dzzre(ip,l2)*rsz-8 O # ap2dzzie(ip,l2)*aisz8 O p2zzie(ip,j4)= ap2dzzie(ip,l2)*rsz+8 O # ap2dzzre(ip,l2)*aisz6 O p2zzi(ip,j4)= ap2dzzi(ip,l2)*rsz+6 O # ap2dzzr(ip,l2)*aisz O * 7 O ap2ezzr(ip,l3)= hir(8)*p2rc(ip,l3) 9 O ap2ezzre(ip,l3)= -hii(8)*p2ic(ip,l3) 8 O ap2ezzie(ip,l3)= hir(8)*p2ic(ip,l3)7 O ap2ezzi(ip,l3)= hii(8)*p2rc(ip,l3) 6 O p2zzr(ip,j5)= ap2ezzr(ip,l3)*rsz-6 O # ap2ezzi(ip,l3)*aisz8 O p2zzre(ip,j5)= ap2ezzre(ip,l3)*rsz-8 O # ap2ezzie(ip, O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O ie(ip,ih)+p2gzie(ip,ih)+: O # p1zgie(ip,ih)+p2zgie(ip,ih)+: O # p1zzie(ip,ih)+p2zzie(ip,ih))0 O adhelie(ip,ih)= dcfr(ip)*(8 O # cggie(ip,ih)+cgzie(ip,ih)+8 O # czgie(ip,ih)+czzie(ip,ih)+: O # p1ggie(ip,ih)+p2ggie(ip,ih)+: O # p1gzie(ip,ih)+p2gzie(ip,ih)+: O # p1zgie(ip,ih)+p2zgie(ip,ih)+; O # p1zzie(ip,ih)+p2zzie(ip,ih))+=0 O # dcfi(ip)*(8 O # cggre(ip,ih)+cgzre(ip,ih)++ O # czgre(ip,ih)+ : O # p1ggre(ip,ih)+p2ggre(ip,ih)+: O # p1gzre(ip,ih)+p2gzre(ip,ih)+: O # p1zgre(ip,ih)+p2zgre(ip,ih)+: O # p1zzre(ip,ih)+p2zzre(ip,ih))/ O adheli(ip,ih)= dcfr(ip)*( 6 O # cggi(ip,ih)+cgzi(ip,ih)+* O # czgi(ip,ih)+8 O # p1ggi(ip,ih)+p2ggi(ip,ih)+8 O # p1gzi(ip,ih)+p2gzi(ip,ih)+8 O # p1zgi(ip,ih)+p2zgi(ip,ih)+9 O # p1zzi(ip,ih)+p2zzi(ip,ih))+ / O # dcfi(ip)*(p6 O # cggr(ip,ih)+cgzr(ip,ih)+6 O # czgr(ip,ih)+czzr(ip,ih)+8 O # p1ggr(ip,ih)+p2ggr(ip,ih)+8 O # p1gzr(ip,ih)+p2gzr(ip,ih)+8 O # p1zgr(ip,ih)+p2zgr(ip,ih)+8 O # p1zzr(ip,ih)+p2zzr(ip,ih)) O enddo  O enddo O *  O do ih=1,12 O  O dhelr(ih)= 0.d04 O dhelre(ih)= 0.d0 O dhelie(ih)= 0.d0 O dheli(ih)= 0.d0  O do ip=1,4h4 O dhelr(ih)= dhelr(ih)+vj*psg(ip)*(8 O # ephr(ip,ih)*adhelr(ip,ih)-: O # ephie(ip,ih)*adhelie(ip,ih))6 O dhelre(ih)= dhelre(ih)+vj*psg(ip)*(: O # ephr(ip,ih)*adhelre(ip,ih)-: O # ephie(ip,ih)*adheli(ip,ih))6 O dhelie(ih)= dhelie(ih)+vj*psg(ip)*(: O # ephr(ip,ih)*adhelie(ip,ih)+: O # ephie(ip,ih)*adhelr(ip,ih))4 O dheli(ih)= dheli(ih)+vj*psg(ip)*(8 O # ephr(ip,ih)*adheli(ip,ih)+: O # ephie(ip,ih)*adhelre(ip,ih)) O enddo  O enddo O *1 O ds= 0.d07 O do ih=1,12 ) O ds= ds+dhelr(ih)*dhelr(ih)+(( O # dhelre(ih)*dhelre(ih)+( O # dhelie(ih)*dhelie(ih)+% O # dheli(ih)*dheli(ih)  O enddo O endif  O *a O if(ofs.eq.'qq') then O if(oint.eq.'y') thenp O if(iint.eq.0) then O do i=1,4  O flow(i)= 1.d0 O enddo! O else if(iint.eq.1) then# O flow(1)= 1.d0  O flow(2)= 0.d0  O flow(3)= 1.d0 1 O flow(4)= 0.d0 ! O else if(iint.eq.2) then3 O flow(1)= 0.d0  O flow(2)= 1.d0 c O flow(3)= 0.d0  O flow(4)= 1.d0 c O endif O elsea O do i=1,4 O flow(i)= 1.d0 enddo endif * *-----Phases are applied * do ih=1,12 do ip=1,4 ephr(ip,ih)= ephr(ip,ih)*flow(ip) ephie(ip,ih)= ephie(ip,ih)*flow(ip) * pcggr(ip,ih)= ephr(ip,ih)*cggr(ip,ih)-ephie(ip,ih)* # cggie(ip,ih) pcgzr(ip,ih)= ephr(ip,ih)*cgzr(ip,ih)-ephie(ip,ih)* # cgzie(ip,ih) pczgr(ip,ih)= ephr(ip,ih)*czgr(ip,ih)-ephie(ip,ih)* # czgie(ip,ih) pczzr(ip,ih)= ephr(ip,ih)*czzr(ip,ih)-ephie(ip,ih)* # czzie(ip,ih) pp1zzr(ip,ih)= ephr(ip,ih)*p1zzr(ip,ih)-ephie(ip,ih)* # p1zzie(ip,ih) pp1zpr(ip,ih)= ephr(ip,ih)*p1zgr(ip,ih)-ephie(ip,ih)* # p1zgie(ip,ih) pp1zgr(ip,ih)= (ephr(ip,ih)*p1zgr(ip,ih)-ephie(ip,ih)* # p1zgie(ip,ih))*cfgg pp1pzr(ip,ih)= ephr(ip,ih)*p1gzr(ip,ih)-ephie(ip,ih)* # p1gzie(ip,ih) pp1ppr(ip,ih)= ephr(ip,ih)*p1ggr(ip,ih)-ephie(ip,ih)* # p1ggie(ip,ih) pp1pgr(ip,ih)= (ephr(ip,ih)*p1ggr(ip,ih)-ephie(ip,ih)* # p1ggie(ip,ih))*cfgg pp2zzr(ip,ih)= ephr(ip,ih)*p2zzr(ip,ih)-ephie(ip,ih)* # p2zzie(ip,ih) pp2zpr(ip,ih)= ephr(ip,ih)*p2zgr(ip,ih)-ephie(ip,ih)* # p2zgie(ip,ih) pp2zgr(ip,ih)= (ephr(ip,ih)*p2zgr(ip,ih)-ephie(ip,ih)* # p2zgie(ip,ih))*cfgg pp2pzr(ip,ih)= ephr(ip,ih)*p2gzr(ip,ih)-ephie(ip,ih)* # p2gzie(ip,ih) pp2ppr(ip,ih)= ephr(ip,ih)*p2ggr(ip,ih)-ephie(ip,ih)* # p2ggie(ip,ih) pp2pgr(ip,ih)= (ephr(ip,ih)*p2ggr(ip,ih)-ephie(ip,ih)* # p2ggie(ip,ih))*cfgg * pcggre(ip,ih)= ephr(ip,ih)*cggre(ip,ih)-ephie(ip,ih)* # cggi(ip,ih) pcgzre(ip,ih)= ephr(ip,ih)*cgzre(ip,ih)-ephie(ip,ih)* # cgzi(ip,ih) pczgre(ip,ih)= ephr(ip,ih)*czgre(ip,ih)-ephie(ip,ih)* # czgi(ip,ih) pczzre(ip,ih)= 0.d0 pp1zzre(ip,ih)= ephr(ip,ih)*p1zzre(ip,ih)-ephie(ip,ih)* # p1zzi(ip,ih) pp1zpre(ip,ih)= ephr(ip,ih)*p1zgre(ip,ih)-ephie(ip,ih)* # p1zgi(ip,ih) pp1zgre(ip,ih)= (ephr(ip,ih)*p1zgre(ip,ih)-ephie(ip,ih)* # p1zgi(ip,ih))*cfgg pp1pzre(ip,ih)= ephr(ip,ih)*p1gzre(ip,ih)-ephie(ip,ih)* # p1gzi(ip,ih) pp1ppre(ip,ih)= ephr(ip,ih)*p1ggre(ip,ih)-ephie(ip,ih)* # p1ggi(ip,ih) pp1pgre(ip,ih)= (ephr(ip,ih)*p1ggre(ip,ih)-ephie(ip,ih)* # p1ggi(ip,ih))*cfgg pp2zzre(ip,ih)= ephr(ip,ih)*p2zzre(ip,ih)-ephie(ip,ih)* # p2zzi(ip,ih) pp2zpre(ip,ih)= ephr(ip,ih)*p2zgre(ip,ih)-ephie(ip,ih)* # p2zgi(ip,ih) pp2zgre(ip,ih)= (ephr(ip,ih)*p2zgre(ip,ih)-ephie(ip,ih)* # p2zgi(ip,ih))*cfgg pp2pzre(ip,ih)= ephr(ip,ih)*p2gzre(ip,ih)-ephie(ip,ih)* # p2gzi(ip,ih) pp2ppre(ip,ih)= ephr(ip,ih)*p2ggre(ip,ih)-ephie(ip,ih)* # p2ggi(ip,ih) pp2pgre(ip,ih)= (ephr(ip,ih)*p2ggre(ip,ih)-ephie(ip,ih)* # p2ggi(ip,ih))*cfgg * pcggie(ip,ih)= ephr(ip,ih)*cggie(ip,ih)+ephie(ip,ih)* # cggr(ip,ih) pcgzie(ip,ih)= ephr(ip,ih)*cgzie(ip,ih)+ephie(ip,ih)* # cgzr(ip,ih) pczgie(ip,ih)= ephr(ip,ih)*czgie(ip,ih)+ephie(ip,ih)* # czgr(ip,ih) pczzie(ip,ih)= ephr(ip,ih)*czzie(ip,ih)+ephie(ip,ih)* # czzr(ip,ih) pp1zzie(ip,ih)= ephr(ip,ih)*p1zzie(ip,ih)+ephie(ip,ih)* # p1zzr(ip,ih) pp1zpie(ip,ih)= ephr(ip,ih)*p1zgie(ip,ih)+ephie(ip,ih)* # p1zgr(ip,ih) pp1zgie(ip,ih)= (ephr(ip,ih)*p1zgie(ip,ih)+ephie(ip,ih)* # p1zgr(ip,ih))*cfgg pp1pzie(ip,ih)= ephr(ip,ih)*p1gzie(ip,ih)+ephie(ip,ih)* # p1gzr(ip,ih) pp1ppie(ip,ih)= ephr(ip,ih)*p1ggie(ip,ih)+ephie(ip,ih)* # p1ggr(ip,ih) pp1pgie(ip,ih)= (ephr(ip,ih)*p1ggie(ip,ih)+ephie(ip,ih)* # p1ggr(ip,ih))*cfgg pp2zzie(ip,ih)= ephr(ip,ih)*p2zzie(ip,ih)+ephie(ip,ih)* # p2zzr(ip,ih) pp2zpie(ip,ih)= ephr(ip,ih)*p2zgie(ip,ih)+ephie(ip,ih)* # p2zgr(ip,ih) pp2zgie(ip,ih)= (ephr(ip,ih)*p2zgie(ip,ih)+ephie(ip,ih)* # p2zgr(ip,ih))*cfgg pp2pzie(ip,ih)= ephr(ip,ih)*p2gzie(ip,ih)+ephie(ip,ih)* # p2gzr(ip,ih) pp2ppie(ip,ih)= ephr(ip,ih)*p2ggie(ip,ih)+ephie(ip,ih)* # p2ggr(ip,ih) pp2pgie(ip,ih)= (ephr(ip,ih)*p2ggie(ip,ih)+ephie(ip,ih)* # p2ggr(ip,ih))*cfgg * pcggi(ip,ih)= ephr(ip,ih)*cggi(ip,ih)+ephie(ip,ih)* # cggre(ip,ih) pcgzi(ip,ih)= ephr(ip,ih)*cgzi(ip,ih)+ephie(ip,ih)* # cgzre(ip,ih) pczgi(ip,ih)= ephr(ip,ih)*czgi(ip,ih)+ephie(ip,ih)* # czgre(ip,ih) pczzi(ip,ih)= 0.d0 pp1zzi(ip,ih)= ephr(ip,ih)*p1zzi(ip,ih)+ephie(ip,ih)* # p1zzre(ip,ih) pp1zpi(ip,ih)= ephr(ip,ih)*p1zgi(ip,ih)+ephie(ip,ih)* # p1zgre(ip,ih) pp1zgi(ip,ih)= (ephr(ip,ih)*p1zgi(ip,ih)+ephie(ip,ih)* # p1zgre(ip,ih))*cfgg pp1pzi(ip,ih)= ephr(ip,ih)*p1gzi(ip,ih)+ephie(ip,ih)* # p1gzre(ip,ih) pp1ppi(ip,ih)= ephr(ip,ih)*p1ggi(ip,ih)+ephie(ip,ih)* # p1ggre(ip,ih) pp1pgi(ip,ih)= (ephr(ip,ih)*p1ggi(ip,ih)+ephie(ip,ih)* # p1ggre(ip,ih))*cfgg pp2zzi(ip,ih)= ephr(ip,ih)*p2zzi(ip,ih)+ephie(ip,ih)* # p2zzre(ip,ih) pp2zpi(ip,ih)= ephr(ip,ih)*p2zgi(ip,ih)+ephie(ip,ih)* # p2zgre(ip,ih) pp2zgi(ip,ih)= (ephr(ip,ih)*p2zgi(ip,ih)+ephie(ip,ih)* # p2zgre(ip,ih))*cfgg pp2pzi(ip,ih)= ephr(ip,ih)*p2gzi(ip,ih)+ephie(ip,ih)* # p2gzre(ip,ih) pp2ppi(ip,ih)= ephr(ip,ih)*p2ggi(ip,ih)+ephie(ip,ih)* # p2ggre(ip,ih) pp2pgi(ip,ih)= (ephr(ip,ih)*p2ggi(ip,ih)+ephie(ip,ih)* # p2ggre(ip,ih))*cfgg enddo enddo * *-----Diagrams with the same color structure are added * do ih=1,12 qdr(1,ih)= pcggr(1,ih)+pcgzr(1,ih)+pczgr(1,ih)+pczzr(1,ih)+ # pp1zzr(1,ih)+pp1zpr(1,ih)+pp1pzr(1,ih)+pp1ppr(1,ih)+ # pp2zzr(1,ih)+pp2zpr(1,ih)+pp2pzr(1,ih)+pp2ppr(1,ih) qdr(2,ih)= pp1pgr(1,ih)+pp1zgr(1,ih)+pp2pgr(1,ih)+pp2zgr(1,ih) qdr(3,ih)= -pcggr(2,ih)-pcgzr(2,ih)-pczgr(2,ih)-pczzr(2,ih)- # pp1zzr(2,ih)-pp1zpr(2,ih)-pp1pzr(2,ih)-pp1ppr(2,ih)- # pp2zzr(2,ih)-pp2zpr(2,ih)-pp2pzr(2,ih)-pp2ppr(2,ih) qdr(4,ih)= -pp1pgr(2,ih)-pp1zgr(2,ih)-pp2pgr(2,ih)-pp2zgr(2,ih) qdr(5,ih)= -pcggr(3,ih)-pcgzr(3,ih)-pczgr(3,ih)-pczzr(3,ih)- # pp1zzr(3,ih)-pp1zpr(3,ih)-pp1pzr(3,ih)-pp1ppr(3,ih)- # pp2zzr(3,ih)-pp2zpr(3,ih)-pp2pzr(3,ih)-pp2ppr(3,ih) qdr(6,ih)= -pp1pgr(3,ih)-pp1zgr(3,ih)-pp2pgr(3,ih)-pp2zgr(3,ih) qdr(7,ih)= pcggr(4,ih)+pcgzr(4,ih)+pczgr(4,ih)+pczzr(4,ih)+ # pp1zzr(4,ih)+pp1zpr(4,ih)+pp1pzr(4,ih)+pp1ppr(4,ih)+ # pp2zzr(4,ih)+pp2zpr(4,ih)+pp2pzr(4,ih)+pp2ppr(4,ih) qdr(8,ih)= pp1pgr(4,ih)+pp1zgr(4,ih)+pp2pgr(4,ih)+pp2zgr(4,ih) * qdre(1,ih)= pcggre(1,ih)+pcgzre(1,ih)+pczgre(1,ih)+ # pczzre(1,ih)+pp1zzre(1,ih)+pp1zpre(1,ih)+ # pp1pzre(1,ih)+pp1ppre(1,ih)+pp2zzre(1,ih)+ # pp2zpre(1,ih)+pp2pzre(1,ih)+pp2ppre(1,ih) qdre(2,ih)= pp1pgre(1,ih)+pp1zgre(1,ih)+pp2pgre(1,ih)+ # pp2zgre(1,ih) qdre(3,ih)= -pcggre(2,ih)-pcgzre(2,ih)-pczgre(2,ih)- # pczzre(2,ih)-pp1zzre(2,ih)-pp1zpre(2,ih)- # pp1pzre(2,ih)-pp1ppre(2,ih)-pp2zzre(2,ih)- # pp2zpre(2,ih)-pp2pzre(2,ih)-pp2ppre(2,ih) qdre(4,ih)= -pp1pgre(2,ih)-pp1zgre(2,ih)-pp2pgre(2,ih)- # pp2zgre(2,ih) qdre(5,ih)= -pcggre(3,ih)-pcgzre(3,ih)-pczgre(3,ih)- # pczzre(3,ih)-pp1zzre(3,ih)-pp1zpre(3,ih)- # pp1pzre(3,ih)-pp1ppre(3,ih)-pp2zzre(3,ih)- # pp2zpre(3,ih)-pp2pzre(3,ih)-pp2ppre(3,ih) qdre(6,ih)= -pp1pgre(3,ih)-pp1zgre(3,ih)-pp2pgre(3,ih)- # pp2zgre(3,ih) qdre(7,ih)= pcggre(4,ih)+pcgzre(4,ih)+pczgre(4,ih)+ # pczzre(4,ih)+pp1zzre(4,ih)+pp1zpre(4,ih)+ # pp1pzre(4,ih)+pp1ppre(4,ih)+pp2zzre(4,ih)+ # pp2zpre(4,ih)+pp2pzre(4,ih)+pp2ppre(4,ih) qdre(8,ih)= pp1pgre(4,ih)+pp1zgre(4,ih)+pp2pgre(4,ih)+ # pp2zgre(4,ih) * qdie(1,ih)= pcggie(1,ih)+pcgzie(1,ih)+pczgie(1,ih)+ # pczzie(1,ih)+pp1zzie(1,ih)+pp1zpie(1,ih)+ # pp1pzie(1,ih)+pp1ppie(1,ih)+pp2zzie(1,ih)+ # pp2zpie(1,ih)+pp2pzie(1,ih)+pp2ppie(1,ih) qdie(2,ih)= pp1pgie(1,ih)+pp1zgie(1,ih)+pp2pgie(1,ih)+ # pp2zgie(1,ih) qdie(3,ih)= -pcggie(2,ih)-pcgzie(2,ih)-pczgie(2,ih)- # pczzie(2,ih)-pp1zzie(2,ih)-pp1zpie(2,ih)- # pp1pzie(2,ih)-pp1ppie(2,ih)-pp2zzie(2,ih)- # pp2zpie(2,ih)-pp2pzie(2,ih)-pp2ppie(2,ih) qdie(4,ih)= -pp1pgie(2,ih)-pp1zgie(2,ih)-pp2pgie(2,ih)- # pp2zgie(2,ih) qdie(5,ih)= -pcggie(3,ih)-pcgzie(3,ih)-pczgie(3,ih)- # pczzie(3,ih)-pp1zzie(3,ih)-pp1zpie(3,ih)- # pp1pzie(3,ih)-pp1ppie(3,ih)-pp2zzie(3,ih)- # pp2zpie(3,ih)-pp2pzie(3,ih)-pp2ppie(3,ih) qdie(6,ih)= -pp1pgie(3,ih)-pp1zgie(3,ih)-pp2pgie(3,ih)- # pp2zgie(3,ih) qdie(7,ih)= pcggie(4,ih)+pcgzie(4,ih)+pczgie(4,ih)+ # pczzie(4,ih)+pp1zzie(4,ih)+pp1zpie(4,ih)+ # pp1pzie(4,ih)+pp1ppie(4,ih)+pp2zzie(4,ih)+ # pp2zpie(4,ih)+pp2pzie(4,ih)+pp2ppie(4,ih) qdie(8,ih)= pp1pgie(4,ih)+pp1zgie(4,ih)+pp2pgie(4,ih)+ # pp2zgie(4,ih) * qdi(1,ih)= pcggi(1,ih)+pcgzi(1,ih)+pczgi(1,ih)+pczzi(1,ih)+ # pp1zzi(1,ih)+pp1zpi(1,ih)+pp1pzi(1,ih)+pp1ppi(1,ih)+ # pp2zzi(1,ih)+pp2zpi(1,ih)+pp2pzi(1,ih)+pp2ppi(1,ih) qdi(2,ih)= pp1pgi(1,ih)+pp1zgi(1,ih)+pp2pgi(1,ih)+pp2zgi(1,ih) qdi(3,ih)= -pcggi(2,ih)-pcgzi(2,ih)-pczgi(2,ih)-pczzi(2,ih)- # pp1zzi(2,ih)-pp1zpi(2,ih)-pp1pzi(2,ih)-pp1ppi(2,ih)- # pp2zzi(2,ih)-pp2zpi(2,ih)-pp2pzi(2,ih)-pp2ppi(2,ih) qdi(4,ih)= -pp1pgi(2,ih)-pp1zgi(2,ih)-pp2pgi(2,ih)-pp2zgi(2,ih) qdi(5,ih)= -pcggi(3,ih)-pcgzi(3,ih)-pczgi(3,ih)-pczzi(3,ih)- # pp1zzi(3,ih)-pp1zpi(3,ih)-pp1pzi(3,ih)-pp1ppi(3,ih)- # pp2zzi(3,ih)-pp2zpi(3,ih)-pp2pzi(3,ih)-pp2ppi(3,ih) qdi(6,ih)= -pp1pgi(3,ih)-pp1zgi(3,ih)-pp2pgi(3,ih)-pp2zgi(3,ih) qdi(7,ih)= pcggi(4,ih)+pcgzi(4,ih)+pczgi(4,ih)+pczzi(4,ih)+ # pp1zzi(4,ih)+pp1zpi(4,ih)+pp1pzi(4,ih)+pp1ppi(4,ih)+ # pp2zzi(4,ih)+pp2zpi(4,ih)+pp2pzi(4,ih)+pp2ppi(4,ih) qdi(8,ih)= pp1pgi(4,ih)+pp1zgi(4,ih)+pp2pgi(4,ih)+pp2zgi(4,ih) enddo * do ih=1,12 fqdr(1,ih)= (dcfr(1)*qdr(1,ih)-dcfi(1)*qdi(1,ih))*vj fqdr(2,ih)= (dcfr(1)*qdr(2,ih)-dcfi(1)*qdi(2,ih))*vj fqdr(3,ih)= (dcfr(2)*qdr(3,ih)-dcfi(2)*qdi(3,ih))*vj fqdr(4,ih)= (dcfr(2)*qdr(4,ih)-dcfi(2)*qdi(4,ih))*vj fqdr(5,ih)= (dcfr(3)*qdr(5,ih)-dcfi(3)*qdi(5,ih))*vj fqdr(6,ih)= (dcfr(3)*qdr(6,ih)-dcfi(3)*qdi(6,ih))*vj fqdr(7,ih)= (dcfr(4)*qdr(7,ih)-dcfi(4)*qdi(7,ih))*vj fqdr(8,ih)= (dcfr(4)*qdr(8,ih)-dcfi(4)*qdi(8,ih))*vj fqdie(1,ih)= (dcfr(1)*qdie(1,ih)+dcfi(1)*qdre(1,ih))*vj fqdie(2,ih)= (dcfr(1)*qdie(2,ih)+dcfi(1)*qdre(2,ih))*vj fqdie(3,ih)= (dcfr(2)*qdie(3,ih)+dcfi(2)*qdre(3,ih))*vj fqdie(4,ih)= (dcfr(2)*qdie(4,ih)+dcfi(2)*qdre(4,ih))*vj fqdie(5,ih)= (dcfr(3)*qdie(5,ih)+dcfi(3)*qdre(5,ih))*vj fqdie(6,ih)= (dcfr(3)*qdie(6,ih)+dcfi(3)*qdre(6,ih))*vj fqdie(7,ih)= (dcfr(4)*qdie(7,ih)+dcfi(4)*qdre(7,ih))*vj fqdie(8,ih)= (dcfr(4)*qdie(8,ih)+dcfi(4)*qdre(8,ih))*vj fqdre(1,ih)= (dcfr(1)*qdre(1,ih)-dcfi(1)*qdie(1,ih))*vj fqdre(2,ih)= (dcfr(1)*qdre(2,ih)-dcfi(1)*qdie(2,ih))*vj fqdre(3,ih)= (dcfr(2)*qdre(3,ih)-dcfi(2)*qdie(3,ih))*vj fqdre(4,ih)= (dcfr(2)*qdre(4,ih)-dcfi(2)*qdie(4,ih))*vj fqdre(5,ih)= (dcfr(3)*qdre(5,ih)-dcfi(3)*qdie(5,ih))*vj fqdre(6,ih)= (dcfr(3)*qdre(6,ih)-dcfi(3)*qdie(6,ih))*vj fqdre(7,ih)= (dcfr(4)*qdre(7,ih)-dcfi(4)*qdie(7,ih))*vj fqdre(8,ih)= (dcfr(4)*qdre(8,ih)-dcfi(4)*qdie(8,ih))*vj fqdi(1,ih)= (dcfr(1)*qdi(1,ih)+dcfi(1)*qdr(1,ih))*vj fqdi(2,ih)= (dcfr(1)*qdi(2,ih)+dcfi(1)*qdr(2,ih))*vj fqdi(3,ih)= (dcfr(2)*qdi(3,ih)+dcfi(2)*qdr(3,ih))*vj fqdi(4,ih)= (dcfr(2)*qdi(4,ih)+dcfi(2)*qdr(4,ih))*vj fqdi(5,ih)= (dcfr(3)*qdi(5,ih)+dcfi(3)*qdr(5,ih))*vj fqdi(6,ih)= (dcfr(3)*qdi(6,ih)+dcfi(3)*qdr(6,ih))*vj fqdi(7,ih)= (dcfr(4)*qdi(7,ih)+dcfi(4)*qdr(7,ih))*vj fqdi(8,ih)= (dcfr(4)*qdi(8,ih)+dcfi(4)*qdr(8,ih))*vj enddo * do ih=1,12 dsh(ih)= 0.d0 do k=1,8 do kp=1,8 dsh(ih)= dsh(ih)+colf(k,kp)*(fqdr(k,ih)*fqdr(kp,ih)+ # fqdre(k,ih)*fqdre(kp,ih)+fqdie(k,ih)*fqdie(kp,ih)+ # fqdi(k,ih)*fqdi(kp,ih)) enddo enddo enddo * if(omssm.eq.'y') then xaa= 1.d0/x15/x25 xab= x25/x15 xac= 1.d0/xab xad= 1.d0/xaa xba= x45/x36 xbb= x36*x45 xbc= x36/x45 xbd= 1.d0/x14/x24 xca= x14/x24 xcb= 1.d0/xca xcc= 1.d0/xbd xcd= 1.d0/x15/x24 xda= x15/x24 xdb= 1.d0/xda xdc= 1.d0/xcd xdd= 1.d0/x34/x46 xef= x34/x46 xeg= x46/x34 xeh= 1.d0/xdd xfe= 1.d0/x14/x25 xff= x14/x25 xfg= x25/x14 xfh= 1.d0/xfe tgn1= xaa*xbb tgn2= xab*xbb tgn3= xac*xbb tgn4= xad*xbb tgn5= xbd*xbb tgn6= xcb*xbb tgn7= xca*xbb tgn8= xbd*xbb gh2= sqrt(tgn1) gh9= sqrt(tgn2) gh13= sqrt(tgn3) gh14= sqrt(tgn4) gh16= sqrt(tgn5) gh23= sqrt(tgn6) gh27= sqrt(tgn7) gh28= sqrt(tgn8) * d34hefr= gh16*(-x34+x45-x46)+gh23*(x13-x15+x16)+ # gh27*(x23-x25+x26)-2.d0*gh28 d34hefi= 4.d0*s1*gh16+4.d0*s4*gh16-4.d0*s5*gh16 * d3her= ver*d34hefr d3hei= ver*d34hefi d3hfr= vel*d34hefr d3hfi= -vel*d34hefi d4her= -ver*d34hefr d4hei= -ver*d34hefi d4hfr= -vel*d34hefr d4hfi= vel*d34hefi * d34hghr= gh2*(x35-x45+x56)+gh9*(-x13+x14-x16)+ # gh13*(-x23+x24-x26)+2.d0*gh14 d34hghi= -4.d0*s2*gh2+4.d0*s4*gh2+4.d0*s6*gh2 * d3hgr= ver*d34hghr d3hgi= ver*d34hghi d3hhr= vel*d34hghr d3hhi= -vel*d34hghi d4hgr= -ver*d34hghr d4hgi= -ver*d34hghi d4hhr= -vel*d34hghr d4hhi= vel*d34hghi * alpha1= -sbma*salpha/cbeta*tbeta alpha2= cbma*calpha/cbeta*tbeta alpha21= alpha2/alpha1 phur= (su-rshm2/vv)/ # (su-rshm2/vv)*(su-rshm2/vv)+(su*sshg)**2 phui= -su*sshg/ # (su-rshm2/vv)*(su-rshm2/vv)+(su*sshg)**2 phdr= (sd-rshm2/vv)/ # (sd-rshm2/vv)*(sd-rshm2/vv)+(sd*sshg)**2 phdi= -sd*sshg/ # (sd-rshm2/vv)*(sd-rshm2/vv)+(sd*sshg)**2 paur= (su-ram2/vv)/ # (su-ram2/vv)*(su-ram2/vv)+(su*sag)**2 paui= -su*sag/ # (su-ram2/vv)*(su-ram2/vv)+(su*sag)**2 padr= (sd-ram2/vv)/ # (sd-ram2/vv)*(sd-ram2/vv)+(sd*sag)**2 padi= -sd*sag/ # (sd-ram2/vv)*(sd-ram2/vv)+(sd*sag)**2 pr3r= phdr*paur-phdi*paui pr3i= phdr*paui+phdi*paur pr4r= phur*padr-phui*padi pr4i= phur*padi+phui*padr propu= (su-rbhm2/vv)*(su-rbhm2/vv)+(su*sbhg)**2 propd= (sd-rbhm2/vv)*(sd-rbhm2/vv)+(sd*sbhg)**2 addur= 1.d0+alpha21/propu*((su-rshm2/vv)*(su-rbhm2/vv)+ # su*su*sbhg*sshg) addui= alpha21/propu*su*((su-rshm2/vv)*sbhg-(su-rbhm2/vv)* # sshg) adddr= 1.d0+alpha21/propd*((sd-rshm2/vv)*(sd-rbhm2/vv)+ # sd*sd*sbhg*sshg) adddi= alpha21/propd*sd*((sd-rshm2/vv)*sbhg-(sd-rbhm2/vv)* # sshg) * bd3her= adddr*d3her bd3here= -adddi*d3hei bd3heie= adddr*d3hei bd3hei= adddi*d3her bd3hfr= adddr*d3hfr bd3hfre= -adddi*d3hfi bd3hfie= adddr*d3hfi bd3hfi= adddi*d3hfr bd3hgr= adddr*d3hgr bd3hgre= -adddi*d3hgi bd3hgie= adddr*d3hgi bd3hgi= adddi*d3hgr bd3hhr= adddr*d3hhr bd3hhre= -adddi*d3hhi bd3hhie= adddr*d3hhi bd3hhi= adddi*d3hhr * bd4her= addur*d4her bd4here= -addui*d4hei bd4heie= addur*d4hei bd4hei= addui*d4her bd4hfr= addur*d4hfr bd4hfre= -addui*d4hfi bd4hfie= addur*d4hfi bd4hfi= addui*d4hfr bd4hgr= addur*d4hgr bd4hgre= -addui*d4hgi bd4hgie= addur*d4hgi bd4hgi= addui*d4hgr bd4hhr= addur*d4hhr bd4hhre= -addui*d4hhi bd4hhie= addur*d4hhi bd4hhi= addui*d4hhr * cd3her= qcfr*bd3her-qcfi*bd3hei cd3here= qcfr*bd3here-qcfi*bd3heie cd3heie= qcfr*bd3heie+qcfi*bd3here cd3hei= qcfr*bd3hei+qcfi*bd3her cd3hfr= qcfr*bd3hfr-qcfi*bd3hfi cd3hfre= qcfr*bd3hfre-qcfi*bd3hfie cd3hfie= qcfr*bd3hfie+qcfi*bd3hfre cd3hfi= qcfr*bd3hfi+qcfi*bd3hfr cd3hgr= qcfr*bd3hgr-qcfi*bd3hgi cd3hgre= qcfr*bd3hgre-qcfi*bd3hgie cd3hgie= qcfr*bd3hgie+qcfi*bd3hgre cd3hgi= qcfr*bd3hgi+qcfi*bd3hgr cd3hhr= qcfr*bd3hhr-qcfi*bd3hhi cd3hhre= qcfr*bd3hhre-qcfi*bd3hhie cd3hhie= qcfr*bd3hhie+qcfi*bd3hhre cd3hhi= qcfr*bd3hhi+qcfi*bd3hhr * cd4her= qcfr*bd4her-qcfi*bd4hei cd4here= qcfr*bd4here-qcfi*bd4heie cd4heie= qcfr*bd4heie+qcfi*bd4here cd4hei= qcfr*bd4hei+qcfi*bd4her cd4hfr= qcfr*bd4hfr-qcfi*bd4hfi cd4hfre= qcfr*bd4hfre-qcfi*bd4hfie cd4hfie= qcfr*bd4hfie+qcfi*bd4hfre cd4hfi= qcfr*bd4hfi+qcfi*bd4hfr cd4hgr= qcfr*bd4hgr-qcfi*bd4hgi cd4hgre= qcfr*bd4hgre-qcfi*bd4hgie cd4hgie= qcfr*bd4hgie+qcfi*bd4hgre cd4hgi= qcfr*bd4hgi+qcfi*bd4hgr cd4hhr= qcfr*bd4hhr-qcfi*bd4hhi cd4hhre= qcfr*bd4hhre-qcfi*bd4hhie cd4hhie= qcfr*bd4hhie+qcfi*bd4hhre cd4hhi= qcfr*bd4hhi+qcfi*bd4hhr * dd3hr(1)= (pr3r*cd3her-pr3i*cd3hei)*rsz- # (pr3r*cd3hei+pr3i*cd3her)*aisz dd3hre(1)= (pr3r*cd3here-pr3i*cd3heie)*rsz- # (pr3r*cd3heie+pr3i*cd3here)*aisz dd3hie(1)= (pr3r*cd3heie+pr3i*cd3here)*rsz+ # (pr3r*cd3here-pr3i*cd3heie)*aisz dd3hi(1)= (pr3r*cd3hei+pr3i*cd3her)*rsz+ # (pr3r*cd3her-pr3i*cd3hei)*aisz dd3hr(2)= (pr3r*cd3hfr-pr3i*cd3hfi)*rsz- # (pr3r*cd3hfi+pr3i*cd3hfr)*aisz dd3hre(2)= (pr3r*cd3hfre-pr3i*cd3hfie)*rsz- # (pr3r*cd3hfie+pr3i*cd3hfre)*aisz dd3hie(2)= (pr3r*cd3hfie+pr3i*cd3hfre)*rsz+ # (pr3r*cd3hfre-pr3i*cd3hfie)*aisz dd3hi(2)= (pr3r*cd3hfi+pr3i*cd3hfr)*rsz+ # (pr3r*cd3hfr-pr3i*cd3hfi)*aisz dd3hr(3)= (pr3r*cd3hgr-pr3i*cd3hgi)*rsz- # (pr3r*cd3hgi+pr3i*cd3hgr)*aisz dd3hre(3)= (pr3r*cd3hgre-pr3i*cd3hgie)*rsz- # (pr3r*cd3hgie+pr3i*cd3hgre)*aisz dd3hie(3)= (pr3r*cd3hgie+pr3i*cd3hgre)*rsz+ # (pr3r*cd3hgre-pr3i*cd3hgie)*aisz dd3hi(3)= (pr3r*cd3hgi+pr3i*cd3hgr)*rsz+ # (pr3r*cd3hgr-pr3i*cd3hgi)*aisz dd3hr(4)= (pr3r*cd3hhr-pr3i*cd3hhi)*rsz- # (pr3r*cd3hhi+pr3i*cd3hhr)*aisz dd3hre(4)= (pr3r*cd3hhre-pr3i*cd3hhie)*rsz- # (pr3r*cd3hhie+pr3i*cd3hhre)*aisz dd3hie(4)= (pr3r*cd3hhie+pr3i*cd3hhre)*rsz+ # (pr3r*cd3hhre-pr3i*cd3hhie)*aisz dd3hi(4)= (pr3r*cd3hhi+pr3i*cd3hhr)*rsz+ # (pr3r*cd3hhr-pr3i*cd3hhi)*aisz * dd4hr(1)= (pr4r*cd4her-pr4i*cd4hei)*rsz- # (pr4r*cd4hei+pr4i*cd4her)*aisz dd4hre(1)= (pr4r*cd4here-pr4i*cd4heie)*rsz- # (pr4r*cd4heie+pr4i*cd4here)*aisz dd4hie(1)= (pr4r*cd4heie+pr4i*cd4here)*rsz+ # (pr4r*cd4here-pr4i*cd4heie)*aisz dd4hi(1)= (pr4r*cd4hei+pr4i*cd4her)*rsz+ # (pr4r*cd4her-pr4i*cd4hei)*aisz dd4hr(2)= (pr4r*cd4hfr-pr4i*cd4hfi)*rsz- # (pr4r*cd4hfi+pr4i*cd4hfr)*aisz dd4hre(2)= (pr4r*cd4hfre-pr4i*cd4hfie)*rsz- # (pr4r*cd4hfie+pr4i*cd4hfre)*aisz dd4hie(2)= (pr4r*cd4hfie+pr4i*cd4hfre)*rsz+ # (pr4r*cd4hfre-pr4i*cd4hfie)*aisz dd4hi(2)= (pr4r*cd4hfi+pr4i*cd4hfr)*rsz+ # (pr4r*cd4hfr-pr4i*cd4hfi)*aisz dd4hr(3)= (pr4r*cd4hgr-pr4i*cd4hgi)*rsz- # (pr4r*cd4hgi+pr4i*cd4hgr)*aisz dd4hre(3)= (pr4r*cd4hgre-pr4i*cd4hgie)*rsz- # (pr4r*cd4hgie+pr4i*cd4hgre)*aisz dd4hie(3)= (pr4r*cd4hgie+pr4i*cd4hgre)*rsz+ # (pr4r*cd4hgre-pr4i*cd4hgie)*aisz dd4hi(3)= (pr4r*cd4hgi+pr4i*cd4hgr)*rsz+ # (pr4r*cd4hgr-pr4i*cd4hgi)*aisz dd4hr(4)= (pr4r*cd4hhr-pr4i*cd4hhi)*rsz- # (pr4r*cd4hhi+pr4i*cd4hhr)*aisz dd4hre(4)= (pr4r*cd4hhre-pr4i*cd4hhie)*rsz- # (pr4r*cd4hhie+pr4i*cd4hhre)*aisz dd4hie(4)= (pr4r*cd4hhie+pr4i*cd4hhre)*rsz+ # (pr4r*cd4hhre-pr4i*cd4hhie)*aisz dd4hi(4)= (pr4r*cd4hhi+pr4i*cd4hhr)*rsz+ # (pr4r*cd4hhr-pr4i*cd4hhi)*aisz * hacc= 1.d0/16.d0/cth2*tbeta*salpha/cbeta*cbma*rbqm2/rwm2 do ih=5,8 ihp= ih-4 do k=1,8 dsh(ih)= dsh(ih)+2.d0*colf(k,3)*(fqdr(k,ih)*dd3hr(ihp)+ # fqdre(k,ih)*dd3hre(ihp)+fqdie(k,ih)*dd3hie(ihp)+ # fqdi(k,ih)*dd3hi(ihp))*vj*hacc dsh(ih)= dsh(ih)+2.d0*colf(k,5)*(fqdr(k,ih)*dd4hr(ihp)+ # fqdre(k,ih)*dd4hre(ihp)+fqdie(k,ih)*dd4hie(ihp)+ # fqdi(k,ih)*dd4hi(ihp))*vj*hacc enddo enddo endif * ds= 0.d0 do ih=1,12 ds= ds+dsh(ih) enddo * endif * 4 if(iz.eq.0) then dpxs(ix,it,itt)= 0.d0 iz= 1 else tjac= ujc*vjc*smjc*spjc*sujc*sdjc* # sfjc*twjc*t1jc*pmjac*ppjac* # pujac*pdjac*qcdjac dpxs(ix,it,itt)= 0.25d0*tjac*stf*ds/s endif * *-----end of ix loop * enddo * 5 if(iz.eq.0) then do ix=1,2 epxs(ix,it,itt)= 0.d0 enddo iz= 1 else do ix=1,2 epxs(ix,it,itt)= dpxs(ix,it,itt) enddo endif * *-----end of itt loop * enddo * cpxs(it)= 0.d0 do itt=1,ittm cpxs(it)= cpxs(it)+epxs(1,it,itt)+ # epxs(2,it,itt) enddo * 2 if(iz.eq.0) then bpxs(it)= 0.d0 iz= 1 else bpxs(it)= cpxs(it) endif * *-----end on it loop * enddo * 1 if(iz.eq.0) then apxs= 0.d0 iz= 1 else apxs= bpxs(1)+bpxs(2) endif * if(apxs.lt.0.d0) then ifz(41)= ifz(41)+1 resf= 0.d0 else resf= apxs endif * wtoxsn64= tfact*resf * if(om.eq.'g') then if(osm.eq.'n') then jp= iwtopos(ndim,x) if(ostop.eq.'s') then ifp= ifl(jp) if(wtoxsn64.ne.0.d0.and.ifp.lt.5000) then stry(jp,ifp)= wtoxsn64 if(wtoxsn64.gt.xshmx(jp)) then xshmx(jp)= wtoxsn64 endif ifl(jp)= ifl(jp)+1 else if(wtoxsn64.ne.0.d0.and.ifp.gt.5000) then if(wtoxsn64.gt.xshmx(jp)) then stry(jp,ifp)= wtoxsn64 * xshmx(jp)= wtoxsn64 ifl(jp)= ifl(jp)+1 endif endif else if(wtoxsn64.gt.xshmx(jp)) then xshmx(jp)= wtoxsn64 do l=1,9 xmxh(jp,l)= x(l) enddo endif endif endif xaph(1)= xm xaph(2)= xp xaph(3)= sm xaph(4)= sp xaph(5)= su xaph(6)= sd xaph(7)= sf xaph(8)= tw xaph(9)= t1 xaph(10)= t3 endif * return end *