\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.99999999999980993 + \frac{676.520368121885099}{\left(z - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(z - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(z - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(z - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(z - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(z - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(z - 1\right) + 7}\right) + \frac{1.50563273514931162 \cdot 10^{-7}}{\left(z - 1\right) + 8}\right)\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot \mathsf{fma}\left(676.520368121885099, \frac{1}{z \cdot e^{6.5}}, 2351.6663247613023 \cdot \frac{z}{e^{6.5}} - 1604.7704235566525 \cdot \frac{1}{e^{6.5}}\right)double f(double z) {
double r157162 = atan2(1.0, 0.0);
double r157163 = 2.0;
double r157164 = r157162 * r157163;
double r157165 = sqrt(r157164);
double r157166 = z;
double r157167 = 1.0;
double r157168 = r157166 - r157167;
double r157169 = 7.0;
double r157170 = r157168 + r157169;
double r157171 = 0.5;
double r157172 = r157170 + r157171;
double r157173 = r157168 + r157171;
double r157174 = pow(r157172, r157173);
double r157175 = r157165 * r157174;
double r157176 = -r157172;
double r157177 = exp(r157176);
double r157178 = r157175 * r157177;
double r157179 = 0.9999999999998099;
double r157180 = 676.5203681218851;
double r157181 = r157168 + r157167;
double r157182 = r157180 / r157181;
double r157183 = r157179 + r157182;
double r157184 = -1259.1392167224028;
double r157185 = r157168 + r157163;
double r157186 = r157184 / r157185;
double r157187 = r157183 + r157186;
double r157188 = 771.3234287776531;
double r157189 = 3.0;
double r157190 = r157168 + r157189;
double r157191 = r157188 / r157190;
double r157192 = r157187 + r157191;
double r157193 = -176.6150291621406;
double r157194 = 4.0;
double r157195 = r157168 + r157194;
double r157196 = r157193 / r157195;
double r157197 = r157192 + r157196;
double r157198 = 12.507343278686905;
double r157199 = 5.0;
double r157200 = r157168 + r157199;
double r157201 = r157198 / r157200;
double r157202 = r157197 + r157201;
double r157203 = -0.13857109526572012;
double r157204 = 6.0;
double r157205 = r157168 + r157204;
double r157206 = r157203 / r157205;
double r157207 = r157202 + r157206;
double r157208 = 9.984369578019572e-06;
double r157209 = r157208 / r157170;
double r157210 = r157207 + r157209;
double r157211 = 1.5056327351493116e-07;
double r157212 = 8.0;
double r157213 = r157168 + r157212;
double r157214 = r157211 / r157213;
double r157215 = r157210 + r157214;
double r157216 = r157178 * r157215;
return r157216;
}
double f(double z) {
double r157217 = atan2(1.0, 0.0);
double r157218 = 2.0;
double r157219 = r157217 * r157218;
double r157220 = sqrt(r157219);
double r157221 = z;
double r157222 = 1.0;
double r157223 = r157221 - r157222;
double r157224 = 7.0;
double r157225 = r157223 + r157224;
double r157226 = 0.5;
double r157227 = r157225 + r157226;
double r157228 = r157223 + r157226;
double r157229 = pow(r157227, r157228);
double r157230 = r157220 * r157229;
double r157231 = 676.5203681218851;
double r157232 = 1.0;
double r157233 = 6.5;
double r157234 = exp(r157233);
double r157235 = r157221 * r157234;
double r157236 = r157232 / r157235;
double r157237 = 2351.6663247613023;
double r157238 = r157221 / r157234;
double r157239 = r157237 * r157238;
double r157240 = 1604.7704235566525;
double r157241 = r157232 / r157234;
double r157242 = r157240 * r157241;
double r157243 = r157239 - r157242;
double r157244 = fma(r157231, r157236, r157243);
double r157245 = r157230 * r157244;
return r157245;
}



Bits error versus z
Initial program 61.7
Simplified61.7
rmApplied sub-neg61.7
Applied associate-+l+1.0
Simplified1.0
rmApplied *-un-lft-identity1.0
Applied times-frac1.0
Simplified1.0
Taylor expanded around 0 1.3
Simplified1.2
Final simplification1.2
herbie shell --seed 2020060 +o rules:numerics
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
:precision binary64
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))