
* queste righe devono andare nel main
* insieme con le definizioni delle variabili definite in common
* e scelta su igam
*      rmw2=rmw**2
*      rmz2=rmz**2
*      if(igam.eq.1)then
*        czipr=(1.d0,0.d0)
*        ccz=cim*gamz*rmz
*        cwipr=(1.d0,0.d0)
*        ccw=cim*gamw*rmw
*      else if(igam.eq.2)then
*        czipr=1.d0+cim*gamz/rmz
*        ccz=(0.d0,0.d0)
*        cwipr=1.d0+cim*gamw/rmw
*        ccw=(0.d0,0.d0)
*      else if(igam.eq.3)then
*        czipr=(1.d0,0.d0)
*        ccz=cim*gamz*rmz
*        cwipr=1.d0+cim*gamw/rmw
*        ccw=(0.d0,0.d0)
*      end if
*
** valori di accoppiamenti cr e cl
*      sw=sqrt(s2w)
*      rcw=sqrt(1.-s2w)
*      rcotw=rcw/sw
** fotone-elettrone left e right
*      fel=-1.d0
*      fer=-1.d0
** Zeta-elettrone left e right
*      zer=(+1.d0*s2w)/rcw/sw
*      zel=(-.5d0+1.d0*s2w)/rcw/sw
*      zvr=0.d0
*      zvl=.5d0/rcw/sw
** Zeta-quarkup left e right
*      fqul=2.d0/3.d0
*      fqur=fqul
*      zqur=(-2.d0/3.d0*s2w)/rcw/sw
*      zqul=(.5d0-2.d0/3.d0*s2w)/rcw/sw
** Zeta-quarkdown left e right
*      fqdl=-1.d0/3.d0
*      fqdr=fqdl
*      zqdr=(1.d0/3.d0*s2w)/rcw/sw
*      zqdl=(-.5d0+1.d0/3.d0*s2w)/rcw/sw
** W left (right=0)
*      wcl=1.d0/sw/sqrt(2.d0)


      real*8 function ee_4fm(p1,p2,p3,p4,p5,p6)

* impulsi p1(0:3),p2(0:3),p3(0:3),p4(0:3),p5(0:3),p6(0:3)
* prima particelle uscenti di tipo down, poi di tipo up
* 1 e+, 2 e-, 3 s, 4 d~, 5 u, 6 c~
* impulso w+ pwp=p5+p4 impulso w- pwm=p3+p6
* 1 e+, 2 e-, 3 e, 4 e~, 5 v, 6 v~
* Se c'e' una sola coppia di elettroni deve andare in posizione 34
* Se c'e' una sola coppia di neutrini elet. deve andare in posizone 56
* 1 e+, 2 e-, 3 u, 4 d~, 5 e-, 6 ve~
* prendo per canale t tutti propagatori senza massa immaginaria
*
* flags:
*      common/iflag/icc,icc3,i3e,i4e,i3q,i5q,iqu,i34e,i56ve,iid,
*     &  imix,icoul,istrcor
* icc  =1 solo CC, 0 solo NC , -1 entrambi
*    se icc diverso da 0
* icc3 =1 solo CC3, 0 altrimenti
* i3e  =1 3 e' elettrone, 0 altrimenti
* i4e  =1 4 e' e+, 0 altrimenti
* i3q  =1 3 e' quark, 0 altrimenti
* i5q  =1 3 e' quark, 0 altrimenti
*    se icc diverso da 1
* iqu  =1 entrambi coppie di NC sono quark, 0 altrimenti
* i34e =1 coppia 3 e 4 sono elettroni, 0 altrimenti
* i56ve =1 coppia 56 sono neutrini elettrone , 0 altrimenti
* iid  =1 particelle identiche nello stato finale, 0 altrimenti
*
* imix= 2 somma cc +interferenza con nc, 1 solo cc, 0 solo interferenza tra
*  cc e nc, -1 solo nc, -2 nc + interferenza con cc
* ibbveve =1 se processo e' quello indicato, 0 altrimenti
*  serve per tener conto di massa del top a quadrato nel denominatore del
*  propagatore di cn28
*
*  struttura del programma:
****      vettori di polarizzazione ee gamma , eezeta
**** inizio CC
*      if (icc.ne.0) then
****        diagrammi  cc3
*        if (icc3.ne.1) then
****        altri diagrammi per completare cc11
*          if (i3e.eq.1) then
****         diagrammi con elettrone uscente di cc
*          endif
*          if (i4e.eq.1) then
****         diagrammi con positrone uscente di cc
*          endif
*        endif
*      endif
****  fine CC
****  inizio NC
*      if (icc.ne.1) then
*        definizione vettori vet.k0 etc.
*        do ide=0,iid
*          if (iid.eq.1) then
*            p3<->p5
*            per rifare tutti i diagrammi con questo scambio per particelle id.
*          endif
****         24 diagrammi base di corrente neutra (6 per gamma e Z insieme)
*          if (iqu.eq.1) then
****         8 diagrammi di qcd (4)
*          endif
*          if (i34e.eq.1) then
****          24 con coppia 34 elettrone (6)
*          endif
*          if (i56ve.eq.1) then
****         diagrammi per correnti neutre con scambi di w (6)
*            if (i56ve.eq.1.and.iid.eq.1) then
****          diagrammi per correnti neutre con scambi di w (6) ottenuti da
****          quelli precedenti scambiando 56 con 34, necessari per 4 ve finali
*            endif
*          endif
*          if (iid.eq.1.and.i34e.eq.1) !anche 56 sono elettroni
*          !anche 56 sono elettroni
****          24 con coppia 56 elet.(come a i34.eq.1 con scambio coppie 35<->56)
*          endif
*        enddo
*       endif
**** fine NC
*
*  Nomenclatura per anomalous couplings
* e0 corrisponde a vettore di polarizzazione di gamma + zeta con coeff
*    opportuni, em a vettore di polarizzaz W-, ep a quello di W+
* p0 e' impulso uscente di gamma + zeta, pm quello di W-, pp quello di W+.
* Corrispondentemente ce0em e' prodotto scalare tra e0 e em, ce0pp e' prodotto
* scalare tra e0 e pp etc



      implicit real*8 (a-b,d-h,o-z)
      implicit double complex (c)

      dimension p1(0:3),p2(0:3),p3(0:3),p4(0:3),p5(0:3),p6(0:3)
      dimension pau(0:3),p12(0:3),p14(0:3),p16(0:3),p23(0:3),p25(0:3),
     &  p34(0:3),p36(0:3),p45(0:3),p56(0:3),
     &  p123(0:3),p125(0:3),p134(0:3),p136(0:3),p145(0:3),p156(0:3),
     &  p235(0:3),p345(0:3),p356(0:3)
      dimension vfz(0:3),vwm(0:3),vwp(0:3)
      dimension cc1(2,2,2,2,2,2),cc2(2,2,2,2,2,2),cc3(2,2,2,2,2,2),
     &  cc4(2,2,2,2,2,2),cc5(2,2,2,2,2,2),cc6(2,2,2,2,2,2)
      dimension cc7(2,2,2,2,2,2),cc8(2,2,2,2,2,2),cc9(2,2,2,2,2,2),
     &  cc10(2,2,2,2,2,2),cc11(2,2,2,2,2,2),cc12(2,2,2,2,2,2)
      dimension cc13(2,2,2,2,2,2),cc14(2,2,2,2,2,2),cc15(2,2,2,2,2,2),
     &  cc16(2,2,2,2,2,2),cc17(2,2,2,2,2,2),cc18(2,2,2,2,2,2)
      dimension cc_3e(2,2,2,2,2,2),cc_4e(2,2,2,2,2,2)
* anomalous
      dimension cau(2,2,2,2,2,2),ce0ep(2,2,2,2),ce0em(2,2,2,2),
     &  ce0pp(2,2),ce0pm(2,2),cemp0(2,2),cepp0(2,2),cemep(2,2,2,2),
     &  cempp(2,2),ceppm(2,2)
*
*begin{EZ}                                                                      
      dimension cc20floop(2,2,2,2,2,2),ceppp(2,2),ce0fpp(2,2),
     &          ce0fep(2,2,2,2),ce0fem(2,2,2,2)                          
*end{EZ}                                                                        
      structure/res/
        double complex id(0:1)
      end structure
      record/res/cn1(2,2,2,2,2,2),cn2(2,2,2,2,2,2),cn3(2,2,2,2,2,2),
     &    cn4(2,2,2,2,2,2),cn5(2,2,2,2,2,2),
     &    cn6(2,2,2,2,2,2),cn7(2,2,2,2,2,2),cn8(2,2,2,2,2,2),
     &    cn9(2,2,2,2,2,2),cn10(2,2,2,2,2,2),
     &    cn11(2,2,2,2,2,2),cn12(2,2,2,2,2,2),cn13(2,2,2,2,2,2),
     &    cn14(2,2,2,2,2,2),cn15(2,2,2,2,2,2),
     &    cn16(2,2,2,2,2,2),cn17(2,2,2,2,2,2),cn18(2,2,2,2,2,2),
     &    cn19(2,2,2,2,2,2),cn20(2,2,2,2,2,2),
     &    cn21(2,2,2,2,2,2),cn22(2,2,2,2,2,2),
     &    cn23(2,2,2,2,2,2),cn24(2,2,2,2,2,2),cn25(2,2,2,2,2,2),
     &    cn26(2,2,2,2,2,2),cn27(2,2,2,2,2,2),cn28(2,2,2,2,2,2),
     &    cn29(2,2,2,2,2,2),cn30(2,2,2,2,2,2),cn31(2,2,2,2,2,2),
     &    cn32(2,2,2,2,2,2),cn33(2,2,2,2,2,2),cn34(2,2,2,2,2,2),
     &    cn_4f(2,2,2,2,2,2),cn_34e(2,2,2,2,2,2),cn_56e(2,2,2,2,2,2),
     &    cn_34v(2,2,2,2,2,2),cn_56v(2,2,2,2,2,2),
     &    cn_qcd(2,2,2,2,2,2)

      structure/polcom/
        double complex e(0:3),ek0,v
      end structure
      record/polcom/c12f(2,2),c12z(2,2),c12fz(2,2),c12fz3(2,2),
     & c12fz4(2,2),
     & c12fz5(2,2),c12fz6(2,2),c14f(2,2),c14z(2,2),c14w(2,2),
     & c16f(2,2),c16z(2,2),c16w(2,2),
     & c23w(2,2),c23f(2,2),c23z(2,2),c23fz(2,2),c23fz1(2,2),
     & c23fz4(2,2),c23fz5(2,2),
     & c25w(2,2),c25f(2,2),c25z(2,2),c34f(2,2),c34z(2,2),c34fz(2,2),
     & c36w(2,2),c41f(2,2),c41z(2,2),c41fz(2,2),c41fz2(2,2),
     & c41fz3(2,2),c41fz6(2,2),
     & c52w(2,2),c54w(2,2),c56f(2,2),c56z(2,2),c56fz(2,2),
     & cpau(2,2,2,2)

      structure/tu/
        double complex a(2,2),b(2,2),c(2,2),d(2,2)
      end structure
      record/tu/l1_23w(2,2),l1_23(2,2),l1_23fz(2,2),l1_25w(2,2),
     & l1_25fz(2,2),l1_34fz(2,2),
     & l1_54w(2,2),l1_56fz(2,2),l3_12(2,2),l3_12fz(2,2),
     & l3_14w(2,2),l3_14(2,2),l3_14fz(2,2),
     & l3_16w(2,2),l3_16fz(2,2),l3_25w(2,2),l3_25fz(2,2),
     & l3_54w(2,2),l3_56f(2,2),
     & l3_56fz(2,2),l5_12(2,2),l5_12fz(2,2),l5_14(2,2),
     & l5_14w(2,2),l5_14fz(2,2),l5_16w(2,2),
     & l5_16fz(2,2),l5_23w(2,2),l5_23(2,2),l5_23fz(2,2),
     & l5_34f(2,2),l5_34fz(2,2),
     & l5_36w(2,2),
*el2
     & l1_34z(2,2),l1_56z(2,2),r2_34z(2,2),r2_56z(2,2),
     & l1_34f(2,2),l1_56f(2,2),r2_34f(2,2),r2_56f(2,2),
     & l5_14f(2,2),r6_23f(2,2),l5_23f(2,2),r6_14f(2,2),
     & l3_16f(2,2),r4_25f(2,2),l3_25f(2,2),r4_16f(2,2),
*endel2
     & v54w(0:3),v16w(0:3),v36w(0:3),v52w(0:3),v25w(0:3),
     & v12f(0:3),v12z(0:3),v23f(0:3),v23z(0:3),v41f(0:3),
     & v41z(0:3),v56f(0:3),v56z(0:3),v34f(0:3),v34z(0:3),
     & v14f(0:3),v14z(0:3),v14w(0:3),v23w(0:3),v25f(0:3),
     & v25z(0:3),v16f(0:3),v16z(0:3),
     & tapp(2,2,2,2),tapptt(2,2,2,2),tappttw(2,2,2,2),
     & tapptwt(2,2,2,2)
      structure/td/
        double complex a(2,2),b(2,2),c(2,2),d(2,2)
      end structure
      record/td/ r2_14w(2,2),r2_14(2,2),r2_14fz(2,2),r2_16w(2,2),
     &  r2_16fz(2,2),
     &  r2_34fz(2,2),r2_36w(2,2),r2_56fz(2,2),r4_12(2,2),
     &  r4_12fz(2,2),r4_16w(2,2),
     &  r4_16fz(2,2),r4_23w(2,2),r4_23(2,2),r4_23fz(2,2),
     &  r4_25w(2,2),r4_25fz(2,2),
     &  r4_36w(2,2),r4_56f(2,2),r4_56fz(2,2),r6_12(2,2),
     &  r6_12fz(2,2),r6_14w(2,2),
     &  r6_14(2,2),r6_14fz(2,2),r6_23w(2,2),r6_23(2,2),
     &  r6_23fz(2,2),r6_25w(2,2),
     &  r6_25fz(2,2),r6_34f(2,2),r6_34fz(2,2),r6_54w(2,2)

      COMMON/abparb/rmw2,gamw,rmz2,rmt2,rcotw,pi,alfa_me,qcdcoupl,
     &  qcdcor_cc,qcdcor_nc,qcdcor_h
      COMMON/abparc/czipr,ccz,cwipr,ccw,chipr,cch,caipr,cca
      COMMON/abcoup/fer,fel,zer,zel,f3l,f4l,f5l,f6l,z3l,z4l,z5l,z6l,
     &       f3r,f4r,f5r,f6r,z3r,z4r,z5r,z6r,wcl,delz,xf,xz,yf,yz,zz
      COMMON/abflag/icc,icc3,i3e,i4e,i3q,i5q,iqu,i34e,i56ve,ibbveve,iid,
     &  imix,icoul,istrcor,idownl,idownr,ianc
*el2
     &  ,izz,izg,izg34,izg56,inc08,igamgam,itch
*endel2
* sa2 addde rmt
      COMMON/abmass/ rme,rmmu,rmu,rmd,rms,rmt,xm(6),xmp5,xmp
* sa2end
      COMMON/abhigg/rmb,rmb2,rmh,rmh2,gamh,rhzz,rhww,rhbb
      COMMON/abinpu/rmw,rmz,rmb_run,rmc,rmc_run,rmtau,gamz,gf,s2w,
     &  alfainv,alfas_cc,alfas_nc,alfas_h,gauwidth

*begin{EZ}                                                                      
      COMMON/abfloop/ifloop
*end{EZ}                                                                        
      PARAMETER (czero=(0.d0,0.d0),cuno=(1.d0,0.d0),cim=(0.d0,1.d0))
*el2
      IF(izz.EQ.1.OR.izg.EQ.1.OR.izg34.EQ.1.OR.izg56.EQ.1.OR.
     &   inc08.EQ.1.OR.igamgam.EQ.1)THEN
        icc=0
        imix=-1
        IF(izz.EQ.1.OR.izg.EQ.1.OR.izg34.EQ.1.OR.izg56.EQ.1)THEN
          inc02=1
	ENDIF
        IF(igamgam.EQ.1)THEN
          igg=1
        ENDIF
      ENDIF
*endel2
* pk0 -- p=p1
      p1k0=p1(0)-p1(1)
* pk0 -- p=p2
      p2k0=p2(0)-p2(1)
* pk0 -- p=p3
      p3k0=p3(0)-p3(1)
* pk0 -- p=p4
      p4k0=p4(0)-p4(1)
* pk0 -- p=p5
      p5k0=p5(0)-p5(1)
* pk0 -- p=p6
      p6k0=p6(0)-p6(1)
*   Impulsi dei propagatori
      do m=0,3
        p12(m)=-p1(m)-p2(m)
        p14(m)=-p1(m)+p4(m)
        p16(m)=-p1(m)+p6(m)
        p23(m)=-p2(m)+p3(m)
        p25(m)=-p2(m)+p5(m)
        p34(m)=p3(m)+p4(m)
        p36(m)=p3(m)+p6(m)
        p45(m)=p5(m)+p4(m)
        p56(m)=p5(m)+p6(m)
        p123(m)=p12(m)+p3(m)
        p125(m)=-p1(m)+p25(m)
        p134(m)=-p1(m)+p34(m)
        p136(m)=p16(m)+p3(m)
        p145(m)=-p1(m)+p45(m)
        p156(m)=p5(m)+p16(m)
        p235(m)=p25(m)+p3(m)
        p345(m)=p34(m)+p5(m)
        p356(m)=p36(m)+p5(m)
      end do

* pk0 -- p=p123
      p123k0=p123(0)-p123(1)
* p.q -- p.q=p123q,p=p123,q=p123
      p123q=p123(0)*p123(0)-p123(1)*p123(1)-p123(2)*p123(2)-p123
     & (3)*p123(3)
* pk0 -- p=p125
      p125k0=p125(0)-p125(1)
* p.q -- p.q=p125q,p=p125,q=p125
      p125q=p125(0)*p125(0)-p125(1)*p125(1)-p125(2)*p125(2)-p125
     & (3)*p125(3)
* pk0 -- p=p134
      p134k0=p134(0)-p134(1)
* p.q -- p.q=p134q,p=p134,q=p134
      p134q=p134(0)*p134(0)-p134(1)*p134(1)-p134(2)*p134(2)-p134
     & (3)*p134(3)
* pk0 -- p=p145
      p145k0=p145(0)-p145(1)
* p.q -- p.q=p145q,p=p145,q=p145
      p145q=p145(0)*p145(0)-p145(1)*p145(1)-p145(2)*p145(2)-p145
     & (3)*p145(3)
* pk0 -- p=p156
      p156k0=p156(0)-p156(1)
* p.q -- p.q=p156q,p=p156,q=p156
      p156q=p156(0)*p156(0)-p156(1)*p156(1)-p156(2)*p156(2)-p156
     & (3)*p156(3)
* pk0 -- p=p235
      p235k0=p235(0)-p235(1)
* p.q -- p.q=p235q,p=p235,q=p235
      p235q=p235(0)*p235(0)-p235(1)*p235(1)-p235(2)*p235(2)-p235
     & (3)*p235(3)
* pk0 -- p=p136
      p136k0=p136(0)-p136(1)
* p.q -- p.q=p136q,p=p136,q=p136
      p136q=p136(0)*p136(0)-p136(1)*p136(1)-p136(2)*p136(2)-p136
     & (3)*p136(3)
* pk0 -- p=p345
      p345k0=p345(0)-p345(1)
* p.q -- p.q=p345q,p=p345,q=p345
      p345q=p345(0)*p345(0)-p345(1)*p345(1)-p345(2)*p345(2)-p345
     & (3)*p345(3)
* pk0 -- p=p356
      p356k0=p356(0)-p356(1)
* p.q -- p.q=p356q,p=p356,q=p356
      p356q=p356(0)*p356(0)-p356(1)*p356(1)-p356(2)*p356(2)-p356
     & (3)*p356(3)


* p.q -- p.q=p1p2,p=p1,q=p2
      p1p2=p1(0)*p2(0)-p1(1)*p2(1)-p1(2)*p2(2)-p1(3)*p2(3)

      s=2.d0*p1p2+2.d0*rme**2
      ss=sqrt(s)
      E=ss/2.d0


* vettori di polarizzazione e+e-
      quqd=p1p2

* il - qui e in cdw e' perche' i propagatori bosonici portano un segno -
* rispetto a quelli fermionici
      cdz=-1.d0/(s*czipr-rmz2+ccz)
      df=-1.d0/s
      fac1=(df*fer)
      fac2=(df*fel)
      cfac1z=(cdz*zer)
      cfac2z=(cdz*zel)
* T -- qu=p1,qd=p2,v=0,a=v12f(0).a,b=v12f(0).b,c=v12f(0).c,d=v12f(0).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p1(2)*p2(3)+p2(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p1k0*p2(0)+p2k0*p1(0)
      v12f(0).a(1,1)=fac1*(auxa+ceps_0)
      v12f(0).a(2,2)=fac2*(auxa-ceps_0)
      v12f(0).b(1,2)=-fac2*(p2(2)+ceps_2)
      v12f(0).b(2,1)=fac1*(p2(2)-ceps_2)
      v12f(0).c(1,2)=fac1*(p1(2)+ceps_1)
      v12f(0).c(2,1)=fac2*(-p1(2)+ceps_1)
      v12f(0).d(1,1)=fac2
      v12f(0).d(2,2)=fac1
* T -- qu=p1,qd=p2,v=1,a=v12f(1).a,b=v12f(1).b,c=v12f(1).c,d=v12f(1).d,cr=f
* ac1,cl=fac2,nsum=0
      auxa=-quqd+p1k0*p2(1)+p2k0*p1(1)
      v12f(1).a(1,1)=fac1*(auxa+ceps_0)
      v12f(1).a(2,2)=fac2*(auxa-ceps_0)
      v12f(1).b(1,2)=-fac2*(p2(2)+ceps_2)
      v12f(1).b(2,1)=fac1*(p2(2)-ceps_2)
      v12f(1).c(1,2)=fac1*(p1(2)+ceps_1)
      v12f(1).c(2,1)=fac2*(-p1(2)+ceps_1)
      v12f(1).d(1,1)=fac2
      v12f(1).d(2,2)=fac1
* T -- qu=p1,qd=p2,v=2,a=v12f(2).a,b=v12f(2).b,c=v12f(2).c,d=v12f(2).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p1k0*p2(3)+p2k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p2(2)+p2k0*p1(2)
      v12f(2).a(1,1)=fac1*(auxa+ceps_0)
      v12f(2).a(2,2)=fac2*(auxa-ceps_0)
      v12f(2).b(1,2)=-fac2*p2k0
      v12f(2).b(2,1)=fac1*p2k0
      v12f(2).c(1,2)=fac1*p1k0
      v12f(2).c(2,1)=-fac2*p1k0
* T -- qu=p1,qd=p2,v=3,a=v12f(3).a,b=v12f(3).b,c=v12f(3).c,d=v12f(3).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=p1k0*p2(2)-p2k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p2k0*cim
      auxa=+p1k0*p2(3)+p2k0*p1(3)
      v12f(3).a(1,1)=fac1*(auxa+ceps_0)
      v12f(3).a(2,2)=fac2*(auxa-ceps_0)
      v12f(3).b(1,2)=-fac2*ceps_2
      v12f(3).b(2,1)=-fac1*ceps_2
      v12f(3).c(1,2)=fac1*ceps_1
      v12f(3).c(2,1)=fac2*ceps_1
      do m=0,3
* mline -- res=c12f(&).e(m),abcd=v12f(m).,m1=(-rme),m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c12f(iut,jut).e(m)=v12f(m).a(iut,jut)+(-rme)*v12f(m).b(iut
     & ,jut)+rme*v12f(m).c(iut,jut)+(-rme)*rme*v12f(m).d(iut,jut
     & )
      enddo
      enddo
      end do
* T -- qu=p1,qd=p2,v=0,a=v12z(0).a,b=v12z(0).b,c=v12z(0).c,d=v12z(0).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p1(2)*p2(3)+p2(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p1k0*p2(0)+p2k0*p1(0)
      v12z(0).a(1,1)=cfac1z*(auxa+ceps_0)
      v12z(0).a(2,2)=cfac2z*(auxa-ceps_0)
      v12z(0).b(1,2)=-cfac2z*(p2(2)+ceps_2)
      v12z(0).b(2,1)=cfac1z*(p2(2)-ceps_2)
      v12z(0).c(1,2)=cfac1z*(p1(2)+ceps_1)
      v12z(0).c(2,1)=cfac2z*(-p1(2)+ceps_1)
      v12z(0).d(1,1)=cfac2z
      v12z(0).d(2,2)=cfac1z
* T -- qu=p1,qd=p2,v=1,a=v12z(1).a,b=v12z(1).b,c=v12z(1).c,d=v12z(1).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      auxa=-quqd+p1k0*p2(1)+p2k0*p1(1)
      v12z(1).a(1,1)=cfac1z*(auxa+ceps_0)
      v12z(1).a(2,2)=cfac2z*(auxa-ceps_0)
      v12z(1).b(1,2)=-cfac2z*(p2(2)+ceps_2)
      v12z(1).b(2,1)=cfac1z*(p2(2)-ceps_2)
      v12z(1).c(1,2)=cfac1z*(p1(2)+ceps_1)
      v12z(1).c(2,1)=cfac2z*(-p1(2)+ceps_1)
      v12z(1).d(1,1)=cfac2z
      v12z(1).d(2,2)=cfac1z
* T -- qu=p1,qd=p2,v=2,a=v12z(2).a,b=v12z(2).b,c=v12z(2).c,d=v12z(2).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p1k0*p2(3)+p2k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p2(2)+p2k0*p1(2)
      v12z(2).a(1,1)=cfac1z*(auxa+ceps_0)
      v12z(2).a(2,2)=cfac2z*(auxa-ceps_0)
      v12z(2).b(1,2)=-cfac2z*p2k0
      v12z(2).b(2,1)=cfac1z*p2k0
      v12z(2).c(1,2)=cfac1z*p1k0
      v12z(2).c(2,1)=-cfac2z*p1k0
* T -- qu=p1,qd=p2,v=3,a=v12z(3).a,b=v12z(3).b,c=v12z(3).c,d=v12z(3).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=p1k0*p2(2)-p2k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p2k0*cim
      auxa=+p1k0*p2(3)+p2k0*p1(3)
      v12z(3).a(1,1)=cfac1z*(auxa+ceps_0)
      v12z(3).a(2,2)=cfac2z*(auxa-ceps_0)
      v12z(3).b(1,2)=-cfac2z*ceps_2
      v12z(3).b(2,1)=-cfac1z*ceps_2
      v12z(3).c(1,2)=cfac1z*ceps_1
      v12z(3).c(2,1)=cfac2z*ceps_1
      do m=0,3
* mline -- res=c12z(&).e(m),abcd=v12z(m).,m1=(-rme),m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c12z(iut,jut).e(m)=v12z(m).a(iut,jut)+(-rme)*v12z(m).b(iut
     & ,jut)+rme*v12z(m).c(iut,jut)+(-rme)*rme*v12z(m).d(iut,jut
     & )
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i1=1,2
        do i2=1,2
          c12z(i1,i2).v=c12z(i1,i2).e(0)*p12(0)
          do i=1,3
            c12z(i1,i2).v=c12z(i1,i2).v-
     &      c12z(i1,i2).e(i)*p12(i)
          enddo
        enddo
      enddo
      do i1=1,2
        do i2=1,2
          do mu=0,3
            c12z(i1,i2).e(mu)=c12z(i1,i2).e(mu)-p12(mu)
     &      *c12z(i1,i2).v/rmz2
          enddo
        enddo
      enddo
****
      do i1=1,2
      do i2=1,2
* pk0 -- p=c12f(i1,i2).e
      c12f(i1,i2).ek0=c12f(i1,i2).e(0)-c12f(i1,i2).e(1)
      end do
      end do
      do i1=1,2
      do i2=1,2
* pk0 -- p=c12z(i1,i2).e
      c12z(i1,i2).ek0=c12z(i1,i2).e(0)-c12z(i1,i2).e(1)
      end do
      end do

**** inizio CC

      if (icc.ne.0) then

* vettori di polarizzazione wp: w+ -> 5 4
* quqd -- p=p5,q=p4
      quqd=p5(0)*p4(0)-p5(1)*p4(1)-p5(2)*p4(2)-p5(3)*p4(3)
      s54=2.d0*quqd+xm(4)**2+xm(5)**2
      cdw=-1.d0/(s54*cwipr-rmw2+ccw)
      cfaw=(cdw*wcl)
* TW -- qu=p5,qd=p4,v=0,a=v54w(0).a,b=v54w(0).b,c=v54w(0).c,d=v54w(0).d,cl=
* cfaw,nsum=0
      eps_0=-p5(2)*p4(3)+p4(2)*p5(3)
      ceps_0=eps_0*cim
      ceps_1=p5(3)*cim
      ceps_2=p4(3)*cim
      auxa=-quqd+p5k0*p4(0)+p4k0*p5(0)
      v54w(0).a(2,2)=cfaw*(auxa-ceps_0)
      v54w(0).b(1,2)=-cfaw*(p4(2)+ceps_2)
      v54w(0).c(2,1)=cfaw*(-p5(2)+ceps_1)
      v54w(0).d(1,1)=cfaw
* TW -- qu=p5,qd=p4,v=1,a=v54w(1).a,b=v54w(1).b,c=v54w(1).c,d=v54w(1).d,cl=
* cfaw,nsum=0
      auxa=-quqd+p5k0*p4(1)+p4k0*p5(1)
      v54w(1).a(2,2)=cfaw*(auxa-ceps_0)
      v54w(1).b(1,2)=-cfaw*(p4(2)+ceps_2)
      v54w(1).c(2,1)=cfaw*(-p5(2)+ceps_1)
      v54w(1).d(1,1)=cfaw
* TW -- qu=p5,qd=p4,v=2,a=v54w(2).a,b=v54w(2).b,c=v54w(2).c,d=v54w(2).d,cl=
* cfaw,nsum=0
      eps_0=-p5k0*p4(3)+p4k0*p5(3)
      ceps_0=eps_0*cim
      auxa=p5k0*p4(2)+p4k0*p5(2)
      v54w(2).a(2,2)=cfaw*(auxa-ceps_0)
      v54w(2).b(1,2)=-cfaw*p4k0
      v54w(2).c(2,1)=-cfaw*p5k0
* TW -- qu=p5,qd=p4,v=3,a=v54w(3).a,b=v54w(3).b,c=v54w(3).c,d=v54w(3).d,cl=
* cfaw,nsum=0
      eps_0=p5k0*p4(2)-p4k0*p5(2)
      ceps_0=eps_0*cim
      ceps_1=p5k0*cim
      ceps_2=p4k0*cim
      auxa=+p5k0*p4(3)+p4k0*p5(3)
      v54w(3).a(2,2)=cfaw*(auxa-ceps_0)
      v54w(3).b(1,2)=-cfaw*ceps_2
      v54w(3).c(2,1)=cfaw*ceps_1
      do m=0,3
* mline -- res=c54w(&).e(m),abcd=v54w(m).,m1=xm(5),m2=(-xm(4)),den=0
      do iut=1,2
      do jut=1,2
      c54w(iut,jut).e(m)=v54w(m).a(iut,jut)+xm(5)*v54w(m).b(iut,
     & jut)+(-xm(4))*v54w(m).c(iut,jut)+xm(5)*(-xm(4))*v54w(m).d
     & (iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i5=1,2
        do i4=1,2
          c54w(i5,i4).v=c54w(i5,i4).e(0)*p45(0)
          do i=1,3
            c54w(i5,i4).v=c54w(i5,i4).v-
     &      c54w(i5,i4).e(i)*p45(i)
          enddo
        enddo
      enddo
      do i5=1,2
        do i4=1,2
          do mu=0,3
*begin{EZ} modifica termine k(mu)*k(nu)
            c54w(i5,i4).e(mu)=c54w(i5,i4).e(mu)-p45(mu)
     &      *c54w(i5,i4).v/(rmw2-ccw)*cwipr
          enddo
        enddo
      enddo
****
      do i5=1,2
      do i4=1,2
* pk0 -- p=c54w(i5,i4).e
      c54w(i5,i4).ek0=c54w(i5,i4).e(0)-c54w(i5,i4).e(1)
      end do
      end do
* vettori di polarizzazione ewm: w- -> 3 6
* quqd -- p=p3,q=p6
      quqd=p3(0)*p6(0)-p3(1)*p6(1)-p3(2)*p6(2)-p3(3)*p6(3)
      s36=2.d0*quqd+xm(3)**2+xm(6)**2
      cdw=-1.d0/(s36*cwipr-rmw2+ccw)
      cfaw=(cdw*wcl)
* p3 non puo' che avere la polarizzazione 2, percio' non si somma sulle polariz
* zazioni dei quark
* TW -- qu=p3,qd=p6,v=0,a=v36w(0).a,b=v36w(0).b,c=v36w(0).c,d=v36w(0).d,cl=
* cfaw,nsum=0
      eps_0=-p3(2)*p6(3)+p6(2)*p3(3)
      ceps_0=eps_0*cim
      ceps_1=p3(3)*cim
      ceps_2=p6(3)*cim
      auxa=-quqd+p3k0*p6(0)+p6k0*p3(0)
      v36w(0).a(2,2)=cfaw*(auxa-ceps_0)
      v36w(0).b(1,2)=-cfaw*(p6(2)+ceps_2)
      v36w(0).c(2,1)=cfaw*(-p3(2)+ceps_1)
      v36w(0).d(1,1)=cfaw
* TW -- qu=p3,qd=p6,v=1,a=v36w(1).a,b=v36w(1).b,c=v36w(1).c,d=v36w(1).d,cl=
* cfaw,nsum=0
      auxa=-quqd+p3k0*p6(1)+p6k0*p3(1)
      v36w(1).a(2,2)=cfaw*(auxa-ceps_0)
      v36w(1).b(1,2)=-cfaw*(p6(2)+ceps_2)
      v36w(1).c(2,1)=cfaw*(-p3(2)+ceps_1)
      v36w(1).d(1,1)=cfaw
* TW -- qu=p3,qd=p6,v=2,a=v36w(2).a,b=v36w(2).b,c=v36w(2).c,d=v36w(2).d,cl=
* cfaw,nsum=0
      eps_0=-p3k0*p6(3)+p6k0*p3(3)
      ceps_0=eps_0*cim
      auxa=p3k0*p6(2)+p6k0*p3(2)
      v36w(2).a(2,2)=cfaw*(auxa-ceps_0)
      v36w(2).b(1,2)=-cfaw*p6k0
      v36w(2).c(2,1)=-cfaw*p3k0
* TW -- qu=p3,qd=p6,v=3,a=v36w(3).a,b=v36w(3).b,c=v36w(3).c,d=v36w(3).d,cl=
* cfaw,nsum=0
      eps_0=p3k0*p6(2)-p6k0*p3(2)
      ceps_0=eps_0*cim
      ceps_1=p3k0*cim
      ceps_2=p6k0*cim
      auxa=+p3k0*p6(3)+p6k0*p3(3)
      v36w(3).a(2,2)=cfaw*(auxa-ceps_0)
      v36w(3).b(1,2)=-cfaw*ceps_2
      v36w(3).c(2,1)=cfaw*ceps_1
      do m=0,3
* mline -- res=c36w(&).e(m),abcd=v36w(m).,m1=xm(3),m2=(-xm(6)),den=0
      do iut=1,2
      do jut=1,2
      c36w(iut,jut).e(m)=v36w(m).a(iut,jut)+xm(3)*v36w(m).b(iut,
     & jut)+(-xm(6))*v36w(m).c(iut,jut)+xm(3)*(-xm(6))*v36w(m).d
     & (iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i3=1,2
        do i6=1,2
          c36w(i3,i6).v=c36w(i3,i6).e(0)*p36(0)
          do i=1,3
            c36w(i3,i6).v=c36w(i3,i6).v-
     &      c36w(i3,i6).e(i)*p36(i)
          enddo
        enddo
      enddo
      do i3=1,2
        do i6=1,2
          do mu=0,3
*begin{EZ} modifica termine k(mu)*k(nu)
            c36w(i3,i6).e(mu)=c36w(i3,i6).e(mu)-p36(mu)
     &      *c36w(i3,i6).v/(rmw2-ccw)*cwipr
          enddo
        enddo
      enddo
****
      do i3=1,2
      do i6=1,2
* pk0 -- p=c36w(i3,i6).e
      c36w(i3,i6).ek0=c36w(i3,i6).e(0)-c36w(i3,i6).e(1)
      end do
      end do

* diagrammi con triplo vertice
      if (ianc.eq.0) then
        do i1=1,2
          do i2=1,2
            do mu=0,3
              c12fz(i1,i2).e(mu)=c12f(i1,i2).e(mu)+
     &        rcotw*c12z(i1,i2).e(mu)
            end do
          end do
        end do
      else
        do i1=1,2
          do i2=1,2
            do mu=0,3
              c12fz(i1,i2).e(mu)=c12f(i1,i2).e(mu)+(rcotw+delz)*
     &                         c12z(i1,i2).e(mu)
            end do
          end do
        end do
      endif
*** triple vertex -- pfz(mu)=p12(mu),pwm(mu)=p36(mu),pwp(mu)=p45(mu),efz=c1
* 2fz(i1,i2),ewm=c36w(i3,i6),ewp=c54w(i5,i4),res=cc1(i1?,i2?,i3?,i4?,i5?,i6?
* )
      do mu=0,3
      vfz(mu)=p36(mu)-p45(mu)
      vwm(mu)=p45(mu)-p12(mu)
      vwp(mu)=p12(mu)-p36(mu)
      end do !mu
* vfz.efz
      do i1=1,2
      do i2=1,2
* p.q -- p.q=c12fz(i1,i2).v,p=c12fz(i1,i2).e,q=vfz
      c12fz(i1,i2).v=c12fz(i1,i2).e(0)*vfz(0)-c12fz(i1,i2).e(1)*
     & vfz(1)-c12fz(i1,i2).e(2)*vfz(2)-c12fz(i1,i2).e(3)*vfz(3)
      end do
      end do
* vwm.ewm
      do i3=1,2
      do i6=1,2
* p.q -- p.q=c36w(i3,i6).v,p=c36w(i3,i6).e,q=vwm
      c36w(i3,i6).v=c36w(i3,i6).e(0)*vwm(0)-c36w(i3,i6).e(1)*vwm
     & (1)-c36w(i3,i6).e(2)*vwm(2)-c36w(i3,i6).e(3)*vwm(3)
      end do
      end do
* vwp.ewp
      do i5=1,2
      do i4=1,2
* p.q -- p.q=c54w(i5,i4).v,p=c54w(i5,i4).e,q=vwp
      c54w(i5,i4).v=c54w(i5,i4).e(0)*vwp(0)-c54w(i5,i4).e(1)*vwp
     & (1)-c54w(i5,i4).e(2)*vwp(2)-c54w(i5,i4).e(3)*vwp(3)
      end do
      end do
* efz.ewm
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* p.q -- p.q=caux,p=c12fz(i1,i2).e,q=c36w(i3,i6).e
      caux=c12fz(i1,i2).e(0)*c36w(i3,i6).e(0)-c12fz(i1,i2).e(1)*
     & c36w(i3,i6).e(1)-c12fz(i1,i2).e(2)*c36w(i3,i6).e(2)-c12fz
     & (i1,i2).e(3)*c36w(i3,i6).e(3)
      do i4=1,2
      do i5=1,2
      cc1(i1,i2,i3,i4,i5,i6)=c54w(i5,i4).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* efz.ewp
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=caux,p=c12fz(i1,i2).e,q=c54w(i5,i4).e
      caux=c12fz(i1,i2).e(0)*c54w(i5,i4).e(0)-c12fz(i1,i2).e(1)*
     & c54w(i5,i4).e(1)-c12fz(i1,i2).e(2)*c54w(i5,i4).e(2)-c12fz
     & (i1,i2).e(3)*c54w(i5,i4).e(3)
      do i3=1,2
      do i6=1,2
      cc1(i1,i2,i3,i4,i5,i6)=cc1(i1,i2,i3,i4,i5,i6)+c36w(i3,i6).
     & v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* ewm.ewp
      do i3=1,2
      do i6=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=caux,p=c36w(i3,i6).e,q=c54w(i5,i4).e
      caux=c36w(i3,i6).e(0)*c54w(i5,i4).e(0)-c36w(i3,i6).e(1)*c5
     & 4w(i5,i4).e(1)-c36w(i3,i6).e(2)*c54w(i5,i4).e(2)-c36w(i3,
     & i6).e(3)*c54w(i5,i4).e(3)
      do i1=1,2
      do i2=1,2
      cc1(i1,i2,i3,i4,i5,i6)=cc1(i1,i2,i3,i4,i5,i6)+c12fz(i1,i2)
     & .v*caux
      end do
      end do
      end do
      end do
      end do
      end do

* anomalous couplings
      if (ianc.ne.0) then
      do i3=1,2
      do i6=1,2
* p.q -- p.q=cemp0(i3,i6),p=c36w(i3,i6).e,q=p12
      cemp0(i3,i6)=c36w(i3,i6).e(0)*p12(0)-c36w(i3,i6).e(1)*p12(
     & 1)-c36w(i3,i6).e(2)*p12(2)-c36w(i3,i6).e(3)*p12(3)
      end do
      end do
      do i5=1,2
      do i4=1,2
* p.q -- p.q=cepp0(i5,i4),p=c54w(i5,i4).e,q=p12
      cepp0(i5,i4)=c54w(i5,i4).e(0)*p12(0)-c54w(i5,i4).e(1)*p12(
     & 1)-c54w(i5,i4).e(2)*p12(2)-c54w(i5,i4).e(3)*p12(3)
      end do
      end do

        if (xf.ne.0.d0.or.xz.ne.0.d0) then
          do i1=1,2
            do i2=1,2
              do mu=0,3
                c12fz(i1,i2).e(mu)=xf*c12f(i1,i2).e(mu)+xz*
     &                             c12z(i1,i2).e(mu)
              end do
            end do
          end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* p.q -- p.q=ce0em(i1,i2,i3,i6),p=c12fz(i1,i2).e,q=c36w(i3,i6).e
      ce0em(i1,i2,i3,i6)=c12fz(i1,i2).e(0)*c36w(i3,i6).e(0)-c12f
     & z(i1,i2).e(1)*c36w(i3,i6).e(1)-c12fz(i1,i2).e(2)*c36w(i3,
     & i6).e(2)-c12fz(i1,i2).e(3)*c36w(i3,i6).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=ce0ep(i1,i2,i5,i4),p=c12fz(i1,i2).e,q=c54w(i5,i4).e
      ce0ep(i1,i2,i5,i4)=c12fz(i1,i2).e(0)*c54w(i5,i4).e(0)-c12f
     & z(i1,i2).e(1)*c54w(i5,i4).e(1)-c12fz(i1,i2).e(2)*c54w(i5,
     & i4).e(2)-c12fz(i1,i2).e(3)*c54w(i5,i4).e(3)
      end do
      end do
      end do
      end do
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                cc1(i1,i2,i3,i4,i5,i6)=cc1(i1,i2,i3,i4,i5,i6)+
     &          ce0em(i1,i2,i3,i6)*cepp0(i5,i4)-
     &          ce0ep(i1,i2,i5,i4)*cemp0(i3,i6)
               end do
              end do
             end do
            end do
           end do
          end do
        endif

        if (yf.ne.0.d0.or.yz.ne.0.d0) then
          do i1=1,2
           do i2=1,2
            do mu=0,3
              c12fz(i1,i2).e(mu)=yf*c12f(i1,i2).e(mu)+
     &                           yz*c12z(i1,i2).e(mu)
            end do
           end do
          end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* p.q -- p.q=ce0em(i1,i2,i3,i6),p=c12fz(i1,i2).e,q=c36w(i3,i6).e
      ce0em(i1,i2,i3,i6)=c12fz(i1,i2).e(0)*c36w(i3,i6).e(0)-c12f
     & z(i1,i2).e(1)*c36w(i3,i6).e(1)-c12fz(i1,i2).e(2)*c36w(i3,
     & i6).e(2)-c12fz(i1,i2).e(3)*c36w(i3,i6).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=ce0ep(i1,i2,i5,i4),p=c12fz(i1,i2).e,q=c54w(i5,i4).e
      ce0ep(i1,i2,i5,i4)=c12fz(i1,i2).e(0)*c54w(i5,i4).e(0)-c12f
     & z(i1,i2).e(1)*c54w(i5,i4).e(1)-c12fz(i1,i2).e(2)*c54w(i5,
     & i4).e(2)-c12fz(i1,i2).e(3)*c54w(i5,i4).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
* p.q -- p.q=ce0pm(i1,i2),p=c12fz(i1,i2).e,q=p36
      ce0pm(i1,i2)=c12fz(i1,i2).e(0)*p36(0)-c12fz(i1,i2).e(1)*p3
     & 6(1)-c12fz(i1,i2).e(2)*p36(2)-c12fz(i1,i2).e(3)*p36(3)
      end do
      end do
      do i1=1,2
      do i2=1,2
* p.q -- p.q=ce0pp(i1,i2),p=c12fz(i1,i2).e,q=p45
      ce0pp(i1,i2)=c12fz(i1,i2).e(0)*p45(0)-c12fz(i1,i2).e(1)*p4
     & 5(1)-c12fz(i1,i2).e(2)*p45(2)-c12fz(i1,i2).e(3)*p45(3)
      end do
      end do
      do i3=1,2
      do i6=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=cemep(i3,i6,i5,i4),p=c36w(i3,i6).e,q=c54w(i5,i4).e
      cemep(i3,i6,i5,i4)=c36w(i3,i6).e(0)*c54w(i5,i4).e(0)-c36w(
     & i3,i6).e(1)*c54w(i5,i4).e(1)-c36w(i3,i6).e(2)*c54w(i5,i4)
     & .e(2)-c36w(i3,i6).e(3)*c54w(i5,i4).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i6=1,2
* p.q -- p.q=cempp(i3,i6),p=c36w(i3,i6).e,q=p45
      cempp(i3,i6)=c36w(i3,i6).e(0)*p45(0)-c36w(i3,i6).e(1)*p45(
     & 1)-c36w(i3,i6).e(2)*p45(2)-c36w(i3,i6).e(3)*p45(3)
      end do
      end do
      do i5=1,2
      do i4=1,2
* p.q -- p.q=ceppm(i5,i4),p=c54w(i5,i4).e,q=p36
      ceppm(i5,i4)=c54w(i5,i4).e(0)*p36(0)-c54w(i5,i4).e(1)*p36(
     & 1)-c54w(i5,i4).e(2)*p36(2)-c54w(i5,i4).e(3)*p36(3)
      end do
      end do
* p.q -- p.q=p0pm,p=p12,q=p36
      p0pm=p12(0)*p36(0)-p12(1)*p36(1)-p12(2)*p36(2)-p12(3)*p36(
     & 3)
* p.q -- p.q=p0pp,p=p12,q=p45
      p0pp=p12(0)*p45(0)-p12(1)*p45(1)-p12(2)*p45(2)-p12(3)*p45(
     & 3)
* p.q -- p.q=pmpp,p=p36,q=p45
      pmpp=p36(0)*p45(0)-p36(1)*p45(1)-p36(2)*p45(2)-p36(3)*p45(
     & 3)
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                cc1(i1,i2,i3,i4,i5,i6)=cc1(i1,i2,i3,i4,i5,i6)+
     &            ce0pm(i1,i2)*cepp0(i5,i4)*cempp(i3,i6)-
     &            ce0pp(i1,i2)*ceppm(i5,i4)*cemp0(i3,i6)+
     &            p0pp*(ce0em(i1,i2,i3,i6)*ceppm(i5,i4)-
     &            cemep(i3,i6,i5,i4)*ce0pm(i1,i2))+
     &            p0pm*(cemep(i3,i6,i5,i4)*ce0pp(i1,i2)-
     &            ce0ep(i1,i2,i5,i4)*cempp(i3,i6))+
     &            pmpp*(ce0ep(i1,i2,i5,i4)*cemp0(i3,i6)-
     &            ce0em(i1,i2,i3,i6)*cepp0(i5,i4))
               end do
              end do
             end do
            end do
           end do
          end do
        endif
        if (zz.ne.0.d0) then
          do m=0,3
           do i3=1,2
            do i4=1,2
             do i5=1,2
              do i6=1,2
               cpau(i3,i4,i5,i6).e(m)=cepp0(i5,i4)*c36w(i3,i6).e(m)-
     &           cemp0(i3,i6)*c54w(i5,i4).e(m)
              enddo
             enddo
            enddo
           enddo
           pau(m)=p45(m)-p36(m)
          enddo
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* eps -- eps=cau(i1,i2,i3,i4,i5,i6),p=c12z(i1,i2).e,q=cpau(i3,i4,i5,i6).e,r
* =p12,s=pau
      cau(i1,i2,i3,i4,i5,i6)=c12z(i1,i2).e(0)*(cpau(i3,i4,i5,i6)
     & .e(1)*(p12(2)*pau(3)-p12(3)*pau(2))+cpau(i3,i4,i5,i6).e(2
     & )*(p12(3)*pau(1)-p12(1)*pau(3))+cpau(i3,i4,i5,i6).e(3)*(p
     & 12(1)*pau(2)-p12(2)*pau(1)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c12z(i1,i2).
     & e(1)*(cpau(i3,i4,i5,i6).e(2)*(p12(3)*pau(0)-p12(0)*pau(3)
     & )+cpau(i3,i4,i5,i6).e(3)*(p12(0)*pau(2)-p12(2)*pau(0))+cp
     & au(i3,i4,i5,i6).e(0)*(p12(2)*pau(3)-p12(3)*pau(2)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)+c12z(i1,i2).
     & e(2)*(cpau(i3,i4,i5,i6).e(3)*(p12(0)*pau(1)-p12(1)*pau(0)
     & )+cpau(i3,i4,i5,i6).e(0)*(p12(1)*pau(3)-p12(3)*pau(1))+cp
     & au(i3,i4,i5,i6).e(1)*(p12(3)*pau(0)-p12(0)*pau(3)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c12z(i1,i2).
     & e(3)*(cpau(i3,i4,i5,i6).e(0)*(p12(1)*pau(2)-p12(2)*pau(1)
     & )+cpau(i3,i4,i5,i6).e(1)*(p12(2)*pau(0)-p12(0)*pau(2))+cp
     & au(i3,i4,i5,i6).e(2)*(p12(0)*pau(1)-p12(1)*pau(0)))
      end do
      end do
      end do
      end do
      end do
      end do
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                 cc1(i1,i2,i3,i4,i5,i6)=cc1(i1,i2,i3,i4,i5,i6)+
     &             cim*zz*cau(i1,i2,i3,i4,i5,i6)
               end do
              end do
             end do
            end do
           end do
          enddo
        endif
      endif
* end anomalous couplings

* diagramma con neutrino
* quqd -- p=p1,q=p145
      quqd=p1(0)*p145(0)-p1(1)*p145(1)-p1(2)*p145(2)-p1(3)*p145(
     & 3)
      ccl=wcl/(p145q*p145k0)
      do i5=1,2
      do i4=1,2
* TW -- qu=p1,qd=p145,v=c54w(i5,i4).e,a=l1_54w(i5,i4).a,b=l1_54w(i5,i4).b,c
* =l1_54w(i5,i4).c,d=l1_54w(i5,i4).d,cl=ccl,nsum=0
      ceps_0=-c54w(i5,i4).ek0*(p1(2)*p145(3)-p145(2)*p1(3))+p1k0
     & *(c54w(i5,i4).e(2)*p145(3)-p145(2)*c54w(i5,i4).e(3))-p145
     & k0*(c54w(i5,i4).e(2)*p1(3)-p1(2)*c54w(i5,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c54w(i5,i4).e(3)*p1k0+p1(3)*c54w(i5,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c54w(i5,i4).e(3)*p145k0+p145(3)*c54w(i5,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c54w(i5,i4).e(0)*p1(0)-c54w(i5,i4).e(1)*p1(1)-c54w(i5
     & ,i4).e(2)*p1(2)-c54w(i5,i4).e(3)*p1(3)
      cvqd=c54w(i5,i4).e(0)*p145(0)-c54w(i5,i4).e(1)*p145(1)-c54
     & w(i5,i4).e(2)*p145(2)-c54w(i5,i4).e(3)*p145(3)
      cauxa=-c54w(i5,i4).ek0*quqd+p1k0*cvqd+p145k0*cvqu
      cauxb=-c54w(i5,i4).ek0*p145(2)+p145k0*c54w(i5,i4).e(2)
      cauxc=+c54w(i5,i4).ek0*p1(2)-p1k0*c54w(i5,i4).e(2)
      l1_54w(i5,i4).a(2,2)=ccl*(cauxa-ceps_0)
      l1_54w(i5,i4).b(1,2)=ccl*(cauxb-ceps_2)
      l1_54w(i5,i4).c(2,1)=ccl*(-cauxc+ceps_1)
      l1_54w(i5,i4).d(1,1)=ccl*c54w(i5,i4).ek0
      end do
      end do
* quqd -- p=p145,q=p2
      quqd=p145(0)*p2(0)-p145(1)*p2(1)-p145(2)*p2(2)-p145(3)*p2(
     & 3)
      do i3=1,2
      do i6=1,2
* TW -- qu=p145,qd=p2,v=c36w(i3,i6).e,a=r2_36w(i3,i6).a,b=r2_36w(i3,i6).b,c
* =r2_36w(i3,i6).c,d=r2_36w(i3,i6).d,cl=wcl,nsum=0
      ceps_0=-c36w(i3,i6).ek0*(p145(2)*p2(3)-p2(2)*p145(3))+p145
     & k0*(c36w(i3,i6).e(2)*p2(3)-p2(2)*c36w(i3,i6).e(3))-p2k0*(
     & c36w(i3,i6).e(2)*p145(3)-p145(2)*c36w(i3,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c36w(i3,i6).e(3)*p145k0+p145(3)*c36w(i3,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c36w(i3,i6).e(3)*p2k0+p2(3)*c36w(i3,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c36w(i3,i6).e(0)*p145(0)-c36w(i3,i6).e(1)*p145(1)-c36
     & w(i3,i6).e(2)*p145(2)-c36w(i3,i6).e(3)*p145(3)
      cvqd=c36w(i3,i6).e(0)*p2(0)-c36w(i3,i6).e(1)*p2(1)-c36w(i3
     & ,i6).e(2)*p2(2)-c36w(i3,i6).e(3)*p2(3)
      cauxa=-c36w(i3,i6).ek0*quqd+p145k0*cvqd+p2k0*cvqu
      cauxb=-c36w(i3,i6).ek0*p2(2)+p2k0*c36w(i3,i6).e(2)
      cauxc=+c36w(i3,i6).ek0*p145(2)-p145k0*c36w(i3,i6).e(2)
      r2_36w(i3,i6).a(2,2)=wcl*(cauxa-ceps_0)
      r2_36w(i3,i6).b(1,2)=wcl*(cauxb-ceps_2)
      r2_36w(i3,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      r2_36w(i3,i6).d(1,1)=wcl*c36w(i3,i6).ek0
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TWTW -- aa=tapp(i3,i4,i5,i6).a,bb=tapp(i3,i4,i5,i6).b,cc=tapp(i3,i4,i5,i6
* ).c,dd=tapp(i3,i4,i5,i6).d,a1=l1_54w(i5,i4).a,b1=l1_54w(i5,i4).b,c1=l1_54w
* (i5,i4).c,d1=l1_54w(i5,i4).d,a2=r2_36w(i3,i6).a,b2=r2_36w(i3,i6).b,c2=r2_3
* 6w(i3,i6).c,d2=r2_36w(i3,i6).d,prq=p145q
      tapp(i3,i4,i5,i6).d(1,1)=l1_54w(i5,i4).d(1,1)*p145q*r2_36w
     & (i3,i6).d(1,1)+l1_54w(i5,i4).b(1,2)*r2_36w(i3,i6).c(2,1)
      tapp(i3,i4,i5,i6).b(1,2)=l1_54w(i5,i4).d(1,1)*p145q*r2_36w
     & (i3,i6).b(1,2)+l1_54w(i5,i4).b(1,2)*r2_36w(i3,i6).a(2,2)
      tapp(i3,i4,i5,i6).c(2,1)=l1_54w(i5,i4).c(2,1)*p145q*r2_36w
     & (i3,i6).d(1,1)+l1_54w(i5,i4).a(2,2)*r2_36w(i3,i6).c(2,1)
      tapp(i3,i4,i5,i6).a(2,2)=l1_54w(i5,i4).c(2,1)*p145q*r2_36w
     & (i3,i6).b(1,2)+l1_54w(i5,i4).a(2,2)*r2_36w(i3,i6).a(2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cc2(&,i3,i4,i5,i6),abcd=tapp(i3,i4,i5,i6).,m1=(-rme),m2=rme,
* den=0
      do iut=1,2
      do jut=1,2
      cc2(iut,jut,i3,i4,i5,i6)=tapp(i3,i4,i5,i6).a(iut,jut)+(-rm
     & e)*tapp(i3,i4,i5,i6).b(iut,jut)+rme*tapp(i3,i4,i5,i6).c(i
     & ut,jut)+(-rme)*rme*tapp(i3,i4,i5,i6).d(iut,jut)
      enddo
      enddo
      end do
      end do
      end do
      end do

        if (icc3.ne.1) then
**** altri diagrammi per CC11
* polarizzazioni per attaccamenti solo left di f e Z a fermioni
      do i1=1,2
       do i2=1,2
        do mu=0,3
          c12fz5(i1,i2).e(mu)=c12f(i1,i2).e(mu)*f5l
     &     +c12z(i1,i2).e(mu)*z5l
        end do
       end do
      end do
      do i1=1,2
      do i2=1,2
* pk0 -- p=c12fz5(i1,i2).e
      c12fz5(i1,i2).ek0=c12fz5(i1,i2).e(0)-c12fz5(i1,i2).e(1)
      end do
      end do
      do i1=1,2
       do i2=1,2
        do mu=0,3
          c12fz3(i1,i2).e(mu)=c12f(i1,i2).e(mu)*f3l
     &     +c12z(i1,i2).e(mu)*z3l
        end do
       end do
      end do
      do i1=1,2
      do i2=1,2
* pk0 -- p=c12fz3(i1,i2).e
      c12fz3(i1,i2).ek0=c12fz3(i1,i2).e(0)-c12fz3(i1,i2).e(1)
      end do
      end do
      do i1=1,2
       do i2=1,2
        do mu=0,3
          c12fz6(i1,i2).e(mu)=c12f(i1,i2).e(mu)*f6l
     &     +c12z(i1,i2).e(mu)*z6l
        end do
       end do
      end do
      do i1=1,2
      do i2=1,2
* pk0 -- p=c12fz6(i1,i2).e
      c12fz6(i1,i2).ek0=c12fz6(i1,i2).e(0)-c12fz6(i1,i2).e(1)
      end do
      end do
      do i1=1,2
       do i2=1,2
        do mu=0,3
          c12fz4(i1,i2).e(mu)=c12f(i1,i2).e(mu)*f4l
     &     +c12z(i1,i2).e(mu)*z4l
        end do
       end do
      end do
      do i1=1,2
      do i2=1,2
* pk0 -- p=c12fz4(i1,i2).e
      c12fz4(i1,i2).ek0=c12fz4(i1,i2).e(0)-c12fz4(i1,i2).e(1)
      end do
      end do
*
*******diagrammi con solo  w- risonante*********
*
* vengono usate le routine twr0 e twl0 anche per fotone perche' quando
* c'e' una linea che si attacca con w non sono piu' necessari attaccamenti
* right handed
* quqd -- p=p5,q=p356
      quqd=p5(0)*p356(0)-p5(1)*p356(1)-p5(2)*p356(2)-p5(3)*p356(
     & 3)
      do i3=1,2
      do i6=1,2
* TW -- qu=p5,qd=p356,v=c36w(i3,i6).e,a=l5_36w(i3,i6).a,b=l5_36w(i3,i6).b,c
* =l5_36w(i3,i6).c,d=l5_36w(i3,i6).d,cl=wcl,nsum=0
      ceps_0=-c36w(i3,i6).ek0*(p5(2)*p356(3)-p356(2)*p5(3))+p5k0
     & *(c36w(i3,i6).e(2)*p356(3)-p356(2)*c36w(i3,i6).e(3))-p356
     & k0*(c36w(i3,i6).e(2)*p5(3)-p5(2)*c36w(i3,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c36w(i3,i6).e(3)*p5k0+p5(3)*c36w(i3,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c36w(i3,i6).e(3)*p356k0+p356(3)*c36w(i3,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c36w(i3,i6).e(0)*p5(0)-c36w(i3,i6).e(1)*p5(1)-c36w(i3
     & ,i6).e(2)*p5(2)-c36w(i3,i6).e(3)*p5(3)
      cvqd=c36w(i3,i6).e(0)*p356(0)-c36w(i3,i6).e(1)*p356(1)-c36
     & w(i3,i6).e(2)*p356(2)-c36w(i3,i6).e(3)*p356(3)
      cauxa=-c36w(i3,i6).ek0*quqd+p5k0*cvqd+p356k0*cvqu
      cauxb=-c36w(i3,i6).ek0*p356(2)+p356k0*c36w(i3,i6).e(2)
      cauxc=+c36w(i3,i6).ek0*p5(2)-p5k0*c36w(i3,i6).e(2)
      l5_36w(i3,i6).a(2,2)=wcl*(cauxa-ceps_0)
      l5_36w(i3,i6).b(1,2)=wcl*(cauxb-ceps_2)
      l5_36w(i3,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      l5_36w(i3,i6).d(1,1)=wcl*c36w(i3,i6).ek0
      end do
      end do
*****attaccamento di  c12f(2) a 5
* quqd -- p=p5,q=p125
      quqd=p5(0)*p125(0)-p5(1)*p125(1)-p5(2)*p125(2)-p5(3)*p125(
     & 3)
      do i1=1,2
      do i2=1,2
* T -- qu=p5,qd=p125,v=c12f(i1,i2).e,a=l5_12fz(i1,i2).a,b=l5_12fz(i1,i2).b,
* c=l5_12fz(i1,i2).c,d=l5_12fz(i1,i2).d,cr=f5r,cl=f5l,nsum=0
      ceps_0=-c12f(i1,i2).ek0*(p5(2)*p125(3)-p125(2)*p5(3))+p5k0
     & *(c12f(i1,i2).e(2)*p125(3)-p125(2)*c12f(i1,i2).e(3))-p125
     & k0*(c12f(i1,i2).e(2)*p5(3)-p5(2)*c12f(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12f(i1,i2).e(3)*p5k0+p5(3)*c12f(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12f(i1,i2).e(3)*p125k0+p125(3)*c12f(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12f(i1,i2).e(0)*p5(0)-c12f(i1,i2).e(1)*p5(1)-c12f(i1
     & ,i2).e(2)*p5(2)-c12f(i1,i2).e(3)*p5(3)
      cvqd=c12f(i1,i2).e(0)*p125(0)-c12f(i1,i2).e(1)*p125(1)-c12
     & f(i1,i2).e(2)*p125(2)-c12f(i1,i2).e(3)*p125(3)
      cauxa=-c12f(i1,i2).ek0*quqd+p5k0*cvqd+p125k0*cvqu
      cauxb=-c12f(i1,i2).ek0*p125(2)+p125k0*c12f(i1,i2).e(2)
      cauxc=+c12f(i1,i2).ek0*p5(2)-p5k0*c12f(i1,i2).e(2)
      l5_12fz(i1,i2).a(1,1)=f5r*(cauxa+ceps_0)
      l5_12fz(i1,i2).a(2,2)=f5l*(cauxa-ceps_0)
      l5_12fz(i1,i2).b(1,2)=f5l*(cauxb-ceps_2)
      l5_12fz(i1,i2).b(2,1)=f5r*(-cauxb-ceps_2)
      l5_12fz(i1,i2).c(1,2)=f5r*(cauxc+ceps_1)
      l5_12fz(i1,i2).c(2,1)=f5l*(-cauxc+ceps_1)
      l5_12fz(i1,i2).d(1,1)=f5l*c12f(i1,i2).ek0
      l5_12fz(i1,i2).d(2,2)=f5r*c12f(i1,i2).ek0
      end do
      end do
*****attaccamento di  c12z(2) a 5
      do i1=1,2
      do i2=1,2
* T -- qu=p5,qd=p125,v=c12z(i1,i2).e,a=l5_12fz(i1,i2).a,b=l5_12fz(i1,i2).b,
* c=l5_12fz(i1,i2).c,d=l5_12fz(i1,i2).d,cr=z5r,cl=z5l,nsum=1
      ceps_0=-c12z(i1,i2).ek0*(p5(2)*p125(3)-p125(2)*p5(3))+p5k0
     & *(c12z(i1,i2).e(2)*p125(3)-p125(2)*c12z(i1,i2).e(3))-p125
     & k0*(c12z(i1,i2).e(2)*p5(3)-p5(2)*c12z(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12z(i1,i2).e(3)*p5k0+p5(3)*c12z(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12z(i1,i2).e(3)*p125k0+p125(3)*c12z(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12z(i1,i2).e(0)*p5(0)-c12z(i1,i2).e(1)*p5(1)-c12z(i1
     & ,i2).e(2)*p5(2)-c12z(i1,i2).e(3)*p5(3)
      cvqd=c12z(i1,i2).e(0)*p125(0)-c12z(i1,i2).e(1)*p125(1)-c12
     & z(i1,i2).e(2)*p125(2)-c12z(i1,i2).e(3)*p125(3)
      cauxa=-c12z(i1,i2).ek0*quqd+p5k0*cvqd+p125k0*cvqu
      cauxb=-c12z(i1,i2).ek0*p125(2)+p125k0*c12z(i1,i2).e(2)
      cauxc=+c12z(i1,i2).ek0*p5(2)-p5k0*c12z(i1,i2).e(2)
      l5_12fz(i1,i2).a(1,1)=l5_12fz(i1,i2).a(1,1)+z5r*(cauxa+cep
     & s_0)
      l5_12fz(i1,i2).a(2,2)=l5_12fz(i1,i2).a(2,2)+z5l*(cauxa-cep
     & s_0)
      l5_12fz(i1,i2).b(1,2)=l5_12fz(i1,i2).b(1,2)+z5l*(cauxb-cep
     & s_2)
      l5_12fz(i1,i2).b(2,1)=l5_12fz(i1,i2).b(2,1)+z5r*(-cauxb-ce
     & ps_2)
      l5_12fz(i1,i2).c(1,2)=l5_12fz(i1,i2).c(1,2)+z5r*(cauxc+cep
     & s_1)
      l5_12fz(i1,i2).c(2,1)=l5_12fz(i1,i2).c(2,1)+z5l*(-cauxc+ce
     & ps_1)
      l5_12fz(i1,i2).d(1,1)=l5_12fz(i1,i2).d(1,1)+z5l*c12z(i1,i2
     & ).ek0
      l5_12fz(i1,i2).d(2,2)=l5_12fz(i1,i2).d(2,2)+z5r*c12z(i1,i2
     & ).ek0
      end do
      end do
*****attaccamento di  c12f(2) a 4
* quqd -- p=p356,q=p4
      quqd=p356(0)*p4(0)-p356(1)*p4(1)-p356(2)*p4(2)-p356(3)*p4(
     & 3)
      do i1=1,2
      do i2=1,2
* T -- qu=p356,qd=p4,v=c12f(i1,i2).e,a=r4_12fz(i1,i2).a,b=r4_12fz(i1,i2).b,
* c=r4_12fz(i1,i2).c,d=r4_12fz(i1,i2).d,cr=f4r,cl=f4l,nsum=0
      ceps_0=-c12f(i1,i2).ek0*(p356(2)*p4(3)-p4(2)*p356(3))+p356
     & k0*(c12f(i1,i2).e(2)*p4(3)-p4(2)*c12f(i1,i2).e(3))-p4k0*(
     & c12f(i1,i2).e(2)*p356(3)-p356(2)*c12f(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12f(i1,i2).e(3)*p356k0+p356(3)*c12f(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12f(i1,i2).e(3)*p4k0+p4(3)*c12f(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12f(i1,i2).e(0)*p356(0)-c12f(i1,i2).e(1)*p356(1)-c12
     & f(i1,i2).e(2)*p356(2)-c12f(i1,i2).e(3)*p356(3)
      cvqd=c12f(i1,i2).e(0)*p4(0)-c12f(i1,i2).e(1)*p4(1)-c12f(i1
     & ,i2).e(2)*p4(2)-c12f(i1,i2).e(3)*p4(3)
      cauxa=-c12f(i1,i2).ek0*quqd+p356k0*cvqd+p4k0*cvqu
      cauxb=-c12f(i1,i2).ek0*p4(2)+p4k0*c12f(i1,i2).e(2)
      cauxc=+c12f(i1,i2).ek0*p356(2)-p356k0*c12f(i1,i2).e(2)
      r4_12fz(i1,i2).a(1,1)=f4r*(cauxa+ceps_0)
      r4_12fz(i1,i2).a(2,2)=f4l*(cauxa-ceps_0)
      r4_12fz(i1,i2).b(1,2)=f4l*(cauxb-ceps_2)
      r4_12fz(i1,i2).b(2,1)=f4r*(-cauxb-ceps_2)
      r4_12fz(i1,i2).c(1,2)=f4r*(cauxc+ceps_1)
      r4_12fz(i1,i2).c(2,1)=f4l*(-cauxc+ceps_1)
      r4_12fz(i1,i2).d(1,1)=f4l*c12f(i1,i2).ek0
      r4_12fz(i1,i2).d(2,2)=f4r*c12f(i1,i2).ek0
      end do
      end do
*****attaccamento di  c12z(2) a 4
      do i1=1,2
      do i2=1,2
* T -- qu=p356,qd=p4,v=c12z(i1,i2).e,a=r4_12fz(i1,i2).a,b=r4_12fz(i1,i2).b,
* c=r4_12fz(i1,i2).c,d=r4_12fz(i1,i2).d,cr=z4r,cl=z4l,nsum=1
      ceps_0=-c12z(i1,i2).ek0*(p356(2)*p4(3)-p4(2)*p356(3))+p356
     & k0*(c12z(i1,i2).e(2)*p4(3)-p4(2)*c12z(i1,i2).e(3))-p4k0*(
     & c12z(i1,i2).e(2)*p356(3)-p356(2)*c12z(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12z(i1,i2).e(3)*p356k0+p356(3)*c12z(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12z(i1,i2).e(3)*p4k0+p4(3)*c12z(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12z(i1,i2).e(0)*p356(0)-c12z(i1,i2).e(1)*p356(1)-c12
     & z(i1,i2).e(2)*p356(2)-c12z(i1,i2).e(3)*p356(3)
      cvqd=c12z(i1,i2).e(0)*p4(0)-c12z(i1,i2).e(1)*p4(1)-c12z(i1
     & ,i2).e(2)*p4(2)-c12z(i1,i2).e(3)*p4(3)
      cauxa=-c12z(i1,i2).ek0*quqd+p356k0*cvqd+p4k0*cvqu
      cauxb=-c12z(i1,i2).ek0*p4(2)+p4k0*c12z(i1,i2).e(2)
      cauxc=+c12z(i1,i2).ek0*p356(2)-p356k0*c12z(i1,i2).e(2)
      r4_12fz(i1,i2).a(1,1)=r4_12fz(i1,i2).a(1,1)+z4r*(cauxa+cep
     & s_0)
      r4_12fz(i1,i2).a(2,2)=r4_12fz(i1,i2).a(2,2)+z4l*(cauxa-cep
     & s_0)
      r4_12fz(i1,i2).b(1,2)=r4_12fz(i1,i2).b(1,2)+z4l*(cauxb-cep
     & s_2)
      r4_12fz(i1,i2).b(2,1)=r4_12fz(i1,i2).b(2,1)+z4r*(-cauxb-ce
     & ps_2)
      r4_12fz(i1,i2).c(1,2)=r4_12fz(i1,i2).c(1,2)+z4r*(cauxc+cep
     & s_1)
      r4_12fz(i1,i2).c(2,1)=r4_12fz(i1,i2).c(2,1)+z4l*(-cauxc+ce
     & ps_1)
      r4_12fz(i1,i2).d(1,1)=r4_12fz(i1,i2).d(1,1)+z4l*c12z(i1,i2
     & ).ek0
      r4_12fz(i1,i2).d(2,2)=r4_12fz(i1,i2).d(2,2)+z4r*c12z(i1,i2
     & ).ek0
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* TWT -- aa=tapptwt(i1,i2,i3,i6).a,bb=tapptwt(i1,i2,i3,i6).b,cc=tapptwt(i1,
* i2,i3,i6).c,dd=tapptwt(i1,i2,i3,i6).d,a1=l5_36w(i3,i6).a,b1=l5_36w(i3,i6).
* b,c1=l5_36w(i3,i6).c,d1=l5_36w(i3,i6).d,a2=r4_12fz(i1,i2).a,b2=r4_12fz(i1,
* i2).b,c2=r4_12fz(i1,i2).c,d2=r4_12fz(i1,i2).d,prq=p356q,m=xm(4)
      tapptwt(i1,i2,i3,i6).b(1,1)=xm(4)*(l5_36w(i3,i6).d(1,1)*r4
     & _12fz(i1,i2).a(1,1)+l5_36w(i3,i6).b(1,2)*r4_12fz(i1,i2).b
     & (2,1))
      tapptwt(i1,i2,i3,i6).d(1,1)=l5_36w(i3,i6).d(1,1)*p356q*r4_
     & 12fz(i1,i2).d(1,1)+l5_36w(i3,i6).b(1,2)*r4_12fz(i1,i2).c(
     & 2,1)
      tapptwt(i1,i2,i3,i6).b(1,2)=l5_36w(i3,i6).d(1,1)*p356q*r4_
     & 12fz(i1,i2).b(1,2)+l5_36w(i3,i6).b(1,2)*r4_12fz(i1,i2).a(
     & 2,2)
      tapptwt(i1,i2,i3,i6).d(1,2)=xm(4)*(l5_36w(i3,i6).d(1,1)*r4
     & _12fz(i1,i2).c(1,2)+l5_36w(i3,i6).b(1,2)*r4_12fz(i1,i2).d
     & (2,2))
      tapptwt(i1,i2,i3,i6).a(2,1)=xm(4)*(l5_36w(i3,i6).c(2,1)*r4
     & _12fz(i1,i2).a(1,1)+l5_36w(i3,i6).a(2,2)*r4_12fz(i1,i2).b
     & (2,1))
      tapptwt(i1,i2,i3,i6).c(2,1)=l5_36w(i3,i6).c(2,1)*p356q*r4_
     & 12fz(i1,i2).d(1,1)+l5_36w(i3,i6).a(2,2)*r4_12fz(i1,i2).c(
     & 2,1)
      tapptwt(i1,i2,i3,i6).a(2,2)=l5_36w(i3,i6).c(2,1)*p356q*r4_
     & 12fz(i1,i2).b(1,2)+l5_36w(i3,i6).a(2,2)*r4_12fz(i1,i2).a(
     & 2,2)
      tapptwt(i1,i2,i3,i6).c(2,2)=xm(4)*(l5_36w(i3,i6).c(2,1)*r4
     & _12fz(i1,i2).c(1,2)+l5_36w(i3,i6).a(2,2)*r4_12fz(i1,i2).d
     & (2,2))
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* mline -- res=cc3(i1,i2,i3,i6,&),abcd=tapptwt(i1,i2,i3,i6).,m1=xm(5),m2=(-
* xm(4)),den=((p356q-xm(4)**2)*p356k0)
      do iut=1,2
      do jut=1,2
      cc3(i1,i2,i3,i6,iut,jut)=(tapptwt(i1,i2,i3,i6).a(iut,jut)+
     & xm(5)*tapptwt(i1,i2,i3,i6).b(iut,jut)+(-xm(4))*tapptwt(i1
     & ,i2,i3,i6).c(iut,jut)+xm(5)*(-xm(4))*tapptwt(i1,i2,i3,i6)
     & .d(iut,jut))/((p356q-xm(4)**2)*p356k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
* quqd -- p=p125,q=p4
      quqd=p125(0)*p4(0)-p125(1)*p4(1)-p125(2)*p4(2)-p125(3)*p4(
     & 3)
      do i3=1,2
      do i6=1,2
* TW -- qu=p125,qd=p4,v=c36w(i3,i6).e,a=r4_36w(i3,i6).a,b=r4_36w(i3,i6).b,c
* =r4_36w(i3,i6).c,d=r4_36w(i3,i6).d,cl=wcl,nsum=0
      ceps_0=-c36w(i3,i6).ek0*(p125(2)*p4(3)-p4(2)*p125(3))+p125
     & k0*(c36w(i3,i6).e(2)*p4(3)-p4(2)*c36w(i3,i6).e(3))-p4k0*(
     & c36w(i3,i6).e(2)*p125(3)-p125(2)*c36w(i3,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c36w(i3,i6).e(3)*p125k0+p125(3)*c36w(i3,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c36w(i3,i6).e(3)*p4k0+p4(3)*c36w(i3,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c36w(i3,i6).e(0)*p125(0)-c36w(i3,i6).e(1)*p125(1)-c36
     & w(i3,i6).e(2)*p125(2)-c36w(i3,i6).e(3)*p125(3)
      cvqd=c36w(i3,i6).e(0)*p4(0)-c36w(i3,i6).e(1)*p4(1)-c36w(i3
     & ,i6).e(2)*p4(2)-c36w(i3,i6).e(3)*p4(3)
      cauxa=-c36w(i3,i6).ek0*quqd+p125k0*cvqd+p4k0*cvqu
      cauxb=-c36w(i3,i6).ek0*p4(2)+p4k0*c36w(i3,i6).e(2)
      cauxc=+c36w(i3,i6).ek0*p125(2)-p125k0*c36w(i3,i6).e(2)
      r4_36w(i3,i6).a(2,2)=wcl*(cauxa-ceps_0)
      r4_36w(i3,i6).b(1,2)=wcl*(cauxb-ceps_2)
      r4_36w(i3,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      r4_36w(i3,i6).d(1,1)=wcl*c36w(i3,i6).ek0
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* TTW -- aa=tappttw(i1,i2,i3,i6).a,bb=tappttw(i1,i2,i3,i6).b,cc=tappttw(i1,
* i2,i3,i6).c,dd=tappttw(i1,i2,i3,i6).d,a1=l5_12fz(i1,i2).a,b1=l5_12fz(i1,i2
* ).b,c1=l5_12fz(i1,i2).c,d1=l5_12fz(i1,i2).d,a2=r4_36w(i3,i6).a,b2=r4_36w(i
* 3,i6).b,c2=r4_36w(i3,i6).c,d2=r4_36w(i3,i6).d,prq=p125q,m=xm(5)
      tappttw(i1,i2,i3,i6).c(1,1)=xm(5)*(l5_12fz(i1,i2).a(1,1)*r
     & 4_36w(i3,i6).d(1,1)+l5_12fz(i1,i2).c(1,2)*r4_36w(i3,i6).c
     & (2,1))
      tappttw(i1,i2,i3,i6).d(1,1)=l5_12fz(i1,i2).d(1,1)*p125q*r4
     & _36w(i3,i6).d(1,1)+l5_12fz(i1,i2).b(1,2)*r4_36w(i3,i6).c(
     & 2,1)
      tappttw(i1,i2,i3,i6).a(1,2)=xm(5)*(l5_12fz(i1,i2).a(1,1)*r
     & 4_36w(i3,i6).b(1,2)+l5_12fz(i1,i2).c(1,2)*r4_36w(i3,i6).a
     & (2,2))
      tappttw(i1,i2,i3,i6).b(1,2)=l5_12fz(i1,i2).d(1,1)*p125q*r4
     & _36w(i3,i6).b(1,2)+l5_12fz(i1,i2).b(1,2)*r4_36w(i3,i6).a(
     & 2,2)
      tappttw(i1,i2,i3,i6).c(2,1)=l5_12fz(i1,i2).c(2,1)*p125q*r4
     & _36w(i3,i6).d(1,1)+l5_12fz(i1,i2).a(2,2)*r4_36w(i3,i6).c(
     & 2,1)
      tappttw(i1,i2,i3,i6).d(2,1)=xm(5)*(l5_12fz(i1,i2).b(2,1)*r
     & 4_36w(i3,i6).d(1,1)+l5_12fz(i1,i2).d(2,2)*r4_36w(i3,i6).c
     & (2,1))
      tappttw(i1,i2,i3,i6).a(2,2)=l5_12fz(i1,i2).c(2,1)*p125q*r4
     & _36w(i3,i6).b(1,2)+l5_12fz(i1,i2).a(2,2)*r4_36w(i3,i6).a(
     & 2,2)
      tappttw(i1,i2,i3,i6).b(2,2)=xm(5)*(l5_12fz(i1,i2).b(2,1)*r
     & 4_36w(i3,i6).b(1,2)+l5_12fz(i1,i2).d(2,2)*r4_36w(i3,i6).a
     & (2,2))
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* mline -- res=cc4(i1,i2,i3,i6,&),abcd=tappttw(i1,i2,i3,i6).,m1=xm(5),m2=(-
* xm(4)),den=((p125q-xm(5)**2)*p125k0)
      do iut=1,2
      do jut=1,2
      cc4(i1,i2,i3,i6,iut,jut)=(tappttw(i1,i2,i3,i6).a(iut,jut)+
     & xm(5)*tappttw(i1,i2,i3,i6).b(iut,jut)+(-xm(4))*tappttw(i1
     & ,i2,i3,i6).c(iut,jut)+xm(5)*(-xm(4))*tappttw(i1,i2,i3,i6)
     & .d(iut,jut))/((p125q-xm(5)**2)*p125k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*
*******diagrammi con solo  w+ risonante*********
*
* vengono usate le routine twr0 e twl0 anche per fotone perche' quando
* c'e' una linea che si attacca con w non sono piu' necessari attaccamenti
* right handed
* quqd -- p=p3,q=p345
      quqd=p3(0)*p345(0)-p3(1)*p345(1)-p3(2)*p345(2)-p3(3)*p345(
     & 3)
      do i5=1,2
      do i4=1,2
* TW -- qu=p3,qd=p345,v=c54w(i5,i4).e,a=l3_54w(i5,i4).a,b=l3_54w(i5,i4).b,c
* =l3_54w(i5,i4).c,d=l3_54w(i5,i4).d,cl=wcl,nsum=0
      ceps_0=-c54w(i5,i4).ek0*(p3(2)*p345(3)-p345(2)*p3(3))+p3k0
     & *(c54w(i5,i4).e(2)*p345(3)-p345(2)*c54w(i5,i4).e(3))-p345
     & k0*(c54w(i5,i4).e(2)*p3(3)-p3(2)*c54w(i5,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c54w(i5,i4).e(3)*p3k0+p3(3)*c54w(i5,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c54w(i5,i4).e(3)*p345k0+p345(3)*c54w(i5,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c54w(i5,i4).e(0)*p3(0)-c54w(i5,i4).e(1)*p3(1)-c54w(i5
     & ,i4).e(2)*p3(2)-c54w(i5,i4).e(3)*p3(3)
      cvqd=c54w(i5,i4).e(0)*p345(0)-c54w(i5,i4).e(1)*p345(1)-c54
     & w(i5,i4).e(2)*p345(2)-c54w(i5,i4).e(3)*p345(3)
      cauxa=-c54w(i5,i4).ek0*quqd+p3k0*cvqd+p345k0*cvqu
      cauxb=-c54w(i5,i4).ek0*p345(2)+p345k0*c54w(i5,i4).e(2)
      cauxc=+c54w(i5,i4).ek0*p3(2)-p3k0*c54w(i5,i4).e(2)
      l3_54w(i5,i4).a(2,2)=wcl*(cauxa-ceps_0)
      l3_54w(i5,i4).b(1,2)=wcl*(cauxb-ceps_2)
      l3_54w(i5,i4).c(2,1)=wcl*(-cauxc+ceps_1)
      l3_54w(i5,i4).d(1,1)=wcl*c54w(i5,i4).ek0
      end do
      end do
*****attaccamento di  c12f(2) a 3
* quqd -- p=p3,q=p123
      quqd=p3(0)*p123(0)-p3(1)*p123(1)-p3(2)*p123(2)-p3(3)*p123(
     & 3)
      do i1=1,2
      do i2=1,2
* T -- qu=p3,qd=p123,v=c12f(i1,i2).e,a=l3_12fz(i1,i2).a,b=l3_12fz(i1,i2).b,
* c=l3_12fz(i1,i2).c,d=l3_12fz(i1,i2).d,cr=f3r,cl=f3l,nsum=0
      ceps_0=-c12f(i1,i2).ek0*(p3(2)*p123(3)-p123(2)*p3(3))+p3k0
     & *(c12f(i1,i2).e(2)*p123(3)-p123(2)*c12f(i1,i2).e(3))-p123
     & k0*(c12f(i1,i2).e(2)*p3(3)-p3(2)*c12f(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12f(i1,i2).e(3)*p3k0+p3(3)*c12f(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12f(i1,i2).e(3)*p123k0+p123(3)*c12f(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12f(i1,i2).e(0)*p3(0)-c12f(i1,i2).e(1)*p3(1)-c12f(i1
     & ,i2).e(2)*p3(2)-c12f(i1,i2).e(3)*p3(3)
      cvqd=c12f(i1,i2).e(0)*p123(0)-c12f(i1,i2).e(1)*p123(1)-c12
     & f(i1,i2).e(2)*p123(2)-c12f(i1,i2).e(3)*p123(3)
      cauxa=-c12f(i1,i2).ek0*quqd+p3k0*cvqd+p123k0*cvqu
      cauxb=-c12f(i1,i2).ek0*p123(2)+p123k0*c12f(i1,i2).e(2)
      cauxc=+c12f(i1,i2).ek0*p3(2)-p3k0*c12f(i1,i2).e(2)
      l3_12fz(i1,i2).a(1,1)=f3r*(cauxa+ceps_0)
      l3_12fz(i1,i2).a(2,2)=f3l*(cauxa-ceps_0)
      l3_12fz(i1,i2).b(1,2)=f3l*(cauxb-ceps_2)
      l3_12fz(i1,i2).b(2,1)=f3r*(-cauxb-ceps_2)
      l3_12fz(i1,i2).c(1,2)=f3r*(cauxc+ceps_1)
      l3_12fz(i1,i2).c(2,1)=f3l*(-cauxc+ceps_1)
      l3_12fz(i1,i2).d(1,1)=f3l*c12f(i1,i2).ek0
      l3_12fz(i1,i2).d(2,2)=f3r*c12f(i1,i2).ek0
      end do
      end do
*****attaccamento di  c12z(2) a 3
      do i1=1,2
      do i2=1,2
* T -- qu=p3,qd=p123,v=c12z(i1,i2).e,a=l3_12fz(i1,i2).a,b=l3_12fz(i1,i2).b,
* c=l3_12fz(i1,i2).c,d=l3_12fz(i1,i2).d,cr=z3r,cl=z3l,nsum=1
      ceps_0=-c12z(i1,i2).ek0*(p3(2)*p123(3)-p123(2)*p3(3))+p3k0
     & *(c12z(i1,i2).e(2)*p123(3)-p123(2)*c12z(i1,i2).e(3))-p123
     & k0*(c12z(i1,i2).e(2)*p3(3)-p3(2)*c12z(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12z(i1,i2).e(3)*p3k0+p3(3)*c12z(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12z(i1,i2).e(3)*p123k0+p123(3)*c12z(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12z(i1,i2).e(0)*p3(0)-c12z(i1,i2).e(1)*p3(1)-c12z(i1
     & ,i2).e(2)*p3(2)-c12z(i1,i2).e(3)*p3(3)
      cvqd=c12z(i1,i2).e(0)*p123(0)-c12z(i1,i2).e(1)*p123(1)-c12
     & z(i1,i2).e(2)*p123(2)-c12z(i1,i2).e(3)*p123(3)
      cauxa=-c12z(i1,i2).ek0*quqd+p3k0*cvqd+p123k0*cvqu
      cauxb=-c12z(i1,i2).ek0*p123(2)+p123k0*c12z(i1,i2).e(2)
      cauxc=+c12z(i1,i2).ek0*p3(2)-p3k0*c12z(i1,i2).e(2)
      l3_12fz(i1,i2).a(1,1)=l3_12fz(i1,i2).a(1,1)+z3r*(cauxa+cep
     & s_0)
      l3_12fz(i1,i2).a(2,2)=l3_12fz(i1,i2).a(2,2)+z3l*(cauxa-cep
     & s_0)
      l3_12fz(i1,i2).b(1,2)=l3_12fz(i1,i2).b(1,2)+z3l*(cauxb-cep
     & s_2)
      l3_12fz(i1,i2).b(2,1)=l3_12fz(i1,i2).b(2,1)+z3r*(-cauxb-ce
     & ps_2)
      l3_12fz(i1,i2).c(1,2)=l3_12fz(i1,i2).c(1,2)+z3r*(cauxc+cep
     & s_1)
      l3_12fz(i1,i2).c(2,1)=l3_12fz(i1,i2).c(2,1)+z3l*(-cauxc+ce
     & ps_1)
      l3_12fz(i1,i2).d(1,1)=l3_12fz(i1,i2).d(1,1)+z3l*c12z(i1,i2
     & ).ek0
      l3_12fz(i1,i2).d(2,2)=l3_12fz(i1,i2).d(2,2)+z3r*c12z(i1,i2
     & ).ek0
      end do
      end do
*****attaccamento di  c12f(2) a 6
* quqd -- p=p345,q=p6
      quqd=p345(0)*p6(0)-p345(1)*p6(1)-p345(2)*p6(2)-p345(3)*p6(
     & 3)
      do i1=1,2
      do i2=1,2
* T -- qu=p345,qd=p6,v=c12f(i1,i2).e,a=r6_12fz(i1,i2).a,b=r6_12fz(i1,i2).b,
* c=r6_12fz(i1,i2).c,d=r6_12fz(i1,i2).d,cr=f6r,cl=f6l,nsum=0
      ceps_0=-c12f(i1,i2).ek0*(p345(2)*p6(3)-p6(2)*p345(3))+p345
     & k0*(c12f(i1,i2).e(2)*p6(3)-p6(2)*c12f(i1,i2).e(3))-p6k0*(
     & c12f(i1,i2).e(2)*p345(3)-p345(2)*c12f(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12f(i1,i2).e(3)*p345k0+p345(3)*c12f(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12f(i1,i2).e(3)*p6k0+p6(3)*c12f(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12f(i1,i2).e(0)*p345(0)-c12f(i1,i2).e(1)*p345(1)-c12
     & f(i1,i2).e(2)*p345(2)-c12f(i1,i2).e(3)*p345(3)
      cvqd=c12f(i1,i2).e(0)*p6(0)-c12f(i1,i2).e(1)*p6(1)-c12f(i1
     & ,i2).e(2)*p6(2)-c12f(i1,i2).e(3)*p6(3)
      cauxa=-c12f(i1,i2).ek0*quqd+p345k0*cvqd+p6k0*cvqu
      cauxb=-c12f(i1,i2).ek0*p6(2)+p6k0*c12f(i1,i2).e(2)
      cauxc=+c12f(i1,i2).ek0*p345(2)-p345k0*c12f(i1,i2).e(2)
      r6_12fz(i1,i2).a(1,1)=f6r*(cauxa+ceps_0)
      r6_12fz(i1,i2).a(2,2)=f6l*(cauxa-ceps_0)
      r6_12fz(i1,i2).b(1,2)=f6l*(cauxb-ceps_2)
      r6_12fz(i1,i2).b(2,1)=f6r*(-cauxb-ceps_2)
      r6_12fz(i1,i2).c(1,2)=f6r*(cauxc+ceps_1)
      r6_12fz(i1,i2).c(2,1)=f6l*(-cauxc+ceps_1)
      r6_12fz(i1,i2).d(1,1)=f6l*c12f(i1,i2).ek0
      r6_12fz(i1,i2).d(2,2)=f6r*c12f(i1,i2).ek0
      end do
      end do
*****attaccamento di  c12z(2) a 6
      do i1=1,2
      do i2=1,2
* T -- qu=p345,qd=p6,v=c12z(i1,i2).e,a=r6_12fz(i1,i2).a,b=r6_12fz(i1,i2).b,
* c=r6_12fz(i1,i2).c,d=r6_12fz(i1,i2).d,cr=z6r,cl=z6l,nsum=1
      ceps_0=-c12z(i1,i2).ek0*(p345(2)*p6(3)-p6(2)*p345(3))+p345
     & k0*(c12z(i1,i2).e(2)*p6(3)-p6(2)*c12z(i1,i2).e(3))-p6k0*(
     & c12z(i1,i2).e(2)*p345(3)-p345(2)*c12z(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12z(i1,i2).e(3)*p345k0+p345(3)*c12z(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12z(i1,i2).e(3)*p6k0+p6(3)*c12z(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12z(i1,i2).e(0)*p345(0)-c12z(i1,i2).e(1)*p345(1)-c12
     & z(i1,i2).e(2)*p345(2)-c12z(i1,i2).e(3)*p345(3)
      cvqd=c12z(i1,i2).e(0)*p6(0)-c12z(i1,i2).e(1)*p6(1)-c12z(i1
     & ,i2).e(2)*p6(2)-c12z(i1,i2).e(3)*p6(3)
      cauxa=-c12z(i1,i2).ek0*quqd+p345k0*cvqd+p6k0*cvqu
      cauxb=-c12z(i1,i2).ek0*p6(2)+p6k0*c12z(i1,i2).e(2)
      cauxc=+c12z(i1,i2).ek0*p345(2)-p345k0*c12z(i1,i2).e(2)
      r6_12fz(i1,i2).a(1,1)=r6_12fz(i1,i2).a(1,1)+z6r*(cauxa+cep
     & s_0)
      r6_12fz(i1,i2).a(2,2)=r6_12fz(i1,i2).a(2,2)+z6l*(cauxa-cep
     & s_0)
      r6_12fz(i1,i2).b(1,2)=r6_12fz(i1,i2).b(1,2)+z6l*(cauxb-cep
     & s_2)
      r6_12fz(i1,i2).b(2,1)=r6_12fz(i1,i2).b(2,1)+z6r*(-cauxb-ce
     & ps_2)
      r6_12fz(i1,i2).c(1,2)=r6_12fz(i1,i2).c(1,2)+z6r*(cauxc+cep
     & s_1)
      r6_12fz(i1,i2).c(2,1)=r6_12fz(i1,i2).c(2,1)+z6l*(-cauxc+ce
     & ps_1)
      r6_12fz(i1,i2).d(1,1)=r6_12fz(i1,i2).d(1,1)+z6l*c12z(i1,i2
     & ).ek0
      r6_12fz(i1,i2).d(2,2)=r6_12fz(i1,i2).d(2,2)+z6r*c12z(i1,i2
     & ).ek0
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* TWT -- aa=tapptwt(i1,i2,i5,i4).a,bb=tapptwt(i1,i2,i5,i4).b,cc=tapptwt(i1,
* i2,i5,i4).c,dd=tapptwt(i1,i2,i5,i4).d,a1=l3_54w(i5,i4).a,b1=l3_54w(i5,i4).
* b,c1=l3_54w(i5,i4).c,d1=l3_54w(i5,i4).d,a2=r6_12fz(i1,i2).a,b2=r6_12fz(i1,
* i2).b,c2=r6_12fz(i1,i2).c,d2=r6_12fz(i1,i2).d,prq=p345q,m=xm(6)
      tapptwt(i1,i2,i5,i4).b(1,1)=xm(6)*(l3_54w(i5,i4).d(1,1)*r6
     & _12fz(i1,i2).a(1,1)+l3_54w(i5,i4).b(1,2)*r6_12fz(i1,i2).b
     & (2,1))
      tapptwt(i1,i2,i5,i4).d(1,1)=l3_54w(i5,i4).d(1,1)*p345q*r6_
     & 12fz(i1,i2).d(1,1)+l3_54w(i5,i4).b(1,2)*r6_12fz(i1,i2).c(
     & 2,1)
      tapptwt(i1,i2,i5,i4).b(1,2)=l3_54w(i5,i4).d(1,1)*p345q*r6_
     & 12fz(i1,i2).b(1,2)+l3_54w(i5,i4).b(1,2)*r6_12fz(i1,i2).a(
     & 2,2)
      tapptwt(i1,i2,i5,i4).d(1,2)=xm(6)*(l3_54w(i5,i4).d(1,1)*r6
     & _12fz(i1,i2).c(1,2)+l3_54w(i5,i4).b(1,2)*r6_12fz(i1,i2).d
     & (2,2))
      tapptwt(i1,i2,i5,i4).a(2,1)=xm(6)*(l3_54w(i5,i4).c(2,1)*r6
     & _12fz(i1,i2).a(1,1)+l3_54w(i5,i4).a(2,2)*r6_12fz(i1,i2).b
     & (2,1))
      tapptwt(i1,i2,i5,i4).c(2,1)=l3_54w(i5,i4).c(2,1)*p345q*r6_
     & 12fz(i1,i2).d(1,1)+l3_54w(i5,i4).a(2,2)*r6_12fz(i1,i2).c(
     & 2,1)
      tapptwt(i1,i2,i5,i4).a(2,2)=l3_54w(i5,i4).c(2,1)*p345q*r6_
     & 12fz(i1,i2).b(1,2)+l3_54w(i5,i4).a(2,2)*r6_12fz(i1,i2).a(
     & 2,2)
      tapptwt(i1,i2,i5,i4).c(2,2)=xm(6)*(l3_54w(i5,i4).c(2,1)*r6
     & _12fz(i1,i2).c(1,2)+l3_54w(i5,i4).a(2,2)*r6_12fz(i1,i2).d
     & (2,2))
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* mline -- res=cc5(i1,i2,i5,i4,&),abcd=tapptwt(i1,i2,i5,i4).,m1=xm(3),m2=(-
* xm(6)),den=((p345q-xm(6)**2)*p345k0)
      do iut=1,2
      do jut=1,2
      cc5(i1,i2,i5,i4,iut,jut)=(tapptwt(i1,i2,i5,i4).a(iut,jut)+
     & xm(3)*tapptwt(i1,i2,i5,i4).b(iut,jut)+(-xm(6))*tapptwt(i1
     & ,i2,i5,i4).c(iut,jut)+xm(3)*(-xm(6))*tapptwt(i1,i2,i5,i4)
     & .d(iut,jut))/((p345q-xm(6)**2)*p345k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
* quqd -- p=p123,q=p6
      quqd=p123(0)*p6(0)-p123(1)*p6(1)-p123(2)*p6(2)-p123(3)*p6(
     & 3)
      do i5=1,2
      do i4=1,2
* TW -- qu=p123,qd=p6,v=c54w(i5,i4).e,a=r6_54w(i5,i4).a,b=r6_54w(i5,i4).b,c
* =r6_54w(i5,i4).c,d=r6_54w(i5,i4).d,cl=wcl,nsum=0
      ceps_0=-c54w(i5,i4).ek0*(p123(2)*p6(3)-p6(2)*p123(3))+p123
     & k0*(c54w(i5,i4).e(2)*p6(3)-p6(2)*c54w(i5,i4).e(3))-p6k0*(
     & c54w(i5,i4).e(2)*p123(3)-p123(2)*c54w(i5,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c54w(i5,i4).e(3)*p123k0+p123(3)*c54w(i5,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c54w(i5,i4).e(3)*p6k0+p6(3)*c54w(i5,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c54w(i5,i4).e(0)*p123(0)-c54w(i5,i4).e(1)*p123(1)-c54
     & w(i5,i4).e(2)*p123(2)-c54w(i5,i4).e(3)*p123(3)
      cvqd=c54w(i5,i4).e(0)*p6(0)-c54w(i5,i4).e(1)*p6(1)-c54w(i5
     & ,i4).e(2)*p6(2)-c54w(i5,i4).e(3)*p6(3)
      cauxa=-c54w(i5,i4).ek0*quqd+p123k0*cvqd+p6k0*cvqu
      cauxb=-c54w(i5,i4).ek0*p6(2)+p6k0*c54w(i5,i4).e(2)
      cauxc=+c54w(i5,i4).ek0*p123(2)-p123k0*c54w(i5,i4).e(2)
      r6_54w(i5,i4).a(2,2)=wcl*(cauxa-ceps_0)
      r6_54w(i5,i4).b(1,2)=wcl*(cauxb-ceps_2)
      r6_54w(i5,i4).c(2,1)=wcl*(-cauxc+ceps_1)
      r6_54w(i5,i4).d(1,1)=wcl*c54w(i5,i4).ek0
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* TTW -- aa=tappttw(i1,i2,i5,i4).a,bb=tappttw(i1,i2,i5,i4).b,cc=tappttw(i1,
* i2,i5,i4).c,dd=tappttw(i1,i2,i5,i4).d,a1=l3_12fz(i1,i2).a,b1=l3_12fz(i1,i2
* ).b,c1=l3_12fz(i1,i2).c,d1=l3_12fz(i1,i2).d,a2=r6_54w(i5,i4).a,b2=r6_54w(i
* 5,i4).b,c2=r6_54w(i5,i4).c,d2=r6_54w(i5,i4).d,prq=p123q,m=xm(3)
      tappttw(i1,i2,i5,i4).c(1,1)=xm(3)*(l3_12fz(i1,i2).a(1,1)*r
     & 6_54w(i5,i4).d(1,1)+l3_12fz(i1,i2).c(1,2)*r6_54w(i5,i4).c
     & (2,1))
      tappttw(i1,i2,i5,i4).d(1,1)=l3_12fz(i1,i2).d(1,1)*p123q*r6
     & _54w(i5,i4).d(1,1)+l3_12fz(i1,i2).b(1,2)*r6_54w(i5,i4).c(
     & 2,1)
      tappttw(i1,i2,i5,i4).a(1,2)=xm(3)*(l3_12fz(i1,i2).a(1,1)*r
     & 6_54w(i5,i4).b(1,2)+l3_12fz(i1,i2).c(1,2)*r6_54w(i5,i4).a
     & (2,2))
      tappttw(i1,i2,i5,i4).b(1,2)=l3_12fz(i1,i2).d(1,1)*p123q*r6
     & _54w(i5,i4).b(1,2)+l3_12fz(i1,i2).b(1,2)*r6_54w(i5,i4).a(
     & 2,2)
      tappttw(i1,i2,i5,i4).c(2,1)=l3_12fz(i1,i2).c(2,1)*p123q*r6
     & _54w(i5,i4).d(1,1)+l3_12fz(i1,i2).a(2,2)*r6_54w(i5,i4).c(
     & 2,1)
      tappttw(i1,i2,i5,i4).d(2,1)=xm(3)*(l3_12fz(i1,i2).b(2,1)*r
     & 6_54w(i5,i4).d(1,1)+l3_12fz(i1,i2).d(2,2)*r6_54w(i5,i4).c
     & (2,1))
      tappttw(i1,i2,i5,i4).a(2,2)=l3_12fz(i1,i2).c(2,1)*p123q*r6
     & _54w(i5,i4).b(1,2)+l3_12fz(i1,i2).a(2,2)*r6_54w(i5,i4).a(
     & 2,2)
      tappttw(i1,i2,i5,i4).b(2,2)=xm(3)*(l3_12fz(i1,i2).b(2,1)*r
     & 6_54w(i5,i4).b(1,2)+l3_12fz(i1,i2).d(2,2)*r6_54w(i5,i4).a
     & (2,2))
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* mline -- res=cc6(i1,i2,i5,i4,&),abcd=tappttw(i1,i2,i5,i4).,m1=xm(3),m2=(-
* xm(6)),den=((p123q-xm(3)**2)*p123k0)
      do iut=1,2
      do jut=1,2
      cc6(i1,i2,i5,i4,iut,jut)=(tappttw(i1,i2,i5,i4).a(iut,jut)+
     & xm(3)*tappttw(i1,i2,i5,i4).b(iut,jut)+(-xm(6))*tappttw(i1
     & ,i2,i5,i4).c(iut,jut)+xm(3)*(-xm(6))*tappttw(i1,i2,i5,i4)
     & .d(iut,jut))/((p123q-xm(3)**2)*p123k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
* qui iniziano i secondi diagrammi di cc20
          if (i3e.eq.1) then
* quqd -- p=p2,q=p3
      quqd=p2(0)*p3(0)-p2(1)*p3(1)-p2(2)*p3(2)-p2(3)*p3(3)
* il - qui e in cdw e' perche' i propagatori bosonici portano un segno
* - rispetto a quelli fermionici
*begin{EZ} tolta width della Z in canale t
      cdz=-1.d0/((2.d0*rme**2-2.d0*quqd)-rmz2)
*end{EZ}
      df=-1.d0/(2.d0*rme**2-2.d0*quqd)
      fac1=(df*fer)
      fac2=(df*fel)
      cfac1z=(cdz*zer)
      cfac2z=(cdz*zel)
* T -- qu=p3,qd=p2,v=0,a=v23f(0).a,b=v23f(0).b,c=v23f(0).c,d=v23f(0).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p3(2)*p2(3)+p2(2)*p3(3)
      ceps_0=eps_0*cim
      ceps_1=p3(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p3k0*p2(0)+p2k0*p3(0)
      v23f(0).a(1,1)=fac1*(auxa+ceps_0)
      v23f(0).a(2,2)=fac2*(auxa-ceps_0)
      v23f(0).b(1,2)=-fac2*(p2(2)+ceps_2)
      v23f(0).b(2,1)=fac1*(p2(2)-ceps_2)
      v23f(0).c(1,2)=fac1*(p3(2)+ceps_1)
      v23f(0).c(2,1)=fac2*(-p3(2)+ceps_1)
      v23f(0).d(1,1)=fac2
      v23f(0).d(2,2)=fac1
* T -- qu=p3,qd=p2,v=1,a=v23f(1).a,b=v23f(1).b,c=v23f(1).c,d=v23f(1).d,cr=f
* ac1,cl=fac2,nsum=0
      auxa=-quqd+p3k0*p2(1)+p2k0*p3(1)
      v23f(1).a(1,1)=fac1*(auxa+ceps_0)
      v23f(1).a(2,2)=fac2*(auxa-ceps_0)
      v23f(1).b(1,2)=-fac2*(p2(2)+ceps_2)
      v23f(1).b(2,1)=fac1*(p2(2)-ceps_2)
      v23f(1).c(1,2)=fac1*(p3(2)+ceps_1)
      v23f(1).c(2,1)=fac2*(-p3(2)+ceps_1)
      v23f(1).d(1,1)=fac2
      v23f(1).d(2,2)=fac1
* T -- qu=p3,qd=p2,v=2,a=v23f(2).a,b=v23f(2).b,c=v23f(2).c,d=v23f(2).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p3k0*p2(3)+p2k0*p3(3)
      ceps_0=eps_0*cim
      auxa=p3k0*p2(2)+p2k0*p3(2)
      v23f(2).a(1,1)=fac1*(auxa+ceps_0)
      v23f(2).a(2,2)=fac2*(auxa-ceps_0)
      v23f(2).b(1,2)=-fac2*p2k0
      v23f(2).b(2,1)=fac1*p2k0
      v23f(2).c(1,2)=fac1*p3k0
      v23f(2).c(2,1)=-fac2*p3k0
* T -- qu=p3,qd=p2,v=3,a=v23f(3).a,b=v23f(3).b,c=v23f(3).c,d=v23f(3).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=p3k0*p2(2)-p2k0*p3(2)
      ceps_0=eps_0*cim
      ceps_1=p3k0*cim
      ceps_2=p2k0*cim
      auxa=+p3k0*p2(3)+p2k0*p3(3)
      v23f(3).a(1,1)=fac1*(auxa+ceps_0)
      v23f(3).a(2,2)=fac2*(auxa-ceps_0)
      v23f(3).b(1,2)=-fac2*ceps_2
      v23f(3).b(2,1)=-fac1*ceps_2
      v23f(3).c(1,2)=fac1*ceps_1
      v23f(3).c(2,1)=fac2*ceps_1
      do m=0,3
* mline -- res=c23f(&).e(m),abcd=v23f(m).,m1=rme,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c23f(iut,jut).e(m)=v23f(m).a(iut,jut)+rme*v23f(m).b(iut,ju
     & t)+rme*v23f(m).c(iut,jut)+rme*rme*v23f(m).d(iut,jut)
      enddo
      enddo
      end do
* T -- qu=p3,qd=p2,v=0,a=v23z(0).a,b=v23z(0).b,c=v23z(0).c,d=v23z(0).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p3(2)*p2(3)+p2(2)*p3(3)
      ceps_0=eps_0*cim
      ceps_1=p3(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p3k0*p2(0)+p2k0*p3(0)
      v23z(0).a(1,1)=cfac1z*(auxa+ceps_0)
      v23z(0).a(2,2)=cfac2z*(auxa-ceps_0)
      v23z(0).b(1,2)=-cfac2z*(p2(2)+ceps_2)
      v23z(0).b(2,1)=cfac1z*(p2(2)-ceps_2)
      v23z(0).c(1,2)=cfac1z*(p3(2)+ceps_1)
      v23z(0).c(2,1)=cfac2z*(-p3(2)+ceps_1)
      v23z(0).d(1,1)=cfac2z
      v23z(0).d(2,2)=cfac1z
* T -- qu=p3,qd=p2,v=1,a=v23z(1).a,b=v23z(1).b,c=v23z(1).c,d=v23z(1).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      auxa=-quqd+p3k0*p2(1)+p2k0*p3(1)
      v23z(1).a(1,1)=cfac1z*(auxa+ceps_0)
      v23z(1).a(2,2)=cfac2z*(auxa-ceps_0)
      v23z(1).b(1,2)=-cfac2z*(p2(2)+ceps_2)
      v23z(1).b(2,1)=cfac1z*(p2(2)-ceps_2)
      v23z(1).c(1,2)=cfac1z*(p3(2)+ceps_1)
      v23z(1).c(2,1)=cfac2z*(-p3(2)+ceps_1)
      v23z(1).d(1,1)=cfac2z
      v23z(1).d(2,2)=cfac1z
* T -- qu=p3,qd=p2,v=2,a=v23z(2).a,b=v23z(2).b,c=v23z(2).c,d=v23z(2).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p3k0*p2(3)+p2k0*p3(3)
      ceps_0=eps_0*cim
      auxa=p3k0*p2(2)+p2k0*p3(2)
      v23z(2).a(1,1)=cfac1z*(auxa+ceps_0)
      v23z(2).a(2,2)=cfac2z*(auxa-ceps_0)
      v23z(2).b(1,2)=-cfac2z*p2k0
      v23z(2).b(2,1)=cfac1z*p2k0
      v23z(2).c(1,2)=cfac1z*p3k0
      v23z(2).c(2,1)=-cfac2z*p3k0
* T -- qu=p3,qd=p2,v=3,a=v23z(3).a,b=v23z(3).b,c=v23z(3).c,d=v23z(3).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=p3k0*p2(2)-p2k0*p3(2)
      ceps_0=eps_0*cim
      ceps_1=p3k0*cim
      ceps_2=p2k0*cim
      auxa=+p3k0*p2(3)+p2k0*p3(3)
      v23z(3).a(1,1)=cfac1z*(auxa+ceps_0)
      v23z(3).a(2,2)=cfac2z*(auxa-ceps_0)
      v23z(3).b(1,2)=-cfac2z*ceps_2
      v23z(3).b(2,1)=-cfac1z*ceps_2
      v23z(3).c(1,2)=cfac1z*ceps_1
      v23z(3).c(2,1)=cfac2z*ceps_1
      do m=0,3
* mline -- res=c23z(&).e(m),abcd=v23z(m).,m1=rme,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c23z(iut,jut).e(m)=v23z(m).a(iut,jut)+rme*v23z(m).b(iut,ju
     & t)+rme*v23z(m).c(iut,jut)+rme*rme*v23z(m).d(iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i2=1,2
        do i3=1,2
          c23z(i3,i2).v=c23z(i3,i2).e(0)*p23(0)
          do i=1,3
            c23z(i3,i2).v=c23z(i3,i2).v-
     &      c23z(i3,i2).e(i)*p23(i)
          enddo
        enddo
      enddo
      do i2=1,2
        do i3=1,2
          do mu=0,3
            c23z(i3,i2).e(mu)=c23z(i3,i2).e(mu)-p23(mu)
     &      *c23z(i3,i2).v/rmz2
          enddo
        enddo
      enddo
****
      if (ianc.eq.0) then
        do i2=1,2
         do i3=1,2
          do mu=0,3
            c23fz(i3,i2).e(mu)=c23f(i3,i2).e(mu)+
     &      rcotw*c23z(i3,i2).e(mu)
          end do
         end do
        end do
      else
        do i2=1,2
         do i3=1,2
          do mu=0,3
            c23fz(i3,i2).e(mu)=c23f(i3,i2).e(mu)+
     &      (rcotw+delz)*c23z(i3,i2).e(mu)
          end do
         end do
        end do
      endif
        do i2=1,2
         do i3=1,2
          do mu=0,3
            c23fz5(i3,i2).e(mu)=c23f(i3,i2).e(mu)*f5l
     &     +c23z(i3,i2).e(mu)*z5l
            c23fz4(i3,i2).e(mu)=c23f(i3,i2).e(mu)*f4l
     &     +c23z(i3,i2).e(mu)*z4l
            c23fz1(i3,i2).e(mu)=c23f(i3,i2).e(mu)*fel
     &     +c23z(i3,i2).e(mu)*zel
          end do
         end do
        end do
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23z(i3,i2).e
      c23z(i3,i2).ek0=c23z(i3,i2).e(0)-c23z(i3,i2).e(1)
      end do
      end do
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23fz5(i3,i2).e
      c23fz5(i3,i2).ek0=c23fz5(i3,i2).e(0)-c23fz5(i3,i2).e(1)
      end do
      end do
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23fz4(i3,i2).e
      c23fz4(i3,i2).ek0=c23fz4(i3,i2).e(0)-c23fz4(i3,i2).e(1)
      end do
      end do
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23fz1(i3,i2).e
      c23fz1(i3,i2).ek0=c23fz1(i3,i2).e(0)-c23fz1(i3,i2).e(1)
      end do
      end do
* quqd -- p=p1,q=p6
      quqd=p1(0)*p6(0)-p1(1)*p6(1)-p1(2)*p6(2)-p1(3)*p6(3)
      ccl=wcl/((-rme**2+2.d0*quqd)+rmw2-ccw)
* TW -- qu=p1,qd=p6,v=0,a=v16w(0).a,b=v16w(0).b,c=v16w(0).c,d=v16w(0).d,cl=
* ccl,nsum=0
      eps_0=-p1(2)*p6(3)+p6(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p6(3)*cim
      auxa=-quqd+p1k0*p6(0)+p6k0*p1(0)
      v16w(0).a(2,2)=ccl*(auxa-ceps_0)
      v16w(0).b(1,2)=-ccl*(p6(2)+ceps_2)
      v16w(0).c(2,1)=ccl*(-p1(2)+ceps_1)
      v16w(0).d(1,1)=ccl
* TW -- qu=p1,qd=p6,v=1,a=v16w(1).a,b=v16w(1).b,c=v16w(1).c,d=v16w(1).d,cl=
* ccl,nsum=0
      auxa=-quqd+p1k0*p6(1)+p6k0*p1(1)
      v16w(1).a(2,2)=ccl*(auxa-ceps_0)
      v16w(1).b(1,2)=-ccl*(p6(2)+ceps_2)
      v16w(1).c(2,1)=ccl*(-p1(2)+ceps_1)
      v16w(1).d(1,1)=ccl
* TW -- qu=p1,qd=p6,v=2,a=v16w(2).a,b=v16w(2).b,c=v16w(2).c,d=v16w(2).d,cl=
* ccl,nsum=0
      eps_0=-p1k0*p6(3)+p6k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p6(2)+p6k0*p1(2)
      v16w(2).a(2,2)=ccl*(auxa-ceps_0)
      v16w(2).b(1,2)=-ccl*p6k0
      v16w(2).c(2,1)=-ccl*p1k0
* TW -- qu=p1,qd=p6,v=3,a=v16w(3).a,b=v16w(3).b,c=v16w(3).c,d=v16w(3).d,cl=
* ccl,nsum=0
      eps_0=p1k0*p6(2)-p6k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p6k0*cim
      auxa=+p1k0*p6(3)+p6k0*p1(3)
      v16w(3).a(2,2)=ccl*(auxa-ceps_0)
      v16w(3).b(1,2)=-ccl*ceps_2
      v16w(3).c(2,1)=ccl*ceps_1
      do m=0,3
* mline -- res=c16w(&).e(m),abcd=v16w(m).,m1=(-rme),m2=0.d0,den=0
      do iut=1,2
      do jut=1,2
      c16w(iut,jut).e(m)=v16w(m).a(iut,jut)+(-rme)*v16w(m).b(iut
     & ,jut)+0.d0*v16w(m).c(iut,jut)+(-rme)*0.d0*v16w(m).d(iut,j
     & ut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i1=1,2
        do i6=1,2
          c16w(i1,i6).v=c16w(i1,i6).e(0)*p16(0)
          do i=1,3
            c16w(i1,i6).v=c16w(i1,i6).v-
     &      c16w(i1,i6).e(i)*p16(i)
          enddo
        enddo
      enddo
      do i1=1,2
        do i6=1,2
          do mu=0,3
*begin{EZ} modifica termine k(mu)*k(nu)
            c16w(i1,i6).e(mu)=c16w(i1,i6).e(mu)-p16(mu)
     &      *c16w(i1,i6).v/(rmw2-ccw)
          enddo
        enddo
      enddo
****
      do i1=1,2
      do i6=1,2
* pk0 -- p=c16w(i1,i6).e
      c16w(i1,i6).ek0=c16w(i1,i6).e(0)-c16w(i1,i6).e(1)
      end do
      end do
*
* diagramma triplo 20 cc7
*
*** triple vertex -- pfz(mu)=p23(mu),pwm(mu)=p16(mu),pwp(mu)=p45(mu),efz=c2
* 3fz(i3,i2),ewm=c16w(i1,i6),ewp=c54w(i5,i4),res=cc7(i1?,i2?,i3?,i4?,i5?,i6?
* )
      do mu=0,3
      vfz(mu)=p16(mu)-p45(mu)
      vwm(mu)=p45(mu)-p23(mu)
      vwp(mu)=p23(mu)-p16(mu)
      end do !mu
* vfz.efz
      do i3=1,2
      do i2=1,2
* p.q -- p.q=c23fz(i3,i2).v,p=c23fz(i3,i2).e,q=vfz
      c23fz(i3,i2).v=c23fz(i3,i2).e(0)*vfz(0)-c23fz(i3,i2).e(1)*
     & vfz(1)-c23fz(i3,i2).e(2)*vfz(2)-c23fz(i3,i2).e(3)*vfz(3)
      end do
      end do
* vwm.ewm
      do i1=1,2
      do i6=1,2
* p.q -- p.q=c16w(i1,i6).v,p=c16w(i1,i6).e,q=vwm
      c16w(i1,i6).v=c16w(i1,i6).e(0)*vwm(0)-c16w(i1,i6).e(1)*vwm
     & (1)-c16w(i1,i6).e(2)*vwm(2)-c16w(i1,i6).e(3)*vwm(3)
      end do
      end do
* vwp.ewp
      do i5=1,2
      do i4=1,2
* p.q -- p.q=c54w(i5,i4).v,p=c54w(i5,i4).e,q=vwp
      c54w(i5,i4).v=c54w(i5,i4).e(0)*vwp(0)-c54w(i5,i4).e(1)*vwp
     & (1)-c54w(i5,i4).e(2)*vwp(2)-c54w(i5,i4).e(3)*vwp(3)
      end do
      end do
* efz.ewm
      do i3=1,2
      do i2=1,2
      do i1=1,2
      do i6=1,2
* p.q -- p.q=caux,p=c23fz(i3,i2).e,q=c16w(i1,i6).e
      caux=c23fz(i3,i2).e(0)*c16w(i1,i6).e(0)-c23fz(i3,i2).e(1)*
     & c16w(i1,i6).e(1)-c23fz(i3,i2).e(2)*c16w(i1,i6).e(2)-c23fz
     & (i3,i2).e(3)*c16w(i1,i6).e(3)
      do i4=1,2
      do i5=1,2
      cc7(i1,i2,i3,i4,i5,i6)=c54w(i5,i4).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* efz.ewp
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=caux,p=c23fz(i3,i2).e,q=c54w(i5,i4).e
      caux=c23fz(i3,i2).e(0)*c54w(i5,i4).e(0)-c23fz(i3,i2).e(1)*
     & c54w(i5,i4).e(1)-c23fz(i3,i2).e(2)*c54w(i5,i4).e(2)-c23fz
     & (i3,i2).e(3)*c54w(i5,i4).e(3)
      do i1=1,2
      do i6=1,2
      cc7(i1,i2,i3,i4,i5,i6)=cc7(i1,i2,i3,i4,i5,i6)+c16w(i1,i6).
     & v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* ewm.ewp
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=caux,p=c16w(i1,i6).e,q=c54w(i5,i4).e
      caux=c16w(i1,i6).e(0)*c54w(i5,i4).e(0)-c16w(i1,i6).e(1)*c5
     & 4w(i5,i4).e(1)-c16w(i1,i6).e(2)*c54w(i5,i4).e(2)-c16w(i1,
     & i6).e(3)*c54w(i5,i4).e(3)
      do i2=1,2
      do i3=1,2
      cc7(i1,i2,i3,i4,i5,i6)=cc7(i1,i2,i3,i4,i5,i6)+c23fz(i3,i2)
     & .v*caux
c      print*, '1 cc7=',cc7(i1,i2,i3,i4,i5,i6)
      end do
      end do
      end do
      end do
      end do
      end do
*begin{EZ}                                                                      
      if (ifloop.ne.0) then                                                     
* p.q -- p.q=p2p3,p=p2,q=p3                                                
      p2p3=p2(0)*p3(0)-p2(1)*p3(1)-p2(2)*p3(2)-p2(3)*p3(3)      
                                                                                
      s23=-2.d0*p2p3+2.d0*rme**2                                                
* p.q -- p.q=p1p6,p=p1,q=p6                                                
      p1p6=p1(0)*p6(0)-p1(1)*p6(1)-p1(2)*p6(2)-p1(3)*p6(3)      
                                                                                
      s16=-2.d0*p1p6+rme**2                                                     
* p.q -- p.q=p23p16,p=p23,q=p16                                            
      p23p16=p23(0)*p16(0)-p23(1)*p16(1)-p23(2)*p16(2)-p23(3)*p1
     & 6(3)                                                     
* p.q -- p.q=p45p23,p=p45,q=p23                                            
      p45p23=p45(0)*p23(0)-p45(1)*p23(1)-p45(2)*p23(2)-p45(3)*p2
     & 3(3)                                                     
* p.q -- p.q=p45p16,p=p45,q=p16                                            
      p45p16=p45(0)*p16(0)-p45(1)*p16(1)-p45(2)*p16(2)-p45(3)*p1
     & 6(3)                                                     
      do i1=1,2                                                 
      do i6=1,2                                                 
* p.q -- p.q=cemp0(i1,i6),p=c16w(i1,i6).e,q=p23                            
      cemp0(i1,i6)=c16w(i1,i6).e(0)*p23(0)-c16w(i1,i6).e(1)*p23(
     & 1)-c16w(i1,i6).e(2)*p23(2)-c16w(i1,i6).e(3)*p23(3)       
      end do                                                    
      end do                                                    
      do i5=1,2                                                 
      do i4=1,2                                                 
* p.q -- p.q=cepp0(i5,i4),p=c54w(i5,i4).e,q=p23                            
      cepp0(i5,i4)=c54w(i5,i4).e(0)*p23(0)-c54w(i5,i4).e(1)*p23(
     & 1)-c54w(i5,i4).e(2)*p23(2)-c54w(i5,i4).e(3)*p23(3)       
      end do                                                    
      end do                                                    
      do i1=1,2                                                 
      do i6=1,2                                                 
* p.q -- p.q=cempp(i1,i6),p=c16w(i1,i6).e,q=p45                            
      cempp(i1,i6)=c16w(i1,i6).e(0)*p45(0)-c16w(i1,i6).e(1)*p45(
     & 1)-c16w(i1,i6).e(2)*p45(2)-c16w(i1,i6).e(3)*p45(3)       
      end do                                                    
      end do                                                    
      do i5=1,2                                                 
      do i4=1,2                                                 
* p.q -- p.q=ceppp(i5,i4),p=c54w(i5,i4).e,q=p45                            
      ceppp(i5,i4)=c54w(i5,i4).e(0)*p45(0)-c54w(i5,i4).e(1)*p45(
     & 1)-c54w(i5,i4).e(2)*p45(2)-c54w(i5,i4).e(3)*p45(3)       
      end do                                                    
      end do                                                    
      do i3=1,2                                                 
      do i2=1,2                                                 
* p.q -- p.q=ce0fpp(i3,i2),p=c23f(i3,i2).e,q=p45                           
      ce0fpp(i3,i2)=c23f(i3,i2).e(0)*p45(0)-c23f(i3,i2).e(1)*p4
     & 5(1)-c23f(i3,i2).e(2)*p45(2)-c23f(i3,i2).e(3)*p45(3)   
      end do                                                    
      end do                                                    
      do i3=1,2                                                 
      do i2=1,2                                                 
      do i1=1,2                                                 
      do i6=1,2                                                 
* p.q -- p.q=ce0fem(i3,i2,i1,i6),p=c23f(i3,i2).e,q=c16w(i1,i6).e           
      ce0fem(i3,i2,i1,i6)=c23f(i3,i2).e(0)*c16w(i1,i6).e(0)-c23f
     & (i3,i2).e(1)*c16w(i1,i6).e(1)-c23f(i3,i2).e(2)*c16w(i1,
     & i6).e(2)-c23f(i3,i2).e(3)*c16w(i1,i6).e(3)              
      end do                                                    
      end do                                                    
      end do                                                    
      end do                                                    
      do i3=1,2                                                 
      do i2=1,2                                                 
      do i5=1,2                                                 
      do i4=1,2                                                 
* p.q -- p.q=ce0fep(i3,i2,i5,i4),p=c23f(i3,i2).e,q=c54w(i5,i4).e           
      ce0fep(i3,i2,i5,i4)=c23f(i3,i2).e(0)*c54w(i5,i4).e(0)-c23f
     & (i3,i2).e(1)*c54w(i5,i4).e(1)-c23f(i3,i2).e(2)*c54w(i5,
     & i4).e(2)-c23f(i3,i2).e(3)*c54w(i5,i4).e(3)              
      end do                                                    
      end do                                                    
      end do                                                    
      end do                                                    
      do i1=1,2                                                 
      do i6=1,2                                                 
      do i5=1,2                                                 
      do i4=1,2                                                 
* p.q -- p.q=cemep(i1,i6,i5,i4),p=c16w(i1,i6).e,q=c54w(i5,i4).e            
      cemep(i1,i6,i5,i4)=c16w(i1,i6).e(0)*c54w(i5,i4).e(0)-c16w(
     & i1,i6).e(1)*c54w(i5,i4).e(1)-c16w(i1,i6).e(2)*c54w(i5,i4)
     & .e(2)-c16w(i1,i6).e(3)*c54w(i5,i4).e(3)                  
      end do                                                    
      end do                                                    
      end do                                                    
      end do                                                    
                                                                                
* Fattori di forma                                                              
      factor = s54*s16*s23                                                      
      cfact = -cim*3.d0/8.d0*gamw/rmw                                           
      flambda = 4.d0*((-p45p23)**2-s54*s23)
      if(flambda.le.0.d0) then
        ee_4fm=0.d0
        return
      endif
      ttf0= 2.d0*p23p16- sqrt(flambda)
      if(ttf0.le.0.d0) then
        ee_4fm=0.d0
        return
      endif
      f0 = 2.d0/sqrt(flambda)*log((2.d0*p23p16- sqrt(flambda))/                 
     &         (2.d0*p23p16+sqrt(flambda)))                                     
                                                                                
      fk2 =                                                                     
     & +f0*flambda**(-3) * ( -160.d0*s54*s23*s16-160.d0*s54*                    
     &    s23**2+160.d0*s23*s16**2-320.d0*s23**2*s16+160.d0*s23**3 )            
      fk2 = fk2+f0*flambda**(-2) * ( -16.d0*s54*s23/s16-24.d0                   
     &    *s54-136.d0*s23+16.d0*s23**2/s16+24.d0*s16 )                          
      fk2 = fk2+f0*flambda**(-1) * ( -8.d0/s16 )                                
      fk2 = fk2+flambda**(-3) * ( -320.d0*s54*p23p16-960.d0*s23*p23p16-         
     &    640.d0*s23**2+320.d0*p23p16*s16 )                                     
      fk2 = fk2+flambda**(-2) * ( 32.d0/3.d0-352.d0/3.d0*s23/s16-               
     &    416.d0/3.d0*p23p16/s16 )                                              
      fk2 = fk2+flambda**(-1) * ( -8.d0/3.d0/s23/s16 )                          
                                                                                
      fk5 =                                                                     
     & +f0*flambda**(-3) * ( 480.d0*s54*s23*s16+160.d0*s54*s23**2               
     &    -160.d0*s23*s16**2+320.d0*s23**2*s16-160.d0*s23**3 )                  
      fk5 = fk5+f0*flambda**(-2) * ( 16.d0*s54*s23/s16+56.d0*                   
     &    s54+168.d0*s23-16.d0*s23**2/s16+8.d0*s16 )                            
      fk5 = fk5+f0*flambda**(-1) * ( 8.d0/s16 )                                 
      fk5 = fk5+flambda**(-3) * ( 960.d0*s54*p23p16+960.d0*s23*p23p16           
     &    +640.d0*s23**2-320.d0*p23p16*s16 )                                    
      fk5 = fk5+flambda**(-2) * ( -96.d0+64.d0/3.d0/s23*p23p16+352.d0           
     &    /3.d0*s23/s16+160.d0*p23p16/s16 )                                     
      fk5 = fk5+flambda**(-1) * ( 8.d0/3.d0/s23/s16 )                           
                                                                                
      fk9 =                                                                     
     & +f0*flambda**(-2) * ( 16.d0*s23*(-p45p16) )                              
      fk9 = fk9+f0*flambda**(-1) * ( 8.d0 )                                     
      fk9 = fk9+flambda**(-2) * ( 32.d0*(-p45p23) )                             
      fk9 = fk9+flambda**(-1) * ( 32.d0/3.d0*(-p45p23)/s23/s16                  
     &    -8.d0/s16 )                                                           
                                                                                
      fk11 =                                                                    
     & +f0*flambda**(-2) * ( 16.d0*s23*(-p45p16) )                              
      fk11 = fk11+f0*flambda**(-1) * ( -4.d0+8.d0/s54*(-p45p16) )               
      fk11 = fk11+flambda**(-2) * ( 32.d0*(-p45p23) )                           
      fk11 = fk11+flambda**(-1) * ( 8.d0/s54*(-p45p23)/s23+8.d0/                
     &    s54*(-p45p23)/s16-16.d0/3.d0*(-p45p23)/s23/s16 )                      
                                                                                
      fk12 =                                                                    
     & +f0*flambda**(-2) * ( -16.d0*s54*p23p16 )                                
      fk12 = fk12+f0*flambda**(-1) * ( 8.d0 )                                   
      fk12 = fk12+flambda**(-2) * ( -32.d0*s54 )                                
      fk12 = fk12+flambda**(-1) * ( 32.d0/3.d0/s23*p23p16/s16                   
     &    -8.d0/3.d0/s23-8.d0/3.d0/s16 )                                        
                                                                                
      fk13 =                                                                    
     & +f0*flambda**(-2) * ( -112.d0*(-p45p23)*s23+64.d0*(-p45p23)**2           
     &    -48.d0*s23*s16+48.d0*s23**2 )                                         
      fk13 = fk13+f0*flambda**(-1) * ( -12.d0+8.d0*(-p45p23)/s16-8.d0           
     &    *s23/s16 )                                                            
      fk13 = fk13+flambda**(-2)*(-128.d0/3.d0*s23-352.d0/3.d0*(-p45p16)         
     &    +224.d0/3.d0*(-p45p16)**2*s16**(-1)+128.d0/3.d0*s16 )                 
      fk13 = fk13+flambda**(-1) * ( 8.d0/3.d0/s23*(-p45p16)/s16                 
     &    -8.d0/3.d0/s23 )                                                      
                                                                                
      fk14 =                                                                    
     & +f0*flambda**(-2) * ( 112.d0*(-p45p23)*s23-16.d0*(-p45p23)*s16           
     &    -64.d0*(-p45p23)**2+48.d0*s23*s16-48.d0*s23**2 )                      
      fk14 = fk14+f0*flambda**(-1) * ( 4.d0-8.d0*(-p45p23)/s16+8.d0*s23         
     &    /s16 )                                                                
      fk14 = fk14+flambda**(-2)                                                 
     &     *( 128.d0/3.d0*s23+256.d0/3.d0*(-p45p16)-224.d0                      
     &    /3.d0*(-p45p16)**2/s16-128.d0/3.d0*s16 )                              
      fk14 = fk14+flambda**(-1) * ( -40.d0/3.d0/s23*(-p45p16)/                  
     &    s16+32.d0/3.d0/s23 )                                                  
                                                                                
      fk1 =                                                                     
     & +f0*flambda**(-3) * ( -960.d0*s54*s23*s16-320.d0*s54*                    
     &    (-p45p16)**2+320.d0*s54**2*(-p45p16)                                  
     &    +320.d0*(-p45p16)*s16**2-320.d0*                                      
     &    (-p45p16)**2*s16 )                                                    
      fk1 = fk1+f0*flambda**(-2) * ( -16.d0/s54*s23*s16+16.d0                   
     &    /s54*s16**2-16.d0*s54*s23/s16-96.d0*s54                               
     &     + 16.d0*s54**2/s16-160.d0*s23-96.d0*s16 )                            
      fk1 = fk1+f0*flambda**(-1) * ( -16.d0/s54-16.d0/s16 )                     
      fk1 = fk1+flambda**(-3) * ( 1600.d0*s54/s23*(-p45p16)**2+                 
     &    3200.d0*s54*s16+1600.d0*s54**2-960.d0*s54**3/s23-                     
     &    320.d0/s23*(-p45p16)**2*s16-320.d0/s23*s16**3+320.d0*                 
     &    s16**2 )                                                              
      fk1 = fk1+flambda**(-2) * ( 1856.d0/3.d0-32.d0/s54/s23                    
     &    *s16**2+32.d0/s54*s16+2224.d0/3.d0*s54/s23                            
     &     + 224.d0*s54/s16-320.d0/3.d0*s54**2/s23/                             
     &    s16+1072.d0/3.d0/s23*s16 )                                            
      fk1 = fk1+flambda**(-1) * ( 112.d0/3.d0/s54/s23+32.d0/                    
     &    3.d0/s54/s16+304.d0/3.d0/s23/s16 )                                    
                                                                                
      fk3 =                                                                     
     &    +f0*flambda**(-3) * ( 480.d0*s54*s23*s16                              
     &    +480.d0*s54*(-p45p16)**2                                              
     &    -320.d0*s54**2*(-p45p16)-160.d0*(-p45p16)**2*s16 )                    
      fk3 = fk3+f0*flambda**(-2) * ( 16.d0*s54*s23/s16+48.d0*                   
     &    s54-16.d0*s54**2/s16+104.d0*s23+48.d0*s16 )                           
      fk3 = fk3+f0*flambda**(-1) * ( 8.d0/s54+16.d0/s16 )                       
      fk3 = fk3+flambda**(-3) * ( -1280.d0*s54/s23*(-p45p16)**2-                
     &    1280.d0*s54*s16-1280.d0*s54**2+640*s54**3/s23+                        
     &    640.d0/s23*(-p45p16)**2*s16 )                                         
      fk3 = fk3+flambda**(-2) * ( -320.d0-512.d0*s54/s23-640.d0/                
     &    3.d0*s54/s16+96*s54**2/s23/s16-64.d0                                  
     &    /s23*s16 )                                                            
      fk3 = fk3+flambda**(-1) * ( -8.d0/s54/s23-8.d0/                           
     &    s54/s16-272.d0/3.d0/s23/s16 )                                         
                                                                                
          do i1=1,2                                                             
           do i2=1,2                                                            
            do i3=1,2                                                           
             do i4=1,2                                                          
              do i5=1,2                                                         
               do i6=1,2                                                        
                 cc20floop(i1,i2,i3,i4,i5,i6)=cfact*factor*(                           
     &           cempp(i1,i6)*ceppp(i5,i4)*ce0fpp(i3,i2)*fk1                     
     &          -cempp(i1,i6)*cepp0(i5,i4)*ce0fpp(i3,i2)*fk2                     
     &          -cemp0(i1,i6)*ceppp(i5,i4)*ce0fpp(i3,i2)*fk3                     
     &          +cemp0(i1,i6)*cepp0(i5,i4)*ce0fpp(i3,i2)*fk5                     
     &          +cemep(i1,i6,i5,i4)*ce0fpp(i3,i2)*fk9                            
     &          +ce0fem(i3,i2,i1,i6)*ceppp(i5,i4)*fk11                           
     &          -ce0fem(i3,i2,i1,i6)*cepp0(i5,i4)*fk12                           
     &          +ce0fep(i3,i2,i5,i4)*cempp(i1,i6)*fk13                           
     &          -ce0fep(i3,i2,i5,i4)*cemp0(i1,i6)*fk14                           
     &                                                )                         
               end do                                                           
              end do                                                            
             end do                                                             
            end do                                                              
           end do                                                               
          end do                                                                
                                                                                
                                                                                
          do i1=1,2                                                            
           do i2=1,2                                                           
            do i3=1,2                                                          
             do i4=1,2                                                         
              do i5=1,2                                                        
               do i6=1,2                                                       
                 cc7(i1,i2,i3,i4,i5,i6)=cc7(i1,i2,i3,i4,i5,i6)+                
     &           cc20floop(i1,i2,i3,i4,i5,i6)                                  
               end do                                                          
              end do                                                           
             end do                                                            
            end do                                                             
           end do                                                              
          end do                                                               
      endif     ! end loop on ifloop.ne.0                                       
*end{EZ}                                                                        

* anomalous couplings
      if (ianc.ne.0) then
      do i1=1,2
      do i6=1,2
* p.q -- p.q=cemp0(i1,i6),p=c16w(i1,i6).e,q=p23
      cemp0(i1,i6)=c16w(i1,i6).e(0)*p23(0)-c16w(i1,i6).e(1)*p23(
     & 1)-c16w(i1,i6).e(2)*p23(2)-c16w(i1,i6).e(3)*p23(3)
      end do
      end do
      do i5=1,2
      do i4=1,2
* p.q -- p.q=cepp0(i5,i4),p=c54w(i5,i4).e,q=p23
      cepp0(i5,i4)=c54w(i5,i4).e(0)*p23(0)-c54w(i5,i4).e(1)*p23(
     & 1)-c54w(i5,i4).e(2)*p23(2)-c54w(i5,i4).e(3)*p23(3)
      end do
      end do

        if (xf.ne.0.d0.or.xz.ne.0.d0) then
          do i2=1,2
           do i3=1,2
            do mu=0,3
              c23fz(i3,i2).e(mu)=xf*c23f(i3,i2).e(mu)+
     &          xz*c23z(i3,i2).e(mu)
            end do
           end do
          end do
      do i3=1,2
      do i2=1,2
      do i1=1,2
      do i6=1,2
* p.q -- p.q=ce0em(i3,i2,i1,i6),p=c23fz(i3,i2).e,q=c16w(i1,i6).e
      ce0em(i3,i2,i1,i6)=c23fz(i3,i2).e(0)*c16w(i1,i6).e(0)-c23f
     & z(i3,i2).e(1)*c16w(i1,i6).e(1)-c23fz(i3,i2).e(2)*c16w(i1,
     & i6).e(2)-c23fz(i3,i2).e(3)*c16w(i1,i6).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=ce0ep(i3,i2,i5,i4),p=c23fz(i3,i2).e,q=c54w(i5,i4).e
      ce0ep(i3,i2,i5,i4)=c23fz(i3,i2).e(0)*c54w(i5,i4).e(0)-c23f
     & z(i3,i2).e(1)*c54w(i5,i4).e(1)-c23fz(i3,i2).e(2)*c54w(i5,
     & i4).e(2)-c23fz(i3,i2).e(3)*c54w(i5,i4).e(3)
      end do
      end do
      end do
      end do
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                 cc7(i1,i2,i3,i4,i5,i6)=cc7(i1,i2,i3,i4,i5,i6)+
     &           ce0em(i3,i2,i1,i6)*cepp0(i5,i4)-
     &           ce0ep(i3,i2,i5,i4)*cemp0(i1,i6)
               end do
              end do
             end do
            end do
           end do
          end do
        endif

        if (yf.ne.0.d0.or.yz.ne.0.d0) then
          do i2=1,2
           do i3=1,2
            do mu=0,3
              c23fz(i3,i2).e(mu)=yf*c23f(i3,i2).e(mu)+
     &          yz*c23z(i3,i2).e(mu)
            end do
           end do
          end do
      do i3=1,2
      do i2=1,2
      do i1=1,2
      do i6=1,2
* p.q -- p.q=ce0em(i3,i2,i1,i6),p=c23fz(i3,i2).e,q=c16w(i1,i6).e
      ce0em(i3,i2,i1,i6)=c23fz(i3,i2).e(0)*c16w(i1,i6).e(0)-c23f
     & z(i3,i2).e(1)*c16w(i1,i6).e(1)-c23fz(i3,i2).e(2)*c16w(i1,
     & i6).e(2)-c23fz(i3,i2).e(3)*c16w(i1,i6).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=ce0ep(i3,i2,i5,i4),p=c23fz(i3,i2).e,q=c54w(i5,i4).e
      ce0ep(i3,i2,i5,i4)=c23fz(i3,i2).e(0)*c54w(i5,i4).e(0)-c23f
     & z(i3,i2).e(1)*c54w(i5,i4).e(1)-c23fz(i3,i2).e(2)*c54w(i5,
     & i4).e(2)-c23fz(i3,i2).e(3)*c54w(i5,i4).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
* p.q -- p.q=ce0pm(i3,i2),p=c23fz(i3,i2).e,q=p16
      ce0pm(i3,i2)=c23fz(i3,i2).e(0)*p16(0)-c23fz(i3,i2).e(1)*p1
     & 6(1)-c23fz(i3,i2).e(2)*p16(2)-c23fz(i3,i2).e(3)*p16(3)
      end do
      end do
      do i3=1,2
      do i2=1,2
* p.q -- p.q=ce0pp(i3,i2),p=c23fz(i3,i2).e,q=p45
      ce0pp(i3,i2)=c23fz(i3,i2).e(0)*p45(0)-c23fz(i3,i2).e(1)*p4
     & 5(1)-c23fz(i3,i2).e(2)*p45(2)-c23fz(i3,i2).e(3)*p45(3)
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i4=1,2
* p.q -- p.q=cemep(i1,i6,i5,i4),p=c16w(i1,i6).e,q=c54w(i5,i4).e
      cemep(i1,i6,i5,i4)=c16w(i1,i6).e(0)*c54w(i5,i4).e(0)-c16w(
     & i1,i6).e(1)*c54w(i5,i4).e(1)-c16w(i1,i6).e(2)*c54w(i5,i4)
     & .e(2)-c16w(i1,i6).e(3)*c54w(i5,i4).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
* p.q -- p.q=cempp(i1,i6),p=c16w(i1,i6).e,q=p45
      cempp(i1,i6)=c16w(i1,i6).e(0)*p45(0)-c16w(i1,i6).e(1)*p45(
     & 1)-c16w(i1,i6).e(2)*p45(2)-c16w(i1,i6).e(3)*p45(3)
      end do
      end do
      do i5=1,2
      do i4=1,2
* p.q -- p.q=ceppm(i5,i4),p=c54w(i5,i4).e,q=p16
      ceppm(i5,i4)=c54w(i5,i4).e(0)*p16(0)-c54w(i5,i4).e(1)*p16(
     & 1)-c54w(i5,i4).e(2)*p16(2)-c54w(i5,i4).e(3)*p16(3)
      end do
      end do
* p.q -- p.q=p0pm,p=p23,q=p16
      p0pm=p23(0)*p16(0)-p23(1)*p16(1)-p23(2)*p16(2)-p23(3)*p16(
     & 3)
* p.q -- p.q=p0pp,p=p23,q=p45
      p0pp=p23(0)*p45(0)-p23(1)*p45(1)-p23(2)*p45(2)-p23(3)*p45(
     & 3)
* p.q -- p.q=pmpp,p=p16,q=p45
      pmpp=p16(0)*p45(0)-p16(1)*p45(1)-p16(2)*p45(2)-p16(3)*p45(
     & 3)
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                 cc7(i1,i2,i3,i4,i5,i6)=cc7(i1,i2,i3,i4,i5,i6)+
     &           ce0pm(i3,i2)*cepp0(i5,i4)*cempp(i1,i6)-
     &           ce0pp(i3,i2)*ceppm(i5,i4)*cemp0(i1,i6)+
     &           p0pp*(ce0em(i3,i2,i1,i6)*ceppm(i5,i4)-
     &           cemep(i1,i6,i5,i4)*ce0pm(i3,i2))+
     &           p0pm*(cemep(i1,i6,i5,i4)*ce0pp(i3,i2)-
     &           ce0ep(i3,i2,i5,i4)*cempp(i1,i6))+
     &           pmpp*(ce0ep(i3,i2,i5,i4)*cemp0(i1,i6)-
     &           ce0em(i3,i2,i1,i6)*cepp0(i5,i4))
               end do
              end do
             end do
            end do
           end do
          end do
        endif
        if (zz.ne.0.d0) then
          do m=0,3
            do i1=1,2
             do i6=1,2
              do i5=1,2
               do i4=1,2
                 cpau(i1,i6,i5,i4).e(m)=cepp0(i5,i4)*c16w(i1,i6).e(m)
     &           -cemp0(i1,i6)*c54w(i5,i4).e(m)
               end do
              end do
             end do
            end do
            pau(m)=p45(m)-p16(m)
          enddo
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* eps -- eps=cau(i1,i2,i3,i4,i5,i6),p=c23z(i3,i2).e,q=cpau(i1,i6,i5,i4).e,r
* =p23,s=pau
      cau(i1,i2,i3,i4,i5,i6)=c23z(i3,i2).e(0)*(cpau(i1,i6,i5,i4)
     & .e(1)*(p23(2)*pau(3)-p23(3)*pau(2))+cpau(i1,i6,i5,i4).e(2
     & )*(p23(3)*pau(1)-p23(1)*pau(3))+cpau(i1,i6,i5,i4).e(3)*(p
     & 23(1)*pau(2)-p23(2)*pau(1)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c23z(i3,i2).
     & e(1)*(cpau(i1,i6,i5,i4).e(2)*(p23(3)*pau(0)-p23(0)*pau(3)
     & )+cpau(i1,i6,i5,i4).e(3)*(p23(0)*pau(2)-p23(2)*pau(0))+cp
     & au(i1,i6,i5,i4).e(0)*(p23(2)*pau(3)-p23(3)*pau(2)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)+c23z(i3,i2).
     & e(2)*(cpau(i1,i6,i5,i4).e(3)*(p23(0)*pau(1)-p23(1)*pau(0)
     & )+cpau(i1,i6,i5,i4).e(0)*(p23(1)*pau(3)-p23(3)*pau(1))+cp
     & au(i1,i6,i5,i4).e(1)*(p23(3)*pau(0)-p23(0)*pau(3)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c23z(i3,i2).
     & e(3)*(cpau(i1,i6,i5,i4).e(0)*(p23(1)*pau(2)-p23(2)*pau(1)
     & )+cpau(i1,i6,i5,i4).e(1)*(p23(2)*pau(0)-p23(0)*pau(2))+cp
     & au(i1,i6,i5,i4).e(2)*(p23(0)*pau(1)-p23(1)*pau(0)))
      end do
      end do
      end do
      end do
      end do
      end do
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                 cc7(i1,i2,i3,i4,i5,i6)=cc7(i1,i2,i3,i4,i5,i6)+
     &           cim*zz*cau(i1,i2,i3,i4,i5,i6)
               enddo
              enddo
             enddo
            enddo
           enddo
          enddo
        endif
      endif
* end anomalous couplings

*
* diagramma cc8
*
* quqd -- p=p145,q=p6
      quqd=p145(0)*p6(0)-p145(1)*p6(1)-p145(2)*p6(2)-p145(3)*p6(
     & 3)
      do i3=1,2
      do i2=1,2
* TW -- qu=p145,qd=p6,v=c23z(i3,i2).e,a=r6_23(i3,i2).a,b=r6_23(i3,i2).b,c=r
* 6_23(i3,i2).c,d=r6_23(i3,i2).d,cl=z6l,nsum=0
      ceps_0=-c23z(i3,i2).ek0*(p145(2)*p6(3)-p6(2)*p145(3))+p145
     & k0*(c23z(i3,i2).e(2)*p6(3)-p6(2)*c23z(i3,i2).e(3))-p6k0*(
     & c23z(i3,i2).e(2)*p145(3)-p145(2)*c23z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23z(i3,i2).e(3)*p145k0+p145(3)*c23z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23z(i3,i2).e(3)*p6k0+p6(3)*c23z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23z(i3,i2).e(0)*p145(0)-c23z(i3,i2).e(1)*p145(1)-c23
     & z(i3,i2).e(2)*p145(2)-c23z(i3,i2).e(3)*p145(3)
      cvqd=c23z(i3,i2).e(0)*p6(0)-c23z(i3,i2).e(1)*p6(1)-c23z(i3
     & ,i2).e(2)*p6(2)-c23z(i3,i2).e(3)*p6(3)
      cauxa=-c23z(i3,i2).ek0*quqd+p145k0*cvqd+p6k0*cvqu
      cauxb=-c23z(i3,i2).ek0*p6(2)+p6k0*c23z(i3,i2).e(2)
      cauxc=+c23z(i3,i2).ek0*p145(2)-p145k0*c23z(i3,i2).e(2)
      r6_23(i3,i2).a(2,2)=z6l*(cauxa-ceps_0)
      r6_23(i3,i2).b(1,2)=z6l*(cauxb-ceps_2)
      r6_23(i3,i2).c(2,1)=z6l*(-cauxc+ceps_1)
      r6_23(i3,i2).d(1,1)=z6l*c23z(i3,i2).ek0
      end do
      end do
      do i5=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* TWTW -- aa=tapp(i5,i4,i3,i2).a,bb=tapp(i5,i4,i3,i2).b,cc=tapp(i5,i4,i3,i2
* ).c,dd=tapp(i5,i4,i3,i2).d,a1=l1_54w(i5,i4).a,b1=l1_54w(i5,i4).b,c1=l1_54w
* (i5,i4).c,d1=l1_54w(i5,i4).d,a2=r6_23(i3,i2).a,b2=r6_23(i3,i2).b,c2=r6_23(
* i3,i2).c,d2=r6_23(i3,i2).d,prq=p145q
      tapp(i5,i4,i3,i2).d(1,1)=l1_54w(i5,i4).d(1,1)*p145q*r6_23(
     & i3,i2).d(1,1)+l1_54w(i5,i4).b(1,2)*r6_23(i3,i2).c(2,1)
      tapp(i5,i4,i3,i2).b(1,2)=l1_54w(i5,i4).d(1,1)*p145q*r6_23(
     & i3,i2).b(1,2)+l1_54w(i5,i4).b(1,2)*r6_23(i3,i2).a(2,2)
      tapp(i5,i4,i3,i2).c(2,1)=l1_54w(i5,i4).c(2,1)*p145q*r6_23(
     & i3,i2).d(1,1)+l1_54w(i5,i4).a(2,2)*r6_23(i3,i2).c(2,1)
      tapp(i5,i4,i3,i2).a(2,2)=l1_54w(i5,i4).c(2,1)*p145q*r6_23(
     & i3,i2).b(1,2)+l1_54w(i5,i4).a(2,2)*r6_23(i3,i2).a(2,2)
      end do
      end do
      end do
      end do
      do i5=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* mline -- res=cc8(&,i5,i4,i3,i2),abcd=tapp(i5,i4,i3,i2).,m1=(-rme),m2=(-xm
* (6)),den=0
      do iut=1,2
      do jut=1,2
      cc8(iut,jut,i5,i4,i3,i2)=tapp(i5,i4,i3,i2).a(iut,jut)+(-rm
     & e)*tapp(i5,i4,i3,i2).b(iut,jut)+(-xm(6))*tapp(i5,i4,i3,i2
     & ).c(iut,jut)+(-rme)*(-xm(6))*tapp(i5,i4,i3,i2).d(iut,jut)
     &
      enddo
      enddo
      end do
      end do
      end do
      end do
****
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23f(i3,i2).e
      c23f(i3,i2).ek0=c23f(i3,i2).e(0)-c23f(i3,i2).e(1)
      end do
      end do
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23z(i3,i2).e
      c23z(i3,i2).ek0=c23z(i3,i2).e(0)-c23z(i3,i2).e(1)
      end do
      end do
**** attaccamento di c23f(2) a 4
* quqd -- p=p156,q=p4
      quqd=p156(0)*p4(0)-p156(1)*p4(1)-p156(2)*p4(2)-p156(3)*p4(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p156,qd=p4,v=c23f(i3,i2).e,a=r4_23fz(i3,i2).a,b=r4_23fz(i3,i2).b,
* c=r4_23fz(i3,i2).c,d=r4_23fz(i3,i2).d,cr=f4r,cl=f4l,nsum=0
      ceps_0=-c23f(i3,i2).ek0*(p156(2)*p4(3)-p4(2)*p156(3))+p156
     & k0*(c23f(i3,i2).e(2)*p4(3)-p4(2)*c23f(i3,i2).e(3))-p4k0*(
     & c23f(i3,i2).e(2)*p156(3)-p156(2)*c23f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23f(i3,i2).e(3)*p156k0+p156(3)*c23f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23f(i3,i2).e(3)*p4k0+p4(3)*c23f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23f(i3,i2).e(0)*p156(0)-c23f(i3,i2).e(1)*p156(1)-c23
     & f(i3,i2).e(2)*p156(2)-c23f(i3,i2).e(3)*p156(3)
      cvqd=c23f(i3,i2).e(0)*p4(0)-c23f(i3,i2).e(1)*p4(1)-c23f(i3
     & ,i2).e(2)*p4(2)-c23f(i3,i2).e(3)*p4(3)
      cauxa=-c23f(i3,i2).ek0*quqd+p156k0*cvqd+p4k0*cvqu
      cauxb=-c23f(i3,i2).ek0*p4(2)+p4k0*c23f(i3,i2).e(2)
      cauxc=+c23f(i3,i2).ek0*p156(2)-p156k0*c23f(i3,i2).e(2)
      r4_23fz(i3,i2).a(1,1)=f4r*(cauxa+ceps_0)
      r4_23fz(i3,i2).a(2,2)=f4l*(cauxa-ceps_0)
      r4_23fz(i3,i2).b(1,2)=f4l*(cauxb-ceps_2)
      r4_23fz(i3,i2).b(2,1)=f4r*(-cauxb-ceps_2)
      r4_23fz(i3,i2).c(1,2)=f4r*(cauxc+ceps_1)
      r4_23fz(i3,i2).c(2,1)=f4l*(-cauxc+ceps_1)
      r4_23fz(i3,i2).d(1,1)=f4l*c23f(i3,i2).ek0
      r4_23fz(i3,i2).d(2,2)=f4r*c23f(i3,i2).ek0
      end do
      end do
**** attaccamento di c23z(2) a 4
      do i3=1,2
      do i2=1,2
* T -- qu=p156,qd=p4,v=c23z(i3,i2).e,a=r4_23fz(i3,i2).a,b=r4_23fz(i3,i2).b,
* c=r4_23fz(i3,i2).c,d=r4_23fz(i3,i2).d,cr=z4r,cl=z4l,nsum=1
      ceps_0=-c23z(i3,i2).ek0*(p156(2)*p4(3)-p4(2)*p156(3))+p156
     & k0*(c23z(i3,i2).e(2)*p4(3)-p4(2)*c23z(i3,i2).e(3))-p4k0*(
     & c23z(i3,i2).e(2)*p156(3)-p156(2)*c23z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23z(i3,i2).e(3)*p156k0+p156(3)*c23z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23z(i3,i2).e(3)*p4k0+p4(3)*c23z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23z(i3,i2).e(0)*p156(0)-c23z(i3,i2).e(1)*p156(1)-c23
     & z(i3,i2).e(2)*p156(2)-c23z(i3,i2).e(3)*p156(3)
      cvqd=c23z(i3,i2).e(0)*p4(0)-c23z(i3,i2).e(1)*p4(1)-c23z(i3
     & ,i2).e(2)*p4(2)-c23z(i3,i2).e(3)*p4(3)
      cauxa=-c23z(i3,i2).ek0*quqd+p156k0*cvqd+p4k0*cvqu
      cauxb=-c23z(i3,i2).ek0*p4(2)+p4k0*c23z(i3,i2).e(2)
      cauxc=+c23z(i3,i2).ek0*p156(2)-p156k0*c23z(i3,i2).e(2)
      r4_23fz(i3,i2).a(1,1)=r4_23fz(i3,i2).a(1,1)+z4r*(cauxa+cep
     & s_0)
      r4_23fz(i3,i2).a(2,2)=r4_23fz(i3,i2).a(2,2)+z4l*(cauxa-cep
     & s_0)
      r4_23fz(i3,i2).b(1,2)=r4_23fz(i3,i2).b(1,2)+z4l*(cauxb-cep
     & s_2)
      r4_23fz(i3,i2).b(2,1)=r4_23fz(i3,i2).b(2,1)+z4r*(-cauxb-ce
     & ps_2)
      r4_23fz(i3,i2).c(1,2)=r4_23fz(i3,i2).c(1,2)+z4r*(cauxc+cep
     & s_1)
      r4_23fz(i3,i2).c(2,1)=r4_23fz(i3,i2).c(2,1)+z4l*(-cauxc+ce
     & ps_1)
      r4_23fz(i3,i2).d(1,1)=r4_23fz(i3,i2).d(1,1)+z4l*c23z(i3,i2
     & ).ek0
      r4_23fz(i3,i2).d(2,2)=r4_23fz(i3,i2).d(2,2)+z4r*c23z(i3,i2
     & ).ek0
      end do
      end do
**** attaccamento di c23f(2) a 1
* quqd -- p=p1,q=p123
      quqd=p1(0)*p123(0)-p1(1)*p123(1)-p1(2)*p123(2)-p1(3)*p123(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p1,qd=p123,v=c23f(i3,i2).e,a=l1_23fz(i3,i2).a,b=l1_23fz(i3,i2).b,
* c=l1_23fz(i3,i2).c,d=l1_23fz(i3,i2).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c23f(i3,i2).ek0*(p1(2)*p123(3)-p123(2)*p1(3))+p1k0
     & *(c23f(i3,i2).e(2)*p123(3)-p123(2)*c23f(i3,i2).e(3))-p123
     & k0*(c23f(i3,i2).e(2)*p1(3)-p1(2)*c23f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23f(i3,i2).e(3)*p1k0+p1(3)*c23f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23f(i3,i2).e(3)*p123k0+p123(3)*c23f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23f(i3,i2).e(0)*p1(0)-c23f(i3,i2).e(1)*p1(1)-c23f(i3
     & ,i2).e(2)*p1(2)-c23f(i3,i2).e(3)*p1(3)
      cvqd=c23f(i3,i2).e(0)*p123(0)-c23f(i3,i2).e(1)*p123(1)-c23
     & f(i3,i2).e(2)*p123(2)-c23f(i3,i2).e(3)*p123(3)
      cauxa=-c23f(i3,i2).ek0*quqd+p1k0*cvqd+p123k0*cvqu
      cauxb=-c23f(i3,i2).ek0*p123(2)+p123k0*c23f(i3,i2).e(2)
      cauxc=+c23f(i3,i2).ek0*p1(2)-p1k0*c23f(i3,i2).e(2)
      l1_23fz(i3,i2).a(1,1)=fer*(cauxa+ceps_0)
      l1_23fz(i3,i2).a(2,2)=fel*(cauxa-ceps_0)
      l1_23fz(i3,i2).b(1,2)=fel*(cauxb-ceps_2)
      l1_23fz(i3,i2).b(2,1)=fer*(-cauxb-ceps_2)
      l1_23fz(i3,i2).c(1,2)=fer*(cauxc+ceps_1)
      l1_23fz(i3,i2).c(2,1)=fel*(-cauxc+ceps_1)
      l1_23fz(i3,i2).d(1,1)=fel*c23f(i3,i2).ek0
      l1_23fz(i3,i2).d(2,2)=fer*c23f(i3,i2).ek0
      end do
      end do
**** attaccamento di c23z(2) a 1
      do i3=1,2
      do i2=1,2
* T -- qu=p1,qd=p123,v=c23z(i3,i2).e,a=l1_23fz(i3,i2).a,b=l1_23fz(i3,i2).b,
* c=l1_23fz(i3,i2).c,d=l1_23fz(i3,i2).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c23z(i3,i2).ek0*(p1(2)*p123(3)-p123(2)*p1(3))+p1k0
     & *(c23z(i3,i2).e(2)*p123(3)-p123(2)*c23z(i3,i2).e(3))-p123
     & k0*(c23z(i3,i2).e(2)*p1(3)-p1(2)*c23z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23z(i3,i2).e(3)*p1k0+p1(3)*c23z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23z(i3,i2).e(3)*p123k0+p123(3)*c23z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23z(i3,i2).e(0)*p1(0)-c23z(i3,i2).e(1)*p1(1)-c23z(i3
     & ,i2).e(2)*p1(2)-c23z(i3,i2).e(3)*p1(3)
      cvqd=c23z(i3,i2).e(0)*p123(0)-c23z(i3,i2).e(1)*p123(1)-c23
     & z(i3,i2).e(2)*p123(2)-c23z(i3,i2).e(3)*p123(3)
      cauxa=-c23z(i3,i2).ek0*quqd+p1k0*cvqd+p123k0*cvqu
      cauxb=-c23z(i3,i2).ek0*p123(2)+p123k0*c23z(i3,i2).e(2)
      cauxc=+c23z(i3,i2).ek0*p1(2)-p1k0*c23z(i3,i2).e(2)
      l1_23fz(i3,i2).a(1,1)=l1_23fz(i3,i2).a(1,1)+zer*(cauxa+cep
     & s_0)
      l1_23fz(i3,i2).a(2,2)=l1_23fz(i3,i2).a(2,2)+zel*(cauxa-cep
     & s_0)
      l1_23fz(i3,i2).b(1,2)=l1_23fz(i3,i2).b(1,2)+zel*(cauxb-cep
     & s_2)
      l1_23fz(i3,i2).b(2,1)=l1_23fz(i3,i2).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      l1_23fz(i3,i2).c(1,2)=l1_23fz(i3,i2).c(1,2)+zer*(cauxc+cep
     & s_1)
      l1_23fz(i3,i2).c(2,1)=l1_23fz(i3,i2).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      l1_23fz(i3,i2).d(1,1)=l1_23fz(i3,i2).d(1,1)+zel*c23z(i3,i2
     & ).ek0
      l1_23fz(i3,i2).d(2,2)=l1_23fz(i3,i2).d(2,2)+zer*c23z(i3,i2
     & ).ek0
      end do
      end do
**** attaccamento di c23f(2) a 5
* quqd -- p=p5,q=p235
      quqd=p5(0)*p235(0)-p5(1)*p235(1)-p5(2)*p235(2)-p5(3)*p235(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p5,qd=p235,v=c23f(i3,i2).e,a=l5_23fz(i3,i2).a,b=l5_23fz(i3,i2).b,
* c=l5_23fz(i3,i2).c,d=l5_23fz(i3,i2).d,cr=f5r,cl=f5l,nsum=0
      ceps_0=-c23f(i3,i2).ek0*(p5(2)*p235(3)-p235(2)*p5(3))+p5k0
     & *(c23f(i3,i2).e(2)*p235(3)-p235(2)*c23f(i3,i2).e(3))-p235
     & k0*(c23f(i3,i2).e(2)*p5(3)-p5(2)*c23f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23f(i3,i2).e(3)*p5k0+p5(3)*c23f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23f(i3,i2).e(3)*p235k0+p235(3)*c23f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23f(i3,i2).e(0)*p5(0)-c23f(i3,i2).e(1)*p5(1)-c23f(i3
     & ,i2).e(2)*p5(2)-c23f(i3,i2).e(3)*p5(3)
      cvqd=c23f(i3,i2).e(0)*p235(0)-c23f(i3,i2).e(1)*p235(1)-c23
     & f(i3,i2).e(2)*p235(2)-c23f(i3,i2).e(3)*p235(3)
      cauxa=-c23f(i3,i2).ek0*quqd+p5k0*cvqd+p235k0*cvqu
      cauxb=-c23f(i3,i2).ek0*p235(2)+p235k0*c23f(i3,i2).e(2)
      cauxc=+c23f(i3,i2).ek0*p5(2)-p5k0*c23f(i3,i2).e(2)
      l5_23fz(i3,i2).a(1,1)=f5r*(cauxa+ceps_0)
      l5_23fz(i3,i2).a(2,2)=f5l*(cauxa-ceps_0)
      l5_23fz(i3,i2).b(1,2)=f5l*(cauxb-ceps_2)
      l5_23fz(i3,i2).b(2,1)=f5r*(-cauxb-ceps_2)
      l5_23fz(i3,i2).c(1,2)=f5r*(cauxc+ceps_1)
      l5_23fz(i3,i2).c(2,1)=f5l*(-cauxc+ceps_1)
      l5_23fz(i3,i2).d(1,1)=f5l*c23f(i3,i2).ek0
      l5_23fz(i3,i2).d(2,2)=f5r*c23f(i3,i2).ek0
      end do
      end do
**** attaccamento di c23z(2) a 5
      do i3=1,2
      do i2=1,2
* T -- qu=p5,qd=p235,v=c23z(i3,i2).e,a=l5_23fz(i3,i2).a,b=l5_23fz(i3,i2).b,
* c=l5_23fz(i3,i2).c,d=l5_23fz(i3,i2).d,cr=z5r,cl=z5l,nsum=1
      ceps_0=-c23z(i3,i2).ek0*(p5(2)*p235(3)-p235(2)*p5(3))+p5k0
     & *(c23z(i3,i2).e(2)*p235(3)-p235(2)*c23z(i3,i2).e(3))-p235
     & k0*(c23z(i3,i2).e(2)*p5(3)-p5(2)*c23z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23z(i3,i2).e(3)*p5k0+p5(3)*c23z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23z(i3,i2).e(3)*p235k0+p235(3)*c23z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23z(i3,i2).e(0)*p5(0)-c23z(i3,i2).e(1)*p5(1)-c23z(i3
     & ,i2).e(2)*p5(2)-c23z(i3,i2).e(3)*p5(3)
      cvqd=c23z(i3,i2).e(0)*p235(0)-c23z(i3,i2).e(1)*p235(1)-c23
     & z(i3,i2).e(2)*p235(2)-c23z(i3,i2).e(3)*p235(3)
      cauxa=-c23z(i3,i2).ek0*quqd+p5k0*cvqd+p235k0*cvqu
      cauxb=-c23z(i3,i2).ek0*p235(2)+p235k0*c23z(i3,i2).e(2)
      cauxc=+c23z(i3,i2).ek0*p5(2)-p5k0*c23z(i3,i2).e(2)
      l5_23fz(i3,i2).a(1,1)=l5_23fz(i3,i2).a(1,1)+z5r*(cauxa+cep
     & s_0)
      l5_23fz(i3,i2).a(2,2)=l5_23fz(i3,i2).a(2,2)+z5l*(cauxa-cep
     & s_0)
      l5_23fz(i3,i2).b(1,2)=l5_23fz(i3,i2).b(1,2)+z5l*(cauxb-cep
     & s_2)
      l5_23fz(i3,i2).b(2,1)=l5_23fz(i3,i2).b(2,1)+z5r*(-cauxb-ce
     & ps_2)
      l5_23fz(i3,i2).c(1,2)=l5_23fz(i3,i2).c(1,2)+z5r*(cauxc+cep
     & s_1)
      l5_23fz(i3,i2).c(2,1)=l5_23fz(i3,i2).c(2,1)+z5l*(-cauxc+ce
     & ps_1)
      l5_23fz(i3,i2).d(1,1)=l5_23fz(i3,i2).d(1,1)+z5l*c23z(i3,i2
     & ).ek0
      l5_23fz(i3,i2).d(2,2)=l5_23fz(i3,i2).d(2,2)+z5r*c23z(i3,i2
     & ).ek0
      end do
      end do
*
* diagramma cc9
*
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i4=1,2
* TTW -- aa=tappttw(i3,i2,i5,i4).a,bb=tappttw(i3,i2,i5,i4).b,cc=tappttw(i3,
* i2,i5,i4).c,dd=tappttw(i3,i2,i5,i4).d,a1=l1_23fz(i3,i2).a,b1=l1_23fz(i3,i2
* ).b,c1=l1_23fz(i3,i2).c,d1=l1_23fz(i3,i2).d,a2=r6_54w(i5,i4).a,b2=r6_54w(i
* 5,i4).b,c2=r6_54w(i5,i4).c,d2=r6_54w(i5,i4).d,prq=p123q,m=rme
      tappttw(i3,i2,i5,i4).c(1,1)=rme*(l1_23fz(i3,i2).a(1,1)*r6_
     & 54w(i5,i4).d(1,1)+l1_23fz(i3,i2).c(1,2)*r6_54w(i5,i4).c(2
     & ,1))
      tappttw(i3,i2,i5,i4).d(1,1)=l1_23fz(i3,i2).d(1,1)*p123q*r6
     & _54w(i5,i4).d(1,1)+l1_23fz(i3,i2).b(1,2)*r6_54w(i5,i4).c(
     & 2,1)
      tappttw(i3,i2,i5,i4).a(1,2)=rme*(l1_23fz(i3,i2).a(1,1)*r6_
     & 54w(i5,i4).b(1,2)+l1_23fz(i3,i2).c(1,2)*r6_54w(i5,i4).a(2
     & ,2))
      tappttw(i3,i2,i5,i4).b(1,2)=l1_23fz(i3,i2).d(1,1)*p123q*r6
     & _54w(i5,i4).b(1,2)+l1_23fz(i3,i2).b(1,2)*r6_54w(i5,i4).a(
     & 2,2)
      tappttw(i3,i2,i5,i4).c(2,1)=l1_23fz(i3,i2).c(2,1)*p123q*r6
     & _54w(i5,i4).d(1,1)+l1_23fz(i3,i2).a(2,2)*r6_54w(i5,i4).c(
     & 2,1)
      tappttw(i3,i2,i5,i4).d(2,1)=rme*(l1_23fz(i3,i2).b(2,1)*r6_
     & 54w(i5,i4).d(1,1)+l1_23fz(i3,i2).d(2,2)*r6_54w(i5,i4).c(2
     & ,1))
      tappttw(i3,i2,i5,i4).a(2,2)=l1_23fz(i3,i2).c(2,1)*p123q*r6
     & _54w(i5,i4).b(1,2)+l1_23fz(i3,i2).a(2,2)*r6_54w(i5,i4).a(
     & 2,2)
      tappttw(i3,i2,i5,i4).b(2,2)=rme*(l1_23fz(i3,i2).b(2,1)*r6_
     & 54w(i5,i4).b(1,2)+l1_23fz(i3,i2).d(2,2)*r6_54w(i5,i4).a(2
     & ,2))
      end do
      end do
      end do
      end do
      do i2=1,2
      do i3=1,2
      do i4=1,2
      do i5=1,2
* mline -- res=cc9(&,i2,i3,i4,i5),abcd=tappttw(i3,i2,i5,i4).,m1=(-rme),m2=(
* -xm(6)),den=((p123q-rme**2)*p123k0)
      do iut=1,2
      do jut=1,2
      cc9(iut,jut,i2,i3,i4,i5)=(tappttw(i3,i2,i5,i4).a(iut,jut)+
     & (-rme)*tappttw(i3,i2,i5,i4).b(iut,jut)+(-xm(6))*tappttw(i
     & 3,i2,i5,i4).c(iut,jut)+(-rme)*(-xm(6))*tappttw(i3,i2,i5,i
     & 4).d(iut,jut))/((p123q-rme**2)*p123k0)
c      print*, '1 cc9=',cc9(iut,jut,i2,i3,i4,i5)
      enddo
      enddo
      end do
      end do
      end do
      end do
*
* diagramma cc10
*
* quqd -- p=p345,q=p2
      quqd=p345(0)*p2(0)-p345(1)*p2(1)-p345(2)*p2(2)-p345(3)*p2(
     & 3)
      do i1=1,2
      do i6=1,2
* TW -- qu=p345,qd=p2,v=c16w(i1,i6).e,a=r2_16w(i1,i6).a,b=r2_16w(i1,i6).b,c
* =r2_16w(i1,i6).c,d=r2_16w(i1,i6).d,cl=wcl,nsum=0
      ceps_0=-c16w(i1,i6).ek0*(p345(2)*p2(3)-p2(2)*p345(3))+p345
     & k0*(c16w(i1,i6).e(2)*p2(3)-p2(2)*c16w(i1,i6).e(3))-p2k0*(
     & c16w(i1,i6).e(2)*p345(3)-p345(2)*c16w(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16w(i1,i6).e(3)*p345k0+p345(3)*c16w(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16w(i1,i6).e(3)*p2k0+p2(3)*c16w(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16w(i1,i6).e(0)*p345(0)-c16w(i1,i6).e(1)*p345(1)-c16
     & w(i1,i6).e(2)*p345(2)-c16w(i1,i6).e(3)*p345(3)
      cvqd=c16w(i1,i6).e(0)*p2(0)-c16w(i1,i6).e(1)*p2(1)-c16w(i1
     & ,i6).e(2)*p2(2)-c16w(i1,i6).e(3)*p2(3)
      cauxa=-c16w(i1,i6).ek0*quqd+p345k0*cvqd+p2k0*cvqu
      cauxb=-c16w(i1,i6).ek0*p2(2)+p2k0*c16w(i1,i6).e(2)
      cauxc=+c16w(i1,i6).ek0*p345(2)-p345k0*c16w(i1,i6).e(2)
      r2_16w(i1,i6).a(2,2)=wcl*(cauxa-ceps_0)
      r2_16w(i1,i6).b(1,2)=wcl*(cauxb-ceps_2)
      r2_16w(i1,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      r2_16w(i1,i6).d(1,1)=wcl*c16w(i1,i6).ek0
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i4=1,2
* TWTW -- aa=tapp(i1,i6,i5,i4).a,bb=tapp(i1,i6,i5,i4).b,cc=tapp(i1,i6,i5,i4
* ).c,dd=tapp(i1,i6,i5,i4).d,a1=l3_54w(i5,i4).a,b1=l3_54w(i5,i4).b,c1=l3_54w
* (i5,i4).c,d1=l3_54w(i5,i4).d,a2=r2_16w(i1,i6).a,b2=r2_16w(i1,i6).b,c2=r2_1
* 6w(i1,i6).c,d2=r2_16w(i1,i6).d,prq=p345q
      tapp(i1,i6,i5,i4).d(1,1)=l3_54w(i5,i4).d(1,1)*p345q*r2_16w
     & (i1,i6).d(1,1)+l3_54w(i5,i4).b(1,2)*r2_16w(i1,i6).c(2,1)
      tapp(i1,i6,i5,i4).b(1,2)=l3_54w(i5,i4).d(1,1)*p345q*r2_16w
     & (i1,i6).b(1,2)+l3_54w(i5,i4).b(1,2)*r2_16w(i1,i6).a(2,2)
      tapp(i1,i6,i5,i4).c(2,1)=l3_54w(i5,i4).c(2,1)*p345q*r2_16w
     & (i1,i6).d(1,1)+l3_54w(i5,i4).a(2,2)*r2_16w(i1,i6).c(2,1)
      tapp(i1,i6,i5,i4).a(2,2)=l3_54w(i5,i4).c(2,1)*p345q*r2_16w
     & (i1,i6).b(1,2)+l3_54w(i5,i4).a(2,2)*r2_16w(i1,i6).a(2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i4=1,2
* mline -- res=cc10(i1,i6,i5,i4,&),abcd=tapp(i1,i6,i5,i4).,m1=rme,m2=rme,de
* n=(p345q*p345k0)
      do iut=1,2
      do jut=1,2
      cc10(i1,i6,i5,i4,iut,jut)=(tapp(i1,i6,i5,i4).a(iut,jut)+rm
     & e*tapp(i1,i6,i5,i4).b(iut,jut)+rme*tapp(i1,i6,i5,i4).c(iu
     & t,jut)+rme*rme*tapp(i1,i6,i5,i4).d(iut,jut))/(p345q*p345k
     & 0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*
* diagramma cc11
*
* quqd -- p=p5,q=p156
      quqd=p5(0)*p156(0)-p5(1)*p156(1)-p5(2)*p156(2)-p5(3)*p156(
     & 3)
      do i1=1,2
      do i6=1,2
* TW -- qu=p5,qd=p156,v=c16w(i1,i6).e,a=l5_16w(i1,i6).a,b=l5_16w(i1,i6).b,c
* =l5_16w(i1,i6).c,d=l5_16w(i1,i6).d,cl=wcl,nsum=0
      ceps_0=-c16w(i1,i6).ek0*(p5(2)*p156(3)-p156(2)*p5(3))+p5k0
     & *(c16w(i1,i6).e(2)*p156(3)-p156(2)*c16w(i1,i6).e(3))-p156
     & k0*(c16w(i1,i6).e(2)*p5(3)-p5(2)*c16w(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16w(i1,i6).e(3)*p5k0+p5(3)*c16w(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16w(i1,i6).e(3)*p156k0+p156(3)*c16w(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16w(i1,i6).e(0)*p5(0)-c16w(i1,i6).e(1)*p5(1)-c16w(i1
     & ,i6).e(2)*p5(2)-c16w(i1,i6).e(3)*p5(3)
      cvqd=c16w(i1,i6).e(0)*p156(0)-c16w(i1,i6).e(1)*p156(1)-c16
     & w(i1,i6).e(2)*p156(2)-c16w(i1,i6).e(3)*p156(3)
      cauxa=-c16w(i1,i6).ek0*quqd+p5k0*cvqd+p156k0*cvqu
      cauxb=-c16w(i1,i6).ek0*p156(2)+p156k0*c16w(i1,i6).e(2)
      cauxc=+c16w(i1,i6).ek0*p5(2)-p5k0*c16w(i1,i6).e(2)
      l5_16w(i1,i6).a(2,2)=wcl*(cauxa-ceps_0)
      l5_16w(i1,i6).b(1,2)=wcl*(cauxb-ceps_2)
      l5_16w(i1,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      l5_16w(i1,i6).d(1,1)=wcl*c16w(i1,i6).ek0
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i2=1,2
* TWT -- aa=tapptwt(i1,i6,i3,i2).a,bb=tapptwt(i1,i6,i3,i2).b,cc=tapptwt(i1,
* i6,i3,i2).c,dd=tapptwt(i1,i6,i3,i2).d,a1=l5_16w(i1,i6).a,b1=l5_16w(i1,i6).
* b,c1=l5_16w(i1,i6).c,d1=l5_16w(i1,i6).d,a2=r4_23fz(i3,i2).a,b2=r4_23fz(i3,
* i2).b,c2=r4_23fz(i3,i2).c,d2=r4_23fz(i3,i2).d,prq=p156q,m=xm(4)
      tapptwt(i1,i6,i3,i2).b(1,1)=xm(4)*(l5_16w(i1,i6).d(1,1)*r4
     & _23fz(i3,i2).a(1,1)+l5_16w(i1,i6).b(1,2)*r4_23fz(i3,i2).b
     & (2,1))
      tapptwt(i1,i6,i3,i2).d(1,1)=l5_16w(i1,i6).d(1,1)*p156q*r4_
     & 23fz(i3,i2).d(1,1)+l5_16w(i1,i6).b(1,2)*r4_23fz(i3,i2).c(
     & 2,1)
      tapptwt(i1,i6,i3,i2).b(1,2)=l5_16w(i1,i6).d(1,1)*p156q*r4_
     & 23fz(i3,i2).b(1,2)+l5_16w(i1,i6).b(1,2)*r4_23fz(i3,i2).a(
     & 2,2)
      tapptwt(i1,i6,i3,i2).d(1,2)=xm(4)*(l5_16w(i1,i6).d(1,1)*r4
     & _23fz(i3,i2).c(1,2)+l5_16w(i1,i6).b(1,2)*r4_23fz(i3,i2).d
     & (2,2))
      tapptwt(i1,i6,i3,i2).a(2,1)=xm(4)*(l5_16w(i1,i6).c(2,1)*r4
     & _23fz(i3,i2).a(1,1)+l5_16w(i1,i6).a(2,2)*r4_23fz(i3,i2).b
     & (2,1))
      tapptwt(i1,i6,i3,i2).c(2,1)=l5_16w(i1,i6).c(2,1)*p156q*r4_
     & 23fz(i3,i2).d(1,1)+l5_16w(i1,i6).a(2,2)*r4_23fz(i3,i2).c(
     & 2,1)
      tapptwt(i1,i6,i3,i2).a(2,2)=l5_16w(i1,i6).c(2,1)*p156q*r4_
     & 23fz(i3,i2).b(1,2)+l5_16w(i1,i6).a(2,2)*r4_23fz(i3,i2).a(
     & 2,2)
      tapptwt(i1,i6,i3,i2).c(2,2)=xm(4)*(l5_16w(i1,i6).c(2,1)*r4
     & _23fz(i3,i2).c(1,2)+l5_16w(i1,i6).a(2,2)*r4_23fz(i3,i2).d
     & (2,2))
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i2=1,2
* mline -- res=cc11(i1,i6,i3,i2,&),abcd=tapptwt(i1,i6,i3,i2).,m1=xm(5),m2=(
* -xm(4)),den=((p156q-xm(4)**2)*p156k0)
      do iut=1,2
      do jut=1,2
      cc11(i1,i6,i3,i2,iut,jut)=(tapptwt(i1,i6,i3,i2).a(iut,jut)
     & +xm(5)*tapptwt(i1,i6,i3,i2).b(iut,jut)+(-xm(4))*tapptwt(i
     & 1,i6,i3,i2).c(iut,jut)+xm(5)*(-xm(4))*tapptwt(i1,i6,i3,i2
     & ).d(iut,jut))/((p156q-xm(4)**2)*p156k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*
* diagramma cc12
*
* quqd -- p=p235,q=p4
      quqd=p235(0)*p4(0)-p235(1)*p4(1)-p235(2)*p4(2)-p235(3)*p4(
     & 3)
      do i1=1,2
      do i6=1,2
* TW -- qu=p235,qd=p4,v=c16w(i1,i6).e,a=r4_16w(i1,i6).a,b=r4_16w(i1,i6).b,c
* =r4_16w(i1,i6).c,d=r4_16w(i1,i6).d,cl=wcl,nsum=0
      ceps_0=-c16w(i1,i6).ek0*(p235(2)*p4(3)-p4(2)*p235(3))+p235
     & k0*(c16w(i1,i6).e(2)*p4(3)-p4(2)*c16w(i1,i6).e(3))-p4k0*(
     & c16w(i1,i6).e(2)*p235(3)-p235(2)*c16w(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16w(i1,i6).e(3)*p235k0+p235(3)*c16w(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16w(i1,i6).e(3)*p4k0+p4(3)*c16w(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16w(i1,i6).e(0)*p235(0)-c16w(i1,i6).e(1)*p235(1)-c16
     & w(i1,i6).e(2)*p235(2)-c16w(i1,i6).e(3)*p235(3)
      cvqd=c16w(i1,i6).e(0)*p4(0)-c16w(i1,i6).e(1)*p4(1)-c16w(i1
     & ,i6).e(2)*p4(2)-c16w(i1,i6).e(3)*p4(3)
      cauxa=-c16w(i1,i6).ek0*quqd+p235k0*cvqd+p4k0*cvqu
      cauxb=-c16w(i1,i6).ek0*p4(2)+p4k0*c16w(i1,i6).e(2)
      cauxc=+c16w(i1,i6).ek0*p235(2)-p235k0*c16w(i1,i6).e(2)
      r4_16w(i1,i6).a(2,2)=wcl*(cauxa-ceps_0)
      r4_16w(i1,i6).b(1,2)=wcl*(cauxb-ceps_2)
      r4_16w(i1,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      r4_16w(i1,i6).d(1,1)=wcl*c16w(i1,i6).ek0
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i1=1,2
      do i6=1,2
* TTW -- aa=tappttw(i3,i2,i1,i6).a,bb=tappttw(i3,i2,i1,i6).b,cc=tappttw(i3,
* i2,i1,i6).c,dd=tappttw(i3,i2,i1,i6).d,a1=l5_23fz(i3,i2).a,b1=l5_23fz(i3,i2
* ).b,c1=l5_23fz(i3,i2).c,d1=l5_23fz(i3,i2).d,a2=r4_16w(i1,i6).a,b2=r4_16w(i
* 1,i6).b,c2=r4_16w(i1,i6).c,d2=r4_16w(i1,i6).d,prq=p235q,m=xm(5)
      tappttw(i3,i2,i1,i6).c(1,1)=xm(5)*(l5_23fz(i3,i2).a(1,1)*r
     & 4_16w(i1,i6).d(1,1)+l5_23fz(i3,i2).c(1,2)*r4_16w(i1,i6).c
     & (2,1))
      tappttw(i3,i2,i1,i6).d(1,1)=l5_23fz(i3,i2).d(1,1)*p235q*r4
     & _16w(i1,i6).d(1,1)+l5_23fz(i3,i2).b(1,2)*r4_16w(i1,i6).c(
     & 2,1)
      tappttw(i3,i2,i1,i6).a(1,2)=xm(5)*(l5_23fz(i3,i2).a(1,1)*r
     & 4_16w(i1,i6).b(1,2)+l5_23fz(i3,i2).c(1,2)*r4_16w(i1,i6).a
     & (2,2))
      tappttw(i3,i2,i1,i6).b(1,2)=l5_23fz(i3,i2).d(1,1)*p235q*r4
     & _16w(i1,i6).b(1,2)+l5_23fz(i3,i2).b(1,2)*r4_16w(i1,i6).a(
     & 2,2)
      tappttw(i3,i2,i1,i6).c(2,1)=l5_23fz(i3,i2).c(2,1)*p235q*r4
     & _16w(i1,i6).d(1,1)+l5_23fz(i3,i2).a(2,2)*r4_16w(i1,i6).c(
     & 2,1)
      tappttw(i3,i2,i1,i6).d(2,1)=xm(5)*(l5_23fz(i3,i2).b(2,1)*r
     & 4_16w(i1,i6).d(1,1)+l5_23fz(i3,i2).d(2,2)*r4_16w(i1,i6).c
     & (2,1))
      tappttw(i3,i2,i1,i6).a(2,2)=l5_23fz(i3,i2).c(2,1)*p235q*r4
     & _16w(i1,i6).b(1,2)+l5_23fz(i3,i2).a(2,2)*r4_16w(i1,i6).a(
     & 2,2)
      tappttw(i3,i2,i1,i6).b(2,2)=xm(5)*(l5_23fz(i3,i2).b(2,1)*r
     & 4_16w(i1,i6).b(1,2)+l5_23fz(i3,i2).d(2,2)*r4_16w(i1,i6).a
     & (2,2))
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i2=1,2
* mline -- res=cc12(i1,i6,i3,i2,&),abcd=tappttw(i3,i2,i1,i6).,m1=xm(5),m2=(
* -xm(4)),den=((p235q-xm(5)**2)*p235k0)
      do iut=1,2
      do jut=1,2
      cc12(i1,i6,i3,i2,iut,jut)=(tappttw(i3,i2,i1,i6).a(iut,jut)
     & +xm(5)*tappttw(i3,i2,i1,i6).b(iut,jut)+(-xm(4))*tappttw(i
     & 3,i2,i1,i6).c(iut,jut)+xm(5)*(-xm(4))*tappttw(i3,i2,i1,i6
     & ).d(iut,jut))/((p235q-xm(5)**2)*p235k0)
      enddo
      enddo
      end do
      end do
      end do
      end do

**** fine i3e
          endif
* qui finiscono i secondi diagrammi di cc20
          if (i4e.eq.1) then
* quqd -- p=p4,q=p1
      quqd=p4(0)*p1(0)-p4(1)*p1(1)-p4(2)*p1(2)-p4(3)*p1(3)
* il - qui e in cdw e' perche' i propagatori bosonici portano un segno
* - rispetto a quelli fermionici
      cdz=-1.d0/((2.d0*rme**2-2.d0*quqd)*czipr-rmz2+ccz)
      df=-1.d0/(2.d0*rme**2-2.d0*quqd)
      fac1=(df*fer)
      fac2=(df*fel)
      cfac1z=(cdz*zer)
      cfac2z=(cdz*zel)
* T -- qu=p1,qd=p4,v=0,a=v41f(0).a,b=v41f(0).b,c=v41f(0).c,d=v41f(0).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p1(2)*p4(3)+p4(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p4(3)*cim
      auxa=-quqd+p1k0*p4(0)+p4k0*p1(0)
      v41f(0).a(1,1)=fac1*(auxa+ceps_0)
      v41f(0).a(2,2)=fac2*(auxa-ceps_0)
      v41f(0).b(1,2)=-fac2*(p4(2)+ceps_2)
      v41f(0).b(2,1)=fac1*(p4(2)-ceps_2)
      v41f(0).c(1,2)=fac1*(p1(2)+ceps_1)
      v41f(0).c(2,1)=fac2*(-p1(2)+ceps_1)
      v41f(0).d(1,1)=fac2
      v41f(0).d(2,2)=fac1
* T -- qu=p1,qd=p4,v=1,a=v41f(1).a,b=v41f(1).b,c=v41f(1).c,d=v41f(1).d,cr=f
* ac1,cl=fac2,nsum=0
      auxa=-quqd+p1k0*p4(1)+p4k0*p1(1)
      v41f(1).a(1,1)=fac1*(auxa+ceps_0)
      v41f(1).a(2,2)=fac2*(auxa-ceps_0)
      v41f(1).b(1,2)=-fac2*(p4(2)+ceps_2)
      v41f(1).b(2,1)=fac1*(p4(2)-ceps_2)
      v41f(1).c(1,2)=fac1*(p1(2)+ceps_1)
      v41f(1).c(2,1)=fac2*(-p1(2)+ceps_1)
      v41f(1).d(1,1)=fac2
      v41f(1).d(2,2)=fac1
* T -- qu=p1,qd=p4,v=2,a=v41f(2).a,b=v41f(2).b,c=v41f(2).c,d=v41f(2).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p1k0*p4(3)+p4k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p4(2)+p4k0*p1(2)
      v41f(2).a(1,1)=fac1*(auxa+ceps_0)
      v41f(2).a(2,2)=fac2*(auxa-ceps_0)
      v41f(2).b(1,2)=-fac2*p4k0
      v41f(2).b(2,1)=fac1*p4k0
      v41f(2).c(1,2)=fac1*p1k0
      v41f(2).c(2,1)=-fac2*p1k0
* T -- qu=p1,qd=p4,v=3,a=v41f(3).a,b=v41f(3).b,c=v41f(3).c,d=v41f(3).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=p1k0*p4(2)-p4k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p4k0*cim
      auxa=+p1k0*p4(3)+p4k0*p1(3)
      v41f(3).a(1,1)=fac1*(auxa+ceps_0)
      v41f(3).a(2,2)=fac2*(auxa-ceps_0)
      v41f(3).b(1,2)=-fac2*ceps_2
      v41f(3).b(2,1)=-fac1*ceps_2
      v41f(3).c(1,2)=fac1*ceps_1
      v41f(3).c(2,1)=fac2*ceps_1
      do m=0,3
* mline -- res=c41f(&).e(m),abcd=v41f(m).,m1=(-rme),m2=(-rme),den=0
      do iut=1,2
      do jut=1,2
      c41f(iut,jut).e(m)=v41f(m).a(iut,jut)+(-rme)*v41f(m).b(iut
     & ,jut)+(-rme)*v41f(m).c(iut,jut)+(-rme)*(-rme)*v41f(m).d(i
     & ut,jut)
      enddo
      enddo
      end do
* T -- qu=p1,qd=p4,v=0,a=v41z(0).a,b=v41z(0).b,c=v41z(0).c,d=v41z(0).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p1(2)*p4(3)+p4(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p4(3)*cim
      auxa=-quqd+p1k0*p4(0)+p4k0*p1(0)
      v41z(0).a(1,1)=cfac1z*(auxa+ceps_0)
      v41z(0).a(2,2)=cfac2z*(auxa-ceps_0)
      v41z(0).b(1,2)=-cfac2z*(p4(2)+ceps_2)
      v41z(0).b(2,1)=cfac1z*(p4(2)-ceps_2)
      v41z(0).c(1,2)=cfac1z*(p1(2)+ceps_1)
      v41z(0).c(2,1)=cfac2z*(-p1(2)+ceps_1)
      v41z(0).d(1,1)=cfac2z
      v41z(0).d(2,2)=cfac1z
* T -- qu=p1,qd=p4,v=1,a=v41z(1).a,b=v41z(1).b,c=v41z(1).c,d=v41z(1).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      auxa=-quqd+p1k0*p4(1)+p4k0*p1(1)
      v41z(1).a(1,1)=cfac1z*(auxa+ceps_0)
      v41z(1).a(2,2)=cfac2z*(auxa-ceps_0)
      v41z(1).b(1,2)=-cfac2z*(p4(2)+ceps_2)
      v41z(1).b(2,1)=cfac1z*(p4(2)-ceps_2)
      v41z(1).c(1,2)=cfac1z*(p1(2)+ceps_1)
      v41z(1).c(2,1)=cfac2z*(-p1(2)+ceps_1)
      v41z(1).d(1,1)=cfac2z
      v41z(1).d(2,2)=cfac1z
* T -- qu=p1,qd=p4,v=2,a=v41z(2).a,b=v41z(2).b,c=v41z(2).c,d=v41z(2).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p1k0*p4(3)+p4k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p4(2)+p4k0*p1(2)
      v41z(2).a(1,1)=cfac1z*(auxa+ceps_0)
      v41z(2).a(2,2)=cfac2z*(auxa-ceps_0)
      v41z(2).b(1,2)=-cfac2z*p4k0
      v41z(2).b(2,1)=cfac1z*p4k0
      v41z(2).c(1,2)=cfac1z*p1k0
      v41z(2).c(2,1)=-cfac2z*p1k0
* T -- qu=p1,qd=p4,v=3,a=v41z(3).a,b=v41z(3).b,c=v41z(3).c,d=v41z(3).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=p1k0*p4(2)-p4k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p4k0*cim
      auxa=+p1k0*p4(3)+p4k0*p1(3)
      v41z(3).a(1,1)=cfac1z*(auxa+ceps_0)
      v41z(3).a(2,2)=cfac2z*(auxa-ceps_0)
      v41z(3).b(1,2)=-cfac2z*ceps_2
      v41z(3).b(2,1)=-cfac1z*ceps_2
      v41z(3).c(1,2)=cfac1z*ceps_1
      v41z(3).c(2,1)=cfac2z*ceps_1
      do m=0,3
* mline -- res=c41z(&).e(m),abcd=v41z(m).,m1=(-rme),m2=(-rme),den=0
      do iut=1,2
      do jut=1,2
      c41z(iut,jut).e(m)=v41z(m).a(iut,jut)+(-rme)*v41z(m).b(iut
     & ,jut)+(-rme)*v41z(m).c(iut,jut)+(-rme)*(-rme)*v41z(m).d(i
     & ut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i1=1,2
        do i4=1,2
          c41z(i1,i4).v=c41z(i1,i4).e(0)*p14(0)
          do i=1,3
            c41z(i1,i4).v=c41z(i1,i4).v-
     &      c41z(i1,i4).e(i)*p14(i)
          enddo
        enddo
      enddo
      do i1=1,2
        do i4=1,2
          do mu=0,3
            c41z(i1,i4).e(mu)=c41z(i1,i4).e(mu)-p14(mu)
     &      *c41z(i1,i4).v/rmz2
          enddo
        enddo
      enddo
****
      if (ianc.eq.0) then
        do i1=1,2
         do i4=1,2
          do mu=0,3
            c41fz(i1,i4).e(mu)=c41f(i1,i4).e(mu)+
     &      rcotw*c41z(i1,i4).e(mu)
          end do
         end do
        end do
      else
        do i1=1,2
         do i4=1,2
          do mu=0,3
            c41fz(i1,i4).e(mu)=c41f(i1,i4).e(mu)+
     &      (rcotw+delz)*c41z(i1,i4).e(mu)
          end do
         end do
        end do
      endif
        do i1=1,2
         do i4=1,2
          do mu=0,3
            c41fz3(i1,i4).e(mu)=c41f(i1,i4).e(mu)*f3l
     &      +c41z(i1,i4).e(mu)*z3l
            c41fz6(i1,i4).e(mu)=c41f(i1,i4).e(mu)*f6l
     &      +c41z(i1,i4).e(mu)*z6l
            c41fz2(i1,i4).e(mu)=c41f(i1,i4).e(mu)*fel
     &      +c41z(i1,i4).e(mu)*zel
          end do
         end do
        end do
      do i1=1,2
      do i4=1,2
* pk0 -- p=c41f(i1,i4).e
      c41f(i1,i4).ek0=c41f(i1,i4).e(0)-c41f(i1,i4).e(1)
      end do
      end do
      do i1=1,2
      do i4=1,2
* pk0 -- p=c41z(i1,i4).e
      c41z(i1,i4).ek0=c41z(i1,i4).e(0)-c41z(i1,i4).e(1)
      end do
      end do
      do i1=1,2
      do i4=1,2
* pk0 -- p=c41fz3(i1,i4).e
      c41fz3(i1,i4).ek0=c41fz3(i1,i4).e(0)-c41fz3(i1,i4).e(1)
      end do
      end do
      do i1=1,2
      do i4=1,2
* pk0 -- p=c41fz6(i1,i4).e
      c41fz6(i1,i4).ek0=c41fz6(i1,i4).e(0)-c41fz6(i1,i4).e(1)
      end do
      end do
      do i1=1,2
      do i4=1,2
* pk0 -- p=c41fz2(i1,i4).e
      c41fz2(i1,i4).ek0=c41fz2(i1,i4).e(0)-c41fz2(i1,i4).e(1)
      end do
      end do
* quqd -- p=p5,q=p2
*begin{EZ} modificato propagatore W canale t
      quqd=p5(0)*p2(0)-p5(1)*p2(1)-p5(2)*p2(2)-p5(3)*p2(3)
      ccl=wcl/((-rme**2+2.d0*quqd)+rmw2-ccw)
* TW -- qu=p5,qd=p2,v=0,a=v52w(0).a,b=v52w(0).b,c=v52w(0).c,d=v52w(0).d,cl=
* ccl,nsum=0
      eps_0=-p5(2)*p2(3)+p2(2)*p5(3)
      ceps_0=eps_0*cim
      ceps_1=p5(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p5k0*p2(0)+p2k0*p5(0)
      v52w(0).a(2,2)=ccl*(auxa-ceps_0)
      v52w(0).b(1,2)=-ccl*(p2(2)+ceps_2)
      v52w(0).c(2,1)=ccl*(-p5(2)+ceps_1)
      v52w(0).d(1,1)=ccl
* TW -- qu=p5,qd=p2,v=1,a=v52w(1).a,b=v52w(1).b,c=v52w(1).c,d=v52w(1).d,cl=
* ccl,nsum=0
      auxa=-quqd+p5k0*p2(1)+p2k0*p5(1)
      v52w(1).a(2,2)=ccl*(auxa-ceps_0)
      v52w(1).b(1,2)=-ccl*(p2(2)+ceps_2)
      v52w(1).c(2,1)=ccl*(-p5(2)+ceps_1)
      v52w(1).d(1,1)=ccl
* TW -- qu=p5,qd=p2,v=2,a=v52w(2).a,b=v52w(2).b,c=v52w(2).c,d=v52w(2).d,cl=
* ccl,nsum=0
      eps_0=-p5k0*p2(3)+p2k0*p5(3)
      ceps_0=eps_0*cim
      auxa=p5k0*p2(2)+p2k0*p5(2)
      v52w(2).a(2,2)=ccl*(auxa-ceps_0)
      v52w(2).b(1,2)=-ccl*p2k0
      v52w(2).c(2,1)=-ccl*p5k0
* TW -- qu=p5,qd=p2,v=3,a=v52w(3).a,b=v52w(3).b,c=v52w(3).c,d=v52w(3).d,cl=
* ccl,nsum=0
      eps_0=p5k0*p2(2)-p2k0*p5(2)
      ceps_0=eps_0*cim
      ceps_1=p5k0*cim
      ceps_2=p2k0*cim
      auxa=+p5k0*p2(3)+p2k0*p5(3)
      v52w(3).a(2,2)=ccl*(auxa-ceps_0)
      v52w(3).b(1,2)=-ccl*ceps_2
      v52w(3).c(2,1)=ccl*ceps_1
      do m=0,3
* mline -- res=c52w(&).e(m),abcd=v52w(m).,m1=0.d0,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c52w(iut,jut).e(m)=v52w(m).a(iut,jut)+0.d0*v52w(m).b(iut,j
     & ut)+rme*v52w(m).c(iut,jut)+0.d0*rme*v52w(m).d(iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i5=1,2
        do i2=1,2
          c52w(i5,i2).v=c52w(i5,i2).e(0)*p25(0)
          do i=1,3
            c52w(i5,i2).v=c52w(i5,i2).v-
     &      c52w(i5,i2).e(i)*p25(i)
          enddo
        enddo
      enddo
      do i5=1,2
        do i2=1,2
          do mu=0,3
            c52w(i5,i2).e(mu)=c52w(i5,i2).e(mu)-p25(mu)
     &      *c52w(i5,i2).v/(rmw2-ccw)
          enddo
        enddo
      enddo
****
      do i5=1,2
      do i2=1,2
* pk0 -- p=c52w(i5,i2).e
      c52w(i5,i2).ek0=c52w(i5,i2).e(0)-c52w(i5,i2).e(1)
      end do
      end do
*
* diagramma triplo 20 cc13
*
*** triple vertex -- pfz(mu)=p14(mu),pwm(mu)=p36(mu),pwp(mu)=p25(mu),efz=c4
* 1fz(i1,i4),ewm=c36w(i3,i6),ewp=c52w(i5,i2),res=cc13(i1?,i2?,i3?,i4?,i5?,i6
* ?)
      do mu=0,3
      vfz(mu)=p36(mu)-p25(mu)
      vwm(mu)=p25(mu)-p14(mu)
      vwp(mu)=p14(mu)-p36(mu)
      end do !mu
* vfz.efz
      do i1=1,2
      do i4=1,2
* p.q -- p.q=c41fz(i1,i4).v,p=c41fz(i1,i4).e,q=vfz
      c41fz(i1,i4).v=c41fz(i1,i4).e(0)*vfz(0)-c41fz(i1,i4).e(1)*
     & vfz(1)-c41fz(i1,i4).e(2)*vfz(2)-c41fz(i1,i4).e(3)*vfz(3)
      end do
      end do
* vwm.ewm
      do i3=1,2
      do i6=1,2
* p.q -- p.q=c36w(i3,i6).v,p=c36w(i3,i6).e,q=vwm
      c36w(i3,i6).v=c36w(i3,i6).e(0)*vwm(0)-c36w(i3,i6).e(1)*vwm
     & (1)-c36w(i3,i6).e(2)*vwm(2)-c36w(i3,i6).e(3)*vwm(3)
      end do
      end do
* vwp.ewp
      do i5=1,2
      do i2=1,2
* p.q -- p.q=c52w(i5,i2).v,p=c52w(i5,i2).e,q=vwp
      c52w(i5,i2).v=c52w(i5,i2).e(0)*vwp(0)-c52w(i5,i2).e(1)*vwp
     & (1)-c52w(i5,i2).e(2)*vwp(2)-c52w(i5,i2).e(3)*vwp(3)
      end do
      end do
* efz.ewm
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i6=1,2
* p.q -- p.q=caux,p=c41fz(i1,i4).e,q=c36w(i3,i6).e
      caux=c41fz(i1,i4).e(0)*c36w(i3,i6).e(0)-c41fz(i1,i4).e(1)*
     & c36w(i3,i6).e(1)-c41fz(i1,i4).e(2)*c36w(i3,i6).e(2)-c41fz
     & (i1,i4).e(3)*c36w(i3,i6).e(3)
      do i2=1,2
      do i5=1,2
      cc13(i1,i2,i3,i4,i5,i6)=c52w(i5,i2).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* efz.ewp
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=caux,p=c41fz(i1,i4).e,q=c52w(i5,i2).e
      caux=c41fz(i1,i4).e(0)*c52w(i5,i2).e(0)-c41fz(i1,i4).e(1)*
     & c52w(i5,i2).e(1)-c41fz(i1,i4).e(2)*c52w(i5,i2).e(2)-c41fz
     & (i1,i4).e(3)*c52w(i5,i2).e(3)
      do i3=1,2
      do i6=1,2
      cc13(i1,i2,i3,i4,i5,i6)=cc13(i1,i2,i3,i4,i5,i6)+c36w(i3,i6
     & ).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* ewm.ewp
      do i3=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=caux,p=c36w(i3,i6).e,q=c52w(i5,i2).e
      caux=c36w(i3,i6).e(0)*c52w(i5,i2).e(0)-c36w(i3,i6).e(1)*c5
     & 2w(i5,i2).e(1)-c36w(i3,i6).e(2)*c52w(i5,i2).e(2)-c36w(i3,
     & i6).e(3)*c52w(i5,i2).e(3)
      do i1=1,2
      do i4=1,2
      cc13(i1,i2,i3,i4,i5,i6)=cc13(i1,i2,i3,i4,i5,i6)+c41fz(i1,i
     & 4).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* anomalous couplings
      if (ianc.ne.0) then
      do i3=1,2
      do i6=1,2
* p.q -- p.q=cemp0(i3,i6),p=c36w(i3,i6).e,q=p14
      cemp0(i3,i6)=c36w(i3,i6).e(0)*p14(0)-c36w(i3,i6).e(1)*p14(
     & 1)-c36w(i3,i6).e(2)*p14(2)-c36w(i3,i6).e(3)*p14(3)
      end do
      end do
      do i5=1,2
      do i2=1,2
* p.q -- p.q=cepp0(i5,i2),p=c52w(i5,i2).e,q=p14
      cepp0(i5,i2)=c52w(i5,i2).e(0)*p14(0)-c52w(i5,i2).e(1)*p14(
     & 1)-c52w(i5,i2).e(2)*p14(2)-c52w(i5,i2).e(3)*p14(3)
      end do
      end do

        if (xf.ne.0.d0.or.xz.ne.0.d0) then
          do i1=1,2
           do i4=1,2
            do mu=0,3
              c41fz(i1,i4).e(mu)=xf*c41f(i1,i4).e(mu)+
     &        xz*c41z(i1,i4).e(mu)
            end do
           end do
          end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i6=1,2
* p.q -- p.q=ce0em(i1,i4,i3,i6),p=c41fz(i1,i4).e,q=c36w(i3,i6).e
      ce0em(i1,i4,i3,i6)=c41fz(i1,i4).e(0)*c36w(i3,i6).e(0)-c41f
     & z(i1,i4).e(1)*c36w(i3,i6).e(1)-c41fz(i1,i4).e(2)*c36w(i3,
     & i6).e(2)-c41fz(i1,i4).e(3)*c36w(i3,i6).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=ce0ep(i1,i4,i5,i2),p=c41fz(i1,i4).e,q=c52w(i5,i2).e
      ce0ep(i1,i4,i5,i2)=c41fz(i1,i4).e(0)*c52w(i5,i2).e(0)-c41f
     & z(i1,i4).e(1)*c52w(i5,i2).e(1)-c41fz(i1,i4).e(2)*c52w(i5,
     & i2).e(2)-c41fz(i1,i4).e(3)*c52w(i5,i2).e(3)
      end do
      end do
      end do
      end do
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                 cc13(i1,i2,i3,i4,i5,i6)=cc13(i1,i2,i3,i4,i5,i6)+
     &           ce0em(i1,i4,i3,i6)*cepp0(i5,i2)-
     &           ce0ep(i1,i4,i5,i2)*cemp0(i3,i6)
               end do
              end do
             end do
            end do
           end do
          end do
        endif

        if (yf.ne.0.d0.or.yz.ne.0.d0) then
          do i1=1,2
           do i4=1,2
            do mu=0,3
              c41fz(i1,i4).e(mu)=yf*c41f(i1,i4).e(mu)+
     &        yz*c41z(i1,i4).e(mu)
            end do
           end do
          end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i6=1,2
* p.q -- p.q=ce0em(i1,i4,i3,i6),p=c41fz(i1,i4).e,q=c36w(i3,i6).e
      ce0em(i1,i4,i3,i6)=c41fz(i1,i4).e(0)*c36w(i3,i6).e(0)-c41f
     & z(i1,i4).e(1)*c36w(i3,i6).e(1)-c41fz(i1,i4).e(2)*c36w(i3,
     & i6).e(2)-c41fz(i1,i4).e(3)*c36w(i3,i6).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=ce0ep(i1,i4,i5,i2),p=c41fz(i1,i4).e,q=c52w(i5,i2).e
      ce0ep(i1,i4,i5,i2)=c41fz(i1,i4).e(0)*c52w(i5,i2).e(0)-c41f
     & z(i1,i4).e(1)*c52w(i5,i2).e(1)-c41fz(i1,i4).e(2)*c52w(i5,
     & i2).e(2)-c41fz(i1,i4).e(3)*c52w(i5,i2).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
* p.q -- p.q=ce0pm(i1,i4),p=c41fz(i1,i4).e,q=p36
      ce0pm(i1,i4)=c41fz(i1,i4).e(0)*p36(0)-c41fz(i1,i4).e(1)*p3
     & 6(1)-c41fz(i1,i4).e(2)*p36(2)-c41fz(i1,i4).e(3)*p36(3)
      end do
      end do
      do i1=1,2
      do i4=1,2
* p.q -- p.q=ce0pp(i1,i4),p=c41fz(i1,i4).e,q=p25
      ce0pp(i1,i4)=c41fz(i1,i4).e(0)*p25(0)-c41fz(i1,i4).e(1)*p2
     & 5(1)-c41fz(i1,i4).e(2)*p25(2)-c41fz(i1,i4).e(3)*p25(3)
      end do
      end do
      do i3=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=cemep(i3,i6,i5,i2),p=c36w(i3,i6).e,q=c52w(i5,i2).e
      cemep(i3,i6,i5,i2)=c36w(i3,i6).e(0)*c52w(i5,i2).e(0)-c36w(
     & i3,i6).e(1)*c52w(i5,i2).e(1)-c36w(i3,i6).e(2)*c52w(i5,i2)
     & .e(2)-c36w(i3,i6).e(3)*c52w(i5,i2).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i6=1,2
* p.q -- p.q=cempp(i3,i6),p=c36w(i3,i6).e,q=p25
      cempp(i3,i6)=c36w(i3,i6).e(0)*p25(0)-c36w(i3,i6).e(1)*p25(
     & 1)-c36w(i3,i6).e(2)*p25(2)-c36w(i3,i6).e(3)*p25(3)
      end do
      end do
      do i5=1,2
      do i2=1,2
* p.q -- p.q=ceppm(i5,i2),p=c52w(i5,i2).e,q=p36
      ceppm(i5,i2)=c52w(i5,i2).e(0)*p36(0)-c52w(i5,i2).e(1)*p36(
     & 1)-c52w(i5,i2).e(2)*p36(2)-c52w(i5,i2).e(3)*p36(3)
      end do
      end do
* p.q -- p.q=p0pm,p=p14,q=p36
      p0pm=p14(0)*p36(0)-p14(1)*p36(1)-p14(2)*p36(2)-p14(3)*p36(
     & 3)
* p.q -- p.q=p0pp,p=p14,q=p25
      p0pp=p14(0)*p25(0)-p14(1)*p25(1)-p14(2)*p25(2)-p14(3)*p25(
     & 3)
* p.q -- p.q=pmpp,p=p36,q=p25
      pmpp=p36(0)*p25(0)-p36(1)*p25(1)-p36(2)*p25(2)-p36(3)*p25(
     & 3)
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                 cc13(i1,i2,i3,i4,i5,i6)=cc13(i1,i2,i3,i4,i5,i6)+
     &           ce0pm(i1,i4)*cepp0(i5,i2)*cempp(i3,i6)-
     &           ce0pp(i1,i4)*ceppm(i5,i2)*cemp0(i3,i6)+
     &           p0pp*(ce0em(i1,i4,i3,i6)*ceppm(i5,i2)-
     &           cemep(i3,i6,i5,i2)*ce0pm(i1,i4))+
     &           p0pm*(cemep(i3,i6,i5,i2)*ce0pp(i1,i4)-
     &           ce0ep(i1,i4,i5,i2)*cempp(i3,i6))+
     &           pmpp*(ce0ep(i1,i4,i5,i2)*cemp0(i3,i6)-
     &           ce0em(i1,i4,i3,i6)*cepp0(i5,i2))
               end do
              end do
             end do
            end do
           end do
          end do
        endif
        if (zz.ne.0.d0) then
          do m=0,3
           do i5=1,2
            do i2=1,2
             do i3=1,2
              do i6=1,2
                cpau(i5,i2,i3,i6).e(m)=cepp0(i5,i2)*c36w(i3,i6).e(m)
     &          -cemp0(i3,i6)*c52w(i5,i2).e(m)
              end do
             end do
            end do
           end do
           pau(m)=p25(m)-p36(m)
          enddo
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* eps -- eps=cau(i1,i2,i3,i4,i5,i6),p=c41z(i1,i4).e,q=cpau(i5,i2,i3,i6).e,r
* =p14,s=pau
      cau(i1,i2,i3,i4,i5,i6)=c41z(i1,i4).e(0)*(cpau(i5,i2,i3,i6)
     & .e(1)*(p14(2)*pau(3)-p14(3)*pau(2))+cpau(i5,i2,i3,i6).e(2
     & )*(p14(3)*pau(1)-p14(1)*pau(3))+cpau(i5,i2,i3,i6).e(3)*(p
     & 14(1)*pau(2)-p14(2)*pau(1)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c41z(i1,i4).
     & e(1)*(cpau(i5,i2,i3,i6).e(2)*(p14(3)*pau(0)-p14(0)*pau(3)
     & )+cpau(i5,i2,i3,i6).e(3)*(p14(0)*pau(2)-p14(2)*pau(0))+cp
     & au(i5,i2,i3,i6).e(0)*(p14(2)*pau(3)-p14(3)*pau(2)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)+c41z(i1,i4).
     & e(2)*(cpau(i5,i2,i3,i6).e(3)*(p14(0)*pau(1)-p14(1)*pau(0)
     & )+cpau(i5,i2,i3,i6).e(0)*(p14(1)*pau(3)-p14(3)*pau(1))+cp
     & au(i5,i2,i3,i6).e(1)*(p14(3)*pau(0)-p14(0)*pau(3)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c41z(i1,i4).
     & e(3)*(cpau(i5,i2,i3,i6).e(0)*(p14(1)*pau(2)-p14(2)*pau(1)
     & )+cpau(i5,i2,i3,i6).e(1)*(p14(2)*pau(0)-p14(0)*pau(2))+cp
     & au(i5,i2,i3,i6).e(2)*(p14(0)*pau(1)-p14(1)*pau(0)))
      end do
      end do
      end do
      end do
      end do
      end do
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                 cc13(i1,i2,i3,i4,i5,i6)=cc13(i1,i2,i3,i4,i5,i6)+
     &           cim*zz*cau(i1,i2,i3,i4,i5,i6)
               enddo
              enddo
             enddo
            enddo
           enddo
          enddo
        endif
      endif
* end anomalous couplings
*
* diagramma cc14
*
*****attaccamento di  c41f\(2) a 2
* quqd -- p=p356,q=p2
      quqd=p356(0)*p2(0)-p356(1)*p2(1)-p356(2)*p2(2)-p356(3)*p2(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p356,qd=p2,v=c41f(i1,i4).e,a=r2_14fz(i1,i4).a,b=r2_14fz(i1,i4).b,
* c=r2_14fz(i1,i4).c,d=r2_14fz(i1,i4).d,cr=f4r,cl=f4l,nsum=0
      ceps_0=-c41f(i1,i4).ek0*(p356(2)*p2(3)-p2(2)*p356(3))+p356
     & k0*(c41f(i1,i4).e(2)*p2(3)-p2(2)*c41f(i1,i4).e(3))-p2k0*(
     & c41f(i1,i4).e(2)*p356(3)-p356(2)*c41f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c41f(i1,i4).e(3)*p356k0+p356(3)*c41f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c41f(i1,i4).e(3)*p2k0+p2(3)*c41f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c41f(i1,i4).e(0)*p356(0)-c41f(i1,i4).e(1)*p356(1)-c41
     & f(i1,i4).e(2)*p356(2)-c41f(i1,i4).e(3)*p356(3)
      cvqd=c41f(i1,i4).e(0)*p2(0)-c41f(i1,i4).e(1)*p2(1)-c41f(i1
     & ,i4).e(2)*p2(2)-c41f(i1,i4).e(3)*p2(3)
      cauxa=-c41f(i1,i4).ek0*quqd+p356k0*cvqd+p2k0*cvqu
      cauxb=-c41f(i1,i4).ek0*p2(2)+p2k0*c41f(i1,i4).e(2)
      cauxc=+c41f(i1,i4).ek0*p356(2)-p356k0*c41f(i1,i4).e(2)
      r2_14fz(i1,i4).a(1,1)=f4r*(cauxa+ceps_0)
      r2_14fz(i1,i4).a(2,2)=f4l*(cauxa-ceps_0)
      r2_14fz(i1,i4).b(1,2)=f4l*(cauxb-ceps_2)
      r2_14fz(i1,i4).b(2,1)=f4r*(-cauxb-ceps_2)
      r2_14fz(i1,i4).c(1,2)=f4r*(cauxc+ceps_1)
      r2_14fz(i1,i4).c(2,1)=f4l*(-cauxc+ceps_1)
      r2_14fz(i1,i4).d(1,1)=f4l*c41f(i1,i4).ek0
      r2_14fz(i1,i4).d(2,2)=f4r*c41f(i1,i4).ek0
      end do
      end do
      do i1=1,2
      do i4=1,2
* T -- qu=p356,qd=p2,v=c41z(i1,i4).e,a=r2_14fz(i1,i4).a,b=r2_14fz(i1,i4).b,
* c=r2_14fz(i1,i4).c,d=r2_14fz(i1,i4).d,cr=z4r,cl=z4l,nsum=1
      ceps_0=-c41z(i1,i4).ek0*(p356(2)*p2(3)-p2(2)*p356(3))+p356
     & k0*(c41z(i1,i4).e(2)*p2(3)-p2(2)*c41z(i1,i4).e(3))-p2k0*(
     & c41z(i1,i4).e(2)*p356(3)-p356(2)*c41z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c41z(i1,i4).e(3)*p356k0+p356(3)*c41z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c41z(i1,i4).e(3)*p2k0+p2(3)*c41z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c41z(i1,i4).e(0)*p356(0)-c41z(i1,i4).e(1)*p356(1)-c41
     & z(i1,i4).e(2)*p356(2)-c41z(i1,i4).e(3)*p356(3)
      cvqd=c41z(i1,i4).e(0)*p2(0)-c41z(i1,i4).e(1)*p2(1)-c41z(i1
     & ,i4).e(2)*p2(2)-c41z(i1,i4).e(3)*p2(3)
      cauxa=-c41z(i1,i4).ek0*quqd+p356k0*cvqd+p2k0*cvqu
      cauxb=-c41z(i1,i4).ek0*p2(2)+p2k0*c41z(i1,i4).e(2)
      cauxc=+c41z(i1,i4).ek0*p356(2)-p356k0*c41z(i1,i4).e(2)
      r2_14fz(i1,i4).a(1,1)=r2_14fz(i1,i4).a(1,1)+z4r*(cauxa+cep
     & s_0)
      r2_14fz(i1,i4).a(2,2)=r2_14fz(i1,i4).a(2,2)+z4l*(cauxa-cep
     & s_0)
      r2_14fz(i1,i4).b(1,2)=r2_14fz(i1,i4).b(1,2)+z4l*(cauxb-cep
     & s_2)
      r2_14fz(i1,i4).b(2,1)=r2_14fz(i1,i4).b(2,1)+z4r*(-cauxb-ce
     & ps_2)
      r2_14fz(i1,i4).c(1,2)=r2_14fz(i1,i4).c(1,2)+z4r*(cauxc+cep
     & s_1)
      r2_14fz(i1,i4).c(2,1)=r2_14fz(i1,i4).c(2,1)+z4l*(-cauxc+ce
     & ps_1)
      r2_14fz(i1,i4).d(1,1)=r2_14fz(i1,i4).d(1,1)+z4l*c41z(i1,i4
     & ).ek0
      r2_14fz(i1,i4).d(2,2)=r2_14fz(i1,i4).d(2,2)+z4r*c41z(i1,i4
     & ).ek0
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i6=1,2
* TWT -- aa=tapptwt(i1,i4,i3,i6).a,bb=tapptwt(i1,i4,i3,i6).b,cc=tapptwt(i1,
* i4,i3,i6).c,dd=tapptwt(i1,i4,i3,i6).d,a1=l5_36w(i3,i6).a,b1=l5_36w(i3,i6).
* b,c1=l5_36w(i3,i6).c,d1=l5_36w(i3,i6).d,a2=r2_14fz(i1,i4).a,b2=r2_14fz(i1,
* i4).b,c2=r2_14fz(i1,i4).c,d2=r2_14fz(i1,i4).d,prq=p356q,m=rme
      tapptwt(i1,i4,i3,i6).b(1,1)=rme*(l5_36w(i3,i6).d(1,1)*r2_1
     & 4fz(i1,i4).a(1,1)+l5_36w(i3,i6).b(1,2)*r2_14fz(i1,i4).b(2
     & ,1))
      tapptwt(i1,i4,i3,i6).d(1,1)=l5_36w(i3,i6).d(1,1)*p356q*r2_
     & 14fz(i1,i4).d(1,1)+l5_36w(i3,i6).b(1,2)*r2_14fz(i1,i4).c(
     & 2,1)
      tapptwt(i1,i4,i3,i6).b(1,2)=l5_36w(i3,i6).d(1,1)*p356q*r2_
     & 14fz(i1,i4).b(1,2)+l5_36w(i3,i6).b(1,2)*r2_14fz(i1,i4).a(
     & 2,2)
      tapptwt(i1,i4,i3,i6).d(1,2)=rme*(l5_36w(i3,i6).d(1,1)*r2_1
     & 4fz(i1,i4).c(1,2)+l5_36w(i3,i6).b(1,2)*r2_14fz(i1,i4).d(2
     & ,2))
      tapptwt(i1,i4,i3,i6).a(2,1)=rme*(l5_36w(i3,i6).c(2,1)*r2_1
     & 4fz(i1,i4).a(1,1)+l5_36w(i3,i6).a(2,2)*r2_14fz(i1,i4).b(2
     & ,1))
      tapptwt(i1,i4,i3,i6).c(2,1)=l5_36w(i3,i6).c(2,1)*p356q*r2_
     & 14fz(i1,i4).d(1,1)+l5_36w(i3,i6).a(2,2)*r2_14fz(i1,i4).c(
     & 2,1)
      tapptwt(i1,i4,i3,i6).a(2,2)=l5_36w(i3,i6).c(2,1)*p356q*r2_
     & 14fz(i1,i4).b(1,2)+l5_36w(i3,i6).a(2,2)*r2_14fz(i1,i4).a(
     & 2,2)
      tapptwt(i1,i4,i3,i6).c(2,2)=rme*(l5_36w(i3,i6).c(2,1)*r2_1
     & 4fz(i1,i4).c(1,2)+l5_36w(i3,i6).a(2,2)*r2_14fz(i1,i4).d(2
     & ,2))
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i6=1,2
* mline -- res=cc14(i1,i4,i3,i6,&),abcd=tapptwt(i1,i4,i3,i6).,m1=xm(5),m2=r
* me,den=((p356q-rme**2)*p356k0)
      do iut=1,2
      do jut=1,2
      cc14(i1,i4,i3,i6,iut,jut)=(tapptwt(i1,i4,i3,i6).a(iut,jut)
     & +xm(5)*tapptwt(i1,i4,i3,i6).b(iut,jut)+rme*tapptwt(i1,i4,
     & i3,i6).c(iut,jut)+xm(5)*rme*tapptwt(i1,i4,i3,i6).d(iut,ju
     & t))/((p356q-rme**2)*p356k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*
* diagramma cc15
*
* quqd -- p=p5,q=p145
      quqd=p5(0)*p145(0)-p5(1)*p145(1)-p5(2)*p145(2)-p5(3)*p145(
     & 3)
      do i1=1,2
      do i4=1,2
* TW -- qu=p5,qd=p145,v=c41z(i1,i4).e,a=l5_14(i1,i4).a,b=l5_14(i1,i4).b,c=l
* 5_14(i1,i4).c,d=l5_14(i1,i4).d,cl=z5l,nsum=0
      ceps_0=-c41z(i1,i4).ek0*(p5(2)*p145(3)-p145(2)*p5(3))+p5k0
     & *(c41z(i1,i4).e(2)*p145(3)-p145(2)*c41z(i1,i4).e(3))-p145
     & k0*(c41z(i1,i4).e(2)*p5(3)-p5(2)*c41z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c41z(i1,i4).e(3)*p5k0+p5(3)*c41z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c41z(i1,i4).e(3)*p145k0+p145(3)*c41z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c41z(i1,i4).e(0)*p5(0)-c41z(i1,i4).e(1)*p5(1)-c41z(i1
     & ,i4).e(2)*p5(2)-c41z(i1,i4).e(3)*p5(3)
      cvqd=c41z(i1,i4).e(0)*p145(0)-c41z(i1,i4).e(1)*p145(1)-c41
     & z(i1,i4).e(2)*p145(2)-c41z(i1,i4).e(3)*p145(3)
      cauxa=-c41z(i1,i4).ek0*quqd+p5k0*cvqd+p145k0*cvqu
      cauxb=-c41z(i1,i4).ek0*p145(2)+p145k0*c41z(i1,i4).e(2)
      cauxc=+c41z(i1,i4).ek0*p5(2)-p5k0*c41z(i1,i4).e(2)
      l5_14(i1,i4).a(2,2)=z5l*(cauxa-ceps_0)
      l5_14(i1,i4).b(1,2)=z5l*(cauxb-ceps_2)
      l5_14(i1,i4).c(2,1)=z5l*(-cauxc+ceps_1)
      l5_14(i1,i4).d(1,1)=z5l*c41z(i1,i4).ek0
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i6=1,2
* TWTW -- aa=tapp(i1,i4,i3,i6).a,bb=tapp(i1,i4,i3,i6).b,cc=tapp(i1,i4,i3,i6
* ).c,dd=tapp(i1,i4,i3,i6).d,a1=l5_14(i1,i4).a,b1=l5_14(i1,i4).b,c1=l5_14(i1
* ,i4).c,d1=l5_14(i1,i4).d,a2=r2_36w(i3,i6).a,b2=r2_36w(i3,i6).b,c2=r2_36w(i
* 3,i6).c,d2=r2_36w(i3,i6).d,prq=p145q
      tapp(i1,i4,i3,i6).d(1,1)=l5_14(i1,i4).d(1,1)*p145q*r2_36w(
     & i3,i6).d(1,1)+l5_14(i1,i4).b(1,2)*r2_36w(i3,i6).c(2,1)
      tapp(i1,i4,i3,i6).b(1,2)=l5_14(i1,i4).d(1,1)*p145q*r2_36w(
     & i3,i6).b(1,2)+l5_14(i1,i4).b(1,2)*r2_36w(i3,i6).a(2,2)
      tapp(i1,i4,i3,i6).c(2,1)=l5_14(i1,i4).c(2,1)*p145q*r2_36w(
     & i3,i6).d(1,1)+l5_14(i1,i4).a(2,2)*r2_36w(i3,i6).c(2,1)
      tapp(i1,i4,i3,i6).a(2,2)=l5_14(i1,i4).c(2,1)*p145q*r2_36w(
     & i3,i6).b(1,2)+l5_14(i1,i4).a(2,2)*r2_36w(i3,i6).a(2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i6=1,2
* mline -- res=cc15(i1,i4,i3,i6,&),abcd=tapp(i1,i4,i3,i6).,m1=xm(5),m2=rme,
* den=(p145q*p145k0)
      do iut=1,2
      do jut=1,2
      cc15(i1,i4,i3,i6,iut,jut)=(tapp(i1,i4,i3,i6).a(iut,jut)+xm
     & (5)*tapp(i1,i4,i3,i6).b(iut,jut)+rme*tapp(i1,i4,i3,i6).c(
     & iut,jut)+xm(5)*rme*tapp(i1,i4,i3,i6).d(iut,jut))/(p145q*p
     & 145k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*
* diagramma cc16
*
* quqd -- p=p1,q=p125
      quqd=p1(0)*p125(0)-p1(1)*p125(1)-p1(2)*p125(2)-p1(3)*p125(
     & 3)
      do i5=1,2
      do i2=1,2
* TW -- qu=p1,qd=p125,v=c52w(i5,i2).e,a=l1_25w(i5,i2).a,b=l1_25w(i5,i2).b,c
* =l1_25w(i5,i2).c,d=l1_25w(i5,i2).d,cl=wcl,nsum=0
      ceps_0=-c52w(i5,i2).ek0*(p1(2)*p125(3)-p125(2)*p1(3))+p1k0
     & *(c52w(i5,i2).e(2)*p125(3)-p125(2)*c52w(i5,i2).e(3))-p125
     & k0*(c52w(i5,i2).e(2)*p1(3)-p1(2)*c52w(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c52w(i5,i2).e(3)*p1k0+p1(3)*c52w(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c52w(i5,i2).e(3)*p125k0+p125(3)*c52w(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c52w(i5,i2).e(0)*p1(0)-c52w(i5,i2).e(1)*p1(1)-c52w(i5
     & ,i2).e(2)*p1(2)-c52w(i5,i2).e(3)*p1(3)
      cvqd=c52w(i5,i2).e(0)*p125(0)-c52w(i5,i2).e(1)*p125(1)-c52
     & w(i5,i2).e(2)*p125(2)-c52w(i5,i2).e(3)*p125(3)
      cauxa=-c52w(i5,i2).ek0*quqd+p1k0*cvqd+p125k0*cvqu
      cauxb=-c52w(i5,i2).ek0*p125(2)+p125k0*c52w(i5,i2).e(2)
      cauxc=+c52w(i5,i2).ek0*p1(2)-p1k0*c52w(i5,i2).e(2)
      l1_25w(i5,i2).a(2,2)=wcl*(cauxa-ceps_0)
      l1_25w(i5,i2).b(1,2)=wcl*(cauxb-ceps_2)
      l1_25w(i5,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      l1_25w(i5,i2).d(1,1)=wcl*c52w(i5,i2).ek0
      end do
      end do
      do i5=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* TWTW -- aa=tapp(i5,i2,i3,i6).a,bb=tapp(i5,i2,i3,i6).b,cc=tapp(i5,i2,i3,i6
* ).c,dd=tapp(i5,i2,i3,i6).d,a1=l1_25w(i5,i2).a,b1=l1_25w(i5,i2).b,c1=l1_25w
* (i5,i2).c,d1=l1_25w(i5,i2).d,a2=r4_36w(i3,i6).a,b2=r4_36w(i3,i6).b,c2=r4_3
* 6w(i3,i6).c,d2=r4_36w(i3,i6).d,prq=p125q
      tapp(i5,i2,i3,i6).d(1,1)=l1_25w(i5,i2).d(1,1)*p125q*r4_36w
     & (i3,i6).d(1,1)+l1_25w(i5,i2).b(1,2)*r4_36w(i3,i6).c(2,1)
      tapp(i5,i2,i3,i6).b(1,2)=l1_25w(i5,i2).d(1,1)*p125q*r4_36w
     & (i3,i6).b(1,2)+l1_25w(i5,i2).b(1,2)*r4_36w(i3,i6).a(2,2)
      tapp(i5,i2,i3,i6).c(2,1)=l1_25w(i5,i2).c(2,1)*p125q*r4_36w
     & (i3,i6).d(1,1)+l1_25w(i5,i2).a(2,2)*r4_36w(i3,i6).c(2,1)
      tapp(i5,i2,i3,i6).a(2,2)=l1_25w(i5,i2).c(2,1)*p125q*r4_36w
     & (i3,i6).b(1,2)+l1_25w(i5,i2).a(2,2)*r4_36w(i3,i6).a(2,2)
      end do
      end do
      end do
      end do
      do i5=1,2
      do i2=1,2
      do i3=1,2
      do i6=1,2
* mline -- res=cc16(i5,i2,i3,i6,&),abcd=tapp(i5,i2,i3,i6).,m1=(-rme),m2=(-x
* m(4)),den=(p125q*p125k0)
      do iut=1,2
      do jut=1,2
      cc16(i5,i2,i3,i6,iut,jut)=(tapp(i5,i2,i3,i6).a(iut,jut)+(-
     & rme)*tapp(i5,i2,i3,i6).b(iut,jut)+(-xm(4))*tapp(i5,i2,i3,
     & i6).c(iut,jut)+(-rme)*(-xm(4))*tapp(i5,i2,i3,i6).d(iut,ju
     & t))/(p125q*p125k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*
* diagramma cc17
*
* quqd -- p=p3,q=p235
      quqd=p3(0)*p235(0)-p3(1)*p235(1)-p3(2)*p235(2)-p3(3)*p235(
     & 3)
      do i5=1,2
      do i2=1,2
* TW -- qu=p3,qd=p235,v=c52w(i5,i2).e,a=l3_25w(i5,i2).a,b=l3_25w(i5,i2).b,c
* =l3_25w(i5,i2).c,d=l3_25w(i5,i2).d,cl=wcl,nsum=0
      ceps_0=-c52w(i5,i2).ek0*(p3(2)*p235(3)-p235(2)*p3(3))+p3k0
     & *(c52w(i5,i2).e(2)*p235(3)-p235(2)*c52w(i5,i2).e(3))-p235
     & k0*(c52w(i5,i2).e(2)*p3(3)-p3(2)*c52w(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c52w(i5,i2).e(3)*p3k0+p3(3)*c52w(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c52w(i5,i2).e(3)*p235k0+p235(3)*c52w(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c52w(i5,i2).e(0)*p3(0)-c52w(i5,i2).e(1)*p3(1)-c52w(i5
     & ,i2).e(2)*p3(2)-c52w(i5,i2).e(3)*p3(3)
      cvqd=c52w(i5,i2).e(0)*p235(0)-c52w(i5,i2).e(1)*p235(1)-c52
     & w(i5,i2).e(2)*p235(2)-c52w(i5,i2).e(3)*p235(3)
      cauxa=-c52w(i5,i2).ek0*quqd+p3k0*cvqd+p235k0*cvqu
      cauxb=-c52w(i5,i2).ek0*p235(2)+p235k0*c52w(i5,i2).e(2)
      cauxc=+c52w(i5,i2).ek0*p3(2)-p3k0*c52w(i5,i2).e(2)
      l3_25w(i5,i2).a(2,2)=wcl*(cauxa-ceps_0)
      l3_25w(i5,i2).b(1,2)=wcl*(cauxb-ceps_2)
      l3_25w(i5,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      l3_25w(i5,i2).d(1,1)=wcl*c52w(i5,i2).ek0
      end do
      end do
* quqd -- p=p235,q=p6
      quqd=p235(0)*p6(0)-p235(1)*p6(1)-p235(2)*p6(2)-p235(3)*p6(
     & 3)
      do i1=1,2
      do i4=1,2
* TW -- qu=p235,qd=p6,v=c41fz6(i1,i4).e,a=r6_14(i1,i4).a,b=r6_14(i1,i4).b,c
* =r6_14(i1,i4).c,d=r6_14(i1,i4).d,cl=1.d0,nsum=0
      ceps_0=-c41fz6(i1,i4).ek0*(p235(2)*p6(3)-p6(2)*p235(3))+p2
     & 35k0*(c41fz6(i1,i4).e(2)*p6(3)-p6(2)*c41fz6(i1,i4).e(3))-
     & p6k0*(c41fz6(i1,i4).e(2)*p235(3)-p235(2)*c41fz6(i1,i4).e(
     & 3))
      ceps_0=ceps_0*cim
      ceps_1=-c41fz6(i1,i4).e(3)*p235k0+p235(3)*c41fz6(i1,i4).ek
     & 0
      ceps_1=ceps_1*cim
      ceps_2=-c41fz6(i1,i4).e(3)*p6k0+p6(3)*c41fz6(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c41fz6(i1,i4).e(0)*p235(0)-c41fz6(i1,i4).e(1)*p235(1)
     & -c41fz6(i1,i4).e(2)*p235(2)-c41fz6(i1,i4).e(3)*p235(3)
      cvqd=c41fz6(i1,i4).e(0)*p6(0)-c41fz6(i1,i4).e(1)*p6(1)-c41
     & fz6(i1,i4).e(2)*p6(2)-c41fz6(i1,i4).e(3)*p6(3)
      cauxa=-c41fz6(i1,i4).ek0*quqd+p235k0*cvqd+p6k0*cvqu
      cauxb=-c41fz6(i1,i4).ek0*p6(2)+p6k0*c41fz6(i1,i4).e(2)
      cauxc=+c41fz6(i1,i4).ek0*p235(2)-p235k0*c41fz6(i1,i4).e(2)
      r6_14(i1,i4).a(2,2)=1.d0*(cauxa-ceps_0)
      r6_14(i1,i4).b(1,2)=1.d0*(cauxb-ceps_2)
      r6_14(i1,i4).c(2,1)=1.d0*(-cauxc+ceps_1)
      r6_14(i1,i4).d(1,1)=1.d0*c41fz6(i1,i4).ek0
      end do
      end do
      do i5=1,2
      do i2=1,2
      do i1=1,2
      do i4=1,2
* TWTW -- aa=tapp(i5,i2,i1,i4).a,bb=tapp(i5,i2,i1,i4).b,cc=tapp(i5,i2,i1,i4
* ).c,dd=tapp(i5,i2,i1,i4).d,a1=l3_25w(i5,i2).a,b1=l3_25w(i5,i2).b,c1=l3_25w
* (i5,i2).c,d1=l3_25w(i5,i2).d,a2=r6_14(i1,i4).a,b2=r6_14(i1,i4).b,c2=r6_14(
* i1,i4).c,d2=r6_14(i1,i4).d,prq=p235q
      tapp(i5,i2,i1,i4).d(1,1)=l3_25w(i5,i2).d(1,1)*p235q*r6_14(
     & i1,i4).d(1,1)+l3_25w(i5,i2).b(1,2)*r6_14(i1,i4).c(2,1)
      tapp(i5,i2,i1,i4).b(1,2)=l3_25w(i5,i2).d(1,1)*p235q*r6_14(
     & i1,i4).b(1,2)+l3_25w(i5,i2).b(1,2)*r6_14(i1,i4).a(2,2)
      tapp(i5,i2,i1,i4).c(2,1)=l3_25w(i5,i2).c(2,1)*p235q*r6_14(
     & i1,i4).d(1,1)+l3_25w(i5,i2).a(2,2)*r6_14(i1,i4).c(2,1)
      tapp(i5,i2,i1,i4).a(2,2)=l3_25w(i5,i2).c(2,1)*p235q*r6_14(
     & i1,i4).b(1,2)+l3_25w(i5,i2).a(2,2)*r6_14(i1,i4).a(2,2)
      end do
      end do
      end do
      end do
      do i5=1,2
      do i2=1,2
      do i1=1,2
      do i4=1,2
* mline -- res=cc17(i5,i2,i1,i4,&),abcd=tapp(i5,i2,i1,i4).,m1=xm(3),m2=(-xm
* (6)),den=((p235q-xm(6)**2)*p235k0)
      do iut=1,2
      do jut=1,2
      cc17(i5,i2,i1,i4,iut,jut)=(tapp(i5,i2,i1,i4).a(iut,jut)+xm
     & (3)*tapp(i5,i2,i1,i4).b(iut,jut)+(-xm(6))*tapp(i5,i2,i1,i
     & 4).c(iut,jut)+xm(3)*(-xm(6))*tapp(i5,i2,i1,i4).d(iut,jut)
     & )/((p235q-xm(6)**2)*p235k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*
* diagramma cc18
*
*****attaccamento di  c41f\(2) a 3
* quqd -- p=p3,q=p134
      quqd=p3(0)*p134(0)-p3(1)*p134(1)-p3(2)*p134(2)-p3(3)*p134(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p3,qd=p134,v=c41f(i1,i4).e,a=l3_14fz(i1,i4).a,b=l3_14fz(i1,i4).b,
* c=l3_14fz(i1,i4).c,d=l3_14fz(i1,i4).d,cr=f3r,cl=f3l,nsum=0
      ceps_0=-c41f(i1,i4).ek0*(p3(2)*p134(3)-p134(2)*p3(3))+p3k0
     & *(c41f(i1,i4).e(2)*p134(3)-p134(2)*c41f(i1,i4).e(3))-p134
     & k0*(c41f(i1,i4).e(2)*p3(3)-p3(2)*c41f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c41f(i1,i4).e(3)*p3k0+p3(3)*c41f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c41f(i1,i4).e(3)*p134k0+p134(3)*c41f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c41f(i1,i4).e(0)*p3(0)-c41f(i1,i4).e(1)*p3(1)-c41f(i1
     & ,i4).e(2)*p3(2)-c41f(i1,i4).e(3)*p3(3)
      cvqd=c41f(i1,i4).e(0)*p134(0)-c41f(i1,i4).e(1)*p134(1)-c41
     & f(i1,i4).e(2)*p134(2)-c41f(i1,i4).e(3)*p134(3)
      cauxa=-c41f(i1,i4).ek0*quqd+p3k0*cvqd+p134k0*cvqu
      cauxb=-c41f(i1,i4).ek0*p134(2)+p134k0*c41f(i1,i4).e(2)
      cauxc=+c41f(i1,i4).ek0*p3(2)-p3k0*c41f(i1,i4).e(2)
      l3_14fz(i1,i4).a(1,1)=f3r*(cauxa+ceps_0)
      l3_14fz(i1,i4).a(2,2)=f3l*(cauxa-ceps_0)
      l3_14fz(i1,i4).b(1,2)=f3l*(cauxb-ceps_2)
      l3_14fz(i1,i4).b(2,1)=f3r*(-cauxb-ceps_2)
      l3_14fz(i1,i4).c(1,2)=f3r*(cauxc+ceps_1)
      l3_14fz(i1,i4).c(2,1)=f3l*(-cauxc+ceps_1)
      l3_14fz(i1,i4).d(1,1)=f3l*c41f(i1,i4).ek0
      l3_14fz(i1,i4).d(2,2)=f3r*c41f(i1,i4).ek0
      end do
      end do
      do i1=1,2
      do i4=1,2
* T -- qu=p3,qd=p134,v=c41z(i1,i4).e,a=l3_14fz(i1,i4).a,b=l3_14fz(i1,i4).b,
* c=l3_14fz(i1,i4).c,d=l3_14fz(i1,i4).d,cr=z3r,cl=z3l,nsum=1
      ceps_0=-c41z(i1,i4).ek0*(p3(2)*p134(3)-p134(2)*p3(3))+p3k0
     & *(c41z(i1,i4).e(2)*p134(3)-p134(2)*c41z(i1,i4).e(3))-p134
     & k0*(c41z(i1,i4).e(2)*p3(3)-p3(2)*c41z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c41z(i1,i4).e(3)*p3k0+p3(3)*c41z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c41z(i1,i4).e(3)*p134k0+p134(3)*c41z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c41z(i1,i4).e(0)*p3(0)-c41z(i1,i4).e(1)*p3(1)-c41z(i1
     & ,i4).e(2)*p3(2)-c41z(i1,i4).e(3)*p3(3)
      cvqd=c41z(i1,i4).e(0)*p134(0)-c41z(i1,i4).e(1)*p134(1)-c41
     & z(i1,i4).e(2)*p134(2)-c41z(i1,i4).e(3)*p134(3)
      cauxa=-c41z(i1,i4).ek0*quqd+p3k0*cvqd+p134k0*cvqu
      cauxb=-c41z(i1,i4).ek0*p134(2)+p134k0*c41z(i1,i4).e(2)
      cauxc=+c41z(i1,i4).ek0*p3(2)-p3k0*c41z(i1,i4).e(2)
      l3_14fz(i1,i4).a(1,1)=l3_14fz(i1,i4).a(1,1)+z3r*(cauxa+cep
     & s_0)
      l3_14fz(i1,i4).a(2,2)=l3_14fz(i1,i4).a(2,2)+z3l*(cauxa-cep
     & s_0)
      l3_14fz(i1,i4).b(1,2)=l3_14fz(i1,i4).b(1,2)+z3l*(cauxb-cep
     & s_2)
      l3_14fz(i1,i4).b(2,1)=l3_14fz(i1,i4).b(2,1)+z3r*(-cauxb-ce
     & ps_2)
      l3_14fz(i1,i4).c(1,2)=l3_14fz(i1,i4).c(1,2)+z3r*(cauxc+cep
     & s_1)
      l3_14fz(i1,i4).c(2,1)=l3_14fz(i1,i4).c(2,1)+z3l*(-cauxc+ce
     & ps_1)
      l3_14fz(i1,i4).d(1,1)=l3_14fz(i1,i4).d(1,1)+z3l*c41z(i1,i4
     & ).ek0
      l3_14fz(i1,i4).d(2,2)=l3_14fz(i1,i4).d(2,2)+z3r*c41z(i1,i4
     & ).ek0
      end do
      end do
* quqd -- p=p134,q=p6
      quqd=p134(0)*p6(0)-p134(1)*p6(1)-p134(2)*p6(2)-p134(3)*p6(
     & 3)
      do i5=1,2
      do i2=1,2
* TW -- qu=p134,qd=p6,v=c52w(i5,i2).e,a=r6_25w(i5,i2).a,b=r6_25w(i5,i2).b,c
* =r6_25w(i5,i2).c,d=r6_25w(i5,i2).d,cl=wcl,nsum=0
      ceps_0=-c52w(i5,i2).ek0*(p134(2)*p6(3)-p6(2)*p134(3))+p134
     & k0*(c52w(i5,i2).e(2)*p6(3)-p6(2)*c52w(i5,i2).e(3))-p6k0*(
     & c52w(i5,i2).e(2)*p134(3)-p134(2)*c52w(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c52w(i5,i2).e(3)*p134k0+p134(3)*c52w(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c52w(i5,i2).e(3)*p6k0+p6(3)*c52w(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c52w(i5,i2).e(0)*p134(0)-c52w(i5,i2).e(1)*p134(1)-c52
     & w(i5,i2).e(2)*p134(2)-c52w(i5,i2).e(3)*p134(3)
      cvqd=c52w(i5,i2).e(0)*p6(0)-c52w(i5,i2).e(1)*p6(1)-c52w(i5
     & ,i2).e(2)*p6(2)-c52w(i5,i2).e(3)*p6(3)
      cauxa=-c52w(i5,i2).ek0*quqd+p134k0*cvqd+p6k0*cvqu
      cauxb=-c52w(i5,i2).ek0*p6(2)+p6k0*c52w(i5,i2).e(2)
      cauxc=+c52w(i5,i2).ek0*p134(2)-p134k0*c52w(i5,i2).e(2)
      r6_25w(i5,i2).a(2,2)=wcl*(cauxa-ceps_0)
      r6_25w(i5,i2).b(1,2)=wcl*(cauxb-ceps_2)
      r6_25w(i5,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      r6_25w(i5,i2).d(1,1)=wcl*c52w(i5,i2).ek0
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* TTW -- aa=tappttw(i1,i4,i5,i2).a,bb=tappttw(i1,i4,i5,i2).b,cc=tappttw(i1,
* i4,i5,i2).c,dd=tappttw(i1,i4,i5,i2).d,a1=l3_14fz(i1,i4).a,b1=l3_14fz(i1,i4
* ).b,c1=l3_14fz(i1,i4).c,d1=l3_14fz(i1,i4).d,a2=r6_25w(i5,i2).a,b2=r6_25w(i
* 5,i2).b,c2=r6_25w(i5,i2).c,d2=r6_25w(i5,i2).d,prq=p134q,m=xm(3)
      tappttw(i1,i4,i5,i2).c(1,1)=xm(3)*(l3_14fz(i1,i4).a(1,1)*r
     & 6_25w(i5,i2).d(1,1)+l3_14fz(i1,i4).c(1,2)*r6_25w(i5,i2).c
     & (2,1))
      tappttw(i1,i4,i5,i2).d(1,1)=l3_14fz(i1,i4).d(1,1)*p134q*r6
     & _25w(i5,i2).d(1,1)+l3_14fz(i1,i4).b(1,2)*r6_25w(i5,i2).c(
     & 2,1)
      tappttw(i1,i4,i5,i2).a(1,2)=xm(3)*(l3_14fz(i1,i4).a(1,1)*r
     & 6_25w(i5,i2).b(1,2)+l3_14fz(i1,i4).c(1,2)*r6_25w(i5,i2).a
     & (2,2))
      tappttw(i1,i4,i5,i2).b(1,2)=l3_14fz(i1,i4).d(1,1)*p134q*r6
     & _25w(i5,i2).b(1,2)+l3_14fz(i1,i4).b(1,2)*r6_25w(i5,i2).a(
     & 2,2)
      tappttw(i1,i4,i5,i2).c(2,1)=l3_14fz(i1,i4).c(2,1)*p134q*r6
     & _25w(i5,i2).d(1,1)+l3_14fz(i1,i4).a(2,2)*r6_25w(i5,i2).c(
     & 2,1)
      tappttw(i1,i4,i5,i2).d(2,1)=xm(3)*(l3_14fz(i1,i4).b(2,1)*r
     & 6_25w(i5,i2).d(1,1)+l3_14fz(i1,i4).d(2,2)*r6_25w(i5,i2).c
     & (2,1))
      tappttw(i1,i4,i5,i2).a(2,2)=l3_14fz(i1,i4).c(2,1)*p134q*r6
     & _25w(i5,i2).b(1,2)+l3_14fz(i1,i4).a(2,2)*r6_25w(i5,i2).a(
     & 2,2)
      tappttw(i1,i4,i5,i2).b(2,2)=xm(3)*(l3_14fz(i1,i4).b(2,1)*r
     & 6_25w(i5,i2).b(1,2)+l3_14fz(i1,i4).d(2,2)*r6_25w(i5,i2).a
     & (2,2))
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* mline -- res=cc18(i1,i4,i5,i2,&),abcd=tappttw(i1,i4,i5,i2).,m1=xm(3),m2=(
* -xm(6)),den=((p134q-xm(3)**2)*p134k0)
      do iut=1,2
      do jut=1,2
      cc18(i1,i4,i5,i2,iut,jut)=(tappttw(i1,i4,i5,i2).a(iut,jut)
     & +xm(3)*tappttw(i1,i4,i5,i2).b(iut,jut)+(-xm(6))*tappttw(i
     & 1,i4,i5,i2).c(iut,jut)+xm(3)*(-xm(6))*tappttw(i1,i4,i5,i2
     & ).d(iut,jut))/((p134q-xm(3)**2)*p134k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** fine i4e
          endif
**** fine icc3=/ 1
        endif
**** fine CC
      endif
****  inizio NC
      if (icc.ne.1) then
      do ide=0,iid
        if (ide.eq.1) then
*  p3<->p5 per rifare tutti i diagrammi con questo scambio per particelle id.
          do mu=0,3
            pau(mu)=p3(mu)
            p3(mu)=p5(mu)
            p5(mu)=pau(mu)
            pau(mu)=p25(mu)
            p25(mu)=p23(mu)
            p23(mu)=pau(mu)
            pau(mu)=p34(mu)
            p34(mu)=p45(mu)
            p45(mu)=pau(mu)
            pau(mu)=p36(mu)
            p36(mu)=p56(mu)
            p56(mu)=pau(mu)
            pau(mu)=p123(mu)
            p123(mu)=p125(mu)
            p125(mu)=pau(mu)
            pau(mu)=p134(mu)
            p134(mu)=p145(mu)
            p145(mu)=pau(mu)
            pau(mu)=p156(mu)
            p156(mu)=p136(mu)
            p136(mu)=pau(mu)
          end do
            pkau=p3k0
            p3k0=p5k0
            p5k0=pkau
            pkau=p3q
            p3q=p5q
            p5q=pkau
            pkau=p123k0
            p123k0=p125k0
            p125k0=pkau
            pkau=p123q
            p123q=p125q
            p125q=pkau
            pkau=p134k0
            p134k0=p145k0
            p145k0=pkau
            pkau=p134q
            p134q=p145q
            p145q=pkau
            pkau=p156k0
            p156k0=p136k0
            p136k0=pkau
            pkau=p156q
            p156q=p136q
            p136q=pkau
            xmau=xm(3)
            xm(3)=xm(5)
            xm(5)=xmau
        endif
*el2
      IF(igamgam.NE.1)THEN
*endel2
* quqd -- p=p5,q=p6
      quqd=p5(0)*p6(0)-p5(1)*p6(1)-p5(2)*p6(2)-p5(3)*p6(3)
      df=-1.d0/(xm(5)**2+xm(6)**2+2.d0*quqd)
      cdz=-1.d0/((xm(5)**2+xm(6)**2+2.d0*quqd)*czipr-rmz2+ccz)
      fac1=(df*f5r)
      fac2=(df*f5l)
      cfac1z=(cdz*z5r)
      cfac2z=(cdz*z5l)
*el2
      IF(izz.NE.1.AND.izg34.NE.1)THEN
* T -- qu=p5,qd=p6,v=0,a=v56f(0).a,b=v56f(0).b,c=v56f(0).c,d=v56f(0).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p5(2)*p6(3)+p6(2)*p5(3)
      ceps_0=eps_0*cim
      ceps_1=p5(3)*cim
      ceps_2=p6(3)*cim
      auxa=-quqd+p5k0*p6(0)+p6k0*p5(0)
      v56f(0).a(1,1)=fac1*(auxa+ceps_0)
      v56f(0).a(2,2)=fac2*(auxa-ceps_0)
      v56f(0).b(1,2)=-fac2*(p6(2)+ceps_2)
      v56f(0).b(2,1)=fac1*(p6(2)-ceps_2)
      v56f(0).c(1,2)=fac1*(p5(2)+ceps_1)
      v56f(0).c(2,1)=fac2*(-p5(2)+ceps_1)
      v56f(0).d(1,1)=fac2
      v56f(0).d(2,2)=fac1
* T -- qu=p5,qd=p6,v=1,a=v56f(1).a,b=v56f(1).b,c=v56f(1).c,d=v56f(1).d,cr=f
* ac1,cl=fac2,nsum=0
      auxa=-quqd+p5k0*p6(1)+p6k0*p5(1)
      v56f(1).a(1,1)=fac1*(auxa+ceps_0)
      v56f(1).a(2,2)=fac2*(auxa-ceps_0)
      v56f(1).b(1,2)=-fac2*(p6(2)+ceps_2)
      v56f(1).b(2,1)=fac1*(p6(2)-ceps_2)
      v56f(1).c(1,2)=fac1*(p5(2)+ceps_1)
      v56f(1).c(2,1)=fac2*(-p5(2)+ceps_1)
      v56f(1).d(1,1)=fac2
      v56f(1).d(2,2)=fac1
* T -- qu=p5,qd=p6,v=2,a=v56f(2).a,b=v56f(2).b,c=v56f(2).c,d=v56f(2).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p5k0*p6(3)+p6k0*p5(3)
      ceps_0=eps_0*cim
      auxa=p5k0*p6(2)+p6k0*p5(2)
      v56f(2).a(1,1)=fac1*(auxa+ceps_0)
      v56f(2).a(2,2)=fac2*(auxa-ceps_0)
      v56f(2).b(1,2)=-fac2*p6k0
      v56f(2).b(2,1)=fac1*p6k0
      v56f(2).c(1,2)=fac1*p5k0
      v56f(2).c(2,1)=-fac2*p5k0
* T -- qu=p5,qd=p6,v=3,a=v56f(3).a,b=v56f(3).b,c=v56f(3).c,d=v56f(3).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=p5k0*p6(2)-p6k0*p5(2)
      ceps_0=eps_0*cim
      ceps_1=p5k0*cim
      ceps_2=p6k0*cim
      auxa=+p5k0*p6(3)+p6k0*p5(3)
      v56f(3).a(1,1)=fac1*(auxa+ceps_0)
      v56f(3).a(2,2)=fac2*(auxa-ceps_0)
      v56f(3).b(1,2)=-fac2*ceps_2
      v56f(3).b(2,1)=-fac1*ceps_2
      v56f(3).c(1,2)=fac1*ceps_1
      v56f(3).c(2,1)=fac2*ceps_1
      do m=0,3
* mline -- res=c56f(&).e(m),abcd=v56f(m).,m1=xm(5),m2=(-xm(6)),den=0
      do iut=1,2
      do jut=1,2
      c56f(iut,jut).e(m)=v56f(m).a(iut,jut)+xm(5)*v56f(m).b(iut,
     & jut)+(-xm(6))*v56f(m).c(iut,jut)+xm(5)*(-xm(6))*v56f(m).d
     & (iut,jut)
      enddo
      enddo
      end do
      ENDIF !izz and izg34
*endel2
*el2
      IF(izg56.NE.1)THEN
*endel2
* T -- qu=p5,qd=p6,v=0,a=v56z(0).a,b=v56z(0).b,c=v56z(0).c,d=v56z(0).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p5(2)*p6(3)+p6(2)*p5(3)
      ceps_0=eps_0*cim
      ceps_1=p5(3)*cim
      ceps_2=p6(3)*cim
      auxa=-quqd+p5k0*p6(0)+p6k0*p5(0)
      v56z(0).a(1,1)=cfac1z*(auxa+ceps_0)
      v56z(0).a(2,2)=cfac2z*(auxa-ceps_0)
      v56z(0).b(1,2)=-cfac2z*(p6(2)+ceps_2)
      v56z(0).b(2,1)=cfac1z*(p6(2)-ceps_2)
      v56z(0).c(1,2)=cfac1z*(p5(2)+ceps_1)
      v56z(0).c(2,1)=cfac2z*(-p5(2)+ceps_1)
      v56z(0).d(1,1)=cfac2z
      v56z(0).d(2,2)=cfac1z
* T -- qu=p5,qd=p6,v=1,a=v56z(1).a,b=v56z(1).b,c=v56z(1).c,d=v56z(1).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      auxa=-quqd+p5k0*p6(1)+p6k0*p5(1)
      v56z(1).a(1,1)=cfac1z*(auxa+ceps_0)
      v56z(1).a(2,2)=cfac2z*(auxa-ceps_0)
      v56z(1).b(1,2)=-cfac2z*(p6(2)+ceps_2)
      v56z(1).b(2,1)=cfac1z*(p6(2)-ceps_2)
      v56z(1).c(1,2)=cfac1z*(p5(2)+ceps_1)
      v56z(1).c(2,1)=cfac2z*(-p5(2)+ceps_1)
      v56z(1).d(1,1)=cfac2z
      v56z(1).d(2,2)=cfac1z
* T -- qu=p5,qd=p6,v=2,a=v56z(2).a,b=v56z(2).b,c=v56z(2).c,d=v56z(2).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p5k0*p6(3)+p6k0*p5(3)
      ceps_0=eps_0*cim
      auxa=p5k0*p6(2)+p6k0*p5(2)
      v56z(2).a(1,1)=cfac1z*(auxa+ceps_0)
      v56z(2).a(2,2)=cfac2z*(auxa-ceps_0)
      v56z(2).b(1,2)=-cfac2z*p6k0
      v56z(2).b(2,1)=cfac1z*p6k0
      v56z(2).c(1,2)=cfac1z*p5k0
      v56z(2).c(2,1)=-cfac2z*p5k0
* T -- qu=p5,qd=p6,v=3,a=v56z(3).a,b=v56z(3).b,c=v56z(3).c,d=v56z(3).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=p5k0*p6(2)-p6k0*p5(2)
      ceps_0=eps_0*cim
      ceps_1=p5k0*cim
      ceps_2=p6k0*cim
      auxa=+p5k0*p6(3)+p6k0*p5(3)
      v56z(3).a(1,1)=cfac1z*(auxa+ceps_0)
      v56z(3).a(2,2)=cfac2z*(auxa-ceps_0)
      v56z(3).b(1,2)=-cfac2z*ceps_2
      v56z(3).b(2,1)=-cfac1z*ceps_2
      v56z(3).c(1,2)=cfac1z*ceps_1
      v56z(3).c(2,1)=cfac2z*ceps_1
      do m=0,3
* mline -- res=c56z(&).e(m),abcd=v56z(m).,m1=xm(5),m2=(-xm(6)),den=0
      do iut=1,2
      do jut=1,2
      c56z(iut,jut).e(m)=v56z(m).a(iut,jut)+xm(5)*v56z(m).b(iut,
     & jut)+(-xm(6))*v56z(m).c(iut,jut)+xm(5)*(-xm(6))*v56z(m).d
     & (iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i5=1,2
        do i6=1,2
          c56z(i5,i6).v=c56z(i5,i6).e(0)*p56(0)
          do i=1,3
            c56z(i5,i6).v=c56z(i5,i6).v-
     &      c56z(i5,i6).e(i)*p56(i)
          enddo
        enddo
      enddo
      do i5=1,2
        do i6=1,2
          do mu=0,3
            c56z(i5,i6).e(mu)=c56z(i5,i6).e(mu)-p56(mu)
     &      *c56z(i5,i6).v/rmz2
          enddo
        enddo
      enddo
*el2
      ENDIF !izg56
*endel2
****
*el2
      IF(izz.NE.1.AND.izg34.NE.1)THEN
      do i5=1,2
      do i6=1,2
* pk0 -- p=c56f(i5,i6).e
      c56f(i5,i6).ek0=c56f(i5,i6).e(0)-c56f(i5,i6).e(1)
      end do
      end do
      ENDIF !izz
      IF(izg56.NE.1)THEN
      do i5=1,2
      do i6=1,2
* pk0 -- p=c56z(i5,i6).e
      c56z(i5,i6).ek0=c56z(i5,i6).e(0)-c56z(i5,i6).e(1)
      end do
      end do
      ENDIF !izg56
*endel2
* quqd -- p=p3,q=p4
      quqd=p3(0)*p4(0)-p3(1)*p4(1)-p3(2)*p4(2)-p3(3)*p4(3)
      df=-1.d0/(xm(3)**2+xm(4)**2+2.d0*quqd)
      cdz=-1.d0/((xm(3)**2+xm(4)**2+2.d0*quqd)*czipr-rmz2+ccz)
      fac1=(df*f3r)
      fac2=(df*f3l)
      cfac1z=(cdz*z3r)
      cfac2z=(cdz*z3l)
*el2
      IF(izz.NE.1.AND.izg56.NE.1)THEN
* T -- qu=p3,qd=p4,v=0,a=v34f(0).a,b=v34f(0).b,c=v34f(0).c,d=v34f(0).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p3(2)*p4(3)+p4(2)*p3(3)
      ceps_0=eps_0*cim
      ceps_1=p3(3)*cim
      ceps_2=p4(3)*cim
      auxa=-quqd+p3k0*p4(0)+p4k0*p3(0)
      v34f(0).a(1,1)=fac1*(auxa+ceps_0)
      v34f(0).a(2,2)=fac2*(auxa-ceps_0)
      v34f(0).b(1,2)=-fac2*(p4(2)+ceps_2)
      v34f(0).b(2,1)=fac1*(p4(2)-ceps_2)
      v34f(0).c(1,2)=fac1*(p3(2)+ceps_1)
      v34f(0).c(2,1)=fac2*(-p3(2)+ceps_1)
      v34f(0).d(1,1)=fac2
      v34f(0).d(2,2)=fac1
* T -- qu=p3,qd=p4,v=1,a=v34f(1).a,b=v34f(1).b,c=v34f(1).c,d=v34f(1).d,cr=f
* ac1,cl=fac2,nsum=0
      auxa=-quqd+p3k0*p4(1)+p4k0*p3(1)
      v34f(1).a(1,1)=fac1*(auxa+ceps_0)
      v34f(1).a(2,2)=fac2*(auxa-ceps_0)
      v34f(1).b(1,2)=-fac2*(p4(2)+ceps_2)
      v34f(1).b(2,1)=fac1*(p4(2)-ceps_2)
      v34f(1).c(1,2)=fac1*(p3(2)+ceps_1)
      v34f(1).c(2,1)=fac2*(-p3(2)+ceps_1)
      v34f(1).d(1,1)=fac2
      v34f(1).d(2,2)=fac1
* T -- qu=p3,qd=p4,v=2,a=v34f(2).a,b=v34f(2).b,c=v34f(2).c,d=v34f(2).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=-p3k0*p4(3)+p4k0*p3(3)
      ceps_0=eps_0*cim
      auxa=p3k0*p4(2)+p4k0*p3(2)
      v34f(2).a(1,1)=fac1*(auxa+ceps_0)
      v34f(2).a(2,2)=fac2*(auxa-ceps_0)
      v34f(2).b(1,2)=-fac2*p4k0
      v34f(2).b(2,1)=fac1*p4k0
      v34f(2).c(1,2)=fac1*p3k0
      v34f(2).c(2,1)=-fac2*p3k0
* T -- qu=p3,qd=p4,v=3,a=v34f(3).a,b=v34f(3).b,c=v34f(3).c,d=v34f(3).d,cr=f
* ac1,cl=fac2,nsum=0
      eps_0=p3k0*p4(2)-p4k0*p3(2)
      ceps_0=eps_0*cim
      ceps_1=p3k0*cim
      ceps_2=p4k0*cim
      auxa=+p3k0*p4(3)+p4k0*p3(3)
      v34f(3).a(1,1)=fac1*(auxa+ceps_0)
      v34f(3).a(2,2)=fac2*(auxa-ceps_0)
      v34f(3).b(1,2)=-fac2*ceps_2
      v34f(3).b(2,1)=-fac1*ceps_2
      v34f(3).c(1,2)=fac1*ceps_1
      v34f(3).c(2,1)=fac2*ceps_1
      do m=0,3
* mline -- res=c34f(&).e(m),abcd=v34f(m).,m1=xm(3),m2=(-xm(4)),den=0
      do iut=1,2
      do jut=1,2
      c34f(iut,jut).e(m)=v34f(m).a(iut,jut)+xm(3)*v34f(m).b(iut,
     & jut)+(-xm(4))*v34f(m).c(iut,jut)+xm(3)*(-xm(4))*v34f(m).d
     & (iut,jut)
      enddo
      enddo
      end do
      ENDIF !izz and izg56
*endel2
*el2
      IF(izg34.NE.1)THEN
*endel2
* T -- qu=p3,qd=p4,v=0,a=v34z(0).a,b=v34z(0).b,c=v34z(0).c,d=v34z(0).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p3(2)*p4(3)+p4(2)*p3(3)
      ceps_0=eps_0*cim
      ceps_1=p3(3)*cim
      ceps_2=p4(3)*cim
      auxa=-quqd+p3k0*p4(0)+p4k0*p3(0)
      v34z(0).a(1,1)=cfac1z*(auxa+ceps_0)
      v34z(0).a(2,2)=cfac2z*(auxa-ceps_0)
      v34z(0).b(1,2)=-cfac2z*(p4(2)+ceps_2)
      v34z(0).b(2,1)=cfac1z*(p4(2)-ceps_2)
      v34z(0).c(1,2)=cfac1z*(p3(2)+ceps_1)
      v34z(0).c(2,1)=cfac2z*(-p3(2)+ceps_1)
      v34z(0).d(1,1)=cfac2z
      v34z(0).d(2,2)=cfac1z
* T -- qu=p3,qd=p4,v=1,a=v34z(1).a,b=v34z(1).b,c=v34z(1).c,d=v34z(1).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      auxa=-quqd+p3k0*p4(1)+p4k0*p3(1)
      v34z(1).a(1,1)=cfac1z*(auxa+ceps_0)
      v34z(1).a(2,2)=cfac2z*(auxa-ceps_0)
      v34z(1).b(1,2)=-cfac2z*(p4(2)+ceps_2)
      v34z(1).b(2,1)=cfac1z*(p4(2)-ceps_2)
      v34z(1).c(1,2)=cfac1z*(p3(2)+ceps_1)
      v34z(1).c(2,1)=cfac2z*(-p3(2)+ceps_1)
      v34z(1).d(1,1)=cfac2z
      v34z(1).d(2,2)=cfac1z
* T -- qu=p3,qd=p4,v=2,a=v34z(2).a,b=v34z(2).b,c=v34z(2).c,d=v34z(2).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=-p3k0*p4(3)+p4k0*p3(3)
      ceps_0=eps_0*cim
      auxa=p3k0*p4(2)+p4k0*p3(2)
      v34z(2).a(1,1)=cfac1z*(auxa+ceps_0)
      v34z(2).a(2,2)=cfac2z*(auxa-ceps_0)
      v34z(2).b(1,2)=-cfac2z*p4k0
      v34z(2).b(2,1)=cfac1z*p4k0
      v34z(2).c(1,2)=cfac1z*p3k0
      v34z(2).c(2,1)=-cfac2z*p3k0
* T -- qu=p3,qd=p4,v=3,a=v34z(3).a,b=v34z(3).b,c=v34z(3).c,d=v34z(3).d,cr=c
* fac1z,cl=cfac2z,nsum=0
      eps_0=p3k0*p4(2)-p4k0*p3(2)
      ceps_0=eps_0*cim
      ceps_1=p3k0*cim
      ceps_2=p4k0*cim
      auxa=+p3k0*p4(3)+p4k0*p3(3)
      v34z(3).a(1,1)=cfac1z*(auxa+ceps_0)
      v34z(3).a(2,2)=cfac2z*(auxa-ceps_0)
      v34z(3).b(1,2)=-cfac2z*ceps_2
      v34z(3).b(2,1)=-cfac1z*ceps_2
      v34z(3).c(1,2)=cfac1z*ceps_1
      v34z(3).c(2,1)=cfac2z*ceps_1
      do m=0,3
* mline -- res=c34z(&).e(m),abcd=v34z(m).,m1=xm(3),m2=(-xm(4)),den=0
      do iut=1,2
      do jut=1,2
      c34z(iut,jut).e(m)=v34z(m).a(iut,jut)+xm(3)*v34z(m).b(iut,
     & jut)+(-xm(4))*v34z(m).c(iut,jut)+xm(3)*(-xm(4))*v34z(m).d
     & (iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i3=1,2
        do i4=1,2
          c34z(i3,i4).v=c34z(i3,i4).e(0)*p34(0)
          do i=1,3
            c34z(i3,i4).v=c34z(i3,i4).v-
     &      c34z(i3,i4).e(i)*p34(i)
          enddo
        enddo
      enddo
      do i3=1,2
        do i4=1,2
          do mu=0,3
            c34z(i3,i4).e(mu)=c34z(i3,i4).e(mu)-p34(mu)
     &      *c34z(i3,i4).v/rmz2
          enddo
        enddo
      enddo
*el2
      ENDIF !izg34
*endel2
****
*el2
      IF(izz.NE.1.AND.izg56.NE.1)THEN
      do i3=1,2
      do i4=1,2
* pk0 -- p=c34f(i3,i4).e
      c34f(i3,i4).ek0=c34f(i3,i4).e(0)-c34f(i3,i4).e(1)
      end do
      end do
      ENDIF !izz
      IF(izg34.NE.1)THEN
      do i3=1,2
      do i4=1,2
* pk0 -- p=c34z(i3,i4).e
      c34z(i3,i4).ek0=c34z(i3,i4).e(0)-c34z(i3,i4).e(1)
      end do
      end do
      ENDIF !izg34
*endel2
*el2
      IF(izz.NE.1.AND.izg.NE.1.AND.izg34.NE.1.AND.izg56.NE.1.
     &   AND.inc08.NE.1)THEN
*endel2
*****attaccamento di  c12f(2) a 3
* quqd -- p=p3,q=p123
      quqd=p3(0)*p123(0)-p3(1)*p123(1)-p3(2)*p123(2)-p3(3)*p123(
     & 3)
      do i1=1,2
      do i2=1,2
* T -- qu=p3,qd=p123,v=c12f(i1,i2).e,a=l3_12fz(i1,i2).a,b=l3_12fz(i1,i2).b,
* c=l3_12fz(i1,i2).c,d=l3_12fz(i1,i2).d,cr=f3r,cl=f3l,nsum=0
      ceps_0=-c12f(i1,i2).ek0*(p3(2)*p123(3)-p123(2)*p3(3))+p3k0
     & *(c12f(i1,i2).e(2)*p123(3)-p123(2)*c12f(i1,i2).e(3))-p123
     & k0*(c12f(i1,i2).e(2)*p3(3)-p3(2)*c12f(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12f(i1,i2).e(3)*p3k0+p3(3)*c12f(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12f(i1,i2).e(3)*p123k0+p123(3)*c12f(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12f(i1,i2).e(0)*p3(0)-c12f(i1,i2).e(1)*p3(1)-c12f(i1
     & ,i2).e(2)*p3(2)-c12f(i1,i2).e(3)*p3(3)
      cvqd=c12f(i1,i2).e(0)*p123(0)-c12f(i1,i2).e(1)*p123(1)-c12
     & f(i1,i2).e(2)*p123(2)-c12f(i1,i2).e(3)*p123(3)
      cauxa=-c12f(i1,i2).ek0*quqd+p3k0*cvqd+p123k0*cvqu
      cauxb=-c12f(i1,i2).ek0*p123(2)+p123k0*c12f(i1,i2).e(2)
      cauxc=+c12f(i1,i2).ek0*p3(2)-p3k0*c12f(i1,i2).e(2)
      l3_12fz(i1,i2).a(1,1)=f3r*(cauxa+ceps_0)
      l3_12fz(i1,i2).a(2,2)=f3l*(cauxa-ceps_0)
      l3_12fz(i1,i2).b(1,2)=f3l*(cauxb-ceps_2)
      l3_12fz(i1,i2).b(2,1)=f3r*(-cauxb-ceps_2)
      l3_12fz(i1,i2).c(1,2)=f3r*(cauxc+ceps_1)
      l3_12fz(i1,i2).c(2,1)=f3l*(-cauxc+ceps_1)
      l3_12fz(i1,i2).d(1,1)=f3l*c12f(i1,i2).ek0
      l3_12fz(i1,i2).d(2,2)=f3r*c12f(i1,i2).ek0
      end do
      end do
*****attaccamento di  c12z(2) a 3
      do i1=1,2
      do i2=1,2
* T -- qu=p3,qd=p123,v=c12z(i1,i2).e,a=l3_12fz(i1,i2).a,b=l3_12fz(i1,i2).b,
* c=l3_12fz(i1,i2).c,d=l3_12fz(i1,i2).d,cr=z3r,cl=z3l,nsum=1
      ceps_0=-c12z(i1,i2).ek0*(p3(2)*p123(3)-p123(2)*p3(3))+p3k0
     & *(c12z(i1,i2).e(2)*p123(3)-p123(2)*c12z(i1,i2).e(3))-p123
     & k0*(c12z(i1,i2).e(2)*p3(3)-p3(2)*c12z(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12z(i1,i2).e(3)*p3k0+p3(3)*c12z(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12z(i1,i2).e(3)*p123k0+p123(3)*c12z(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12z(i1,i2).e(0)*p3(0)-c12z(i1,i2).e(1)*p3(1)-c12z(i1
     & ,i2).e(2)*p3(2)-c12z(i1,i2).e(3)*p3(3)
      cvqd=c12z(i1,i2).e(0)*p123(0)-c12z(i1,i2).e(1)*p123(1)-c12
     & z(i1,i2).e(2)*p123(2)-c12z(i1,i2).e(3)*p123(3)
      cauxa=-c12z(i1,i2).ek0*quqd+p3k0*cvqd+p123k0*cvqu
      cauxb=-c12z(i1,i2).ek0*p123(2)+p123k0*c12z(i1,i2).e(2)
      cauxc=+c12z(i1,i2).ek0*p3(2)-p3k0*c12z(i1,i2).e(2)
      l3_12fz(i1,i2).a(1,1)=l3_12fz(i1,i2).a(1,1)+z3r*(cauxa+cep
     & s_0)
      l3_12fz(i1,i2).a(2,2)=l3_12fz(i1,i2).a(2,2)+z3l*(cauxa-cep
     & s_0)
      l3_12fz(i1,i2).b(1,2)=l3_12fz(i1,i2).b(1,2)+z3l*(cauxb-cep
     & s_2)
      l3_12fz(i1,i2).b(2,1)=l3_12fz(i1,i2).b(2,1)+z3r*(-cauxb-ce
     & ps_2)
      l3_12fz(i1,i2).c(1,2)=l3_12fz(i1,i2).c(1,2)+z3r*(cauxc+cep
     & s_1)
      l3_12fz(i1,i2).c(2,1)=l3_12fz(i1,i2).c(2,1)+z3l*(-cauxc+ce
     & ps_1)
      l3_12fz(i1,i2).d(1,1)=l3_12fz(i1,i2).d(1,1)+z3l*c12z(i1,i2
     & ).ek0
      l3_12fz(i1,i2).d(2,2)=l3_12fz(i1,i2).d(2,2)+z3r*c12z(i1,i2
     & ).ek0
      end do
      end do
*****attaccamento di  c12f(2) a 4
* quqd -- p=p356,q=p4
      quqd=p356(0)*p4(0)-p356(1)*p4(1)-p356(2)*p4(2)-p356(3)*p4(
     & 3)
      do i1=1,2
      do i2=1,2
* T -- qu=p356,qd=p4,v=c12f(i1,i2).e,a=r4_12fz(i1,i2).a,b=r4_12fz(i1,i2).b,
* c=r4_12fz(i1,i2).c,d=r4_12fz(i1,i2).d,cr=f4r,cl=f4l,nsum=0
      ceps_0=-c12f(i1,i2).ek0*(p356(2)*p4(3)-p4(2)*p356(3))+p356
     & k0*(c12f(i1,i2).e(2)*p4(3)-p4(2)*c12f(i1,i2).e(3))-p4k0*(
     & c12f(i1,i2).e(2)*p356(3)-p356(2)*c12f(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12f(i1,i2).e(3)*p356k0+p356(3)*c12f(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12f(i1,i2).e(3)*p4k0+p4(3)*c12f(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12f(i1,i2).e(0)*p356(0)-c12f(i1,i2).e(1)*p356(1)-c12
     & f(i1,i2).e(2)*p356(2)-c12f(i1,i2).e(3)*p356(3)
      cvqd=c12f(i1,i2).e(0)*p4(0)-c12f(i1,i2).e(1)*p4(1)-c12f(i1
     & ,i2).e(2)*p4(2)-c12f(i1,i2).e(3)*p4(3)
      cauxa=-c12f(i1,i2).ek0*quqd+p356k0*cvqd+p4k0*cvqu
      cauxb=-c12f(i1,i2).ek0*p4(2)+p4k0*c12f(i1,i2).e(2)
      cauxc=+c12f(i1,i2).ek0*p356(2)-p356k0*c12f(i1,i2).e(2)
      r4_12fz(i1,i2).a(1,1)=f4r*(cauxa+ceps_0)
      r4_12fz(i1,i2).a(2,2)=f4l*(cauxa-ceps_0)
      r4_12fz(i1,i2).b(1,2)=f4l*(cauxb-ceps_2)
      r4_12fz(i1,i2).b(2,1)=f4r*(-cauxb-ceps_2)
      r4_12fz(i1,i2).c(1,2)=f4r*(cauxc+ceps_1)
      r4_12fz(i1,i2).c(2,1)=f4l*(-cauxc+ceps_1)
      r4_12fz(i1,i2).d(1,1)=f4l*c12f(i1,i2).ek0
      r4_12fz(i1,i2).d(2,2)=f4r*c12f(i1,i2).ek0
      end do
      end do
*****attaccamento di  c12z(2) a 4
      do i1=1,2
      do i2=1,2
* T -- qu=p356,qd=p4,v=c12z(i1,i2).e,a=r4_12fz(i1,i2).a,b=r4_12fz(i1,i2).b,
* c=r4_12fz(i1,i2).c,d=r4_12fz(i1,i2).d,cr=z4r,cl=z4l,nsum=1
      ceps_0=-c12z(i1,i2).ek0*(p356(2)*p4(3)-p4(2)*p356(3))+p356
     & k0*(c12z(i1,i2).e(2)*p4(3)-p4(2)*c12z(i1,i2).e(3))-p4k0*(
     & c12z(i1,i2).e(2)*p356(3)-p356(2)*c12z(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12z(i1,i2).e(3)*p356k0+p356(3)*c12z(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12z(i1,i2).e(3)*p4k0+p4(3)*c12z(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12z(i1,i2).e(0)*p356(0)-c12z(i1,i2).e(1)*p356(1)-c12
     & z(i1,i2).e(2)*p356(2)-c12z(i1,i2).e(3)*p356(3)
      cvqd=c12z(i1,i2).e(0)*p4(0)-c12z(i1,i2).e(1)*p4(1)-c12z(i1
     & ,i2).e(2)*p4(2)-c12z(i1,i2).e(3)*p4(3)
      cauxa=-c12z(i1,i2).ek0*quqd+p356k0*cvqd+p4k0*cvqu
      cauxb=-c12z(i1,i2).ek0*p4(2)+p4k0*c12z(i1,i2).e(2)
      cauxc=+c12z(i1,i2).ek0*p356(2)-p356k0*c12z(i1,i2).e(2)
      r4_12fz(i1,i2).a(1,1)=r4_12fz(i1,i2).a(1,1)+z4r*(cauxa+cep
     & s_0)
      r4_12fz(i1,i2).a(2,2)=r4_12fz(i1,i2).a(2,2)+z4l*(cauxa-cep
     & s_0)
      r4_12fz(i1,i2).b(1,2)=r4_12fz(i1,i2).b(1,2)+z4l*(cauxb-cep
     & s_2)
      r4_12fz(i1,i2).b(2,1)=r4_12fz(i1,i2).b(2,1)+z4r*(-cauxb-ce
     & ps_2)
      r4_12fz(i1,i2).c(1,2)=r4_12fz(i1,i2).c(1,2)+z4r*(cauxc+cep
     & s_1)
      r4_12fz(i1,i2).c(2,1)=r4_12fz(i1,i2).c(2,1)+z4l*(-cauxc+ce
     & ps_1)
      r4_12fz(i1,i2).d(1,1)=r4_12fz(i1,i2).d(1,1)+z4l*c12z(i1,i2
     & ).ek0
      r4_12fz(i1,i2).d(2,2)=r4_12fz(i1,i2).d(2,2)+z4r*c12z(i1,i2
     & ).ek0
      end do
      end do
*el2
      ENDIF !izz
*endel2
*****attaccamento di  c34f(2) a 1 (e+)
* quqd -- p=p1,q=p134
      quqd=p1(0)*p134(0)-p1(1)*p134(1)-p1(2)*p134(2)-p1(3)*p134(
     & 3)
*el2
      IF(izz.NE.1.AND.izg56.NE.1)THEN
      do i3=1,2
      do i4=1,2
* T -- qu=p1,qd=p134,v=c34f(i3,i4).e,a=l1_34fz(i3,i4).a,b=l1_34fz(i3,i4).b,
* c=l1_34fz(i3,i4).c,d=l1_34fz(i3,i4).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c34f(i3,i4).ek0*(p1(2)*p134(3)-p134(2)*p1(3))+p1k0
     & *(c34f(i3,i4).e(2)*p134(3)-p134(2)*c34f(i3,i4).e(3))-p134
     & k0*(c34f(i3,i4).e(2)*p1(3)-p1(2)*c34f(i3,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c34f(i3,i4).e(3)*p1k0+p1(3)*c34f(i3,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c34f(i3,i4).e(3)*p134k0+p134(3)*c34f(i3,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c34f(i3,i4).e(0)*p1(0)-c34f(i3,i4).e(1)*p1(1)-c34f(i3
     & ,i4).e(2)*p1(2)-c34f(i3,i4).e(3)*p1(3)
      cvqd=c34f(i3,i4).e(0)*p134(0)-c34f(i3,i4).e(1)*p134(1)-c34
     & f(i3,i4).e(2)*p134(2)-c34f(i3,i4).e(3)*p134(3)
      cauxa=-c34f(i3,i4).ek0*quqd+p1k0*cvqd+p134k0*cvqu
      cauxb=-c34f(i3,i4).ek0*p134(2)+p134k0*c34f(i3,i4).e(2)
      cauxc=+c34f(i3,i4).ek0*p1(2)-p1k0*c34f(i3,i4).e(2)
      l1_34fz(i3,i4).a(1,1)=fer*(cauxa+ceps_0)
      l1_34fz(i3,i4).a(2,2)=fel*(cauxa-ceps_0)
      l1_34fz(i3,i4).b(1,2)=fel*(cauxb-ceps_2)
      l1_34fz(i3,i4).b(2,1)=fer*(-cauxb-ceps_2)
      l1_34fz(i3,i4).c(1,2)=fer*(cauxc+ceps_1)
      l1_34fz(i3,i4).c(2,1)=fel*(-cauxc+ceps_1)
      l1_34fz(i3,i4).d(1,1)=fel*c34f(i3,i4).ek0
      l1_34fz(i3,i4).d(2,2)=fer*c34f(i3,i4).ek0
      end do
      end do
      ENDIF !izz
      IF(izg.NE.0.OR.izg34.NE.0)THEN
        do i3=1,2
        do i4=1,2
	l1_34f(i3,i4).a(1,1)=l1_34fz(i3,i4).a(1,1)
        l1_34f(i3,i4).a(2,2)=l1_34fz(i3,i4).a(2,2)
        l1_34f(i3,i4).b(1,2)=l1_34fz(i3,i4).b(1,2)
        l1_34f(i3,i4).b(2,1)=l1_34fz(i3,i4).b(2,1)
        l1_34f(i3,i4).c(1,2)=l1_34fz(i3,i4).c(1,2)
        l1_34f(i3,i4).c(2,1)=l1_34fz(i3,i4).c(2,1)
        l1_34f(i3,i4).d(1,1)=l1_34fz(i3,i4).d(1,1)
        l1_34f(i3,i4).d(2,2)=l1_34fz(i3,i4).d(2,2)
	enddo
	enddo
      ENDIF
*endel2
*****attaccamento di  c34z(2) a 1 (e+)
      do i3=1,2
      do i4=1,2
* T -- qu=p1,qd=p134,v=c34z(i3,i4).e,a=l1_34fz(i3,i4).a,b=l1_34fz(i3,i4).b,
* c=l1_34fz(i3,i4).c,d=l1_34fz(i3,i4).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c34z(i3,i4).ek0*(p1(2)*p134(3)-p134(2)*p1(3))+p1k0
     & *(c34z(i3,i4).e(2)*p134(3)-p134(2)*c34z(i3,i4).e(3))-p134
     & k0*(c34z(i3,i4).e(2)*p1(3)-p1(2)*c34z(i3,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c34z(i3,i4).e(3)*p1k0+p1(3)*c34z(i3,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c34z(i3,i4).e(3)*p134k0+p134(3)*c34z(i3,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c34z(i3,i4).e(0)*p1(0)-c34z(i3,i4).e(1)*p1(1)-c34z(i3
     & ,i4).e(2)*p1(2)-c34z(i3,i4).e(3)*p1(3)
      cvqd=c34z(i3,i4).e(0)*p134(0)-c34z(i3,i4).e(1)*p134(1)-c34
     & z(i3,i4).e(2)*p134(2)-c34z(i3,i4).e(3)*p134(3)
      cauxa=-c34z(i3,i4).ek0*quqd+p1k0*cvqd+p134k0*cvqu
      cauxb=-c34z(i3,i4).ek0*p134(2)+p134k0*c34z(i3,i4).e(2)
      cauxc=+c34z(i3,i4).ek0*p1(2)-p1k0*c34z(i3,i4).e(2)
      l1_34fz(i3,i4).a(1,1)=(1-inc02)*l1_34fz(i3,i4).a(1,1)+
     & zer*(cauxa+ceps_0)
      l1_34fz(i3,i4).a(2,2)=(1-inc02)*l1_34fz(i3,i4).a(2,2)+
     & zel*(cauxa-ceps_0)
      l1_34fz(i3,i4).b(1,2)=(1-inc02)*l1_34fz(i3,i4).b(1,2)+
     & zel*(cauxb-ceps_2)
      l1_34fz(i3,i4).b(2,1)=(1-inc02)*l1_34fz(i3,i4).b(2,1)+
     & zer*(-cauxb-ceps_2)
      l1_34fz(i3,i4).c(1,2)=(1-inc02)*l1_34fz(i3,i4).c(1,2)+
     & zer*(cauxc+ceps_1)
      l1_34fz(i3,i4).c(2,1)=(1-inc02)*l1_34fz(i3,i4).c(2,1)+
     & zel*(-cauxc+ceps_1)
      l1_34fz(i3,i4).d(1,1)=(1-inc02)*l1_34fz(i3,i4).d(1,1)+
     & zel*c34z(i3,i4).ek0
      l1_34fz(i3,i4).d(2,2)=(1-inc02)*l1_34fz(i3,i4).d(2,2)+
     & zer*c34z(i3,i4).ek0
*el2
      IF(izz.EQ.-1.OR.izg.NE.0.OR.izg56.NE.0)THEN
      l1_34z(i3,i4).a(1,1)=zer*(cauxa+ceps_0) 
      l1_34z(i3,i4).a(2,2)=zel*(cauxa-ceps_0) 
      l1_34z(i3,i4).b(1,2)=zel*(cauxb-ceps_2) 
      l1_34z(i3,i4).b(2,1)=zer*(-cauxb-ceps_2)
      l1_34z(i3,i4).c(1,2)=zer*(cauxc+ceps_1)
      l1_34z(i3,i4).c(2,1)=zel*(-cauxc+ceps_1)
      l1_34z(i3,i4).d(1,1)=zel*c34z(i3,i4).ek0
      l1_34z(i3,i4).d(2,2)=zer*c34z(i3,i4).ek0  
      ENDIF !izz
*endel2
      end do
      end do
*****attaccamento di  c34f(2) a 2 (e-)
* quqd -- p=p156,q=p2
      quqd=p156(0)*p2(0)-p156(1)*p2(1)-p156(2)*p2(2)-p156(3)*p2(
     & 3)
*el2
      IF(izz.NE.1.AND.izg56.NE.1)THEN
      do i3=1,2
      do i4=1,2
* T -- qu=p156,qd=p2,v=c34f(i3,i4).e,a=r2_34fz(i3,i4).a,b=r2_34fz(i3,i4).b,
* c=r2_34fz(i3,i4).c,d=r2_34fz(i3,i4).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c34f(i3,i4).ek0*(p156(2)*p2(3)-p2(2)*p156(3))+p156
     & k0*(c34f(i3,i4).e(2)*p2(3)-p2(2)*c34f(i3,i4).e(3))-p2k0*(
     & c34f(i3,i4).e(2)*p156(3)-p156(2)*c34f(i3,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c34f(i3,i4).e(3)*p156k0+p156(3)*c34f(i3,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c34f(i3,i4).e(3)*p2k0+p2(3)*c34f(i3,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c34f(i3,i4).e(0)*p156(0)-c34f(i3,i4).e(1)*p156(1)-c34
     & f(i3,i4).e(2)*p156(2)-c34f(i3,i4).e(3)*p156(3)
      cvqd=c34f(i3,i4).e(0)*p2(0)-c34f(i3,i4).e(1)*p2(1)-c34f(i3
     & ,i4).e(2)*p2(2)-c34f(i3,i4).e(3)*p2(3)
      cauxa=-c34f(i3,i4).ek0*quqd+p156k0*cvqd+p2k0*cvqu
      cauxb=-c34f(i3,i4).ek0*p2(2)+p2k0*c34f(i3,i4).e(2)
      cauxc=+c34f(i3,i4).ek0*p156(2)-p156k0*c34f(i3,i4).e(2)
      r2_34fz(i3,i4).a(1,1)=fer*(cauxa+ceps_0)
      r2_34fz(i3,i4).a(2,2)=fel*(cauxa-ceps_0)
      r2_34fz(i3,i4).b(1,2)=fel*(cauxb-ceps_2)
      r2_34fz(i3,i4).b(2,1)=fer*(-cauxb-ceps_2)
      r2_34fz(i3,i4).c(1,2)=fer*(cauxc+ceps_1)
      r2_34fz(i3,i4).c(2,1)=fel*(-cauxc+ceps_1)
      r2_34fz(i3,i4).d(1,1)=fel*c34f(i3,i4).ek0
      r2_34fz(i3,i4).d(2,2)=fer*c34f(i3,i4).ek0
      end do
      end do
      ENDIF !izz
      IF(izg.NE.0.OR.izg34.NE.0)THEN
	do i3=1,2
	do i4=1,2
        r2_34f(i3,i4).a(1,1)=r2_34fz(i3,i4).a(1,1)
        r2_34f(i3,i4).a(2,2)=r2_34fz(i3,i4).a(2,2)
        r2_34f(i3,i4).b(1,2)=r2_34fz(i3,i4).b(1,2)
        r2_34f(i3,i4).b(2,1)=r2_34fz(i3,i4).b(2,1)
        r2_34f(i3,i4).c(1,2)=r2_34fz(i3,i4).c(1,2)
        r2_34f(i3,i4).c(2,1)=r2_34fz(i3,i4).c(2,1)
        r2_34f(i3,i4).d(1,1)=r2_34fz(i3,i4).d(1,1)
        r2_34f(i3,i4).d(2,2)=r2_34fz(i3,i4).d(2,2)
	enddo
	enddo
      ENDIF !izg
*endel2
*****attaccamento di  c34z(2) a 2 (e-)
      do i3=1,2
      do i4=1,2
* T -- qu=p156,qd=p2,v=c34z(i3,i4).e,a=r2_34fz(i3,i4).a,b=r2_34fz(i3,i4).b,
* c=r2_34fz(i3,i4).c,d=r2_34fz(i3,i4).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c34z(i3,i4).ek0*(p156(2)*p2(3)-p2(2)*p156(3))+p156
     & k0*(c34z(i3,i4).e(2)*p2(3)-p2(2)*c34z(i3,i4).e(3))-p2k0*(
     & c34z(i3,i4).e(2)*p156(3)-p156(2)*c34z(i3,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c34z(i3,i4).e(3)*p156k0+p156(3)*c34z(i3,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c34z(i3,i4).e(3)*p2k0+p2(3)*c34z(i3,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c34z(i3,i4).e(0)*p156(0)-c34z(i3,i4).e(1)*p156(1)-c34
     & z(i3,i4).e(2)*p156(2)-c34z(i3,i4).e(3)*p156(3)
      cvqd=c34z(i3,i4).e(0)*p2(0)-c34z(i3,i4).e(1)*p2(1)-c34z(i3
     & ,i4).e(2)*p2(2)-c34z(i3,i4).e(3)*p2(3)
      cauxa=-c34z(i3,i4).ek0*quqd+p156k0*cvqd+p2k0*cvqu
      cauxb=-c34z(i3,i4).ek0*p2(2)+p2k0*c34z(i3,i4).e(2)
      cauxc=+c34z(i3,i4).ek0*p156(2)-p156k0*c34z(i3,i4).e(2)
      r2_34fz(i3,i4).a(1,1)=(1-inc02)*r2_34fz(i3,i4).a(1,1)+
     & zer*(cauxa+ceps_0)
      r2_34fz(i3,i4).a(2,2)=(1-inc02)*r2_34fz(i3,i4).a(2,2)+
     & zel*(cauxa-ceps_0)
      r2_34fz(i3,i4).b(1,2)=(1-inc02)*r2_34fz(i3,i4).b(1,2)+
     & zel*(cauxb-ceps_2)
      r2_34fz(i3,i4).b(2,1)=(1-inc02)*r2_34fz(i3,i4).b(2,1)+
     & zer*(-cauxb-ceps_2)
      r2_34fz(i3,i4).c(1,2)=(1-inc02)*r2_34fz(i3,i4).c(1,2)+
     & zer*(cauxc+ceps_1)
      r2_34fz(i3,i4).c(2,1)=(1-inc02)*r2_34fz(i3,i4).c(2,1)+
     & zel*(-cauxc+ceps_1)
      r2_34fz(i3,i4).d(1,1)=(1-inc02)*r2_34fz(i3,i4).d(1,1)+
     & zel*c34z(i3,i4).ek0
      r2_34fz(i3,i4).d(2,2)=(1-inc02)*r2_34fz(i3,i4).d(2,2)+
     & zer*c34z(i3,i4).ek0
*el2
      IF(izz.EQ.-1.OR.izg.NE.0.OR.izg56.NE.0)THEN
      r2_34z(i3,i4).a(1,1)=zer*(cauxa+ceps_0) 
      r2_34z(i3,i4).a(2,2)=zel*(cauxa-ceps_0) 
      r2_34z(i3,i4).b(1,2)=zel*(cauxb-ceps_2) 
      r2_34z(i3,i4).b(2,1)=zer*(-cauxb-ceps_2)
      r2_34z(i3,i4).c(1,2)=zer*(cauxc+ceps_1)
      r2_34z(i3,i4).c(2,1)=zel*(-cauxc+ceps_1)
      r2_34z(i3,i4).d(1,1)=zel*c34z(i3,i4).ek0
      r2_34z(i3,i4).d(2,2)=zer*c34z(i3,i4).ek0
      ENDIF !izz
*endel2
      end do
      end do
*el2
      IF(izz.NE.1.AND.izg.NE.1.AND.izg34.NE.1.AND.izg56.NE.1.
     &   AND.inc08.NE.1)THEN
*endel2
*****attaccamento di  c56f a 3
* quqd -- p=p3,q=p356
      quqd=p3(0)*p356(0)-p3(1)*p356(1)-p3(2)*p356(2)-p3(3)*p356(
     & 3)
      do i5=1,2
      do i6=1,2
* T -- qu=p3,qd=p356,v=c56f(i5,i6).e,a=l3_56f(i5,i6).a,b=l3_56f(i5,i6).b,c=
* l3_56f(i5,i6).c,d=l3_56f(i5,i6).d,cr=f3r,cl=f3l,nsum=0
      ceps_0=-c56f(i5,i6).ek0*(p3(2)*p356(3)-p356(2)*p3(3))+p3k0
     & *(c56f(i5,i6).e(2)*p356(3)-p356(2)*c56f(i5,i6).e(3))-p356
     & k0*(c56f(i5,i6).e(2)*p3(3)-p3(2)*c56f(i5,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c56f(i5,i6).e(3)*p3k0+p3(3)*c56f(i5,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c56f(i5,i6).e(3)*p356k0+p356(3)*c56f(i5,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c56f(i5,i6).e(0)*p3(0)-c56f(i5,i6).e(1)*p3(1)-c56f(i5
     & ,i6).e(2)*p3(2)-c56f(i5,i6).e(3)*p3(3)
      cvqd=c56f(i5,i6).e(0)*p356(0)-c56f(i5,i6).e(1)*p356(1)-c56
     & f(i5,i6).e(2)*p356(2)-c56f(i5,i6).e(3)*p356(3)
      cauxa=-c56f(i5,i6).ek0*quqd+p3k0*cvqd+p356k0*cvqu
      cauxb=-c56f(i5,i6).ek0*p356(2)+p356k0*c56f(i5,i6).e(2)
      cauxc=+c56f(i5,i6).ek0*p3(2)-p3k0*c56f(i5,i6).e(2)
      l3_56f(i5,i6).a(1,1)=f3r*(cauxa+ceps_0)
      l3_56f(i5,i6).a(2,2)=f3l*(cauxa-ceps_0)
      l3_56f(i5,i6).b(1,2)=f3l*(cauxb-ceps_2)
      l3_56f(i5,i6).b(2,1)=f3r*(-cauxb-ceps_2)
      l3_56f(i5,i6).c(1,2)=f3r*(cauxc+ceps_1)
      l3_56f(i5,i6).c(2,1)=f3l*(-cauxc+ceps_1)
      l3_56f(i5,i6).d(1,1)=f3l*c56f(i5,i6).ek0
      l3_56f(i5,i6).d(2,2)=f3r*c56f(i5,i6).ek0
      end do
      end do
*****attaccamento di  c56z a 3
      do i5=1,2
      do i6=1,2
* T -- qu=p3,qd=p356,v=c56z(i5,i6).e,a=l3_56fz(i5,i6).a,b=l3_56fz(i5,i6).b,
* c=l3_56fz(i5,i6).c,d=l3_56fz(i5,i6).d,cr=z3r,cl=z3l,nsum=0
      ceps_0=-c56z(i5,i6).ek0*(p3(2)*p356(3)-p356(2)*p3(3))+p3k0
     & *(c56z(i5,i6).e(2)*p356(3)-p356(2)*c56z(i5,i6).e(3))-p356
     & k0*(c56z(i5,i6).e(2)*p3(3)-p3(2)*c56z(i5,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c56z(i5,i6).e(3)*p3k0+p3(3)*c56z(i5,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c56z(i5,i6).e(3)*p356k0+p356(3)*c56z(i5,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c56z(i5,i6).e(0)*p3(0)-c56z(i5,i6).e(1)*p3(1)-c56z(i5
     & ,i6).e(2)*p3(2)-c56z(i5,i6).e(3)*p3(3)
      cvqd=c56z(i5,i6).e(0)*p356(0)-c56z(i5,i6).e(1)*p356(1)-c56
     & z(i5,i6).e(2)*p356(2)-c56z(i5,i6).e(3)*p356(3)
      cauxa=-c56z(i5,i6).ek0*quqd+p3k0*cvqd+p356k0*cvqu
      cauxb=-c56z(i5,i6).ek0*p356(2)+p356k0*c56z(i5,i6).e(2)
      cauxc=+c56z(i5,i6).ek0*p3(2)-p3k0*c56z(i5,i6).e(2)
      l3_56fz(i5,i6).a(1,1)=z3r*(cauxa+ceps_0)
      l3_56fz(i5,i6).a(2,2)=z3l*(cauxa-ceps_0)
      l3_56fz(i5,i6).b(1,2)=z3l*(cauxb-ceps_2)
      l3_56fz(i5,i6).b(2,1)=z3r*(-cauxb-ceps_2)
      l3_56fz(i5,i6).c(1,2)=z3r*(cauxc+ceps_1)
      l3_56fz(i5,i6).c(2,1)=z3l*(-cauxc+ceps_1)
      l3_56fz(i5,i6).d(1,1)=z3l*c56z(i5,i6).ek0
      l3_56fz(i5,i6).d(2,2)=z3r*c56z(i5,i6).ek0
      end do
      end do
* sommare o usare phact6?
      do i5=1,2
       do i6=1,2
        do ii=1,2
         do jj=1,2
          l3_56fz(i5,i6).a(ii,jj)=l3_56fz(i5,i6).a(ii,jj)+
     &      l3_56f(i5,i6).a(ii,jj)
          l3_56fz(i5,i6).b(ii,jj)=l3_56fz(i5,i6).b(ii,jj)+
     &      l3_56f(i5,i6).b(ii,jj)
          l3_56fz(i5,i6).c(ii,jj)=l3_56fz(i5,i6).c(ii,jj)+
     &      l3_56f(i5,i6).c(ii,jj)
          l3_56fz(i5,i6).d(ii,jj)=l3_56fz(i5,i6).d(ii,jj)+
     &      l3_56f(i5,i6).d(ii,jj)
         end do
        end do
       end do
      end do
*****attaccamento di  c56f a 4
* quqd -- p=p123,q=p4
      quqd=p123(0)*p4(0)-p123(1)*p4(1)-p123(2)*p4(2)-p123(3)*p4(
     & 3)
      do i5=1,2
      do i6=1,2
* T -- qu=p123,qd=p4,v=c56f(i5,i6).e,a=r4_56f(i5,i6).a,b=r4_56f(i5,i6).b,c=
* r4_56f(i5,i6).c,d=r4_56f(i5,i6).d,cr=f4r,cl=f4l,nsum=0
      ceps_0=-c56f(i5,i6).ek0*(p123(2)*p4(3)-p4(2)*p123(3))+p123
     & k0*(c56f(i5,i6).e(2)*p4(3)-p4(2)*c56f(i5,i6).e(3))-p4k0*(
     & c56f(i5,i6).e(2)*p123(3)-p123(2)*c56f(i5,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c56f(i5,i6).e(3)*p123k0+p123(3)*c56f(i5,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c56f(i5,i6).e(3)*p4k0+p4(3)*c56f(i5,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c56f(i5,i6).e(0)*p123(0)-c56f(i5,i6).e(1)*p123(1)-c56
     & f(i5,i6).e(2)*p123(2)-c56f(i5,i6).e(3)*p123(3)
      cvqd=c56f(i5,i6).e(0)*p4(0)-c56f(i5,i6).e(1)*p4(1)-c56f(i5
     & ,i6).e(2)*p4(2)-c56f(i5,i6).e(3)*p4(3)
      cauxa=-c56f(i5,i6).ek0*quqd+p123k0*cvqd+p4k0*cvqu
      cauxb=-c56f(i5,i6).ek0*p4(2)+p4k0*c56f(i5,i6).e(2)
      cauxc=+c56f(i5,i6).ek0*p123(2)-p123k0*c56f(i5,i6).e(2)
      r4_56f(i5,i6).a(1,1)=f4r*(cauxa+ceps_0)
      r4_56f(i5,i6).a(2,2)=f4l*(cauxa-ceps_0)
      r4_56f(i5,i6).b(1,2)=f4l*(cauxb-ceps_2)
      r4_56f(i5,i6).b(2,1)=f4r*(-cauxb-ceps_2)
      r4_56f(i5,i6).c(1,2)=f4r*(cauxc+ceps_1)
      r4_56f(i5,i6).c(2,1)=f4l*(-cauxc+ceps_1)
      r4_56f(i5,i6).d(1,1)=f4l*c56f(i5,i6).ek0
      r4_56f(i5,i6).d(2,2)=f4r*c56f(i5,i6).ek0
      end do
      end do
*****attaccamento di  c56z a 4
      do i5=1,2
      do i6=1,2
* T -- qu=p123,qd=p4,v=c56z(i5,i6).e,a=r4_56fz(i5,i6).a,b=r4_56fz(i5,i6).b,
* c=r4_56fz(i5,i6).c,d=r4_56fz(i5,i6).d,cr=z4r,cl=z4l,nsum=0
      ceps_0=-c56z(i5,i6).ek0*(p123(2)*p4(3)-p4(2)*p123(3))+p123
     & k0*(c56z(i5,i6).e(2)*p4(3)-p4(2)*c56z(i5,i6).e(3))-p4k0*(
     & c56z(i5,i6).e(2)*p123(3)-p123(2)*c56z(i5,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c56z(i5,i6).e(3)*p123k0+p123(3)*c56z(i5,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c56z(i5,i6).e(3)*p4k0+p4(3)*c56z(i5,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c56z(i5,i6).e(0)*p123(0)-c56z(i5,i6).e(1)*p123(1)-c56
     & z(i5,i6).e(2)*p123(2)-c56z(i5,i6).e(3)*p123(3)
      cvqd=c56z(i5,i6).e(0)*p4(0)-c56z(i5,i6).e(1)*p4(1)-c56z(i5
     & ,i6).e(2)*p4(2)-c56z(i5,i6).e(3)*p4(3)
      cauxa=-c56z(i5,i6).ek0*quqd+p123k0*cvqd+p4k0*cvqu
      cauxb=-c56z(i5,i6).ek0*p4(2)+p4k0*c56z(i5,i6).e(2)
      cauxc=+c56z(i5,i6).ek0*p123(2)-p123k0*c56z(i5,i6).e(2)
      r4_56fz(i5,i6).a(1,1)=z4r*(cauxa+ceps_0)
      r4_56fz(i5,i6).a(2,2)=z4l*(cauxa-ceps_0)
      r4_56fz(i5,i6).b(1,2)=z4l*(cauxb-ceps_2)
      r4_56fz(i5,i6).b(2,1)=z4r*(-cauxb-ceps_2)
      r4_56fz(i5,i6).c(1,2)=z4r*(cauxc+ceps_1)
      r4_56fz(i5,i6).c(2,1)=z4l*(-cauxc+ceps_1)
      r4_56fz(i5,i6).d(1,1)=z4l*c56z(i5,i6).ek0
      r4_56fz(i5,i6).d(2,2)=z4r*c56z(i5,i6).ek0
      end do
      end do
      do i5=1,2
       do i6=1,2
        do ii=1,2
         do jj=1,2
          r4_56fz(i5,i6).a(ii,jj)=r4_56fz(i5,i6).a(ii,jj)+
     &      r4_56f(i5,i6).a(ii,jj)
          r4_56fz(i5,i6).b(ii,jj)=r4_56fz(i5,i6).b(ii,jj)+
     &      r4_56f(i5,i6).b(ii,jj)
          r4_56fz(i5,i6).c(ii,jj)=r4_56fz(i5,i6).c(ii,jj)+
     &      r4_56f(i5,i6).c(ii,jj)
          r4_56fz(i5,i6).d(ii,jj)=r4_56fz(i5,i6).d(ii,jj)+
     &      r4_56f(i5,i6).d(ii,jj)
         end do
        end do
       end do
      end do
*****attaccamento di  c12f(2) a 5
* quqd -- p=p5,q=p125
      quqd=p5(0)*p125(0)-p5(1)*p125(1)-p5(2)*p125(2)-p5(3)*p125(
     & 3)
      do i1=1,2
      do i2=1,2
* T -- qu=p5,qd=p125,v=c12f(i1,i2).e,a=l5_12fz(i1,i2).a,b=l5_12fz(i1,i2).b,
* c=l5_12fz(i1,i2).c,d=l5_12fz(i1,i2).d,cr=f5r,cl=f5l,nsum=0
      ceps_0=-c12f(i1,i2).ek0*(p5(2)*p125(3)-p125(2)*p5(3))+p5k0
     & *(c12f(i1,i2).e(2)*p125(3)-p125(2)*c12f(i1,i2).e(3))-p125
     & k0*(c12f(i1,i2).e(2)*p5(3)-p5(2)*c12f(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12f(i1,i2).e(3)*p5k0+p5(3)*c12f(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12f(i1,i2).e(3)*p125k0+p125(3)*c12f(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12f(i1,i2).e(0)*p5(0)-c12f(i1,i2).e(1)*p5(1)-c12f(i1
     & ,i2).e(2)*p5(2)-c12f(i1,i2).e(3)*p5(3)
      cvqd=c12f(i1,i2).e(0)*p125(0)-c12f(i1,i2).e(1)*p125(1)-c12
     & f(i1,i2).e(2)*p125(2)-c12f(i1,i2).e(3)*p125(3)
      cauxa=-c12f(i1,i2).ek0*quqd+p5k0*cvqd+p125k0*cvqu
      cauxb=-c12f(i1,i2).ek0*p125(2)+p125k0*c12f(i1,i2).e(2)
      cauxc=+c12f(i1,i2).ek0*p5(2)-p5k0*c12f(i1,i2).e(2)
      l5_12fz(i1,i2).a(1,1)=f5r*(cauxa+ceps_0)
      l5_12fz(i1,i2).a(2,2)=f5l*(cauxa-ceps_0)
      l5_12fz(i1,i2).b(1,2)=f5l*(cauxb-ceps_2)
      l5_12fz(i1,i2).b(2,1)=f5r*(-cauxb-ceps_2)
      l5_12fz(i1,i2).c(1,2)=f5r*(cauxc+ceps_1)
      l5_12fz(i1,i2).c(2,1)=f5l*(-cauxc+ceps_1)
      l5_12fz(i1,i2).d(1,1)=f5l*c12f(i1,i2).ek0
      l5_12fz(i1,i2).d(2,2)=f5r*c12f(i1,i2).ek0
      end do
      end do
*****attaccamento di  c12z(2) a 5
      do i1=1,2
      do i2=1,2
* T -- qu=p5,qd=p125,v=c12z(i1,i2).e,a=l5_12fz(i1,i2).a,b=l5_12fz(i1,i2).b,
* c=l5_12fz(i1,i2).c,d=l5_12fz(i1,i2).d,cr=z5r,cl=z5l,nsum=1
      ceps_0=-c12z(i1,i2).ek0*(p5(2)*p125(3)-p125(2)*p5(3))+p5k0
     & *(c12z(i1,i2).e(2)*p125(3)-p125(2)*c12z(i1,i2).e(3))-p125
     & k0*(c12z(i1,i2).e(2)*p5(3)-p5(2)*c12z(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12z(i1,i2).e(3)*p5k0+p5(3)*c12z(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12z(i1,i2).e(3)*p125k0+p125(3)*c12z(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12z(i1,i2).e(0)*p5(0)-c12z(i1,i2).e(1)*p5(1)-c12z(i1
     & ,i2).e(2)*p5(2)-c12z(i1,i2).e(3)*p5(3)
      cvqd=c12z(i1,i2).e(0)*p125(0)-c12z(i1,i2).e(1)*p125(1)-c12
     & z(i1,i2).e(2)*p125(2)-c12z(i1,i2).e(3)*p125(3)
      cauxa=-c12z(i1,i2).ek0*quqd+p5k0*cvqd+p125k0*cvqu
      cauxb=-c12z(i1,i2).ek0*p125(2)+p125k0*c12z(i1,i2).e(2)
      cauxc=+c12z(i1,i2).ek0*p5(2)-p5k0*c12z(i1,i2).e(2)
      l5_12fz(i1,i2).a(1,1)=l5_12fz(i1,i2).a(1,1)+z5r*(cauxa+cep
     & s_0)
      l5_12fz(i1,i2).a(2,2)=l5_12fz(i1,i2).a(2,2)+z5l*(cauxa-cep
     & s_0)
      l5_12fz(i1,i2).b(1,2)=l5_12fz(i1,i2).b(1,2)+z5l*(cauxb-cep
     & s_2)
      l5_12fz(i1,i2).b(2,1)=l5_12fz(i1,i2).b(2,1)+z5r*(-cauxb-ce
     & ps_2)
      l5_12fz(i1,i2).c(1,2)=l5_12fz(i1,i2).c(1,2)+z5r*(cauxc+cep
     & s_1)
      l5_12fz(i1,i2).c(2,1)=l5_12fz(i1,i2).c(2,1)+z5l*(-cauxc+ce
     & ps_1)
      l5_12fz(i1,i2).d(1,1)=l5_12fz(i1,i2).d(1,1)+z5l*c12z(i1,i2
     & ).ek0
      l5_12fz(i1,i2).d(2,2)=l5_12fz(i1,i2).d(2,2)+z5r*c12z(i1,i2
     & ).ek0
      end do
      end do
*****attaccamento di  c12f(2) a 6
* quqd -- p=p345,q=p6
      quqd=p345(0)*p6(0)-p345(1)*p6(1)-p345(2)*p6(2)-p345(3)*p6(
     & 3)
      do i1=1,2
      do i2=1,2
* T -- qu=p345,qd=p6,v=c12f(i1,i2).e,a=r6_12fz(i1,i2).a,b=r6_12fz(i1,i2).b,
* c=r6_12fz(i1,i2).c,d=r6_12fz(i1,i2).d,cr=f6r,cl=f6l,nsum=0
      ceps_0=-c12f(i1,i2).ek0*(p345(2)*p6(3)-p6(2)*p345(3))+p345
     & k0*(c12f(i1,i2).e(2)*p6(3)-p6(2)*c12f(i1,i2).e(3))-p6k0*(
     & c12f(i1,i2).e(2)*p345(3)-p345(2)*c12f(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12f(i1,i2).e(3)*p345k0+p345(3)*c12f(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12f(i1,i2).e(3)*p6k0+p6(3)*c12f(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12f(i1,i2).e(0)*p345(0)-c12f(i1,i2).e(1)*p345(1)-c12
     & f(i1,i2).e(2)*p345(2)-c12f(i1,i2).e(3)*p345(3)
      cvqd=c12f(i1,i2).e(0)*p6(0)-c12f(i1,i2).e(1)*p6(1)-c12f(i1
     & ,i2).e(2)*p6(2)-c12f(i1,i2).e(3)*p6(3)
      cauxa=-c12f(i1,i2).ek0*quqd+p345k0*cvqd+p6k0*cvqu
      cauxb=-c12f(i1,i2).ek0*p6(2)+p6k0*c12f(i1,i2).e(2)
      cauxc=+c12f(i1,i2).ek0*p345(2)-p345k0*c12f(i1,i2).e(2)
      r6_12fz(i1,i2).a(1,1)=f6r*(cauxa+ceps_0)
      r6_12fz(i1,i2).a(2,2)=f6l*(cauxa-ceps_0)
      r6_12fz(i1,i2).b(1,2)=f6l*(cauxb-ceps_2)
      r6_12fz(i1,i2).b(2,1)=f6r*(-cauxb-ceps_2)
      r6_12fz(i1,i2).c(1,2)=f6r*(cauxc+ceps_1)
      r6_12fz(i1,i2).c(2,1)=f6l*(-cauxc+ceps_1)
      r6_12fz(i1,i2).d(1,1)=f6l*c12f(i1,i2).ek0
      r6_12fz(i1,i2).d(2,2)=f6r*c12f(i1,i2).ek0
      end do
      end do
*****attaccamento di  c12z(2) a 6
      do i1=1,2
      do i2=1,2
* T -- qu=p345,qd=p6,v=c12z(i1,i2).e,a=r6_12fz(i1,i2).a,b=r6_12fz(i1,i2).b,
* c=r6_12fz(i1,i2).c,d=r6_12fz(i1,i2).d,cr=z6r,cl=z6l,nsum=1
      ceps_0=-c12z(i1,i2).ek0*(p345(2)*p6(3)-p6(2)*p345(3))+p345
     & k0*(c12z(i1,i2).e(2)*p6(3)-p6(2)*c12z(i1,i2).e(3))-p6k0*(
     & c12z(i1,i2).e(2)*p345(3)-p345(2)*c12z(i1,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c12z(i1,i2).e(3)*p345k0+p345(3)*c12z(i1,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c12z(i1,i2).e(3)*p6k0+p6(3)*c12z(i1,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c12z(i1,i2).e(0)*p345(0)-c12z(i1,i2).e(1)*p345(1)-c12
     & z(i1,i2).e(2)*p345(2)-c12z(i1,i2).e(3)*p345(3)
      cvqd=c12z(i1,i2).e(0)*p6(0)-c12z(i1,i2).e(1)*p6(1)-c12z(i1
     & ,i2).e(2)*p6(2)-c12z(i1,i2).e(3)*p6(3)
      cauxa=-c12z(i1,i2).ek0*quqd+p345k0*cvqd+p6k0*cvqu
      cauxb=-c12z(i1,i2).ek0*p6(2)+p6k0*c12z(i1,i2).e(2)
      cauxc=+c12z(i1,i2).ek0*p345(2)-p345k0*c12z(i1,i2).e(2)
      r6_12fz(i1,i2).a(1,1)=r6_12fz(i1,i2).a(1,1)+z6r*(cauxa+cep
     & s_0)
      r6_12fz(i1,i2).a(2,2)=r6_12fz(i1,i2).a(2,2)+z6l*(cauxa-cep
     & s_0)
      r6_12fz(i1,i2).b(1,2)=r6_12fz(i1,i2).b(1,2)+z6l*(cauxb-cep
     & s_2)
      r6_12fz(i1,i2).b(2,1)=r6_12fz(i1,i2).b(2,1)+z6r*(-cauxb-ce
     & ps_2)
      r6_12fz(i1,i2).c(1,2)=r6_12fz(i1,i2).c(1,2)+z6r*(cauxc+cep
     & s_1)
      r6_12fz(i1,i2).c(2,1)=r6_12fz(i1,i2).c(2,1)+z6l*(-cauxc+ce
     & ps_1)
      r6_12fz(i1,i2).d(1,1)=r6_12fz(i1,i2).d(1,1)+z6l*c12z(i1,i2
     & ).ek0
      r6_12fz(i1,i2).d(2,2)=r6_12fz(i1,i2).d(2,2)+z6r*c12z(i1,i2
     & ).ek0
      end do
      end do
*el2
      ENDIF !izz
*endel2
*****attaccamento di  c56f(2) a 1 (e+)
* quqd -- p=p1,q=p156
      quqd=p1(0)*p156(0)-p1(1)*p156(1)-p1(2)*p156(2)-p1(3)*p156(
     & 3)
*el2
      IF(izz.NE.1.AND.izg34.NE.1)THEN
      do i5=1,2
      do i6=1,2
* T -- qu=p1,qd=p156,v=c56f(i5,i6).e,a=l1_56fz(i5,i6).a,b=l1_56fz(i5,i6).b,
* c=l1_56fz(i5,i6).c,d=l1_56fz(i5,i6).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c56f(i5,i6).ek0*(p1(2)*p156(3)-p156(2)*p1(3))+p1k0
     & *(c56f(i5,i6).e(2)*p156(3)-p156(2)*c56f(i5,i6).e(3))-p156
     & k0*(c56f(i5,i6).e(2)*p1(3)-p1(2)*c56f(i5,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c56f(i5,i6).e(3)*p1k0+p1(3)*c56f(i5,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c56f(i5,i6).e(3)*p156k0+p156(3)*c56f(i5,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c56f(i5,i6).e(0)*p1(0)-c56f(i5,i6).e(1)*p1(1)-c56f(i5
     & ,i6).e(2)*p1(2)-c56f(i5,i6).e(3)*p1(3)
      cvqd=c56f(i5,i6).e(0)*p156(0)-c56f(i5,i6).e(1)*p156(1)-c56
     & f(i5,i6).e(2)*p156(2)-c56f(i5,i6).e(3)*p156(3)
      cauxa=-c56f(i5,i6).ek0*quqd+p1k0*cvqd+p156k0*cvqu
      cauxb=-c56f(i5,i6).ek0*p156(2)+p156k0*c56f(i5,i6).e(2)
      cauxc=+c56f(i5,i6).ek0*p1(2)-p1k0*c56f(i5,i6).e(2)
      l1_56fz(i5,i6).a(1,1)=fer*(cauxa+ceps_0)
      l1_56fz(i5,i6).a(2,2)=fel*(cauxa-ceps_0)
      l1_56fz(i5,i6).b(1,2)=fel*(cauxb-ceps_2)
      l1_56fz(i5,i6).b(2,1)=fer*(-cauxb-ceps_2)
      l1_56fz(i5,i6).c(1,2)=fer*(cauxc+ceps_1)
      l1_56fz(i5,i6).c(2,1)=fel*(-cauxc+ceps_1)
      l1_56fz(i5,i6).d(1,1)=fel*c56f(i5,i6).ek0
      l1_56fz(i5,i6).d(2,2)=fer*c56f(i5,i6).ek0
      end do
      end do
      ENDIF !izz
      IF(izg.NE.0.OR.izg56.NE.0)THEN
	do i5=1,2
	do i6=1,2
        l1_56f(i5,i6).a(1,1)=l1_56fz(i5,i6).a(1,1)
        l1_56f(i5,i6).a(2,2)=l1_56fz(i5,i6).a(2,2)
        l1_56f(i5,i6).b(1,2)=l1_56fz(i5,i6).b(1,2)
        l1_56f(i5,i6).b(2,1)=l1_56fz(i5,i6).b(2,1)
        l1_56f(i5,i6).c(1,2)=l1_56fz(i5,i6).c(1,2)
        l1_56f(i5,i6).c(2,1)=l1_56fz(i5,i6).c(2,1)
        l1_56f(i5,i6).d(1,1)=l1_56fz(i5,i6).d(1,1)
        l1_56f(i5,i6).d(2,2)=l1_56fz(i5,i6).d(2,2)
        enddo
	enddo
      ENDIF !izg
*endel2
*****attaccamento di  c56z(2) a 1 (e+)
      do i5=1,2
      do i6=1,2
* T -- qu=p1,qd=p156,v=c56z(i5,i6).e,a=l1_56fz(i5,i6).a,b=l1_56fz(i5,i6).b,
* c=l1_56fz(i5,i6).c,d=l1_56fz(i5,i6).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c56z(i5,i6).ek0*(p1(2)*p156(3)-p156(2)*p1(3))+p1k0
     & *(c56z(i5,i6).e(2)*p156(3)-p156(2)*c56z(i5,i6).e(3))-p156
     & k0*(c56z(i5,i6).e(2)*p1(3)-p1(2)*c56z(i5,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c56z(i5,i6).e(3)*p1k0+p1(3)*c56z(i5,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c56z(i5,i6).e(3)*p156k0+p156(3)*c56z(i5,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c56z(i5,i6).e(0)*p1(0)-c56z(i5,i6).e(1)*p1(1)-c56z(i5
     & ,i6).e(2)*p1(2)-c56z(i5,i6).e(3)*p1(3)
      cvqd=c56z(i5,i6).e(0)*p156(0)-c56z(i5,i6).e(1)*p156(1)-c56
     & z(i5,i6).e(2)*p156(2)-c56z(i5,i6).e(3)*p156(3)
      cauxa=-c56z(i5,i6).ek0*quqd+p1k0*cvqd+p156k0*cvqu
      cauxb=-c56z(i5,i6).ek0*p156(2)+p156k0*c56z(i5,i6).e(2)
      cauxc=+c56z(i5,i6).ek0*p1(2)-p1k0*c56z(i5,i6).e(2)
*el2
      l1_56fz(i5,i6).a(1,1)=(1-inc02)*l1_56fz(i5,i6).a(1,1)+
     & zer*(cauxa+ceps_0)
      l1_56fz(i5,i6).a(2,2)=(1-inc02)*l1_56fz(i5,i6).a(2,2)+
     & zel*(cauxa-ceps_0)
      l1_56fz(i5,i6).b(1,2)=(1-inc02)*l1_56fz(i5,i6).b(1,2)+
     & zel*(cauxb-ceps_2)
      l1_56fz(i5,i6).b(2,1)=(1-inc02)*l1_56fz(i5,i6).b(2,1)+
     & zer*(-cauxb-ceps_2)
      l1_56fz(i5,i6).c(1,2)=(1-inc02)*l1_56fz(i5,i6).c(1,2)+
     & zer*(cauxc+ceps_1)
      l1_56fz(i5,i6).c(2,1)=(1-inc02)*l1_56fz(i5,i6).c(2,1)+
     & zel*(-cauxc+ceps_1)
      l1_56fz(i5,i6).d(1,1)=(1-inc02)*l1_56fz(i5,i6).d(1,1)+
     & zel*c56z(i5,i6).ek0
      l1_56fz(i5,i6).d(2,2)=(1-inc02)*l1_56fz(i5,i6).d(2,2)+
     & zer*c56z(i5,i6).ek0
      IF(izz.EQ.-1.OR.izg.NE.0.OR.izg34.NE.0)THEN
      l1_56z(i5,i6).a(1,1)=zer*(cauxa+ceps_0)
      l1_56z(i5,i6).a(2,2)=zel*(cauxa-ceps_0)
      l1_56z(i5,i6).b(1,2)=zel*(cauxb-ceps_2)
      l1_56z(i5,i6).b(2,1)=zer*(-cauxb-ceps_2)
      l1_56z(i5,i6).c(1,2)=zer*(cauxc+ceps_1)
      l1_56z(i5,i6).c(2,1)=zel*(-cauxc+ceps_1)
      l1_56z(i5,i6).d(1,1)=zel*c56z(i5,i6).ek0
      l1_56z(i5,i6).d(2,2)=zer*c56z(i5,i6).ek0
      ENDIF !izz
*endel2
      end do
      end do
*****attaccamento di  c56f(2) a 2 (e-)
* quqd -- p=p134,q=p2
      quqd=p134(0)*p2(0)-p134(1)*p2(1)-p134(2)*p2(2)-p134(3)*p2(
     & 3)
*el2
      IF(izz.NE.1.AND.izg34.NE.1)THEN
      do i5=1,2
      do i6=1,2
* T -- qu=p134,qd=p2,v=c56f(i5,i6).e,a=r2_56fz(i5,i6).a,b=r2_56fz(i5,i6).b,
* c=r2_56fz(i5,i6).c,d=r2_56fz(i5,i6).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c56f(i5,i6).ek0*(p134(2)*p2(3)-p2(2)*p134(3))+p134
     & k0*(c56f(i5,i6).e(2)*p2(3)-p2(2)*c56f(i5,i6).e(3))-p2k0*(
     & c56f(i5,i6).e(2)*p134(3)-p134(2)*c56f(i5,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c56f(i5,i6).e(3)*p134k0+p134(3)*c56f(i5,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c56f(i5,i6).e(3)*p2k0+p2(3)*c56f(i5,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c56f(i5,i6).e(0)*p134(0)-c56f(i5,i6).e(1)*p134(1)-c56
     & f(i5,i6).e(2)*p134(2)-c56f(i5,i6).e(3)*p134(3)
      cvqd=c56f(i5,i6).e(0)*p2(0)-c56f(i5,i6).e(1)*p2(1)-c56f(i5
     & ,i6).e(2)*p2(2)-c56f(i5,i6).e(3)*p2(3)
      cauxa=-c56f(i5,i6).ek0*quqd+p134k0*cvqd+p2k0*cvqu
      cauxb=-c56f(i5,i6).ek0*p2(2)+p2k0*c56f(i5,i6).e(2)
      cauxc=+c56f(i5,i6).ek0*p134(2)-p134k0*c56f(i5,i6).e(2)
      r2_56fz(i5,i6).a(1,1)=fer*(cauxa+ceps_0)
      r2_56fz(i5,i6).a(2,2)=fel*(cauxa-ceps_0)
      r2_56fz(i5,i6).b(1,2)=fel*(cauxb-ceps_2)
      r2_56fz(i5,i6).b(2,1)=fer*(-cauxb-ceps_2)
      r2_56fz(i5,i6).c(1,2)=fer*(cauxc+ceps_1)
      r2_56fz(i5,i6).c(2,1)=fel*(-cauxc+ceps_1)
      r2_56fz(i5,i6).d(1,1)=fel*c56f(i5,i6).ek0
      r2_56fz(i5,i6).d(2,2)=fer*c56f(i5,i6).ek0
      end do
      end do
      ENDIF !izz
      IF(izg.NE.0.OR.izg56.NE.0)THEN
        do i5=1,2
        do i6=1,2
        r2_56f(i5,i6).a(1,1)=r2_56fz(i5,i6).a(1,1)
        r2_56f(i5,i6).a(2,2)=r2_56fz(i5,i6).a(2,2)
        r2_56f(i5,i6).b(1,2)=r2_56fz(i5,i6).b(1,2)
        r2_56f(i5,i6).b(2,1)=r2_56fz(i5,i6).b(2,1)
        r2_56f(i5,i6).c(1,2)=r2_56fz(i5,i6).c(1,2)
        r2_56f(i5,i6).c(2,1)=r2_56fz(i5,i6).c(2,1)
        r2_56f(i5,i6).d(1,1)=r2_56fz(i5,i6).d(1,1)
        r2_56f(i5,i6).d(2,2)=r2_56fz(i5,i6).d(2,2)
        end do
        end do
      ENDIF !izg
*endel2
*****attaccamento di  c56z(2) a 2 (e-)
      do i5=1,2
      do i6=1,2
* T -- qu=p134,qd=p2,v=c56z(i5,i6).e,a=r2_56fz(i5,i6).a,b=r2_56fz(i5,i6).b,
* c=r2_56fz(i5,i6).c,d=r2_56fz(i5,i6).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c56z(i5,i6).ek0*(p134(2)*p2(3)-p2(2)*p134(3))+p134
     & k0*(c56z(i5,i6).e(2)*p2(3)-p2(2)*c56z(i5,i6).e(3))-p2k0*(
     & c56z(i5,i6).e(2)*p134(3)-p134(2)*c56z(i5,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c56z(i5,i6).e(3)*p134k0+p134(3)*c56z(i5,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c56z(i5,i6).e(3)*p2k0+p2(3)*c56z(i5,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c56z(i5,i6).e(0)*p134(0)-c56z(i5,i6).e(1)*p134(1)-c56
     & z(i5,i6).e(2)*p134(2)-c56z(i5,i6).e(3)*p134(3)
      cvqd=c56z(i5,i6).e(0)*p2(0)-c56z(i5,i6).e(1)*p2(1)-c56z(i5
     & ,i6).e(2)*p2(2)-c56z(i5,i6).e(3)*p2(3)
      cauxa=-c56z(i5,i6).ek0*quqd+p134k0*cvqd+p2k0*cvqu
      cauxb=-c56z(i5,i6).ek0*p2(2)+p2k0*c56z(i5,i6).e(2)
      cauxc=+c56z(i5,i6).ek0*p134(2)-p134k0*c56z(i5,i6).e(2)
*el2
      r2_56fz(i5,i6).a(1,1)=(1-inc02)*r2_56fz(i5,i6).a(1,1)+
     & zer*(cauxa+ceps_0)
      r2_56fz(i5,i6).a(2,2)=(1-inc02)*r2_56fz(i5,i6).a(2,2)+
     & zel*(cauxa-ceps_0)
      r2_56fz(i5,i6).b(1,2)=(1-inc02)*r2_56fz(i5,i6).b(1,2)+
     & zel*(cauxb-ceps_2)
      r2_56fz(i5,i6).b(2,1)=(1-inc02)*r2_56fz(i5,i6).b(2,1)+
     & zer*(-cauxb-ceps_2)
      r2_56fz(i5,i6).c(1,2)=(1-inc02)*r2_56fz(i5,i6).c(1,2)+
     & zer*(cauxc+ceps_1)
      r2_56fz(i5,i6).c(2,1)=(1-inc02)*r2_56fz(i5,i6).c(2,1)+
     & zel*(-cauxc+ceps_1)
      r2_56fz(i5,i6).d(1,1)=(1-inc02)*r2_56fz(i5,i6).d(1,1)+
     & zel*c56z(i5,i6).ek0
      r2_56fz(i5,i6).d(2,2)=(1-inc02)*r2_56fz(i5,i6).d(2,2)+
     & zer*c56z(i5,i6).ek0
      IF(izz.EQ.-1.OR.izg.NE.0.OR.izg34.NE.0)THEN
      r2_56z(i5,i6).a(1,1)=zer*(cauxa+ceps_0) 
      r2_56z(i5,i6).a(2,2)=zel*(cauxa-ceps_0) 
      r2_56z(i5,i6).b(1,2)=zel*(cauxb-ceps_2) 
      r2_56z(i5,i6).b(2,1)=zer*(-cauxb-ceps_2)
      r2_56z(i5,i6).c(1,2)=zer*(cauxc+ceps_1)
      r2_56z(i5,i6).c(2,1)=zel*(-cauxc+ceps_1)
      r2_56z(i5,i6).d(1,1)=zel*c56z(i5,i6).ek0
      r2_56z(i5,i6).d(2,2)=zer*c56z(i5,i6).ek0
      ENDIF !izz
*endel2
      end do
      end do
*el2
      IF(izz.NE.1.AND.izg.NE.1.AND.izg34.NE.1.AND.izg56.NE.1.
     &   AND.inc08.NE.1)THEN
*endel2
*****attaccamento di  c34f a 5
* quqd -- p=p5,q=p345
      quqd=p5(0)*p345(0)-p5(1)*p345(1)-p5(2)*p345(2)-p5(3)*p345(
     & 3)
      do i3=1,2
      do i4=1,2
* T -- qu=p5,qd=p345,v=c34f(i3,i4).e,a=l5_34f(i3,i4).a,b=l5_34f(i3,i4).b,c=
* l5_34f(i3,i4).c,d=l5_34f(i3,i4).d,cr=f5r,cl=f5l,nsum=0
      ceps_0=-c34f(i3,i4).ek0*(p5(2)*p345(3)-p345(2)*p5(3))+p5k0
     & *(c34f(i3,i4).e(2)*p345(3)-p345(2)*c34f(i3,i4).e(3))-p345
     & k0*(c34f(i3,i4).e(2)*p5(3)-p5(2)*c34f(i3,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c34f(i3,i4).e(3)*p5k0+p5(3)*c34f(i3,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c34f(i3,i4).e(3)*p345k0+p345(3)*c34f(i3,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c34f(i3,i4).e(0)*p5(0)-c34f(i3,i4).e(1)*p5(1)-c34f(i3
     & ,i4).e(2)*p5(2)-c34f(i3,i4).e(3)*p5(3)
      cvqd=c34f(i3,i4).e(0)*p345(0)-c34f(i3,i4).e(1)*p345(1)-c34
     & f(i3,i4).e(2)*p345(2)-c34f(i3,i4).e(3)*p345(3)
      cauxa=-c34f(i3,i4).ek0*quqd+p5k0*cvqd+p345k0*cvqu
      cauxb=-c34f(i3,i4).ek0*p345(2)+p345k0*c34f(i3,i4).e(2)
      cauxc=+c34f(i3,i4).ek0*p5(2)-p5k0*c34f(i3,i4).e(2)
      l5_34f(i3,i4).a(1,1)=f5r*(cauxa+ceps_0)
      l5_34f(i3,i4).a(2,2)=f5l*(cauxa-ceps_0)
      l5_34f(i3,i4).b(1,2)=f5l*(cauxb-ceps_2)
      l5_34f(i3,i4).b(2,1)=f5r*(-cauxb-ceps_2)
      l5_34f(i3,i4).c(1,2)=f5r*(cauxc+ceps_1)
      l5_34f(i3,i4).c(2,1)=f5l*(-cauxc+ceps_1)
      l5_34f(i3,i4).d(1,1)=f5l*c34f(i3,i4).ek0
      l5_34f(i3,i4).d(2,2)=f5r*c34f(i3,i4).ek0
      end do
      end do
*****attaccamento di  c34z a 5
      do i3=1,2
      do i4=1,2
* T -- qu=p5,qd=p345,v=c34z(i3,i4).e,a=l5_34fz(i3,i4).a,b=l5_34fz(i3,i4).b,
* c=l5_34fz(i3,i4).c,d=l5_34fz(i3,i4).d,cr=z5r,cl=z5l,nsum=0
      ceps_0=-c34z(i3,i4).ek0*(p5(2)*p345(3)-p345(2)*p5(3))+p5k0
     & *(c34z(i3,i4).e(2)*p345(3)-p345(2)*c34z(i3,i4).e(3))-p345
     & k0*(c34z(i3,i4).e(2)*p5(3)-p5(2)*c34z(i3,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c34z(i3,i4).e(3)*p5k0+p5(3)*c34z(i3,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c34z(i3,i4).e(3)*p345k0+p345(3)*c34z(i3,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c34z(i3,i4).e(0)*p5(0)-c34z(i3,i4).e(1)*p5(1)-c34z(i3
     & ,i4).e(2)*p5(2)-c34z(i3,i4).e(3)*p5(3)
      cvqd=c34z(i3,i4).e(0)*p345(0)-c34z(i3,i4).e(1)*p345(1)-c34
     & z(i3,i4).e(2)*p345(2)-c34z(i3,i4).e(3)*p345(3)
      cauxa=-c34z(i3,i4).ek0*quqd+p5k0*cvqd+p345k0*cvqu
      cauxb=-c34z(i3,i4).ek0*p345(2)+p345k0*c34z(i3,i4).e(2)
      cauxc=+c34z(i3,i4).ek0*p5(2)-p5k0*c34z(i3,i4).e(2)
      l5_34fz(i3,i4).a(1,1)=z5r*(cauxa+ceps_0)
      l5_34fz(i3,i4).a(2,2)=z5l*(cauxa-ceps_0)
      l5_34fz(i3,i4).b(1,2)=z5l*(cauxb-ceps_2)
      l5_34fz(i3,i4).b(2,1)=z5r*(-cauxb-ceps_2)
      l5_34fz(i3,i4).c(1,2)=z5r*(cauxc+ceps_1)
      l5_34fz(i3,i4).c(2,1)=z5l*(-cauxc+ceps_1)
      l5_34fz(i3,i4).d(1,1)=z5l*c34z(i3,i4).ek0
      l5_34fz(i3,i4).d(2,2)=z5r*c34z(i3,i4).ek0
      end do
      end do
* sommare o usare phact6?
      do i3=1,2
       do i4=1,2
        do ii=1,2
         do jj=1,2
          l5_34fz(i3,i4).a(ii,jj)=l5_34fz(i3,i4).a(ii,jj)+
     &      l5_34f(i3,i4).a(ii,jj)
          l5_34fz(i3,i4).b(ii,jj)=l5_34fz(i3,i4).b(ii,jj)+
     &      l5_34f(i3,i4).b(ii,jj)
          l5_34fz(i3,i4).c(ii,jj)=l5_34fz(i3,i4).c(ii,jj)+
     &      l5_34f(i3,i4).c(ii,jj)
          l5_34fz(i3,i4).d(ii,jj)=l5_34fz(i3,i4).d(ii,jj)+
     &      l5_34f(i3,i4).d(ii,jj)
         end do
        end do
       end do
      end do
*****attaccamento di  c34f a 6
* quqd -- p=p125,q=p6
      quqd=p125(0)*p6(0)-p125(1)*p6(1)-p125(2)*p6(2)-p125(3)*p6(
     & 3)
      do i3=1,2
      do i4=1,2
* T -- qu=p125,qd=p6,v=c34f(i3,i4).e,a=r6_34f(i3,i4).a,b=r6_34f(i3,i4).b,c=
* r6_34f(i3,i4).c,d=r6_34f(i3,i4).d,cr=f6r,cl=f6l,nsum=0
      ceps_0=-c34f(i3,i4).ek0*(p125(2)*p6(3)-p6(2)*p125(3))+p125
     & k0*(c34f(i3,i4).e(2)*p6(3)-p6(2)*c34f(i3,i4).e(3))-p6k0*(
     & c34f(i3,i4).e(2)*p125(3)-p125(2)*c34f(i3,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c34f(i3,i4).e(3)*p125k0+p125(3)*c34f(i3,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c34f(i3,i4).e(3)*p6k0+p6(3)*c34f(i3,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c34f(i3,i4).e(0)*p125(0)-c34f(i3,i4).e(1)*p125(1)-c34
     & f(i3,i4).e(2)*p125(2)-c34f(i3,i4).e(3)*p125(3)
      cvqd=c34f(i3,i4).e(0)*p6(0)-c34f(i3,i4).e(1)*p6(1)-c34f(i3
     & ,i4).e(2)*p6(2)-c34f(i3,i4).e(3)*p6(3)
      cauxa=-c34f(i3,i4).ek0*quqd+p125k0*cvqd+p6k0*cvqu
      cauxb=-c34f(i3,i4).ek0*p6(2)+p6k0*c34f(i3,i4).e(2)
      cauxc=+c34f(i3,i4).ek0*p125(2)-p125k0*c34f(i3,i4).e(2)
      r6_34f(i3,i4).a(1,1)=f6r*(cauxa+ceps_0)
      r6_34f(i3,i4).a(2,2)=f6l*(cauxa-ceps_0)
      r6_34f(i3,i4).b(1,2)=f6l*(cauxb-ceps_2)
      r6_34f(i3,i4).b(2,1)=f6r*(-cauxb-ceps_2)
      r6_34f(i3,i4).c(1,2)=f6r*(cauxc+ceps_1)
      r6_34f(i3,i4).c(2,1)=f6l*(-cauxc+ceps_1)
      r6_34f(i3,i4).d(1,1)=f6l*c34f(i3,i4).ek0
      r6_34f(i3,i4).d(2,2)=f6r*c34f(i3,i4).ek0
      end do
      end do
*****attaccamento di  c34z a 6
      do i3=1,2
      do i4=1,2
* T -- qu=p125,qd=p6,v=c34z(i3,i4).e,a=r6_34fz(i3,i4).a,b=r6_34fz(i3,i4).b,
* c=r6_34fz(i3,i4).c,d=r6_34fz(i3,i4).d,cr=z6r,cl=z6l,nsum=0
      ceps_0=-c34z(i3,i4).ek0*(p125(2)*p6(3)-p6(2)*p125(3))+p125
     & k0*(c34z(i3,i4).e(2)*p6(3)-p6(2)*c34z(i3,i4).e(3))-p6k0*(
     & c34z(i3,i4).e(2)*p125(3)-p125(2)*c34z(i3,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c34z(i3,i4).e(3)*p125k0+p125(3)*c34z(i3,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c34z(i3,i4).e(3)*p6k0+p6(3)*c34z(i3,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c34z(i3,i4).e(0)*p125(0)-c34z(i3,i4).e(1)*p125(1)-c34
     & z(i3,i4).e(2)*p125(2)-c34z(i3,i4).e(3)*p125(3)
      cvqd=c34z(i3,i4).e(0)*p6(0)-c34z(i3,i4).e(1)*p6(1)-c34z(i3
     & ,i4).e(2)*p6(2)-c34z(i3,i4).e(3)*p6(3)
      cauxa=-c34z(i3,i4).ek0*quqd+p125k0*cvqd+p6k0*cvqu
      cauxb=-c34z(i3,i4).ek0*p6(2)+p6k0*c34z(i3,i4).e(2)
      cauxc=+c34z(i3,i4).ek0*p125(2)-p125k0*c34z(i3,i4).e(2)
      r6_34fz(i3,i4).a(1,1)=z6r*(cauxa+ceps_0)
      r6_34fz(i3,i4).a(2,2)=z6l*(cauxa-ceps_0)
      r6_34fz(i3,i4).b(1,2)=z6l*(cauxb-ceps_2)
      r6_34fz(i3,i4).b(2,1)=z6r*(-cauxb-ceps_2)
      r6_34fz(i3,i4).c(1,2)=z6r*(cauxc+ceps_1)
      r6_34fz(i3,i4).c(2,1)=z6l*(-cauxc+ceps_1)
      r6_34fz(i3,i4).d(1,1)=z6l*c34z(i3,i4).ek0
      r6_34fz(i3,i4).d(2,2)=z6r*c34z(i3,i4).ek0
      end do
      end do
      do i3=1,2
       do i4=1,2
        do ii=1,2
         do jj=1,2
          r6_34fz(i3,i4).a(ii,jj)=r6_34fz(i3,i4).a(ii,jj)+
     &      r6_34f(i3,i4).a(ii,jj)
          r6_34fz(i3,i4).b(ii,jj)=r6_34fz(i3,i4).b(ii,jj)+
     &      r6_34f(i3,i4).b(ii,jj)
          r6_34fz(i3,i4).c(ii,jj)=r6_34fz(i3,i4).c(ii,jj)+
     &      r6_34f(i3,i4).c(ii,jj)
          r6_34fz(i3,i4).d(ii,jj)=r6_34fz(i3,i4).d(ii,jj)+
     &      r6_34f(i3,i4).d(ii,jj)
         end do
        end do
       end do
      end do
*el2
      ENDIF !izz
*endel2
*el2
      IF(izg.EQ.0.AND.izg34.NE.1.AND.izg56.NE.1.AND.inc08.NE.-1)THEN
*endel2
**** Diagramma CN1 ****
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
* 5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_34fz(i3,i4).a,b1=l1_34fz(i3,i4).b,c
* 1=l1_34fz(i3,i4).c,d1=l1_34fz(i3,i4).d,a2=r2_56fz(i5,i6).a,b2=r2_56fz(i5,i
* 6).b,c2=r2_56fz(i5,i6).c,d2=r2_56fz(i5,i6).d,prq=p134q,m=rme
      tapptt(i3,i4,i5,i6).a(1,1)=l1_34fz(i3,i4).a(1,1)*r2_56fz(i
     & 5,i6).a(1,1)+l1_34fz(i3,i4).c(1,2)*p134q*r2_56fz(i5,i6).b
     & (2,1)
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_34fz(i3,i4).d(1,1)*r2_5
     & 6fz(i5,i6).a(1,1)+l1_34fz(i3,i4).b(1,2)*r2_56fz(i5,i6).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_34fz(i3,i4).a(1,1)*r2_5
     & 6fz(i5,i6).d(1,1)+l1_34fz(i3,i4).c(1,2)*r2_56fz(i5,i6).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_34fz(i3,i4).d(1,1)*p134q*r2_
     & 56fz(i5,i6).d(1,1)+l1_34fz(i3,i4).b(1,2)*r2_56fz(i5,i6).c
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_34fz(i3,i4).a(1,1)*r2_5
     & 6fz(i5,i6).b(1,2)+l1_34fz(i3,i4).c(1,2)*r2_56fz(i5,i6).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_34fz(i3,i4).d(1,1)*p134q*r2_
     & 56fz(i5,i6).b(1,2)+l1_34fz(i3,i4).b(1,2)*r2_56fz(i5,i6).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_34fz(i3,i4).a(1,1)*r2_56fz(i
     & 5,i6).c(1,2)+l1_34fz(i3,i4).c(1,2)*p134q*r2_56fz(i5,i6).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_34fz(i3,i4).d(1,1)*r2_5
     & 6fz(i5,i6).c(1,2)+l1_34fz(i3,i4).b(1,2)*r2_56fz(i5,i6).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_34fz(i3,i4).c(2,1)*r2_5
     & 6fz(i5,i6).a(1,1)+l1_34fz(i3,i4).a(2,2)*r2_56fz(i5,i6).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_34fz(i3,i4).b(2,1)*r2_56fz(i
     & 5,i6).a(1,1)+l1_34fz(i3,i4).d(2,2)*p134q*r2_56fz(i5,i6).b
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_34fz(i3,i4).c(2,1)*p134q*r2_
     & 56fz(i5,i6).d(1,1)+l1_34fz(i3,i4).a(2,2)*r2_56fz(i5,i6).c
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_34fz(i3,i4).b(2,1)*r2_5
     & 6fz(i5,i6).d(1,1)+l1_34fz(i3,i4).d(2,2)*r2_56fz(i5,i6).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_34fz(i3,i4).c(2,1)*p134q*r2_
     & 56fz(i5,i6).b(1,2)+l1_34fz(i3,i4).a(2,2)*r2_56fz(i5,i6).a
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_34fz(i3,i4).b(2,1)*r2_5
     & 6fz(i5,i6).b(1,2)+l1_34fz(i3,i4).d(2,2)*r2_56fz(i5,i6).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_34fz(i3,i4).c(2,1)*r2_5
     & 6fz(i5,i6).c(1,2)+l1_34fz(i3,i4).a(2,2)*r2_56fz(i5,i6).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).d(2,2)=l1_34fz(i3,i4).b(2,1)*r2_56fz(i
     & 5,i6).c(1,2)+l1_34fz(i3,i4).d(2,2)*p134q*r2_56fz(i5,i6).d
     & (2,2)
      end do
      end do
      end do
      end do
      ENDIF !izg
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn1(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      IF(izg.NE.0.OR.izg34.EQ.1.OR.izg56.EQ.1.OR.inc08.EQ.-1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=czero
      ELSE
c      IF(izg.EQ.0.OR.izg34.NE.1.OR.izg56.NE.1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
c      ELSE
c      cn1(iut,jut,i3,i4,i5,i6).id(ide)=czero
      ENDIF !izg
      enddo
      enddo
      end do
      end do
      end do
      end do
*endel2
*el2
      IF(izz.EQ.-1.OR.izg.EQ.-1)THEN
**** Diagramma CN1 - ZZ contribution****
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT --aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
*5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_34fz(i3,i4).a,b1=l1_34fz(i3,i4).b,c
*1=l1_34fz(i3,i4).c,d1=l1_34fz(i3,i4).d,a2=r2_56fz(i5,i6).a,b2=r2_56fz(i5,i
* 6).b,c2=r2_56fz(i5,i6).c,d2=r2_56fz(i5,i6).d,prq=p134q,m=rme  
      tapptt(i3,i4,i5,i6).a(1,1)=l1_34z(i3,i4).a(1,1)*r2_56z(i
     & 5,i6).a(1,1)+l1_34z(i3,i4).c(1,2)*p134q*r2_56z(i5,i6).b
     & (2,1)
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_34z(i3,i4).d(1,1)*r2_5
     & 6z(i5,i6).a(1,1)+l1_34z(i3,i4).b(1,2)*r2_56z(i5,i6).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_34z(i3,i4).a(1,1)*r2_5
     & 6z(i5,i6).d(1,1)+l1_34z(i3,i4).c(1,2)*r2_56z(i5,i6).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_34z(i3,i4).d(1,1)*p134q*r2_
     & 56z(i5,i6).d(1,1)+l1_34z(i3,i4).b(1,2)*r2_56z(i5,i6).c
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_34z(i3,i4).a(1,1)*r2_5
     & 6z(i5,i6).b(1,2)+l1_34z(i3,i4).c(1,2)*r2_56z(i5,i6).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_34z(i3,i4).d(1,1)*p134q*r2_
     & 56z(i5,i6).b(1,2)+l1_34z(i3,i4).b(1,2)*r2_56z(i5,i6).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_34z(i3,i4).a(1,1)*r2_56z(i
     & 5,i6).c(1,2)+l1_34z(i3,i4).c(1,2)*p134q*r2_56z(i5,i6).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_34z(i3,i4).d(1,1)*r2_5
     & 6z(i5,i6).c(1,2)+l1_34z(i3,i4).b(1,2)*r2_56z(i5,i6).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_34z(i3,i4).c(2,1)*r2_5
     & 6z(i5,i6).a(1,1)+l1_34z(i3,i4).a(2,2)*r2_56z(i5,i6).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_34z(i3,i4).b(2,1)*r2_56z(i
     & 5,i6).a(1,1)+l1_34z(i3,i4).d(2,2)*p134q*r2_56z(i5,i6).b
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_34z(i3,i4).c(2,1)*p134q*r2_
     & 56z(i5,i6).d(1,1)+l1_34z(i3,i4).a(2,2)*r2_56z(i5,i6).c
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_34z(i3,i4).b(2,1)*r2_5
     & 6z(i5,i6).d(1,1)+l1_34z(i3,i4).d(2,2)*r2_56z(i5,i6).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_34z(i3,i4).c(2,1)*p134q*r2_
     & 56z(i5,i6).b(1,2)+l1_34z(i3,i4).a(2,2)*r2_56z(i5,i6).a
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_34z(i3,i4).b(2,1)*r2_5
     & 6z(i5,i6).b(1,2)+l1_34z(i3,i4).d(2,2)*r2_56z(i5,i6).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_34z(i3,i4).c(2,1)*r2_5
     & 6z(i5,i6).c(1,2)+l1_34z(i3,i4).a(2,2)*r2_56z(i5,i6).d(
     & 2,2))   
      tapptt(i3,i4,i5,i6).d(2,2)=l1_34z(i3,i4).b(2,1)*r2_56z(i
     & 5,i6).c(1,2)+l1_34z(i3,i4).d(2,2)*p134q*r2_56z(i5,i6).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline --res=cn1(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      IF(izz.EQ.-1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=cn1(iut,jut,i3,i4,i5,i6).id(ide)
     & -(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
      ELSE IF(izg.EQ.-1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
      ENDIF
      enddo
      enddo
      end do  
      end do
      end do
      end do
      IF(izg.EQ.-1)THEN
**** Diagramma CN1 - ff contribution****
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT --aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
*5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_34fz(i3,i4).a,b1=l1_34fz(i3,i4).b,c
*1=l1_34fz(i3,i4).c,d1=l1_34fz(i3,i4).d,a2=r2_56fz(i5,i6).a,b2=r2_56fz(i5,i
* 6).b,c2=r2_56fz(i5,i6).c,d2=r2_56fz(i5,i6).d,prq=p134q,m=rme 
      tapptt(i3,i4,i5,i6).a(1,1)=l1_34f(i3,i4).a(1,1)*r2_56f(i
     & 5,i6).a(1,1)+l1_34f(i3,i4).c(1,2)*p134q*r2_56f(i5,i6).b
     & (2,1)
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_34f(i3,i4).d(1,1)*r2_5
     & 6f(i5,i6).a(1,1)+l1_34f(i3,i4).b(1,2)*r2_56f(i5,i6).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_34f(i3,i4).a(1,1)*r2_5
     & 6f(i5,i6).d(1,1)+l1_34f(i3,i4).c(1,2)*r2_56f(i5,i6).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_34f(i3,i4).d(1,1)*p134q*r2_
     & 56f(i5,i6).d(1,1)+l1_34f(i3,i4).b(1,2)*r2_56f(i5,i6).c
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_34f(i3,i4).a(1,1)*r2_5
     & 6f(i5,i6).b(1,2)+l1_34f(i3,i4).c(1,2)*r2_56f(i5,i6).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_34f(i3,i4).d(1,1)*p134q*r2_
     & 56f(i5,i6).b(1,2)+l1_34f(i3,i4).b(1,2)*r2_56f(i5,i6).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_34f(i3,i4).a(1,1)*r2_56f(i
     & 5,i6).c(1,2)+l1_34f(i3,i4).c(1,2)*p134q*r2_56f(i5,i6).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_34f(i3,i4).d(1,1)*r2_5
     & 6f(i5,i6).c(1,2)+l1_34f(i3,i4).b(1,2)*r2_56f(i5,i6).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_34f(i3,i4).c(2,1)*r2_5
     & 6f(i5,i6).a(1,1)+l1_34f(i3,i4).a(2,2)*r2_56f(i5,i6).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_34f(i3,i4).b(2,1)*r2_56f(i
     & 5,i6).a(1,1)+l1_34f(i3,i4).d(2,2)*p134q*r2_56f(i5,i6).b
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_34f(i3,i4).c(2,1)*p134q*r2_
     & 56f(i5,i6).d(1,1)+l1_34f(i3,i4).a(2,2)*r2_56f(i5,i6).c
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_34f(i3,i4).b(2,1)*r2_5
     & 6f(i5,i6).d(1,1)+l1_34f(i3,i4).d(2,2)*r2_56f(i5,i6).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_34f(i3,i4).c(2,1)*p134q*r2_
     & 56f(i5,i6).b(1,2)+l1_34f(i3,i4).a(2,2)*r2_56f(i5,i6).a
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_34f(i3,i4).b(2,1)*r2_5
     & 6f(i5,i6).b(1,2)+l1_34f(i3,i4).d(2,2)*r2_56f(i5,i6).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_34f(i3,i4).c(2,1)*r2_5
     & 6f(i5,i6).c(1,2)+l1_34f(i3,i4).a(2,2)*r2_56f(i5,i6).d(
     & 2,2))   
      tapptt(i3,i4,i5,i6).d(2,2)=l1_34f(i3,i4).b(2,1)*r2_56f(i
     & 5,i6).c(1,2)+l1_34f(i3,i4).d(2,2)*p134q*r2_56f(i5,i6).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline --res=cn1(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=cn1(iut,jut,i3,i4,i5,i6).id(ide)+
     & (tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
      enddo
      enddo
      end do
      end do
      end do
      end do 
      ENDIF !izg
      ENDIF !izz and izg
      IF(izg.EQ.1.OR.izg34.NE.0.OR.izg56.NE.0)THEN
      IF(izg.EQ.1.OR.izg34.NE.0)THEN
**** Diagramma CN1 - fz+zf contribution****
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT --aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
*5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_34fz(i3,i4).a,b1=l1_34fz(i3,i4).b,c
*1=l1_34fz(i3,i4).c,d1=l1_34fz(i3,i4).d,a2=r2_56fz(i5,i6).a,b2=r2_56fz(i5,i
* 6).b,c2=r2_56fz(i5,i6).c,d2=r2_56fz(i5,i6).d,prq=p134q,m=rme 
      tapptt(i3,i4,i5,i6).a(1,1)=l1_34f(i3,i4).a(1,1)*r2_56z(i
     & 5,i6).a(1,1)+l1_34f(i3,i4).c(1,2)*p134q*r2_56z(i5,i6).b
     & (2,1)
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_34f(i3,i4).d(1,1)*r2_5
     & 6z(i5,i6).a(1,1)+l1_34f(i3,i4).b(1,2)*r2_56z(i5,i6).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_34f(i3,i4).a(1,1)*r2_5
     & 6z(i5,i6).d(1,1)+l1_34f(i3,i4).c(1,2)*r2_56z(i5,i6).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_34f(i3,i4).d(1,1)*p134q*r2_
     & 56z(i5,i6).d(1,1)+l1_34f(i3,i4).b(1,2)*r2_56z(i5,i6).c 
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_34f(i3,i4).a(1,1)*r2_5
     & 6z(i5,i6).b(1,2)+l1_34f(i3,i4).c(1,2)*r2_56z(i5,i6).a(  
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_34f(i3,i4).d(1,1)*p134q*r2_
     & 56z(i5,i6).b(1,2)+l1_34f(i3,i4).b(1,2)*r2_56z(i5,i6).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_34f(i3,i4).a(1,1)*r2_56z(i
     & 5,i6).c(1,2)+l1_34f(i3,i4).c(1,2)*p134q*r2_56z(i5,i6).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_34f(i3,i4).d(1,1)*r2_5
     & 6z(i5,i6).c(1,2)+l1_34f(i3,i4).b(1,2)*r2_56z(i5,i6).d(  
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_34f(i3,i4).c(2,1)*r2_5
     & 6z(i5,i6).a(1,1)+l1_34f(i3,i4).a(2,2)*r2_56z(i5,i6).b(  
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_34f(i3,i4).b(2,1)*r2_56z(i
     & 5,i6).a(1,1)+l1_34f(i3,i4).d(2,2)*p134q*r2_56z(i5,i6).b 
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_34f(i3,i4).c(2,1)*p134q*r2_
     & 56z(i5,i6).d(1,1)+l1_34f(i3,i4).a(2,2)*r2_56z(i5,i6).c  
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_34f(i3,i4).b(2,1)*r2_5
     & 6z(i5,i6).d(1,1)+l1_34f(i3,i4).d(2,2)*r2_56z(i5,i6).c(  
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_34f(i3,i4).c(2,1)*p134q*r2_
     & 56z(i5,i6).b(1,2)+l1_34f(i3,i4).a(2,2)*r2_56z(i5,i6).a 
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_34f(i3,i4).b(2,1)*r2_5
     & 6z(i5,i6).b(1,2)+l1_34f(i3,i4).d(2,2)*r2_56z(i5,i6).a(  
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_34f(i3,i4).c(2,1)*r2_5
     & 6z(i5,i6).c(1,2)+l1_34f(i3,i4).a(2,2)*r2_56z(i5,i6).d(  
     & 2,2))
      tapptt(i3,i4,i5,i6).d(2,2)=l1_34f(i3,i4).b(2,1)*r2_56z(i
     & 5,i6).c(1,2)+l1_34f(i3,i4).d(2,2)*p134q*r2_56z(i5,i6).d 
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline --res=cn1(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      IF(izg.EQ.1.OR.izg34.EQ.1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
      ELSE IF(izg34.EQ.-1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=cn1(iut,jut,i3,i4,i5,i6).id(ide)
     & -(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
      ENDIF !izg and izg34
      enddo
      enddo
      end do   
      end do   
      end do   
      end do
      ENDIF !izg and izg34
      IF(izg.EQ.1.OR.izg56.NE.0)THEN
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT --aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
*5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_34fz(i3,i4).a,b1=l1_34fz(i3,i4).b,c
*1=l1_34fz(i3,i4).c,d1=l1_34fz(i3,i4).d,a2=r2_56fz(i5,i6).a,b2=r2_56fz(i5,i
* 6).b,c2=r2_56fz(i5,i6).c,d2=r2_56fz(i5,i6).d,prq=p134q,m=rme
      tapptt(i3,i4,i5,i6).a(1,1)=l1_34z(i3,i4).a(1,1)*r2_56f(i
     & 5,i6).a(1,1)+l1_34z(i3,i4).c(1,2)*p134q*r2_56f(i5,i6).b
     & (2,1)   
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_34z(i3,i4).d(1,1)*r2_5
     & 6f(i5,i6).a(1,1)+l1_34z(i3,i4).b(1,2)*r2_56f(i5,i6).b(
     & 2,1))   
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_34z(i3,i4).a(1,1)*r2_5
     & 6f(i5,i6).d(1,1)+l1_34z(i3,i4).c(1,2)*r2_56f(i5,i6).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_34z(i3,i4).d(1,1)*p134q*r2_
     & 56f(i5,i6).d(1,1)+l1_34z(i3,i4).b(1,2)*r2_56f(i5,i6).c 
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_34z(i3,i4).a(1,1)*r2_5
     & 6f(i5,i6).b(1,2)+l1_34z(i3,i4).c(1,2)*r2_56f(i5,i6).a(  
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_34z(i3,i4).d(1,1)*p134q*r2_
     & 56f(i5,i6).b(1,2)+l1_34z(i3,i4).b(1,2)*r2_56f(i5,i6).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_34z(i3,i4).a(1,1)*r2_56f(i
     & 5,i6).c(1,2)+l1_34z(i3,i4).c(1,2)*p134q*r2_56f(i5,i6).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_34z(i3,i4).d(1,1)*r2_5
     & 6f(i5,i6).c(1,2)+l1_34z(i3,i4).b(1,2)*r2_56f(i5,i6).d(  
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_34z(i3,i4).c(2,1)*r2_5
     & 6f(i5,i6).a(1,1)+l1_34z(i3,i4).a(2,2)*r2_56f(i5,i6).b(  
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_34z(i3,i4).b(2,1)*r2_56f(i
     & 5,i6).a(1,1)+l1_34z(i3,i4).d(2,2)*p134q*r2_56f(i5,i6).b 
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_34z(i3,i4).c(2,1)*p134q*r2_
     & 56f(i5,i6).d(1,1)+l1_34z(i3,i4).a(2,2)*r2_56f(i5,i6).c  
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_34z(i3,i4).b(2,1)*r2_5
     & 6f(i5,i6).d(1,1)+l1_34z(i3,i4).d(2,2)*r2_56f(i5,i6).c(  
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_34z(i3,i4).c(2,1)*p134q*r2_
     & 56f(i5,i6).b(1,2)+l1_34z(i3,i4).a(2,2)*r2_56f(i5,i6).a 
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_34z(i3,i4).b(2,1)*r2_5
     & 6f(i5,i6).b(1,2)+l1_34z(i3,i4).d(2,2)*r2_56f(i5,i6).a(  
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_34z(i3,i4).c(2,1)*r2_5
     & 6f(i5,i6).c(1,2)+l1_34z(i3,i4).a(2,2)*r2_56f(i5,i6).d(  
     & 2,2))
      tapptt(i3,i4,i5,i6).d(2,2)=l1_34z(i3,i4).b(2,1)*r2_56f(i
     & 5,i6).c(1,2)+l1_34z(i3,i4).d(2,2)*p134q*r2_56f(i5,i6).d 
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline --res=cn1(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      IF(izg.EQ.1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=cn1(iut,jut,i3,i4,i5,i6).id(ide)+
     & (tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
      ELSE IF(izg56.EQ.1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
      ELSE IF(izg56.EQ.-1)THEN
      cn1(iut,jut,i3,i4,i5,i6).id(ide)=cn1(iut,jut,i3,i4,i5,i6).id(ide)
     & -(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p134q-rme**2)*p134k0)
      ENDIF !izg and izg56
      enddo
      enddo
      end do
      end do
      end do
      end do
      ENDIF !izg and izg56
      ENDIF !izg and izg34 and izg56
*endel2
*el2
      IF(izg.EQ.0.AND.izg34.NE.1.AND.izg56.NE.1.AND.inc08.NE.-1)THEN
*endel2
**** Diagramma CN2 ****
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
* 5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_56fz(i5,i6).a,b1=l1_56fz(i5,i6).b,c
* 1=l1_56fz(i5,i6).c,d1=l1_56fz(i5,i6).d,a2=r2_34fz(i3,i4).a,b2=r2_34fz(i3,i
* 4).b,c2=r2_34fz(i3,i4).c,d2=r2_34fz(i3,i4).d,prq=p156q,m=rme
      tapptt(i3,i4,i5,i6).a(1,1)=l1_56fz(i5,i6).a(1,1)*r2_34fz(i
     & 3,i4).a(1,1)+l1_56fz(i5,i6).c(1,2)*p156q*r2_34fz(i3,i4).b
     & (2,1)
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_56fz(i5,i6).d(1,1)*r2_3
     & 4fz(i3,i4).a(1,1)+l1_56fz(i5,i6).b(1,2)*r2_34fz(i3,i4).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_56fz(i5,i6).a(1,1)*r2_3
     & 4fz(i3,i4).d(1,1)+l1_56fz(i5,i6).c(1,2)*r2_34fz(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_56fz(i5,i6).d(1,1)*p156q*r2_
     & 34fz(i3,i4).d(1,1)+l1_56fz(i5,i6).b(1,2)*r2_34fz(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_56fz(i5,i6).a(1,1)*r2_3
     & 4fz(i3,i4).b(1,2)+l1_56fz(i5,i6).c(1,2)*r2_34fz(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_56fz(i5,i6).d(1,1)*p156q*r2_
     & 34fz(i3,i4).b(1,2)+l1_56fz(i5,i6).b(1,2)*r2_34fz(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_56fz(i5,i6).a(1,1)*r2_34fz(i
     & 3,i4).c(1,2)+l1_56fz(i5,i6).c(1,2)*p156q*r2_34fz(i3,i4).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_56fz(i5,i6).d(1,1)*r2_3
     & 4fz(i3,i4).c(1,2)+l1_56fz(i5,i6).b(1,2)*r2_34fz(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_56fz(i5,i6).c(2,1)*r2_3
     & 4fz(i3,i4).a(1,1)+l1_56fz(i5,i6).a(2,2)*r2_34fz(i3,i4).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_56fz(i5,i6).b(2,1)*r2_34fz(i
     & 3,i4).a(1,1)+l1_56fz(i5,i6).d(2,2)*p156q*r2_34fz(i3,i4).b
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_56fz(i5,i6).c(2,1)*p156q*r2_
     & 34fz(i3,i4).d(1,1)+l1_56fz(i5,i6).a(2,2)*r2_34fz(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_56fz(i5,i6).b(2,1)*r2_3
     & 4fz(i3,i4).d(1,1)+l1_56fz(i5,i6).d(2,2)*r2_34fz(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_56fz(i5,i6).c(2,1)*p156q*r2_
     & 34fz(i3,i4).b(1,2)+l1_56fz(i5,i6).a(2,2)*r2_34fz(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_56fz(i5,i6).b(2,1)*r2_3
     & 4fz(i3,i4).b(1,2)+l1_56fz(i5,i6).d(2,2)*r2_34fz(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_56fz(i5,i6).c(2,1)*r2_3
     & 4fz(i3,i4).c(1,2)+l1_56fz(i5,i6).a(2,2)*r2_34fz(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).d(2,2)=l1_56fz(i5,i6).b(2,1)*r2_34fz(i
     & 3,i4).c(1,2)+l1_56fz(i5,i6).d(2,2)*p156q*r2_34fz(i3,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      ENDIF !izg and izg34 and izg56
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn2(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      IF(izg.NE.0.OR.izg34.EQ.1.OR.izg56.EQ.1.OR.inc08.EQ.-1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=czero
      ELSE
c      IF(izg.EQ.0.OR.izg34.NE.1.OR.izg56.NE.1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
c      ELSE
c      cn2(iut,jut,i3,i4,i5,i6).id(ide)=czero
      ENDIF !izg
      enddo
      enddo
      end do
      end do
      end do
      end do
*el2
      IF(izz.EQ.-1.OR.izg.EQ.-1)THEN
**** Diagramma CN2 - ZZ contribution ****
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT --aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
*5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_56fz(i5,i6).a,b1=l1_56fz(i5,i6).b,c
*1=l1_56fz(i5,i6).c,d1=l1_56fz(i5,i6).d,a2=r2_34fz(i3,i4).a,b2=r2_34fz(i3,i
* 4).b,c2=r2_34fz(i3,i4).c,d2=r2_34fz(i3,i4).d,prq=p156q,m=rme  
      tapptt(i3,i4,i5,i6).a(1,1)=l1_56z(i5,i6).a(1,1)*r2_34z(i
     & 3,i4).a(1,1)+l1_56z(i5,i6).c(1,2)*p156q*r2_34z(i3,i4).b
     & (2,1)
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_56z(i5,i6).d(1,1)*r2_3
     & 4z(i3,i4).a(1,1)+l1_56z(i5,i6).b(1,2)*r2_34z(i3,i4).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_56z(i5,i6).a(1,1)*r2_3
     & 4z(i3,i4).d(1,1)+l1_56z(i5,i6).c(1,2)*r2_34z(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_56z(i5,i6).d(1,1)*p156q*r2_
     & 34z(i3,i4).d(1,1)+l1_56z(i5,i6).b(1,2)*r2_34z(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_56z(i5,i6).a(1,1)*r2_3
     & 4z(i3,i4).b(1,2)+l1_56z(i5,i6).c(1,2)*r2_34z(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_56z(i5,i6).d(1,1)*p156q*r2_
     & 34z(i3,i4).b(1,2)+l1_56z(i5,i6).b(1,2)*r2_34z(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_56z(i5,i6).a(1,1)*r2_34z(i
     & 3,i4).c(1,2)+l1_56z(i5,i6).c(1,2)*p156q*r2_34z(i3,i4).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_56z(i5,i6).d(1,1)*r2_3
     & 4z(i3,i4).c(1,2)+l1_56z(i5,i6).b(1,2)*r2_34z(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_56z(i5,i6).c(2,1)*r2_3
     & 4z(i3,i4).a(1,1)+l1_56z(i5,i6).a(2,2)*r2_34z(i3,i4).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_56z(i5,i6).b(2,1)*r2_34z(i
     & 3,i4).a(1,1)+l1_56z(i5,i6).d(2,2)*p156q*r2_34z(i3,i4).b
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_56z(i5,i6).c(2,1)*p156q*r2_
     & 34z(i3,i4).d(1,1)+l1_56z(i5,i6).a(2,2)*r2_34z(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_56z(i5,i6).b(2,1)*r2_3
     & 4z(i3,i4).d(1,1)+l1_56z(i5,i6).d(2,2)*r2_34z(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_56z(i5,i6).c(2,1)*p156q*r2_
     & 34z(i3,i4).b(1,2)+l1_56z(i5,i6).a(2,2)*r2_34z(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_56z(i5,i6).b(2,1)*r2_3
     & 4z(i3,i4).b(1,2)+l1_56z(i5,i6).d(2,2)*r2_34z(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_56z(i5,i6).c(2,1)*r2_3
     & 4z(i3,i4).c(1,2)+l1_56z(i5,i6).a(2,2)*r2_34z(i3,i4).d(
     & 2,2))   
      tapptt(i3,i4,i5,i6).d(2,2)=l1_56z(i5,i6).b(2,1)*r2_34z(i
     & 3,i4).c(1,2)+l1_56z(i5,i6).d(2,2)*p156q*r2_34z(i3,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline --res=cn2(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      IF(izz.EQ.-1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=cn2(iut,jut,i3,i4,i5,i6).id(ide)-
     & (tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
      ELSE IF(izg.EQ.-1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
      ENDIF 
      enddo
      enddo
      end do   
      end do
      end do
      end do
      IF(izg.EQ.-1)THEN
**** Diagramma CN2 - ff contribution ****
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT --aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
*5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_56fz(i5,i6).a,b1=l1_56fz(i5,i6).b,c
*1=l1_56fz(i5,i6).c,d1=l1_56fz(i5,i6).d,a2=r2_34fz(i3,i4).a,b2=r2_34fz(i3,i
* 4).b,c2=r2_34fz(i3,i4).c,d2=r2_34fz(i3,i4).d,prq=p156q,m=rme
      tapptt(i3,i4,i5,i6).a(1,1)=l1_56f(i5,i6).a(1,1)*r2_34f(i
     & 3,i4).a(1,1)+l1_56f(i5,i6).c(1,2)*p156q*r2_34f(i3,i4).b
     & (2,1)   
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_56f(i5,i6).d(1,1)*r2_3
     & 4f(i3,i4).a(1,1)+l1_56f(i5,i6).b(1,2)*r2_34f(i3,i4).b(
     & 2,1))   
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_56f(i5,i6).a(1,1)*r2_3
     & 4f(i3,i4).d(1,1)+l1_56f(i5,i6).c(1,2)*r2_34f(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_56f(i5,i6).d(1,1)*p156q*r2_
     & 34f(i3,i4).d(1,1)+l1_56f(i5,i6).b(1,2)*r2_34f(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_56f(i5,i6).a(1,1)*r2_3
     & 4f(i3,i4).b(1,2)+l1_56f(i5,i6).c(1,2)*r2_34f(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_56f(i5,i6).d(1,1)*p156q*r2_
     & 34f(i3,i4).b(1,2)+l1_56f(i5,i6).b(1,2)*r2_34f(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_56f(i5,i6).a(1,1)*r2_34f(i
     & 3,i4).c(1,2)+l1_56f(i5,i6).c(1,2)*p156q*r2_34f(i3,i4).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_56f(i5,i6).d(1,1)*r2_3
     & 4f(i3,i4).c(1,2)+l1_56f(i5,i6).b(1,2)*r2_34f(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_56f(i5,i6).c(2,1)*r2_3
     & 4f(i3,i4).a(1,1)+l1_56f(i5,i6).a(2,2)*r2_34f(i3,i4).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_56f(i5,i6).b(2,1)*r2_34f(i
     & 3,i4).a(1,1)+l1_56f(i5,i6).d(2,2)*p156q*r2_34f(i3,i4).b
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_56f(i5,i6).c(2,1)*p156q*r2_
     & 34f(i3,i4).d(1,1)+l1_56f(i5,i6).a(2,2)*r2_34f(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_56f(i5,i6).b(2,1)*r2_3
     & 4f(i3,i4).d(1,1)+l1_56f(i5,i6).d(2,2)*r2_34f(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_56f(i5,i6).c(2,1)*p156q*r2_
     & 34f(i3,i4).b(1,2)+l1_56f(i5,i6).a(2,2)*r2_34f(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_56f(i5,i6).b(2,1)*r2_3
     & 4f(i3,i4).b(1,2)+l1_56f(i5,i6).d(2,2)*r2_34f(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_56f(i5,i6).c(2,1)*r2_3
     & 4f(i3,i4).c(1,2)+l1_56f(i5,i6).a(2,2)*r2_34f(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).d(2,2)=l1_56f(i5,i6).b(2,1)*r2_34f(i
     & 3,i4).c(1,2)+l1_56f(i5,i6).d(2,2)*p156q*r2_34f(i3,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline --res=cn2(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=cn2(iut,jut,i3,i4,i5,i6).id(ide)
     & +(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
      ENDIF !izg
      ENDIF !izz
      IF(izg.EQ.1.OR.izg34.NE.0.OR.izg56.NE.0)THEN
      IF(izg.EQ.1.OR.izg56.NE.0)THEN
**** Diagramma CN2 - fz+zf contribution ****
      do i3=1,2 
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT --aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
*5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_56fz(i5,i6).a,b1=l1_56fz(i5,i6).b,c
*1=l1_56fz(i5,i6).c,d1=l1_56fz(i5,i6).d,a2=r2_34fz(i3,i4).a,b2=r2_34fz(i3,i
* 4).b,c2=r2_34fz(i3,i4).c,d2=r2_34fz(i3,i4).d,prq=p156q,m=rme
      tapptt(i3,i4,i5,i6).a(1,1)=l1_56f(i5,i6).a(1,1)*r2_34z(i
     & 3,i4).a(1,1)+l1_56f(i5,i6).c(1,2)*p156q*r2_34z(i3,i4).b
     & (2,1)    
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_56f(i5,i6).d(1,1)*r2_3
     & 4z(i3,i4).a(1,1)+l1_56f(i5,i6).b(1,2)*r2_34z(i3,i4).b(
     & 2,1))   
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_56f(i5,i6).a(1,1)*r2_3
     & 4z(i3,i4).d(1,1)+l1_56f(i5,i6).c(1,2)*r2_34z(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_56f(i5,i6).d(1,1)*p156q*r2_
     & 34z(i3,i4).d(1,1)+l1_56f(i5,i6).b(1,2)*r2_34z(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_56f(i5,i6).a(1,1)*r2_3
     & 4z(i3,i4).b(1,2)+l1_56f(i5,i6).c(1,2)*r2_34z(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_56f(i5,i6).d(1,1)*p156q*r2_
     & 34z(i3,i4).b(1,2)+l1_56f(i5,i6).b(1,2)*r2_34z(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_56f(i5,i6).a(1,1)*r2_34z(i
     & 3,i4).c(1,2)+l1_56f(i5,i6).c(1,2)*p156q*r2_34z(i3,i4).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_56f(i5,i6).d(1,1)*r2_3
     & 4z(i3,i4).c(1,2)+l1_56f(i5,i6).b(1,2)*r2_34z(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_56f(i5,i6).c(2,1)*r2_3
     & 4z(i3,i4).a(1,1)+l1_56f(i5,i6).a(2,2)*r2_34z(i3,i4).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_56f(i5,i6).b(2,1)*r2_34z(i
     & 3,i4).a(1,1)+l1_56f(i5,i6).d(2,2)*p156q*r2_34z(i3,i4).b
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_56f(i5,i6).c(2,1)*p156q*r2_
     & 34z(i3,i4).d(1,1)+l1_56f(i5,i6).a(2,2)*r2_34z(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_56f(i5,i6).b(2,1)*r2_3
     & 4z(i3,i4).d(1,1)+l1_56f(i5,i6).d(2,2)*r2_34z(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_56f(i5,i6).c(2,1)*p156q*r2_
     & 34z(i3,i4).b(1,2)+l1_56f(i5,i6).a(2,2)*r2_34z(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_56f(i5,i6).b(2,1)*r2_3
     & 4z(i3,i4).b(1,2)+l1_56f(i5,i6).d(2,2)*r2_34z(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_56f(i5,i6).c(2,1)*r2_3
     & 4z(i3,i4).c(1,2)+l1_56f(i5,i6).a(2,2)*r2_34z(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).d(2,2)=l1_56f(i5,i6).b(2,1)*r2_34z(i
     & 3,i4).c(1,2)+l1_56f(i5,i6).d(2,2)*p156q*r2_34z(i3,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline --res=cn2(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      IF(izg.EQ.1.OR.izg56.EQ.1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
      ELSE IF(izg56.EQ.-1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=cn2(iut,jut,i3,i4,i5,i6).id(ide)
     & -(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
      ENDIF
      enddo
      enddo
      end do
      end do
      end do
      end do
      ENDIF !izg and izg56
      IF(izg.EQ.1.OR.izg34.NE.0)THEN
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT --aa=tapptt(i3,i4,i5,i6).a,bb=tapptt(i3,i4,i5,i6).b,cc=tapptt(i3,i4,i
*5,i6).c,dd=tapptt(i3,i4,i5,i6).d,a1=l1_56fz(i5,i6).a,b1=l1_56fz(i5,i6).b,c
*1=l1_56fz(i5,i6).c,d1=l1_56fz(i5,i6).d,a2=r2_34fz(i3,i4).a,b2=r2_34fz(i3,i
* 4).b,c2=r2_34fz(i3,i4).c,d2=r2_34fz(i3,i4).d,prq=p156q,m=rme  
      tapptt(i3,i4,i5,i6).a(1,1)=l1_56z(i5,i6).a(1,1)*r2_34f(i
     & 3,i4).a(1,1)+l1_56z(i5,i6).c(1,2)*p156q*r2_34f(i3,i4).b
     & (2,1)   
      tapptt(i3,i4,i5,i6).b(1,1)=rme*(l1_56z(i5,i6).d(1,1)*r2_3
     & 4f(i3,i4).a(1,1)+l1_56z(i5,i6).b(1,2)*r2_34f(i3,i4).b(
     & 2,1))   
      tapptt(i3,i4,i5,i6).c(1,1)=rme*(l1_56z(i5,i6).a(1,1)*r2_3
     & 4f(i3,i4).d(1,1)+l1_56z(i5,i6).c(1,2)*r2_34f(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).d(1,1)=l1_56z(i5,i6).d(1,1)*p156q*r2_
     & 34f(i3,i4).d(1,1)+l1_56z(i5,i6).b(1,2)*r2_34f(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).a(1,2)=rme*(l1_56z(i5,i6).a(1,1)*r2_3
     & 4f(i3,i4).b(1,2)+l1_56z(i5,i6).c(1,2)*r2_34f(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).b(1,2)=l1_56z(i5,i6).d(1,1)*p156q*r2_
     & 34f(i3,i4).b(1,2)+l1_56z(i5,i6).b(1,2)*r2_34f(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).c(1,2)=l1_56z(i5,i6).a(1,1)*r2_34f(i
     & 3,i4).c(1,2)+l1_56z(i5,i6).c(1,2)*p156q*r2_34f(i3,i4).d
     & (2,2)
      tapptt(i3,i4,i5,i6).d(1,2)=rme*(l1_56z(i5,i6).d(1,1)*r2_3
     & 4f(i3,i4).c(1,2)+l1_56z(i5,i6).b(1,2)*r2_34f(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).a(2,1)=rme*(l1_56z(i5,i6).c(2,1)*r2_3
     & 4f(i3,i4).a(1,1)+l1_56z(i5,i6).a(2,2)*r2_34f(i3,i4).b(
     & 2,1))
      tapptt(i3,i4,i5,i6).b(2,1)=l1_56z(i5,i6).b(2,1)*r2_34f(i
     & 3,i4).a(1,1)+l1_56z(i5,i6).d(2,2)*p156q*r2_34f(i3,i4).b
     & (2,1)
      tapptt(i3,i4,i5,i6).c(2,1)=l1_56z(i5,i6).c(2,1)*p156q*r2_
     & 34f(i3,i4).d(1,1)+l1_56z(i5,i6).a(2,2)*r2_34f(i3,i4).c
     & (2,1)
      tapptt(i3,i4,i5,i6).d(2,1)=rme*(l1_56z(i5,i6).b(2,1)*r2_3
     & 4f(i3,i4).d(1,1)+l1_56z(i5,i6).d(2,2)*r2_34f(i3,i4).c(
     & 2,1))
      tapptt(i3,i4,i5,i6).a(2,2)=l1_56z(i5,i6).c(2,1)*p156q*r2_
     & 34f(i3,i4).b(1,2)+l1_56z(i5,i6).a(2,2)*r2_34f(i3,i4).a
     & (2,2)
      tapptt(i3,i4,i5,i6).b(2,2)=rme*(l1_56z(i5,i6).b(2,1)*r2_3
     & 4f(i3,i4).b(1,2)+l1_56z(i5,i6).d(2,2)*r2_34f(i3,i4).a(
     & 2,2))
      tapptt(i3,i4,i5,i6).c(2,2)=rme*(l1_56z(i5,i6).c(2,1)*r2_3
     & 4f(i3,i4).c(1,2)+l1_56z(i5,i6).a(2,2)*r2_34f(i3,i4).d(
     & 2,2))
      tapptt(i3,i4,i5,i6).d(2,2)=l1_56z(i5,i6).b(2,1)*r2_34f(i
     & 3,i4).c(1,2)+l1_56z(i5,i6).d(2,2)*p156q*r2_34f(i3,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline --res=cn2(&,i3,i4,i5,i6).id(ide),abcd=tapptt(i3,i4,i5,i6).,m1=(-rm
* e),m2=rme,den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      IF(izg.EQ.1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=cn2(iut,jut,i3,i4,i5,i6).id(ide)
     & +(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
      ELSE IF(izg34.EQ.1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
      ELSE IF(izg34.EQ.-1)THEN
      cn2(iut,jut,i3,i4,i5,i6).id(ide)=cn2(iut,jut,i3,i4,i5,i6).id(ide)
     & -(tapptt(i3,i4,i5,i6).a(iu
     & t,jut)+(-rme)*tapptt(i3,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 3,i4,i5,i6).c(iut,jut)+(-rme)*rme*tapptt(i3,i4,i5,i6).d(i
     & ut,jut))/((p156q-rme**2)*p156k0)
      ENDIF
      enddo
      enddo
      end do
      end do
      end do
      end do
      ENDIF !izg and izg34
      ENDIF !izg and izg34 and izg56
*endel2
*el2
      IF(izz.NE.1.AND.izg.NE.1.AND.izg34.NE.1.AND.izg56.NE.1.
     &   AND.inc08.NE.1)THEN
*endel2
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i1,i2,i5,i6).a,bb=tapptt(i1,i2,i5,i6).b,cc=tapptt(i1,i2,i
* 5,i6).c,dd=tapptt(i1,i2,i5,i6).d,a1=l3_56fz(i5,i6).a,b1=l3_56fz(i5,i6).b,c
* 1=l3_56fz(i5,i6).c,d1=l3_56fz(i5,i6).d,a2=r4_12fz(i1,i2).a,b2=r4_12fz(i1,i
* 2).b,c2=r4_12fz(i1,i2).c,d2=r4_12fz(i1,i2).d,prq=p356q,m=xm(3)
      tapptt(i1,i2,i5,i6).a(1,1)=l3_56fz(i5,i6).a(1,1)*r4_12fz(i
     & 1,i2).a(1,1)+l3_56fz(i5,i6).c(1,2)*p356q*r4_12fz(i1,i2).b
     & (2,1)
      tapptt(i1,i2,i5,i6).b(1,1)=xm(3)*(l3_56fz(i5,i6).d(1,1)*r4
     & _12fz(i1,i2).a(1,1)+l3_56fz(i5,i6).b(1,2)*r4_12fz(i1,i2).
     & b(2,1))
      tapptt(i1,i2,i5,i6).c(1,1)=xm(3)*(l3_56fz(i5,i6).a(1,1)*r4
     & _12fz(i1,i2).d(1,1)+l3_56fz(i5,i6).c(1,2)*r4_12fz(i1,i2).
     & c(2,1))
      tapptt(i1,i2,i5,i6).d(1,1)=l3_56fz(i5,i6).d(1,1)*p356q*r4_
     & 12fz(i1,i2).d(1,1)+l3_56fz(i5,i6).b(1,2)*r4_12fz(i1,i2).c
     & (2,1)
      tapptt(i1,i2,i5,i6).a(1,2)=xm(3)*(l3_56fz(i5,i6).a(1,1)*r4
     & _12fz(i1,i2).b(1,2)+l3_56fz(i5,i6).c(1,2)*r4_12fz(i1,i2).
     & a(2,2))
      tapptt(i1,i2,i5,i6).b(1,2)=l3_56fz(i5,i6).d(1,1)*p356q*r4_
     & 12fz(i1,i2).b(1,2)+l3_56fz(i5,i6).b(1,2)*r4_12fz(i1,i2).a
     & (2,2)
      tapptt(i1,i2,i5,i6).c(1,2)=l3_56fz(i5,i6).a(1,1)*r4_12fz(i
     & 1,i2).c(1,2)+l3_56fz(i5,i6).c(1,2)*p356q*r4_12fz(i1,i2).d
     & (2,2)
      tapptt(i1,i2,i5,i6).d(1,2)=xm(3)*(l3_56fz(i5,i6).d(1,1)*r4
     & _12fz(i1,i2).c(1,2)+l3_56fz(i5,i6).b(1,2)*r4_12fz(i1,i2).
     & d(2,2))
      tapptt(i1,i2,i5,i6).a(2,1)=xm(3)*(l3_56fz(i5,i6).c(2,1)*r4
     & _12fz(i1,i2).a(1,1)+l3_56fz(i5,i6).a(2,2)*r4_12fz(i1,i2).
     & b(2,1))
      tapptt(i1,i2,i5,i6).b(2,1)=l3_56fz(i5,i6).b(2,1)*r4_12fz(i
     & 1,i2).a(1,1)+l3_56fz(i5,i6).d(2,2)*p356q*r4_12fz(i1,i2).b
     & (2,1)
      tapptt(i1,i2,i5,i6).c(2,1)=l3_56fz(i5,i6).c(2,1)*p356q*r4_
     & 12fz(i1,i2).d(1,1)+l3_56fz(i5,i6).a(2,2)*r4_12fz(i1,i2).c
     & (2,1)
      tapptt(i1,i2,i5,i6).d(2,1)=xm(3)*(l3_56fz(i5,i6).b(2,1)*r4
     & _12fz(i1,i2).d(1,1)+l3_56fz(i5,i6).d(2,2)*r4_12fz(i1,i2).
     & c(2,1))
      tapptt(i1,i2,i5,i6).a(2,2)=l3_56fz(i5,i6).c(2,1)*p356q*r4_
     & 12fz(i1,i2).b(1,2)+l3_56fz(i5,i6).a(2,2)*r4_12fz(i1,i2).a
     & (2,2)
      tapptt(i1,i2,i5,i6).b(2,2)=xm(3)*(l3_56fz(i5,i6).b(2,1)*r4
     & _12fz(i1,i2).b(1,2)+l3_56fz(i5,i6).d(2,2)*r4_12fz(i1,i2).
     & a(2,2))
      tapptt(i1,i2,i5,i6).c(2,2)=xm(3)*(l3_56fz(i5,i6).c(2,1)*r4
     & _12fz(i1,i2).c(1,2)+l3_56fz(i5,i6).a(2,2)*r4_12fz(i1,i2).
     & d(2,2))
      tapptt(i1,i2,i5,i6).d(2,2)=l3_56fz(i5,i6).b(2,1)*r4_12fz(i
     & 1,i2).c(1,2)+l3_56fz(i5,i6).d(2,2)*p356q*r4_12fz(i1,i2).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn3(i1,i2,&,i5,i6).id(ide),abcd=tapptt(i1,i2,i5,i6).,m1=xm(3
* ),m2=(-xm(4)),den=((p356q-xm(3)**2)*p356k0)
      do iut=1,2
      do jut=1,2
      cn3(i1,i2,iut,jut,i5,i6).id(ide)=(tapptt(i1,i2,i5,i6).a(iu
     & t,jut)+xm(3)*tapptt(i1,i2,i5,i6).b(iut,jut)+(-xm(4))*tapp
     & tt(i1,i2,i5,i6).c(iut,jut)+xm(3)*(-xm(4))*tapptt(i1,i2,i5
     & ,i6).d(iut,jut))/((p356q-xm(3)**2)*p356k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN4 ****
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i1,i2,i5,i6).a,bb=tapptt(i1,i2,i5,i6).b,cc=tapptt(i1,i2,i
* 5,i6).c,dd=tapptt(i1,i2,i5,i6).d,a1=l3_12fz(i1,i2).a,b1=l3_12fz(i1,i2).b,c
* 1=l3_12fz(i1,i2).c,d1=l3_12fz(i1,i2).d,a2=r4_56fz(i5,i6).a,b2=r4_56fz(i5,i
* 6).b,c2=r4_56fz(i5,i6).c,d2=r4_56fz(i5,i6).d,prq=p123q,m=xm(3)
      tapptt(i1,i2,i5,i6).a(1,1)=l3_12fz(i1,i2).a(1,1)*r4_56fz(i
     & 5,i6).a(1,1)+l3_12fz(i1,i2).c(1,2)*p123q*r4_56fz(i5,i6).b
     & (2,1)
      tapptt(i1,i2,i5,i6).b(1,1)=xm(3)*(l3_12fz(i1,i2).d(1,1)*r4
     & _56fz(i5,i6).a(1,1)+l3_12fz(i1,i2).b(1,2)*r4_56fz(i5,i6).
     & b(2,1))
      tapptt(i1,i2,i5,i6).c(1,1)=xm(3)*(l3_12fz(i1,i2).a(1,1)*r4
     & _56fz(i5,i6).d(1,1)+l3_12fz(i1,i2).c(1,2)*r4_56fz(i5,i6).
     & c(2,1))
      tapptt(i1,i2,i5,i6).d(1,1)=l3_12fz(i1,i2).d(1,1)*p123q*r4_
     & 56fz(i5,i6).d(1,1)+l3_12fz(i1,i2).b(1,2)*r4_56fz(i5,i6).c
     & (2,1)
      tapptt(i1,i2,i5,i6).a(1,2)=xm(3)*(l3_12fz(i1,i2).a(1,1)*r4
     & _56fz(i5,i6).b(1,2)+l3_12fz(i1,i2).c(1,2)*r4_56fz(i5,i6).
     & a(2,2))
      tapptt(i1,i2,i5,i6).b(1,2)=l3_12fz(i1,i2).d(1,1)*p123q*r4_
     & 56fz(i5,i6).b(1,2)+l3_12fz(i1,i2).b(1,2)*r4_56fz(i5,i6).a
     & (2,2)
      tapptt(i1,i2,i5,i6).c(1,2)=l3_12fz(i1,i2).a(1,1)*r4_56fz(i
     & 5,i6).c(1,2)+l3_12fz(i1,i2).c(1,2)*p123q*r4_56fz(i5,i6).d
     & (2,2)
      tapptt(i1,i2,i5,i6).d(1,2)=xm(3)*(l3_12fz(i1,i2).d(1,1)*r4
     & _56fz(i5,i6).c(1,2)+l3_12fz(i1,i2).b(1,2)*r4_56fz(i5,i6).
     & d(2,2))
      tapptt(i1,i2,i5,i6).a(2,1)=xm(3)*(l3_12fz(i1,i2).c(2,1)*r4
     & _56fz(i5,i6).a(1,1)+l3_12fz(i1,i2).a(2,2)*r4_56fz(i5,i6).
     & b(2,1))
      tapptt(i1,i2,i5,i6).b(2,1)=l3_12fz(i1,i2).b(2,1)*r4_56fz(i
     & 5,i6).a(1,1)+l3_12fz(i1,i2).d(2,2)*p123q*r4_56fz(i5,i6).b
     & (2,1)
      tapptt(i1,i2,i5,i6).c(2,1)=l3_12fz(i1,i2).c(2,1)*p123q*r4_
     & 56fz(i5,i6).d(1,1)+l3_12fz(i1,i2).a(2,2)*r4_56fz(i5,i6).c
     & (2,1)
      tapptt(i1,i2,i5,i6).d(2,1)=xm(3)*(l3_12fz(i1,i2).b(2,1)*r4
     & _56fz(i5,i6).d(1,1)+l3_12fz(i1,i2).d(2,2)*r4_56fz(i5,i6).
     & c(2,1))
      tapptt(i1,i2,i5,i6).a(2,2)=l3_12fz(i1,i2).c(2,1)*p123q*r4_
     & 56fz(i5,i6).b(1,2)+l3_12fz(i1,i2).a(2,2)*r4_56fz(i5,i6).a
     & (2,2)
      tapptt(i1,i2,i5,i6).b(2,2)=xm(3)*(l3_12fz(i1,i2).b(2,1)*r4
     & _56fz(i5,i6).b(1,2)+l3_12fz(i1,i2).d(2,2)*r4_56fz(i5,i6).
     & a(2,2))
      tapptt(i1,i2,i5,i6).c(2,2)=xm(3)*(l3_12fz(i1,i2).c(2,1)*r4
     & _56fz(i5,i6).c(1,2)+l3_12fz(i1,i2).a(2,2)*r4_56fz(i5,i6).
     & d(2,2))
      tapptt(i1,i2,i5,i6).d(2,2)=l3_12fz(i1,i2).b(2,1)*r4_56fz(i
     & 5,i6).c(1,2)+l3_12fz(i1,i2).d(2,2)*p123q*r4_56fz(i5,i6).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn4(i1,i2,&,i5,i6).id(ide),abcd=tapptt(i1,i2,i5,i6).,m1=xm(3
* ),m2=(-xm(4)),den=((p123q-xm(3)**2)*p123k0)
      do iut=1,2
      do jut=1,2
      cn4(i1,i2,iut,jut,i5,i6).id(ide)=(tapptt(i1,i2,i5,i6).a(iu
     & t,jut)+xm(3)*tapptt(i1,i2,i5,i6).b(iut,jut)+(-xm(4))*tapp
     & tt(i1,i2,i5,i6).c(iut,jut)+xm(3)*(-xm(4))*tapptt(i1,i2,i5
     & ,i6).d(iut,jut))/((p123q-xm(3)**2)*p123k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN5 ****
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* TT -- aa=tapptt(i1,i2,i3,i4).a,bb=tapptt(i1,i2,i3,i4).b,cc=tapptt(i1,i2,i
* 3,i4).c,dd=tapptt(i1,i2,i3,i4).d,a1=l5_34fz(i3,i4).a,b1=l5_34fz(i3,i4).b,c
* 1=l5_34fz(i3,i4).c,d1=l5_34fz(i3,i4).d,a2=r6_12fz(i1,i2).a,b2=r6_12fz(i1,i
* 2).b,c2=r6_12fz(i1,i2).c,d2=r6_12fz(i1,i2).d,prq=p345q,m=xm(5)
      tapptt(i1,i2,i3,i4).a(1,1)=l5_34fz(i3,i4).a(1,1)*r6_12fz(i
     & 1,i2).a(1,1)+l5_34fz(i3,i4).c(1,2)*p345q*r6_12fz(i1,i2).b
     & (2,1)
      tapptt(i1,i2,i3,i4).b(1,1)=xm(5)*(l5_34fz(i3,i4).d(1,1)*r6
     & _12fz(i1,i2).a(1,1)+l5_34fz(i3,i4).b(1,2)*r6_12fz(i1,i2).
     & b(2,1))
      tapptt(i1,i2,i3,i4).c(1,1)=xm(5)*(l5_34fz(i3,i4).a(1,1)*r6
     & _12fz(i1,i2).d(1,1)+l5_34fz(i3,i4).c(1,2)*r6_12fz(i1,i2).
     & c(2,1))
      tapptt(i1,i2,i3,i4).d(1,1)=l5_34fz(i3,i4).d(1,1)*p345q*r6_
     & 12fz(i1,i2).d(1,1)+l5_34fz(i3,i4).b(1,2)*r6_12fz(i1,i2).c
     & (2,1)
      tapptt(i1,i2,i3,i4).a(1,2)=xm(5)*(l5_34fz(i3,i4).a(1,1)*r6
     & _12fz(i1,i2).b(1,2)+l5_34fz(i3,i4).c(1,2)*r6_12fz(i1,i2).
     & a(2,2))
      tapptt(i1,i2,i3,i4).b(1,2)=l5_34fz(i3,i4).d(1,1)*p345q*r6_
     & 12fz(i1,i2).b(1,2)+l5_34fz(i3,i4).b(1,2)*r6_12fz(i1,i2).a
     & (2,2)
      tapptt(i1,i2,i3,i4).c(1,2)=l5_34fz(i3,i4).a(1,1)*r6_12fz(i
     & 1,i2).c(1,2)+l5_34fz(i3,i4).c(1,2)*p345q*r6_12fz(i1,i2).d
     & (2,2)
      tapptt(i1,i2,i3,i4).d(1,2)=xm(5)*(l5_34fz(i3,i4).d(1,1)*r6
     & _12fz(i1,i2).c(1,2)+l5_34fz(i3,i4).b(1,2)*r6_12fz(i1,i2).
     & d(2,2))
      tapptt(i1,i2,i3,i4).a(2,1)=xm(5)*(l5_34fz(i3,i4).c(2,1)*r6
     & _12fz(i1,i2).a(1,1)+l5_34fz(i3,i4).a(2,2)*r6_12fz(i1,i2).
     & b(2,1))
      tapptt(i1,i2,i3,i4).b(2,1)=l5_34fz(i3,i4).b(2,1)*r6_12fz(i
     & 1,i2).a(1,1)+l5_34fz(i3,i4).d(2,2)*p345q*r6_12fz(i1,i2).b
     & (2,1)
      tapptt(i1,i2,i3,i4).c(2,1)=l5_34fz(i3,i4).c(2,1)*p345q*r6_
     & 12fz(i1,i2).d(1,1)+l5_34fz(i3,i4).a(2,2)*r6_12fz(i1,i2).c
     & (2,1)
      tapptt(i1,i2,i3,i4).d(2,1)=xm(5)*(l5_34fz(i3,i4).b(2,1)*r6
     & _12fz(i1,i2).d(1,1)+l5_34fz(i3,i4).d(2,2)*r6_12fz(i1,i2).
     & c(2,1))
      tapptt(i1,i2,i3,i4).a(2,2)=l5_34fz(i3,i4).c(2,1)*p345q*r6_
     & 12fz(i1,i2).b(1,2)+l5_34fz(i3,i4).a(2,2)*r6_12fz(i1,i2).a
     & (2,2)
      tapptt(i1,i2,i3,i4).b(2,2)=xm(5)*(l5_34fz(i3,i4).b(2,1)*r6
     & _12fz(i1,i2).b(1,2)+l5_34fz(i3,i4).d(2,2)*r6_12fz(i1,i2).
     & a(2,2))
      tapptt(i1,i2,i3,i4).c(2,2)=xm(5)*(l5_34fz(i3,i4).c(2,1)*r6
     & _12fz(i1,i2).c(1,2)+l5_34fz(i3,i4).a(2,2)*r6_12fz(i1,i2).
     & d(2,2))
      tapptt(i1,i2,i3,i4).d(2,2)=l5_34fz(i3,i4).b(2,1)*r6_12fz(i
     & 1,i2).c(1,2)+l5_34fz(i3,i4).d(2,2)*p345q*r6_12fz(i1,i2).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* mline -- res=cn5(i1,i2,i3,i4,&).id(ide),abcd=tapptt(i1,i2,i3,i4).,m1=xm(5
* ),m2=(-xm(6)),den=((p345q-xm(5)**2)*p345k0)
      do iut=1,2
      do jut=1,2
      cn5(i1,i2,i3,i4,iut,jut).id(ide)=(tapptt(i1,i2,i3,i4).a(iu
     & t,jut)+xm(5)*tapptt(i1,i2,i3,i4).b(iut,jut)+(-xm(6))*tapp
     & tt(i1,i2,i3,i4).c(iut,jut)+xm(5)*(-xm(6))*tapptt(i1,i2,i3
     & ,i4).d(iut,jut))/((p345q-xm(5)**2)*p345k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN6 ****
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* TT -- aa=tapptt(i1,i2,i3,i4).a,bb=tapptt(i1,i2,i3,i4).b,cc=tapptt(i1,i2,i
* 3,i4).c,dd=tapptt(i1,i2,i3,i4).d,a1=l5_12fz(i1,i2).a,b1=l5_12fz(i1,i2).b,c
* 1=l5_12fz(i1,i2).c,d1=l5_12fz(i1,i2).d,a2=r6_34fz(i3,i4).a,b2=r6_34fz(i3,i
* 4).b,c2=r6_34fz(i3,i4).c,d2=r6_34fz(i3,i4).d,prq=p125q,m=xm(5)
      tapptt(i1,i2,i3,i4).a(1,1)=l5_12fz(i1,i2).a(1,1)*r6_34fz(i
     & 3,i4).a(1,1)+l5_12fz(i1,i2).c(1,2)*p125q*r6_34fz(i3,i4).b
     & (2,1)
      tapptt(i1,i2,i3,i4).b(1,1)=xm(5)*(l5_12fz(i1,i2).d(1,1)*r6
     & _34fz(i3,i4).a(1,1)+l5_12fz(i1,i2).b(1,2)*r6_34fz(i3,i4).
     & b(2,1))
      tapptt(i1,i2,i3,i4).c(1,1)=xm(5)*(l5_12fz(i1,i2).a(1,1)*r6
     & _34fz(i3,i4).d(1,1)+l5_12fz(i1,i2).c(1,2)*r6_34fz(i3,i4).
     & c(2,1))
      tapptt(i1,i2,i3,i4).d(1,1)=l5_12fz(i1,i2).d(1,1)*p125q*r6_
     & 34fz(i3,i4).d(1,1)+l5_12fz(i1,i2).b(1,2)*r6_34fz(i3,i4).c
     & (2,1)
      tapptt(i1,i2,i3,i4).a(1,2)=xm(5)*(l5_12fz(i1,i2).a(1,1)*r6
     & _34fz(i3,i4).b(1,2)+l5_12fz(i1,i2).c(1,2)*r6_34fz(i3,i4).
     & a(2,2))
      tapptt(i1,i2,i3,i4).b(1,2)=l5_12fz(i1,i2).d(1,1)*p125q*r6_
     & 34fz(i3,i4).b(1,2)+l5_12fz(i1,i2).b(1,2)*r6_34fz(i3,i4).a
     & (2,2)
      tapptt(i1,i2,i3,i4).c(1,2)=l5_12fz(i1,i2).a(1,1)*r6_34fz(i
     & 3,i4).c(1,2)+l5_12fz(i1,i2).c(1,2)*p125q*r6_34fz(i3,i4).d
     & (2,2)
      tapptt(i1,i2,i3,i4).d(1,2)=xm(5)*(l5_12fz(i1,i2).d(1,1)*r6
     & _34fz(i3,i4).c(1,2)+l5_12fz(i1,i2).b(1,2)*r6_34fz(i3,i4).
     & d(2,2))
      tapptt(i1,i2,i3,i4).a(2,1)=xm(5)*(l5_12fz(i1,i2).c(2,1)*r6
     & _34fz(i3,i4).a(1,1)+l5_12fz(i1,i2).a(2,2)*r6_34fz(i3,i4).
     & b(2,1))
      tapptt(i1,i2,i3,i4).b(2,1)=l5_12fz(i1,i2).b(2,1)*r6_34fz(i
     & 3,i4).a(1,1)+l5_12fz(i1,i2).d(2,2)*p125q*r6_34fz(i3,i4).b
     & (2,1)
      tapptt(i1,i2,i3,i4).c(2,1)=l5_12fz(i1,i2).c(2,1)*p125q*r6_
     & 34fz(i3,i4).d(1,1)+l5_12fz(i1,i2).a(2,2)*r6_34fz(i3,i4).c
     & (2,1)
      tapptt(i1,i2,i3,i4).d(2,1)=xm(5)*(l5_12fz(i1,i2).b(2,1)*r6
     & _34fz(i3,i4).d(1,1)+l5_12fz(i1,i2).d(2,2)*r6_34fz(i3,i4).
     & c(2,1))
      tapptt(i1,i2,i3,i4).a(2,2)=l5_12fz(i1,i2).c(2,1)*p125q*r6_
     & 34fz(i3,i4).b(1,2)+l5_12fz(i1,i2).a(2,2)*r6_34fz(i3,i4).a
     & (2,2)
      tapptt(i1,i2,i3,i4).b(2,2)=xm(5)*(l5_12fz(i1,i2).b(2,1)*r6
     & _34fz(i3,i4).b(1,2)+l5_12fz(i1,i2).d(2,2)*r6_34fz(i3,i4).
     & a(2,2))
      tapptt(i1,i2,i3,i4).c(2,2)=xm(5)*(l5_12fz(i1,i2).c(2,1)*r6
     & _34fz(i3,i4).c(1,2)+l5_12fz(i1,i2).a(2,2)*r6_34fz(i3,i4).
     & d(2,2))
      tapptt(i1,i2,i3,i4).d(2,2)=l5_12fz(i1,i2).b(2,1)*r6_34fz(i
     & 3,i4).c(1,2)+l5_12fz(i1,i2).d(2,2)*p125q*r6_34fz(i3,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* mline -- res=cn6(i1,i2,i3,i4,&).id(ide),abcd=tapptt(i1,i2,i3,i4).,m1=xm(5
* ),m2=(-xm(6)),den=((p125q-xm(5)**2)*p125k0)
      do iut=1,2
      do jut=1,2
      cn6(i1,i2,i3,i4,iut,jut).id(ide)=(tapptt(i1,i2,i3,i4).a(iu
     & t,jut)+xm(5)*tapptt(i1,i2,i3,i4).b(iut,jut)+(-xm(6))*tapp
     & tt(i1,i2,i3,i4).c(iut,jut)+xm(5)*(-xm(6))*tapptt(i1,i2,i3
     & ,i4).d(iut,jut))/((p125q-xm(5)**2)*p125k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
          if (iqu.eq.1) then
****         8 diagrammi di qcd (4)
* accoppiamenti right e left con fotone sono gli stessi
          r3r5=f3r*f5r
**** Diagramma CN7 ****
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i1,i2,i5,i6).a,bb=tapptt(i1,i2,i5,i6).b,cc=tapptt(i1,i2,i
* 5,i6).c,dd=tapptt(i1,i2,i5,i6).d,a1=l3_56f(i5,i6).a,b1=l3_56f(i5,i6).b,c1=
* l3_56f(i5,i6).c,d1=l3_56f(i5,i6).d,a2=r4_12fz(i1,i2).a,b2=r4_12fz(i1,i2).b
* ,c2=r4_12fz(i1,i2).c,d2=r4_12fz(i1,i2).d,prq=p356q,m=xm(3)
      tapptt(i1,i2,i5,i6).a(1,1)=l3_56f(i5,i6).a(1,1)*r4_12fz(i1
     & ,i2).a(1,1)+l3_56f(i5,i6).c(1,2)*p356q*r4_12fz(i1,i2).b(2
     & ,1)
      tapptt(i1,i2,i5,i6).b(1,1)=xm(3)*(l3_56f(i5,i6).d(1,1)*r4_
     & 12fz(i1,i2).a(1,1)+l3_56f(i5,i6).b(1,2)*r4_12fz(i1,i2).b(
     & 2,1))
      tapptt(i1,i2,i5,i6).c(1,1)=xm(3)*(l3_56f(i5,i6).a(1,1)*r4_
     & 12fz(i1,i2).d(1,1)+l3_56f(i5,i6).c(1,2)*r4_12fz(i1,i2).c(
     & 2,1))
      tapptt(i1,i2,i5,i6).d(1,1)=l3_56f(i5,i6).d(1,1)*p356q*r4_1
     & 2fz(i1,i2).d(1,1)+l3_56f(i5,i6).b(1,2)*r4_12fz(i1,i2).c(2
     & ,1)
      tapptt(i1,i2,i5,i6).a(1,2)=xm(3)*(l3_56f(i5,i6).a(1,1)*r4_
     & 12fz(i1,i2).b(1,2)+l3_56f(i5,i6).c(1,2)*r4_12fz(i1,i2).a(
     & 2,2))
      tapptt(i1,i2,i5,i6).b(1,2)=l3_56f(i5,i6).d(1,1)*p356q*r4_1
     & 2fz(i1,i2).b(1,2)+l3_56f(i5,i6).b(1,2)*r4_12fz(i1,i2).a(2
     & ,2)
      tapptt(i1,i2,i5,i6).c(1,2)=l3_56f(i5,i6).a(1,1)*r4_12fz(i1
     & ,i2).c(1,2)+l3_56f(i5,i6).c(1,2)*p356q*r4_12fz(i1,i2).d(2
     & ,2)
      tapptt(i1,i2,i5,i6).d(1,2)=xm(3)*(l3_56f(i5,i6).d(1,1)*r4_
     & 12fz(i1,i2).c(1,2)+l3_56f(i5,i6).b(1,2)*r4_12fz(i1,i2).d(
     & 2,2))
      tapptt(i1,i2,i5,i6).a(2,1)=xm(3)*(l3_56f(i5,i6).c(2,1)*r4_
     & 12fz(i1,i2).a(1,1)+l3_56f(i5,i6).a(2,2)*r4_12fz(i1,i2).b(
     & 2,1))
      tapptt(i1,i2,i5,i6).b(2,1)=l3_56f(i5,i6).b(2,1)*r4_12fz(i1
     & ,i2).a(1,1)+l3_56f(i5,i6).d(2,2)*p356q*r4_12fz(i1,i2).b(2
     & ,1)
      tapptt(i1,i2,i5,i6).c(2,1)=l3_56f(i5,i6).c(2,1)*p356q*r4_1
     & 2fz(i1,i2).d(1,1)+l3_56f(i5,i6).a(2,2)*r4_12fz(i1,i2).c(2
     & ,1)
      tapptt(i1,i2,i5,i6).d(2,1)=xm(3)*(l3_56f(i5,i6).b(2,1)*r4_
     & 12fz(i1,i2).d(1,1)+l3_56f(i5,i6).d(2,2)*r4_12fz(i1,i2).c(
     & 2,1))
      tapptt(i1,i2,i5,i6).a(2,2)=l3_56f(i5,i6).c(2,1)*p356q*r4_1
     & 2fz(i1,i2).b(1,2)+l3_56f(i5,i6).a(2,2)*r4_12fz(i1,i2).a(2
     & ,2)
      tapptt(i1,i2,i5,i6).b(2,2)=xm(3)*(l3_56f(i5,i6).b(2,1)*r4_
     & 12fz(i1,i2).b(1,2)+l3_56f(i5,i6).d(2,2)*r4_12fz(i1,i2).a(
     & 2,2))
      tapptt(i1,i2,i5,i6).c(2,2)=xm(3)*(l3_56f(i5,i6).c(2,1)*r4_
     & 12fz(i1,i2).c(1,2)+l3_56f(i5,i6).a(2,2)*r4_12fz(i1,i2).d(
     & 2,2))
      tapptt(i1,i2,i5,i6).d(2,2)=l3_56f(i5,i6).b(2,1)*r4_12fz(i1
     & ,i2).c(1,2)+l3_56f(i5,i6).d(2,2)*p356q*r4_12fz(i1,i2).d(2
     & ,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn7(i1,i2,&,i5,i6).id(ide),abcd=tapptt(i1,i2,i5,i6).,m1=xm(3
* ),m2=(-xm(4)),den=((p356q-xm(3)**2)*p356k0*r3r5)
      do iut=1,2
      do jut=1,2
      cn7(i1,i2,iut,jut,i5,i6).id(ide)=(tapptt(i1,i2,i5,i6).a(iu
     & t,jut)+xm(3)*tapptt(i1,i2,i5,i6).b(iut,jut)+(-xm(4))*tapp
     & tt(i1,i2,i5,i6).c(iut,jut)+xm(3)*(-xm(4))*tapptt(i1,i2,i5
     & ,i6).d(iut,jut))/((p356q-xm(3)**2)*p356k0*r3r5)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN8 ****
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i1,i2,i5,i6).a,bb=tapptt(i1,i2,i5,i6).b,cc=tapptt(i1,i2,i
* 5,i6).c,dd=tapptt(i1,i2,i5,i6).d,a1=l3_12fz(i1,i2).a,b1=l3_12fz(i1,i2).b,c
* 1=l3_12fz(i1,i2).c,d1=l3_12fz(i1,i2).d,a2=r4_56f(i5,i6).a,b2=r4_56f(i5,i6)
* .b,c2=r4_56f(i5,i6).c,d2=r4_56f(i5,i6).d,prq=p123q,m=xm(3)
      tapptt(i1,i2,i5,i6).a(1,1)=l3_12fz(i1,i2).a(1,1)*r4_56f(i5
     & ,i6).a(1,1)+l3_12fz(i1,i2).c(1,2)*p123q*r4_56f(i5,i6).b(2
     & ,1)
      tapptt(i1,i2,i5,i6).b(1,1)=xm(3)*(l3_12fz(i1,i2).d(1,1)*r4
     & _56f(i5,i6).a(1,1)+l3_12fz(i1,i2).b(1,2)*r4_56f(i5,i6).b(
     & 2,1))
      tapptt(i1,i2,i5,i6).c(1,1)=xm(3)*(l3_12fz(i1,i2).a(1,1)*r4
     & _56f(i5,i6).d(1,1)+l3_12fz(i1,i2).c(1,2)*r4_56f(i5,i6).c(
     & 2,1))
      tapptt(i1,i2,i5,i6).d(1,1)=l3_12fz(i1,i2).d(1,1)*p123q*r4_
     & 56f(i5,i6).d(1,1)+l3_12fz(i1,i2).b(1,2)*r4_56f(i5,i6).c(2
     & ,1)
      tapptt(i1,i2,i5,i6).a(1,2)=xm(3)*(l3_12fz(i1,i2).a(1,1)*r4
     & _56f(i5,i6).b(1,2)+l3_12fz(i1,i2).c(1,2)*r4_56f(i5,i6).a(
     & 2,2))
      tapptt(i1,i2,i5,i6).b(1,2)=l3_12fz(i1,i2).d(1,1)*p123q*r4_
     & 56f(i5,i6).b(1,2)+l3_12fz(i1,i2).b(1,2)*r4_56f(i5,i6).a(2
     & ,2)
      tapptt(i1,i2,i5,i6).c(1,2)=l3_12fz(i1,i2).a(1,1)*r4_56f(i5
     & ,i6).c(1,2)+l3_12fz(i1,i2).c(1,2)*p123q*r4_56f(i5,i6).d(2
     & ,2)
      tapptt(i1,i2,i5,i6).d(1,2)=xm(3)*(l3_12fz(i1,i2).d(1,1)*r4
     & _56f(i5,i6).c(1,2)+l3_12fz(i1,i2).b(1,2)*r4_56f(i5,i6).d(
     & 2,2))
      tapptt(i1,i2,i5,i6).a(2,1)=xm(3)*(l3_12fz(i1,i2).c(2,1)*r4
     & _56f(i5,i6).a(1,1)+l3_12fz(i1,i2).a(2,2)*r4_56f(i5,i6).b(
     & 2,1))
      tapptt(i1,i2,i5,i6).b(2,1)=l3_12fz(i1,i2).b(2,1)*r4_56f(i5
     & ,i6).a(1,1)+l3_12fz(i1,i2).d(2,2)*p123q*r4_56f(i5,i6).b(2
     & ,1)
      tapptt(i1,i2,i5,i6).c(2,1)=l3_12fz(i1,i2).c(2,1)*p123q*r4_
     & 56f(i5,i6).d(1,1)+l3_12fz(i1,i2).a(2,2)*r4_56f(i5,i6).c(2
     & ,1)
      tapptt(i1,i2,i5,i6).d(2,1)=xm(3)*(l3_12fz(i1,i2).b(2,1)*r4
     & _56f(i5,i6).d(1,1)+l3_12fz(i1,i2).d(2,2)*r4_56f(i5,i6).c(
     & 2,1))
      tapptt(i1,i2,i5,i6).a(2,2)=l3_12fz(i1,i2).c(2,1)*p123q*r4_
     & 56f(i5,i6).b(1,2)+l3_12fz(i1,i2).a(2,2)*r4_56f(i5,i6).a(2
     & ,2)
      tapptt(i1,i2,i5,i6).b(2,2)=xm(3)*(l3_12fz(i1,i2).b(2,1)*r4
     & _56f(i5,i6).b(1,2)+l3_12fz(i1,i2).d(2,2)*r4_56f(i5,i6).a(
     & 2,2))
      tapptt(i1,i2,i5,i6).c(2,2)=xm(3)*(l3_12fz(i1,i2).c(2,1)*r4
     & _56f(i5,i6).c(1,2)+l3_12fz(i1,i2).a(2,2)*r4_56f(i5,i6).d(
     & 2,2))
      tapptt(i1,i2,i5,i6).d(2,2)=l3_12fz(i1,i2).b(2,1)*r4_56f(i5
     & ,i6).c(1,2)+l3_12fz(i1,i2).d(2,2)*p123q*r4_56f(i5,i6).d(2
     & ,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn8(i1,i2,&,i5,i6).id(ide),abcd=tapptt(i1,i2,i5,i6).,m1=xm(3
* ),m2=(-xm(4)),den=((p123q-xm(3)**2)*p123k0*r3r5)
      do iut=1,2
      do jut=1,2
      cn8(i1,i2,iut,jut,i5,i6).id(ide)=(tapptt(i1,i2,i5,i6).a(iu
     & t,jut)+xm(3)*tapptt(i1,i2,i5,i6).b(iut,jut)+(-xm(4))*tapp
     & tt(i1,i2,i5,i6).c(iut,jut)+xm(3)*(-xm(4))*tapptt(i1,i2,i5
     & ,i6).d(iut,jut))/((p123q-xm(3)**2)*p123k0*r3r5)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN9 ****
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* TT -- aa=tapptt(i1,i2,i3,i4).a,bb=tapptt(i1,i2,i3,i4).b,cc=tapptt(i1,i2,i
* 3,i4).c,dd=tapptt(i1,i2,i3,i4).d,a1=l5_34f(i3,i4).a,b1=l5_34f(i3,i4).b,c1=
* l5_34f(i3,i4).c,d1=l5_34f(i3,i4).d,a2=r6_12fz(i1,i2).a,b2=r6_12fz(i1,i2).b
* ,c2=r6_12fz(i1,i2).c,d2=r6_12fz(i1,i2).d,prq=p345q,m=xm(5)
      tapptt(i1,i2,i3,i4).a(1,1)=l5_34f(i3,i4).a(1,1)*r6_12fz(i1
     & ,i2).a(1,1)+l5_34f(i3,i4).c(1,2)*p345q*r6_12fz(i1,i2).b(2
     & ,1)
      tapptt(i1,i2,i3,i4).b(1,1)=xm(5)*(l5_34f(i3,i4).d(1,1)*r6_
     & 12fz(i1,i2).a(1,1)+l5_34f(i3,i4).b(1,2)*r6_12fz(i1,i2).b(
     & 2,1))
      tapptt(i1,i2,i3,i4).c(1,1)=xm(5)*(l5_34f(i3,i4).a(1,1)*r6_
     & 12fz(i1,i2).d(1,1)+l5_34f(i3,i4).c(1,2)*r6_12fz(i1,i2).c(
     & 2,1))
      tapptt(i1,i2,i3,i4).d(1,1)=l5_34f(i3,i4).d(1,1)*p345q*r6_1
     & 2fz(i1,i2).d(1,1)+l5_34f(i3,i4).b(1,2)*r6_12fz(i1,i2).c(2
     & ,1)
      tapptt(i1,i2,i3,i4).a(1,2)=xm(5)*(l5_34f(i3,i4).a(1,1)*r6_
     & 12fz(i1,i2).b(1,2)+l5_34f(i3,i4).c(1,2)*r6_12fz(i1,i2).a(
     & 2,2))
      tapptt(i1,i2,i3,i4).b(1,2)=l5_34f(i3,i4).d(1,1)*p345q*r6_1
     & 2fz(i1,i2).b(1,2)+l5_34f(i3,i4).b(1,2)*r6_12fz(i1,i2).a(2
     & ,2)
      tapptt(i1,i2,i3,i4).c(1,2)=l5_34f(i3,i4).a(1,1)*r6_12fz(i1
     & ,i2).c(1,2)+l5_34f(i3,i4).c(1,2)*p345q*r6_12fz(i1,i2).d(2
     & ,2)
      tapptt(i1,i2,i3,i4).d(1,2)=xm(5)*(l5_34f(i3,i4).d(1,1)*r6_
     & 12fz(i1,i2).c(1,2)+l5_34f(i3,i4).b(1,2)*r6_12fz(i1,i2).d(
     & 2,2))
      tapptt(i1,i2,i3,i4).a(2,1)=xm(5)*(l5_34f(i3,i4).c(2,1)*r6_
     & 12fz(i1,i2).a(1,1)+l5_34f(i3,i4).a(2,2)*r6_12fz(i1,i2).b(
     & 2,1))
      tapptt(i1,i2,i3,i4).b(2,1)=l5_34f(i3,i4).b(2,1)*r6_12fz(i1
     & ,i2).a(1,1)+l5_34f(i3,i4).d(2,2)*p345q*r6_12fz(i1,i2).b(2
     & ,1)
      tapptt(i1,i2,i3,i4).c(2,1)=l5_34f(i3,i4).c(2,1)*p345q*r6_1
     & 2fz(i1,i2).d(1,1)+l5_34f(i3,i4).a(2,2)*r6_12fz(i1,i2).c(2
     & ,1)
      tapptt(i1,i2,i3,i4).d(2,1)=xm(5)*(l5_34f(i3,i4).b(2,1)*r6_
     & 12fz(i1,i2).d(1,1)+l5_34f(i3,i4).d(2,2)*r6_12fz(i1,i2).c(
     & 2,1))
      tapptt(i1,i2,i3,i4).a(2,2)=l5_34f(i3,i4).c(2,1)*p345q*r6_1
     & 2fz(i1,i2).b(1,2)+l5_34f(i3,i4).a(2,2)*r6_12fz(i1,i2).a(2
     & ,2)
      tapptt(i1,i2,i3,i4).b(2,2)=xm(5)*(l5_34f(i3,i4).b(2,1)*r6_
     & 12fz(i1,i2).b(1,2)+l5_34f(i3,i4).d(2,2)*r6_12fz(i1,i2).a(
     & 2,2))
      tapptt(i1,i2,i3,i4).c(2,2)=xm(5)*(l5_34f(i3,i4).c(2,1)*r6_
     & 12fz(i1,i2).c(1,2)+l5_34f(i3,i4).a(2,2)*r6_12fz(i1,i2).d(
     & 2,2))
      tapptt(i1,i2,i3,i4).d(2,2)=l5_34f(i3,i4).b(2,1)*r6_12fz(i1
     & ,i2).c(1,2)+l5_34f(i3,i4).d(2,2)*p345q*r6_12fz(i1,i2).d(2
     & ,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* mline -- res=cn9(i1,i2,i3,i4,&).id(ide),abcd=tapptt(i1,i2,i3,i4).,m1=xm(5
* ),m2=(-xm(6)),den=((p345q-xm(5)**2)*p345k0*r3r5)
      do iut=1,2
      do jut=1,2
      cn9(i1,i2,i3,i4,iut,jut).id(ide)=(tapptt(i1,i2,i3,i4).a(iu
     & t,jut)+xm(5)*tapptt(i1,i2,i3,i4).b(iut,jut)+(-xm(6))*tapp
     & tt(i1,i2,i3,i4).c(iut,jut)+xm(5)*(-xm(6))*tapptt(i1,i2,i3
     & ,i4).d(iut,jut))/((p345q-xm(5)**2)*p345k0*r3r5)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN10 ****
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* TT -- aa=tapptt(i1,i2,i3,i4).a,bb=tapptt(i1,i2,i3,i4).b,cc=tapptt(i1,i2,i
* 3,i4).c,dd=tapptt(i1,i2,i3,i4).d,a1=l5_12fz(i1,i2).a,b1=l5_12fz(i1,i2).b,c
* 1=l5_12fz(i1,i2).c,d1=l5_12fz(i1,i2).d,a2=r6_34f(i3,i4).a,b2=r6_34f(i3,i4)
* .b,c2=r6_34f(i3,i4).c,d2=r6_34f(i3,i4).d,prq=p125q,m=xm(5)
      tapptt(i1,i2,i3,i4).a(1,1)=l5_12fz(i1,i2).a(1,1)*r6_34f(i3
     & ,i4).a(1,1)+l5_12fz(i1,i2).c(1,2)*p125q*r6_34f(i3,i4).b(2
     & ,1)
      tapptt(i1,i2,i3,i4).b(1,1)=xm(5)*(l5_12fz(i1,i2).d(1,1)*r6
     & _34f(i3,i4).a(1,1)+l5_12fz(i1,i2).b(1,2)*r6_34f(i3,i4).b(
     & 2,1))
      tapptt(i1,i2,i3,i4).c(1,1)=xm(5)*(l5_12fz(i1,i2).a(1,1)*r6
     & _34f(i3,i4).d(1,1)+l5_12fz(i1,i2).c(1,2)*r6_34f(i3,i4).c(
     & 2,1))
      tapptt(i1,i2,i3,i4).d(1,1)=l5_12fz(i1,i2).d(1,1)*p125q*r6_
     & 34f(i3,i4).d(1,1)+l5_12fz(i1,i2).b(1,2)*r6_34f(i3,i4).c(2
     & ,1)
      tapptt(i1,i2,i3,i4).a(1,2)=xm(5)*(l5_12fz(i1,i2).a(1,1)*r6
     & _34f(i3,i4).b(1,2)+l5_12fz(i1,i2).c(1,2)*r6_34f(i3,i4).a(
     & 2,2))
      tapptt(i1,i2,i3,i4).b(1,2)=l5_12fz(i1,i2).d(1,1)*p125q*r6_
     & 34f(i3,i4).b(1,2)+l5_12fz(i1,i2).b(1,2)*r6_34f(i3,i4).a(2
     & ,2)
      tapptt(i1,i2,i3,i4).c(1,2)=l5_12fz(i1,i2).a(1,1)*r6_34f(i3
     & ,i4).c(1,2)+l5_12fz(i1,i2).c(1,2)*p125q*r6_34f(i3,i4).d(2
     & ,2)
      tapptt(i1,i2,i3,i4).d(1,2)=xm(5)*(l5_12fz(i1,i2).d(1,1)*r6
     & _34f(i3,i4).c(1,2)+l5_12fz(i1,i2).b(1,2)*r6_34f(i3,i4).d(
     & 2,2))
      tapptt(i1,i2,i3,i4).a(2,1)=xm(5)*(l5_12fz(i1,i2).c(2,1)*r6
     & _34f(i3,i4).a(1,1)+l5_12fz(i1,i2).a(2,2)*r6_34f(i3,i4).b(
     & 2,1))
      tapptt(i1,i2,i3,i4).b(2,1)=l5_12fz(i1,i2).b(2,1)*r6_34f(i3
     & ,i4).a(1,1)+l5_12fz(i1,i2).d(2,2)*p125q*r6_34f(i3,i4).b(2
     & ,1)
      tapptt(i1,i2,i3,i4).c(2,1)=l5_12fz(i1,i2).c(2,1)*p125q*r6_
     & 34f(i3,i4).d(1,1)+l5_12fz(i1,i2).a(2,2)*r6_34f(i3,i4).c(2
     & ,1)
      tapptt(i1,i2,i3,i4).d(2,1)=xm(5)*(l5_12fz(i1,i2).b(2,1)*r6
     & _34f(i3,i4).d(1,1)+l5_12fz(i1,i2).d(2,2)*r6_34f(i3,i4).c(
     & 2,1))
      tapptt(i1,i2,i3,i4).a(2,2)=l5_12fz(i1,i2).c(2,1)*p125q*r6_
     & 34f(i3,i4).b(1,2)+l5_12fz(i1,i2).a(2,2)*r6_34f(i3,i4).a(2
     & ,2)
      tapptt(i1,i2,i3,i4).b(2,2)=xm(5)*(l5_12fz(i1,i2).b(2,1)*r6
     & _34f(i3,i4).b(1,2)+l5_12fz(i1,i2).d(2,2)*r6_34f(i3,i4).a(
     & 2,2))
      tapptt(i1,i2,i3,i4).c(2,2)=xm(5)*(l5_12fz(i1,i2).c(2,1)*r6
     & _34f(i3,i4).c(1,2)+l5_12fz(i1,i2).a(2,2)*r6_34f(i3,i4).d(
     & 2,2))
      tapptt(i1,i2,i3,i4).d(2,2)=l5_12fz(i1,i2).b(2,1)*r6_34f(i3
     & ,i4).c(1,2)+l5_12fz(i1,i2).d(2,2)*p125q*r6_34f(i3,i4).d(2
     & ,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* mline -- res=cn10(i1,i2,i3,i4,&).id(ide),abcd=tapptt(i1,i2,i3,i4).,m1=xm(
* 5),m2=(-xm(6)),den=((p125q-xm(5)**2)*p125k0*r3r5)
      do iut=1,2
      do jut=1,2
      cn10(i1,i2,i3,i4,iut,jut).id(ide)=(tapptt(i1,i2,i3,i4).a(i
     & ut,jut)+xm(5)*tapptt(i1,i2,i3,i4).b(iut,jut)+(-xm(6))*tap
     & ptt(i1,i2,i3,i4).c(iut,jut)+xm(5)*(-xm(6))*tapptt(i1,i2,i
     & 3,i4).d(iut,jut))/((p125q-xm(5)**2)*p125k0*r3r5)
      enddo
      enddo
      end do
      end do
      end do
      end do
      endif !iqu
*el2
      endif !izz et al.
      endif !igamgam
*endel2
*el2
          if (i34e.eq.1.AND.izz.NE.1.AND.izg.NE.1.AND.izg34.NE.1
     &        .AND.izg56.NE.1.AND.inc08.NE.1) then
*endel2
****          24 con coppia 34 elettrone (6)
*******il programma  entro il prossimo dotab e' ripetuto in
*              if (iid.eq.1.and.i34e.eq.1)
* quqd -- p=p3,q=p2
      quqd=p3(0)*p2(0)-p3(1)*p2(1)-p3(2)*p2(2)-p3(3)*p2(3)
      df=-2.d0*rme**2+2.d0*quqd
      dz=(-2.d0*rme**2+2.d0*quqd)*czipr+rmz2-ccz
      rcr=fer/df
      rcl=fel/df
* T -- qu=p3,qd=p2,v=0,a=v23f(0).a,b=v23f(0).b,c=v23f(0).c,d=v23f(0).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p3(2)*p2(3)+p2(2)*p3(3)
      ceps_0=eps_0*cim
      ceps_1=p3(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p3k0*p2(0)+p2k0*p3(0)
      v23f(0).a(1,1)=rcr*(auxa+ceps_0)
      v23f(0).a(2,2)=rcl*(auxa-ceps_0)
      v23f(0).b(1,2)=-rcl*(p2(2)+ceps_2)
      v23f(0).b(2,1)=rcr*(p2(2)-ceps_2)
      v23f(0).c(1,2)=rcr*(p3(2)+ceps_1)
      v23f(0).c(2,1)=rcl*(-p3(2)+ceps_1)
      v23f(0).d(1,1)=rcl
      v23f(0).d(2,2)=rcr
* T -- qu=p3,qd=p2,v=1,a=v23f(1).a,b=v23f(1).b,c=v23f(1).c,d=v23f(1).d,cr=r
* cr,cl=rcl,nsum=0
      auxa=-quqd+p3k0*p2(1)+p2k0*p3(1)
      v23f(1).a(1,1)=rcr*(auxa+ceps_0)
      v23f(1).a(2,2)=rcl*(auxa-ceps_0)
      v23f(1).b(1,2)=-rcl*(p2(2)+ceps_2)
      v23f(1).b(2,1)=rcr*(p2(2)-ceps_2)
      v23f(1).c(1,2)=rcr*(p3(2)+ceps_1)
      v23f(1).c(2,1)=rcl*(-p3(2)+ceps_1)
      v23f(1).d(1,1)=rcl
      v23f(1).d(2,2)=rcr
* T -- qu=p3,qd=p2,v=2,a=v23f(2).a,b=v23f(2).b,c=v23f(2).c,d=v23f(2).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p3k0*p2(3)+p2k0*p3(3)
      ceps_0=eps_0*cim
      auxa=p3k0*p2(2)+p2k0*p3(2)
      v23f(2).a(1,1)=rcr*(auxa+ceps_0)
      v23f(2).a(2,2)=rcl*(auxa-ceps_0)
      v23f(2).b(1,2)=-rcl*p2k0
      v23f(2).b(2,1)=rcr*p2k0
      v23f(2).c(1,2)=rcr*p3k0
      v23f(2).c(2,1)=-rcl*p3k0
* T -- qu=p3,qd=p2,v=3,a=v23f(3).a,b=v23f(3).b,c=v23f(3).c,d=v23f(3).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=p3k0*p2(2)-p2k0*p3(2)
      ceps_0=eps_0*cim
      ceps_1=p3k0*cim
      ceps_2=p2k0*cim
      auxa=+p3k0*p2(3)+p2k0*p3(3)
      v23f(3).a(1,1)=rcr*(auxa+ceps_0)
      v23f(3).a(2,2)=rcl*(auxa-ceps_0)
      v23f(3).b(1,2)=-rcl*ceps_2
      v23f(3).b(2,1)=-rcr*ceps_2
      v23f(3).c(1,2)=rcr*ceps_1
      v23f(3).c(2,1)=rcl*ceps_1
      do m=0,3
* mline -- res=c23f(&).e(m),abcd=v23f(m).,m1=rme,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c23f(iut,jut).e(m)=v23f(m).a(iut,jut)+rme*v23f(m).b(iut,ju
     & t)+rme*v23f(m).c(iut,jut)+rme*rme*v23f(m).d(iut,jut)
      enddo
      enddo
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
      rcr=zer/dz
      rcl=zel/dz
* T -- qu=p3,qd=p2,v=0,a=v23z(0).a,b=v23z(0).b,c=v23z(0).c,d=v23z(0).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p3(2)*p2(3)+p2(2)*p3(3)
      ceps_0=eps_0*cim
      ceps_1=p3(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p3k0*p2(0)+p2k0*p3(0)
      v23z(0).a(1,1)=rcr*(auxa+ceps_0)
      v23z(0).a(2,2)=rcl*(auxa-ceps_0)
      v23z(0).b(1,2)=-rcl*(p2(2)+ceps_2)
      v23z(0).b(2,1)=rcr*(p2(2)-ceps_2)
      v23z(0).c(1,2)=rcr*(p3(2)+ceps_1)
      v23z(0).c(2,1)=rcl*(-p3(2)+ceps_1)
      v23z(0).d(1,1)=rcl
      v23z(0).d(2,2)=rcr
* T -- qu=p3,qd=p2,v=1,a=v23z(1).a,b=v23z(1).b,c=v23z(1).c,d=v23z(1).d,cr=r
* cr,cl=rcl,nsum=0
      auxa=-quqd+p3k0*p2(1)+p2k0*p3(1)
      v23z(1).a(1,1)=rcr*(auxa+ceps_0)
      v23z(1).a(2,2)=rcl*(auxa-ceps_0)
      v23z(1).b(1,2)=-rcl*(p2(2)+ceps_2)
      v23z(1).b(2,1)=rcr*(p2(2)-ceps_2)
      v23z(1).c(1,2)=rcr*(p3(2)+ceps_1)
      v23z(1).c(2,1)=rcl*(-p3(2)+ceps_1)
      v23z(1).d(1,1)=rcl
      v23z(1).d(2,2)=rcr
* T -- qu=p3,qd=p2,v=2,a=v23z(2).a,b=v23z(2).b,c=v23z(2).c,d=v23z(2).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p3k0*p2(3)+p2k0*p3(3)
      ceps_0=eps_0*cim
      auxa=p3k0*p2(2)+p2k0*p3(2)
      v23z(2).a(1,1)=rcr*(auxa+ceps_0)
      v23z(2).a(2,2)=rcl*(auxa-ceps_0)
      v23z(2).b(1,2)=-rcl*p2k0
      v23z(2).b(2,1)=rcr*p2k0
      v23z(2).c(1,2)=rcr*p3k0
      v23z(2).c(2,1)=-rcl*p3k0
* T -- qu=p3,qd=p2,v=3,a=v23z(3).a,b=v23z(3).b,c=v23z(3).c,d=v23z(3).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=p3k0*p2(2)-p2k0*p3(2)
      ceps_0=eps_0*cim
      ceps_1=p3k0*cim
      ceps_2=p2k0*cim
      auxa=+p3k0*p2(3)+p2k0*p3(3)
      v23z(3).a(1,1)=rcr*(auxa+ceps_0)
      v23z(3).a(2,2)=rcl*(auxa-ceps_0)
      v23z(3).b(1,2)=-rcl*ceps_2
      v23z(3).b(2,1)=-rcr*ceps_2
      v23z(3).c(1,2)=rcr*ceps_1
      v23z(3).c(2,1)=rcl*ceps_1
      do m=0,3
* mline -- res=c23z(&).e(m),abcd=v23z(m).,m1=rme,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c23z(iut,jut).e(m)=v23z(m).a(iut,jut)+rme*v23z(m).b(iut,ju
     & t)+rme*v23z(m).c(iut,jut)+rme*rme*v23z(m).d(iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i3=1,2
        do i2=1,2
          c23z(i3,i2).v=c23z(i3,i2).e(0)*p23(0)
          do i=1,3
            c23z(i3,i2).v=c23z(i3,i2).v-
     &      c23z(i3,i2).e(i)*p23(i)
          enddo
        enddo
      enddo
      do i3=1,2
        do i2=1,2
          do mu=0,3
            c23z(i3,i2).e(mu)=c23z(i3,i2).e(mu)-p23(mu)
     &      *c23z(i3,i2).v/rmz2
          enddo
        enddo
      enddo
*el2
      endif !igamgam
*endel2
****
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23f(i3,i2).e
      c23f(i3,i2).ek0=c23f(i3,i2).e(0)-c23f(i3,i2).e(1)
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23z(i3,i2).e
      c23z(i3,i2).ek0=c23z(i3,i2).e(0)-c23z(i3,i2).e(1)
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
* quqd -- p=p1,q=p4
      quqd=p1(0)*p4(0)-p1(1)*p4(1)-p1(2)*p4(2)-p1(3)*p4(3)
      df=-2.d0*rme**2+2.d0*quqd
      dz=(-2.d0*rme**2+2.d0*quqd)*czipr+rmz2-ccz
      rcr=fer/df
      rcl=fel/df
* T -- qu=p1,qd=p4,v=0,a=v14f(0).a,b=v14f(0).b,c=v14f(0).c,d=v14f(0).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p1(2)*p4(3)+p4(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p4(3)*cim
      auxa=-quqd+p1k0*p4(0)+p4k0*p1(0)
      v14f(0).a(1,1)=rcr*(auxa+ceps_0)
      v14f(0).a(2,2)=rcl*(auxa-ceps_0)
      v14f(0).b(1,2)=-rcl*(p4(2)+ceps_2)
      v14f(0).b(2,1)=rcr*(p4(2)-ceps_2)
      v14f(0).c(1,2)=rcr*(p1(2)+ceps_1)
      v14f(0).c(2,1)=rcl*(-p1(2)+ceps_1)
      v14f(0).d(1,1)=rcl
      v14f(0).d(2,2)=rcr
* T -- qu=p1,qd=p4,v=1,a=v14f(1).a,b=v14f(1).b,c=v14f(1).c,d=v14f(1).d,cr=r
* cr,cl=rcl,nsum=0
      auxa=-quqd+p1k0*p4(1)+p4k0*p1(1)
      v14f(1).a(1,1)=rcr*(auxa+ceps_0)
      v14f(1).a(2,2)=rcl*(auxa-ceps_0)
      v14f(1).b(1,2)=-rcl*(p4(2)+ceps_2)
      v14f(1).b(2,1)=rcr*(p4(2)-ceps_2)
      v14f(1).c(1,2)=rcr*(p1(2)+ceps_1)
      v14f(1).c(2,1)=rcl*(-p1(2)+ceps_1)
      v14f(1).d(1,1)=rcl
      v14f(1).d(2,2)=rcr
* T -- qu=p1,qd=p4,v=2,a=v14f(2).a,b=v14f(2).b,c=v14f(2).c,d=v14f(2).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p1k0*p4(3)+p4k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p4(2)+p4k0*p1(2)
      v14f(2).a(1,1)=rcr*(auxa+ceps_0)
      v14f(2).a(2,2)=rcl*(auxa-ceps_0)
      v14f(2).b(1,2)=-rcl*p4k0
      v14f(2).b(2,1)=rcr*p4k0
      v14f(2).c(1,2)=rcr*p1k0
      v14f(2).c(2,1)=-rcl*p1k0
* T -- qu=p1,qd=p4,v=3,a=v14f(3).a,b=v14f(3).b,c=v14f(3).c,d=v14f(3).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=p1k0*p4(2)-p4k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p4k0*cim
      auxa=+p1k0*p4(3)+p4k0*p1(3)
      v14f(3).a(1,1)=rcr*(auxa+ceps_0)
      v14f(3).a(2,2)=rcl*(auxa-ceps_0)
      v14f(3).b(1,2)=-rcl*ceps_2
      v14f(3).b(2,1)=-rcr*ceps_2
      v14f(3).c(1,2)=rcr*ceps_1
      v14f(3).c(2,1)=rcl*ceps_1
      do m=0,3
* mline -- res=c14f(&).e(m),abcd=v14f(m).,m1=(-rme),m2=(-rme),den=0
      do iut=1,2
      do jut=1,2
      c14f(iut,jut).e(m)=v14f(m).a(iut,jut)+(-rme)*v14f(m).b(iut
     & ,jut)+(-rme)*v14f(m).c(iut,jut)+(-rme)*(-rme)*v14f(m).d(i
     & ut,jut)
      enddo
      enddo
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
      rcr=zer/dz
      rcl=zel/dz
* T -- qu=p1,qd=p4,v=0,a=v14z(0).a,b=v14z(0).b,c=v14z(0).c,d=v14z(0).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p1(2)*p4(3)+p4(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p4(3)*cim
      auxa=-quqd+p1k0*p4(0)+p4k0*p1(0)
      v14z(0).a(1,1)=rcr*(auxa+ceps_0)
      v14z(0).a(2,2)=rcl*(auxa-ceps_0)
      v14z(0).b(1,2)=-rcl*(p4(2)+ceps_2)
      v14z(0).b(2,1)=rcr*(p4(2)-ceps_2)
      v14z(0).c(1,2)=rcr*(p1(2)+ceps_1)
      v14z(0).c(2,1)=rcl*(-p1(2)+ceps_1)
      v14z(0).d(1,1)=rcl
      v14z(0).d(2,2)=rcr
* T -- qu=p1,qd=p4,v=1,a=v14z(1).a,b=v14z(1).b,c=v14z(1).c,d=v14z(1).d,cr=r
* cr,cl=rcl,nsum=0
      auxa=-quqd+p1k0*p4(1)+p4k0*p1(1)
      v14z(1).a(1,1)=rcr*(auxa+ceps_0)
      v14z(1).a(2,2)=rcl*(auxa-ceps_0)
      v14z(1).b(1,2)=-rcl*(p4(2)+ceps_2)
      v14z(1).b(2,1)=rcr*(p4(2)-ceps_2)
      v14z(1).c(1,2)=rcr*(p1(2)+ceps_1)
      v14z(1).c(2,1)=rcl*(-p1(2)+ceps_1)
      v14z(1).d(1,1)=rcl
      v14z(1).d(2,2)=rcr
* T -- qu=p1,qd=p4,v=2,a=v14z(2).a,b=v14z(2).b,c=v14z(2).c,d=v14z(2).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p1k0*p4(3)+p4k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p4(2)+p4k0*p1(2)
      v14z(2).a(1,1)=rcr*(auxa+ceps_0)
      v14z(2).a(2,2)=rcl*(auxa-ceps_0)
      v14z(2).b(1,2)=-rcl*p4k0
      v14z(2).b(2,1)=rcr*p4k0
      v14z(2).c(1,2)=rcr*p1k0
      v14z(2).c(2,1)=-rcl*p1k0
* T -- qu=p1,qd=p4,v=3,a=v14z(3).a,b=v14z(3).b,c=v14z(3).c,d=v14z(3).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=p1k0*p4(2)-p4k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p4k0*cim
      auxa=+p1k0*p4(3)+p4k0*p1(3)
      v14z(3).a(1,1)=rcr*(auxa+ceps_0)
      v14z(3).a(2,2)=rcl*(auxa-ceps_0)
      v14z(3).b(1,2)=-rcl*ceps_2
      v14z(3).b(2,1)=-rcr*ceps_2
      v14z(3).c(1,2)=rcr*ceps_1
      v14z(3).c(2,1)=rcl*ceps_1
      do m=0,3
* mline -- res=c14z(&).e(m),abcd=v14z(m).,m1=(-rme),m2=(-rme),den=0
      do iut=1,2
      do jut=1,2
      c14z(iut,jut).e(m)=v14z(m).a(iut,jut)+(-rme)*v14z(m).b(iut
     & ,jut)+(-rme)*v14z(m).c(iut,jut)+(-rme)*(-rme)*v14z(m).d(i
     & ut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i1=1,2
        do i4=1,2
          c14z(i1,i4).v=c14z(i1,i4).e(0)*p14(0)
          do i=1,3
            c14z(i1,i4).v=c14z(i1,i4).v-
     &      c14z(i1,i4).e(i)*p14(i)
          enddo
        enddo
      enddo
      do i1=1,2
        do i4=1,2
          do mu=0,3
            c14z(i1,i4).e(mu)=c14z(i1,i4).e(mu)-p14(mu)
     &      *c14z(i1,i4).v/rmz2
          enddo
        enddo
      enddo
*el2
      ENDIF !igamgam
*endel2
****
      do i1=1,2
      do i4=1,2
* pk0 -- p=c14f(i1,i4).e
      c14f(i1,i4).ek0=c14f(i1,i4).e(0)-c14f(i1,i4).e(1)
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
      do i1=1,2
      do i4=1,2
* pk0 -- p=c14z(i1,i4).e
      c14z(i1,i4).ek0=c14z(i1,i4).e(0)-c14z(i1,i4).e(1)
      end do
      end do
**** attaccamento di c23f(2) a 4
* quqd -- p=p156,q=p4
      quqd=p156(0)*p4(0)-p156(1)*p4(1)-p156(2)*p4(2)-p156(3)*p4(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p156,qd=p4,v=c23f(i3,i2).e,a=r4_23fz(i3,i2).a,b=r4_23fz(i3,i2).b,
* c=r4_23fz(i3,i2).c,d=r4_23fz(i3,i2).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c23f(i3,i2).ek0*(p156(2)*p4(3)-p4(2)*p156(3))+p156
     & k0*(c23f(i3,i2).e(2)*p4(3)-p4(2)*c23f(i3,i2).e(3))-p4k0*(
     & c23f(i3,i2).e(2)*p156(3)-p156(2)*c23f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23f(i3,i2).e(3)*p156k0+p156(3)*c23f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23f(i3,i2).e(3)*p4k0+p4(3)*c23f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23f(i3,i2).e(0)*p156(0)-c23f(i3,i2).e(1)*p156(1)-c23
     & f(i3,i2).e(2)*p156(2)-c23f(i3,i2).e(3)*p156(3)
      cvqd=c23f(i3,i2).e(0)*p4(0)-c23f(i3,i2).e(1)*p4(1)-c23f(i3
     & ,i2).e(2)*p4(2)-c23f(i3,i2).e(3)*p4(3)
      cauxa=-c23f(i3,i2).ek0*quqd+p156k0*cvqd+p4k0*cvqu
      cauxb=-c23f(i3,i2).ek0*p4(2)+p4k0*c23f(i3,i2).e(2)
      cauxc=+c23f(i3,i2).ek0*p156(2)-p156k0*c23f(i3,i2).e(2)
      r4_23fz(i3,i2).a(1,1)=fer*(cauxa+ceps_0)
      r4_23fz(i3,i2).a(2,2)=fel*(cauxa-ceps_0)
      r4_23fz(i3,i2).b(1,2)=fel*(cauxb-ceps_2)
      r4_23fz(i3,i2).b(2,1)=fer*(-cauxb-ceps_2)
      r4_23fz(i3,i2).c(1,2)=fer*(cauxc+ceps_1)
      r4_23fz(i3,i2).c(2,1)=fel*(-cauxc+ceps_1)
      r4_23fz(i3,i2).d(1,1)=fel*c23f(i3,i2).ek0
      r4_23fz(i3,i2).d(2,2)=fer*c23f(i3,i2).ek0
      end do
      end do
**** attaccamento di c23z(2) a 4
      do i3=1,2
      do i2=1,2
* T -- qu=p156,qd=p4,v=c23z(i3,i2).e,a=r4_23fz(i3,i2).a,b=r4_23fz(i3,i2).b,
* c=r4_23fz(i3,i2).c,d=r4_23fz(i3,i2).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c23z(i3,i2).ek0*(p156(2)*p4(3)-p4(2)*p156(3))+p156
     & k0*(c23z(i3,i2).e(2)*p4(3)-p4(2)*c23z(i3,i2).e(3))-p4k0*(
     & c23z(i3,i2).e(2)*p156(3)-p156(2)*c23z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23z(i3,i2).e(3)*p156k0+p156(3)*c23z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23z(i3,i2).e(3)*p4k0+p4(3)*c23z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23z(i3,i2).e(0)*p156(0)-c23z(i3,i2).e(1)*p156(1)-c23
     & z(i3,i2).e(2)*p156(2)-c23z(i3,i2).e(3)*p156(3)
      cvqd=c23z(i3,i2).e(0)*p4(0)-c23z(i3,i2).e(1)*p4(1)-c23z(i3
     & ,i2).e(2)*p4(2)-c23z(i3,i2).e(3)*p4(3)
      cauxa=-c23z(i3,i2).ek0*quqd+p156k0*cvqd+p4k0*cvqu
      cauxb=-c23z(i3,i2).ek0*p4(2)+p4k0*c23z(i3,i2).e(2)
      cauxc=+c23z(i3,i2).ek0*p156(2)-p156k0*c23z(i3,i2).e(2)
      r4_23fz(i3,i2).a(1,1)=r4_23fz(i3,i2).a(1,1)+zer*(cauxa+cep
     & s_0)
      r4_23fz(i3,i2).a(2,2)=r4_23fz(i3,i2).a(2,2)+zel*(cauxa-cep
     & s_0)
      r4_23fz(i3,i2).b(1,2)=r4_23fz(i3,i2).b(1,2)+zel*(cauxb-cep
     & s_2)
      r4_23fz(i3,i2).b(2,1)=r4_23fz(i3,i2).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      r4_23fz(i3,i2).c(1,2)=r4_23fz(i3,i2).c(1,2)+zer*(cauxc+cep
     & s_1)
      r4_23fz(i3,i2).c(2,1)=r4_23fz(i3,i2).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      r4_23fz(i3,i2).d(1,1)=r4_23fz(i3,i2).d(1,1)+zel*c23z(i3,i2
     & ).ek0
      r4_23fz(i3,i2).d(2,2)=r4_23fz(i3,i2).d(2,2)+zer*c23z(i3,i2
     & ).ek0
      end do
      end do
**** attaccamento di c14f(2) a 2
* quqd -- p=p356,q=p2
      quqd=p356(0)*p2(0)-p356(1)*p2(1)-p356(2)*p2(2)-p356(3)*p2(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p356,qd=p2,v=c14f(i1,i4).e,a=r2_14fz(i1,i4).a,b=r2_14fz(i1,i4).b,
* c=r2_14fz(i1,i4).c,d=r2_14fz(i1,i4).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c14f(i1,i4).ek0*(p356(2)*p2(3)-p2(2)*p356(3))+p356
     & k0*(c14f(i1,i4).e(2)*p2(3)-p2(2)*c14f(i1,i4).e(3))-p2k0*(
     & c14f(i1,i4).e(2)*p356(3)-p356(2)*c14f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14f(i1,i4).e(3)*p356k0+p356(3)*c14f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14f(i1,i4).e(3)*p2k0+p2(3)*c14f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14f(i1,i4).e(0)*p356(0)-c14f(i1,i4).e(1)*p356(1)-c14
     & f(i1,i4).e(2)*p356(2)-c14f(i1,i4).e(3)*p356(3)
      cvqd=c14f(i1,i4).e(0)*p2(0)-c14f(i1,i4).e(1)*p2(1)-c14f(i1
     & ,i4).e(2)*p2(2)-c14f(i1,i4).e(3)*p2(3)
      cauxa=-c14f(i1,i4).ek0*quqd+p356k0*cvqd+p2k0*cvqu
      cauxb=-c14f(i1,i4).ek0*p2(2)+p2k0*c14f(i1,i4).e(2)
      cauxc=+c14f(i1,i4).ek0*p356(2)-p356k0*c14f(i1,i4).e(2)
      r2_14fz(i1,i4).a(1,1)=fer*(cauxa+ceps_0)
      r2_14fz(i1,i4).a(2,2)=fel*(cauxa-ceps_0)
      r2_14fz(i1,i4).b(1,2)=fel*(cauxb-ceps_2)
      r2_14fz(i1,i4).b(2,1)=fer*(-cauxb-ceps_2)
      r2_14fz(i1,i4).c(1,2)=fer*(cauxc+ceps_1)
      r2_14fz(i1,i4).c(2,1)=fel*(-cauxc+ceps_1)
      r2_14fz(i1,i4).d(1,1)=fel*c14f(i1,i4).ek0
      r2_14fz(i1,i4).d(2,2)=fer*c14f(i1,i4).ek0
      end do
      end do
**** attaccamento di c14z(2) a 2
      do i1=1,2
      do i4=1,2
* T -- qu=p356,qd=p2,v=c14z(i1,i4).e,a=r2_14fz(i1,i4).a,b=r2_14fz(i1,i4).b,
* c=r2_14fz(i1,i4).c,d=r2_14fz(i1,i4).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c14z(i1,i4).ek0*(p356(2)*p2(3)-p2(2)*p356(3))+p356
     & k0*(c14z(i1,i4).e(2)*p2(3)-p2(2)*c14z(i1,i4).e(3))-p2k0*(
     & c14z(i1,i4).e(2)*p356(3)-p356(2)*c14z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14z(i1,i4).e(3)*p356k0+p356(3)*c14z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14z(i1,i4).e(3)*p2k0+p2(3)*c14z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14z(i1,i4).e(0)*p356(0)-c14z(i1,i4).e(1)*p356(1)-c14
     & z(i1,i4).e(2)*p356(2)-c14z(i1,i4).e(3)*p356(3)
      cvqd=c14z(i1,i4).e(0)*p2(0)-c14z(i1,i4).e(1)*p2(1)-c14z(i1
     & ,i4).e(2)*p2(2)-c14z(i1,i4).e(3)*p2(3)
      cauxa=-c14z(i1,i4).ek0*quqd+p356k0*cvqd+p2k0*cvqu
      cauxb=-c14z(i1,i4).ek0*p2(2)+p2k0*c14z(i1,i4).e(2)
      cauxc=+c14z(i1,i4).ek0*p356(2)-p356k0*c14z(i1,i4).e(2)
      r2_14fz(i1,i4).a(1,1)=r2_14fz(i1,i4).a(1,1)+zer*(cauxa+cep
     & s_0)
      r2_14fz(i1,i4).a(2,2)=r2_14fz(i1,i4).a(2,2)+zel*(cauxa-cep
     & s_0)
      r2_14fz(i1,i4).b(1,2)=r2_14fz(i1,i4).b(1,2)+zel*(cauxb-cep
     & s_2)
      r2_14fz(i1,i4).b(2,1)=r2_14fz(i1,i4).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      r2_14fz(i1,i4).c(1,2)=r2_14fz(i1,i4).c(1,2)+zer*(cauxc+cep
     & s_1)
      r2_14fz(i1,i4).c(2,1)=r2_14fz(i1,i4).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      r2_14fz(i1,i4).d(1,1)=r2_14fz(i1,i4).d(1,1)+zel*c14z(i1,i4
     & ).ek0
      r2_14fz(i1,i4).d(2,2)=r2_14fz(i1,i4).d(2,2)+zer*c14z(i1,i4
     & ).ek0
      end do
      end do
**** attaccamento di c23f(2) a 1
* quqd -- p=p1,q=p123
      quqd=p1(0)*p123(0)-p1(1)*p123(1)-p1(2)*p123(2)-p1(3)*p123(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p1,qd=p123,v=c23f(i3,i2).e,a=l1_23fz(i3,i2).a,b=l1_23fz(i3,i2).b,
* c=l1_23fz(i3,i2).c,d=l1_23fz(i3,i2).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c23f(i3,i2).ek0*(p1(2)*p123(3)-p123(2)*p1(3))+p1k0
     & *(c23f(i3,i2).e(2)*p123(3)-p123(2)*c23f(i3,i2).e(3))-p123
     & k0*(c23f(i3,i2).e(2)*p1(3)-p1(2)*c23f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23f(i3,i2).e(3)*p1k0+p1(3)*c23f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23f(i3,i2).e(3)*p123k0+p123(3)*c23f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23f(i3,i2).e(0)*p1(0)-c23f(i3,i2).e(1)*p1(1)-c23f(i3
     & ,i2).e(2)*p1(2)-c23f(i3,i2).e(3)*p1(3)
      cvqd=c23f(i3,i2).e(0)*p123(0)-c23f(i3,i2).e(1)*p123(1)-c23
     & f(i3,i2).e(2)*p123(2)-c23f(i3,i2).e(3)*p123(3)
      cauxa=-c23f(i3,i2).ek0*quqd+p1k0*cvqd+p123k0*cvqu
      cauxb=-c23f(i3,i2).ek0*p123(2)+p123k0*c23f(i3,i2).e(2)
      cauxc=+c23f(i3,i2).ek0*p1(2)-p1k0*c23f(i3,i2).e(2)
      l1_23fz(i3,i2).a(1,1)=fer*(cauxa+ceps_0)
      l1_23fz(i3,i2).a(2,2)=fel*(cauxa-ceps_0)
      l1_23fz(i3,i2).b(1,2)=fel*(cauxb-ceps_2)
      l1_23fz(i3,i2).b(2,1)=fer*(-cauxb-ceps_2)
      l1_23fz(i3,i2).c(1,2)=fer*(cauxc+ceps_1)
      l1_23fz(i3,i2).c(2,1)=fel*(-cauxc+ceps_1)
      l1_23fz(i3,i2).d(1,1)=fel*c23f(i3,i2).ek0
      l1_23fz(i3,i2).d(2,2)=fer*c23f(i3,i2).ek0
      end do
      end do
**** attaccamento di c23z(2) a 1
      do i3=1,2
      do i2=1,2
* T -- qu=p1,qd=p123,v=c23z(i3,i2).e,a=l1_23fz(i3,i2).a,b=l1_23fz(i3,i2).b,
* c=l1_23fz(i3,i2).c,d=l1_23fz(i3,i2).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c23z(i3,i2).ek0*(p1(2)*p123(3)-p123(2)*p1(3))+p1k0
     & *(c23z(i3,i2).e(2)*p123(3)-p123(2)*c23z(i3,i2).e(3))-p123
     & k0*(c23z(i3,i2).e(2)*p1(3)-p1(2)*c23z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23z(i3,i2).e(3)*p1k0+p1(3)*c23z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23z(i3,i2).e(3)*p123k0+p123(3)*c23z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23z(i3,i2).e(0)*p1(0)-c23z(i3,i2).e(1)*p1(1)-c23z(i3
     & ,i2).e(2)*p1(2)-c23z(i3,i2).e(3)*p1(3)
      cvqd=c23z(i3,i2).e(0)*p123(0)-c23z(i3,i2).e(1)*p123(1)-c23
     & z(i3,i2).e(2)*p123(2)-c23z(i3,i2).e(3)*p123(3)
      cauxa=-c23z(i3,i2).ek0*quqd+p1k0*cvqd+p123k0*cvqu
      cauxb=-c23z(i3,i2).ek0*p123(2)+p123k0*c23z(i3,i2).e(2)
      cauxc=+c23z(i3,i2).ek0*p1(2)-p1k0*c23z(i3,i2).e(2)
      l1_23fz(i3,i2).a(1,1)=l1_23fz(i3,i2).a(1,1)+zer*(cauxa+cep
     & s_0)
      l1_23fz(i3,i2).a(2,2)=l1_23fz(i3,i2).a(2,2)+zel*(cauxa-cep
     & s_0)
      l1_23fz(i3,i2).b(1,2)=l1_23fz(i3,i2).b(1,2)+zel*(cauxb-cep
     & s_2)
      l1_23fz(i3,i2).b(2,1)=l1_23fz(i3,i2).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      l1_23fz(i3,i2).c(1,2)=l1_23fz(i3,i2).c(1,2)+zer*(cauxc+cep
     & s_1)
      l1_23fz(i3,i2).c(2,1)=l1_23fz(i3,i2).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      l1_23fz(i3,i2).d(1,1)=l1_23fz(i3,i2).d(1,1)+zel*c23z(i3,i2
     & ).ek0
      l1_23fz(i3,i2).d(2,2)=l1_23fz(i3,i2).d(2,2)+zer*c23z(i3,i2
     & ).ek0
      end do
      end do
**** attaccamento di c14f(2) a 3
* quqd -- p=p3,q=p134
      quqd=p3(0)*p134(0)-p3(1)*p134(1)-p3(2)*p134(2)-p3(3)*p134(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p3,qd=p134,v=c14f(i1,i4).e,a=l3_14fz(i1,i4).a,b=l3_14fz(i1,i4).b,
* c=l3_14fz(i1,i4).c,d=l3_14fz(i1,i4).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c14f(i1,i4).ek0*(p3(2)*p134(3)-p134(2)*p3(3))+p3k0
     & *(c14f(i1,i4).e(2)*p134(3)-p134(2)*c14f(i1,i4).e(3))-p134
     & k0*(c14f(i1,i4).e(2)*p3(3)-p3(2)*c14f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14f(i1,i4).e(3)*p3k0+p3(3)*c14f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14f(i1,i4).e(3)*p134k0+p134(3)*c14f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14f(i1,i4).e(0)*p3(0)-c14f(i1,i4).e(1)*p3(1)-c14f(i1
     & ,i4).e(2)*p3(2)-c14f(i1,i4).e(3)*p3(3)
      cvqd=c14f(i1,i4).e(0)*p134(0)-c14f(i1,i4).e(1)*p134(1)-c14
     & f(i1,i4).e(2)*p134(2)-c14f(i1,i4).e(3)*p134(3)
      cauxa=-c14f(i1,i4).ek0*quqd+p3k0*cvqd+p134k0*cvqu
      cauxb=-c14f(i1,i4).ek0*p134(2)+p134k0*c14f(i1,i4).e(2)
      cauxc=+c14f(i1,i4).ek0*p3(2)-p3k0*c14f(i1,i4).e(2)
      l3_14fz(i1,i4).a(1,1)=fer*(cauxa+ceps_0)
      l3_14fz(i1,i4).a(2,2)=fel*(cauxa-ceps_0)
      l3_14fz(i1,i4).b(1,2)=fel*(cauxb-ceps_2)
      l3_14fz(i1,i4).b(2,1)=fer*(-cauxb-ceps_2)
      l3_14fz(i1,i4).c(1,2)=fer*(cauxc+ceps_1)
      l3_14fz(i1,i4).c(2,1)=fel*(-cauxc+ceps_1)
      l3_14fz(i1,i4).d(1,1)=fel*c14f(i1,i4).ek0
      l3_14fz(i1,i4).d(2,2)=fer*c14f(i1,i4).ek0
      end do
      end do
**** attaccamento di c14z(2) a 3
      do i1=1,2
      do i4=1,2
* T -- qu=p3,qd=p134,v=c14z(i1,i4).e,a=l3_14fz(i1,i4).a,b=l3_14fz(i1,i4).b,
* c=l3_14fz(i1,i4).c,d=l3_14fz(i1,i4).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c14z(i1,i4).ek0*(p3(2)*p134(3)-p134(2)*p3(3))+p3k0
     & *(c14z(i1,i4).e(2)*p134(3)-p134(2)*c14z(i1,i4).e(3))-p134
     & k0*(c14z(i1,i4).e(2)*p3(3)-p3(2)*c14z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14z(i1,i4).e(3)*p3k0+p3(3)*c14z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14z(i1,i4).e(3)*p134k0+p134(3)*c14z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14z(i1,i4).e(0)*p3(0)-c14z(i1,i4).e(1)*p3(1)-c14z(i1
     & ,i4).e(2)*p3(2)-c14z(i1,i4).e(3)*p3(3)
      cvqd=c14z(i1,i4).e(0)*p134(0)-c14z(i1,i4).e(1)*p134(1)-c14
     & z(i1,i4).e(2)*p134(2)-c14z(i1,i4).e(3)*p134(3)
      cauxa=-c14z(i1,i4).ek0*quqd+p3k0*cvqd+p134k0*cvqu
      cauxb=-c14z(i1,i4).ek0*p134(2)+p134k0*c14z(i1,i4).e(2)
      cauxc=+c14z(i1,i4).ek0*p3(2)-p3k0*c14z(i1,i4).e(2)
      l3_14fz(i1,i4).a(1,1)=l3_14fz(i1,i4).a(1,1)+zer*(cauxa+cep
     & s_0)
      l3_14fz(i1,i4).a(2,2)=l3_14fz(i1,i4).a(2,2)+zel*(cauxa-cep
     & s_0)
      l3_14fz(i1,i4).b(1,2)=l3_14fz(i1,i4).b(1,2)+zel*(cauxb-cep
     & s_2)
      l3_14fz(i1,i4).b(2,1)=l3_14fz(i1,i4).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      l3_14fz(i1,i4).c(1,2)=l3_14fz(i1,i4).c(1,2)+zer*(cauxc+cep
     & s_1)
      l3_14fz(i1,i4).c(2,1)=l3_14fz(i1,i4).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      l3_14fz(i1,i4).d(1,1)=l3_14fz(i1,i4).d(1,1)+zel*c14z(i1,i4
     & ).ek0
      l3_14fz(i1,i4).d(2,2)=l3_14fz(i1,i4).d(2,2)+zer*c14z(i1,i4
     & ).ek0
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** attaccamento di c14f(2) a 5
* quqd -- p=p5,q=p145
      quqd=p5(0)*p145(0)-p5(1)*p145(1)-p5(2)*p145(2)-p5(3)*p145(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p5,qd=p145,v=c14f(i1,i4).e,a=l5_14fz(i1,i4).a,b=l5_14fz(i1,i4).b,
* c=l5_14fz(i1,i4).c,d=l5_14fz(i1,i4).d,cr=f5r,cl=f5l,nsum=0
      ceps_0=-c14f(i1,i4).ek0*(p5(2)*p145(3)-p145(2)*p5(3))+p5k0
     & *(c14f(i1,i4).e(2)*p145(3)-p145(2)*c14f(i1,i4).e(3))-p145
     & k0*(c14f(i1,i4).e(2)*p5(3)-p5(2)*c14f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14f(i1,i4).e(3)*p5k0+p5(3)*c14f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14f(i1,i4).e(3)*p145k0+p145(3)*c14f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14f(i1,i4).e(0)*p5(0)-c14f(i1,i4).e(1)*p5(1)-c14f(i1
     & ,i4).e(2)*p5(2)-c14f(i1,i4).e(3)*p5(3)
      cvqd=c14f(i1,i4).e(0)*p145(0)-c14f(i1,i4).e(1)*p145(1)-c14
     & f(i1,i4).e(2)*p145(2)-c14f(i1,i4).e(3)*p145(3)
      cauxa=-c14f(i1,i4).ek0*quqd+p5k0*cvqd+p145k0*cvqu
      cauxb=-c14f(i1,i4).ek0*p145(2)+p145k0*c14f(i1,i4).e(2)
      cauxc=+c14f(i1,i4).ek0*p5(2)-p5k0*c14f(i1,i4).e(2)
      l5_14fz(i1,i4).a(1,1)=f5r*(cauxa+ceps_0)
      l5_14fz(i1,i4).a(2,2)=f5l*(cauxa-ceps_0)
      l5_14fz(i1,i4).b(1,2)=f5l*(cauxb-ceps_2)
      l5_14fz(i1,i4).b(2,1)=f5r*(-cauxb-ceps_2)
      l5_14fz(i1,i4).c(1,2)=f5r*(cauxc+ceps_1)
      l5_14fz(i1,i4).c(2,1)=f5l*(-cauxc+ceps_1)
      l5_14fz(i1,i4).d(1,1)=f5l*c14f(i1,i4).ek0
      l5_14fz(i1,i4).d(2,2)=f5r*c14f(i1,i4).ek0
*el2
      IF(igamgam.EQ.-1)THEN
      l5_14f(i1,i4).a(1,1)=l5_14fz(i1,i4).a(1,1)
      l5_14f(i1,i4).a(2,2)=l5_14fz(i1,i4).a(2,2)
      l5_14f(i1,i4).b(1,2)=l5_14fz(i1,i4).b(1,2)
      l5_14f(i1,i4).b(2,1)=l5_14fz(i1,i4).b(2,1)
      l5_14f(i1,i4).c(1,2)=l5_14fz(i1,i4).c(1,2)
      l5_14f(i1,i4).c(2,1)=l5_14fz(i1,i4).c(2,1)
      l5_14f(i1,i4).d(1,1)=l5_14fz(i1,i4).d(1,1)
      l5_14f(i1,i4).d(2,2)=l5_14fz(i1,i4).d(2,2)
      ENDIF !igamgam
*endel2
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
**** attaccamento di c14z(2) a 5
      do i1=1,2
      do i4=1,2
* T -- qu=p5,qd=p145,v=c14z(i1,i4).e,a=l5_14fz(i1,i4).a,b=l5_14fz(i1,i4).b,
* c=l5_14fz(i1,i4).c,d=l5_14fz(i1,i4).d,cr=z5r,cl=z5l,nsum=1
      ceps_0=-c14z(i1,i4).ek0*(p5(2)*p145(3)-p145(2)*p5(3))+p5k0
     & *(c14z(i1,i4).e(2)*p145(3)-p145(2)*c14z(i1,i4).e(3))-p145
     & k0*(c14z(i1,i4).e(2)*p5(3)-p5(2)*c14z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14z(i1,i4).e(3)*p5k0+p5(3)*c14z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14z(i1,i4).e(3)*p145k0+p145(3)*c14z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14z(i1,i4).e(0)*p5(0)-c14z(i1,i4).e(1)*p5(1)-c14z(i1
     & ,i4).e(2)*p5(2)-c14z(i1,i4).e(3)*p5(3)
      cvqd=c14z(i1,i4).e(0)*p145(0)-c14z(i1,i4).e(1)*p145(1)-c14
     & z(i1,i4).e(2)*p145(2)-c14z(i1,i4).e(3)*p145(3)
      cauxa=-c14z(i1,i4).ek0*quqd+p5k0*cvqd+p145k0*cvqu
      cauxb=-c14z(i1,i4).ek0*p145(2)+p145k0*c14z(i1,i4).e(2)
      cauxc=+c14z(i1,i4).ek0*p5(2)-p5k0*c14z(i1,i4).e(2)
      l5_14fz(i1,i4).a(1,1)=l5_14fz(i1,i4).a(1,1)+z5r*(cauxa+cep
     & s_0)
      l5_14fz(i1,i4).a(2,2)=l5_14fz(i1,i4).a(2,2)+z5l*(cauxa-cep
     & s_0)
      l5_14fz(i1,i4).b(1,2)=l5_14fz(i1,i4).b(1,2)+z5l*(cauxb-cep
     & s_2)
      l5_14fz(i1,i4).b(2,1)=l5_14fz(i1,i4).b(2,1)+z5r*(-cauxb-ce
     & ps_2)
      l5_14fz(i1,i4).c(1,2)=l5_14fz(i1,i4).c(1,2)+z5r*(cauxc+cep
     & s_1)
      l5_14fz(i1,i4).c(2,1)=l5_14fz(i1,i4).c(2,1)+z5l*(-cauxc+ce
     & ps_1)
      l5_14fz(i1,i4).d(1,1)=l5_14fz(i1,i4).d(1,1)+z5l*c14z(i1,i4
     & ).ek0
      l5_14fz(i1,i4).d(2,2)=l5_14fz(i1,i4).d(2,2)+z5r*c14z(i1,i4
     & ).ek0
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** attaccamento di c23f(2) a 5
* quqd -- p=p5,q=p235
      quqd=p5(0)*p235(0)-p5(1)*p235(1)-p5(2)*p235(2)-p5(3)*p235(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p5,qd=p235,v=c23f(i3,i2).e,a=l5_23fz(i3,i2).a,b=l5_23fz(i3,i2).b,
* c=l5_23fz(i3,i2).c,d=l5_23fz(i3,i2).d,cr=f5r,cl=f5l,nsum=0
      ceps_0=-c23f(i3,i2).ek0*(p5(2)*p235(3)-p235(2)*p5(3))+p5k0
     & *(c23f(i3,i2).e(2)*p235(3)-p235(2)*c23f(i3,i2).e(3))-p235
     & k0*(c23f(i3,i2).e(2)*p5(3)-p5(2)*c23f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23f(i3,i2).e(3)*p5k0+p5(3)*c23f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23f(i3,i2).e(3)*p235k0+p235(3)*c23f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23f(i3,i2).e(0)*p5(0)-c23f(i3,i2).e(1)*p5(1)-c23f(i3
     & ,i2).e(2)*p5(2)-c23f(i3,i2).e(3)*p5(3)
      cvqd=c23f(i3,i2).e(0)*p235(0)-c23f(i3,i2).e(1)*p235(1)-c23
     & f(i3,i2).e(2)*p235(2)-c23f(i3,i2).e(3)*p235(3)
      cauxa=-c23f(i3,i2).ek0*quqd+p5k0*cvqd+p235k0*cvqu
      cauxb=-c23f(i3,i2).ek0*p235(2)+p235k0*c23f(i3,i2).e(2)
      cauxc=+c23f(i3,i2).ek0*p5(2)-p5k0*c23f(i3,i2).e(2)
      l5_23fz(i3,i2).a(1,1)=f5r*(cauxa+ceps_0)
      l5_23fz(i3,i2).a(2,2)=f5l*(cauxa-ceps_0)
      l5_23fz(i3,i2).b(1,2)=f5l*(cauxb-ceps_2)
      l5_23fz(i3,i2).b(2,1)=f5r*(-cauxb-ceps_2)
      l5_23fz(i3,i2).c(1,2)=f5r*(cauxc+ceps_1)
      l5_23fz(i3,i2).c(2,1)=f5l*(-cauxc+ceps_1)
      l5_23fz(i3,i2).d(1,1)=f5l*c23f(i3,i2).ek0
      l5_23fz(i3,i2).d(2,2)=f5r*c23f(i3,i2).ek0
*el2
      IF(igamgam.EQ.-1)THEN
      l5_23f(i3,i2).a(1,1)=l5_23fz(i3,i2).a(1,1)
      l5_23f(i3,i2).a(2,2)=l5_23fz(i3,i2).a(2,2)
      l5_23f(i3,i2).b(1,2)=l5_23fz(i3,i2).b(1,2)
      l5_23f(i3,i2).b(2,1)=l5_23fz(i3,i2).b(2,1)
      l5_23f(i3,i2).c(1,2)=l5_23fz(i3,i2).c(1,2)
      l5_23f(i3,i2).c(2,1)=l5_23fz(i3,i2).c(2,1)
      l5_23f(i3,i2).d(1,1)=l5_23fz(i3,i2).d(1,1)
      l5_23f(i3,i2).d(2,2)=l5_23fz(i3,i2).d(2,2)
      ENDIF
*endel2
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
**** attaccamento di c23z(2) a 5
      do i3=1,2
      do i2=1,2
* T -- qu=p5,qd=p235,v=c23z(i3,i2).e,a=l5_23fz(i3,i2).a,b=l5_23fz(i3,i2).b,
* c=l5_23fz(i3,i2).c,d=l5_23fz(i3,i2).d,cr=z5r,cl=z5l,nsum=1
      ceps_0=-c23z(i3,i2).ek0*(p5(2)*p235(3)-p235(2)*p5(3))+p5k0
     & *(c23z(i3,i2).e(2)*p235(3)-p235(2)*c23z(i3,i2).e(3))-p235
     & k0*(c23z(i3,i2).e(2)*p5(3)-p5(2)*c23z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23z(i3,i2).e(3)*p5k0+p5(3)*c23z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23z(i3,i2).e(3)*p235k0+p235(3)*c23z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23z(i3,i2).e(0)*p5(0)-c23z(i3,i2).e(1)*p5(1)-c23z(i3
     & ,i2).e(2)*p5(2)-c23z(i3,i2).e(3)*p5(3)
      cvqd=c23z(i3,i2).e(0)*p235(0)-c23z(i3,i2).e(1)*p235(1)-c23
     & z(i3,i2).e(2)*p235(2)-c23z(i3,i2).e(3)*p235(3)
      cauxa=-c23z(i3,i2).ek0*quqd+p5k0*cvqd+p235k0*cvqu
      cauxb=-c23z(i3,i2).ek0*p235(2)+p235k0*c23z(i3,i2).e(2)
      cauxc=+c23z(i3,i2).ek0*p5(2)-p5k0*c23z(i3,i2).e(2)
      l5_23fz(i3,i2).a(1,1)=l5_23fz(i3,i2).a(1,1)+z5r*(cauxa+cep
     & s_0)
      l5_23fz(i3,i2).a(2,2)=l5_23fz(i3,i2).a(2,2)+z5l*(cauxa-cep
     & s_0)
      l5_23fz(i3,i2).b(1,2)=l5_23fz(i3,i2).b(1,2)+z5l*(cauxb-cep
     & s_2)
      l5_23fz(i3,i2).b(2,1)=l5_23fz(i3,i2).b(2,1)+z5r*(-cauxb-ce
     & ps_2)
      l5_23fz(i3,i2).c(1,2)=l5_23fz(i3,i2).c(1,2)+z5r*(cauxc+cep
     & s_1)
      l5_23fz(i3,i2).c(2,1)=l5_23fz(i3,i2).c(2,1)+z5l*(-cauxc+ce
     & ps_1)
      l5_23fz(i3,i2).d(1,1)=l5_23fz(i3,i2).d(1,1)+z5l*c23z(i3,i2
     & ).ek0
      l5_23fz(i3,i2).d(2,2)=l5_23fz(i3,i2).d(2,2)+z5r*c23z(i3,i2
     & ).ek0
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** attaccamento di c23f(2) a 6
* quqd -- p=p145,q=p6
      quqd=p145(0)*p6(0)-p145(1)*p6(1)-p145(2)*p6(2)-p145(3)*p6(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p145,qd=p6,v=c23f(i3,i2).e,a=r6_23fz(i3,i2).a,b=r6_23fz(i3,i2).b,
* c=r6_23fz(i3,i2).c,d=r6_23fz(i3,i2).d,cr=f5r,cl=f5l,nsum=0
      ceps_0=-c23f(i3,i2).ek0*(p145(2)*p6(3)-p6(2)*p145(3))+p145
     & k0*(c23f(i3,i2).e(2)*p6(3)-p6(2)*c23f(i3,i2).e(3))-p6k0*(
     & c23f(i3,i2).e(2)*p145(3)-p145(2)*c23f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23f(i3,i2).e(3)*p145k0+p145(3)*c23f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23f(i3,i2).e(3)*p6k0+p6(3)*c23f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23f(i3,i2).e(0)*p145(0)-c23f(i3,i2).e(1)*p145(1)-c23
     & f(i3,i2).e(2)*p145(2)-c23f(i3,i2).e(3)*p145(3)
      cvqd=c23f(i3,i2).e(0)*p6(0)-c23f(i3,i2).e(1)*p6(1)-c23f(i3
     & ,i2).e(2)*p6(2)-c23f(i3,i2).e(3)*p6(3)
      cauxa=-c23f(i3,i2).ek0*quqd+p145k0*cvqd+p6k0*cvqu
      cauxb=-c23f(i3,i2).ek0*p6(2)+p6k0*c23f(i3,i2).e(2)
      cauxc=+c23f(i3,i2).ek0*p145(2)-p145k0*c23f(i3,i2).e(2)
      r6_23fz(i3,i2).a(1,1)=f5r*(cauxa+ceps_0)
      r6_23fz(i3,i2).a(2,2)=f5l*(cauxa-ceps_0)
      r6_23fz(i3,i2).b(1,2)=f5l*(cauxb-ceps_2)
      r6_23fz(i3,i2).b(2,1)=f5r*(-cauxb-ceps_2)
      r6_23fz(i3,i2).c(1,2)=f5r*(cauxc+ceps_1)
      r6_23fz(i3,i2).c(2,1)=f5l*(-cauxc+ceps_1)
      r6_23fz(i3,i2).d(1,1)=f5l*c23f(i3,i2).ek0
      r6_23fz(i3,i2).d(2,2)=f5r*c23f(i3,i2).ek0
*el2
      IF(igamgam.EQ.-1)THEN
      r6_23f(i3,i2).a(1,1)=r6_23fz(i3,i2).a(1,1)
      r6_23f(i3,i2).a(2,2)=r6_23fz(i3,i2).a(2,2)
      r6_23f(i3,i2).b(1,2)=r6_23fz(i3,i2).b(1,2)
      r6_23f(i3,i2).b(2,1)=r6_23fz(i3,i2).b(2,1)
      r6_23f(i3,i2).c(1,2)=r6_23fz(i3,i2).c(1,2)
      r6_23f(i3,i2).c(2,1)=r6_23fz(i3,i2).c(2,1)
      r6_23f(i3,i2).d(1,1)=r6_23fz(i3,i2).d(1,1)
      r6_23f(i3,i2).d(2,2)=r6_23fz(i3,i2).d(2,2)
      ENDIF !igamgam
*endel2
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
**** attaccamento di c23z(2) a 6
      do i3=1,2
      do i2=1,2
* T -- qu=p145,qd=p6,v=c23z(i3,i2).e,a=r6_23fz(i3,i2).a,b=r6_23fz(i3,i2).b,
* c=r6_23fz(i3,i2).c,d=r6_23fz(i3,i2).d,cr=z5r,cl=z5l,nsum=1
      ceps_0=-c23z(i3,i2).ek0*(p145(2)*p6(3)-p6(2)*p145(3))+p145
     & k0*(c23z(i3,i2).e(2)*p6(3)-p6(2)*c23z(i3,i2).e(3))-p6k0*(
     & c23z(i3,i2).e(2)*p145(3)-p145(2)*c23z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23z(i3,i2).e(3)*p145k0+p145(3)*c23z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23z(i3,i2).e(3)*p6k0+p6(3)*c23z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23z(i3,i2).e(0)*p145(0)-c23z(i3,i2).e(1)*p145(1)-c23
     & z(i3,i2).e(2)*p145(2)-c23z(i3,i2).e(3)*p145(3)
      cvqd=c23z(i3,i2).e(0)*p6(0)-c23z(i3,i2).e(1)*p6(1)-c23z(i3
     & ,i2).e(2)*p6(2)-c23z(i3,i2).e(3)*p6(3)
      cauxa=-c23z(i3,i2).ek0*quqd+p145k0*cvqd+p6k0*cvqu
      cauxb=-c23z(i3,i2).ek0*p6(2)+p6k0*c23z(i3,i2).e(2)
      cauxc=+c23z(i3,i2).ek0*p145(2)-p145k0*c23z(i3,i2).e(2)
      r6_23fz(i3,i2).a(1,1)=r6_23fz(i3,i2).a(1,1)+z5r*(cauxa+cep
     & s_0)
      r6_23fz(i3,i2).a(2,2)=r6_23fz(i3,i2).a(2,2)+z5l*(cauxa-cep
     & s_0)
      r6_23fz(i3,i2).b(1,2)=r6_23fz(i3,i2).b(1,2)+z5l*(cauxb-cep
     & s_2)
      r6_23fz(i3,i2).b(2,1)=r6_23fz(i3,i2).b(2,1)+z5r*(-cauxb-ce
     & ps_2)
      r6_23fz(i3,i2).c(1,2)=r6_23fz(i3,i2).c(1,2)+z5r*(cauxc+cep
     & s_1)
      r6_23fz(i3,i2).c(2,1)=r6_23fz(i3,i2).c(2,1)+z5l*(-cauxc+ce
     & ps_1)
      r6_23fz(i3,i2).d(1,1)=r6_23fz(i3,i2).d(1,1)+z5l*c23z(i3,i2
     & ).ek0
      r6_23fz(i3,i2).d(2,2)=r6_23fz(i3,i2).d(2,2)+z5r*c23z(i3,i2
     & ).ek0
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** attaccamento di c14f(2) a 6
* quqd -- p=p235,q=p6
      quqd=p235(0)*p6(0)-p235(1)*p6(1)-p235(2)*p6(2)-p235(3)*p6(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p235,qd=p6,v=c14f(i1,i4).e,a=r6_14fz(i1,i4).a,b=r6_14fz(i1,i4).b,
* c=r6_14fz(i1,i4).c,d=r6_14fz(i1,i4).d,cr=f5r,cl=f5l,nsum=0
      ceps_0=-c14f(i1,i4).ek0*(p235(2)*p6(3)-p6(2)*p235(3))+p235
     & k0*(c14f(i1,i4).e(2)*p6(3)-p6(2)*c14f(i1,i4).e(3))-p6k0*(
     & c14f(i1,i4).e(2)*p235(3)-p235(2)*c14f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14f(i1,i4).e(3)*p235k0+p235(3)*c14f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14f(i1,i4).e(3)*p6k0+p6(3)*c14f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14f(i1,i4).e(0)*p235(0)-c14f(i1,i4).e(1)*p235(1)-c14
     & f(i1,i4).e(2)*p235(2)-c14f(i1,i4).e(3)*p235(3)
      cvqd=c14f(i1,i4).e(0)*p6(0)-c14f(i1,i4).e(1)*p6(1)-c14f(i1
     & ,i4).e(2)*p6(2)-c14f(i1,i4).e(3)*p6(3)
      cauxa=-c14f(i1,i4).ek0*quqd+p235k0*cvqd+p6k0*cvqu
      cauxb=-c14f(i1,i4).ek0*p6(2)+p6k0*c14f(i1,i4).e(2)
      cauxc=+c14f(i1,i4).ek0*p235(2)-p235k0*c14f(i1,i4).e(2)
      r6_14fz(i1,i4).a(1,1)=f5r*(cauxa+ceps_0)
      r6_14fz(i1,i4).a(2,2)=f5l*(cauxa-ceps_0)
      r6_14fz(i1,i4).b(1,2)=f5l*(cauxb-ceps_2)
      r6_14fz(i1,i4).b(2,1)=f5r*(-cauxb-ceps_2)
      r6_14fz(i1,i4).c(1,2)=f5r*(cauxc+ceps_1)
      r6_14fz(i1,i4).c(2,1)=f5l*(-cauxc+ceps_1)
      r6_14fz(i1,i4).d(1,1)=f5l*c14f(i1,i4).ek0
      r6_14fz(i1,i4).d(2,2)=f5r*c14f(i1,i4).ek0
      IF(igamgam.EQ.-1)THEN
      r6_14f(i1,i4).a(1,1)=r6_14fz(i1,i4).a(1,1)
      r6_14f(i1,i4).a(2,2)=r6_14fz(i1,i4).a(2,2)
      r6_14f(i1,i4).b(1,2)=r6_14fz(i1,i4).b(1,2)
      r6_14f(i1,i4).b(2,1)=r6_14fz(i1,i4).b(2,1)
      r6_14f(i1,i4).c(1,2)=r6_14fz(i1,i4).c(1,2)
      r6_14f(i1,i4).c(2,1)=r6_14fz(i1,i4).c(2,1)
      r6_14f(i1,i4).d(1,1)=r6_14fz(i1,i4).d(1,1)
      r6_14f(i1,i4).d(2,2)=r6_14fz(i1,i4).d(2,2)
      ENDIF
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
**** attaccamento di c14z(2) a 6
      do i1=1,2
      do i4=1,2
* T -- qu=p235,qd=p6,v=c14z(i1,i4).e,a=r6_14fz(i1,i4).a,b=r6_14fz(i1,i4).b,
* c=r6_14fz(i1,i4).c,d=r6_14fz(i1,i4).d,cr=z5r,cl=z5l,nsum=1
      ceps_0=-c14z(i1,i4).ek0*(p235(2)*p6(3)-p6(2)*p235(3))+p235
     & k0*(c14z(i1,i4).e(2)*p6(3)-p6(2)*c14z(i1,i4).e(3))-p6k0*(
     & c14z(i1,i4).e(2)*p235(3)-p235(2)*c14z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14z(i1,i4).e(3)*p235k0+p235(3)*c14z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14z(i1,i4).e(3)*p6k0+p6(3)*c14z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14z(i1,i4).e(0)*p235(0)-c14z(i1,i4).e(1)*p235(1)-c14
     & z(i1,i4).e(2)*p235(2)-c14z(i1,i4).e(3)*p235(3)
      cvqd=c14z(i1,i4).e(0)*p6(0)-c14z(i1,i4).e(1)*p6(1)-c14z(i1
     & ,i4).e(2)*p6(2)-c14z(i1,i4).e(3)*p6(3)
      cauxa=-c14z(i1,i4).ek0*quqd+p235k0*cvqd+p6k0*cvqu
      cauxb=-c14z(i1,i4).ek0*p6(2)+p6k0*c14z(i1,i4).e(2)
      cauxc=+c14z(i1,i4).ek0*p235(2)-p235k0*c14z(i1,i4).e(2)
      r6_14fz(i1,i4).a(1,1)=r6_14fz(i1,i4).a(1,1)+z5r*(cauxa+cep
     & s_0)
      r6_14fz(i1,i4).a(2,2)=r6_14fz(i1,i4).a(2,2)+z5l*(cauxa-cep
     & s_0)
      r6_14fz(i1,i4).b(1,2)=r6_14fz(i1,i4).b(1,2)+z5l*(cauxb-cep
     & s_2)
      r6_14fz(i1,i4).b(2,1)=r6_14fz(i1,i4).b(2,1)+z5r*(-cauxb-ce
     & ps_2)
      r6_14fz(i1,i4).c(1,2)=r6_14fz(i1,i4).c(1,2)+z5r*(cauxc+cep
     & s_1)
      r6_14fz(i1,i4).c(2,1)=r6_14fz(i1,i4).c(2,1)+z5l*(-cauxc+ce
     & ps_1)
      r6_14fz(i1,i4).d(1,1)=r6_14fz(i1,i4).d(1,1)+z5l*c14z(i1,i4
     & ).ek0
      r6_14fz(i1,i4).d(2,2)=r6_14fz(i1,i4).d(2,2)+z5r*c14z(i1,i4
     & ).ek0
      end do
      end do
**** Diagramma CN11 ****
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i3,i2,i5,i6).a,bb=tapptt(i3,i2,i5,i6).b,cc=tapptt(i3,i2,i
* 5,i6).c,dd=tapptt(i3,i2,i5,i6).d,a1=l1_56fz(i5,i6).a,b1=l1_56fz(i5,i6).b,c
* 1=l1_56fz(i5,i6).c,d1=l1_56fz(i5,i6).d,a2=r4_23fz(i3,i2).a,b2=r4_23fz(i3,i
* 2).b,c2=r4_23fz(i3,i2).c,d2=r4_23fz(i3,i2).d,prq=p156q,m=rme
      tapptt(i3,i2,i5,i6).a(1,1)=l1_56fz(i5,i6).a(1,1)*r4_23fz(i
     & 3,i2).a(1,1)+l1_56fz(i5,i6).c(1,2)*p156q*r4_23fz(i3,i2).b
     & (2,1)
      tapptt(i3,i2,i5,i6).b(1,1)=rme*(l1_56fz(i5,i6).d(1,1)*r4_2
     & 3fz(i3,i2).a(1,1)+l1_56fz(i5,i6).b(1,2)*r4_23fz(i3,i2).b(
     & 2,1))
      tapptt(i3,i2,i5,i6).c(1,1)=rme*(l1_56fz(i5,i6).a(1,1)*r4_2
     & 3fz(i3,i2).d(1,1)+l1_56fz(i5,i6).c(1,2)*r4_23fz(i3,i2).c(
     & 2,1))
      tapptt(i3,i2,i5,i6).d(1,1)=l1_56fz(i5,i6).d(1,1)*p156q*r4_
     & 23fz(i3,i2).d(1,1)+l1_56fz(i5,i6).b(1,2)*r4_23fz(i3,i2).c
     & (2,1)
      tapptt(i3,i2,i5,i6).a(1,2)=rme*(l1_56fz(i5,i6).a(1,1)*r4_2
     & 3fz(i3,i2).b(1,2)+l1_56fz(i5,i6).c(1,2)*r4_23fz(i3,i2).a(
     & 2,2))
      tapptt(i3,i2,i5,i6).b(1,2)=l1_56fz(i5,i6).d(1,1)*p156q*r4_
     & 23fz(i3,i2).b(1,2)+l1_56fz(i5,i6).b(1,2)*r4_23fz(i3,i2).a
     & (2,2)
      tapptt(i3,i2,i5,i6).c(1,2)=l1_56fz(i5,i6).a(1,1)*r4_23fz(i
     & 3,i2).c(1,2)+l1_56fz(i5,i6).c(1,2)*p156q*r4_23fz(i3,i2).d
     & (2,2)
      tapptt(i3,i2,i5,i6).d(1,2)=rme*(l1_56fz(i5,i6).d(1,1)*r4_2
     & 3fz(i3,i2).c(1,2)+l1_56fz(i5,i6).b(1,2)*r4_23fz(i3,i2).d(
     & 2,2))
      tapptt(i3,i2,i5,i6).a(2,1)=rme*(l1_56fz(i5,i6).c(2,1)*r4_2
     & 3fz(i3,i2).a(1,1)+l1_56fz(i5,i6).a(2,2)*r4_23fz(i3,i2).b(
     & 2,1))
      tapptt(i3,i2,i5,i6).b(2,1)=l1_56fz(i5,i6).b(2,1)*r4_23fz(i
     & 3,i2).a(1,1)+l1_56fz(i5,i6).d(2,2)*p156q*r4_23fz(i3,i2).b
     & (2,1)
      tapptt(i3,i2,i5,i6).c(2,1)=l1_56fz(i5,i6).c(2,1)*p156q*r4_
     & 23fz(i3,i2).d(1,1)+l1_56fz(i5,i6).a(2,2)*r4_23fz(i3,i2).c
     & (2,1)
      tapptt(i3,i2,i5,i6).d(2,1)=rme*(l1_56fz(i5,i6).b(2,1)*r4_2
     & 3fz(i3,i2).d(1,1)+l1_56fz(i5,i6).d(2,2)*r4_23fz(i3,i2).c(
     & 2,1))
      tapptt(i3,i2,i5,i6).a(2,2)=l1_56fz(i5,i6).c(2,1)*p156q*r4_
     & 23fz(i3,i2).b(1,2)+l1_56fz(i5,i6).a(2,2)*r4_23fz(i3,i2).a
     & (2,2)
      tapptt(i3,i2,i5,i6).b(2,2)=rme*(l1_56fz(i5,i6).b(2,1)*r4_2
     & 3fz(i3,i2).b(1,2)+l1_56fz(i5,i6).d(2,2)*r4_23fz(i3,i2).a(
     & 2,2))
      tapptt(i3,i2,i5,i6).c(2,2)=rme*(l1_56fz(i5,i6).c(2,1)*r4_2
     & 3fz(i3,i2).c(1,2)+l1_56fz(i5,i6).a(2,2)*r4_23fz(i3,i2).d(
     & 2,2))
      tapptt(i3,i2,i5,i6).d(2,2)=l1_56fz(i5,i6).b(2,1)*r4_23fz(i
     & 3,i2).c(1,2)+l1_56fz(i5,i6).d(2,2)*p156q*r4_23fz(i3,i2).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn11(&,i3,i2,i5,i6).id(ide),abcd=tapptt(i3,i2,i5,i6).,m1=(-r
* me),m2=(-xm(4)),den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      cn11(iut,jut,i3,i2,i5,i6).id(ide)=(tapptt(i3,i2,i5,i6).a(i
     & ut,jut)+(-rme)*tapptt(i3,i2,i5,i6).b(iut,jut)+(-xm(4))*ta
     & pptt(i3,i2,i5,i6).c(iut,jut)+(-rme)*(-xm(4))*tapptt(i3,i2
     & ,i5,i6).d(iut,jut))/((p156q-rme**2)*p156k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN12 ****
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i3,i2,i5,i6).a,bb=tapptt(i3,i2,i5,i6).b,cc=tapptt(i3,i2,i
* 5,i6).c,dd=tapptt(i3,i2,i5,i6).d,a1=l1_23fz(i3,i2).a,b1=l1_23fz(i3,i2).b,c
* 1=l1_23fz(i3,i2).c,d1=l1_23fz(i3,i2).d,a2=r4_56fz(i5,i6).a,b2=r4_56fz(i5,i
* 6).b,c2=r4_56fz(i5,i6).c,d2=r4_56fz(i5,i6).d,prq=p123q,m=rme
      tapptt(i3,i2,i5,i6).a(1,1)=l1_23fz(i3,i2).a(1,1)*r4_56fz(i
     & 5,i6).a(1,1)+l1_23fz(i3,i2).c(1,2)*p123q*r4_56fz(i5,i6).b
     & (2,1)
      tapptt(i3,i2,i5,i6).b(1,1)=rme*(l1_23fz(i3,i2).d(1,1)*r4_5
     & 6fz(i5,i6).a(1,1)+l1_23fz(i3,i2).b(1,2)*r4_56fz(i5,i6).b(
     & 2,1))
      tapptt(i3,i2,i5,i6).c(1,1)=rme*(l1_23fz(i3,i2).a(1,1)*r4_5
     & 6fz(i5,i6).d(1,1)+l1_23fz(i3,i2).c(1,2)*r4_56fz(i5,i6).c(
     & 2,1))
      tapptt(i3,i2,i5,i6).d(1,1)=l1_23fz(i3,i2).d(1,1)*p123q*r4_
     & 56fz(i5,i6).d(1,1)+l1_23fz(i3,i2).b(1,2)*r4_56fz(i5,i6).c
     & (2,1)
      tapptt(i3,i2,i5,i6).a(1,2)=rme*(l1_23fz(i3,i2).a(1,1)*r4_5
     & 6fz(i5,i6).b(1,2)+l1_23fz(i3,i2).c(1,2)*r4_56fz(i5,i6).a(
     & 2,2))
      tapptt(i3,i2,i5,i6).b(1,2)=l1_23fz(i3,i2).d(1,1)*p123q*r4_
     & 56fz(i5,i6).b(1,2)+l1_23fz(i3,i2).b(1,2)*r4_56fz(i5,i6).a
     & (2,2)
      tapptt(i3,i2,i5,i6).c(1,2)=l1_23fz(i3,i2).a(1,1)*r4_56fz(i
     & 5,i6).c(1,2)+l1_23fz(i3,i2).c(1,2)*p123q*r4_56fz(i5,i6).d
     & (2,2)
      tapptt(i3,i2,i5,i6).d(1,2)=rme*(l1_23fz(i3,i2).d(1,1)*r4_5
     & 6fz(i5,i6).c(1,2)+l1_23fz(i3,i2).b(1,2)*r4_56fz(i5,i6).d(
     & 2,2))
      tapptt(i3,i2,i5,i6).a(2,1)=rme*(l1_23fz(i3,i2).c(2,1)*r4_5
     & 6fz(i5,i6).a(1,1)+l1_23fz(i3,i2).a(2,2)*r4_56fz(i5,i6).b(
     & 2,1))
      tapptt(i3,i2,i5,i6).b(2,1)=l1_23fz(i3,i2).b(2,1)*r4_56fz(i
     & 5,i6).a(1,1)+l1_23fz(i3,i2).d(2,2)*p123q*r4_56fz(i5,i6).b
     & (2,1)
      tapptt(i3,i2,i5,i6).c(2,1)=l1_23fz(i3,i2).c(2,1)*p123q*r4_
     & 56fz(i5,i6).d(1,1)+l1_23fz(i3,i2).a(2,2)*r4_56fz(i5,i6).c
     & (2,1)
      tapptt(i3,i2,i5,i6).d(2,1)=rme*(l1_23fz(i3,i2).b(2,1)*r4_5
     & 6fz(i5,i6).d(1,1)+l1_23fz(i3,i2).d(2,2)*r4_56fz(i5,i6).c(
     & 2,1))
      tapptt(i3,i2,i5,i6).a(2,2)=l1_23fz(i3,i2).c(2,1)*p123q*r4_
     & 56fz(i5,i6).b(1,2)+l1_23fz(i3,i2).a(2,2)*r4_56fz(i5,i6).a
     & (2,2)
      tapptt(i3,i2,i5,i6).b(2,2)=rme*(l1_23fz(i3,i2).b(2,1)*r4_5
     & 6fz(i5,i6).b(1,2)+l1_23fz(i3,i2).d(2,2)*r4_56fz(i5,i6).a(
     & 2,2))
      tapptt(i3,i2,i5,i6).c(2,2)=rme*(l1_23fz(i3,i2).c(2,1)*r4_5
     & 6fz(i5,i6).c(1,2)+l1_23fz(i3,i2).a(2,2)*r4_56fz(i5,i6).d(
     & 2,2))
      tapptt(i3,i2,i5,i6).d(2,2)=l1_23fz(i3,i2).b(2,1)*r4_56fz(i
     & 5,i6).c(1,2)+l1_23fz(i3,i2).d(2,2)*p123q*r4_56fz(i5,i6).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn12(&,i3,i2,i5,i6).id(ide),abcd=tapptt(i3,i2,i5,i6).,m1=(-r
* me),m2=(-xm(4)),den=((p123q-rme**2)*p123k0)
      do iut=1,2
      do jut=1,2
      cn12(iut,jut,i3,i2,i5,i6).id(ide)=(tapptt(i3,i2,i5,i6).a(i
     & ut,jut)+(-rme)*tapptt(i3,i2,i5,i6).b(iut,jut)+(-xm(4))*ta
     & pptt(i3,i2,i5,i6).c(iut,jut)+(-rme)*(-xm(4))*tapptt(i3,i2
     & ,i5,i6).d(iut,jut))/((p123q-rme**2)*p123k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN13 ****
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i1,i4,i5,i6).a,bb=tapptt(i1,i4,i5,i6).b,cc=tapptt(i1,i4,i
* 5,i6).c,dd=tapptt(i1,i4,i5,i6).d,a1=l3_14fz(i1,i4).a,b1=l3_14fz(i1,i4).b,c
* 1=l3_14fz(i1,i4).c,d1=l3_14fz(i1,i4).d,a2=r2_56fz(i5,i6).a,b2=r2_56fz(i5,i
* 6).b,c2=r2_56fz(i5,i6).c,d2=r2_56fz(i5,i6).d,prq=p134q,m=rme
      tapptt(i1,i4,i5,i6).a(1,1)=l3_14fz(i1,i4).a(1,1)*r2_56fz(i
     & 5,i6).a(1,1)+l3_14fz(i1,i4).c(1,2)*p134q*r2_56fz(i5,i6).b
     & (2,1)
      tapptt(i1,i4,i5,i6).b(1,1)=rme*(l3_14fz(i1,i4).d(1,1)*r2_5
     & 6fz(i5,i6).a(1,1)+l3_14fz(i1,i4).b(1,2)*r2_56fz(i5,i6).b(
     & 2,1))
      tapptt(i1,i4,i5,i6).c(1,1)=rme*(l3_14fz(i1,i4).a(1,1)*r2_5
     & 6fz(i5,i6).d(1,1)+l3_14fz(i1,i4).c(1,2)*r2_56fz(i5,i6).c(
     & 2,1))
      tapptt(i1,i4,i5,i6).d(1,1)=l3_14fz(i1,i4).d(1,1)*p134q*r2_
     & 56fz(i5,i6).d(1,1)+l3_14fz(i1,i4).b(1,2)*r2_56fz(i5,i6).c
     & (2,1)
      tapptt(i1,i4,i5,i6).a(1,2)=rme*(l3_14fz(i1,i4).a(1,1)*r2_5
     & 6fz(i5,i6).b(1,2)+l3_14fz(i1,i4).c(1,2)*r2_56fz(i5,i6).a(
     & 2,2))
      tapptt(i1,i4,i5,i6).b(1,2)=l3_14fz(i1,i4).d(1,1)*p134q*r2_
     & 56fz(i5,i6).b(1,2)+l3_14fz(i1,i4).b(1,2)*r2_56fz(i5,i6).a
     & (2,2)
      tapptt(i1,i4,i5,i6).c(1,2)=l3_14fz(i1,i4).a(1,1)*r2_56fz(i
     & 5,i6).c(1,2)+l3_14fz(i1,i4).c(1,2)*p134q*r2_56fz(i5,i6).d
     & (2,2)
      tapptt(i1,i4,i5,i6).d(1,2)=rme*(l3_14fz(i1,i4).d(1,1)*r2_5
     & 6fz(i5,i6).c(1,2)+l3_14fz(i1,i4).b(1,2)*r2_56fz(i5,i6).d(
     & 2,2))
      tapptt(i1,i4,i5,i6).a(2,1)=rme*(l3_14fz(i1,i4).c(2,1)*r2_5
     & 6fz(i5,i6).a(1,1)+l3_14fz(i1,i4).a(2,2)*r2_56fz(i5,i6).b(
     & 2,1))
      tapptt(i1,i4,i5,i6).b(2,1)=l3_14fz(i1,i4).b(2,1)*r2_56fz(i
     & 5,i6).a(1,1)+l3_14fz(i1,i4).d(2,2)*p134q*r2_56fz(i5,i6).b
     & (2,1)
      tapptt(i1,i4,i5,i6).c(2,1)=l3_14fz(i1,i4).c(2,1)*p134q*r2_
     & 56fz(i5,i6).d(1,1)+l3_14fz(i1,i4).a(2,2)*r2_56fz(i5,i6).c
     & (2,1)
      tapptt(i1,i4,i5,i6).d(2,1)=rme*(l3_14fz(i1,i4).b(2,1)*r2_5
     & 6fz(i5,i6).d(1,1)+l3_14fz(i1,i4).d(2,2)*r2_56fz(i5,i6).c(
     & 2,1))
      tapptt(i1,i4,i5,i6).a(2,2)=l3_14fz(i1,i4).c(2,1)*p134q*r2_
     & 56fz(i5,i6).b(1,2)+l3_14fz(i1,i4).a(2,2)*r2_56fz(i5,i6).a
     & (2,2)
      tapptt(i1,i4,i5,i6).b(2,2)=rme*(l3_14fz(i1,i4).b(2,1)*r2_5
     & 6fz(i5,i6).b(1,2)+l3_14fz(i1,i4).d(2,2)*r2_56fz(i5,i6).a(
     & 2,2))
      tapptt(i1,i4,i5,i6).c(2,2)=rme*(l3_14fz(i1,i4).c(2,1)*r2_5
     & 6fz(i5,i6).c(1,2)+l3_14fz(i1,i4).a(2,2)*r2_56fz(i5,i6).d(
     & 2,2))
      tapptt(i1,i4,i5,i6).d(2,2)=l3_14fz(i1,i4).b(2,1)*r2_56fz(i
     & 5,i6).c(1,2)+l3_14fz(i1,i4).d(2,2)*p134q*r2_56fz(i5,i6).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn13(i1,i4,&,i5,i6).id(ide),abcd=tapptt(i1,i4,i5,i6).,m1=xm(
* 3),m2=rme,den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      cn13(i1,i4,iut,jut,i5,i6).id(ide)=(tapptt(i1,i4,i5,i6).a(i
     & ut,jut)+xm(3)*tapptt(i1,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 1,i4,i5,i6).c(iut,jut)+xm(3)*rme*tapptt(i1,i4,i5,i6).d(iu
     & t,jut))/((p134q-rme**2)*p134k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN14 ****
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* TT -- aa=tapptt(i1,i4,i5,i6).a,bb=tapptt(i1,i4,i5,i6).b,cc=tapptt(i1,i4,i
* 5,i6).c,dd=tapptt(i1,i4,i5,i6).d,a1=l3_56fz(i5,i6).a,b1=l3_56fz(i5,i6).b,c
* 1=l3_56fz(i5,i6).c,d1=l3_56fz(i5,i6).d,a2=r2_14fz(i1,i4).a,b2=r2_14fz(i1,i
* 4).b,c2=r2_14fz(i1,i4).c,d2=r2_14fz(i1,i4).d,prq=p356q,m=rme
      tapptt(i1,i4,i5,i6).a(1,1)=l3_56fz(i5,i6).a(1,1)*r2_14fz(i
     & 1,i4).a(1,1)+l3_56fz(i5,i6).c(1,2)*p356q*r2_14fz(i1,i4).b
     & (2,1)
      tapptt(i1,i4,i5,i6).b(1,1)=rme*(l3_56fz(i5,i6).d(1,1)*r2_1
     & 4fz(i1,i4).a(1,1)+l3_56fz(i5,i6).b(1,2)*r2_14fz(i1,i4).b(
     & 2,1))
      tapptt(i1,i4,i5,i6).c(1,1)=rme*(l3_56fz(i5,i6).a(1,1)*r2_1
     & 4fz(i1,i4).d(1,1)+l3_56fz(i5,i6).c(1,2)*r2_14fz(i1,i4).c(
     & 2,1))
      tapptt(i1,i4,i5,i6).d(1,1)=l3_56fz(i5,i6).d(1,1)*p356q*r2_
     & 14fz(i1,i4).d(1,1)+l3_56fz(i5,i6).b(1,2)*r2_14fz(i1,i4).c
     & (2,1)
      tapptt(i1,i4,i5,i6).a(1,2)=rme*(l3_56fz(i5,i6).a(1,1)*r2_1
     & 4fz(i1,i4).b(1,2)+l3_56fz(i5,i6).c(1,2)*r2_14fz(i1,i4).a(
     & 2,2))
      tapptt(i1,i4,i5,i6).b(1,2)=l3_56fz(i5,i6).d(1,1)*p356q*r2_
     & 14fz(i1,i4).b(1,2)+l3_56fz(i5,i6).b(1,2)*r2_14fz(i1,i4).a
     & (2,2)
      tapptt(i1,i4,i5,i6).c(1,2)=l3_56fz(i5,i6).a(1,1)*r2_14fz(i
     & 1,i4).c(1,2)+l3_56fz(i5,i6).c(1,2)*p356q*r2_14fz(i1,i4).d
     & (2,2)
      tapptt(i1,i4,i5,i6).d(1,2)=rme*(l3_56fz(i5,i6).d(1,1)*r2_1
     & 4fz(i1,i4).c(1,2)+l3_56fz(i5,i6).b(1,2)*r2_14fz(i1,i4).d(
     & 2,2))
      tapptt(i1,i4,i5,i6).a(2,1)=rme*(l3_56fz(i5,i6).c(2,1)*r2_1
     & 4fz(i1,i4).a(1,1)+l3_56fz(i5,i6).a(2,2)*r2_14fz(i1,i4).b(
     & 2,1))
      tapptt(i1,i4,i5,i6).b(2,1)=l3_56fz(i5,i6).b(2,1)*r2_14fz(i
     & 1,i4).a(1,1)+l3_56fz(i5,i6).d(2,2)*p356q*r2_14fz(i1,i4).b
     & (2,1)
      tapptt(i1,i4,i5,i6).c(2,1)=l3_56fz(i5,i6).c(2,1)*p356q*r2_
     & 14fz(i1,i4).d(1,1)+l3_56fz(i5,i6).a(2,2)*r2_14fz(i1,i4).c
     & (2,1)
      tapptt(i1,i4,i5,i6).d(2,1)=rme*(l3_56fz(i5,i6).b(2,1)*r2_1
     & 4fz(i1,i4).d(1,1)+l3_56fz(i5,i6).d(2,2)*r2_14fz(i1,i4).c(
     & 2,1))
      tapptt(i1,i4,i5,i6).a(2,2)=l3_56fz(i5,i6).c(2,1)*p356q*r2_
     & 14fz(i1,i4).b(1,2)+l3_56fz(i5,i6).a(2,2)*r2_14fz(i1,i4).a
     & (2,2)
      tapptt(i1,i4,i5,i6).b(2,2)=rme*(l3_56fz(i5,i6).b(2,1)*r2_1
     & 4fz(i1,i4).b(1,2)+l3_56fz(i5,i6).d(2,2)*r2_14fz(i1,i4).a(
     & 2,2))
      tapptt(i1,i4,i5,i6).c(2,2)=rme*(l3_56fz(i5,i6).c(2,1)*r2_1
     & 4fz(i1,i4).c(1,2)+l3_56fz(i5,i6).a(2,2)*r2_14fz(i1,i4).d(
     & 2,2))
      tapptt(i1,i4,i5,i6).d(2,2)=l3_56fz(i5,i6).b(2,1)*r2_14fz(i
     & 1,i4).c(1,2)+l3_56fz(i5,i6).d(2,2)*p356q*r2_14fz(i1,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn14(i1,i4,&,i5,i6).id(ide),abcd=tapptt(i1,i4,i5,i6).,m1=xm(
* 3),m2=rme,den=((p356q-rme**2)*p356k0)
      do iut=1,2
      do jut=1,2
      cn14(i1,i4,iut,jut,i5,i6).id(ide)=(tapptt(i1,i4,i5,i6).a(i
     & ut,jut)+xm(3)*tapptt(i1,i4,i5,i6).b(iut,jut)+rme*tapptt(i
     & 1,i4,i5,i6).c(iut,jut)+xm(3)*rme*tapptt(i1,i4,i5,i6).d(iu
     & t,jut))/((p356q-rme**2)*p356k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** Diagramma CN15 ****
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* TT -- aa=tapptt(i1,i4,i3,i2).a,bb=tapptt(i1,i4,i3,i2).b,cc=tapptt(i1,i4,i
* 3,i2).c,dd=tapptt(i1,i4,i3,i2).d,a1=l5_14fz(i1,i4).a,b1=l5_14fz(i1,i4).b,c
* 1=l5_14fz(i1,i4).c,d1=l5_14fz(i1,i4).d,a2=r6_23fz(i3,i2).a,b2=r6_23fz(i3,i
* 2).b,c2=r6_23fz(i3,i2).c,d2=r6_23fz(i3,i2).d,prq=p145q,m=xm(5)
      tapptt(i1,i4,i3,i2).a(1,1)=l5_14fz(i1,i4).a(1,1)*r6_23fz(i
     & 3,i2).a(1,1)+l5_14fz(i1,i4).c(1,2)*p145q*r6_23fz(i3,i2).b
     & (2,1)
      tapptt(i1,i4,i3,i2).b(1,1)=xm(5)*(l5_14fz(i1,i4).d(1,1)*r6
     & _23fz(i3,i2).a(1,1)+l5_14fz(i1,i4).b(1,2)*r6_23fz(i3,i2).
     & b(2,1))
      tapptt(i1,i4,i3,i2).c(1,1)=xm(5)*(l5_14fz(i1,i4).a(1,1)*r6
     & _23fz(i3,i2).d(1,1)+l5_14fz(i1,i4).c(1,2)*r6_23fz(i3,i2).
     & c(2,1))
      tapptt(i1,i4,i3,i2).d(1,1)=l5_14fz(i1,i4).d(1,1)*p145q*r6_
     & 23fz(i3,i2).d(1,1)+l5_14fz(i1,i4).b(1,2)*r6_23fz(i3,i2).c
     & (2,1)
      tapptt(i1,i4,i3,i2).a(1,2)=xm(5)*(l5_14fz(i1,i4).a(1,1)*r6
     & _23fz(i3,i2).b(1,2)+l5_14fz(i1,i4).c(1,2)*r6_23fz(i3,i2).
     & a(2,2))
      tapptt(i1,i4,i3,i2).b(1,2)=l5_14fz(i1,i4).d(1,1)*p145q*r6_
     & 23fz(i3,i2).b(1,2)+l5_14fz(i1,i4).b(1,2)*r6_23fz(i3,i2).a
     & (2,2)
      tapptt(i1,i4,i3,i2).c(1,2)=l5_14fz(i1,i4).a(1,1)*r6_23fz(i
     & 3,i2).c(1,2)+l5_14fz(i1,i4).c(1,2)*p145q*r6_23fz(i3,i2).d
     & (2,2)
      tapptt(i1,i4,i3,i2).d(1,2)=xm(5)*(l5_14fz(i1,i4).d(1,1)*r6
     & _23fz(i3,i2).c(1,2)+l5_14fz(i1,i4).b(1,2)*r6_23fz(i3,i2).
     & d(2,2))
      tapptt(i1,i4,i3,i2).a(2,1)=xm(5)*(l5_14fz(i1,i4).c(2,1)*r6
     & _23fz(i3,i2).a(1,1)+l5_14fz(i1,i4).a(2,2)*r6_23fz(i3,i2).
     & b(2,1))
      tapptt(i1,i4,i3,i2).b(2,1)=l5_14fz(i1,i4).b(2,1)*r6_23fz(i
     & 3,i2).a(1,1)+l5_14fz(i1,i4).d(2,2)*p145q*r6_23fz(i3,i2).b
     & (2,1)
      tapptt(i1,i4,i3,i2).c(2,1)=l5_14fz(i1,i4).c(2,1)*p145q*r6_
     & 23fz(i3,i2).d(1,1)+l5_14fz(i1,i4).a(2,2)*r6_23fz(i3,i2).c
     & (2,1)
      tapptt(i1,i4,i3,i2).d(2,1)=xm(5)*(l5_14fz(i1,i4).b(2,1)*r6
     & _23fz(i3,i2).d(1,1)+l5_14fz(i1,i4).d(2,2)*r6_23fz(i3,i2).
     & c(2,1))
      tapptt(i1,i4,i3,i2).a(2,2)=l5_14fz(i1,i4).c(2,1)*p145q*r6_
     & 23fz(i3,i2).b(1,2)+l5_14fz(i1,i4).a(2,2)*r6_23fz(i3,i2).a
     & (2,2)
      tapptt(i1,i4,i3,i2).b(2,2)=xm(5)*(l5_14fz(i1,i4).b(2,1)*r6
     & _23fz(i3,i2).b(1,2)+l5_14fz(i1,i4).d(2,2)*r6_23fz(i3,i2).
     & a(2,2))
      tapptt(i1,i4,i3,i2).c(2,2)=xm(5)*(l5_14fz(i1,i4).c(2,1)*r6
     & _23fz(i3,i2).c(1,2)+l5_14fz(i1,i4).a(2,2)*r6_23fz(i3,i2).
     & d(2,2))
      tapptt(i1,i4,i3,i2).d(2,2)=l5_14fz(i1,i4).b(2,1)*r6_23fz(i
     & 3,i2).c(1,2)+l5_14fz(i1,i4).d(2,2)*p145q*r6_23fz(i3,i2).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* mline -- res=cn15(i1,i4,i3,i2,&).id(ide),abcd=tapptt(i1,i4,i3,i2).,m1=xm(
* 5),m2=(-xm(6)),den=((p145q-xm(5)**2)*p145k0)
      do iut=1,2
      do jut=1,2
      cn15(i1,i4,i3,i2,iut,jut).id(ide)=(tapptt(i1,i4,i3,i2).a(i
     & ut,jut)+xm(5)*tapptt(i1,i4,i3,i2).b(iut,jut)+(-xm(6))*tap
     & ptt(i1,i4,i3,i2).c(iut,jut)+xm(5)*(-xm(6))*tapptt(i1,i4,i
     & 3,i2).d(iut,jut))/((p145q-xm(5)**2)*p145k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*el2
      IF(igamgam.EQ.-1)THEN
**** Diagramma CN15 - ff contribution ****
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* TT --aa=tapptt(i1,i4,i3,i2).a,bb=tapptt(i1,i4,i3,i2).b,cc=tapptt(i1,i4,i
*3,i2).c,dd=tapptt(i1,i4,i3,i2).d,a1=l5_14fz(i1,i4).a,b1=l5_14fz(i1,i4).b,c
*1=l5_14fz(i1,i4).c,d1=l5_14fz(i1,i4).d,a2=r6_23fz(i3,i2).a,b2=r6_23fz(i3,i
* 2).b,c2=r6_23fz(i3,i2).c,d2=r6_23fz(i3,i2).d,prq=p145q,m=xm(5)
      tapptt(i1,i4,i3,i2).a(1,1)=l5_14f(i1,i4).a(1,1)*r6_23f(i
     & 3,i2).a(1,1)+l5_14f(i1,i4).c(1,2)*p145q*r6_23f(i3,i2).b
     & (2,1)   
      tapptt(i1,i4,i3,i2).b(1,1)=xm(5)*(l5_14f(i1,i4).d(1,1)*r6
     & _23f(i3,i2).a(1,1)+l5_14f(i1,i4).b(1,2)*r6_23f(i3,i2).
     & b(2,1)) 
      tapptt(i1,i4,i3,i2).c(1,1)=xm(5)*(l5_14f(i1,i4).a(1,1)*r6
     & _23f(i3,i2).d(1,1)+l5_14f(i1,i4).c(1,2)*r6_23f(i3,i2).
     & c(2,1))
      tapptt(i1,i4,i3,i2).d(1,1)=l5_14f(i1,i4).d(1,1)*p145q*r6_
     & 23f(i3,i2).d(1,1)+l5_14f(i1,i4).b(1,2)*r6_23f(i3,i2).c
     & (2,1)
      tapptt(i1,i4,i3,i2).a(1,2)=xm(5)*(l5_14f(i1,i4).a(1,1)*r6
     & _23f(i3,i2).b(1,2)+l5_14f(i1,i4).c(1,2)*r6_23f(i3,i2).
     & a(2,2))
      tapptt(i1,i4,i3,i2).b(1,2)=l5_14f(i1,i4).d(1,1)*p145q*r6_
     & 23f(i3,i2).b(1,2)+l5_14f(i1,i4).b(1,2)*r6_23f(i3,i2).a
     & (2,2)
      tapptt(i1,i4,i3,i2).c(1,2)=l5_14f(i1,i4).a(1,1)*r6_23f(i
     & 3,i2).c(1,2)+l5_14f(i1,i4).c(1,2)*p145q*r6_23f(i3,i2).d
     & (2,2)
      tapptt(i1,i4,i3,i2).d(1,2)=xm(5)*(l5_14f(i1,i4).d(1,1)*r6
     & _23f(i3,i2).c(1,2)+l5_14f(i1,i4).b(1,2)*r6_23f(i3,i2).
     & d(2,2))
      tapptt(i1,i4,i3,i2).a(2,1)=xm(5)*(l5_14f(i1,i4).c(2,1)*r6
     & _23f(i3,i2).a(1,1)+l5_14f(i1,i4).a(2,2)*r6_23f(i3,i2).
     & b(2,1))
      tapptt(i1,i4,i3,i2).b(2,1)=l5_14f(i1,i4).b(2,1)*r6_23f(i
     & 3,i2).a(1,1)+l5_14f(i1,i4).d(2,2)*p145q*r6_23f(i3,i2).b
     & (2,1)
      tapptt(i1,i4,i3,i2).c(2,1)=l5_14f(i1,i4).c(2,1)*p145q*r6_
     & 23f(i3,i2).d(1,1)+l5_14f(i1,i4).a(2,2)*r6_23f(i3,i2).c
     & (2,1)
      tapptt(i1,i4,i3,i2).d(2,1)=xm(5)*(l5_14f(i1,i4).b(2,1)*r6
     & _23f(i3,i2).d(1,1)+l5_14f(i1,i4).d(2,2)*r6_23f(i3,i2).
     & c(2,1))
      tapptt(i1,i4,i3,i2).a(2,2)=l5_14f(i1,i4).c(2,1)*p145q*r6_
     & 23f(i3,i2).b(1,2)+l5_14f(i1,i4).a(2,2)*r6_23f(i3,i2).a
     & (2,2)
      tapptt(i1,i4,i3,i2).b(2,2)=xm(5)*(l5_14f(i1,i4).b(2,1)*r6
     & _23f(i3,i2).b(1,2)+l5_14f(i1,i4).d(2,2)*r6_23f(i3,i2).
     & a(2,2))
      tapptt(i1,i4,i3,i2).c(2,2)=xm(5)*(l5_14f(i1,i4).c(2,1)*r6
     & _23f(i3,i2).c(1,2)+l5_14f(i1,i4).a(2,2)*r6_23f(i3,i2).
     & d(2,2))
      tapptt(i1,i4,i3,i2).d(2,2)=l5_14f(i1,i4).b(2,1)*r6_23f(i
     & 3,i2).c(1,2)+l5_14f(i1,i4).d(2,2)*p145q*r6_23f(i3,i2).d
     & (2,2)
      end do
      end do
      end do
      end do  
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* mline --res=cn15(i1,i4,i3,i2,&).id(ide),abcd=tapptt(i1,i4,i3,i2).,m1=xm(
* 5),m2=(-xm(6)),den=((p145q-xm(5)**2)*p145k0)
      do iut=1,2
      do jut=1,2
      cn15(i1,i4,i3,i2,iut,jut).id(ide)=
     & cn15(i1,i4,i3,i2,iut,jut).id(ide)-(tapptt(i1,i4,i3,i2).a(i
     & ut,jut)+xm(5)*tapptt(i1,i4,i3,i2).b(iut,jut)+(-xm(6))*tap
     & ptt(i1,i4,i3,i2).c(iut,jut)+xm(5)*(-xm(6))*tapptt(i1,i4,i
     & 3,i2).d(iut,jut))/((p145q-xm(5)**2)*p145k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
      ENDIF !igamgam
*endel2
**** Diagramma CN16 ****
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* TT -- aa=tapptt(i1,i4,i3,i2).a,bb=tapptt(i1,i4,i3,i2).b,cc=tapptt(i1,i4,i
* 3,i2).c,dd=tapptt(i1,i4,i3,i2).d,a1=l5_23fz(i3,i2).a,b1=l5_23fz(i3,i2).b,c
* 1=l5_23fz(i3,i2).c,d1=l5_23fz(i3,i2).d,a2=r6_14fz(i1,i4).a,b2=r6_14fz(i1,i
* 4).b,c2=r6_14fz(i1,i4).c,d2=r6_14fz(i1,i4).d,prq=p235q,m=xm(5)
      tapptt(i1,i4,i3,i2).a(1,1)=l5_23fz(i3,i2).a(1,1)*r6_14fz(i
     & 1,i4).a(1,1)+l5_23fz(i3,i2).c(1,2)*p235q*r6_14fz(i1,i4).b
     & (2,1)
      tapptt(i1,i4,i3,i2).b(1,1)=xm(5)*(l5_23fz(i3,i2).d(1,1)*r6
     & _14fz(i1,i4).a(1,1)+l5_23fz(i3,i2).b(1,2)*r6_14fz(i1,i4).
     & b(2,1))
      tapptt(i1,i4,i3,i2).c(1,1)=xm(5)*(l5_23fz(i3,i2).a(1,1)*r6
     & _14fz(i1,i4).d(1,1)+l5_23fz(i3,i2).c(1,2)*r6_14fz(i1,i4).
     & c(2,1))
      tapptt(i1,i4,i3,i2).d(1,1)=l5_23fz(i3,i2).d(1,1)*p235q*r6_
     & 14fz(i1,i4).d(1,1)+l5_23fz(i3,i2).b(1,2)*r6_14fz(i1,i4).c
     & (2,1)
      tapptt(i1,i4,i3,i2).a(1,2)=xm(5)*(l5_23fz(i3,i2).a(1,1)*r6
     & _14fz(i1,i4).b(1,2)+l5_23fz(i3,i2).c(1,2)*r6_14fz(i1,i4).
     & a(2,2))
      tapptt(i1,i4,i3,i2).b(1,2)=l5_23fz(i3,i2).d(1,1)*p235q*r6_
     & 14fz(i1,i4).b(1,2)+l5_23fz(i3,i2).b(1,2)*r6_14fz(i1,i4).a
     & (2,2)
      tapptt(i1,i4,i3,i2).c(1,2)=l5_23fz(i3,i2).a(1,1)*r6_14fz(i
     & 1,i4).c(1,2)+l5_23fz(i3,i2).c(1,2)*p235q*r6_14fz(i1,i4).d
     & (2,2)
      tapptt(i1,i4,i3,i2).d(1,2)=xm(5)*(l5_23fz(i3,i2).d(1,1)*r6
     & _14fz(i1,i4).c(1,2)+l5_23fz(i3,i2).b(1,2)*r6_14fz(i1,i4).
     & d(2,2))
      tapptt(i1,i4,i3,i2).a(2,1)=xm(5)*(l5_23fz(i3,i2).c(2,1)*r6
     & _14fz(i1,i4).a(1,1)+l5_23fz(i3,i2).a(2,2)*r6_14fz(i1,i4).
     & b(2,1))
      tapptt(i1,i4,i3,i2).b(2,1)=l5_23fz(i3,i2).b(2,1)*r6_14fz(i
     & 1,i4).a(1,1)+l5_23fz(i3,i2).d(2,2)*p235q*r6_14fz(i1,i4).b
     & (2,1)
      tapptt(i1,i4,i3,i2).c(2,1)=l5_23fz(i3,i2).c(2,1)*p235q*r6_
     & 14fz(i1,i4).d(1,1)+l5_23fz(i3,i2).a(2,2)*r6_14fz(i1,i4).c
     & (2,1)
      tapptt(i1,i4,i3,i2).d(2,1)=xm(5)*(l5_23fz(i3,i2).b(2,1)*r6
     & _14fz(i1,i4).d(1,1)+l5_23fz(i3,i2).d(2,2)*r6_14fz(i1,i4).
     & c(2,1))
      tapptt(i1,i4,i3,i2).a(2,2)=l5_23fz(i3,i2).c(2,1)*p235q*r6_
     & 14fz(i1,i4).b(1,2)+l5_23fz(i3,i2).a(2,2)*r6_14fz(i1,i4).a
     & (2,2)
      tapptt(i1,i4,i3,i2).b(2,2)=xm(5)*(l5_23fz(i3,i2).b(2,1)*r6
     & _14fz(i1,i4).b(1,2)+l5_23fz(i3,i2).d(2,2)*r6_14fz(i1,i4).
     & a(2,2))
      tapptt(i1,i4,i3,i2).c(2,2)=xm(5)*(l5_23fz(i3,i2).c(2,1)*r6
     & _14fz(i1,i4).c(1,2)+l5_23fz(i3,i2).a(2,2)*r6_14fz(i1,i4).
     & d(2,2))
      tapptt(i1,i4,i3,i2).d(2,2)=l5_23fz(i3,i2).b(2,1)*r6_14fz(i
     & 1,i4).c(1,2)+l5_23fz(i3,i2).d(2,2)*p235q*r6_14fz(i1,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* mline -- res=cn16(i1,i4,i3,i2,&).id(ide),abcd=tapptt(i1,i4,i3,i2).,m1=xm(
* 5),m2=(-xm(6)),den=((p235q-xm(5)**2)*p235k0)
      do iut=1,2
      do jut=1,2
      cn16(i1,i4,i3,i2,iut,jut).id(ide)=(tapptt(i1,i4,i3,i2).a(i
     & ut,jut)+xm(5)*tapptt(i1,i4,i3,i2).b(iut,jut)+(-xm(6))*tap
     & ptt(i1,i4,i3,i2).c(iut,jut)+xm(5)*(-xm(6))*tapptt(i1,i4,i
     & 3,i2).d(iut,jut))/((p235q-xm(5)**2)*p235k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*el2
      IF(igamgam.EQ.-1)THEN
**** Diagramma CN16 - ff contribution ****
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* TT --aa=tapptt(i1,i4,i3,i2).a,bb=tapptt(i1,i4,i3,i2).b,cc=tapptt(i1,i4,i
*3,i2).c,dd=tapptt(i1,i4,i3,i2).d,a1=l5_23fz(i3,i2).a,b1=l5_23fz(i3,i2).b,c
*1=l5_23fz(i3,i2).c,d1=l5_23fz(i3,i2).d,a2=r6_14fz(i1,i4).a,b2=r6_14fz(i1,i
* 4).b,c2=r6_14fz(i1,i4).c,d2=r6_14fz(i1,i4).d,prq=p235q,m=xm(5)
      tapptt(i1,i4,i3,i2).a(1,1)=l5_23f(i3,i2).a(1,1)*r6_14f(i
     & 1,i4).a(1,1)+l5_23f(i3,i2).c(1,2)*p235q*r6_14f(i1,i4).b
     & (2,1)   
      tapptt(i1,i4,i3,i2).b(1,1)=xm(5)*(l5_23f(i3,i2).d(1,1)*r6
     & _14f(i1,i4).a(1,1)+l5_23f(i3,i2).b(1,2)*r6_14f(i1,i4).
     & b(2,1)) 
      tapptt(i1,i4,i3,i2).c(1,1)=xm(5)*(l5_23f(i3,i2).a(1,1)*r6
     & _14f(i1,i4).d(1,1)+l5_23f(i3,i2).c(1,2)*r6_14f(i1,i4).
     & c(2,1))
      tapptt(i1,i4,i3,i2).d(1,1)=l5_23f(i3,i2).d(1,1)*p235q*r6_
     & 14f(i1,i4).d(1,1)+l5_23f(i3,i2).b(1,2)*r6_14f(i1,i4).c
     & (2,1)
      tapptt(i1,i4,i3,i2).a(1,2)=xm(5)*(l5_23f(i3,i2).a(1,1)*r6
     & _14f(i1,i4).b(1,2)+l5_23f(i3,i2).c(1,2)*r6_14f(i1,i4).
     & a(2,2))
      tapptt(i1,i4,i3,i2).b(1,2)=l5_23f(i3,i2).d(1,1)*p235q*r6_
     & 14f(i1,i4).b(1,2)+l5_23f(i3,i2).b(1,2)*r6_14f(i1,i4).a
     & (2,2)
      tapptt(i1,i4,i3,i2).c(1,2)=l5_23f(i3,i2).a(1,1)*r6_14f(i
     & 1,i4).c(1,2)+l5_23f(i3,i2).c(1,2)*p235q*r6_14f(i1,i4).d
     & (2,2)
      tapptt(i1,i4,i3,i2).d(1,2)=xm(5)*(l5_23f(i3,i2).d(1,1)*r6
     & _14f(i1,i4).c(1,2)+l5_23f(i3,i2).b(1,2)*r6_14f(i1,i4).
     & d(2,2))
      tapptt(i1,i4,i3,i2).a(2,1)=xm(5)*(l5_23f(i3,i2).c(2,1)*r6
     & _14f(i1,i4).a(1,1)+l5_23f(i3,i2).a(2,2)*r6_14f(i1,i4).
     & b(2,1))
      tapptt(i1,i4,i3,i2).b(2,1)=l5_23f(i3,i2).b(2,1)*r6_14f(i
     & 1,i4).a(1,1)+l5_23f(i3,i2).d(2,2)*p235q*r6_14f(i1,i4).b
     & (2,1)
      tapptt(i1,i4,i3,i2).c(2,1)=l5_23f(i3,i2).c(2,1)*p235q*r6_
     & 14f(i1,i4).d(1,1)+l5_23f(i3,i2).a(2,2)*r6_14f(i1,i4).c
     & (2,1)
      tapptt(i1,i4,i3,i2).d(2,1)=xm(5)*(l5_23f(i3,i2).b(2,1)*r6
     & _14f(i1,i4).d(1,1)+l5_23f(i3,i2).d(2,2)*r6_14f(i1,i4).
     & c(2,1))
      tapptt(i1,i4,i3,i2).a(2,2)=l5_23f(i3,i2).c(2,1)*p235q*r6_
     & 14f(i1,i4).b(1,2)+l5_23f(i3,i2).a(2,2)*r6_14f(i1,i4).a
     & (2,2)
      tapptt(i1,i4,i3,i2).b(2,2)=xm(5)*(l5_23f(i3,i2).b(2,1)*r6
     & _14f(i1,i4).b(1,2)+l5_23f(i3,i2).d(2,2)*r6_14f(i1,i4).
     & a(2,2))
      tapptt(i1,i4,i3,i2).c(2,2)=xm(5)*(l5_23f(i3,i2).c(2,1)*r6
     & _14f(i1,i4).c(1,2)+l5_23f(i3,i2).a(2,2)*r6_14f(i1,i4).
     & d(2,2))
      tapptt(i1,i4,i3,i2).d(2,2)=l5_23f(i3,i2).b(2,1)*r6_14f(i
     & 1,i4).c(1,2)+l5_23f(i3,i2).d(2,2)*p235q*r6_14f(i1,i4).d
     & (2,2)
      end do
      end do
      end do
      end do  
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* mline --res=cn16(i1,i4,i3,i2,&).id(ide),abcd=tapptt(i1,i4,i3,i2).,m1=xm(
* 5),m2=(-xm(6)),den=((p235q-xm(5)**2)*p235k0)
      do iut=1,2
      do jut=1,2
      cn16(i1,i4,i3,i2,iut,jut).id(ide)=
     & cn16(i1,i4,i3,i2,iut,jut).id(ide)-(tapptt(i1,i4,i3,i2).a(i
     & ut,jut)+xm(5)*tapptt(i1,i4,i3,i2).b(iut,jut)+(-xm(6))*tap
     & ptt(i1,i4,i3,i2).c(iut,jut)+xm(5)*(-xm(6))*tapptt(i1,i4,i
     & 3,i2).d(iut,jut))/((p235q-xm(5)**2)*p235k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
      ENDIF !igamgam
*endel2
          endif !i34e
          if (i56ve.eq.1.AND.izz.NE.1.AND.izg.NE.1.AND.izg34.NE.1
     &        .AND.izg56.NE.1.AND.inc08.NE.1.AND.igamgam.NE.1) then
****          diagrammi per correnti neutre con scambi di w (6)
*begin{EZ} modificato propagatore W canale t
* quqd -- p=p1,q=p6
      quqd=p1(0)*p6(0)-p1(1)*p6(1)-p1(2)*p6(2)-p1(3)*p6(3)
      ccl=wcl/((-rme**2+2.d0*quqd)+rmw2-ccw)
* TW -- qu=p1,qd=p6,v=0,a=v16w(0).a,b=v16w(0).b,c=v16w(0).c,d=v16w(0).d,cl=
* ccl,nsum=0
      eps_0=-p1(2)*p6(3)+p6(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p6(3)*cim
      auxa=-quqd+p1k0*p6(0)+p6k0*p1(0)
      v16w(0).a(2,2)=ccl*(auxa-ceps_0)
      v16w(0).b(1,2)=-ccl*(p6(2)+ceps_2)
      v16w(0).c(2,1)=ccl*(-p1(2)+ceps_1)
      v16w(0).d(1,1)=ccl
* TW -- qu=p1,qd=p6,v=1,a=v16w(1).a,b=v16w(1).b,c=v16w(1).c,d=v16w(1).d,cl=
* ccl,nsum=0
      auxa=-quqd+p1k0*p6(1)+p6k0*p1(1)
      v16w(1).a(2,2)=ccl*(auxa-ceps_0)
      v16w(1).b(1,2)=-ccl*(p6(2)+ceps_2)
      v16w(1).c(2,1)=ccl*(-p1(2)+ceps_1)
      v16w(1).d(1,1)=ccl
* TW -- qu=p1,qd=p6,v=2,a=v16w(2).a,b=v16w(2).b,c=v16w(2).c,d=v16w(2).d,cl=
* ccl,nsum=0
      eps_0=-p1k0*p6(3)+p6k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p6(2)+p6k0*p1(2)
      v16w(2).a(2,2)=ccl*(auxa-ceps_0)
      v16w(2).b(1,2)=-ccl*p6k0
      v16w(2).c(2,1)=-ccl*p1k0
* TW -- qu=p1,qd=p6,v=3,a=v16w(3).a,b=v16w(3).b,c=v16w(3).c,d=v16w(3).d,cl=
* ccl,nsum=0
      eps_0=p1k0*p6(2)-p6k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p6k0*cim
      auxa=+p1k0*p6(3)+p6k0*p1(3)
      v16w(3).a(2,2)=ccl*(auxa-ceps_0)
      v16w(3).b(1,2)=-ccl*ceps_2
      v16w(3).c(2,1)=ccl*ceps_1
* quqd -- p=p5,q=p2
*begin{EZ} modificato propagatore W canale t
      quqd=p5(0)*p2(0)-p5(1)*p2(1)-p5(2)*p2(2)-p5(3)*p2(3)
      ccl=wcl/((-rme**2+2.d0*quqd)+rmw2-ccw)
* TW -- qu=p5,qd=p2,v=0,a=v25w(0).a,b=v25w(0).b,c=v25w(0).c,d=v25w(0).d,cl=
* ccl,nsum=0
      eps_0=-p5(2)*p2(3)+p2(2)*p5(3)
      ceps_0=eps_0*cim
      ceps_1=p5(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p5k0*p2(0)+p2k0*p5(0)
      v25w(0).a(2,2)=ccl*(auxa-ceps_0)
      v25w(0).b(1,2)=-ccl*(p2(2)+ceps_2)
      v25w(0).c(2,1)=ccl*(-p5(2)+ceps_1)
      v25w(0).d(1,1)=ccl
* TW -- qu=p5,qd=p2,v=1,a=v25w(1).a,b=v25w(1).b,c=v25w(1).c,d=v25w(1).d,cl=
* ccl,nsum=0
      auxa=-quqd+p5k0*p2(1)+p2k0*p5(1)
      v25w(1).a(2,2)=ccl*(auxa-ceps_0)
      v25w(1).b(1,2)=-ccl*(p2(2)+ceps_2)
      v25w(1).c(2,1)=ccl*(-p5(2)+ceps_1)
      v25w(1).d(1,1)=ccl
* TW -- qu=p5,qd=p2,v=2,a=v25w(2).a,b=v25w(2).b,c=v25w(2).c,d=v25w(2).d,cl=
* ccl,nsum=0
      eps_0=-p5k0*p2(3)+p2k0*p5(3)
      ceps_0=eps_0*cim
      auxa=p5k0*p2(2)+p2k0*p5(2)
      v25w(2).a(2,2)=ccl*(auxa-ceps_0)
      v25w(2).b(1,2)=-ccl*p2k0
      v25w(2).c(2,1)=-ccl*p5k0
* TW -- qu=p5,qd=p2,v=3,a=v25w(3).a,b=v25w(3).b,c=v25w(3).c,d=v25w(3).d,cl=
* ccl,nsum=0
      eps_0=p5k0*p2(2)-p2k0*p5(2)
      ceps_0=eps_0*cim
      ceps_1=p5k0*cim
      ceps_2=p2k0*cim
      auxa=+p5k0*p2(3)+p2k0*p5(3)
      v25w(3).a(2,2)=ccl*(auxa-ceps_0)
      v25w(3).b(1,2)=-ccl*ceps_2
      v25w(3).c(2,1)=ccl*ceps_1
      do m=0,3
* mline -- res=c16w(&).e(m),abcd=v16w(m).,m1=(-rme),m2=0.d0,den=0
      do iut=1,2
      do jut=1,2
      c16w(iut,jut).e(m)=v16w(m).a(iut,jut)+(-rme)*v16w(m).b(iut
     & ,jut)+0.d0*v16w(m).c(iut,jut)+(-rme)*0.d0*v16w(m).d(iut,j
     & ut)
      enddo
      enddo
      end do
      do m=0,3
* mline -- res=c25w(&).e(m),abcd=v25w(m).,m1=0.d0,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c25w(iut,jut).e(m)=v25w(m).a(iut,jut)+0.d0*v25w(m).b(iut,j
     & ut)+rme*v25w(m).c(iut,jut)+0.d0*rme*v25w(m).d(iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i1=1,2
        do i6=1,2
          c16w(i1,i6).v=c16w(i1,i6).e(0)*p16(0)
          do i=1,3
            c16w(i1,i6).v=c16w(i1,i6).v-
     &      c16w(i1,i6).e(i)*p16(i)
          enddo
        enddo
      enddo
      do i1=1,2
        do i6=1,2
          do mu=0,3
            c16w(i1,i6).e(mu)=c16w(i1,i6).e(mu)-p16(mu)
     &      *c16w(i1,i6).v/(rmw2-ccw)
          enddo
        enddo
      enddo
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i2=1,2
        do i5=1,2
          c25w(i5,i2).v=c25w(i5,i2).e(0)*p25(0)
          do i=1,3
            c25w(i5,i2).v=c25w(i5,i2).v-
     &      c25w(i5,i2).e(i)*p25(i)
          enddo
        enddo
      enddo
      do i2=1,2
        do i5=1,2
          do mu=0,3
            c25w(i5,i2).e(mu)=c25w(i5,i2).e(mu)-p25(mu)
     &      *c25w(i5,i2).v/(rmw2-ccw)
          enddo
        enddo
      enddo
****
      do i1=1,2
      do i6=1,2
* pk0 -- p=c16w(i1,i6).e
      c16w(i1,i6).ek0=c16w(i1,i6).e(0)-c16w(i1,i6).e(1)
      end do
      end do
      do i5=1,2
      do i2=1,2
* pk0 -- p=c25w(i5,i2).e
      c25w(i5,i2).ek0=c25w(i5,i2).e(0)-c25w(i5,i2).e(1)
      end do
      end do
      if (ianc.eq.0) then
        do i3=1,2
         do i4=1,2
          do mu=0,3
            c34fz(i3,i4).e(mu)=c34f(i3,i4).e(mu)+
     &      rcotw*c34z(i3,i4).e(mu)
          end do
         end do
        end do
      else
        do i3=1,2
         do i4=1,2
          do mu=0,3
            c34fz(i3,i4).e(mu)=c34f(i3,i4).e(mu)+
     &      (rcotw+delz)*c34z(i3,i4).e(mu)
          end do
         end do
        end do
      endif
*
* diagramma triplo cn23
*
*** triple vertex -- pfz(mu)=p34(mu),pwm(mu)=p16(mu),pwp(mu)=p25(mu),efz=c3
* 4fz(i3,i4),ewm=c16w(i1,i6),ewp=c25w(i5,i2),res=cn23(i1?,i2?,i3?,i4?,i5?,i6
* ?).id(ide)
      do mu=0,3
      vfz(mu)=p16(mu)-p25(mu)
      vwm(mu)=p25(mu)-p34(mu)
      vwp(mu)=p34(mu)-p16(mu)
      end do !mu
* vfz.efz
      do i3=1,2
      do i4=1,2
* p.q -- p.q=c34fz(i3,i4).v,p=c34fz(i3,i4).e,q=vfz
      c34fz(i3,i4).v=c34fz(i3,i4).e(0)*vfz(0)-c34fz(i3,i4).e(1)*
     & vfz(1)-c34fz(i3,i4).e(2)*vfz(2)-c34fz(i3,i4).e(3)*vfz(3)
      end do
      end do
* vwm.ewm
      do i1=1,2
      do i6=1,2
* p.q -- p.q=c16w(i1,i6).v,p=c16w(i1,i6).e,q=vwm
      c16w(i1,i6).v=c16w(i1,i6).e(0)*vwm(0)-c16w(i1,i6).e(1)*vwm
     & (1)-c16w(i1,i6).e(2)*vwm(2)-c16w(i1,i6).e(3)*vwm(3)
      end do
      end do
* vwp.ewp
      do i5=1,2
      do i2=1,2
* p.q -- p.q=c25w(i5,i2).v,p=c25w(i5,i2).e,q=vwp
      c25w(i5,i2).v=c25w(i5,i2).e(0)*vwp(0)-c25w(i5,i2).e(1)*vwp
     & (1)-c25w(i5,i2).e(2)*vwp(2)-c25w(i5,i2).e(3)*vwp(3)
      end do
      end do
* efz.ewm
      do i3=1,2
      do i4=1,2
      do i1=1,2
      do i6=1,2
* p.q -- p.q=caux,p=c34fz(i3,i4).e,q=c16w(i1,i6).e
      caux=c34fz(i3,i4).e(0)*c16w(i1,i6).e(0)-c34fz(i3,i4).e(1)*
     & c16w(i1,i6).e(1)-c34fz(i3,i4).e(2)*c16w(i1,i6).e(2)-c34fz
     & (i3,i4).e(3)*c16w(i1,i6).e(3)
      do i2=1,2
      do i5=1,2
      cn23(i1,i2,i3,i4,i5,i6).id(ide)=c25w(i5,i2).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* efz.ewp
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=caux,p=c34fz(i3,i4).e,q=c25w(i5,i2).e
      caux=c34fz(i3,i4).e(0)*c25w(i5,i2).e(0)-c34fz(i3,i4).e(1)*
     & c25w(i5,i2).e(1)-c34fz(i3,i4).e(2)*c25w(i5,i2).e(2)-c34fz
     & (i3,i4).e(3)*c25w(i5,i2).e(3)
      do i1=1,2
      do i6=1,2
      cn23(i1,i2,i3,i4,i5,i6).id(ide)=cn23(i1,i2,i3,i4,i5,i6).id
     & (ide)+c16w(i1,i6).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* ewm.ewp
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=caux,p=c16w(i1,i6).e,q=c25w(i5,i2).e
      caux=c16w(i1,i6).e(0)*c25w(i5,i2).e(0)-c16w(i1,i6).e(1)*c2
     & 5w(i5,i2).e(1)-c16w(i1,i6).e(2)*c25w(i5,i2).e(2)-c16w(i1,
     & i6).e(3)*c25w(i5,i2).e(3)
      do i3=1,2
      do i4=1,2
      cn23(i1,i2,i3,i4,i5,i6).id(ide)=cn23(i1,i2,i3,i4,i5,i6).id
     & (ide)+c34fz(i3,i4).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* anomalous couplings
      if (ianc.ne.0) then
      do i1=1,2
      do i6=1,2
* p.q -- p.q=cemp0(i1,i6),p=c16w(i1,i6).e,q=p34
      cemp0(i1,i6)=c16w(i1,i6).e(0)*p34(0)-c16w(i1,i6).e(1)*p34(
     & 1)-c16w(i1,i6).e(2)*p34(2)-c16w(i1,i6).e(3)*p34(3)
      end do
      end do
      do i5=1,2
      do i2=1,2
* p.q -- p.q=cepp0(i5,i2),p=c25w(i5,i2).e,q=p34
      cepp0(i5,i2)=c25w(i5,i2).e(0)*p34(0)-c25w(i5,i2).e(1)*p34(
     & 1)-c25w(i5,i2).e(2)*p34(2)-c25w(i5,i2).e(3)*p34(3)
      end do
      end do

        if (xf.ne.0.d0.or.xz.ne.0.d0) then
          do i3=1,2
           do i4=1,2
            do mu=0,3
              c34fz(i3,i4).e(mu)=xf*c34f(i3,i4).e(mu)+
     &        xz*c34z(i3,i4).e(mu)
            end do
           end do
          end do
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i4=1,2
* p.q -- p.q=ce0em(i1,i6,i3,i4),p=c34fz(i3,i4).e,q=c16w(i1,i6).e
      ce0em(i1,i6,i3,i4)=c34fz(i3,i4).e(0)*c16w(i1,i6).e(0)-c34f
     & z(i3,i4).e(1)*c16w(i1,i6).e(1)-c34fz(i3,i4).e(2)*c16w(i1,
     & i6).e(2)-c34fz(i3,i4).e(3)*c16w(i1,i6).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=ce0ep(i3,i4,i5,i2),p=c34fz(i3,i4).e,q=c25w(i5,i2).e
      ce0ep(i3,i4,i5,i2)=c34fz(i3,i4).e(0)*c25w(i5,i2).e(0)-c34f
     & z(i3,i4).e(1)*c25w(i5,i2).e(1)-c34fz(i3,i4).e(2)*c25w(i5,
     & i2).e(2)-c34fz(i3,i4).e(3)*c25w(i5,i2).e(3)
      end do
      end do
      end do
      end do
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                cn23(i1,i2,i3,i4,i5,i6).id(ide)=
     &          cn23(i1,i2,i3,i4,i5,i6).id(ide)+
     &          ce0em(i1,i6,i3,i4)*cepp0(i5,i2)-
     &          ce0ep(i3,i4,i5,i2)*cemp0(i1,i6)
               end do
              end do
             end do
            end do
           end do
          end do
        endif

        if (yf.ne.0.d0.or.yz.ne.0.d0) then
          do i3=1,2
           do i4=1,2
            do mu=0,3
              c34fz(i3,i4).e(mu)=yf*c34f(i3,i4).e(mu)+
     &        yz*c34z(i3,i4).e(mu)
            end do
           end do
          end do
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i4=1,2
* p.q -- p.q=ce0em(i1,i6,i3,i4),p=c34fz(i3,i4).e,q=c16w(i1,i6).e
      ce0em(i1,i6,i3,i4)=c34fz(i3,i4).e(0)*c16w(i1,i6).e(0)-c34f
     & z(i3,i4).e(1)*c16w(i1,i6).e(1)-c34fz(i3,i4).e(2)*c16w(i1,
     & i6).e(2)-c34fz(i3,i4).e(3)*c16w(i1,i6).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=ce0ep(i3,i4,i5,i2),p=c34fz(i3,i4).e,q=c25w(i5,i2).e
      ce0ep(i3,i4,i5,i2)=c34fz(i3,i4).e(0)*c25w(i5,i2).e(0)-c34f
     & z(i3,i4).e(1)*c25w(i5,i2).e(1)-c34fz(i3,i4).e(2)*c25w(i5,
     & i2).e(2)-c34fz(i3,i4).e(3)*c25w(i5,i2).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
* p.q -- p.q=ce0pm(i3,i4),p=c34fz(i3,i4).e,q=p16
      ce0pm(i3,i4)=c34fz(i3,i4).e(0)*p16(0)-c34fz(i3,i4).e(1)*p1
     & 6(1)-c34fz(i3,i4).e(2)*p16(2)-c34fz(i3,i4).e(3)*p16(3)
      end do
      end do
      do i3=1,2
      do i4=1,2
* p.q -- p.q=ce0pp(i3,i4),p=c34fz(i3,i4).e,q=p25
      ce0pp(i3,i4)=c34fz(i3,i4).e(0)*p25(0)-c34fz(i3,i4).e(1)*p2
     & 5(1)-c34fz(i3,i4).e(2)*p25(2)-c34fz(i3,i4).e(3)*p25(3)
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* p.q -- p.q=cemep(i1,i6,i5,i2),p=c16w(i1,i6).e,q=c25w(i5,i2).e
      cemep(i1,i6,i5,i2)=c16w(i1,i6).e(0)*c25w(i5,i2).e(0)-c16w(
     & i1,i6).e(1)*c25w(i5,i2).e(1)-c16w(i1,i6).e(2)*c25w(i5,i2)
     & .e(2)-c16w(i1,i6).e(3)*c25w(i5,i2).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
* p.q -- p.q=cempp(i1,i6),p=c16w(i1,i6).e,q=p25
      cempp(i1,i6)=c16w(i1,i6).e(0)*p25(0)-c16w(i1,i6).e(1)*p25(
     & 1)-c16w(i1,i6).e(2)*p25(2)-c16w(i1,i6).e(3)*p25(3)
      end do
      end do
      do i5=1,2
      do i2=1,2
* p.q -- p.q=ceppm(i5,i2),p=c25w(i5,i2).e,q=p16
      ceppm(i5,i2)=c25w(i5,i2).e(0)*p16(0)-c25w(i5,i2).e(1)*p16(
     & 1)-c25w(i5,i2).e(2)*p16(2)-c25w(i5,i2).e(3)*p16(3)
      end do
      end do
* p.q -- p.q=p0pm,p=p34,q=p16
      p0pm=p34(0)*p16(0)-p34(1)*p16(1)-p34(2)*p16(2)-p34(3)*p16(
     & 3)
* p.q -- p.q=p0pp,p=p34,q=p25
      p0pp=p34(0)*p25(0)-p34(1)*p25(1)-p34(2)*p25(2)-p34(3)*p25(
     & 3)
* p.q -- p.q=pmpp,p=p16,q=p25
      pmpp=p16(0)*p25(0)-p16(1)*p25(1)-p16(2)*p25(2)-p16(3)*p25(
     & 3)
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                 cn23(i1,i2,i3,i4,i5,i6).id(ide)=
     &           cn23(i1,i2,i3,i4,i5,i6).id(ide)+
     &           ce0pm(i3,i4)*cepp0(i5,i2)*cempp(i1,i6)-
     &           ce0pp(i3,i4)*ceppm(i5,i2)*cemp0(i1,i6)+
     &           p0pp*(ce0em(i1,i6,i3,i4)*ceppm(i5,i2)-
     &           cemep(i1,i6,i5,i2)*ce0pm(i3,i4))+
     &           p0pm*(cemep(i1,i6,i5,i2)*ce0pp(i3,i4)-
     &           ce0ep(i3,i4,i5,i2)*cempp(i1,i6))+
     &           pmpp*(ce0ep(i3,i4,i5,i2)*cemp0(i1,i6)-
     &           ce0em(i1,i6,i3,i4)*cepp0(i5,i2))
               end do
              end do
             end do
            end do
           end do
          end do
        endif
        if (zz.ne.0.d0) then
          do m=0,3
           do i1=1,2
            do i6=1,2
             do i5=1,2
              do i2=1,2
               cpau(i1,i6,i5,i2).e(m)=
     &         cepp0(i5,i2)*c16w(i1,i6).e(m)-
     &         cemp0(i1,i6)*c25w(i5,i2).e(m)
              enddo
             enddo
            enddo
           enddo
           pau(m)=p25(m)-p16(m)
          enddo
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* eps -- eps=cau(i1,i2,i3,i4,i5,i6),p=c34z(i3,i4).e,q=cpau(i1,i6,i5,i2).e,r
* =p34,s=pau
      cau(i1,i2,i3,i4,i5,i6)=c34z(i3,i4).e(0)*(cpau(i1,i6,i5,i2)
     & .e(1)*(p34(2)*pau(3)-p34(3)*pau(2))+cpau(i1,i6,i5,i2).e(2
     & )*(p34(3)*pau(1)-p34(1)*pau(3))+cpau(i1,i6,i5,i2).e(3)*(p
     & 34(1)*pau(2)-p34(2)*pau(1)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c34z(i3,i4).
     & e(1)*(cpau(i1,i6,i5,i2).e(2)*(p34(3)*pau(0)-p34(0)*pau(3)
     & )+cpau(i1,i6,i5,i2).e(3)*(p34(0)*pau(2)-p34(2)*pau(0))+cp
     & au(i1,i6,i5,i2).e(0)*(p34(2)*pau(3)-p34(3)*pau(2)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)+c34z(i3,i4).
     & e(2)*(cpau(i1,i6,i5,i2).e(3)*(p34(0)*pau(1)-p34(1)*pau(0)
     & )+cpau(i1,i6,i5,i2).e(0)*(p34(1)*pau(3)-p34(3)*pau(1))+cp
     & au(i1,i6,i5,i2).e(1)*(p34(3)*pau(0)-p34(0)*pau(3)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c34z(i3,i4).
     & e(3)*(cpau(i1,i6,i5,i2).e(0)*(p34(1)*pau(2)-p34(2)*pau(1)
     & )+cpau(i1,i6,i5,i2).e(1)*(p34(2)*pau(0)-p34(0)*pau(2))+cp
     & au(i1,i6,i5,i2).e(2)*(p34(0)*pau(1)-p34(1)*pau(0)))
      end do
      end do
      end do
      end do
      end do
      end do
          do i1=1,2
           do i2=1,2
            do i3=1,2
             do i4=1,2
              do i5=1,2
               do i6=1,2
                cn23(i1,i2,i3,i4,i5,i6).id(ide)=
     &          cn23(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cim*zz*cau(i1,i2,i3,i4,i5,i6)
               enddo
              enddo
             enddo
            enddo
           enddo
          enddo
        endif
      endif
* end anomalous couplings
* quqd -- p=p134,q=p6
      quqd=p134(0)*p6(0)-p134(1)*p6(1)-p134(2)*p6(2)-p134(3)*p6(
     & 3)
      do i5=1,2
      do i2=1,2
* TW -- qu=p134,qd=p6,v=c25w(i5,i2).e,a=r6_25w(i5,i2).a,b=r6_25w(i5,i2).b,c
* =r6_25w(i5,i2).c,d=r6_25w(i5,i2).d,cl=wcl,nsum=0
      ceps_0=-c25w(i5,i2).ek0*(p134(2)*p6(3)-p6(2)*p134(3))+p134
     & k0*(c25w(i5,i2).e(2)*p6(3)-p6(2)*c25w(i5,i2).e(3))-p6k0*(
     & c25w(i5,i2).e(2)*p134(3)-p134(2)*c25w(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25w(i5,i2).e(3)*p134k0+p134(3)*c25w(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25w(i5,i2).e(3)*p6k0+p6(3)*c25w(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25w(i5,i2).e(0)*p134(0)-c25w(i5,i2).e(1)*p134(1)-c25
     & w(i5,i2).e(2)*p134(2)-c25w(i5,i2).e(3)*p134(3)
      cvqd=c25w(i5,i2).e(0)*p6(0)-c25w(i5,i2).e(1)*p6(1)-c25w(i5
     & ,i2).e(2)*p6(2)-c25w(i5,i2).e(3)*p6(3)
      cauxa=-c25w(i5,i2).ek0*quqd+p134k0*cvqd+p6k0*cvqu
      cauxb=-c25w(i5,i2).ek0*p6(2)+p6k0*c25w(i5,i2).e(2)
      cauxc=+c25w(i5,i2).ek0*p134(2)-p134k0*c25w(i5,i2).e(2)
      r6_25w(i5,i2).a(2,2)=wcl*(cauxa-ceps_0)
      r6_25w(i5,i2).b(1,2)=wcl*(cauxb-ceps_2)
      r6_25w(i5,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      r6_25w(i5,i2).d(1,1)=wcl*c25w(i5,i2).ek0
      end do
      end do
* quqd -- p=p345,q=p2
      quqd=p345(0)*p2(0)-p345(1)*p2(1)-p345(2)*p2(2)-p345(3)*p2(
     & 3)
      do i1=1,2
      do i6=1,2
* TW -- qu=p345,qd=p2,v=c16w(i1,i6).e,a=r2_16w(i1,i6).a,b=r2_16w(i1,i6).b,c
* =r2_16w(i1,i6).c,d=r2_16w(i1,i6).d,cl=wcl,nsum=0
      ceps_0=-c16w(i1,i6).ek0*(p345(2)*p2(3)-p2(2)*p345(3))+p345
     & k0*(c16w(i1,i6).e(2)*p2(3)-p2(2)*c16w(i1,i6).e(3))-p2k0*(
     & c16w(i1,i6).e(2)*p345(3)-p345(2)*c16w(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16w(i1,i6).e(3)*p345k0+p345(3)*c16w(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16w(i1,i6).e(3)*p2k0+p2(3)*c16w(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16w(i1,i6).e(0)*p345(0)-c16w(i1,i6).e(1)*p345(1)-c16
     & w(i1,i6).e(2)*p345(2)-c16w(i1,i6).e(3)*p345(3)
      cvqd=c16w(i1,i6).e(0)*p2(0)-c16w(i1,i6).e(1)*p2(1)-c16w(i1
     & ,i6).e(2)*p2(2)-c16w(i1,i6).e(3)*p2(3)
      cauxa=-c16w(i1,i6).ek0*quqd+p345k0*cvqd+p2k0*cvqu
      cauxb=-c16w(i1,i6).ek0*p2(2)+p2k0*c16w(i1,i6).e(2)
      cauxc=+c16w(i1,i6).ek0*p345(2)-p345k0*c16w(i1,i6).e(2)
      r2_16w(i1,i6).a(2,2)=wcl*(cauxa-ceps_0)
      r2_16w(i1,i6).b(1,2)=wcl*(cauxb-ceps_2)
      r2_16w(i1,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      r2_16w(i1,i6).d(1,1)=wcl*c16w(i1,i6).ek0
      end do
      end do
*** per diagramma cn28
         if (f3l.lt.0.d0) then
* quqd -- p=p235,q=p4
      quqd=p235(0)*p4(0)-p235(1)*p4(1)-p235(2)*p4(2)-p235(3)*p4(
     & 3)
      do i1=1,2
      do i6=1,2
* TW -- qu=p235,qd=p4,v=c16w(i1,i6).e,a=r4_16w(i1,i6).a,b=r4_16w(i1,i6).b,c
* =r4_16w(i1,i6).c,d=r4_16w(i1,i6).d,cl=wcl,nsum=0
      ceps_0=-c16w(i1,i6).ek0*(p235(2)*p4(3)-p4(2)*p235(3))+p235
     & k0*(c16w(i1,i6).e(2)*p4(3)-p4(2)*c16w(i1,i6).e(3))-p4k0*(
     & c16w(i1,i6).e(2)*p235(3)-p235(2)*c16w(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16w(i1,i6).e(3)*p235k0+p235(3)*c16w(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16w(i1,i6).e(3)*p4k0+p4(3)*c16w(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16w(i1,i6).e(0)*p235(0)-c16w(i1,i6).e(1)*p235(1)-c16
     & w(i1,i6).e(2)*p235(2)-c16w(i1,i6).e(3)*p235(3)
      cvqd=c16w(i1,i6).e(0)*p4(0)-c16w(i1,i6).e(1)*p4(1)-c16w(i1
     & ,i6).e(2)*p4(2)-c16w(i1,i6).e(3)*p4(3)
      cauxa=-c16w(i1,i6).ek0*quqd+p235k0*cvqd+p4k0*cvqu
      cauxb=-c16w(i1,i6).ek0*p4(2)+p4k0*c16w(i1,i6).e(2)
      cauxc=+c16w(i1,i6).ek0*p235(2)-p235k0*c16w(i1,i6).e(2)
      r4_16w(i1,i6).a(2,2)=wcl*(cauxa-ceps_0)
      r4_16w(i1,i6).b(1,2)=wcl*(cauxb-ceps_2)
      r4_16w(i1,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      r4_16w(i1,i6).d(1,1)=wcl*c16w(i1,i6).ek0
      end do
      end do
* quqd -- p=p3,q=p235
      quqd=p3(0)*p235(0)-p3(1)*p235(1)-p3(2)*p235(2)-p3(3)*p235(
     & 3)
      do i5=1,2
      do i2=1,2
* TW -- qu=p3,qd=p235,v=c25w(i5,i2).e,a=l3_25w(i5,i2).a,b=l3_25w(i5,i2).b,c
* =l3_25w(i5,i2).c,d=l3_25w(i5,i2).d,cl=wcl,nsum=0
      ceps_0=-c25w(i5,i2).ek0*(p3(2)*p235(3)-p235(2)*p3(3))+p3k0
     & *(c25w(i5,i2).e(2)*p235(3)-p235(2)*c25w(i5,i2).e(3))-p235
     & k0*(c25w(i5,i2).e(2)*p3(3)-p3(2)*c25w(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25w(i5,i2).e(3)*p3k0+p3(3)*c25w(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25w(i5,i2).e(3)*p235k0+p235(3)*c25w(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25w(i5,i2).e(0)*p3(0)-c25w(i5,i2).e(1)*p3(1)-c25w(i5
     & ,i2).e(2)*p3(2)-c25w(i5,i2).e(3)*p3(3)
      cvqd=c25w(i5,i2).e(0)*p235(0)-c25w(i5,i2).e(1)*p235(1)-c25
     & w(i5,i2).e(2)*p235(2)-c25w(i5,i2).e(3)*p235(3)
      cauxa=-c25w(i5,i2).ek0*quqd+p3k0*cvqd+p235k0*cvqu
      cauxb=-c25w(i5,i2).ek0*p235(2)+p235k0*c25w(i5,i2).e(2)
      cauxc=+c25w(i5,i2).ek0*p3(2)-p3k0*c25w(i5,i2).e(2)
      l3_25w(i5,i2).a(2,2)=wcl*(cauxa-ceps_0)
      l3_25w(i5,i2).b(1,2)=wcl*(cauxb-ceps_2)
      l3_25w(i5,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      l3_25w(i5,i2).d(1,1)=wcl*c25w(i5,i2).ek0
      end do
      end do
         else
* quqd -- p=p136,q=p4
      quqd=p136(0)*p4(0)-p136(1)*p4(1)-p136(2)*p4(2)-p136(3)*p4(
     & 3)
      do i5=1,2
      do i2=1,2
* TW -- qu=p136,qd=p4,v=c25w(i5,i2).e,a=r4_25w(i5,i2).a,b=r4_25w(i5,i2).b,c
* =r4_25w(i5,i2).c,d=r4_25w(i5,i2).d,cl=wcl,nsum=0
      ceps_0=-c25w(i5,i2).ek0*(p136(2)*p4(3)-p4(2)*p136(3))+p136
     & k0*(c25w(i5,i2).e(2)*p4(3)-p4(2)*c25w(i5,i2).e(3))-p4k0*(
     & c25w(i5,i2).e(2)*p136(3)-p136(2)*c25w(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25w(i5,i2).e(3)*p136k0+p136(3)*c25w(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25w(i5,i2).e(3)*p4k0+p4(3)*c25w(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25w(i5,i2).e(0)*p136(0)-c25w(i5,i2).e(1)*p136(1)-c25
     & w(i5,i2).e(2)*p136(2)-c25w(i5,i2).e(3)*p136(3)
      cvqd=c25w(i5,i2).e(0)*p4(0)-c25w(i5,i2).e(1)*p4(1)-c25w(i5
     & ,i2).e(2)*p4(2)-c25w(i5,i2).e(3)*p4(3)
      cauxa=-c25w(i5,i2).ek0*quqd+p136k0*cvqd+p4k0*cvqu
      cauxb=-c25w(i5,i2).ek0*p4(2)+p4k0*c25w(i5,i2).e(2)
      cauxc=+c25w(i5,i2).ek0*p136(2)-p136k0*c25w(i5,i2).e(2)
      r4_25w(i5,i2).a(2,2)=wcl*(cauxa-ceps_0)
      r4_25w(i5,i2).b(1,2)=wcl*(cauxb-ceps_2)
      r4_25w(i5,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      r4_25w(i5,i2).d(1,1)=wcl*c25w(i5,i2).ek0
      end do
      end do
* quqd -- p=p3,q=p136
      quqd=p3(0)*p136(0)-p3(1)*p136(1)-p3(2)*p136(2)-p3(3)*p136(
     & 3)
      do i1=1,2
      do i6=1,2
* TW -- qu=p3,qd=p136,v=c16w(i1,i6).e,a=l3_16w(i1,i6).a,b=l3_16w(i1,i6).b,c
* =l3_16w(i1,i6).c,d=l3_16w(i1,i6).d,cl=wcl,nsum=0
      ceps_0=-c16w(i1,i6).ek0*(p3(2)*p136(3)-p136(2)*p3(3))+p3k0
     & *(c16w(i1,i6).e(2)*p136(3)-p136(2)*c16w(i1,i6).e(3))-p136
     & k0*(c16w(i1,i6).e(2)*p3(3)-p3(2)*c16w(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16w(i1,i6).e(3)*p3k0+p3(3)*c16w(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16w(i1,i6).e(3)*p136k0+p136(3)*c16w(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16w(i1,i6).e(0)*p3(0)-c16w(i1,i6).e(1)*p3(1)-c16w(i1
     & ,i6).e(2)*p3(2)-c16w(i1,i6).e(3)*p3(3)
      cvqd=c16w(i1,i6).e(0)*p136(0)-c16w(i1,i6).e(1)*p136(1)-c16
     & w(i1,i6).e(2)*p136(2)-c16w(i1,i6).e(3)*p136(3)
      cauxa=-c16w(i1,i6).ek0*quqd+p3k0*cvqd+p136k0*cvqu
      cauxb=-c16w(i1,i6).ek0*p136(2)+p136k0*c16w(i1,i6).e(2)
      cauxc=+c16w(i1,i6).ek0*p3(2)-p3k0*c16w(i1,i6).e(2)
      l3_16w(i1,i6).a(2,2)=wcl*(cauxa-ceps_0)
      l3_16w(i1,i6).b(1,2)=wcl*(cauxb-ceps_2)
      l3_16w(i1,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      l3_16w(i1,i6).d(1,1)=wcl*c16w(i1,i6).ek0
      end do
      end do
         endif
****
* quqd -- p=p1,q=p125
      quqd=p1(0)*p125(0)-p1(1)*p125(1)-p1(2)*p125(2)-p1(3)*p125(
     & 3)
      do i5=1,2
      do i2=1,2
* TW -- qu=p1,qd=p125,v=c25w(i5,i2).e,a=l1_25w(i5,i2).a,b=l1_25w(i5,i2).b,c
* =l1_25w(i5,i2).c,d=l1_25w(i5,i2).d,cl=wcl,nsum=0
      ceps_0=-c25w(i5,i2).ek0*(p1(2)*p125(3)-p125(2)*p1(3))+p1k0
     & *(c25w(i5,i2).e(2)*p125(3)-p125(2)*c25w(i5,i2).e(3))-p125
     & k0*(c25w(i5,i2).e(2)*p1(3)-p1(2)*c25w(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25w(i5,i2).e(3)*p1k0+p1(3)*c25w(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25w(i5,i2).e(3)*p125k0+p125(3)*c25w(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25w(i5,i2).e(0)*p1(0)-c25w(i5,i2).e(1)*p1(1)-c25w(i5
     & ,i2).e(2)*p1(2)-c25w(i5,i2).e(3)*p1(3)
      cvqd=c25w(i5,i2).e(0)*p125(0)-c25w(i5,i2).e(1)*p125(1)-c25
     & w(i5,i2).e(2)*p125(2)-c25w(i5,i2).e(3)*p125(3)
      cauxa=-c25w(i5,i2).ek0*quqd+p1k0*cvqd+p125k0*cvqu
      cauxb=-c25w(i5,i2).ek0*p125(2)+p125k0*c25w(i5,i2).e(2)
      cauxc=+c25w(i5,i2).ek0*p1(2)-p1k0*c25w(i5,i2).e(2)
      l1_25w(i5,i2).a(2,2)=wcl*(cauxa-ceps_0)
      l1_25w(i5,i2).b(1,2)=wcl*(cauxb-ceps_2)
      l1_25w(i5,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      l1_25w(i5,i2).d(1,1)=wcl*c25w(i5,i2).ek0
      end do
      end do
* quqd -- p=p5,q=p156
      quqd=p5(0)*p156(0)-p5(1)*p156(1)-p5(2)*p156(2)-p5(3)*p156(
     & 3)
      do i1=1,2
      do i6=1,2
* TW -- qu=p5,qd=p156,v=c16w(i1,i6).e,a=l5_16w(i1,i6).a,b=l5_16w(i1,i6).b,c
* =l5_16w(i1,i6).c,d=l5_16w(i1,i6).d,cl=wcl,nsum=0
      ceps_0=-c16w(i1,i6).ek0*(p5(2)*p156(3)-p156(2)*p5(3))+p5k0
     & *(c16w(i1,i6).e(2)*p156(3)-p156(2)*c16w(i1,i6).e(3))-p156
     & k0*(c16w(i1,i6).e(2)*p5(3)-p5(2)*c16w(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16w(i1,i6).e(3)*p5k0+p5(3)*c16w(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16w(i1,i6).e(3)*p156k0+p156(3)*c16w(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16w(i1,i6).e(0)*p5(0)-c16w(i1,i6).e(1)*p5(1)-c16w(i1
     & ,i6).e(2)*p5(2)-c16w(i1,i6).e(3)*p5(3)
      cvqd=c16w(i1,i6).e(0)*p156(0)-c16w(i1,i6).e(1)*p156(1)-c16
     & w(i1,i6).e(2)*p156(2)-c16w(i1,i6).e(3)*p156(3)
      cauxa=-c16w(i1,i6).ek0*quqd+p5k0*cvqd+p156k0*cvqu
      cauxb=-c16w(i1,i6).ek0*p156(2)+p156k0*c16w(i1,i6).e(2)
      cauxc=+c16w(i1,i6).ek0*p5(2)-p5k0*c16w(i1,i6).e(2)
      l5_16w(i1,i6).a(2,2)=wcl*(cauxa-ceps_0)
      l5_16w(i1,i6).b(1,2)=wcl*(cauxb-ceps_2)
      l5_16w(i1,i6).c(2,1)=wcl*(-cauxc+ceps_1)
      l5_16w(i1,i6).d(1,1)=wcl*c16w(i1,i6).ek0
      end do
      end do
**** diagramma CN24
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* TTW -- aa=tappttw(i3,i4,i5,i2).a,bb=tappttw(i3,i4,i5,i2).b,cc=tappttw(i3,
* i4,i5,i2).c,dd=tappttw(i3,i4,i5,i2).d,a1=l1_34fz(i3,i4).a,b1=l1_34fz(i3,i4
* ).b,c1=l1_34fz(i3,i4).c,d1=l1_34fz(i3,i4).d,a2=r6_25w(i5,i2).a,b2=r6_25w(i
* 5,i2).b,c2=r6_25w(i5,i2).c,d2=r6_25w(i5,i2).d,prq=p134q,m=rme
      tappttw(i3,i4,i5,i2).c(1,1)=rme*(l1_34fz(i3,i4).a(1,1)*r6_
     & 25w(i5,i2).d(1,1)+l1_34fz(i3,i4).c(1,2)*r6_25w(i5,i2).c(2
     & ,1))
      tappttw(i3,i4,i5,i2).d(1,1)=l1_34fz(i3,i4).d(1,1)*p134q*r6
     & _25w(i5,i2).d(1,1)+l1_34fz(i3,i4).b(1,2)*r6_25w(i5,i2).c(
     & 2,1)
      tappttw(i3,i4,i5,i2).a(1,2)=rme*(l1_34fz(i3,i4).a(1,1)*r6_
     & 25w(i5,i2).b(1,2)+l1_34fz(i3,i4).c(1,2)*r6_25w(i5,i2).a(2
     & ,2))
      tappttw(i3,i4,i5,i2).b(1,2)=l1_34fz(i3,i4).d(1,1)*p134q*r6
     & _25w(i5,i2).b(1,2)+l1_34fz(i3,i4).b(1,2)*r6_25w(i5,i2).a(
     & 2,2)
      tappttw(i3,i4,i5,i2).c(2,1)=l1_34fz(i3,i4).c(2,1)*p134q*r6
     & _25w(i5,i2).d(1,1)+l1_34fz(i3,i4).a(2,2)*r6_25w(i5,i2).c(
     & 2,1)
      tappttw(i3,i4,i5,i2).d(2,1)=rme*(l1_34fz(i3,i4).b(2,1)*r6_
     & 25w(i5,i2).d(1,1)+l1_34fz(i3,i4).d(2,2)*r6_25w(i5,i2).c(2
     & ,1))
      tappttw(i3,i4,i5,i2).a(2,2)=l1_34fz(i3,i4).c(2,1)*p134q*r6
     & _25w(i5,i2).b(1,2)+l1_34fz(i3,i4).a(2,2)*r6_25w(i5,i2).a(
     & 2,2)
      tappttw(i3,i4,i5,i2).b(2,2)=rme*(l1_34fz(i3,i4).b(2,1)*r6_
     & 25w(i5,i2).b(1,2)+l1_34fz(i3,i4).d(2,2)*r6_25w(i5,i2).a(2
     & ,2))
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* mline -- res=cn24(i3,i4,i5,i2,&).id(ide),abcd=tappttw(i3,i4,i5,i2).,m1=(-
* rme),m2=(-xm(6)),den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      cn24(i3,i4,i5,i2,iut,jut).id(ide)=(tappttw(i3,i4,i5,i2).a(
     & iut,jut)+(-rme)*tappttw(i3,i4,i5,i2).b(iut,jut)+(-xm(6))*
     & tappttw(i3,i4,i5,i2).c(iut,jut)+(-rme)*(-xm(6))*tappttw(i
     & 3,i4,i5,i2).d(iut,jut))/((p134q-rme**2)*p134k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** diagramma CN25
      do i3=1,2
      do i4=1,2
      do i1=1,2
      do i6=1,2
* TWT -- aa=tapptwt(i3,i4,i1,i6).a,bb=tapptwt(i3,i4,i1,i6).b,cc=tapptwt(i3,
* i4,i1,i6).c,dd=tapptwt(i3,i4,i1,i6).d,a1=l5_16w(i1,i6).a,b1=l5_16w(i1,i6).
* b,c1=l5_16w(i1,i6).c,d1=l5_16w(i1,i6).d,a2=r2_34fz(i3,i4).a,b2=r2_34fz(i3,
* i4).b,c2=r2_34fz(i3,i4).c,d2=r2_34fz(i3,i4).d,prq=p156q,m=rme
      tapptwt(i3,i4,i1,i6).b(1,1)=rme*(l5_16w(i1,i6).d(1,1)*r2_3
     & 4fz(i3,i4).a(1,1)+l5_16w(i1,i6).b(1,2)*r2_34fz(i3,i4).b(2
     & ,1))
      tapptwt(i3,i4,i1,i6).d(1,1)=l5_16w(i1,i6).d(1,1)*p156q*r2_
     & 34fz(i3,i4).d(1,1)+l5_16w(i1,i6).b(1,2)*r2_34fz(i3,i4).c(
     & 2,1)
      tapptwt(i3,i4,i1,i6).b(1,2)=l5_16w(i1,i6).d(1,1)*p156q*r2_
     & 34fz(i3,i4).b(1,2)+l5_16w(i1,i6).b(1,2)*r2_34fz(i3,i4).a(
     & 2,2)
      tapptwt(i3,i4,i1,i6).d(1,2)=rme*(l5_16w(i1,i6).d(1,1)*r2_3
     & 4fz(i3,i4).c(1,2)+l5_16w(i1,i6).b(1,2)*r2_34fz(i3,i4).d(2
     & ,2))
      tapptwt(i3,i4,i1,i6).a(2,1)=rme*(l5_16w(i1,i6).c(2,1)*r2_3
     & 4fz(i3,i4).a(1,1)+l5_16w(i1,i6).a(2,2)*r2_34fz(i3,i4).b(2
     & ,1))
      tapptwt(i3,i4,i1,i6).c(2,1)=l5_16w(i1,i6).c(2,1)*p156q*r2_
     & 34fz(i3,i4).d(1,1)+l5_16w(i1,i6).a(2,2)*r2_34fz(i3,i4).c(
     & 2,1)
      tapptwt(i3,i4,i1,i6).a(2,2)=l5_16w(i1,i6).c(2,1)*p156q*r2_
     & 34fz(i3,i4).b(1,2)+l5_16w(i1,i6).a(2,2)*r2_34fz(i3,i4).a(
     & 2,2)
      tapptwt(i3,i4,i1,i6).c(2,2)=rme*(l5_16w(i1,i6).c(2,1)*r2_3
     & 4fz(i3,i4).c(1,2)+l5_16w(i1,i6).a(2,2)*r2_34fz(i3,i4).d(2
     & ,2))
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i1=1,2
      do i6=1,2
* mline -- res=cn25(i3,i4,i1,i6,&).id(ide),abcd=tapptwt(i3,i4,i1,i6).,m1=xm
* (5),m2=rme,den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      cn25(i3,i4,i1,i6,iut,jut).id(ide)=(tapptwt(i3,i4,i1,i6).a(
     & iut,jut)+xm(5)*tapptwt(i3,i4,i1,i6).b(iut,jut)+rme*tapptw
     & t(i3,i4,i1,i6).c(iut,jut)+xm(5)*rme*tapptwt(i3,i4,i1,i6).
     & d(iut,jut))/((p156q-rme**2)*p156k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** diagramma CN26
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* TWTW -- aa=tapp(i3,i4,i5,i2).a,bb=tapp(i3,i4,i5,i2).b,cc=tapp(i3,i4,i5,i2
* ).c,dd=tapp(i3,i4,i5,i2).d,a1=l1_25w(i5,i2).a,b1=l1_25w(i5,i2).b,c1=l1_25w
* (i5,i2).c,d1=l1_25w(i5,i2).d,a2=r6_34fz(i3,i4).a,b2=r6_34fz(i3,i4).b,c2=r6
* _34fz(i3,i4).c,d2=r6_34fz(i3,i4).d,prq=p125q
      tapp(i3,i4,i5,i2).d(1,1)=l1_25w(i5,i2).d(1,1)*p125q*r6_34f
     & z(i3,i4).d(1,1)+l1_25w(i5,i2).b(1,2)*r6_34fz(i3,i4).c(2,1
     & )
      tapp(i3,i4,i5,i2).b(1,2)=l1_25w(i5,i2).d(1,1)*p125q*r6_34f
     & z(i3,i4).b(1,2)+l1_25w(i5,i2).b(1,2)*r6_34fz(i3,i4).a(2,2
     & )
      tapp(i3,i4,i5,i2).c(2,1)=l1_25w(i5,i2).c(2,1)*p125q*r6_34f
     & z(i3,i4).d(1,1)+l1_25w(i5,i2).a(2,2)*r6_34fz(i3,i4).c(2,1
     & )
      tapp(i3,i4,i5,i2).a(2,2)=l1_25w(i5,i2).c(2,1)*p125q*r6_34f
     & z(i3,i4).b(1,2)+l1_25w(i5,i2).a(2,2)*r6_34fz(i3,i4).a(2,2
     & )
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i2=1,2
* mline -- res=cn26(i3,i4,i5,i2,&).id(ide),abcd=tapp(i3,i4,i5,i2).,m1=(-rme
* ),m2=(-xm(6)),den=(p125q*p125k0)
      do iut=1,2
      do jut=1,2
      cn26(i3,i4,i5,i2,iut,jut).id(ide)=(tapp(i3,i4,i5,i2).a(iut
     & ,jut)+(-rme)*tapp(i3,i4,i5,i2).b(iut,jut)+(-xm(6))*tapp(i
     & 3,i4,i5,i2).c(iut,jut)+(-rme)*(-xm(6))*tapp(i3,i4,i5,i2).
     & d(iut,jut))/(p125q*p125k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** diagramma CN27
      do i3=1,2
      do i4=1,2
      do i1=1,2
      do i6=1,2
* TWTW -- aa=tapp(i3,i4,i1,i6).a,bb=tapp(i3,i4,i1,i6).b,cc=tapp(i3,i4,i1,i6
* ).c,dd=tapp(i3,i4,i1,i6).d,a1=l5_34fz(i3,i4).a,b1=l5_34fz(i3,i4).b,c1=l5_3
* 4fz(i3,i4).c,d1=l5_34fz(i3,i4).d,a2=r2_16w(i1,i6).a,b2=r2_16w(i1,i6).b,c2=
* r2_16w(i1,i6).c,d2=r2_16w(i1,i6).d,prq=p345q
      tapp(i3,i4,i1,i6).d(1,1)=l5_34fz(i3,i4).d(1,1)*p345q*r2_16
     & w(i1,i6).d(1,1)+l5_34fz(i3,i4).b(1,2)*r2_16w(i1,i6).c(2,1
     & )
      tapp(i3,i4,i1,i6).b(1,2)=l5_34fz(i3,i4).d(1,1)*p345q*r2_16
     & w(i1,i6).b(1,2)+l5_34fz(i3,i4).b(1,2)*r2_16w(i1,i6).a(2,2
     & )
      tapp(i3,i4,i1,i6).c(2,1)=l5_34fz(i3,i4).c(2,1)*p345q*r2_16
     & w(i1,i6).d(1,1)+l5_34fz(i3,i4).a(2,2)*r2_16w(i1,i6).c(2,1
     & )
      tapp(i3,i4,i1,i6).a(2,2)=l5_34fz(i3,i4).c(2,1)*p345q*r2_16
     & w(i1,i6).b(1,2)+l5_34fz(i3,i4).a(2,2)*r2_16w(i1,i6).a(2,2
     & )
      end do
      end do
      end do
      end do
      do i3=1,2
      do i4=1,2
      do i1=1,2
      do i6=1,2
* mline -- res=cn27(i3,i4,i1,i6,&).id(ide),abcd=tapp(i3,i4,i1,i6).,m1=xm(5)
* ,m2=rme,den=(p345q*p345k0)
      do iut=1,2
      do jut=1,2
      cn27(i3,i4,i1,i6,iut,jut).id(ide)=(tapp(i3,i4,i1,i6).a(iut
     & ,jut)+xm(5)*tapp(i3,i4,i1,i6).b(iut,jut)+rme*tapp(i3,i4,i
     & 1,i6).c(iut,jut)+xm(5)*rme*tapp(i3,i4,i1,i6).d(iut,jut))/
     & (p345q*p345k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** diagramma CN28
         if (f3l.lt.0.d0) then
      do i5=1,2
      do i2=1,2
      do i1=1,2
      do i6=1,2
* TWTW -- aa=tapp(i5,i2,i1,i6).a,bb=tapp(i5,i2,i1,i6).b,cc=tapp(i5,i2,i1,i6
* ).c,dd=tapp(i5,i2,i1,i6).d,a1=l3_25w(i5,i2).a,b1=l3_25w(i5,i2).b,c1=l3_25w
* (i5,i2).c,d1=l3_25w(i5,i2).d,a2=r4_16w(i1,i6).a,b2=r4_16w(i1,i6).b,c2=r4_1
* 6w(i1,i6).c,d2=r4_16w(i1,i6).d,prq=p235q
      tapp(i5,i2,i1,i6).d(1,1)=l3_25w(i5,i2).d(1,1)*p235q*r4_16w
     & (i1,i6).d(1,1)+l3_25w(i5,i2).b(1,2)*r4_16w(i1,i6).c(2,1)
      tapp(i5,i2,i1,i6).b(1,2)=l3_25w(i5,i2).d(1,1)*p235q*r4_16w
     & (i1,i6).b(1,2)+l3_25w(i5,i2).b(1,2)*r4_16w(i1,i6).a(2,2)
      tapp(i5,i2,i1,i6).c(2,1)=l3_25w(i5,i2).c(2,1)*p235q*r4_16w
     & (i1,i6).d(1,1)+l3_25w(i5,i2).a(2,2)*r4_16w(i1,i6).c(2,1)
      tapp(i5,i2,i1,i6).a(2,2)=l3_25w(i5,i2).c(2,1)*p235q*r4_16w
     & (i1,i6).b(1,2)+l3_25w(i5,i2).a(2,2)*r4_16w(i1,i6).a(2,2)
      end do
      end do
      end do
      end do
      do i5=1,2
      do i2=1,2
      do i1=1,2
      do i6=1,2
* mline -- res=cn28(i5,i2,i1,i6,&).id(ide),abcd=tapp(i5,i2,i1,i6).,m1=xm(3)
* ,m2=(-xm(4)),den=((p235q-xmp**2-ibbveve*(rmt2-xmp**2))*p235k0)
      do iut=1,2
      do jut=1,2
      cn28(i5,i2,i1,i6,iut,jut).id(ide)=(tapp(i5,i2,i1,i6).a(iut
     & ,jut)+xm(3)*tapp(i5,i2,i1,i6).b(iut,jut)+(-xm(4))*tapp(i5
     & ,i2,i1,i6).c(iut,jut)+xm(3)*(-xm(4))*tapp(i5,i2,i1,i6).d(
     & iut,jut))/((p235q-xmp**2-ibbveve*(rmt2-xmp**2))*p235k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
         else
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* TWTW -- aa=tapp(i1,i6,i5,i2).a,bb=tapp(i1,i6,i5,i2).b,cc=tapp(i1,i6,i5,i2
* ).c,dd=tapp(i1,i6,i5,i2).d,a1=l3_16w(i1,i6).a,b1=l3_16w(i1,i6).b,c1=l3_16w
* (i1,i6).c,d1=l3_16w(i1,i6).d,a2=r4_25w(i5,i2).a,b2=r4_25w(i5,i2).b,c2=r4_2
* 5w(i5,i2).c,d2=r4_25w(i5,i2).d,prq=p136q
      tapp(i1,i6,i5,i2).d(1,1)=l3_16w(i1,i6).d(1,1)*p136q*r4_25w
     & (i5,i2).d(1,1)+l3_16w(i1,i6).b(1,2)*r4_25w(i5,i2).c(2,1)
      tapp(i1,i6,i5,i2).b(1,2)=l3_16w(i1,i6).d(1,1)*p136q*r4_25w
     & (i5,i2).b(1,2)+l3_16w(i1,i6).b(1,2)*r4_25w(i5,i2).a(2,2)
      tapp(i1,i6,i5,i2).c(2,1)=l3_16w(i1,i6).c(2,1)*p136q*r4_25w
     & (i5,i2).d(1,1)+l3_16w(i1,i6).a(2,2)*r4_25w(i5,i2).c(2,1)
      tapp(i1,i6,i5,i2).a(2,2)=l3_16w(i1,i6).c(2,1)*p136q*r4_25w
     & (i5,i2).b(1,2)+l3_16w(i1,i6).a(2,2)*r4_25w(i5,i2).a(2,2)
      end do
      end do
      end do
      end do
      do i5=1,2
      do i2=1,2
      do i1=1,2
      do i6=1,2
* mline -- res=cn28(i5,i2,i1,i6,&).id(ide),abcd=tapp(i1,i6,i5,i2).,m1=xm(3)
* ,m2=(-xm(4)),den=((p136q-xmp**2)*p136k0)
      do iut=1,2
      do jut=1,2
      cn28(i5,i2,i1,i6,iut,jut).id(ide)=(tapp(i1,i6,i5,i2).a(iut
     & ,jut)+xm(3)*tapp(i1,i6,i5,i2).b(iut,jut)+(-xm(4))*tapp(i1
     & ,i6,i5,i2).c(iut,jut)+xm(3)*(-xm(4))*tapp(i1,i6,i5,i2).d(
     & iut,jut))/((p136q-xmp**2)*p136k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
      endif
      IF(i56ve.EQ.1.AND.iid.EQ.1.AND.izz.NE.1.AND.izg.NE.1.AND.
     &   izg34.NE.1.AND.izg56.NE.1.AND.inc08.NE.1.AND.igamgam.NE.1)
     &   THEN
****          diagrammi per correnti neutre con scambi di w (6)
*begin{EZ} modificato propagatore W canale t
* quqd -- p=p1,q=p4
      quqd=p1(0)*p4(0)-p1(1)*p4(1)-p1(2)*p4(2)-p1(3)*p4(3)
      ccl=wcl/((-rme**2+2.d0*quqd)+rmw2-ccw)
* TW -- qu=p1,qd=p4,v=0,a=v14w(0).a,b=v14w(0).b,c=v14w(0).c,d=v14w(0).d,cl=
* ccl,nsum=0
      eps_0=-p1(2)*p4(3)+p4(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p4(3)*cim
      auxa=-quqd+p1k0*p4(0)+p4k0*p1(0)
      v14w(0).a(2,2)=ccl*(auxa-ceps_0)
      v14w(0).b(1,2)=-ccl*(p4(2)+ceps_2)
      v14w(0).c(2,1)=ccl*(-p1(2)+ceps_1)
      v14w(0).d(1,1)=ccl
* TW -- qu=p1,qd=p4,v=1,a=v14w(1).a,b=v14w(1).b,c=v14w(1).c,d=v14w(1).d,cl=
* ccl,nsum=0
      auxa=-quqd+p1k0*p4(1)+p4k0*p1(1)
      v14w(1).a(2,2)=ccl*(auxa-ceps_0)
      v14w(1).b(1,2)=-ccl*(p4(2)+ceps_2)
      v14w(1).c(2,1)=ccl*(-p1(2)+ceps_1)
      v14w(1).d(1,1)=ccl
* TW -- qu=p1,qd=p4,v=2,a=v14w(2).a,b=v14w(2).b,c=v14w(2).c,d=v14w(2).d,cl=
* ccl,nsum=0
      eps_0=-p1k0*p4(3)+p4k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p4(2)+p4k0*p1(2)
      v14w(2).a(2,2)=ccl*(auxa-ceps_0)
      v14w(2).b(1,2)=-ccl*p4k0
      v14w(2).c(2,1)=-ccl*p1k0
* TW -- qu=p1,qd=p4,v=3,a=v14w(3).a,b=v14w(3).b,c=v14w(3).c,d=v14w(3).d,cl=
* ccl,nsum=0
      eps_0=p1k0*p4(2)-p4k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p4k0*cim
      auxa=+p1k0*p4(3)+p4k0*p1(3)
      v14w(3).a(2,2)=ccl*(auxa-ceps_0)
      v14w(3).b(1,2)=-ccl*ceps_2
      v14w(3).c(2,1)=ccl*ceps_1
      do m=0,3
* mline -- res=c14w(&).e(m),abcd=v14w(m).,m1=(-rme),m2=0.d0,den=0
      do iut=1,2
      do jut=1,2
      c14w(iut,jut).e(m)=v14w(m).a(iut,jut)+(-rme)*v14w(m).b(iut
     & ,jut)+0.d0*v14w(m).c(iut,jut)+(-rme)*0.d0*v14w(m).d(iut,j
     & ut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i1=1,2
        do i4=1,2
          c14w(i1,i4).v=c14w(i1,i4).e(0)*p14(0)
          do i=1,3
            c14w(i1,i4).v=c14w(i1,i4).v-
     &      c14w(i1,i4).e(i)*p14(i)
          enddo
        enddo
      enddo
      do i1=1,2
        do i4=1,2
          do mu=0,3
            c14w(i1,i4).e(mu)=c14w(i1,i4).e(mu)-p14(mu)
     &      *c14w(i1,i4).v/(rmw2-ccw)
          enddo
        enddo
      enddo
****
*begin{EZ} modificato propagatore W canale t
* quqd -- p=p3,q=p2
      quqd=p3(0)*p2(0)-p3(1)*p2(1)-p3(2)*p2(2)-p3(3)*p2(3)
      ccl=wcl/((-rme**2+2.d0*quqd)+rmw2-ccw)
* TW -- qu=p3,qd=p2,v=0,a=v23w(0).a,b=v23w(0).b,c=v23w(0).c,d=v23w(0).d,cl=
* ccl,nsum=0
      eps_0=-p3(2)*p2(3)+p2(2)*p3(3)
      ceps_0=eps_0*cim
      ceps_1=p3(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p3k0*p2(0)+p2k0*p3(0)
      v23w(0).a(2,2)=ccl*(auxa-ceps_0)
      v23w(0).b(1,2)=-ccl*(p2(2)+ceps_2)
      v23w(0).c(2,1)=ccl*(-p3(2)+ceps_1)
      v23w(0).d(1,1)=ccl
* TW -- qu=p3,qd=p2,v=1,a=v23w(1).a,b=v23w(1).b,c=v23w(1).c,d=v23w(1).d,cl=
* ccl,nsum=0
      auxa=-quqd+p3k0*p2(1)+p2k0*p3(1)
      v23w(1).a(2,2)=ccl*(auxa-ceps_0)
      v23w(1).b(1,2)=-ccl*(p2(2)+ceps_2)
      v23w(1).c(2,1)=ccl*(-p3(2)+ceps_1)
      v23w(1).d(1,1)=ccl
* TW -- qu=p3,qd=p2,v=2,a=v23w(2).a,b=v23w(2).b,c=v23w(2).c,d=v23w(2).d,cl=
* ccl,nsum=0
      eps_0=-p3k0*p2(3)+p2k0*p3(3)
      ceps_0=eps_0*cim
      auxa=p3k0*p2(2)+p2k0*p3(2)
      v23w(2).a(2,2)=ccl*(auxa-ceps_0)
      v23w(2).b(1,2)=-ccl*p2k0
      v23w(2).c(2,1)=-ccl*p3k0
* TW -- qu=p3,qd=p2,v=3,a=v23w(3).a,b=v23w(3).b,c=v23w(3).c,d=v23w(3).d,cl=
* ccl,nsum=0
      eps_0=p3k0*p2(2)-p2k0*p3(2)
      ceps_0=eps_0*cim
      ceps_1=p3k0*cim
      ceps_2=p2k0*cim
      auxa=+p3k0*p2(3)+p2k0*p3(3)
      v23w(3).a(2,2)=ccl*(auxa-ceps_0)
      v23w(3).b(1,2)=-ccl*ceps_2
      v23w(3).c(2,1)=ccl*ceps_1
      do m=0,3
* mline -- res=c23w(&).e(m),abcd=v23w(m).,m1=0.d0,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c23w(iut,jut).e(m)=v23w(m).a(iut,jut)+0.d0*v23w(m).b(iut,j
     & ut)+rme*v23w(m).c(iut,jut)+0.d0*rme*v23w(m).d(iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i2=1,2
        do i3=1,2
          c23w(i3,i2).v=c23w(i3,i2).e(0)*p23(0)
          do i=1,3
            c23w(i3,i2).v=c23w(i3,i2).v-
     &      c23w(i3,i2).e(i)*p23(i)
          enddo
        enddo
      enddo
      do i2=1,2
        do i3=1,2
          do mu=0,3
            c23w(i3,i2).e(mu)=c23w(i3,i2).e(mu)-p23(mu)
     &      *c23w(i3,i2).v/(rmw2-ccw)
          enddo
        enddo
      enddo
****
      do i1=1,2
      do i4=1,2
* pk0 -- p=c14w(i1,i4).e
      c14w(i1,i4).ek0=c14w(i1,i4).e(0)-c14w(i1,i4).e(1)
      end do
      end do
      do i3=1,2
      do i2=1,2
* pk0 -- p=c23w(i3,i2).e
      c23w(i3,i2).ek0=c23w(i3,i2).e(0)-c23w(i3,i2).e(1)
      end do
      end do
      if (ianc.eq.0) then
        do i5=1,2
         do i6=1,2
          do mu=0,3
            c56fz(i5,i6).e(mu)=c56f(i5,i6).e(mu)+
     &      rcotw*c56z(i5,i6).e(mu)
          end do
         end do
        end do
      else
        do i5=1,2
         do i6=1,2
          do mu=0,3
            c56fz(i5,i6).e(mu)=c56f(i5,i6).e(mu)+
     &      (rcotw+delz)*c56z(i5,i6).e(mu)
          end do
         end do
        end do
      endif
*
* diagramma triplo cn29
*
*** triple vertex -- pfz(mu)=p56(mu),pwm(mu)=p14(mu),pwp(mu)=p23(mu),efz=c5
* 6fz(i5,i6),ewm=c14w(i1,i4),ewp=c23w(i3,i2),res=cn29(i1?,i2?,i3?,i4?,i5?,i6
* ?).id(ide)
      do mu=0,3
      vfz(mu)=p14(mu)-p23(mu)
      vwm(mu)=p23(mu)-p56(mu)
      vwp(mu)=p56(mu)-p14(mu)
      end do !mu
* vfz.efz
      do i5=1,2
      do i6=1,2
* p.q -- p.q=c56fz(i5,i6).v,p=c56fz(i5,i6).e,q=vfz
      c56fz(i5,i6).v=c56fz(i5,i6).e(0)*vfz(0)-c56fz(i5,i6).e(1)*
     & vfz(1)-c56fz(i5,i6).e(2)*vfz(2)-c56fz(i5,i6).e(3)*vfz(3)
      end do
      end do
* vwm.ewm
      do i1=1,2
      do i4=1,2
* p.q -- p.q=c14w(i1,i4).v,p=c14w(i1,i4).e,q=vwm
      c14w(i1,i4).v=c14w(i1,i4).e(0)*vwm(0)-c14w(i1,i4).e(1)*vwm
     & (1)-c14w(i1,i4).e(2)*vwm(2)-c14w(i1,i4).e(3)*vwm(3)
      end do
      end do
* vwp.ewp
      do i3=1,2
      do i2=1,2
* p.q -- p.q=c23w(i3,i2).v,p=c23w(i3,i2).e,q=vwp
      c23w(i3,i2).v=c23w(i3,i2).e(0)*vwp(0)-c23w(i3,i2).e(1)*vwp
     & (1)-c23w(i3,i2).e(2)*vwp(2)-c23w(i3,i2).e(3)*vwp(3)
      end do
      end do
* efz.ewm
      do i5=1,2
      do i6=1,2
      do i1=1,2
      do i4=1,2
* p.q -- p.q=caux,p=c56fz(i5,i6).e,q=c14w(i1,i4).e
      caux=c56fz(i5,i6).e(0)*c14w(i1,i4).e(0)-c56fz(i5,i6).e(1)*
     & c14w(i1,i4).e(1)-c56fz(i5,i6).e(2)*c14w(i1,i4).e(2)-c56fz
     & (i5,i6).e(3)*c14w(i1,i4).e(3)
      do i2=1,2
      do i3=1,2
      cn29(i1,i2,i3,i4,i5,i6).id(ide)=c23w(i3,i2).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* efz.ewp
      do i5=1,2
      do i6=1,2
      do i3=1,2
      do i2=1,2
* p.q -- p.q=caux,p=c56fz(i5,i6).e,q=c23w(i3,i2).e
      caux=c56fz(i5,i6).e(0)*c23w(i3,i2).e(0)-c56fz(i5,i6).e(1)*
     & c23w(i3,i2).e(1)-c56fz(i5,i6).e(2)*c23w(i3,i2).e(2)-c56fz
     & (i5,i6).e(3)*c23w(i3,i2).e(3)
      do i1=1,2
      do i4=1,2
      cn29(i1,i2,i3,i4,i5,i6).id(ide)=cn29(i1,i2,i3,i4,i5,i6).id
     & (ide)+c14w(i1,i4).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* ewm.ewp
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* p.q -- p.q=caux,p=c14w(i1,i4).e,q=c23w(i3,i2).e
      caux=c14w(i1,i4).e(0)*c23w(i3,i2).e(0)-c14w(i1,i4).e(1)*c2
     & 3w(i3,i2).e(1)-c14w(i1,i4).e(2)*c23w(i3,i2).e(2)-c14w(i1,
     & i4).e(3)*c23w(i3,i2).e(3)
      do i5=1,2
      do i6=1,2
      cn29(i1,i2,i3,i4,i5,i6).id(ide)=cn29(i1,i2,i3,i4,i5,i6).id
     & (ide)+c56fz(i5,i6).v*caux
      end do
      end do
      end do
      end do
      end do
      end do
* anomalous couplings
      if (ianc.ne.0) then
      do i1=1,2
      do i4=1,2
* p.q -- p.q=cemp0(i1,i4),p=c14w(i1,i4).e,q=p56
      cemp0(i1,i4)=c14w(i1,i4).e(0)*p56(0)-c14w(i1,i4).e(1)*p56(
     & 1)-c14w(i1,i4).e(2)*p56(2)-c14w(i1,i4).e(3)*p56(3)
      end do
      end do
      do i3=1,2
      do i2=1,2
* p.q -- p.q=cepp0(i3,i2),p=c23w(i3,i2).e,q=p56
      cepp0(i3,i2)=c23w(i3,i2).e(0)*p56(0)-c23w(i3,i2).e(1)*p56(
     & 1)-c23w(i3,i2).e(2)*p56(2)-c23w(i3,i2).e(3)*p56(3)
      end do
      end do

        if (xf.ne.0.d0.or.xz.ne.0.d0) then
          do i5=1,2
           do i6=1,2
            do mu=0,3
              c56fz(i5,i6).e(mu)=xf*c56f(i5,i6).e(mu)+
     &        xz*c56z(i5,i6).e(mu)
            end do
           end do
          end do
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* p.q -- p.q=ce0em(i1,i4,i5,i6),p=c56fz(i5,i6).e,q=c14w(i1,i4).e
      ce0em(i1,i4,i5,i6)=c56fz(i5,i6).e(0)*c14w(i1,i4).e(0)-c56f
     & z(i5,i6).e(1)*c14w(i1,i4).e(1)-c56fz(i5,i6).e(2)*c14w(i1,
     & i4).e(2)-c56fz(i5,i6).e(3)*c14w(i1,i4).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* p.q -- p.q=ce0ep(i3,i2,i5,i6),p=c56fz(i5,i6).e,q=c23w(i3,i2).e
      ce0ep(i3,i2,i5,i6)=c56fz(i5,i6).e(0)*c23w(i3,i2).e(0)-c56f
     & z(i5,i6).e(1)*c23w(i3,i2).e(1)-c56fz(i5,i6).e(2)*c23w(i3,
     & i2).e(2)-c56fz(i5,i6).e(3)*c23w(i3,i2).e(3)
      end do
      end do
      end do
      end do
         do i1=1,2
          do i2=1,2
           do i3=1,2
            do i4=1,2
             do i5=1,2
              do i6=1,2
                cn29(i1,i2,i3,i4,i5,i6).id(ide)=
     &          cn29(i1,i2,i3,i4,i5,i6).id(ide)
     &          +ce0em(i1,i4,i5,i6)*cepp0(i3,i2)
     &          -ce0ep(i3,i2,i5,i6)*cemp0(i1,i4)
              end do
             end do
            end do
           end do
          end do
         end do
        endif

        if (yf.ne.0.d0.or.yz.ne.0.d0) then
          do i5=1,2
           do i6=1,2
            do mu=0,3
              c56fz(i5,i6).e(mu)=yf*c56f(i5,i6).e(mu)+
     &        yz*c56z(i5,i6).e(mu)
            end do
           end do
          end do
      do i1=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* p.q -- p.q=ce0em(i1,i4,i5,i6),p=c56fz(i5,i6).e,q=c14w(i1,i4).e
      ce0em(i1,i4,i5,i6)=c56fz(i5,i6).e(0)*c14w(i1,i4).e(0)-c56f
     & z(i5,i6).e(1)*c14w(i1,i4).e(1)-c56fz(i5,i6).e(2)*c14w(i1,
     & i4).e(2)-c56fz(i5,i6).e(3)*c14w(i1,i4).e(3)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* p.q -- p.q=ce0ep(i3,i2,i5,i6),p=c56fz(i5,i6).e,q=c23w(i3,i2).e
      ce0ep(i3,i2,i5,i6)=c56fz(i5,i6).e(0)*c23w(i3,i2).e(0)-c56f
     & z(i5,i6).e(1)*c23w(i3,i2).e(1)-c56fz(i5,i6).e(2)*c23w(i3,
     & i2).e(2)-c56fz(i5,i6).e(3)*c23w(i3,i2).e(3)
      end do
      end do
      end do
      end do
      do i5=1,2
      do i6=1,2
* p.q -- p.q=ce0pm(i5,i6),p=c56fz(i5,i6).e,q=p14
      ce0pm(i5,i6)=c56fz(i5,i6).e(0)*p14(0)-c56fz(i5,i6).e(1)*p1
     & 4(1)-c56fz(i5,i6).e(2)*p14(2)-c56fz(i5,i6).e(3)*p14(3)
      end do
      end do
      do i5=1,2
      do i6=1,2
* p.q -- p.q=ce0pp(i5,i6),p=c56fz(i5,i6).e,q=p23
      ce0pp(i5,i6)=c56fz(i5,i6).e(0)*p23(0)-c56fz(i5,i6).e(1)*p2
     & 3(1)-c56fz(i5,i6).e(2)*p23(2)-c56fz(i5,i6).e(3)*p23(3)
      end do
      end do
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* p.q -- p.q=cemep(i1,i4,i3,i2),p=c14w(i1,i4).e,q=c23w(i3,i2).e
      cemep(i1,i4,i3,i2)=c14w(i1,i4).e(0)*c23w(i3,i2).e(0)-c14w(
     & i1,i4).e(1)*c23w(i3,i2).e(1)-c14w(i1,i4).e(2)*c23w(i3,i2)
     & .e(2)-c14w(i1,i4).e(3)*c23w(i3,i2).e(3)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i4=1,2
* p.q -- p.q=cempp(i1,i4),p=c14w(i1,i4).e,q=p23
      cempp(i1,i4)=c14w(i1,i4).e(0)*p23(0)-c14w(i1,i4).e(1)*p23(
     & 1)-c14w(i1,i4).e(2)*p23(2)-c14w(i1,i4).e(3)*p23(3)
      end do
      end do
      do i3=1,2
      do i2=1,2
* p.q -- p.q=ceppm(i3,i2),p=c23w(i3,i2).e,q=p14
      ceppm(i3,i2)=c23w(i3,i2).e(0)*p14(0)-c23w(i3,i2).e(1)*p14(
     & 1)-c23w(i3,i2).e(2)*p14(2)-c23w(i3,i2).e(3)*p14(3)
      end do
      end do
* p.q -- p.q=p0pm,p=p56,q=p14
      p0pm=p56(0)*p14(0)-p56(1)*p14(1)-p56(2)*p14(2)-p56(3)*p14(
     & 3)
* p.q -- p.q=p0pp,p=p56,q=p23
      p0pp=p56(0)*p23(0)-p56(1)*p23(1)-p56(2)*p23(2)-p56(3)*p23(
     & 3)
* p.q -- p.q=pmpp,p=p14,q=p23
      pmpp=p14(0)*p23(0)-p14(1)*p23(1)-p14(2)*p23(2)-p14(3)*p23(
     & 3)
         do i1=1,2
          do i2=1,2
           do i3=1,2
            do i4=1,2
             do i5=1,2
              do i6=1,2
                cn29(i1,i2,i3,i4,i5,i6).id(ide)=
     &          cn29(i1,i2,i3,i4,i5,i6).id(ide)+
     &          ce0pm(i5,i6)*cepp0(i3,i2)*cempp(i1,i4)-
     &          ce0pp(i5,i6)*ceppm(i3,i2)*cemp0(i1,i4)+
     &          p0pp*(ce0em(i1,i4,i5,i6)*ceppm(i3,i2)-
     &          cemep(i1,i4,i3,i2)*ce0pm(i5,i6))+
     &          p0pm*(cemep(i1,i4,i3,i2)*ce0pp(i5,i6)-
     &          ce0ep(i3,i2,i5,i6)*cempp(i1,i4))+
     &          pmpp*(ce0ep(i3,i2,i5,i6)*cemp0(i1,i4)-
     &          ce0em(i1,i4,i5,i6)*cepp0(i3,i2))
              end do
             end do
            end do
           end do
          end do
         end do
        endif
        if (zz.ne.0.d0) then
          do m=0,3
           do i1=1,2
            do i2=1,2
             do i3=1,2
              do i4=1,2
                cpau(i1,i2,i3,i4).e(m)=cepp0(i3,i2)*
     &          c14w(i1,i4).e(m)-
     &          cemp0(i1,i4)*c23w(i3,i2).e(m)
              end do
             end do
            end do
           end do
           pau(m)=p23(m)-p14(m)
          enddo
      do i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
* eps -- eps=cau(i1,i2,i3,i4,i5,i6),p=c56z(i5,i6).e,q=cpau(i1,i2,i3,i4).e,r
* =p56,s=pau
      cau(i1,i2,i3,i4,i5,i6)=c56z(i5,i6).e(0)*(cpau(i1,i2,i3,i4)
     & .e(1)*(p56(2)*pau(3)-p56(3)*pau(2))+cpau(i1,i2,i3,i4).e(2
     & )*(p56(3)*pau(1)-p56(1)*pau(3))+cpau(i1,i2,i3,i4).e(3)*(p
     & 56(1)*pau(2)-p56(2)*pau(1)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c56z(i5,i6).
     & e(1)*(cpau(i1,i2,i3,i4).e(2)*(p56(3)*pau(0)-p56(0)*pau(3)
     & )+cpau(i1,i2,i3,i4).e(3)*(p56(0)*pau(2)-p56(2)*pau(0))+cp
     & au(i1,i2,i3,i4).e(0)*(p56(2)*pau(3)-p56(3)*pau(2)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)+c56z(i5,i6).
     & e(2)*(cpau(i1,i2,i3,i4).e(3)*(p56(0)*pau(1)-p56(1)*pau(0)
     & )+cpau(i1,i2,i3,i4).e(0)*(p56(1)*pau(3)-p56(3)*pau(1))+cp
     & au(i1,i2,i3,i4).e(1)*(p56(3)*pau(0)-p56(0)*pau(3)))
      cau(i1,i2,i3,i4,i5,i6)=cau(i1,i2,i3,i4,i5,i6)-c56z(i5,i6).
     & e(3)*(cpau(i1,i2,i3,i4).e(0)*(p56(1)*pau(2)-p56(2)*pau(1)
     & )+cpau(i1,i2,i3,i4).e(1)*(p56(2)*pau(0)-p56(0)*pau(2))+cp
     & au(i1,i2,i3,i4).e(2)*(p56(0)*pau(1)-p56(1)*pau(0)))
      end do
      end do
      end do
      end do
      end do
      end do
         do i1=1,2
          do i2=1,2
           do i3=1,2
            do i4=1,2
             do i5=1,2
              do i6=1,2
                cn29(i1,i2,i3,i4,i5,i6).id(ide)=
     &          cn29(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cim*zz*cau(i1,i2,i3,i4,i5,i6)
              end do
             end do
            end do
           end do
          end do
         end do
        endif
      endif
* end anomalous couplings

* quqd -- p=p156,q=p4
      quqd=p156(0)*p4(0)-p156(1)*p4(1)-p156(2)*p4(2)-p156(3)*p4(
     & 3)
      do i3=1,2
      do i2=1,2
* TW -- qu=p156,qd=p4,v=c23w(i3,i2).e,a=r4_23w(i3,i2).a,b=r4_23w(i3,i2).b,c
* =r4_23w(i3,i2).c,d=r4_23w(i3,i2).d,cl=wcl,nsum=0
      ceps_0=-c23w(i3,i2).ek0*(p156(2)*p4(3)-p4(2)*p156(3))+p156
     & k0*(c23w(i3,i2).e(2)*p4(3)-p4(2)*c23w(i3,i2).e(3))-p4k0*(
     & c23w(i3,i2).e(2)*p156(3)-p156(2)*c23w(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23w(i3,i2).e(3)*p156k0+p156(3)*c23w(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23w(i3,i2).e(3)*p4k0+p4(3)*c23w(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23w(i3,i2).e(0)*p156(0)-c23w(i3,i2).e(1)*p156(1)-c23
     & w(i3,i2).e(2)*p156(2)-c23w(i3,i2).e(3)*p156(3)
      cvqd=c23w(i3,i2).e(0)*p4(0)-c23w(i3,i2).e(1)*p4(1)-c23w(i3
     & ,i2).e(2)*p4(2)-c23w(i3,i2).e(3)*p4(3)
      cauxa=-c23w(i3,i2).ek0*quqd+p156k0*cvqd+p4k0*cvqu
      cauxb=-c23w(i3,i2).ek0*p4(2)+p4k0*c23w(i3,i2).e(2)
      cauxc=+c23w(i3,i2).ek0*p156(2)-p156k0*c23w(i3,i2).e(2)
      r4_23w(i3,i2).a(2,2)=wcl*(cauxa-ceps_0)
      r4_23w(i3,i2).b(1,2)=wcl*(cauxb-ceps_2)
      r4_23w(i3,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      r4_23w(i3,i2).d(1,1)=wcl*c23w(i3,i2).ek0
      end do
      end do
* quqd -- p=p356,q=p2
      quqd=p356(0)*p2(0)-p356(1)*p2(1)-p356(2)*p2(2)-p356(3)*p2(
     & 3)
      do i1=1,2
      do i4=1,2
* TW -- qu=p356,qd=p2,v=c14w(i1,i4).e,a=r2_14w(i1,i4).a,b=r2_14w(i1,i4).b,c
* =r2_14w(i1,i4).c,d=r2_14w(i1,i4).d,cl=wcl,nsum=0
      ceps_0=-c14w(i1,i4).ek0*(p356(2)*p2(3)-p2(2)*p356(3))+p356
     & k0*(c14w(i1,i4).e(2)*p2(3)-p2(2)*c14w(i1,i4).e(3))-p2k0*(
     & c14w(i1,i4).e(2)*p356(3)-p356(2)*c14w(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14w(i1,i4).e(3)*p356k0+p356(3)*c14w(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14w(i1,i4).e(3)*p2k0+p2(3)*c14w(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14w(i1,i4).e(0)*p356(0)-c14w(i1,i4).e(1)*p356(1)-c14
     & w(i1,i4).e(2)*p356(2)-c14w(i1,i4).e(3)*p356(3)
      cvqd=c14w(i1,i4).e(0)*p2(0)-c14w(i1,i4).e(1)*p2(1)-c14w(i1
     & ,i4).e(2)*p2(2)-c14w(i1,i4).e(3)*p2(3)
      cauxa=-c14w(i1,i4).ek0*quqd+p356k0*cvqd+p2k0*cvqu
      cauxb=-c14w(i1,i4).ek0*p2(2)+p2k0*c14w(i1,i4).e(2)
      cauxc=+c14w(i1,i4).ek0*p356(2)-p356k0*c14w(i1,i4).e(2)
      r2_14w(i1,i4).a(2,2)=wcl*(cauxa-ceps_0)
      r2_14w(i1,i4).b(1,2)=wcl*(cauxb-ceps_2)
      r2_14w(i1,i4).c(2,1)=wcl*(-cauxc+ceps_1)
      r2_14w(i1,i4).d(1,1)=wcl*c14w(i1,i4).ek0
      end do
      end do
*** per diagramma cn34
         if (f5l.lt.0.d0) then
* quqd -- p=p235,q=p6
      quqd=p235(0)*p6(0)-p235(1)*p6(1)-p235(2)*p6(2)-p235(3)*p6(
     & 3)
      do i1=1,2
      do i4=1,2
* TW -- qu=p235,qd=p6,v=c14w(i1,i4).e,a=r6_14w(i1,i4).a,b=r6_14w(i1,i4).b,c
* =r6_14w(i1,i4).c,d=r6_14w(i1,i4).d,cl=wcl,nsum=0
      ceps_0=-c14w(i1,i4).ek0*(p235(2)*p6(3)-p6(2)*p235(3))+p235
     & k0*(c14w(i1,i4).e(2)*p6(3)-p6(2)*c14w(i1,i4).e(3))-p6k0*(
     & c14w(i1,i4).e(2)*p235(3)-p235(2)*c14w(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14w(i1,i4).e(3)*p235k0+p235(3)*c14w(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14w(i1,i4).e(3)*p6k0+p6(3)*c14w(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14w(i1,i4).e(0)*p235(0)-c14w(i1,i4).e(1)*p235(1)-c14
     & w(i1,i4).e(2)*p235(2)-c14w(i1,i4).e(3)*p235(3)
      cvqd=c14w(i1,i4).e(0)*p6(0)-c14w(i1,i4).e(1)*p6(1)-c14w(i1
     & ,i4).e(2)*p6(2)-c14w(i1,i4).e(3)*p6(3)
      cauxa=-c14w(i1,i4).ek0*quqd+p235k0*cvqd+p6k0*cvqu
      cauxb=-c14w(i1,i4).ek0*p6(2)+p6k0*c14w(i1,i4).e(2)
      cauxc=+c14w(i1,i4).ek0*p235(2)-p235k0*c14w(i1,i4).e(2)
      r6_14w(i1,i4).a(2,2)=wcl*(cauxa-ceps_0)
      r6_14w(i1,i4).b(1,2)=wcl*(cauxb-ceps_2)
      r6_14w(i1,i4).c(2,1)=wcl*(-cauxc+ceps_1)
      r6_14w(i1,i4).d(1,1)=wcl*c14w(i1,i4).ek0
      end do
      end do
* quqd -- p=p5,q=p235
      quqd=p5(0)*p235(0)-p5(1)*p235(1)-p5(2)*p235(2)-p5(3)*p235(
     & 3)
      do i3=1,2
      do i2=1,2
* TW -- qu=p5,qd=p235,v=c23w(i3,i2).e,a=l5_23w(i3,i2).a,b=l5_23w(i3,i2).b,c
* =l5_23w(i3,i2).c,d=l5_23w(i3,i2).d,cl=wcl,nsum=0
      ceps_0=-c23w(i3,i2).ek0*(p5(2)*p235(3)-p235(2)*p5(3))+p5k0
     & *(c23w(i3,i2).e(2)*p235(3)-p235(2)*c23w(i3,i2).e(3))-p235
     & k0*(c23w(i3,i2).e(2)*p5(3)-p5(2)*c23w(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23w(i3,i2).e(3)*p5k0+p5(3)*c23w(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23w(i3,i2).e(3)*p235k0+p235(3)*c23w(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23w(i3,i2).e(0)*p5(0)-c23w(i3,i2).e(1)*p5(1)-c23w(i3
     & ,i2).e(2)*p5(2)-c23w(i3,i2).e(3)*p5(3)
      cvqd=c23w(i3,i2).e(0)*p235(0)-c23w(i3,i2).e(1)*p235(1)-c23
     & w(i3,i2).e(2)*p235(2)-c23w(i3,i2).e(3)*p235(3)
      cauxa=-c23w(i3,i2).ek0*quqd+p5k0*cvqd+p235k0*cvqu
      cauxb=-c23w(i3,i2).ek0*p235(2)+p235k0*c23w(i3,i2).e(2)
      cauxc=+c23w(i3,i2).ek0*p5(2)-p5k0*c23w(i3,i2).e(2)
      l5_23w(i3,i2).a(2,2)=wcl*(cauxa-ceps_0)
      l5_23w(i3,i2).b(1,2)=wcl*(cauxb-ceps_2)
      l5_23w(i3,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      l5_23w(i3,i2).d(1,1)=wcl*c23w(i3,i2).ek0
      end do
      end do
         else
* quqd -- p=p145,q=p6
      quqd=p145(0)*p6(0)-p145(1)*p6(1)-p145(2)*p6(2)-p145(3)*p6(
     & 3)
      do i3=1,2
      do i2=1,2
* TW -- qu=p145,qd=p6,v=c23w(i3,i2).e,a=r6_23w(i3,i2).a,b=r6_23w(i3,i2).b,c
* =r6_23w(i3,i2).c,d=r6_23w(i3,i2).d,cl=wcl,nsum=0
      ceps_0=-c23w(i3,i2).ek0*(p145(2)*p6(3)-p6(2)*p145(3))+p145
     & k0*(c23w(i3,i2).e(2)*p6(3)-p6(2)*c23w(i3,i2).e(3))-p6k0*(
     & c23w(i3,i2).e(2)*p145(3)-p145(2)*c23w(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23w(i3,i2).e(3)*p145k0+p145(3)*c23w(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23w(i3,i2).e(3)*p6k0+p6(3)*c23w(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23w(i3,i2).e(0)*p145(0)-c23w(i3,i2).e(1)*p145(1)-c23
     & w(i3,i2).e(2)*p145(2)-c23w(i3,i2).e(3)*p145(3)
      cvqd=c23w(i3,i2).e(0)*p6(0)-c23w(i3,i2).e(1)*p6(1)-c23w(i3
     & ,i2).e(2)*p6(2)-c23w(i3,i2).e(3)*p6(3)
      cauxa=-c23w(i3,i2).ek0*quqd+p145k0*cvqd+p6k0*cvqu
      cauxb=-c23w(i3,i2).ek0*p6(2)+p6k0*c23w(i3,i2).e(2)
      cauxc=+c23w(i3,i2).ek0*p145(2)-p145k0*c23w(i3,i2).e(2)
      r6_23w(i3,i2).a(2,2)=wcl*(cauxa-ceps_0)
      r6_23w(i3,i2).b(1,2)=wcl*(cauxb-ceps_2)
      r6_23w(i3,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      r6_23w(i3,i2).d(1,1)=wcl*c23w(i3,i2).ek0
      end do
      end do
* quqd -- p=p5,q=p145
      quqd=p5(0)*p145(0)-p5(1)*p145(1)-p5(2)*p145(2)-p5(3)*p145(
     & 3)
      do i1=1,2
      do i4=1,2
* TW -- qu=p5,qd=p145,v=c14w(i1,i4).e,a=l5_14w(i1,i4).a,b=l5_14w(i1,i4).b,c
* =l5_14w(i1,i4).c,d=l5_14w(i1,i4).d,cl=wcl,nsum=0
      ceps_0=-c14w(i1,i4).ek0*(p5(2)*p145(3)-p145(2)*p5(3))+p5k0
     & *(c14w(i1,i4).e(2)*p145(3)-p145(2)*c14w(i1,i4).e(3))-p145
     & k0*(c14w(i1,i4).e(2)*p5(3)-p5(2)*c14w(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14w(i1,i4).e(3)*p5k0+p5(3)*c14w(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14w(i1,i4).e(3)*p145k0+p145(3)*c14w(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14w(i1,i4).e(0)*p5(0)-c14w(i1,i4).e(1)*p5(1)-c14w(i1
     & ,i4).e(2)*p5(2)-c14w(i1,i4).e(3)*p5(3)
      cvqd=c14w(i1,i4).e(0)*p145(0)-c14w(i1,i4).e(1)*p145(1)-c14
     & w(i1,i4).e(2)*p145(2)-c14w(i1,i4).e(3)*p145(3)
      cauxa=-c14w(i1,i4).ek0*quqd+p5k0*cvqd+p145k0*cvqu
      cauxb=-c14w(i1,i4).ek0*p145(2)+p145k0*c14w(i1,i4).e(2)
      cauxc=+c14w(i1,i4).ek0*p5(2)-p5k0*c14w(i1,i4).e(2)
      l5_14w(i1,i4).a(2,2)=wcl*(cauxa-ceps_0)
      l5_14w(i1,i4).b(1,2)=wcl*(cauxb-ceps_2)
      l5_14w(i1,i4).c(2,1)=wcl*(-cauxc+ceps_1)
      l5_14w(i1,i4).d(1,1)=wcl*c14w(i1,i4).ek0
      end do
      end do
         endif
****
* quqd -- p=p1,q=p123
      quqd=p1(0)*p123(0)-p1(1)*p123(1)-p1(2)*p123(2)-p1(3)*p123(
     & 3)
      do i3=1,2
      do i2=1,2
* TW -- qu=p1,qd=p123,v=c23w(i3,i2).e,a=l1_23w(i3,i2).a,b=l1_23w(i3,i2).b,c
* =l1_23w(i3,i2).c,d=l1_23w(i3,i2).d,cl=wcl,nsum=0
      ceps_0=-c23w(i3,i2).ek0*(p1(2)*p123(3)-p123(2)*p1(3))+p1k0
     & *(c23w(i3,i2).e(2)*p123(3)-p123(2)*c23w(i3,i2).e(3))-p123
     & k0*(c23w(i3,i2).e(2)*p1(3)-p1(2)*c23w(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c23w(i3,i2).e(3)*p1k0+p1(3)*c23w(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c23w(i3,i2).e(3)*p123k0+p123(3)*c23w(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c23w(i3,i2).e(0)*p1(0)-c23w(i3,i2).e(1)*p1(1)-c23w(i3
     & ,i2).e(2)*p1(2)-c23w(i3,i2).e(3)*p1(3)
      cvqd=c23w(i3,i2).e(0)*p123(0)-c23w(i3,i2).e(1)*p123(1)-c23
     & w(i3,i2).e(2)*p123(2)-c23w(i3,i2).e(3)*p123(3)
      cauxa=-c23w(i3,i2).ek0*quqd+p1k0*cvqd+p123k0*cvqu
      cauxb=-c23w(i3,i2).ek0*p123(2)+p123k0*c23w(i3,i2).e(2)
      cauxc=+c23w(i3,i2).ek0*p1(2)-p1k0*c23w(i3,i2).e(2)
      l1_23w(i3,i2).a(2,2)=wcl*(cauxa-ceps_0)
      l1_23w(i3,i2).b(1,2)=wcl*(cauxb-ceps_2)
      l1_23w(i3,i2).c(2,1)=wcl*(-cauxc+ceps_1)
      l1_23w(i3,i2).d(1,1)=wcl*c23w(i3,i2).ek0
      end do
      end do
* quqd -- p=p3,q=p134
      quqd=p3(0)*p134(0)-p3(1)*p134(1)-p3(2)*p134(2)-p3(3)*p134(
     & 3)
      do i1=1,2
      do i4=1,2
* TW -- qu=p3,qd=p134,v=c14w(i1,i4).e,a=l3_14w(i1,i4).a,b=l3_14w(i1,i4).b,c
* =l3_14w(i1,i4).c,d=l3_14w(i1,i4).d,cl=wcl,nsum=0
      ceps_0=-c14w(i1,i4).ek0*(p3(2)*p134(3)-p134(2)*p3(3))+p3k0
     & *(c14w(i1,i4).e(2)*p134(3)-p134(2)*c14w(i1,i4).e(3))-p134
     & k0*(c14w(i1,i4).e(2)*p3(3)-p3(2)*c14w(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c14w(i1,i4).e(3)*p3k0+p3(3)*c14w(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c14w(i1,i4).e(3)*p134k0+p134(3)*c14w(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c14w(i1,i4).e(0)*p3(0)-c14w(i1,i4).e(1)*p3(1)-c14w(i1
     & ,i4).e(2)*p3(2)-c14w(i1,i4).e(3)*p3(3)
      cvqd=c14w(i1,i4).e(0)*p134(0)-c14w(i1,i4).e(1)*p134(1)-c14
     & w(i1,i4).e(2)*p134(2)-c14w(i1,i4).e(3)*p134(3)
      cauxa=-c14w(i1,i4).ek0*quqd+p3k0*cvqd+p134k0*cvqu
      cauxb=-c14w(i1,i4).ek0*p134(2)+p134k0*c14w(i1,i4).e(2)
      cauxc=+c14w(i1,i4).ek0*p3(2)-p3k0*c14w(i1,i4).e(2)
      l3_14w(i1,i4).a(2,2)=wcl*(cauxa-ceps_0)
      l3_14w(i1,i4).b(1,2)=wcl*(cauxb-ceps_2)
      l3_14w(i1,i4).c(2,1)=wcl*(-cauxc+ceps_1)
      l3_14w(i1,i4).d(1,1)=wcl*c14w(i1,i4).ek0
      end do
      end do
**** diagramma CN30
      do i5=1,2
      do i6=1,2
      do i3=1,2
      do i2=1,2
* TTW -- aa=tappttw(i5,i6,i3,i2).a,bb=tappttw(i5,i6,i3,i2).b,cc=tappttw(i5,
* i6,i3,i2).c,dd=tappttw(i5,i6,i3,i2).d,a1=l1_56fz(i5,i6).a,b1=l1_56fz(i5,i6
* ).b,c1=l1_56fz(i5,i6).c,d1=l1_56fz(i5,i6).d,a2=r4_23w(i3,i2).a,b2=r4_23w(i
* 3,i2).b,c2=r4_23w(i3,i2).c,d2=r4_23w(i3,i2).d,prq=p156q,m=rme
      tappttw(i5,i6,i3,i2).c(1,1)=rme*(l1_56fz(i5,i6).a(1,1)*r4_
     & 23w(i3,i2).d(1,1)+l1_56fz(i5,i6).c(1,2)*r4_23w(i3,i2).c(2
     & ,1))
      tappttw(i5,i6,i3,i2).d(1,1)=l1_56fz(i5,i6).d(1,1)*p156q*r4
     & _23w(i3,i2).d(1,1)+l1_56fz(i5,i6).b(1,2)*r4_23w(i3,i2).c(
     & 2,1)
      tappttw(i5,i6,i3,i2).a(1,2)=rme*(l1_56fz(i5,i6).a(1,1)*r4_
     & 23w(i3,i2).b(1,2)+l1_56fz(i5,i6).c(1,2)*r4_23w(i3,i2).a(2
     & ,2))
      tappttw(i5,i6,i3,i2).b(1,2)=l1_56fz(i5,i6).d(1,1)*p156q*r4
     & _23w(i3,i2).b(1,2)+l1_56fz(i5,i6).b(1,2)*r4_23w(i3,i2).a(
     & 2,2)
      tappttw(i5,i6,i3,i2).c(2,1)=l1_56fz(i5,i6).c(2,1)*p156q*r4
     & _23w(i3,i2).d(1,1)+l1_56fz(i5,i6).a(2,2)*r4_23w(i3,i2).c(
     & 2,1)
      tappttw(i5,i6,i3,i2).d(2,1)=rme*(l1_56fz(i5,i6).b(2,1)*r4_
     & 23w(i3,i2).d(1,1)+l1_56fz(i5,i6).d(2,2)*r4_23w(i3,i2).c(2
     & ,1))
      tappttw(i5,i6,i3,i2).a(2,2)=l1_56fz(i5,i6).c(2,1)*p156q*r4
     & _23w(i3,i2).b(1,2)+l1_56fz(i5,i6).a(2,2)*r4_23w(i3,i2).a(
     & 2,2)
      tappttw(i5,i6,i3,i2).b(2,2)=rme*(l1_56fz(i5,i6).b(2,1)*r4_
     & 23w(i3,i2).b(1,2)+l1_56fz(i5,i6).d(2,2)*r4_23w(i3,i2).a(2
     & ,2))
      end do
      end do
      end do
      end do
      do i5=1,2
      do i6=1,2
      do i3=1,2
      do i2=1,2
* mline -- res=cn30(i5,i6,i3,i2,&).id(ide),abcd=tappttw(i5,i6,i3,i2).,m1=(-
* rme),m2=(-xm(4)),den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      cn30(i5,i6,i3,i2,iut,jut).id(ide)=(tappttw(i5,i6,i3,i2).a(
     & iut,jut)+(-rme)*tappttw(i5,i6,i3,i2).b(iut,jut)+(-xm(4))*
     & tappttw(i5,i6,i3,i2).c(iut,jut)+(-rme)*(-xm(4))*tappttw(i
     & 5,i6,i3,i2).d(iut,jut))/((p156q-rme**2)*p156k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** diagramma CN31
      do i5=1,2
      do i6=1,2
      do i1=1,2
      do i4=1,2
* TWT -- aa=tapptwt(i5,i6,i1,i4).a,bb=tapptwt(i5,i6,i1,i4).b,cc=tapptwt(i5,
* i6,i1,i4).c,dd=tapptwt(i5,i6,i1,i4).d,a1=l3_14w(i1,i4).a,b1=l3_14w(i1,i4).
* b,c1=l3_14w(i1,i4).c,d1=l3_14w(i1,i4).d,a2=r2_56fz(i5,i6).a,b2=r2_56fz(i5,
* i6).b,c2=r2_56fz(i5,i6).c,d2=r2_56fz(i5,i6).d,prq=p134q,m=rme
      tapptwt(i5,i6,i1,i4).b(1,1)=rme*(l3_14w(i1,i4).d(1,1)*r2_5
     & 6fz(i5,i6).a(1,1)+l3_14w(i1,i4).b(1,2)*r2_56fz(i5,i6).b(2
     & ,1))
      tapptwt(i5,i6,i1,i4).d(1,1)=l3_14w(i1,i4).d(1,1)*p134q*r2_
     & 56fz(i5,i6).d(1,1)+l3_14w(i1,i4).b(1,2)*r2_56fz(i5,i6).c(
     & 2,1)
      tapptwt(i5,i6,i1,i4).b(1,2)=l3_14w(i1,i4).d(1,1)*p134q*r2_
     & 56fz(i5,i6).b(1,2)+l3_14w(i1,i4).b(1,2)*r2_56fz(i5,i6).a(
     & 2,2)
      tapptwt(i5,i6,i1,i4).d(1,2)=rme*(l3_14w(i1,i4).d(1,1)*r2_5
     & 6fz(i5,i6).c(1,2)+l3_14w(i1,i4).b(1,2)*r2_56fz(i5,i6).d(2
     & ,2))
      tapptwt(i5,i6,i1,i4).a(2,1)=rme*(l3_14w(i1,i4).c(2,1)*r2_5
     & 6fz(i5,i6).a(1,1)+l3_14w(i1,i4).a(2,2)*r2_56fz(i5,i6).b(2
     & ,1))
      tapptwt(i5,i6,i1,i4).c(2,1)=l3_14w(i1,i4).c(2,1)*p134q*r2_
     & 56fz(i5,i6).d(1,1)+l3_14w(i1,i4).a(2,2)*r2_56fz(i5,i6).c(
     & 2,1)
      tapptwt(i5,i6,i1,i4).a(2,2)=l3_14w(i1,i4).c(2,1)*p134q*r2_
     & 56fz(i5,i6).b(1,2)+l3_14w(i1,i4).a(2,2)*r2_56fz(i5,i6).a(
     & 2,2)
      tapptwt(i5,i6,i1,i4).c(2,2)=rme*(l3_14w(i1,i4).c(2,1)*r2_5
     & 6fz(i5,i6).c(1,2)+l3_14w(i1,i4).a(2,2)*r2_56fz(i5,i6).d(2
     & ,2))
      end do
      end do
      end do
      end do
      do i5=1,2
      do i6=1,2
      do i1=1,2
      do i4=1,2
* mline -- res=cn31(i5,i6,i1,i4,&).id(ide),abcd=tapptwt(i5,i6,i1,i4).,m1=xm
* (3),m2=rme,den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      cn31(i5,i6,i1,i4,iut,jut).id(ide)=(tapptwt(i5,i6,i1,i4).a(
     & iut,jut)+xm(3)*tapptwt(i5,i6,i1,i4).b(iut,jut)+rme*tapptw
     & t(i5,i6,i1,i4).c(iut,jut)+xm(3)*rme*tapptwt(i5,i6,i1,i4).
     & d(iut,jut))/((p134q-rme**2)*p134k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** diagramma CN32
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* TWTW -- aa=tapp(i3,i2,i5,i6).a,bb=tapp(i3,i2,i5,i6).b,cc=tapp(i3,i2,i5,i6
* ).c,dd=tapp(i3,i2,i5,i6).d,a1=l1_23w(i3,i2).a,b1=l1_23w(i3,i2).b,c1=l1_23w
* (i3,i2).c,d1=l1_23w(i3,i2).d,a2=r4_56fz(i5,i6).a,b2=r4_56fz(i5,i6).b,c2=r4
* _56fz(i5,i6).c,d2=r4_56fz(i5,i6).d,prq=p123q
      tapp(i3,i2,i5,i6).d(1,1)=l1_23w(i3,i2).d(1,1)*p123q*r4_56f
     & z(i5,i6).d(1,1)+l1_23w(i3,i2).b(1,2)*r4_56fz(i5,i6).c(2,1
     & )
      tapp(i3,i2,i5,i6).b(1,2)=l1_23w(i3,i2).d(1,1)*p123q*r4_56f
     & z(i5,i6).b(1,2)+l1_23w(i3,i2).b(1,2)*r4_56fz(i5,i6).a(2,2
     & )
      tapp(i3,i2,i5,i6).c(2,1)=l1_23w(i3,i2).c(2,1)*p123q*r4_56f
     & z(i5,i6).d(1,1)+l1_23w(i3,i2).a(2,2)*r4_56fz(i5,i6).c(2,1
     & )
      tapp(i3,i2,i5,i6).a(2,2)=l1_23w(i3,i2).c(2,1)*p123q*r4_56f
     & z(i5,i6).b(1,2)+l1_23w(i3,i2).a(2,2)*r4_56fz(i5,i6).a(2,2
     & )
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i5=1,2
      do i6=1,2
* mline -- res=cn32(i3,i2,i5,i6,&).id(ide),abcd=tapp(i3,i2,i5,i6).,m1=(-rme
* ),m2=(-xm(4)),den=(p123q*p123k0)
      do iut=1,2
      do jut=1,2
      cn32(i3,i2,i5,i6,iut,jut).id(ide)=(tapp(i3,i2,i5,i6).a(iut
     & ,jut)+(-rme)*tapp(i3,i2,i5,i6).b(iut,jut)+(-xm(4))*tapp(i
     & 3,i2,i5,i6).c(iut,jut)+(-rme)*(-xm(4))*tapp(i3,i2,i5,i6).
     & d(iut,jut))/(p123q*p123k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** diagramma CN33
      do i5=1,2
      do i6=1,2
      do i1=1,2
      do i4=1,2
* TWTW -- aa=tapp(i5,i6,i1,i4).a,bb=tapp(i5,i6,i1,i4).b,cc=tapp(i5,i6,i1,i4
* ).c,dd=tapp(i5,i6,i1,i4).d,a1=l3_56fz(i5,i6).a,b1=l3_56fz(i5,i6).b,c1=l3_5
* 6fz(i5,i6).c,d1=l3_56fz(i5,i6).d,a2=r2_14w(i1,i4).a,b2=r2_14w(i1,i4).b,c2=
* r2_14w(i1,i4).c,d2=r2_14w(i1,i4).d,prq=p356q
      tapp(i5,i6,i1,i4).d(1,1)=l3_56fz(i5,i6).d(1,1)*p356q*r2_14
     & w(i1,i4).d(1,1)+l3_56fz(i5,i6).b(1,2)*r2_14w(i1,i4).c(2,1
     & )
      tapp(i5,i6,i1,i4).b(1,2)=l3_56fz(i5,i6).d(1,1)*p356q*r2_14
     & w(i1,i4).b(1,2)+l3_56fz(i5,i6).b(1,2)*r2_14w(i1,i4).a(2,2
     & )
      tapp(i5,i6,i1,i4).c(2,1)=l3_56fz(i5,i6).c(2,1)*p356q*r2_14
     & w(i1,i4).d(1,1)+l3_56fz(i5,i6).a(2,2)*r2_14w(i1,i4).c(2,1
     & )
      tapp(i5,i6,i1,i4).a(2,2)=l3_56fz(i5,i6).c(2,1)*p356q*r2_14
     & w(i1,i4).b(1,2)+l3_56fz(i5,i6).a(2,2)*r2_14w(i1,i4).a(2,2
     & )
      end do
      end do
      end do
      end do
      do i5=1,2
      do i6=1,2
      do i1=1,2
      do i4=1,2
* mline -- res=cn33(i5,i6,i1,i4,&).id(ide),abcd=tapp(i5,i6,i1,i4).,m1=xm(3)
* ,m2=rme,den=(p356q*p356k0)
      do iut=1,2
      do jut=1,2
      cn33(i5,i6,i1,i4,iut,jut).id(ide)=(tapp(i5,i6,i1,i4).a(iut
     & ,jut)+xm(3)*tapp(i5,i6,i1,i4).b(iut,jut)+rme*tapp(i5,i6,i
     & 1,i4).c(iut,jut)+xm(3)*rme*tapp(i5,i6,i1,i4).d(iut,jut))/
     & (p356q*p356k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** diagramma CN34
         if (f5l.lt.0.d0) then
      do i3=1,2
      do i2=1,2
      do i1=1,2
      do i4=1,2
* TWTW -- aa=tapp(i3,i2,i1,i4).a,bb=tapp(i3,i2,i1,i4).b,cc=tapp(i3,i2,i1,i4
* ).c,dd=tapp(i3,i2,i1,i4).d,a1=l5_23w(i3,i2).a,b1=l5_23w(i3,i2).b,c1=l5_23w
* (i3,i2).c,d1=l5_23w(i3,i2).d,a2=r6_14w(i1,i4).a,b2=r6_14w(i1,i4).b,c2=r6_1
* 4w(i1,i4).c,d2=r6_14w(i1,i4).d,prq=p235q
      tapp(i3,i2,i1,i4).d(1,1)=l5_23w(i3,i2).d(1,1)*p235q*r6_14w
     & (i1,i4).d(1,1)+l5_23w(i3,i2).b(1,2)*r6_14w(i1,i4).c(2,1)
      tapp(i3,i2,i1,i4).b(1,2)=l5_23w(i3,i2).d(1,1)*p235q*r6_14w
     & (i1,i4).b(1,2)+l5_23w(i3,i2).b(1,2)*r6_14w(i1,i4).a(2,2)
      tapp(i3,i2,i1,i4).c(2,1)=l5_23w(i3,i2).c(2,1)*p235q*r6_14w
     & (i1,i4).d(1,1)+l5_23w(i3,i2).a(2,2)*r6_14w(i1,i4).c(2,1)
      tapp(i3,i2,i1,i4).a(2,2)=l5_23w(i3,i2).c(2,1)*p235q*r6_14w
     & (i1,i4).b(1,2)+l5_23w(i3,i2).a(2,2)*r6_14w(i1,i4).a(2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i1=1,2
      do i4=1,2
* mline -- res=cn34(i3,i2,i1,i4,&).id(ide),abcd=tapp(i3,i2,i1,i4).,m1=xm(5)
* ,m2=(-xm(6)),den=((p235q-xmp**2-ibbveve*(rmt2-xmp**2))*p235k0)
      do iut=1,2
      do jut=1,2
      cn34(i3,i2,i1,i4,iut,jut).id(ide)=(tapp(i3,i2,i1,i4).a(iut
     & ,jut)+xm(5)*tapp(i3,i2,i1,i4).b(iut,jut)+(-xm(6))*tapp(i3
     & ,i2,i1,i4).c(iut,jut)+xm(5)*(-xm(6))*tapp(i3,i2,i1,i4).d(
     & iut,jut))/((p235q-xmp**2-ibbveve*(rmt2-xmp**2))*p235k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
         else
      do i1=1,2
      do i4=1,2
      do i3=1,2
      do i2=1,2
* TWTW -- aa=tapp(i1,i4,i3,i2).a,bb=tapp(i1,i4,i3,i2).b,cc=tapp(i1,i4,i3,i2
* ).c,dd=tapp(i1,i4,i3,i2).d,a1=l5_14w(i1,i4).a,b1=l5_14w(i1,i4).b,c1=l5_14w
* (i1,i4).c,d1=l5_14w(i1,i4).d,a2=r6_23w(i3,i2).a,b2=r6_23w(i3,i2).b,c2=r6_2
* 3w(i3,i2).c,d2=r6_23w(i3,i2).d,prq=p145q
      tapp(i1,i4,i3,i2).d(1,1)=l5_14w(i1,i4).d(1,1)*p145q*r6_23w
     & (i3,i2).d(1,1)+l5_14w(i1,i4).b(1,2)*r6_23w(i3,i2).c(2,1)
      tapp(i1,i4,i3,i2).b(1,2)=l5_14w(i1,i4).d(1,1)*p145q*r6_23w
     & (i3,i2).b(1,2)+l5_14w(i1,i4).b(1,2)*r6_23w(i3,i2).a(2,2)
      tapp(i1,i4,i3,i2).c(2,1)=l5_14w(i1,i4).c(2,1)*p145q*r6_23w
     & (i3,i2).d(1,1)+l5_14w(i1,i4).a(2,2)*r6_23w(i3,i2).c(2,1)
      tapp(i1,i4,i3,i2).a(2,2)=l5_14w(i1,i4).c(2,1)*p145q*r6_23w
     & (i3,i2).b(1,2)+l5_14w(i1,i4).a(2,2)*r6_23w(i3,i2).a(2,2)
      end do
      end do
      end do
      end do
      do i3=1,2
      do i2=1,2
      do i1=1,2
      do i4=1,2
* mline -- res=cn34(i3,i2,i1,i4,&).id(ide),abcd=tapp(i1,i4,i3,i2).,m1=xm(5)
* ,m2=(-xm(6)),den=((p145q-xmp**2)*p145k0)
      do iut=1,2
      do jut=1,2
      cn34(i3,i2,i1,i4,iut,jut).id(ide)=(tapp(i1,i4,i3,i2).a(iut
     & ,jut)+xm(5)*tapp(i1,i4,i3,i2).b(iut,jut)+(-xm(6))*tapp(i1
     & ,i4,i3,i2).c(iut,jut)+xm(5)*(-xm(6))*tapp(i1,i4,i3,i2).d(
     & iut,jut))/((p145q-xmp**2)*p145k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
          endif
          endif  !i56ve.and.iid
          endif  !i56ve
          if (iid.eq.1.and.i34e.eq.1.AND.izz.NE.1.AND.izg.NE.1.AND.
     &        izg34.NE.1.AND.izg56.NE.1.AND.inc08.NE.1) then
!anche 56 sono elettroni
****          24 con coppia 56 elet., come a i34.eq.1 con scambio
****          coppie 35<->56, dove programma entro prossimo dotab e' lo stesso

* quqd -- p=p5,q=p2
      quqd=p5(0)*p2(0)-p5(1)*p2(1)-p5(2)*p2(2)-p5(3)*p2(3)
      df=-2.d0*rme**2+2.d0*quqd
      dz=(-2.d0*rme**2+2.d0*quqd)*czipr+rmz2-ccz
      rcr=fer/df
      rcl=fel/df
* T -- qu=p5,qd=p2,v=0,a=v25f(0).a,b=v25f(0).b,c=v25f(0).c,d=v25f(0).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p5(2)*p2(3)+p2(2)*p5(3)
      ceps_0=eps_0*cim
      ceps_1=p5(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p5k0*p2(0)+p2k0*p5(0)
      v25f(0).a(1,1)=rcr*(auxa+ceps_0)
      v25f(0).a(2,2)=rcl*(auxa-ceps_0)
      v25f(0).b(1,2)=-rcl*(p2(2)+ceps_2)
      v25f(0).b(2,1)=rcr*(p2(2)-ceps_2)
      v25f(0).c(1,2)=rcr*(p5(2)+ceps_1)
      v25f(0).c(2,1)=rcl*(-p5(2)+ceps_1)
      v25f(0).d(1,1)=rcl
      v25f(0).d(2,2)=rcr
* T -- qu=p5,qd=p2,v=1,a=v25f(1).a,b=v25f(1).b,c=v25f(1).c,d=v25f(1).d,cr=r
* cr,cl=rcl,nsum=0
      auxa=-quqd+p5k0*p2(1)+p2k0*p5(1)
      v25f(1).a(1,1)=rcr*(auxa+ceps_0)
      v25f(1).a(2,2)=rcl*(auxa-ceps_0)
      v25f(1).b(1,2)=-rcl*(p2(2)+ceps_2)
      v25f(1).b(2,1)=rcr*(p2(2)-ceps_2)
      v25f(1).c(1,2)=rcr*(p5(2)+ceps_1)
      v25f(1).c(2,1)=rcl*(-p5(2)+ceps_1)
      v25f(1).d(1,1)=rcl
      v25f(1).d(2,2)=rcr
* T -- qu=p5,qd=p2,v=2,a=v25f(2).a,b=v25f(2).b,c=v25f(2).c,d=v25f(2).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p5k0*p2(3)+p2k0*p5(3)
      ceps_0=eps_0*cim
      auxa=p5k0*p2(2)+p2k0*p5(2)
      v25f(2).a(1,1)=rcr*(auxa+ceps_0)
      v25f(2).a(2,2)=rcl*(auxa-ceps_0)
      v25f(2).b(1,2)=-rcl*p2k0
      v25f(2).b(2,1)=rcr*p2k0
      v25f(2).c(1,2)=rcr*p5k0
      v25f(2).c(2,1)=-rcl*p5k0
* T -- qu=p5,qd=p2,v=3,a=v25f(3).a,b=v25f(3).b,c=v25f(3).c,d=v25f(3).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=p5k0*p2(2)-p2k0*p5(2)
      ceps_0=eps_0*cim
      ceps_1=p5k0*cim
      ceps_2=p2k0*cim
      auxa=+p5k0*p2(3)+p2k0*p5(3)
      v25f(3).a(1,1)=rcr*(auxa+ceps_0)
      v25f(3).a(2,2)=rcl*(auxa-ceps_0)
      v25f(3).b(1,2)=-rcl*ceps_2
      v25f(3).b(2,1)=-rcr*ceps_2
      v25f(3).c(1,2)=rcr*ceps_1
      v25f(3).c(2,1)=rcl*ceps_1
      do m=0,3
* mline -- res=c25f(&).e(m),abcd=v25f(m).,m1=rme,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c25f(iut,jut).e(m)=v25f(m).a(iut,jut)+rme*v25f(m).b(iut,ju
     & t)+rme*v25f(m).c(iut,jut)+rme*rme*v25f(m).d(iut,jut)
      enddo
      enddo
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
      rcr=zer/dz
      rcl=zel/dz
* T -- qu=p5,qd=p2,v=0,a=v25z(0).a,b=v25z(0).b,c=v25z(0).c,d=v25z(0).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p5(2)*p2(3)+p2(2)*p5(3)
      ceps_0=eps_0*cim
      ceps_1=p5(3)*cim
      ceps_2=p2(3)*cim
      auxa=-quqd+p5k0*p2(0)+p2k0*p5(0)
      v25z(0).a(1,1)=rcr*(auxa+ceps_0)
      v25z(0).a(2,2)=rcl*(auxa-ceps_0)
      v25z(0).b(1,2)=-rcl*(p2(2)+ceps_2)
      v25z(0).b(2,1)=rcr*(p2(2)-ceps_2)
      v25z(0).c(1,2)=rcr*(p5(2)+ceps_1)
      v25z(0).c(2,1)=rcl*(-p5(2)+ceps_1)
      v25z(0).d(1,1)=rcl
      v25z(0).d(2,2)=rcr
* T -- qu=p5,qd=p2,v=1,a=v25z(1).a,b=v25z(1).b,c=v25z(1).c,d=v25z(1).d,cr=r
* cr,cl=rcl,nsum=0
      auxa=-quqd+p5k0*p2(1)+p2k0*p5(1)
      v25z(1).a(1,1)=rcr*(auxa+ceps_0)
      v25z(1).a(2,2)=rcl*(auxa-ceps_0)
      v25z(1).b(1,2)=-rcl*(p2(2)+ceps_2)
      v25z(1).b(2,1)=rcr*(p2(2)-ceps_2)
      v25z(1).c(1,2)=rcr*(p5(2)+ceps_1)
      v25z(1).c(2,1)=rcl*(-p5(2)+ceps_1)
      v25z(1).d(1,1)=rcl
      v25z(1).d(2,2)=rcr
* T -- qu=p5,qd=p2,v=2,a=v25z(2).a,b=v25z(2).b,c=v25z(2).c,d=v25z(2).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p5k0*p2(3)+p2k0*p5(3)
      ceps_0=eps_0*cim
      auxa=p5k0*p2(2)+p2k0*p5(2)
      v25z(2).a(1,1)=rcr*(auxa+ceps_0)
      v25z(2).a(2,2)=rcl*(auxa-ceps_0)
      v25z(2).b(1,2)=-rcl*p2k0
      v25z(2).b(2,1)=rcr*p2k0
      v25z(2).c(1,2)=rcr*p5k0
      v25z(2).c(2,1)=-rcl*p5k0
* T -- qu=p5,qd=p2,v=3,a=v25z(3).a,b=v25z(3).b,c=v25z(3).c,d=v25z(3).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=p5k0*p2(2)-p2k0*p5(2)
      ceps_0=eps_0*cim
      ceps_1=p5k0*cim
      ceps_2=p2k0*cim
      auxa=+p5k0*p2(3)+p2k0*p5(3)
      v25z(3).a(1,1)=rcr*(auxa+ceps_0)
      v25z(3).a(2,2)=rcl*(auxa-ceps_0)
      v25z(3).b(1,2)=-rcl*ceps_2
      v25z(3).b(2,1)=-rcr*ceps_2
      v25z(3).c(1,2)=rcr*ceps_1
      v25z(3).c(2,1)=rcl*ceps_1
      do m=0,3
* mline -- res=c25z(&).e(m),abcd=v25z(m).,m1=rme,m2=rme,den=0
      do iut=1,2
      do jut=1,2
      c25z(iut,jut).e(m)=v25z(m).a(iut,jut)+rme*v25z(m).b(iut,ju
     & t)+rme*v25z(m).c(iut,jut)+rme*rme*v25z(m).d(iut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i5=1,2
        do i2=1,2
          c25z(i5,i2).v=c25z(i5,i2).e(0)*p25(0)
          do i=1,3
            c25z(i5,i2).v=c25z(i5,i2).v-
     &      c25z(i5,i2).e(i)*p25(i)
          enddo
        enddo
      enddo
      do i5=1,2
        do i2=1,2
          do mu=0,3
            c25z(i5,i2).e(mu)=c25z(i5,i2).e(mu)-p25(mu)
     &      *c25z(i5,i2).v/rmz2
          enddo
        enddo
      enddo
*el2
      ENDIF !igamgam
*endel2
****
      do i5=1,2
      do i2=1,2
* pk0 -- p=c25f(i5,i2).e
      c25f(i5,i2).ek0=c25f(i5,i2).e(0)-c25f(i5,i2).e(1)
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
      do i5=1,2
      do i2=1,2
* pk0 -- p=c25z(i5,i2).e
      c25z(i5,i2).ek0=c25z(i5,i2).e(0)-c25z(i5,i2).e(1)
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
* quqd -- p=p1,q=p6
      quqd=p1(0)*p6(0)-p1(1)*p6(1)-p1(2)*p6(2)-p1(3)*p6(3)
      df=-2.d0*rme**2+2.d0*quqd
      dz=(-2.d0*rme**2+2.d0*quqd)*czipr+rmz2-ccz
      rcr=fer/df
      rcl=fel/df
* T -- qu=p1,qd=p6,v=0,a=v16f(0).a,b=v16f(0).b,c=v16f(0).c,d=v16f(0).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p1(2)*p6(3)+p6(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p6(3)*cim
      auxa=-quqd+p1k0*p6(0)+p6k0*p1(0)
      v16f(0).a(1,1)=rcr*(auxa+ceps_0)
      v16f(0).a(2,2)=rcl*(auxa-ceps_0)
      v16f(0).b(1,2)=-rcl*(p6(2)+ceps_2)
      v16f(0).b(2,1)=rcr*(p6(2)-ceps_2)
      v16f(0).c(1,2)=rcr*(p1(2)+ceps_1)
      v16f(0).c(2,1)=rcl*(-p1(2)+ceps_1)
      v16f(0).d(1,1)=rcl
      v16f(0).d(2,2)=rcr
* T -- qu=p1,qd=p6,v=1,a=v16f(1).a,b=v16f(1).b,c=v16f(1).c,d=v16f(1).d,cr=r
* cr,cl=rcl,nsum=0
      auxa=-quqd+p1k0*p6(1)+p6k0*p1(1)
      v16f(1).a(1,1)=rcr*(auxa+ceps_0)
      v16f(1).a(2,2)=rcl*(auxa-ceps_0)
      v16f(1).b(1,2)=-rcl*(p6(2)+ceps_2)
      v16f(1).b(2,1)=rcr*(p6(2)-ceps_2)
      v16f(1).c(1,2)=rcr*(p1(2)+ceps_1)
      v16f(1).c(2,1)=rcl*(-p1(2)+ceps_1)
      v16f(1).d(1,1)=rcl
      v16f(1).d(2,2)=rcr
* T -- qu=p1,qd=p6,v=2,a=v16f(2).a,b=v16f(2).b,c=v16f(2).c,d=v16f(2).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p1k0*p6(3)+p6k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p6(2)+p6k0*p1(2)
      v16f(2).a(1,1)=rcr*(auxa+ceps_0)
      v16f(2).a(2,2)=rcl*(auxa-ceps_0)
      v16f(2).b(1,2)=-rcl*p6k0
      v16f(2).b(2,1)=rcr*p6k0
      v16f(2).c(1,2)=rcr*p1k0
      v16f(2).c(2,1)=-rcl*p1k0
* T -- qu=p1,qd=p6,v=3,a=v16f(3).a,b=v16f(3).b,c=v16f(3).c,d=v16f(3).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=p1k0*p6(2)-p6k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p6k0*cim
      auxa=+p1k0*p6(3)+p6k0*p1(3)
      v16f(3).a(1,1)=rcr*(auxa+ceps_0)
      v16f(3).a(2,2)=rcl*(auxa-ceps_0)
      v16f(3).b(1,2)=-rcl*ceps_2
      v16f(3).b(2,1)=-rcr*ceps_2
      v16f(3).c(1,2)=rcr*ceps_1
      v16f(3).c(2,1)=rcl*ceps_1
      do m=0,3
* mline -- res=c16f(&).e(m),abcd=v16f(m).,m1=(-rme),m2=(-rme),den=0
      do iut=1,2
      do jut=1,2
      c16f(iut,jut).e(m)=v16f(m).a(iut,jut)+(-rme)*v16f(m).b(iut
     & ,jut)+(-rme)*v16f(m).c(iut,jut)+(-rme)*(-rme)*v16f(m).d(i
     & ut,jut)
      enddo
      enddo
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
      rcr=zer/dz
      rcl=zel/dz
* T -- qu=p1,qd=p6,v=0,a=v16z(0).a,b=v16z(0).b,c=v16z(0).c,d=v16z(0).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p1(2)*p6(3)+p6(2)*p1(3)
      ceps_0=eps_0*cim
      ceps_1=p1(3)*cim
      ceps_2=p6(3)*cim
      auxa=-quqd+p1k0*p6(0)+p6k0*p1(0)
      v16z(0).a(1,1)=rcr*(auxa+ceps_0)
      v16z(0).a(2,2)=rcl*(auxa-ceps_0)
      v16z(0).b(1,2)=-rcl*(p6(2)+ceps_2)
      v16z(0).b(2,1)=rcr*(p6(2)-ceps_2)
      v16z(0).c(1,2)=rcr*(p1(2)+ceps_1)
      v16z(0).c(2,1)=rcl*(-p1(2)+ceps_1)
      v16z(0).d(1,1)=rcl
      v16z(0).d(2,2)=rcr
* T -- qu=p1,qd=p6,v=1,a=v16z(1).a,b=v16z(1).b,c=v16z(1).c,d=v16z(1).d,cr=r
* cr,cl=rcl,nsum=0
      auxa=-quqd+p1k0*p6(1)+p6k0*p1(1)
      v16z(1).a(1,1)=rcr*(auxa+ceps_0)
      v16z(1).a(2,2)=rcl*(auxa-ceps_0)
      v16z(1).b(1,2)=-rcl*(p6(2)+ceps_2)
      v16z(1).b(2,1)=rcr*(p6(2)-ceps_2)
      v16z(1).c(1,2)=rcr*(p1(2)+ceps_1)
      v16z(1).c(2,1)=rcl*(-p1(2)+ceps_1)
      v16z(1).d(1,1)=rcl
      v16z(1).d(2,2)=rcr
* T -- qu=p1,qd=p6,v=2,a=v16z(2).a,b=v16z(2).b,c=v16z(2).c,d=v16z(2).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=-p1k0*p6(3)+p6k0*p1(3)
      ceps_0=eps_0*cim
      auxa=p1k0*p6(2)+p6k0*p1(2)
      v16z(2).a(1,1)=rcr*(auxa+ceps_0)
      v16z(2).a(2,2)=rcl*(auxa-ceps_0)
      v16z(2).b(1,2)=-rcl*p6k0
      v16z(2).b(2,1)=rcr*p6k0
      v16z(2).c(1,2)=rcr*p1k0
      v16z(2).c(2,1)=-rcl*p1k0
* T -- qu=p1,qd=p6,v=3,a=v16z(3).a,b=v16z(3).b,c=v16z(3).c,d=v16z(3).d,cr=r
* cr,cl=rcl,nsum=0
      eps_0=p1k0*p6(2)-p6k0*p1(2)
      ceps_0=eps_0*cim
      ceps_1=p1k0*cim
      ceps_2=p6k0*cim
      auxa=+p1k0*p6(3)+p6k0*p1(3)
      v16z(3).a(1,1)=rcr*(auxa+ceps_0)
      v16z(3).a(2,2)=rcl*(auxa-ceps_0)
      v16z(3).b(1,2)=-rcl*ceps_2
      v16z(3).b(2,1)=-rcr*ceps_2
      v16z(3).c(1,2)=rcr*ceps_1
      v16z(3).c(2,1)=rcl*ceps_1
      do m=0,3
* mline -- res=c16z(&).e(m),abcd=v16z(m).,m1=(-rme),m2=(-rme),den=0
      do iut=1,2
      do jut=1,2
      c16z(iut,jut).e(m)=v16z(m).a(iut,jut)+(-rme)*v16z(m).b(iut
     & ,jut)+(-rme)*v16z(m).c(iut,jut)+(-rme)*(-rme)*v16z(m).d(i
     & ut,jut)
      enddo
      enddo
      end do
**** moltiplico per i propagatori bosonici (G_mn - p_m p_n/ Mq)/dp
      do i1=1,2
        do i6=1,2
          c16z(i1,i6).v=c16z(i1,i6).e(0)*p16(0)
          do i=1,3
            c16z(i1,i6).v=c16z(i1,i6).v-
     &      c16z(i1,i6).e(i)*p16(i)
          enddo
        enddo
      enddo
      do i1=1,2
        do i6=1,2
          do mu=0,3
            c16z(i1,i6).e(mu)=c16z(i1,i6).e(mu)-p16(mu)
     &      *c16z(i1,i6).v/rmz2
          enddo
        enddo
      enddo
*el2
      ENDIF !igamgam
*endel2
****
      do i1=1,2
      do i6=1,2
* pk0 -- p=c16f(i1,i6).e
      c16f(i1,i6).ek0=c16f(i1,i6).e(0)-c16f(i1,i6).e(1)
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
      do i1=1,2
      do i6=1,2
* pk0 -- p=c16z(i1,i6).e
      c16z(i1,i6).ek0=c16z(i1,i6).e(0)-c16z(i1,i6).e(1)
      end do
      end do
**** attaccamento di c25f(2) a 6
* quqd -- p=p134,q=p6
      quqd=p134(0)*p6(0)-p134(1)*p6(1)-p134(2)*p6(2)-p134(3)*p6(
     & 3)
      do i5=1,2
      do i2=1,2
* T -- qu=p134,qd=p6,v=c25f(i5,i2).e,a=r6_25fz(i5,i2).a,b=r6_25fz(i5,i2).b,
* c=r6_25fz(i5,i2).c,d=r6_25fz(i5,i2).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c25f(i5,i2).ek0*(p134(2)*p6(3)-p6(2)*p134(3))+p134
     & k0*(c25f(i5,i2).e(2)*p6(3)-p6(2)*c25f(i5,i2).e(3))-p6k0*(
     & c25f(i5,i2).e(2)*p134(3)-p134(2)*c25f(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25f(i5,i2).e(3)*p134k0+p134(3)*c25f(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25f(i5,i2).e(3)*p6k0+p6(3)*c25f(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25f(i5,i2).e(0)*p134(0)-c25f(i5,i2).e(1)*p134(1)-c25
     & f(i5,i2).e(2)*p134(2)-c25f(i5,i2).e(3)*p134(3)
      cvqd=c25f(i5,i2).e(0)*p6(0)-c25f(i5,i2).e(1)*p6(1)-c25f(i5
     & ,i2).e(2)*p6(2)-c25f(i5,i2).e(3)*p6(3)
      cauxa=-c25f(i5,i2).ek0*quqd+p134k0*cvqd+p6k0*cvqu
      cauxb=-c25f(i5,i2).ek0*p6(2)+p6k0*c25f(i5,i2).e(2)
      cauxc=+c25f(i5,i2).ek0*p134(2)-p134k0*c25f(i5,i2).e(2)
      r6_25fz(i5,i2).a(1,1)=fer*(cauxa+ceps_0)
      r6_25fz(i5,i2).a(2,2)=fel*(cauxa-ceps_0)
      r6_25fz(i5,i2).b(1,2)=fel*(cauxb-ceps_2)
      r6_25fz(i5,i2).b(2,1)=fer*(-cauxb-ceps_2)
      r6_25fz(i5,i2).c(1,2)=fer*(cauxc+ceps_1)
      r6_25fz(i5,i2).c(2,1)=fel*(-cauxc+ceps_1)
      r6_25fz(i5,i2).d(1,1)=fel*c25f(i5,i2).ek0
      r6_25fz(i5,i2).d(2,2)=fer*c25f(i5,i2).ek0
      end do
      end do
**** attaccamento di c25z(2) a 6
      do i5=1,2
      do i2=1,2
* T -- qu=p134,qd=p6,v=c25z(i5,i2).e,a=r6_25fz(i5,i2).a,b=r6_25fz(i5,i2).b,
* c=r6_25fz(i5,i2).c,d=r6_25fz(i5,i2).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c25z(i5,i2).ek0*(p134(2)*p6(3)-p6(2)*p134(3))+p134
     & k0*(c25z(i5,i2).e(2)*p6(3)-p6(2)*c25z(i5,i2).e(3))-p6k0*(
     & c25z(i5,i2).e(2)*p134(3)-p134(2)*c25z(i5,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25z(i5,i2).e(3)*p134k0+p134(3)*c25z(i5,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25z(i5,i2).e(3)*p6k0+p6(3)*c25z(i5,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25z(i5,i2).e(0)*p134(0)-c25z(i5,i2).e(1)*p134(1)-c25
     & z(i5,i2).e(2)*p134(2)-c25z(i5,i2).e(3)*p134(3)
      cvqd=c25z(i5,i2).e(0)*p6(0)-c25z(i5,i2).e(1)*p6(1)-c25z(i5
     & ,i2).e(2)*p6(2)-c25z(i5,i2).e(3)*p6(3)
      cauxa=-c25z(i5,i2).ek0*quqd+p134k0*cvqd+p6k0*cvqu
      cauxb=-c25z(i5,i2).ek0*p6(2)+p6k0*c25z(i5,i2).e(2)
      cauxc=+c25z(i5,i2).ek0*p134(2)-p134k0*c25z(i5,i2).e(2)
      r6_25fz(i5,i2).a(1,1)=r6_25fz(i5,i2).a(1,1)+zer*(cauxa+cep
     & s_0)
      r6_25fz(i5,i2).a(2,2)=r6_25fz(i5,i2).a(2,2)+zel*(cauxa-cep
     & s_0)
      r6_25fz(i5,i2).b(1,2)=r6_25fz(i5,i2).b(1,2)+zel*(cauxb-cep
     & s_2)
      r6_25fz(i5,i2).b(2,1)=r6_25fz(i5,i2).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      r6_25fz(i5,i2).c(1,2)=r6_25fz(i5,i2).c(1,2)+zer*(cauxc+cep
     & s_1)
      r6_25fz(i5,i2).c(2,1)=r6_25fz(i5,i2).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      r6_25fz(i5,i2).d(1,1)=r6_25fz(i5,i2).d(1,1)+zel*c25z(i5,i2
     & ).ek0
      r6_25fz(i5,i2).d(2,2)=r6_25fz(i5,i2).d(2,2)+zer*c25z(i5,i2
     & ).ek0
      end do
      end do
**** attaccamento di c16f(2) a 2
* quqd -- p=p345,q=p2
      quqd=p345(0)*p2(0)-p345(1)*p2(1)-p345(2)*p2(2)-p345(3)*p2(
     & 3)
      do i1=1,2
      do i6=1,2
* T -- qu=p345,qd=p2,v=c16f(i1,i6).e,a=r2_16fz(i1,i6).a,b=r2_16fz(i1,i6).b,
* c=r2_16fz(i1,i6).c,d=r2_16fz(i1,i6).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c16f(i1,i6).ek0*(p345(2)*p2(3)-p2(2)*p345(3))+p345
     & k0*(c16f(i1,i6).e(2)*p2(3)-p2(2)*c16f(i1,i6).e(3))-p2k0*(
     & c16f(i1,i6).e(2)*p345(3)-p345(2)*c16f(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16f(i1,i6).e(3)*p345k0+p345(3)*c16f(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16f(i1,i6).e(3)*p2k0+p2(3)*c16f(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16f(i1,i6).e(0)*p345(0)-c16f(i1,i6).e(1)*p345(1)-c16
     & f(i1,i6).e(2)*p345(2)-c16f(i1,i6).e(3)*p345(3)
      cvqd=c16f(i1,i6).e(0)*p2(0)-c16f(i1,i6).e(1)*p2(1)-c16f(i1
     & ,i6).e(2)*p2(2)-c16f(i1,i6).e(3)*p2(3)
      cauxa=-c16f(i1,i6).ek0*quqd+p345k0*cvqd+p2k0*cvqu
      cauxb=-c16f(i1,i6).ek0*p2(2)+p2k0*c16f(i1,i6).e(2)
      cauxc=+c16f(i1,i6).ek0*p345(2)-p345k0*c16f(i1,i6).e(2)
      r2_16fz(i1,i6).a(1,1)=fer*(cauxa+ceps_0)
      r2_16fz(i1,i6).a(2,2)=fel*(cauxa-ceps_0)
      r2_16fz(i1,i6).b(1,2)=fel*(cauxb-ceps_2)
      r2_16fz(i1,i6).b(2,1)=fer*(-cauxb-ceps_2)
      r2_16fz(i1,i6).c(1,2)=fer*(cauxc+ceps_1)
      r2_16fz(i1,i6).c(2,1)=fel*(-cauxc+ceps_1)
      r2_16fz(i1,i6).d(1,1)=fel*c16f(i1,i6).ek0
      r2_16fz(i1,i6).d(2,2)=fer*c16f(i1,i6).ek0
      end do
      end do
**** attaccamento di c16z(2) a 2
      do i1=1,2
      do i6=1,2
* T -- qu=p345,qd=p2,v=c16z(i1,i6).e,a=r2_16fz(i1,i6).a,b=r2_16fz(i1,i6).b,
* c=r2_16fz(i1,i6).c,d=r2_16fz(i1,i6).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c16z(i1,i6).ek0*(p345(2)*p2(3)-p2(2)*p345(3))+p345
     & k0*(c16z(i1,i6).e(2)*p2(3)-p2(2)*c16z(i1,i6).e(3))-p2k0*(
     & c16z(i1,i6).e(2)*p345(3)-p345(2)*c16z(i1,i6).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16z(i1,i6).e(3)*p345k0+p345(3)*c16z(i1,i6).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16z(i1,i6).e(3)*p2k0+p2(3)*c16z(i1,i6).ek0
      ceps_2=ceps_2*cim
      cvqu=c16z(i1,i6).e(0)*p345(0)-c16z(i1,i6).e(1)*p345(1)-c16
     & z(i1,i6).e(2)*p345(2)-c16z(i1,i6).e(3)*p345(3)
      cvqd=c16z(i1,i6).e(0)*p2(0)-c16z(i1,i6).e(1)*p2(1)-c16z(i1
     & ,i6).e(2)*p2(2)-c16z(i1,i6).e(3)*p2(3)
      cauxa=-c16z(i1,i6).ek0*quqd+p345k0*cvqd+p2k0*cvqu
      cauxb=-c16z(i1,i6).ek0*p2(2)+p2k0*c16z(i1,i6).e(2)
      cauxc=+c16z(i1,i6).ek0*p345(2)-p345k0*c16z(i1,i6).e(2)
      r2_16fz(i1,i6).a(1,1)=r2_16fz(i1,i6).a(1,1)+zer*(cauxa+cep
     & s_0)
      r2_16fz(i1,i6).a(2,2)=r2_16fz(i1,i6).a(2,2)+zel*(cauxa-cep
     & s_0)
      r2_16fz(i1,i6).b(1,2)=r2_16fz(i1,i6).b(1,2)+zel*(cauxb-cep
     & s_2)
      r2_16fz(i1,i6).b(2,1)=r2_16fz(i1,i6).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      r2_16fz(i1,i6).c(1,2)=r2_16fz(i1,i6).c(1,2)+zer*(cauxc+cep
     & s_1)
      r2_16fz(i1,i6).c(2,1)=r2_16fz(i1,i6).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      r2_16fz(i1,i6).d(1,1)=r2_16fz(i1,i6).d(1,1)+zel*c16z(i1,i6
     & ).ek0
      r2_16fz(i1,i6).d(2,2)=r2_16fz(i1,i6).d(2,2)+zer*c16z(i1,i6
     & ).ek0
      end do
      end do
**** attaccamento di c25f(2) a 1
* quqd -- p=p1,q=p125
      quqd=p1(0)*p125(0)-p1(1)*p125(1)-p1(2)*p125(2)-p1(3)*p125(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p1,qd=p125,v=c25f(i3,i2).e,a=l1_25fz(i3,i2).a,b=l1_25fz(i3,i2).b,
* c=l1_25fz(i3,i2).c,d=l1_25fz(i3,i2).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c25f(i3,i2).ek0*(p1(2)*p125(3)-p125(2)*p1(3))+p1k0
     & *(c25f(i3,i2).e(2)*p125(3)-p125(2)*c25f(i3,i2).e(3))-p125
     & k0*(c25f(i3,i2).e(2)*p1(3)-p1(2)*c25f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25f(i3,i2).e(3)*p1k0+p1(3)*c25f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25f(i3,i2).e(3)*p125k0+p125(3)*c25f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25f(i3,i2).e(0)*p1(0)-c25f(i3,i2).e(1)*p1(1)-c25f(i3
     & ,i2).e(2)*p1(2)-c25f(i3,i2).e(3)*p1(3)
      cvqd=c25f(i3,i2).e(0)*p125(0)-c25f(i3,i2).e(1)*p125(1)-c25
     & f(i3,i2).e(2)*p125(2)-c25f(i3,i2).e(3)*p125(3)
      cauxa=-c25f(i3,i2).ek0*quqd+p1k0*cvqd+p125k0*cvqu
      cauxb=-c25f(i3,i2).ek0*p125(2)+p125k0*c25f(i3,i2).e(2)
      cauxc=+c25f(i3,i2).ek0*p1(2)-p1k0*c25f(i3,i2).e(2)
      l1_25fz(i3,i2).a(1,1)=fer*(cauxa+ceps_0)
      l1_25fz(i3,i2).a(2,2)=fel*(cauxa-ceps_0)
      l1_25fz(i3,i2).b(1,2)=fel*(cauxb-ceps_2)
      l1_25fz(i3,i2).b(2,1)=fer*(-cauxb-ceps_2)
      l1_25fz(i3,i2).c(1,2)=fer*(cauxc+ceps_1)
      l1_25fz(i3,i2).c(2,1)=fel*(-cauxc+ceps_1)
      l1_25fz(i3,i2).d(1,1)=fel*c25f(i3,i2).ek0
      l1_25fz(i3,i2).d(2,2)=fer*c25f(i3,i2).ek0
      end do
      end do
**** attaccamento di c25z(2) a 1
      do i3=1,2
      do i2=1,2
* T -- qu=p1,qd=p125,v=c25z(i3,i2).e,a=l1_25fz(i3,i2).a,b=l1_25fz(i3,i2).b,
* c=l1_25fz(i3,i2).c,d=l1_25fz(i3,i2).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c25z(i3,i2).ek0*(p1(2)*p125(3)-p125(2)*p1(3))+p1k0
     & *(c25z(i3,i2).e(2)*p125(3)-p125(2)*c25z(i3,i2).e(3))-p125
     & k0*(c25z(i3,i2).e(2)*p1(3)-p1(2)*c25z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25z(i3,i2).e(3)*p1k0+p1(3)*c25z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25z(i3,i2).e(3)*p125k0+p125(3)*c25z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25z(i3,i2).e(0)*p1(0)-c25z(i3,i2).e(1)*p1(1)-c25z(i3
     & ,i2).e(2)*p1(2)-c25z(i3,i2).e(3)*p1(3)
      cvqd=c25z(i3,i2).e(0)*p125(0)-c25z(i3,i2).e(1)*p125(1)-c25
     & z(i3,i2).e(2)*p125(2)-c25z(i3,i2).e(3)*p125(3)
      cauxa=-c25z(i3,i2).ek0*quqd+p1k0*cvqd+p125k0*cvqu
      cauxb=-c25z(i3,i2).ek0*p125(2)+p125k0*c25z(i3,i2).e(2)
      cauxc=+c25z(i3,i2).ek0*p1(2)-p1k0*c25z(i3,i2).e(2)
      l1_25fz(i3,i2).a(1,1)=l1_25fz(i3,i2).a(1,1)+zer*(cauxa+cep
     & s_0)
      l1_25fz(i3,i2).a(2,2)=l1_25fz(i3,i2).a(2,2)+zel*(cauxa-cep
     & s_0)
      l1_25fz(i3,i2).b(1,2)=l1_25fz(i3,i2).b(1,2)+zel*(cauxb-cep
     & s_2)
      l1_25fz(i3,i2).b(2,1)=l1_25fz(i3,i2).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      l1_25fz(i3,i2).c(1,2)=l1_25fz(i3,i2).c(1,2)+zer*(cauxc+cep
     & s_1)
      l1_25fz(i3,i2).c(2,1)=l1_25fz(i3,i2).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      l1_25fz(i3,i2).d(1,1)=l1_25fz(i3,i2).d(1,1)+zel*c25z(i3,i2
     & ).ek0
      l1_25fz(i3,i2).d(2,2)=l1_25fz(i3,i2).d(2,2)+zer*c25z(i3,i2
     & ).ek0
      end do
      end do
**** attaccamento di c16f(2) a 5
* quqd -- p=p5,q=p156
      quqd=p5(0)*p156(0)-p5(1)*p156(1)-p5(2)*p156(2)-p5(3)*p156(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p5,qd=p156,v=c16f(i1,i4).e,a=l5_16fz(i1,i4).a,b=l5_16fz(i1,i4).b,
* c=l5_16fz(i1,i4).c,d=l5_16fz(i1,i4).d,cr=fer,cl=fel,nsum=0
      ceps_0=-c16f(i1,i4).ek0*(p5(2)*p156(3)-p156(2)*p5(3))+p5k0
     & *(c16f(i1,i4).e(2)*p156(3)-p156(2)*c16f(i1,i4).e(3))-p156
     & k0*(c16f(i1,i4).e(2)*p5(3)-p5(2)*c16f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16f(i1,i4).e(3)*p5k0+p5(3)*c16f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16f(i1,i4).e(3)*p156k0+p156(3)*c16f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c16f(i1,i4).e(0)*p5(0)-c16f(i1,i4).e(1)*p5(1)-c16f(i1
     & ,i4).e(2)*p5(2)-c16f(i1,i4).e(3)*p5(3)
      cvqd=c16f(i1,i4).e(0)*p156(0)-c16f(i1,i4).e(1)*p156(1)-c16
     & f(i1,i4).e(2)*p156(2)-c16f(i1,i4).e(3)*p156(3)
      cauxa=-c16f(i1,i4).ek0*quqd+p5k0*cvqd+p156k0*cvqu
      cauxb=-c16f(i1,i4).ek0*p156(2)+p156k0*c16f(i1,i4).e(2)
      cauxc=+c16f(i1,i4).ek0*p5(2)-p5k0*c16f(i1,i4).e(2)
      l5_16fz(i1,i4).a(1,1)=fer*(cauxa+ceps_0)
      l5_16fz(i1,i4).a(2,2)=fel*(cauxa-ceps_0)
      l5_16fz(i1,i4).b(1,2)=fel*(cauxb-ceps_2)
      l5_16fz(i1,i4).b(2,1)=fer*(-cauxb-ceps_2)
      l5_16fz(i1,i4).c(1,2)=fer*(cauxc+ceps_1)
      l5_16fz(i1,i4).c(2,1)=fel*(-cauxc+ceps_1)
      l5_16fz(i1,i4).d(1,1)=fel*c16f(i1,i4).ek0
      l5_16fz(i1,i4).d(2,2)=fer*c16f(i1,i4).ek0
      end do
      end do
**** attaccamento di c16z(2) a 5
      do i1=1,2
      do i4=1,2
* T -- qu=p5,qd=p156,v=c16z(i1,i4).e,a=l5_16fz(i1,i4).a,b=l5_16fz(i1,i4).b,
* c=l5_16fz(i1,i4).c,d=l5_16fz(i1,i4).d,cr=zer,cl=zel,nsum=1
      ceps_0=-c16z(i1,i4).ek0*(p5(2)*p156(3)-p156(2)*p5(3))+p5k0
     & *(c16z(i1,i4).e(2)*p156(3)-p156(2)*c16z(i1,i4).e(3))-p156
     & k0*(c16z(i1,i4).e(2)*p5(3)-p5(2)*c16z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16z(i1,i4).e(3)*p5k0+p5(3)*c16z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16z(i1,i4).e(3)*p156k0+p156(3)*c16z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c16z(i1,i4).e(0)*p5(0)-c16z(i1,i4).e(1)*p5(1)-c16z(i1
     & ,i4).e(2)*p5(2)-c16z(i1,i4).e(3)*p5(3)
      cvqd=c16z(i1,i4).e(0)*p156(0)-c16z(i1,i4).e(1)*p156(1)-c16
     & z(i1,i4).e(2)*p156(2)-c16z(i1,i4).e(3)*p156(3)
      cauxa=-c16z(i1,i4).ek0*quqd+p5k0*cvqd+p156k0*cvqu
      cauxb=-c16z(i1,i4).ek0*p156(2)+p156k0*c16z(i1,i4).e(2)
      cauxc=+c16z(i1,i4).ek0*p5(2)-p5k0*c16z(i1,i4).e(2)
      l5_16fz(i1,i4).a(1,1)=l5_16fz(i1,i4).a(1,1)+zer*(cauxa+cep
     & s_0)
      l5_16fz(i1,i4).a(2,2)=l5_16fz(i1,i4).a(2,2)+zel*(cauxa-cep
     & s_0)
      l5_16fz(i1,i4).b(1,2)=l5_16fz(i1,i4).b(1,2)+zel*(cauxb-cep
     & s_2)
      l5_16fz(i1,i4).b(2,1)=l5_16fz(i1,i4).b(2,1)+zer*(-cauxb-ce
     & ps_2)
      l5_16fz(i1,i4).c(1,2)=l5_16fz(i1,i4).c(1,2)+zer*(cauxc+cep
     & s_1)
      l5_16fz(i1,i4).c(2,1)=l5_16fz(i1,i4).c(2,1)+zel*(-cauxc+ce
     & ps_1)
      l5_16fz(i1,i4).d(1,1)=l5_16fz(i1,i4).d(1,1)+zel*c16z(i1,i4
     & ).ek0
      l5_16fz(i1,i4).d(2,2)=l5_16fz(i1,i4).d(2,2)+zer*c16z(i1,i4
     & ).ek0
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** attaccamento di c16f(2) a 3
* quqd -- p=p3,q=p136
      quqd=p3(0)*p136(0)-p3(1)*p136(1)-p3(2)*p136(2)-p3(3)*p136(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p3,qd=p136,v=c16f(i1,i4).e,a=l3_16fz(i1,i4).a,b=l3_16fz(i1,i4).b,
* c=l3_16fz(i1,i4).c,d=l3_16fz(i1,i4).d,cr=f3r,cl=f3l,nsum=0
      ceps_0=-c16f(i1,i4).ek0*(p3(2)*p136(3)-p136(2)*p3(3))+p3k0
     & *(c16f(i1,i4).e(2)*p136(3)-p136(2)*c16f(i1,i4).e(3))-p136
     & k0*(c16f(i1,i4).e(2)*p3(3)-p3(2)*c16f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16f(i1,i4).e(3)*p3k0+p3(3)*c16f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16f(i1,i4).e(3)*p136k0+p136(3)*c16f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c16f(i1,i4).e(0)*p3(0)-c16f(i1,i4).e(1)*p3(1)-c16f(i1
     & ,i4).e(2)*p3(2)-c16f(i1,i4).e(3)*p3(3)
      cvqd=c16f(i1,i4).e(0)*p136(0)-c16f(i1,i4).e(1)*p136(1)-c16
     & f(i1,i4).e(2)*p136(2)-c16f(i1,i4).e(3)*p136(3)
      cauxa=-c16f(i1,i4).ek0*quqd+p3k0*cvqd+p136k0*cvqu
      cauxb=-c16f(i1,i4).ek0*p136(2)+p136k0*c16f(i1,i4).e(2)
      cauxc=+c16f(i1,i4).ek0*p3(2)-p3k0*c16f(i1,i4).e(2)
      l3_16fz(i1,i4).a(1,1)=f3r*(cauxa+ceps_0)
      l3_16fz(i1,i4).a(2,2)=f3l*(cauxa-ceps_0)
      l3_16fz(i1,i4).b(1,2)=f3l*(cauxb-ceps_2)
      l3_16fz(i1,i4).b(2,1)=f3r*(-cauxb-ceps_2)
      l3_16fz(i1,i4).c(1,2)=f3r*(cauxc+ceps_1)
      l3_16fz(i1,i4).c(2,1)=f3l*(-cauxc+ceps_1)
      l3_16fz(i1,i4).d(1,1)=f3l*c16f(i1,i4).ek0
      l3_16fz(i1,i4).d(2,2)=f3r*c16f(i1,i4).ek0
*el2
      IF(igamgam.EQ.-1)THEN
      l3_16f(i1,i4).a(1,1)=l3_16fz(i1,i4).a(1,1)
      l3_16f(i1,i4).a(2,2)=l3_16fz(i1,i4).a(2,2)
      l3_16f(i1,i4).b(1,2)=l3_16fz(i1,i4).b(1,2)
      l3_16f(i1,i4).b(2,1)=l3_16fz(i1,i4).b(2,1)
      l3_16f(i1,i4).c(1,2)=l3_16fz(i1,i4).c(1,2)
      l3_16f(i1,i4).c(2,1)=l3_16fz(i1,i4).c(2,1)
      l3_16f(i1,i4).d(1,1)=l3_16fz(i1,i4).d(1,1)
      l3_16f(i1,i4).d(2,2)=l3_16fz(i1,i4).d(2,2)
      ENDIF !igamgam
*endel2
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
**** attaccamento di c16z(2) a 3
      do i1=1,2
      do i4=1,2
* T -- qu=p3,qd=p136,v=c16z(i1,i4).e,a=l3_16fz(i1,i4).a,b=l3_16fz(i1,i4).b,
* c=l3_16fz(i1,i4).c,d=l3_16fz(i1,i4).d,cr=z3r,cl=z3l,nsum=1
      ceps_0=-c16z(i1,i4).ek0*(p3(2)*p136(3)-p136(2)*p3(3))+p3k0
     & *(c16z(i1,i4).e(2)*p136(3)-p136(2)*c16z(i1,i4).e(3))-p136
     & k0*(c16z(i1,i4).e(2)*p3(3)-p3(2)*c16z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16z(i1,i4).e(3)*p3k0+p3(3)*c16z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16z(i1,i4).e(3)*p136k0+p136(3)*c16z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c16z(i1,i4).e(0)*p3(0)-c16z(i1,i4).e(1)*p3(1)-c16z(i1
     & ,i4).e(2)*p3(2)-c16z(i1,i4).e(3)*p3(3)
      cvqd=c16z(i1,i4).e(0)*p136(0)-c16z(i1,i4).e(1)*p136(1)-c16
     & z(i1,i4).e(2)*p136(2)-c16z(i1,i4).e(3)*p136(3)
      cauxa=-c16z(i1,i4).ek0*quqd+p3k0*cvqd+p136k0*cvqu
      cauxb=-c16z(i1,i4).ek0*p136(2)+p136k0*c16z(i1,i4).e(2)
      cauxc=+c16z(i1,i4).ek0*p3(2)-p3k0*c16z(i1,i4).e(2)
      l3_16fz(i1,i4).a(1,1)=l3_16fz(i1,i4).a(1,1)+z3r*(cauxa+cep
     & s_0)
      l3_16fz(i1,i4).a(2,2)=l3_16fz(i1,i4).a(2,2)+z3l*(cauxa-cep
     & s_0)
      l3_16fz(i1,i4).b(1,2)=l3_16fz(i1,i4).b(1,2)+z3l*(cauxb-cep
     & s_2)
      l3_16fz(i1,i4).b(2,1)=l3_16fz(i1,i4).b(2,1)+z3r*(-cauxb-ce
     & ps_2)
      l3_16fz(i1,i4).c(1,2)=l3_16fz(i1,i4).c(1,2)+z3r*(cauxc+cep
     & s_1)
      l3_16fz(i1,i4).c(2,1)=l3_16fz(i1,i4).c(2,1)+z3l*(-cauxc+ce
     & ps_1)
      l3_16fz(i1,i4).d(1,1)=l3_16fz(i1,i4).d(1,1)+z3l*c16z(i1,i4
     & ).ek0
      l3_16fz(i1,i4).d(2,2)=l3_16fz(i1,i4).d(2,2)+z3r*c16z(i1,i4
     & ).ek0
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** attaccamento di c25f(2) a 3
* quqd -- p=p3,q=p235
      quqd=p3(0)*p235(0)-p3(1)*p235(1)-p3(2)*p235(2)-p3(3)*p235(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p3,qd=p235,v=c25f(i3,i2).e,a=l3_25fz(i3,i2).a,b=l3_25fz(i3,i2).b,
* c=l3_25fz(i3,i2).c,d=l3_25fz(i3,i2).d,cr=f3r,cl=f3l,nsum=0
      ceps_0=-c25f(i3,i2).ek0*(p3(2)*p235(3)-p235(2)*p3(3))+p3k0
     & *(c25f(i3,i2).e(2)*p235(3)-p235(2)*c25f(i3,i2).e(3))-p235
     & k0*(c25f(i3,i2).e(2)*p3(3)-p3(2)*c25f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25f(i3,i2).e(3)*p3k0+p3(3)*c25f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25f(i3,i2).e(3)*p235k0+p235(3)*c25f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25f(i3,i2).e(0)*p3(0)-c25f(i3,i2).e(1)*p3(1)-c25f(i3
     & ,i2).e(2)*p3(2)-c25f(i3,i2).e(3)*p3(3)
      cvqd=c25f(i3,i2).e(0)*p235(0)-c25f(i3,i2).e(1)*p235(1)-c25
     & f(i3,i2).e(2)*p235(2)-c25f(i3,i2).e(3)*p235(3)
      cauxa=-c25f(i3,i2).ek0*quqd+p3k0*cvqd+p235k0*cvqu
      cauxb=-c25f(i3,i2).ek0*p235(2)+p235k0*c25f(i3,i2).e(2)
      cauxc=+c25f(i3,i2).ek0*p3(2)-p3k0*c25f(i3,i2).e(2)
      l3_25fz(i3,i2).a(1,1)=f3r*(cauxa+ceps_0)
      l3_25fz(i3,i2).a(2,2)=f3l*(cauxa-ceps_0)
      l3_25fz(i3,i2).b(1,2)=f3l*(cauxb-ceps_2)
      l3_25fz(i3,i2).b(2,1)=f3r*(-cauxb-ceps_2)
      l3_25fz(i3,i2).c(1,2)=f3r*(cauxc+ceps_1)
      l3_25fz(i3,i2).c(2,1)=f3l*(-cauxc+ceps_1)
      l3_25fz(i3,i2).d(1,1)=f3l*c25f(i3,i2).ek0
      l3_25fz(i3,i2).d(2,2)=f3r*c25f(i3,i2).ek0
*el2
      IF(igamgam.EQ.-1)THEN
      l3_25f(i3,i2).a(1,1)=l3_25fz(i3,i2).a(1,1)
      l3_25f(i3,i2).a(2,2)=l3_25fz(i3,i2).a(2,2)
      l3_25f(i3,i2).b(1,2)=l3_25fz(i3,i2).b(1,2)
      l3_25f(i3,i2).b(2,1)=l3_25fz(i3,i2).b(2,1)
      l3_25f(i3,i2).c(1,2)=l3_25fz(i3,i2).c(1,2)
      l3_25f(i3,i2).c(2,1)=l3_25fz(i3,i2).c(2,1)
      l3_25f(i3,i2).d(1,1)=l3_25fz(i3,i2).d(1,1)
      l3_25f(i3,i2).d(2,2)=l3_25fz(i3,i2).d(2,2)
      ENDIF !igamgam
*endel2
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
**** attaccamento di c25z(2) a 3
      do i3=1,2
      do i2=1,2
* T -- qu=p3,qd=p235,v=c25z(i3,i2).e,a=l3_25fz(i3,i2).a,b=l3_25fz(i3,i2).b,
* c=l3_25fz(i3,i2).c,d=l3_25fz(i3,i2).d,cr=z3r,cl=z3l,nsum=1
      ceps_0=-c25z(i3,i2).ek0*(p3(2)*p235(3)-p235(2)*p3(3))+p3k0
     & *(c25z(i3,i2).e(2)*p235(3)-p235(2)*c25z(i3,i2).e(3))-p235
     & k0*(c25z(i3,i2).e(2)*p3(3)-p3(2)*c25z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25z(i3,i2).e(3)*p3k0+p3(3)*c25z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25z(i3,i2).e(3)*p235k0+p235(3)*c25z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25z(i3,i2).e(0)*p3(0)-c25z(i3,i2).e(1)*p3(1)-c25z(i3
     & ,i2).e(2)*p3(2)-c25z(i3,i2).e(3)*p3(3)
      cvqd=c25z(i3,i2).e(0)*p235(0)-c25z(i3,i2).e(1)*p235(1)-c25
     & z(i3,i2).e(2)*p235(2)-c25z(i3,i2).e(3)*p235(3)
      cauxa=-c25z(i3,i2).ek0*quqd+p3k0*cvqd+p235k0*cvqu
      cauxb=-c25z(i3,i2).ek0*p235(2)+p235k0*c25z(i3,i2).e(2)
      cauxc=+c25z(i3,i2).ek0*p3(2)-p3k0*c25z(i3,i2).e(2)
      l3_25fz(i3,i2).a(1,1)=l3_25fz(i3,i2).a(1,1)+z3r*(cauxa+cep
     & s_0)
      l3_25fz(i3,i2).a(2,2)=l3_25fz(i3,i2).a(2,2)+z3l*(cauxa-cep
     & s_0)
      l3_25fz(i3,i2).b(1,2)=l3_25fz(i3,i2).b(1,2)+z3l*(cauxb-cep
     & s_2)
      l3_25fz(i3,i2).b(2,1)=l3_25fz(i3,i2).b(2,1)+z3r*(-cauxb-ce
     & ps_2)
      l3_25fz(i3,i2).c(1,2)=l3_25fz(i3,i2).c(1,2)+z3r*(cauxc+cep
     & s_1)
      l3_25fz(i3,i2).c(2,1)=l3_25fz(i3,i2).c(2,1)+z3l*(-cauxc+ce
     & ps_1)
      l3_25fz(i3,i2).d(1,1)=l3_25fz(i3,i2).d(1,1)+z3l*c25z(i3,i2
     & ).ek0
      l3_25fz(i3,i2).d(2,2)=l3_25fz(i3,i2).d(2,2)+z3r*c25z(i3,i2
     & ).ek0
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** attaccamento di c25f(2) a 4
* quqd -- p=p136,q=p4
      quqd=p136(0)*p4(0)-p136(1)*p4(1)-p136(2)*p4(2)-p136(3)*p4(
     & 3)
      do i3=1,2
      do i2=1,2
* T -- qu=p136,qd=p4,v=c25f(i3,i2).e,a=r4_25fz(i3,i2).a,b=r4_25fz(i3,i2).b,
* c=r4_25fz(i3,i2).c,d=r4_25fz(i3,i2).d,cr=f3r,cl=f3l,nsum=0
      ceps_0=-c25f(i3,i2).ek0*(p136(2)*p4(3)-p4(2)*p136(3))+p136
     & k0*(c25f(i3,i2).e(2)*p4(3)-p4(2)*c25f(i3,i2).e(3))-p4k0*(
     & c25f(i3,i2).e(2)*p136(3)-p136(2)*c25f(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25f(i3,i2).e(3)*p136k0+p136(3)*c25f(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25f(i3,i2).e(3)*p4k0+p4(3)*c25f(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25f(i3,i2).e(0)*p136(0)-c25f(i3,i2).e(1)*p136(1)-c25
     & f(i3,i2).e(2)*p136(2)-c25f(i3,i2).e(3)*p136(3)
      cvqd=c25f(i3,i2).e(0)*p4(0)-c25f(i3,i2).e(1)*p4(1)-c25f(i3
     & ,i2).e(2)*p4(2)-c25f(i3,i2).e(3)*p4(3)
      cauxa=-c25f(i3,i2).ek0*quqd+p136k0*cvqd+p4k0*cvqu
      cauxb=-c25f(i3,i2).ek0*p4(2)+p4k0*c25f(i3,i2).e(2)
      cauxc=+c25f(i3,i2).ek0*p136(2)-p136k0*c25f(i3,i2).e(2)
      r4_25fz(i3,i2).a(1,1)=f3r*(cauxa+ceps_0)
      r4_25fz(i3,i2).a(2,2)=f3l*(cauxa-ceps_0)
      r4_25fz(i3,i2).b(1,2)=f3l*(cauxb-ceps_2)
      r4_25fz(i3,i2).b(2,1)=f3r*(-cauxb-ceps_2)
      r4_25fz(i3,i2).c(1,2)=f3r*(cauxc+ceps_1)
      r4_25fz(i3,i2).c(2,1)=f3l*(-cauxc+ceps_1)
      r4_25fz(i3,i2).d(1,1)=f3l*c25f(i3,i2).ek0
      r4_25fz(i3,i2).d(2,2)=f3r*c25f(i3,i2).ek0
*el2
      IF(igamgam.EQ.-1)THEN
      r4_25f(i3,i2).a(1,1)=r4_25fz(i3,i2).a(1,1)
      r4_25f(i3,i2).a(2,2)=r4_25fz(i3,i2).a(2,2)
      r4_25f(i3,i2).b(1,2)=r4_25fz(i3,i2).b(1,2)
      r4_25f(i3,i2).b(2,1)=r4_25fz(i3,i2).b(2,1)
      r4_25f(i3,i2).c(1,2)=r4_25fz(i3,i2).c(1,2)
      r4_25f(i3,i2).c(2,1)=r4_25fz(i3,i2).c(2,1)
      r4_25f(i3,i2).d(1,1)=r4_25fz(i3,i2).d(1,1)
      r4_25f(i3,i2).d(2,2)=r4_25fz(i3,i2).d(2,2)
      ENDIF
*endel2
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
**** attaccamento di c25z(2) a 4
      do i3=1,2
      do i2=1,2
* T -- qu=p136,qd=p4,v=c25z(i3,i2).e,a=r4_25fz(i3,i2).a,b=r4_25fz(i3,i2).b,
* c=r4_25fz(i3,i2).c,d=r4_25fz(i3,i2).d,cr=z3r,cl=z3l,nsum=1
      ceps_0=-c25z(i3,i2).ek0*(p136(2)*p4(3)-p4(2)*p136(3))+p136
     & k0*(c25z(i3,i2).e(2)*p4(3)-p4(2)*c25z(i3,i2).e(3))-p4k0*(
     & c25z(i3,i2).e(2)*p136(3)-p136(2)*c25z(i3,i2).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c25z(i3,i2).e(3)*p136k0+p136(3)*c25z(i3,i2).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c25z(i3,i2).e(3)*p4k0+p4(3)*c25z(i3,i2).ek0
      ceps_2=ceps_2*cim
      cvqu=c25z(i3,i2).e(0)*p136(0)-c25z(i3,i2).e(1)*p136(1)-c25
     & z(i3,i2).e(2)*p136(2)-c25z(i3,i2).e(3)*p136(3)
      cvqd=c25z(i3,i2).e(0)*p4(0)-c25z(i3,i2).e(1)*p4(1)-c25z(i3
     & ,i2).e(2)*p4(2)-c25z(i3,i2).e(3)*p4(3)
      cauxa=-c25z(i3,i2).ek0*quqd+p136k0*cvqd+p4k0*cvqu
      cauxb=-c25z(i3,i2).ek0*p4(2)+p4k0*c25z(i3,i2).e(2)
      cauxc=+c25z(i3,i2).ek0*p136(2)-p136k0*c25z(i3,i2).e(2)
      r4_25fz(i3,i2).a(1,1)=r4_25fz(i3,i2).a(1,1)+z3r*(cauxa+cep
     & s_0)
      r4_25fz(i3,i2).a(2,2)=r4_25fz(i3,i2).a(2,2)+z3l*(cauxa-cep
     & s_0)
      r4_25fz(i3,i2).b(1,2)=r4_25fz(i3,i2).b(1,2)+z3l*(cauxb-cep
     & s_2)
      r4_25fz(i3,i2).b(2,1)=r4_25fz(i3,i2).b(2,1)+z3r*(-cauxb-ce
     & ps_2)
      r4_25fz(i3,i2).c(1,2)=r4_25fz(i3,i2).c(1,2)+z3r*(cauxc+cep
     & s_1)
      r4_25fz(i3,i2).c(2,1)=r4_25fz(i3,i2).c(2,1)+z3l*(-cauxc+ce
     & ps_1)
      r4_25fz(i3,i2).d(1,1)=r4_25fz(i3,i2).d(1,1)+z3l*c25z(i3,i2
     & ).ek0
      r4_25fz(i3,i2).d(2,2)=r4_25fz(i3,i2).d(2,2)+z3r*c25z(i3,i2
     & ).ek0
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** attaccamento di c16f(2) a 4
* quqd -- p=p235,q=p4
      quqd=p235(0)*p4(0)-p235(1)*p4(1)-p235(2)*p4(2)-p235(3)*p4(
     & 3)
      do i1=1,2
      do i4=1,2
* T -- qu=p235,qd=p4,v=c16f(i1,i4).e,a=r4_16fz(i1,i4).a,b=r4_16fz(i1,i4).b,
* c=r4_16fz(i1,i4).c,d=r4_16fz(i1,i4).d,cr=f3r,cl=f3l,nsum=0
      ceps_0=-c16f(i1,i4).ek0*(p235(2)*p4(3)-p4(2)*p235(3))+p235
     & k0*(c16f(i1,i4).e(2)*p4(3)-p4(2)*c16f(i1,i4).e(3))-p4k0*(
     & c16f(i1,i4).e(2)*p235(3)-p235(2)*c16f(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16f(i1,i4).e(3)*p235k0+p235(3)*c16f(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16f(i1,i4).e(3)*p4k0+p4(3)*c16f(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c16f(i1,i4).e(0)*p235(0)-c16f(i1,i4).e(1)*p235(1)-c16
     & f(i1,i4).e(2)*p235(2)-c16f(i1,i4).e(3)*p235(3)
      cvqd=c16f(i1,i4).e(0)*p4(0)-c16f(i1,i4).e(1)*p4(1)-c16f(i1
     & ,i4).e(2)*p4(2)-c16f(i1,i4).e(3)*p4(3)
      cauxa=-c16f(i1,i4).ek0*quqd+p235k0*cvqd+p4k0*cvqu
      cauxb=-c16f(i1,i4).ek0*p4(2)+p4k0*c16f(i1,i4).e(2)
      cauxc=+c16f(i1,i4).ek0*p235(2)-p235k0*c16f(i1,i4).e(2)
      r4_16fz(i1,i4).a(1,1)=f3r*(cauxa+ceps_0)
      r4_16fz(i1,i4).a(2,2)=f3l*(cauxa-ceps_0)
      r4_16fz(i1,i4).b(1,2)=f3l*(cauxb-ceps_2)
      r4_16fz(i1,i4).b(2,1)=f3r*(-cauxb-ceps_2)
      r4_16fz(i1,i4).c(1,2)=f3r*(cauxc+ceps_1)
      r4_16fz(i1,i4).c(2,1)=f3l*(-cauxc+ceps_1)
      r4_16fz(i1,i4).d(1,1)=f3l*c16f(i1,i4).ek0
      r4_16fz(i1,i4).d(2,2)=f3r*c16f(i1,i4).ek0
*el2
      IF(igamgam.EQ.-1)THEN
      r4_16f(i1,i4).a(1,1)=r4_16fz(i1,i4).a(1,1)
      r4_16f(i1,i4).a(2,2)=r4_16fz(i1,i4).a(2,2)
      r4_16f(i1,i4).b(1,2)=r4_16fz(i1,i4).b(1,2)
      r4_16f(i1,i4).b(2,1)=r4_16fz(i1,i4).b(2,1)
      r4_16f(i1,i4).c(1,2)=r4_16fz(i1,i4).c(1,2)
      r4_16f(i1,i4).c(2,1)=r4_16fz(i1,i4).c(2,1)
      r4_16f(i1,i4).d(1,1)=r4_16fz(i1,i4).d(1,1)
      r4_16f(i1,i4).d(2,2)=r4_16fz(i1,i4).d(2,2)
      ENDIF !igamgam
*endel2
      end do
      end do
*el2
      IF(igamgam.NE.1)THEN
*endel2
**** attaccamento di c16z(2) a 4
      do i1=1,2
      do i4=1,2
* T -- qu=p235,qd=p4,v=c16z(i1,i4).e,a=r4_16fz(i1,i4).a,b=r4_16fz(i1,i4).b,
* c=r4_16fz(i1,i4).c,d=r4_16fz(i1,i4).d,cr=z3r,cl=z3l,nsum=1
      ceps_0=-c16z(i1,i4).ek0*(p235(2)*p4(3)-p4(2)*p235(3))+p235
     & k0*(c16z(i1,i4).e(2)*p4(3)-p4(2)*c16z(i1,i4).e(3))-p4k0*(
     & c16z(i1,i4).e(2)*p235(3)-p235(2)*c16z(i1,i4).e(3))
      ceps_0=ceps_0*cim
      ceps_1=-c16z(i1,i4).e(3)*p235k0+p235(3)*c16z(i1,i4).ek0
      ceps_1=ceps_1*cim
      ceps_2=-c16z(i1,i4).e(3)*p4k0+p4(3)*c16z(i1,i4).ek0
      ceps_2=ceps_2*cim
      cvqu=c16z(i1,i4).e(0)*p235(0)-c16z(i1,i4).e(1)*p235(1)-c16
     & z(i1,i4).e(2)*p235(2)-c16z(i1,i4).e(3)*p235(3)
      cvqd=c16z(i1,i4).e(0)*p4(0)-c16z(i1,i4).e(1)*p4(1)-c16z(i1
     & ,i4).e(2)*p4(2)-c16z(i1,i4).e(3)*p4(3)
      cauxa=-c16z(i1,i4).ek0*quqd+p235k0*cvqd+p4k0*cvqu
      cauxb=-c16z(i1,i4).ek0*p4(2)+p4k0*c16z(i1,i4).e(2)
      cauxc=+c16z(i1,i4).ek0*p235(2)-p235k0*c16z(i1,i4).e(2)
      r4_16fz(i1,i4).a(1,1)=r4_16fz(i1,i4).a(1,1)+z3r*(cauxa+cep
     & s_0)
      r4_16fz(i1,i4).a(2,2)=r4_16fz(i1,i4).a(2,2)+z3l*(cauxa-cep
     & s_0)
      r4_16fz(i1,i4).b(1,2)=r4_16fz(i1,i4).b(1,2)+z3l*(cauxb-cep
     & s_2)
      r4_16fz(i1,i4).b(2,1)=r4_16fz(i1,i4).b(2,1)+z3r*(-cauxb-ce
     & ps_2)
      r4_16fz(i1,i4).c(1,2)=r4_16fz(i1,i4).c(1,2)+z3r*(cauxc+cep
     & s_1)
      r4_16fz(i1,i4).c(2,1)=r4_16fz(i1,i4).c(2,1)+z3l*(-cauxc+ce
     & ps_1)
      r4_16fz(i1,i4).d(1,1)=r4_16fz(i1,i4).d(1,1)+z3l*c16z(i1,i4
     & ).ek0
      r4_16fz(i1,i4).d(2,2)=r4_16fz(i1,i4).d(2,2)+z3r*c16z(i1,i4
     & ).ek0
      end do
      end do
**** Diagramma CN17 ****
      do i5=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* TT -- aa=tapptt(i5,i2,i3,i4).a,bb=tapptt(i5,i2,i3,i4).b,cc=tapptt(i5,i2,i
* 3,i4).c,dd=tapptt(i5,i2,i3,i4).d,a1=l1_34fz(i3,i4).a,b1=l1_34fz(i3,i4).b,c
* 1=l1_34fz(i3,i4).c,d1=l1_34fz(i3,i4).d,a2=r6_25fz(i5,i2).a,b2=r6_25fz(i5,i
* 2).b,c2=r6_25fz(i5,i2).c,d2=r6_25fz(i5,i2).d,prq=p134q,m=rme
      tapptt(i5,i2,i3,i4).a(1,1)=l1_34fz(i3,i4).a(1,1)*r6_25fz(i
     & 5,i2).a(1,1)+l1_34fz(i3,i4).c(1,2)*p134q*r6_25fz(i5,i2).b
     & (2,1)
      tapptt(i5,i2,i3,i4).b(1,1)=rme*(l1_34fz(i3,i4).d(1,1)*r6_2
     & 5fz(i5,i2).a(1,1)+l1_34fz(i3,i4).b(1,2)*r6_25fz(i5,i2).b(
     & 2,1))
      tapptt(i5,i2,i3,i4).c(1,1)=rme*(l1_34fz(i3,i4).a(1,1)*r6_2
     & 5fz(i5,i2).d(1,1)+l1_34fz(i3,i4).c(1,2)*r6_25fz(i5,i2).c(
     & 2,1))
      tapptt(i5,i2,i3,i4).d(1,1)=l1_34fz(i3,i4).d(1,1)*p134q*r6_
     & 25fz(i5,i2).d(1,1)+l1_34fz(i3,i4).b(1,2)*r6_25fz(i5,i2).c
     & (2,1)
      tapptt(i5,i2,i3,i4).a(1,2)=rme*(l1_34fz(i3,i4).a(1,1)*r6_2
     & 5fz(i5,i2).b(1,2)+l1_34fz(i3,i4).c(1,2)*r6_25fz(i5,i2).a(
     & 2,2))
      tapptt(i5,i2,i3,i4).b(1,2)=l1_34fz(i3,i4).d(1,1)*p134q*r6_
     & 25fz(i5,i2).b(1,2)+l1_34fz(i3,i4).b(1,2)*r6_25fz(i5,i2).a
     & (2,2)
      tapptt(i5,i2,i3,i4).c(1,2)=l1_34fz(i3,i4).a(1,1)*r6_25fz(i
     & 5,i2).c(1,2)+l1_34fz(i3,i4).c(1,2)*p134q*r6_25fz(i5,i2).d
     & (2,2)
      tapptt(i5,i2,i3,i4).d(1,2)=rme*(l1_34fz(i3,i4).d(1,1)*r6_2
     & 5fz(i5,i2).c(1,2)+l1_34fz(i3,i4).b(1,2)*r6_25fz(i5,i2).d(
     & 2,2))
      tapptt(i5,i2,i3,i4).a(2,1)=rme*(l1_34fz(i3,i4).c(2,1)*r6_2
     & 5fz(i5,i2).a(1,1)+l1_34fz(i3,i4).a(2,2)*r6_25fz(i5,i2).b(
     & 2,1))
      tapptt(i5,i2,i3,i4).b(2,1)=l1_34fz(i3,i4).b(2,1)*r6_25fz(i
     & 5,i2).a(1,1)+l1_34fz(i3,i4).d(2,2)*p134q*r6_25fz(i5,i2).b
     & (2,1)
      tapptt(i5,i2,i3,i4).c(2,1)=l1_34fz(i3,i4).c(2,1)*p134q*r6_
     & 25fz(i5,i2).d(1,1)+l1_34fz(i3,i4).a(2,2)*r6_25fz(i5,i2).c
     & (2,1)
      tapptt(i5,i2,i3,i4).d(2,1)=rme*(l1_34fz(i3,i4).b(2,1)*r6_2
     & 5fz(i5,i2).d(1,1)+l1_34fz(i3,i4).d(2,2)*r6_25fz(i5,i2).c(
     & 2,1))
      tapptt(i5,i2,i3,i4).a(2,2)=l1_34fz(i3,i4).c(2,1)*p134q*r6_
     & 25fz(i5,i2).b(1,2)+l1_34fz(i3,i4).a(2,2)*r6_25fz(i5,i2).a
     & (2,2)
      tapptt(i5,i2,i3,i4).b(2,2)=rme*(l1_34fz(i3,i4).b(2,1)*r6_2
     & 5fz(i5,i2).b(1,2)+l1_34fz(i3,i4).d(2,2)*r6_25fz(i5,i2).a(
     & 2,2))
      tapptt(i5,i2,i3,i4).c(2,2)=rme*(l1_34fz(i3,i4).c(2,1)*r6_2
     & 5fz(i5,i2).c(1,2)+l1_34fz(i3,i4).a(2,2)*r6_25fz(i5,i2).d(
     & 2,2))
      tapptt(i5,i2,i3,i4).d(2,2)=l1_34fz(i3,i4).b(2,1)*r6_25fz(i
     & 5,i2).c(1,2)+l1_34fz(i3,i4).d(2,2)*p134q*r6_25fz(i5,i2).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i5=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* mline -- res=cn17(&,i5,i2,i3,i4).id(ide),abcd=tapptt(i5,i2,i3,i4).,m1=(-r
* me),m2=(-xm(6)),den=((p134q-rme**2)*p134k0)
      do iut=1,2
      do jut=1,2
      cn17(iut,jut,i5,i2,i3,i4).id(ide)=(tapptt(i5,i2,i3,i4).a(i
     & ut,jut)+(-rme)*tapptt(i5,i2,i3,i4).b(iut,jut)+(-xm(6))*ta
     & pptt(i5,i2,i3,i4).c(iut,jut)+(-rme)*(-xm(6))*tapptt(i5,i2
     & ,i3,i4).d(iut,jut))/((p134q-rme**2)*p134k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN18 ****
      do i5=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* TT -- aa=tapptt(i5,i2,i3,i4).a,bb=tapptt(i5,i2,i3,i4).b,cc=tapptt(i5,i2,i
* 3,i4).c,dd=tapptt(i5,i2,i3,i4).d,a1=l1_25fz(i5,i2).a,b1=l1_25fz(i5,i2).b,c
* 1=l1_25fz(i5,i2).c,d1=l1_25fz(i5,i2).d,a2=r6_34fz(i3,i4).a,b2=r6_34fz(i3,i
* 4).b,c2=r6_34fz(i3,i4).c,d2=r6_34fz(i3,i4).d,prq=p125q,m=rme
      tapptt(i5,i2,i3,i4).a(1,1)=l1_25fz(i5,i2).a(1,1)*r6_34fz(i
     & 3,i4).a(1,1)+l1_25fz(i5,i2).c(1,2)*p125q*r6_34fz(i3,i4).b
     & (2,1)
      tapptt(i5,i2,i3,i4).b(1,1)=rme*(l1_25fz(i5,i2).d(1,1)*r6_3
     & 4fz(i3,i4).a(1,1)+l1_25fz(i5,i2).b(1,2)*r6_34fz(i3,i4).b(
     & 2,1))
      tapptt(i5,i2,i3,i4).c(1,1)=rme*(l1_25fz(i5,i2).a(1,1)*r6_3
     & 4fz(i3,i4).d(1,1)+l1_25fz(i5,i2).c(1,2)*r6_34fz(i3,i4).c(
     & 2,1))
      tapptt(i5,i2,i3,i4).d(1,1)=l1_25fz(i5,i2).d(1,1)*p125q*r6_
     & 34fz(i3,i4).d(1,1)+l1_25fz(i5,i2).b(1,2)*r6_34fz(i3,i4).c
     & (2,1)
      tapptt(i5,i2,i3,i4).a(1,2)=rme*(l1_25fz(i5,i2).a(1,1)*r6_3
     & 4fz(i3,i4).b(1,2)+l1_25fz(i5,i2).c(1,2)*r6_34fz(i3,i4).a(
     & 2,2))
      tapptt(i5,i2,i3,i4).b(1,2)=l1_25fz(i5,i2).d(1,1)*p125q*r6_
     & 34fz(i3,i4).b(1,2)+l1_25fz(i5,i2).b(1,2)*r6_34fz(i3,i4).a
     & (2,2)
      tapptt(i5,i2,i3,i4).c(1,2)=l1_25fz(i5,i2).a(1,1)*r6_34fz(i
     & 3,i4).c(1,2)+l1_25fz(i5,i2).c(1,2)*p125q*r6_34fz(i3,i4).d
     & (2,2)
      tapptt(i5,i2,i3,i4).d(1,2)=rme*(l1_25fz(i5,i2).d(1,1)*r6_3
     & 4fz(i3,i4).c(1,2)+l1_25fz(i5,i2).b(1,2)*r6_34fz(i3,i4).d(
     & 2,2))
      tapptt(i5,i2,i3,i4).a(2,1)=rme*(l1_25fz(i5,i2).c(2,1)*r6_3
     & 4fz(i3,i4).a(1,1)+l1_25fz(i5,i2).a(2,2)*r6_34fz(i3,i4).b(
     & 2,1))
      tapptt(i5,i2,i3,i4).b(2,1)=l1_25fz(i5,i2).b(2,1)*r6_34fz(i
     & 3,i4).a(1,1)+l1_25fz(i5,i2).d(2,2)*p125q*r6_34fz(i3,i4).b
     & (2,1)
      tapptt(i5,i2,i3,i4).c(2,1)=l1_25fz(i5,i2).c(2,1)*p125q*r6_
     & 34fz(i3,i4).d(1,1)+l1_25fz(i5,i2).a(2,2)*r6_34fz(i3,i4).c
     & (2,1)
      tapptt(i5,i2,i3,i4).d(2,1)=rme*(l1_25fz(i5,i2).b(2,1)*r6_3
     & 4fz(i3,i4).d(1,1)+l1_25fz(i5,i2).d(2,2)*r6_34fz(i3,i4).c(
     & 2,1))
      tapptt(i5,i2,i3,i4).a(2,2)=l1_25fz(i5,i2).c(2,1)*p125q*r6_
     & 34fz(i3,i4).b(1,2)+l1_25fz(i5,i2).a(2,2)*r6_34fz(i3,i4).a
     & (2,2)
      tapptt(i5,i2,i3,i4).b(2,2)=rme*(l1_25fz(i5,i2).b(2,1)*r6_3
     & 4fz(i3,i4).b(1,2)+l1_25fz(i5,i2).d(2,2)*r6_34fz(i3,i4).a(
     & 2,2))
      tapptt(i5,i2,i3,i4).c(2,2)=rme*(l1_25fz(i5,i2).c(2,1)*r6_3
     & 4fz(i3,i4).c(1,2)+l1_25fz(i5,i2).a(2,2)*r6_34fz(i3,i4).d(
     & 2,2))
      tapptt(i5,i2,i3,i4).d(2,2)=l1_25fz(i5,i2).b(2,1)*r6_34fz(i
     & 3,i4).c(1,2)+l1_25fz(i5,i2).d(2,2)*p125q*r6_34fz(i3,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i5=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
* mline -- res=cn18(&,i5,i2,i3,i4).id(ide),abcd=tapptt(i5,i2,i3,i4).,m1=(-r
* me),m2=(-xm(6)),den=((p125q-rme**2)*p125k0)
      do iut=1,2
      do jut=1,2
      cn18(iut,jut,i5,i2,i3,i4).id(ide)=(tapptt(i5,i2,i3,i4).a(i
     & ut,jut)+(-rme)*tapptt(i5,i2,i3,i4).b(iut,jut)+(-xm(6))*ta
     & pptt(i5,i2,i3,i4).c(iut,jut)+(-rme)*(-xm(6))*tapptt(i5,i2
     & ,i3,i4).d(iut,jut))/((p125q-rme**2)*p125k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN19 ****
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i4=1,2
* TT -- aa=tapptt(i1,i6,i3,i4).a,bb=tapptt(i1,i6,i3,i4).b,cc=tapptt(i1,i6,i
* 3,i4).c,dd=tapptt(i1,i6,i3,i4).d,a1=l5_16fz(i1,i6).a,b1=l5_16fz(i1,i6).b,c
* 1=l5_16fz(i1,i6).c,d1=l5_16fz(i1,i6).d,a2=r2_34fz(i3,i4).a,b2=r2_34fz(i3,i
* 4).b,c2=r2_34fz(i3,i4).c,d2=r2_34fz(i3,i4).d,prq=p156q,m=rme
      tapptt(i1,i6,i3,i4).a(1,1)=l5_16fz(i1,i6).a(1,1)*r2_34fz(i
     & 3,i4).a(1,1)+l5_16fz(i1,i6).c(1,2)*p156q*r2_34fz(i3,i4).b
     & (2,1)
      tapptt(i1,i6,i3,i4).b(1,1)=rme*(l5_16fz(i1,i6).d(1,1)*r2_3
     & 4fz(i3,i4).a(1,1)+l5_16fz(i1,i6).b(1,2)*r2_34fz(i3,i4).b(
     & 2,1))
      tapptt(i1,i6,i3,i4).c(1,1)=rme*(l5_16fz(i1,i6).a(1,1)*r2_3
     & 4fz(i3,i4).d(1,1)+l5_16fz(i1,i6).c(1,2)*r2_34fz(i3,i4).c(
     & 2,1))
      tapptt(i1,i6,i3,i4).d(1,1)=l5_16fz(i1,i6).d(1,1)*p156q*r2_
     & 34fz(i3,i4).d(1,1)+l5_16fz(i1,i6).b(1,2)*r2_34fz(i3,i4).c
     & (2,1)
      tapptt(i1,i6,i3,i4).a(1,2)=rme*(l5_16fz(i1,i6).a(1,1)*r2_3
     & 4fz(i3,i4).b(1,2)+l5_16fz(i1,i6).c(1,2)*r2_34fz(i3,i4).a(
     & 2,2))
      tapptt(i1,i6,i3,i4).b(1,2)=l5_16fz(i1,i6).d(1,1)*p156q*r2_
     & 34fz(i3,i4).b(1,2)+l5_16fz(i1,i6).b(1,2)*r2_34fz(i3,i4).a
     & (2,2)
      tapptt(i1,i6,i3,i4).c(1,2)=l5_16fz(i1,i6).a(1,1)*r2_34fz(i
     & 3,i4).c(1,2)+l5_16fz(i1,i6).c(1,2)*p156q*r2_34fz(i3,i4).d
     & (2,2)
      tapptt(i1,i6,i3,i4).d(1,2)=rme*(l5_16fz(i1,i6).d(1,1)*r2_3
     & 4fz(i3,i4).c(1,2)+l5_16fz(i1,i6).b(1,2)*r2_34fz(i3,i4).d(
     & 2,2))
      tapptt(i1,i6,i3,i4).a(2,1)=rme*(l5_16fz(i1,i6).c(2,1)*r2_3
     & 4fz(i3,i4).a(1,1)+l5_16fz(i1,i6).a(2,2)*r2_34fz(i3,i4).b(
     & 2,1))
      tapptt(i1,i6,i3,i4).b(2,1)=l5_16fz(i1,i6).b(2,1)*r2_34fz(i
     & 3,i4).a(1,1)+l5_16fz(i1,i6).d(2,2)*p156q*r2_34fz(i3,i4).b
     & (2,1)
      tapptt(i1,i6,i3,i4).c(2,1)=l5_16fz(i1,i6).c(2,1)*p156q*r2_
     & 34fz(i3,i4).d(1,1)+l5_16fz(i1,i6).a(2,2)*r2_34fz(i3,i4).c
     & (2,1)
      tapptt(i1,i6,i3,i4).d(2,1)=rme*(l5_16fz(i1,i6).b(2,1)*r2_3
     & 4fz(i3,i4).d(1,1)+l5_16fz(i1,i6).d(2,2)*r2_34fz(i3,i4).c(
     & 2,1))
      tapptt(i1,i6,i3,i4).a(2,2)=l5_16fz(i1,i6).c(2,1)*p156q*r2_
     & 34fz(i3,i4).b(1,2)+l5_16fz(i1,i6).a(2,2)*r2_34fz(i3,i4).a
     & (2,2)
      tapptt(i1,i6,i3,i4).b(2,2)=rme*(l5_16fz(i1,i6).b(2,1)*r2_3
     & 4fz(i3,i4).b(1,2)+l5_16fz(i1,i6).d(2,2)*r2_34fz(i3,i4).a(
     & 2,2))
      tapptt(i1,i6,i3,i4).c(2,2)=rme*(l5_16fz(i1,i6).c(2,1)*r2_3
     & 4fz(i3,i4).c(1,2)+l5_16fz(i1,i6).a(2,2)*r2_34fz(i3,i4).d(
     & 2,2))
      tapptt(i1,i6,i3,i4).d(2,2)=l5_16fz(i1,i6).b(2,1)*r2_34fz(i
     & 3,i4).c(1,2)+l5_16fz(i1,i6).d(2,2)*p156q*r2_34fz(i3,i4).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i4=1,2
* mline -- res=cn19(i1,i6,&,i3,i4).id(ide),abcd=tapptt(i1,i6,i3,i4).,m1=xm(
* 5),m2=rme,den=((p156q-rme**2)*p156k0)
      do iut=1,2
      do jut=1,2
      cn19(i1,i6,iut,jut,i3,i4).id(ide)=(tapptt(i1,i6,i3,i4).a(i
     & ut,jut)+xm(5)*tapptt(i1,i6,i3,i4).b(iut,jut)+rme*tapptt(i
     & 1,i6,i3,i4).c(iut,jut)+xm(5)*rme*tapptt(i1,i6,i3,i4).d(iu
     & t,jut))/((p156q-rme**2)*p156k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
**** Diagramma CN20 ****
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i4=1,2
* TT -- aa=tapptt(i1,i6,i3,i4).a,bb=tapptt(i1,i6,i3,i4).b,cc=tapptt(i1,i6,i
* 3,i4).c,dd=tapptt(i1,i6,i3,i4).d,a1=l5_34fz(i3,i4).a,b1=l5_34fz(i3,i4).b,c
* 1=l5_34fz(i3,i4).c,d1=l5_34fz(i3,i4).d,a2=r2_16fz(i1,i6).a,b2=r2_16fz(i1,i
* 6).b,c2=r2_16fz(i1,i6).c,d2=r2_16fz(i1,i6).d,prq=p345q,m=rme
      tapptt(i1,i6,i3,i4).a(1,1)=l5_34fz(i3,i4).a(1,1)*r2_16fz(i
     & 1,i6).a(1,1)+l5_34fz(i3,i4).c(1,2)*p345q*r2_16fz(i1,i6).b
     & (2,1)
      tapptt(i1,i6,i3,i4).b(1,1)=rme*(l5_34fz(i3,i4).d(1,1)*r2_1
     & 6fz(i1,i6).a(1,1)+l5_34fz(i3,i4).b(1,2)*r2_16fz(i1,i6).b(
     & 2,1))
      tapptt(i1,i6,i3,i4).c(1,1)=rme*(l5_34fz(i3,i4).a(1,1)*r2_1
     & 6fz(i1,i6).d(1,1)+l5_34fz(i3,i4).c(1,2)*r2_16fz(i1,i6).c(
     & 2,1))
      tapptt(i1,i6,i3,i4).d(1,1)=l5_34fz(i3,i4).d(1,1)*p345q*r2_
     & 16fz(i1,i6).d(1,1)+l5_34fz(i3,i4).b(1,2)*r2_16fz(i1,i6).c
     & (2,1)
      tapptt(i1,i6,i3,i4).a(1,2)=rme*(l5_34fz(i3,i4).a(1,1)*r2_1
     & 6fz(i1,i6).b(1,2)+l5_34fz(i3,i4).c(1,2)*r2_16fz(i1,i6).a(
     & 2,2))
      tapptt(i1,i6,i3,i4).b(1,2)=l5_34fz(i3,i4).d(1,1)*p345q*r2_
     & 16fz(i1,i6).b(1,2)+l5_34fz(i3,i4).b(1,2)*r2_16fz(i1,i6).a
     & (2,2)
      tapptt(i1,i6,i3,i4).c(1,2)=l5_34fz(i3,i4).a(1,1)*r2_16fz(i
     & 1,i6).c(1,2)+l5_34fz(i3,i4).c(1,2)*p345q*r2_16fz(i1,i6).d
     & (2,2)
      tapptt(i1,i6,i3,i4).d(1,2)=rme*(l5_34fz(i3,i4).d(1,1)*r2_1
     & 6fz(i1,i6).c(1,2)+l5_34fz(i3,i4).b(1,2)*r2_16fz(i1,i6).d(
     & 2,2))
      tapptt(i1,i6,i3,i4).a(2,1)=rme*(l5_34fz(i3,i4).c(2,1)*r2_1
     & 6fz(i1,i6).a(1,1)+l5_34fz(i3,i4).a(2,2)*r2_16fz(i1,i6).b(
     & 2,1))
      tapptt(i1,i6,i3,i4).b(2,1)=l5_34fz(i3,i4).b(2,1)*r2_16fz(i
     & 1,i6).a(1,1)+l5_34fz(i3,i4).d(2,2)*p345q*r2_16fz(i1,i6).b
     & (2,1)
      tapptt(i1,i6,i3,i4).c(2,1)=l5_34fz(i3,i4).c(2,1)*p345q*r2_
     & 16fz(i1,i6).d(1,1)+l5_34fz(i3,i4).a(2,2)*r2_16fz(i1,i6).c
     & (2,1)
      tapptt(i1,i6,i3,i4).d(2,1)=rme*(l5_34fz(i3,i4).b(2,1)*r2_1
     & 6fz(i1,i6).d(1,1)+l5_34fz(i3,i4).d(2,2)*r2_16fz(i1,i6).c(
     & 2,1))
      tapptt(i1,i6,i3,i4).a(2,2)=l5_34fz(i3,i4).c(2,1)*p345q*r2_
     & 16fz(i1,i6).b(1,2)+l5_34fz(i3,i4).a(2,2)*r2_16fz(i1,i6).a
     & (2,2)
      tapptt(i1,i6,i3,i4).b(2,2)=rme*(l5_34fz(i3,i4).b(2,1)*r2_1
     & 6fz(i1,i6).b(1,2)+l5_34fz(i3,i4).d(2,2)*r2_16fz(i1,i6).a(
     & 2,2))
      tapptt(i1,i6,i3,i4).c(2,2)=rme*(l5_34fz(i3,i4).c(2,1)*r2_1
     & 6fz(i1,i6).c(1,2)+l5_34fz(i3,i4).a(2,2)*r2_16fz(i1,i6).d(
     & 2,2))
      tapptt(i1,i6,i3,i4).d(2,2)=l5_34fz(i3,i4).b(2,1)*r2_16fz(i
     & 1,i6).c(1,2)+l5_34fz(i3,i4).d(2,2)*p345q*r2_16fz(i1,i6).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i3=1,2
      do i4=1,2
* mline -- res=cn20(i1,i6,&,i3,i4).id(ide),abcd=tapptt(i1,i6,i3,i4).,m1=xm(
* 5),m2=rme,den=((p345q-rme**2)*p345k0)
      do iut=1,2
      do jut=1,2
      cn20(i1,i6,iut,jut,i3,i4).id(ide)=(tapptt(i1,i6,i3,i4).a(i
     & ut,jut)+xm(5)*tapptt(i1,i6,i3,i4).b(iut,jut)+rme*tapptt(i
     & 1,i6,i3,i4).c(iut,jut)+xm(5)*rme*tapptt(i1,i6,i3,i4).d(iu
     & t,jut))/((p345q-rme**2)*p345k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*el2
      ENDIF !igamgam
*endel2
**** Diagramma CN21 ****
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* TT -- aa=tapptt(i1,i6,i5,i2).a,bb=tapptt(i1,i6,i5,i2).b,cc=tapptt(i1,i6,i
* 5,i2).c,dd=tapptt(i1,i6,i5,i2).d,a1=l3_16fz(i1,i6).a,b1=l3_16fz(i1,i6).b,c
* 1=l3_16fz(i1,i6).c,d1=l3_16fz(i1,i6).d,a2=r4_25fz(i5,i2).a,b2=r4_25fz(i5,i
* 2).b,c2=r4_25fz(i5,i2).c,d2=r4_25fz(i5,i2).d,prq=p136q,m=xm(3)
      tapptt(i1,i6,i5,i2).a(1,1)=l3_16fz(i1,i6).a(1,1)*r4_25fz(i
     & 5,i2).a(1,1)+l3_16fz(i1,i6).c(1,2)*p136q*r4_25fz(i5,i2).b
     & (2,1)
      tapptt(i1,i6,i5,i2).b(1,1)=xm(3)*(l3_16fz(i1,i6).d(1,1)*r4
     & _25fz(i5,i2).a(1,1)+l3_16fz(i1,i6).b(1,2)*r4_25fz(i5,i2).
     & b(2,1))
      tapptt(i1,i6,i5,i2).c(1,1)=xm(3)*(l3_16fz(i1,i6).a(1,1)*r4
     & _25fz(i5,i2).d(1,1)+l3_16fz(i1,i6).c(1,2)*r4_25fz(i5,i2).
     & c(2,1))
      tapptt(i1,i6,i5,i2).d(1,1)=l3_16fz(i1,i6).d(1,1)*p136q*r4_
     & 25fz(i5,i2).d(1,1)+l3_16fz(i1,i6).b(1,2)*r4_25fz(i5,i2).c
     & (2,1)
      tapptt(i1,i6,i5,i2).a(1,2)=xm(3)*(l3_16fz(i1,i6).a(1,1)*r4
     & _25fz(i5,i2).b(1,2)+l3_16fz(i1,i6).c(1,2)*r4_25fz(i5,i2).
     & a(2,2))
      tapptt(i1,i6,i5,i2).b(1,2)=l3_16fz(i1,i6).d(1,1)*p136q*r4_
     & 25fz(i5,i2).b(1,2)+l3_16fz(i1,i6).b(1,2)*r4_25fz(i5,i2).a
     & (2,2)
      tapptt(i1,i6,i5,i2).c(1,2)=l3_16fz(i1,i6).a(1,1)*r4_25fz(i
     & 5,i2).c(1,2)+l3_16fz(i1,i6).c(1,2)*p136q*r4_25fz(i5,i2).d
     & (2,2)
      tapptt(i1,i6,i5,i2).d(1,2)=xm(3)*(l3_16fz(i1,i6).d(1,1)*r4
     & _25fz(i5,i2).c(1,2)+l3_16fz(i1,i6).b(1,2)*r4_25fz(i5,i2).
     & d(2,2))
      tapptt(i1,i6,i5,i2).a(2,1)=xm(3)*(l3_16fz(i1,i6).c(2,1)*r4
     & _25fz(i5,i2).a(1,1)+l3_16fz(i1,i6).a(2,2)*r4_25fz(i5,i2).
     & b(2,1))
      tapptt(i1,i6,i5,i2).b(2,1)=l3_16fz(i1,i6).b(2,1)*r4_25fz(i
     & 5,i2).a(1,1)+l3_16fz(i1,i6).d(2,2)*p136q*r4_25fz(i5,i2).b
     & (2,1)
      tapptt(i1,i6,i5,i2).c(2,1)=l3_16fz(i1,i6).c(2,1)*p136q*r4_
     & 25fz(i5,i2).d(1,1)+l3_16fz(i1,i6).a(2,2)*r4_25fz(i5,i2).c
     & (2,1)
      tapptt(i1,i6,i5,i2).d(2,1)=xm(3)*(l3_16fz(i1,i6).b(2,1)*r4
     & _25fz(i5,i2).d(1,1)+l3_16fz(i1,i6).d(2,2)*r4_25fz(i5,i2).
     & c(2,1))
      tapptt(i1,i6,i5,i2).a(2,2)=l3_16fz(i1,i6).c(2,1)*p136q*r4_
     & 25fz(i5,i2).b(1,2)+l3_16fz(i1,i6).a(2,2)*r4_25fz(i5,i2).a
     & (2,2)
      tapptt(i1,i6,i5,i2).b(2,2)=xm(3)*(l3_16fz(i1,i6).b(2,1)*r4
     & _25fz(i5,i2).b(1,2)+l3_16fz(i1,i6).d(2,2)*r4_25fz(i5,i2).
     & a(2,2))
      tapptt(i1,i6,i5,i2).c(2,2)=xm(3)*(l3_16fz(i1,i6).c(2,1)*r4
     & _25fz(i5,i2).c(1,2)+l3_16fz(i1,i6).a(2,2)*r4_25fz(i5,i2).
     & d(2,2))
      tapptt(i1,i6,i5,i2).d(2,2)=l3_16fz(i1,i6).b(2,1)*r4_25fz(i
     & 5,i2).c(1,2)+l3_16fz(i1,i6).d(2,2)*p136q*r4_25fz(i5,i2).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* mline -- res=cn21(i1,i6,i5,i2,&).id(ide),abcd=tapptt(i1,i6,i5,i2).,m1=xm(
* 3),m2=(-xm(4)),den=((p136q-xm(3)**2)*p136k0)
      do iut=1,2
      do jut=1,2
      cn21(i1,i6,i5,i2,iut,jut).id(ide)=(tapptt(i1,i6,i5,i2).a(i
     & ut,jut)+xm(3)*tapptt(i1,i6,i5,i2).b(iut,jut)+(-xm(4))*tap
     & ptt(i1,i6,i5,i2).c(iut,jut)+xm(3)*(-xm(4))*tapptt(i1,i6,i
     & 5,i2).d(iut,jut))/((p136q-xm(3)**2)*p136k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*el2
      IF(igamgam.EQ.-1)THEN
**** Diagramma CN21 - ff contribution ****
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* TT --aa=tapptt(i1,i6,i5,i2).a,bb=tapptt(i1,i6,i5,i2).b,cc=tapptt(i1,i6,i
*5,i2).c,dd=tapptt(i1,i6,i5,i2).d,a1=l3_16fz(i1,i6).a,b1=l3_16fz(i1,i6).b,c
*1=l3_16fz(i1,i6).c,d1=l3_16fz(i1,i6).d,a2=r4_25fz(i5,i2).a,b2=r4_25fz(i5,i
* 2).b,c2=r4_25fz(i5,i2).c,d2=r4_25fz(i5,i2).d,prq=p136q,m=xm(3)
      tapptt(i1,i6,i5,i2).a(1,1)=l3_16f(i1,i6).a(1,1)*r4_25f(i
     & 5,i2).a(1,1)+l3_16f(i1,i6).c(1,2)*p136q*r4_25f(i5,i2).b
     & (2,1)   
      tapptt(i1,i6,i5,i2).b(1,1)=xm(3)*(l3_16f(i1,i6).d(1,1)*r4
     & _25f(i5,i2).a(1,1)+l3_16f(i1,i6).b(1,2)*r4_25f(i5,i2).
     & b(2,1)) 
      tapptt(i1,i6,i5,i2).c(1,1)=xm(3)*(l3_16f(i1,i6).a(1,1)*r4
     & _25f(i5,i2).d(1,1)+l3_16f(i1,i6).c(1,2)*r4_25f(i5,i2).
     & c(2,1))
      tapptt(i1,i6,i5,i2).d(1,1)=l3_16f(i1,i6).d(1,1)*p136q*r4_
     & 25f(i5,i2).d(1,1)+l3_16f(i1,i6).b(1,2)*r4_25f(i5,i2).c
     & (2,1)
      tapptt(i1,i6,i5,i2).a(1,2)=xm(3)*(l3_16f(i1,i6).a(1,1)*r4
     & _25f(i5,i2).b(1,2)+l3_16f(i1,i6).c(1,2)*r4_25f(i5,i2).
     & a(2,2))
      tapptt(i1,i6,i5,i2).b(1,2)=l3_16f(i1,i6).d(1,1)*p136q*r4_
     & 25f(i5,i2).b(1,2)+l3_16f(i1,i6).b(1,2)*r4_25f(i5,i2).a
     & (2,2)
      tapptt(i1,i6,i5,i2).c(1,2)=l3_16f(i1,i6).a(1,1)*r4_25f(i
     & 5,i2).c(1,2)+l3_16f(i1,i6).c(1,2)*p136q*r4_25f(i5,i2).d
     & (2,2)
      tapptt(i1,i6,i5,i2).d(1,2)=xm(3)*(l3_16f(i1,i6).d(1,1)*r4
     & _25f(i5,i2).c(1,2)+l3_16f(i1,i6).b(1,2)*r4_25f(i5,i2).
     & d(2,2))
      tapptt(i1,i6,i5,i2).a(2,1)=xm(3)*(l3_16f(i1,i6).c(2,1)*r4
     & _25f(i5,i2).a(1,1)+l3_16f(i1,i6).a(2,2)*r4_25f(i5,i2).
     & b(2,1))
      tapptt(i1,i6,i5,i2).b(2,1)=l3_16f(i1,i6).b(2,1)*r4_25f(i
     & 5,i2).a(1,1)+l3_16f(i1,i6).d(2,2)*p136q*r4_25f(i5,i2).b
     & (2,1)
      tapptt(i1,i6,i5,i2).c(2,1)=l3_16f(i1,i6).c(2,1)*p136q*r4_
     & 25f(i5,i2).d(1,1)+l3_16f(i1,i6).a(2,2)*r4_25f(i5,i2).c
     & (2,1)
      tapptt(i1,i6,i5,i2).d(2,1)=xm(3)*(l3_16f(i1,i6).b(2,1)*r4
     & _25f(i5,i2).d(1,1)+l3_16f(i1,i6).d(2,2)*r4_25f(i5,i2).
     & c(2,1))
      tapptt(i1,i6,i5,i2).a(2,2)=l3_16f(i1,i6).c(2,1)*p136q*r4_
     & 25f(i5,i2).b(1,2)+l3_16f(i1,i6).a(2,2)*r4_25f(i5,i2).a
     & (2,2)
      tapptt(i1,i6,i5,i2).b(2,2)=xm(3)*(l3_16f(i1,i6).b(2,1)*r4
     & _25f(i5,i2).b(1,2)+l3_16f(i1,i6).d(2,2)*r4_25f(i5,i2).
     & a(2,2))
      tapptt(i1,i6,i5,i2).c(2,2)=xm(3)*(l3_16f(i1,i6).c(2,1)*r4
     & _25f(i5,i2).c(1,2)+l3_16f(i1,i6).a(2,2)*r4_25f(i5,i2).
     & d(2,2))
      tapptt(i1,i6,i5,i2).d(2,2)=l3_16f(i1,i6).b(2,1)*r4_25f(i
     & 5,i2).c(1,2)+l3_16f(i1,i6).d(2,2)*p136q*r4_25f(i5,i2).d
     & (2,2)
      end do
      end do
      end do
      end do  
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* mline --res=cn21(i1,i6,i5,i2,&).id(ide),abcd=tapptt(i1,i6,i5,i2).,m1=xm(
* 3),m2=(-xm(4)),den=((p136q-xm(3)**2)*p136k0)
      do iut=1,2
      do jut=1,2
      cn21(i1,i6,i5,i2,iut,jut).id(ide)=
     & cn21(i1,i6,i5,i2,iut,jut).id(ide)-(tapptt(i1,i6,i5,i2).a(i
     & ut,jut)+xm(3)*tapptt(i1,i6,i5,i2).b(iut,jut)+(-xm(4))*tap
     & ptt(i1,i6,i5,i2).c(iut,jut)+xm(3)*(-xm(4))*tapptt(i1,i6,i
     & 5,i2).d(iut,jut))/((p136q-xm(3)**2)*p136k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
      ENDIF !igamgam
*endel2
**** Diagramma CN22 ****
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* TT -- aa=tapptt(i1,i6,i5,i2).a,bb=tapptt(i1,i6,i5,i2).b,cc=tapptt(i1,i6,i
* 5,i2).c,dd=tapptt(i1,i6,i5,i2).d,a1=l3_25fz(i5,i2).a,b1=l3_25fz(i5,i2).b,c
* 1=l3_25fz(i5,i2).c,d1=l3_25fz(i5,i2).d,a2=r4_16fz(i1,i6).a,b2=r4_16fz(i1,i
* 6).b,c2=r4_16fz(i1,i6).c,d2=r4_16fz(i1,i6).d,prq=p235q,m=xm(3)
      tapptt(i1,i6,i5,i2).a(1,1)=l3_25fz(i5,i2).a(1,1)*r4_16fz(i
     & 1,i6).a(1,1)+l3_25fz(i5,i2).c(1,2)*p235q*r4_16fz(i1,i6).b
     & (2,1)
      tapptt(i1,i6,i5,i2).b(1,1)=xm(3)*(l3_25fz(i5,i2).d(1,1)*r4
     & _16fz(i1,i6).a(1,1)+l3_25fz(i5,i2).b(1,2)*r4_16fz(i1,i6).
     & b(2,1))
      tapptt(i1,i6,i5,i2).c(1,1)=xm(3)*(l3_25fz(i5,i2).a(1,1)*r4
     & _16fz(i1,i6).d(1,1)+l3_25fz(i5,i2).c(1,2)*r4_16fz(i1,i6).
     & c(2,1))
      tapptt(i1,i6,i5,i2).d(1,1)=l3_25fz(i5,i2).d(1,1)*p235q*r4_
     & 16fz(i1,i6).d(1,1)+l3_25fz(i5,i2).b(1,2)*r4_16fz(i1,i6).c
     & (2,1)
      tapptt(i1,i6,i5,i2).a(1,2)=xm(3)*(l3_25fz(i5,i2).a(1,1)*r4
     & _16fz(i1,i6).b(1,2)+l3_25fz(i5,i2).c(1,2)*r4_16fz(i1,i6).
     & a(2,2))
      tapptt(i1,i6,i5,i2).b(1,2)=l3_25fz(i5,i2).d(1,1)*p235q*r4_
     & 16fz(i1,i6).b(1,2)+l3_25fz(i5,i2).b(1,2)*r4_16fz(i1,i6).a
     & (2,2)
      tapptt(i1,i6,i5,i2).c(1,2)=l3_25fz(i5,i2).a(1,1)*r4_16fz(i
     & 1,i6).c(1,2)+l3_25fz(i5,i2).c(1,2)*p235q*r4_16fz(i1,i6).d
     & (2,2)
      tapptt(i1,i6,i5,i2).d(1,2)=xm(3)*(l3_25fz(i5,i2).d(1,1)*r4
     & _16fz(i1,i6).c(1,2)+l3_25fz(i5,i2).b(1,2)*r4_16fz(i1,i6).
     & d(2,2))
      tapptt(i1,i6,i5,i2).a(2,1)=xm(3)*(l3_25fz(i5,i2).c(2,1)*r4
     & _16fz(i1,i6).a(1,1)+l3_25fz(i5,i2).a(2,2)*r4_16fz(i1,i6).
     & b(2,1))
      tapptt(i1,i6,i5,i2).b(2,1)=l3_25fz(i5,i2).b(2,1)*r4_16fz(i
     & 1,i6).a(1,1)+l3_25fz(i5,i2).d(2,2)*p235q*r4_16fz(i1,i6).b
     & (2,1)
      tapptt(i1,i6,i5,i2).c(2,1)=l3_25fz(i5,i2).c(2,1)*p235q*r4_
     & 16fz(i1,i6).d(1,1)+l3_25fz(i5,i2).a(2,2)*r4_16fz(i1,i6).c
     & (2,1)
      tapptt(i1,i6,i5,i2).d(2,1)=xm(3)*(l3_25fz(i5,i2).b(2,1)*r4
     & _16fz(i1,i6).d(1,1)+l3_25fz(i5,i2).d(2,2)*r4_16fz(i1,i6).
     & c(2,1))
      tapptt(i1,i6,i5,i2).a(2,2)=l3_25fz(i5,i2).c(2,1)*p235q*r4_
     & 16fz(i1,i6).b(1,2)+l3_25fz(i5,i2).a(2,2)*r4_16fz(i1,i6).a
     & (2,2)
      tapptt(i1,i6,i5,i2).b(2,2)=xm(3)*(l3_25fz(i5,i2).b(2,1)*r4
     & _16fz(i1,i6).b(1,2)+l3_25fz(i5,i2).d(2,2)*r4_16fz(i1,i6).
     & a(2,2))
      tapptt(i1,i6,i5,i2).c(2,2)=xm(3)*(l3_25fz(i5,i2).c(2,1)*r4
     & _16fz(i1,i6).c(1,2)+l3_25fz(i5,i2).a(2,2)*r4_16fz(i1,i6).
     & d(2,2))
      tapptt(i1,i6,i5,i2).d(2,2)=l3_25fz(i5,i2).b(2,1)*r4_16fz(i
     & 1,i6).c(1,2)+l3_25fz(i5,i2).d(2,2)*p235q*r4_16fz(i1,i6).d
     & (2,2)
      end do
      end do
      end do
      end do
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* mline -- res=cn22(i1,i6,i5,i2,&).id(ide),abcd=tapptt(i1,i6,i5,i2).,m1=xm(
* 3),m2=(-xm(4)),den=((p235q-xm(3)**2)*p235k0)
      do iut=1,2
      do jut=1,2
      cn22(i1,i6,i5,i2,iut,jut).id(ide)=(tapptt(i1,i6,i5,i2).a(i
     & ut,jut)+xm(3)*tapptt(i1,i6,i5,i2).b(iut,jut)+(-xm(4))*tap
     & ptt(i1,i6,i5,i2).c(iut,jut)+xm(3)*(-xm(4))*tapptt(i1,i6,i
     & 5,i2).d(iut,jut))/((p235q-xm(3)**2)*p235k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
*el2
      IF(igamgam.EQ.-1)THEN
**** Diagramma CN22 - ff contribution ****
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* TT --aa=tapptt(i1,i6,i5,i2).a,bb=tapptt(i1,i6,i5,i2).b,cc=tapptt(i1,i6,i
*5,i2).c,dd=tapptt(i1,i6,i5,i2).d,a1=l3_25fz(i5,i2).a,b1=l3_25fz(i5,i2).b,c
*1=l3_25fz(i5,i2).c,d1=l3_25fz(i5,i2).d,a2=r4_16fz(i1,i6).a,b2=r4_16fz(i1,i
* 6).b,c2=r4_16fz(i1,i6).c,d2=r4_16fz(i1,i6).d,prq=p235q,m=xm(3)
      tapptt(i1,i6,i5,i2).a(1,1)=l3_25f(i5,i2).a(1,1)*r4_16f(i
     & 1,i6).a(1,1)+l3_25f(i5,i2).c(1,2)*p235q*r4_16f(i1,i6).b
     & (2,1)   
      tapptt(i1,i6,i5,i2).b(1,1)=xm(3)*(l3_25f(i5,i2).d(1,1)*r4
     & _16f(i1,i6).a(1,1)+l3_25f(i5,i2).b(1,2)*r4_16f(i1,i6).
     & b(2,1)) 
      tapptt(i1,i6,i5,i2).c(1,1)=xm(3)*(l3_25f(i5,i2).a(1,1)*r4
     & _16f(i1,i6).d(1,1)+l3_25f(i5,i2).c(1,2)*r4_16f(i1,i6).
     & c(2,1))
      tapptt(i1,i6,i5,i2).d(1,1)=l3_25f(i5,i2).d(1,1)*p235q*r4_
     & 16f(i1,i6).d(1,1)+l3_25f(i5,i2).b(1,2)*r4_16f(i1,i6).c
     & (2,1)
      tapptt(i1,i6,i5,i2).a(1,2)=xm(3)*(l3_25f(i5,i2).a(1,1)*r4
     & _16f(i1,i6).b(1,2)+l3_25f(i5,i2).c(1,2)*r4_16f(i1,i6).
     & a(2,2))
      tapptt(i1,i6,i5,i2).b(1,2)=l3_25f(i5,i2).d(1,1)*p235q*r4_
     & 16f(i1,i6).b(1,2)+l3_25f(i5,i2).b(1,2)*r4_16f(i1,i6).a
     & (2,2)
      tapptt(i1,i6,i5,i2).c(1,2)=l3_25f(i5,i2).a(1,1)*r4_16f(i
     & 1,i6).c(1,2)+l3_25f(i5,i2).c(1,2)*p235q*r4_16f(i1,i6).d
     & (2,2)
      tapptt(i1,i6,i5,i2).d(1,2)=xm(3)*(l3_25f(i5,i2).d(1,1)*r4
     & _16f(i1,i6).c(1,2)+l3_25f(i5,i2).b(1,2)*r4_16f(i1,i6).
     & d(2,2))
      tapptt(i1,i6,i5,i2).a(2,1)=xm(3)*(l3_25f(i5,i2).c(2,1)*r4
     & _16f(i1,i6).a(1,1)+l3_25f(i5,i2).a(2,2)*r4_16f(i1,i6).
     & b(2,1))
      tapptt(i1,i6,i5,i2).b(2,1)=l3_25f(i5,i2).b(2,1)*r4_16f(i
     & 1,i6).a(1,1)+l3_25f(i5,i2).d(2,2)*p235q*r4_16f(i1,i6).b
     & (2,1)
      tapptt(i1,i6,i5,i2).c(2,1)=l3_25f(i5,i2).c(2,1)*p235q*r4_
     & 16f(i1,i6).d(1,1)+l3_25f(i5,i2).a(2,2)*r4_16f(i1,i6).c
     & (2,1)
      tapptt(i1,i6,i5,i2).d(2,1)=xm(3)*(l3_25f(i5,i2).b(2,1)*r4
     & _16f(i1,i6).d(1,1)+l3_25f(i5,i2).d(2,2)*r4_16f(i1,i6).
     & c(2,1))
      tapptt(i1,i6,i5,i2).a(2,2)=l3_25f(i5,i2).c(2,1)*p235q*r4_
     & 16f(i1,i6).b(1,2)+l3_25f(i5,i2).a(2,2)*r4_16f(i1,i6).a
     & (2,2)
      tapptt(i1,i6,i5,i2).b(2,2)=xm(3)*(l3_25f(i5,i2).b(2,1)*r4
     & _16f(i1,i6).b(1,2)+l3_25f(i5,i2).d(2,2)*r4_16f(i1,i6).
     & a(2,2))
      tapptt(i1,i6,i5,i2).c(2,2)=xm(3)*(l3_25f(i5,i2).c(2,1)*r4
     & _16f(i1,i6).c(1,2)+l3_25f(i5,i2).a(2,2)*r4_16f(i1,i6).
     & d(2,2))
      tapptt(i1,i6,i5,i2).d(2,2)=l3_25f(i5,i2).b(2,1)*r4_16f(i
     & 1,i6).c(1,2)+l3_25f(i5,i2).d(2,2)*p235q*r4_16f(i1,i6).d
     & (2,2)
      end do
      end do
      end do
      end do  
      do i1=1,2
      do i6=1,2
      do i5=1,2
      do i2=1,2
* mline --res=cn22(i1,i6,i5,i2,&).id(ide),abcd=tapptt(i1,i6,i5,i2).,m1=xm(
* 3),m2=(-xm(4)),den=((p235q-xm(3)**2)*p235k0)
      do iut=1,2
      do jut=1,2
      cn22(i1,i6,i5,i2,iut,jut).id(ide)=
     & cn22(i1,i6,i5,i2,iut,jut).id(ide)-(tapptt(i1,i6,i5,i2).a(i
     & ut,jut)+xm(3)*tapptt(i1,i6,i5,i2).b(iut,jut)+(-xm(4))*tap
     & ptt(i1,i6,i5,i2).c(iut,jut)+xm(3)*(-xm(4))*tapptt(i1,i6,i
     & 5,i2).d(iut,jut))/((p235q-xm(3)**2)*p235k0)
      enddo
      enddo
      end do
      end do
      end do
      end do
      ENDIF !igamgam
*endel2
          endif  !iid.eq.1.and.i34e.eq.1
        end do !fine del do che prende tutte nc per particelle identiche
**** fine NC
      endif
******************qui mettere le somme dei diagrammi********************

      IF(icoul.EQ.1.AND.(imix.EQ.1.OR.imix.EQ.2)) THEN
        app=(s-(sqrt(s36)-sqrt(s54))**2)*(s-(sqrt(s36)+sqrt(s54))**2)
        IF (app.LE.0.d0) THEN
          ee_4fm=0.d0
          RETURN
        ENDIF
        betac=sqrt(app)/s
        delta=abs(s36-s54)/s
        app=(1.d0-4.d0*rmw2/s)**2+16.d0*rmw2*gamw**2/(s**2)
        IF (app.LT.0.d0) THEN
          ee_4fm=0.d0
          RETURN
        ENDIF
        rk2=1.d0-4.d0*rmw2/s+sqrt(app)
        IF (rk2.LE.0.d0) THEN
          ee_4fm=0.d0
          RETURN
        ENDIF
        rk2=sqrt(rmw2*rk2/2.d0)
        rk1=-1.d0+4.d0*rmw2/s+sqrt(app)
        IF (rk1.LE.0.d0) THEN
          ee_4fm=0.d0
          RETURN
        ENDIF
        rk1=sqrt(rmw2*rk1/2.d0)
        cbetam=(rk2+cim*rk1)/sqrt(rmw2)
        fcoul=((cbetam+delta)*conjg(cbetam+delta)-betac**2)/
     &        (2.d0*betac*rk1/sqrt(rmw2))
        fcoul=(pi-2.d0*atan(fcoul))/(2.d0*betac*128.07d0)
      ENDIF

      IF (istrcor.EQ.1) THEN
        IF(i3q.EQ.1.AND.i5q.EQ.1)THEN
          fatcor_cc=(1.d0+2.d0*qcdcor_cc)/(1.d0+2.d0*qcdcor_nc)
          fatcor_nc=1.d0/(1.d0+2.d0*qcdcor_nc)
          fatcor_ccnc=(1.d0+qcdcor_cc+qcdcor_nc)/(1.d0+2.d0*qcdcor_nc)
        ELSE IF((i3q.EQ.1.AND.i5q.EQ.0).OR.(i3q.EQ.0.AND.i5q.EQ.1))THEN
          fatcor_cc=(1.d0+qcdcor_cc)/(1.d0+qcdcor_nc)
          fatcor_nc=1.d0/(1.d0+qcdcor_nc)
          fatcor_ccnc=(1.d0+0.5d0*(qcdcor_cc+qcdcor_nc))
     &                 /(1.d0+qcdcor_nc)
        ELSE
          fatcor_cc=1.d0
          fatcor_nc=1.d0
          fatcor_ccnc=1.d0
        ENDIF
      ELSE
        fatcor_cc=1.d0
        fatcor_nc=1.d0
        fatcor_ccnc=1.d0
      ENDIF

      res=0.d0

      DO i1=1,2
      do i2=1,2
      do i3=1,2
      do i4=1,2
      do i5=1,2
      do i6=1,2
        IF (i3e.EQ.1.AND.(icc.EQ.1.OR.icc.EQ.-1)) then
*el4
          IF(itch.NE.-1)THEN
            cc_3e(i1,i2,i3,i4,i5,i6)=-cc7(i1,i2,i3,i4,i5,i6)-
     &      cc8(i1,i6,i5,i4,i3,i2)-cc9(i1,i6,i2,i3,i4,i5)-
     &      cc10(i1,i6,i5,i4,i3,i2)-cc11(i1,i6,i3,i2,i5,i4)-
     &      cc12(i1,i6,i3,i2,i5,i4)
          ELSE
            cc_3e(i1,i2,i3,i4,i5,i6)=czero
          ENDIF !itch
*endel4
        ENDIF
        IF (i4e.EQ.1.AND.(icc.EQ.1.OR.icc.EQ.-1)) then
*el4
          IF(itch.NE.-1)THEN
            cc_4e(i1,i2,i3,i4,i5,i6)=-cc13(i1,i2,i3,i4,i5,i6)-
     &      cc14(i1,i4,i3,i6,i5,i2)-cc15(i1,i4,i3,i6,i5,i2)-
     &      cc16(i5,i2,i3,i6,i1,i4)-cc17(i5,i2,i1,i4,i3,i6)-
     &      cc18(i1,i4,i5,i2,i3,i6)
          ELSE
            cc_4e(i1,i2,i3,i4,i5,i6)=czero
          ENDIF !itch
*endel4
        ENDIF
        IF (icc.EQ.0.OR.icc.EQ.-1) then
          DO ide=0,iid
*el2
*el4
            IF(itch.NE.1)THEN
*endel4
              IF(izz.NE.1.AND.izg.NE.1.AND.izg34.NE.1.AND.
     &           izg56.NE.1.AND.inc08.NE.1.AND.igamgam.NE.1)THEN
                cn_4f(i1,i2,i3,i4,i5,i6).id(ide)=
     &          cn1(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn2(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn3(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn4(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn5(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn6(i1,i2,i3,i4,i5,i6).id(ide)
              ELSE IF(izz.EQ.1.OR.izg.EQ.1.OR.izg34.EQ.1.OR.
     &           izg56.EQ.1.OR.inc08.EQ.1)THEN
	        cn_4f(i1,i2,i3,i4,i5,i6).id(ide)=
     &          cn1(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn2(i1,i2,i3,i4,i5,i6).id(ide)
              ELSE IF(igamgam.EQ.1)THEN
                cn_4f(i1,i2,i3,i4,i5,i6).id(ide)=czero
	      ENDIF 
            ELSE
	      cn_4f(i1,i2,i3,i4,i5,i6).id(ide)=czero
            ENDIF
*endel2
            IF (i34e.EQ.1) THEN
*el2
*el4
              IF(itch.NE.-1)THEN
                cn_34e(i1,i2,i3,i4,i5,i6).id(ide)=(1-inc02)*
     &          ((1-igg)*(cn11(i1,i4,i3,i2,i5,i6).id(ide)+
     &          cn12(i1,i4,i3,i2,i5,i6).id(ide)+
     &          cn13(i1,i4,i3,i2,i5,i6).id(ide)+
     &          cn14(i1,i4,i3,i2,i5,i6).id(ide))+
     &          cn15(i1,i4,i3,i2,i5,i6).id(ide)+
     &          cn16(i1,i4,i3,i2,i5,i6).id(ide))
              ELSE
                cn_34e(i1,i2,i3,i4,i5,i6).id(ide)=czero
              ENDIF !itch
*endel4
              IF (iid.EQ.1) THEN
                IF(itch.NE.-1)THEN
                  cn_56e(i1,i2,i3,i4,i5,i6).id(ide)=(1-inc02)*
     &            ((1-igg)*(cn17(i1,i6,i5,i2,i3,i4).id(ide)+
     &            cn18(i1,i6,i5,i2,i3,i4).id(ide)+
     &            cn19(i1,i6,i5,i2,i3,i4).id(ide)+
     &            cn20(i1,i6,i5,i2,i3,i4).id(ide))+
     &            cn21(i1,i6,i5,i2,i3,i4).id(ide)+
     &            cn22(i1,i6,i5,i2,i3,i4).id(ide))
                ELSE
                  cn_56e(i1,i2,i3,i4,i5,i6).id(ide)=czero
                ENDIF !itch
*endel4
              ENDIF !iid
            ENDIF !i34e
            IF (i56ve.EQ.1) THEN
*el4
              IF(itch.NE.-1)THEN
                cn_56v(i1,i2,i3,i4,i5,i6).id(ide)=(1-inc02)*
     &          (1-igg)*(cn23(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn24(i3,i4,i5,i2,i1,i6).id(ide)+
     &          cn25(i3,i4,i1,i6,i5,i2).id(ide)+
     &          cn26(i3,i4,i5,i2,i1,i6).id(ide)+
     &          cn27(i3,i4,i1,i6,i5,i2).id(ide)+
     &          cn28(i5,i2,i1,i6,i3,i4).id(ide))
              ELSE
                cn_56v(i1,i2,i3,i4,i5,i6).id(ide)=czero
              ENDIF !itch
              IF (iid.EQ.1) THEN
                IF(itch.NE.-1)THEN
                  cn_34v(i1,i2,i3,i4,i5,i6).id(ide)=(1-inc02)*
     &            (1-igg)*(cn29(i1,i2,i3,i4,i5,i6).id(ide)+
     &            cn30(i5,i6,i3,i2,i1,i4).id(ide)+
     &            cn31(i5,i6,i1,i4,i3,i2).id(ide)+
     &            cn32(i3,i2,i5,i6,i1,i4).id(ide)+
     &            cn33(i5,i6,i1,i4,i3,i2).id(ide)+
     &            cn34(i3,i2,i1,i4,i5,i6).id(ide))
                ELSE
                  cn_34v(i1,i2,i3,i4,i5,i6).id(ide)=czero
                ENDIF !itch
*endel4
*endel2
              ENDIF !i56ve e iid
            ENDIF !i56ve
            IF (iqu.EQ.1) THEN
*el2
*el4
              IF(itch.NE.1)THEN
*endel4
                cn_qcd(i1,i2,i3,i4,i5,i6).id(ide)=(1-inc02)*(1-igg)*
     &          (cn7(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn8(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn9(i1,i2,i3,i4,i5,i6).id(ide)+
     &          cn10(i1,i2,i3,i4,i5,i6).id(ide))
              ELSE
                cn_qcd(i1,i2,i3,i4,i5,i6).id(ide)=czero
	      ENDIF
*endel2
            ENDIF
          ENDDO !ide
        ENDIF
      enddo
      enddo
      enddo
      enddo
      enddo
      ENDDO !i1

      DO i1=1,2
      do i2=1,2
        DO i3=1,2
        do i4=1,2
          DO i5=1,2
          do i6=1,2
            IF (icc.EQ.1.OR.icc.EQ.-1) then
*el2
*el4
              IF(itch.NE.1)THEN
*endel4
                cres=cc1(i1,i2,i3,i4,i5,i6)+cc2(i1,i2,i3,i4,i5,i6)
                IF (icoul.EQ.1.AND.(imix.EQ.1.OR.imix.EQ.2)) THEN
                  res=res+fcoul*(dreal(cres)**2+dimag(cres)**2)*
     &                fatcor_cc
                ENDIF
              ELSE
                cres=czero
	      ENDIF
              IF (icc3.EQ.0) THEN
*el4
                IF(itch.NE.1)THEN
*endel4
                  cres=cres+cc3(i1,i2,i3,i6,i5,i4)+
     &            cc4(i1,i2,i3,i6,i5,i4)+cc5(i1,i2,i5,i4,i3,i6)+
     &            cc6(i1,i2,i5,i4,i3,i6)
                ELSE
                  cres=czero
	        ENDIF
                IF (i3e.EQ.1) THEN
                  cres=cres+cc_3e(i1,i2,i3,i4,i5,i6)
                ENDIF
                IF (i4e.EQ.1) THEN
                  cres=cres+cc_4e(i1,i2,i3,i4,i5,i6)
                ENDIF
              ENDIF !icc3
*endel2
              IF (imix.EQ.1.OR.imix.EQ.2) THEN
                res=res+(dreal(cres)**2+dimag(cres)**2)*fatcor_cc
              ENDIF !imix=1-2
            ENDIF !( solo CC )
            IF (icc.EQ.0.OR.icc.EQ.-1) then
              cres1=-cn_4f(i1,i2,i3,i4,i5,i6).id(0)
              IF (i34e.EQ.1) THEN
                cres1=cres1+cn_34e(i1,i2,i3,i4,i5,i6).id(0)
              ENDIF
              IF (i56ve.EQ.1) THEN
                cres1=cres1+cn_56v(i1,i2,i3,i4,i5,i6).id(0)
                IF (iid.EQ.1) THEN
                  cres1=cres1+cn_34v(i1,i2,i3,i4,i5,i6).id(0)
                ENDIF
              ENDIF !i56ve
              IF (i34e.EQ.1.AND.iid.EQ.1) THEN
                cres1=cres1+cn_56e(i1,i2,i3,i4,i5,i6).id(0)
              ENDIF
              IF (imix.EQ.-1.and.iid.eq.1)then
                res=res+2.d0*dreal(cres1)**2+2.d0*dimag(cres1)**2
              ELSE IF (imix.EQ.-2.or.imix.eq.-1) then
                res=res+dreal(cres1)**2+dimag(cres1)**2
              ENDIF
              IF (iqu.EQ.1) THEN
                rc=2.d0/9.d0
                IF (iid.EQ.1.AND.imix.EQ.-1) then
                  res=res+2.d0*rc*(qcdcoupl**2)*
     &            cn_qcd(i1,i2,i3,i4,i5,i6).id(0)
     &            *conjg(cn_qcd(i1,i2,i3,i4,i5,i6).id(0))*fatcor_nc
                ELSE IF (imix.EQ.-2.or.imix.eq.-1) then
                  res=res+rc*(qcdcoupl**2)*
     &            cn_qcd(i1,i2,i3,i4,i5,i6).id(0)
     &            *conjg(cn_qcd(i1,i2,i3,i4,i5,i6).id(0))*fatcor_nc
                ENDIF
              ENDIF
              IF (icc.EQ.-1) then
                IF (i3q.EQ.1.AND.i5q.EQ.1) THEN
                  rc=1.d0/3.d0
                ELSE
                  rc=1.d0
                ENDIF
              ENDIF !( fine NC )
              IF (imix.EQ.2.OR.imix.EQ.0.OR.imix.EQ.-2) then
                IF (i3q.EQ.1.AND.i5q.EQ.1) THEN
                  rc=1.d0/3.d0
                ELSE
                  rc=1.d0
                ENDIF
                res=res+rc*(cres*conjg(cres1)+cres1*conjg(cres))
     &              *fatcor_ccnc
                IF (iqu.EQ.1) THEN
                  rc1=4.d0/9.d0
                  res=res-rc1*qcdcoupl*(cres*
     &            conjg(cn_qcd(i1,i2,i3,i4,i5,i6).id(0))+
     &            cn_qcd(i1,i2,i3,i4,i5,i6).id(0)*conjg(cres))*
     &            fatcor_nc
                ENDIF
              ENDIF ! fine interferenze NC+CC

              IF (icc.EQ.0.AND.iid.EQ.1) THEN
                  IF (i3q.EQ.1.AND.i5q.EQ.1) THEN
                    rc=1.d0/3.d0
                  ELSE
                    rc=1.d0
                  ENDIF
                  res=res-rc*(cn_4f(i1,i2,i3,i4,i5,i6).id(0)
     &            *conjg(cn_4f(i1,i2,i5,i4,i3,i6).id(1))+
     &            cn_4f(i1,i2,i5,i4,i3,i6).id(1)*
     &            conjg(cn_4f(i1,i2,i3,i4,i5,i6).id(0)))
                  IF (iqu.EQ.1) THEN
                    rc1=2.d0/27.d0
                    rc2=4.d0/9.d0
                    res=res+(qcdcoupl**2)*rc1*(cn_qcd(i1,i2,i3,i4,i5,i6)
     &              .id(0)*conjg(cn_qcd(i1,i2,i5,i4,i3,i6).id(1))+
     &              cn_qcd(i1,i2,i5,i4,i3,i6).id(1)*
     &              conjg(cn_qcd(i1,i2,i3,i4,i5,i6).id(0)))-
     &              rc2*qcdcoupl*(cn_qcd(i1,i2,i3,i4,i5,i6).id(0)*
     &              conjg(cn_4f(i1,i2,i5,i4,i3,i6).id(1))+
     &              cn_4f(i1,i2,i5,i4,i3,i6).id(1)
     &              *conjg(cn_qcd(i1,i2,i3,i4,i5,i6).id(0)))*fatcor_nc
                  ENDIF
                  IF (i34e.EQ.1) THEN
                    res=res-cn_34e(i1,i2,i3,i4,i5,i6).id(0)*
     &                  conjg(cn_34e(i1,i2,i5,i4,i3,i6).id(1))-
     &                  cn_34e(i1,i2,i5,i4,i3,i6).id(1)*
     &                  conjg(cn_34e(i1,i2,i3,i4,i5,i6).id(0))
     &                  -cn_56e(i1,i2,i3,i4,i5,i6).id(0)*
     &                  conjg(cn_56e(i1,i2,i5,i4,i3,i6).id(1))-
     &                  cn_56e(i1,i2,i5,i4,i3,i6).id(1)*
     &                  conjg(cn_56e(i1,i2,i3,i4,i5,i6).id(0))
                  ENDIF

                IF (i34e.EQ.1)THEN
                  res=res-2.d0*cn_34e(i1,i2,i3,i4,i5,i6).id(0)
     &                *conjg(cn_56e(i1,i2,i5,i4,i3,i6).id(1))-
     &                2.d0*cn_56e(i1,i2,i5,i4,i3,i6).id(1)
     &                *conjg(cn_34e(i1,i2,i3,i4,i5,i6).id(0))
                ENDIF
                IF (i34e.EQ.1) THEN
                  res=res+2.d0*cn_4f(i1,i2,i3,i4,i5,i6).id(0)
     &                   *conjg(cn_34e(i1,i2,i5,i4,i3,i6).id(1))
     &                   +2.d0*cn_34e(i1,i2,i5,i4,i3,i6).id(1)
     &                   *conjg(cn_4f(i1,i2,i3,i4,i5,i6).id(0))
     &                   +2.d0*cn_4f(i1,i2,i3,i4,i5,i6).id(0)
     &                   *conjg(cn_56e(i1,i2,i5,i4,i3,i6).id(1))
     &                   +2.d0*cn_56e(i1,i2,i5,i4,i3,i6).id(1)
     &                   *conjg(cn_4f(i1,i2,i3,i4,i5,i6).id(0))
                ENDIF
                IF (i56ve.EQ.1) THEN
                  res=res-cn_56v(i1,i2,i5,i4,i3,i6).id(1)*
     &            conjg(cn_56v(i1,i2,i3,i4,i5,i6).id(0))-
     &            cn_56v(i1,i2,i3,i4,i5,i6).id(0)*
     &            conjg(cn_56v(i1,i2,i5,i4,i3,i6).id(1))-
     &            cn_34v(i1,i2,i5,i4,i3,i6).id(1)*
     &            conjg(cn_34v(i1,i2,i3,i4,i5,i6).id(0))-
     &            cn_34v(i1,i2,i3,i4,i5,i6).id(0)*
     &            conjg(cn_34v(i1,i2,i5,i4,i3,i6).id(1))
     &            -2.d0*cn_56v(i1,i2,i3,i4,i5,i6).id(0)*
     &            conjg(cn_34v(i1,i2,i5,i4,i3,i6).id(1))
     &            -2.d0*cn_34v(i1,i2,i5,i4,i3,i6).id(1)*
     &            conjg(cn_56v(i1,i2,i3,i4,i5,i6).id(0))
     &            +2.d0*cn_4f(i1,i2,i3,i4,i5,i6).id(0)*
     &            conjg(cn_56v(i1,i2,i5,i4,i3,i6).id(1))
     &            +2.d0*cn_4f(i1,i2,i3,i4,i5,i6).id(0)*
     &            conjg(cn_34v(i1,i2,i5,i4,i3,i6).id(1))
     &            +2.d0*cn_56v(i1,i2,i5,i4,i3,i6).id(1)*
     &            conjg(cn_4f(i1,i2,i3,i4,i5,i6).id(0))
     &            +2.d0*cn_34v(i1,i2,i5,i4,i3,i6).id(1)*
     &            conjg(cn_4f(i1,i2,i3,i4,i5,i6).id(0))
                ENDIF !i56ve
              ENDIF !iid=1
            ENDIF ! fine CC + NC
          enddo
          ENDDO !i5
        enddo
        ENDDO !i3
      enddo
      ENDDO !i1

      IF (iid.EQ.1) THEN
        rden=16.d0
      ELSE
        rden=4.d0
      ENDIF
      IF (i3q.EQ.0.AND.i5q.EQ.0) THEN
        rc=1.d0
      ELSE IF ((i3q.EQ.1.AND.i5q.EQ.0).OR.
     &        (i3q.EQ.0.AND.i5q.EQ.1)) THEN
        rc=3.d0
      ELSE IF (i3q.EQ.1.AND.i5q.EQ.1) THEN
        rc=9.d0
      ENDIF
      ee_4fm=rc*res/p1k0/p2k0/p3k0/p4k0/p5k0/p6k0/rden

      IF (istrcor.EQ.1) THEN
        IF ((i3q.EQ.1.AND.i5q.EQ.0).OR.(i3q.EQ.0.AND.i5q.EQ.1)) THEN
          ee_4fm=ee_4fm*(1.d0+qcdcor_nc)
        ELSE IF (i3q.EQ.1.AND.i5q.EQ.1) THEN
          ee_4fm=ee_4fm*(1.d0+2.d0*qcdcor_nc)
        ENDIF
      ENDIF

      RETURN
      END







