\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}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(c - b, \frac{5}{6} - \left(\frac{\frac{2}{t}}{3} - a\right), \frac{\left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \sqrt{a + t}}{\frac{t}{\sqrt[3]{z}}}\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r2303005 = x;
double r2303006 = y;
double r2303007 = 2.0;
double r2303008 = z;
double r2303009 = t;
double r2303010 = a;
double r2303011 = r2303009 + r2303010;
double r2303012 = sqrt(r2303011);
double r2303013 = r2303008 * r2303012;
double r2303014 = r2303013 / r2303009;
double r2303015 = b;
double r2303016 = c;
double r2303017 = r2303015 - r2303016;
double r2303018 = 5.0;
double r2303019 = 6.0;
double r2303020 = r2303018 / r2303019;
double r2303021 = r2303010 + r2303020;
double r2303022 = 3.0;
double r2303023 = r2303009 * r2303022;
double r2303024 = r2303007 / r2303023;
double r2303025 = r2303021 - r2303024;
double r2303026 = r2303017 * r2303025;
double r2303027 = r2303014 - r2303026;
double r2303028 = r2303007 * r2303027;
double r2303029 = exp(r2303028);
double r2303030 = r2303006 * r2303029;
double r2303031 = r2303005 + r2303030;
double r2303032 = r2303005 / r2303031;
return r2303032;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r2303033 = x;
double r2303034 = y;
double r2303035 = 2.0;
double r2303036 = c;
double r2303037 = b;
double r2303038 = r2303036 - r2303037;
double r2303039 = 5.0;
double r2303040 = 6.0;
double r2303041 = r2303039 / r2303040;
double r2303042 = t;
double r2303043 = r2303035 / r2303042;
double r2303044 = 3.0;
double r2303045 = r2303043 / r2303044;
double r2303046 = a;
double r2303047 = r2303045 - r2303046;
double r2303048 = r2303041 - r2303047;
double r2303049 = z;
double r2303050 = cbrt(r2303049);
double r2303051 = r2303050 * r2303050;
double r2303052 = r2303046 + r2303042;
double r2303053 = sqrt(r2303052);
double r2303054 = r2303051 * r2303053;
double r2303055 = r2303042 / r2303050;
double r2303056 = r2303054 / r2303055;
double r2303057 = fma(r2303038, r2303048, r2303056);
double r2303058 = r2303035 * r2303057;
double r2303059 = exp(r2303058);
double r2303060 = fma(r2303034, r2303059, r2303033);
double r2303061 = r2303033 / r2303060;
return r2303061;
}



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 add-cube-cbrt1.9
Applied *-un-lft-identity1.9
Applied times-frac1.9
Applied associate-/r*1.9
Simplified1.9
Final simplification1.9
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)))))))))))