Average Error: 46.3 → 0.1
Time: 17.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}\]
\[\frac{1}{\frac{i \cdot 2 - \sqrt{1}}{\frac{i}{2}}} \cdot \frac{\frac{i}{2}}{i \cdot 2 + \sqrt{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}
\frac{1}{\frac{i \cdot 2 - \sqrt{1}}{\frac{i}{2}}} \cdot \frac{\frac{i}{2}}{i \cdot 2 + \sqrt{1}}
double f(double i) {
        double r3609015 = i;
        double r3609016 = r3609015 * r3609015;
        double r3609017 = r3609016 * r3609016;
        double r3609018 = 2.0;
        double r3609019 = r3609018 * r3609015;
        double r3609020 = r3609019 * r3609019;
        double r3609021 = r3609017 / r3609020;
        double r3609022 = 1.0;
        double r3609023 = r3609020 - r3609022;
        double r3609024 = r3609021 / r3609023;
        return r3609024;
}

double f(double i) {
        double r3609025 = 1.0;
        double r3609026 = i;
        double r3609027 = 2.0;
        double r3609028 = r3609026 * r3609027;
        double r3609029 = 1.0;
        double r3609030 = sqrt(r3609029);
        double r3609031 = r3609028 - r3609030;
        double r3609032 = r3609026 / r3609027;
        double r3609033 = r3609031 / r3609032;
        double r3609034 = r3609025 / r3609033;
        double r3609035 = r3609028 + r3609030;
        double r3609036 = r3609032 / r3609035;
        double r3609037 = r3609034 * r3609036;
        return r3609037;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.3

    \[\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. Simplified15.6

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

    \[\leadsto \frac{\frac{i}{2} \cdot \frac{i}{2}}{\left(i \cdot 2\right) \cdot \left(i \cdot 2\right) - \color{blue}{\sqrt{1} \cdot \sqrt{1}}}\]
  5. Applied difference-of-squares15.6

    \[\leadsto \frac{\frac{i}{2} \cdot \frac{i}{2}}{\color{blue}{\left(i \cdot 2 + \sqrt{1}\right) \cdot \left(i \cdot 2 - \sqrt{1}\right)}}\]
  6. Applied times-frac0.0

    \[\leadsto \color{blue}{\frac{\frac{i}{2}}{i \cdot 2 + \sqrt{1}} \cdot \frac{\frac{i}{2}}{i \cdot 2 - \sqrt{1}}}\]
  7. Using strategy rm
  8. Applied clear-num0.1

    \[\leadsto \frac{\frac{i}{2}}{i \cdot 2 + \sqrt{1}} \cdot \color{blue}{\frac{1}{\frac{i \cdot 2 - \sqrt{1}}{\frac{i}{2}}}}\]
  9. Final simplification0.1

    \[\leadsto \frac{1}{\frac{i \cdot 2 - \sqrt{1}}{\frac{i}{2}}} \cdot \frac{\frac{i}{2}}{i \cdot 2 + \sqrt{1}}\]

Reproduce

herbie shell --seed 2019174 +o rules:numerics
(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)))