\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{\frac{\mathsf{fma}\left(\cos x - \cos y, \left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right), 2\right)}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}double f(double x, double y) {
double r200211 = 2.0;
double r200212 = sqrt(r200211);
double r200213 = x;
double r200214 = sin(r200213);
double r200215 = y;
double r200216 = sin(r200215);
double r200217 = 16.0;
double r200218 = r200216 / r200217;
double r200219 = r200214 - r200218;
double r200220 = r200212 * r200219;
double r200221 = r200214 / r200217;
double r200222 = r200216 - r200221;
double r200223 = r200220 * r200222;
double r200224 = cos(r200213);
double r200225 = cos(r200215);
double r200226 = r200224 - r200225;
double r200227 = r200223 * r200226;
double r200228 = r200211 + r200227;
double r200229 = 3.0;
double r200230 = 1.0;
double r200231 = 5.0;
double r200232 = sqrt(r200231);
double r200233 = r200232 - r200230;
double r200234 = r200233 / r200211;
double r200235 = r200234 * r200224;
double r200236 = r200230 + r200235;
double r200237 = r200229 - r200232;
double r200238 = r200237 / r200211;
double r200239 = r200238 * r200225;
double r200240 = r200236 + r200239;
double r200241 = r200229 * r200240;
double r200242 = r200228 / r200241;
return r200242;
}
double f(double x, double y) {
double r200243 = x;
double r200244 = cos(r200243);
double r200245 = y;
double r200246 = cos(r200245);
double r200247 = r200244 - r200246;
double r200248 = 2.0;
double r200249 = sqrt(r200248);
double r200250 = sin(r200243);
double r200251 = sin(r200245);
double r200252 = 16.0;
double r200253 = r200251 / r200252;
double r200254 = r200250 - r200253;
double r200255 = r200249 * r200254;
double r200256 = r200250 / r200252;
double r200257 = r200251 - r200256;
double r200258 = r200255 * r200257;
double r200259 = fma(r200247, r200258, r200248);
double r200260 = 3.0;
double r200261 = 5.0;
double r200262 = sqrt(r200261);
double r200263 = r200260 - r200262;
double r200264 = r200263 / r200248;
double r200265 = 1.0;
double r200266 = r200262 - r200265;
double r200267 = r200266 / r200248;
double r200268 = fma(r200267, r200244, r200265);
double r200269 = fma(r200264, r200246, r200268);
double r200270 = r200259 / r200269;
double r200271 = r200270 / r200260;
return r200271;
}



Bits error versus x



Bits error versus y
Initial program 0.5
rmApplied add-cbrt-cube0.5
Simplified0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2020024 +o rules:numerics
(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))))))