\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 2.148651077263627972408214651347571826312 \cdot 10^{115}:\\
\;\;\;\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\left(\beta - \alpha\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot i}\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right) + \frac{2}{\alpha}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r146210 = alpha;
double r146211 = beta;
double r146212 = r146210 + r146211;
double r146213 = r146211 - r146210;
double r146214 = r146212 * r146213;
double r146215 = 2.0;
double r146216 = i;
double r146217 = r146215 * r146216;
double r146218 = r146212 + r146217;
double r146219 = r146214 / r146218;
double r146220 = r146218 + r146215;
double r146221 = r146219 / r146220;
double r146222 = 1.0;
double r146223 = r146221 + r146222;
double r146224 = r146223 / r146215;
return r146224;
}
double f(double alpha, double beta, double i) {
double r146225 = alpha;
double r146226 = 2.148651077263628e+115;
bool r146227 = r146225 <= r146226;
double r146228 = beta;
double r146229 = r146225 + r146228;
double r146230 = r146228 - r146225;
double r146231 = 1.0;
double r146232 = 2.0;
double r146233 = i;
double r146234 = r146232 * r146233;
double r146235 = r146229 + r146234;
double r146236 = r146231 / r146235;
double r146237 = r146230 * r146236;
double r146238 = r146229 * r146237;
double r146239 = r146235 + r146232;
double r146240 = r146238 / r146239;
double r146241 = 1.0;
double r146242 = r146240 + r146241;
double r146243 = r146242 / r146232;
double r146244 = 8.0;
double r146245 = 3.0;
double r146246 = pow(r146225, r146245);
double r146247 = r146231 / r146246;
double r146248 = r146244 * r146247;
double r146249 = 4.0;
double r146250 = 2.0;
double r146251 = pow(r146225, r146250);
double r146252 = r146231 / r146251;
double r146253 = r146249 * r146252;
double r146254 = r146248 - r146253;
double r146255 = r146232 / r146225;
double r146256 = r146254 + r146255;
double r146257 = r146256 / r146232;
double r146258 = r146227 ? r146243 : r146257;
return r146258;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 2.148651077263628e+115Initial program 14.3
rmApplied *-un-lft-identity14.3
Applied times-frac3.7
Simplified3.7
rmApplied div-inv3.6
if 2.148651077263628e+115 < alpha Initial program 60.8
rmApplied *-un-lft-identity60.8
Applied times-frac45.5
Simplified45.5
Taylor expanded around inf 41.3
Simplified41.3
Final simplification11.2
herbie shell --seed 2019344
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:precision binary64
:pre (and (> alpha -1) (> beta -1) (> i 0.0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2)) 1) 2))