\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.006963476966065673239901730162017507115 \cdot 10^{202}:\\
\;\;\;\;\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + i\right) \cdot i}{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \frac{\mathsf{fma}\left(\beta, \alpha, i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\sqrt{1} + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{0}{\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}\\
\end{array}double f(double alpha, double beta, double i) {
double r82227 = i;
double r82228 = alpha;
double r82229 = beta;
double r82230 = r82228 + r82229;
double r82231 = r82230 + r82227;
double r82232 = r82227 * r82231;
double r82233 = r82229 * r82228;
double r82234 = r82233 + r82232;
double r82235 = r82232 * r82234;
double r82236 = 2.0;
double r82237 = r82236 * r82227;
double r82238 = r82230 + r82237;
double r82239 = r82238 * r82238;
double r82240 = r82235 / r82239;
double r82241 = 1.0;
double r82242 = r82239 - r82241;
double r82243 = r82240 / r82242;
return r82243;
}
double f(double alpha, double beta, double i) {
double r82244 = beta;
double r82245 = 6.006963476966066e+202;
bool r82246 = r82244 <= r82245;
double r82247 = alpha;
double r82248 = r82247 + r82244;
double r82249 = i;
double r82250 = r82248 + r82249;
double r82251 = r82250 * r82249;
double r82252 = 2.0;
double r82253 = fma(r82252, r82249, r82248);
double r82254 = r82251 / r82253;
double r82255 = r82249 * r82250;
double r82256 = fma(r82244, r82247, r82255);
double r82257 = r82256 / r82253;
double r82258 = r82254 * r82257;
double r82259 = 1.0;
double r82260 = sqrt(r82259);
double r82261 = r82260 + r82253;
double r82262 = r82258 / r82261;
double r82263 = r82252 * r82249;
double r82264 = r82248 + r82263;
double r82265 = r82264 - r82260;
double r82266 = r82262 / r82265;
double r82267 = 0.0;
double r82268 = r82264 * r82264;
double r82269 = r82267 / r82268;
double r82270 = r82268 - r82259;
double r82271 = r82269 / r82270;
double r82272 = r82246 ? r82266 : r82271;
return r82272;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if beta < 6.006963476966066e+202Initial program 53.2
rmApplied times-frac37.6
Simplified37.6
Simplified37.6
rmApplied add-sqr-sqrt37.6
Applied difference-of-squares37.6
Applied associate-/r*35.1
Simplified35.1
if 6.006963476966066e+202 < beta Initial program 64.0
Taylor expanded around 0 44.9
Final simplification36.2
herbie shell --seed 2019303 +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)))