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 -1.126385545871803796719839159085008015471 \cdot 10^{-290}:\\
\;\;\;\;\left(\sqrt[3]{x + \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}} \cdot \sqrt[3]{x + \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}}\right) \cdot \sqrt[3]{x + \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}}\\
\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0:\\
\;\;\;\;t + y \cdot \left(\frac{x}{z} - \frac{t}{z}\right)\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r95491 = x;
double r95492 = y;
double r95493 = z;
double r95494 = r95492 - r95493;
double r95495 = t;
double r95496 = r95495 - r95491;
double r95497 = a;
double r95498 = r95497 - r95493;
double r95499 = r95496 / r95498;
double r95500 = r95494 * r95499;
double r95501 = r95491 + r95500;
return r95501;
}
double f(double x, double y, double z, double t, double a) {
double r95502 = x;
double r95503 = y;
double r95504 = z;
double r95505 = r95503 - r95504;
double r95506 = t;
double r95507 = r95506 - r95502;
double r95508 = a;
double r95509 = r95508 - r95504;
double r95510 = r95507 / r95509;
double r95511 = r95505 * r95510;
double r95512 = r95502 + r95511;
double r95513 = -1.1263855458718038e-290;
bool r95514 = r95512 <= r95513;
double r95515 = cbrt(r95507);
double r95516 = r95515 * r95515;
double r95517 = cbrt(r95509);
double r95518 = r95517 * r95517;
double r95519 = r95516 / r95518;
double r95520 = r95505 * r95519;
double r95521 = r95515 / r95517;
double r95522 = r95520 * r95521;
double r95523 = r95502 + r95522;
double r95524 = cbrt(r95523);
double r95525 = r95524 * r95524;
double r95526 = r95525 * r95524;
double r95527 = 0.0;
bool r95528 = r95512 <= r95527;
double r95529 = r95502 / r95504;
double r95530 = r95506 / r95504;
double r95531 = r95529 - r95530;
double r95532 = r95503 * r95531;
double r95533 = r95506 + r95532;
double r95534 = r95505 / r95518;
double r95535 = r95507 / r95517;
double r95536 = r95534 * r95535;
double r95537 = r95502 + r95536;
double r95538 = r95528 ? r95533 : r95537;
double r95539 = r95514 ? r95526 : r95538;
return r95539;
}



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)))) < -1.1263855458718038e-290Initial program 6.7
rmApplied add-cube-cbrt7.4
Applied add-cube-cbrt7.6
Applied times-frac7.6
Applied associate-*r*4.1
rmApplied add-cube-cbrt4.7
if -1.1263855458718038e-290 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.3
rmApplied add-cube-cbrt61.0
Applied add-cube-cbrt61.1
Applied times-frac61.0
Applied associate-*r*60.2
Taylor expanded around inf 26.1
Simplified20.8
if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.2
rmApplied add-cube-cbrt7.9
Applied *-un-lft-identity7.9
Applied times-frac7.9
Applied associate-*r*4.8
Simplified4.8
Final simplification7.0
herbie shell --seed 2019354
(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)))))