Average Error: 29.0 → 28.1
Time: 31.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{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 r4368610 = x;
        double r4368611 = y;
        double r4368612 = r4368610 * r4368611;
        double r4368613 = z;
        double r4368614 = r4368612 + r4368613;
        double r4368615 = r4368614 * r4368611;
        double r4368616 = 27464.7644705;
        double r4368617 = r4368615 + r4368616;
        double r4368618 = r4368617 * r4368611;
        double r4368619 = 230661.510616;
        double r4368620 = r4368618 + r4368619;
        double r4368621 = r4368620 * r4368611;
        double r4368622 = t;
        double r4368623 = r4368621 + r4368622;
        double r4368624 = a;
        double r4368625 = r4368611 + r4368624;
        double r4368626 = r4368625 * r4368611;
        double r4368627 = b;
        double r4368628 = r4368626 + r4368627;
        double r4368629 = r4368628 * r4368611;
        double r4368630 = c;
        double r4368631 = r4368629 + r4368630;
        double r4368632 = r4368631 * r4368611;
        double r4368633 = i;
        double r4368634 = r4368632 + r4368633;
        double r4368635 = r4368623 / r4368634;
        return r4368635;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r4368636 = t;
        double r4368637 = y;
        double r4368638 = z;
        double r4368639 = x;
        double r4368640 = r4368639 * r4368637;
        double r4368641 = r4368638 + r4368640;
        double r4368642 = r4368637 * r4368641;
        double r4368643 = 27464.7644705;
        double r4368644 = r4368642 + r4368643;
        double r4368645 = r4368637 * r4368644;
        double r4368646 = 230661.510616;
        double r4368647 = r4368645 + r4368646;
        double r4368648 = r4368647 * r4368637;
        double r4368649 = r4368636 + r4368648;
        double r4368650 = i;
        double r4368651 = c;
        double r4368652 = b;
        double r4368653 = a;
        double r4368654 = r4368637 + r4368653;
        double r4368655 = r4368654 * r4368637;
        double r4368656 = r4368652 + r4368655;
        double r4368657 = r4368637 * r4368656;
        double r4368658 = r4368651 + r4368657;
        double r4368659 = r4368658 * r4368637;
        double r4368660 = r4368650 + r4368659;
        double r4368661 = r4368649 / r4368660;
        double r4368662 = 3.9282236526490115e+301;
        bool r4368663 = r4368661 <= r4368662;
        double r4368664 = 0.0;
        double r4368665 = r4368663 ? r4368661 : r4368664;
        return r4368665;
}

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)))