\frac{e^{a}}{e^{a} + e^{b}}\frac{e^{a}}{e^{a} + e^{b}}double f(double a, double b) {
double r9100589 = a;
double r9100590 = exp(r9100589);
double r9100591 = b;
double r9100592 = exp(r9100591);
double r9100593 = r9100590 + r9100592;
double r9100594 = r9100590 / r9100593;
return r9100594;
}
double f(double a, double b) {
double r9100595 = a;
double r9100596 = exp(r9100595);
double r9100597 = b;
double r9100598 = exp(r9100597);
double r9100599 = r9100596 + r9100598;
double r9100600 = r9100596 / r9100599;
return r9100600;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.7 |
|---|---|
| Target | 0.0 |
| Herbie | 0.7 |
Initial program 0.7
Final simplification0.7
herbie shell --seed 2019174 +o rules:numerics
(FPCore (a b)
:name "Quotient of sum of exps"
:herbie-target
(/ 1.0 (+ 1.0 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))