Average Error: 0.5 → 0.4
Time: 12.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{\frac{\mathsf{fma}\left(\sqrt{2} \cdot \mathsf{fma}\left(1, \sin x, -\frac{\sin y}{\sqrt[3]{16}} \cdot \frac{1}{\sqrt[3]{16} \cdot \sqrt[3]{16}}\right) + \sqrt{2} \cdot \left(\frac{1}{\sqrt[3]{16} \cdot \sqrt[3]{16}} \cdot \left(\left(-\frac{\sin y}{\sqrt[3]{16}}\right) + \frac{\sin y}{\sqrt[3]{16}}\right)\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}\]
\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(\sqrt{2} \cdot \mathsf{fma}\left(1, \sin x, -\frac{\sin y}{\sqrt[3]{16}} \cdot \frac{1}{\sqrt[3]{16} \cdot \sqrt[3]{16}}\right) + \sqrt{2} \cdot \left(\frac{1}{\sqrt[3]{16} \cdot \sqrt[3]{16}} \cdot \left(\left(-\frac{\sin y}{\sqrt[3]{16}}\right) + \frac{\sin y}{\sqrt[3]{16}}\right)\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}
double f(double x, double y) {
        double r166047 = 2.0;
        double r166048 = sqrt(r166047);
        double r166049 = x;
        double r166050 = sin(r166049);
        double r166051 = y;
        double r166052 = sin(r166051);
        double r166053 = 16.0;
        double r166054 = r166052 / r166053;
        double r166055 = r166050 - r166054;
        double r166056 = r166048 * r166055;
        double r166057 = r166050 / r166053;
        double r166058 = r166052 - r166057;
        double r166059 = r166056 * r166058;
        double r166060 = cos(r166049);
        double r166061 = cos(r166051);
        double r166062 = r166060 - r166061;
        double r166063 = r166059 * r166062;
        double r166064 = r166047 + r166063;
        double r166065 = 3.0;
        double r166066 = 1.0;
        double r166067 = 5.0;
        double r166068 = sqrt(r166067);
        double r166069 = r166068 - r166066;
        double r166070 = r166069 / r166047;
        double r166071 = r166070 * r166060;
        double r166072 = r166066 + r166071;
        double r166073 = r166065 - r166068;
        double r166074 = r166073 / r166047;
        double r166075 = r166074 * r166061;
        double r166076 = r166072 + r166075;
        double r166077 = r166065 * r166076;
        double r166078 = r166064 / r166077;
        return r166078;
}

double f(double x, double y) {
        double r166079 = 2.0;
        double r166080 = sqrt(r166079);
        double r166081 = 1.0;
        double r166082 = x;
        double r166083 = sin(r166082);
        double r166084 = y;
        double r166085 = sin(r166084);
        double r166086 = 16.0;
        double r166087 = cbrt(r166086);
        double r166088 = r166085 / r166087;
        double r166089 = r166087 * r166087;
        double r166090 = r166081 / r166089;
        double r166091 = r166088 * r166090;
        double r166092 = -r166091;
        double r166093 = fma(r166081, r166083, r166092);
        double r166094 = r166080 * r166093;
        double r166095 = -r166088;
        double r166096 = r166095 + r166088;
        double r166097 = r166090 * r166096;
        double r166098 = r166080 * r166097;
        double r166099 = r166094 + r166098;
        double r166100 = r166083 / r166086;
        double r166101 = r166085 - r166100;
        double r166102 = cos(r166082);
        double r166103 = cos(r166084);
        double r166104 = r166102 - r166103;
        double r166105 = r166101 * r166104;
        double r166106 = fma(r166099, r166105, r166079);
        double r166107 = 3.0;
        double r166108 = 5.0;
        double r166109 = sqrt(r166108);
        double r166110 = r166107 - r166109;
        double r166111 = r166110 / r166079;
        double r166112 = 1.0;
        double r166113 = r166109 - r166112;
        double r166114 = r166113 / r166079;
        double r166115 = fma(r166114, r166102, r166112);
        double r166116 = fma(r166111, r166103, r166115);
        double r166117 = r166106 / r166116;
        double r166118 = r166117 / r166107;
        return r166118;
}

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.5

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

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

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

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

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

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\sqrt{2} \cdot \color{blue}{\left(\mathsf{fma}\left(\sqrt{\sin x}, \sqrt{\sin x}, -\frac{\sqrt{\sin y}}{\sqrt[3]{16}} \cdot \frac{\sqrt{\sin y}}{\sqrt[3]{16} \cdot \sqrt[3]{16}}\right) + \mathsf{fma}\left(-\frac{\sqrt{\sin y}}{\sqrt[3]{16}}, \frac{\sqrt{\sin y}}{\sqrt[3]{16} \cdot \sqrt[3]{16}}, \frac{\sqrt{\sin y}}{\sqrt[3]{16}} \cdot \frac{\sqrt{\sin y}}{\sqrt[3]{16} \cdot \sqrt[3]{16}}\right)\right)}, \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{\mathsf{fma}\left(\frac{3 - \sqrt{5}}{2}, \cos y, \mathsf{fma}\left(\frac{\sqrt{5} - 1}{2}, \cos x, 1\right)\right)}}{3}\]
  9. Applied distribute-lft-in48.5

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

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

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

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

Reproduce

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