\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.362422161808940266728771203266420138041 \cdot 10^{154}:\\
\;\;\;\;\frac{\frac{i}{\frac{\mathsf{fma}\left(2, i, \alpha + \beta\right)}{\left(\alpha + \beta\right) + i}}}{\sqrt{1} + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \left(\frac{\sqrt{\mathsf{fma}\left(i, \left(\beta + i\right) + \alpha, \beta \cdot \alpha\right)}}{\mathsf{fma}\left(2, i, \alpha + \beta\right) - \sqrt{1}} \cdot \frac{\sqrt{\mathsf{fma}\left(i, \left(\beta + i\right) + \alpha, \beta \cdot \alpha\right)}}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{0}{\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}\\
\end{array}double f(double alpha, double beta, double i) {
double r83130 = i;
double r83131 = alpha;
double r83132 = beta;
double r83133 = r83131 + r83132;
double r83134 = r83133 + r83130;
double r83135 = r83130 * r83134;
double r83136 = r83132 * r83131;
double r83137 = r83136 + r83135;
double r83138 = r83135 * r83137;
double r83139 = 2.0;
double r83140 = r83139 * r83130;
double r83141 = r83133 + r83140;
double r83142 = r83141 * r83141;
double r83143 = r83138 / r83142;
double r83144 = 1.0;
double r83145 = r83142 - r83144;
double r83146 = r83143 / r83145;
return r83146;
}
double f(double alpha, double beta, double i) {
double r83147 = i;
double r83148 = 1.3624221618089403e+154;
bool r83149 = r83147 <= r83148;
double r83150 = 2.0;
double r83151 = alpha;
double r83152 = beta;
double r83153 = r83151 + r83152;
double r83154 = fma(r83150, r83147, r83153);
double r83155 = r83153 + r83147;
double r83156 = r83154 / r83155;
double r83157 = r83147 / r83156;
double r83158 = 1.0;
double r83159 = sqrt(r83158);
double r83160 = r83159 + r83154;
double r83161 = r83157 / r83160;
double r83162 = r83152 + r83147;
double r83163 = r83162 + r83151;
double r83164 = r83152 * r83151;
double r83165 = fma(r83147, r83163, r83164);
double r83166 = sqrt(r83165);
double r83167 = r83154 - r83159;
double r83168 = r83166 / r83167;
double r83169 = r83166 / r83154;
double r83170 = r83168 * r83169;
double r83171 = r83161 * r83170;
double r83172 = 0.0;
double r83173 = r83150 * r83147;
double r83174 = r83153 + r83173;
double r83175 = r83174 * r83174;
double r83176 = r83172 / r83175;
double r83177 = r83175 - r83158;
double r83178 = r83176 / r83177;
double r83179 = r83149 ? r83171 : r83178;
return r83179;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if i < 1.3624221618089403e+154Initial program 44.4
rmApplied add-sqr-sqrt44.4
Applied difference-of-squares44.4
Applied times-frac16.1
Applied times-frac11.8
Simplified11.8
Simplified16.1
rmApplied add-sqr-sqrt16.1
Applied times-frac11.8
rmApplied associate-/l*11.8
if 1.3624221618089403e+154 < i Initial program 64.0
Taylor expanded around 0 61.9
Final simplification36.4
herbie shell --seed 2019209 +o rules:numerics
(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)))