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 -4.82516022252417878 \cdot 10^{-304} \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 \sqrt[3]{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}\right) \cdot \left(\sqrt[3]{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\right)\\
\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 r112313 = x;
double r112314 = y;
double r112315 = z;
double r112316 = r112314 - r112315;
double r112317 = t;
double r112318 = r112317 - r112313;
double r112319 = a;
double r112320 = r112319 - r112315;
double r112321 = r112318 / r112320;
double r112322 = r112316 * r112321;
double r112323 = r112313 + r112322;
return r112323;
}
double f(double x, double y, double z, double t, double a) {
double r112324 = x;
double r112325 = y;
double r112326 = z;
double r112327 = r112325 - r112326;
double r112328 = t;
double r112329 = r112328 - r112324;
double r112330 = a;
double r112331 = r112330 - r112326;
double r112332 = r112329 / r112331;
double r112333 = r112327 * r112332;
double r112334 = r112324 + r112333;
double r112335 = -4.825160222524179e-304;
bool r112336 = r112334 <= r112335;
double r112337 = 0.0;
bool r112338 = r112334 <= r112337;
double r112339 = !r112338;
bool r112340 = r112336 || r112339;
double r112341 = cbrt(r112331);
double r112342 = r112341 * r112341;
double r112343 = r112327 / r112342;
double r112344 = cbrt(r112343);
double r112345 = r112344 * r112344;
double r112346 = r112329 / r112341;
double r112347 = r112344 * r112346;
double r112348 = r112345 * r112347;
double r112349 = r112324 + r112348;
double r112350 = r112324 / r112326;
double r112351 = r112328 / r112326;
double r112352 = r112350 - r112351;
double r112353 = r112325 * r112352;
double r112354 = r112328 + r112353;
double r112355 = r112340 ? r112349 : r112354;
return r112355;
}



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)))) < -4.825160222524179e-304 or 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.6
rmApplied add-cube-cbrt8.3
Applied *-un-lft-identity8.3
Applied times-frac8.3
Applied associate-*r*5.3
Simplified5.3
rmApplied add-cube-cbrt5.5
Applied associate-*l*5.5
if -4.825160222524179e-304 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.5
rmApplied add-cube-cbrt61.3
Applied *-un-lft-identity61.3
Applied times-frac61.3
Applied associate-*r*61.1
Simplified61.1
rmApplied add-cube-cbrt61.0
Applied associate-*l*61.0
Taylor expanded around inf 25.7
Simplified19.8
Final simplification7.5
herbie shell --seed 2020045
(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)))))