C VFLRHM    SOURCE    CHAT      05/01/13    04:06:38     5004

      SUBROUTINE VFLRHMCINV (SIGINV,XP,XQ,XT)
      IMPLICIT INTEGER(I-N)
      real*8 p,q,t,xp,xq,xt,siginv(3),cst,snt,aa,bb,
     .       aux,aux2,aux3,ktetMC,derktetMC,syi
      real*8            coh,phi,ar,tmax,aap,aan,bbp,bbn
      common /rhmcdata/ coh,phi,ar,tmax,aap,aan,bbp,bbn
      p  =siginv(1)
      q  =siginv(2)
      xp =sin(phi)/3.D0
      xq =0.D0
      xt =0.D0
      if (abs(q).lt.1.D-17) return
      call Invari_J3_a_t2(q,siginv(3),t)
      cst = cos(t)
      snt = sin(t)
      syi = coh
      aux = ktetMC(t)
      aux2= sqrt(q*aux**2+(ar*syi)**2)
      if (abs(t).gt.tmax) then
        aa = aap
        bb = bbp
        if (t.lt.0.D0) then
         aa = aan
         bb = bbn
        endif
        xq  = aux*(aa+2.D0*bb*sin(3.D0*t))/(2.D0*aux2)
        aux3= 2.D0*aa*q**1.5*sqrt(3.D0)+9.D0*bb*siginv(3)
        xt  = 1.5D0*bb*aux3/q/
     .        sqrt(aux3**2/3.D0+(2.D0*q*ar*syi)**2)
      else
        aux3= derktetMC(t)
        xq  = aux*(aux-tan(3.D0*t)*aux3)/(2.D0*aux2)
        xt  =-sqrt(3.D0)*aux*aux3/(2.D0*aux2*sqrt(q)*cos(3.D0*t))
      endif
      return
      end



