\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}:\\
\;\;\;\;\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 r45535 = i;
double r45536 = r45535 * r45535;
double r45537 = r45536 * r45536;
double r45538 = 2.0;
double r45539 = r45538 * r45535;
double r45540 = r45539 * r45539;
double r45541 = r45537 / r45540;
double r45542 = 1.0;
double r45543 = r45540 - r45542;
double r45544 = r45541 / r45543;
return r45544;
}
double f(double i) {
double r45545 = i;
double r45546 = 219.59142050633432;
bool r45547 = r45545 <= r45546;
double r45548 = r45545 * r45545;
double r45549 = 2.0;
double r45550 = r45549 * r45545;
double r45551 = r45550 * r45550;
double r45552 = 1.0;
double r45553 = r45551 - r45552;
double r45554 = r45549 * r45549;
double r45555 = r45553 * r45554;
double r45556 = r45548 / r45555;
double r45557 = 0.00390625;
double r45558 = 1.0;
double r45559 = 4.0;
double r45560 = pow(r45545, r45559);
double r45561 = r45558 / r45560;
double r45562 = 0.015625;
double r45563 = 2.0;
double r45564 = pow(r45545, r45563);
double r45565 = r45558 / r45564;
double r45566 = 0.0625;
double r45567 = fma(r45562, r45565, r45566);
double r45568 = fma(r45557, r45561, r45567);
double r45569 = r45547 ? r45556 : r45568;
return r45569;
}



Bits error versus i
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
Simplified0.0
Final simplification0.0
herbie shell --seed 2020060 +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)))