\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(\cos x - \cos y\right) \cdot \left(\left(\sqrt[3]{\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)} \cdot \sqrt[3]{\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)}\right) \cdot \sqrt[3]{\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)}\right)}{3 \cdot \left(\frac{\frac{3 \cdot 3 - 5}{\sqrt{5} + 3}}{2} \cdot \cos y + \left(1 + \left(\frac{\sqrt{5} - 1}{\sqrt{2}} \cdot \cos x\right) \cdot \frac{1}{\sqrt{2}}\right)\right)}double f(double x, double y) {
double r13134787 = 2.0;
double r13134788 = sqrt(r13134787);
double r13134789 = x;
double r13134790 = sin(r13134789);
double r13134791 = y;
double r13134792 = sin(r13134791);
double r13134793 = 16.0;
double r13134794 = r13134792 / r13134793;
double r13134795 = r13134790 - r13134794;
double r13134796 = r13134788 * r13134795;
double r13134797 = r13134790 / r13134793;
double r13134798 = r13134792 - r13134797;
double r13134799 = r13134796 * r13134798;
double r13134800 = cos(r13134789);
double r13134801 = cos(r13134791);
double r13134802 = r13134800 - r13134801;
double r13134803 = r13134799 * r13134802;
double r13134804 = r13134787 + r13134803;
double r13134805 = 3.0;
double r13134806 = 1.0;
double r13134807 = 5.0;
double r13134808 = sqrt(r13134807);
double r13134809 = r13134808 - r13134806;
double r13134810 = r13134809 / r13134787;
double r13134811 = r13134810 * r13134800;
double r13134812 = r13134806 + r13134811;
double r13134813 = r13134805 - r13134808;
double r13134814 = r13134813 / r13134787;
double r13134815 = r13134814 * r13134801;
double r13134816 = r13134812 + r13134815;
double r13134817 = r13134805 * r13134816;
double r13134818 = r13134804 / r13134817;
return r13134818;
}
double f(double x, double y) {
double r13134819 = 2.0;
double r13134820 = x;
double r13134821 = cos(r13134820);
double r13134822 = y;
double r13134823 = cos(r13134822);
double r13134824 = r13134821 - r13134823;
double r13134825 = sin(r13134822);
double r13134826 = sin(r13134820);
double r13134827 = 16.0;
double r13134828 = r13134826 / r13134827;
double r13134829 = r13134825 - r13134828;
double r13134830 = r13134825 / r13134827;
double r13134831 = r13134826 - r13134830;
double r13134832 = sqrt(r13134819);
double r13134833 = r13134831 * r13134832;
double r13134834 = r13134829 * r13134833;
double r13134835 = cbrt(r13134834);
double r13134836 = r13134835 * r13134835;
double r13134837 = r13134836 * r13134835;
double r13134838 = r13134824 * r13134837;
double r13134839 = r13134819 + r13134838;
double r13134840 = 3.0;
double r13134841 = r13134840 * r13134840;
double r13134842 = 5.0;
double r13134843 = r13134841 - r13134842;
double r13134844 = sqrt(r13134842);
double r13134845 = r13134844 + r13134840;
double r13134846 = r13134843 / r13134845;
double r13134847 = r13134846 / r13134819;
double r13134848 = r13134847 * r13134823;
double r13134849 = 1.0;
double r13134850 = r13134844 - r13134849;
double r13134851 = r13134850 / r13134832;
double r13134852 = r13134851 * r13134821;
double r13134853 = 1.0;
double r13134854 = r13134853 / r13134832;
double r13134855 = r13134852 * r13134854;
double r13134856 = r13134849 + r13134855;
double r13134857 = r13134848 + r13134856;
double r13134858 = r13134840 * r13134857;
double r13134859 = r13134839 / r13134858;
return r13134859;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.4
rmApplied add-sqr-sqrt0.5
Applied *-un-lft-identity0.5
Applied times-frac0.5
Applied associate-*l*0.4
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2019171
(FPCore (x y)
:name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
(/ (+ 2.0 (* (* (* (sqrt 2.0) (- (sin x) (/ (sin y) 16.0))) (- (sin y) (/ (sin x) 16.0))) (- (cos x) (cos y)))) (* 3.0 (+ (+ 1.0 (* (/ (- (sqrt 5.0) 1.0) 2.0) (cos x))) (* (/ (- 3.0 (sqrt 5.0)) 2.0) (cos y))))))