Average Error: 42.4 → 42.4
Time: 1.1s
Precision: binary64
\[\frac{\frac{2}{3} \cdot \left(\left(y1 \cdot y1\right) \cdot y1 - \left(y0 \cdot y0\right) \cdot y0\right)}{y1 \cdot y1 - y0 \cdot y0}\]
\[\frac{\frac{2}{3} \cdot \left(\left(y1 \cdot y1\right) \cdot y1 - \left(y0 \cdot y0\right) \cdot y0\right)}{y1 \cdot y1 - y0 \cdot y0}\]
\frac{\frac{2}{3} \cdot \left(\left(y1 \cdot y1\right) \cdot y1 - \left(y0 \cdot y0\right) \cdot y0\right)}{y1 \cdot y1 - y0 \cdot y0}
\frac{\frac{2}{3} \cdot \left(\left(y1 \cdot y1\right) \cdot y1 - \left(y0 \cdot y0\right) \cdot y0\right)}{y1 \cdot y1 - y0 \cdot y0}
double code(double y1, double y0) {
	return ((double) (((double) (((double) (2.0 / 3.0)) * ((double) (((double) (((double) (y1 * y1)) * y1)) - ((double) (((double) (y0 * y0)) * y0)))))) / ((double) (((double) (y1 * y1)) - ((double) (y0 * y0))))));
}
double code(double y1, double y0) {
	return ((double) (((double) (((double) (2.0 / 3.0)) * ((double) (((double) (((double) (y1 * y1)) * y1)) - ((double) (((double) (y0 * y0)) * y0)))))) / ((double) (((double) (y1 * y1)) - ((double) (y0 * y0))))));
}

Error

Bits error versus y1

Bits error versus y0

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 42.4

    \[\frac{\frac{2}{3} \cdot \left(\left(y1 \cdot y1\right) \cdot y1 - \left(y0 \cdot y0\right) \cdot y0\right)}{y1 \cdot y1 - y0 \cdot y0}\]
  2. Final simplification42.4

    \[\leadsto \frac{\frac{2}{3} \cdot \left(\left(y1 \cdot y1\right) \cdot y1 - \left(y0 \cdot y0\right) \cdot y0\right)}{y1 \cdot y1 - y0 \cdot y0}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (y1 y0)
  :name "(/ (* (/ 2.0 3.0) (- (* (* y1 y1) y1) (* (* y0 y0) y0))) (- (* y1 y1) (* y0 y0)))"
  :precision binary64
  (/ (* (/ 2.0 3.0) (- (* (* y1 y1) y1) (* (* y0 y0) y0))) (- (* y1 y1) (* y0 y0))))