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.651442213597143 \cdot 10^{-295} \lor \neg \left(x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0\right):\\
\;\;\;\;x + \frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \left(\frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\right)\\
\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 r106376 = x;
double r106377 = y;
double r106378 = z;
double r106379 = r106377 - r106378;
double r106380 = t;
double r106381 = r106380 - r106376;
double r106382 = a;
double r106383 = r106382 - r106378;
double r106384 = r106381 / r106383;
double r106385 = r106379 * r106384;
double r106386 = r106376 + r106385;
return r106386;
}
double f(double x, double y, double z, double t, double a) {
double r106387 = x;
double r106388 = y;
double r106389 = z;
double r106390 = r106388 - r106389;
double r106391 = t;
double r106392 = r106391 - r106387;
double r106393 = a;
double r106394 = r106393 - r106389;
double r106395 = r106392 / r106394;
double r106396 = r106390 * r106395;
double r106397 = r106387 + r106396;
double r106398 = -9.651442213597143e-295;
bool r106399 = r106397 <= r106398;
double r106400 = 0.0;
bool r106401 = r106397 <= r106400;
double r106402 = !r106401;
bool r106403 = r106399 || r106402;
double r106404 = cbrt(r106390);
double r106405 = r106404 * r106404;
double r106406 = cbrt(r106394);
double r106407 = r106405 / r106406;
double r106408 = r106404 / r106406;
double r106409 = r106392 / r106406;
double r106410 = r106408 * r106409;
double r106411 = r106407 * r106410;
double r106412 = r106387 + r106411;
double r106413 = r106387 / r106389;
double r106414 = r106391 / r106389;
double r106415 = r106413 - r106414;
double r106416 = r106388 * r106415;
double r106417 = r106416 + r106391;
double r106418 = r106403 ? r106412 : r106417;
return r106418;
}



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.651442213597143e-295 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.3
Simplified5.3
rmApplied add-cube-cbrt5.1
Applied times-frac5.1
Applied associate-*l*4.8
if -9.651442213597143e-295 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.6
rmApplied add-cube-cbrt61.3
Applied *-un-lft-identity61.3
Applied times-frac61.3
Applied associate-*r*60.3
Simplified60.3
rmApplied add-cube-cbrt60.6
Applied times-frac60.6
Applied associate-*l*60.7
Taylor expanded around inf 27.9
Simplified22.1
Final simplification7.0
herbie shell --seed 2020081
(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)))))