Average Error: 0.5 → 0.5
Time: 35.4s
Precision: 64
\[\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}\]
\[\frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) + \mathsf{fma}\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}, \sqrt[3]{\sin y}, \left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}\right) \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) \cdot \left(\sqrt{2.0} \cdot \sqrt[3]{\left(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \left(\left(\cos x - \cos y\right) \cdot \left(\cos x - \cos y\right)\right)}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}
\frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) + \mathsf{fma}\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}, \sqrt[3]{\sin y}, \left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}\right) \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) \cdot \left(\sqrt{2.0} \cdot \sqrt[3]{\left(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \left(\left(\cos x - \cos y\right) \cdot \left(\cos x - \cos y\right)\right)}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}
double f(double x, double y) {
        double r2948873 = 2.0;
        double r2948874 = sqrt(r2948873);
        double r2948875 = x;
        double r2948876 = sin(r2948875);
        double r2948877 = y;
        double r2948878 = sin(r2948877);
        double r2948879 = 16.0;
        double r2948880 = r2948878 / r2948879;
        double r2948881 = r2948876 - r2948880;
        double r2948882 = r2948874 * r2948881;
        double r2948883 = r2948876 / r2948879;
        double r2948884 = r2948878 - r2948883;
        double r2948885 = r2948882 * r2948884;
        double r2948886 = cos(r2948875);
        double r2948887 = cos(r2948877);
        double r2948888 = r2948886 - r2948887;
        double r2948889 = r2948885 * r2948888;
        double r2948890 = r2948873 + r2948889;
        double r2948891 = 3.0;
        double r2948892 = 1.0;
        double r2948893 = 5.0;
        double r2948894 = sqrt(r2948893);
        double r2948895 = r2948894 - r2948892;
        double r2948896 = r2948895 / r2948873;
        double r2948897 = r2948896 * r2948886;
        double r2948898 = r2948892 + r2948897;
        double r2948899 = r2948891 - r2948894;
        double r2948900 = r2948899 / r2948873;
        double r2948901 = r2948900 * r2948887;
        double r2948902 = r2948898 + r2948901;
        double r2948903 = r2948891 * r2948902;
        double r2948904 = r2948890 / r2948903;
        return r2948904;
}

double f(double x, double y) {
        double r2948905 = x;
        double r2948906 = cos(r2948905);
        double r2948907 = y;
        double r2948908 = cos(r2948907);
        double r2948909 = r2948906 - r2948908;
        double r2948910 = 2.0;
        double r2948911 = sqrt(r2948910);
        double r2948912 = r2948909 * r2948911;
        double r2948913 = sin(r2948905);
        double r2948914 = cbrt(r2948913);
        double r2948915 = 16.0;
        double r2948916 = cbrt(r2948915);
        double r2948917 = r2948914 / r2948916;
        double r2948918 = -r2948917;
        double r2948919 = r2948914 * r2948914;
        double r2948920 = r2948916 * r2948916;
        double r2948921 = r2948919 / r2948920;
        double r2948922 = r2948917 * r2948921;
        double r2948923 = fma(r2948918, r2948921, r2948922);
        double r2948924 = r2948912 * r2948923;
        double r2948925 = sin(r2948907);
        double r2948926 = cbrt(r2948925);
        double r2948927 = r2948926 * r2948926;
        double r2948928 = r2948918 * r2948921;
        double r2948929 = fma(r2948927, r2948926, r2948928);
        double r2948930 = cbrt(r2948909);
        double r2948931 = r2948930 * r2948930;
        double r2948932 = r2948931 * r2948930;
        double r2948933 = r2948909 * r2948909;
        double r2948934 = r2948932 * r2948933;
        double r2948935 = cbrt(r2948934);
        double r2948936 = r2948911 * r2948935;
        double r2948937 = r2948929 * r2948936;
        double r2948938 = r2948924 + r2948937;
        double r2948939 = r2948925 / r2948915;
        double r2948940 = r2948913 - r2948939;
        double r2948941 = fma(r2948938, r2948940, r2948910);
        double r2948942 = 3.0;
        double r2948943 = r2948941 / r2948942;
        double r2948944 = 5.0;
        double r2948945 = sqrt(r2948944);
        double r2948946 = r2948942 - r2948945;
        double r2948947 = r2948946 / r2948910;
        double r2948948 = 1.0;
        double r2948949 = r2948945 - r2948948;
        double r2948950 = r2948949 / r2948910;
        double r2948951 = fma(r2948906, r2948950, r2948948);
        double r2948952 = fma(r2948947, r2948908, r2948951);
        double r2948953 = r2948943 / r2948952;
        return r2948953;
}

Error

Bits error versus x

Bits error versus y

Derivation

  1. Initial program 0.5

    \[\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}\]
  2. Simplified0.4

    \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.4

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \left(\sin y - \frac{\sin x}{\color{blue}{\left(\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}\right) \cdot \sqrt[3]{16.0}}}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
  5. Applied add-cube-cbrt0.4

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \left(\sin y - \frac{\color{blue}{\left(\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}\right) \cdot \sqrt[3]{\sin x}}}{\left(\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}\right) \cdot \sqrt[3]{16.0}}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
  6. Applied times-frac0.4

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \left(\sin y - \color{blue}{\frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
  7. Applied add-cube-cbrt0.4

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \left(\color{blue}{\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}\right) \cdot \sqrt[3]{\sin y}} - \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
  8. Applied prod-diff0.4

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \color{blue}{\left(\mathsf{fma}\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}, \sqrt[3]{\sin y}, -\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) + \mathsf{fma}\left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right)\right)}, \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
  9. Applied distribute-lft-in0.4

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\color{blue}{\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}, \sqrt[3]{\sin y}, -\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) + \left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right)}, \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
  10. Using strategy rm
  11. Applied add-cbrt-cube0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\color{blue}{\sqrt[3]{\left(\left(\cos x - \cos y\right) \cdot \left(\cos x - \cos y\right)\right) \cdot \left(\cos x - \cos y\right)}} \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}, \sqrt[3]{\sin y}, -\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) + \left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
  12. Using strategy rm
  13. Applied add-cube-cbrt0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\sqrt[3]{\left(\left(\cos x - \cos y\right) \cdot \left(\cos x - \cos y\right)\right) \cdot \color{blue}{\left(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\cos x - \cos y}\right)}} \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}, \sqrt[3]{\sin y}, -\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) + \left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]
  14. Final simplification0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\left(\left(\cos x - \cos y\right) \cdot \sqrt{2.0}\right) \cdot \mathsf{fma}\left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}, \frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}} \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) + \mathsf{fma}\left(\sqrt[3]{\sin y} \cdot \sqrt[3]{\sin y}, \sqrt[3]{\sin y}, \left(-\frac{\sqrt[3]{\sin x}}{\sqrt[3]{16.0}}\right) \cdot \frac{\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}}{\sqrt[3]{16.0} \cdot \sqrt[3]{16.0}}\right) \cdot \left(\sqrt{2.0} \cdot \sqrt[3]{\left(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \left(\left(\cos x - \cos y\right) \cdot \left(\cos x - \cos y\right)\right)}\right), \sin x - \frac{\sin y}{16.0}, 2.0\right)}{3.0}}{\mathsf{fma}\left(\frac{3.0 - \sqrt{5.0}}{2.0}, \cos y, \mathsf{fma}\left(\cos x, \frac{\sqrt{5.0} - 1.0}{2.0}, 1.0\right)\right)}\]

Reproduce

herbie shell --seed 2019156 +o rules:numerics
(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))))))