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.3647818100246518 \cdot 10^{-283}:\\
\;\;\;\;x + \left(\frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \left(\frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}\right)\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{\sqrt[3]{a - z}}}\\
\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(\left(\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \sqrt{\frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}}\right) \cdot \sqrt{\frac{\sqrt[3]{t - x} \cdot \sqrt[3]{t - x}}{\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}}}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{\sqrt[3]{a - z}}}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r117003 = x;
double r117004 = y;
double r117005 = z;
double r117006 = r117004 - r117005;
double r117007 = t;
double r117008 = r117007 - r117003;
double r117009 = a;
double r117010 = r117009 - r117005;
double r117011 = r117008 / r117010;
double r117012 = r117006 * r117011;
double r117013 = r117003 + r117012;
return r117013;
}
double f(double x, double y, double z, double t, double a) {
double r117014 = x;
double r117015 = y;
double r117016 = z;
double r117017 = r117015 - r117016;
double r117018 = t;
double r117019 = r117018 - r117014;
double r117020 = a;
double r117021 = r117020 - r117016;
double r117022 = r117019 / r117021;
double r117023 = r117017 * r117022;
double r117024 = r117014 + r117023;
double r117025 = -3.364781810024652e-283;
bool r117026 = r117024 <= r117025;
double r117027 = cbrt(r117017);
double r117028 = r117027 * r117027;
double r117029 = cbrt(r117021);
double r117030 = r117028 / r117029;
double r117031 = r117027 / r117029;
double r117032 = cbrt(r117019);
double r117033 = r117032 * r117032;
double r117034 = r117029 * r117029;
double r117035 = cbrt(r117034);
double r117036 = r117033 / r117035;
double r117037 = r117031 * r117036;
double r117038 = r117030 * r117037;
double r117039 = cbrt(r117029);
double r117040 = r117032 / r117039;
double r117041 = r117038 * r117040;
double r117042 = r117014 + r117041;
double r117043 = 0.0;
bool r117044 = r117024 <= r117043;
double r117045 = r117014 * r117015;
double r117046 = r117045 / r117016;
double r117047 = r117046 + r117018;
double r117048 = r117018 * r117015;
double r117049 = r117048 / r117016;
double r117050 = r117047 - r117049;
double r117051 = r117017 / r117034;
double r117052 = sqrt(r117036);
double r117053 = r117051 * r117052;
double r117054 = r117053 * r117052;
double r117055 = r117054 * r117040;
double r117056 = r117014 + r117055;
double r117057 = r117044 ? r117050 : r117056;
double r117058 = r117026 ? r117042 : r117057;
return r117058;
}



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.364781810024652e-283Initial program 8.3
rmApplied add-cube-cbrt8.9
Applied *-un-lft-identity8.9
Applied times-frac8.9
Applied associate-*r*5.4
Simplified5.4
rmApplied add-cube-cbrt5.4
Applied cbrt-prod5.5
Applied add-cube-cbrt5.7
Applied times-frac5.7
Applied associate-*r*5.1
rmApplied add-cube-cbrt5.0
Applied times-frac5.0
Applied associate-*l*4.9
if -3.364781810024652e-283 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 60.8
Taylor expanded around inf 25.9
if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 8.2
rmApplied add-cube-cbrt8.9
Applied *-un-lft-identity8.9
Applied times-frac8.9
Applied associate-*r*5.1
Simplified5.1
rmApplied add-cube-cbrt5.2
Applied cbrt-prod5.2
Applied add-cube-cbrt5.4
Applied times-frac5.4
Applied associate-*r*4.5
rmApplied add-sqr-sqrt4.5
Applied associate-*r*4.5
Final simplification7.7
herbie shell --seed 2020003
(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)))))