\frac{e^{a}}{e^{a} + e^{b}}\frac{1}{\frac{e^{a} + e^{b}}{e^{a}}}double f(double a, double b) {
double r110716 = a;
double r110717 = exp(r110716);
double r110718 = b;
double r110719 = exp(r110718);
double r110720 = r110717 + r110719;
double r110721 = r110717 / r110720;
return r110721;
}
double f(double a, double b) {
double r110722 = 1.0;
double r110723 = a;
double r110724 = exp(r110723);
double r110725 = b;
double r110726 = exp(r110725);
double r110727 = r110724 + r110726;
double r110728 = r110727 / r110724;
double r110729 = r110722 / r110728;
return r110729;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.7 |
|---|---|
| Target | 0.0 |
| Herbie | 0.8 |
Initial program 0.7
rmApplied clear-num0.8
Final simplification0.8
herbie shell --seed 2020045
(FPCore (a b)
:name "Quotient of sum of exps"
:precision binary64
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))