\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}\;\beta \le 8.062523904888540452301986752113315617235 \cdot 10^{212}:\\
\;\;\;\;\left(\frac{\sqrt{\frac{\sqrt{i \cdot \left(\left(i + \alpha\right) + \beta\right) + \alpha \cdot \beta}}{\sqrt{i \cdot 2 + \left(\beta + \alpha\right)}}}}{\frac{1}{\frac{\left(i + \alpha\right) + \beta}{i \cdot 2 + \left(\beta + \alpha\right)}}} \cdot \frac{\sqrt{\frac{i \cdot \left(\left(i + \alpha\right) + \beta\right) + \alpha \cdot \beta}{i \cdot 2 + \left(\beta + \alpha\right)}}}{\frac{\left(i \cdot 2 + \left(\beta + \alpha\right)\right) - \sqrt{1}}{i}}\right) \cdot \frac{\sqrt{\frac{\sqrt{i \cdot \left(\left(i + \alpha\right) + \beta\right) + \alpha \cdot \beta}}{\sqrt{\alpha + \left(\beta + i \cdot 2\right)}}}}{\left(\left(\sqrt{1} + \alpha\right) + \beta\right) + i \cdot 2}\\
\mathbf{else}:\\
\;\;\;\;\frac{i}{\frac{\left(\alpha + \left(\beta + i \cdot 2\right)\right) \cdot \left(\alpha + \left(\beta + i \cdot 2\right)\right) - 1}{i \cdot \frac{i + \left(\beta + \alpha\right)}{\alpha + \left(\beta + i \cdot 2\right)}}}\\
\end{array}double f(double alpha, double beta, double i) {
double r187662 = i;
double r187663 = alpha;
double r187664 = beta;
double r187665 = r187663 + r187664;
double r187666 = r187665 + r187662;
double r187667 = r187662 * r187666;
double r187668 = r187664 * r187663;
double r187669 = r187668 + r187667;
double r187670 = r187667 * r187669;
double r187671 = 2.0;
double r187672 = r187671 * r187662;
double r187673 = r187665 + r187672;
double r187674 = r187673 * r187673;
double r187675 = r187670 / r187674;
double r187676 = 1.0;
double r187677 = r187674 - r187676;
double r187678 = r187675 / r187677;
return r187678;
}
double f(double alpha, double beta, double i) {
double r187679 = beta;
double r187680 = 8.06252390488854e+212;
bool r187681 = r187679 <= r187680;
double r187682 = i;
double r187683 = alpha;
double r187684 = r187682 + r187683;
double r187685 = r187684 + r187679;
double r187686 = r187682 * r187685;
double r187687 = r187683 * r187679;
double r187688 = r187686 + r187687;
double r187689 = sqrt(r187688);
double r187690 = 2.0;
double r187691 = r187682 * r187690;
double r187692 = r187679 + r187683;
double r187693 = r187691 + r187692;
double r187694 = sqrt(r187693);
double r187695 = r187689 / r187694;
double r187696 = sqrt(r187695);
double r187697 = 1.0;
double r187698 = r187685 / r187693;
double r187699 = r187697 / r187698;
double r187700 = r187696 / r187699;
double r187701 = r187688 / r187693;
double r187702 = sqrt(r187701);
double r187703 = 1.0;
double r187704 = sqrt(r187703);
double r187705 = r187693 - r187704;
double r187706 = r187705 / r187682;
double r187707 = r187702 / r187706;
double r187708 = r187700 * r187707;
double r187709 = r187679 + r187691;
double r187710 = r187683 + r187709;
double r187711 = sqrt(r187710);
double r187712 = r187689 / r187711;
double r187713 = sqrt(r187712);
double r187714 = r187704 + r187683;
double r187715 = r187714 + r187679;
double r187716 = r187715 + r187691;
double r187717 = r187713 / r187716;
double r187718 = r187708 * r187717;
double r187719 = r187710 * r187710;
double r187720 = r187719 - r187703;
double r187721 = r187682 + r187692;
double r187722 = r187721 / r187710;
double r187723 = r187682 * r187722;
double r187724 = r187720 / r187723;
double r187725 = r187682 / r187724;
double r187726 = r187681 ? r187718 : r187725;
return r187726;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 8.06252390488854e+212Initial program 52.2
Simplified37.6
rmApplied add-sqr-sqrt37.6
Applied difference-of-squares37.6
Applied times-frac36.1
Applied add-sqr-sqrt36.3
Applied times-frac35.6
Simplified35.6
Simplified35.6
rmApplied div-inv35.6
Applied add-sqr-sqrt35.5
Applied add-sqr-sqrt35.5
Applied times-frac35.5
Applied sqrt-prod35.6
Applied times-frac35.6
Applied associate-*l*35.6
Simplified35.6
if 8.06252390488854e+212 < beta Initial program 64.0
Simplified57.5
Taylor expanded around inf 44.0
Final simplification36.5
herbie shell --seed 2019194
(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)))