Average Error: 0.5 → 0.5
Time: 12.7s
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 r265717 = 2.0;
        double r265718 = sqrt(r265717);
        double r265719 = x;
        double r265720 = sin(r265719);
        double r265721 = y;
        double r265722 = sin(r265721);
        double r265723 = 16.0;
        double r265724 = r265722 / r265723;
        double r265725 = r265720 - r265724;
        double r265726 = r265718 * r265725;
        double r265727 = r265720 / r265723;
        double r265728 = r265722 - r265727;
        double r265729 = r265726 * r265728;
        double r265730 = cos(r265719);
        double r265731 = cos(r265721);
        double r265732 = r265730 - r265731;
        double r265733 = r265729 * r265732;
        double r265734 = r265717 + r265733;
        double r265735 = 3.0;
        double r265736 = 1.0;
        double r265737 = 5.0;
        double r265738 = sqrt(r265737);
        double r265739 = r265738 - r265736;
        double r265740 = r265739 / r265717;
        double r265741 = r265740 * r265730;
        double r265742 = r265736 + r265741;
        double r265743 = r265735 - r265738;
        double r265744 = r265743 / r265717;
        double r265745 = r265744 * r265731;
        double r265746 = r265742 + r265745;
        double r265747 = r265735 * r265746;
        double r265748 = r265734 / r265747;
        return r265748;
}

double f(double x, double y) {
        double r265749 = 2.0;
        double r265750 = sqrt(r265749);
        double r265751 = x;
        double r265752 = sin(r265751);
        double r265753 = y;
        double r265754 = sin(r265753);
        double r265755 = 16.0;
        double r265756 = r265754 / r265755;
        double r265757 = r265752 - r265756;
        double r265758 = r265750 * r265757;
        double r265759 = exp(r265758);
        double r265760 = log(r265759);
        double r265761 = r265752 / r265755;
        double r265762 = r265754 - r265761;
        double r265763 = r265760 * r265762;
        double r265764 = cos(r265751);
        double r265765 = cos(r265753);
        double r265766 = r265764 - r265765;
        double r265767 = r265763 * r265766;
        double r265768 = r265749 + r265767;
        double r265769 = 3.0;
        double r265770 = 1.0;
        double r265771 = 5.0;
        double r265772 = sqrt(r265771);
        double r265773 = r265772 - r265770;
        double r265774 = r265773 / r265749;
        double r265775 = r265774 * r265764;
        double r265776 = r265770 + r265775;
        double r265777 = r265769 - r265772;
        double r265778 = r265777 / r265749;
        double r265779 = r265778 * r265765;
        double r265780 = r265776 + r265779;
        double r265781 = r265769 * r265780;
        double r265782 = r265768 / r265781;
        return r265782;
}

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))))))