\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 6.529674909757050223649546242132507716114 \cdot 10^{195}:\\
\;\;\;\;\frac{\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)}}{\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 r4894173 = i;
double r4894174 = alpha;
double r4894175 = beta;
double r4894176 = r4894174 + r4894175;
double r4894177 = r4894176 + r4894173;
double r4894178 = r4894173 * r4894177;
double r4894179 = r4894175 * r4894174;
double r4894180 = r4894179 + r4894178;
double r4894181 = r4894178 * r4894180;
double r4894182 = 2.0;
double r4894183 = r4894182 * r4894173;
double r4894184 = r4894176 + r4894183;
double r4894185 = r4894184 * r4894184;
double r4894186 = r4894181 / r4894185;
double r4894187 = 1.0;
double r4894188 = r4894185 - r4894187;
double r4894189 = r4894186 / r4894188;
return r4894189;
}
double f(double alpha, double beta, double i) {
double r4894190 = alpha;
double r4894191 = 6.52967490975705e+195;
bool r4894192 = r4894190 <= r4894191;
double r4894193 = i;
double r4894194 = beta;
double r4894195 = r4894190 + r4894194;
double r4894196 = r4894193 + r4894195;
double r4894197 = r4894193 * r4894196;
double r4894198 = 2.0;
double r4894199 = r4894198 * r4894193;
double r4894200 = r4894195 + r4894199;
double r4894201 = r4894197 / r4894200;
double r4894202 = 1.0;
double r4894203 = sqrt(r4894202);
double r4894204 = r4894203 + r4894200;
double r4894205 = r4894201 / r4894204;
double r4894206 = r4894200 - r4894203;
double r4894207 = r4894194 * r4894190;
double r4894208 = r4894207 + r4894197;
double r4894209 = r4894208 / r4894200;
double r4894210 = r4894206 / r4894209;
double r4894211 = r4894205 / r4894210;
double r4894212 = 0.0;
double r4894213 = r4894192 ? r4894211 : r4894212;
return r4894213;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 6.52967490975705e+195Initial program 52.5
rmApplied add-sqr-sqrt52.5
Applied difference-of-squares52.5
Applied times-frac37.2
Applied times-frac35.0
rmApplied clear-num35.0
rmApplied un-div-inv35.0
if 6.52967490975705e+195 < alpha Initial program 64.0
Taylor expanded around inf 44.1
Final simplification36.1
herbie shell --seed 2019170 +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)))