Average Error: 0.5 → 0.5
Time: 15.4s
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)}\]
\[\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) \cdot \frac{\frac{1}{\mathsf{fma}\left(\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}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 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)}
\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) \cdot \frac{\frac{1}{\mathsf{fma}\left(\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}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}
double f(double x, double y) {
        double r315662 = 2.0;
        double r315663 = sqrt(r315662);
        double r315664 = x;
        double r315665 = sin(r315664);
        double r315666 = y;
        double r315667 = sin(r315666);
        double r315668 = 16.0;
        double r315669 = r315667 / r315668;
        double r315670 = r315665 - r315669;
        double r315671 = r315663 * r315670;
        double r315672 = r315665 / r315668;
        double r315673 = r315667 - r315672;
        double r315674 = r315671 * r315673;
        double r315675 = cos(r315664);
        double r315676 = cos(r315666);
        double r315677 = r315675 - r315676;
        double r315678 = r315674 * r315677;
        double r315679 = r315662 + r315678;
        double r315680 = 3.0;
        double r315681 = 1.0;
        double r315682 = 5.0;
        double r315683 = sqrt(r315682);
        double r315684 = r315683 - r315681;
        double r315685 = r315684 / r315662;
        double r315686 = r315685 * r315675;
        double r315687 = r315681 + r315686;
        double r315688 = r315680 - r315683;
        double r315689 = r315688 / r315662;
        double r315690 = r315689 * r315676;
        double r315691 = r315687 + r315690;
        double r315692 = r315680 * r315691;
        double r315693 = r315679 / r315692;
        return r315693;
}

double f(double x, double y) {
        double r315694 = 2.0;
        double r315695 = sqrt(r315694);
        double r315696 = x;
        double r315697 = sin(r315696);
        double r315698 = y;
        double r315699 = sin(r315698);
        double r315700 = 16.0;
        double r315701 = r315699 / r315700;
        double r315702 = r315697 - r315701;
        double r315703 = r315695 * r315702;
        double r315704 = r315697 / r315700;
        double r315705 = r315699 - r315704;
        double r315706 = cos(r315696);
        double r315707 = cos(r315698);
        double r315708 = r315706 - r315707;
        double r315709 = r315705 * r315708;
        double r315710 = fma(r315703, r315709, r315694);
        double r315711 = 1.0;
        double r315712 = 3.0;
        double r315713 = cbrt(r315712);
        double r315714 = r315713 * r315713;
        double r315715 = 5.0;
        double r315716 = cbrt(r315715);
        double r315717 = sqrt(r315716);
        double r315718 = r315716 * r315716;
        double r315719 = sqrt(r315718);
        double r315720 = r315717 * r315719;
        double r315721 = -r315720;
        double r315722 = fma(r315714, r315713, r315721);
        double r315723 = fabs(r315716);
        double r315724 = -r315723;
        double r315725 = r315724 + r315723;
        double r315726 = r315717 * r315725;
        double r315727 = r315722 + r315726;
        double r315728 = r315727 / r315694;
        double r315729 = sqrt(r315715);
        double r315730 = 1.0;
        double r315731 = r315729 - r315730;
        double r315732 = r315731 / r315694;
        double r315733 = fma(r315732, r315706, r315730);
        double r315734 = fma(r315728, r315707, r315733);
        double r315735 = r315711 / r315734;
        double r315736 = r315735 / r315712;
        double r315737 = r315710 * r315736;
        return r315737;
}

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(\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)}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.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)}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{\color{blue}{1 \cdot 3}}\]
  5. Applied div-inv0.5

    \[\leadsto \frac{\color{blue}{\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) \cdot \frac{1}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}}{1 \cdot 3}\]
  6. Applied times-frac0.5

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

    \[\leadsto \color{blue}{\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)} \cdot \frac{\frac{1}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}\]
  8. Using strategy rm
  9. Applied add-cube-cbrt0.6

    \[\leadsto \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) \cdot \frac{\frac{1}{\mathsf{fma}\left(\frac{3 - \sqrt{\color{blue}{\left(\sqrt[3]{5} \cdot \sqrt[3]{5}\right) \cdot \sqrt[3]{5}}}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}\]
  10. Applied sqrt-prod0.6

    \[\leadsto \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) \cdot \frac{\frac{1}{\mathsf{fma}\left(\frac{3 - \color{blue}{\sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5}}}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}\]
  11. Applied add-cube-cbrt0.6

    \[\leadsto \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) \cdot \frac{\frac{1}{\mathsf{fma}\left(\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}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}\]
  12. Applied prod-diff0.5

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

    \[\leadsto \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) \cdot \frac{\frac{1}{\mathsf{fma}\left(\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}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}\]
  14. Final simplification0.5

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

Reproduce

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