\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 -2.962520286780739 \cdot 10^{+71}:\\
\;\;\;\;\frac{\sqrt[3]{\frac{x \cdot {e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b\right)}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \left(\sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + y \cdot \log z\right) - b}}{\sqrt[3]{y} \cdot \sqrt[3]{y}}}\right)}{\sqrt[3]{y}}\\
\mathbf{elif}\;x \le 14.676820334239025:\\
\;\;\;\;\frac{x}{y} \cdot e^{\mathsf{fma}\left(\left(t - 1.0\right), \left(\log a\right), \left(y \cdot \log z - b\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\mathsf{fma}\left(\left(\log a\right), \left(t - 1.0\right), \left(\mathsf{fma}\left(y, \left(\log z\right), \left(\log x\right)\right) - b\right)\right)}}{y}\\
\end{array}double f(double x, double y, double z, double t, double a, double b) {
double r10719612 = x;
double r10719613 = y;
double r10719614 = z;
double r10719615 = log(r10719614);
double r10719616 = r10719613 * r10719615;
double r10719617 = t;
double r10719618 = 1.0;
double r10719619 = r10719617 - r10719618;
double r10719620 = a;
double r10719621 = log(r10719620);
double r10719622 = r10719619 * r10719621;
double r10719623 = r10719616 + r10719622;
double r10719624 = b;
double r10719625 = r10719623 - r10719624;
double r10719626 = exp(r10719625);
double r10719627 = r10719612 * r10719626;
double r10719628 = r10719627 / r10719613;
return r10719628;
}
double f(double x, double y, double z, double t, double a, double b) {
double r10719629 = x;
double r10719630 = -2.962520286780739e+71;
bool r10719631 = r10719629 <= r10719630;
double r10719632 = exp(1.0);
double r10719633 = a;
double r10719634 = log(r10719633);
double r10719635 = t;
double r10719636 = 1.0;
double r10719637 = r10719635 - r10719636;
double r10719638 = r10719634 * r10719637;
double r10719639 = y;
double r10719640 = z;
double r10719641 = log(r10719640);
double r10719642 = r10719639 * r10719641;
double r10719643 = r10719638 + r10719642;
double r10719644 = b;
double r10719645 = r10719643 - r10719644;
double r10719646 = pow(r10719632, r10719645);
double r10719647 = r10719629 * r10719646;
double r10719648 = cbrt(r10719639);
double r10719649 = r10719648 * r10719648;
double r10719650 = r10719647 / r10719649;
double r10719651 = cbrt(r10719650);
double r10719652 = exp(r10719645);
double r10719653 = r10719629 * r10719652;
double r10719654 = r10719653 / r10719649;
double r10719655 = cbrt(r10719654);
double r10719656 = r10719655 * r10719655;
double r10719657 = r10719651 * r10719656;
double r10719658 = r10719657 / r10719648;
double r10719659 = 14.676820334239025;
bool r10719660 = r10719629 <= r10719659;
double r10719661 = r10719629 / r10719639;
double r10719662 = r10719642 - r10719644;
double r10719663 = fma(r10719637, r10719634, r10719662);
double r10719664 = exp(r10719663);
double r10719665 = r10719661 * r10719664;
double r10719666 = log(r10719629);
double r10719667 = fma(r10719639, r10719641, r10719666);
double r10719668 = r10719667 - r10719644;
double r10719669 = fma(r10719634, r10719637, r10719668);
double r10719670 = exp(r10719669);
double r10719671 = r10719670 / r10719639;
double r10719672 = r10719660 ? r10719665 : r10719671;
double r10719673 = r10719631 ? r10719658 : r10719672;
return r10719673;
}



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 < -2.962520286780739e+71Initial program 0.7
rmApplied add-cube-cbrt0.7
Applied associate-/r*0.7
rmApplied add-cube-cbrt0.7
rmApplied *-un-lft-identity0.7
Applied exp-prod0.7
Simplified0.7
if -2.962520286780739e+71 < x < 14.676820334239025Initial program 2.9
Simplified1.6
if 14.676820334239025 < x Initial program 0.7
rmApplied expm1-log1p-u0.7
rmApplied add-exp-log0.7
Applied add-exp-log0.8
Applied prod-exp0.8
Simplified0.8
Final simplification1.2
herbie shell --seed 2019107 +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))