\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{1}{3 \cdot \left(\cos y \cdot \frac{\frac{3 \cdot 3 - 5}{\sqrt{5} + 3}}{2} + \left(1 + \cos x \cdot \frac{\sqrt{5} - 1}{2}\right)\right)} \cdot \left(\left(\cos x - \cos y\right) \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)\right) + 2\right)double f(double x, double y) {
double r10797822 = 2.0;
double r10797823 = sqrt(r10797822);
double r10797824 = x;
double r10797825 = sin(r10797824);
double r10797826 = y;
double r10797827 = sin(r10797826);
double r10797828 = 16.0;
double r10797829 = r10797827 / r10797828;
double r10797830 = r10797825 - r10797829;
double r10797831 = r10797823 * r10797830;
double r10797832 = r10797825 / r10797828;
double r10797833 = r10797827 - r10797832;
double r10797834 = r10797831 * r10797833;
double r10797835 = cos(r10797824);
double r10797836 = cos(r10797826);
double r10797837 = r10797835 - r10797836;
double r10797838 = r10797834 * r10797837;
double r10797839 = r10797822 + r10797838;
double r10797840 = 3.0;
double r10797841 = 1.0;
double r10797842 = 5.0;
double r10797843 = sqrt(r10797842);
double r10797844 = r10797843 - r10797841;
double r10797845 = r10797844 / r10797822;
double r10797846 = r10797845 * r10797835;
double r10797847 = r10797841 + r10797846;
double r10797848 = r10797840 - r10797843;
double r10797849 = r10797848 / r10797822;
double r10797850 = r10797849 * r10797836;
double r10797851 = r10797847 + r10797850;
double r10797852 = r10797840 * r10797851;
double r10797853 = r10797839 / r10797852;
return r10797853;
}
double f(double x, double y) {
double r10797854 = 1.0;
double r10797855 = 3.0;
double r10797856 = y;
double r10797857 = cos(r10797856);
double r10797858 = r10797855 * r10797855;
double r10797859 = 5.0;
double r10797860 = r10797858 - r10797859;
double r10797861 = sqrt(r10797859);
double r10797862 = r10797861 + r10797855;
double r10797863 = r10797860 / r10797862;
double r10797864 = 2.0;
double r10797865 = r10797863 / r10797864;
double r10797866 = r10797857 * r10797865;
double r10797867 = 1.0;
double r10797868 = x;
double r10797869 = cos(r10797868);
double r10797870 = r10797861 - r10797867;
double r10797871 = r10797870 / r10797864;
double r10797872 = r10797869 * r10797871;
double r10797873 = r10797867 + r10797872;
double r10797874 = r10797866 + r10797873;
double r10797875 = r10797855 * r10797874;
double r10797876 = r10797854 / r10797875;
double r10797877 = r10797869 - r10797857;
double r10797878 = sin(r10797856);
double r10797879 = sin(r10797868);
double r10797880 = 16.0;
double r10797881 = r10797879 / r10797880;
double r10797882 = r10797878 - r10797881;
double r10797883 = r10797878 / r10797880;
double r10797884 = r10797879 - r10797883;
double r10797885 = sqrt(r10797864);
double r10797886 = r10797884 * r10797885;
double r10797887 = r10797882 * r10797886;
double r10797888 = r10797877 * r10797887;
double r10797889 = r10797888 + r10797864;
double r10797890 = r10797876 * r10797889;
return r10797890;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.4
rmApplied div-inv0.5
Final simplification0.5
herbie shell --seed 2019192
(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))))))