\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}\;i \le 6.263709625600619 \cdot 10^{+146}:\\
\;\;\;\;\frac{1}{\frac{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right) + \alpha \cdot \beta}{\left(\alpha + \beta\right) + 2 \cdot i}}} \cdot \frac{i \cdot \frac{\left(\alpha + \beta\right) + i}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}\\
\mathbf{else}:\\
\;\;\;\;e^{\log \left(\frac{i \cdot \frac{\left(\alpha + \beta\right) + i}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{1.0} + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} \cdot \frac{\frac{1}{2} \cdot i + \left(\alpha + \beta\right) \cdot \frac{1}{4}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1.0}}\right)}\\
\end{array}double f(double alpha, double beta, double i) {
double r5373221 = i;
double r5373222 = alpha;
double r5373223 = beta;
double r5373224 = r5373222 + r5373223;
double r5373225 = r5373224 + r5373221;
double r5373226 = r5373221 * r5373225;
double r5373227 = r5373223 * r5373222;
double r5373228 = r5373227 + r5373226;
double r5373229 = r5373226 * r5373228;
double r5373230 = 2.0;
double r5373231 = r5373230 * r5373221;
double r5373232 = r5373224 + r5373231;
double r5373233 = r5373232 * r5373232;
double r5373234 = r5373229 / r5373233;
double r5373235 = 1.0;
double r5373236 = r5373233 - r5373235;
double r5373237 = r5373234 / r5373236;
return r5373237;
}
double f(double alpha, double beta, double i) {
double r5373238 = i;
double r5373239 = 6.263709625600619e+146;
bool r5373240 = r5373238 <= r5373239;
double r5373241 = 1.0;
double r5373242 = alpha;
double r5373243 = beta;
double r5373244 = r5373242 + r5373243;
double r5373245 = 2.0;
double r5373246 = r5373245 * r5373238;
double r5373247 = r5373244 + r5373246;
double r5373248 = 1.0;
double r5373249 = sqrt(r5373248);
double r5373250 = r5373247 - r5373249;
double r5373251 = r5373244 + r5373238;
double r5373252 = r5373238 * r5373251;
double r5373253 = r5373242 * r5373243;
double r5373254 = r5373252 + r5373253;
double r5373255 = r5373254 / r5373247;
double r5373256 = r5373250 / r5373255;
double r5373257 = r5373241 / r5373256;
double r5373258 = r5373251 / r5373247;
double r5373259 = r5373238 * r5373258;
double r5373260 = r5373249 + r5373247;
double r5373261 = r5373259 / r5373260;
double r5373262 = r5373257 * r5373261;
double r5373263 = 0.5;
double r5373264 = r5373263 * r5373238;
double r5373265 = 0.25;
double r5373266 = r5373244 * r5373265;
double r5373267 = r5373264 + r5373266;
double r5373268 = r5373267 / r5373250;
double r5373269 = r5373261 * r5373268;
double r5373270 = log(r5373269);
double r5373271 = exp(r5373270);
double r5373272 = r5373240 ? r5373262 : r5373271;
return r5373272;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if i < 6.263709625600619e+146Initial program 41.9
rmApplied add-sqr-sqrt41.9
Applied difference-of-squares41.9
Applied times-frac14.9
Applied times-frac10.4
rmApplied *-un-lft-identity10.4
Applied times-frac10.4
Simplified10.4
rmApplied clear-num10.4
if 6.263709625600619e+146 < i Initial program 62.1
rmApplied add-sqr-sqrt62.1
Applied difference-of-squares62.1
Applied times-frac60.2
Applied times-frac60.1
rmApplied *-un-lft-identity60.1
Applied times-frac60.1
Simplified60.1
Taylor expanded around 0 10.1
Simplified10.1
rmApplied add-exp-log10.1
Final simplification10.2
herbie shell --seed 2019158
(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)))