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.274238033086374554639513675873894241359 \cdot 10^{-228} \lor \neg \left(x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 8.018705835666315962422253726065345135652 \cdot 10^{-282}\right):\\
\;\;\;\;x + \left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r100024 = x;
double r100025 = y;
double r100026 = z;
double r100027 = r100025 - r100026;
double r100028 = t;
double r100029 = r100028 - r100024;
double r100030 = a;
double r100031 = r100030 - r100026;
double r100032 = r100029 / r100031;
double r100033 = r100027 * r100032;
double r100034 = r100024 + r100033;
return r100034;
}
double f(double x, double y, double z, double t, double a) {
double r100035 = x;
double r100036 = y;
double r100037 = z;
double r100038 = r100036 - r100037;
double r100039 = t;
double r100040 = r100039 - r100035;
double r100041 = a;
double r100042 = r100041 - r100037;
double r100043 = r100040 / r100042;
double r100044 = r100038 * r100043;
double r100045 = r100035 + r100044;
double r100046 = -1.2742380330863746e-228;
bool r100047 = r100045 <= r100046;
double r100048 = 8.018705835666316e-282;
bool r100049 = r100045 <= r100048;
double r100050 = !r100049;
bool r100051 = r100047 || r100050;
double r100052 = cbrt(r100040);
double r100053 = r100052 * r100052;
double r100054 = cbrt(r100042);
double r100055 = r100054 * r100054;
double r100056 = r100053 / r100055;
double r100057 = r100038 * r100056;
double r100058 = r100052 / r100054;
double r100059 = r100057 * r100058;
double r100060 = r100035 + r100059;
double r100061 = r100035 * r100036;
double r100062 = r100061 / r100037;
double r100063 = r100062 + r100039;
double r100064 = r100039 * r100036;
double r100065 = r100064 / r100037;
double r100066 = r100063 - r100065;
double r100067 = r100051 ? r100060 : r100066;
return r100067;
}



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.2742380330863746e-228 or 8.018705835666316e-282 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.1
rmApplied add-cube-cbrt7.8
Applied add-cube-cbrt7.9
Applied times-frac7.9
Applied associate-*r*4.7
if -1.2742380330863746e-228 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 8.018705835666316e-282Initial program 57.4
Taylor expanded around inf 25.8
Final simplification8.0
herbie shell --seed 2019325
(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)))))