\frac{e^{a}}{e^{a} + e^{b}}e^{a} \cdot \frac{1}{e^{a} + e^{b}}double f(double a, double b) {
double r101873 = a;
double r101874 = exp(r101873);
double r101875 = b;
double r101876 = exp(r101875);
double r101877 = r101874 + r101876;
double r101878 = r101874 / r101877;
return r101878;
}
double f(double a, double b) {
double r101879 = a;
double r101880 = exp(r101879);
double r101881 = 1.0;
double r101882 = b;
double r101883 = exp(r101882);
double r101884 = r101880 + r101883;
double r101885 = r101881 / r101884;
double r101886 = r101880 * r101885;
return r101886;
}




Bits error versus a




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