\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\frac{\frac{\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)}{2 \cdot i + \left(\beta + \alpha\right)}}{2.0 + \left(2 \cdot i + \left(\beta + \alpha\right)\right)} \le 0.9999999999530377:\\
\;\;\;\;\frac{\sqrt[3]{\mathsf{fma}\left(\beta + \alpha, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \left(\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2.0\right)}, 1.0\right) \cdot \left(\mathsf{fma}\left(\beta + \alpha, \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right)}}{\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2.0}, 1.0\right) \cdot \sqrt[3]{\left(\mathsf{fma}\left(\beta + \alpha, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \left(\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2.0\right)}, 1.0\right) \cdot \mathsf{fma}\left(\beta + \alpha, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \left(\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2.0\right)}, 1.0\right)\right) \cdot \mathsf{fma}\left(\beta + \alpha, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot \left(\mathsf{fma}\left(2, i, \beta + \alpha\right) + 2.0\right)}, 1.0\right)}\right)}}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(2.0 - \frac{2.0}{\beta}\right) + \frac{4.0}{\beta \cdot \beta}}{2.0}\\
\end{array}double f(double alpha, double beta, double i) {
double r1872073 = alpha;
double r1872074 = beta;
double r1872075 = r1872073 + r1872074;
double r1872076 = r1872074 - r1872073;
double r1872077 = r1872075 * r1872076;
double r1872078 = 2.0;
double r1872079 = i;
double r1872080 = r1872078 * r1872079;
double r1872081 = r1872075 + r1872080;
double r1872082 = r1872077 / r1872081;
double r1872083 = 2.0;
double r1872084 = r1872081 + r1872083;
double r1872085 = r1872082 / r1872084;
double r1872086 = 1.0;
double r1872087 = r1872085 + r1872086;
double r1872088 = r1872087 / r1872083;
return r1872088;
}
double f(double alpha, double beta, double i) {
double r1872089 = beta;
double r1872090 = alpha;
double r1872091 = r1872089 + r1872090;
double r1872092 = r1872089 - r1872090;
double r1872093 = r1872091 * r1872092;
double r1872094 = 2.0;
double r1872095 = i;
double r1872096 = r1872094 * r1872095;
double r1872097 = r1872096 + r1872091;
double r1872098 = r1872093 / r1872097;
double r1872099 = 2.0;
double r1872100 = r1872099 + r1872097;
double r1872101 = r1872098 / r1872100;
double r1872102 = 0.9999999999530377;
bool r1872103 = r1872101 <= r1872102;
double r1872104 = fma(r1872094, r1872095, r1872091);
double r1872105 = r1872104 + r1872099;
double r1872106 = r1872104 * r1872105;
double r1872107 = r1872092 / r1872106;
double r1872108 = 1.0;
double r1872109 = fma(r1872091, r1872107, r1872108);
double r1872110 = r1872092 / r1872104;
double r1872111 = r1872110 / r1872105;
double r1872112 = fma(r1872091, r1872111, r1872108);
double r1872113 = r1872109 * r1872109;
double r1872114 = r1872113 * r1872109;
double r1872115 = cbrt(r1872114);
double r1872116 = r1872112 * r1872115;
double r1872117 = r1872109 * r1872116;
double r1872118 = cbrt(r1872117);
double r1872119 = r1872118 / r1872099;
double r1872120 = r1872099 / r1872089;
double r1872121 = r1872099 - r1872120;
double r1872122 = 4.0;
double r1872123 = r1872089 * r1872089;
double r1872124 = r1872122 / r1872123;
double r1872125 = r1872121 + r1872124;
double r1872126 = r1872125 / r1872099;
double r1872127 = r1872103 ? r1872119 : r1872126;
return r1872127;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
if (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) < 0.9999999999530377Initial program 17.9
Simplified17.8
rmApplied *-un-lft-identity17.8
Applied times-frac16.2
Applied fma-def16.2
rmApplied add-cbrt-cube16.2
Simplified16.2
rmApplied add-cbrt-cube16.2
rmApplied associate-/r*16.3
if 0.9999999999530377 < (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) Initial program 42.0
Simplified42.0
rmApplied *-un-lft-identity42.0
Applied times-frac31.2
Applied fma-def31.2
Taylor expanded around inf 5.0
Simplified5.0
Final simplification13.6
herbie shell --seed 2019154 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1) (> beta -1) (> i 0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))