Average Error: 29.2 → 29.2
Time: 29.5s
Precision: 64
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\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.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \le 1.924953770095044578091510096483797474331 \cdot 10^{240}:\\ \;\;\;\;\frac{\left(\left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625} \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625}\right) \cdot \left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625} \cdot y\right) + 230661.5106160000141244381666183471679688\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.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\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.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \le 1.924953770095044578091510096483797474331 \cdot 10^{240}:\\
\;\;\;\;\frac{\left(\left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625} \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625}\right) \cdot \left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625} \cdot y\right) + 230661.5106160000141244381666183471679688\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 r55633 = x;
        double r55634 = y;
        double r55635 = r55633 * r55634;
        double r55636 = z;
        double r55637 = r55635 + r55636;
        double r55638 = r55637 * r55634;
        double r55639 = 27464.7644705;
        double r55640 = r55638 + r55639;
        double r55641 = r55640 * r55634;
        double r55642 = 230661.510616;
        double r55643 = r55641 + r55642;
        double r55644 = r55643 * r55634;
        double r55645 = t;
        double r55646 = r55644 + r55645;
        double r55647 = a;
        double r55648 = r55634 + r55647;
        double r55649 = r55648 * r55634;
        double r55650 = b;
        double r55651 = r55649 + r55650;
        double r55652 = r55651 * r55634;
        double r55653 = c;
        double r55654 = r55652 + r55653;
        double r55655 = r55654 * r55634;
        double r55656 = i;
        double r55657 = r55655 + r55656;
        double r55658 = r55646 / r55657;
        return r55658;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r55659 = x;
        double r55660 = y;
        double r55661 = r55659 * r55660;
        double r55662 = z;
        double r55663 = r55661 + r55662;
        double r55664 = r55663 * r55660;
        double r55665 = 27464.7644705;
        double r55666 = r55664 + r55665;
        double r55667 = r55666 * r55660;
        double r55668 = 230661.510616;
        double r55669 = r55667 + r55668;
        double r55670 = r55669 * r55660;
        double r55671 = t;
        double r55672 = r55670 + r55671;
        double r55673 = a;
        double r55674 = r55660 + r55673;
        double r55675 = r55674 * r55660;
        double r55676 = b;
        double r55677 = r55675 + r55676;
        double r55678 = r55677 * r55660;
        double r55679 = c;
        double r55680 = r55678 + r55679;
        double r55681 = r55680 * r55660;
        double r55682 = i;
        double r55683 = r55681 + r55682;
        double r55684 = r55672 / r55683;
        double r55685 = 1.9249537700950446e+240;
        bool r55686 = r55684 <= r55685;
        double r55687 = cbrt(r55666);
        double r55688 = r55687 * r55687;
        double r55689 = r55687 * r55660;
        double r55690 = r55688 * r55689;
        double r55691 = r55690 + r55668;
        double r55692 = r55691 * r55660;
        double r55693 = r55692 + r55671;
        double r55694 = r55693 / r55683;
        double r55695 = 0.0;
        double r55696 = r55686 ? r55694 : r55695;
        return r55696;
}

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)) < 1.9249537700950446e+240

    1. Initial program 5.7

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\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.8

      \[\leadsto \frac{\left(\color{blue}{\left(\left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625} \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625}\right) \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625}\right)} \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\]
    4. Applied associate-*l*5.8

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

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

    1. Initial program 62.1

      \[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\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.8

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \le 1.924953770095044578091510096483797474331 \cdot 10^{240}:\\ \;\;\;\;\frac{\left(\left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625} \cdot \sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625}\right) \cdot \left(\sqrt[3]{\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625} \cdot y\right) + 230661.5106160000141244381666183471679688\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 2019326 
(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)))