\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\mathsf{fma}\left(\sqrt{m}, \frac{\left(1 - m\right) \cdot m}{v} - 1, \frac{\left(1 - m\right) \cdot m}{v} - 1\right) \cdot \left(-\sqrt{m}\right) + \mathsf{fma}\left(\sqrt{m}, \frac{\left(1 - m\right) \cdot m}{v} - 1, \frac{\left(1 - m\right) \cdot m}{v} - 1\right)double f(double m, double v) {
double r678697 = m;
double r678698 = 1.0;
double r678699 = r678698 - r678697;
double r678700 = r678697 * r678699;
double r678701 = v;
double r678702 = r678700 / r678701;
double r678703 = r678702 - r678698;
double r678704 = r678703 * r678699;
return r678704;
}
double f(double m, double v) {
double r678705 = m;
double r678706 = sqrt(r678705);
double r678707 = 1.0;
double r678708 = r678707 - r678705;
double r678709 = r678708 * r678705;
double r678710 = v;
double r678711 = r678709 / r678710;
double r678712 = r678711 - r678707;
double r678713 = fma(r678706, r678712, r678712);
double r678714 = -r678706;
double r678715 = r678713 * r678714;
double r678716 = r678715 + r678713;
return r678716;
}



Bits error versus m



Bits error versus v
Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied *-un-lft-identity0.1
Applied difference-of-squares0.1
Applied associate-*r*0.1
Simplified0.1
rmApplied sub-neg0.1
Applied distribute-lft-in0.1
Final simplification0.1
herbie shell --seed 2019152 +o rules:numerics
(FPCore (m v)
:name "b parameter of renormalized beta distribution"
:pre (and (< 0 m) (< 0 v) (< v 0.25))
(* (- (/ (* m (- 1 m)) v) 1) (- 1 m)))