\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 + \frac{\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(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}\right)}{\cos x \cdot \cos x + \left(\sqrt[3]{\frac{1}{2} + \left(\frac{1}{2} \cdot \cos \left(2 \cdot y\right) + \cos x \cdot \cos y\right)} \cdot \sqrt[3]{\frac{1}{2} + \left(\frac{1}{2} \cdot \cos \left(2 \cdot y\right) + \cos x \cdot \cos y\right)}\right) \cdot \sqrt[3]{\frac{1}{2} + \left(\frac{1}{2} \cdot \cos \left(2 \cdot y\right) + \cos x \cdot \cos y\right)}}}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 + \left(-5\right)}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r240870 = 2.0;
double r240871 = sqrt(r240870);
double r240872 = x;
double r240873 = sin(r240872);
double r240874 = y;
double r240875 = sin(r240874);
double r240876 = 16.0;
double r240877 = r240875 / r240876;
double r240878 = r240873 - r240877;
double r240879 = r240871 * r240878;
double r240880 = r240873 / r240876;
double r240881 = r240875 - r240880;
double r240882 = r240879 * r240881;
double r240883 = cos(r240872);
double r240884 = cos(r240874);
double r240885 = r240883 - r240884;
double r240886 = r240882 * r240885;
double r240887 = r240870 + r240886;
double r240888 = 3.0;
double r240889 = 1.0;
double r240890 = 5.0;
double r240891 = sqrt(r240890);
double r240892 = r240891 - r240889;
double r240893 = r240892 / r240870;
double r240894 = r240893 * r240883;
double r240895 = r240889 + r240894;
double r240896 = r240888 - r240891;
double r240897 = r240896 / r240870;
double r240898 = r240897 * r240884;
double r240899 = r240895 + r240898;
double r240900 = r240888 * r240899;
double r240901 = r240887 / r240900;
return r240901;
}
double f(double x, double y) {
double r240902 = 2.0;
double r240903 = sqrt(r240902);
double r240904 = x;
double r240905 = sin(r240904);
double r240906 = y;
double r240907 = sin(r240906);
double r240908 = 16.0;
double r240909 = r240907 / r240908;
double r240910 = r240905 - r240909;
double r240911 = r240903 * r240910;
double r240912 = r240905 / r240908;
double r240913 = r240907 - r240912;
double r240914 = r240911 * r240913;
double r240915 = cos(r240904);
double r240916 = 3.0;
double r240917 = pow(r240915, r240916);
double r240918 = cos(r240906);
double r240919 = pow(r240918, r240916);
double r240920 = r240917 - r240919;
double r240921 = r240914 * r240920;
double r240922 = r240915 * r240915;
double r240923 = 0.5;
double r240924 = 2.0;
double r240925 = r240924 * r240906;
double r240926 = cos(r240925);
double r240927 = r240923 * r240926;
double r240928 = r240915 * r240918;
double r240929 = r240927 + r240928;
double r240930 = r240923 + r240929;
double r240931 = cbrt(r240930);
double r240932 = r240931 * r240931;
double r240933 = r240932 * r240931;
double r240934 = r240922 + r240933;
double r240935 = r240921 / r240934;
double r240936 = r240902 + r240935;
double r240937 = 3.0;
double r240938 = 1.0;
double r240939 = 5.0;
double r240940 = sqrt(r240939);
double r240941 = r240940 - r240938;
double r240942 = r240941 / r240902;
double r240943 = r240942 * r240915;
double r240944 = r240938 + r240943;
double r240945 = r240937 * r240937;
double r240946 = -r240939;
double r240947 = r240945 + r240946;
double r240948 = r240937 + r240940;
double r240949 = r240947 / r240948;
double r240950 = r240949 / r240902;
double r240951 = r240950 * r240918;
double r240952 = r240944 + r240951;
double r240953 = r240937 * r240952;
double r240954 = r240936 / r240953;
return r240954;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
rmApplied flip3--0.5
Applied associate-*r/0.5
rmApplied sqr-cos0.5
Applied associate-+l+0.5
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2020003
(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))))))