\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.122198996219649609537425094896224625125 \cdot 10^{166}:\\
\;\;\;\;\frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} \cdot \frac{\frac{1}{\sqrt{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}{\frac{\beta \cdot \alpha + i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}}}{\sqrt{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}{\frac{\beta \cdot \alpha + i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r15219638 = i;
double r15219639 = alpha;
double r15219640 = beta;
double r15219641 = r15219639 + r15219640;
double r15219642 = r15219641 + r15219638;
double r15219643 = r15219638 * r15219642;
double r15219644 = r15219640 * r15219639;
double r15219645 = r15219644 + r15219643;
double r15219646 = r15219643 * r15219645;
double r15219647 = 2.0;
double r15219648 = r15219647 * r15219638;
double r15219649 = r15219641 + r15219648;
double r15219650 = r15219649 * r15219649;
double r15219651 = r15219646 / r15219650;
double r15219652 = 1.0;
double r15219653 = r15219650 - r15219652;
double r15219654 = r15219651 / r15219653;
return r15219654;
}
double f(double alpha, double beta, double i) {
double r15219655 = alpha;
double r15219656 = 1.1221989962196496e+166;
bool r15219657 = r15219655 <= r15219656;
double r15219658 = i;
double r15219659 = beta;
double r15219660 = r15219655 + r15219659;
double r15219661 = r15219658 + r15219660;
double r15219662 = r15219658 * r15219661;
double r15219663 = 2.0;
double r15219664 = r15219663 * r15219658;
double r15219665 = r15219660 + r15219664;
double r15219666 = r15219662 / r15219665;
double r15219667 = 1.0;
double r15219668 = sqrt(r15219667);
double r15219669 = r15219668 + r15219665;
double r15219670 = r15219666 / r15219669;
double r15219671 = 1.0;
double r15219672 = r15219665 - r15219668;
double r15219673 = r15219659 * r15219655;
double r15219674 = r15219673 + r15219662;
double r15219675 = r15219674 / r15219665;
double r15219676 = r15219672 / r15219675;
double r15219677 = sqrt(r15219676);
double r15219678 = r15219671 / r15219677;
double r15219679 = r15219678 / r15219677;
double r15219680 = r15219670 * r15219679;
double r15219681 = 0.0;
double r15219682 = r15219657 ? r15219680 : r15219681;
return r15219682;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.1221989962196496e+166Initial program 52.3
rmApplied add-sqr-sqrt52.3
Applied difference-of-squares52.3
Applied times-frac36.5
Applied times-frac35.0
rmApplied clear-num35.0
rmApplied add-sqr-sqrt35.0
Applied associate-/r*35.0
if 1.1221989962196496e+166 < alpha Initial program 64.0
Taylor expanded around inf 47.1
Final simplification36.9
herbie shell --seed 2019168
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 1.0))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i)))) (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0)))