x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;z \le 4.54856210553534213 \cdot 10^{-5}:\\
\;\;\;\;\mathsf{fma}\left(\frac{y - z}{a - z}, t - x, x\right)\\
\mathbf{elif}\;z \le 9.2575140458516465 \cdot 10^{270}:\\
\;\;\;\;\frac{y}{\frac{a - z}{t - x}} - \left(\frac{z}{\frac{a - z}{t - x}} - x\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r106292 = x;
double r106293 = y;
double r106294 = z;
double r106295 = r106293 - r106294;
double r106296 = t;
double r106297 = r106296 - r106292;
double r106298 = a;
double r106299 = r106298 - r106294;
double r106300 = r106297 / r106299;
double r106301 = r106295 * r106300;
double r106302 = r106292 + r106301;
return r106302;
}
double f(double x, double y, double z, double t, double a) {
double r106303 = z;
double r106304 = 4.548562105535342e-05;
bool r106305 = r106303 <= r106304;
double r106306 = y;
double r106307 = r106306 - r106303;
double r106308 = a;
double r106309 = r106308 - r106303;
double r106310 = r106307 / r106309;
double r106311 = t;
double r106312 = x;
double r106313 = r106311 - r106312;
double r106314 = fma(r106310, r106313, r106312);
double r106315 = 9.257514045851647e+270;
bool r106316 = r106303 <= r106315;
double r106317 = r106309 / r106313;
double r106318 = r106306 / r106317;
double r106319 = r106303 / r106317;
double r106320 = r106319 - r106312;
double r106321 = r106318 - r106320;
double r106322 = r106312 * r106306;
double r106323 = r106322 / r106303;
double r106324 = r106323 + r106311;
double r106325 = r106311 * r106306;
double r106326 = r106325 / r106303;
double r106327 = r106324 - r106326;
double r106328 = r106316 ? r106321 : r106327;
double r106329 = r106305 ? r106314 : r106328;
return r106329;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
if z < 4.548562105535342e-05Initial program 12.1
Simplified12.1
rmApplied clear-num12.3
rmApplied fma-udef12.3
Simplified12.0
rmApplied associate-/r/9.2
Applied fma-def9.2
if 4.548562105535342e-05 < z < 9.257514045851647e+270Initial program 18.8
Simplified18.8
rmApplied clear-num19.1
rmApplied fma-udef19.1
Simplified19.0
rmApplied div-sub19.0
Applied associate-+l-15.1
if 9.257514045851647e+270 < z Initial program 35.3
Simplified35.3
rmApplied clear-num35.9
rmApplied fma-udef35.8
Simplified35.7
Taylor expanded around inf 21.5
Final simplification11.2
herbie shell --seed 2020046 +o rules:numerics
(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)))))