\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}\;x \le -1687797526.6185596:\\
\;\;\;\;\frac{x \cdot \left(\sqrt[3]{\left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{{\left(e^{\sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b} \cdot \sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)}^{\left(\sqrt[3]{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}\right)}}\right) \cdot \sqrt[3]{\mathsf{expm1}\left(\mathsf{log1p}\left(e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}\right)\right)}} \cdot \left(\sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}} \cdot \sqrt[3]{e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}\right)\right)}{y}\\
\mathbf{elif}\;x \le 1.6941150942617612 \cdot 10^{-54}:\\
\;\;\;\;\frac{1}{\frac{\frac{y}{x}}{e^{\mathsf{fma}\left(\log a, t - 1.0, y \cdot \log z\right) - b}}}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{y}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{y}}\right) \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{y}}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r5078607 = x;
double r5078608 = y;
double r5078609 = z;
double r5078610 = log(r5078609);
double r5078611 = r5078608 * r5078610;
double r5078612 = t;
double r5078613 = 1.0;
double r5078614 = r5078612 - r5078613;
double r5078615 = a;
double r5078616 = log(r5078615);
double r5078617 = r5078614 * r5078616;
double r5078618 = r5078611 + r5078617;
double r5078619 = b;
double r5078620 = r5078618 - r5078619;
double r5078621 = exp(r5078620);
double r5078622 = r5078607 * r5078621;
double r5078623 = r5078622 / r5078608;
return r5078623;
}
double f(double x, double y, double z, double t, double a, double b) {
double r5078624 = x;
double r5078625 = -1687797526.6185596;
bool r5078626 = r5078624 <= r5078625;
double r5078627 = a;
double r5078628 = log(r5078627);
double r5078629 = t;
double r5078630 = 1.0;
double r5078631 = r5078629 - r5078630;
double r5078632 = r5078628 * r5078631;
double r5078633 = y;
double r5078634 = z;
double r5078635 = log(r5078634);
double r5078636 = r5078633 * r5078635;
double r5078637 = r5078632 + r5078636;
double r5078638 = b;
double r5078639 = r5078637 - r5078638;
double r5078640 = exp(r5078639);
double r5078641 = cbrt(r5078640);
double r5078642 = cbrt(r5078639);
double r5078643 = r5078642 * r5078642;
double r5078644 = exp(r5078643);
double r5078645 = pow(r5078644, r5078642);
double r5078646 = cbrt(r5078645);
double r5078647 = r5078641 * r5078646;
double r5078648 = log1p(r5078640);
double r5078649 = expm1(r5078648);
double r5078650 = cbrt(r5078649);
double r5078651 = r5078647 * r5078650;
double r5078652 = cbrt(r5078651);
double r5078653 = r5078641 * r5078641;
double r5078654 = r5078652 * r5078653;
double r5078655 = r5078624 * r5078654;
double r5078656 = r5078655 / r5078633;
double r5078657 = 1.6941150942617612e-54;
bool r5078658 = r5078624 <= r5078657;
double r5078659 = 1.0;
double r5078660 = r5078633 / r5078624;
double r5078661 = fma(r5078628, r5078631, r5078636);
double r5078662 = r5078661 - r5078638;
double r5078663 = exp(r5078662);
double r5078664 = r5078660 / r5078663;
double r5078665 = r5078659 / r5078664;
double r5078666 = r5078624 * r5078640;
double r5078667 = r5078666 / r5078633;
double r5078668 = cbrt(r5078667);
double r5078669 = r5078668 * r5078668;
double r5078670 = r5078669 * r5078668;
double r5078671 = r5078658 ? r5078665 : r5078670;
double r5078672 = r5078626 ? r5078656 : r5078671;
return r5078672;
}



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 < -1687797526.6185596Initial program 0.7
rmApplied add-cube-cbrt0.7
rmApplied add-cube-cbrt0.7
rmApplied expm1-log1p-u0.7
rmApplied add-cube-cbrt0.7
Applied exp-prod0.7
if -1687797526.6185596 < x < 1.6941150942617612e-54Initial program 2.9
rmApplied add-cube-cbrt2.9
rmApplied clear-num2.9
Simplified1.1
if 1.6941150942617612e-54 < x Initial program 0.9
rmApplied add-cube-cbrt0.9
Final simplification1.0
herbie shell --seed 2019151 +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))