\left(\left(\sqrt{\pi \cdot 2} \cdot {\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right) \cdot e^{-\left(\left(\left(z - 1\right) + 7\right) + 0.5\right)}\right) \cdot \left(\left(\left(\left(\left(\left(\left(\left(0.9999999999998099 + \frac{676.5203681218851}{\left(z - 1\right) + 1}\right) + \frac{-1259.1392167224028}{\left(z - 1\right) + 2}\right) + \frac{771.3234287776531}{\left(z - 1\right) + 3}\right) + \frac{-176.6150291621406}{\left(z - 1\right) + 4}\right) + \frac{12.507343278686905}{\left(z - 1\right) + 5}\right) + \frac{-0.13857109526572012}{\left(z - 1\right) + 6}\right) + \frac{9.984369578019572 \cdot 10^{-06}}{\left(z - 1\right) + 7}\right) + \frac{1.5056327351493116 \cdot 10^{-07}}{\left(z - 1\right) + 8}\right)\frac{\left(\left(\left(\left(\left(2 + z\right) \cdot \left(z \cdot -1259.1392167224028 + \left(1 + z\right) \cdot 676.5203681218851\right) + \left(\left(1 + z\right) \cdot z\right) \cdot 771.3234287776531\right) \cdot \left(0.9999999999998099 \cdot \left(0.9999999999998099 - \frac{12.507343278686905}{4 + z}\right) + \frac{12.507343278686905}{4 + z} \cdot \frac{12.507343278686905}{4 + z}\right) + \left(2 + z\right) \cdot \left(\left(\left(1 + z\right) \cdot z\right) \cdot \left(0.9999999999998099 \cdot \left(0.9999999999998099 \cdot 0.9999999999998099\right) + \frac{12.507343278686905}{4 + z} \cdot \left(\frac{12.507343278686905}{4 + z} \cdot \frac{12.507343278686905}{4 + z}\right)\right)\right)\right) \cdot \left(z + 3\right) + \left(0.9999999999998099 \cdot \left(0.9999999999998099 - \frac{12.507343278686905}{4 + z}\right) + \frac{12.507343278686905}{4 + z} \cdot \frac{12.507343278686905}{4 + z}\right) \cdot \left(-176.6150291621406 \cdot \left(\left(\left(1 + z\right) \cdot z\right) \cdot \left(2 + z\right)\right)\right)\right) \cdot \left(\left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right) \cdot \left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right) + \frac{-0.13857109526572012}{5 + z} \cdot \left(\frac{-0.13857109526572012}{5 + z} - \left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right)\right)\right) + \left(\left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right) \cdot \left(\left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right) \cdot \left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right)\right) + \frac{-0.13857109526572012}{5 + z} \cdot \left(\frac{-0.13857109526572012}{5 + z} \cdot \frac{-0.13857109526572012}{5 + z}\right)\right) \cdot \left(\left(\left(\left(\left(1 + z\right) \cdot z\right) \cdot \left(2 + z\right)\right) \cdot \left(0.9999999999998099 \cdot \left(0.9999999999998099 - \frac{12.507343278686905}{4 + z}\right) + \frac{12.507343278686905}{4 + z} \cdot \frac{12.507343278686905}{4 + z}\right)\right) \cdot \left(z + 3\right)\right)\right) \cdot \frac{e^{-6} \cdot \left(\sqrt{\pi \cdot 2} \cdot {\left(\left(0.5 + z\right) - -6\right)}^{\left(\left(z - 1\right) + 0.5\right)}\right)}{e^{0.5 + z}}}{\left(\left(\left(\frac{12.507343278686905}{4 + z} \cdot \frac{12.507343278686905}{4 + z} + \left(0.9999999999998099 \cdot 0.9999999999998099 - 0.9999999999998099 \cdot \frac{12.507343278686905}{4 + z}\right)\right) \cdot \left(\left(\left(1 + z\right) \cdot z\right) \cdot \left(2 + z\right)\right)\right) \cdot \left(z + 3\right)\right) \cdot \left(\left(\frac{-0.13857109526572012}{5 + z} \cdot \frac{-0.13857109526572012}{5 + z} - \left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right) \cdot \frac{-0.13857109526572012}{5 + z}\right) + \left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right) \cdot \left(\frac{9.984369578019572 \cdot 10^{-06}}{6 + z} + \frac{1.5056327351493116 \cdot 10^{-07}}{7 + z}\right)\right)}double f(double z) {
double r10335288 = atan2(1.0, 0.0);
double r10335289 = 2.0;
double r10335290 = r10335288 * r10335289;
double r10335291 = sqrt(r10335290);
double r10335292 = z;
double r10335293 = 1.0;
double r10335294 = r10335292 - r10335293;
double r10335295 = 7.0;
double r10335296 = r10335294 + r10335295;
double r10335297 = 0.5;
double r10335298 = r10335296 + r10335297;
double r10335299 = r10335294 + r10335297;
double r10335300 = pow(r10335298, r10335299);
double r10335301 = r10335291 * r10335300;
double r10335302 = -r10335298;
double r10335303 = exp(r10335302);
double r10335304 = r10335301 * r10335303;
double r10335305 = 0.9999999999998099;
double r10335306 = 676.5203681218851;
double r10335307 = r10335294 + r10335293;
double r10335308 = r10335306 / r10335307;
double r10335309 = r10335305 + r10335308;
double r10335310 = -1259.1392167224028;
double r10335311 = r10335294 + r10335289;
double r10335312 = r10335310 / r10335311;
double r10335313 = r10335309 + r10335312;
double r10335314 = 771.3234287776531;
double r10335315 = 3.0;
double r10335316 = r10335294 + r10335315;
double r10335317 = r10335314 / r10335316;
double r10335318 = r10335313 + r10335317;
double r10335319 = -176.6150291621406;
double r10335320 = 4.0;
double r10335321 = r10335294 + r10335320;
double r10335322 = r10335319 / r10335321;
double r10335323 = r10335318 + r10335322;
double r10335324 = 12.507343278686905;
double r10335325 = 5.0;
double r10335326 = r10335294 + r10335325;
double r10335327 = r10335324 / r10335326;
double r10335328 = r10335323 + r10335327;
double r10335329 = -0.13857109526572012;
double r10335330 = 6.0;
double r10335331 = r10335294 + r10335330;
double r10335332 = r10335329 / r10335331;
double r10335333 = r10335328 + r10335332;
double r10335334 = 9.984369578019572e-06;
double r10335335 = r10335334 / r10335296;
double r10335336 = r10335333 + r10335335;
double r10335337 = 1.5056327351493116e-07;
double r10335338 = 8.0;
double r10335339 = r10335294 + r10335338;
double r10335340 = r10335337 / r10335339;
double r10335341 = r10335336 + r10335340;
double r10335342 = r10335304 * r10335341;
return r10335342;
}
double f(double z) {
double r10335343 = 2.0;
double r10335344 = z;
double r10335345 = r10335343 + r10335344;
double r10335346 = -1259.1392167224028;
double r10335347 = r10335344 * r10335346;
double r10335348 = 1.0;
double r10335349 = r10335348 + r10335344;
double r10335350 = 676.5203681218851;
double r10335351 = r10335349 * r10335350;
double r10335352 = r10335347 + r10335351;
double r10335353 = r10335345 * r10335352;
double r10335354 = r10335349 * r10335344;
double r10335355 = 771.3234287776531;
double r10335356 = r10335354 * r10335355;
double r10335357 = r10335353 + r10335356;
double r10335358 = 0.9999999999998099;
double r10335359 = 12.507343278686905;
double r10335360 = 4.0;
double r10335361 = r10335360 + r10335344;
double r10335362 = r10335359 / r10335361;
double r10335363 = r10335358 - r10335362;
double r10335364 = r10335358 * r10335363;
double r10335365 = r10335362 * r10335362;
double r10335366 = r10335364 + r10335365;
double r10335367 = r10335357 * r10335366;
double r10335368 = r10335358 * r10335358;
double r10335369 = r10335358 * r10335368;
double r10335370 = r10335362 * r10335365;
double r10335371 = r10335369 + r10335370;
double r10335372 = r10335354 * r10335371;
double r10335373 = r10335345 * r10335372;
double r10335374 = r10335367 + r10335373;
double r10335375 = 3.0;
double r10335376 = r10335344 + r10335375;
double r10335377 = r10335374 * r10335376;
double r10335378 = -176.6150291621406;
double r10335379 = r10335354 * r10335345;
double r10335380 = r10335378 * r10335379;
double r10335381 = r10335366 * r10335380;
double r10335382 = r10335377 + r10335381;
double r10335383 = 9.984369578019572e-06;
double r10335384 = 6.0;
double r10335385 = r10335384 + r10335344;
double r10335386 = r10335383 / r10335385;
double r10335387 = 1.5056327351493116e-07;
double r10335388 = 7.0;
double r10335389 = r10335388 + r10335344;
double r10335390 = r10335387 / r10335389;
double r10335391 = r10335386 + r10335390;
double r10335392 = r10335391 * r10335391;
double r10335393 = -0.13857109526572012;
double r10335394 = 5.0;
double r10335395 = r10335394 + r10335344;
double r10335396 = r10335393 / r10335395;
double r10335397 = r10335396 - r10335391;
double r10335398 = r10335396 * r10335397;
double r10335399 = r10335392 + r10335398;
double r10335400 = r10335382 * r10335399;
double r10335401 = r10335391 * r10335392;
double r10335402 = r10335396 * r10335396;
double r10335403 = r10335396 * r10335402;
double r10335404 = r10335401 + r10335403;
double r10335405 = r10335379 * r10335366;
double r10335406 = r10335405 * r10335376;
double r10335407 = r10335404 * r10335406;
double r10335408 = r10335400 + r10335407;
double r10335409 = -6.0;
double r10335410 = exp(r10335409);
double r10335411 = atan2(1.0, 0.0);
double r10335412 = r10335411 * r10335343;
double r10335413 = sqrt(r10335412);
double r10335414 = 0.5;
double r10335415 = r10335414 + r10335344;
double r10335416 = r10335415 - r10335409;
double r10335417 = r10335344 - r10335348;
double r10335418 = r10335417 + r10335414;
double r10335419 = pow(r10335416, r10335418);
double r10335420 = r10335413 * r10335419;
double r10335421 = r10335410 * r10335420;
double r10335422 = exp(r10335415);
double r10335423 = r10335421 / r10335422;
double r10335424 = r10335408 * r10335423;
double r10335425 = r10335358 * r10335362;
double r10335426 = r10335368 - r10335425;
double r10335427 = r10335365 + r10335426;
double r10335428 = r10335427 * r10335379;
double r10335429 = r10335428 * r10335376;
double r10335430 = r10335391 * r10335396;
double r10335431 = r10335402 - r10335430;
double r10335432 = r10335431 + r10335392;
double r10335433 = r10335429 * r10335432;
double r10335434 = r10335424 / r10335433;
return r10335434;
}



Bits error versus z
Results
Initial program 59.9
Simplified1.1
rmApplied associate-+r-1.1
Applied exp-diff1.1
Applied associate-/r/0.8
rmApplied frac-add0.8
Applied frac-add0.8
Applied flip3-+0.8
Applied frac-add0.8
Applied frac-add0.9
Applied flip3-+0.9
Applied frac-add1.0
Applied associate-*r/0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019158
(FPCore (z)
:name "Jmat.Real.gamma, branch z greater than 0.5"
(* (* (* (sqrt (* PI 2)) (pow (+ (+ (- z 1) 7) 0.5) (+ (- z 1) 0.5))) (exp (- (+ (+ (- z 1) 7) 0.5)))) (+ (+ (+ (+ (+ (+ (+ (+ 0.9999999999998099 (/ 676.5203681218851 (+ (- z 1) 1))) (/ -1259.1392167224028 (+ (- z 1) 2))) (/ 771.3234287776531 (+ (- z 1) 3))) (/ -176.6150291621406 (+ (- z 1) 4))) (/ 12.507343278686905 (+ (- z 1) 5))) (/ -0.13857109526572012 (+ (- z 1) 6))) (/ 9.984369578019572e-06 (+ (- z 1) 7))) (/ 1.5056327351493116e-07 (+ (- z 1) 8)))))