Average Error: 42.2 → 42.2
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}\]
\[\left(\frac{{y1}^{3}}{3} - \frac{{y0}^{3}}{3}\right) \cdot \frac{2}{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}
\left(\frac{{y1}^{3}}{3} - \frac{{y0}^{3}}{3}\right) \cdot \frac{2}{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) (((double) pow(y1, 3.0)) / 3.0)) - ((double) (((double) pow(y0, 3.0)) / 3.0)))) * ((double) (2.0 / ((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.2

    \[\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. Simplified42.2

    \[\leadsto \color{blue}{\left(\frac{{y1}^{3}}{3} - \frac{{y0}^{3}}{3}\right) \cdot \frac{2}{y1 \cdot y1 - y0 \cdot y0}}\]
  3. Final simplification42.2

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

Reproduce

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