\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\begin{array}{l}
\mathbf{if}\;\log a \le -19.80479467655467:\\
\;\;\;\;\frac{\frac{x \cdot \left(\left(\sqrt[3]{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b}}\right) \cdot \sqrt[3]{e^{\left(\left(t - 1.0\right) \cdot \log a + \log z \cdot y\right) - b}}\right)}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}{\sqrt[3]{y}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{y}{e^{\left(\log z \cdot y - b\right) + \left(t - 1.0\right) \cdot \log a}}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r4724598 = x;
double r4724599 = y;
double r4724600 = z;
double r4724601 = log(r4724600);
double r4724602 = r4724599 * r4724601;
double r4724603 = t;
double r4724604 = 1.0;
double r4724605 = r4724603 - r4724604;
double r4724606 = a;
double r4724607 = log(r4724606);
double r4724608 = r4724605 * r4724607;
double r4724609 = r4724602 + r4724608;
double r4724610 = b;
double r4724611 = r4724609 - r4724610;
double r4724612 = exp(r4724611);
double r4724613 = r4724598 * r4724612;
double r4724614 = r4724613 / r4724599;
return r4724614;
}
double f(double x, double y, double z, double t, double a, double b) {
double r4724615 = a;
double r4724616 = log(r4724615);
double r4724617 = -19.80479467655467;
bool r4724618 = r4724616 <= r4724617;
double r4724619 = x;
double r4724620 = t;
double r4724621 = 1.0;
double r4724622 = r4724620 - r4724621;
double r4724623 = r4724622 * r4724616;
double r4724624 = z;
double r4724625 = log(r4724624);
double r4724626 = y;
double r4724627 = r4724625 * r4724626;
double r4724628 = r4724623 + r4724627;
double r4724629 = b;
double r4724630 = r4724628 - r4724629;
double r4724631 = exp(r4724630);
double r4724632 = cbrt(r4724631);
double r4724633 = r4724632 * r4724632;
double r4724634 = r4724633 * r4724632;
double r4724635 = r4724619 * r4724634;
double r4724636 = cbrt(r4724626);
double r4724637 = r4724636 * r4724636;
double r4724638 = r4724635 / r4724637;
double r4724639 = r4724638 / r4724636;
double r4724640 = r4724627 - r4724629;
double r4724641 = r4724640 + r4724623;
double r4724642 = exp(r4724641);
double r4724643 = r4724626 / r4724642;
double r4724644 = r4724619 / r4724643;
double r4724645 = r4724618 ? r4724639 : r4724644;
return r4724645;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Results
if (log a) < -19.80479467655467Initial program 0.7
rmApplied add-cube-cbrt0.7
Applied associate-/r*0.7
rmApplied add-cube-cbrt0.7
if -19.80479467655467 < (log a) Initial program 2.8
rmApplied add-cube-cbrt2.8
rmApplied associate-/l*1.1
Simplified1.1
Final simplification0.9
herbie shell --seed 2019151
(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))