GPFUN__ln_dgamma = "_ln_dgamma(x, a, b) = a*log(b) - lgamma(a) + (a-1)*log(x) - b*x"
GPFUN_pgamma = "pgamma(x, shape, rate) = (x<0)? 0 : igamma(shape, x*rate)"
GPFUN_dgamma = "dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))"
GPFUN__ln_dgamma = "_ln_dgamma(x, a, b) = a*log(b) - lgamma(a) + (a-1)*log(x) - b*x"
GPFUN_pgamma = "pgamma(x, shape, rate) = (x<0)? 0 : igamma(shape, x*rate)"
GPFUN_dgamma = "dgamma(x, shape, rate) = (x<0)? 0 : (x==0)? ((shape<1)? 1/0 : (shape==1)? rate : 0) : (rate==0)? 0 : exp(_ln_dgamma(x, shape, rate))"