Average Error: 26.7 → 26.7
Time: 1.0s
Precision: binary64
\[\sqrt{d \cdot d - \left(2 \cdot e\right) \cdot dd}\]
\[\sqrt{d \cdot d - \left(2 \cdot e\right) \cdot dd}\]
\sqrt{d \cdot d - \left(2 \cdot e\right) \cdot dd}
\sqrt{d \cdot d - \left(2 \cdot e\right) \cdot dd}
double code(double d, double e, double dd) {
	return ((double) sqrt(((double) (((double) (d * d)) - ((double) (((double) (2.0 * e)) * dd))))));
}
double code(double d, double e, double dd) {
	return ((double) sqrt(((double) (((double) (d * d)) - ((double) (((double) (2.0 * e)) * dd))))));
}

Error

Bits error versus d

Bits error versus e

Bits error versus dd

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 26.7

    \[\sqrt{d \cdot d - \left(2 \cdot e\right) \cdot dd}\]
  2. Final simplification26.7

    \[\leadsto \sqrt{d \cdot d - \left(2 \cdot e\right) \cdot dd}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (d e dd)
  :name "(sqrt (- (* d d) (* (* 2 e) dd)))"
  :precision binary64
  (sqrt (- (* d d) (* (* 2.0 e) dd))))