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 -9.1253472310740824 \cdot 10^{-302} \lor \neg \left(x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0\right):\\
\;\;\;\;x + \frac{y - z}{\sqrt[3]{a - z} \cdot \left(\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right)} \cdot \frac{t - x}{\sqrt[3]{a - z}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r171567 = x;
double r171568 = y;
double r171569 = z;
double r171570 = r171568 - r171569;
double r171571 = t;
double r171572 = r171571 - r171567;
double r171573 = a;
double r171574 = r171573 - r171569;
double r171575 = r171572 / r171574;
double r171576 = r171570 * r171575;
double r171577 = r171567 + r171576;
return r171577;
}
double f(double x, double y, double z, double t, double a) {
double r171578 = x;
double r171579 = y;
double r171580 = z;
double r171581 = r171579 - r171580;
double r171582 = t;
double r171583 = r171582 - r171578;
double r171584 = a;
double r171585 = r171584 - r171580;
double r171586 = r171583 / r171585;
double r171587 = r171581 * r171586;
double r171588 = r171578 + r171587;
double r171589 = -9.125347231074082e-302;
bool r171590 = r171588 <= r171589;
double r171591 = 0.0;
bool r171592 = r171588 <= r171591;
double r171593 = !r171592;
bool r171594 = r171590 || r171593;
double r171595 = cbrt(r171585);
double r171596 = r171595 * r171595;
double r171597 = cbrt(r171596);
double r171598 = cbrt(r171595);
double r171599 = r171597 * r171598;
double r171600 = r171595 * r171599;
double r171601 = r171581 / r171600;
double r171602 = r171583 / r171595;
double r171603 = r171601 * r171602;
double r171604 = r171578 + r171603;
double r171605 = r171578 * r171579;
double r171606 = r171605 / r171580;
double r171607 = r171606 + r171582;
double r171608 = r171582 * r171579;
double r171609 = r171608 / r171580;
double r171610 = r171607 - r171609;
double r171611 = r171594 ? r171604 : r171610;
return r171611;
}



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)))) < -9.125347231074082e-302 or 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 8.0
rmApplied add-cube-cbrt8.6
Applied associate-*l*8.6
rmApplied add-cube-cbrt8.6
Applied *-un-lft-identity8.6
Applied times-frac8.6
Applied associate-*r*6.7
Simplified6.7
rmApplied add-cube-cbrt6.7
Applied cbrt-prod6.8
rmApplied associate-*r*5.5
Simplified5.6
if -9.125347231074082e-302 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.4
Taylor expanded around inf 25.9
Final simplification8.3
herbie shell --seed 2020065
(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)))))