\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}{\left(\frac{1}{{a}^{1}}\right)}^{1} \cdot \frac{x}{e^{\log \left(\frac{1}{z}\right) \cdot y + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)} \cdot y}double f(double x, double y, double z, double t, double a, double b) {
double r105578 = x;
double r105579 = y;
double r105580 = z;
double r105581 = log(r105580);
double r105582 = r105579 * r105581;
double r105583 = t;
double r105584 = 1.0;
double r105585 = r105583 - r105584;
double r105586 = a;
double r105587 = log(r105586);
double r105588 = r105585 * r105587;
double r105589 = r105582 + r105588;
double r105590 = b;
double r105591 = r105589 - r105590;
double r105592 = exp(r105591);
double r105593 = r105578 * r105592;
double r105594 = r105593 / r105579;
return r105594;
}
double f(double x, double y, double z, double t, double a, double b) {
double r105595 = 1.0;
double r105596 = a;
double r105597 = 1.0;
double r105598 = pow(r105596, r105597);
double r105599 = r105595 / r105598;
double r105600 = pow(r105599, r105597);
double r105601 = x;
double r105602 = z;
double r105603 = r105595 / r105602;
double r105604 = log(r105603);
double r105605 = y;
double r105606 = r105604 * r105605;
double r105607 = r105595 / r105596;
double r105608 = log(r105607);
double r105609 = t;
double r105610 = r105608 * r105609;
double r105611 = b;
double r105612 = r105610 + r105611;
double r105613 = r105606 + r105612;
double r105614 = exp(r105613);
double r105615 = r105614 * r105605;
double r105616 = r105601 / r105615;
double r105617 = r105600 * r105616;
return r105617;
}



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 1.9
Taylor expanded around inf 1.9
Simplified1.1
rmApplied associate-/l*1.3
Taylor expanded around inf 1.3
Final simplification1.3
herbie shell --seed 2020001 +o rules:numerics
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
:precision binary64
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1) (log a))) b))) y))