\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}:\\
\;\;\;\;\frac{0.00390625}{{i}^{4}} + \left(\frac{0.015625}{{i}^{2}} + 0.0625\right)\\
\end{array}double f(double i) {
double r75310 = i;
double r75311 = r75310 * r75310;
double r75312 = r75311 * r75311;
double r75313 = 2.0;
double r75314 = r75313 * r75310;
double r75315 = r75314 * r75314;
double r75316 = r75312 / r75315;
double r75317 = 1.0;
double r75318 = r75315 - r75317;
double r75319 = r75316 / r75318;
return r75319;
}
double f(double i) {
double r75320 = i;
double r75321 = 227.42395475971242;
bool r75322 = r75320 <= r75321;
double r75323 = r75320 * r75320;
double r75324 = 2.0;
double r75325 = r75324 * r75320;
double r75326 = r75325 * r75325;
double r75327 = 1.0;
double r75328 = r75326 - r75327;
double r75329 = r75324 * r75324;
double r75330 = r75328 * r75329;
double r75331 = r75323 / r75330;
double r75332 = 0.00390625;
double r75333 = 4.0;
double r75334 = pow(r75320, r75333);
double r75335 = r75332 / r75334;
double r75336 = 0.015625;
double r75337 = 2.0;
double r75338 = pow(r75320, r75337);
double r75339 = r75336 / r75338;
double r75340 = 0.0625;
double r75341 = r75339 + r75340;
double r75342 = r75335 + r75341;
double r75343 = r75322 ? r75331 : r75342;
return r75343;
}



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
Simplified0.0
Final simplification0.0
herbie shell --seed 2020046 +o rules:numerics
(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)))