\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{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \frac{\cos x \cdot \cos x - \cos y \cdot \cos y}{\cos x + \cos y}}{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 r199483 = 2.0;
double r199484 = sqrt(r199483);
double r199485 = x;
double r199486 = sin(r199485);
double r199487 = y;
double r199488 = sin(r199487);
double r199489 = 16.0;
double r199490 = r199488 / r199489;
double r199491 = r199486 - r199490;
double r199492 = r199484 * r199491;
double r199493 = r199486 / r199489;
double r199494 = r199488 - r199493;
double r199495 = r199492 * r199494;
double r199496 = cos(r199485);
double r199497 = cos(r199487);
double r199498 = r199496 - r199497;
double r199499 = r199495 * r199498;
double r199500 = r199483 + r199499;
double r199501 = 3.0;
double r199502 = 1.0;
double r199503 = 5.0;
double r199504 = sqrt(r199503);
double r199505 = r199504 - r199502;
double r199506 = r199505 / r199483;
double r199507 = r199506 * r199496;
double r199508 = r199502 + r199507;
double r199509 = r199501 - r199504;
double r199510 = r199509 / r199483;
double r199511 = r199510 * r199497;
double r199512 = r199508 + r199511;
double r199513 = r199501 * r199512;
double r199514 = r199500 / r199513;
return r199514;
}
double f(double x, double y) {
double r199515 = 2.0;
double r199516 = sqrt(r199515);
double r199517 = x;
double r199518 = sin(r199517);
double r199519 = y;
double r199520 = sin(r199519);
double r199521 = 16.0;
double r199522 = r199520 / r199521;
double r199523 = r199518 - r199522;
double r199524 = r199516 * r199523;
double r199525 = r199518 / r199521;
double r199526 = r199520 - r199525;
double r199527 = r199524 * r199526;
double r199528 = cos(r199517);
double r199529 = r199528 * r199528;
double r199530 = cos(r199519);
double r199531 = r199530 * r199530;
double r199532 = r199529 - r199531;
double r199533 = r199528 + r199530;
double r199534 = r199532 / r199533;
double r199535 = r199527 * r199534;
double r199536 = r199515 + r199535;
double r199537 = 3.0;
double r199538 = 1.0;
double r199539 = 5.0;
double r199540 = sqrt(r199539);
double r199541 = r199540 - r199538;
double r199542 = r199541 / r199515;
double r199543 = r199542 * r199528;
double r199544 = r199538 + r199543;
double r199545 = r199537 * r199537;
double r199546 = -r199539;
double r199547 = r199545 + r199546;
double r199548 = r199537 + r199540;
double r199549 = r199547 / r199548;
double r199550 = r199549 / r199515;
double r199551 = r199550 * r199530;
double r199552 = r199544 + r199551;
double r199553 = r199537 * r199552;
double r199554 = r199536 / r199553;
return r199554;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.4
rmApplied flip--0.5
Final simplification0.5
herbie shell --seed 2020062
(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))))))