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.5146774546459616 \cdot 10^{-282} \lor \neg \left(x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 3.33709759619623259 \cdot 10^{-306}\right):\\
\;\;\;\;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{else}:\\
\;\;\;\;t + y \cdot \left(\frac{x}{z} - \frac{t}{z}\right)\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r137522 = x;
double r137523 = y;
double r137524 = z;
double r137525 = r137523 - r137524;
double r137526 = t;
double r137527 = r137526 - r137522;
double r137528 = a;
double r137529 = r137528 - r137524;
double r137530 = r137527 / r137529;
double r137531 = r137525 * r137530;
double r137532 = r137522 + r137531;
return r137532;
}
double f(double x, double y, double z, double t, double a) {
double r137533 = x;
double r137534 = y;
double r137535 = z;
double r137536 = r137534 - r137535;
double r137537 = t;
double r137538 = r137537 - r137533;
double r137539 = a;
double r137540 = r137539 - r137535;
double r137541 = r137538 / r137540;
double r137542 = r137536 * r137541;
double r137543 = r137533 + r137542;
double r137544 = -3.514677454645962e-282;
bool r137545 = r137543 <= r137544;
double r137546 = 3.3370975961962326e-306;
bool r137547 = r137543 <= r137546;
double r137548 = !r137547;
bool r137549 = r137545 || r137548;
double r137550 = cbrt(r137538);
double r137551 = r137550 * r137550;
double r137552 = cbrt(r137540);
double r137553 = r137552 * r137552;
double r137554 = r137551 / r137553;
double r137555 = r137536 * r137554;
double r137556 = r137550 / r137552;
double r137557 = r137555 * r137556;
double r137558 = r137533 + r137557;
double r137559 = r137533 / r137535;
double r137560 = r137537 / r137535;
double r137561 = r137559 - r137560;
double r137562 = r137534 * r137561;
double r137563 = r137537 + r137562;
double r137564 = r137549 ? r137558 : r137563;
return r137564;
}



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.514677454645962e-282 or 3.3370975961962326e-306 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.6
rmApplied add-cube-cbrt8.2
Applied add-cube-cbrt8.4
Applied times-frac8.4
Applied associate-*r*4.4
if -3.514677454645962e-282 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 3.3370975961962326e-306Initial program 60.5
rmApplied add-cube-cbrt60.3
Applied add-cube-cbrt60.3
Applied times-frac60.3
Applied associate-*r*59.2
Taylor expanded around inf 26.8
Simplified21.5
Final simplification6.8
herbie shell --seed 2020018
(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)))))