\frac{\frac{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1}\begin{array}{l}
\mathbf{if}\;i \le 383.2464823959830368949042167514562606812:\\
\;\;\;\;\frac{i \cdot i}{\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1\right) \cdot \left(2 \cdot 2\right)}\\
\mathbf{else}:\\
\;\;\;\;0.00390625 \cdot \frac{1}{{i}^{4}} + \left(0.015625 \cdot \frac{1}{{i}^{2}} + 0.0625\right)\\
\end{array}double f(double i) {
double r120009 = i;
double r120010 = r120009 * r120009;
double r120011 = r120010 * r120010;
double r120012 = 2.0;
double r120013 = r120012 * r120009;
double r120014 = r120013 * r120013;
double r120015 = r120011 / r120014;
double r120016 = 1.0;
double r120017 = r120014 - r120016;
double r120018 = r120015 / r120017;
return r120018;
}
double f(double i) {
double r120019 = i;
double r120020 = 383.24648239598304;
bool r120021 = r120019 <= r120020;
double r120022 = r120019 * r120019;
double r120023 = 2.0;
double r120024 = r120023 * r120019;
double r120025 = r120024 * r120024;
double r120026 = 1.0;
double r120027 = r120025 - r120026;
double r120028 = r120023 * r120023;
double r120029 = r120027 * r120028;
double r120030 = r120022 / r120029;
double r120031 = 0.00390625;
double r120032 = 1.0;
double r120033 = 4.0;
double r120034 = pow(r120019, r120033);
double r120035 = r120032 / r120034;
double r120036 = r120031 * r120035;
double r120037 = 0.015625;
double r120038 = 2.0;
double r120039 = pow(r120019, r120038);
double r120040 = r120032 / r120039;
double r120041 = r120037 * r120040;
double r120042 = 0.0625;
double r120043 = r120041 + r120042;
double r120044 = r120036 + r120043;
double r120045 = r120021 ? r120030 : r120044;
return r120045;
}



Bits error versus i
Results
if i < 383.24648239598304Initial program 45.6
Simplified0.0
if 383.24648239598304 < i Initial program 48.2
Simplified31.5
Taylor expanded around inf 0.0
Final simplification0.0
herbie shell --seed 2019352
(FPCore (i)
:name "Octave 3.8, jcobi/4, as called"
:precision binary64
:pre (and (> i 0.0))
(/ (/ (* (* i i) (* i i)) (* (* 2 i) (* 2 i))) (- (* (* 2 i) (* 2 i)) 1)))