\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.5412307314962603 \cdot 10^{80}:\\
\;\;\;\;\frac{\frac{1}{\frac{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}{\beta - \alpha}} \cdot \left(\frac{\alpha + \beta}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot i}\right) + 1}{2}\\
\mathbf{elif}\;\alpha \le 2.2620742697831166 \cdot 10^{119}:\\
\;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\
\mathbf{elif}\;\alpha \le 2.135954177821433 \cdot 10^{197}:\\
\;\;\;\;\frac{\left(\frac{\sqrt[3]{\alpha + \beta} \cdot \sqrt[3]{\alpha + \beta}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{1}{\sqrt[3]{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \sqrt[3]{\left(\alpha + \beta\right) + 2 \cdot i}}\right) \cdot \left(\frac{\sqrt[3]{\alpha + \beta}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\beta - \alpha}{\sqrt[3]{\left(\alpha + \beta\right) + 2 \cdot i}}\right) + 1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r171650 = alpha;
double r171651 = beta;
double r171652 = r171650 + r171651;
double r171653 = r171651 - r171650;
double r171654 = r171652 * r171653;
double r171655 = 2.0;
double r171656 = i;
double r171657 = r171655 * r171656;
double r171658 = r171652 + r171657;
double r171659 = r171654 / r171658;
double r171660 = r171658 + r171655;
double r171661 = r171659 / r171660;
double r171662 = 1.0;
double r171663 = r171661 + r171662;
double r171664 = r171663 / r171655;
return r171664;
}
double f(double alpha, double beta, double i) {
double r171665 = alpha;
double r171666 = 1.5412307314962603e+80;
bool r171667 = r171665 <= r171666;
double r171668 = 1.0;
double r171669 = beta;
double r171670 = r171665 + r171669;
double r171671 = 2.0;
double r171672 = i;
double r171673 = r171671 * r171672;
double r171674 = r171670 + r171673;
double r171675 = r171674 + r171671;
double r171676 = sqrt(r171675);
double r171677 = r171669 - r171665;
double r171678 = r171676 / r171677;
double r171679 = r171668 / r171678;
double r171680 = r171670 / r171676;
double r171681 = r171668 / r171674;
double r171682 = r171680 * r171681;
double r171683 = r171679 * r171682;
double r171684 = 1.0;
double r171685 = r171683 + r171684;
double r171686 = r171685 / r171671;
double r171687 = 2.2620742697831166e+119;
bool r171688 = r171665 <= r171687;
double r171689 = r171668 / r171665;
double r171690 = r171671 * r171689;
double r171691 = 8.0;
double r171692 = 3.0;
double r171693 = pow(r171665, r171692);
double r171694 = r171668 / r171693;
double r171695 = r171691 * r171694;
double r171696 = r171690 + r171695;
double r171697 = 4.0;
double r171698 = 2.0;
double r171699 = pow(r171665, r171698);
double r171700 = r171668 / r171699;
double r171701 = r171697 * r171700;
double r171702 = r171696 - r171701;
double r171703 = r171702 / r171671;
double r171704 = 2.135954177821433e+197;
bool r171705 = r171665 <= r171704;
double r171706 = cbrt(r171670);
double r171707 = r171706 * r171706;
double r171708 = r171707 / r171676;
double r171709 = cbrt(r171674);
double r171710 = r171709 * r171709;
double r171711 = r171668 / r171710;
double r171712 = r171708 * r171711;
double r171713 = r171706 / r171676;
double r171714 = r171677 / r171709;
double r171715 = r171713 * r171714;
double r171716 = r171712 * r171715;
double r171717 = r171716 + r171684;
double r171718 = r171717 / r171671;
double r171719 = r171705 ? r171718 : r171703;
double r171720 = r171688 ? r171703 : r171719;
double r171721 = r171667 ? r171686 : r171720;
return r171721;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.5412307314962603e+80Initial program 14.1
rmApplied *-un-lft-identity14.1
Applied times-frac2.6
Applied associate-/l*2.6
rmApplied div-inv2.6
Applied add-sqr-sqrt2.6
Applied times-frac8.6
Applied *-un-lft-identity8.6
Applied *-un-lft-identity8.6
Applied times-frac8.6
Applied times-frac8.6
Simplified8.6
Simplified2.7
if 1.5412307314962603e+80 < alpha < 2.2620742697831166e+119 or 2.135954177821433e+197 < alpha Initial program 57.7
Taylor expanded around inf 42.0
if 2.2620742697831166e+119 < alpha < 2.135954177821433e+197Initial program 55.1
rmApplied *-un-lft-identity55.1
Applied times-frac38.2
Applied associate-/l*38.2
rmApplied add-cube-cbrt38.3
Applied *-un-lft-identity38.3
Applied times-frac38.2
Applied add-sqr-sqrt38.3
Applied times-frac40.0
Applied add-cube-cbrt40.1
Applied times-frac40.0
Simplified38.3
Simplified38.3
Final simplification12.0
herbie shell --seed 2020056
(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))