Average Error: 0.5 → 0.5
Time: 13.2s
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(\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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{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(\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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{2} \cdot \cos y\right)}
double f(double x, double y) {
        double r184960 = 2.0;
        double r184961 = sqrt(r184960);
        double r184962 = x;
        double r184963 = sin(r184962);
        double r184964 = y;
        double r184965 = sin(r184964);
        double r184966 = 16.0;
        double r184967 = r184965 / r184966;
        double r184968 = r184963 - r184967;
        double r184969 = r184961 * r184968;
        double r184970 = r184963 / r184966;
        double r184971 = r184965 - r184970;
        double r184972 = r184969 * r184971;
        double r184973 = cos(r184962);
        double r184974 = cos(r184964);
        double r184975 = r184973 - r184974;
        double r184976 = r184972 * r184975;
        double r184977 = r184960 + r184976;
        double r184978 = 3.0;
        double r184979 = 1.0;
        double r184980 = 5.0;
        double r184981 = sqrt(r184980);
        double r184982 = r184981 - r184979;
        double r184983 = r184982 / r184960;
        double r184984 = r184983 * r184973;
        double r184985 = r184979 + r184984;
        double r184986 = r184978 - r184981;
        double r184987 = r184986 / r184960;
        double r184988 = r184987 * r184974;
        double r184989 = r184985 + r184988;
        double r184990 = r184978 * r184989;
        double r184991 = r184977 / r184990;
        return r184991;
}

double f(double x, double y) {
        double r184992 = 2.0;
        double r184993 = sqrt(r184992);
        double r184994 = x;
        double r184995 = sin(r184994);
        double r184996 = y;
        double r184997 = sin(r184996);
        double r184998 = 16.0;
        double r184999 = r184997 / r184998;
        double r185000 = r184995 - r184999;
        double r185001 = r184993 * r185000;
        double r185002 = r184995 / r184998;
        double r185003 = r184997 - r185002;
        double r185004 = r185001 * r185003;
        double r185005 = cos(r184994);
        double r185006 = cos(r184996);
        double r185007 = r185005 - r185006;
        double r185008 = r185004 * r185007;
        double r185009 = r184992 + r185008;
        double r185010 = 3.0;
        double r185011 = 1.0;
        double r185012 = 5.0;
        double r185013 = sqrt(r185012);
        double r185014 = r185013 - r185011;
        double r185015 = r185014 / r184992;
        double r185016 = r185015 * r185005;
        double r185017 = r185011 + r185016;
        double r185018 = cbrt(r185010);
        double r185019 = r185018 * r185018;
        double r185020 = cbrt(r185012);
        double r185021 = sqrt(r185020);
        double r185022 = r185020 * r185020;
        double r185023 = sqrt(r185022);
        double r185024 = r185021 * r185023;
        double r185025 = -r185024;
        double r185026 = fma(r185019, r185018, r185025);
        double r185027 = fabs(r185020);
        double r185028 = -r185027;
        double r185029 = r185028 + r185027;
        double r185030 = r185021 * r185029;
        double r185031 = r185026 + r185030;
        double r185032 = r185031 / r184992;
        double r185033 = r185032 * r185006;
        double r185034 = r185017 + r185033;
        double r185035 = r185010 * r185034;
        double r185036 = r185009 / r185035;
        return r185036;
}

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. Using strategy rm
  3. Applied add-cube-cbrt0.6

    \[\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{3 - \sqrt{\color{blue}{\left(\sqrt[3]{5} \cdot \sqrt[3]{5}\right) \cdot \sqrt[3]{5}}}}{2} \cdot \cos y\right)}\]
  4. Applied sqrt-prod0.6

    \[\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{3 - \color{blue}{\sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5}}}}{2} \cdot \cos y\right)}\]
  5. Applied add-cube-cbrt0.6

    \[\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}{\left(\sqrt[3]{3} \cdot \sqrt[3]{3}\right) \cdot \sqrt[3]{3}} - \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5}}}{2} \cdot \cos y\right)}\]
  6. Applied prod-diff0.4

    \[\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}{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \mathsf{fma}\left(-\sqrt{\sqrt[3]{5}}, \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}, \sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right)}}{2} \cdot \cos y\right)}\]
  7. 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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \color{blue}{\sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}}{2} \cdot \cos y\right)}\]
  8. Final simplification0.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{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \sqrt{\sqrt[3]{5} \cdot \sqrt[3]{5}}\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{2} \cdot \cos y\right)}\]

Reproduce

herbie shell --seed 2020027 +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))))))