\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}\left(\left(\left(\cos y \cdot \frac{\frac{3.0 \cdot 3.0 - 5.0}{\sqrt{5.0} + 3.0}}{2.0}\right) \cdot \left(\cos y \cdot \frac{\frac{3.0 \cdot 3.0 - 5.0}{\sqrt{5.0} + 3.0}}{2.0}\right) - \left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) \cdot \left(\cos y \cdot \frac{\frac{3.0 \cdot 3.0 - 5.0}{\sqrt{5.0} + 3.0}}{2.0}\right)\right) + \left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) \cdot \left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right)\right) \cdot \frac{\frac{\sqrt[3]{\left(\left(\sin x - \frac{\sin y}{16.0}\right) \cdot \sqrt{2.0}\right) \cdot \left(\left(\left(\sin x - \frac{\sin y}{16.0}\right) \cdot \sqrt{2.0}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16.0}\right) \cdot \sqrt{2.0}\right)\right)} \cdot \left(\left(\cos x - \cos y\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) + 2.0}{3.0}}{\left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) \cdot \left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right)\right) \cdot \left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \left(\cos y \cdot \frac{3.0 \cdot 3.0 - 5.0}{\left(\sqrt{5.0} + 3.0\right) \cdot 2.0}\right) \cdot \left(\left(\cos y \cdot \frac{3.0 \cdot 3.0 - 5.0}{\left(\sqrt{5.0} + 3.0\right) \cdot 2.0}\right) \cdot \left(\cos y \cdot \frac{3.0 \cdot 3.0 - 5.0}{\left(\sqrt{5.0} + 3.0\right) \cdot 2.0}\right)\right)}double f(double x, double y) {
double r13939034 = 2.0;
double r13939035 = sqrt(r13939034);
double r13939036 = x;
double r13939037 = sin(r13939036);
double r13939038 = y;
double r13939039 = sin(r13939038);
double r13939040 = 16.0;
double r13939041 = r13939039 / r13939040;
double r13939042 = r13939037 - r13939041;
double r13939043 = r13939035 * r13939042;
double r13939044 = r13939037 / r13939040;
double r13939045 = r13939039 - r13939044;
double r13939046 = r13939043 * r13939045;
double r13939047 = cos(r13939036);
double r13939048 = cos(r13939038);
double r13939049 = r13939047 - r13939048;
double r13939050 = r13939046 * r13939049;
double r13939051 = r13939034 + r13939050;
double r13939052 = 3.0;
double r13939053 = 1.0;
double r13939054 = 5.0;
double r13939055 = sqrt(r13939054);
double r13939056 = r13939055 - r13939053;
double r13939057 = r13939056 / r13939034;
double r13939058 = r13939057 * r13939047;
double r13939059 = r13939053 + r13939058;
double r13939060 = r13939052 - r13939055;
double r13939061 = r13939060 / r13939034;
double r13939062 = r13939061 * r13939048;
double r13939063 = r13939059 + r13939062;
double r13939064 = r13939052 * r13939063;
double r13939065 = r13939051 / r13939064;
return r13939065;
}
double f(double x, double y) {
double r13939066 = y;
double r13939067 = cos(r13939066);
double r13939068 = 3.0;
double r13939069 = r13939068 * r13939068;
double r13939070 = 5.0;
double r13939071 = r13939069 - r13939070;
double r13939072 = sqrt(r13939070);
double r13939073 = r13939072 + r13939068;
double r13939074 = r13939071 / r13939073;
double r13939075 = 2.0;
double r13939076 = r13939074 / r13939075;
double r13939077 = r13939067 * r13939076;
double r13939078 = r13939077 * r13939077;
double r13939079 = 1.0;
double r13939080 = r13939072 - r13939079;
double r13939081 = r13939080 / r13939075;
double r13939082 = x;
double r13939083 = cos(r13939082);
double r13939084 = r13939081 * r13939083;
double r13939085 = r13939079 + r13939084;
double r13939086 = r13939085 * r13939077;
double r13939087 = r13939078 - r13939086;
double r13939088 = r13939085 * r13939085;
double r13939089 = r13939087 + r13939088;
double r13939090 = sin(r13939082);
double r13939091 = sin(r13939066);
double r13939092 = 16.0;
double r13939093 = r13939091 / r13939092;
double r13939094 = r13939090 - r13939093;
double r13939095 = sqrt(r13939075);
double r13939096 = r13939094 * r13939095;
double r13939097 = r13939096 * r13939096;
double r13939098 = r13939096 * r13939097;
double r13939099 = cbrt(r13939098);
double r13939100 = r13939083 - r13939067;
double r13939101 = r13939090 / r13939092;
double r13939102 = r13939091 - r13939101;
double r13939103 = r13939100 * r13939102;
double r13939104 = r13939099 * r13939103;
double r13939105 = r13939104 + r13939075;
double r13939106 = r13939105 / r13939068;
double r13939107 = r13939088 * r13939085;
double r13939108 = r13939073 * r13939075;
double r13939109 = r13939071 / r13939108;
double r13939110 = r13939067 * r13939109;
double r13939111 = r13939110 * r13939110;
double r13939112 = r13939110 * r13939111;
double r13939113 = r13939107 + r13939112;
double r13939114 = r13939106 / r13939113;
double r13939115 = r13939089 * r13939114;
return r13939115;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
rmApplied flip3-+0.6
Applied associate-*r/0.6
Applied associate-/r/0.5
Simplified0.5
rmApplied add-cbrt-cube0.5
Final simplification0.5
herbie shell --seed 2019165
(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))))))