\frac{\left(6 \cdot {d}^{4} + \left(5 \cdot {d}^{2}\right) \cdot {r}^{2}\right) + 2 \cdot {r}^{4}}{2 \cdot {\left({d}^{2} + {r}^{2}\right)}^{2.5}}\frac{\left(6 \cdot {d}^{4} + \left(5 \cdot {d}^{2}\right) \cdot {r}^{2}\right) + 2 \cdot {r}^{4}}{2 \cdot {\left({d}^{2} + {r}^{2}\right)}^{2.5}}double code(double d, double r) {
return ((double) (((double) (((double) (((double) (6.0 * ((double) pow(d, 4.0)))) + ((double) (((double) (5.0 * ((double) pow(d, 2.0)))) * ((double) pow(r, 2.0)))))) + ((double) (2.0 * ((double) pow(r, 4.0)))))) / ((double) (2.0 * ((double) pow(((double) (((double) pow(d, 2.0)) + ((double) pow(r, 2.0)))), 2.5))))));
}
double code(double d, double r) {
return ((double) (((double) (((double) (((double) (6.0 * ((double) pow(d, 4.0)))) + ((double) (((double) (5.0 * ((double) pow(d, 2.0)))) * ((double) pow(r, 2.0)))))) + ((double) (2.0 * ((double) pow(r, 4.0)))))) / ((double) (2.0 * ((double) pow(((double) (((double) pow(d, 2.0)) + ((double) pow(r, 2.0)))), 2.5))))));
}



Bits error versus d



Bits error versus r
Results
Initial program 50.8
Final simplification50.8
herbie shell --seed 2020152
(FPCore (d r)
:name "(/ (+ (+ (* 6 (pow d 4)) (* (* 5 (pow d 2)) (pow r 2))) (* 2 (pow r 4))) (* 2.0 (pow (+ (pow d 2) (pow r 2)) 2.5)))"
:precision binary64
(/ (+ (+ (* 6.0 (pow d 4.0)) (* (* 5.0 (pow d 2.0)) (pow r 2.0))) (* 2.0 (pow r 4.0))) (* 2.0 (pow (+ (pow d 2.0) (pow r 2.0)) 2.5))))