\frac{e^{a}}{e^{a} + e^{b}}\frac{1}{\frac{e^{a} + e^{b}}{e^{a}}}double f(double a, double b) {
double r4552045 = a;
double r4552046 = exp(r4552045);
double r4552047 = b;
double r4552048 = exp(r4552047);
double r4552049 = r4552046 + r4552048;
double r4552050 = r4552046 / r4552049;
return r4552050;
}
double f(double a, double b) {
double r4552051 = 1.0;
double r4552052 = a;
double r4552053 = exp(r4552052);
double r4552054 = b;
double r4552055 = exp(r4552054);
double r4552056 = r4552053 + r4552055;
double r4552057 = r4552056 / r4552053;
double r4552058 = r4552051 / r4552057;
return r4552058;
}




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 2019171
(FPCore (a b)
:name "Quotient of sum of exps"
:herbie-target
(/ 1.0 (+ 1.0 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))