\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}\;\beta \le 2.8825254003061073 \cdot 10^{+127}:\\
\;\;\;\;\sqrt{\frac{\frac{1.0 + \left(\mathsf{fma}\left(\beta, \alpha, \alpha\right) + \beta\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}} \cdot \frac{\sqrt{\frac{\frac{1.0 + \left(\mathsf{fma}\left(\beta, \alpha, \alpha\right) + \beta\right)}{2 + \left(\beta + \alpha\right)}}{2 + \left(\beta + \alpha\right)}}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\mathsf{fma}\left(2.0, \frac{1}{\beta \cdot \beta}, 1\right) - 1.0 \cdot \frac{1}{\beta}}{2 + \left(\beta + \alpha\right)}}{\left(2 + \left(\beta + \alpha\right)\right) + 1.0}\\
\end{array}double f(double alpha, double beta) {
double r6675046 = alpha;
double r6675047 = beta;
double r6675048 = r6675046 + r6675047;
double r6675049 = r6675047 * r6675046;
double r6675050 = r6675048 + r6675049;
double r6675051 = 1.0;
double r6675052 = r6675050 + r6675051;
double r6675053 = 2.0;
double r6675054 = 1.0;
double r6675055 = r6675053 * r6675054;
double r6675056 = r6675048 + r6675055;
double r6675057 = r6675052 / r6675056;
double r6675058 = r6675057 / r6675056;
double r6675059 = r6675056 + r6675051;
double r6675060 = r6675058 / r6675059;
return r6675060;
}
double f(double alpha, double beta) {
double r6675061 = beta;
double r6675062 = 2.8825254003061073e+127;
bool r6675063 = r6675061 <= r6675062;
double r6675064 = 1.0;
double r6675065 = alpha;
double r6675066 = fma(r6675061, r6675065, r6675065);
double r6675067 = r6675066 + r6675061;
double r6675068 = r6675064 + r6675067;
double r6675069 = 2.0;
double r6675070 = r6675061 + r6675065;
double r6675071 = r6675069 + r6675070;
double r6675072 = r6675068 / r6675071;
double r6675073 = r6675072 / r6675071;
double r6675074 = sqrt(r6675073);
double r6675075 = r6675071 + r6675064;
double r6675076 = r6675074 / r6675075;
double r6675077 = r6675074 * r6675076;
double r6675078 = 2.0;
double r6675079 = 1.0;
double r6675080 = r6675061 * r6675061;
double r6675081 = r6675079 / r6675080;
double r6675082 = fma(r6675078, r6675081, r6675079);
double r6675083 = r6675079 / r6675061;
double r6675084 = r6675064 * r6675083;
double r6675085 = r6675082 - r6675084;
double r6675086 = r6675085 / r6675071;
double r6675087 = r6675086 / r6675075;
double r6675088 = r6675063 ? r6675077 : r6675087;
return r6675088;
}



Bits error versus alpha



Bits error versus beta
if beta < 2.8825254003061073e+127Initial program 0.9
Simplified0.9
rmApplied *-un-lft-identity0.9
Applied *-un-lft-identity0.9
Applied *-un-lft-identity0.9
Applied distribute-lft-out0.9
Applied *-un-lft-identity0.9
Applied distribute-lft-out0.9
Applied distribute-lft-out0.9
Applied add-sqr-sqrt1.0
Applied times-frac1.0
if 2.8825254003061073e+127 < beta Initial program 14.9
Simplified14.9
Taylor expanded around -inf 8.9
Simplified8.9
Final simplification2.5
herbie shell --seed 2019135 +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)))