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.914088505242243065504529285746814231003 \cdot 10^{-230} \lor \neg \left(x + \left(y - z\right) \cdot \frac{t - x}{a - z} \le 0.0\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}:\\
\;\;\;\;\left(\frac{x \cdot y}{z} + t\right) - \frac{t \cdot y}{z}\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r177241 = x;
double r177242 = y;
double r177243 = z;
double r177244 = r177242 - r177243;
double r177245 = t;
double r177246 = r177245 - r177241;
double r177247 = a;
double r177248 = r177247 - r177243;
double r177249 = r177246 / r177248;
double r177250 = r177244 * r177249;
double r177251 = r177241 + r177250;
return r177251;
}
double f(double x, double y, double z, double t, double a) {
double r177252 = x;
double r177253 = y;
double r177254 = z;
double r177255 = r177253 - r177254;
double r177256 = t;
double r177257 = r177256 - r177252;
double r177258 = a;
double r177259 = r177258 - r177254;
double r177260 = r177257 / r177259;
double r177261 = r177255 * r177260;
double r177262 = r177252 + r177261;
double r177263 = -1.914088505242243e-230;
bool r177264 = r177262 <= r177263;
double r177265 = 0.0;
bool r177266 = r177262 <= r177265;
double r177267 = !r177266;
bool r177268 = r177264 || r177267;
double r177269 = cbrt(r177257);
double r177270 = r177269 * r177269;
double r177271 = cbrt(r177259);
double r177272 = r177271 * r177271;
double r177273 = r177270 / r177272;
double r177274 = r177255 * r177273;
double r177275 = r177269 / r177271;
double r177276 = r177274 * r177275;
double r177277 = r177252 + r177276;
double r177278 = r177252 * r177253;
double r177279 = r177278 / r177254;
double r177280 = r177279 + r177256;
double r177281 = r177256 * r177253;
double r177282 = r177281 / r177254;
double r177283 = r177280 - r177282;
double r177284 = r177268 ? r177277 : r177283;
return r177284;
}



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.914088505242243e-230 or 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.2
rmApplied add-cube-cbrt7.9
Applied add-cube-cbrt8.1
Applied times-frac8.1
Applied associate-*r*4.8
if -1.914088505242243e-230 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 57.9
Taylor expanded around inf 27.1
Final simplification8.1
herbie shell --seed 2019353
(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)))))