\frac{w \cdot \left(1 + \sqrt{1 - \left(4 \cdot d\right) \cdot a}\right)}{2}\frac{w \cdot \left(1 + \sqrt{1 - \left(4 \cdot d\right) \cdot a}\right)}{2}double code(double w, double d, double a) {
return ((double) (((double) (w * ((double) (1.0 + ((double) sqrt(((double) (1.0 - ((double) (((double) (4.0 * d)) * a)))))))))) / 2.0));
}
double code(double w, double d, double a) {
return ((double) (((double) (w * ((double) (1.0 + ((double) sqrt(((double) (1.0 - ((double) (((double) (4.0 * d)) * a)))))))))) / 2.0));
}



Bits error versus w



Bits error versus d



Bits error versus a
Results
Initial program 3.8
Final simplification3.8
herbie shell --seed 2020152
(FPCore (w d a)
:name "(/ (* w (+ 1.0 (sqrt (- 1.0 (* (* 4.0 d) a))))) 2.0)"
:precision binary64
(/ (* w (+ 1.0 (sqrt (- 1.0 (* (* 4.0 d) a))))) 2.0))