\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.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 4.0145625771446497 \cdot 10^{+217}:\\
\;\;\;\;\frac{\frac{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot i} - \sqrt{\sqrt{1.0}}} \cdot \left(\frac{\frac{i \cdot \left(i + \left(\alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} \cdot \frac{\sqrt{i \cdot \left(i + \left(\alpha + \beta\right)\right) + \beta \cdot \alpha}}{\sqrt{\sqrt{1.0}} + \sqrt{\left(\alpha + \beta\right) + 2 \cdot i}}\right)\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r32628292 = i;
double r32628293 = alpha;
double r32628294 = beta;
double r32628295 = r32628293 + r32628294;
double r32628296 = r32628295 + r32628292;
double r32628297 = r32628292 * r32628296;
double r32628298 = r32628294 * r32628293;
double r32628299 = r32628298 + r32628297;
double r32628300 = r32628297 * r32628299;
double r32628301 = 2.0;
double r32628302 = r32628301 * r32628292;
double r32628303 = r32628295 + r32628302;
double r32628304 = r32628303 * r32628303;
double r32628305 = r32628300 / r32628304;
double r32628306 = 1.0;
double r32628307 = r32628304 - r32628306;
double r32628308 = r32628305 / r32628307;
return r32628308;
}
double f(double alpha, double beta, double i) {
double r32628309 = alpha;
double r32628310 = 4.0145625771446497e+217;
bool r32628311 = r32628309 <= r32628310;
double r32628312 = i;
double r32628313 = beta;
double r32628314 = r32628309 + r32628313;
double r32628315 = r32628312 + r32628314;
double r32628316 = r32628312 * r32628315;
double r32628317 = r32628313 * r32628309;
double r32628318 = r32628316 + r32628317;
double r32628319 = sqrt(r32628318);
double r32628320 = 2.0;
double r32628321 = r32628320 * r32628312;
double r32628322 = r32628314 + r32628321;
double r32628323 = r32628319 / r32628322;
double r32628324 = sqrt(r32628322);
double r32628325 = 1.0;
double r32628326 = sqrt(r32628325);
double r32628327 = sqrt(r32628326);
double r32628328 = r32628324 - r32628327;
double r32628329 = r32628323 / r32628328;
double r32628330 = r32628316 / r32628322;
double r32628331 = r32628326 + r32628322;
double r32628332 = r32628330 / r32628331;
double r32628333 = r32628327 + r32628324;
double r32628334 = r32628319 / r32628333;
double r32628335 = r32628332 * r32628334;
double r32628336 = r32628329 * r32628335;
double r32628337 = 0.0;
double r32628338 = r32628311 ? r32628336 : r32628337;
return r32628338;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 4.0145625771446497e+217Initial program 51.7
rmApplied add-sqr-sqrt51.7
Applied difference-of-squares51.7
Applied times-frac36.8
Applied times-frac34.4
rmApplied add-sqr-sqrt34.4
Applied add-sqr-sqrt34.5
Applied difference-of-squares34.5
Applied *-un-lft-identity34.5
Applied add-sqr-sqrt34.6
Applied times-frac34.5
Applied times-frac34.5
Applied associate-*r*34.6
if 4.0145625771446497e+217 < alpha Initial program 62.6
Taylor expanded around inf 43.2
Final simplification35.4
herbie shell --seed 2019128
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1) (> beta -1) (> i 1))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1.0)))