\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(\left(\sqrt{2} \cdot \left(\sqrt[3]{\sin x - \frac{\sin y}{16}} \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\right)\right) \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\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{\frac{3 \cdot 3 + \left(-5\right)}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r215864 = 2.0;
double r215865 = sqrt(r215864);
double r215866 = x;
double r215867 = sin(r215866);
double r215868 = y;
double r215869 = sin(r215868);
double r215870 = 16.0;
double r215871 = r215869 / r215870;
double r215872 = r215867 - r215871;
double r215873 = r215865 * r215872;
double r215874 = r215867 / r215870;
double r215875 = r215869 - r215874;
double r215876 = r215873 * r215875;
double r215877 = cos(r215866);
double r215878 = cos(r215868);
double r215879 = r215877 - r215878;
double r215880 = r215876 * r215879;
double r215881 = r215864 + r215880;
double r215882 = 3.0;
double r215883 = 1.0;
double r215884 = 5.0;
double r215885 = sqrt(r215884);
double r215886 = r215885 - r215883;
double r215887 = r215886 / r215864;
double r215888 = r215887 * r215877;
double r215889 = r215883 + r215888;
double r215890 = r215882 - r215885;
double r215891 = r215890 / r215864;
double r215892 = r215891 * r215878;
double r215893 = r215889 + r215892;
double r215894 = r215882 * r215893;
double r215895 = r215881 / r215894;
return r215895;
}
double f(double x, double y) {
double r215896 = 2.0;
double r215897 = sqrt(r215896);
double r215898 = x;
double r215899 = sin(r215898);
double r215900 = y;
double r215901 = sin(r215900);
double r215902 = 16.0;
double r215903 = r215901 / r215902;
double r215904 = r215899 - r215903;
double r215905 = cbrt(r215904);
double r215906 = r215905 * r215905;
double r215907 = r215897 * r215906;
double r215908 = r215907 * r215905;
double r215909 = r215899 / r215902;
double r215910 = r215901 - r215909;
double r215911 = r215908 * r215910;
double r215912 = cos(r215898);
double r215913 = cos(r215900);
double r215914 = r215912 - r215913;
double r215915 = r215911 * r215914;
double r215916 = r215896 + r215915;
double r215917 = 3.0;
double r215918 = 1.0;
double r215919 = 5.0;
double r215920 = sqrt(r215919);
double r215921 = r215920 - r215918;
double r215922 = r215921 / r215896;
double r215923 = r215922 * r215912;
double r215924 = r215918 + r215923;
double r215925 = r215917 * r215917;
double r215926 = -r215919;
double r215927 = r215925 + r215926;
double r215928 = r215917 + r215920;
double r215929 = r215927 / r215928;
double r215930 = r215929 / r215896;
double r215931 = r215930 * r215913;
double r215932 = r215924 + r215931;
double r215933 = r215917 * r215932;
double r215934 = r215916 / r215933;
return r215934;
}



Bits error versus x



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