\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.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\left(\frac{\left(\frac{9.984369578019572 \cdot 10^{-06}}{z - -6} + \left(\left(\frac{-0.13857109526572012}{z - -5} + \frac{-176.6150291621406}{z + 3}\right) + \frac{12.507343278686905}{4 + z}\right)\right) + \left(\left(\left(\left(\frac{676.5203681218851}{z} + 0.9999999999998099\right) + \frac{771.3234287776531}{2 + z}\right) + \frac{-1259.1392167224028}{z + 1}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{z - -7}\right)}{e^{0.5}} \cdot \frac{1}{e^{z - -6}}\right) \cdot e^{\log \left(\sqrt{\pi \cdot 2}\right) + \left(z - \left(1 - 0.5\right)\right) \cdot \log \left(\left(z - -6\right) + 0.5\right)}double f(double z) {
double r3235261 = atan2(1.0, 0.0);
double r3235262 = 2.0;
double r3235263 = r3235261 * r3235262;
double r3235264 = sqrt(r3235263);
double r3235265 = z;
double r3235266 = 1.0;
double r3235267 = r3235265 - r3235266;
double r3235268 = 7.0;
double r3235269 = r3235267 + r3235268;
double r3235270 = 0.5;
double r3235271 = r3235269 + r3235270;
double r3235272 = r3235267 + r3235270;
double r3235273 = pow(r3235271, r3235272);
double r3235274 = r3235264 * r3235273;
double r3235275 = -r3235271;
double r3235276 = exp(r3235275);
double r3235277 = r3235274 * r3235276;
double r3235278 = 0.9999999999998099;
double r3235279 = 676.5203681218851;
double r3235280 = r3235267 + r3235266;
double r3235281 = r3235279 / r3235280;
double r3235282 = r3235278 + r3235281;
double r3235283 = -1259.1392167224028;
double r3235284 = r3235267 + r3235262;
double r3235285 = r3235283 / r3235284;
double r3235286 = r3235282 + r3235285;
double r3235287 = 771.3234287776531;
double r3235288 = 3.0;
double r3235289 = r3235267 + r3235288;
double r3235290 = r3235287 / r3235289;
double r3235291 = r3235286 + r3235290;
double r3235292 = -176.6150291621406;
double r3235293 = 4.0;
double r3235294 = r3235267 + r3235293;
double r3235295 = r3235292 / r3235294;
double r3235296 = r3235291 + r3235295;
double r3235297 = 12.507343278686905;
double r3235298 = 5.0;
double r3235299 = r3235267 + r3235298;
double r3235300 = r3235297 / r3235299;
double r3235301 = r3235296 + r3235300;
double r3235302 = -0.13857109526572012;
double r3235303 = 6.0;
double r3235304 = r3235267 + r3235303;
double r3235305 = r3235302 / r3235304;
double r3235306 = r3235301 + r3235305;
double r3235307 = 9.984369578019572e-06;
double r3235308 = r3235307 / r3235269;
double r3235309 = r3235306 + r3235308;
double r3235310 = 1.5056327351493116e-07;
double r3235311 = 8.0;
double r3235312 = r3235267 + r3235311;
double r3235313 = r3235310 / r3235312;
double r3235314 = r3235309 + r3235313;
double r3235315 = r3235277 * r3235314;
return r3235315;
}
double f(double z) {
double r3235316 = 9.984369578019572e-06;
double r3235317 = z;
double r3235318 = -6.0;
double r3235319 = r3235317 - r3235318;
double r3235320 = r3235316 / r3235319;
double r3235321 = -0.13857109526572012;
double r3235322 = -5.0;
double r3235323 = r3235317 - r3235322;
double r3235324 = r3235321 / r3235323;
double r3235325 = -176.6150291621406;
double r3235326 = 3.0;
double r3235327 = r3235317 + r3235326;
double r3235328 = r3235325 / r3235327;
double r3235329 = r3235324 + r3235328;
double r3235330 = 12.507343278686905;
double r3235331 = 4.0;
double r3235332 = r3235331 + r3235317;
double r3235333 = r3235330 / r3235332;
double r3235334 = r3235329 + r3235333;
double r3235335 = r3235320 + r3235334;
double r3235336 = 676.5203681218851;
double r3235337 = r3235336 / r3235317;
double r3235338 = 0.9999999999998099;
double r3235339 = r3235337 + r3235338;
double r3235340 = 771.3234287776531;
double r3235341 = 2.0;
double r3235342 = r3235341 + r3235317;
double r3235343 = r3235340 / r3235342;
double r3235344 = r3235339 + r3235343;
double r3235345 = -1259.1392167224028;
double r3235346 = 1.0;
double r3235347 = r3235317 + r3235346;
double r3235348 = r3235345 / r3235347;
double r3235349 = r3235344 + r3235348;
double r3235350 = 1.5056327351493116e-07;
double r3235351 = -7.0;
double r3235352 = r3235317 - r3235351;
double r3235353 = r3235350 / r3235352;
double r3235354 = r3235349 + r3235353;
double r3235355 = r3235335 + r3235354;
double r3235356 = 0.5;
double r3235357 = exp(r3235356);
double r3235358 = r3235355 / r3235357;
double r3235359 = exp(r3235319);
double r3235360 = r3235346 / r3235359;
double r3235361 = r3235358 * r3235360;
double r3235362 = atan2(1.0, 0.0);
double r3235363 = r3235362 * r3235341;
double r3235364 = sqrt(r3235363);
double r3235365 = log(r3235364);
double r3235366 = r3235346 - r3235356;
double r3235367 = r3235317 - r3235366;
double r3235368 = r3235319 + r3235356;
double r3235369 = log(r3235368);
double r3235370 = r3235367 * r3235369;
double r3235371 = r3235365 + r3235370;
double r3235372 = exp(r3235371);
double r3235373 = r3235361 * r3235372;
return r3235373;
}



Bits error versus z
Results
Initial program 59.9
Simplified0.9
rmApplied add-exp-log0.9
Applied add-exp-log0.9
Applied prod-exp0.9
Simplified0.9
rmApplied exp-sum0.9
Applied *-un-lft-identity0.9
Applied times-frac0.9
Final simplification0.9
herbie shell --seed 2019153
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
(* (* (* (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)))))