\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.184990857703664873136478242559920523798 \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 r5040249 = i;
double r5040250 = alpha;
double r5040251 = beta;
double r5040252 = r5040250 + r5040251;
double r5040253 = r5040252 + r5040249;
double r5040254 = r5040249 * r5040253;
double r5040255 = r5040251 * r5040250;
double r5040256 = r5040255 + r5040254;
double r5040257 = r5040254 * r5040256;
double r5040258 = 2.0;
double r5040259 = r5040258 * r5040249;
double r5040260 = r5040252 + r5040259;
double r5040261 = r5040260 * r5040260;
double r5040262 = r5040257 / r5040261;
double r5040263 = 1.0;
double r5040264 = r5040261 - r5040263;
double r5040265 = r5040262 / r5040264;
return r5040265;
}
double f(double alpha, double beta, double i) {
double r5040266 = beta;
double r5040267 = 1.1849908577036649e+196;
bool r5040268 = r5040266 <= r5040267;
double r5040269 = i;
double r5040270 = alpha;
double r5040271 = r5040266 + r5040270;
double r5040272 = r5040269 + r5040271;
double r5040273 = r5040269 * r5040272;
double r5040274 = r5040270 * r5040266;
double r5040275 = r5040273 + r5040274;
double r5040276 = 2.0;
double r5040277 = r5040276 * r5040269;
double r5040278 = r5040271 + r5040277;
double r5040279 = r5040275 / r5040278;
double r5040280 = r5040273 / r5040278;
double r5040281 = 1.0;
double r5040282 = sqrt(r5040281);
double r5040283 = r5040282 + r5040278;
double r5040284 = r5040280 / r5040283;
double r5040285 = r5040279 * r5040284;
double r5040286 = r5040278 - r5040282;
double r5040287 = r5040285 / r5040286;
double r5040288 = 0.0;
double r5040289 = r5040268 ? r5040287 : r5040288;
return r5040289;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 1.1849908577036649e+196Initial program 52.5
rmApplied add-sqr-sqrt52.5
Applied difference-of-squares52.5
Applied times-frac38.1
Applied times-frac35.7
rmApplied associate-*r/35.7
if 1.1849908577036649e+196 < beta Initial program 64.0
Taylor expanded around inf 45.2
Final simplification36.8
herbie shell --seed 2019169 +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)))