Average Error: 0.3 → 0.3
Time: 751.0ms
Precision: binary64
\[\frac{0.10000000000000001}{{\left(\varepsilon + {10}^{6}\right)}^{2}}\]
\[\frac{0.10000000000000001}{{\left(\varepsilon + {10}^{6}\right)}^{2}}\]
\frac{0.10000000000000001}{{\left(\varepsilon + {10}^{6}\right)}^{2}}
\frac{0.10000000000000001}{{\left(\varepsilon + {10}^{6}\right)}^{2}}
double code(double eps) {
	return ((double) (0.1 / ((double) pow(((double) (eps + ((double) pow(10.0, 6.0)))), 2.0))));
}
double code(double eps) {
	return ((double) (0.1 / ((double) pow(((double) (eps + ((double) pow(10.0, 6.0)))), 2.0))));
}

Error

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.3

    \[\frac{0.10000000000000001}{{\left(\varepsilon + {10}^{6}\right)}^{2}}\]
  2. Final simplification0.3

    \[\leadsto \frac{0.10000000000000001}{{\left(\varepsilon + {10}^{6}\right)}^{2}}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (eps)
  :name "(/ 0.1 (pow (+ eps (pow 10 6)) 2))"
  :precision binary64
  (/ 0.1 (pow (+ eps (pow 10.0 6.0)) 2.0)))