\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 1.3451371616542299 \cdot 10^{+213}:\\
\;\;\;\;\frac{\log \left(e^{1.0 + \left(\left(\beta + \alpha\right) \cdot \frac{1}{\sqrt{2.0 + \left(i \cdot 2 + \left(\beta + \alpha\right)\right)}}\right) \cdot \frac{\frac{\beta - \alpha}{i \cdot 2 + \left(\beta + \alpha\right)}}{\sqrt{2.0 + \left(i \cdot 2 + \left(\beta + \alpha\right)\right)}}}\right)}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2.0}{\alpha} + \left(\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r2106768 = alpha;
double r2106769 = beta;
double r2106770 = r2106768 + r2106769;
double r2106771 = r2106769 - r2106768;
double r2106772 = r2106770 * r2106771;
double r2106773 = 2.0;
double r2106774 = i;
double r2106775 = r2106773 * r2106774;
double r2106776 = r2106770 + r2106775;
double r2106777 = r2106772 / r2106776;
double r2106778 = 2.0;
double r2106779 = r2106776 + r2106778;
double r2106780 = r2106777 / r2106779;
double r2106781 = 1.0;
double r2106782 = r2106780 + r2106781;
double r2106783 = r2106782 / r2106778;
return r2106783;
}
double f(double alpha, double beta, double i) {
double r2106784 = alpha;
double r2106785 = 1.3451371616542299e+213;
bool r2106786 = r2106784 <= r2106785;
double r2106787 = 1.0;
double r2106788 = beta;
double r2106789 = r2106788 + r2106784;
double r2106790 = 1.0;
double r2106791 = 2.0;
double r2106792 = i;
double r2106793 = 2.0;
double r2106794 = r2106792 * r2106793;
double r2106795 = r2106794 + r2106789;
double r2106796 = r2106791 + r2106795;
double r2106797 = sqrt(r2106796);
double r2106798 = r2106790 / r2106797;
double r2106799 = r2106789 * r2106798;
double r2106800 = r2106788 - r2106784;
double r2106801 = r2106800 / r2106795;
double r2106802 = r2106801 / r2106797;
double r2106803 = r2106799 * r2106802;
double r2106804 = r2106787 + r2106803;
double r2106805 = exp(r2106804);
double r2106806 = log(r2106805);
double r2106807 = r2106806 / r2106791;
double r2106808 = r2106791 / r2106784;
double r2106809 = 8.0;
double r2106810 = r2106784 * r2106784;
double r2106811 = r2106784 * r2106810;
double r2106812 = r2106809 / r2106811;
double r2106813 = 4.0;
double r2106814 = r2106813 / r2106810;
double r2106815 = r2106812 - r2106814;
double r2106816 = r2106808 + r2106815;
double r2106817 = r2106816 / r2106791;
double r2106818 = r2106786 ? r2106807 : r2106817;
return r2106818;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.3451371616542299e+213Initial program 19.2
rmApplied *-un-lft-identity19.2
Applied *-un-lft-identity19.2
Applied times-frac7.6
Applied times-frac7.6
Simplified7.6
rmApplied add-log-exp7.6
rmApplied add-sqr-sqrt7.6
Applied *-un-lft-identity7.6
Applied times-frac7.6
Applied associate-*r*7.6
if 1.3451371616542299e+213 < alpha Initial program 63.2
rmApplied *-un-lft-identity63.2
Applied *-un-lft-identity63.2
Applied times-frac51.8
Applied times-frac51.9
Simplified51.9
rmApplied add-log-exp51.9
Taylor expanded around inf 41.6
Simplified41.6
Final simplification11.1
herbie shell --seed 2019154
(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))