\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 4.82276421781825579 \cdot 10^{120}:\\
\;\;\;\;\sqrt{\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{\frac{\beta \cdot \alpha + 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 \sqrt{\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{\frac{\beta \cdot \alpha + 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}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{i}{1}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}}} \cdot \left(\frac{\frac{\left(\alpha + \beta\right) + i}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}}} \cdot \frac{0.25 \cdot \alpha + \left(0.5 \cdot i + 0.25 \cdot \beta\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}\right)\\
\end{array}double f(double alpha, double beta, double i) {
double r183077 = i;
double r183078 = alpha;
double r183079 = beta;
double r183080 = r183078 + r183079;
double r183081 = r183080 + r183077;
double r183082 = r183077 * r183081;
double r183083 = r183079 * r183078;
double r183084 = r183083 + r183082;
double r183085 = r183082 * r183084;
double r183086 = 2.0;
double r183087 = r183086 * r183077;
double r183088 = r183080 + r183087;
double r183089 = r183088 * r183088;
double r183090 = r183085 / r183089;
double r183091 = 1.0;
double r183092 = r183089 - r183091;
double r183093 = r183090 / r183092;
return r183093;
}
double f(double alpha, double beta, double i) {
double r183094 = i;
double r183095 = 4.822764217818256e+120;
bool r183096 = r183094 <= r183095;
double r183097 = alpha;
double r183098 = beta;
double r183099 = r183097 + r183098;
double r183100 = r183099 + r183094;
double r183101 = r183094 * r183100;
double r183102 = 2.0;
double r183103 = r183102 * r183094;
double r183104 = r183099 + r183103;
double r183105 = r183101 / r183104;
double r183106 = 1.0;
double r183107 = sqrt(r183106);
double r183108 = r183104 + r183107;
double r183109 = r183105 / r183108;
double r183110 = r183098 * r183097;
double r183111 = r183110 + r183101;
double r183112 = r183111 / r183104;
double r183113 = r183104 - r183107;
double r183114 = r183112 / r183113;
double r183115 = r183109 * r183114;
double r183116 = sqrt(r183115);
double r183117 = r183116 * r183116;
double r183118 = 1.0;
double r183119 = r183094 / r183118;
double r183120 = sqrt(r183108);
double r183121 = r183119 / r183120;
double r183122 = r183100 / r183104;
double r183123 = r183122 / r183120;
double r183124 = 0.25;
double r183125 = r183124 * r183097;
double r183126 = 0.5;
double r183127 = r183126 * r183094;
double r183128 = r183124 * r183098;
double r183129 = r183127 + r183128;
double r183130 = r183125 + r183129;
double r183131 = r183130 / r183113;
double r183132 = r183123 * r183131;
double r183133 = r183121 * r183132;
double r183134 = r183096 ? r183117 : r183133;
return r183134;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if i < 4.822764217818256e+120Initial program 38.5
rmApplied add-sqr-sqrt38.5
Applied difference-of-squares38.5
Applied times-frac14.5
Applied times-frac9.4
rmApplied add-sqr-sqrt9.4
if 4.822764217818256e+120 < i Initial program 64.0
rmApplied add-sqr-sqrt64.0
Applied difference-of-squares64.0
Applied times-frac56.1
Applied times-frac55.8
rmApplied add-sqr-sqrt55.8
Applied *-un-lft-identity55.8
Applied times-frac55.8
Applied times-frac55.8
Applied associate-*l*55.8
Taylor expanded around 0 12.2
Final simplification11.1
herbie shell --seed 2020060
(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)))