\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot \left(1 - m\right)\left(\left(\frac{m}{v} - 1\right) + \left(\mathsf{fma}\left(\left(\frac{m}{v}\right), \left(-m\right), \left(\frac{m}{v}\right)\right) - 1\right) \cdot \left(-m\right)\right) + m \cdot \frac{-m}{v}double f(double m, double v) {
double r3485884 = m;
double r3485885 = 1.0;
double r3485886 = r3485885 - r3485884;
double r3485887 = r3485884 * r3485886;
double r3485888 = v;
double r3485889 = r3485887 / r3485888;
double r3485890 = r3485889 - r3485885;
double r3485891 = r3485890 * r3485886;
return r3485891;
}
double f(double m, double v) {
double r3485892 = m;
double r3485893 = v;
double r3485894 = r3485892 / r3485893;
double r3485895 = 1.0;
double r3485896 = r3485894 - r3485895;
double r3485897 = -r3485892;
double r3485898 = fma(r3485894, r3485897, r3485894);
double r3485899 = r3485898 - r3485895;
double r3485900 = r3485899 * r3485897;
double r3485901 = r3485896 + r3485900;
double r3485902 = r3485897 / r3485893;
double r3485903 = r3485892 * r3485902;
double r3485904 = r3485901 + r3485903;
return r3485904;
}



Bits error versus m



Bits error versus v
Initial program 0.1
Taylor expanded around 0 0.1
Simplified0.1
rmApplied sub-neg0.1
Applied distribute-rgt-in0.1
rmApplied fma-udef0.1
Applied associate--l+0.1
Applied distribute-rgt-in0.1
Applied associate-+l+0.1
Final simplification0.1
herbie shell --seed 2019120 +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)))