\frac{e^{a}}{e^{a} + e^{b}}\frac{1}{\frac{e^{a} + e^{b}}{e^{a}}}double f(double a, double b) {
double r11943567 = a;
double r11943568 = exp(r11943567);
double r11943569 = b;
double r11943570 = exp(r11943569);
double r11943571 = r11943568 + r11943570;
double r11943572 = r11943568 / r11943571;
return r11943572;
}
double f(double a, double b) {
double r11943573 = 1.0;
double r11943574 = a;
double r11943575 = exp(r11943574);
double r11943576 = b;
double r11943577 = exp(r11943576);
double r11943578 = r11943575 + r11943577;
double r11943579 = r11943578 / r11943575;
double r11943580 = r11943573 / r11943579;
return r11943580;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.8 |
|---|---|
| Target | 0.0 |
| Herbie | 0.8 |
Initial program 0.8
rmApplied clear-num0.8
Final simplification0.8
herbie shell --seed 2019120 +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))))