\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}\;\beta \le 6.237470943579032829354147639761347668239 \cdot 10^{185}:\\
\;\;\;\;\frac{\frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{1} + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}{\frac{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) - \sqrt{1}}{\frac{\alpha \cdot \beta + i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2 \cdot i}}}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta, double i) {
double r5488032 = i;
double r5488033 = alpha;
double r5488034 = beta;
double r5488035 = r5488033 + r5488034;
double r5488036 = r5488035 + r5488032;
double r5488037 = r5488032 * r5488036;
double r5488038 = r5488034 * r5488033;
double r5488039 = r5488038 + r5488037;
double r5488040 = r5488037 * r5488039;
double r5488041 = 2.0;
double r5488042 = r5488041 * r5488032;
double r5488043 = r5488035 + r5488042;
double r5488044 = r5488043 * r5488043;
double r5488045 = r5488040 / r5488044;
double r5488046 = 1.0;
double r5488047 = r5488044 - r5488046;
double r5488048 = r5488045 / r5488047;
return r5488048;
}
double f(double alpha, double beta, double i) {
double r5488049 = beta;
double r5488050 = 6.237470943579033e+185;
bool r5488051 = r5488049 <= r5488050;
double r5488052 = i;
double r5488053 = alpha;
double r5488054 = r5488049 + r5488053;
double r5488055 = r5488052 + r5488054;
double r5488056 = r5488052 * r5488055;
double r5488057 = 2.0;
double r5488058 = r5488057 * r5488052;
double r5488059 = r5488054 + r5488058;
double r5488060 = r5488056 / r5488059;
double r5488061 = 1.0;
double r5488062 = sqrt(r5488061);
double r5488063 = r5488062 + r5488059;
double r5488064 = r5488060 / r5488063;
double r5488065 = r5488059 - r5488062;
double r5488066 = r5488053 * r5488049;
double r5488067 = r5488066 + r5488056;
double r5488068 = r5488067 / r5488059;
double r5488069 = r5488065 / r5488068;
double r5488070 = r5488064 / r5488069;
double r5488071 = 0.0;
double r5488072 = r5488051 ? r5488070 : r5488071;
return r5488072;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < 6.237470943579033e+185Initial program 52.9
rmApplied add-sqr-sqrt52.9
Applied difference-of-squares52.9
Applied times-frac37.9
Applied times-frac36.0
rmApplied associate-*r/36.0
rmApplied associate-/l*36.0
if 6.237470943579033e+185 < beta Initial program 64.0
Taylor expanded around inf 45.4
Final simplification37.2
herbie shell --seed 2019179
(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)))