Average Error: 29.3 → 29.3
Time: 1.1s
Precision: binary64
\[b - \sqrt{b \cdot b - a}\]
\[b - \sqrt{b \cdot b - a}\]
b - \sqrt{b \cdot b - a}
b - \sqrt{b \cdot b - a}
double code(double b, double a) {
	return ((double) (b - ((double) sqrt(((double) (((double) (b * b)) - a))))));
}
double code(double b, double a) {
	return ((double) (b - ((double) sqrt(((double) (((double) (b * b)) - a))))));
}

Error

Bits error versus b

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 29.3

    \[b - \sqrt{b \cdot b - a}\]
  2. Final simplification29.3

    \[\leadsto b - \sqrt{b \cdot b - a}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (b a)
  :name "(- b (sqrt (- (* b b) a)))"
  :precision binary64
  (- b (sqrt (- (* b b) a))))