\frac{e^{a}}{e^{a} + e^{b}}e^{a - \log \left(e^{a} + e^{b}\right)}double f(double a, double b) {
double r73739 = a;
double r73740 = exp(r73739);
double r73741 = b;
double r73742 = exp(r73741);
double r73743 = r73740 + r73742;
double r73744 = r73740 / r73743;
return r73744;
}
double f(double a, double b) {
double r73745 = a;
double r73746 = exp(r73745);
double r73747 = b;
double r73748 = exp(r73747);
double r73749 = r73746 + r73748;
double r73750 = log(r73749);
double r73751 = r73745 - r73750;
double r73752 = exp(r73751);
return r73752;
}




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 2019325 +o rules:numerics
(FPCore (a b)
:name "Quotient of sum of exps"
:precision binary64
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))