x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le -1.435093340274830611665799903700831981469 \cdot 10^{-291} \lor \neg \left(x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le 4.239988548410316393693334801140591712737 \cdot 10^{-282}\right):\\
\;\;\;\;\frac{y - z}{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \frac{t - x}{\sqrt[3]{a - z}} + x\\
\mathbf{else}:\\
\;\;\;\;t + \left(\frac{y}{\frac{z}{x}} - y \cdot \frac{t}{z}\right)\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r102741 = x;
double r102742 = y;
double r102743 = z;
double r102744 = r102742 - r102743;
double r102745 = t;
double r102746 = r102745 - r102741;
double r102747 = a;
double r102748 = r102747 - r102743;
double r102749 = r102746 / r102748;
double r102750 = r102744 * r102749;
double r102751 = r102741 + r102750;
return r102751;
}
double f(double x, double y, double z, double t, double a) {
double r102752 = x;
double r102753 = t;
double r102754 = r102753 - r102752;
double r102755 = a;
double r102756 = z;
double r102757 = r102755 - r102756;
double r102758 = r102754 / r102757;
double r102759 = y;
double r102760 = r102759 - r102756;
double r102761 = r102758 * r102760;
double r102762 = r102752 + r102761;
double r102763 = -1.4350933402748306e-291;
bool r102764 = r102762 <= r102763;
double r102765 = 4.2399885484103164e-282;
bool r102766 = r102762 <= r102765;
double r102767 = !r102766;
bool r102768 = r102764 || r102767;
double r102769 = cbrt(r102757);
double r102770 = r102769 * r102769;
double r102771 = r102760 / r102770;
double r102772 = r102754 / r102769;
double r102773 = r102771 * r102772;
double r102774 = r102773 + r102752;
double r102775 = r102756 / r102752;
double r102776 = r102759 / r102775;
double r102777 = r102753 / r102756;
double r102778 = r102759 * r102777;
double r102779 = r102776 - r102778;
double r102780 = r102753 + r102779;
double r102781 = r102768 ? r102774 : r102780;
return r102781;
}



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.4350933402748306e-291 or 4.2399885484103164e-282 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 7.1
rmApplied add-cube-cbrt7.8
Applied *-un-lft-identity7.8
Applied times-frac7.8
Applied associate-*r*5.2
Simplified5.2
if -1.4350933402748306e-291 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 4.2399885484103164e-282Initial program 60.0
rmApplied add-cube-cbrt59.7
Applied *-un-lft-identity59.7
Applied times-frac59.7
Applied associate-*r*57.9
Simplified58.0
Taylor expanded around inf 27.0
Simplified21.4
Final simplification7.4
herbie shell --seed 2019196
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))