\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{\left(\left(\left(\left(\left(\frac{676.5203681218850988443591631948947906494}{1 - z} + \frac{-1259.139216722402807135949842631816864014}{\left(-z\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(-z\right) + 3}\right) + 0.9999999999998099298181841732002794742584\right) + \frac{12.50734327868690520801919774385169148445}{\left(-z\right) + 5}\right) \cdot \left(\left(\left(\left(\frac{676.5203681218850988443591631948947906494}{1 - z} + \frac{-1259.139216722402807135949842631816864014}{\left(-z\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(-z\right) + 3}\right) + 0.9999999999998099298181841732002794742584\right) + \frac{12.50734327868690520801919774385169148445}{\left(-z\right) + 5}\right) - \left(\left(\frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{7 + \left(-z\right)} + \left(\frac{-0.1385710952657201178173096423051902092993}{6 + \left(-z\right)} + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{8 + \left(-z\right)}\right)\right) + \frac{-176.6150291621405870046146446838974952698}{4 + \left(-z\right)}\right) \cdot \left(\left(\frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{7 + \left(-z\right)} + \left(\frac{-0.1385710952657201178173096423051902092993}{6 + \left(-z\right)} + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{8 + \left(-z\right)}\right)\right) + \frac{-176.6150291621405870046146446838974952698}{4 + \left(-z\right)}\right)\right) \cdot \sqrt{2 \cdot \pi}}{\left(\left(\left(\left(\frac{676.5203681218850988443591631948947906494}{1 - z} + \frac{-1259.139216722402807135949842631816864014}{\left(-z\right) + 2}\right) + \frac{771.3234287776531346025876700878143310547}{\left(-z\right) + 3}\right) + 0.9999999999998099298181841732002794742584\right) + \frac{12.50734327868690520801919774385169148445}{\left(-z\right) + 5}\right) - \left(\left(\frac{9.984369578019571583242346146658263705831 \cdot 10^{-6}}{7 + \left(-z\right)} + \left(\frac{-0.1385710952657201178173096423051902092993}{6 + \left(-z\right)} + \frac{1.505632735149311617592788074479481785772 \cdot 10^{-7}}{8 + \left(-z\right)}\right)\right) + \frac{-176.6150291621405870046146446838974952698}{4 + \left(-z\right)}\right)} \cdot \left(\frac{\pi}{\sin \left(z \cdot \pi\right)} \cdot \frac{{\left(\left(0.5 + \left(-z\right)\right) + 7\right)}^{\left(0.5 + \left(-z\right)\right)}}{e^{\left(0.5 + \left(-z\right)\right) + 7}}\right)double f(double z) {
double r14637299 = atan2(1.0, 0.0);
double r14637300 = z;
double r14637301 = r14637299 * r14637300;
double r14637302 = sin(r14637301);
double r14637303 = r14637299 / r14637302;
double r14637304 = 2.0;
double r14637305 = r14637299 * r14637304;
double r14637306 = sqrt(r14637305);
double r14637307 = 1.0;
double r14637308 = r14637307 - r14637300;
double r14637309 = r14637308 - r14637307;
double r14637310 = 7.0;
double r14637311 = r14637309 + r14637310;
double r14637312 = 0.5;
double r14637313 = r14637311 + r14637312;
double r14637314 = r14637309 + r14637312;
double r14637315 = pow(r14637313, r14637314);
double r14637316 = r14637306 * r14637315;
double r14637317 = -r14637313;
double r14637318 = exp(r14637317);
double r14637319 = r14637316 * r14637318;
double r14637320 = 0.9999999999998099;
double r14637321 = 676.5203681218851;
double r14637322 = r14637309 + r14637307;
double r14637323 = r14637321 / r14637322;
double r14637324 = r14637320 + r14637323;
double r14637325 = -1259.1392167224028;
double r14637326 = r14637309 + r14637304;
double r14637327 = r14637325 / r14637326;
double r14637328 = r14637324 + r14637327;
double r14637329 = 771.3234287776531;
double r14637330 = 3.0;
double r14637331 = r14637309 + r14637330;
double r14637332 = r14637329 / r14637331;
double r14637333 = r14637328 + r14637332;
double r14637334 = -176.6150291621406;
double r14637335 = 4.0;
double r14637336 = r14637309 + r14637335;
double r14637337 = r14637334 / r14637336;
double r14637338 = r14637333 + r14637337;
double r14637339 = 12.507343278686905;
double r14637340 = 5.0;
double r14637341 = r14637309 + r14637340;
double r14637342 = r14637339 / r14637341;
double r14637343 = r14637338 + r14637342;
double r14637344 = -0.13857109526572012;
double r14637345 = 6.0;
double r14637346 = r14637309 + r14637345;
double r14637347 = r14637344 / r14637346;
double r14637348 = r14637343 + r14637347;
double r14637349 = 9.984369578019572e-06;
double r14637350 = r14637349 / r14637311;
double r14637351 = r14637348 + r14637350;
double r14637352 = 1.5056327351493116e-07;
double r14637353 = 8.0;
double r14637354 = r14637309 + r14637353;
double r14637355 = r14637352 / r14637354;
double r14637356 = r14637351 + r14637355;
double r14637357 = r14637319 * r14637356;
double r14637358 = r14637303 * r14637357;
return r14637358;
}
double f(double z) {
double r14637359 = 676.5203681218851;
double r14637360 = 1.0;
double r14637361 = z;
double r14637362 = r14637360 - r14637361;
double r14637363 = r14637359 / r14637362;
double r14637364 = -1259.1392167224028;
double r14637365 = -r14637361;
double r14637366 = 2.0;
double r14637367 = r14637365 + r14637366;
double r14637368 = r14637364 / r14637367;
double r14637369 = r14637363 + r14637368;
double r14637370 = 771.3234287776531;
double r14637371 = 3.0;
double r14637372 = r14637365 + r14637371;
double r14637373 = r14637370 / r14637372;
double r14637374 = r14637369 + r14637373;
double r14637375 = 0.9999999999998099;
double r14637376 = r14637374 + r14637375;
double r14637377 = 12.507343278686905;
double r14637378 = 5.0;
double r14637379 = r14637365 + r14637378;
double r14637380 = r14637377 / r14637379;
double r14637381 = r14637376 + r14637380;
double r14637382 = r14637381 * r14637381;
double r14637383 = 9.984369578019572e-06;
double r14637384 = 7.0;
double r14637385 = r14637384 + r14637365;
double r14637386 = r14637383 / r14637385;
double r14637387 = -0.13857109526572012;
double r14637388 = 6.0;
double r14637389 = r14637388 + r14637365;
double r14637390 = r14637387 / r14637389;
double r14637391 = 1.5056327351493116e-07;
double r14637392 = 8.0;
double r14637393 = r14637392 + r14637365;
double r14637394 = r14637391 / r14637393;
double r14637395 = r14637390 + r14637394;
double r14637396 = r14637386 + r14637395;
double r14637397 = -176.6150291621406;
double r14637398 = 4.0;
double r14637399 = r14637398 + r14637365;
double r14637400 = r14637397 / r14637399;
double r14637401 = r14637396 + r14637400;
double r14637402 = r14637401 * r14637401;
double r14637403 = r14637382 - r14637402;
double r14637404 = atan2(1.0, 0.0);
double r14637405 = r14637366 * r14637404;
double r14637406 = sqrt(r14637405);
double r14637407 = r14637403 * r14637406;
double r14637408 = r14637381 - r14637401;
double r14637409 = r14637407 / r14637408;
double r14637410 = r14637361 * r14637404;
double r14637411 = sin(r14637410);
double r14637412 = r14637404 / r14637411;
double r14637413 = 0.5;
double r14637414 = r14637413 + r14637365;
double r14637415 = r14637414 + r14637384;
double r14637416 = pow(r14637415, r14637414);
double r14637417 = exp(r14637415);
double r14637418 = r14637416 / r14637417;
double r14637419 = r14637412 * r14637418;
double r14637420 = r14637409 * r14637419;
return r14637420;
}



Bits error versus z
Results
Initial program 1.8
Simplified0.8
rmApplied flip-+0.8
Applied associate-*l/0.5
Final simplification0.5
herbie shell --seed 2019172
(FPCore (z)
:name "Jmat.Real.gamma, branch z less than 0.5"
(* (/ PI (sin (* PI z))) (* (* (* (sqrt (* PI 2.0)) (pow (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5) (+ (- (- 1.0 z) 1.0) 0.5))) (exp (- (+ (+ (- (- 1.0 z) 1.0) 7.0) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- (- 1.0 z) 1.0) 1.0))) (/ -1259.1392167224028 (+ (- (- 1.0 z) 1.0) 2.0))) (/ 771.3234287776531 (+ (- (- 1.0 z) 1.0) 3.0))) (/ -176.6150291621406 (+ (- (- 1.0 z) 1.0) 4.0))) (/ 12.507343278686905 (+ (- (- 1.0 z) 1.0) 5.0))) (/ -0.13857109526572012 (+ (- (- 1.0 z) 1.0) 6.0))) (/ 9.984369578019572e-06 (+ (- (- 1.0 z) 1.0) 7.0))) (/ 1.5056327351493116e-07 (+ (- (- 1.0 z) 1.0) 8.0))))))