\frac{e^{a}}{e^{a} + e^{b}}e^{a - \log \left(e^{a} + e^{b}\right)}double f(double a, double b) {
double r140628 = a;
double r140629 = exp(r140628);
double r140630 = b;
double r140631 = exp(r140630);
double r140632 = r140629 + r140631;
double r140633 = r140629 / r140632;
return r140633;
}
double f(double a, double b) {
double r140634 = a;
double r140635 = exp(r140634);
double r140636 = b;
double r140637 = exp(r140636);
double r140638 = r140635 + r140637;
double r140639 = log(r140638);
double r140640 = r140634 - r140639;
double r140641 = exp(r140640);
return r140641;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.8 |
|---|---|
| Target | 0.0 |
| Herbie | 0.7 |
Initial program 0.8
rmApplied add-exp-log0.8
Applied div-exp0.7
Final simplification0.7
herbie shell --seed 2020062
(FPCore (a b)
:name "Quotient of sum of exps"
:precision binary64
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))