Average Error: 4.2 → 1.5
Time: 21.2s
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, e^{\mathsf{fma}\left(c - b, \frac{5}{6} + \left(a - \frac{\frac{2}{t}}{3}\right), \left(\sqrt{t + a} \cdot \left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right)\right) \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right) \cdot 2}, 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, e^{\mathsf{fma}\left(c - b, \frac{5}{6} + \left(a - \frac{\frac{2}{t}}{3}\right), \left(\sqrt{t + a} \cdot \left(\frac{\sqrt[3]{z}}{\sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right)\right) \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right) \cdot 2}, x\right)}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r332699 = x;
        double r332700 = y;
        double r332701 = 2.0;
        double r332702 = z;
        double r332703 = t;
        double r332704 = a;
        double r332705 = r332703 + r332704;
        double r332706 = sqrt(r332705);
        double r332707 = r332702 * r332706;
        double r332708 = r332707 / r332703;
        double r332709 = b;
        double r332710 = c;
        double r332711 = r332709 - r332710;
        double r332712 = 5.0;
        double r332713 = 6.0;
        double r332714 = r332712 / r332713;
        double r332715 = r332704 + r332714;
        double r332716 = 3.0;
        double r332717 = r332703 * r332716;
        double r332718 = r332701 / r332717;
        double r332719 = r332715 - r332718;
        double r332720 = r332711 * r332719;
        double r332721 = r332708 - r332720;
        double r332722 = r332701 * r332721;
        double r332723 = exp(r332722);
        double r332724 = r332700 * r332723;
        double r332725 = r332699 + r332724;
        double r332726 = r332699 / r332725;
        return r332726;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r332727 = x;
        double r332728 = y;
        double r332729 = c;
        double r332730 = b;
        double r332731 = r332729 - r332730;
        double r332732 = 5.0;
        double r332733 = 6.0;
        double r332734 = r332732 / r332733;
        double r332735 = a;
        double r332736 = 2.0;
        double r332737 = t;
        double r332738 = r332736 / r332737;
        double r332739 = 3.0;
        double r332740 = r332738 / r332739;
        double r332741 = r332735 - r332740;
        double r332742 = r332734 + r332741;
        double r332743 = r332737 + r332735;
        double r332744 = sqrt(r332743);
        double r332745 = z;
        double r332746 = cbrt(r332745);
        double r332747 = cbrt(r332737);
        double r332748 = r332746 / r332747;
        double r332749 = r332748 * r332748;
        double r332750 = r332744 * r332749;
        double r332751 = r332750 * r332748;
        double r332752 = fma(r332731, r332742, r332751);
        double r332753 = r332752 * r332736;
        double r332754 = exp(r332753);
        double r332755 = fma(r332728, r332754, r332727);
        double r332756 = r332727 / r332755;
        return r332756;
}

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

Target

Original4.2
Target3.0
Herbie1.5
\[\begin{array}{l} \mathbf{if}\;t \lt -2.118326644891581057561884576920117070548 \cdot 10^{-50}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \left(\left(a \cdot c + 0.8333333333333333703407674875052180141211 \cdot c\right) - a \cdot b\right)}}\\ \mathbf{elif}\;t \lt 5.196588770651547088010424937268931048836 \cdot 10^{-123}:\\ \;\;\;\;\frac{x}{x + y \cdot e^{2 \cdot \frac{\left(z \cdot \sqrt{t + a}\right) \cdot \left(\left(3 \cdot t\right) \cdot \left(a - \frac{5}{6}\right)\right) - \left(\left(\frac{5}{6} + a\right) \cdot \left(3 \cdot t\right) - 2\right) \cdot \left(\left(a - \frac{5}{6}\right) \cdot \left(\left(b - c\right) \cdot t\right)\right)}{\left(\left(t \cdot t\right) \cdot 3\right) \cdot \left(a - \frac{5}{6}\right)}}}\\ \mathbf{else}:\\ \;\;\;\;\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)}}\\ \end{array}\]

Derivation

  1. Initial program 4.2

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

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

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

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

    \[\leadsto \frac{x}{\mathsf{fma}\left(y, e^{2 \cdot \mathsf{fma}\left(c - b, \frac{5}{6} + \left(a - \frac{\frac{2}{t}}{3}\right), \sqrt{a + t} \cdot \color{blue}{\left(\frac{\sqrt[3]{z} \cdot \sqrt[3]{z}}{\sqrt[3]{t} \cdot \sqrt[3]{t}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{t}}\right)}\right)}, x\right)}\]
  7. Applied associate-*r*1.5

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

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

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

Reproduce

herbie shell --seed 2019196 +o rules:numerics
(FPCore (x y z t a b c)
  :name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, I"

  :herbie-target
  (if (< t -2.118326644891581e-50) (/ x (+ x (* y (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b))))))) (if (< t 5.196588770651547e-123) (/ x (+ x (* y (exp (* 2.0 (/ (- (* (* z (sqrt (+ t a))) (* (* 3.0 t) (- a (/ 5.0 6.0)))) (* (- (* (+ (/ 5.0 6.0) a) (* 3.0 t)) 2.0) (* (- a (/ 5.0 6.0)) (* (- b c) t)))) (* (* (* t t) 3.0) (- a (/ 5.0 6.0))))))))) (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))))))))

  (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))