Average Error: 50.8 → 50.8
Time: 2.3s
Precision: binary64
\[\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}}\]
\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))))));
}

Error

Bits error versus d

Bits error versus r

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 50.8

    \[\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}}\]
  2. Final simplification50.8

    \[\leadsto \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}}\]

Reproduce

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))))