\frac{x}{x + y \cdot e^{2.0 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5.0}{6.0}\right) - \frac{2.0}{t \cdot 3.0}\right)\right)}}\frac{x}{\mathsf{fma}\left(y, e^{2.0 \cdot \mathsf{fma}\left(c - b, \left(\frac{5.0}{6.0} + a\right) - \frac{2.0}{t \cdot 3.0}, \frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{t + a}}{\sqrt[3]{t}}\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r1100839 = x;
double r1100840 = y;
double r1100841 = 2.0;
double r1100842 = z;
double r1100843 = t;
double r1100844 = a;
double r1100845 = r1100843 + r1100844;
double r1100846 = sqrt(r1100845);
double r1100847 = r1100842 * r1100846;
double r1100848 = r1100847 / r1100843;
double r1100849 = b;
double r1100850 = c;
double r1100851 = r1100849 - r1100850;
double r1100852 = 5.0;
double r1100853 = 6.0;
double r1100854 = r1100852 / r1100853;
double r1100855 = r1100844 + r1100854;
double r1100856 = 3.0;
double r1100857 = r1100843 * r1100856;
double r1100858 = r1100841 / r1100857;
double r1100859 = r1100855 - r1100858;
double r1100860 = r1100851 * r1100859;
double r1100861 = r1100848 - r1100860;
double r1100862 = r1100841 * r1100861;
double r1100863 = exp(r1100862);
double r1100864 = r1100840 * r1100863;
double r1100865 = r1100839 + r1100864;
double r1100866 = r1100839 / r1100865;
return r1100866;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r1100867 = x;
double r1100868 = y;
double r1100869 = 2.0;
double r1100870 = c;
double r1100871 = b;
double r1100872 = r1100870 - r1100871;
double r1100873 = 5.0;
double r1100874 = 6.0;
double r1100875 = r1100873 / r1100874;
double r1100876 = a;
double r1100877 = r1100875 + r1100876;
double r1100878 = t;
double r1100879 = 3.0;
double r1100880 = r1100878 * r1100879;
double r1100881 = r1100869 / r1100880;
double r1100882 = r1100877 - r1100881;
double r1100883 = z;
double r1100884 = cbrt(r1100878);
double r1100885 = r1100884 * r1100884;
double r1100886 = r1100883 / r1100885;
double r1100887 = r1100878 + r1100876;
double r1100888 = sqrt(r1100887);
double r1100889 = r1100888 / r1100884;
double r1100890 = r1100886 * r1100889;
double r1100891 = fma(r1100872, r1100882, r1100890);
double r1100892 = r1100869 * r1100891;
double r1100893 = exp(r1100892);
double r1100894 = fma(r1100868, r1100893, r1100867);
double r1100895 = r1100867 / r1100894;
return r1100895;
}



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
Initial program 3.4
Simplified2.4
rmApplied add-cube-cbrt2.4
Applied times-frac1.4
Final simplification1.4
herbie shell --seed 2019156 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))