Average Error: 46.7 → 0.2
Time: 13.9s
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}{2 \cdot 2} \cdot \left(i \cdot \frac{1}{\left(2 \cdot 2\right) \cdot i - \frac{1}{i}}\right)\]
\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}{2 \cdot 2} \cdot \left(i \cdot \frac{1}{\left(2 \cdot 2\right) \cdot i - \frac{1}{i}}\right)
double f(double i) {
        double r103971 = i;
        double r103972 = r103971 * r103971;
        double r103973 = r103972 * r103972;
        double r103974 = 2.0;
        double r103975 = r103974 * r103971;
        double r103976 = r103975 * r103975;
        double r103977 = r103973 / r103976;
        double r103978 = 1.0;
        double r103979 = r103976 - r103978;
        double r103980 = r103977 / r103979;
        return r103980;
}

double f(double i) {
        double r103981 = 1.0;
        double r103982 = 2.0;
        double r103983 = r103982 * r103982;
        double r103984 = r103981 / r103983;
        double r103985 = i;
        double r103986 = r103983 * r103985;
        double r103987 = 1.0;
        double r103988 = r103987 / r103985;
        double r103989 = r103986 - r103988;
        double r103990 = r103981 / r103989;
        double r103991 = r103985 * r103990;
        double r103992 = r103984 * r103991;
        return r103992;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.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. Simplified0.2

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

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

    \[\leadsto \color{blue}{\frac{1}{2 \cdot 2} \cdot \frac{i}{\left(2 \cdot 2\right) \cdot i - \frac{1}{i}}}\]
  6. Using strategy rm
  7. Applied div-inv0.2

    \[\leadsto \frac{1}{2 \cdot 2} \cdot \color{blue}{\left(i \cdot \frac{1}{\left(2 \cdot 2\right) \cdot i - \frac{1}{i}}\right)}\]
  8. Final simplification0.2

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

Reproduce

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