\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 3.96716655991070271 \cdot 10^{139}:\\
\;\;\;\;\frac{\frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) - 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\left(\alpha + \beta\right) - 2 \cdot i}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r215097 = alpha;
double r215098 = beta;
double r215099 = r215097 + r215098;
double r215100 = r215098 - r215097;
double r215101 = r215099 * r215100;
double r215102 = 2.0;
double r215103 = i;
double r215104 = r215102 * r215103;
double r215105 = r215099 + r215104;
double r215106 = r215101 / r215105;
double r215107 = r215105 + r215102;
double r215108 = r215106 / r215107;
double r215109 = 1.0;
double r215110 = r215108 + r215109;
double r215111 = r215110 / r215102;
return r215111;
}
double f(double alpha, double beta, double i) {
double r215112 = alpha;
double r215113 = 3.9671665599107027e+139;
bool r215114 = r215112 <= r215113;
double r215115 = beta;
double r215116 = r215112 + r215115;
double r215117 = i;
double r215118 = 2.0;
double r215119 = fma(r215117, r215118, r215116);
double r215120 = r215116 / r215119;
double r215121 = r215115 - r215112;
double r215122 = r215118 * r215117;
double r215123 = r215116 - r215122;
double r215124 = r215121 / r215123;
double r215125 = r215120 * r215124;
double r215126 = r215116 + r215122;
double r215127 = r215126 + r215118;
double r215128 = sqrt(r215127);
double r215129 = r215125 / r215128;
double r215130 = r215123 / r215128;
double r215131 = r215129 * r215130;
double r215132 = 1.0;
double r215133 = r215131 + r215132;
double r215134 = r215133 / r215118;
double r215135 = 1.0;
double r215136 = r215135 / r215112;
double r215137 = 8.0;
double r215138 = 3.0;
double r215139 = pow(r215112, r215138);
double r215140 = r215135 / r215139;
double r215141 = r215137 * r215140;
double r215142 = 4.0;
double r215143 = 2.0;
double r215144 = pow(r215112, r215143);
double r215145 = r215135 / r215144;
double r215146 = r215142 * r215145;
double r215147 = r215141 - r215146;
double r215148 = fma(r215118, r215136, r215147);
double r215149 = r215148 / r215118;
double r215150 = r215114 ? r215134 : r215149;
return r215150;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 3.9671665599107027e+139Initial program 15.6
rmApplied add-sqr-sqrt15.6
Applied flip-+17.4
Applied associate-/r/17.4
Applied times-frac17.4
Simplified4.9
if 3.9671665599107027e+139 < alpha Initial program 62.2
Taylor expanded around inf 40.7
Simplified40.7
Final simplification11.4
herbie shell --seed 2020024 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:precision binary64
:pre (and (> alpha -1) (> beta -1) (> i 0.0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2)) 1) 2))