\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1}\begin{array}{l}
\mathbf{if}\;\alpha \le 4.441712688807933701219879934380300457676 \cdot 10^{210}:\\
\;\;\;\;\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \left(\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r82221 = i;
double r82222 = alpha;
double r82223 = beta;
double r82224 = r82222 + r82223;
double r82225 = r82224 + r82221;
double r82226 = r82221 * r82225;
double r82227 = r82223 * r82222;
double r82228 = r82227 + r82226;
double r82229 = r82226 * r82228;
double r82230 = 2.0;
double r82231 = r82230 * r82221;
double r82232 = r82224 + r82231;
double r82233 = r82232 * r82232;
double r82234 = r82229 / r82233;
double r82235 = 1.0;
double r82236 = r82233 - r82235;
double r82237 = r82234 / r82236;
return r82237;
}
double f(double alpha, double beta, double i) {
double r82238 = alpha;
double r82239 = 4.4417126888079337e+210;
bool r82240 = r82238 <= r82239;
double r82241 = i;
double r82242 = beta;
double r82243 = r82238 + r82242;
double r82244 = r82243 + r82241;
double r82245 = r82241 * r82244;
double r82246 = 2.0;
double r82247 = r82246 * r82241;
double r82248 = r82243 + r82247;
double r82249 = r82245 / r82248;
double r82250 = 1.0;
double r82251 = sqrt(r82250);
double r82252 = r82248 + r82251;
double r82253 = r82249 / r82252;
double r82254 = r82242 * r82238;
double r82255 = r82254 + r82245;
double r82256 = r82255 / r82248;
double r82257 = 1.0;
double r82258 = r82248 - r82251;
double r82259 = r82257 / r82258;
double r82260 = r82256 * r82259;
double r82261 = r82253 * r82260;
double r82262 = 0.0;
double r82263 = r82240 ? r82261 : r82262;
return r82263;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.4417126888079337e+210Initial program 53.4
rmApplied add-sqr-sqrt53.4
Applied difference-of-squares53.4
Applied times-frac38.2
Applied times-frac35.8
rmApplied div-inv35.8
if 4.4417126888079337e+210 < alpha Initial program 64.0
Taylor expanded around inf 43.2
Final simplification36.6
herbie shell --seed 2019353
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:precision binary64
:pre (and (> alpha -1) (> beta -1) (> i 1))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1)))