\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 + \log \left(e^{\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)}double f(double x, double y) {
double r240817 = 2.0;
double r240818 = sqrt(r240817);
double r240819 = x;
double r240820 = sin(r240819);
double r240821 = y;
double r240822 = sin(r240821);
double r240823 = 16.0;
double r240824 = r240822 / r240823;
double r240825 = r240820 - r240824;
double r240826 = r240818 * r240825;
double r240827 = r240820 / r240823;
double r240828 = r240822 - r240827;
double r240829 = r240826 * r240828;
double r240830 = cos(r240819);
double r240831 = cos(r240821);
double r240832 = r240830 - r240831;
double r240833 = r240829 * r240832;
double r240834 = r240817 + r240833;
double r240835 = 3.0;
double r240836 = 1.0;
double r240837 = 5.0;
double r240838 = sqrt(r240837);
double r240839 = r240838 - r240836;
double r240840 = r240839 / r240817;
double r240841 = r240840 * r240830;
double r240842 = r240836 + r240841;
double r240843 = r240835 - r240838;
double r240844 = r240843 / r240817;
double r240845 = r240844 * r240831;
double r240846 = r240842 + r240845;
double r240847 = r240835 * r240846;
double r240848 = r240834 / r240847;
return r240848;
}
double f(double x, double y) {
double r240849 = 2.0;
double r240850 = sqrt(r240849);
double r240851 = x;
double r240852 = sin(r240851);
double r240853 = y;
double r240854 = sin(r240853);
double r240855 = 16.0;
double r240856 = r240854 / r240855;
double r240857 = r240852 - r240856;
double r240858 = r240850 * r240857;
double r240859 = r240852 / r240855;
double r240860 = r240854 - r240859;
double r240861 = r240858 * r240860;
double r240862 = exp(r240861);
double r240863 = log(r240862);
double r240864 = cos(r240851);
double r240865 = cos(r240853);
double r240866 = r240864 - r240865;
double r240867 = r240863 * r240866;
double r240868 = r240849 + r240867;
double r240869 = 3.0;
double r240870 = 1.0;
double r240871 = 5.0;
double r240872 = sqrt(r240871);
double r240873 = r240872 - r240870;
double r240874 = r240873 / r240849;
double r240875 = r240874 * r240864;
double r240876 = r240870 + r240875;
double r240877 = r240869 - r240872;
double r240878 = r240877 / r240849;
double r240879 = r240878 * r240865;
double r240880 = r240876 + r240879;
double r240881 = r240869 * r240880;
double r240882 = r240868 / r240881;
return r240882;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-log-exp0.5
Final simplification0.5
herbie shell --seed 2019350
(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))))))