x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;a \le -2.954199409932442086183595114849451162545 \cdot 10^{-204} \lor \neg \left(a \le 2.629474828766037561291881684659171626279 \cdot 10^{-181}\right):\\
\;\;\;\;\frac{y - z}{a - z} \cdot t + \mathsf{fma}\left(-x, \frac{y - z}{a - z}, x\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(y, \frac{x}{z} - \frac{t}{z}, t\right)\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r109125 = x;
double r109126 = y;
double r109127 = z;
double r109128 = r109126 - r109127;
double r109129 = t;
double r109130 = r109129 - r109125;
double r109131 = a;
double r109132 = r109131 - r109127;
double r109133 = r109130 / r109132;
double r109134 = r109128 * r109133;
double r109135 = r109125 + r109134;
return r109135;
}
double f(double x, double y, double z, double t, double a) {
double r109136 = a;
double r109137 = -2.954199409932442e-204;
bool r109138 = r109136 <= r109137;
double r109139 = 2.6294748287660376e-181;
bool r109140 = r109136 <= r109139;
double r109141 = !r109140;
bool r109142 = r109138 || r109141;
double r109143 = y;
double r109144 = z;
double r109145 = r109143 - r109144;
double r109146 = r109136 - r109144;
double r109147 = r109145 / r109146;
double r109148 = t;
double r109149 = r109147 * r109148;
double r109150 = x;
double r109151 = -r109150;
double r109152 = fma(r109151, r109147, r109150);
double r109153 = r109149 + r109152;
double r109154 = r109150 / r109144;
double r109155 = r109148 / r109144;
double r109156 = r109154 - r109155;
double r109157 = fma(r109143, r109156, r109148);
double r109158 = r109142 ? r109153 : r109157;
return r109158;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
if a < -2.954199409932442e-204 or 2.6294748287660376e-181 < a Initial program 12.6
Simplified12.5
rmApplied fma-udef12.6
rmApplied div-sub12.6
rmApplied div-inv12.5
Applied div-inv12.6
Applied distribute-rgt-out--12.6
Applied associate-*r*10.0
Simplified9.9
rmApplied sub-neg9.9
Applied distribute-lft-in9.9
Applied associate-+l+6.5
Simplified6.5
if -2.954199409932442e-204 < a < 2.6294748287660376e-181Initial program 26.9
Simplified26.9
Taylor expanded around inf 12.0
Simplified10.2
Final simplification7.1
herbie shell --seed 2019362 +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)))))