\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1.0\right) \cdot \log a\right) - b}}{y}\left(\sqrt[3]{\frac{x \cdot \left(\sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}} \cdot \sqrt{e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}\right)}{y}} \cdot \sqrt[3]{\frac{x \cdot e^{\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b}}{y}}\right) \cdot \sqrt[3]{\frac{x \cdot {e}^{\left(\left(\log a \cdot \left(t - 1.0\right) + \log z \cdot y\right) - b\right)}}{y}}double f(double x, double y, double z, double t, double a, double b) {
double r3043561 = x;
double r3043562 = y;
double r3043563 = z;
double r3043564 = log(r3043563);
double r3043565 = r3043562 * r3043564;
double r3043566 = t;
double r3043567 = 1.0;
double r3043568 = r3043566 - r3043567;
double r3043569 = a;
double r3043570 = log(r3043569);
double r3043571 = r3043568 * r3043570;
double r3043572 = r3043565 + r3043571;
double r3043573 = b;
double r3043574 = r3043572 - r3043573;
double r3043575 = exp(r3043574);
double r3043576 = r3043561 * r3043575;
double r3043577 = r3043576 / r3043562;
return r3043577;
}
double f(double x, double y, double z, double t, double a, double b) {
double r3043578 = x;
double r3043579 = a;
double r3043580 = log(r3043579);
double r3043581 = t;
double r3043582 = 1.0;
double r3043583 = r3043581 - r3043582;
double r3043584 = r3043580 * r3043583;
double r3043585 = z;
double r3043586 = log(r3043585);
double r3043587 = y;
double r3043588 = r3043586 * r3043587;
double r3043589 = r3043584 + r3043588;
double r3043590 = b;
double r3043591 = r3043589 - r3043590;
double r3043592 = exp(r3043591);
double r3043593 = sqrt(r3043592);
double r3043594 = r3043593 * r3043593;
double r3043595 = r3043578 * r3043594;
double r3043596 = r3043595 / r3043587;
double r3043597 = cbrt(r3043596);
double r3043598 = r3043578 * r3043592;
double r3043599 = r3043598 / r3043587;
double r3043600 = cbrt(r3043599);
double r3043601 = r3043597 * r3043600;
double r3043602 = exp(1.0);
double r3043603 = pow(r3043602, r3043591);
double r3043604 = r3043578 * r3043603;
double r3043605 = r3043604 / r3043587;
double r3043606 = cbrt(r3043605);
double r3043607 = r3043601 * r3043606;
return r3043607;
}



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
Initial program 2.0
rmApplied add-cube-cbrt2.0
rmApplied *-un-lft-identity2.0
Applied exp-prod2.0
Simplified2.0
rmApplied add-sqr-sqrt2.0
Final simplification2.0
herbie shell --seed 2019133 +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))