\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.5322107907580335 \cdot 10^{138}:\\
\;\;\;\;\frac{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\
\end{array}double f(double alpha, double beta, double i) {
double r165180 = alpha;
double r165181 = beta;
double r165182 = r165180 + r165181;
double r165183 = r165181 - r165180;
double r165184 = r165182 * r165183;
double r165185 = 2.0;
double r165186 = i;
double r165187 = r165185 * r165186;
double r165188 = r165182 + r165187;
double r165189 = r165184 / r165188;
double r165190 = r165188 + r165185;
double r165191 = r165189 / r165190;
double r165192 = 1.0;
double r165193 = r165191 + r165192;
double r165194 = r165193 / r165185;
return r165194;
}
double f(double alpha, double beta, double i) {
double r165195 = alpha;
double r165196 = 1.5322107907580335e+138;
bool r165197 = r165195 <= r165196;
double r165198 = beta;
double r165199 = r165195 + r165198;
double r165200 = r165198 - r165195;
double r165201 = 2.0;
double r165202 = i;
double r165203 = r165201 * r165202;
double r165204 = r165199 + r165203;
double r165205 = r165200 / r165204;
double r165206 = r165204 + r165201;
double r165207 = r165205 / r165206;
double r165208 = r165199 * r165207;
double r165209 = 1.0;
double r165210 = r165208 + r165209;
double r165211 = exp(r165210);
double r165212 = log(r165211);
double r165213 = r165212 / r165201;
double r165214 = 1.0;
double r165215 = r165214 / r165195;
double r165216 = r165201 * r165215;
double r165217 = 8.0;
double r165218 = 3.0;
double r165219 = pow(r165195, r165218);
double r165220 = r165214 / r165219;
double r165221 = r165217 * r165220;
double r165222 = r165216 + r165221;
double r165223 = 4.0;
double r165224 = 2.0;
double r165225 = pow(r165195, r165224);
double r165226 = r165214 / r165225;
double r165227 = r165223 * r165226;
double r165228 = r165222 - r165227;
double r165229 = r165228 / r165201;
double r165230 = r165197 ? r165213 : r165229;
return r165230;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if alpha < 1.5322107907580335e+138Initial program 15.5
rmApplied *-un-lft-identity15.5
Applied *-un-lft-identity15.5
Applied times-frac5.2
Applied times-frac5.2
Simplified5.2
rmApplied add-cbrt-cube5.2
Simplified5.2
rmApplied add-log-exp5.2
Simplified5.2
if 1.5322107907580335e+138 < alpha Initial program 62.5
Taylor expanded around inf 40.8
Final simplification11.7
herbie shell --seed 2020062
(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))