x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;z \le -6.05591506376188087 \cdot 10^{178}:\\
\;\;\;\;t\\
\mathbf{elif}\;z \le 9.48753521906097374 \cdot 10^{188}:\\
\;\;\;\;\mathsf{fma}\left(\frac{t}{a - z} - \frac{\frac{x}{\left(\sqrt[3]{\sqrt[3]{a - z} \cdot \sqrt[3]{a - z}} \cdot \sqrt[3]{\sqrt[3]{a - z}}\right) \cdot \sqrt[3]{a - z}}}{\sqrt[3]{a - z}}, y - z, x\right)\\
\mathbf{else}:\\
\;\;\;\;t\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r105216 = x;
double r105217 = y;
double r105218 = z;
double r105219 = r105217 - r105218;
double r105220 = t;
double r105221 = r105220 - r105216;
double r105222 = a;
double r105223 = r105222 - r105218;
double r105224 = r105221 / r105223;
double r105225 = r105219 * r105224;
double r105226 = r105216 + r105225;
return r105226;
}
double f(double x, double y, double z, double t, double a) {
double r105227 = z;
double r105228 = -6.055915063761881e+178;
bool r105229 = r105227 <= r105228;
double r105230 = t;
double r105231 = 9.487535219060974e+188;
bool r105232 = r105227 <= r105231;
double r105233 = a;
double r105234 = r105233 - r105227;
double r105235 = r105230 / r105234;
double r105236 = x;
double r105237 = cbrt(r105234);
double r105238 = r105237 * r105237;
double r105239 = cbrt(r105238);
double r105240 = cbrt(r105237);
double r105241 = r105239 * r105240;
double r105242 = r105241 * r105237;
double r105243 = r105236 / r105242;
double r105244 = r105243 / r105237;
double r105245 = r105235 - r105244;
double r105246 = y;
double r105247 = r105246 - r105227;
double r105248 = fma(r105245, r105247, r105236);
double r105249 = r105232 ? r105248 : r105230;
double r105250 = r105229 ? r105230 : r105249;
return r105250;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
if z < -6.055915063761881e+178 or 9.487535219060974e+188 < z Initial program 28.7
Simplified28.6
Taylor expanded around 0 26.4
if -6.055915063761881e+178 < z < 9.487535219060974e+188Initial program 10.5
Simplified10.5
rmApplied div-sub10.5
rmApplied add-cube-cbrt10.7
Applied associate-/r*10.7
rmApplied add-cube-cbrt10.7
Applied cbrt-prod10.7
Final simplification14.2
herbie shell --seed 2019198 +o rules:numerics
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))