\frac{x \cdot e^{\left(y \cdot \log z + \left(t - 1\right) \cdot \log a\right) - b}}{y}\frac{x \cdot e^{\left(y \cdot \log z + \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 r92101 = x;
double r92102 = y;
double r92103 = z;
double r92104 = log(r92103);
double r92105 = r92102 * r92104;
double r92106 = t;
double r92107 = 1.0;
double r92108 = r92106 - r92107;
double r92109 = a;
double r92110 = log(r92109);
double r92111 = r92108 * r92110;
double r92112 = r92105 + r92111;
double r92113 = b;
double r92114 = r92112 - r92113;
double r92115 = exp(r92114);
double r92116 = r92101 * r92115;
double r92117 = r92116 / r92102;
return r92117;
}
double f(double x, double y, double z, double t, double a, double b) {
double r92118 = x;
double r92119 = y;
double r92120 = z;
double r92121 = log(r92120);
double r92122 = r92119 * r92121;
double r92123 = t;
double r92124 = 1.0;
double r92125 = r92123 - r92124;
double r92126 = a;
double r92127 = log(r92126);
double r92128 = r92125 * r92127;
double r92129 = r92122 + r92128;
double r92130 = b;
double r92131 = r92129 - r92130;
double r92132 = exp(r92131);
double r92133 = r92118 * r92132;
double r92134 = r92133 / r92119;
return r92134;
}



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
Final simplification1.9
herbie shell --seed 2019306 +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))