Average Error: 29.0 → 28.1
Time: 35.0s
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{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + \left(c + y \cdot \left(b + \left(y + a\right) \cdot y\right)\right) \cdot y} \le 3.928223652649011543414715949683334598137 \cdot 10^{301}:\\ \;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + \left(c + y \cdot \left(b + \left(y + a\right) \cdot y\right)\right) \cdot y}\\ \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{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + \left(c + y \cdot \left(b + \left(y + a\right) \cdot y\right)\right) \cdot y} \le 3.928223652649011543414715949683334598137 \cdot 10^{301}:\\
\;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + \left(c + y \cdot \left(b + \left(y + a\right) \cdot y\right)\right) \cdot y}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r3278757 = x;
        double r3278758 = y;
        double r3278759 = r3278757 * r3278758;
        double r3278760 = z;
        double r3278761 = r3278759 + r3278760;
        double r3278762 = r3278761 * r3278758;
        double r3278763 = 27464.7644705;
        double r3278764 = r3278762 + r3278763;
        double r3278765 = r3278764 * r3278758;
        double r3278766 = 230661.510616;
        double r3278767 = r3278765 + r3278766;
        double r3278768 = r3278767 * r3278758;
        double r3278769 = t;
        double r3278770 = r3278768 + r3278769;
        double r3278771 = a;
        double r3278772 = r3278758 + r3278771;
        double r3278773 = r3278772 * r3278758;
        double r3278774 = b;
        double r3278775 = r3278773 + r3278774;
        double r3278776 = r3278775 * r3278758;
        double r3278777 = c;
        double r3278778 = r3278776 + r3278777;
        double r3278779 = r3278778 * r3278758;
        double r3278780 = i;
        double r3278781 = r3278779 + r3278780;
        double r3278782 = r3278770 / r3278781;
        return r3278782;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r3278783 = t;
        double r3278784 = y;
        double r3278785 = z;
        double r3278786 = x;
        double r3278787 = r3278786 * r3278784;
        double r3278788 = r3278785 + r3278787;
        double r3278789 = r3278784 * r3278788;
        double r3278790 = 27464.7644705;
        double r3278791 = r3278789 + r3278790;
        double r3278792 = r3278784 * r3278791;
        double r3278793 = 230661.510616;
        double r3278794 = r3278792 + r3278793;
        double r3278795 = r3278794 * r3278784;
        double r3278796 = r3278783 + r3278795;
        double r3278797 = i;
        double r3278798 = c;
        double r3278799 = b;
        double r3278800 = a;
        double r3278801 = r3278784 + r3278800;
        double r3278802 = r3278801 * r3278784;
        double r3278803 = r3278799 + r3278802;
        double r3278804 = r3278784 * r3278803;
        double r3278805 = r3278798 + r3278804;
        double r3278806 = r3278805 * r3278784;
        double r3278807 = r3278797 + r3278806;
        double r3278808 = r3278796 / r3278807;
        double r3278809 = 3.9282236526490115e+301;
        bool r3278810 = r3278808 <= r3278809;
        double r3278811 = 0.0;
        double r3278812 = r3278810 ? r3278808 : r3278811;
        return r3278812;
}

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)) < 3.9282236526490115e+301

    1. Initial program 5.2

      \[\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}\]

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

    1. Initial program 63.8

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + \left(c + y \cdot \left(b + \left(y + a\right) \cdot y\right)\right) \cdot y} \le 3.928223652649011543414715949683334598137 \cdot 10^{301}:\\ \;\;\;\;\frac{t + \left(y \cdot \left(y \cdot \left(z + x \cdot y\right) + 27464.7644704999984242022037506103515625\right) + 230661.5106160000141244381666183471679688\right) \cdot y}{i + \left(c + y \cdot \left(b + \left(y + a\right) \cdot y\right)\right) \cdot y}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

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