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 r149090 = x;
double r149091 = y;
double r149092 = z;
double r149093 = r149091 - r149092;
double r149094 = t;
double r149095 = r149094 - r149090;
double r149096 = a;
double r149097 = r149096 - r149092;
double r149098 = r149095 / r149097;
double r149099 = r149093 * r149098;
double r149100 = r149090 + r149099;
return r149100;
}
double f(double x, double y, double z, double t, double a) {
double r149101 = x;
double r149102 = y;
double r149103 = z;
double r149104 = r149102 - r149103;
double r149105 = t;
double r149106 = r149105 - r149101;
double r149107 = a;
double r149108 = r149107 - r149103;
double r149109 = r149106 / r149108;
double r149110 = r149104 * r149109;
double r149111 = r149101 + r149110;
double r149112 = -1.1565063212775817e-297;
bool r149113 = r149111 <= r149112;
double r149114 = 1.0;
double r149115 = cbrt(r149114);
double r149116 = r149115 * r149115;
double r149117 = r149116 / r149108;
double r149118 = r149104 * r149117;
double r149119 = r149114 / r149106;
double r149120 = r149115 / r149119;
double r149121 = r149118 * r149120;
double r149122 = r149101 + r149121;
double r149123 = 0.0;
bool r149124 = r149111 <= r149123;
double r149125 = r149101 * r149102;
double r149126 = r149125 / r149103;
double r149127 = r149126 + r149105;
double r149128 = r149105 * r149102;
double r149129 = r149128 / r149103;
double r149130 = r149127 - r149129;
double r149131 = r149117 * r149115;
double r149132 = r149104 * r149131;
double r149133 = r149132 / r149119;
double r149134 = r149101 + r149133;
double r149135 = r149124 ? r149130 : r149134;
double r149136 = r149113 ? r149122 : r149135;
return r149136;
}



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)))))