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 -1.8506421456968734 \cdot 10^{-283}:\\
\;\;\;\;x + {\left(\frac{\left(y - z\right) \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{t - x}}{{\left(\sqrt[3]{\sqrt[3]{a - z}}\right)}^{3}}\right)}^{1} \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\\
\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 3.38756528908946904 \cdot 10^{-258}:\\
\;\;\;\;\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\end{array}double code(double x, double y, double z, double t, double a) {
return (x + ((y - z) * ((t - x) / (a - z))));
}
double code(double x, double y, double z, double t, double a) {
double VAR;
if (((x + ((y - z) * ((t - x) / (a - z)))) <= -1.8506421456968734e-283)) {
VAR = (x + (pow(((((y - z) * cbrt((t - x))) / cbrt((a - z))) * (cbrt((t - x)) / pow(cbrt(cbrt((a - z))), 3.0))), 1.0) * (cbrt((t - x)) / cbrt((a - z)))));
} else {
double VAR_1;
if (((x + ((y - z) * ((t - x) / (a - z)))) <= 3.387565289089469e-258)) {
VAR_1 = ((((x * y) / z) + t) - ((t * y) / z));
} else {
VAR_1 = (x + ((y - z) * ((t - x) / (a - z))));
}
VAR = VAR_1;
}
return VAR;
}



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)))) < -1.8506421456968734e-283Initial program 7.3
rmApplied add-cube-cbrt8.0
Applied add-cube-cbrt8.1
Applied times-frac8.1
Applied associate-*r*4.6
rmApplied add-cube-cbrt4.7
Applied associate-*r*4.7
rmApplied pow14.7
Applied pow14.7
Applied pow-prod-down4.7
Simplified9.3
if -1.8506421456968734e-283 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 3.387565289089469e-258Initial program 58.9
Taylor expanded around inf 26.9
if 3.387565289089469e-258 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 6.8
Final simplification11.0
herbie shell --seed 2020105
(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)))))