\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}\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.764470499998\right), y, 230661.510616000014\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 r69047 = x;
double r69048 = y;
double r69049 = r69047 * r69048;
double r69050 = z;
double r69051 = r69049 + r69050;
double r69052 = r69051 * r69048;
double r69053 = 27464.7644705;
double r69054 = r69052 + r69053;
double r69055 = r69054 * r69048;
double r69056 = 230661.510616;
double r69057 = r69055 + r69056;
double r69058 = r69057 * r69048;
double r69059 = t;
double r69060 = r69058 + r69059;
double r69061 = a;
double r69062 = r69048 + r69061;
double r69063 = r69062 * r69048;
double r69064 = b;
double r69065 = r69063 + r69064;
double r69066 = r69065 * r69048;
double r69067 = c;
double r69068 = r69066 + r69067;
double r69069 = r69068 * r69048;
double r69070 = i;
double r69071 = r69069 + r69070;
double r69072 = r69060 / r69071;
return r69072;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r69073 = x;
double r69074 = y;
double r69075 = z;
double r69076 = fma(r69073, r69074, r69075);
double r69077 = 27464.7644705;
double r69078 = fma(r69076, r69074, r69077);
double r69079 = 230661.510616;
double r69080 = fma(r69078, r69074, r69079);
double r69081 = t;
double r69082 = fma(r69080, r69074, r69081);
double r69083 = 1.0;
double r69084 = a;
double r69085 = r69074 + r69084;
double r69086 = b;
double r69087 = fma(r69085, r69074, r69086);
double r69088 = c;
double r69089 = fma(r69087, r69074, r69088);
double r69090 = i;
double r69091 = fma(r69089, r69074, r69090);
double r69092 = r69083 / r69091;
double r69093 = r69082 * r69092;
return r69093;
}



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.0
Simplified29.0
rmApplied div-inv29.1
Final simplification29.1
herbie shell --seed 2019199 +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)))