x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;a \le -3.134836251920015181863868463387796816368 \cdot 10^{-172} \lor \neg \left(a \le 1.311639055893319608536351260760022755146 \cdot 10^{-111}\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}:\\
\;\;\;\;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 r140846 = x;
double r140847 = y;
double r140848 = z;
double r140849 = r140847 - r140848;
double r140850 = t;
double r140851 = r140850 - r140846;
double r140852 = a;
double r140853 = r140852 - r140848;
double r140854 = r140851 / r140853;
double r140855 = r140849 * r140854;
double r140856 = r140846 + r140855;
return r140856;
}
double f(double x, double y, double z, double t, double a) {
double r140857 = a;
double r140858 = -3.134836251920015e-172;
bool r140859 = r140857 <= r140858;
double r140860 = 1.3116390558933196e-111;
bool r140861 = r140857 <= r140860;
double r140862 = !r140861;
bool r140863 = r140859 || r140862;
double r140864 = x;
double r140865 = y;
double r140866 = z;
double r140867 = r140865 - r140866;
double r140868 = t;
double r140869 = r140868 - r140864;
double r140870 = cbrt(r140869);
double r140871 = r140870 * r140870;
double r140872 = r140857 - r140866;
double r140873 = cbrt(r140872);
double r140874 = r140873 * r140873;
double r140875 = r140871 / r140874;
double r140876 = r140867 * r140875;
double r140877 = r140870 / r140873;
double r140878 = r140876 * r140877;
double r140879 = r140864 + r140878;
double r140880 = r140864 / r140866;
double r140881 = r140868 / r140866;
double r140882 = r140880 - r140881;
double r140883 = r140865 * r140882;
double r140884 = r140883 + r140868;
double r140885 = r140863 ? r140879 : r140884;
return r140885;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
if a < -3.134836251920015e-172 or 1.3116390558933196e-111 < a Initial program 11.5
rmApplied add-cube-cbrt12.0
Applied add-cube-cbrt12.2
Applied times-frac12.2
Applied associate-*r*9.5
if -3.134836251920015e-172 < a < 1.3116390558933196e-111Initial program 25.4
rmApplied add-cube-cbrt26.1
Applied add-cube-cbrt26.2
Applied times-frac26.3
Applied associate-*r*21.0
rmApplied add-cube-cbrt21.1
Taylor expanded around inf 13.3
Simplified11.4
Final simplification10.0
herbie shell --seed 2019303
(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)))))