\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 1.0312336573895782 \cdot 10^{+150}:\\
\;\;\;\;\frac{e^{\log \left(\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{i \cdot 2 + \left(\beta + \alpha\right)}}{2.0 + \left(i \cdot 2 + \left(\beta + \alpha\right)\right)} + 1.0\right)}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2.0}{\alpha} + \left(\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r2354164 = alpha;
double r2354165 = beta;
double r2354166 = r2354164 + r2354165;
double r2354167 = r2354165 - r2354164;
double r2354168 = r2354166 * r2354167;
double r2354169 = 2.0;
double r2354170 = i;
double r2354171 = r2354169 * r2354170;
double r2354172 = r2354166 + r2354171;
double r2354173 = r2354168 / r2354172;
double r2354174 = 2.0;
double r2354175 = r2354172 + r2354174;
double r2354176 = r2354173 / r2354175;
double r2354177 = 1.0;
double r2354178 = r2354176 + r2354177;
double r2354179 = r2354178 / r2354174;
return r2354179;
}
double f(double alpha, double beta, double i) {
double r2354180 = alpha;
double r2354181 = 1.0312336573895782e+150;
bool r2354182 = r2354180 <= r2354181;
double r2354183 = beta;
double r2354184 = r2354183 + r2354180;
double r2354185 = r2354183 - r2354180;
double r2354186 = i;
double r2354187 = 2.0;
double r2354188 = r2354186 * r2354187;
double r2354189 = r2354188 + r2354184;
double r2354190 = r2354185 / r2354189;
double r2354191 = 2.0;
double r2354192 = r2354191 + r2354189;
double r2354193 = r2354190 / r2354192;
double r2354194 = r2354184 * r2354193;
double r2354195 = 1.0;
double r2354196 = r2354194 + r2354195;
double r2354197 = log(r2354196);
double r2354198 = exp(r2354197);
double r2354199 = r2354198 / r2354191;
double r2354200 = r2354191 / r2354180;
double r2354201 = 8.0;
double r2354202 = r2354180 * r2354180;
double r2354203 = r2354180 * r2354202;
double r2354204 = r2354201 / r2354203;
double r2354205 = 4.0;
double r2354206 = r2354205 / r2354202;
double r2354207 = r2354204 - r2354206;
double r2354208 = r2354200 + r2354207;
double r2354209 = r2354208 / r2354191;
double r2354210 = r2354182 ? r2354199 : r2354209;
return r2354210;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.0312336573895782e+150Initial program 15.6
rmApplied *-un-lft-identity15.6
Applied *-un-lft-identity15.6
Applied distribute-lft-out15.6
Applied *-un-lft-identity15.6
Applied times-frac5.6
Applied times-frac5.5
Simplified5.5
rmApplied add-exp-log5.5
if 1.0312336573895782e+150 < alpha Initial program 62.9
rmApplied *-un-lft-identity62.9
Applied *-un-lft-identity62.9
Applied distribute-lft-out62.9
Applied *-un-lft-identity62.9
Applied times-frac47.9
Applied times-frac47.9
Simplified47.9
rmApplied add-exp-log47.9
Taylor expanded around -inf 41.3
Simplified41.3
Final simplification11.7
herbie shell --seed 2019153
(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))