\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)\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)double f(double z) {
double r120476 = atan2(1.0, 0.0);
double r120477 = z;
double r120478 = r120476 * r120477;
double r120479 = sin(r120478);
double r120480 = r120476 / r120479;
double r120481 = 2.0;
double r120482 = r120476 * r120481;
double r120483 = sqrt(r120482);
double r120484 = 1.0;
double r120485 = r120484 - r120477;
double r120486 = r120485 - r120484;
double r120487 = 7.0;
double r120488 = r120486 + r120487;
double r120489 = 0.5;
double r120490 = r120488 + r120489;
double r120491 = r120486 + r120489;
double r120492 = pow(r120490, r120491);
double r120493 = r120483 * r120492;
double r120494 = -r120490;
double r120495 = exp(r120494);
double r120496 = r120493 * r120495;
double r120497 = 0.9999999999998099;
double r120498 = 676.5203681218851;
double r120499 = r120486 + r120484;
double r120500 = r120498 / r120499;
double r120501 = r120497 + r120500;
double r120502 = -1259.1392167224028;
double r120503 = r120486 + r120481;
double r120504 = r120502 / r120503;
double r120505 = r120501 + r120504;
double r120506 = 771.3234287776531;
double r120507 = 3.0;
double r120508 = r120486 + r120507;
double r120509 = r120506 / r120508;
double r120510 = r120505 + r120509;
double r120511 = -176.6150291621406;
double r120512 = 4.0;
double r120513 = r120486 + r120512;
double r120514 = r120511 / r120513;
double r120515 = r120510 + r120514;
double r120516 = 12.507343278686905;
double r120517 = 5.0;
double r120518 = r120486 + r120517;
double r120519 = r120516 / r120518;
double r120520 = r120515 + r120519;
double r120521 = -0.13857109526572012;
double r120522 = 6.0;
double r120523 = r120486 + r120522;
double r120524 = r120521 / r120523;
double r120525 = r120520 + r120524;
double r120526 = 9.984369578019572e-06;
double r120527 = r120526 / r120488;
double r120528 = r120525 + r120527;
double r120529 = 1.5056327351493116e-07;
double r120530 = 8.0;
double r120531 = r120486 + r120530;
double r120532 = r120529 / r120531;
double r120533 = r120528 + r120532;
double r120534 = r120496 * r120533;
double r120535 = r120480 * r120534;
return r120535;
}
double f(double z) {
double r120536 = atan2(1.0, 0.0);
double r120537 = z;
double r120538 = r120536 * r120537;
double r120539 = sin(r120538);
double r120540 = r120536 / r120539;
double r120541 = 2.0;
double r120542 = r120536 * r120541;
double r120543 = sqrt(r120542);
double r120544 = 1.0;
double r120545 = r120544 - r120537;
double r120546 = r120545 - r120544;
double r120547 = 7.0;
double r120548 = r120546 + r120547;
double r120549 = 0.5;
double r120550 = r120548 + r120549;
double r120551 = r120546 + r120549;
double r120552 = pow(r120550, r120551);
double r120553 = r120543 * r120552;
double r120554 = -r120550;
double r120555 = exp(r120554);
double r120556 = r120553 * r120555;
double r120557 = 0.9999999999998099;
double r120558 = 676.5203681218851;
double r120559 = r120546 + r120544;
double r120560 = r120558 / r120559;
double r120561 = r120557 + r120560;
double r120562 = -1259.1392167224028;
double r120563 = r120546 + r120541;
double r120564 = r120562 / r120563;
double r120565 = r120561 + r120564;
double r120566 = 771.3234287776531;
double r120567 = 3.0;
double r120568 = r120546 + r120567;
double r120569 = r120566 / r120568;
double r120570 = r120565 + r120569;
double r120571 = -176.6150291621406;
double r120572 = 4.0;
double r120573 = r120546 + r120572;
double r120574 = r120571 / r120573;
double r120575 = r120570 + r120574;
double r120576 = 12.507343278686905;
double r120577 = 5.0;
double r120578 = r120546 + r120577;
double r120579 = r120576 / r120578;
double r120580 = r120575 + r120579;
double r120581 = -0.13857109526572012;
double r120582 = 6.0;
double r120583 = r120546 + r120582;
double r120584 = r120581 / r120583;
double r120585 = r120580 + r120584;
double r120586 = 9.984369578019572e-06;
double r120587 = r120586 / r120548;
double r120588 = r120585 + r120587;
double r120589 = 1.5056327351493116e-07;
double r120590 = 8.0;
double r120591 = r120546 + r120590;
double r120592 = r120589 / r120591;
double r120593 = r120588 + r120592;
double r120594 = r120556 * r120593;
double r120595 = r120540 * r120594;
return r120595;
}



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