x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le -5.175543709426314317899237427278029417013 \cdot 10^{-293} \lor \neg \left(x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le 0.0\right):\\
\;\;\;\;\left(t - x\right) \cdot \frac{y - z}{a - z} + x\\
\mathbf{else}:\\
\;\;\;\;t + \left(\frac{y}{\frac{z}{x}} - y \cdot \frac{t}{z}\right)\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r110401 = x;
double r110402 = y;
double r110403 = z;
double r110404 = r110402 - r110403;
double r110405 = t;
double r110406 = r110405 - r110401;
double r110407 = a;
double r110408 = r110407 - r110403;
double r110409 = r110406 / r110408;
double r110410 = r110404 * r110409;
double r110411 = r110401 + r110410;
return r110411;
}
double f(double x, double y, double z, double t, double a) {
double r110412 = x;
double r110413 = t;
double r110414 = r110413 - r110412;
double r110415 = a;
double r110416 = z;
double r110417 = r110415 - r110416;
double r110418 = r110414 / r110417;
double r110419 = y;
double r110420 = r110419 - r110416;
double r110421 = r110418 * r110420;
double r110422 = r110412 + r110421;
double r110423 = -5.175543709426314e-293;
bool r110424 = r110422 <= r110423;
double r110425 = 0.0;
bool r110426 = r110422 <= r110425;
double r110427 = !r110426;
bool r110428 = r110424 || r110427;
double r110429 = r110420 / r110417;
double r110430 = r110414 * r110429;
double r110431 = r110430 + r110412;
double r110432 = r110416 / r110412;
double r110433 = r110419 / r110432;
double r110434 = r110413 / r110416;
double r110435 = r110419 * r110434;
double r110436 = r110433 - r110435;
double r110437 = r110413 + r110436;
double r110438 = r110428 ? r110431 : r110437;
return r110438;
}



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)))) < -5.175543709426314e-293 or 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.1
rmApplied clear-num7.4
rmApplied associate-/r/7.2
Applied associate-*r*4.1
Simplified4.0
if -5.175543709426314e-293 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 60.9
rmApplied add-cube-cbrt60.6
Applied *-un-lft-identity60.6
Applied times-frac60.6
Applied associate-*r*60.0
Simplified59.9
Taylor expanded around inf 25.6
Simplified21.2
Final simplification6.3
herbie shell --seed 2019179
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))