\frac{e^{a}}{e^{a} + e^{b}}e^{a - \log \left(e^{a} + e^{b}\right)}double f(double a, double b) {
double r143659 = a;
double r143660 = exp(r143659);
double r143661 = b;
double r143662 = exp(r143661);
double r143663 = r143660 + r143662;
double r143664 = r143660 / r143663;
return r143664;
}
double f(double a, double b) {
double r143665 = a;
double r143666 = exp(r143665);
double r143667 = b;
double r143668 = exp(r143667);
double r143669 = r143666 + r143668;
double r143670 = log(r143669);
double r143671 = r143665 - r143670;
double r143672 = exp(r143671);
return r143672;
}




Bits error versus a




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