Average Error: 0.5 → 0.5
Time: 12.3s
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{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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{2} \cdot \cos y\right)}\]
\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{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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{2} \cdot \cos y\right)}
double f(double x, double y) {
        double r186243 = 2.0;
        double r186244 = sqrt(r186243);
        double r186245 = x;
        double r186246 = sin(r186245);
        double r186247 = y;
        double r186248 = sin(r186247);
        double r186249 = 16.0;
        double r186250 = r186248 / r186249;
        double r186251 = r186246 - r186250;
        double r186252 = r186244 * r186251;
        double r186253 = r186246 / r186249;
        double r186254 = r186248 - r186253;
        double r186255 = r186252 * r186254;
        double r186256 = cos(r186245);
        double r186257 = cos(r186247);
        double r186258 = r186256 - r186257;
        double r186259 = r186255 * r186258;
        double r186260 = r186243 + r186259;
        double r186261 = 3.0;
        double r186262 = 1.0;
        double r186263 = 5.0;
        double r186264 = sqrt(r186263);
        double r186265 = r186264 - r186262;
        double r186266 = r186265 / r186243;
        double r186267 = r186266 * r186256;
        double r186268 = r186262 + r186267;
        double r186269 = r186261 - r186264;
        double r186270 = r186269 / r186243;
        double r186271 = r186270 * r186257;
        double r186272 = r186268 + r186271;
        double r186273 = r186261 * r186272;
        double r186274 = r186260 / r186273;
        return r186274;
}

double f(double x, double y) {
        double r186275 = 2.0;
        double r186276 = sqrt(r186275);
        double r186277 = x;
        double r186278 = sin(r186277);
        double r186279 = y;
        double r186280 = sin(r186279);
        double r186281 = 16.0;
        double r186282 = r186280 / r186281;
        double r186283 = r186278 - r186282;
        double r186284 = r186276 * r186283;
        double r186285 = r186278 / r186281;
        double r186286 = r186280 - r186285;
        double r186287 = r186284 * r186286;
        double r186288 = cos(r186277);
        double r186289 = cos(r186279);
        double r186290 = r186288 - r186289;
        double r186291 = r186287 * r186290;
        double r186292 = r186275 + r186291;
        double r186293 = 3.0;
        double r186294 = 1.0;
        double r186295 = 5.0;
        double r186296 = sqrt(r186295);
        double r186297 = r186296 - r186294;
        double r186298 = r186297 / r186275;
        double r186299 = r186298 * r186288;
        double r186300 = r186294 + r186299;
        double r186301 = cbrt(r186293);
        double r186302 = r186301 * r186301;
        double r186303 = cbrt(r186295);
        double r186304 = sqrt(r186303);
        double r186305 = r186303 * r186303;
        double r186306 = sqrt(r186305);
        double r186307 = r186304 * r186306;
        double r186308 = -r186307;
        double r186309 = fma(r186302, r186301, r186308);
        double r186310 = fabs(r186303);
        double r186311 = -r186310;
        double r186312 = r186311 + r186310;
        double r186313 = r186304 * r186312;
        double r186314 = r186309 + r186313;
        double r186315 = r186314 / r186275;
        double r186316 = r186315 * r186289;
        double r186317 = r186300 + r186316;
        double r186318 = r186293 * r186317;
        double r186319 = r186292 / r186318;
        return r186319;
}

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. Using strategy rm
  3. Applied add-cube-cbrt0.6

    \[\leadsto \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{\color{blue}{\left(\sqrt[3]{5} \cdot \sqrt[3]{5}\right) \cdot \sqrt[3]{5}}}}{2} \cdot \cos y\right)}\]
  4. Applied sqrt-prod0.6

    \[\leadsto \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 - \color{blue}{\sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5}}}}{2} \cdot \cos y\right)}\]
  5. Applied add-cube-cbrt0.6

    \[\leadsto \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{\color{blue}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}} - \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5}}}{2} \cdot \cos y\right)}\]
  6. Applied prod-diff0.4

    \[\leadsto \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{\color{blue}{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \mathsf{fma}\left(-\sqrt{\sqrt[3]{5}}, \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}, \sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right)}}{2} \cdot \cos y\right)}\]
  7. Simplified0.5

    \[\leadsto \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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \color{blue}{\sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}}{2} \cdot \cos y\right)}\]
  8. Final simplification0.5

    \[\leadsto \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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{2} \cdot \cos y\right)}\]

Reproduce

herbie shell --seed 2020021 +o rules:numerics
(FPCore (x y)
  :name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
  :precision binary64
  (/ (+ 2 (* (* (* (sqrt 2) (- (sin x) (/ (sin y) 16))) (- (sin y) (/ (sin x) 16))) (- (cos x) (cos y)))) (* 3 (+ (+ 1 (* (/ (- (sqrt 5) 1) 2) (cos x))) (* (/ (- 3 (sqrt 5)) 2) (cos y))))))