\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(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\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 r182839 = 2.0;
double r182840 = sqrt(r182839);
double r182841 = x;
double r182842 = sin(r182841);
double r182843 = y;
double r182844 = sin(r182843);
double r182845 = 16.0;
double r182846 = r182844 / r182845;
double r182847 = r182842 - r182846;
double r182848 = r182840 * r182847;
double r182849 = r182842 / r182845;
double r182850 = r182844 - r182849;
double r182851 = r182848 * r182850;
double r182852 = cos(r182841);
double r182853 = cos(r182843);
double r182854 = r182852 - r182853;
double r182855 = r182851 * r182854;
double r182856 = r182839 + r182855;
double r182857 = 3.0;
double r182858 = 1.0;
double r182859 = 5.0;
double r182860 = sqrt(r182859);
double r182861 = r182860 - r182858;
double r182862 = r182861 / r182839;
double r182863 = r182862 * r182852;
double r182864 = r182858 + r182863;
double r182865 = r182857 - r182860;
double r182866 = r182865 / r182839;
double r182867 = r182866 * r182853;
double r182868 = r182864 + r182867;
double r182869 = r182857 * r182868;
double r182870 = r182856 / r182869;
return r182870;
}
double f(double x, double y) {
double r182871 = 2.0;
double r182872 = sqrt(r182871);
double r182873 = x;
double r182874 = sin(r182873);
double r182875 = y;
double r182876 = sin(r182875);
double r182877 = 16.0;
double r182878 = r182876 / r182877;
double r182879 = r182874 - r182878;
double r182880 = r182872 * r182879;
double r182881 = r182874 / r182877;
double r182882 = r182876 - r182881;
double r182883 = r182880 * r182882;
double r182884 = cos(r182873);
double r182885 = cos(r182875);
double r182886 = r182884 - r182885;
double r182887 = cbrt(r182886);
double r182888 = r182887 * r182887;
double r182889 = r182888 * r182887;
double r182890 = r182883 * r182889;
double r182891 = r182871 + r182890;
double r182892 = 3.0;
double r182893 = 1.0;
double r182894 = 5.0;
double r182895 = sqrt(r182894);
double r182896 = r182895 - r182893;
double r182897 = r182896 / r182871;
double r182898 = r182897 * r182884;
double r182899 = r182893 + r182898;
double r182900 = cbrt(r182892);
double r182901 = r182900 * r182900;
double r182902 = cbrt(r182894);
double r182903 = sqrt(r182902);
double r182904 = r182902 * r182902;
double r182905 = sqrt(r182904);
double r182906 = r182903 * r182905;
double r182907 = -r182906;
double r182908 = fma(r182901, r182900, r182907);
double r182909 = fabs(r182902);
double r182910 = -r182909;
double r182911 = r182910 + r182909;
double r182912 = r182903 * r182911;
double r182913 = r182908 + r182912;
double r182914 = r182913 / r182871;
double r182915 = r182914 * r182885;
double r182916 = r182899 + r182915;
double r182917 = r182892 * r182916;
double r182918 = r182891 / r182917;
return r182918;
}



Bits error versus x



Bits error versus y
Initial program 0.5
rmApplied add-cube-cbrt0.6
Applied sqrt-prod0.6
Applied add-cube-cbrt0.6
Applied prod-diff0.4
Simplified0.5
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2020056 +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))))))