\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 3.948042311878287 \cdot 10^{+161}:\\
\;\;\;\;\frac{\frac{\sqrt{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}}{\sqrt{\left(\beta + \alpha\right) + 2}}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\frac{\sqrt{\frac{1.0 + \left(\beta \cdot \alpha + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2}}}{\sqrt{\left(\beta + \alpha\right) + 2}}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(0.25, \alpha, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\left(\beta + \alpha\right) \cdot \left(\beta + \alpha\right) - 4}}{\frac{1.0 + \left(\left(\beta + \alpha\right) + 2\right)}{\left(\beta + \alpha\right) - 2}}\\
\end{array}double f(double alpha, double beta) {
double r3235114 = alpha;
double r3235115 = beta;
double r3235116 = r3235114 + r3235115;
double r3235117 = r3235115 * r3235114;
double r3235118 = r3235116 + r3235117;
double r3235119 = 1.0;
double r3235120 = r3235118 + r3235119;
double r3235121 = 2.0;
double r3235122 = 1.0;
double r3235123 = r3235121 * r3235122;
double r3235124 = r3235116 + r3235123;
double r3235125 = r3235120 / r3235124;
double r3235126 = r3235125 / r3235124;
double r3235127 = r3235124 + r3235119;
double r3235128 = r3235126 / r3235127;
return r3235128;
}
double f(double alpha, double beta) {
double r3235129 = alpha;
double r3235130 = 3.948042311878287e+161;
bool r3235131 = r3235129 <= r3235130;
double r3235132 = 1.0;
double r3235133 = beta;
double r3235134 = r3235133 * r3235129;
double r3235135 = r3235133 + r3235129;
double r3235136 = r3235134 + r3235135;
double r3235137 = r3235132 + r3235136;
double r3235138 = 2.0;
double r3235139 = r3235135 + r3235138;
double r3235140 = r3235137 / r3235139;
double r3235141 = sqrt(r3235140);
double r3235142 = sqrt(r3235139);
double r3235143 = r3235141 / r3235142;
double r3235144 = r3235132 + r3235139;
double r3235145 = r3235144 / r3235143;
double r3235146 = r3235143 / r3235145;
double r3235147 = 0.25;
double r3235148 = 0.5;
double r3235149 = fma(r3235133, r3235147, r3235148);
double r3235150 = fma(r3235147, r3235129, r3235149);
double r3235151 = r3235135 * r3235135;
double r3235152 = 4.0;
double r3235153 = r3235151 - r3235152;
double r3235154 = r3235150 / r3235153;
double r3235155 = r3235135 - r3235138;
double r3235156 = r3235144 / r3235155;
double r3235157 = r3235154 / r3235156;
double r3235158 = r3235131 ? r3235146 : r3235157;
return r3235158;
}



Bits error versus alpha



Bits error versus beta
if alpha < 3.948042311878287e+161Initial program 1.3
rmApplied add-sqr-sqrt1.8
Applied add-sqr-sqrt1.4
Applied times-frac1.4
Applied associate-/l*1.4
if 3.948042311878287e+161 < alpha Initial program 15.6
rmApplied flip-+16.9
Applied associate-/r/16.9
Applied associate-/l*16.9
Taylor expanded around 0 7.7
Simplified7.7
Final simplification2.4
herbie shell --seed 2019164 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))