Average Error: 46.9 → 0.0
Time: 1.8s
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 3729.0156333395453:\\ \;\;\;\;\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}\]
\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 3729.0156333395453:\\
\;\;\;\;\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 r80577 = i;
        double r80578 = r80577 * r80577;
        double r80579 = r80578 * r80578;
        double r80580 = 2.0;
        double r80581 = r80580 * r80577;
        double r80582 = r80581 * r80581;
        double r80583 = r80579 / r80582;
        double r80584 = 1.0;
        double r80585 = r80582 - r80584;
        double r80586 = r80583 / r80585;
        return r80586;
}

double f(double i) {
        double r80587 = i;
        double r80588 = 3729.0156333395453;
        bool r80589 = r80587 <= r80588;
        double r80590 = r80587 * r80587;
        double r80591 = 2.0;
        double r80592 = r80591 * r80587;
        double r80593 = r80592 * r80592;
        double r80594 = 1.0;
        double r80595 = r80593 - r80594;
        double r80596 = r80591 * r80591;
        double r80597 = r80595 * r80596;
        double r80598 = r80590 / r80597;
        double r80599 = 0.00390625;
        double r80600 = 1.0;
        double r80601 = 4.0;
        double r80602 = pow(r80587, r80601);
        double r80603 = r80600 / r80602;
        double r80604 = r80599 * r80603;
        double r80605 = 0.015625;
        double r80606 = 2.0;
        double r80607 = pow(r80587, r80606);
        double r80608 = r80600 / r80607;
        double r80609 = r80605 * r80608;
        double r80610 = 0.0625;
        double r80611 = r80609 + r80610;
        double r80612 = r80604 + r80611;
        double r80613 = r80589 ? r80598 : r80612;
        return r80613;
}

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

    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 3729.0156333395453 < i

    1. Initial program 48.7

      \[\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. Simplified33.1

      \[\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)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;i \le 3729.0156333395453:\\ \;\;\;\;\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}\]

Reproduce

herbie shell --seed 2020024 
(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)))