Average Error: 29.4 → 28.6
Time: 17.6s
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.1539959223483919 \cdot 10^{306}:\\ \;\;\;\;\frac{\left(\left(\sqrt[3]{\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y} \cdot \sqrt[3]{\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y}\right) \cdot \sqrt[3]{\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}\\ \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.1539959223483919 \cdot 10^{306}:\\
\;\;\;\;\frac{\left(\left(\sqrt[3]{\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y} \cdot \sqrt[3]{\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y}\right) \cdot \sqrt[3]{\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}\\

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

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r61955 = x;
        double r61956 = y;
        double r61957 = r61955 * r61956;
        double r61958 = z;
        double r61959 = r61957 + r61958;
        double r61960 = r61959 * r61956;
        double r61961 = 27464.7644705;
        double r61962 = r61960 + r61961;
        double r61963 = r61962 * r61956;
        double r61964 = 230661.510616;
        double r61965 = r61963 + r61964;
        double r61966 = r61965 * r61956;
        double r61967 = t;
        double r61968 = r61966 + r61967;
        double r61969 = a;
        double r61970 = r61956 + r61969;
        double r61971 = r61970 * r61956;
        double r61972 = b;
        double r61973 = r61971 + r61972;
        double r61974 = r61973 * r61956;
        double r61975 = c;
        double r61976 = r61974 + r61975;
        double r61977 = r61976 * r61956;
        double r61978 = i;
        double r61979 = r61977 + r61978;
        double r61980 = r61968 / r61979;
        return r61980;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r61981 = x;
        double r61982 = y;
        double r61983 = r61981 * r61982;
        double r61984 = z;
        double r61985 = r61983 + r61984;
        double r61986 = r61985 * r61982;
        double r61987 = 27464.7644705;
        double r61988 = r61986 + r61987;
        double r61989 = r61988 * r61982;
        double r61990 = 230661.510616;
        double r61991 = r61989 + r61990;
        double r61992 = r61991 * r61982;
        double r61993 = t;
        double r61994 = r61992 + r61993;
        double r61995 = a;
        double r61996 = r61982 + r61995;
        double r61997 = r61996 * r61982;
        double r61998 = b;
        double r61999 = r61997 + r61998;
        double r62000 = r61999 * r61982;
        double r62001 = c;
        double r62002 = r62000 + r62001;
        double r62003 = r62002 * r61982;
        double r62004 = i;
        double r62005 = r62003 + r62004;
        double r62006 = r61994 / r62005;
        double r62007 = 2.153995922348392e+306;
        bool r62008 = r62006 <= r62007;
        double r62009 = cbrt(r61989);
        double r62010 = r62009 * r62009;
        double r62011 = r62010 * r62009;
        double r62012 = r62011 + r61990;
        double r62013 = r62012 * r61982;
        double r62014 = r62013 + r61993;
        double r62015 = r62014 / r62005;
        double r62016 = 0.0;
        double r62017 = r62008 ? r62015 : r62016;
        return r62017;
}

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.153995922348392e+306

    1. Initial program 5.8

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

      \[\leadsto \frac{\left(\color{blue}{\left(\sqrt[3]{\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y} \cdot \sqrt[3]{\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y}\right) \cdot \sqrt[3]{\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}\]

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

    1. Initial program 64.0

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

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

    \[\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.1539959223483919 \cdot 10^{306}:\\ \;\;\;\;\frac{\left(\left(\sqrt[3]{\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y} \cdot \sqrt[3]{\left(\left(x \cdot y + z\right) \cdot y + 27464.764470499998\right) \cdot y}\right) \cdot \sqrt[3]{\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}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

herbie shell --seed 2020042 
(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)))