\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\frac{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, x, z\right), 27464.7644705\right), 230661.510616\right), t\right)}{\mathsf{fma}\left(\mathsf{fma}\left(y, \mathsf{fma}\left(y + a, y, b\right), c\right), y, i\right)}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r2479838 = x;
double r2479839 = y;
double r2479840 = r2479838 * r2479839;
double r2479841 = z;
double r2479842 = r2479840 + r2479841;
double r2479843 = r2479842 * r2479839;
double r2479844 = 27464.7644705;
double r2479845 = r2479843 + r2479844;
double r2479846 = r2479845 * r2479839;
double r2479847 = 230661.510616;
double r2479848 = r2479846 + r2479847;
double r2479849 = r2479848 * r2479839;
double r2479850 = t;
double r2479851 = r2479849 + r2479850;
double r2479852 = a;
double r2479853 = r2479839 + r2479852;
double r2479854 = r2479853 * r2479839;
double r2479855 = b;
double r2479856 = r2479854 + r2479855;
double r2479857 = r2479856 * r2479839;
double r2479858 = c;
double r2479859 = r2479857 + r2479858;
double r2479860 = r2479859 * r2479839;
double r2479861 = i;
double r2479862 = r2479860 + r2479861;
double r2479863 = r2479851 / r2479862;
return r2479863;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r2479864 = y;
double r2479865 = x;
double r2479866 = z;
double r2479867 = fma(r2479864, r2479865, r2479866);
double r2479868 = 27464.7644705;
double r2479869 = fma(r2479864, r2479867, r2479868);
double r2479870 = 230661.510616;
double r2479871 = fma(r2479864, r2479869, r2479870);
double r2479872 = t;
double r2479873 = fma(r2479864, r2479871, r2479872);
double r2479874 = a;
double r2479875 = r2479864 + r2479874;
double r2479876 = b;
double r2479877 = fma(r2479875, r2479864, r2479876);
double r2479878 = c;
double r2479879 = fma(r2479864, r2479877, r2479878);
double r2479880 = i;
double r2479881 = fma(r2479879, r2479864, r2479880);
double r2479882 = r2479873 / r2479881;
return r2479882;
}



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
Final simplification29.0
herbie shell --seed 2019168 +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)))