\log \left(\frac{e^{a} \cdot an + e^{c} \cdot cn}{an + cn}\right)\log \left(\frac{e^{a} \cdot an + e^{c} \cdot cn}{an + cn}\right)double code(double a, double an, double c, double cn) {
return ((double) log(((double) (((double) (((double) (((double) exp(a)) * an)) + ((double) (((double) exp(c)) * cn)))) / ((double) (an + cn))))));
}
double code(double a, double an, double c, double cn) {
return ((double) log(((double) (((double) (((double) (((double) exp(a)) * an)) + ((double) (((double) exp(c)) * cn)))) / ((double) (an + cn))))));
}



Bits error versus a



Bits error versus an



Bits error versus c



Bits error versus cn
Results
Initial program 52.0
Final simplification52.0
herbie shell --seed 2020153
(FPCore (a an c cn)
:name "(log (/ (+ (* (exp a) an) (* (exp c) cn)) (+ an cn)))"
:precision binary64
(log (/ (+ (* (exp a) an) (* (exp c) cn)) (+ an cn))))