\left(\left(x - 1.0\right) \cdot \log y + \left(z - 1.0\right) \cdot \log \left(1.0 - y\right)\right) - t
\mathsf{fma}\left(x - 1.0, \log y, \left(\log 1.0 - \mathsf{fma}\left(\frac{y}{1.0} \cdot \frac{y}{1.0}, \frac{1}{2}, y \cdot 1.0\right)\right) \cdot \left(z - 1.0\right)\right) - tdouble f(double x, double y, double z, double t) {
double r3133286 = x;
double r3133287 = 1.0;
double r3133288 = r3133286 - r3133287;
double r3133289 = y;
double r3133290 = log(r3133289);
double r3133291 = r3133288 * r3133290;
double r3133292 = z;
double r3133293 = r3133292 - r3133287;
double r3133294 = r3133287 - r3133289;
double r3133295 = log(r3133294);
double r3133296 = r3133293 * r3133295;
double r3133297 = r3133291 + r3133296;
double r3133298 = t;
double r3133299 = r3133297 - r3133298;
return r3133299;
}
double f(double x, double y, double z, double t) {
double r3133300 = x;
double r3133301 = 1.0;
double r3133302 = r3133300 - r3133301;
double r3133303 = y;
double r3133304 = log(r3133303);
double r3133305 = log(r3133301);
double r3133306 = r3133303 / r3133301;
double r3133307 = r3133306 * r3133306;
double r3133308 = 0.5;
double r3133309 = r3133303 * r3133301;
double r3133310 = fma(r3133307, r3133308, r3133309);
double r3133311 = r3133305 - r3133310;
double r3133312 = z;
double r3133313 = r3133312 - r3133301;
double r3133314 = r3133311 * r3133313;
double r3133315 = fma(r3133302, r3133304, r3133314);
double r3133316 = t;
double r3133317 = r3133315 - r3133316;
return r3133317;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Initial program 6.5
Simplified6.5
Taylor expanded around 0 0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x y z t)
:name "Statistics.Distribution.Beta:$cdensity from math-functions-0.1.5.2"
(- (+ (* (- x 1.0) (log y)) (* (- z 1.0) (log (- 1.0 y)))) t))