x + \left(y - z\right) \cdot \frac{t - x}{a - z}\begin{array}{l}
\mathbf{if}\;z \le -3.563519643944611782002455223464185594791 \cdot 10^{134}:\\
\;\;\;\;t + \left(\frac{x}{z} - \frac{t}{z}\right) \cdot y\\
\mathbf{elif}\;z \le 1.18254505279096147893772197683357993476 \cdot 10^{148}:\\
\;\;\;\;\frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{a - z}} \cdot \left(\frac{t - x}{\sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}}\right) + x\\
\mathbf{else}:\\
\;\;\;\;t + \left(\frac{x}{z} - \frac{t}{z}\right) \cdot y\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r5788299 = x;
double r5788300 = y;
double r5788301 = z;
double r5788302 = r5788300 - r5788301;
double r5788303 = t;
double r5788304 = r5788303 - r5788299;
double r5788305 = a;
double r5788306 = r5788305 - r5788301;
double r5788307 = r5788304 / r5788306;
double r5788308 = r5788302 * r5788307;
double r5788309 = r5788299 + r5788308;
return r5788309;
}
double f(double x, double y, double z, double t, double a) {
double r5788310 = z;
double r5788311 = -3.5635196439446118e+134;
bool r5788312 = r5788310 <= r5788311;
double r5788313 = t;
double r5788314 = x;
double r5788315 = r5788314 / r5788310;
double r5788316 = r5788313 / r5788310;
double r5788317 = r5788315 - r5788316;
double r5788318 = y;
double r5788319 = r5788317 * r5788318;
double r5788320 = r5788313 + r5788319;
double r5788321 = 1.1825450527909615e+148;
bool r5788322 = r5788310 <= r5788321;
double r5788323 = r5788318 - r5788310;
double r5788324 = cbrt(r5788323);
double r5788325 = r5788324 * r5788324;
double r5788326 = a;
double r5788327 = r5788326 - r5788310;
double r5788328 = cbrt(r5788327);
double r5788329 = r5788325 / r5788328;
double r5788330 = r5788313 - r5788314;
double r5788331 = r5788330 / r5788328;
double r5788332 = r5788324 / r5788328;
double r5788333 = r5788331 * r5788332;
double r5788334 = r5788329 * r5788333;
double r5788335 = r5788334 + r5788314;
double r5788336 = r5788322 ? r5788335 : r5788320;
double r5788337 = r5788312 ? r5788320 : r5788336;
return r5788337;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
if z < -3.5635196439446118e+134 or 1.1825450527909615e+148 < z Initial program 26.7
rmApplied add-cube-cbrt27.3
Applied *-un-lft-identity27.3
Applied times-frac27.3
Applied associate-*r*22.7
Simplified22.7
rmApplied add-cube-cbrt22.3
Applied times-frac22.3
Applied associate-*l*22.3
Taylor expanded around inf 25.0
Simplified16.5
if -3.5635196439446118e+134 < z < 1.1825450527909615e+148Initial program 9.5
rmApplied add-cube-cbrt10.0
Applied *-un-lft-identity10.0
Applied times-frac10.0
Applied associate-*r*8.0
Simplified8.0
rmApplied add-cube-cbrt8.0
Applied times-frac8.0
Applied associate-*l*7.7
Final simplification10.4
herbie shell --seed 2019171
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))