\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));
}



Bits error versus a



Bits error versus b



Bits error versus c
Results
Initial program 26.6
Final simplification26.6
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))