Average Error: 0.5 → 0.5
Time: 39.7s
Precision: 64
\[\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{\frac{\mathsf{fma}\left(\sin x - \frac{\sin y}{16}, \frac{\left(\left({\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \sqrt{2}}{\left(\cos y \cdot \cos y + \cos x \cdot \cos y\right) + \cos x \cdot \cos x}, 2\right)}{\mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, \mathsf{fma}\left(\frac{\cos y}{2}, 3 - \sqrt{5}, 1\right)\right)}}{3}\]
\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{\frac{\mathsf{fma}\left(\sin x - \frac{\sin y}{16}, \frac{\left(\left({\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \sqrt{2}}{\left(\cos y \cdot \cos y + \cos x \cdot \cos y\right) + \cos x \cdot \cos x}, 2\right)}{\mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, \mathsf{fma}\left(\frac{\cos y}{2}, 3 - \sqrt{5}, 1\right)\right)}}{3}
double f(double x, double y) {
        double r183043 = 2.0;
        double r183044 = sqrt(r183043);
        double r183045 = x;
        double r183046 = sin(r183045);
        double r183047 = y;
        double r183048 = sin(r183047);
        double r183049 = 16.0;
        double r183050 = r183048 / r183049;
        double r183051 = r183046 - r183050;
        double r183052 = r183044 * r183051;
        double r183053 = r183046 / r183049;
        double r183054 = r183048 - r183053;
        double r183055 = r183052 * r183054;
        double r183056 = cos(r183045);
        double r183057 = cos(r183047);
        double r183058 = r183056 - r183057;
        double r183059 = r183055 * r183058;
        double r183060 = r183043 + r183059;
        double r183061 = 3.0;
        double r183062 = 1.0;
        double r183063 = 5.0;
        double r183064 = sqrt(r183063);
        double r183065 = r183064 - r183062;
        double r183066 = r183065 / r183043;
        double r183067 = r183066 * r183056;
        double r183068 = r183062 + r183067;
        double r183069 = r183061 - r183064;
        double r183070 = r183069 / r183043;
        double r183071 = r183070 * r183057;
        double r183072 = r183068 + r183071;
        double r183073 = r183061 * r183072;
        double r183074 = r183060 / r183073;
        return r183074;
}

double f(double x, double y) {
        double r183075 = x;
        double r183076 = sin(r183075);
        double r183077 = y;
        double r183078 = sin(r183077);
        double r183079 = 16.0;
        double r183080 = r183078 / r183079;
        double r183081 = r183076 - r183080;
        double r183082 = cos(r183075);
        double r183083 = 3.0;
        double r183084 = pow(r183082, r183083);
        double r183085 = cos(r183077);
        double r183086 = pow(r183085, r183083);
        double r183087 = r183084 - r183086;
        double r183088 = r183076 / r183079;
        double r183089 = r183078 - r183088;
        double r183090 = r183087 * r183089;
        double r183091 = 2.0;
        double r183092 = sqrt(r183091);
        double r183093 = r183090 * r183092;
        double r183094 = r183085 * r183085;
        double r183095 = r183082 * r183085;
        double r183096 = r183094 + r183095;
        double r183097 = r183082 * r183082;
        double r183098 = r183096 + r183097;
        double r183099 = r183093 / r183098;
        double r183100 = fma(r183081, r183099, r183091);
        double r183101 = 5.0;
        double r183102 = sqrt(r183101);
        double r183103 = 1.0;
        double r183104 = r183102 - r183103;
        double r183105 = r183104 / r183091;
        double r183106 = r183085 / r183091;
        double r183107 = 3.0;
        double r183108 = r183107 - r183102;
        double r183109 = fma(r183106, r183108, r183103);
        double r183110 = fma(r183105, r183082, r183109);
        double r183111 = r183100 / r183110;
        double r183112 = r183111 / r183107;
        return r183112;
}

Error

Bits error versus x

Bits error versus y

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.5

    \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(\left(\cos x - \cos y\right) \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \sqrt{2}\right), \sin x - \frac{\sin y}{16}, 2\right)}{3}}{\mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, \mathsf{fma}\left(\frac{\cos y}{2}, 3 - \sqrt{5}, 1\right)\right)}}\]
  3. Simplified0.5

    \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(\sin x - \frac{\sin y}{16}, \sqrt{2} \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right)\right), 2\right)}{\mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, \mathsf{fma}\left(\frac{\cos y}{2}, 3 - \sqrt{5}, 1\right)\right)}}{3}}\]
  4. Using strategy rm
  5. Applied flip3--0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\sin x - \frac{\sin y}{16}, \sqrt{2} \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \color{blue}{\frac{{\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}}{\cos x \cdot \cos x + \left(\cos y \cdot \cos y + \cos x \cdot \cos y\right)}}\right), 2\right)}{\mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, \mathsf{fma}\left(\frac{\cos y}{2}, 3 - \sqrt{5}, 1\right)\right)}}{3}\]
  6. Applied associate-*r/0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\sin x - \frac{\sin y}{16}, \sqrt{2} \cdot \color{blue}{\frac{\left(\sin y - \frac{\sin x}{16}\right) \cdot \left({\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}\right)}{\cos x \cdot \cos x + \left(\cos y \cdot \cos y + \cos x \cdot \cos y\right)}}, 2\right)}{\mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, \mathsf{fma}\left(\frac{\cos y}{2}, 3 - \sqrt{5}, 1\right)\right)}}{3}\]
  7. Applied associate-*r/0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\sin x - \frac{\sin y}{16}, \color{blue}{\frac{\sqrt{2} \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \left({\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}\right)\right)}{\cos x \cdot \cos x + \left(\cos y \cdot \cos y + \cos x \cdot \cos y\right)}}, 2\right)}{\mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, \mathsf{fma}\left(\frac{\cos y}{2}, 3 - \sqrt{5}, 1\right)\right)}}{3}\]
  8. Simplified0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\sin x - \frac{\sin y}{16}, \frac{\color{blue}{\left(\left({\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \sqrt{2}}}{\cos x \cdot \cos x + \left(\cos y \cdot \cos y + \cos x \cdot \cos y\right)}, 2\right)}{\mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, \mathsf{fma}\left(\frac{\cos y}{2}, 3 - \sqrt{5}, 1\right)\right)}}{3}\]
  9. Final simplification0.5

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

Reproduce

herbie shell --seed 2019194 +o rules:numerics
(FPCore (x y)
  :name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
  (/ (+ 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))))))