\frac{x}{x + y \cdot e^{2 \cdot \left(\frac{z \cdot \sqrt{t + a}}{t} - \left(b - c\right) \cdot \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right)\right)}}\frac{x}{x + y \cdot e^{2 \cdot \left(\mathsf{fma}\left(z \cdot \sqrt{t + a}, \frac{1}{t}, -\left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(b - c\right)\right) + \left(\left(a + \frac{5}{6}\right) - \frac{2}{t \cdot 3}\right) \cdot \left(\left(-\left(b - c\right)\right) + \left(b - c\right)\right)\right)}}double f(double x, double y, double z, double t, double a, double b, double c) {
double r72844 = x;
double r72845 = y;
double r72846 = 2.0;
double r72847 = z;
double r72848 = t;
double r72849 = a;
double r72850 = r72848 + r72849;
double r72851 = sqrt(r72850);
double r72852 = r72847 * r72851;
double r72853 = r72852 / r72848;
double r72854 = b;
double r72855 = c;
double r72856 = r72854 - r72855;
double r72857 = 5.0;
double r72858 = 6.0;
double r72859 = r72857 / r72858;
double r72860 = r72849 + r72859;
double r72861 = 3.0;
double r72862 = r72848 * r72861;
double r72863 = r72846 / r72862;
double r72864 = r72860 - r72863;
double r72865 = r72856 * r72864;
double r72866 = r72853 - r72865;
double r72867 = r72846 * r72866;
double r72868 = exp(r72867);
double r72869 = r72845 * r72868;
double r72870 = r72844 + r72869;
double r72871 = r72844 / r72870;
return r72871;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r72872 = x;
double r72873 = y;
double r72874 = 2.0;
double r72875 = z;
double r72876 = t;
double r72877 = a;
double r72878 = r72876 + r72877;
double r72879 = sqrt(r72878);
double r72880 = r72875 * r72879;
double r72881 = 1.0;
double r72882 = r72881 / r72876;
double r72883 = 5.0;
double r72884 = 6.0;
double r72885 = r72883 / r72884;
double r72886 = r72877 + r72885;
double r72887 = 3.0;
double r72888 = r72876 * r72887;
double r72889 = r72874 / r72888;
double r72890 = r72886 - r72889;
double r72891 = b;
double r72892 = c;
double r72893 = r72891 - r72892;
double r72894 = r72890 * r72893;
double r72895 = -r72894;
double r72896 = fma(r72880, r72882, r72895);
double r72897 = -r72893;
double r72898 = r72897 + r72893;
double r72899 = r72890 * r72898;
double r72900 = r72896 + r72899;
double r72901 = r72874 * r72900;
double r72902 = exp(r72901);
double r72903 = r72873 * r72902;
double r72904 = r72872 + r72903;
double r72905 = r72872 / r72904;
return r72905;
}



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 4.0
rmApplied div-inv4.0
Applied prod-diff22.6
Simplified2.8
Final simplification2.8
herbie shell --seed 2020062 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ x (+ x (* y (exp (* 2 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5 6)) (/ 2 (* t 3)))))))))))