\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.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 3.158427829609547 \cdot 10^{+106}:\\
\;\;\;\;\frac{\frac{\frac{{\left(\left(\left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right)}^{3} + {\left(1.0 \cdot \left(1.0 \cdot 1.0\right)\right)}^{3}}{\left(\left(1.0 \cdot \left(1.0 \cdot 1.0\right)\right) \cdot \left(1.0 \cdot \left(1.0 \cdot 1.0\right)\right) - \left(\left(\left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right) \cdot \left(1.0 \cdot \left(1.0 \cdot 1.0\right)\right)\right) + \left(\left(\left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right) \cdot \left(\left(\left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right)}}{\mathsf{fma}\left(1.0, 1.0 - \frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}, \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right) \cdot \mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right)\right)}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(\frac{6.0}{\alpha} + \frac{80.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)}\right) - \frac{24.0}{\alpha \cdot \alpha}}{\mathsf{fma}\left(1.0, 1.0 - \frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}, \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right) \cdot \left(\frac{\beta + \alpha}{\alpha + \mathsf{fma}\left(i, 2, \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \mathsf{fma}\left(i, 2, \beta\right)\right) + 2.0}\right)\right)}}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r3004258 = alpha;
double r3004259 = beta;
double r3004260 = r3004258 + r3004259;
double r3004261 = r3004259 - r3004258;
double r3004262 = r3004260 * r3004261;
double r3004263 = 2.0;
double r3004264 = i;
double r3004265 = r3004263 * r3004264;
double r3004266 = r3004260 + r3004265;
double r3004267 = r3004262 / r3004266;
double r3004268 = 2.0;
double r3004269 = r3004266 + r3004268;
double r3004270 = r3004267 / r3004269;
double r3004271 = 1.0;
double r3004272 = r3004270 + r3004271;
double r3004273 = r3004272 / r3004268;
return r3004273;
}
double f(double alpha, double beta, double i) {
double r3004274 = alpha;
double r3004275 = 3.158427829609547e+106;
bool r3004276 = r3004274 <= r3004275;
double r3004277 = beta;
double r3004278 = r3004277 + r3004274;
double r3004279 = i;
double r3004280 = 2.0;
double r3004281 = fma(r3004279, r3004280, r3004277);
double r3004282 = r3004274 + r3004281;
double r3004283 = r3004278 / r3004282;
double r3004284 = r3004277 - r3004274;
double r3004285 = 2.0;
double r3004286 = r3004282 + r3004285;
double r3004287 = r3004284 / r3004286;
double r3004288 = r3004283 * r3004287;
double r3004289 = r3004288 * r3004288;
double r3004290 = r3004289 * r3004288;
double r3004291 = 3.0;
double r3004292 = pow(r3004290, r3004291);
double r3004293 = 1.0;
double r3004294 = r3004293 * r3004293;
double r3004295 = r3004293 * r3004294;
double r3004296 = pow(r3004295, r3004291);
double r3004297 = r3004292 + r3004296;
double r3004298 = r3004295 * r3004295;
double r3004299 = r3004290 * r3004295;
double r3004300 = r3004298 - r3004299;
double r3004301 = r3004290 * r3004290;
double r3004302 = r3004300 + r3004301;
double r3004303 = r3004297 / r3004302;
double r3004304 = r3004293 - r3004288;
double r3004305 = log1p(r3004288);
double r3004306 = expm1(r3004305);
double r3004307 = r3004288 * r3004306;
double r3004308 = fma(r3004293, r3004304, r3004307);
double r3004309 = r3004303 / r3004308;
double r3004310 = r3004309 / r3004285;
double r3004311 = 6.0;
double r3004312 = r3004311 / r3004274;
double r3004313 = 80.0;
double r3004314 = r3004274 * r3004274;
double r3004315 = r3004274 * r3004314;
double r3004316 = r3004313 / r3004315;
double r3004317 = r3004312 + r3004316;
double r3004318 = 24.0;
double r3004319 = r3004318 / r3004314;
double r3004320 = r3004317 - r3004319;
double r3004321 = fma(r3004293, r3004304, r3004289);
double r3004322 = r3004320 / r3004321;
double r3004323 = r3004322 / r3004285;
double r3004324 = r3004276 ? r3004310 : r3004323;
return r3004324;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 3.158427829609547e+106Initial program 13.8
Simplified13.8
rmApplied flip3-+13.8
Simplified13.8
Simplified3.4
rmApplied fma-udef3.4
rmApplied expm1-log1p-u3.4
rmApplied flip3-+3.4
if 3.158427829609547e+106 < alpha Initial program 58.7
Simplified58.1
rmApplied flip3-+58.1
Simplified58.1
Simplified44.8
Taylor expanded around inf 40.9
Simplified40.9
Final simplification11.5
herbie shell --seed 2019146 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1) (> beta -1) (> i 0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))