\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 5.248579992166404698947675881938820144266 \cdot 10^{165}:\\
\;\;\;\;\frac{\frac{1}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)} \cdot \frac{1 + \mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\left(\alpha + \beta\right) + 3}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r3230137 = alpha;
double r3230138 = beta;
double r3230139 = r3230137 + r3230138;
double r3230140 = r3230138 * r3230137;
double r3230141 = r3230139 + r3230140;
double r3230142 = 1.0;
double r3230143 = r3230141 + r3230142;
double r3230144 = 2.0;
double r3230145 = r3230144 * r3230142;
double r3230146 = r3230139 + r3230145;
double r3230147 = r3230143 / r3230146;
double r3230148 = r3230147 / r3230146;
double r3230149 = r3230146 + r3230142;
double r3230150 = r3230148 / r3230149;
return r3230150;
}
double f(double alpha, double beta) {
double r3230151 = alpha;
double r3230152 = 5.248579992166405e+165;
bool r3230153 = r3230151 <= r3230152;
double r3230154 = 1.0;
double r3230155 = 2.0;
double r3230156 = 1.0;
double r3230157 = beta;
double r3230158 = r3230151 + r3230157;
double r3230159 = fma(r3230155, r3230156, r3230158);
double r3230160 = r3230154 / r3230159;
double r3230161 = fma(r3230157, r3230151, r3230158);
double r3230162 = r3230156 + r3230161;
double r3230163 = r3230162 / r3230159;
double r3230164 = r3230160 * r3230163;
double r3230165 = 3.0;
double r3230166 = r3230158 + r3230165;
double r3230167 = r3230164 / r3230166;
double r3230168 = 0.0;
double r3230169 = r3230153 ? r3230167 : r3230168;
return r3230169;
}



Bits error versus alpha



Bits error versus beta
if alpha < 5.248579992166405e+165Initial program 1.4
Simplified1.4
Taylor expanded around 0 1.4
rmApplied div-inv1.4
if 5.248579992166405e+165 < alpha Initial program 15.9
Simplified15.9
Taylor expanded around inf 7.4
Final simplification2.3
herbie shell --seed 2019168 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))