\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}\;i \le 6.8138424641898455 \cdot 10^{143}:\\
\;\;\;\;\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 \frac{\frac{\beta \cdot \alpha + 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}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{i}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\left(\alpha + \beta\right) + i}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \left(0.25 \cdot \alpha + \left(0.5 \cdot i + 0.25 \cdot \beta\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\\
\end{array}double f(double alpha, double beta, double i) {
double r143380 = i;
double r143381 = alpha;
double r143382 = beta;
double r143383 = r143381 + r143382;
double r143384 = r143383 + r143380;
double r143385 = r143380 * r143384;
double r143386 = r143382 * r143381;
double r143387 = r143386 + r143385;
double r143388 = r143385 * r143387;
double r143389 = 2.0;
double r143390 = r143389 * r143380;
double r143391 = r143383 + r143390;
double r143392 = r143391 * r143391;
double r143393 = r143388 / r143392;
double r143394 = 1.0;
double r143395 = r143392 - r143394;
double r143396 = r143393 / r143395;
return r143396;
}
double f(double alpha, double beta, double i) {
double r143397 = i;
double r143398 = 6.8138424641898455e+143;
bool r143399 = r143397 <= r143398;
double r143400 = alpha;
double r143401 = beta;
double r143402 = r143400 + r143401;
double r143403 = r143402 + r143397;
double r143404 = r143397 * r143403;
double r143405 = 2.0;
double r143406 = r143405 * r143397;
double r143407 = r143402 + r143406;
double r143408 = r143404 / r143407;
double r143409 = 1.0;
double r143410 = sqrt(r143409);
double r143411 = r143407 + r143410;
double r143412 = r143408 / r143411;
double r143413 = r143401 * r143400;
double r143414 = r143413 + r143404;
double r143415 = r143414 / r143407;
double r143416 = r143407 - r143410;
double r143417 = r143415 / r143416;
double r143418 = r143412 * r143417;
double r143419 = r143407 / r143403;
double r143420 = r143397 / r143419;
double r143421 = r143420 / r143411;
double r143422 = 0.25;
double r143423 = r143422 * r143400;
double r143424 = 0.5;
double r143425 = r143424 * r143397;
double r143426 = r143422 * r143401;
double r143427 = r143425 + r143426;
double r143428 = r143423 + r143427;
double r143429 = r143421 * r143428;
double r143430 = r143429 / r143416;
double r143431 = r143399 ? r143418 : r143430;
return r143431;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if i < 6.8138424641898455e+143Initial program 42.8
rmApplied add-sqr-sqrt42.8
Applied difference-of-squares42.8
Applied times-frac16.2
Applied times-frac11.9
if 6.8138424641898455e+143 < i Initial program 64.0
rmApplied add-sqr-sqrt64.0
Applied difference-of-squares64.0
Applied times-frac61.0
Applied times-frac61.0
rmApplied associate-*r/61.0
rmApplied associate-/l*61.0
Taylor expanded around 0 10.2
Final simplification11.0
herbie shell --seed 2020056
(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)))