x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;z \le -5.6084778564962155 \cdot 10^{+104}:\\
\;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t\right) - \frac{t}{z} \cdot y\\
\mathbf{elif}\;z \le 6.562213605057352 \cdot 10^{+178}:\\
\;\;\;\;\mathsf{fma}\left(y - z, \frac{t - x}{a - z}, x\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t\right) - \frac{t}{z} \cdot y\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r6325915 = x;
double r6325916 = y;
double r6325917 = z;
double r6325918 = r6325916 - r6325917;
double r6325919 = t;
double r6325920 = r6325919 - r6325915;
double r6325921 = a;
double r6325922 = r6325921 - r6325917;
double r6325923 = r6325920 / r6325922;
double r6325924 = r6325918 * r6325923;
double r6325925 = r6325915 + r6325924;
return r6325925;
}
double f(double x, double y, double z, double t, double a) {
double r6325926 = z;
double r6325927 = -5.6084778564962155e+104;
bool r6325928 = r6325926 <= r6325927;
double r6325929 = x;
double r6325930 = r6325929 / r6325926;
double r6325931 = y;
double r6325932 = t;
double r6325933 = fma(r6325930, r6325931, r6325932);
double r6325934 = r6325932 / r6325926;
double r6325935 = r6325934 * r6325931;
double r6325936 = r6325933 - r6325935;
double r6325937 = 6.562213605057352e+178;
bool r6325938 = r6325926 <= r6325937;
double r6325939 = r6325931 - r6325926;
double r6325940 = r6325932 - r6325929;
double r6325941 = a;
double r6325942 = r6325941 - r6325926;
double r6325943 = r6325940 / r6325942;
double r6325944 = fma(r6325939, r6325943, r6325929);
double r6325945 = r6325938 ? r6325944 : r6325936;
double r6325946 = r6325928 ? r6325936 : r6325945;
return r6325946;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
if z < -5.6084778564962155e+104 or 6.562213605057352e+178 < z Initial program 26.8
Simplified26.7
rmApplied fma-udef26.8
Taylor expanded around inf 24.8
Simplified17.0
if -5.6084778564962155e+104 < z < 6.562213605057352e+178Initial program 9.1
Simplified9.0
rmApplied fma-udef9.1
rmApplied fma-def9.0
Final simplification11.4
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))