Average Error: 0.5 → 0.5
Time: 18.1s
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(\frac{{\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}}{\mathsf{fma}\left(\cos x, \cos x, \cos y \cdot \left(\cos x + \cos y\right)\right)}, \left(\left(\sqrt{2} \cdot \left(\sqrt[3]{\sin x - \frac{\sin y}{16}} \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\right)\right) \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\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(\frac{{\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}}{\mathsf{fma}\left(\cos x, \cos x, \cos y \cdot \left(\cos x + \cos y\right)\right)}, \left(\left(\sqrt{2} \cdot \left(\sqrt[3]{\sin x - \frac{\sin y}{16}} \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\right)\right) \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\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 r206093 = 2.0;
        double r206094 = sqrt(r206093);
        double r206095 = x;
        double r206096 = sin(r206095);
        double r206097 = y;
        double r206098 = sin(r206097);
        double r206099 = 16.0;
        double r206100 = r206098 / r206099;
        double r206101 = r206096 - r206100;
        double r206102 = r206094 * r206101;
        double r206103 = r206096 / r206099;
        double r206104 = r206098 - r206103;
        double r206105 = r206102 * r206104;
        double r206106 = cos(r206095);
        double r206107 = cos(r206097);
        double r206108 = r206106 - r206107;
        double r206109 = r206105 * r206108;
        double r206110 = r206093 + r206109;
        double r206111 = 3.0;
        double r206112 = 1.0;
        double r206113 = 5.0;
        double r206114 = sqrt(r206113);
        double r206115 = r206114 - r206112;
        double r206116 = r206115 / r206093;
        double r206117 = r206116 * r206106;
        double r206118 = r206112 + r206117;
        double r206119 = r206111 - r206114;
        double r206120 = r206119 / r206093;
        double r206121 = r206120 * r206107;
        double r206122 = r206118 + r206121;
        double r206123 = r206111 * r206122;
        double r206124 = r206110 / r206123;
        return r206124;
}

double f(double x, double y) {
        double r206125 = x;
        double r206126 = cos(r206125);
        double r206127 = 3.0;
        double r206128 = pow(r206126, r206127);
        double r206129 = y;
        double r206130 = cos(r206129);
        double r206131 = pow(r206130, r206127);
        double r206132 = r206128 - r206131;
        double r206133 = r206126 + r206130;
        double r206134 = r206130 * r206133;
        double r206135 = fma(r206126, r206126, r206134);
        double r206136 = r206132 / r206135;
        double r206137 = 2.0;
        double r206138 = sqrt(r206137);
        double r206139 = sin(r206125);
        double r206140 = sin(r206129);
        double r206141 = 16.0;
        double r206142 = r206140 / r206141;
        double r206143 = r206139 - r206142;
        double r206144 = cbrt(r206143);
        double r206145 = r206144 * r206144;
        double r206146 = r206138 * r206145;
        double r206147 = r206146 * r206144;
        double r206148 = r206139 / r206141;
        double r206149 = r206140 - r206148;
        double r206150 = r206147 * r206149;
        double r206151 = fma(r206136, r206150, r206137);
        double r206152 = 3.0;
        double r206153 = r206151 / r206152;
        double r206154 = 5.0;
        double r206155 = sqrt(r206154);
        double r206156 = r206152 - r206155;
        double r206157 = r206156 / r206137;
        double r206158 = 1.0;
        double r206159 = r206155 - r206158;
        double r206160 = r206159 / r206137;
        double r206161 = fma(r206126, r206160, r206158);
        double r206162 = fma(r206130, r206157, r206161);
        double r206163 = r206153 / r206162;
        return r206163;
}

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 flip3--0.4

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\color{blue}{\frac{{\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}}{\cos x \cdot \cos x + \left(\cos y \cdot \cos y + \cos x \cdot \cos y\right)}}, \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. Simplified0.4

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\frac{{\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}}{\color{blue}{\mathsf{fma}\left(\cos x, \cos x, \cos y \cdot \left(\cos x + \cos y\right)\right)}}, \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)}\]
  6. Using strategy rm
  7. Applied add-cube-cbrt0.5

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\frac{{\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}}{\mathsf{fma}\left(\cos x, \cos x, \cos y \cdot \left(\cos x + \cos y\right)\right)}, \left(\sqrt{2} \cdot \color{blue}{\left(\left(\sqrt[3]{\sin x - \frac{\sin y}{16}} \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\right) \cdot \sqrt[3]{\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)}\]
  8. Applied associate-*r*0.5

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

    \[\leadsto \frac{\frac{\mathsf{fma}\left(\frac{{\left(\cos x\right)}^{3} - {\left(\cos y\right)}^{3}}{\mathsf{fma}\left(\cos x, \cos x, \cos y \cdot \left(\cos x + \cos y\right)\right)}, \left(\left(\sqrt{2} \cdot \left(\sqrt[3]{\sin x - \frac{\sin y}{16}} \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\right)\right) \cdot \sqrt[3]{\sin x - \frac{\sin y}{16}}\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 2020042 +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))))))