Average Error: 29.2 → 28.5
Time: 9.1s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
\[\begin{array}{l} \mathbf{if}\;\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \le 2.9235959509009306 \cdot 10^{289}:\\ \;\;\;\;\frac{\left(\left(\left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y} \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y}\right) \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y} + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\begin{array}{l}
\mathbf{if}\;\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \le 2.9235959509009306 \cdot 10^{289}:\\
\;\;\;\;\frac{\left(\left(\left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y} \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y}\right) \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y} + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\\

\mathbf{else}:\\
\;\;\;\;0\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r102593 = x;
        double r102594 = y;
        double r102595 = r102593 * r102594;
        double r102596 = z;
        double r102597 = r102595 + r102596;
        double r102598 = r102597 * r102594;
        double r102599 = 27464.7644705;
        double r102600 = r102598 + r102599;
        double r102601 = r102600 * r102594;
        double r102602 = 230661.510616;
        double r102603 = r102601 + r102602;
        double r102604 = r102603 * r102594;
        double r102605 = t;
        double r102606 = r102604 + r102605;
        double r102607 = a;
        double r102608 = r102594 + r102607;
        double r102609 = r102608 * r102594;
        double r102610 = b;
        double r102611 = r102609 + r102610;
        double r102612 = r102611 * r102594;
        double r102613 = c;
        double r102614 = r102612 + r102613;
        double r102615 = r102614 * r102594;
        double r102616 = i;
        double r102617 = r102615 + r102616;
        double r102618 = r102606 / r102617;
        return r102618;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r102619 = x;
        double r102620 = y;
        double r102621 = r102619 * r102620;
        double r102622 = z;
        double r102623 = r102621 + r102622;
        double r102624 = r102623 * r102620;
        double r102625 = 27464.7644705;
        double r102626 = r102624 + r102625;
        double r102627 = r102626 * r102620;
        double r102628 = 230661.510616;
        double r102629 = r102627 + r102628;
        double r102630 = r102629 * r102620;
        double r102631 = t;
        double r102632 = r102630 + r102631;
        double r102633 = a;
        double r102634 = r102620 + r102633;
        double r102635 = r102634 * r102620;
        double r102636 = b;
        double r102637 = r102635 + r102636;
        double r102638 = r102637 * r102620;
        double r102639 = c;
        double r102640 = r102638 + r102639;
        double r102641 = r102640 * r102620;
        double r102642 = i;
        double r102643 = r102641 + r102642;
        double r102644 = r102632 / r102643;
        double r102645 = 2.9235959509009306e+289;
        bool r102646 = r102644 <= r102645;
        double r102647 = cbrt(r102624);
        double r102648 = r102647 * r102647;
        double r102649 = r102648 * r102647;
        double r102650 = r102649 + r102625;
        double r102651 = r102650 * r102620;
        double r102652 = r102651 + r102628;
        double r102653 = r102652 * r102620;
        double r102654 = r102653 + r102631;
        double r102655 = r102654 / r102643;
        double r102656 = 0.0;
        double r102657 = r102646 ? r102655 : r102656;
        return r102657;
}

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

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)) < 2.9235959509009306e+289

    1. Initial program 5.6

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
    2. Using strategy rm
    3. Applied add-cube-cbrt5.7

      \[\leadsto \frac{\left(\left(\color{blue}{\left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y} \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y}\right) \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y}} + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]

    if 2.9235959509009306e+289 < (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i))

    1. Initial program 63.7

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
    2. Taylor expanded around 0 61.7

      \[\leadsto \color{blue}{0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification28.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \le 2.9235959509009306 \cdot 10^{289}:\\ \;\;\;\;\frac{\left(\left(\left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y} \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y}\right) \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y} + 27464.764470499998\right) \cdot y + 230661.510616000014\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

herbie shell --seed 2020081 
(FPCore (x y z t a b c i)
  :name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
  :precision binary64
  (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))