\left(\left(x - 1\right) \cdot \log y + \left(z - 1\right) \cdot \log \left(1 - y\right)\right) - t
x \cdot \log y + \mathsf{fma}\left(-1, \log y, \left(z - 1\right) \cdot \left(\log 1 - \left(1 \cdot y + \frac{1}{2} \cdot \frac{{y}^{2}}{{1}^{2}}\right)\right) - t\right)double code(double x, double y, double z, double t) {
return ((((x - 1.0) * log(y)) + ((z - 1.0) * log((1.0 - y)))) - t);
}
double code(double x, double y, double z, double t) {
return ((x * log(y)) + fma(-1.0, log(y), (((z - 1.0) * (log(1.0) - ((1.0 * y) + (0.5 * (pow(y, 2.0) / pow(1.0, 2.0)))))) - t)));
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
Initial program 6.8
Simplified6.8
Taylor expanded around 0 0.3
rmApplied fma-udef0.3
rmApplied sub-neg0.3
Applied distribute-rgt-in0.3
Applied associate-+l+0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2020078 +o rules:numerics
(FPCore (x y z t)
:name "Statistics.Distribution.Beta:$cdensity from math-functions-0.1.5.2"
:precision binary64
(- (+ (* (- x 1) (log y)) (* (- z 1) (log (- 1 y)))) t))