\frac{e^{a}}{e^{a} + e^{b}}\begin{array}{l}
\mathbf{if}\;b \le 234.44819139131235:\\
\;\;\;\;e^{a - \left(\log \left(e^{a} \cdot \left(e^{a} \cdot e^{a}\right) + e^{b + \left(b + b\right)}\right) - \log \left(\left(e^{b} \cdot e^{b} - e^{a} \cdot e^{b}\right) + e^{a} \cdot e^{a}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;e^{\left(a - b\right) \cdot \frac{1}{2} - \log 2}\\
\end{array}double f(double a, double b) {
double r60797648 = a;
double r60797649 = exp(r60797648);
double r60797650 = b;
double r60797651 = exp(r60797650);
double r60797652 = r60797649 + r60797651;
double r60797653 = r60797649 / r60797652;
return r60797653;
}
double f(double a, double b) {
double r60797654 = b;
double r60797655 = 234.44819139131235;
bool r60797656 = r60797654 <= r60797655;
double r60797657 = a;
double r60797658 = exp(r60797657);
double r60797659 = r60797658 * r60797658;
double r60797660 = r60797658 * r60797659;
double r60797661 = r60797654 + r60797654;
double r60797662 = r60797654 + r60797661;
double r60797663 = exp(r60797662);
double r60797664 = r60797660 + r60797663;
double r60797665 = log(r60797664);
double r60797666 = exp(r60797654);
double r60797667 = r60797666 * r60797666;
double r60797668 = r60797658 * r60797666;
double r60797669 = r60797667 - r60797668;
double r60797670 = r60797669 + r60797659;
double r60797671 = log(r60797670);
double r60797672 = r60797665 - r60797671;
double r60797673 = r60797657 - r60797672;
double r60797674 = exp(r60797673);
double r60797675 = r60797657 - r60797654;
double r60797676 = 0.5;
double r60797677 = r60797675 * r60797676;
double r60797678 = 2.0;
double r60797679 = log(r60797678);
double r60797680 = r60797677 - r60797679;
double r60797681 = exp(r60797680);
double r60797682 = r60797656 ? r60797674 : r60797681;
return r60797682;
}




Bits error versus a




Bits error versus b
Results
| Original | 0.8 |
|---|---|
| Target | 0.0 |
| Herbie | 0.7 |
if b < 234.44819139131235Initial program 0.8
rmApplied add-exp-log0.8
Applied div-exp0.9
rmApplied flip3-+0.9
Applied log-div0.9
Simplified0.9
if 234.44819139131235 < b Initial program 0.5
rmApplied add-exp-log0.5
Applied div-exp0
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.7
herbie shell --seed 2019120
(FPCore (a b)
:name "Quotient of sum of exps"
:herbie-target
(/ 1 (+ 1 (exp (- b a))))
(/ (exp a) (+ (exp a) (exp b))))