\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)\frac{\left(\frac{9.984369578019572 \cdot 10^{-06}}{z - -6} + \left(\frac{12.507343278686905}{z + 4} + \left(\frac{-176.6150291621406}{3 + z} + \frac{-0.13857109526572012}{z - -5}\right)\right)\right) + \left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{z}\right) + \frac{771.3234287776531}{z + 2}\right) + \frac{-1259.1392167224028}{1 + z}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{z - -7}\right)}{e^{0.5 + \left(z - -6\right)}} \cdot \left(\sqrt{\pi \cdot 2} \cdot {\left(0.5 + \left(z - -6\right)\right)}^{\left(0.5 + \left(z - 1\right)\right)}\right)double f(double z) {
double r2907280 = atan2(1.0, 0.0);
double r2907281 = 2.0;
double r2907282 = r2907280 * r2907281;
double r2907283 = sqrt(r2907282);
double r2907284 = z;
double r2907285 = 1.0;
double r2907286 = r2907284 - r2907285;
double r2907287 = 7.0;
double r2907288 = r2907286 + r2907287;
double r2907289 = 0.5;
double r2907290 = r2907288 + r2907289;
double r2907291 = r2907286 + r2907289;
double r2907292 = pow(r2907290, r2907291);
double r2907293 = r2907283 * r2907292;
double r2907294 = -r2907290;
double r2907295 = exp(r2907294);
double r2907296 = r2907293 * r2907295;
double r2907297 = 0.9999999999998099;
double r2907298 = 676.5203681218851;
double r2907299 = r2907286 + r2907285;
double r2907300 = r2907298 / r2907299;
double r2907301 = r2907297 + r2907300;
double r2907302 = -1259.1392167224028;
double r2907303 = r2907286 + r2907281;
double r2907304 = r2907302 / r2907303;
double r2907305 = r2907301 + r2907304;
double r2907306 = 771.3234287776531;
double r2907307 = 3.0;
double r2907308 = r2907286 + r2907307;
double r2907309 = r2907306 / r2907308;
double r2907310 = r2907305 + r2907309;
double r2907311 = -176.6150291621406;
double r2907312 = 4.0;
double r2907313 = r2907286 + r2907312;
double r2907314 = r2907311 / r2907313;
double r2907315 = r2907310 + r2907314;
double r2907316 = 12.507343278686905;
double r2907317 = 5.0;
double r2907318 = r2907286 + r2907317;
double r2907319 = r2907316 / r2907318;
double r2907320 = r2907315 + r2907319;
double r2907321 = -0.13857109526572012;
double r2907322 = 6.0;
double r2907323 = r2907286 + r2907322;
double r2907324 = r2907321 / r2907323;
double r2907325 = r2907320 + r2907324;
double r2907326 = 9.984369578019572e-06;
double r2907327 = r2907326 / r2907288;
double r2907328 = r2907325 + r2907327;
double r2907329 = 1.5056327351493116e-07;
double r2907330 = 8.0;
double r2907331 = r2907286 + r2907330;
double r2907332 = r2907329 / r2907331;
double r2907333 = r2907328 + r2907332;
double r2907334 = r2907296 * r2907333;
return r2907334;
}
double f(double z) {
double r2907335 = 9.984369578019572e-06;
double r2907336 = z;
double r2907337 = -6.0;
double r2907338 = r2907336 - r2907337;
double r2907339 = r2907335 / r2907338;
double r2907340 = 12.507343278686905;
double r2907341 = 4.0;
double r2907342 = r2907336 + r2907341;
double r2907343 = r2907340 / r2907342;
double r2907344 = -176.6150291621406;
double r2907345 = 3.0;
double r2907346 = r2907345 + r2907336;
double r2907347 = r2907344 / r2907346;
double r2907348 = -0.13857109526572012;
double r2907349 = -5.0;
double r2907350 = r2907336 - r2907349;
double r2907351 = r2907348 / r2907350;
double r2907352 = r2907347 + r2907351;
double r2907353 = r2907343 + r2907352;
double r2907354 = r2907339 + r2907353;
double r2907355 = 0.9999999999998099;
double r2907356 = 676.5203681218851;
double r2907357 = r2907356 / r2907336;
double r2907358 = r2907355 + r2907357;
double r2907359 = 771.3234287776531;
double r2907360 = 2.0;
double r2907361 = r2907336 + r2907360;
double r2907362 = r2907359 / r2907361;
double r2907363 = r2907358 + r2907362;
double r2907364 = -1259.1392167224028;
double r2907365 = 1.0;
double r2907366 = r2907365 + r2907336;
double r2907367 = r2907364 / r2907366;
double r2907368 = r2907363 + r2907367;
double r2907369 = 1.5056327351493116e-07;
double r2907370 = -7.0;
double r2907371 = r2907336 - r2907370;
double r2907372 = r2907369 / r2907371;
double r2907373 = r2907368 + r2907372;
double r2907374 = r2907354 + r2907373;
double r2907375 = 0.5;
double r2907376 = r2907375 + r2907338;
double r2907377 = exp(r2907376);
double r2907378 = r2907374 / r2907377;
double r2907379 = atan2(1.0, 0.0);
double r2907380 = r2907379 * r2907360;
double r2907381 = sqrt(r2907380);
double r2907382 = r2907336 - r2907365;
double r2907383 = r2907375 + r2907382;
double r2907384 = pow(r2907376, r2907383);
double r2907385 = r2907381 * r2907384;
double r2907386 = r2907378 * r2907385;
return r2907386;
}



Bits error versus z
Results
Initial program 60.0
Simplified0.9
Final simplification0.9
herbie shell --seed 2019152
(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)))))