\frac{\pi}{\sin \left(\pi \cdot z\right)} \cdot \left(\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5\right)}^{\left(\left(\left(1 - z\right) - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(\left(1 - z\right) - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.139216722402807135949842631816864014}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621405870046146446838974952698}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.50734327868690520801919774385169148445}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.1385710952657201178173096423051902092993}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\sqrt{\pi \cdot 2} \cdot \frac{\left(\frac{{\left(\left(7 - z\right) + 0.5\right)}^{\left(0.5 - z\right)}}{e^{\left(7 - z\right) + 0.5}} \cdot \pi\right) \cdot \left(\left(\left(\frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{8 - z} + \frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{7 - z}\right) + \left(\frac{12.50734327868690520801919774385169148445}{5 - z} + \left(\frac{-1259.139216722402807135949842631816864014}{2 - z} + \left(\left(\frac{771.3234287776531346025876700878143310547}{\left(-z\right) + 3} + \left(0.9999999999998099298181841732002794742584 + \frac{676.5203681218850988443591631948947906494}{1 - z}\right)\right) + \frac{-0.1385710952657201178173096423051902092993}{6 - z}\right)\right)\right)\right) + \frac{-176.6150291621405870046146446838974952698}{4 - z}\right)}{\sin \left(\pi \cdot z\right)}double f(double z) {
double r379379 = atan2(1.0, 0.0);
double r379380 = z;
double r379381 = r379379 * r379380;
double r379382 = sin(r379381);
double r379383 = r379379 / r379382;
double r379384 = 2.0;
double r379385 = r379379 * r379384;
double r379386 = sqrt(r379385);
double r379387 = 1.0;
double r379388 = r379387 - r379380;
double r379389 = r379388 - r379387;
double r379390 = 7.0;
double r379391 = r379389 + r379390;
double r379392 = 0.5;
double r379393 = r379391 + r379392;
double r379394 = r379389 + r379392;
double r379395 = pow(r379393, r379394);
double r379396 = r379386 * r379395;
double r379397 = -r379393;
double r379398 = exp(r379397);
double r379399 = r379396 * r379398;
double r379400 = 0.9999999999998099;
double r379401 = 676.5203681218851;
double r379402 = r379389 + r379387;
double r379403 = r379401 / r379402;
double r379404 = r379400 + r379403;
double r379405 = -1259.1392167224028;
double r379406 = r379389 + r379384;
double r379407 = r379405 / r379406;
double r379408 = r379404 + r379407;
double r379409 = 771.3234287776531;
double r379410 = 3.0;
double r379411 = r379389 + r379410;
double r379412 = r379409 / r379411;
double r379413 = r379408 + r379412;
double r379414 = -176.6150291621406;
double r379415 = 4.0;
double r379416 = r379389 + r379415;
double r379417 = r379414 / r379416;
double r379418 = r379413 + r379417;
double r379419 = 12.507343278686905;
double r379420 = 5.0;
double r379421 = r379389 + r379420;
double r379422 = r379419 / r379421;
double r379423 = r379418 + r379422;
double r379424 = -0.13857109526572012;
double r379425 = 6.0;
double r379426 = r379389 + r379425;
double r379427 = r379424 / r379426;
double r379428 = r379423 + r379427;
double r379429 = 9.984369578019572e-06;
double r379430 = r379429 / r379391;
double r379431 = r379428 + r379430;
double r379432 = 1.5056327351493116e-07;
double r379433 = 8.0;
double r379434 = r379389 + r379433;
double r379435 = r379432 / r379434;
double r379436 = r379431 + r379435;
double r379437 = r379399 * r379436;
double r379438 = r379383 * r379437;
return r379438;
}
double f(double z) {
double r379439 = atan2(1.0, 0.0);
double r379440 = 2.0;
double r379441 = r379439 * r379440;
double r379442 = sqrt(r379441);
double r379443 = 7.0;
double r379444 = z;
double r379445 = r379443 - r379444;
double r379446 = 0.5;
double r379447 = r379445 + r379446;
double r379448 = r379446 - r379444;
double r379449 = pow(r379447, r379448);
double r379450 = exp(r379447);
double r379451 = r379449 / r379450;
double r379452 = r379451 * r379439;
double r379453 = 1.5056327351493116e-07;
double r379454 = 8.0;
double r379455 = r379454 - r379444;
double r379456 = r379453 / r379455;
double r379457 = 9.984369578019572e-06;
double r379458 = r379457 / r379445;
double r379459 = r379456 + r379458;
double r379460 = 12.507343278686905;
double r379461 = 5.0;
double r379462 = r379461 - r379444;
double r379463 = r379460 / r379462;
double r379464 = -1259.1392167224028;
double r379465 = r379440 - r379444;
double r379466 = r379464 / r379465;
double r379467 = 771.3234287776531;
double r379468 = -r379444;
double r379469 = 3.0;
double r379470 = r379468 + r379469;
double r379471 = r379467 / r379470;
double r379472 = 0.9999999999998099;
double r379473 = 676.5203681218851;
double r379474 = 1.0;
double r379475 = r379474 - r379444;
double r379476 = r379473 / r379475;
double r379477 = r379472 + r379476;
double r379478 = r379471 + r379477;
double r379479 = -0.13857109526572012;
double r379480 = 6.0;
double r379481 = r379480 - r379444;
double r379482 = r379479 / r379481;
double r379483 = r379478 + r379482;
double r379484 = r379466 + r379483;
double r379485 = r379463 + r379484;
double r379486 = r379459 + r379485;
double r379487 = -176.6150291621406;
double r379488 = 4.0;
double r379489 = r379488 - r379444;
double r379490 = r379487 / r379489;
double r379491 = r379486 + r379490;
double r379492 = r379452 * r379491;
double r379493 = r379439 * r379444;
double r379494 = sin(r379493);
double r379495 = r379492 / r379494;
double r379496 = r379442 * r379495;
return r379496;
}



Bits error versus z
Results
Initial program 1.8
Simplified1.4
rmApplied associate-*l/1.4
Applied associate-*r/1.1
Simplified0.4
Final simplification0.4
herbie shell --seed 2019325
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
:precision binary64
(* (/ PI (sin (* PI z))) (* (* (* (sqrt (* PI 2)) (pow (+ (+ (- (- 1 z) 1) 7) 0.5) (+ (- (- 1 z) 1) 0.5))) (exp (- (+ (+ (- (- 1 z) 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- (- 1 z) 1) 1))) (/ -1259.1392167224028 (+ (- (- 1 z) 1) 2))) (/ 771.3234287776531 (+ (- (- 1 z) 1) 3))) (/ -176.6150291621406 (+ (- (- 1 z) 1) 4))) (/ 12.507343278686905 (+ (- (- 1 z) 1) 5))) (/ -0.13857109526572012 (+ (- (- 1 z) 1) 6))) (/ 9.984369578019572e-06 (+ (- (- 1 z) 1) 7))) (/ 1.5056327351493116e-07 (+ (- (- 1 z) 1) 8))))))