\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 217.9947108587691388947860104963183403015:\\
\;\;\;\;\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}:\\
\;\;\;\;\mathsf{fma}\left(0.00390625, \frac{1}{{i}^{4}}, \mathsf{fma}\left(0.015625, \frac{1}{{i}^{2}}, 0.0625\right)\right)\\
\end{array}double f(double i) {
double r92454 = i;
double r92455 = r92454 * r92454;
double r92456 = r92455 * r92455;
double r92457 = 2.0;
double r92458 = r92457 * r92454;
double r92459 = r92458 * r92458;
double r92460 = r92456 / r92459;
double r92461 = 1.0;
double r92462 = r92459 - r92461;
double r92463 = r92460 / r92462;
return r92463;
}
double f(double i) {
double r92464 = i;
double r92465 = 217.99471085876914;
bool r92466 = r92464 <= r92465;
double r92467 = r92464 * r92464;
double r92468 = 2.0;
double r92469 = r92468 * r92464;
double r92470 = r92469 * r92469;
double r92471 = 1.0;
double r92472 = r92470 - r92471;
double r92473 = r92468 * r92468;
double r92474 = r92472 * r92473;
double r92475 = r92467 / r92474;
double r92476 = 0.00390625;
double r92477 = 1.0;
double r92478 = 4.0;
double r92479 = pow(r92464, r92478);
double r92480 = r92477 / r92479;
double r92481 = 0.015625;
double r92482 = 2.0;
double r92483 = pow(r92464, r92482);
double r92484 = r92477 / r92483;
double r92485 = 0.0625;
double r92486 = fma(r92481, r92484, r92485);
double r92487 = fma(r92476, r92480, r92486);
double r92488 = r92466 ? r92475 : r92487;
return r92488;
}



Bits error versus i
if i < 217.99471085876914Initial program 44.7
Simplified0.0
if 217.99471085876914 < i Initial program 48.4
Simplified32.6
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020001 +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)))