\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 4.992243589258637039989530371711132621231 \cdot 10^{155}:\\
\;\;\;\;\frac{\left(\frac{1}{\frac{-\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}{-1}} \cdot \frac{1}{\frac{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}{\beta - \alpha}}\right) \cdot \frac{\beta + \alpha}{\left(\alpha + \beta\right) + 2 \cdot i} + 1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\alpha} + \left(\frac{8}{{\alpha}^{3}} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r171629 = alpha;
double r171630 = beta;
double r171631 = r171629 + r171630;
double r171632 = r171630 - r171629;
double r171633 = r171631 * r171632;
double r171634 = 2.0;
double r171635 = i;
double r171636 = r171634 * r171635;
double r171637 = r171631 + r171636;
double r171638 = r171633 / r171637;
double r171639 = r171637 + r171634;
double r171640 = r171638 / r171639;
double r171641 = 1.0;
double r171642 = r171640 + r171641;
double r171643 = r171642 / r171634;
return r171643;
}
double f(double alpha, double beta, double i) {
double r171644 = alpha;
double r171645 = 4.992243589258637e+155;
bool r171646 = r171644 <= r171645;
double r171647 = 1.0;
double r171648 = beta;
double r171649 = r171644 + r171648;
double r171650 = 2.0;
double r171651 = i;
double r171652 = r171650 * r171651;
double r171653 = r171649 + r171652;
double r171654 = r171653 + r171650;
double r171655 = sqrt(r171654);
double r171656 = -r171655;
double r171657 = -1.0;
double r171658 = r171656 / r171657;
double r171659 = r171647 / r171658;
double r171660 = r171648 - r171644;
double r171661 = r171655 / r171660;
double r171662 = r171647 / r171661;
double r171663 = r171659 * r171662;
double r171664 = r171648 + r171644;
double r171665 = r171664 / r171653;
double r171666 = r171663 * r171665;
double r171667 = 1.0;
double r171668 = r171666 + r171667;
double r171669 = r171668 / r171650;
double r171670 = r171650 / r171644;
double r171671 = 8.0;
double r171672 = 3.0;
double r171673 = pow(r171644, r171672);
double r171674 = r171671 / r171673;
double r171675 = 4.0;
double r171676 = r171644 * r171644;
double r171677 = r171675 / r171676;
double r171678 = r171674 - r171677;
double r171679 = r171670 + r171678;
double r171680 = r171679 / r171650;
double r171681 = r171646 ? r171669 : r171680;
return r171681;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.992243589258637e+155Initial program 15.5
rmApplied *-un-lft-identity15.5
Applied times-frac5.2
Applied associate-/l*5.2
rmApplied associate-/r/5.2
Applied add-cube-cbrt5.2
Applied *-un-lft-identity5.2
Applied times-frac5.2
Applied times-frac5.2
rmApplied frac-2neg5.2
rmApplied *-un-lft-identity5.2
Applied distribute-lft-neg-in5.2
Applied add-sqr-sqrt5.3
Applied distribute-lft-neg-in5.3
Applied times-frac5.3
Applied add-cube-cbrt5.3
Applied times-frac5.3
Applied times-frac5.3
Simplified5.3
if 4.992243589258637e+155 < alpha Initial program 64.0
Taylor expanded around inf 40.9
Simplified40.9
Final simplification11.0
herbie shell --seed 2019235
(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))