Average Error: 46.1 → 0.0
Time: 2.3s
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 240.320719614824583:\\ \;\;\;\;\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 240.320719614824583:\\
\;\;\;\;\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 r73529 = i;
        double r73530 = r73529 * r73529;
        double r73531 = r73530 * r73530;
        double r73532 = 2.0;
        double r73533 = r73532 * r73529;
        double r73534 = r73533 * r73533;
        double r73535 = r73531 / r73534;
        double r73536 = 1.0;
        double r73537 = r73534 - r73536;
        double r73538 = r73535 / r73537;
        return r73538;
}

double f(double i) {
        double r73539 = i;
        double r73540 = 240.32071961482458;
        bool r73541 = r73539 <= r73540;
        double r73542 = r73539 * r73539;
        double r73543 = 2.0;
        double r73544 = r73543 * r73539;
        double r73545 = r73544 * r73544;
        double r73546 = 1.0;
        double r73547 = r73545 - r73546;
        double r73548 = r73543 * r73543;
        double r73549 = r73547 * r73548;
        double r73550 = r73542 / r73549;
        double r73551 = 0.00390625;
        double r73552 = 1.0;
        double r73553 = 4.0;
        double r73554 = pow(r73539, r73553);
        double r73555 = r73552 / r73554;
        double r73556 = r73551 * r73555;
        double r73557 = 0.015625;
        double r73558 = 2.0;
        double r73559 = pow(r73539, r73558);
        double r73560 = r73552 / r73559;
        double r73561 = r73557 * r73560;
        double r73562 = 0.0625;
        double r73563 = r73561 + r73562;
        double r73564 = r73556 + r73563;
        double r73565 = r73541 ? r73550 : r73564;
        return r73565;
}

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

    1. Initial program 44.6

      \[\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 240.32071961482458 < i

    1. Initial program 47.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. Simplified32.4

      \[\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 240.320719614824583:\\ \;\;\;\;\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 2020036 
(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)))