\frac{e^{a}}{e^{a} + e^{b}}\frac{e^{a}}{e^{a} + e^{b}}double f(double a, double b) {
double r4997263 = a;
double r4997264 = exp(r4997263);
double r4997265 = b;
double r4997266 = exp(r4997265);
double r4997267 = r4997264 + r4997266;
double r4997268 = r4997264 / r4997267;
return r4997268;
}
double f(double a, double b) {
double r4997269 = a;
double r4997270 = exp(r4997269);
double r4997271 = b;
double r4997272 = exp(r4997271);
double r4997273 = r4997270 + r4997272;
double r4997274 = r4997270 / r4997273;
return r4997274;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.6 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 0.6
Taylor expanded around -inf 0.6
Final simplification0.6
herbie shell --seed 2019133 +o rules:numerics
(FPCore (a b)
:name "Quotient of sum of exps"
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))