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.325586496596394733118592144672022611 \cdot 10^{-299}:\\
\;\;\;\;x + \frac{y - z}{a - z} \cdot \left(t - x\right)\\
\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 + \left(\frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \left(y - z\right)\right) \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 r89781 = x;
double r89782 = y;
double r89783 = z;
double r89784 = r89782 - r89783;
double r89785 = t;
double r89786 = r89785 - r89781;
double r89787 = a;
double r89788 = r89787 - r89783;
double r89789 = r89786 / r89788;
double r89790 = r89784 * r89789;
double r89791 = r89781 + r89790;
return r89791;
}
double f(double x, double y, double z, double t, double a) {
double r89792 = x;
double r89793 = y;
double r89794 = z;
double r89795 = r89793 - r89794;
double r89796 = t;
double r89797 = r89796 - r89792;
double r89798 = a;
double r89799 = r89798 - r89794;
double r89800 = r89797 / r89799;
double r89801 = r89795 * r89800;
double r89802 = r89792 + r89801;
double r89803 = -1.3255864965963947e-299;
bool r89804 = r89802 <= r89803;
double r89805 = r89795 / r89799;
double r89806 = r89805 * r89797;
double r89807 = r89792 + r89806;
double r89808 = 0.0;
bool r89809 = r89802 <= r89808;
double r89810 = r89792 * r89793;
double r89811 = r89810 / r89794;
double r89812 = r89811 + r89796;
double r89813 = r89796 * r89793;
double r89814 = r89813 / r89794;
double r89815 = r89812 - r89814;
double r89816 = cbrt(r89797);
double r89817 = r89816 * r89816;
double r89818 = cbrt(r89799);
double r89819 = r89818 * r89818;
double r89820 = r89817 / r89819;
double r89821 = r89820 * r89795;
double r89822 = r89816 / r89818;
double r89823 = r89821 * r89822;
double r89824 = r89792 + r89823;
double r89825 = r89809 ? r89815 : r89824;
double r89826 = r89804 ? r89807 : r89825;
return r89826;
}



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.3255864965963947e-299Initial program 7.0
rmApplied clear-num7.3
rmApplied associate-/r/7.1
Applied associate-*r*3.7
Simplified3.7
if -1.3255864965963947e-299 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 61.5
Taylor expanded around inf 24.9
if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.5
rmApplied add-cube-cbrt8.1
Applied add-cube-cbrt8.3
Applied times-frac8.3
Applied associate-*r*4.8
Simplified4.8
Final simplification7.1
herbie shell --seed 2019212
(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)))))