\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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\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.99999999999980993 + \frac{676.520368121885099}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.13921672240281}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.32342877765313}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.615029162140587}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.5073432786869052}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.138571095265720118}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.98436957801957158 \cdot 10^{-6}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.50563273514931162 \cdot 10^{-7}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)double f(double z) {
double r112453 = atan2(1.0, 0.0);
double r112454 = z;
double r112455 = r112453 * r112454;
double r112456 = sin(r112455);
double r112457 = r112453 / r112456;
double r112458 = 2.0;
double r112459 = r112453 * r112458;
double r112460 = sqrt(r112459);
double r112461 = 1.0;
double r112462 = r112461 - r112454;
double r112463 = r112462 - r112461;
double r112464 = 7.0;
double r112465 = r112463 + r112464;
double r112466 = 0.5;
double r112467 = r112465 + r112466;
double r112468 = r112463 + r112466;
double r112469 = pow(r112467, r112468);
double r112470 = r112460 * r112469;
double r112471 = -r112467;
double r112472 = exp(r112471);
double r112473 = r112470 * r112472;
double r112474 = 0.9999999999998099;
double r112475 = 676.5203681218851;
double r112476 = r112463 + r112461;
double r112477 = r112475 / r112476;
double r112478 = r112474 + r112477;
double r112479 = -1259.1392167224028;
double r112480 = r112463 + r112458;
double r112481 = r112479 / r112480;
double r112482 = r112478 + r112481;
double r112483 = 771.3234287776531;
double r112484 = 3.0;
double r112485 = r112463 + r112484;
double r112486 = r112483 / r112485;
double r112487 = r112482 + r112486;
double r112488 = -176.6150291621406;
double r112489 = 4.0;
double r112490 = r112463 + r112489;
double r112491 = r112488 / r112490;
double r112492 = r112487 + r112491;
double r112493 = 12.507343278686905;
double r112494 = 5.0;
double r112495 = r112463 + r112494;
double r112496 = r112493 / r112495;
double r112497 = r112492 + r112496;
double r112498 = -0.13857109526572012;
double r112499 = 6.0;
double r112500 = r112463 + r112499;
double r112501 = r112498 / r112500;
double r112502 = r112497 + r112501;
double r112503 = 9.984369578019572e-06;
double r112504 = r112503 / r112465;
double r112505 = r112502 + r112504;
double r112506 = 1.5056327351493116e-07;
double r112507 = 8.0;
double r112508 = r112463 + r112507;
double r112509 = r112506 / r112508;
double r112510 = r112505 + r112509;
double r112511 = r112473 * r112510;
double r112512 = r112457 * r112511;
return r112512;
}
double f(double z) {
double r112513 = atan2(1.0, 0.0);
double r112514 = z;
double r112515 = r112513 * r112514;
double r112516 = sin(r112515);
double r112517 = r112513 / r112516;
double r112518 = 2.0;
double r112519 = r112513 * r112518;
double r112520 = sqrt(r112519);
double r112521 = 1.0;
double r112522 = r112521 - r112514;
double r112523 = r112522 - r112521;
double r112524 = 7.0;
double r112525 = r112523 + r112524;
double r112526 = 0.5;
double r112527 = r112525 + r112526;
double r112528 = r112523 + r112526;
double r112529 = pow(r112527, r112528);
double r112530 = r112520 * r112529;
double r112531 = -r112527;
double r112532 = exp(r112531);
double r112533 = r112530 * r112532;
double r112534 = 0.9999999999998099;
double r112535 = 676.5203681218851;
double r112536 = r112523 + r112521;
double r112537 = r112535 / r112536;
double r112538 = r112534 + r112537;
double r112539 = -1259.1392167224028;
double r112540 = r112523 + r112518;
double r112541 = r112539 / r112540;
double r112542 = r112538 + r112541;
double r112543 = 771.3234287776531;
double r112544 = 3.0;
double r112545 = r112523 + r112544;
double r112546 = r112543 / r112545;
double r112547 = r112542 + r112546;
double r112548 = -176.6150291621406;
double r112549 = 4.0;
double r112550 = r112523 + r112549;
double r112551 = r112548 / r112550;
double r112552 = r112547 + r112551;
double r112553 = 12.507343278686905;
double r112554 = 5.0;
double r112555 = r112523 + r112554;
double r112556 = r112553 / r112555;
double r112557 = r112552 + r112556;
double r112558 = -0.13857109526572012;
double r112559 = 6.0;
double r112560 = r112523 + r112559;
double r112561 = r112558 / r112560;
double r112562 = r112557 + r112561;
double r112563 = 9.984369578019572e-06;
double r112564 = r112563 / r112525;
double r112565 = r112562 + r112564;
double r112566 = 1.5056327351493116e-07;
double r112567 = 8.0;
double r112568 = r112523 + r112567;
double r112569 = r112566 / r112568;
double r112570 = r112565 + r112569;
double r112571 = r112533 * r112570;
double r112572 = r112517 * r112571;
return r112572;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2020021
(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))))))