\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot \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 r76035 = x;
double r76036 = y;
double r76037 = z;
double r76038 = log(r76037);
double r76039 = r76036 * r76038;
double r76040 = t;
double r76041 = 1.0;
double r76042 = r76040 - r76041;
double r76043 = a;
double r76044 = log(r76043);
double r76045 = r76042 * r76044;
double r76046 = r76039 + r76045;
double r76047 = b;
double r76048 = r76046 - r76047;
double r76049 = exp(r76048);
double r76050 = r76035 * r76049;
double r76051 = r76050 / r76036;
return r76051;
}
double f(double x, double y, double z, double t, double a, double b) {
double r76052 = x;
double r76053 = 1.0;
double r76054 = a;
double r76055 = r76053 / r76054;
double r76056 = 1.0;
double r76057 = pow(r76055, r76056);
double r76058 = y;
double r76059 = z;
double r76060 = r76053 / r76059;
double r76061 = log(r76060);
double r76062 = r76058 * r76061;
double r76063 = log(r76055);
double r76064 = t;
double r76065 = r76063 * r76064;
double r76066 = b;
double r76067 = r76065 + r76066;
double r76068 = r76062 + r76067;
double r76069 = exp(r76068);
double r76070 = r76057 / r76069;
double r76071 = r76052 * r76070;
double r76072 = r76071 / r76058;
return r76072;
}



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.2
Final simplification1.2
herbie shell --seed 2020083
(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))