\frac{e^{a}}{e^{a} + e^{b}}e^{a - \log \left(e^{a} + e^{b}\right)}double f(double a, double b) {
double r132735 = a;
double r132736 = exp(r132735);
double r132737 = b;
double r132738 = exp(r132737);
double r132739 = r132736 + r132738;
double r132740 = r132736 / r132739;
return r132740;
}
double f(double a, double b) {
double r132741 = a;
double r132742 = exp(r132741);
double r132743 = b;
double r132744 = exp(r132743);
double r132745 = r132742 + r132744;
double r132746 = log(r132745);
double r132747 = r132741 - r132746;
double r132748 = exp(r132747);
return r132748;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.7 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 0.7
rmApplied add-exp-log0.7
Applied div-exp0.6
Final simplification0.6
herbie shell --seed 2019353
(FPCore (a b)
:name "Quotient of sum of exps"
:precision binary64
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))