\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^{\sqrt[3]{{\left(\left(\sin x - \frac{\sin y}{16}\right) \cdot \sqrt{2}\right)}^{3}} \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{{\left(\cos x - \cos y\right)}^{3}} + 2}{3 \cdot \left(\frac{\frac{{3}^{3} - 5 \cdot \sqrt{5}}{5 + \left(3 + \sqrt{5}\right) \cdot 3}}{2} \cdot \cos y + \left(\frac{\sqrt{5} - 1}{2} \cdot \cos x + 1\right)\right)}double f(double x, double y) {
double r182727 = 2.0;
double r182728 = sqrt(r182727);
double r182729 = x;
double r182730 = sin(r182729);
double r182731 = y;
double r182732 = sin(r182731);
double r182733 = 16.0;
double r182734 = r182732 / r182733;
double r182735 = r182730 - r182734;
double r182736 = r182728 * r182735;
double r182737 = r182730 / r182733;
double r182738 = r182732 - r182737;
double r182739 = r182736 * r182738;
double r182740 = cos(r182729);
double r182741 = cos(r182731);
double r182742 = r182740 - r182741;
double r182743 = r182739 * r182742;
double r182744 = r182727 + r182743;
double r182745 = 3.0;
double r182746 = 1.0;
double r182747 = 5.0;
double r182748 = sqrt(r182747);
double r182749 = r182748 - r182746;
double r182750 = r182749 / r182727;
double r182751 = r182750 * r182740;
double r182752 = r182746 + r182751;
double r182753 = r182745 - r182748;
double r182754 = r182753 / r182727;
double r182755 = r182754 * r182741;
double r182756 = r182752 + r182755;
double r182757 = r182745 * r182756;
double r182758 = r182744 / r182757;
return r182758;
}
double f(double x, double y) {
double r182759 = x;
double r182760 = sin(r182759);
double r182761 = y;
double r182762 = sin(r182761);
double r182763 = 16.0;
double r182764 = r182762 / r182763;
double r182765 = r182760 - r182764;
double r182766 = 2.0;
double r182767 = sqrt(r182766);
double r182768 = r182765 * r182767;
double r182769 = 3.0;
double r182770 = pow(r182768, r182769);
double r182771 = cbrt(r182770);
double r182772 = r182760 / r182763;
double r182773 = r182762 - r182772;
double r182774 = r182771 * r182773;
double r182775 = exp(r182774);
double r182776 = log(r182775);
double r182777 = cos(r182759);
double r182778 = cos(r182761);
double r182779 = r182777 - r182778;
double r182780 = pow(r182779, r182769);
double r182781 = cbrt(r182780);
double r182782 = r182776 * r182781;
double r182783 = r182782 + r182766;
double r182784 = 3.0;
double r182785 = pow(r182784, r182769);
double r182786 = 5.0;
double r182787 = sqrt(r182786);
double r182788 = r182786 * r182787;
double r182789 = r182785 - r182788;
double r182790 = r182784 + r182787;
double r182791 = r182790 * r182784;
double r182792 = r182786 + r182791;
double r182793 = r182789 / r182792;
double r182794 = r182793 / r182766;
double r182795 = r182794 * r182778;
double r182796 = 1.0;
double r182797 = r182787 - r182796;
double r182798 = r182797 / r182766;
double r182799 = r182798 * r182777;
double r182800 = r182799 + r182796;
double r182801 = r182795 + r182800;
double r182802 = r182784 * r182801;
double r182803 = r182783 / r182802;
return r182803;
}



Bits error versus x



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