x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;a \le -5.803502322044402566933766238292309038892 \cdot 10^{-257} \lor \neg \left(a \le 1.160138367082973964116538814920663664554 \cdot 10^{-174}\right):\\
\;\;\;\;x + \left(\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{1}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\\
\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 r82413 = x;
double r82414 = y;
double r82415 = z;
double r82416 = r82414 - r82415;
double r82417 = t;
double r82418 = r82417 - r82413;
double r82419 = a;
double r82420 = r82419 - r82415;
double r82421 = r82418 / r82420;
double r82422 = r82416 * r82421;
double r82423 = r82413 + r82422;
return r82423;
}
double f(double x, double y, double z, double t, double a) {
double r82424 = a;
double r82425 = -5.8035023220444026e-257;
bool r82426 = r82424 <= r82425;
double r82427 = 1.160138367082974e-174;
bool r82428 = r82424 <= r82427;
double r82429 = !r82428;
bool r82430 = r82426 || r82429;
double r82431 = x;
double r82432 = y;
double r82433 = z;
double r82434 = r82432 - r82433;
double r82435 = r82424 - r82433;
double r82436 = cbrt(r82435);
double r82437 = r82436 * r82436;
double r82438 = r82434 / r82437;
double r82439 = t;
double r82440 = r82439 - r82431;
double r82441 = cbrt(r82440);
double r82442 = r82441 * r82441;
double r82443 = 1.0;
double r82444 = cbrt(r82443);
double r82445 = r82442 / r82444;
double r82446 = r82438 * r82445;
double r82447 = r82441 / r82436;
double r82448 = r82446 * r82447;
double r82449 = r82431 + r82448;
double r82450 = r82431 / r82433;
double r82451 = r82439 / r82433;
double r82452 = r82450 - r82451;
double r82453 = r82432 * r82452;
double r82454 = r82453 + r82439;
double r82455 = r82430 ? r82449 : r82454;
return r82455;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
if a < -5.8035023220444026e-257Initial program 14.2
rmApplied add-cube-cbrt14.7
Applied *-un-lft-identity14.7
Applied times-frac14.7
Applied associate-*r*12.5
Simplified12.5
rmApplied *-un-lft-identity12.5
Applied cbrt-prod12.5
Applied add-cube-cbrt12.7
Applied times-frac12.7
Applied associate-*r*12.0
rmApplied add-cube-cbrt12.1
if -5.8035023220444026e-257 < a < 1.160138367082974e-174Initial program 24.2
Taylor expanded around inf 12.9
if 1.160138367082974e-174 < a Initial program 12.7
rmApplied add-cube-cbrt13.2
Applied *-un-lft-identity13.2
Applied times-frac13.2
Applied associate-*r*10.9
Simplified10.9
rmApplied *-un-lft-identity10.9
Applied cbrt-prod10.9
Applied add-cube-cbrt11.0
Applied times-frac11.0
Applied associate-*r*10.5
Final simplification11.1
herbie shell --seed 2019297
(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)))))