\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;a \le 3.1520248947255987 \cdot 10^{-105}:\\
\;\;\;\;\frac{x \cdot \frac{{\left(\frac{1}{a}\right)}^{1}}{\sqrt[3]{{\left(e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}\right)}^{3}}}}{y}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{y}{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{\mathsf{fma}\left(y, \log \left(\frac{1}{z}\right), \mathsf{fma}\left(\log \left(\frac{1}{a}\right), t, b\right)\right)}}}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r87356 = x;
double r87357 = y;
double r87358 = z;
double r87359 = log(r87358);
double r87360 = r87357 * r87359;
double r87361 = t;
double r87362 = 1.0;
double r87363 = r87361 - r87362;
double r87364 = a;
double r87365 = log(r87364);
double r87366 = r87363 * r87365;
double r87367 = r87360 + r87366;
double r87368 = b;
double r87369 = r87367 - r87368;
double r87370 = exp(r87369);
double r87371 = r87356 * r87370;
double r87372 = r87371 / r87357;
return r87372;
}
double f(double x, double y, double z, double t, double a, double b) {
double r87373 = a;
double r87374 = 3.1520248947255987e-105;
bool r87375 = r87373 <= r87374;
double r87376 = x;
double r87377 = 1.0;
double r87378 = r87377 / r87373;
double r87379 = 1.0;
double r87380 = pow(r87378, r87379);
double r87381 = y;
double r87382 = z;
double r87383 = r87377 / r87382;
double r87384 = log(r87383);
double r87385 = log(r87378);
double r87386 = t;
double r87387 = b;
double r87388 = fma(r87385, r87386, r87387);
double r87389 = fma(r87381, r87384, r87388);
double r87390 = exp(r87389);
double r87391 = 3.0;
double r87392 = pow(r87390, r87391);
double r87393 = cbrt(r87392);
double r87394 = r87380 / r87393;
double r87395 = r87376 * r87394;
double r87396 = r87395 / r87381;
double r87397 = r87380 / r87390;
double r87398 = r87381 / r87397;
double r87399 = r87376 / r87398;
double r87400 = r87375 ? r87396 : r87399;
return r87400;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
if a < 3.1520248947255987e-105Initial program 0.7
Taylor expanded around inf 0.7
Simplified0.1
rmApplied add-cbrt-cube0.1
Simplified0.1
if 3.1520248947255987e-105 < a Initial program 2.3
Taylor expanded around inf 2.2
Simplified1.6
rmApplied associate-/l*0.3
Final simplification0.3
herbie shell --seed 2020034 +o rules:numerics
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1) (log a))) b))) y))