Average Error: 0.0 → 0.0
Time: 3.0s
Precision: binary64
\[x - \frac{1}{3}\]
\[\left(x + \frac{1}{3}\right) \cdot \frac{x - \frac{1}{3}}{x + \frac{1}{3}}\]
x - \frac{1}{3}
\left(x + \frac{1}{3}\right) \cdot \frac{x - \frac{1}{3}}{x + \frac{1}{3}}
double code(double x) {
	return ((double) (x - ((double) (1.0 / 3.0))));
}
double code(double x) {
	return ((double) (((double) (x + ((double) (1.0 / 3.0)))) * ((double) (((double) (x - ((double) (1.0 / 3.0)))) / ((double) (x + ((double) (1.0 / 3.0))))))));
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[x - \frac{1}{3}\]
  2. Using strategy rm
  3. Applied flip--16.5

    \[\leadsto \color{blue}{\frac{x \cdot x - \frac{1}{3} \cdot \frac{1}{3}}{x + \frac{1}{3}}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity16.5

    \[\leadsto \frac{x \cdot x - \frac{1}{3} \cdot \frac{1}{3}}{\color{blue}{1 \cdot \left(x + \frac{1}{3}\right)}}\]
  6. Applied difference-of-squares16.5

    \[\leadsto \frac{\color{blue}{\left(x + \frac{1}{3}\right) \cdot \left(x - \frac{1}{3}\right)}}{1 \cdot \left(x + \frac{1}{3}\right)}\]
  7. Applied times-frac0.0

    \[\leadsto \color{blue}{\frac{x + \frac{1}{3}}{1} \cdot \frac{x - \frac{1}{3}}{x + \frac{1}{3}}}\]
  8. Simplified0.0

    \[\leadsto \color{blue}{\left(x + \frac{1}{3}\right)} \cdot \frac{x - \frac{1}{3}}{x + \frac{1}{3}}\]
  9. Final simplification0.0

    \[\leadsto \left(x + \frac{1}{3}\right) \cdot \frac{x - \frac{1}{3}}{x + \frac{1}{3}}\]

Reproduce

herbie shell --seed 2020177 
(FPCore (x)
  :name "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, G"
  :precision binary64
  (- x (/ 1.0 3.0)))