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 -5.678709373750682559602295707723378882969 \cdot 10^{-270}:\\
\;\;\;\;\frac{\sqrt[3]{t - x}}{\sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\frac{1}{\frac{\sqrt[3]{y - z}}{\frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}} \cdot \frac{\sqrt[3]{a - z}}{\sqrt[3]{t - x}}}}} + x\\
\mathbf{elif}\;x + \frac{t - x}{a - z} \cdot \left(y - z\right) \le 0.0:\\
\;\;\;\;\left(\frac{x}{z} - \frac{t}{z}\right) \cdot y + t\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{t - x}{\sqrt[3]{a - z}} \cdot \frac{\sqrt[3]{y - z}}{\sqrt[3]{a - z}}\right) \cdot \frac{\sqrt[3]{y - z} \cdot \sqrt[3]{y - z}}{\sqrt[3]{a - z}} + x\\
\end{array}double f(double x, double y, double z, double t, double a) {
double r6982255 = x;
double r6982256 = y;
double r6982257 = z;
double r6982258 = r6982256 - r6982257;
double r6982259 = t;
double r6982260 = r6982259 - r6982255;
double r6982261 = a;
double r6982262 = r6982261 - r6982257;
double r6982263 = r6982260 / r6982262;
double r6982264 = r6982258 * r6982263;
double r6982265 = r6982255 + r6982264;
return r6982265;
}
double f(double x, double y, double z, double t, double a) {
double r6982266 = x;
double r6982267 = t;
double r6982268 = r6982267 - r6982266;
double r6982269 = a;
double r6982270 = z;
double r6982271 = r6982269 - r6982270;
double r6982272 = r6982268 / r6982271;
double r6982273 = y;
double r6982274 = r6982273 - r6982270;
double r6982275 = r6982272 * r6982274;
double r6982276 = r6982266 + r6982275;
double r6982277 = -5.6787093737506826e-270;
bool r6982278 = r6982276 <= r6982277;
double r6982279 = cbrt(r6982268);
double r6982280 = cbrt(r6982271);
double r6982281 = r6982279 / r6982280;
double r6982282 = cbrt(r6982274);
double r6982283 = r6982282 * r6982282;
double r6982284 = 1.0;
double r6982285 = r6982280 / r6982279;
double r6982286 = r6982285 * r6982285;
double r6982287 = r6982282 / r6982286;
double r6982288 = r6982284 / r6982287;
double r6982289 = r6982283 / r6982288;
double r6982290 = r6982281 * r6982289;
double r6982291 = r6982290 + r6982266;
double r6982292 = 0.0;
bool r6982293 = r6982276 <= r6982292;
double r6982294 = r6982266 / r6982270;
double r6982295 = r6982267 / r6982270;
double r6982296 = r6982294 - r6982295;
double r6982297 = r6982296 * r6982273;
double r6982298 = r6982297 + r6982267;
double r6982299 = r6982268 / r6982280;
double r6982300 = r6982282 / r6982280;
double r6982301 = r6982299 * r6982300;
double r6982302 = r6982283 / r6982280;
double r6982303 = r6982301 * r6982302;
double r6982304 = r6982303 + r6982266;
double r6982305 = r6982293 ? r6982298 : r6982304;
double r6982306 = r6982278 ? r6982291 : r6982305;
return r6982306;
}



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)))) < -5.6787093737506826e-270Initial program 7.2
rmApplied add-cube-cbrt7.8
Applied *-un-lft-identity7.8
Applied times-frac7.8
Applied associate-*r*5.4
Simplified5.4
rmApplied *-un-lft-identity5.4
Applied cbrt-prod5.4
Applied add-cube-cbrt5.6
Applied times-frac5.6
Applied associate-*r*4.9
Simplified4.7
rmApplied add-cube-cbrt4.8
Applied associate-/l*4.8
rmApplied clear-num4.8
if -5.6787093737506826e-270 < (+ x (* (- y z) (/ (- t x) (- a z)))) < 0.0Initial program 60.2
rmApplied add-cube-cbrt59.9
Applied *-un-lft-identity59.9
Applied times-frac59.9
Applied associate-*r*58.2
Simplified58.2
rmApplied *-un-lft-identity58.2
Applied cbrt-prod58.2
Applied add-cube-cbrt58.2
Applied times-frac58.2
Applied associate-*r*57.8
Simplified58.1
Taylor expanded around inf 25.4
Simplified19.8
if 0.0 < (+ x (* (- y z) (/ (- t x) (- a z)))) Initial program 8.1
rmApplied add-cube-cbrt8.7
Applied *-un-lft-identity8.7
Applied times-frac8.8
Applied associate-*r*5.2
Simplified5.2
rmApplied add-cube-cbrt5.1
Applied times-frac5.1
Applied associate-*l*4.9
Final simplification6.9
herbie shell --seed 2019172
(FPCore (x y z t a)
:name "Numeric.Signal:interpolate from hsignal-0.2.7.1"
(+ x (* (- y z) (/ (- t x) (- a z)))))