Average Error: 34.0 → 34.0
Time: 1.8s
Precision: binary64
\[\frac{\sqrt{4 \cdot \left(a \cdot c\right) + b \cdot b} - b}{2 \cdot a}\]
\[\frac{\sqrt{4 \cdot \left(a \cdot c\right) + b \cdot b} - b}{2 \cdot a}\]
\frac{\sqrt{4 \cdot \left(a \cdot c\right) + b \cdot b} - b}{2 \cdot a}
\frac{\sqrt{4 \cdot \left(a \cdot c\right) + b \cdot b} - b}{2 \cdot a}
double code(double a, double c, double b) {
	return ((double) (((double) (((double) sqrt(((double) (((double) (4.0 * ((double) (a * c)))) + ((double) (b * b)))))) - b)) / ((double) (2.0 * a))));
}
double code(double a, double c, double b) {
	return ((double) (((double) (((double) sqrt(((double) (((double) (4.0 * ((double) (a * c)))) + ((double) (b * b)))))) - b)) / ((double) (2.0 * a))));
}

Error

Bits error versus a

Bits error versus c

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 34.0

    \[\frac{\sqrt{4 \cdot \left(a \cdot c\right) + b \cdot b} - b}{2 \cdot a}\]
  2. Final simplification34.0

    \[\leadsto \frac{\sqrt{4 \cdot \left(a \cdot c\right) + b \cdot b} - b}{2 \cdot a}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (a c b)
  :name "(/ (- (sqrt (+ (* 4 (* a c)) (* b b))) b) (* 2 a))"
  :precision binary64
  (/ (- (sqrt (+ (* 4.0 (* a c)) (* b b))) b) (* 2.0 a)))