\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.935281736255519 \cdot 10^{180}:\\
\;\;\;\;\sqrt{\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}}} \cdot \left(\sqrt{\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}}} \cdot \frac{\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r497333 = i;
double r497334 = alpha;
double r497335 = beta;
double r497336 = r497334 + r497335;
double r497337 = r497336 + r497333;
double r497338 = r497333 * r497337;
double r497339 = r497335 * r497334;
double r497340 = r497339 + r497338;
double r497341 = r497338 * r497340;
double r497342 = 2.0;
double r497343 = r497342 * r497333;
double r497344 = r497336 + r497343;
double r497345 = r497344 * r497344;
double r497346 = r497341 / r497345;
double r497347 = 1.0;
double r497348 = r497345 - r497347;
double r497349 = r497346 / r497348;
return r497349;
}
double f(double alpha, double beta, double i) {
double r497350 = alpha;
double r497351 = 1.935281736255519e+180;
bool r497352 = r497350 <= r497351;
double r497353 = i;
double r497354 = beta;
double r497355 = r497350 + r497354;
double r497356 = r497355 + r497353;
double r497357 = r497353 * r497356;
double r497358 = 2.0;
double r497359 = r497358 * r497353;
double r497360 = r497355 + r497359;
double r497361 = r497357 / r497360;
double r497362 = 1.0;
double r497363 = sqrt(r497362);
double r497364 = r497360 + r497363;
double r497365 = r497361 / r497364;
double r497366 = sqrt(r497365);
double r497367 = r497354 * r497350;
double r497368 = r497367 + r497357;
double r497369 = r497368 / r497360;
double r497370 = r497360 - r497363;
double r497371 = r497369 / r497370;
double r497372 = r497366 * r497371;
double r497373 = r497366 * r497372;
double r497374 = 0.0;
double r497375 = r497352 ? r497373 : r497374;
return r497375;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.935281736255519e+180Initial program 52.2
rmApplied add-sqr-sqrt52.2
Applied difference-of-squares52.2
Applied times-frac37.0
Applied times-frac35.3
rmApplied add-sqr-sqrt35.3
Applied associate-*l*35.3
if 1.935281736255519e+180 < alpha Initial program 64.0
Taylor expanded around inf 45.5
Final simplification36.7
herbie shell --seed 2019195
(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)))