\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 1.2663211663858966 \cdot 10^{151}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{\frac{\beta + \alpha}{\left|\sqrt[3]{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}\right| \cdot \sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}}{\sqrt{\sqrt[3]{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right)}^{3}}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{1}{{\alpha}^{2}}, \frac{8}{\alpha} - 4, \frac{2}{\alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r90192 = alpha;
double r90193 = beta;
double r90194 = r90192 + r90193;
double r90195 = r90193 - r90192;
double r90196 = r90194 * r90195;
double r90197 = 2.0;
double r90198 = i;
double r90199 = r90197 * r90198;
double r90200 = r90194 + r90199;
double r90201 = r90196 / r90200;
double r90202 = r90200 + r90197;
double r90203 = r90201 / r90202;
double r90204 = 1.0;
double r90205 = r90203 + r90204;
double r90206 = r90205 / r90197;
return r90206;
}
double f(double alpha, double beta, double i) {
double r90207 = alpha;
double r90208 = 1.2663211663858966e+151;
bool r90209 = r90207 <= r90208;
double r90210 = beta;
double r90211 = r90210 + r90207;
double r90212 = 2.0;
double r90213 = i;
double r90214 = r90207 + r90210;
double r90215 = fma(r90212, r90213, r90214);
double r90216 = r90212 + r90215;
double r90217 = cbrt(r90216);
double r90218 = fabs(r90217);
double r90219 = sqrt(r90216);
double r90220 = r90218 * r90219;
double r90221 = r90211 / r90220;
double r90222 = sqrt(r90217);
double r90223 = r90221 / r90222;
double r90224 = r90210 - r90207;
double r90225 = r90224 / r90215;
double r90226 = 1.0;
double r90227 = fma(r90223, r90225, r90226);
double r90228 = 3.0;
double r90229 = pow(r90227, r90228);
double r90230 = cbrt(r90229);
double r90231 = r90230 / r90212;
double r90232 = 1.0;
double r90233 = 2.0;
double r90234 = pow(r90207, r90233);
double r90235 = r90232 / r90234;
double r90236 = 8.0;
double r90237 = r90236 / r90207;
double r90238 = 4.0;
double r90239 = r90237 - r90238;
double r90240 = r90212 / r90207;
double r90241 = fma(r90235, r90239, r90240);
double r90242 = r90241 / r90212;
double r90243 = r90209 ? r90231 : r90242;
return r90243;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if alpha < 1.2663211663858966e+151Initial program 15.9
Simplified5.5
rmApplied add-sqr-sqrt5.5
Applied *-un-lft-identity5.5
Applied times-frac5.5
rmApplied add-cube-cbrt5.5
Applied sqrt-prod5.5
Applied *-un-lft-identity5.5
Applied times-frac5.5
Applied associate-*r*5.5
Simplified5.5
rmApplied add-cbrt-cube5.5
Simplified5.5
if 1.2663211663858966e+151 < alpha Initial program 63.6
Simplified47.9
rmApplied add-cube-cbrt48.5
Applied associate-/r*48.5
Taylor expanded around inf 40.3
Simplified40.3
Final simplification11.3
herbie shell --seed 2019195 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 0.0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 1.0) 2.0))