Average Error: 0.5 → 0.5
Time: 33.8s
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 \cdot 2 - \left(\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)\right) \cdot \left(\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)\right)}{\left(3 \cdot \mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)\right) \cdot \left(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)\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 \cdot 2 - \left(\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)\right) \cdot \left(\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)\right)}{\left(3 \cdot \mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)\right) \cdot \left(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)\right)}
double f(double x, double y) {
        double r189715 = 2.0;
        double r189716 = sqrt(r189715);
        double r189717 = x;
        double r189718 = sin(r189717);
        double r189719 = y;
        double r189720 = sin(r189719);
        double r189721 = 16.0;
        double r189722 = r189720 / r189721;
        double r189723 = r189718 - r189722;
        double r189724 = r189716 * r189723;
        double r189725 = r189718 / r189721;
        double r189726 = r189720 - r189725;
        double r189727 = r189724 * r189726;
        double r189728 = cos(r189717);
        double r189729 = cos(r189719);
        double r189730 = r189728 - r189729;
        double r189731 = r189727 * r189730;
        double r189732 = r189715 + r189731;
        double r189733 = 3.0;
        double r189734 = 1.0;
        double r189735 = 5.0;
        double r189736 = sqrt(r189735);
        double r189737 = r189736 - r189734;
        double r189738 = r189737 / r189715;
        double r189739 = r189738 * r189728;
        double r189740 = r189734 + r189739;
        double r189741 = r189733 - r189736;
        double r189742 = r189741 / r189715;
        double r189743 = r189742 * r189729;
        double r189744 = r189740 + r189743;
        double r189745 = r189733 * r189744;
        double r189746 = r189732 / r189745;
        return r189746;
}

double f(double x, double y) {
        double r189747 = 2.0;
        double r189748 = r189747 * r189747;
        double r189749 = sqrt(r189747);
        double r189750 = x;
        double r189751 = sin(r189750);
        double r189752 = y;
        double r189753 = sin(r189752);
        double r189754 = 16.0;
        double r189755 = r189753 / r189754;
        double r189756 = r189751 - r189755;
        double r189757 = r189749 * r189756;
        double r189758 = r189751 / r189754;
        double r189759 = r189753 - r189758;
        double r189760 = r189757 * r189759;
        double r189761 = cos(r189750);
        double r189762 = cos(r189752);
        double r189763 = r189761 - r189762;
        double r189764 = r189760 * r189763;
        double r189765 = r189764 * r189764;
        double r189766 = r189748 - r189765;
        double r189767 = 3.0;
        double r189768 = 5.0;
        double r189769 = sqrt(r189768);
        double r189770 = r189767 - r189769;
        double r189771 = r189770 / r189747;
        double r189772 = 1.0;
        double r189773 = r189769 - r189772;
        double r189774 = r189773 / r189747;
        double r189775 = fma(r189761, r189774, r189772);
        double r189776 = fma(r189762, r189771, r189775);
        double r189777 = r189767 * r189776;
        double r189778 = r189747 - r189764;
        double r189779 = r189777 * r189778;
        double r189780 = r189766 / r189779;
        return r189780;
}

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 flip-+0.5

    \[\leadsto \frac{\color{blue}{\frac{2 \cdot 2 - \left(\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)\right) \cdot \left(\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)\right)}{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)}\]
  4. Applied associate-/l/0.5

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

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

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

Reproduce

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