\left(\left(x - 1\right) \cdot \log y + \left(z - 1\right) \cdot \log \left(1 - y\right)\right) - t
\mathsf{fma}\left(\log 1 - \mathsf{fma}\left(y, 1, \frac{\frac{1}{2}}{\frac{1}{\frac{y \cdot y}{1}}}\right), z - 1, \mathsf{fma}\left(\log y, x, -\mathsf{fma}\left(1, \log y, t\right)\right)\right)double f(double x, double y, double z, double t) {
double r41855 = x;
double r41856 = 1.0;
double r41857 = r41855 - r41856;
double r41858 = y;
double r41859 = log(r41858);
double r41860 = r41857 * r41859;
double r41861 = z;
double r41862 = r41861 - r41856;
double r41863 = r41856 - r41858;
double r41864 = log(r41863);
double r41865 = r41862 * r41864;
double r41866 = r41860 + r41865;
double r41867 = t;
double r41868 = r41866 - r41867;
return r41868;
}
double f(double x, double y, double z, double t) {
double r41869 = 1.0;
double r41870 = log(r41869);
double r41871 = y;
double r41872 = 0.5;
double r41873 = r41871 * r41871;
double r41874 = r41873 / r41869;
double r41875 = r41869 / r41874;
double r41876 = r41872 / r41875;
double r41877 = fma(r41871, r41869, r41876);
double r41878 = r41870 - r41877;
double r41879 = z;
double r41880 = r41879 - r41869;
double r41881 = log(r41871);
double r41882 = x;
double r41883 = t;
double r41884 = fma(r41869, r41881, r41883);
double r41885 = -r41884;
double r41886 = fma(r41881, r41882, r41885);
double r41887 = fma(r41878, r41880, r41886);
return r41887;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Initial program 7.2
Simplified7.2
Taylor expanded around 0 0.3
Simplified0.3
rmApplied *-un-lft-identity0.3
Applied *-un-lft-identity0.3
Applied distribute-lft-out--0.3
Simplified0.3
Taylor expanded around 0 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019174 +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))