Average Error: 46.7 → 0.0
Time: 14.4s
Precision: 64
\[i \gt 0.0\]
\[\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 220.1244585591758209375257138162851333618:\\ \;\;\;\;\frac{\frac{i}{2}}{\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) \cdot \left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) - 1 \cdot 1} \cdot \left(\frac{i}{2} \cdot \left(1 + \left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;0.0625 + \left(\frac{0.015625}{i \cdot i} + \frac{0.00390625}{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}\right)\\ \end{array}\]
\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 220.1244585591758209375257138162851333618:\\
\;\;\;\;\frac{\frac{i}{2}}{\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) \cdot \left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) - 1 \cdot 1} \cdot \left(\frac{i}{2} \cdot \left(1 + \left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;0.0625 + \left(\frac{0.015625}{i \cdot i} + \frac{0.00390625}{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}\right)\\

\end{array}
double f(double i) {
        double r2798341 = i;
        double r2798342 = r2798341 * r2798341;
        double r2798343 = r2798342 * r2798342;
        double r2798344 = 2.0;
        double r2798345 = r2798344 * r2798341;
        double r2798346 = r2798345 * r2798345;
        double r2798347 = r2798343 / r2798346;
        double r2798348 = 1.0;
        double r2798349 = r2798346 - r2798348;
        double r2798350 = r2798347 / r2798349;
        return r2798350;
}

double f(double i) {
        double r2798351 = i;
        double r2798352 = 220.12445855917582;
        bool r2798353 = r2798351 <= r2798352;
        double r2798354 = 2.0;
        double r2798355 = r2798351 / r2798354;
        double r2798356 = r2798354 * r2798351;
        double r2798357 = r2798356 * r2798356;
        double r2798358 = r2798357 * r2798357;
        double r2798359 = 1.0;
        double r2798360 = r2798359 * r2798359;
        double r2798361 = r2798358 - r2798360;
        double r2798362 = r2798355 / r2798361;
        double r2798363 = r2798359 + r2798357;
        double r2798364 = r2798355 * r2798363;
        double r2798365 = r2798362 * r2798364;
        double r2798366 = 0.0625;
        double r2798367 = 0.015625;
        double r2798368 = r2798351 * r2798351;
        double r2798369 = r2798367 / r2798368;
        double r2798370 = 0.00390625;
        double r2798371 = r2798368 * r2798368;
        double r2798372 = r2798370 / r2798371;
        double r2798373 = r2798369 + r2798372;
        double r2798374 = r2798366 + r2798373;
        double r2798375 = r2798353 ? r2798365 : r2798374;
        return r2798375;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if i < 220.12445855917582

    1. Initial program 45.4

      \[\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}\]
    2. Simplified0.0

      \[\leadsto \color{blue}{\frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1} \cdot \frac{i}{2}}\]
    3. Using strategy rm
    4. Applied flip--0.0

      \[\leadsto \frac{\frac{i}{2}}{\color{blue}{\frac{\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) \cdot \left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) - 1 \cdot 1}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) + 1}}} \cdot \frac{i}{2}\]
    5. Applied associate-/r/0.0

      \[\leadsto \color{blue}{\left(\frac{\frac{i}{2}}{\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) \cdot \left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) - 1 \cdot 1} \cdot \left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) + 1\right)\right)} \cdot \frac{i}{2}\]
    6. Applied associate-*l*0.0

      \[\leadsto \color{blue}{\frac{\frac{i}{2}}{\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) \cdot \left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) - 1 \cdot 1} \cdot \left(\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) + 1\right) \cdot \frac{i}{2}\right)}\]

    if 220.12445855917582 < i

    1. Initial program 47.9

      \[\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}\]
    2. Simplified30.7

      \[\leadsto \color{blue}{\frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1} \cdot \frac{i}{2}}\]
    3. Taylor expanded around inf 0.0

      \[\leadsto \color{blue}{0.015625 \cdot \frac{1}{{i}^{2}} + \left(0.0625 + 0.00390625 \cdot \frac{1}{{i}^{4}}\right)}\]
    4. Simplified0

      \[\leadsto \color{blue}{0.0625 + \left(\frac{0.00390625}{\left(i \cdot i\right) \cdot \left(i \cdot i\right)} + \frac{0.015625}{i \cdot i}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;i \le 220.1244585591758209375257138162851333618:\\ \;\;\;\;\frac{\frac{i}{2}}{\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) \cdot \left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right) - 1 \cdot 1} \cdot \left(\frac{i}{2} \cdot \left(1 + \left(2 \cdot i\right) \cdot \left(2 \cdot i\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;0.0625 + \left(\frac{0.015625}{i \cdot i} + \frac{0.00390625}{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019172 
(FPCore (i)
  :name "Octave 3.8, jcobi/4, as called"
  :pre (and (> i 0.0))
  (/ (/ (* (* i i) (* i i)) (* (* 2.0 i) (* 2.0 i))) (- (* (* 2.0 i) (* 2.0 i)) 1.0)))