\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} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.857471580661007580128468637249079462587 \cdot 10^{202}:\\
\;\;\;\;\frac{\frac{\frac{\frac{\beta - \alpha}{i \cdot 2 + \left(\beta + \alpha\right)}}{\sqrt{2 + \left(i \cdot 2 + \left(\beta + \alpha\right)\right)}}}{\sqrt{2 + \left(i \cdot 2 + \left(\beta + \alpha\right)\right)}} \cdot \left(\beta + \alpha\right) + 1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{8}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r6079090 = alpha;
double r6079091 = beta;
double r6079092 = r6079090 + r6079091;
double r6079093 = r6079091 - r6079090;
double r6079094 = r6079092 * r6079093;
double r6079095 = 2.0;
double r6079096 = i;
double r6079097 = r6079095 * r6079096;
double r6079098 = r6079092 + r6079097;
double r6079099 = r6079094 / r6079098;
double r6079100 = r6079098 + r6079095;
double r6079101 = r6079099 / r6079100;
double r6079102 = 1.0;
double r6079103 = r6079101 + r6079102;
double r6079104 = r6079103 / r6079095;
return r6079104;
}
double f(double alpha, double beta, double i) {
double r6079105 = alpha;
double r6079106 = 1.8574715806610076e+202;
bool r6079107 = r6079105 <= r6079106;
double r6079108 = beta;
double r6079109 = r6079108 - r6079105;
double r6079110 = i;
double r6079111 = 2.0;
double r6079112 = r6079110 * r6079111;
double r6079113 = r6079108 + r6079105;
double r6079114 = r6079112 + r6079113;
double r6079115 = r6079109 / r6079114;
double r6079116 = r6079111 + r6079114;
double r6079117 = sqrt(r6079116);
double r6079118 = r6079115 / r6079117;
double r6079119 = r6079118 / r6079117;
double r6079120 = r6079119 * r6079113;
double r6079121 = 1.0;
double r6079122 = r6079120 + r6079121;
double r6079123 = r6079122 / r6079111;
double r6079124 = 8.0;
double r6079125 = r6079105 * r6079105;
double r6079126 = r6079105 * r6079125;
double r6079127 = r6079124 / r6079126;
double r6079128 = r6079111 / r6079105;
double r6079129 = 4.0;
double r6079130 = r6079129 / r6079125;
double r6079131 = r6079128 - r6079130;
double r6079132 = r6079127 + r6079131;
double r6079133 = r6079132 / r6079111;
double r6079134 = r6079107 ? r6079123 : r6079133;
return r6079134;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.8574715806610076e+202Initial program 19.3
rmApplied *-un-lft-identity19.3
Applied *-un-lft-identity19.3
Applied times-frac7.7
Applied times-frac7.7
Simplified7.7
rmApplied add-sqr-sqrt7.7
Applied associate-/r*7.7
if 1.8574715806610076e+202 < alpha Initial program 64.0
rmApplied *-un-lft-identity64.0
Applied *-un-lft-identity64.0
Applied times-frac50.7
Applied times-frac50.8
Simplified50.8
Taylor expanded around inf 40.8
Simplified40.8
Final simplification11.5
herbie shell --seed 2019171
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 0.0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 1.0) 2.0))