\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 1712.592311768091121848556213080883026123:\\
\;\;\;\;\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 r53391 = i;
double r53392 = r53391 * r53391;
double r53393 = r53392 * r53392;
double r53394 = 2.0;
double r53395 = r53394 * r53391;
double r53396 = r53395 * r53395;
double r53397 = r53393 / r53396;
double r53398 = 1.0;
double r53399 = r53396 - r53398;
double r53400 = r53397 / r53399;
return r53400;
}
double f(double i) {
double r53401 = i;
double r53402 = 1712.5923117680911;
bool r53403 = r53401 <= r53402;
double r53404 = r53401 * r53401;
double r53405 = 2.0;
double r53406 = r53405 * r53401;
double r53407 = r53406 * r53406;
double r53408 = 1.0;
double r53409 = r53407 - r53408;
double r53410 = r53405 * r53405;
double r53411 = r53409 * r53410;
double r53412 = r53404 / r53411;
double r53413 = 0.00390625;
double r53414 = 1.0;
double r53415 = 4.0;
double r53416 = pow(r53401, r53415);
double r53417 = r53414 / r53416;
double r53418 = r53413 * r53417;
double r53419 = 0.015625;
double r53420 = 2.0;
double r53421 = pow(r53401, r53420);
double r53422 = r53414 / r53421;
double r53423 = r53419 * r53422;
double r53424 = 0.0625;
double r53425 = r53423 + r53424;
double r53426 = r53418 + r53425;
double r53427 = r53403 ? r53412 : r53426;
return r53427;
}



Bits error versus i
Results
if i < 1712.5923117680911Initial program 45.3
Simplified0.0
if 1712.5923117680911 < i Initial program 48.7
Simplified33.2
Taylor expanded around inf 0.0
Final simplification0.0
herbie shell --seed 2019291
(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)))