x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;z \le -1.409051721433192 \cdot 10^{178} \lor \neg \left(z \le 1.20516532875887789 \cdot 10^{156}\right):\\
\;\;\;\;y \cdot \left(\frac{x}{z} - \frac{t}{z}\right) + t\\
\mathbf{else}:\\
\;\;\;\;x + \left(\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \left(t - x\right)\right) \cdot \frac{1}{\sqrt[3]{a - z}}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r142391 = x;
double r142392 = y;
double r142393 = z;
double r142394 = r142392 - r142393;
double r142395 = t;
double r142396 = r142395 - r142391;
double r142397 = a;
double r142398 = r142397 - r142393;
double r142399 = r142396 / r142398;
double r142400 = r142394 * r142399;
double r142401 = r142391 + r142400;
return r142401;
}
double f(double x, double y, double z, double t, double a) {
double r142402 = z;
double r142403 = -1.409051721433192e+178;
bool r142404 = r142402 <= r142403;
double r142405 = 1.2051653287588779e+156;
bool r142406 = r142402 <= r142405;
double r142407 = !r142406;
bool r142408 = r142404 || r142407;
double r142409 = y;
double r142410 = x;
double r142411 = r142410 / r142402;
double r142412 = t;
double r142413 = r142412 / r142402;
double r142414 = r142411 - r142413;
double r142415 = r142409 * r142414;
double r142416 = r142415 + r142412;
double r142417 = r142409 - r142402;
double r142418 = a;
double r142419 = r142418 - r142402;
double r142420 = cbrt(r142419);
double r142421 = r142420 * r142420;
double r142422 = r142417 / r142421;
double r142423 = r142412 - r142410;
double r142424 = r142422 * r142423;
double r142425 = 1.0;
double r142426 = r142425 / r142420;
double r142427 = r142424 * r142426;
double r142428 = r142410 + r142427;
double r142429 = r142408 ? r142416 : r142428;
return r142429;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
if z < -1.409051721433192e+178 or 1.2051653287588779e+156 < z Initial program 27.6
rmApplied add-cube-cbrt28.1
Applied *-un-lft-identity28.1
Applied times-frac28.1
Applied associate-*r*23.4
Simplified23.4
rmApplied add-cube-cbrt23.6
Applied associate-*r*23.6
Taylor expanded around inf 25.3
Simplified16.0
if -1.409051721433192e+178 < z < 1.2051653287588779e+156Initial program 10.2
rmApplied add-cube-cbrt10.7
Applied *-un-lft-identity10.7
Applied times-frac10.7
Applied associate-*r*8.5
Simplified8.5
rmApplied div-inv8.5
Applied associate-*r*10.0
Simplified10.0
Final simplification11.5
herbie shell --seed 2019198
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))