\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 \sqrt[3]{{\left(\sqrt[3]{{\left(\cos x - \cos y\right)}^{3}}\right)}^{3}}}{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 r208578 = 2.0;
double r208579 = sqrt(r208578);
double r208580 = x;
double r208581 = sin(r208580);
double r208582 = y;
double r208583 = sin(r208582);
double r208584 = 16.0;
double r208585 = r208583 / r208584;
double r208586 = r208581 - r208585;
double r208587 = r208579 * r208586;
double r208588 = r208581 / r208584;
double r208589 = r208583 - r208588;
double r208590 = r208587 * r208589;
double r208591 = cos(r208580);
double r208592 = cos(r208582);
double r208593 = r208591 - r208592;
double r208594 = r208590 * r208593;
double r208595 = r208578 + r208594;
double r208596 = 3.0;
double r208597 = 1.0;
double r208598 = 5.0;
double r208599 = sqrt(r208598);
double r208600 = r208599 - r208597;
double r208601 = r208600 / r208578;
double r208602 = r208601 * r208591;
double r208603 = r208597 + r208602;
double r208604 = r208596 - r208599;
double r208605 = r208604 / r208578;
double r208606 = r208605 * r208592;
double r208607 = r208603 + r208606;
double r208608 = r208596 * r208607;
double r208609 = r208595 / r208608;
return r208609;
}
double f(double x, double y) {
double r208610 = 2.0;
double r208611 = sqrt(r208610);
double r208612 = x;
double r208613 = sin(r208612);
double r208614 = y;
double r208615 = sin(r208614);
double r208616 = 16.0;
double r208617 = r208615 / r208616;
double r208618 = r208613 - r208617;
double r208619 = r208611 * r208618;
double r208620 = r208613 / r208616;
double r208621 = r208615 - r208620;
double r208622 = r208619 * r208621;
double r208623 = cos(r208612);
double r208624 = cos(r208614);
double r208625 = r208623 - r208624;
double r208626 = 3.0;
double r208627 = pow(r208625, r208626);
double r208628 = cbrt(r208627);
double r208629 = pow(r208628, r208626);
double r208630 = cbrt(r208629);
double r208631 = r208622 * r208630;
double r208632 = r208610 + r208631;
double r208633 = 3.0;
double r208634 = 1.0;
double r208635 = 5.0;
double r208636 = sqrt(r208635);
double r208637 = r208636 - r208634;
double r208638 = r208637 / r208610;
double r208639 = r208638 * r208623;
double r208640 = r208634 + r208639;
double r208641 = r208633 * r208633;
double r208642 = -r208635;
double r208643 = r208641 + r208642;
double r208644 = r208633 + r208636;
double r208645 = r208643 / r208644;
double r208646 = r208645 / r208610;
double r208647 = r208646 * r208624;
double r208648 = r208640 + r208647;
double r208649 = r208633 * r208648;
double r208650 = r208632 / r208649;
return r208650;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-cbrt-cube0.5
Simplified0.5
rmApplied add-log-exp0.5
Applied add-log-exp0.5
Applied diff-log0.5
Simplified0.5
rmApplied flip--0.5
Simplified0.4
rmApplied add-cbrt-cube0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019356
(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))))))