Average Error: 0.5 → 0.5
Time: 17.3s
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(\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 + \log \left(e^{\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)}
double f(double x, double y) {
        double r240817 = 2.0;
        double r240818 = sqrt(r240817);
        double r240819 = x;
        double r240820 = sin(r240819);
        double r240821 = y;
        double r240822 = sin(r240821);
        double r240823 = 16.0;
        double r240824 = r240822 / r240823;
        double r240825 = r240820 - r240824;
        double r240826 = r240818 * r240825;
        double r240827 = r240820 / r240823;
        double r240828 = r240822 - r240827;
        double r240829 = r240826 * r240828;
        double r240830 = cos(r240819);
        double r240831 = cos(r240821);
        double r240832 = r240830 - r240831;
        double r240833 = r240829 * r240832;
        double r240834 = r240817 + r240833;
        double r240835 = 3.0;
        double r240836 = 1.0;
        double r240837 = 5.0;
        double r240838 = sqrt(r240837);
        double r240839 = r240838 - r240836;
        double r240840 = r240839 / r240817;
        double r240841 = r240840 * r240830;
        double r240842 = r240836 + r240841;
        double r240843 = r240835 - r240838;
        double r240844 = r240843 / r240817;
        double r240845 = r240844 * r240831;
        double r240846 = r240842 + r240845;
        double r240847 = r240835 * r240846;
        double r240848 = r240834 / r240847;
        return r240848;
}

double f(double x, double y) {
        double r240849 = 2.0;
        double r240850 = sqrt(r240849);
        double r240851 = x;
        double r240852 = sin(r240851);
        double r240853 = y;
        double r240854 = sin(r240853);
        double r240855 = 16.0;
        double r240856 = r240854 / r240855;
        double r240857 = r240852 - r240856;
        double r240858 = r240850 * r240857;
        double r240859 = r240852 / r240855;
        double r240860 = r240854 - r240859;
        double r240861 = r240858 * r240860;
        double r240862 = exp(r240861);
        double r240863 = log(r240862);
        double r240864 = cos(r240851);
        double r240865 = cos(r240853);
        double r240866 = r240864 - r240865;
        double r240867 = r240863 * r240866;
        double r240868 = r240849 + r240867;
        double r240869 = 3.0;
        double r240870 = 1.0;
        double r240871 = 5.0;
        double r240872 = sqrt(r240871);
        double r240873 = r240872 - r240870;
        double r240874 = r240873 / r240849;
        double r240875 = r240874 * r240864;
        double r240876 = r240870 + r240875;
        double r240877 = r240869 - r240872;
        double r240878 = r240877 / r240849;
        double r240879 = r240878 * r240865;
        double r240880 = r240876 + r240879;
        double r240881 = r240869 * r240880;
        double r240882 = r240868 / r240881;
        return r240882;
}

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

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

Reproduce

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