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.75564871917852029 \cdot 10^{-299} \lor \neg \left(x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0\right):\\
\;\;\;\;x + \left(\sqrt[3]{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}} \cdot \sqrt[3]{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}}\right) \cdot \sqrt[3]{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(\frac{x}{z} - \frac{t}{z}\right) + t\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r180542 = x;
double r180543 = y;
double r180544 = z;
double r180545 = r180543 - r180544;
double r180546 = t;
double r180547 = r180546 - r180542;
double r180548 = a;
double r180549 = r180548 - r180544;
double r180550 = r180547 / r180549;
double r180551 = r180545 * r180550;
double r180552 = r180542 + r180551;
return r180552;
}
double f(double x, double y, double z, double t, double a) {
double r180553 = x;
double r180554 = y;
double r180555 = z;
double r180556 = r180554 - r180555;
double r180557 = t;
double r180558 = r180557 - r180553;
double r180559 = a;
double r180560 = r180559 - r180555;
double r180561 = r180558 / r180560;
double r180562 = r180556 * r180561;
double r180563 = r180553 + r180562;
double r180564 = -3.7556487191785203e-299;
bool r180565 = r180563 <= r180564;
double r180566 = 0.0;
bool r180567 = r180563 <= r180566;
double r180568 = !r180567;
bool r180569 = r180565 || r180568;
double r180570 = cbrt(r180560);
double r180571 = r180570 * r180570;
double r180572 = r180556 / r180571;
double r180573 = r180558 / r180570;
double r180574 = r180572 * r180573;
double r180575 = cbrt(r180574);
double r180576 = r180575 * r180575;
double r180577 = r180576 * r180575;
double r180578 = r180553 + r180577;
double r180579 = r180553 / r180555;
double r180580 = r180557 / r180555;
double r180581 = r180579 - r180580;
double r180582 = r180554 * r180581;
double r180583 = r180582 + r180557;
double r180584 = r180569 ? r180578 : r180583;
return r180584;
}



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.7556487191785203e-299 or 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.5
rmApplied add-cube-cbrt8.2
Applied *-un-lft-identity8.2
Applied times-frac8.2
Applied associate-*r*5.2
Simplified5.2
rmApplied add-cube-cbrt5.4
if -3.7556487191785203e-299 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.6
rmApplied add-cube-cbrt61.4
Applied *-un-lft-identity61.4
Applied times-frac61.4
Applied associate-*r*61.2
Simplified61.2
rmApplied add-cube-cbrt61.2
Taylor expanded around inf 25.3
Simplified20.0
Final simplification7.4
herbie shell --seed 2020036
(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)))))