Average Error: 47.2 → 0.1
Time: 5.1min
Precision: binary64
Cost: 960
\[i > 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{i \cdot \frac{i}{2 + i \cdot 4}}{i \cdot 4 + -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}
\frac{i \cdot \frac{i}{2 + i \cdot 4}}{i \cdot 4 + -2}
(FPCore (i)
 :precision binary64
 (/
  (/ (* (* i i) (* i i)) (* (* 2.0 i) (* 2.0 i)))
  (- (* (* 2.0 i) (* 2.0 i)) 1.0)))
(FPCore (i)
 :precision binary64
 (/ (* i (/ i (+ 2.0 (* i 4.0)))) (+ (* i 4.0) -2.0)))
double code(double i) {
	return (((i * i) * (i * i)) / ((2.0 * i) * (2.0 * i))) / (((2.0 * i) * (2.0 * i)) - 1.0);
}
double code(double i) {
	return (i * (i / (2.0 + (i * 4.0)))) / ((i * 4.0) + -2.0);
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Alternatives

Alternative 1
Error0.1
Cost960
\[\frac{0.5}{2 + \frac{1}{i}} \cdot \frac{0.5}{2 - \frac{1}{i}}\]
Alternative 2
Error0.1
Cost832
\[\frac{\frac{-0.25}{2 + \frac{1}{i}}}{-2 + \frac{1}{i}}\]
Alternative 3
Error0.4
Cost576
\[\frac{-0.25}{\frac{1}{i \cdot i} - 4}\]
Alternative 4
Error0.4
Cost769
\[\begin{array}{l} \mathbf{if}\;i \leq 0.5069003172104452:\\ \;\;\;\;i \cdot \left(i \cdot -0.25\right)\\ \mathbf{else}:\\ \;\;\;\;0.0625 + \frac{0.015625}{i \cdot i}\\ \end{array}\]
Alternative 5
Error0.6
Cost641
\[\begin{array}{l} \mathbf{if}\;i \leq 0.5069003172104452:\\ \;\;\;\;i \cdot \left(i \cdot -0.25\right)\\ \mathbf{else}:\\ \;\;\;\;0.0625\\ \end{array}\]
Alternative 6
Error15.7
Cost385
\[\begin{array}{l} \mathbf{if}\;i \leq 0.5069003172104452:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;0.0625\\ \end{array}\]
Alternative 7
Error31.5
Cost64
\[0.0625\]

Error

Time

Derivation

  1. Initial program 47.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. Using strategy rm
  3. Applied difference-of-sqr-1_binary64_38947.2

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

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

    \[\leadsto \color{blue}{\frac{\frac{i \cdot i}{2 \cdot i}}{2 \cdot i + 1} \cdot \frac{\frac{i \cdot i}{2 \cdot i}}{2 \cdot i - 1}}\]
  6. Simplified16.1

    \[\leadsto \color{blue}{\frac{\frac{i}{2}}{i \cdot 2 + 1}} \cdot \frac{\frac{i \cdot i}{2 \cdot i}}{2 \cdot i - 1}\]
  7. Simplified0.1

    \[\leadsto \frac{\frac{i}{2}}{i \cdot 2 + 1} \cdot \color{blue}{\frac{\frac{i}{2}}{i \cdot 2 - 1}}\]
  8. Using strategy rm
  9. Applied associate-*r/_binary64_3610.1

    \[\leadsto \color{blue}{\frac{\frac{\frac{i}{2}}{i \cdot 2 + 1} \cdot \frac{i}{2}}{i \cdot 2 - 1}}\]
  10. Simplified0.1

    \[\leadsto \frac{\color{blue}{\frac{i}{2} \cdot \frac{i}{2 + 4 \cdot i}}}{i \cdot 2 - 1}\]
  11. Using strategy rm
  12. Applied associate-*l/_binary64_3620.1

    \[\leadsto \frac{\color{blue}{\frac{i \cdot \frac{i}{2 + 4 \cdot i}}{2}}}{i \cdot 2 - 1}\]
  13. Applied associate-/l/_binary64_3660.1

    \[\leadsto \color{blue}{\frac{i \cdot \frac{i}{2 + 4 \cdot i}}{\left(i \cdot 2 - 1\right) \cdot 2}}\]
  14. Simplified0.1

    \[\leadsto \frac{i \cdot \frac{i}{2 + 4 \cdot i}}{\color{blue}{i \cdot 4 + -2}}\]
  15. Using strategy rm
  16. Applied *-commutative_binary64_3500.1

    \[\leadsto \frac{\color{blue}{\frac{i}{2 + 4 \cdot i} \cdot i}}{i \cdot 4 + -2}\]
  17. Simplified0.1

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

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

Reproduce

herbie shell --seed 2021065 
(FPCore (i)
  :name "Octave 3.8, jcobi/4, as called"
  :precision binary64
  :pre (and (> i 0.0))
  (/ (/ (* (* i i) (* i i)) (* (* 2.0 i) (* 2.0 i))) (- (* (* 2.0 i) (* 2.0 i)) 1.0)))