\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^{\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)}\right) \cdot \left(\cos x - \cos y\right) + 2}{\left(\cos y \cdot \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2} + \left(\cos x \cdot \frac{\sqrt{5} - 1}{2} + 1\right)\right) \cdot 3}double f(double x, double y) {
double r11524541 = 2.0;
double r11524542 = sqrt(r11524541);
double r11524543 = x;
double r11524544 = sin(r11524543);
double r11524545 = y;
double r11524546 = sin(r11524545);
double r11524547 = 16.0;
double r11524548 = r11524546 / r11524547;
double r11524549 = r11524544 - r11524548;
double r11524550 = r11524542 * r11524549;
double r11524551 = r11524544 / r11524547;
double r11524552 = r11524546 - r11524551;
double r11524553 = r11524550 * r11524552;
double r11524554 = cos(r11524543);
double r11524555 = cos(r11524545);
double r11524556 = r11524554 - r11524555;
double r11524557 = r11524553 * r11524556;
double r11524558 = r11524541 + r11524557;
double r11524559 = 3.0;
double r11524560 = 1.0;
double r11524561 = 5.0;
double r11524562 = sqrt(r11524561);
double r11524563 = r11524562 - r11524560;
double r11524564 = r11524563 / r11524541;
double r11524565 = r11524564 * r11524554;
double r11524566 = r11524560 + r11524565;
double r11524567 = r11524559 - r11524562;
double r11524568 = r11524567 / r11524541;
double r11524569 = r11524568 * r11524555;
double r11524570 = r11524566 + r11524569;
double r11524571 = r11524559 * r11524570;
double r11524572 = r11524558 / r11524571;
return r11524572;
}
double f(double x, double y) {
double r11524573 = y;
double r11524574 = sin(r11524573);
double r11524575 = x;
double r11524576 = sin(r11524575);
double r11524577 = 16.0;
double r11524578 = r11524576 / r11524577;
double r11524579 = r11524574 - r11524578;
double r11524580 = r11524574 / r11524577;
double r11524581 = r11524576 - r11524580;
double r11524582 = 2.0;
double r11524583 = sqrt(r11524582);
double r11524584 = r11524581 * r11524583;
double r11524585 = r11524579 * r11524584;
double r11524586 = exp(r11524585);
double r11524587 = log(r11524586);
double r11524588 = cos(r11524575);
double r11524589 = cos(r11524573);
double r11524590 = r11524588 - r11524589;
double r11524591 = r11524587 * r11524590;
double r11524592 = r11524591 + r11524582;
double r11524593 = 3.0;
double r11524594 = r11524593 * r11524593;
double r11524595 = 5.0;
double r11524596 = r11524594 - r11524595;
double r11524597 = sqrt(r11524595);
double r11524598 = r11524593 + r11524597;
double r11524599 = r11524596 / r11524598;
double r11524600 = r11524599 / r11524582;
double r11524601 = r11524589 * r11524600;
double r11524602 = 1.0;
double r11524603 = r11524597 - r11524602;
double r11524604 = r11524603 / r11524582;
double r11524605 = r11524588 * r11524604;
double r11524606 = r11524605 + r11524602;
double r11524607 = r11524601 + r11524606;
double r11524608 = r11524607 * r11524593;
double r11524609 = r11524592 / r11524608;
return r11524609;
}



Bits error versus x



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