x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;z \le -2.13818177103117769 \cdot 10^{136}:\\
\;\;\;\;\frac{y}{z} \cdot \left(x - t\right) + t\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y - z}{a - z} \cdot \left(t - x\right)\\
\end{array}double code(double x, double y, double z, double t, double a) {
return ((double) (x + ((double) (((double) (y - z)) * (((double) (t - x)) / ((double) (a - z)))))));
}
double code(double x, double y, double z, double t, double a) {
double VAR;
if ((z <= -2.1381817710311777e+136)) {
VAR = ((double) (((double) ((y / z) * ((double) (x - t)))) + t));
} else {
VAR = ((double) (x + ((double) ((((double) (y - z)) / ((double) (a - z))) * ((double) (t - x))))));
}
return VAR;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
if z < -2.13818177103117769e136Initial program 27.8
Taylor expanded around inf 24.2
Simplified15.6
if -2.13818177103117769e136 < z Initial program 12.5
rmApplied add-cube-cbrt13.1
Applied associate-*l*13.1
rmApplied pow113.1
Applied pow113.1
Applied pow-prod-down13.1
Applied pow113.1
Applied pow113.1
Applied pow-prod-down13.1
Applied pow-prod-down13.1
Simplified9.8
Final simplification10.7
herbie shell --seed 2020181
(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)))))