\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 1.023392731950050624958832338608376266359 \cdot 10^{223}:\\
\;\;\;\;\left(\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{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}\right) \cdot \frac{1}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{0}{\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}\\
\end{array}double f(double alpha, double beta, double i) {
double r133447 = i;
double r133448 = alpha;
double r133449 = beta;
double r133450 = r133448 + r133449;
double r133451 = r133450 + r133447;
double r133452 = r133447 * r133451;
double r133453 = r133449 * r133448;
double r133454 = r133453 + r133452;
double r133455 = r133452 * r133454;
double r133456 = 2.0;
double r133457 = r133456 * r133447;
double r133458 = r133450 + r133457;
double r133459 = r133458 * r133458;
double r133460 = r133455 / r133459;
double r133461 = 1.0;
double r133462 = r133459 - r133461;
double r133463 = r133460 / r133462;
return r133463;
}
double f(double alpha, double beta, double i) {
double r133464 = alpha;
double r133465 = 1.0233927319500506e+223;
bool r133466 = r133464 <= r133465;
double r133467 = i;
double r133468 = beta;
double r133469 = r133464 + r133468;
double r133470 = r133469 + r133467;
double r133471 = r133467 * r133470;
double r133472 = 2.0;
double r133473 = r133472 * r133467;
double r133474 = r133469 + r133473;
double r133475 = r133471 / r133474;
double r133476 = 1.0;
double r133477 = sqrt(r133476);
double r133478 = r133474 + r133477;
double r133479 = r133475 / r133478;
double r133480 = r133468 * r133464;
double r133481 = r133480 + r133471;
double r133482 = r133481 / r133474;
double r133483 = r133479 * r133482;
double r133484 = 1.0;
double r133485 = r133474 - r133477;
double r133486 = r133484 / r133485;
double r133487 = r133483 * r133486;
double r133488 = 0.0;
double r133489 = r133474 * r133474;
double r133490 = r133488 / r133489;
double r133491 = r133489 - r133476;
double r133492 = r133490 / r133491;
double r133493 = r133466 ? r133487 : r133492;
return r133493;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.0233927319500506e+223Initial program 53.4
rmApplied add-sqr-sqrt53.4
Applied difference-of-squares53.4
Applied times-frac38.3
Applied times-frac36.1
rmApplied div-inv36.1
Applied associate-*r*36.1
if 1.0233927319500506e+223 < alpha Initial program 64.0
Taylor expanded around 0 41.6
Final simplification36.6
herbie shell --seed 2019298
(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)))