x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le -3.4192536638792013 \cdot 10^{-292}:\\
\;\;\;\;x + \left(\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}\right) \cdot \left(\left(\left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right) \cdot \sqrt[3]{y - z}\right) \cdot \frac{\sqrt[3]{t - x}}{a - z}\right)\\
\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 6.6062719945659395 \cdot 10^{-181}:\\
\;\;\;\;\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}\\
\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 7.37349113609634138 \cdot 10^{307}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x + \left(\left(y - z\right) \cdot \left(t - x\right)\right) \cdot \frac{1}{a - z}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r138513 = x;
double r138514 = y;
double r138515 = z;
double r138516 = r138514 - r138515;
double r138517 = t;
double r138518 = r138517 - r138513;
double r138519 = a;
double r138520 = r138519 - r138515;
double r138521 = r138518 / r138520;
double r138522 = r138516 * r138521;
double r138523 = r138513 + r138522;
return r138523;
}
double f(double x, double y, double z, double t, double a) {
double r138524 = x;
double r138525 = y;
double r138526 = z;
double r138527 = r138525 - r138526;
double r138528 = t;
double r138529 = r138528 - r138524;
double r138530 = a;
double r138531 = r138530 - r138526;
double r138532 = r138529 / r138531;
double r138533 = r138527 * r138532;
double r138534 = r138524 + r138533;
double r138535 = -3.4192536638792013e-292;
bool r138536 = r138534 <= r138535;
double r138537 = cbrt(r138527);
double r138538 = r138537 * r138537;
double r138539 = cbrt(r138529);
double r138540 = r138539 * r138539;
double r138541 = r138540 * r138537;
double r138542 = r138539 / r138531;
double r138543 = r138541 * r138542;
double r138544 = r138538 * r138543;
double r138545 = r138524 + r138544;
double r138546 = 6.60627199456594e-181;
bool r138547 = r138534 <= r138546;
double r138548 = r138524 * r138525;
double r138549 = r138548 / r138526;
double r138550 = r138549 + r138528;
double r138551 = r138528 * r138525;
double r138552 = r138551 / r138526;
double r138553 = r138550 - r138552;
double r138554 = 7.373491136096341e+307;
bool r138555 = r138534 <= r138554;
double r138556 = r138527 * r138529;
double r138557 = 1.0;
double r138558 = r138557 / r138531;
double r138559 = r138556 * r138558;
double r138560 = r138524 + r138559;
double r138561 = r138555 ? r138534 : r138560;
double r138562 = r138547 ? r138553 : r138561;
double r138563 = r138536 ? r138545 : r138562;
return r138563;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
if (+ x (* (- y z) (/ (- t x) (- a z)))) < -3.4192536638792013e-292Initial program 7.6
rmApplied add-cube-cbrt8.3
Applied associate-*l*8.3
rmApplied *-un-lft-identity8.3
Applied add-cube-cbrt8.5
Applied times-frac8.5
Applied associate-*r*6.3
Simplified6.3
if -3.4192536638792013e-292 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 6.60627199456594e-181Initial program 54.3
Taylor expanded around inf 28.0
if 6.60627199456594e-181 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 7.373491136096341e+307Initial program 3.3
if 7.373491136096341e+307 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 60.2
rmApplied div-inv60.2
Applied associate-*r*9.0
Final simplification8.8
herbie shell --seed 2020083
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
:precision binary64
(+ x (* (- y z) (/ (- t x) (- a z)))))