\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.9999999999998099 + \frac{676.5203681218851}{\left(\left(1 - z\right) - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(\left(1 - z\right) - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(\left(1 - z\right) - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(\left(1 - z\right) - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(\left(1 - z\right) - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(\left(1 - z\right) - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(\left(1 - z\right) - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(\left(1 - z\right) - 1\right) + 8}\right)\right)\left(\left(\frac{\pi}{\sin \left(z \cdot \pi\right)} \cdot \frac{\left(1.5056327351493116 \cdot 10^{-07} \cdot \left(\left(1 - z\right) \cdot \left(\left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) \cdot \left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) + \left(\frac{771.3234287776531}{3 - z} \cdot \frac{771.3234287776531}{3 - z} - \left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) \cdot \frac{771.3234287776531}{3 - z}\right)\right)\right) + \left(8 - z\right) \cdot \left(\left(\left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) \cdot \left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) + \left(\frac{771.3234287776531}{3 - z} \cdot \frac{771.3234287776531}{3 - z} - \left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) \cdot \frac{771.3234287776531}{3 - z}\right)\right) \cdot 676.5203681218851 + \left(1 - z\right) \cdot \left({\left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right)}^{3} + {\left(\frac{771.3234287776531}{3 - z}\right)}^{3}\right)\right)\right) \cdot \left(\left(4 - z\right) \cdot \left(\left(\frac{-0.13857109526572012}{6 - z} - \frac{12.507343278686905}{5 - z}\right) \cdot \left(7 - z\right)\right)\right) + \left(\left(4 - z\right) \cdot \left(\left(\frac{-0.13857109526572012}{6 - z} - \frac{12.507343278686905}{5 - z}\right) \cdot 9.984369578019572 \cdot 10^{-06} + \left(\frac{-0.13857109526572012}{6 - z} \cdot \frac{-0.13857109526572012}{6 - z} - \frac{12.507343278686905}{5 - z} \cdot \frac{12.507343278686905}{5 - z}\right) \cdot \left(7 - z\right)\right) + \left(\left(\frac{-0.13857109526572012}{6 - z} - \frac{12.507343278686905}{5 - z}\right) \cdot \left(7 - z\right)\right) \cdot -176.6150291621406\right) \cdot \left(\left(8 - z\right) \cdot \left(\left(1 - z\right) \cdot \left(\left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) \cdot \left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) + \left(\frac{771.3234287776531}{3 - z} \cdot \frac{771.3234287776531}{3 - z} - \left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) \cdot \frac{771.3234287776531}{3 - z}\right)\right)\right)\right)}{\left(\left(4 - z\right) \cdot \left(\left(\frac{-0.13857109526572012}{6 - z} - \frac{12.507343278686905}{5 - z}\right) \cdot \left(7 - z\right)\right)\right) \cdot \left(\left(8 - z\right) \cdot \left(\left(1 - z\right) \cdot \left(\left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) \cdot \left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) + \left(\frac{771.3234287776531}{3 - z} \cdot \frac{771.3234287776531}{3 - z} - \left(\frac{-1259.1392167224028}{2 - z} + 0.9999999999998099\right) \cdot \frac{771.3234287776531}{3 - z}\right)\right)\right)\right)}\right) \cdot \frac{{\left(\left(7 - z\right) + 0.5\right)}^{\left(0.5 + \left(-z\right)\right)}}{e^{\left(7 - z\right) + 0.5}}\right) \cdot \left(\sqrt{\pi} \cdot \sqrt{2}\right)double f(double z) {
double r8381363 = atan2(1.0, 0.0);
double r8381364 = z;
double r8381365 = r8381363 * r8381364;
double r8381366 = sin(r8381365);
double r8381367 = r8381363 / r8381366;
double r8381368 = 2.0;
double r8381369 = r8381363 * r8381368;
double r8381370 = sqrt(r8381369);
double r8381371 = 1.0;
double r8381372 = r8381371 - r8381364;
double r8381373 = r8381372 - r8381371;
double r8381374 = 7.0;
double r8381375 = r8381373 + r8381374;
double r8381376 = 0.5;
double r8381377 = r8381375 + r8381376;
double r8381378 = r8381373 + r8381376;
double r8381379 = pow(r8381377, r8381378);
double r8381380 = r8381370 * r8381379;
double r8381381 = -r8381377;
double r8381382 = exp(r8381381);
double r8381383 = r8381380 * r8381382;
double r8381384 = 0.9999999999998099;
double r8381385 = 676.5203681218851;
double r8381386 = r8381373 + r8381371;
double r8381387 = r8381385 / r8381386;
double r8381388 = r8381384 + r8381387;
double r8381389 = -1259.1392167224028;
double r8381390 = r8381373 + r8381368;
double r8381391 = r8381389 / r8381390;
double r8381392 = r8381388 + r8381391;
double r8381393 = 771.3234287776531;
double r8381394 = 3.0;
double r8381395 = r8381373 + r8381394;
double r8381396 = r8381393 / r8381395;
double r8381397 = r8381392 + r8381396;
double r8381398 = -176.6150291621406;
double r8381399 = 4.0;
double r8381400 = r8381373 + r8381399;
double r8381401 = r8381398 / r8381400;
double r8381402 = r8381397 + r8381401;
double r8381403 = 12.507343278686905;
double r8381404 = 5.0;
double r8381405 = r8381373 + r8381404;
double r8381406 = r8381403 / r8381405;
double r8381407 = r8381402 + r8381406;
double r8381408 = -0.13857109526572012;
double r8381409 = 6.0;
double r8381410 = r8381373 + r8381409;
double r8381411 = r8381408 / r8381410;
double r8381412 = r8381407 + r8381411;
double r8381413 = 9.984369578019572e-06;
double r8381414 = r8381413 / r8381375;
double r8381415 = r8381412 + r8381414;
double r8381416 = 1.5056327351493116e-07;
double r8381417 = 8.0;
double r8381418 = r8381373 + r8381417;
double r8381419 = r8381416 / r8381418;
double r8381420 = r8381415 + r8381419;
double r8381421 = r8381383 * r8381420;
double r8381422 = r8381367 * r8381421;
return r8381422;
}
double f(double z) {
double r8381423 = atan2(1.0, 0.0);
double r8381424 = z;
double r8381425 = r8381424 * r8381423;
double r8381426 = sin(r8381425);
double r8381427 = r8381423 / r8381426;
double r8381428 = 1.5056327351493116e-07;
double r8381429 = 1.0;
double r8381430 = r8381429 - r8381424;
double r8381431 = -1259.1392167224028;
double r8381432 = 2.0;
double r8381433 = r8381432 - r8381424;
double r8381434 = r8381431 / r8381433;
double r8381435 = 0.9999999999998099;
double r8381436 = r8381434 + r8381435;
double r8381437 = r8381436 * r8381436;
double r8381438 = 771.3234287776531;
double r8381439 = 3.0;
double r8381440 = r8381439 - r8381424;
double r8381441 = r8381438 / r8381440;
double r8381442 = r8381441 * r8381441;
double r8381443 = r8381436 * r8381441;
double r8381444 = r8381442 - r8381443;
double r8381445 = r8381437 + r8381444;
double r8381446 = r8381430 * r8381445;
double r8381447 = r8381428 * r8381446;
double r8381448 = 8.0;
double r8381449 = r8381448 - r8381424;
double r8381450 = 676.5203681218851;
double r8381451 = r8381445 * r8381450;
double r8381452 = pow(r8381436, r8381439);
double r8381453 = pow(r8381441, r8381439);
double r8381454 = r8381452 + r8381453;
double r8381455 = r8381430 * r8381454;
double r8381456 = r8381451 + r8381455;
double r8381457 = r8381449 * r8381456;
double r8381458 = r8381447 + r8381457;
double r8381459 = 4.0;
double r8381460 = r8381459 - r8381424;
double r8381461 = -0.13857109526572012;
double r8381462 = 6.0;
double r8381463 = r8381462 - r8381424;
double r8381464 = r8381461 / r8381463;
double r8381465 = 12.507343278686905;
double r8381466 = 5.0;
double r8381467 = r8381466 - r8381424;
double r8381468 = r8381465 / r8381467;
double r8381469 = r8381464 - r8381468;
double r8381470 = 7.0;
double r8381471 = r8381470 - r8381424;
double r8381472 = r8381469 * r8381471;
double r8381473 = r8381460 * r8381472;
double r8381474 = r8381458 * r8381473;
double r8381475 = 9.984369578019572e-06;
double r8381476 = r8381469 * r8381475;
double r8381477 = r8381464 * r8381464;
double r8381478 = r8381468 * r8381468;
double r8381479 = r8381477 - r8381478;
double r8381480 = r8381479 * r8381471;
double r8381481 = r8381476 + r8381480;
double r8381482 = r8381460 * r8381481;
double r8381483 = -176.6150291621406;
double r8381484 = r8381472 * r8381483;
double r8381485 = r8381482 + r8381484;
double r8381486 = r8381449 * r8381446;
double r8381487 = r8381485 * r8381486;
double r8381488 = r8381474 + r8381487;
double r8381489 = r8381473 * r8381486;
double r8381490 = r8381488 / r8381489;
double r8381491 = r8381427 * r8381490;
double r8381492 = 0.5;
double r8381493 = r8381471 + r8381492;
double r8381494 = -r8381424;
double r8381495 = r8381492 + r8381494;
double r8381496 = pow(r8381493, r8381495);
double r8381497 = exp(r8381493);
double r8381498 = r8381496 / r8381497;
double r8381499 = r8381491 * r8381498;
double r8381500 = sqrt(r8381423);
double r8381501 = sqrt(r8381432);
double r8381502 = r8381500 * r8381501;
double r8381503 = r8381499 * r8381502;
return r8381503;
}



Bits error versus z
Results
Initial program 1.8
Simplified1.2
rmApplied sqrt-prod0.8
rmApplied flip-+0.8
Applied frac-add0.8
Applied frac-add0.8
Applied flip3-+0.8
Applied frac-add0.8
Applied frac-add0.8
Applied frac-add0.8
Final simplification0.8
herbie shell --seed 2019164
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ 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))))))