Average Error: 0.2 → 0.2
Time: 831.0ms
Precision: binary64
\[\left(\left(\frac{x}{2} + \frac{y}{2}\right) + \frac{x}{3}\right) + \frac{y}{4}\]
\[\left(\left(\frac{x}{2} + \frac{y}{2}\right) + \frac{x}{3}\right) + \frac{y}{4}\]
\left(\left(\frac{x}{2} + \frac{y}{2}\right) + \frac{x}{3}\right) + \frac{y}{4}
\left(\left(\frac{x}{2} + \frac{y}{2}\right) + \frac{x}{3}\right) + \frac{y}{4}
double code(double x, double y) {
	return ((double) (((double) (((double) (((double) (x / 2.0)) + ((double) (y / 2.0)))) + ((double) (x / 3.0)))) + ((double) (y / 4.0))));
}
double code(double x, double y) {
	return ((double) (((double) (((double) (((double) (x / 2.0)) + ((double) (y / 2.0)))) + ((double) (x / 3.0)))) + ((double) (y / 4.0))));
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left(\left(\frac{x}{2} + \frac{y}{2}\right) + \frac{x}{3}\right) + \frac{y}{4}\]
  2. Final simplification0.2

    \[\leadsto \left(\left(\frac{x}{2} + \frac{y}{2}\right) + \frac{x}{3}\right) + \frac{y}{4}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x y)
  :name "(+ (+ (+ (/ x 2) (/ y 2)) (/ x 3)) (/ y 4))"
  :precision binary64
  (+ (+ (+ (/ x 2.0) (/ y 2.0)) (/ x 3.0)) (/ y 4.0)))