\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\frac{\sqrt[3]{x}}{\frac{\sqrt[3]{y}}{\sqrt{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}}} \cdot \frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt{\left(\sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}} \cdot \sqrt[3]{e^{\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b}}\right) \cdot \sqrt[3]{{e}^{\left(\mathsf{fma}\left(t - 1.0, \log a, \log z \cdot y\right) - b\right)}}}}}double f(double x, double y, double z, double t, double a, double b) {
double r3025561 = x;
double r3025562 = y;
double r3025563 = z;
double r3025564 = log(r3025563);
double r3025565 = r3025562 * r3025564;
double r3025566 = t;
double r3025567 = 1.0;
double r3025568 = r3025566 - r3025567;
double r3025569 = a;
double r3025570 = log(r3025569);
double r3025571 = r3025568 * r3025570;
double r3025572 = r3025565 + r3025571;
double r3025573 = b;
double r3025574 = r3025572 - r3025573;
double r3025575 = exp(r3025574);
double r3025576 = r3025561 * r3025575;
double r3025577 = r3025576 / r3025562;
return r3025577;
}
double f(double x, double y, double z, double t, double a, double b) {
double r3025578 = x;
double r3025579 = cbrt(r3025578);
double r3025580 = y;
double r3025581 = cbrt(r3025580);
double r3025582 = t;
double r3025583 = 1.0;
double r3025584 = r3025582 - r3025583;
double r3025585 = a;
double r3025586 = log(r3025585);
double r3025587 = z;
double r3025588 = log(r3025587);
double r3025589 = r3025588 * r3025580;
double r3025590 = fma(r3025584, r3025586, r3025589);
double r3025591 = b;
double r3025592 = r3025590 - r3025591;
double r3025593 = exp(r3025592);
double r3025594 = sqrt(r3025593);
double r3025595 = r3025581 / r3025594;
double r3025596 = r3025579 / r3025595;
double r3025597 = r3025579 * r3025579;
double r3025598 = r3025581 * r3025581;
double r3025599 = cbrt(r3025593);
double r3025600 = r3025599 * r3025599;
double r3025601 = exp(1.0);
double r3025602 = pow(r3025601, r3025592);
double r3025603 = cbrt(r3025602);
double r3025604 = r3025600 * r3025603;
double r3025605 = sqrt(r3025604);
double r3025606 = r3025598 / r3025605;
double r3025607 = r3025597 / r3025606;
double r3025608 = r3025596 * r3025607;
return r3025608;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Initial program 1.9
rmApplied associate-/l*1.8
Simplified1.8
rmApplied add-sqr-sqrt1.8
Applied add-cube-cbrt1.8
Applied times-frac1.8
Applied add-cube-cbrt1.8
Applied times-frac0.9
rmApplied add-cube-cbrt0.9
rmApplied *-un-lft-identity0.9
Applied exp-prod0.9
Simplified0.9
Final simplification0.9
herbie shell --seed 2019134 +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))