\left(\frac{m \cdot \left(1 - m\right)}{v} - 1\right) \cdot m\frac{m}{\frac{v}{m}} - \mathsf{fma}\left(m, \left(\frac{1}{\sqrt{v}} \cdot \frac{m}{\frac{\sqrt{v}}{m}}\right), m\right)double f(double m, double v) {
double r9970285 = m;
double r9970286 = 1.0;
double r9970287 = r9970286 - r9970285;
double r9970288 = r9970285 * r9970287;
double r9970289 = v;
double r9970290 = r9970288 / r9970289;
double r9970291 = r9970290 - r9970286;
double r9970292 = r9970291 * r9970285;
return r9970292;
}
double f(double m, double v) {
double r9970293 = m;
double r9970294 = v;
double r9970295 = r9970294 / r9970293;
double r9970296 = r9970293 / r9970295;
double r9970297 = 1.0;
double r9970298 = sqrt(r9970294);
double r9970299 = r9970297 / r9970298;
double r9970300 = r9970298 / r9970293;
double r9970301 = r9970293 / r9970300;
double r9970302 = r9970299 * r9970301;
double r9970303 = fma(r9970293, r9970302, r9970293);
double r9970304 = r9970296 - r9970303;
return r9970304;
}



Bits error versus m



Bits error versus v
Initial program 0.2
Simplified0.2
rmApplied *-un-lft-identity0.2
Applied *-un-lft-identity0.2
Applied add-sqr-sqrt0.3
Applied times-frac0.3
Applied prod-diff0.3
Applied distribute-rgt-in0.3
Simplified0.2
Simplified0.2
rmApplied *-un-lft-identity0.2
Applied add-sqr-sqrt0.2
Applied times-frac0.2
Applied *-un-lft-identity0.2
Applied times-frac0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019128 +o rules:numerics
(FPCore (m v)
:name "a parameter of renormalized beta distribution"
:pre (and (< 0 m) (< 0 v) (< v 0.25))
(* (- (/ (* m (- 1 m)) v) 1) m))