\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}{e^{2.0 \cdot \log \left(e^{\frac{z}{\frac{t}{\sqrt{a + t}}} - \left(b - c\right) \cdot \left(\left(a - \frac{\frac{2.0}{t}}{3.0}\right) + \frac{5.0}{6.0}\right)}\right)} \cdot y + x}double f(double x, double y, double z, double t, double a, double b, double c) {
double r3977877 = x;
double r3977878 = y;
double r3977879 = 2.0;
double r3977880 = z;
double r3977881 = t;
double r3977882 = a;
double r3977883 = r3977881 + r3977882;
double r3977884 = sqrt(r3977883);
double r3977885 = r3977880 * r3977884;
double r3977886 = r3977885 / r3977881;
double r3977887 = b;
double r3977888 = c;
double r3977889 = r3977887 - r3977888;
double r3977890 = 5.0;
double r3977891 = 6.0;
double r3977892 = r3977890 / r3977891;
double r3977893 = r3977882 + r3977892;
double r3977894 = 3.0;
double r3977895 = r3977881 * r3977894;
double r3977896 = r3977879 / r3977895;
double r3977897 = r3977893 - r3977896;
double r3977898 = r3977889 * r3977897;
double r3977899 = r3977886 - r3977898;
double r3977900 = r3977879 * r3977899;
double r3977901 = exp(r3977900);
double r3977902 = r3977878 * r3977901;
double r3977903 = r3977877 + r3977902;
double r3977904 = r3977877 / r3977903;
return r3977904;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r3977905 = x;
double r3977906 = 2.0;
double r3977907 = z;
double r3977908 = t;
double r3977909 = a;
double r3977910 = r3977909 + r3977908;
double r3977911 = sqrt(r3977910);
double r3977912 = r3977908 / r3977911;
double r3977913 = r3977907 / r3977912;
double r3977914 = b;
double r3977915 = c;
double r3977916 = r3977914 - r3977915;
double r3977917 = r3977906 / r3977908;
double r3977918 = 3.0;
double r3977919 = r3977917 / r3977918;
double r3977920 = r3977909 - r3977919;
double r3977921 = 5.0;
double r3977922 = 6.0;
double r3977923 = r3977921 / r3977922;
double r3977924 = r3977920 + r3977923;
double r3977925 = r3977916 * r3977924;
double r3977926 = r3977913 - r3977925;
double r3977927 = exp(r3977926);
double r3977928 = log(r3977927);
double r3977929 = r3977906 * r3977928;
double r3977930 = exp(r3977929);
double r3977931 = y;
double r3977932 = r3977930 * r3977931;
double r3977933 = r3977932 + r3977905;
double r3977934 = r3977905 / r3977933;
return r3977934;
}



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
Results
Initial program 3.9
rmApplied add-log-exp8.4
Applied add-log-exp16.7
Applied diff-log16.7
Simplified3.2
Final simplification3.2
herbie shell --seed 2019165
(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)))))))))))