\frac{e^{a}}{e^{a} + e^{b}}\log \left({\left(e^{e^{a}}\right)}^{\left(\frac{1}{e^{a} + e^{b}}\right)}\right)double f(double a, double b) {
double r4096585 = a;
double r4096586 = exp(r4096585);
double r4096587 = b;
double r4096588 = exp(r4096587);
double r4096589 = r4096586 + r4096588;
double r4096590 = r4096586 / r4096589;
return r4096590;
}
double f(double a, double b) {
double r4096591 = a;
double r4096592 = exp(r4096591);
double r4096593 = exp(r4096592);
double r4096594 = 1.0;
double r4096595 = b;
double r4096596 = exp(r4096595);
double r4096597 = r4096592 + r4096596;
double r4096598 = r4096594 / r4096597;
double r4096599 = pow(r4096593, r4096598);
double r4096600 = log(r4096599);
return r4096600;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.6 |
|---|---|
| Target | 0.0 |
| Herbie | 0.7 |
Initial program 0.6
rmApplied add-exp-log0.6
Applied div-exp0.5
rmApplied add-log-exp0.6
Simplified0.7
rmApplied div-inv0.7
Applied exp-prod0.7
Final simplification0.7
herbie shell --seed 2019169 +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))))