\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(\log 1.0 - \mathsf{fma}\left(1.0, y, \frac{y}{1.0} \cdot \left(\frac{y}{1.0} \cdot \frac{1}{2}\right)\right), z - 1.0, \log \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right) \cdot \left(x - 1.0\right) + \left(\log \left(\left(\sqrt[3]{\sqrt[3]{y}} \cdot \sqrt[3]{\sqrt[3]{y}}\right) \cdot \sqrt[3]{\sqrt[3]{y}}\right) \cdot \left(x - 1.0\right) - t\right)\right)double f(double x, double y, double z, double t) {
double r1680689 = x;
double r1680690 = 1.0;
double r1680691 = r1680689 - r1680690;
double r1680692 = y;
double r1680693 = log(r1680692);
double r1680694 = r1680691 * r1680693;
double r1680695 = z;
double r1680696 = r1680695 - r1680690;
double r1680697 = r1680690 - r1680692;
double r1680698 = log(r1680697);
double r1680699 = r1680696 * r1680698;
double r1680700 = r1680694 + r1680699;
double r1680701 = t;
double r1680702 = r1680700 - r1680701;
return r1680702;
}
double f(double x, double y, double z, double t) {
double r1680703 = 1.0;
double r1680704 = log(r1680703);
double r1680705 = y;
double r1680706 = r1680705 / r1680703;
double r1680707 = 0.5;
double r1680708 = r1680706 * r1680707;
double r1680709 = r1680706 * r1680708;
double r1680710 = fma(r1680703, r1680705, r1680709);
double r1680711 = r1680704 - r1680710;
double r1680712 = z;
double r1680713 = r1680712 - r1680703;
double r1680714 = cbrt(r1680705);
double r1680715 = r1680714 * r1680714;
double r1680716 = log(r1680715);
double r1680717 = x;
double r1680718 = r1680717 - r1680703;
double r1680719 = r1680716 * r1680718;
double r1680720 = cbrt(r1680714);
double r1680721 = r1680720 * r1680720;
double r1680722 = r1680721 * r1680720;
double r1680723 = log(r1680722);
double r1680724 = r1680723 * r1680718;
double r1680725 = t;
double r1680726 = r1680724 - r1680725;
double r1680727 = r1680719 + r1680726;
double r1680728 = fma(r1680711, r1680713, r1680727);
return r1680728;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Initial program 6.7
Simplified6.7
Taylor expanded around 0 0.4
Simplified0.4
rmApplied add-cube-cbrt0.4
Applied log-prod0.4
Applied distribute-lft-in0.4
Applied associate--l+0.4
rmApplied add-cube-cbrt0.4
Final simplification0.4
herbie shell --seed 2019165 +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))