Average Error: 28.6 → 11.2
Time: 34.8s
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}\;y \le -1.115442638042938764322347599639232915618 \cdot 10^{44} \lor \neg \left(y \le 5.660347026355407697598823994415316445547 \cdot 10^{100}\right):\\ \;\;\;\;x + \frac{z}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\\ \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}\;y \le -1.115442638042938764322347599639232915618 \cdot 10^{44} \lor \neg \left(y \le 5.660347026355407697598823994415316445547 \cdot 10^{100}\right):\\
\;\;\;\;x + \frac{z}{y}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r56467 = x;
        double r56468 = y;
        double r56469 = r56467 * r56468;
        double r56470 = z;
        double r56471 = r56469 + r56470;
        double r56472 = r56471 * r56468;
        double r56473 = 27464.7644705;
        double r56474 = r56472 + r56473;
        double r56475 = r56474 * r56468;
        double r56476 = 230661.510616;
        double r56477 = r56475 + r56476;
        double r56478 = r56477 * r56468;
        double r56479 = t;
        double r56480 = r56478 + r56479;
        double r56481 = a;
        double r56482 = r56468 + r56481;
        double r56483 = r56482 * r56468;
        double r56484 = b;
        double r56485 = r56483 + r56484;
        double r56486 = r56485 * r56468;
        double r56487 = c;
        double r56488 = r56486 + r56487;
        double r56489 = r56488 * r56468;
        double r56490 = i;
        double r56491 = r56489 + r56490;
        double r56492 = r56480 / r56491;
        return r56492;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r56493 = y;
        double r56494 = -1.1154426380429388e+44;
        bool r56495 = r56493 <= r56494;
        double r56496 = 5.660347026355408e+100;
        bool r56497 = r56493 <= r56496;
        double r56498 = !r56497;
        bool r56499 = r56495 || r56498;
        double r56500 = x;
        double r56501 = z;
        double r56502 = r56501 / r56493;
        double r56503 = r56500 + r56502;
        double r56504 = fma(r56500, r56493, r56501);
        double r56505 = 27464.7644705;
        double r56506 = fma(r56504, r56493, r56505);
        double r56507 = 230661.510616;
        double r56508 = fma(r56506, r56493, r56507);
        double r56509 = t;
        double r56510 = fma(r56508, r56493, r56509);
        double r56511 = a;
        double r56512 = r56493 + r56511;
        double r56513 = b;
        double r56514 = fma(r56512, r56493, r56513);
        double r56515 = c;
        double r56516 = fma(r56514, r56493, r56515);
        double r56517 = i;
        double r56518 = fma(r56516, r56493, r56517);
        double r56519 = cbrt(r56518);
        double r56520 = r56519 * r56519;
        double r56521 = r56510 / r56520;
        double r56522 = r56512 * r56493;
        double r56523 = r56522 + r56513;
        double r56524 = r56523 * r56493;
        double r56525 = r56524 + r56515;
        double r56526 = r56525 * r56493;
        double r56527 = r56526 + r56517;
        double r56528 = cbrt(r56527);
        double r56529 = r56521 / r56528;
        double r56530 = r56499 ? r56503 : r56529;
        return r56530;
}

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

Derivation

  1. Split input into 2 regimes
  2. if y < -1.1154426380429388e+44 or 5.660347026355408e+100 < y

    1. Initial program 62.6

      \[\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. Using strategy rm
    3. Applied add-cube-cbrt62.6

      \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\color{blue}{\left(\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \cdot \sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\right) \cdot \sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}}\]
    4. Applied associate-/r*62.6

      \[\leadsto \color{blue}{\frac{\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \cdot \sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}}\]
    5. Simplified62.6

      \[\leadsto \frac{\color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\]
    6. Using strategy rm
    7. Applied *-un-lft-identity62.6

      \[\leadsto \frac{\frac{\color{blue}{1 \cdot \mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\]
    8. Applied times-frac62.6

      \[\leadsto \frac{\color{blue}{\frac{1}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}} \cdot \frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\]
    9. Taylor expanded around inf 16.7

      \[\leadsto \color{blue}{x + \frac{z}{y}}\]

    if -1.1154426380429388e+44 < y < 5.660347026355408e+100

    1. Initial program 6.7

      \[\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. Using strategy rm
    3. Applied add-cube-cbrt7.6

      \[\leadsto \frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\color{blue}{\left(\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \cdot \sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}\right) \cdot \sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}}\]
    4. Applied associate-/r*7.6

      \[\leadsto \color{blue}{\frac{\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644704999984242022037506103515625\right) \cdot y + 230661.5106160000141244381666183471679688\right) \cdot y + t}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i} \cdot \sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}}\]
    5. Simplified7.6

      \[\leadsto \frac{\color{blue}{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \le -1.115442638042938764322347599639232915618 \cdot 10^{44} \lor \neg \left(y \le 5.660347026355407697598823994415316445547 \cdot 10^{100}\right):\\ \;\;\;\;x + \frac{z}{y}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(x, y, z\right), y, 27464.7644704999984242022037506103515625\right), y, 230661.5106160000141244381666183471679688\right), y, t\right)}{\sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\mathsf{fma}\left(\mathsf{fma}\left(y + a, y, b\right), y, c\right), y, i\right)}}}{\sqrt[3]{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019325 +o rules:numerics
(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)))