\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{\sqrt{\sqrt[3]{a + t}}}{\frac{t}{\sqrt[3]{z}}} \cdot \frac{\sqrt{\sqrt[3]{a + t} \cdot \sqrt[3]{a + t}}}{\frac{1}{\sqrt[3]{z} \cdot \sqrt[3]{z}}}\right)}, x\right)}double f(double x, double y, double z, double t, double a, double b, double c) {
double r2937751 = x;
double r2937752 = y;
double r2937753 = 2.0;
double r2937754 = z;
double r2937755 = t;
double r2937756 = a;
double r2937757 = r2937755 + r2937756;
double r2937758 = sqrt(r2937757);
double r2937759 = r2937754 * r2937758;
double r2937760 = r2937759 / r2937755;
double r2937761 = b;
double r2937762 = c;
double r2937763 = r2937761 - r2937762;
double r2937764 = 5.0;
double r2937765 = 6.0;
double r2937766 = r2937764 / r2937765;
double r2937767 = r2937756 + r2937766;
double r2937768 = 3.0;
double r2937769 = r2937755 * r2937768;
double r2937770 = r2937753 / r2937769;
double r2937771 = r2937767 - r2937770;
double r2937772 = r2937763 * r2937771;
double r2937773 = r2937760 - r2937772;
double r2937774 = r2937753 * r2937773;
double r2937775 = exp(r2937774);
double r2937776 = r2937752 * r2937775;
double r2937777 = r2937751 + r2937776;
double r2937778 = r2937751 / r2937777;
return r2937778;
}
double f(double x, double y, double z, double t, double a, double b, double c) {
double r2937779 = x;
double r2937780 = y;
double r2937781 = 2.0;
double r2937782 = c;
double r2937783 = b;
double r2937784 = r2937782 - r2937783;
double r2937785 = 5.0;
double r2937786 = 6.0;
double r2937787 = r2937785 / r2937786;
double r2937788 = t;
double r2937789 = r2937781 / r2937788;
double r2937790 = 3.0;
double r2937791 = r2937789 / r2937790;
double r2937792 = a;
double r2937793 = r2937791 - r2937792;
double r2937794 = r2937787 - r2937793;
double r2937795 = r2937792 + r2937788;
double r2937796 = cbrt(r2937795);
double r2937797 = sqrt(r2937796);
double r2937798 = z;
double r2937799 = cbrt(r2937798);
double r2937800 = r2937788 / r2937799;
double r2937801 = r2937797 / r2937800;
double r2937802 = r2937796 * r2937796;
double r2937803 = sqrt(r2937802);
double r2937804 = 1.0;
double r2937805 = r2937799 * r2937799;
double r2937806 = r2937804 / r2937805;
double r2937807 = r2937803 / r2937806;
double r2937808 = r2937801 * r2937807;
double r2937809 = fma(r2937784, r2937794, r2937808);
double r2937810 = r2937781 * r2937809;
double r2937811 = exp(r2937810);
double r2937812 = fma(r2937780, r2937811, r2937779);
double r2937813 = r2937779 / r2937812;
return r2937813;
}



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.7
Simplified1.8
rmApplied add-cube-cbrt1.8
Applied *-un-lft-identity1.8
Applied times-frac1.8
Applied add-cube-cbrt1.8
Applied sqrt-prod1.8
Applied times-frac1.5
Final simplification1.5
herbie shell --seed 2019162 +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)))))))))))