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

Error

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 26.6

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

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

Reproduce

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