\frac{\sqrt{\left(\left(\left(a + b\right) \cdot \left(a + b\right)\right) \cdot \left(\left(a - b\right) + 2 \cdot c\right)\right) \cdot \left(\left(b - a\right) + 2 \cdot c\right)}}{4}\frac{\sqrt{\left(\left(\left(a + b\right) \cdot \left(a + b\right)\right) \cdot \left(\left(a - b\right) + 2 \cdot c\right)\right) \cdot \left(\left(b - a\right) + 2 \cdot c\right)}}{4}double code(double a, double b, double c) {
return ((double) (((double) sqrt(((double) (((double) (((double) (((double) (a + b)) * ((double) (a + b)))) * ((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) sqrt(((double) (((double) (((double) (((double) (a + b)) * ((double) (a + b)))) * ((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 34.3
Final simplification34.3
herbie shell --seed 2020153
(FPCore (a b c)
:name "(/ (sqrt (* (* (* (+ a b) (+ a b)) (+ (- a b) (* 2 c))) (+ (- b a) (* 2 c)))) 4)"
:precision binary64
(/ (sqrt (* (* (* (+ a b) (+ a b)) (+ (- a b) (* 2.0 c))) (+ (- b a) (* 2.0 c)))) 4.0))