\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 r133390 = atan2(1.0, 0.0);
double r133391 = z;
double r133392 = r133390 * r133391;
double r133393 = sin(r133392);
double r133394 = r133390 / r133393;
double r133395 = 2.0;
double r133396 = r133390 * r133395;
double r133397 = sqrt(r133396);
double r133398 = 1.0;
double r133399 = r133398 - r133391;
double r133400 = r133399 - r133398;
double r133401 = 7.0;
double r133402 = r133400 + r133401;
double r133403 = 0.5;
double r133404 = r133402 + r133403;
double r133405 = r133400 + r133403;
double r133406 = pow(r133404, r133405);
double r133407 = r133397 * r133406;
double r133408 = -r133404;
double r133409 = exp(r133408);
double r133410 = r133407 * r133409;
double r133411 = 0.9999999999998099;
double r133412 = 676.5203681218851;
double r133413 = r133400 + r133398;
double r133414 = r133412 / r133413;
double r133415 = r133411 + r133414;
double r133416 = -1259.1392167224028;
double r133417 = r133400 + r133395;
double r133418 = r133416 / r133417;
double r133419 = r133415 + r133418;
double r133420 = 771.3234287776531;
double r133421 = 3.0;
double r133422 = r133400 + r133421;
double r133423 = r133420 / r133422;
double r133424 = r133419 + r133423;
double r133425 = -176.6150291621406;
double r133426 = 4.0;
double r133427 = r133400 + r133426;
double r133428 = r133425 / r133427;
double r133429 = r133424 + r133428;
double r133430 = 12.507343278686905;
double r133431 = 5.0;
double r133432 = r133400 + r133431;
double r133433 = r133430 / r133432;
double r133434 = r133429 + r133433;
double r133435 = -0.13857109526572012;
double r133436 = 6.0;
double r133437 = r133400 + r133436;
double r133438 = r133435 / r133437;
double r133439 = r133434 + r133438;
double r133440 = 9.984369578019572e-06;
double r133441 = r133440 / r133402;
double r133442 = r133439 + r133441;
double r133443 = 1.5056327351493116e-07;
double r133444 = 8.0;
double r133445 = r133400 + r133444;
double r133446 = r133443 / r133445;
double r133447 = r133442 + r133446;
double r133448 = r133410 * r133447;
double r133449 = r133394 * r133448;
return r133449;
}
double f(double z) {
double r133450 = atan2(1.0, 0.0);
double r133451 = z;
double r133452 = r133450 * r133451;
double r133453 = sin(r133452);
double r133454 = r133450 / r133453;
double r133455 = 2.0;
double r133456 = r133450 * r133455;
double r133457 = sqrt(r133456);
double r133458 = 1.0;
double r133459 = r133458 - r133451;
double r133460 = r133459 - r133458;
double r133461 = 7.0;
double r133462 = r133460 + r133461;
double r133463 = 0.5;
double r133464 = r133462 + r133463;
double r133465 = r133460 + r133463;
double r133466 = pow(r133464, r133465);
double r133467 = r133457 * r133466;
double r133468 = -r133464;
double r133469 = exp(r133468);
double r133470 = r133467 * r133469;
double r133471 = 0.9999999999998099;
double r133472 = 676.5203681218851;
double r133473 = r133460 + r133458;
double r133474 = r133472 / r133473;
double r133475 = r133471 + r133474;
double r133476 = -1259.1392167224028;
double r133477 = r133460 + r133455;
double r133478 = r133476 / r133477;
double r133479 = r133475 + r133478;
double r133480 = 771.3234287776531;
double r133481 = 3.0;
double r133482 = r133460 + r133481;
double r133483 = r133480 / r133482;
double r133484 = r133479 + r133483;
double r133485 = -176.6150291621406;
double r133486 = 4.0;
double r133487 = r133460 + r133486;
double r133488 = r133485 / r133487;
double r133489 = r133484 + r133488;
double r133490 = 12.507343278686905;
double r133491 = 5.0;
double r133492 = r133460 + r133491;
double r133493 = r133490 / r133492;
double r133494 = r133489 + r133493;
double r133495 = -0.13857109526572012;
double r133496 = 6.0;
double r133497 = r133460 + r133496;
double r133498 = r133495 / r133497;
double r133499 = r133494 + r133498;
double r133500 = 9.984369578019572e-06;
double r133501 = r133500 / r133462;
double r133502 = r133499 + r133501;
double r133503 = 1.5056327351493116e-07;
double r133504 = 8.0;
double r133505 = r133460 + r133504;
double r133506 = r133503 / r133505;
double r133507 = r133502 + r133506;
double r133508 = r133470 * r133507;
double r133509 = r133454 * r133508;
return r133509;
}



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