\sqrt{\left({a}^{2} + {b}^{2}\right) - \left(\left(2 \cdot a\right) \cdot b\right) \cdot c}\sqrt{\left({a}^{2} + {b}^{2}\right) - \left(\left(2 \cdot a\right) \cdot b\right) \cdot c}double code(double a, double b, double c) {
return ((double) sqrt(((double) (((double) (((double) pow(a, 2.0)) + ((double) pow(b, 2.0)))) - ((double) (((double) (((double) (2.0 * a)) * b)) * c))))));
}
double code(double a, double b, double c) {
return ((double) sqrt(((double) (((double) (((double) pow(a, 2.0)) + ((double) pow(b, 2.0)))) - ((double) (((double) (((double) (2.0 * a)) * b)) * c))))));
}



Bits error versus a



Bits error versus b



Bits error versus c
Results
Initial program 33.4
Final simplification33.4
herbie shell --seed 2020152
(FPCore (a b c)
:name "(sqrt (- (+ (pow a 2) (pow b 2)) (* (* (* 2 a) b) c)))"
:precision binary64
(sqrt (- (+ (pow a 2.0) (pow b 2.0)) (* (* (* 2.0 a) b) c))))