\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 4.246640781335346 \cdot 10^{+79}:\\
\;\;\;\;\frac{e^{\log \left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right)}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r3550879 = alpha;
double r3550880 = beta;
double r3550881 = r3550879 + r3550880;
double r3550882 = r3550880 - r3550879;
double r3550883 = r3550881 * r3550882;
double r3550884 = 2.0;
double r3550885 = i;
double r3550886 = r3550884 * r3550885;
double r3550887 = r3550881 + r3550886;
double r3550888 = r3550883 / r3550887;
double r3550889 = 2.0;
double r3550890 = r3550887 + r3550889;
double r3550891 = r3550888 / r3550890;
double r3550892 = 1.0;
double r3550893 = r3550891 + r3550892;
double r3550894 = r3550893 / r3550889;
return r3550894;
}
double f(double alpha, double beta, double i) {
double r3550895 = alpha;
double r3550896 = 4.246640781335346e+79;
bool r3550897 = r3550895 <= r3550896;
double r3550898 = beta;
double r3550899 = r3550898 - r3550895;
double r3550900 = r3550898 + r3550895;
double r3550901 = 2.0;
double r3550902 = i;
double r3550903 = r3550901 * r3550902;
double r3550904 = r3550900 + r3550903;
double r3550905 = r3550899 / r3550904;
double r3550906 = 2.0;
double r3550907 = r3550906 + r3550904;
double r3550908 = r3550905 / r3550907;
double r3550909 = r3550908 * r3550900;
double r3550910 = 1.0;
double r3550911 = r3550909 + r3550910;
double r3550912 = log(r3550911);
double r3550913 = exp(r3550912);
double r3550914 = r3550913 / r3550906;
double r3550915 = 8.0;
double r3550916 = r3550895 * r3550895;
double r3550917 = r3550895 * r3550916;
double r3550918 = r3550915 / r3550917;
double r3550919 = r3550906 / r3550895;
double r3550920 = 4.0;
double r3550921 = r3550920 / r3550916;
double r3550922 = r3550919 - r3550921;
double r3550923 = r3550918 + r3550922;
double r3550924 = r3550923 / r3550906;
double r3550925 = r3550897 ? r3550914 : r3550924;
return r3550925;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.246640781335346e+79Initial program 12.4
rmApplied *-un-lft-identity12.4
Applied *-un-lft-identity12.4
Applied distribute-lft-out12.4
Applied *-un-lft-identity12.4
Applied times-frac2.3
Applied times-frac2.3
Simplified2.3
rmApplied add-exp-log2.3
if 4.246640781335346e+79 < alpha Initial program 55.9
Taylor expanded around -inf 41.6
Simplified41.6
Final simplification12.4
herbie shell --seed 2019151
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1) (> beta -1) (> i 0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))