\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}\left(\left(\left(\left(\left(\mathsf{fma}\left(x, y, z\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y}\right) \cdot \sqrt[3]{y} + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot 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) \cdot 1}double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r55844 = x;
double r55845 = y;
double r55846 = r55844 * r55845;
double r55847 = z;
double r55848 = r55846 + r55847;
double r55849 = r55848 * r55845;
double r55850 = 27464.7644705;
double r55851 = r55849 + r55850;
double r55852 = r55851 * r55845;
double r55853 = 230661.510616;
double r55854 = r55852 + r55853;
double r55855 = r55854 * r55845;
double r55856 = t;
double r55857 = r55855 + r55856;
double r55858 = a;
double r55859 = r55845 + r55858;
double r55860 = r55859 * r55845;
double r55861 = b;
double r55862 = r55860 + r55861;
double r55863 = r55862 * r55845;
double r55864 = c;
double r55865 = r55863 + r55864;
double r55866 = r55865 * r55845;
double r55867 = i;
double r55868 = r55866 + r55867;
double r55869 = r55857 / r55868;
return r55869;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
double r55870 = x;
double r55871 = y;
double r55872 = z;
double r55873 = fma(r55870, r55871, r55872);
double r55874 = cbrt(r55871);
double r55875 = r55873 * r55874;
double r55876 = r55875 * r55874;
double r55877 = r55876 * r55874;
double r55878 = 27464.7644705;
double r55879 = r55877 + r55878;
double r55880 = r55879 * r55871;
double r55881 = 230661.510616;
double r55882 = r55880 + r55881;
double r55883 = r55882 * r55871;
double r55884 = t;
double r55885 = r55883 + r55884;
double r55886 = 1.0;
double r55887 = a;
double r55888 = r55871 + r55887;
double r55889 = b;
double r55890 = fma(r55888, r55871, r55889);
double r55891 = c;
double r55892 = fma(r55890, r55871, r55891);
double r55893 = i;
double r55894 = fma(r55892, r55871, r55893);
double r55895 = r55894 * r55886;
double r55896 = r55886 / r55895;
double r55897 = r55885 * r55896;
return r55897;
}



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.2
rmApplied div-inv29.3
Simplified29.3
rmApplied add-cube-cbrt29.4
Applied associate-*r*29.4
Simplified29.4
Final simplification29.4
herbie shell --seed 2020060 +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)))