\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.8347442425532666 \cdot 10^{88}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\sqrt{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}} \cdot \mathsf{fma}\left(1, 2, \alpha + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(2, \frac{1}{{\alpha}^{2}}, 1 - 1 \cdot \frac{1}{\alpha}\right)}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r100138 = alpha;
double r100139 = beta;
double r100140 = r100138 + r100139;
double r100141 = r100139 * r100138;
double r100142 = r100140 + r100141;
double r100143 = 1.0;
double r100144 = r100142 + r100143;
double r100145 = 2.0;
double r100146 = r100145 * r100143;
double r100147 = r100140 + r100146;
double r100148 = r100144 / r100147;
double r100149 = r100148 / r100147;
double r100150 = r100147 + r100143;
double r100151 = r100149 / r100150;
return r100151;
}
double f(double alpha, double beta) {
double r100152 = alpha;
double r100153 = 1.8347442425532666e+88;
bool r100154 = r100152 <= r100153;
double r100155 = beta;
double r100156 = r100152 + r100155;
double r100157 = r100155 * r100152;
double r100158 = r100156 + r100157;
double r100159 = 1.0;
double r100160 = r100158 + r100159;
double r100161 = sqrt(r100160);
double r100162 = 2.0;
double r100163 = r100162 * r100159;
double r100164 = r100156 + r100163;
double r100165 = sqrt(r100164);
double r100166 = r100161 / r100165;
double r100167 = r100166 / r100165;
double r100168 = fma(r100162, r100159, r100159);
double r100169 = r100156 + r100168;
double r100170 = r100169 / r100161;
double r100171 = fma(r100159, r100162, r100156);
double r100172 = r100170 * r100171;
double r100173 = r100167 / r100172;
double r100174 = 1.0;
double r100175 = 2.0;
double r100176 = pow(r100152, r100175);
double r100177 = r100174 / r100176;
double r100178 = r100174 / r100152;
double r100179 = r100159 * r100178;
double r100180 = r100174 - r100179;
double r100181 = fma(r100162, r100177, r100180);
double r100182 = r100181 / r100164;
double r100183 = r100164 + r100159;
double r100184 = r100182 / r100183;
double r100185 = r100154 ? r100173 : r100184;
return r100185;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.8347442425532666e+88Initial program 0.5
rmApplied add-sqr-sqrt1.1
Applied add-sqr-sqrt1.5
Applied add-sqr-sqrt1.5
Applied times-frac1.5
Applied times-frac1.2
Applied associate-/l*1.2
Simplified0.6
if 1.8347442425532666e+88 < alpha Initial program 14.7
Taylor expanded around inf 10.7
Simplified10.7
Final simplification3.0
herbie shell --seed 2020003 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1)))