\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;x \le -3.87699396231292923 \cdot 10^{-107}:\\
\;\;\;\;\frac{x \cdot \frac{{a}^{\left(-1\right)}}{e^{b - \mathsf{fma}\left(\log z, y, \log a \cdot t\right)}}}{y}\\
\mathbf{elif}\;x \le 5.6413362742687982 \cdot 10^{-108}:\\
\;\;\;\;\frac{x}{\sqrt[3]{y} \cdot \sqrt[3]{y}} \cdot \frac{\frac{{a}^{\left(-1\right)}}{e^{b - \mathsf{fma}\left(\log z, y, \log a \cdot t\right)}}}{\sqrt[3]{y}}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{x}{\sqrt{e^{b - \mathsf{fma}\left(\log z, y, \log a \cdot t\right)}}} \cdot \frac{{a}^{\left(-1\right)}}{\sqrt{e^{b - \mathsf{fma}\left(\log z, y, \log a \cdot t\right)}}}\right) \cdot \frac{1}{y}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r65317 = x;
double r65318 = y;
double r65319 = z;
double r65320 = log(r65319);
double r65321 = r65318 * r65320;
double r65322 = t;
double r65323 = 1.0;
double r65324 = r65322 - r65323;
double r65325 = a;
double r65326 = log(r65325);
double r65327 = r65324 * r65326;
double r65328 = r65321 + r65327;
double r65329 = b;
double r65330 = r65328 - r65329;
double r65331 = exp(r65330);
double r65332 = r65317 * r65331;
double r65333 = r65332 / r65318;
return r65333;
}
double f(double x, double y, double z, double t, double a, double b) {
double r65334 = x;
double r65335 = -3.876993962312929e-107;
bool r65336 = r65334 <= r65335;
double r65337 = a;
double r65338 = 1.0;
double r65339 = -r65338;
double r65340 = pow(r65337, r65339);
double r65341 = b;
double r65342 = z;
double r65343 = log(r65342);
double r65344 = y;
double r65345 = log(r65337);
double r65346 = t;
double r65347 = r65345 * r65346;
double r65348 = fma(r65343, r65344, r65347);
double r65349 = r65341 - r65348;
double r65350 = exp(r65349);
double r65351 = r65340 / r65350;
double r65352 = r65334 * r65351;
double r65353 = r65352 / r65344;
double r65354 = 5.641336274268798e-108;
bool r65355 = r65334 <= r65354;
double r65356 = cbrt(r65344);
double r65357 = r65356 * r65356;
double r65358 = r65334 / r65357;
double r65359 = r65351 / r65356;
double r65360 = r65358 * r65359;
double r65361 = sqrt(r65350);
double r65362 = r65334 / r65361;
double r65363 = r65340 / r65361;
double r65364 = r65362 * r65363;
double r65365 = 1.0;
double r65366 = r65365 / r65344;
double r65367 = r65364 * r65366;
double r65368 = r65355 ? r65360 : r65367;
double r65369 = r65336 ? r65353 : r65368;
return r65369;
}



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 x < -3.876993962312929e-107Initial program 1.0
Taylor expanded around inf 1.0
Simplified0.3
Taylor expanded around 0 0.3
Simplified0.3
if -3.876993962312929e-107 < x < 5.641336274268798e-108Initial program 3.3
Taylor expanded around inf 3.3
Simplified2.6
Taylor expanded around 0 2.6
Simplified2.6
rmApplied add-cube-cbrt2.8
Applied times-frac1.1
if 5.641336274268798e-108 < x Initial program 1.1
Taylor expanded around inf 1.2
Simplified0.3
Taylor expanded around 0 0.3
Simplified0.3
rmApplied add-sqr-sqrt0.3
Applied *-un-lft-identity0.3
Applied unpow-prod-down0.3
Applied times-frac0.3
Applied associate-*r*0.3
Simplified0.3
rmApplied div-inv0.3
Final simplification0.6
herbie shell --seed 2019198 +o rules:numerics
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))