\frac{e^{a}}{e^{a} + e^{b}}\frac{1}{\frac{e^{a} + e^{b}}{e^{a}}}double f(double a, double b) {
double r20075 = a;
double r20076 = exp(r20075);
double r20077 = b;
double r20078 = exp(r20077);
double r20079 = r20076 + r20078;
double r20080 = r20076 / r20079;
return r20080;
}
double f(double a, double b) {
double r20081 = 1.0;
double r20082 = a;
double r20083 = exp(r20082);
double r20084 = b;
double r20085 = exp(r20084);
double r20086 = r20083 + r20085;
double r20087 = r20086 / r20083;
double r20088 = r20081 / r20087;
return r20088;
}




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))))