\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[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)} \cdot \sqrt[3]{\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(\sqrt[3]{\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)} \cdot \sqrt[3]{\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)}double f(double x, double y) {
double r180657 = 2.0;
double r180658 = sqrt(r180657);
double r180659 = x;
double r180660 = sin(r180659);
double r180661 = y;
double r180662 = sin(r180661);
double r180663 = 16.0;
double r180664 = r180662 / r180663;
double r180665 = r180660 - r180664;
double r180666 = r180658 * r180665;
double r180667 = r180660 / r180663;
double r180668 = r180662 - r180667;
double r180669 = r180666 * r180668;
double r180670 = cos(r180659);
double r180671 = cos(r180661);
double r180672 = r180670 - r180671;
double r180673 = r180669 * r180672;
double r180674 = r180657 + r180673;
double r180675 = 3.0;
double r180676 = 1.0;
double r180677 = 5.0;
double r180678 = sqrt(r180677);
double r180679 = r180678 - r180676;
double r180680 = r180679 / r180657;
double r180681 = r180680 * r180670;
double r180682 = r180676 + r180681;
double r180683 = r180675 - r180678;
double r180684 = r180683 / r180657;
double r180685 = r180684 * r180671;
double r180686 = r180682 + r180685;
double r180687 = r180675 * r180686;
double r180688 = r180674 / r180687;
return r180688;
}
double f(double x, double y) {
double r180689 = 2.0;
double r180690 = sqrt(r180689);
double r180691 = x;
double r180692 = sin(r180691);
double r180693 = y;
double r180694 = sin(r180693);
double r180695 = 16.0;
double r180696 = r180694 / r180695;
double r180697 = r180692 - r180696;
double r180698 = r180690 * r180697;
double r180699 = r180692 / r180695;
double r180700 = r180694 - r180699;
double r180701 = r180698 * r180700;
double r180702 = cbrt(r180701);
double r180703 = r180702 * r180702;
double r180704 = cbrt(r180698);
double r180705 = cbrt(r180700);
double r180706 = r180704 * r180705;
double r180707 = r180703 * r180706;
double r180708 = cos(r180691);
double r180709 = cos(r180693);
double r180710 = r180708 - r180709;
double r180711 = r180707 * r180710;
double r180712 = r180689 + r180711;
double r180713 = 3.0;
double r180714 = 1.0;
double r180715 = 5.0;
double r180716 = sqrt(r180715);
double r180717 = r180716 - r180714;
double r180718 = r180717 / r180689;
double r180719 = r180718 * r180708;
double r180720 = r180714 + r180719;
double r180721 = r180713 - r180716;
double r180722 = r180721 / r180689;
double r180723 = r180722 * r180709;
double r180724 = r180720 + r180723;
double r180725 = r180713 * r180724;
double r180726 = r180712 / r180725;
return r180726;
}



Bits error versus x



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