\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)}\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 \frac{1}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r258530 = 2.0;
double r258531 = sqrt(r258530);
double r258532 = x;
double r258533 = sin(r258532);
double r258534 = y;
double r258535 = sin(r258534);
double r258536 = 16.0;
double r258537 = r258535 / r258536;
double r258538 = r258533 - r258537;
double r258539 = r258531 * r258538;
double r258540 = r258533 / r258536;
double r258541 = r258535 - r258540;
double r258542 = r258539 * r258541;
double r258543 = cos(r258532);
double r258544 = cos(r258534);
double r258545 = r258543 - r258544;
double r258546 = r258542 * r258545;
double r258547 = r258530 + r258546;
double r258548 = 3.0;
double r258549 = 1.0;
double r258550 = 5.0;
double r258551 = sqrt(r258550);
double r258552 = r258551 - r258549;
double r258553 = r258552 / r258530;
double r258554 = r258553 * r258543;
double r258555 = r258549 + r258554;
double r258556 = r258548 - r258551;
double r258557 = r258556 / r258530;
double r258558 = r258557 * r258544;
double r258559 = r258555 + r258558;
double r258560 = r258548 * r258559;
double r258561 = r258547 / r258560;
return r258561;
}
double f(double x, double y) {
double r258562 = 2.0;
double r258563 = sqrt(r258562);
double r258564 = x;
double r258565 = sin(r258564);
double r258566 = y;
double r258567 = sin(r258566);
double r258568 = 16.0;
double r258569 = r258567 / r258568;
double r258570 = r258565 - r258569;
double r258571 = r258563 * r258570;
double r258572 = r258565 / r258568;
double r258573 = r258567 - r258572;
double r258574 = r258571 * r258573;
double r258575 = cos(r258564);
double r258576 = cos(r258566);
double r258577 = r258575 - r258576;
double r258578 = r258574 * r258577;
double r258579 = r258562 + r258578;
double r258580 = 1.0;
double r258581 = 3.0;
double r258582 = 1.0;
double r258583 = 5.0;
double r258584 = sqrt(r258583);
double r258585 = r258584 - r258582;
double r258586 = r258585 / r258562;
double r258587 = r258586 * r258575;
double r258588 = r258582 + r258587;
double r258589 = r258581 * r258581;
double r258590 = r258589 - r258583;
double r258591 = r258581 + r258584;
double r258592 = r258590 / r258591;
double r258593 = r258592 / r258562;
double r258594 = r258593 * r258576;
double r258595 = r258588 + r258594;
double r258596 = r258581 * r258595;
double r258597 = r258580 / r258596;
double r258598 = r258579 * r258597;
return r258598;
}



Bits error versus x



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