x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;a \le -6.143232131925929682871142551410290774749 \cdot 10^{-28} \lor \neg \left(a \le 4.324311520218842582736217138705122405131 \cdot 10^{-174}\right):\\
\;\;\;\;x + \left(\left(\left(y - z\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{x}{z}, y, t - \frac{t \cdot y}{z}\right)\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r155292 = x;
double r155293 = y;
double r155294 = z;
double r155295 = r155293 - r155294;
double r155296 = t;
double r155297 = r155296 - r155292;
double r155298 = a;
double r155299 = r155298 - r155294;
double r155300 = r155297 / r155299;
double r155301 = r155295 * r155300;
double r155302 = r155292 + r155301;
return r155302;
}
double f(double x, double y, double z, double t, double a) {
double r155303 = a;
double r155304 = -6.14323213192593e-28;
bool r155305 = r155303 <= r155304;
double r155306 = 4.324311520218843e-174;
bool r155307 = r155303 <= r155306;
double r155308 = !r155307;
bool r155309 = r155305 || r155308;
double r155310 = x;
double r155311 = y;
double r155312 = z;
double r155313 = r155311 - r155312;
double r155314 = t;
double r155315 = r155314 - r155310;
double r155316 = cbrt(r155315);
double r155317 = r155303 - r155312;
double r155318 = cbrt(r155317);
double r155319 = r155316 / r155318;
double r155320 = r155313 * r155319;
double r155321 = r155320 * r155319;
double r155322 = r155321 * r155319;
double r155323 = r155310 + r155322;
double r155324 = r155310 / r155312;
double r155325 = r155314 * r155311;
double r155326 = r155325 / r155312;
double r155327 = r155314 - r155326;
double r155328 = fma(r155324, r155311, r155327);
double r155329 = r155309 ? r155323 : r155328;
return r155329;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
if a < -6.14323213192593e-28 or 4.324311520218843e-174 < a Initial program 10.9
rmApplied add-cube-cbrt11.4
Applied add-cube-cbrt11.6
Applied times-frac11.6
Applied associate-*r*9.1
rmApplied times-frac9.1
Applied associate-*r*9.0
if -6.14323213192593e-28 < a < 4.324311520218843e-174Initial program 24.3
Taylor expanded around inf 16.4
Simplified16.1
Final simplification11.1
herbie shell --seed 2019325 +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)))))