\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 + \frac{\left(\sqrt{2} \cdot \left(\sin x \cdot \sin x - \frac{\sin y}{16} \cdot \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}{\sin x + \frac{\sin y}{16}} \cdot \left(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\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 r183054 = 2.0;
double r183055 = sqrt(r183054);
double r183056 = x;
double r183057 = sin(r183056);
double r183058 = y;
double r183059 = sin(r183058);
double r183060 = 16.0;
double r183061 = r183059 / r183060;
double r183062 = r183057 - r183061;
double r183063 = r183055 * r183062;
double r183064 = r183057 / r183060;
double r183065 = r183059 - r183064;
double r183066 = r183063 * r183065;
double r183067 = cos(r183056);
double r183068 = cos(r183058);
double r183069 = r183067 - r183068;
double r183070 = r183066 * r183069;
double r183071 = r183054 + r183070;
double r183072 = 3.0;
double r183073 = 1.0;
double r183074 = 5.0;
double r183075 = sqrt(r183074);
double r183076 = r183075 - r183073;
double r183077 = r183076 / r183054;
double r183078 = r183077 * r183067;
double r183079 = r183073 + r183078;
double r183080 = r183072 - r183075;
double r183081 = r183080 / r183054;
double r183082 = r183081 * r183068;
double r183083 = r183079 + r183082;
double r183084 = r183072 * r183083;
double r183085 = r183071 / r183084;
return r183085;
}
double f(double x, double y) {
double r183086 = 2.0;
double r183087 = sqrt(r183086);
double r183088 = x;
double r183089 = sin(r183088);
double r183090 = r183089 * r183089;
double r183091 = y;
double r183092 = sin(r183091);
double r183093 = 16.0;
double r183094 = r183092 / r183093;
double r183095 = r183094 * r183094;
double r183096 = r183090 - r183095;
double r183097 = r183087 * r183096;
double r183098 = r183089 / r183093;
double r183099 = r183092 - r183098;
double r183100 = r183097 * r183099;
double r183101 = r183089 + r183094;
double r183102 = r183100 / r183101;
double r183103 = cos(r183088);
double r183104 = cos(r183091);
double r183105 = r183103 - r183104;
double r183106 = cbrt(r183105);
double r183107 = r183106 * r183106;
double r183108 = r183107 * r183106;
double r183109 = r183102 * r183108;
double r183110 = r183086 + r183109;
double r183111 = 3.0;
double r183112 = 1.0;
double r183113 = 5.0;
double r183114 = sqrt(r183113);
double r183115 = r183114 - r183112;
double r183116 = r183115 / r183086;
double r183117 = r183116 * r183103;
double r183118 = r183112 + r183117;
double r183119 = r183111 * r183111;
double r183120 = -r183113;
double r183121 = r183119 + r183120;
double r183122 = r183111 + r183114;
double r183123 = r183121 / r183122;
double r183124 = r183123 / r183086;
double r183125 = r183124 * r183104;
double r183126 = r183118 + r183125;
double r183127 = r183111 * r183126;
double r183128 = r183110 / r183127;
return r183128;
}



Bits error versus x



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