\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 9.65511625266840693009196306264539464884 \cdot 10^{212}:\\
\;\;\;\;\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{\left(\frac{8}{\alpha \cdot \left(\alpha \cdot \alpha\right)} - \frac{4}{\alpha \cdot \alpha}\right) + \frac{2}{\alpha}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r5003448 = alpha;
double r5003449 = beta;
double r5003450 = r5003448 + r5003449;
double r5003451 = r5003449 - r5003448;
double r5003452 = r5003450 * r5003451;
double r5003453 = 2.0;
double r5003454 = i;
double r5003455 = r5003453 * r5003454;
double r5003456 = r5003450 + r5003455;
double r5003457 = r5003452 / r5003456;
double r5003458 = r5003456 + r5003453;
double r5003459 = r5003457 / r5003458;
double r5003460 = 1.0;
double r5003461 = r5003459 + r5003460;
double r5003462 = r5003461 / r5003453;
return r5003462;
}
double f(double alpha, double beta, double i) {
double r5003463 = alpha;
double r5003464 = 9.655116252668407e+212;
bool r5003465 = r5003463 <= r5003464;
double r5003466 = beta;
double r5003467 = r5003466 - r5003463;
double r5003468 = i;
double r5003469 = 2.0;
double r5003470 = r5003468 * r5003469;
double r5003471 = r5003466 + r5003463;
double r5003472 = r5003470 + r5003471;
double r5003473 = r5003467 / r5003472;
double r5003474 = r5003469 + r5003472;
double r5003475 = sqrt(r5003474);
double r5003476 = r5003473 / r5003475;
double r5003477 = r5003476 / r5003475;
double r5003478 = r5003477 * r5003471;
double r5003479 = 1.0;
double r5003480 = r5003478 + r5003479;
double r5003481 = r5003480 / r5003469;
double r5003482 = 8.0;
double r5003483 = r5003463 * r5003463;
double r5003484 = r5003463 * r5003483;
double r5003485 = r5003482 / r5003484;
double r5003486 = 4.0;
double r5003487 = r5003486 / r5003483;
double r5003488 = r5003485 - r5003487;
double r5003489 = r5003469 / r5003463;
double r5003490 = r5003488 + r5003489;
double r5003491 = r5003490 / r5003469;
double r5003492 = r5003465 ? r5003481 : r5003491;
return r5003492;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 9.655116252668407e+212Initial program 19.4
rmApplied *-un-lft-identity19.4
Applied *-un-lft-identity19.4
Applied times-frac7.9
Applied times-frac7.9
Simplified7.9
rmApplied add-sqr-sqrt7.9
Applied associate-/r*7.9
if 9.655116252668407e+212 < alpha Initial program 64.0
Taylor expanded around inf 41.9
Simplified41.9
Final simplification11.3
herbie shell --seed 2019170
(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))