x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le -2.335375383468043 \cdot 10^{-253}:\\
\;\;\;\;\frac{\frac{\frac{y - z}{\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}{\sqrt[3]{\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}} \cdot \frac{t - x}{\sqrt[3]{\sqrt[3]{\sqrt[3]{a - z}}}} + x\\
\mathbf{elif}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le 0.0:\\
\;\;\;\;\left(t + \frac{x \cdot y}{z}\right) - \frac{y \cdot t}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \left(\frac{\frac{\sqrt[3]{y - z}}{\sqrt{\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}}}{\sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{\sqrt[3]{a - z}}}\right) \cdot \frac{\frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt{\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}}}{\sqrt[3]{a - z}}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r7054356 = x;
double r7054357 = y;
double r7054358 = z;
double r7054359 = r7054357 - r7054358;
double r7054360 = t;
double r7054361 = r7054360 - r7054356;
double r7054362 = a;
double r7054363 = r7054362 - r7054358;
double r7054364 = r7054361 / r7054363;
double r7054365 = r7054359 * r7054364;
double r7054366 = r7054356 + r7054365;
return r7054366;
}
double f(double x, double y, double z, double t, double a) {
double r7054367 = x;
double r7054368 = t;
double r7054369 = r7054368 - r7054367;
double r7054370 = a;
double r7054371 = z;
double r7054372 = r7054370 - r7054371;
double r7054373 = r7054369 / r7054372;
double r7054374 = y;
double r7054375 = r7054374 - r7054371;
double r7054376 = r7054373 * r7054375;
double r7054377 = r7054367 + r7054376;
double r7054378 = -2.335375383468043e-253;
bool r7054379 = r7054377 <= r7054378;
double r7054380 = cbrt(r7054372);
double r7054381 = r7054380 * r7054380;
double r7054382 = cbrt(r7054381);
double r7054383 = r7054375 / r7054382;
double r7054384 = r7054383 / r7054381;
double r7054385 = cbrt(r7054382);
double r7054386 = r7054384 / r7054385;
double r7054387 = cbrt(r7054380);
double r7054388 = cbrt(r7054387);
double r7054389 = r7054369 / r7054388;
double r7054390 = r7054386 * r7054389;
double r7054391 = r7054390 + r7054367;
double r7054392 = 0.0;
bool r7054393 = r7054377 <= r7054392;
double r7054394 = r7054367 * r7054374;
double r7054395 = r7054394 / r7054371;
double r7054396 = r7054368 + r7054395;
double r7054397 = r7054374 * r7054368;
double r7054398 = r7054397 / r7054371;
double r7054399 = r7054396 - r7054398;
double r7054400 = cbrt(r7054375);
double r7054401 = sqrt(r7054382);
double r7054402 = r7054400 / r7054401;
double r7054403 = r7054402 / r7054380;
double r7054404 = r7054369 / r7054387;
double r7054405 = r7054403 * r7054404;
double r7054406 = r7054400 * r7054400;
double r7054407 = r7054406 / r7054401;
double r7054408 = r7054407 / r7054380;
double r7054409 = r7054405 * r7054408;
double r7054410 = r7054367 + r7054409;
double r7054411 = r7054393 ? r7054399 : r7054410;
double r7054412 = r7054379 ? r7054391 : r7054411;
return r7054412;
}



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)))) < -2.335375383468043e-253Initial program 7.0
rmApplied add-cube-cbrt7.6
Applied *-un-lft-identity7.6
Applied times-frac7.7
Applied associate-*r*5.4
Simplified5.4
rmApplied add-cube-cbrt5.4
Applied cbrt-prod5.5
Applied *-un-lft-identity5.5
Applied times-frac5.5
Applied associate-*r*5.5
Simplified5.5
rmApplied add-cube-cbrt5.5
Applied cbrt-prod5.5
Applied cbrt-prod5.6
Applied *-un-lft-identity5.6
Applied times-frac5.6
Applied associate-*r*5.5
Simplified5.5
if -2.335375383468043e-253 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 59.4
Taylor expanded around inf 29.0
if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.7
rmApplied add-cube-cbrt8.4
Applied *-un-lft-identity8.4
Applied times-frac8.4
Applied associate-*r*5.5
Simplified5.5
rmApplied add-cube-cbrt5.5
Applied cbrt-prod5.5
Applied *-un-lft-identity5.5
Applied times-frac5.6
Applied associate-*r*5.2
Simplified5.2
rmApplied add-sqr-sqrt5.2
Applied add-cube-cbrt5.1
Applied times-frac5.2
Applied times-frac5.2
Applied associate-*l*4.8
Final simplification8.6
herbie shell --seed 2019165
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))