Average Error: 0.5 → 0.4
Time: 34.8s
Precision: binary64
Cost: 110400
\[\frac{2 + \left(\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\cos x - \cos y\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y\right)} \]
\[\frac{\mathsf{fma}\left(\sqrt{2}, \mathsf{fma}\left(-0.0625, \sin y, \sin x\right) \cdot \left(\mathsf{fma}\left(-0.0625, \sin x, \sin y\right) \cdot \left(\cos x - \cos y\right)\right), 2\right)}{\mathsf{fma}\left(6, \frac{\cos x}{1 + \sqrt{5}}, \mathsf{fma}\left(\mathsf{fma}\left(\sqrt{5}, -1.5, 4.5\right), \cos y, 3\right)\right)} \]
(FPCore (x y)
 :precision binary64
 (/
  (+
   2.0
   (*
    (*
     (* (sqrt 2.0) (- (sin x) (/ (sin y) 16.0)))
     (- (sin y) (/ (sin x) 16.0)))
    (- (cos x) (cos y))))
  (*
   3.0
   (+
    (+ 1.0 (* (/ (- (sqrt 5.0) 1.0) 2.0) (cos x)))
    (* (/ (- 3.0 (sqrt 5.0)) 2.0) (cos y))))))
(FPCore (x y)
 :precision binary64
 (/
  (fma
   (sqrt 2.0)
   (*
    (fma -0.0625 (sin y) (sin x))
    (* (fma -0.0625 (sin x) (sin y)) (- (cos x) (cos y))))
   2.0)
  (fma
   6.0
   (/ (cos x) (+ 1.0 (sqrt 5.0)))
   (fma (fma (sqrt 5.0) -1.5 4.5) (cos y) 3.0))))
double code(double x, double y) {
	return (2.0 + (((sqrt(2.0) * (sin(x) - (sin(y) / 16.0))) * (sin(y) - (sin(x) / 16.0))) * (cos(x) - cos(y)))) / (3.0 * ((1.0 + (((sqrt(5.0) - 1.0) / 2.0) * cos(x))) + (((3.0 - sqrt(5.0)) / 2.0) * cos(y))));
}
double code(double x, double y) {
	return fma(sqrt(2.0), (fma(-0.0625, sin(y), sin(x)) * (fma(-0.0625, sin(x), sin(y)) * (cos(x) - cos(y)))), 2.0) / fma(6.0, (cos(x) / (1.0 + sqrt(5.0))), fma(fma(sqrt(5.0), -1.5, 4.5), cos(y), 3.0));
}
function code(x, y)
	return Float64(Float64(2.0 + Float64(Float64(Float64(sqrt(2.0) * Float64(sin(x) - Float64(sin(y) / 16.0))) * Float64(sin(y) - Float64(sin(x) / 16.0))) * Float64(cos(x) - cos(y)))) / Float64(3.0 * Float64(Float64(1.0 + Float64(Float64(Float64(sqrt(5.0) - 1.0) / 2.0) * cos(x))) + Float64(Float64(Float64(3.0 - sqrt(5.0)) / 2.0) * cos(y)))))
end
function code(x, y)
	return Float64(fma(sqrt(2.0), Float64(fma(-0.0625, sin(y), sin(x)) * Float64(fma(-0.0625, sin(x), sin(y)) * Float64(cos(x) - cos(y)))), 2.0) / fma(6.0, Float64(cos(x) / Float64(1.0 + sqrt(5.0))), fma(fma(sqrt(5.0), -1.5, 4.5), cos(y), 3.0)))
end
code[x_, y_] := N[(N[(2.0 + N[(N[(N[(N[Sqrt[2.0], $MachinePrecision] * N[(N[Sin[x], $MachinePrecision] - N[(N[Sin[y], $MachinePrecision] / 16.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Sin[y], $MachinePrecision] - N[(N[Sin[x], $MachinePrecision] / 16.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * N[(N[Cos[x], $MachinePrecision] - N[Cos[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / N[(3.0 * N[(N[(1.0 + N[(N[(N[(N[Sqrt[5.0], $MachinePrecision] - 1.0), $MachinePrecision] / 2.0), $MachinePrecision] * N[Cos[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[(3.0 - N[Sqrt[5.0], $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision] * N[Cos[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_, y_] := N[(N[(N[Sqrt[2.0], $MachinePrecision] * N[(N[(-0.0625 * N[Sin[y], $MachinePrecision] + N[Sin[x], $MachinePrecision]), $MachinePrecision] * N[(N[(-0.0625 * N[Sin[x], $MachinePrecision] + N[Sin[y], $MachinePrecision]), $MachinePrecision] * N[(N[Cos[x], $MachinePrecision] - N[Cos[y], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + 2.0), $MachinePrecision] / N[(6.0 * N[(N[Cos[x], $MachinePrecision] / N[(1.0 + N[Sqrt[5.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Sqrt[5.0], $MachinePrecision] * -1.5 + 4.5), $MachinePrecision] * N[Cos[y], $MachinePrecision] + 3.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{2 + \left(\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\cos x - \cos y\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y\right)}
\frac{\mathsf{fma}\left(\sqrt{2}, \mathsf{fma}\left(-0.0625, \sin y, \sin x\right) \cdot \left(\mathsf{fma}\left(-0.0625, \sin x, \sin y\right) \cdot \left(\cos x - \cos y\right)\right), 2\right)}{\mathsf{fma}\left(6, \frac{\cos x}{1 + \sqrt{5}}, \mathsf{fma}\left(\mathsf{fma}\left(\sqrt{5}, -1.5, 4.5\right), \cos y, 3\right)\right)}

Error

Derivation

  1. Initial program 0.5

    \[\frac{2 + \left(\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\cos x - \cos y\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y\right)} \]
  2. Simplified0.4

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\sqrt{2}, \left(\sin y + -0.0625 \cdot \sin x\right) \cdot \left(\left(\sin x + -0.0625 \cdot \sin y\right) \cdot \left(\cos x - \cos y\right)\right), 2\right)}{\mathsf{fma}\left(\cos x, \frac{\sqrt{5} + -1}{0.6666666666666666}, \mathsf{fma}\left(\cos y, 4.5 - \frac{\sqrt{5}}{0.6666666666666666}, 3\right)\right)}} \]
    Proof
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (sin.f64 y) (*.f64 -1/16 (sin.f64 x))) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (sin.f64 y) (*.f64 (Rewrite<= metadata-eval (/.f64 -1 16)) (sin.f64 x))) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (sin.f64 y) (*.f64 (/.f64 (Rewrite<= metadata-eval (neg.f64 1)) 16) (sin.f64 x))) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (sin.f64 y) (Rewrite<= associate-/r/_binary64 (/.f64 (neg.f64 1) (/.f64 16 (sin.f64 x))))) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 1 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (sin.f64 y) (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (neg.f64 1) (sin.f64 x)) 16))) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 1 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (sin.f64 y) (/.f64 (*.f64 (Rewrite=> metadata-eval -1) (sin.f64 x)) 16)) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (sin.f64 y) (/.f64 (Rewrite<= neg-mul-1_binary64 (neg.f64 (sin.f64 x))) 16)) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (sin.f64 y) (Rewrite<= distribute-neg-frac_binary64 (neg.f64 (/.f64 (sin.f64 x) 16)))) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (Rewrite<= sub-neg_binary64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (*.f64 (+.f64 (sin.f64 x) (*.f64 -1/16 (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (*.f64 (+.f64 (sin.f64 x) (*.f64 (Rewrite<= metadata-eval (/.f64 -1 16)) (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (*.f64 (+.f64 (sin.f64 x) (*.f64 (/.f64 (Rewrite<= metadata-eval (neg.f64 1)) 16) (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (*.f64 (+.f64 (sin.f64 x) (Rewrite<= associate-/r/_binary64 (/.f64 (neg.f64 1) (/.f64 16 (sin.f64 y))))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (*.f64 (+.f64 (sin.f64 x) (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (neg.f64 1) (sin.f64 y)) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (*.f64 (+.f64 (sin.f64 x) (/.f64 (*.f64 (Rewrite=> metadata-eval -1) (sin.f64 y)) 16)) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (*.f64 (+.f64 (sin.f64 x) (/.f64 (Rewrite<= neg-mul-1_binary64 (neg.f64 (sin.f64 y))) 16)) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (*.f64 (+.f64 (sin.f64 x) (Rewrite<= distribute-neg-frac_binary64 (neg.f64 (/.f64 (sin.f64 y) 16)))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (*.f64 (Rewrite<= sub-neg_binary64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (Rewrite<= *-commutative_binary64 (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (-.f64 (cos.f64 x) (cos.f64 y))) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 3 points increase in error, 6 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (Rewrite<= *-commutative_binary64 (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (-.f64 (cos.f64 x) (cos.f64 y))))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16)) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (-.f64 (cos.f64 x) (cos.f64 y))))) 2)) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 5 points increase in error, 2 points decrease in error
    (/.f64 (+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (*.f64 (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16)) (-.f64 (cos.f64 x) (cos.f64 y))))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 3 points increase in error, 3 points decrease in error
    (/.f64 (+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 3 points increase in error, 3 points decrease in error
    (/.f64 (Rewrite<= +-commutative_binary64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y))))) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) -1) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (/.f64 (+.f64 (sqrt.f64 5) (Rewrite<= metadata-eval (neg.f64 1))) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (/.f64 (Rewrite<= sub-neg_binary64 (-.f64 (sqrt.f64 5) 1)) 2/3) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) (Rewrite<= metadata-eval (/.f64 2 3))) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (-.f64 (sqrt.f64 5) 1) 3) 2)) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3)) (fma.f64 (cos.f64 y) (-.f64 9/2 (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (fma.f64 (cos.f64 y) (-.f64 (Rewrite<= metadata-eval (/.f64 3 2/3)) (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (fma.f64 (cos.f64 y) (-.f64 (/.f64 3 (Rewrite<= metadata-eval (/.f64 2 3))) (/.f64 (sqrt.f64 5) 2/3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (fma.f64 (cos.f64 y) (-.f64 (/.f64 3 (/.f64 2 3)) (/.f64 (sqrt.f64 5) (Rewrite<= metadata-eval (/.f64 2 3)))) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (fma.f64 (cos.f64 y) (Rewrite<= div-sub_binary64 (/.f64 (-.f64 3 (sqrt.f64 5)) (/.f64 2 3))) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (fma.f64 (cos.f64 y) (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (-.f64 3 (sqrt.f64 5)) 3) 2)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (fma.f64 (cos.f64 y) (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) 3)) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (cos.f64 y) (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) 3)) 3)))): 7 points increase in error, 8 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (cos.f64 y) (/.f64 (-.f64 3 (sqrt.f64 5)) 2)) 3)) 3))): 4 points increase in error, 4 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (+.f64 (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y))) 3) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (Rewrite=> distribute-lft1-in_binary64 (*.f64 (+.f64 (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y)) 1) 3)))): 15 points increase in error, 12 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (fma.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3) (*.f64 (Rewrite<= +-commutative_binary64 (+.f64 1 (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y)))) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (cos.f64 x) (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) 3)) (*.f64 (+.f64 1 (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y))) 3)))): 8 points increase in error, 6 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (cos.f64 x) (/.f64 (-.f64 (sqrt.f64 5) 1) 2)) 3)) (*.f64 (+.f64 1 (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y))) 3))): 6 points increase in error, 6 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (+.f64 (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x))) 3) (*.f64 (+.f64 1 (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y))) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (Rewrite<= distribute-rgt-in_binary64 (*.f64 3 (+.f64 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x)) (+.f64 1 (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y))))))): 26 points increase in error, 19 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 3 (Rewrite<= associate-+l+_binary64 (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x)) 1) (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y)))))): 8 points increase in error, 9 points decrease in error
    (/.f64 (+.f64 2 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (sin.f64 x) (/.f64 (sin.f64 y) 16))) (-.f64 (sin.f64 y) (/.f64 (sin.f64 x) 16))) (-.f64 (cos.f64 x) (cos.f64 y)))) (*.f64 3 (+.f64 (Rewrite<= +-commutative_binary64 (+.f64 1 (*.f64 (/.f64 (-.f64 (sqrt.f64 5) 1) 2) (cos.f64 x)))) (*.f64 (/.f64 (-.f64 3 (sqrt.f64 5)) 2) (cos.f64 y))))): 0 points increase in error, 0 points decrease in error
  3. Applied egg-rr0.4

    \[\leadsto \frac{\mathsf{fma}\left(\sqrt{2}, \left(\sin y + -0.0625 \cdot \sin x\right) \cdot \left(\left(\sin x + -0.0625 \cdot \sin y\right) \cdot \left(\cos x - \cos y\right)\right), 2\right)}{\mathsf{fma}\left(\cos x, \color{blue}{{\left(0.16666666666666666 \cdot \left(\sqrt{5} + 1\right)\right)}^{-1}}, \mathsf{fma}\left(\cos y, 4.5 - \frac{\sqrt{5}}{0.6666666666666666}, 3\right)\right)} \]
  4. Taylor expanded in y around inf 0.4

    \[\leadsto \color{blue}{\frac{\sqrt{2} \cdot \left(\left(\cos x - \cos y\right) \cdot \left(\left(-0.0625 \cdot \sin y + \sin x\right) \cdot \left(-0.0625 \cdot \sin x + \sin y\right)\right)\right) + 2}{3 + \left(\cos y \cdot \left(4.5 - 1.5 \cdot \sqrt{5}\right) + 6 \cdot \frac{\cos x}{\sqrt{5} + 1}\right)}} \]
  5. Simplified0.4

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\sqrt{2}, \mathsf{fma}\left(-0.0625, \sin y, \sin x\right) \cdot \left(\mathsf{fma}\left(-0.0625, \sin x, \sin y\right) \cdot \left(\cos x - \cos y\right)\right), 2\right)}{\mathsf{fma}\left(6, \frac{\cos x}{1 + \sqrt{5}}, \mathsf{fma}\left(\mathsf{fma}\left(\sqrt{5}, -1.5, 4.5\right), \cos y, 3\right)\right)}} \]
    Proof
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (fma.f64 -1/16 (sin.f64 y) (sin.f64 x)) (*.f64 (fma.f64 -1/16 (sin.f64 x) (sin.f64 y)) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 1 (sqrt.f64 5))) (fma.f64 (fma.f64 (sqrt.f64 5) -3/2 9/2) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x))) (*.f64 (fma.f64 -1/16 (sin.f64 x) (sin.f64 y)) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 1 (sqrt.f64 5))) (fma.f64 (fma.f64 (sqrt.f64 5) -3/2 9/2) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (*.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 1 (sqrt.f64 5))) (fma.f64 (fma.f64 (sqrt.f64 5) -3/2 9/2) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))) (-.f64 (cos.f64 x) (cos.f64 y)))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 1 (sqrt.f64 5))) (fma.f64 (fma.f64 (sqrt.f64 5) -3/2 9/2) (cos.f64 y) 3))): 3 points increase in error, 3 points decrease in error
    (/.f64 (fma.f64 (sqrt.f64 2) (Rewrite<= *-commutative_binary64 (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 1 (sqrt.f64 5))) (fma.f64 (fma.f64 (sqrt.f64 5) -3/2 9/2) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2)) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 1 (sqrt.f64 5))) (fma.f64 (fma.f64 (sqrt.f64 5) -3/2 9/2) (cos.f64 y) 3))): 7 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (Rewrite<= +-commutative_binary64 (+.f64 (sqrt.f64 5) 1))) (fma.f64 (fma.f64 (sqrt.f64 5) -3/2 9/2) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (fma.f64 (fma.f64 (sqrt.f64 5) (Rewrite<= metadata-eval (neg.f64 3/2)) 9/2) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (fma.f64 (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (sqrt.f64 5) (neg.f64 3/2)) 9/2)) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (fma.f64 (+.f64 (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 (sqrt.f64 5) 3/2))) 9/2) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (fma.f64 (+.f64 (neg.f64 (Rewrite<= *-commutative_binary64 (*.f64 3/2 (sqrt.f64 5)))) 9/2) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (fma.f64 (Rewrite<= +-commutative_binary64 (+.f64 9/2 (neg.f64 (*.f64 3/2 (sqrt.f64 5))))) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (fma.f64 (Rewrite<= sub-neg_binary64 (-.f64 9/2 (*.f64 3/2 (sqrt.f64 5)))) (cos.f64 y) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (-.f64 9/2 (*.f64 3/2 (sqrt.f64 5))) (cos.f64 y)) 3)))): 7 points increase in error, 5 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (cos.f64 y) (-.f64 9/2 (*.f64 3/2 (sqrt.f64 5))))) 3))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (fma.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)) (Rewrite<= +-commutative_binary64 (+.f64 3 (*.f64 (cos.f64 y) (-.f64 9/2 (*.f64 3/2 (sqrt.f64 5)))))))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1))) (+.f64 3 (*.f64 (cos.f64 y) (-.f64 9/2 (*.f64 3/2 (sqrt.f64 5)))))))): 14 points increase in error, 6 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (Rewrite<= +-commutative_binary64 (+.f64 (+.f64 3 (*.f64 (cos.f64 y) (-.f64 9/2 (*.f64 3/2 (sqrt.f64 5))))) (*.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1)))))): 0 points increase in error, 0 points decrease in error
    (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (cos.f64 x) (cos.f64 y)) (*.f64 (+.f64 (*.f64 -1/16 (sin.f64 y)) (sin.f64 x)) (+.f64 (*.f64 -1/16 (sin.f64 x)) (sin.f64 y))))) 2) (Rewrite<= associate-+r+_binary64 (+.f64 3 (+.f64 (*.f64 (cos.f64 y) (-.f64 9/2 (*.f64 3/2 (sqrt.f64 5)))) (*.f64 6 (/.f64 (cos.f64 x) (+.f64 (sqrt.f64 5) 1))))))): 8 points increase in error, 19 points decrease in error
  6. Final simplification0.4

    \[\leadsto \frac{\mathsf{fma}\left(\sqrt{2}, \mathsf{fma}\left(-0.0625, \sin y, \sin x\right) \cdot \left(\mathsf{fma}\left(-0.0625, \sin x, \sin y\right) \cdot \left(\cos x - \cos y\right)\right), 2\right)}{\mathsf{fma}\left(6, \frac{\cos x}{1 + \sqrt{5}}, \mathsf{fma}\left(\mathsf{fma}\left(\sqrt{5}, -1.5, 4.5\right), \cos y, 3\right)\right)} \]

Alternatives

Alternative 1
Error0.4
Cost97920
\[\frac{\mathsf{fma}\left(\sqrt{2}, \left(\left(\cos x - \cos y\right) \cdot \left(\sin x + -0.0625 \cdot \sin y\right)\right) \cdot \left(\sin y + -0.0625 \cdot \sin x\right), 2\right)}{\mathsf{fma}\left(\cos x, {\left(0.16666666666666666 \cdot \left(1 + \sqrt{5}\right)\right)}^{-1}, \mathsf{fma}\left(\cos y, 4.5 - \sqrt{11.25}, 3\right)\right)} \]
Alternative 2
Error0.4
Cost91584
\[\frac{\mathsf{fma}\left(\sqrt{2}, \mathsf{fma}\left(-0.0625, \sin y, \sin x\right) \cdot \left(\mathsf{fma}\left(-0.0625, \sin x, \sin y\right) \cdot \left(\cos x - \cos y\right)\right), 2\right)}{3 + \left(\cos y \cdot \left(4.5 + \sqrt{5} \cdot -1.5\right) + 6 \cdot \frac{\cos x}{1 + \sqrt{5}}\right)} \]
Alternative 3
Error0.4
Cost72640
\[\frac{2 + \sqrt{2} \cdot \left(\left(\cos x - \cos y\right) \cdot \left(\left(\sin x + -0.0625 \cdot \sin y\right) \cdot \left(\sin y + -0.0625 \cdot \sin x\right)\right)\right)}{3 + \left(6 \cdot \frac{\cos x}{1 + \sqrt{5}} + \cos y \cdot \left(4.5 - \sqrt{11.25}\right)\right)} \]
Alternative 4
Error11.9
Cost66760
\[\begin{array}{l} t_0 := \sin y - \frac{\sin x}{16}\\ t_1 := \cos x - \cos y\\ t_2 := 3 \cdot \left(\left(1 + \cos x \cdot \frac{\sqrt{5} + -1}{2}\right) + \cos y \cdot \frac{3 - \sqrt{5}}{2}\right)\\ t_3 := \frac{2 + t_1 \cdot \left(\left(\sqrt{2} \cdot \sin x\right) \cdot t_0\right)}{t_2}\\ \mathbf{if}\;x \leq -11.194023462758867:\\ \;\;\;\;t_3\\ \mathbf{elif}\;x \leq 1.0897030032072652 \cdot 10^{-8}:\\ \;\;\;\;\frac{2 + t_1 \cdot \left(t_0 \cdot \left(\sqrt{2} \cdot \left(x + -0.0625 \cdot \sin y\right)\right)\right)}{t_2}\\ \mathbf{else}:\\ \;\;\;\;t_3\\ \end{array} \]
Alternative 5
Error12.0
Cost66504
\[\begin{array}{l} t_0 := \cos x - \cos y\\ t_1 := 3 \cdot \left(\left(1 + \cos x \cdot \frac{\sqrt{5} + -1}{2}\right) + \cos y \cdot \frac{3 - \sqrt{5}}{2}\right)\\ t_2 := \frac{2 + t_0 \cdot \left(\left(\sqrt{2} \cdot \sin x\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right)}{t_1}\\ \mathbf{if}\;x \leq -11.194023462758867:\\ \;\;\;\;t_2\\ \mathbf{elif}\;x \leq 1.0897030032072652 \cdot 10^{-8}:\\ \;\;\;\;\frac{2 + t_0 \cdot \left(\sqrt{2} \cdot \left(\sin y \cdot \left(-0.0625 \cdot \sin y + x \cdot 1.00390625\right)\right)\right)}{t_1}\\ \mathbf{else}:\\ \;\;\;\;t_2\\ \end{array} \]
Alternative 6
Error13.1
Cost60232
\[\begin{array}{l} t_0 := 3 \cdot \left(\left(1 + \cos x \cdot \frac{\sqrt{5} + -1}{2}\right) + \cos y \cdot \frac{3 - \sqrt{5}}{2}\right)\\ t_1 := \frac{2 + \left({\sin x}^{2} \cdot \left(\sqrt{2} \cdot -0.0625\right)\right) \cdot \left(\cos x + -1\right)}{t_0}\\ \mathbf{if}\;x \leq -11.194023462758867:\\ \;\;\;\;t_1\\ \mathbf{elif}\;x \leq 1.0897030032072652 \cdot 10^{-8}:\\ \;\;\;\;\frac{2 + \left(\cos x - \cos y\right) \cdot \left(\sqrt{2} \cdot \left(\sin y \cdot \left(-0.0625 \cdot \sin y + x \cdot 1.00390625\right)\right)\right)}{t_0}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 7
Error13.2
Cost53576
\[\begin{array}{l} t_0 := \sqrt{5} + -1\\ t_1 := \frac{2 + \left({\sin x}^{2} \cdot \left(\sqrt{2} \cdot -0.0625\right)\right) \cdot \left(\cos x + -1\right)}{3 \cdot \left(\left(1 + \cos x \cdot \frac{t_0}{2}\right) + \cos y \cdot \frac{3 - \sqrt{5}}{2}\right)}\\ \mathbf{if}\;x \leq -11.194023462758867:\\ \;\;\;\;t_1\\ \mathbf{elif}\;x \leq 1.0897030032072652 \cdot 10^{-8}:\\ \;\;\;\;\frac{2 + -0.0625 \cdot \left(\sqrt{2} \cdot \left(\left(1 - \cos y\right) \cdot \left(\sin y \cdot \left(\sin y + -0.0625 \cdot \sin x\right)\right)\right)\right)}{3 + \left(\cos y \cdot \frac{9}{4.5 + \sqrt{11.25}} + t_0 \cdot 1.5\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 8
Error13.2
Cost53512
\[\begin{array}{l} t_0 := \frac{2 + \left({\sin x}^{2} \cdot \left(\sqrt{2} \cdot -0.0625\right)\right) \cdot \left(\cos x + -1\right)}{3 \cdot \left(\left(1 + \cos x \cdot \frac{\sqrt{5} + -1}{2}\right) + \cos y \cdot \frac{3 - \sqrt{5}}{2}\right)}\\ \mathbf{if}\;x \leq -11.194023462758867:\\ \;\;\;\;t_0\\ \mathbf{elif}\;x \leq 1.0897030032072652 \cdot 10^{-8}:\\ \;\;\;\;\frac{2 + -0.0625 \cdot \left(\sqrt{2} \cdot \left(\left(1 - \cos y\right) \cdot {\sin y}^{2}\right)\right)}{3 + \left(\cos y \cdot \left(4.5 - \sqrt{11.25}\right) + 6 \cdot \frac{1}{1 + \sqrt{5}}\right)}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 9
Error13.1
Cost53384
\[\begin{array}{l} t_0 := \frac{2 + -0.0625 \cdot \left(\left(1 - \cos y\right) \cdot \left(\sqrt{2} \cdot {\sin y}^{2}\right)\right)}{3 + \left(\cos y \cdot \frac{9}{4.5 + \sqrt{11.25}} + 1.5 \cdot \left(\cos x \cdot \left(\sqrt{5} + -1\right)\right)\right)}\\ \mathbf{if}\;y \leq -4.90687877499326 \cdot 10^{-7}:\\ \;\;\;\;t_0\\ \mathbf{elif}\;y \leq 0.0014227002783155425:\\ \;\;\;\;\frac{2 + -0.0625 \cdot \left(\sqrt{2} \cdot \left({\sin x}^{2} \cdot \left(\cos x + -1\right)\right)\right)}{\left(6 \cdot \frac{\cos x}{1 + \sqrt{5}} + 7.5\right) - \sqrt{11.25}}\\ \mathbf{else}:\\ \;\;\;\;t_0\\ \end{array} \]
Alternative 10
Error13.6
Cost46856
\[\begin{array}{l} t_0 := 1 + \sqrt{5}\\ t_1 := \frac{2 + -0.0625 \cdot \left(\sqrt{2} \cdot \left({\sin x}^{2} \cdot \left(\cos x + -1\right)\right)\right)}{\left(6 \cdot \frac{\cos x}{t_0} + 7.5\right) - \sqrt{11.25}}\\ \mathbf{if}\;x \leq -0.5824342755810228:\\ \;\;\;\;t_1\\ \mathbf{elif}\;x \leq 1.0897030032072652 \cdot 10^{-8}:\\ \;\;\;\;\frac{2 + -0.0625 \cdot \left(\sqrt{2} \cdot \left(\left(1 - \cos y\right) \cdot {\sin y}^{2}\right)\right)}{3 + \left(\cos y \cdot \left(4.5 - \sqrt{11.25}\right) + 6 \cdot \frac{1}{t_0}\right)}\\ \mathbf{else}:\\ \;\;\;\;t_1\\ \end{array} \]
Alternative 11
Error25.5
Cost46336
\[\frac{2 + -0.0625 \cdot \left(\sqrt{2} \cdot \left({\sin x}^{2} \cdot \left(\cos x + -1\right)\right)\right)}{\left(6 \cdot \frac{\cos x}{1 + \sqrt{5}} + 7.5\right) - \sqrt{11.25}} \]
Alternative 12
Error36.4
Cost38976
\[\frac{2}{\mathsf{expm1}\left(\mathsf{log1p}\left(\mathsf{fma}\left(-1.5 + \sqrt{11.25}, \cos x, 7.5 - \sqrt{11.25}\right)\right)\right)} \]
Alternative 13
Error36.4
Cost32832
\[\frac{2}{{\left({\left(\left(7.5 + \cos x \cdot \left(-1.5 + \sqrt{11.25}\right)\right) - \sqrt{11.25}\right)}^{0.3333333333333333}\right)}^{3}} \]
Alternative 14
Error36.4
Cost20160
\[\frac{2}{\sqrt{5} \cdot -1.5 + \left(1.5 \cdot \left(\cos x \cdot \left(\sqrt{5} + -1\right)\right) + 7.5\right)} \]
Alternative 15
Error36.4
Cost19904
\[\frac{2}{\left(7.5 - \sqrt{11.25}\right) + \cos x \cdot \left(-1.5 + \sqrt{11.25}\right)} \]
Alternative 16
Error37.9
Cost64
\[0.3333333333333333 \]

Error

Reproduce

herbie shell --seed 2022308 
(FPCore (x y)
  :name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
  :precision binary64
  (/ (+ 2.0 (* (* (* (sqrt 2.0) (- (sin x) (/ (sin y) 16.0))) (- (sin y) (/ (sin x) 16.0))) (- (cos x) (cos y)))) (* 3.0 (+ (+ 1.0 (* (/ (- (sqrt 5.0) 1.0) 2.0) (cos x))) (* (/ (- 3.0 (sqrt 5.0)) 2.0) (cos y))))))