\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}{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)} \cdot \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644704999984242022037506103515625\right), 230661.5106160000141244381666183471679688\right), t\right)double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r3289197 = x;
double r3289198 = y;
double r3289199 = r3289197 * r3289198;
double r3289200 = z;
double r3289201 = r3289199 + r3289200;
double r3289202 = r3289201 * r3289198;
double r3289203 = 27464.7644705;
double r3289204 = r3289202 + r3289203;
double r3289205 = r3289204 * r3289198;
double r3289206 = 230661.510616;
double r3289207 = r3289205 + r3289206;
double r3289208 = r3289207 * r3289198;
double r3289209 = t;
double r3289210 = r3289208 + r3289209;
double r3289211 = a;
double r3289212 = r3289198 + r3289211;
double r3289213 = r3289212 * r3289198;
double r3289214 = b;
double r3289215 = r3289213 + r3289214;
double r3289216 = r3289215 * r3289198;
double r3289217 = c;
double r3289218 = r3289216 + r3289217;
double r3289219 = r3289218 * r3289198;
double r3289220 = i;
double r3289221 = r3289219 + r3289220;
double r3289222 = r3289210 / r3289221;
return r3289222;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r3289223 = 1.0;
double r3289224 = y;
double r3289225 = a;
double r3289226 = r3289224 + r3289225;
double r3289227 = b;
double r3289228 = fma(r3289226, r3289224, r3289227);
double r3289229 = c;
double r3289230 = fma(r3289224, r3289228, r3289229);
double r3289231 = i;
double r3289232 = fma(r3289230, r3289224, r3289231);
double r3289233 = r3289223 / r3289232;
double r3289234 = x;
double r3289235 = z;
double r3289236 = fma(r3289224, r3289234, r3289235);
double r3289237 = 27464.7644705;
double r3289238 = fma(r3289224, r3289236, r3289237);
double r3289239 = 230661.510616;
double r3289240 = fma(r3289224, r3289238, r3289239);
double r3289241 = t;
double r3289242 = fma(r3289224, r3289240, r3289241);
double r3289243 = r3289233 * r3289242;
return r3289243;
}



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.8
Simplified28.8
rmApplied div-inv28.9
Final simplification28.9
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))