\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(\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 r51221 = x;
double r51222 = y;
double r51223 = r51221 * r51222;
double r51224 = z;
double r51225 = r51223 + r51224;
double r51226 = r51225 * r51222;
double r51227 = 27464.7644705;
double r51228 = r51226 + r51227;
double r51229 = r51228 * r51222;
double r51230 = 230661.510616;
double r51231 = r51229 + r51230;
double r51232 = r51231 * r51222;
double r51233 = t;
double r51234 = r51232 + r51233;
double r51235 = a;
double r51236 = r51222 + r51235;
double r51237 = r51236 * r51222;
double r51238 = b;
double r51239 = r51237 + r51238;
double r51240 = r51239 * r51222;
double r51241 = c;
double r51242 = r51240 + r51241;
double r51243 = r51242 * r51222;
double r51244 = i;
double r51245 = r51243 + r51244;
double r51246 = r51234 / r51245;
return r51246;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r51247 = x;
double r51248 = y;
double r51249 = z;
double r51250 = fma(r51247, r51248, r51249);
double r51251 = 27464.7644705;
double r51252 = fma(r51250, r51248, r51251);
double r51253 = 230661.510616;
double r51254 = fma(r51252, r51248, r51253);
double r51255 = t;
double r51256 = fma(r51254, r51248, r51255);
double r51257 = 1.0;
double r51258 = a;
double r51259 = r51248 + r51258;
double r51260 = b;
double r51261 = fma(r51259, r51248, r51260);
double r51262 = c;
double r51263 = fma(r51261, r51248, r51262);
double r51264 = i;
double r51265 = fma(r51263, r51248, r51264);
double r51266 = r51257 / r51265;
double r51267 = r51256 * r51266;
return r51267;
}



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 28.6
Simplified28.6
rmApplied div-inv28.7
Final simplification28.7
herbie shell --seed 2019306 +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.764470499998) y) 230661.510616000014) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))