Average Error: 1.4 → 1.4
Time: 1.2s
Precision: binary64
\[\left(\frac{5 - 3 \cdot \sqrt{2}}{4} + \left(\sqrt{2} - 0.5\right) \cdot x\right) + \frac{1 - \sqrt{2}}{4} \cdot y\]
\[\left(\frac{5 - 3 \cdot \sqrt{2}}{4} + \left(\sqrt{2} - 0.5\right) \cdot x\right) + \frac{1 - \sqrt{2}}{4} \cdot y\]
\left(\frac{5 - 3 \cdot \sqrt{2}}{4} + \left(\sqrt{2} - 0.5\right) \cdot x\right) + \frac{1 - \sqrt{2}}{4} \cdot y
\left(\frac{5 - 3 \cdot \sqrt{2}}{4} + \left(\sqrt{2} - 0.5\right) \cdot x\right) + \frac{1 - \sqrt{2}}{4} \cdot y
double code(double x, double y) {
	return ((double) (((double) (((double) (((double) (5.0 - ((double) (3.0 * ((double) sqrt(2.0)))))) / 4.0)) + ((double) (((double) (((double) sqrt(2.0)) - 0.5)) * x)))) + ((double) (((double) (((double) (1.0 - ((double) sqrt(2.0)))) / 4.0)) * y))));
}
double code(double x, double y) {
	return ((double) (((double) (((double) (((double) (5.0 - ((double) (3.0 * ((double) sqrt(2.0)))))) / 4.0)) + ((double) (((double) (((double) sqrt(2.0)) - 0.5)) * x)))) + ((double) (((double) (((double) (1.0 - ((double) sqrt(2.0)))) / 4.0)) * y))));
}

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 1.4

    \[\left(\frac{5 - 3 \cdot \sqrt{2}}{4} + \left(\sqrt{2} - 0.5\right) \cdot x\right) + \frac{1 - \sqrt{2}}{4} \cdot y\]
  2. Final simplification1.4

    \[\leadsto \left(\frac{5 - 3 \cdot \sqrt{2}}{4} + \left(\sqrt{2} - 0.5\right) \cdot x\right) + \frac{1 - \sqrt{2}}{4} \cdot y\]

Reproduce

herbie shell --seed 2020153 
(FPCore (x y)
  :name "(+ (+ (/ (- 5 (* 3 (sqrt 2))) 4) (* (- (sqrt 2) 0.5) x)) (* (/ (- 1 (sqrt 2)) 4) y))"
  :precision binary64
  (+ (+ (/ (- 5.0 (* 3.0 (sqrt 2.0))) 4.0) (* (- (sqrt 2.0) 0.5) x)) (* (/ (- 1.0 (sqrt 2.0)) 4.0) y)))