\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{\frac{1}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}{\frac{1}{\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 r74405 = x;
double r74406 = y;
double r74407 = r74405 * r74406;
double r74408 = z;
double r74409 = r74407 + r74408;
double r74410 = r74409 * r74406;
double r74411 = 27464.7644705;
double r74412 = r74410 + r74411;
double r74413 = r74412 * r74406;
double r74414 = 230661.510616;
double r74415 = r74413 + r74414;
double r74416 = r74415 * r74406;
double r74417 = t;
double r74418 = r74416 + r74417;
double r74419 = a;
double r74420 = r74406 + r74419;
double r74421 = r74420 * r74406;
double r74422 = b;
double r74423 = r74421 + r74422;
double r74424 = r74423 * r74406;
double r74425 = c;
double r74426 = r74424 + r74425;
double r74427 = r74426 * r74406;
double r74428 = i;
double r74429 = r74427 + r74428;
double r74430 = r74418 / r74429;
return r74430;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r74431 = 1.0;
double r74432 = y;
double r74433 = a;
double r74434 = r74432 + r74433;
double r74435 = r74434 * r74432;
double r74436 = b;
double r74437 = r74435 + r74436;
double r74438 = r74437 * r74432;
double r74439 = c;
double r74440 = r74438 + r74439;
double r74441 = r74440 * r74432;
double r74442 = i;
double r74443 = r74441 + r74442;
double r74444 = r74431 / r74443;
double r74445 = x;
double r74446 = r74445 * r74432;
double r74447 = z;
double r74448 = r74446 + r74447;
double r74449 = r74448 * r74432;
double r74450 = 27464.7644705;
double r74451 = r74449 + r74450;
double r74452 = r74451 * r74432;
double r74453 = 230661.510616;
double r74454 = r74452 + r74453;
double r74455 = r74454 * r74432;
double r74456 = t;
double r74457 = r74455 + r74456;
double r74458 = r74431 / r74457;
double r74459 = r74444 / r74458;
return r74459;
}



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
rmApplied div-inv28.9
Applied associate-/r*28.8
Final simplification28.8
herbie shell --seed 2019212
(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.764470499998) y) 230661.510616000014) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))