\frac{\frac{a - \left(4 \cdot b - e^{m \cdot dcf} \cdot a\right)}{\frac{m}{e^{m \cdot dcf} \cdot a - a}}}{2} + \left(b \cdot b\right) \cdot dcf\frac{\frac{a - \left(4 \cdot b - e^{m \cdot dcf} \cdot a\right)}{\frac{m}{e^{m \cdot dcf} \cdot a - a}}}{2} + \left(b \cdot b\right) \cdot dcfdouble code(double a, double b, double m, double dcf) {
return ((double) (((double) (((double) (((double) (a - ((double) (((double) (4.0 * b)) - ((double) (((double) exp(((double) (m * dcf)))) * a)))))) / ((double) (m / ((double) (((double) (((double) exp(((double) (m * dcf)))) * a)) - a)))))) / 2.0)) + ((double) (((double) (b * b)) * dcf))));
}
double code(double a, double b, double m, double dcf) {
return ((double) (((double) (((double) (((double) (a - ((double) (((double) (4.0 * b)) - ((double) (((double) exp(((double) (m * dcf)))) * a)))))) / ((double) (m / ((double) (((double) (((double) exp(((double) (m * dcf)))) * a)) - a)))))) / 2.0)) + ((double) (((double) (b * b)) * dcf))));
}



Bits error versus a



Bits error versus b



Bits error versus m



Bits error versus dcf
Results
Initial program 25.8
Final simplification25.8
herbie shell --seed 2020153
(FPCore (a b m dcf)
:name "(+ (/ (/ (- a (- (* 4 b) (* (exp (* m dcf)) a))) (/ m (- (* (exp (* m dcf)) a) a))) 2) (* (* b b) dcf))"
:precision binary64
(+ (/ (/ (- a (- (* 4.0 b) (* (exp (* m dcf)) a))) (/ m (- (* (exp (* m dcf)) a) a))) 2.0) (* (* b b) dcf)))