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



Bits error versus a



Bits error versus an



Bits error versus c



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