\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}\;i \le 7.435536344855911057541128638393389862856 \cdot 10^{121}:\\
\;\;\;\;\left(\frac{\frac{\sqrt{\left(\left(\alpha + \beta\right) + i\right) \cdot i + \alpha \cdot \beta}}{\left(\alpha + \beta\right) + i \cdot 2}}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1}} \cdot \sqrt{\left(\left(\alpha + \beta\right) + i\right) \cdot i + \alpha \cdot \beta}\right) \cdot \frac{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}{\sqrt{1} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)}\\
\mathbf{else}:\\
\;\;\;\;e^{\log \left(\frac{\frac{i}{\frac{\left(\alpha + \beta\right) + i \cdot 2}{\left(\alpha + \beta\right) + i}}}{\sqrt{1} + \left(\left(\alpha + \beta\right) + i \cdot 2\right)} \cdot \frac{\mathsf{fma}\left(0.25, \alpha + \beta, 0.5 \cdot i\right)}{\left(\left(\alpha + \beta\right) + i \cdot 2\right) - \sqrt{1}}\right)}\\
\end{array}double f(double alpha, double beta, double i) {
double r4305152 = i;
double r4305153 = alpha;
double r4305154 = beta;
double r4305155 = r4305153 + r4305154;
double r4305156 = r4305155 + r4305152;
double r4305157 = r4305152 * r4305156;
double r4305158 = r4305154 * r4305153;
double r4305159 = r4305158 + r4305157;
double r4305160 = r4305157 * r4305159;
double r4305161 = 2.0;
double r4305162 = r4305161 * r4305152;
double r4305163 = r4305155 + r4305162;
double r4305164 = r4305163 * r4305163;
double r4305165 = r4305160 / r4305164;
double r4305166 = 1.0;
double r4305167 = r4305164 - r4305166;
double r4305168 = r4305165 / r4305167;
return r4305168;
}
double f(double alpha, double beta, double i) {
double r4305169 = i;
double r4305170 = 7.435536344855911e+121;
bool r4305171 = r4305169 <= r4305170;
double r4305172 = alpha;
double r4305173 = beta;
double r4305174 = r4305172 + r4305173;
double r4305175 = r4305174 + r4305169;
double r4305176 = r4305175 * r4305169;
double r4305177 = r4305172 * r4305173;
double r4305178 = r4305176 + r4305177;
double r4305179 = sqrt(r4305178);
double r4305180 = 2.0;
double r4305181 = r4305169 * r4305180;
double r4305182 = r4305174 + r4305181;
double r4305183 = r4305179 / r4305182;
double r4305184 = 1.0;
double r4305185 = sqrt(r4305184);
double r4305186 = r4305182 - r4305185;
double r4305187 = r4305183 / r4305186;
double r4305188 = r4305187 * r4305179;
double r4305189 = r4305182 / r4305175;
double r4305190 = r4305169 / r4305189;
double r4305191 = r4305185 + r4305182;
double r4305192 = r4305190 / r4305191;
double r4305193 = r4305188 * r4305192;
double r4305194 = 0.25;
double r4305195 = 0.5;
double r4305196 = r4305195 * r4305169;
double r4305197 = fma(r4305194, r4305174, r4305196);
double r4305198 = r4305197 / r4305186;
double r4305199 = r4305192 * r4305198;
double r4305200 = log(r4305199);
double r4305201 = exp(r4305200);
double r4305202 = r4305171 ? r4305193 : r4305201;
return r4305202;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if i < 7.435536344855911e+121Initial program 39.9
rmApplied add-sqr-sqrt39.9
Applied difference-of-squares39.9
Applied times-frac15.4
Applied times-frac10.3
rmApplied associate-/l*10.3
rmApplied *-un-lft-identity10.3
Applied *-un-lft-identity10.3
Applied add-sqr-sqrt10.3
Applied times-frac10.3
Applied times-frac10.3
if 7.435536344855911e+121 < i Initial program 64.0
rmApplied add-sqr-sqrt64.0
Applied difference-of-squares64.0
Applied times-frac56.4
Applied times-frac56.1
rmApplied associate-/l*56.1
Taylor expanded around 0 12.0
Simplified12.0
rmApplied add-exp-log12.0
Final simplification11.4
herbie shell --seed 2019171 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 1.0))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i)))) (- (* (+ (+ alpha beta) (* 2.0 i)) (+ (+ alpha beta) (* 2.0 i))) 1.0)))