\frac{e^{a}}{e^{a} + e^{b}}\frac{e^{a}}{e^{a} + e^{b}}double f(double a, double b) {
double r6105621 = a;
double r6105622 = exp(r6105621);
double r6105623 = b;
double r6105624 = exp(r6105623);
double r6105625 = r6105622 + r6105624;
double r6105626 = r6105622 / r6105625;
return r6105626;
}
double f(double a, double b) {
double r6105627 = a;
double r6105628 = exp(r6105627);
double r6105629 = b;
double r6105630 = exp(r6105629);
double r6105631 = r6105628 + r6105630;
double r6105632 = r6105628 / r6105631;
return r6105632;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.7 |
|---|---|
| Target | 0.0 |
| Herbie | 0.7 |
Initial program 0.7
Final simplification0.7
herbie shell --seed 2019163 +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))))