\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 + \left(\left(\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot \left(\sin x - \frac{\sin y}{16}\right)\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 r184293 = 2.0;
double r184294 = sqrt(r184293);
double r184295 = x;
double r184296 = sin(r184295);
double r184297 = y;
double r184298 = sin(r184297);
double r184299 = 16.0;
double r184300 = r184298 / r184299;
double r184301 = r184296 - r184300;
double r184302 = r184294 * r184301;
double r184303 = r184296 / r184299;
double r184304 = r184298 - r184303;
double r184305 = r184302 * r184304;
double r184306 = cos(r184295);
double r184307 = cos(r184297);
double r184308 = r184306 - r184307;
double r184309 = r184305 * r184308;
double r184310 = r184293 + r184309;
double r184311 = 3.0;
double r184312 = 1.0;
double r184313 = 5.0;
double r184314 = sqrt(r184313);
double r184315 = r184314 - r184312;
double r184316 = r184315 / r184293;
double r184317 = r184316 * r184306;
double r184318 = r184312 + r184317;
double r184319 = r184311 - r184314;
double r184320 = r184319 / r184293;
double r184321 = r184320 * r184307;
double r184322 = r184318 + r184321;
double r184323 = r184311 * r184322;
double r184324 = r184310 / r184323;
return r184324;
}
double f(double x, double y) {
double r184325 = 2.0;
double r184326 = sqrt(r184325);
double r184327 = sqrt(r184326);
double r184328 = x;
double r184329 = sin(r184328);
double r184330 = y;
double r184331 = sin(r184330);
double r184332 = 16.0;
double r184333 = r184331 / r184332;
double r184334 = r184329 - r184333;
double r184335 = r184327 * r184334;
double r184336 = r184327 * r184335;
double r184337 = r184329 / r184332;
double r184338 = r184331 - r184337;
double r184339 = r184336 * r184338;
double r184340 = cos(r184328);
double r184341 = cos(r184330);
double r184342 = r184340 - r184341;
double r184343 = r184339 * r184342;
double r184344 = r184325 + r184343;
double r184345 = 3.0;
double r184346 = 1.0;
double r184347 = 5.0;
double r184348 = sqrt(r184347);
double r184349 = r184348 - r184346;
double r184350 = r184349 / r184325;
double r184351 = r184350 * r184340;
double r184352 = r184346 + r184351;
double r184353 = r184345 - r184348;
double r184354 = r184353 / r184325;
double r184355 = r184354 * r184341;
double r184356 = r184352 + r184355;
double r184357 = r184345 * r184356;
double r184358 = r184344 / r184357;
return r184358;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-*l*0.5
Final simplification0.5
herbie shell --seed 2019323
(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))))))