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 -3.75564871917852029 \cdot 10^{-299} \lor \neg \left(x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0\right):\\
\;\;\;\;x + \left(\sqrt[3]{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}} \cdot \sqrt[3]{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}}\right) \cdot \sqrt[3]{\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \left(\frac{x}{z} - \frac{t}{z}\right) + t\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r175892 = x;
double r175893 = y;
double r175894 = z;
double r175895 = r175893 - r175894;
double r175896 = t;
double r175897 = r175896 - r175892;
double r175898 = a;
double r175899 = r175898 - r175894;
double r175900 = r175897 / r175899;
double r175901 = r175895 * r175900;
double r175902 = r175892 + r175901;
return r175902;
}
double f(double x, double y, double z, double t, double a) {
double r175903 = x;
double r175904 = y;
double r175905 = z;
double r175906 = r175904 - r175905;
double r175907 = t;
double r175908 = r175907 - r175903;
double r175909 = a;
double r175910 = r175909 - r175905;
double r175911 = r175908 / r175910;
double r175912 = r175906 * r175911;
double r175913 = r175903 + r175912;
double r175914 = -3.7556487191785203e-299;
bool r175915 = r175913 <= r175914;
double r175916 = 0.0;
bool r175917 = r175913 <= r175916;
double r175918 = !r175917;
bool r175919 = r175915 || r175918;
double r175920 = cbrt(r175910);
double r175921 = r175920 * r175920;
double r175922 = r175906 / r175921;
double r175923 = r175908 / r175920;
double r175924 = r175922 * r175923;
double r175925 = cbrt(r175924);
double r175926 = r175925 * r175925;
double r175927 = r175926 * r175925;
double r175928 = r175903 + r175927;
double r175929 = r175903 / r175905;
double r175930 = r175907 / r175905;
double r175931 = r175929 - r175930;
double r175932 = r175904 * r175931;
double r175933 = r175932 + r175907;
double r175934 = r175919 ? r175928 : r175933;
return r175934;
}



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)))) < -3.7556487191785203e-299 or 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.5
rmApplied add-cube-cbrt8.2
Applied *-un-lft-identity8.2
Applied times-frac8.2
Applied associate-*r*5.2
Simplified5.2
rmApplied add-cube-cbrt5.4
if -3.7556487191785203e-299 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.6
rmApplied add-cube-cbrt61.4
Applied *-un-lft-identity61.4
Applied times-frac61.4
Applied associate-*r*61.2
Simplified61.2
rmApplied add-cube-cbrt61.2
Taylor expanded around inf 25.3
Simplified20.0
Final simplification7.4
herbie shell --seed 2020036
(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)))))