Average Error: 0.5 → 0.5
Time: 12.5s
Precision: 64
\[\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(\log \left(e^{\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 \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(\log \left(e^{\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)}
double f(double x, double y) {
        double r220706 = 2.0;
        double r220707 = sqrt(r220706);
        double r220708 = x;
        double r220709 = sin(r220708);
        double r220710 = y;
        double r220711 = sin(r220710);
        double r220712 = 16.0;
        double r220713 = r220711 / r220712;
        double r220714 = r220709 - r220713;
        double r220715 = r220707 * r220714;
        double r220716 = r220709 / r220712;
        double r220717 = r220711 - r220716;
        double r220718 = r220715 * r220717;
        double r220719 = cos(r220708);
        double r220720 = cos(r220710);
        double r220721 = r220719 - r220720;
        double r220722 = r220718 * r220721;
        double r220723 = r220706 + r220722;
        double r220724 = 3.0;
        double r220725 = 1.0;
        double r220726 = 5.0;
        double r220727 = sqrt(r220726);
        double r220728 = r220727 - r220725;
        double r220729 = r220728 / r220706;
        double r220730 = r220729 * r220719;
        double r220731 = r220725 + r220730;
        double r220732 = r220724 - r220727;
        double r220733 = r220732 / r220706;
        double r220734 = r220733 * r220720;
        double r220735 = r220731 + r220734;
        double r220736 = r220724 * r220735;
        double r220737 = r220723 / r220736;
        return r220737;
}

double f(double x, double y) {
        double r220738 = 2.0;
        double r220739 = sqrt(r220738);
        double r220740 = x;
        double r220741 = sin(r220740);
        double r220742 = y;
        double r220743 = sin(r220742);
        double r220744 = 16.0;
        double r220745 = r220743 / r220744;
        double r220746 = r220741 - r220745;
        double r220747 = r220739 * r220746;
        double r220748 = exp(r220747);
        double r220749 = log(r220748);
        double r220750 = r220741 / r220744;
        double r220751 = r220743 - r220750;
        double r220752 = r220749 * r220751;
        double r220753 = cos(r220740);
        double r220754 = cos(r220742);
        double r220755 = r220753 - r220754;
        double r220756 = r220752 * r220755;
        double r220757 = r220738 + r220756;
        double r220758 = 3.0;
        double r220759 = 1.0;
        double r220760 = 5.0;
        double r220761 = sqrt(r220760);
        double r220762 = r220761 - r220759;
        double r220763 = r220762 / r220738;
        double r220764 = r220763 * r220753;
        double r220765 = r220759 + r220764;
        double r220766 = r220758 - r220761;
        double r220767 = r220766 / r220738;
        double r220768 = r220767 * r220754;
        double r220769 = r220765 + r220768;
        double r220770 = r220758 * r220769;
        double r220771 = r220757 / r220770;
        return r220771;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.5

    \[\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)}\]
  2. Using strategy rm
  3. Applied add-log-exp0.5

    \[\leadsto \frac{2 + \left(\color{blue}{\log \left(e^{\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)}\]
  4. Final simplification0.5

    \[\leadsto \frac{2 + \left(\log \left(e^{\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)}\]

Reproduce

herbie shell --seed 2020001 
(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))))))