\frac{e^{a}}{e^{a} + e^{b}}\frac{1}{\frac{e^{a} + e^{b}}{e^{a}}}double f(double a, double b) {
double r4072427 = a;
double r4072428 = exp(r4072427);
double r4072429 = b;
double r4072430 = exp(r4072429);
double r4072431 = r4072428 + r4072430;
double r4072432 = r4072428 / r4072431;
return r4072432;
}
double f(double a, double b) {
double r4072433 = 1.0;
double r4072434 = a;
double r4072435 = exp(r4072434);
double r4072436 = b;
double r4072437 = exp(r4072436);
double r4072438 = r4072435 + r4072437;
double r4072439 = r4072438 / r4072435;
double r4072440 = r4072433 / r4072439;
return r4072440;
}




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 +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))))