      subroutine gg_h_v(p,alphas,musq,born,virt)
      implicit none
      integer j,k
      double precision musq, born, virt
      double precision pi,pisq,pisqo6
      parameter(pi=3.14159265358979d0,pisq=pi*pi,pisqo6=pisq/6d0)
      double precision alphas, ason2pi
      double precision cf, xn, nf
      parameter(cf=4d0/3d0)
      parameter(xn=3d0)
      parameter(nf=5d0)
      double precision epinv, epinv2
      common/to_poles/epinv, epinv2
      double precision p(0:4, 4)
      double precision s, xl12, dot

      s = 2d0* dot(p(0,1), p(0,2))

      ason2pi=alphas/(2d0*pi)

c--sum of virtual diagram in DRED and UV counterterm including 
C--term required to bring into the MSbar scheme
c      scheme='dred'

      virt=ason2pi*xn*2d0*(
     .  -epinv*(epinv2-xl12)-0.5d0*xl12**2+11d0/6d0+0.5d0*pisq
     .  -((11d0-2d0*nf/xn)*epinv-1d0)/6d0)

      virt=virt*born
      return
      end
     
