Average Error: 0.5 → 0.5
Time: 20.8s
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{\frac{\mathsf{fma}\left(\cos x - \cos y, \left(\sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)} \cdot \sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}, 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\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{\frac{\mathsf{fma}\left(\cos x - \cos y, \left(\sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)} \cdot \sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}, 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}
double f(double x, double y) {
        double r285792 = 2.0;
        double r285793 = sqrt(r285792);
        double r285794 = x;
        double r285795 = sin(r285794);
        double r285796 = y;
        double r285797 = sin(r285796);
        double r285798 = 16.0;
        double r285799 = r285797 / r285798;
        double r285800 = r285795 - r285799;
        double r285801 = r285793 * r285800;
        double r285802 = r285795 / r285798;
        double r285803 = r285797 - r285802;
        double r285804 = r285801 * r285803;
        double r285805 = cos(r285794);
        double r285806 = cos(r285796);
        double r285807 = r285805 - r285806;
        double r285808 = r285804 * r285807;
        double r285809 = r285792 + r285808;
        double r285810 = 3.0;
        double r285811 = 1.0;
        double r285812 = 5.0;
        double r285813 = sqrt(r285812);
        double r285814 = r285813 - r285811;
        double r285815 = r285814 / r285792;
        double r285816 = r285815 * r285805;
        double r285817 = r285811 + r285816;
        double r285818 = r285810 - r285813;
        double r285819 = r285818 / r285792;
        double r285820 = r285819 * r285806;
        double r285821 = r285817 + r285820;
        double r285822 = r285810 * r285821;
        double r285823 = r285809 / r285822;
        return r285823;
}

double f(double x, double y) {
        double r285824 = x;
        double r285825 = cos(r285824);
        double r285826 = y;
        double r285827 = cos(r285826);
        double r285828 = r285825 - r285827;
        double r285829 = 2.0;
        double r285830 = sqrt(r285829);
        double r285831 = sin(r285824);
        double r285832 = sin(r285826);
        double r285833 = 16.0;
        double r285834 = r285832 / r285833;
        double r285835 = r285831 - r285834;
        double r285836 = r285830 * r285835;
        double r285837 = r285831 / r285833;
        double r285838 = r285832 - r285837;
        double r285839 = r285836 * r285838;
        double r285840 = cbrt(r285839);
        double r285841 = r285840 * r285840;
        double r285842 = r285841 * r285840;
        double r285843 = fma(r285828, r285842, r285829);
        double r285844 = 3.0;
        double r285845 = r285843 / r285844;
        double r285846 = 5.0;
        double r285847 = sqrt(r285846);
        double r285848 = r285844 - r285847;
        double r285849 = r285848 / r285829;
        double r285850 = 1.0;
        double r285851 = r285847 - r285850;
        double r285852 = r285851 / r285829;
        double r285853 = fma(r285825, r285852, r285850);
        double r285854 = fma(r285827, r285849, r285853);
        double r285855 = r285845 / r285854;
        return r285855;
}

Error

Bits error versus x

Bits error versus y

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. Simplified0.4

    \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(\cos x - \cos y, \left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right), 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\cos x - \cos y, \color{blue}{\left(\sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)} \cdot \sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}}, 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}\]
  5. Final simplification0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\cos x - \cos y, \left(\sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)} \cdot \sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}, 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}\]

Reproduce

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