\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\frac{1}{\frac{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r54425 = x;
double r54426 = y;
double r54427 = r54425 * r54426;
double r54428 = z;
double r54429 = r54427 + r54428;
double r54430 = r54429 * r54426;
double r54431 = 27464.7644705;
double r54432 = r54430 + r54431;
double r54433 = r54432 * r54426;
double r54434 = 230661.510616;
double r54435 = r54433 + r54434;
double r54436 = r54435 * r54426;
double r54437 = t;
double r54438 = r54436 + r54437;
double r54439 = a;
double r54440 = r54426 + r54439;
double r54441 = r54440 * r54426;
double r54442 = b;
double r54443 = r54441 + r54442;
double r54444 = r54443 * r54426;
double r54445 = c;
double r54446 = r54444 + r54445;
double r54447 = r54446 * r54426;
double r54448 = i;
double r54449 = r54447 + r54448;
double r54450 = r54438 / r54449;
return r54450;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r54451 = 1.0;
double r54452 = y;
double r54453 = a;
double r54454 = r54452 + r54453;
double r54455 = r54454 * r54452;
double r54456 = b;
double r54457 = r54455 + r54456;
double r54458 = r54457 * r54452;
double r54459 = c;
double r54460 = r54458 + r54459;
double r54461 = r54460 * r54452;
double r54462 = i;
double r54463 = r54461 + r54462;
double r54464 = x;
double r54465 = r54464 * r54452;
double r54466 = z;
double r54467 = r54465 + r54466;
double r54468 = r54467 * r54452;
double r54469 = 27464.7644705;
double r54470 = r54468 + r54469;
double r54471 = r54470 * r54452;
double r54472 = 230661.510616;
double r54473 = r54471 + r54472;
double r54474 = r54473 * r54452;
double r54475 = t;
double r54476 = r54474 + r54475;
double r54477 = r54463 / r54476;
double r54478 = r54451 / r54477;
return r54478;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i
Results
Initial program 28.7
rmApplied clear-num28.9
Final simplification28.9
herbie shell --seed 2019344
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
:precision binary64
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))