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



Bits error versus a



Bits error versus b



Bits error versus mrs_tmp



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