Average Error: 4.1 → 2.8
Time: 9.4s
Precision: 64
\[\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, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\frac{0.6666666666666666296592325124947819858789}{t} - \left(a + \frac{5}{6}\right), b - c, \frac{z \cdot \sqrt{t + a}}{t}\right)\right)}, x\right)}\]
\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, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\frac{0.6666666666666666296592325124947819858789}{t} - \left(a + \frac{5}{6}\right), b - c, \frac{z \cdot \sqrt{t + a}}{t}\right)\right)}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r74752 = x;
        double r74753 = y;
        double r74754 = 2.0;
        double r74755 = z;
        double r74756 = t;
        double r74757 = a;
        double r74758 = r74756 + r74757;
        double r74759 = sqrt(r74758);
        double r74760 = r74755 * r74759;
        double r74761 = r74760 / r74756;
        double r74762 = b;
        double r74763 = c;
        double r74764 = r74762 - r74763;
        double r74765 = 5.0;
        double r74766 = 6.0;
        double r74767 = r74765 / r74766;
        double r74768 = r74757 + r74767;
        double r74769 = 3.0;
        double r74770 = r74756 * r74769;
        double r74771 = r74754 / r74770;
        double r74772 = r74768 - r74771;
        double r74773 = r74764 * r74772;
        double r74774 = r74761 - r74773;
        double r74775 = r74754 * r74774;
        double r74776 = exp(r74775);
        double r74777 = r74753 * r74776;
        double r74778 = r74752 + r74777;
        double r74779 = r74752 / r74778;
        return r74779;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r74780 = x;
        double r74781 = y;
        double r74782 = 2.0;
        double r74783 = exp(r74782);
        double r74784 = 0.6666666666666666;
        double r74785 = t;
        double r74786 = r74784 / r74785;
        double r74787 = a;
        double r74788 = 5.0;
        double r74789 = 6.0;
        double r74790 = r74788 / r74789;
        double r74791 = r74787 + r74790;
        double r74792 = r74786 - r74791;
        double r74793 = b;
        double r74794 = c;
        double r74795 = r74793 - r74794;
        double r74796 = z;
        double r74797 = r74785 + r74787;
        double r74798 = sqrt(r74797);
        double r74799 = r74796 * r74798;
        double r74800 = r74799 / r74785;
        double r74801 = fma(r74792, r74795, r74800);
        double r74802 = pow(r74783, r74801);
        double r74803 = fma(r74781, r74802, r74780);
        double r74804 = r74780 / r74803;
        return r74804;
}

Error

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

Derivation

  1. Initial program 4.1

    \[\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)}}\]
  2. Simplified2.8

    \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\frac{\frac{2}{t}}{3} - \left(a + \frac{5}{6}\right), b - c, \frac{z \cdot \sqrt{t + a}}{t}\right)\right)}, x\right)}}\]
  3. Taylor expanded around 0 2.8

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\color{blue}{\frac{0.6666666666666666296592325124947819858789}{t}} - \left(a + \frac{5}{6}\right), b - c, \frac{z \cdot \sqrt{t + a}}{t}\right)\right)}, x\right)}\]
  4. Final simplification2.8

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, {\left(e^{2}\right)}^{\left(\mathsf{fma}\left(\frac{0.6666666666666666296592325124947819858789}{t} - \left(a + \frac{5}{6}\right), b - c, \frac{z \cdot \sqrt{t + a}}{t}\right)\right)}, x\right)}\]

Reproduce

herbie shell --seed 2019351 +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)))))))))))