\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 3.506577613804887599993152702825953278155 \cdot 10^{145}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{\sqrt[3]{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \sqrt[3]{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}} \cdot \frac{\alpha + \beta}{\sqrt[3]{\sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}} \cdot \sqrt[3]{\sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{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 r6971833 = alpha;
double r6971834 = beta;
double r6971835 = r6971833 + r6971834;
double r6971836 = r6971834 - r6971833;
double r6971837 = r6971835 * r6971836;
double r6971838 = 2.0;
double r6971839 = i;
double r6971840 = r6971838 * r6971839;
double r6971841 = r6971835 + r6971840;
double r6971842 = r6971837 / r6971841;
double r6971843 = r6971841 + r6971838;
double r6971844 = r6971842 / r6971843;
double r6971845 = 1.0;
double r6971846 = r6971844 + r6971845;
double r6971847 = r6971846 / r6971838;
return r6971847;
}
double f(double alpha, double beta, double i) {
double r6971848 = alpha;
double r6971849 = 3.5065776138048876e+145;
bool r6971850 = r6971848 <= r6971849;
double r6971851 = 1.0;
double r6971852 = 2.0;
double r6971853 = i;
double r6971854 = beta;
double r6971855 = r6971848 + r6971854;
double r6971856 = fma(r6971852, r6971853, r6971855);
double r6971857 = r6971852 + r6971856;
double r6971858 = cbrt(r6971857);
double r6971859 = r6971858 * r6971858;
double r6971860 = r6971851 / r6971859;
double r6971861 = sqrt(r6971857);
double r6971862 = cbrt(r6971861);
double r6971863 = r6971862 * r6971862;
double r6971864 = r6971855 / r6971863;
double r6971865 = r6971860 * r6971864;
double r6971866 = r6971854 - r6971848;
double r6971867 = r6971866 / r6971856;
double r6971868 = 1.0;
double r6971869 = fma(r6971865, r6971867, r6971868);
double r6971870 = r6971869 / r6971852;
double r6971871 = 8.0;
double r6971872 = r6971848 * r6971848;
double r6971873 = r6971848 * r6971872;
double r6971874 = r6971871 / r6971873;
double r6971875 = 4.0;
double r6971876 = r6971875 / r6971872;
double r6971877 = r6971874 - r6971876;
double r6971878 = r6971852 / r6971848;
double r6971879 = r6971877 + r6971878;
double r6971880 = r6971879 / r6971852;
double r6971881 = r6971850 ? r6971870 : r6971880;
return r6971881;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 3.5065776138048876e+145Initial program 16.3
Simplified5.4
rmApplied add-cube-cbrt5.5
Applied *-un-lft-identity5.5
Applied times-frac5.5
rmApplied add-sqr-sqrt5.5
Applied cbrt-prod5.5
if 3.5065776138048876e+145 < alpha Initial program 63.3
Simplified46.6
Taylor expanded around inf 41.7
Simplified41.7
Final simplification11.9
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))