\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{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \log \left(e^{\cos x - \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 r856 = 2.0;
double r857 = sqrt(r856);
double r858 = x;
double r859 = sin(r858);
double r860 = y;
double r861 = sin(r860);
double r862 = 16.0;
double r863 = r861 / r862;
double r864 = r859 - r863;
double r865 = r857 * r864;
double r866 = r859 / r862;
double r867 = r861 - r866;
double r868 = r865 * r867;
double r869 = cos(r858);
double r870 = cos(r860);
double r871 = r869 - r870;
double r872 = r868 * r871;
double r873 = r856 + r872;
double r874 = 3.0;
double r875 = 1.0;
double r876 = 5.0;
double r877 = sqrt(r876);
double r878 = r877 - r875;
double r879 = r878 / r856;
double r880 = r879 * r869;
double r881 = r875 + r880;
double r882 = r874 - r877;
double r883 = r882 / r856;
double r884 = r883 * r870;
double r885 = r881 + r884;
double r886 = r874 * r885;
double r887 = r873 / r886;
return r887;
}
double f(double x, double y) {
double r888 = 2.0;
double r889 = sqrt(r888);
double r890 = sqrt(r889);
double r891 = x;
double r892 = sin(r891);
double r893 = y;
double r894 = sin(r893);
double r895 = 16.0;
double r896 = r894 / r895;
double r897 = r892 - r896;
double r898 = r890 * r897;
double r899 = r890 * r898;
double r900 = r892 / r895;
double r901 = r894 - r900;
double r902 = r899 * r901;
double r903 = cos(r891);
double r904 = cos(r893);
double r905 = r903 - r904;
double r906 = exp(r905);
double r907 = log(r906);
double r908 = r902 * r907;
double r909 = r888 + r908;
double r910 = 3.0;
double r911 = 1.0;
double r912 = 5.0;
double r913 = sqrt(r912);
double r914 = r913 - r911;
double r915 = r914 / r888;
double r916 = r915 * r903;
double r917 = r911 + r916;
double r918 = r910 * r910;
double r919 = -r912;
double r920 = r918 + r919;
double r921 = r910 + r913;
double r922 = r920 / r921;
double r923 = r922 / r888;
double r924 = r923 * r904;
double r925 = r917 + r924;
double r926 = r910 * r925;
double r927 = r909 / r926;
return r927;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-*l*0.5
rmApplied add-log-exp0.5
Applied add-log-exp0.5
Applied diff-log0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020025
(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))))))