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 -3.956280165893758193874340988906388103674 \cdot 10^{-277}:\\
\;\;\;\;\frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}} \cdot \left(\frac{\frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{\sqrt[3]{t - x} \cdot \left(\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}\right)}}} \cdot \left(y - z\right)\right) + x\\
\mathbf{elif}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le 7.212469295770238938198482358900016909808 \cdot 10^{-262}:\\
\;\;\;\;\left(t + \frac{x \cdot y}{z}\right) - y \cdot \frac{t}{z}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y - z}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}} \cdot \frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}} \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r339849 = x;
double r339850 = y;
double r339851 = z;
double r339852 = r339850 - r339851;
double r339853 = t;
double r339854 = r339853 - r339849;
double r339855 = a;
double r339856 = r339855 - r339851;
double r339857 = r339854 / r339856;
double r339858 = r339852 * r339857;
double r339859 = r339849 + r339858;
return r339859;
}
double f(double x, double y, double z, double t, double a) {
double r339860 = x;
double r339861 = t;
double r339862 = r339861 - r339860;
double r339863 = a;
double r339864 = z;
double r339865 = r339863 - r339864;
double r339866 = r339862 / r339865;
double r339867 = y;
double r339868 = r339867 - r339864;
double r339869 = r339866 * r339868;
double r339870 = r339860 + r339869;
double r339871 = -3.956280165893758e-277;
bool r339872 = r339870 <= r339871;
double r339873 = cbrt(r339862);
double r339874 = cbrt(r339865);
double r339875 = r339873 / r339874;
double r339876 = r339873 * r339873;
double r339877 = r339873 * r339876;
double r339878 = cbrt(r339877);
double r339879 = r339874 / r339878;
double r339880 = r339875 / r339879;
double r339881 = r339880 * r339868;
double r339882 = r339875 * r339881;
double r339883 = r339882 + r339860;
double r339884 = 7.212469295770239e-262;
bool r339885 = r339870 <= r339884;
double r339886 = r339860 * r339867;
double r339887 = r339886 / r339864;
double r339888 = r339861 + r339887;
double r339889 = r339861 / r339864;
double r339890 = r339867 * r339889;
double r339891 = r339888 - r339890;
double r339892 = r339874 / r339873;
double r339893 = r339892 * r339892;
double r339894 = r339868 / r339893;
double r339895 = r339894 * r339875;
double r339896 = r339860 + r339895;
double r339897 = r339885 ? r339891 : r339896;
double r339898 = r339872 ? r339883 : r339897;
return r339898;
}



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.956280165893758e-277Initial program 6.5
rmApplied add-cube-cbrt7.2
Applied add-cube-cbrt7.4
Applied times-frac7.4
Applied associate-*r*4.1
Simplified4.2
rmApplied div-inv4.2
Simplified4.1
rmApplied add-cbrt-cube4.2
if -3.956280165893758e-277 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 7.212469295770239e-262Initial program 58.8
rmApplied add-cube-cbrt58.6
Applied add-cube-cbrt58.6
Applied times-frac58.6
Applied associate-*r*55.1
Simplified55.2
Taylor expanded around inf 26.5
Simplified26.8
if 7.212469295770239e-262 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.3
rmApplied add-cube-cbrt8.0
Applied add-cube-cbrt8.2
Applied times-frac8.2
Applied associate-*r*4.6
Simplified4.6
Final simplification7.8
herbie shell --seed 2019174
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))