Average Error: 4.0 → 1.7
Time: 41.2s
Precision: 64
\[\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, \left(e^{\mathsf{fma}\left(\left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right), \left(\frac{\sqrt{a + t}}{\sqrt[3]{t}}\right), \left(-\left(\frac{5.0}{6.0} + \left(a - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot \left(b - c\right)\right)\right) \cdot 2.0}\right), x\right)}\]
\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, \left(e^{\mathsf{fma}\left(\left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right), \left(\frac{\sqrt{a + t}}{\sqrt[3]{t}}\right), \left(-\left(\frac{5.0}{6.0} + \left(a - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot \left(b - c\right)\right)\right) \cdot 2.0}\right), x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r1513718 = x;
        double r1513719 = y;
        double r1513720 = 2.0;
        double r1513721 = z;
        double r1513722 = t;
        double r1513723 = a;
        double r1513724 = r1513722 + r1513723;
        double r1513725 = sqrt(r1513724);
        double r1513726 = r1513721 * r1513725;
        double r1513727 = r1513726 / r1513722;
        double r1513728 = b;
        double r1513729 = c;
        double r1513730 = r1513728 - r1513729;
        double r1513731 = 5.0;
        double r1513732 = 6.0;
        double r1513733 = r1513731 / r1513732;
        double r1513734 = r1513723 + r1513733;
        double r1513735 = 3.0;
        double r1513736 = r1513722 * r1513735;
        double r1513737 = r1513720 / r1513736;
        double r1513738 = r1513734 - r1513737;
        double r1513739 = r1513730 * r1513738;
        double r1513740 = r1513727 - r1513739;
        double r1513741 = r1513720 * r1513740;
        double r1513742 = exp(r1513741);
        double r1513743 = r1513719 * r1513742;
        double r1513744 = r1513718 + r1513743;
        double r1513745 = r1513718 / r1513744;
        return r1513745;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r1513746 = x;
        double r1513747 = y;
        double r1513748 = z;
        double r1513749 = t;
        double r1513750 = cbrt(r1513749);
        double r1513751 = r1513750 * r1513750;
        double r1513752 = r1513748 / r1513751;
        double r1513753 = a;
        double r1513754 = r1513753 + r1513749;
        double r1513755 = sqrt(r1513754);
        double r1513756 = r1513755 / r1513750;
        double r1513757 = 5.0;
        double r1513758 = 6.0;
        double r1513759 = r1513757 / r1513758;
        double r1513760 = 2.0;
        double r1513761 = 3.0;
        double r1513762 = r1513749 * r1513761;
        double r1513763 = r1513760 / r1513762;
        double r1513764 = r1513753 - r1513763;
        double r1513765 = r1513759 + r1513764;
        double r1513766 = b;
        double r1513767 = c;
        double r1513768 = r1513766 - r1513767;
        double r1513769 = r1513765 * r1513768;
        double r1513770 = -r1513769;
        double r1513771 = fma(r1513752, r1513756, r1513770);
        double r1513772 = r1513771 * r1513760;
        double r1513773 = exp(r1513772);
        double r1513774 = fma(r1513747, r1513773, r1513746);
        double r1513775 = r1513746 / r1513774;
        return r1513775;
}

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.0

    \[\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)}}\]
  2. Simplified4.0

    \[\leadsto \color{blue}{\frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{z \cdot \sqrt{a + t}}{t} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt4.0

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\frac{z \cdot \sqrt{a + t}}{\color{blue}{\left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right) \cdot \sqrt[3]{t}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  5. Applied times-frac2.7

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \left(\color{blue}{\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt{a + t}}{\sqrt[3]{t}}} - \left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)}\right), x\right)}\]
  6. Applied fma-neg1.7

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{2.0 \cdot \color{blue}{\mathsf{fma}\left(\left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right), \left(\frac{\sqrt{a + t}}{\sqrt[3]{t}}\right), \left(-\left(\left(a - \frac{2.0}{t \cdot 3.0}\right) + \frac{5.0}{6.0}\right) \cdot \left(b - c\right)\right)\right)}}\right), x\right)}\]
  7. Final simplification1.7

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, \left(e^{\mathsf{fma}\left(\left(\frac{z}{\sqrt[3]{t} \cdot \sqrt[3]{t}}\right), \left(\frac{\sqrt{a + t}}{\sqrt[3]{t}}\right), \left(-\left(\frac{5.0}{6.0} + \left(a - \frac{2.0}{t \cdot 3.0}\right)\right) \cdot \left(b - c\right)\right)\right) \cdot 2.0}\right), x\right)}\]

Reproduce

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