\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}x \cdot \frac{\frac{{\left(\frac{1}{a}\right)}^{1}}{e^{y \cdot \log \left(\frac{1}{z}\right) + \left(\log \left(\frac{1}{a}\right) \cdot t + b\right)}}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r112064 = x;
double r112065 = y;
double r112066 = z;
double r112067 = log(r112066);
double r112068 = r112065 * r112067;
double r112069 = t;
double r112070 = 1.0;
double r112071 = r112069 - r112070;
double r112072 = a;
double r112073 = log(r112072);
double r112074 = r112071 * r112073;
double r112075 = r112068 + r112074;
double r112076 = b;
double r112077 = r112075 - r112076;
double r112078 = exp(r112077);
double r112079 = r112064 * r112078;
double r112080 = r112079 / r112065;
return r112080;
}
double f(double x, double y, double z, double t, double a, double b) {
double r112081 = x;
double r112082 = 1.0;
double r112083 = a;
double r112084 = r112082 / r112083;
double r112085 = 1.0;
double r112086 = pow(r112084, r112085);
double r112087 = y;
double r112088 = z;
double r112089 = r112082 / r112088;
double r112090 = log(r112089);
double r112091 = r112087 * r112090;
double r112092 = log(r112084);
double r112093 = t;
double r112094 = r112092 * r112093;
double r112095 = b;
double r112096 = r112094 + r112095;
double r112097 = r112091 + r112096;
double r112098 = exp(r112097);
double r112099 = r112086 / r112098;
double r112100 = r112099 / r112087;
double r112101 = r112081 * r112100;
return r112101;
}



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.8
Taylor expanded around inf 1.8
Simplified1.1
rmApplied add-sqr-sqrt1.1
Applied associate-*r*1.1
rmApplied *-un-lft-identity1.1
Applied times-frac1.0
Simplified1.0
rmApplied associate-*l*1.5
Simplified1.4
Final simplification1.4
herbie shell --seed 2020003
(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))