Average Error: 0.4 → 0.4
Time: 44.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(\log \left(e^{\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)}\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\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{\frac{\mathsf{fma}\left(\log \left(e^{\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)}\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}
double f(double x, double y) {
        double r153449 = 2.0;
        double r153450 = sqrt(r153449);
        double r153451 = x;
        double r153452 = sin(r153451);
        double r153453 = y;
        double r153454 = sin(r153453);
        double r153455 = 16.0;
        double r153456 = r153454 / r153455;
        double r153457 = r153452 - r153456;
        double r153458 = r153450 * r153457;
        double r153459 = r153452 / r153455;
        double r153460 = r153454 - r153459;
        double r153461 = r153458 * r153460;
        double r153462 = cos(r153451);
        double r153463 = cos(r153453);
        double r153464 = r153462 - r153463;
        double r153465 = r153461 * r153464;
        double r153466 = r153449 + r153465;
        double r153467 = 3.0;
        double r153468 = 1.0;
        double r153469 = 5.0;
        double r153470 = sqrt(r153469);
        double r153471 = r153470 - r153468;
        double r153472 = r153471 / r153449;
        double r153473 = r153472 * r153462;
        double r153474 = r153468 + r153473;
        double r153475 = r153467 - r153470;
        double r153476 = r153475 / r153449;
        double r153477 = r153476 * r153463;
        double r153478 = r153474 + r153477;
        double r153479 = r153467 * r153478;
        double r153480 = r153466 / r153479;
        return r153480;
}

double f(double x, double y) {
        double r153481 = 2.0;
        double r153482 = sqrt(r153481);
        double r153483 = x;
        double r153484 = sin(r153483);
        double r153485 = y;
        double r153486 = sin(r153485);
        double r153487 = 16.0;
        double r153488 = r153486 / r153487;
        double r153489 = r153484 - r153488;
        double r153490 = r153482 * r153489;
        double r153491 = exp(r153490);
        double r153492 = log(r153491);
        double r153493 = r153484 / r153487;
        double r153494 = r153486 - r153493;
        double r153495 = cos(r153483);
        double r153496 = cos(r153485);
        double r153497 = r153495 - r153496;
        double r153498 = r153494 * r153497;
        double r153499 = fma(r153492, r153498, r153481);
        double r153500 = 3.0;
        double r153501 = r153499 / r153500;
        double r153502 = r153500 * r153500;
        double r153503 = 5.0;
        double r153504 = r153502 - r153503;
        double r153505 = sqrt(r153503);
        double r153506 = r153500 + r153505;
        double r153507 = r153504 / r153506;
        double r153508 = r153507 / r153481;
        double r153509 = 1.0;
        double r153510 = r153505 - r153509;
        double r153511 = r153510 / r153481;
        double r153512 = fma(r153495, r153511, r153509);
        double r153513 = fma(r153496, r153508, r153512);
        double r153514 = r153501 / r153513;
        return r153514;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 0.4

    \[\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{\frac{\mathsf{fma}\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}}\]
  3. Using strategy rm
  4. Applied flip--0.5

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

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

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

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

Reproduce

herbie shell --seed 2019304 +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))))))