\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 1.332923833371911853732656743604909165254 \cdot 10^{154}:\\
\;\;\;\;\frac{\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \frac{\sqrt{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\sqrt{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r130058 = i;
double r130059 = alpha;
double r130060 = beta;
double r130061 = r130059 + r130060;
double r130062 = r130061 + r130058;
double r130063 = r130058 * r130062;
double r130064 = r130060 * r130059;
double r130065 = r130064 + r130063;
double r130066 = r130063 * r130065;
double r130067 = 2.0;
double r130068 = r130067 * r130058;
double r130069 = r130061 + r130068;
double r130070 = r130069 * r130069;
double r130071 = r130066 / r130070;
double r130072 = 1.0;
double r130073 = r130070 - r130072;
double r130074 = r130071 / r130073;
return r130074;
}
double f(double alpha, double beta, double i) {
double r130075 = i;
double r130076 = 1.3329238333719119e+154;
bool r130077 = r130075 <= r130076;
double r130078 = alpha;
double r130079 = beta;
double r130080 = r130078 + r130079;
double r130081 = r130080 + r130075;
double r130082 = r130075 * r130081;
double r130083 = 2.0;
double r130084 = r130083 * r130075;
double r130085 = r130080 + r130084;
double r130086 = r130082 / r130085;
double r130087 = 1.0;
double r130088 = sqrt(r130087);
double r130089 = r130085 + r130088;
double r130090 = r130086 / r130089;
double r130091 = r130079 * r130078;
double r130092 = r130091 + r130082;
double r130093 = sqrt(r130092);
double r130094 = r130085 / r130093;
double r130095 = r130093 / r130094;
double r130096 = r130090 * r130095;
double r130097 = r130085 - r130088;
double r130098 = r130096 / r130097;
double r130099 = 0.0;
double r130100 = r130077 ? r130098 : r130099;
return r130100;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if i < 1.3329238333719119e+154Initial program 43.7
rmApplied add-sqr-sqrt43.7
Applied difference-of-squares43.7
Applied times-frac15.7
Applied times-frac11.8
rmApplied associate-*r/11.8
rmApplied add-sqr-sqrt11.8
Applied associate-/l*11.8
if 1.3329238333719119e+154 < i Initial program 64.0
Taylor expanded around inf 61.9
Final simplification36.7
herbie shell --seed 2019304
(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)))