\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 6.5582632000498063 \cdot 10^{98}:\\
\;\;\;\;\frac{-i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\frac{\frac{\left(-{\left(\left(\alpha + \beta\right) + 2 \cdot i\right)}^{3}\right) + \mathsf{fma}\left(i, 2, \alpha + \beta\right) \cdot 1}{\sqrt{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}} \cdot \mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\sqrt{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\log \left({\left(e^{\frac{i}{{\left(\left(\alpha + \beta\right) + 2 \cdot i\right)}^{3} + \mathsf{fma}\left(i, 2, \alpha + \beta\right) \cdot \left(-1\right)}}\right)}^{\left(\frac{\left(\alpha + \beta\right) + i}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}}\right)}\right)\\
\end{array}double f(double alpha, double beta, double i) {
double r123401 = i;
double r123402 = alpha;
double r123403 = beta;
double r123404 = r123402 + r123403;
double r123405 = r123404 + r123401;
double r123406 = r123401 * r123405;
double r123407 = r123403 * r123402;
double r123408 = r123407 + r123406;
double r123409 = r123406 * r123408;
double r123410 = 2.0;
double r123411 = r123410 * r123401;
double r123412 = r123404 + r123411;
double r123413 = r123412 * r123412;
double r123414 = r123409 / r123413;
double r123415 = 1.0;
double r123416 = r123413 - r123415;
double r123417 = r123414 / r123416;
return r123417;
}
double f(double alpha, double beta, double i) {
double r123418 = beta;
double r123419 = 6.558263200049806e+98;
bool r123420 = r123418 <= r123419;
double r123421 = i;
double r123422 = alpha;
double r123423 = r123422 + r123418;
double r123424 = r123423 + r123421;
double r123425 = r123421 * r123424;
double r123426 = -r123425;
double r123427 = 2.0;
double r123428 = r123427 * r123421;
double r123429 = r123423 + r123428;
double r123430 = 3.0;
double r123431 = pow(r123429, r123430);
double r123432 = -r123431;
double r123433 = fma(r123421, r123427, r123423);
double r123434 = 1.0;
double r123435 = r123433 * r123434;
double r123436 = r123432 + r123435;
double r123437 = fma(r123418, r123422, r123425);
double r123438 = sqrt(r123437);
double r123439 = r123436 / r123438;
double r123440 = r123439 * r123433;
double r123441 = r123440 / r123438;
double r123442 = r123426 / r123441;
double r123443 = -r123434;
double r123444 = r123433 * r123443;
double r123445 = r123431 + r123444;
double r123446 = r123421 / r123445;
double r123447 = exp(r123446);
double r123448 = r123433 / r123437;
double r123449 = r123424 / r123448;
double r123450 = pow(r123447, r123449);
double r123451 = log(r123450);
double r123452 = r123420 ? r123442 : r123451;
return r123452;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if beta < 6.558263200049806e+98Initial program 51.5
Simplified50.5
rmApplied add-sqr-sqrt50.5
Applied times-frac45.9
Simplified46.0
rmApplied frac-2neg46.0
Simplified46.3
if 6.558263200049806e+98 < beta Initial program 63.2
Simplified59.2
rmApplied *-un-lft-identity59.2
Applied times-frac58.9
Applied times-frac58.9
Simplified58.9
rmApplied add-log-exp59.2
Simplified51.1
Final simplification47.4
herbie shell --seed 2020018 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:precision binary64
: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)))