\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.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 9.569473321706742 \cdot 10^{+195}:\\
\;\;\;\;\frac{e^{\sqrt[3]{\log \left(\mathsf{fma}\left(\beta + \alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(i, 2, \beta + \alpha\right)}, 1.0\right)\right) \cdot \left(\log \left(\mathsf{fma}\left(\beta + \alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(i, 2, \beta + \alpha\right)}, 1.0\right)\right) \cdot \log \left(\mathsf{fma}\left(\beta + \alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \beta + \alpha\right)}}{2.0 + \mathsf{fma}\left(i, 2, \beta + \alpha\right)}, 1.0\right)\right)\right)}}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r2954732 = alpha;
double r2954733 = beta;
double r2954734 = r2954732 + r2954733;
double r2954735 = r2954733 - r2954732;
double r2954736 = r2954734 * r2954735;
double r2954737 = 2.0;
double r2954738 = i;
double r2954739 = r2954737 * r2954738;
double r2954740 = r2954734 + r2954739;
double r2954741 = r2954736 / r2954740;
double r2954742 = 2.0;
double r2954743 = r2954740 + r2954742;
double r2954744 = r2954741 / r2954743;
double r2954745 = 1.0;
double r2954746 = r2954744 + r2954745;
double r2954747 = r2954746 / r2954742;
return r2954747;
}
double f(double alpha, double beta, double i) {
double r2954748 = alpha;
double r2954749 = 9.569473321706742e+195;
bool r2954750 = r2954748 <= r2954749;
double r2954751 = beta;
double r2954752 = r2954751 + r2954748;
double r2954753 = r2954751 - r2954748;
double r2954754 = i;
double r2954755 = 2.0;
double r2954756 = fma(r2954754, r2954755, r2954752);
double r2954757 = r2954753 / r2954756;
double r2954758 = 2.0;
double r2954759 = r2954758 + r2954756;
double r2954760 = r2954757 / r2954759;
double r2954761 = 1.0;
double r2954762 = fma(r2954752, r2954760, r2954761);
double r2954763 = log(r2954762);
double r2954764 = r2954763 * r2954763;
double r2954765 = r2954763 * r2954764;
double r2954766 = cbrt(r2954765);
double r2954767 = exp(r2954766);
double r2954768 = r2954767 / r2954758;
double r2954769 = 8.0;
double r2954770 = r2954748 * r2954748;
double r2954771 = r2954769 / r2954770;
double r2954772 = r2954771 / r2954748;
double r2954773 = r2954758 / r2954748;
double r2954774 = 4.0;
double r2954775 = r2954774 / r2954770;
double r2954776 = r2954773 - r2954775;
double r2954777 = r2954772 + r2954776;
double r2954778 = r2954777 / r2954758;
double r2954779 = r2954750 ? r2954768 : r2954778;
return r2954779;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 9.569473321706742e+195Initial program 18.6
Simplified18.6
rmApplied *-un-lft-identity18.6
Applied times-frac15.1
Applied fma-def15.1
rmApplied add-exp-log15.1
Simplified15.1
rmApplied add-cbrt-cube15.1
Simplified7.2
if 9.569473321706742e+195 < alpha Initial program 63.2
Simplified62.5
rmApplied *-un-lft-identity62.5
Applied times-frac55.9
Applied fma-def55.9
rmApplied add-exp-log55.9
Simplified55.9
Taylor expanded around -inf 41.8
Simplified41.8
Final simplification11.3
herbie shell --seed 2019139 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1) (> beta -1) (> i 0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))