\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{\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)}{\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 r50834 = x;
double r50835 = y;
double r50836 = r50834 * r50835;
double r50837 = z;
double r50838 = r50836 + r50837;
double r50839 = r50838 * r50835;
double r50840 = 27464.7644705;
double r50841 = r50839 + r50840;
double r50842 = r50841 * r50835;
double r50843 = 230661.510616;
double r50844 = r50842 + r50843;
double r50845 = r50844 * r50835;
double r50846 = t;
double r50847 = r50845 + r50846;
double r50848 = a;
double r50849 = r50835 + r50848;
double r50850 = r50849 * r50835;
double r50851 = b;
double r50852 = r50850 + r50851;
double r50853 = r50852 * r50835;
double r50854 = c;
double r50855 = r50853 + r50854;
double r50856 = r50855 * r50835;
double r50857 = i;
double r50858 = r50856 + r50857;
double r50859 = r50847 / r50858;
return r50859;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r50860 = x;
double r50861 = y;
double r50862 = z;
double r50863 = fma(r50860, r50861, r50862);
double r50864 = 27464.7644705;
double r50865 = fma(r50863, r50861, r50864);
double r50866 = 230661.510616;
double r50867 = fma(r50865, r50861, r50866);
double r50868 = t;
double r50869 = fma(r50867, r50861, r50868);
double r50870 = a;
double r50871 = r50861 + r50870;
double r50872 = b;
double r50873 = fma(r50871, r50861, r50872);
double r50874 = c;
double r50875 = fma(r50873, r50861, r50874);
double r50876 = i;
double r50877 = fma(r50875, r50861, r50876);
double r50878 = r50869 / r50877;
return r50878;
}



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.3
Simplified29.3
Final simplification29.3
herbie shell --seed 2019351 +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)))