\frac{e^{a}}{e^{a} + e^{b}}\log \left(e^{\frac{e^{a}}{e^{a} + e^{b}}}\right)double f(double a, double b) {
double r35929651 = a;
double r35929652 = exp(r35929651);
double r35929653 = b;
double r35929654 = exp(r35929653);
double r35929655 = r35929652 + r35929654;
double r35929656 = r35929652 / r35929655;
return r35929656;
}
double f(double a, double b) {
double r35929657 = a;
double r35929658 = exp(r35929657);
double r35929659 = b;
double r35929660 = exp(r35929659);
double r35929661 = r35929658 + r35929660;
double r35929662 = r35929658 / r35929661;
double r35929663 = exp(r35929662);
double r35929664 = log(r35929663);
return r35929664;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.5 |
|---|---|
| Target | 0.0 |
| Herbie | 0.6 |
Initial program 0.5
rmApplied add-log-exp0.6
Final simplification0.6
herbie shell --seed 2019119
(FPCore (a b)
:name "Quotient of sum of exps"
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))