\frac{e^{a}}{e^{a} + e^{b}}\frac{e^{a}}{e^{a} + e^{b}}double f(double a, double b) {
double r12876995 = a;
double r12876996 = exp(r12876995);
double r12876997 = b;
double r12876998 = exp(r12876997);
double r12876999 = r12876996 + r12876998;
double r12877000 = r12876996 / r12876999;
return r12877000;
}
double f(double a, double b) {
double r12877001 = a;
double r12877002 = exp(r12877001);
double r12877003 = b;
double r12877004 = exp(r12877003);
double r12877005 = r12877002 + r12877004;
double r12877006 = r12877002 / r12877005;
return r12877006;
}




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 2019173 +o rules:numerics
(FPCore (a b)
:name "Quotient of sum of exps"
:herbie-target
(/ 1.0 (+ 1.0 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))