Average Error: 3.8 → 1.4
Time: 22.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)}}\]
\[\begin{array}{l} \mathbf{if}\;c \le -8.549410742572798110291731621675140035012 \cdot 10^{232}:\\ \;\;\;\;\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), 0\right)}, x\right)}\\ \mathbf{else}:\\ \;\;\;\;\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), \frac{z}{t} \cdot \sqrt{t + a}\right)}, x\right)}\\ \end{array}\]
\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)}}
\begin{array}{l}
\mathbf{if}\;c \le -8.549410742572798110291731621675140035012 \cdot 10^{232}:\\
\;\;\;\;\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), 0\right)}, x\right)}\\

\mathbf{else}:\\
\;\;\;\;\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), \frac{z}{t} \cdot \sqrt{t + a}\right)}, x\right)}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r77530 = x;
        double r77531 = y;
        double r77532 = 2.0;
        double r77533 = z;
        double r77534 = t;
        double r77535 = a;
        double r77536 = r77534 + r77535;
        double r77537 = sqrt(r77536);
        double r77538 = r77533 * r77537;
        double r77539 = r77538 / r77534;
        double r77540 = b;
        double r77541 = c;
        double r77542 = r77540 - r77541;
        double r77543 = 5.0;
        double r77544 = 6.0;
        double r77545 = r77543 / r77544;
        double r77546 = r77535 + r77545;
        double r77547 = 3.0;
        double r77548 = r77534 * r77547;
        double r77549 = r77532 / r77548;
        double r77550 = r77546 - r77549;
        double r77551 = r77542 * r77550;
        double r77552 = r77539 - r77551;
        double r77553 = r77532 * r77552;
        double r77554 = exp(r77553);
        double r77555 = r77531 * r77554;
        double r77556 = r77530 + r77555;
        double r77557 = r77530 / r77556;
        return r77557;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r77558 = c;
        double r77559 = -8.549410742572798e+232;
        bool r77560 = r77558 <= r77559;
        double r77561 = x;
        double r77562 = y;
        double r77563 = 2.0;
        double r77564 = b;
        double r77565 = r77558 - r77564;
        double r77566 = 5.0;
        double r77567 = 6.0;
        double r77568 = r77566 / r77567;
        double r77569 = a;
        double r77570 = t;
        double r77571 = r77563 / r77570;
        double r77572 = 3.0;
        double r77573 = r77571 / r77572;
        double r77574 = r77569 - r77573;
        double r77575 = r77568 + r77574;
        double r77576 = 0.0;
        double r77577 = fma(r77565, r77575, r77576);
        double r77578 = r77563 * r77577;
        double r77579 = exp(r77578);
        double r77580 = fma(r77562, r77579, r77561);
        double r77581 = r77561 / r77580;
        double r77582 = z;
        double r77583 = r77582 / r77570;
        double r77584 = r77570 + r77569;
        double r77585 = sqrt(r77584);
        double r77586 = r77583 * r77585;
        double r77587 = fma(r77565, r77575, r77586);
        double r77588 = r77563 * r77587;
        double r77589 = exp(r77588);
        double r77590 = fma(r77562, r77589, r77561);
        double r77591 = r77561 / r77590;
        double r77592 = r77560 ? r77581 : r77591;
        return r77592;
}

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. Split input into 2 regimes
  2. if c < -8.549410742572798e+232

    1. Initial program 5.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. Simplified3.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-log-exp16.8

      \[\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}{\log \left(e^{\sqrt{a + t} \cdot \frac{z}{t}}\right)}\right)}, x\right)}\]
    5. Simplified20.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), \log \color{blue}{\left({\left(e^{\sqrt{t + a}}\right)}^{\left(\frac{z}{t}\right)}\right)}\right)}, x\right)}\]
    6. Taylor expanded around inf 0.7

      \[\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}{0}\right)}, x\right)}\]

    if -8.549410742572798e+232 < c

    1. Initial program 3.7

      \[\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. Simplified1.4

      \[\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. Recombined 2 regimes into one program.
  4. Final simplification1.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;c \le -8.549410742572798110291731621675140035012 \cdot 10^{232}:\\ \;\;\;\;\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), 0\right)}, x\right)}\\ \mathbf{else}:\\ \;\;\;\;\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), \frac{z}{t} \cdot \sqrt{t + a}\right)}, x\right)}\\ \end{array}\]

Reproduce

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