\frac{e^{a}}{e^{a} + e^{b}}\frac{\sqrt{\frac{1}{\sqrt[3]{\sqrt{e^{a} + e^{b}}} \cdot \sqrt[3]{\sqrt{e^{a} + e^{b}}}}}}{\sqrt[3]{\frac{\sqrt{e^{a} + e^{b}}}{\frac{e^{a}}{\sqrt[3]{\sqrt{e^{a} + e^{b}}}}}} \cdot \sqrt[3]{\frac{\sqrt{e^{a} + e^{b}}}{\frac{e^{a}}{\sqrt[3]{\sqrt{e^{a} + e^{b}}}}}}} \cdot \frac{\sqrt{\frac{1}{\sqrt[3]{\sqrt{e^{a} + e^{b}}} \cdot \sqrt[3]{\sqrt{e^{a} + e^{b}}}}}}{\sqrt[3]{\frac{\sqrt{e^{a} + e^{b}}}{\frac{e^{a}}{\sqrt[3]{\sqrt{e^{a} + e^{b}}}}}}}double f(double a, double b) {
double r187305 = a;
double r187306 = exp(r187305);
double r187307 = b;
double r187308 = exp(r187307);
double r187309 = r187306 + r187308;
double r187310 = r187306 / r187309;
return r187310;
}
double f(double a, double b) {
double r187311 = 1.0;
double r187312 = a;
double r187313 = exp(r187312);
double r187314 = b;
double r187315 = exp(r187314);
double r187316 = r187313 + r187315;
double r187317 = sqrt(r187316);
double r187318 = cbrt(r187317);
double r187319 = r187318 * r187318;
double r187320 = r187311 / r187319;
double r187321 = sqrt(r187320);
double r187322 = r187313 / r187318;
double r187323 = r187317 / r187322;
double r187324 = cbrt(r187323);
double r187325 = r187324 * r187324;
double r187326 = r187321 / r187325;
double r187327 = r187321 / r187324;
double r187328 = r187326 * r187327;
return r187328;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.8 |
|---|---|
| Target | 0.0 |
| Herbie | 0.8 |
Initial program 0.8
rmApplied add-sqr-sqrt1.3
Applied associate-/r*1.1
rmApplied add-cube-cbrt1.1
Applied *-un-lft-identity1.1
Applied times-frac1.1
Applied associate-/l*1.1
rmApplied add-cube-cbrt0.8
Applied add-sqr-sqrt0.8
Applied times-frac0.8
Final simplification0.8
herbie shell --seed 2020043
(FPCore (a b)
:name "Quotient of sum of exps"
:precision binary64
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))