\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 6.401252237322337023611530060789711214614 \cdot 10^{145}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\sqrt[3]{\beta - \alpha} \cdot \sqrt[3]{\beta - \alpha}}{\sqrt[3]{\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2} \cdot \sqrt[3]{\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2}} \cdot \frac{\frac{\sqrt[3]{\beta - \alpha}}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}}{\sqrt[3]{\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2}}, \beta + \alpha, 1\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left(\frac{8}{\left(\alpha \cdot \alpha\right) \cdot \alpha} + \frac{2}{\alpha}\right) - \frac{4}{\alpha \cdot \alpha}\right) + \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}}{\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2} \cdot \beta}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r5063780 = alpha;
double r5063781 = beta;
double r5063782 = r5063780 + r5063781;
double r5063783 = r5063781 - r5063780;
double r5063784 = r5063782 * r5063783;
double r5063785 = 2.0;
double r5063786 = i;
double r5063787 = r5063785 * r5063786;
double r5063788 = r5063782 + r5063787;
double r5063789 = r5063784 / r5063788;
double r5063790 = r5063788 + r5063785;
double r5063791 = r5063789 / r5063790;
double r5063792 = 1.0;
double r5063793 = r5063791 + r5063792;
double r5063794 = r5063793 / r5063785;
return r5063794;
}
double f(double alpha, double beta, double i) {
double r5063795 = alpha;
double r5063796 = 6.401252237322337e+145;
bool r5063797 = r5063795 <= r5063796;
double r5063798 = beta;
double r5063799 = r5063798 - r5063795;
double r5063800 = cbrt(r5063799);
double r5063801 = r5063800 * r5063800;
double r5063802 = 2.0;
double r5063803 = i;
double r5063804 = r5063798 + r5063795;
double r5063805 = fma(r5063802, r5063803, r5063804);
double r5063806 = r5063805 + r5063802;
double r5063807 = cbrt(r5063806);
double r5063808 = r5063807 * r5063807;
double r5063809 = r5063801 / r5063808;
double r5063810 = r5063800 / r5063805;
double r5063811 = r5063810 / r5063807;
double r5063812 = r5063809 * r5063811;
double r5063813 = 1.0;
double r5063814 = fma(r5063812, r5063804, r5063813);
double r5063815 = r5063814 / r5063802;
double r5063816 = 8.0;
double r5063817 = r5063795 * r5063795;
double r5063818 = r5063817 * r5063795;
double r5063819 = r5063816 / r5063818;
double r5063820 = r5063802 / r5063795;
double r5063821 = r5063819 + r5063820;
double r5063822 = 4.0;
double r5063823 = r5063822 / r5063817;
double r5063824 = r5063821 - r5063823;
double r5063825 = r5063799 / r5063805;
double r5063826 = r5063825 / r5063806;
double r5063827 = r5063826 * r5063798;
double r5063828 = r5063824 + r5063827;
double r5063829 = r5063828 / r5063802;
double r5063830 = r5063797 ? r5063815 : r5063829;
return r5063830;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 6.401252237322337e+145Initial program 16.3
Simplified5.4
rmApplied add-cube-cbrt5.6
Applied *-un-lft-identity5.6
Applied add-cube-cbrt5.5
Applied times-frac5.5
Applied times-frac5.4
if 6.401252237322337e+145 < alpha Initial program 63.3
Simplified47.3
rmApplied fma-udef46.6
rmApplied distribute-rgt-in46.6
Applied associate-+l+46.7
Taylor expanded around inf 41.2
Simplified41.2
Final simplification11.7
herbie shell --seed 2019174 +o rules:numerics
(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))