\frac{e^{a}}{e^{a} + e^{b}}\frac{e^{a}}{e^{a} + e^{b}}double f(double a, double b) {
double r3477807 = a;
double r3477808 = exp(r3477807);
double r3477809 = b;
double r3477810 = exp(r3477809);
double r3477811 = r3477808 + r3477810;
double r3477812 = r3477808 / r3477811;
return r3477812;
}
double f(double a, double b) {
double r3477813 = a;
double r3477814 = exp(r3477813);
double r3477815 = b;
double r3477816 = exp(r3477815);
double r3477817 = r3477814 + r3477816;
double r3477818 = r3477814 / r3477817;
return r3477818;
}




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 2019163 +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))))