Average Error: 29.2 → 28.6
Time: 7.9s
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 r60312 = x;
        double r60313 = y;
        double r60314 = r60312 * r60313;
        double r60315 = z;
        double r60316 = r60314 + r60315;
        double r60317 = r60316 * r60313;
        double r60318 = 27464.7644705;
        double r60319 = r60317 + r60318;
        double r60320 = r60319 * r60313;
        double r60321 = 230661.510616;
        double r60322 = r60320 + r60321;
        double r60323 = r60322 * r60313;
        double r60324 = t;
        double r60325 = r60323 + r60324;
        double r60326 = a;
        double r60327 = r60313 + r60326;
        double r60328 = r60327 * r60313;
        double r60329 = b;
        double r60330 = r60328 + r60329;
        double r60331 = r60330 * r60313;
        double r60332 = c;
        double r60333 = r60331 + r60332;
        double r60334 = r60333 * r60313;
        double r60335 = i;
        double r60336 = r60334 + r60335;
        double r60337 = r60325 / r60336;
        return r60337;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r60338 = x;
        double r60339 = y;
        double r60340 = r60338 * r60339;
        double r60341 = z;
        double r60342 = r60340 + r60341;
        double r60343 = r60342 * r60339;
        double r60344 = 27464.7644705;
        double r60345 = r60343 + r60344;
        double r60346 = r60345 * r60339;
        double r60347 = 230661.510616;
        double r60348 = r60346 + r60347;
        double r60349 = r60348 * r60339;
        double r60350 = t;
        double r60351 = r60349 + r60350;
        double r60352 = a;
        double r60353 = r60339 + r60352;
        double r60354 = r60353 * r60339;
        double r60355 = b;
        double r60356 = r60354 + r60355;
        double r60357 = r60356 * r60339;
        double r60358 = c;
        double r60359 = r60357 + r60358;
        double r60360 = r60359 * r60339;
        double r60361 = i;
        double r60362 = r60360 + r60361;
        double r60363 = r60351 / r60362;
        double r60364 = 2.8468834460336946e+278;
        bool r60365 = r60363 <= r60364;
        double r60366 = cbrt(r60343);
        double r60367 = r60366 * r60366;
        double r60368 = r60367 * r60366;
        double r60369 = r60368 + r60344;
        double r60370 = r60369 * r60339;
        double r60371 = r60370 + r60347;
        double r60372 = r60371 * r60339;
        double r60373 = r60372 + r60350;
        double r60374 = r60373 / r60362;
        double r60375 = 0.0;
        double r60376 = r60365 ? r60374 : r60375;
        return r60376;
}

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