\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 1.706379319752007052382322079866695250682 \cdot 10^{196}:\\
\;\;\;\;\frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right) + \alpha \cdot \beta}{\left(\beta + \alpha\right) + 2 \cdot i} \cdot \frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{1} + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) - \sqrt{1}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r3477118 = i;
double r3477119 = alpha;
double r3477120 = beta;
double r3477121 = r3477119 + r3477120;
double r3477122 = r3477121 + r3477118;
double r3477123 = r3477118 * r3477122;
double r3477124 = r3477120 * r3477119;
double r3477125 = r3477124 + r3477123;
double r3477126 = r3477123 * r3477125;
double r3477127 = 2.0;
double r3477128 = r3477127 * r3477118;
double r3477129 = r3477121 + r3477128;
double r3477130 = r3477129 * r3477129;
double r3477131 = r3477126 / r3477130;
double r3477132 = 1.0;
double r3477133 = r3477130 - r3477132;
double r3477134 = r3477131 / r3477133;
return r3477134;
}
double f(double alpha, double beta, double i) {
double r3477135 = beta;
double r3477136 = 1.706379319752007e+196;
bool r3477137 = r3477135 <= r3477136;
double r3477138 = i;
double r3477139 = alpha;
double r3477140 = r3477135 + r3477139;
double r3477141 = r3477138 + r3477140;
double r3477142 = r3477138 * r3477141;
double r3477143 = r3477139 * r3477135;
double r3477144 = r3477142 + r3477143;
double r3477145 = 2.0;
double r3477146 = r3477145 * r3477138;
double r3477147 = r3477140 + r3477146;
double r3477148 = r3477144 / r3477147;
double r3477149 = r3477142 / r3477147;
double r3477150 = 1.0;
double r3477151 = sqrt(r3477150);
double r3477152 = r3477151 + r3477147;
double r3477153 = r3477149 / r3477152;
double r3477154 = r3477148 * r3477153;
double r3477155 = r3477147 - r3477151;
double r3477156 = r3477154 / r3477155;
double r3477157 = 0.0;
double r3477158 = r3477137 ? r3477156 : r3477157;
return r3477158;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 1.706379319752007e+196Initial program 53.1
rmApplied add-sqr-sqrt53.1
Applied difference-of-squares53.1
Applied times-frac37.9
Applied times-frac35.8
rmApplied associate-*r/35.8
if 1.706379319752007e+196 < beta Initial program 64.0
Taylor expanded around inf 45.7
Final simplification37.0
herbie shell --seed 2019192 +o rules:numerics
(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)))