\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{\left(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)\right) \cdot 1}{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 r181426 = 2.0;
double r181427 = sqrt(r181426);
double r181428 = x;
double r181429 = sin(r181428);
double r181430 = y;
double r181431 = sin(r181430);
double r181432 = 16.0;
double r181433 = r181431 / r181432;
double r181434 = r181429 - r181433;
double r181435 = r181427 * r181434;
double r181436 = r181429 / r181432;
double r181437 = r181431 - r181436;
double r181438 = r181435 * r181437;
double r181439 = cos(r181428);
double r181440 = cos(r181430);
double r181441 = r181439 - r181440;
double r181442 = r181438 * r181441;
double r181443 = r181426 + r181442;
double r181444 = 3.0;
double r181445 = 1.0;
double r181446 = 5.0;
double r181447 = sqrt(r181446);
double r181448 = r181447 - r181445;
double r181449 = r181448 / r181426;
double r181450 = r181449 * r181439;
double r181451 = r181445 + r181450;
double r181452 = r181444 - r181447;
double r181453 = r181452 / r181426;
double r181454 = r181453 * r181440;
double r181455 = r181451 + r181454;
double r181456 = r181444 * r181455;
double r181457 = r181443 / r181456;
return r181457;
}
double f(double x, double y) {
double r181458 = 2.0;
double r181459 = sqrt(r181458);
double r181460 = x;
double r181461 = sin(r181460);
double r181462 = y;
double r181463 = sin(r181462);
double r181464 = 16.0;
double r181465 = r181463 / r181464;
double r181466 = r181461 - r181465;
double r181467 = r181459 * r181466;
double r181468 = r181461 / r181464;
double r181469 = r181463 - r181468;
double r181470 = r181467 * r181469;
double r181471 = cos(r181460);
double r181472 = cos(r181462);
double r181473 = r181471 - r181472;
double r181474 = r181470 * r181473;
double r181475 = r181458 + r181474;
double r181476 = 1.0;
double r181477 = r181475 * r181476;
double r181478 = 3.0;
double r181479 = 1.0;
double r181480 = 5.0;
double r181481 = sqrt(r181480);
double r181482 = r181481 - r181479;
double r181483 = r181482 / r181458;
double r181484 = r181483 * r181471;
double r181485 = r181479 + r181484;
double r181486 = r181478 * r181478;
double r181487 = -r181480;
double r181488 = r181486 + r181487;
double r181489 = r181478 + r181481;
double r181490 = r181488 / r181489;
double r181491 = r181490 / r181458;
double r181492 = r181491 * r181472;
double r181493 = r181485 + r181492;
double r181494 = r181478 * r181493;
double r181495 = r181477 / r181494;
return r181495;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.4
rmApplied flip--0.5
Simplified0.4
rmApplied flip-+0.5
Applied associate-/l/0.5
Final simplification0.4
herbie shell --seed 2019304
(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))))))