\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, \frac{5.0}{6.0} - \left(\frac{\frac{2.0}{t}}{3.0} - a\right), \frac{\frac{\sqrt{a + t}}{\sqrt[3]{t} \cdot \sqrt[3]{t}}}{\frac{\sqrt[3]{t}}{z}}\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r2351854 = x;
double r2351855 = y;
double r2351856 = 2.0;
double r2351857 = z;
double r2351858 = t;
double r2351859 = a;
double r2351860 = r2351858 + r2351859;
double r2351861 = sqrt(r2351860);
double r2351862 = r2351857 * r2351861;
double r2351863 = r2351862 / r2351858;
double r2351864 = b;
double r2351865 = c;
double r2351866 = r2351864 - r2351865;
double r2351867 = 5.0;
double r2351868 = 6.0;
double r2351869 = r2351867 / r2351868;
double r2351870 = r2351859 + r2351869;
double r2351871 = 3.0;
double r2351872 = r2351858 * r2351871;
double r2351873 = r2351856 / r2351872;
double r2351874 = r2351870 - r2351873;
double r2351875 = r2351866 * r2351874;
double r2351876 = r2351863 - r2351875;
double r2351877 = r2351856 * r2351876;
double r2351878 = exp(r2351877);
double r2351879 = r2351855 * r2351878;
double r2351880 = r2351854 + r2351879;
double r2351881 = r2351854 / r2351880;
return r2351881;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r2351882 = x;
double r2351883 = y;
double r2351884 = 2.0;
double r2351885 = c;
double r2351886 = b;
double r2351887 = r2351885 - r2351886;
double r2351888 = 5.0;
double r2351889 = 6.0;
double r2351890 = r2351888 / r2351889;
double r2351891 = t;
double r2351892 = r2351884 / r2351891;
double r2351893 = 3.0;
double r2351894 = r2351892 / r2351893;
double r2351895 = a;
double r2351896 = r2351894 - r2351895;
double r2351897 = r2351890 - r2351896;
double r2351898 = r2351895 + r2351891;
double r2351899 = sqrt(r2351898);
double r2351900 = cbrt(r2351891);
double r2351901 = r2351900 * r2351900;
double r2351902 = r2351899 / r2351901;
double r2351903 = z;
double r2351904 = r2351900 / r2351903;
double r2351905 = r2351902 / r2351904;
double r2351906 = fma(r2351887, r2351897, r2351905);
double r2351907 = r2351884 * r2351906;
double r2351908 = exp(r2351907);
double r2351909 = fma(r2351883, r2351908, r2351882);
double r2351910 = r2351882 / r2351909;
return r2351910;
}



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
Simplified1.9
rmApplied *-un-lft-identity1.9
Applied add-cube-cbrt1.9
Applied times-frac1.9
Applied associate-/r*1.6
Simplified1.6
Final simplification1.6
herbie shell --seed 2019168 +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)))))))))))