\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\left(\left(\left(\left(\left(\mathsf{fma}\left(x, y, z\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y} + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t\right) \cdot \frac{1}{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right) \cdot 1}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r55412 = x;
double r55413 = y;
double r55414 = r55412 * r55413;
double r55415 = z;
double r55416 = r55414 + r55415;
double r55417 = r55416 * r55413;
double r55418 = 27464.7644705;
double r55419 = r55417 + r55418;
double r55420 = r55419 * r55413;
double r55421 = 230661.510616;
double r55422 = r55420 + r55421;
double r55423 = r55422 * r55413;
double r55424 = t;
double r55425 = r55423 + r55424;
double r55426 = a;
double r55427 = r55413 + r55426;
double r55428 = r55427 * r55413;
double r55429 = b;
double r55430 = r55428 + r55429;
double r55431 = r55430 * r55413;
double r55432 = c;
double r55433 = r55431 + r55432;
double r55434 = r55433 * r55413;
double r55435 = i;
double r55436 = r55434 + r55435;
double r55437 = r55425 / r55436;
return r55437;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r55438 = x;
double r55439 = y;
double r55440 = z;
double r55441 = fma(r55438, r55439, r55440);
double r55442 = cbrt(r55439);
double r55443 = r55441 * r55442;
double r55444 = r55443 * r55442;
double r55445 = r55444 * r55442;
double r55446 = 27464.7644705;
double r55447 = r55445 + r55446;
double r55448 = r55447 * r55439;
double r55449 = 230661.510616;
double r55450 = r55448 + r55449;
double r55451 = r55450 * r55439;
double r55452 = t;
double r55453 = r55451 + r55452;
double r55454 = 1.0;
double r55455 = a;
double r55456 = r55439 + r55455;
double r55457 = b;
double r55458 = fma(r55456, r55439, r55457);
double r55459 = c;
double r55460 = fma(r55458, r55439, r55459);
double r55461 = i;
double r55462 = fma(r55460, r55439, r55461);
double r55463 = r55462 * r55454;
double r55464 = r55454 / r55463;
double r55465 = r55453 * r55464;
return r55465;
}



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
Initial program 29.2
rmApplied div-inv29.3
Simplified29.3
rmApplied add-cube-cbrt29.4
Applied associate-*r*29.4
Simplified29.4
Final simplification29.4
herbie shell --seed 2020060 +o rules:numerics
(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)))