\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}\frac{2.0 + \left(\sqrt[3]{\cos x - \cos y} \cdot \left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right)\right) \cdot \left(\left(\sin y - \frac{\sin x}{16.0}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16.0}\right) \cdot \sqrt{2.0}\right)\right)}{\left(\left(\cos x \cdot \frac{\sqrt{5.0} - 1.0}{2.0} + 1.0\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right) \cdot 3.0}double f(double x, double y) {
double r10923664 = 2.0;
double r10923665 = sqrt(r10923664);
double r10923666 = x;
double r10923667 = sin(r10923666);
double r10923668 = y;
double r10923669 = sin(r10923668);
double r10923670 = 16.0;
double r10923671 = r10923669 / r10923670;
double r10923672 = r10923667 - r10923671;
double r10923673 = r10923665 * r10923672;
double r10923674 = r10923667 / r10923670;
double r10923675 = r10923669 - r10923674;
double r10923676 = r10923673 * r10923675;
double r10923677 = cos(r10923666);
double r10923678 = cos(r10923668);
double r10923679 = r10923677 - r10923678;
double r10923680 = r10923676 * r10923679;
double r10923681 = r10923664 + r10923680;
double r10923682 = 3.0;
double r10923683 = 1.0;
double r10923684 = 5.0;
double r10923685 = sqrt(r10923684);
double r10923686 = r10923685 - r10923683;
double r10923687 = r10923686 / r10923664;
double r10923688 = r10923687 * r10923677;
double r10923689 = r10923683 + r10923688;
double r10923690 = r10923682 - r10923685;
double r10923691 = r10923690 / r10923664;
double r10923692 = r10923691 * r10923678;
double r10923693 = r10923689 + r10923692;
double r10923694 = r10923682 * r10923693;
double r10923695 = r10923681 / r10923694;
return r10923695;
}
double f(double x, double y) {
double r10923696 = 2.0;
double r10923697 = x;
double r10923698 = cos(r10923697);
double r10923699 = y;
double r10923700 = cos(r10923699);
double r10923701 = r10923698 - r10923700;
double r10923702 = cbrt(r10923701);
double r10923703 = r10923702 * r10923702;
double r10923704 = r10923702 * r10923703;
double r10923705 = sin(r10923699);
double r10923706 = sin(r10923697);
double r10923707 = 16.0;
double r10923708 = r10923706 / r10923707;
double r10923709 = r10923705 - r10923708;
double r10923710 = r10923705 / r10923707;
double r10923711 = r10923706 - r10923710;
double r10923712 = sqrt(r10923696);
double r10923713 = r10923711 * r10923712;
double r10923714 = r10923709 * r10923713;
double r10923715 = r10923704 * r10923714;
double r10923716 = r10923696 + r10923715;
double r10923717 = 5.0;
double r10923718 = sqrt(r10923717);
double r10923719 = 1.0;
double r10923720 = r10923718 - r10923719;
double r10923721 = r10923720 / r10923696;
double r10923722 = r10923698 * r10923721;
double r10923723 = r10923722 + r10923719;
double r10923724 = 3.0;
double r10923725 = r10923724 - r10923718;
double r10923726 = r10923725 / r10923696;
double r10923727 = r10923726 * r10923700;
double r10923728 = r10923723 + r10923727;
double r10923729 = r10923728 * r10923724;
double r10923730 = r10923716 / r10923729;
return r10923730;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2019163 +o rules:numerics
(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))))))