\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 ydouble 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))));
}



Bits error versus x



Bits error versus y
Results
Initial program 1.4
Final simplification1.4
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)))