\frac{e^{a}}{e^{a} + e^{b}}e^{a - \log \left(e^{a} + e^{b}\right)}double f(double a, double b) {
double r4832544 = a;
double r4832545 = exp(r4832544);
double r4832546 = b;
double r4832547 = exp(r4832546);
double r4832548 = r4832545 + r4832547;
double r4832549 = r4832545 / r4832548;
return r4832549;
}
double f(double a, double b) {
double r4832550 = a;
double r4832551 = exp(r4832550);
double r4832552 = b;
double r4832553 = exp(r4832552);
double r4832554 = r4832551 + r4832553;
double r4832555 = log(r4832554);
double r4832556 = r4832550 - r4832555;
double r4832557 = exp(r4832556);
return r4832557;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.5 |
|---|---|
| Target | 0.0 |
| Herbie | 0.4 |
Initial program 0.5
rmApplied add-exp-log0.5
Applied div-exp0.4
Final simplification0.4
herbie shell --seed 2019138
(FPCore (a b)
:name "Quotient of sum of exps"
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))