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.1217753974023432 \cdot 10^{-287}:\\
\;\;\;\;x + \left(\sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}} \cdot \sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}}\right) \cdot \left(\sqrt[3]{\frac{y - z}{\left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \left(\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{a - z}\right)}} \cdot \frac{t - x}{\sqrt[3]{a - z}}\right)\\
\mathbf{elif}\;x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0:\\
\;\;\;\;\mathsf{fma}\left(y, \frac{x}{z} - \frac{t}{z}, t\right)\\
\mathbf{else}:\\
\;\;\;\;x + \frac{\frac{\frac{y - z}{\sqrt[3]{\sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}}}{{\left(\sqrt[3]{\sqrt[3]{a - z}}\right)}^{3}}}{\sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{\sqrt[3]{a - z}}}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r115788 = x;
double r115789 = y;
double r115790 = z;
double r115791 = r115789 - r115790;
double r115792 = t;
double r115793 = r115792 - r115788;
double r115794 = a;
double r115795 = r115794 - r115790;
double r115796 = r115793 / r115795;
double r115797 = r115791 * r115796;
double r115798 = r115788 + r115797;
return r115798;
}
double f(double x, double y, double z, double t, double a) {
double r115799 = x;
double r115800 = y;
double r115801 = z;
double r115802 = r115800 - r115801;
double r115803 = t;
double r115804 = r115803 - r115799;
double r115805 = a;
double r115806 = r115805 - r115801;
double r115807 = r115804 / r115806;
double r115808 = r115802 * r115807;
double r115809 = r115799 + r115808;
double r115810 = -1.1217753974023432e-287;
bool r115811 = r115809 <= r115810;
double r115812 = cbrt(r115806);
double r115813 = cbrt(r115812);
double r115814 = r115813 * r115813;
double r115815 = r115813 * r115812;
double r115816 = r115814 * r115815;
double r115817 = r115802 / r115816;
double r115818 = cbrt(r115817);
double r115819 = r115818 * r115818;
double r115820 = r115804 / r115812;
double r115821 = r115818 * r115820;
double r115822 = r115819 * r115821;
double r115823 = r115799 + r115822;
double r115824 = 0.0;
bool r115825 = r115809 <= r115824;
double r115826 = r115799 / r115801;
double r115827 = r115803 / r115801;
double r115828 = r115826 - r115827;
double r115829 = fma(r115800, r115828, r115803);
double r115830 = r115802 / r115814;
double r115831 = 3.0;
double r115832 = pow(r115813, r115831);
double r115833 = r115830 / r115832;
double r115834 = r115833 / r115812;
double r115835 = r115804 / r115813;
double r115836 = r115834 * r115835;
double r115837 = r115799 + r115836;
double r115838 = r115825 ? r115829 : r115837;
double r115839 = r115811 ? r115823 : r115838;
return r115839;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
if (+ x (* (- y z) (/ (- t x) (- a z)))) < -1.1217753974023432e-287Initial program 7.2
rmApplied add-cube-cbrt7.9
Applied *-un-lft-identity7.9
Applied times-frac7.9
Applied associate-*r*5.3
Simplified5.3
rmApplied add-cube-cbrt5.5
Applied associate-*l*5.5
rmApplied add-cube-cbrt5.6
Applied associate-*l*5.6
if -1.1217753974023432e-287 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.3
Simplified61.0
Taylor expanded around inf 26.1
Simplified20.7
if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 6.9
rmApplied add-cube-cbrt7.6
Applied *-un-lft-identity7.6
Applied times-frac7.6
Applied associate-*r*4.9
Simplified4.9
rmApplied add-cube-cbrt5.1
Applied associate-*l*5.1
rmApplied add-cube-cbrt5.4
Applied *-un-lft-identity5.4
Applied times-frac5.4
Applied associate-*r*5.3
Simplified5.2
Final simplification7.5
herbie shell --seed 2020020 +o rules:numerics
(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)))))