\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot e^{\left(\left(y \cdot \left(2 \cdot \log \left(\sqrt[3]{z}\right)\right) + y \cdot \log \left(\sqrt[3]{z}\right)\right) + \left(t - 1\right) \cdot \log a\right) - b}}{y}double f(double x, double y, double z, double t, double a, double b) {
double r69034 = x;
double r69035 = y;
double r69036 = z;
double r69037 = log(r69036);
double r69038 = r69035 * r69037;
double r69039 = t;
double r69040 = 1.0;
double r69041 = r69039 - r69040;
double r69042 = a;
double r69043 = log(r69042);
double r69044 = r69041 * r69043;
double r69045 = r69038 + r69044;
double r69046 = b;
double r69047 = r69045 - r69046;
double r69048 = exp(r69047);
double r69049 = r69034 * r69048;
double r69050 = r69049 / r69035;
return r69050;
}
double f(double x, double y, double z, double t, double a, double b) {
double r69051 = x;
double r69052 = y;
double r69053 = 2.0;
double r69054 = z;
double r69055 = cbrt(r69054);
double r69056 = log(r69055);
double r69057 = r69053 * r69056;
double r69058 = r69052 * r69057;
double r69059 = r69052 * r69056;
double r69060 = r69058 + r69059;
double r69061 = t;
double r69062 = 1.0;
double r69063 = r69061 - r69062;
double r69064 = a;
double r69065 = log(r69064);
double r69066 = r69063 * r69065;
double r69067 = r69060 + r69066;
double r69068 = b;
double r69069 = r69067 - r69068;
double r69070 = exp(r69069);
double r69071 = r69051 * r69070;
double r69072 = r69071 / r69052;
return r69072;
}



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.1
rmApplied add-cube-cbrt2.1
Applied log-prod2.1
Applied distribute-lft-in2.1
Simplified2.1
Final simplification2.1
herbie shell --seed 2019347 +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))