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 -1.156506321277581653214891910831195950706 \cdot 10^{-297}:\\
\;\;\;\;x + \left(\left(y - z\right) \cdot \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{a - z}\right) \cdot \frac{\sqrt[3]{1}}{\frac{1}{t - x}}\\
\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0:\\
\;\;\;\;\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{\left(y - z\right) \cdot \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{a - z} \cdot \sqrt[3]{1}\right)}{\frac{1}{t - x}}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r130109 = x;
double r130110 = y;
double r130111 = z;
double r130112 = r130110 - r130111;
double r130113 = t;
double r130114 = r130113 - r130109;
double r130115 = a;
double r130116 = r130115 - r130111;
double r130117 = r130114 / r130116;
double r130118 = r130112 * r130117;
double r130119 = r130109 + r130118;
return r130119;
}
double f(double x, double y, double z, double t, double a) {
double r130120 = x;
double r130121 = y;
double r130122 = z;
double r130123 = r130121 - r130122;
double r130124 = t;
double r130125 = r130124 - r130120;
double r130126 = a;
double r130127 = r130126 - r130122;
double r130128 = r130125 / r130127;
double r130129 = r130123 * r130128;
double r130130 = r130120 + r130129;
double r130131 = -1.1565063212775817e-297;
bool r130132 = r130130 <= r130131;
double r130133 = 1.0;
double r130134 = cbrt(r130133);
double r130135 = r130134 * r130134;
double r130136 = r130135 / r130127;
double r130137 = r130123 * r130136;
double r130138 = r130133 / r130125;
double r130139 = r130134 / r130138;
double r130140 = r130137 * r130139;
double r130141 = r130120 + r130140;
double r130142 = 0.0;
bool r130143 = r130130 <= r130142;
double r130144 = r130120 * r130121;
double r130145 = r130144 / r130122;
double r130146 = r130145 + r130124;
double r130147 = r130124 * r130121;
double r130148 = r130147 / r130122;
double r130149 = r130146 - r130148;
double r130150 = r130136 * r130134;
double r130151 = r130123 * r130150;
double r130152 = r130151 / r130138;
double r130153 = r130120 + r130152;
double r130154 = r130143 ? r130149 : r130153;
double r130155 = r130132 ? r130141 : r130154;
return r130155;
}



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)))) < -1.1565063212775817e-297Initial program 7.3
rmApplied clear-num7.6
rmApplied div-inv7.7
Applied add-cube-cbrt7.7
Applied times-frac7.4
Applied associate-*r*4.4
if -1.1565063212775817e-297 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.2
Taylor expanded around inf 27.6
if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.4
rmApplied clear-num7.6
rmApplied div-inv7.7
Applied add-cube-cbrt7.7
Applied times-frac7.5
Applied associate-*r*3.7
rmApplied associate-*r/3.7
Simplified3.7
Final simplification7.3
herbie shell --seed 2020001
(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)))))