\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 219.59142050633432:\\
\;\;\;\;\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 r103870 = i;
double r103871 = r103870 * r103870;
double r103872 = r103871 * r103871;
double r103873 = 2.0;
double r103874 = r103873 * r103870;
double r103875 = r103874 * r103874;
double r103876 = r103872 / r103875;
double r103877 = 1.0;
double r103878 = r103875 - r103877;
double r103879 = r103876 / r103878;
return r103879;
}
double f(double i) {
double r103880 = i;
double r103881 = 219.59142050633432;
bool r103882 = r103880 <= r103881;
double r103883 = r103880 * r103880;
double r103884 = 2.0;
double r103885 = r103884 * r103880;
double r103886 = r103885 * r103885;
double r103887 = 1.0;
double r103888 = r103886 - r103887;
double r103889 = r103884 * r103884;
double r103890 = r103888 * r103889;
double r103891 = r103883 / r103890;
double r103892 = 0.00390625;
double r103893 = 1.0;
double r103894 = 4.0;
double r103895 = pow(r103880, r103894);
double r103896 = r103893 / r103895;
double r103897 = r103892 * r103896;
double r103898 = 0.015625;
double r103899 = 2.0;
double r103900 = pow(r103880, r103899);
double r103901 = r103893 / r103900;
double r103902 = r103898 * r103901;
double r103903 = 0.0625;
double r103904 = r103902 + r103903;
double r103905 = r103897 + r103904;
double r103906 = r103882 ? r103891 : r103905;
return r103906;
}



Bits error versus i
Results
if i < 219.59142050633432Initial program 44.3
Simplified0.0
if 219.59142050633432 < i Initial program 48.8
Simplified32.7
Taylor expanded around inf 0.0
Final simplification0.0
herbie shell --seed 2020060
(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)))