\frac{e^{a}}{e^{a} + e^{b}}\frac{1}{\frac{e^{a} + e^{b}}{e^{a}}}double f(double a, double b) {
double r163050 = a;
double r163051 = exp(r163050);
double r163052 = b;
double r163053 = exp(r163052);
double r163054 = r163051 + r163053;
double r163055 = r163051 / r163054;
return r163055;
}
double f(double a, double b) {
double r163056 = 1.0;
double r163057 = a;
double r163058 = exp(r163057);
double r163059 = b;
double r163060 = exp(r163059);
double r163061 = r163058 + r163060;
double r163062 = r163061 / r163058;
double r163063 = r163056 / r163062;
return r163063;
}




Bits error versus a




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