\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{\frac{2 + \left(\frac{\sqrt{2} \cdot \left(\sin x \cdot \sin x - \frac{\sin y}{16} \cdot \frac{\sin y}{16}\right)}{\sin x + \frac{\sin y}{16}} \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\cos x - \cos y\right)}{\frac{\frac{3 \cdot 3 + \left(-5\right)}{3 + \sqrt{5}}}{2} \cdot \cos y + \left(\left(\left(\sqrt{\sqrt{5}} + \sqrt{1}\right) \cdot \frac{\sqrt{\sqrt{5}} - \sqrt{1}}{2}\right) \cdot \cos x + 1\right)}}{3}double f(double x, double y) {
double r229837 = 2.0;
double r229838 = sqrt(r229837);
double r229839 = x;
double r229840 = sin(r229839);
double r229841 = y;
double r229842 = sin(r229841);
double r229843 = 16.0;
double r229844 = r229842 / r229843;
double r229845 = r229840 - r229844;
double r229846 = r229838 * r229845;
double r229847 = r229840 / r229843;
double r229848 = r229842 - r229847;
double r229849 = r229846 * r229848;
double r229850 = cos(r229839);
double r229851 = cos(r229841);
double r229852 = r229850 - r229851;
double r229853 = r229849 * r229852;
double r229854 = r229837 + r229853;
double r229855 = 3.0;
double r229856 = 1.0;
double r229857 = 5.0;
double r229858 = sqrt(r229857);
double r229859 = r229858 - r229856;
double r229860 = r229859 / r229837;
double r229861 = r229860 * r229850;
double r229862 = r229856 + r229861;
double r229863 = r229855 - r229858;
double r229864 = r229863 / r229837;
double r229865 = r229864 * r229851;
double r229866 = r229862 + r229865;
double r229867 = r229855 * r229866;
double r229868 = r229854 / r229867;
return r229868;
}
double f(double x, double y) {
double r229869 = 2.0;
double r229870 = sqrt(r229869);
double r229871 = x;
double r229872 = sin(r229871);
double r229873 = r229872 * r229872;
double r229874 = y;
double r229875 = sin(r229874);
double r229876 = 16.0;
double r229877 = r229875 / r229876;
double r229878 = r229877 * r229877;
double r229879 = r229873 - r229878;
double r229880 = r229870 * r229879;
double r229881 = r229872 + r229877;
double r229882 = r229880 / r229881;
double r229883 = r229872 / r229876;
double r229884 = r229875 - r229883;
double r229885 = r229882 * r229884;
double r229886 = cos(r229871);
double r229887 = cos(r229874);
double r229888 = r229886 - r229887;
double r229889 = r229885 * r229888;
double r229890 = r229869 + r229889;
double r229891 = 3.0;
double r229892 = r229891 * r229891;
double r229893 = 5.0;
double r229894 = -r229893;
double r229895 = r229892 + r229894;
double r229896 = sqrt(r229893);
double r229897 = r229891 + r229896;
double r229898 = r229895 / r229897;
double r229899 = r229898 / r229869;
double r229900 = r229899 * r229887;
double r229901 = sqrt(r229896);
double r229902 = 1.0;
double r229903 = sqrt(r229902);
double r229904 = r229901 + r229903;
double r229905 = r229901 - r229903;
double r229906 = r229905 / r229869;
double r229907 = r229904 * r229906;
double r229908 = r229907 * r229886;
double r229909 = r229908 + r229902;
double r229910 = r229900 + r229909;
double r229911 = r229890 / r229910;
double r229912 = r229911 / r229891;
return r229912;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied add-sqr-sqrt0.5
Applied add-sqr-sqrt0.5
Applied sqrt-prod0.9
Applied difference-of-squares0.5
Applied times-frac0.5
Applied associate-*l*0.5
rmApplied flip--0.5
Simplified0.5
Simplified0.5
rmApplied flip--0.5
Applied associate-*r/0.5
Final simplification0.5
herbie shell --seed 2019322
(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))))))