Average Error: 18.4 → 18.4
Time: 1.0s
Precision: binary64
\[s + \frac{x - {s}^{2}}{2 \cdot s}\]
\[s + \frac{x - {s}^{2}}{2 \cdot s}\]
s + \frac{x - {s}^{2}}{2 \cdot s}
s + \frac{x - {s}^{2}}{2 \cdot s}
double code(double s, double x) {
	return ((double) (s + ((double) (((double) (x - ((double) pow(s, 2.0)))) / ((double) (2.0 * s))))));
}
double code(double s, double x) {
	return ((double) (s + ((double) (((double) (x - ((double) pow(s, 2.0)))) / ((double) (2.0 * s))))));
}

Error

Bits error versus s

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 18.4

    \[s + \frac{x - {s}^{2}}{2 \cdot s}\]
  2. Final simplification18.4

    \[\leadsto s + \frac{x - {s}^{2}}{2 \cdot s}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (s x)
  :name "(+ s (/ (- x (pow s 2)) (* 2 s)))"
  :precision binary64
  (+ s (/ (- x (pow s 2.0)) (* 2.0 s))))