\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.60680517543021152 \cdot 10^{177}:\\
\;\;\;\;\frac{e^{\log \left(\frac{\alpha + \beta}{\left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2\right) \cdot \frac{\left(\alpha + \beta\right) + 2 \cdot i}{\beta - \alpha}} + 1\right)}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r149241 = alpha;
double r149242 = beta;
double r149243 = r149241 + r149242;
double r149244 = r149242 - r149241;
double r149245 = r149243 * r149244;
double r149246 = 2.0;
double r149247 = i;
double r149248 = r149246 * r149247;
double r149249 = r149243 + r149248;
double r149250 = r149245 / r149249;
double r149251 = r149249 + r149246;
double r149252 = r149250 / r149251;
double r149253 = 1.0;
double r149254 = r149252 + r149253;
double r149255 = r149254 / r149246;
return r149255;
}
double f(double alpha, double beta, double i) {
double r149256 = alpha;
double r149257 = 1.6068051754302115e+177;
bool r149258 = r149256 <= r149257;
double r149259 = beta;
double r149260 = r149256 + r149259;
double r149261 = 2.0;
double r149262 = i;
double r149263 = r149261 * r149262;
double r149264 = r149260 + r149263;
double r149265 = r149264 + r149261;
double r149266 = r149259 - r149256;
double r149267 = r149264 / r149266;
double r149268 = r149265 * r149267;
double r149269 = r149260 / r149268;
double r149270 = 1.0;
double r149271 = r149269 + r149270;
double r149272 = log(r149271);
double r149273 = exp(r149272);
double r149274 = r149273 / r149261;
double r149275 = 8.0;
double r149276 = 3.0;
double r149277 = pow(r149256, r149276);
double r149278 = r149275 / r149277;
double r149279 = r149261 / r149256;
double r149280 = 4.0;
double r149281 = r149256 * r149256;
double r149282 = r149280 / r149281;
double r149283 = r149279 - r149282;
double r149284 = r149278 + r149283;
double r149285 = r149284 / r149261;
double r149286 = r149258 ? r149274 : r149285;
return r149286;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.6068051754302115e+177Initial program 17.0
rmApplied associate-/l*6.3
rmApplied associate-/l/6.3
rmApplied add-exp-log6.3
if 1.6068051754302115e+177 < alpha Initial program 64.0
rmApplied associate-/l*49.2
rmApplied associate-/l/49.2
rmApplied add-exp-log49.2
Taylor expanded around inf 42.2
Simplified42.2
Final simplification11.3
herbie shell --seed 2020045
(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))