anchor.diff:        double precision gradalpha
         DOUBLE PRECISION beta_tmp, alpha_tmp
         LOGICAL not_scalar_a, not_scalar_b
  -      DOUBLE PRECISION gammln
  +      DOUBLE PRECISION gammln, psi
         DOUBLE PRECISION infinity
         PARAMETER (infinity = 1.7976931348623157d308)
   
  
positive.code:      +  - x(i)/(mu_tmp+a_tmp) 
       
          if (not_scalar_a) then 
          	gradlike(i) = grad	
          else
          	gradlike(1) = gradlike(1) + grad
          endif
  
negative.code:       DOUBLE PRECISION x(n), z(n), a(na)
        DOUBLE PRECISION c(nc), loc(nloc), scale(nscale)
        INTEGER i, n, na, nc, nloc, nscale
        DOUBLE PRECISION like, t1
        LOGICAL not_scalar_a, not_scalar_c, not_scalar_scale
        DOUBLE PRECISION aa, cc, sigma, pdf
        DOUBLE PRECISION infinity
  