\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{\log \left(e^{\frac{\left(-\sqrt{2}\right) \cdot \left(\left({\left(\sin x\right)}^{2} - \frac{\frac{{\left(\sin y\right)}^{2}}{16}}{16}\right) \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \cos y\right)\right) + \left(\left({\left(\sin x\right)}^{2} - \frac{\frac{{\left(\sin y\right)}^{2}}{16}}{16}\right) \cdot \cos x\right) \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \sqrt{2}\right)}{\frac{\sin y}{16} + \sin x}}\right) + 2}{\left(\cos y \cdot \frac{\frac{{3}^{3} - \sqrt{5} \cdot 5}{\left(3 \cdot 3 + 3 \cdot \sqrt{5}\right) + 5}}{2} + \left(\frac{\sqrt{5} - 1}{2} \cdot \cos x + 1\right)\right) \cdot 3}double f(double x, double y) {
double r197499 = 2.0;
double r197500 = sqrt(r197499);
double r197501 = x;
double r197502 = sin(r197501);
double r197503 = y;
double r197504 = sin(r197503);
double r197505 = 16.0;
double r197506 = r197504 / r197505;
double r197507 = r197502 - r197506;
double r197508 = r197500 * r197507;
double r197509 = r197502 / r197505;
double r197510 = r197504 - r197509;
double r197511 = r197508 * r197510;
double r197512 = cos(r197501);
double r197513 = cos(r197503);
double r197514 = r197512 - r197513;
double r197515 = r197511 * r197514;
double r197516 = r197499 + r197515;
double r197517 = 3.0;
double r197518 = 1.0;
double r197519 = 5.0;
double r197520 = sqrt(r197519);
double r197521 = r197520 - r197518;
double r197522 = r197521 / r197499;
double r197523 = r197522 * r197512;
double r197524 = r197518 + r197523;
double r197525 = r197517 - r197520;
double r197526 = r197525 / r197499;
double r197527 = r197526 * r197513;
double r197528 = r197524 + r197527;
double r197529 = r197517 * r197528;
double r197530 = r197516 / r197529;
return r197530;
}
double f(double x, double y) {
double r197531 = 2.0;
double r197532 = sqrt(r197531);
double r197533 = -r197532;
double r197534 = x;
double r197535 = sin(r197534);
double r197536 = 2.0;
double r197537 = pow(r197535, r197536);
double r197538 = y;
double r197539 = sin(r197538);
double r197540 = pow(r197539, r197536);
double r197541 = 16.0;
double r197542 = r197540 / r197541;
double r197543 = r197542 / r197541;
double r197544 = r197537 - r197543;
double r197545 = r197535 / r197541;
double r197546 = r197539 - r197545;
double r197547 = cos(r197538);
double r197548 = r197546 * r197547;
double r197549 = r197544 * r197548;
double r197550 = r197533 * r197549;
double r197551 = cos(r197534);
double r197552 = r197544 * r197551;
double r197553 = r197546 * r197532;
double r197554 = r197552 * r197553;
double r197555 = r197550 + r197554;
double r197556 = r197539 / r197541;
double r197557 = r197556 + r197535;
double r197558 = r197555 / r197557;
double r197559 = exp(r197558);
double r197560 = log(r197559);
double r197561 = r197560 + r197531;
double r197562 = 3.0;
double r197563 = 3.0;
double r197564 = pow(r197562, r197563);
double r197565 = 5.0;
double r197566 = sqrt(r197565);
double r197567 = r197566 * r197565;
double r197568 = r197564 - r197567;
double r197569 = r197562 * r197562;
double r197570 = r197562 * r197566;
double r197571 = r197569 + r197570;
double r197572 = r197571 + r197565;
double r197573 = r197568 / r197572;
double r197574 = r197573 / r197531;
double r197575 = r197547 * r197574;
double r197576 = 1.0;
double r197577 = r197566 - r197576;
double r197578 = r197577 / r197531;
double r197579 = r197578 * r197551;
double r197580 = r197579 + r197576;
double r197581 = r197575 + r197580;
double r197582 = r197581 * r197562;
double r197583 = r197561 / r197582;
return r197583;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip3--0.5
Simplified0.5
Simplified0.5
rmApplied flip--0.5
Applied associate-*r/0.5
Applied associate-*l/0.5
Applied associate-*l/0.5
Simplified0.5
rmApplied add-log-exp0.5
Simplified0.5
rmApplied sub-neg0.5
Applied distribute-lft-in0.5
Applied distribute-lft-in0.5
Applied distribute-lft-in0.5
Simplified0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019179
(FPCore (x y)
:name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
(/ (+ 2.0 (* (* (* (sqrt 2.0) (- (sin x) (/ (sin y) 16.0))) (- (sin y) (/ (sin x) 16.0))) (- (cos x) (cos y)))) (* 3.0 (+ (+ 1.0 (* (/ (- (sqrt 5.0) 1.0) 2.0) (cos x))) (* (/ (- 3.0 (sqrt 5.0)) 2.0) (cos y))))))