Average Error: 29.2 → 28.6
Time: 8.0s
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.8468834460336946 \cdot 10^{278}:\\ \;\;\;\;\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.8468834460336946 \cdot 10^{278}:\\
\;\;\;\;\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 r69356 = x;
        double r69357 = y;
        double r69358 = r69356 * r69357;
        double r69359 = z;
        double r69360 = r69358 + r69359;
        double r69361 = r69360 * r69357;
        double r69362 = 27464.7644705;
        double r69363 = r69361 + r69362;
        double r69364 = r69363 * r69357;
        double r69365 = 230661.510616;
        double r69366 = r69364 + r69365;
        double r69367 = r69366 * r69357;
        double r69368 = t;
        double r69369 = r69367 + r69368;
        double r69370 = a;
        double r69371 = r69357 + r69370;
        double r69372 = r69371 * r69357;
        double r69373 = b;
        double r69374 = r69372 + r69373;
        double r69375 = r69374 * r69357;
        double r69376 = c;
        double r69377 = r69375 + r69376;
        double r69378 = r69377 * r69357;
        double r69379 = i;
        double r69380 = r69378 + r69379;
        double r69381 = r69369 / r69380;
        return r69381;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r69382 = x;
        double r69383 = y;
        double r69384 = r69382 * r69383;
        double r69385 = z;
        double r69386 = r69384 + r69385;
        double r69387 = r69386 * r69383;
        double r69388 = 27464.7644705;
        double r69389 = r69387 + r69388;
        double r69390 = r69389 * r69383;
        double r69391 = 230661.510616;
        double r69392 = r69390 + r69391;
        double r69393 = r69392 * r69383;
        double r69394 = t;
        double r69395 = r69393 + r69394;
        double r69396 = a;
        double r69397 = r69383 + r69396;
        double r69398 = r69397 * r69383;
        double r69399 = b;
        double r69400 = r69398 + r69399;
        double r69401 = r69400 * r69383;
        double r69402 = c;
        double r69403 = r69401 + r69402;
        double r69404 = r69403 * r69383;
        double r69405 = i;
        double r69406 = r69404 + r69405;
        double r69407 = r69395 / r69406;
        double r69408 = 2.8468834460336946e+278;
        bool r69409 = r69407 <= r69408;
        double r69410 = cbrt(r69387);
        double r69411 = r69410 * r69410;
        double r69412 = r69411 * r69410;
        double r69413 = r69412 + r69388;
        double r69414 = r69413 * r69383;
        double r69415 = r69414 + r69391;
        double r69416 = r69415 * r69383;
        double r69417 = r69416 + r69394;
        double r69418 = r69417 / r69406;
        double r69419 = 0.0;
        double r69420 = r69409 ? r69418 : r69419;
        return r69420;
}

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.8468834460336946e+278

    1. Initial program 5.5

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

      \[\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.8468834460336946e+278 < (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i))

    1. Initial program 63.4

      \[\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.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.8468834460336946 \cdot 10^{278}:\\ \;\;\;\;\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 2020060 
(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)))