\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;
}



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
if y < -1.1154426380429388e+44 or 5.660347026355408e+100 < y Initial program 62.6
rmApplied add-cube-cbrt62.6
Applied associate-/r*62.6
Simplified62.6
rmApplied *-un-lft-identity62.6
Applied times-frac62.6
Taylor expanded around inf 16.7
if -1.1154426380429388e+44 < y < 5.660347026355408e+100Initial program 6.7
rmApplied add-cube-cbrt7.6
Applied associate-/r*7.6
Simplified7.6
Final simplification11.2
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)))