double code(double m, double v) {
return ((double) (((double) (((double) (((double) (m * ((double) (1.0 - m)))) / v)) - 1.0)) * m));
}
double code(double m, double v) {
return ((double) (((double) (((double) (m * ((double) (m / v)))) * ((double) (1.0 - m)))) - ((double) (m * 1.0))));
}



Bits error versus m



Bits error versus v
Results
Initial program 0.2
rmApplied clear-num0.2
Taylor expanded around 0 7.0
Simplified0.2
Taylor expanded around 0 7.0
Simplified0.2
Final simplification0.2
herbie shell --seed 2020190
(FPCore (m v)
:name "a parameter of renormalized beta distribution"
:precision binary64
:pre (and (< 0.0 m) (< 0.0 v) (< v 0.25))
(* (- (/ (* m (- 1.0 m)) v) 1.0) m))