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



Bits error versus a



Bits error versus b



Bits error versus m



Bits error versus t



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