\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 227.423954759712416:\\
\;\;\;\;\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 r122000 = i;
double r122001 = r122000 * r122000;
double r122002 = r122001 * r122001;
double r122003 = 2.0;
double r122004 = r122003 * r122000;
double r122005 = r122004 * r122004;
double r122006 = r122002 / r122005;
double r122007 = 1.0;
double r122008 = r122005 - r122007;
double r122009 = r122006 / r122008;
return r122009;
}
double f(double i) {
double r122010 = i;
double r122011 = 227.42395475971242;
bool r122012 = r122010 <= r122011;
double r122013 = r122010 * r122010;
double r122014 = 2.0;
double r122015 = r122014 * r122010;
double r122016 = r122015 * r122015;
double r122017 = 1.0;
double r122018 = r122016 - r122017;
double r122019 = r122014 * r122014;
double r122020 = r122018 * r122019;
double r122021 = r122013 / r122020;
double r122022 = 0.00390625;
double r122023 = 1.0;
double r122024 = 4.0;
double r122025 = pow(r122010, r122024);
double r122026 = r122023 / r122025;
double r122027 = r122022 * r122026;
double r122028 = 0.015625;
double r122029 = 2.0;
double r122030 = pow(r122010, r122029);
double r122031 = r122023 / r122030;
double r122032 = r122028 * r122031;
double r122033 = 0.0625;
double r122034 = r122032 + r122033;
double r122035 = r122027 + r122034;
double r122036 = r122012 ? r122021 : r122035;
return r122036;
}



Bits error versus i
Results
if i < 227.42395475971242Initial program 45.2
Simplified0.0
if 227.42395475971242 < i Initial program 48.1
Simplified31.9
Taylor expanded around inf 0.0
Final simplification0.0
herbie shell --seed 2020046
(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)))