\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 r3477062 = a;
double r3477063 = exp(r3477062);
double r3477064 = b;
double r3477065 = exp(r3477064);
double r3477066 = r3477063 + r3477065;
double r3477067 = r3477063 / r3477066;
return r3477067;
}
double f(double a, double b) {
double r3477068 = a;
double r3477069 = exp(r3477068);
double r3477070 = b;
double r3477071 = exp(r3477070);
double r3477072 = r3477069 + r3477071;
double r3477073 = r3477069 / r3477072;
double r3477074 = exp(r3477073);
double r3477075 = log(r3477074);
return r3477075;
}




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