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 -3.867303041981070679871241611855041259303 \cdot 10^{-127}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0:\\
\;\;\;\;y \cdot \left(\frac{x}{z} - \frac{t}{z}\right) + t\\
\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 26593146023651132:\\
\;\;\;\;x + \left(\left(y - z\right) \cdot \left(t - x\right)\right) \cdot \frac{1}{a - z}\\
\mathbf{else}:\\
\;\;\;\;x + \left(y - z\right) \cdot \frac{t - x}{a - z}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r81192 = x;
double r81193 = y;
double r81194 = z;
double r81195 = r81193 - r81194;
double r81196 = t;
double r81197 = r81196 - r81192;
double r81198 = a;
double r81199 = r81198 - r81194;
double r81200 = r81197 / r81199;
double r81201 = r81195 * r81200;
double r81202 = r81192 + r81201;
return r81202;
}
double f(double x, double y, double z, double t, double a) {
double r81203 = x;
double r81204 = y;
double r81205 = z;
double r81206 = r81204 - r81205;
double r81207 = t;
double r81208 = r81207 - r81203;
double r81209 = a;
double r81210 = r81209 - r81205;
double r81211 = r81208 / r81210;
double r81212 = r81206 * r81211;
double r81213 = r81203 + r81212;
double r81214 = -3.867303041981071e-127;
bool r81215 = r81213 <= r81214;
double r81216 = 0.0;
bool r81217 = r81213 <= r81216;
double r81218 = r81203 / r81205;
double r81219 = r81207 / r81205;
double r81220 = r81218 - r81219;
double r81221 = r81204 * r81220;
double r81222 = r81221 + r81207;
double r81223 = 26593146023651132.0;
bool r81224 = r81213 <= r81223;
double r81225 = r81206 * r81208;
double r81226 = 1.0;
double r81227 = r81226 / r81210;
double r81228 = r81225 * r81227;
double r81229 = r81203 + r81228;
double r81230 = r81224 ? r81229 : r81213;
double r81231 = r81217 ? r81222 : r81230;
double r81232 = r81215 ? r81213 : r81231;
return r81232;
}



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)))) < -3.867303041981071e-127 or 26593146023651132.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 5.4
if -3.867303041981071e-127 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 50.4
rmApplied add-cube-cbrt50.4
Applied associate-*r*50.4
Taylor expanded around inf 28.8
Simplified25.0
if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 26593146023651132.0Initial program 13.0
rmApplied div-inv13.1
Applied associate-*r*5.9
Final simplification9.1
herbie shell --seed 2019304
(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)))))