\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}\mathsf{fma}\left(\left(\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right)}, 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)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r54207 = x;
double r54208 = y;
double r54209 = r54207 * r54208;
double r54210 = z;
double r54211 = r54209 + r54210;
double r54212 = r54211 * r54208;
double r54213 = 27464.7644705;
double r54214 = r54212 + r54213;
double r54215 = r54214 * r54208;
double r54216 = 230661.510616;
double r54217 = r54215 + r54216;
double r54218 = r54217 * r54208;
double r54219 = t;
double r54220 = r54218 + r54219;
double r54221 = a;
double r54222 = r54208 + r54221;
double r54223 = r54222 * r54208;
double r54224 = b;
double r54225 = r54223 + r54224;
double r54226 = r54225 * r54208;
double r54227 = c;
double r54228 = r54226 + r54227;
double r54229 = r54228 * r54208;
double r54230 = i;
double r54231 = r54229 + r54230;
double r54232 = r54220 / r54231;
return r54232;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r54233 = x;
double r54234 = y;
double r54235 = z;
double r54236 = fma(r54233, r54234, r54235);
double r54237 = 27464.7644705;
double r54238 = fma(r54236, r54234, r54237);
double r54239 = 230661.510616;
double r54240 = fma(r54238, r54234, r54239);
double r54241 = cbrt(r54240);
double r54242 = r54241 * r54241;
double r54243 = r54242 * r54241;
double r54244 = t;
double r54245 = fma(r54243, r54234, r54244);
double r54246 = 1.0;
double r54247 = a;
double r54248 = r54234 + r54247;
double r54249 = b;
double r54250 = fma(r54248, r54234, r54249);
double r54251 = c;
double r54252 = fma(r54250, r54234, r54251);
double r54253 = i;
double r54254 = fma(r54252, r54234, r54253);
double r54255 = r54246 / r54254;
double r54256 = r54245 * r54255;
return r54256;
}



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.1
Simplified29.1
rmApplied div-inv29.1
rmApplied add-cube-cbrt29.3
Final simplification29.3
herbie shell --seed 2019347 +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)))