Average Error: 0.6 → 0
Time: 1.3s
Precision: binary64
\[\frac{1}{x \cdot x}\]
\[{x}^{-2} \cdot 1\]
\frac{1}{x \cdot x}
{x}^{-2} \cdot 1
(FPCore (x) :precision binary64 (/ 1.0 (* x x)))
(FPCore (x) :precision binary64 (* (pow x -2.0) 1.0))
double code(double x) {
	return (1.0 / ((double) (x * x)));
}
double code(double x) {
	return ((double) (((double) pow(x, -2.0)) * 1.0));
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.6
Target0.2
Herbie0
\[\frac{\frac{1}{x}}{x}\]

Derivation

  1. Initial program Error: 0.6 bits

    \[\frac{1}{x \cdot x}\]
  2. Using strategy rm
  3. Applied associate-/r*Error: 0.2 bits

    \[\leadsto \color{blue}{\frac{\frac{1}{x}}{x}}\]
  4. Using strategy rm
  5. Applied add-cube-cbrtError: 0.9 bits

    \[\leadsto \frac{\frac{1}{\color{blue}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}}{x}\]
  6. Applied *-un-lft-identityError: 0.9 bits

    \[\leadsto \frac{\frac{\color{blue}{1 \cdot 1}}{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}}}{x}\]
  7. Applied times-fracError: 0.9 bits

    \[\leadsto \frac{\color{blue}{\frac{1}{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \frac{1}{\sqrt[3]{x}}}}{x}\]
  8. Applied associate-/l*Error: 0.9 bits

    \[\leadsto \color{blue}{\frac{\frac{1}{\sqrt[3]{x} \cdot \sqrt[3]{x}}}{\frac{x}{\frac{1}{\sqrt[3]{x}}}}}\]
  9. SimplifiedError: 0.9 bits

    \[\leadsto \frac{\frac{1}{\sqrt[3]{x} \cdot \sqrt[3]{x}}}{\color{blue}{\sqrt[3]{x} \cdot \frac{x}{1}}}\]
  10. Using strategy rm
  11. Applied cbrt-unprodError: 1.0 bits

    \[\leadsto \frac{\frac{1}{\color{blue}{\sqrt[3]{x \cdot x}}}}{\sqrt[3]{x} \cdot \frac{x}{1}}\]
  12. Using strategy rm
  13. Applied associate-*r/Error: 1.0 bits

    \[\leadsto \frac{\frac{1}{\sqrt[3]{x \cdot x}}}{\color{blue}{\frac{\sqrt[3]{x} \cdot x}{1}}}\]
  14. Applied associate-/r/Error: 1.0 bits

    \[\leadsto \color{blue}{\frac{\frac{1}{\sqrt[3]{x \cdot x}}}{\sqrt[3]{x} \cdot x} \cdot 1}\]
  15. SimplifiedError: 0 bits

    \[\leadsto \color{blue}{{x}^{-2}} \cdot 1\]
  16. Final simplificationError: 0 bits

    \[\leadsto {x}^{-2} \cdot 1\]

Reproduce

herbie shell --seed 2020203 
(FPCore (x)
  :name "Numeric.SpecFunctions:$slogFactorial from math-functions-0.1.5.2, A"
  :precision binary64

  :herbie-target
  (/ (/ 1.0 x) x)

  (/ 1.0 (* x x)))