Average Error: 46.6 → 0.0
Time: 3.1s
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 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}\]
\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;
}

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 < 227.42395475971242

    1. Initial program 45.2

      \[\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{i \cdot i}{\left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1\right) \cdot \left(2 \cdot 2\right)}}\]

    if 227.42395475971242 < i

    1. Initial program 48.1

      \[\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. Simplified31.9

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

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

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

    \[\leadsto \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}\]

Reproduce

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)))