\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 r130351 = atan2(1.0, 0.0);
double r130352 = z;
double r130353 = r130351 * r130352;
double r130354 = sin(r130353);
double r130355 = r130351 / r130354;
double r130356 = 2.0;
double r130357 = r130351 * r130356;
double r130358 = sqrt(r130357);
double r130359 = 1.0;
double r130360 = r130359 - r130352;
double r130361 = r130360 - r130359;
double r130362 = 7.0;
double r130363 = r130361 + r130362;
double r130364 = 0.5;
double r130365 = r130363 + r130364;
double r130366 = r130361 + r130364;
double r130367 = pow(r130365, r130366);
double r130368 = r130358 * r130367;
double r130369 = -r130365;
double r130370 = exp(r130369);
double r130371 = r130368 * r130370;
double r130372 = 0.9999999999998099;
double r130373 = 676.5203681218851;
double r130374 = r130361 + r130359;
double r130375 = r130373 / r130374;
double r130376 = r130372 + r130375;
double r130377 = -1259.1392167224028;
double r130378 = r130361 + r130356;
double r130379 = r130377 / r130378;
double r130380 = r130376 + r130379;
double r130381 = 771.3234287776531;
double r130382 = 3.0;
double r130383 = r130361 + r130382;
double r130384 = r130381 / r130383;
double r130385 = r130380 + r130384;
double r130386 = -176.6150291621406;
double r130387 = 4.0;
double r130388 = r130361 + r130387;
double r130389 = r130386 / r130388;
double r130390 = r130385 + r130389;
double r130391 = 12.507343278686905;
double r130392 = 5.0;
double r130393 = r130361 + r130392;
double r130394 = r130391 / r130393;
double r130395 = r130390 + r130394;
double r130396 = -0.13857109526572012;
double r130397 = 6.0;
double r130398 = r130361 + r130397;
double r130399 = r130396 / r130398;
double r130400 = r130395 + r130399;
double r130401 = 9.984369578019572e-06;
double r130402 = r130401 / r130363;
double r130403 = r130400 + r130402;
double r130404 = 1.5056327351493116e-07;
double r130405 = 8.0;
double r130406 = r130361 + r130405;
double r130407 = r130404 / r130406;
double r130408 = r130403 + r130407;
double r130409 = r130371 * r130408;
double r130410 = r130355 * r130409;
return r130410;
}
double f(double z) {
double r130411 = atan2(1.0, 0.0);
double r130412 = z;
double r130413 = r130411 * r130412;
double r130414 = sin(r130413);
double r130415 = r130411 / r130414;
double r130416 = 2.0;
double r130417 = r130411 * r130416;
double r130418 = sqrt(r130417);
double r130419 = 1.0;
double r130420 = r130419 - r130412;
double r130421 = r130420 - r130419;
double r130422 = 7.0;
double r130423 = r130421 + r130422;
double r130424 = 0.5;
double r130425 = r130423 + r130424;
double r130426 = r130421 + r130424;
double r130427 = pow(r130425, r130426);
double r130428 = r130418 * r130427;
double r130429 = -r130425;
double r130430 = exp(r130429);
double r130431 = r130428 * r130430;
double r130432 = 0.9999999999998099;
double r130433 = 676.5203681218851;
double r130434 = r130421 + r130419;
double r130435 = r130433 / r130434;
double r130436 = r130432 + r130435;
double r130437 = -1259.1392167224028;
double r130438 = r130421 + r130416;
double r130439 = r130437 / r130438;
double r130440 = r130436 + r130439;
double r130441 = 771.3234287776531;
double r130442 = 3.0;
double r130443 = r130421 + r130442;
double r130444 = r130441 / r130443;
double r130445 = r130440 + r130444;
double r130446 = -176.6150291621406;
double r130447 = 4.0;
double r130448 = r130421 + r130447;
double r130449 = r130446 / r130448;
double r130450 = r130445 + r130449;
double r130451 = 12.507343278686905;
double r130452 = 5.0;
double r130453 = r130421 + r130452;
double r130454 = r130451 / r130453;
double r130455 = r130450 + r130454;
double r130456 = -0.13857109526572012;
double r130457 = 6.0;
double r130458 = r130421 + r130457;
double r130459 = r130456 / r130458;
double r130460 = r130455 + r130459;
double r130461 = 9.984369578019572e-06;
double r130462 = r130461 / r130423;
double r130463 = r130460 + r130462;
double r130464 = 1.5056327351493116e-07;
double r130465 = 8.0;
double r130466 = r130421 + r130465;
double r130467 = r130464 / r130466;
double r130468 = r130463 + r130467;
double r130469 = r130431 * r130468;
double r130470 = r130415 * r130469;
return r130470;
}



Bits error versus z
Results
Initial program 1.8
Final simplification1.8
herbie shell --seed 2019318
(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.99999999999980993 (/ 676.520368121885099 (+ (- (- 1 z) 1) 1))) (/ -1259.13921672240281 (+ (- (- 1 z) 1) 2))) (/ 771.32342877765313 (+ (- (- 1 z) 1) 3))) (/ -176.615029162140587 (+ (- (- 1 z) 1) 4))) (/ 12.5073432786869052 (+ (- (- 1 z) 1) 5))) (/ -0.138571095265720118 (+ (- (- 1 z) 1) 6))) (/ 9.98436957801957158e-6 (+ (- (- 1 z) 1) 7))) (/ 1.50563273514931162e-7 (+ (- (- 1 z) 1) 8))))))