Average Error: 0.5 → 0.5
Time: 13.1s
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 + \log \left(e^{\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)}\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 + \left(-5\right)}{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 + \log \left(e^{\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)}\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 + \left(-5\right)}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}
double f(double x, double y) {
        double r196667 = 2.0;
        double r196668 = sqrt(r196667);
        double r196669 = x;
        double r196670 = sin(r196669);
        double r196671 = y;
        double r196672 = sin(r196671);
        double r196673 = 16.0;
        double r196674 = r196672 / r196673;
        double r196675 = r196670 - r196674;
        double r196676 = r196668 * r196675;
        double r196677 = r196670 / r196673;
        double r196678 = r196672 - r196677;
        double r196679 = r196676 * r196678;
        double r196680 = cos(r196669);
        double r196681 = cos(r196671);
        double r196682 = r196680 - r196681;
        double r196683 = r196679 * r196682;
        double r196684 = r196667 + r196683;
        double r196685 = 3.0;
        double r196686 = 1.0;
        double r196687 = 5.0;
        double r196688 = sqrt(r196687);
        double r196689 = r196688 - r196686;
        double r196690 = r196689 / r196667;
        double r196691 = r196690 * r196680;
        double r196692 = r196686 + r196691;
        double r196693 = r196685 - r196688;
        double r196694 = r196693 / r196667;
        double r196695 = r196694 * r196681;
        double r196696 = r196692 + r196695;
        double r196697 = r196685 * r196696;
        double r196698 = r196684 / r196697;
        return r196698;
}

double f(double x, double y) {
        double r196699 = 2.0;
        double r196700 = sqrt(r196699);
        double r196701 = x;
        double r196702 = sin(r196701);
        double r196703 = y;
        double r196704 = sin(r196703);
        double r196705 = 16.0;
        double r196706 = r196704 / r196705;
        double r196707 = r196702 - r196706;
        double r196708 = r196700 * r196707;
        double r196709 = r196702 / r196705;
        double r196710 = r196704 - r196709;
        double r196711 = r196708 * r196710;
        double r196712 = cos(r196701);
        double r196713 = cos(r196703);
        double r196714 = r196712 - r196713;
        double r196715 = r196711 * r196714;
        double r196716 = exp(r196715);
        double r196717 = log(r196716);
        double r196718 = r196699 + r196717;
        double r196719 = 3.0;
        double r196720 = 1.0;
        double r196721 = 5.0;
        double r196722 = sqrt(r196721);
        double r196723 = r196722 - r196720;
        double r196724 = r196723 / r196699;
        double r196725 = r196724 * r196712;
        double r196726 = r196720 + r196725;
        double r196727 = r196719 * r196719;
        double r196728 = -r196721;
        double r196729 = r196727 + r196728;
        double r196730 = r196719 + r196722;
        double r196731 = r196729 / r196730;
        double r196732 = r196731 / r196699;
        double r196733 = r196732 * r196713;
        double r196734 = r196726 + r196733;
        double r196735 = r196719 * r196734;
        double r196736 = r196718 / r196735;
        return r196736;
}

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 flip--0.5

    \[\leadsto \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{\color{blue}{\frac{3 \cdot 3 - \sqrt{5} \cdot \sqrt{5}}{3 + \sqrt{5}}}}{2} \cdot \cos y\right)}\]
  4. Simplified0.5

    \[\leadsto \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{\frac{\color{blue}{3 \cdot 3 + \left(-5\right)}}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}\]
  5. Using strategy rm
  6. Applied add-log-exp0.5

    \[\leadsto \frac{2 + \color{blue}{\log \left(e^{\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)}\right)}}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 + \left(-5\right)}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}\]
  7. Final simplification0.5

    \[\leadsto \frac{2 + \log \left(e^{\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)}\right)}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 + \left(-5\right)}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}\]

Reproduce

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