Average Error: 0.5 → 0.5
Time: 34.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{\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)}{3}}{\mathsf{fma}\left(\cos y, \frac{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \left|\sqrt[3]{5}\right|\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{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(\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)}{3}}{\mathsf{fma}\left(\cos y, \frac{\mathsf{fma}\left(\sqrt[3]{3} \cdot \sqrt[3]{3}, \sqrt[3]{3}, -\sqrt{\sqrt[3]{5}} \cdot \left|\sqrt[3]{5}\right|\right) + \sqrt{\sqrt[3]{5}} \cdot \left(\left(-\left|\sqrt[3]{5}\right|\right) + \left|\sqrt[3]{5}\right|\right)}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}
double f(double x, double y) {
        double r173099 = 2.0;
        double r173100 = sqrt(r173099);
        double r173101 = x;
        double r173102 = sin(r173101);
        double r173103 = y;
        double r173104 = sin(r173103);
        double r173105 = 16.0;
        double r173106 = r173104 / r173105;
        double r173107 = r173102 - r173106;
        double r173108 = r173100 * r173107;
        double r173109 = r173102 / r173105;
        double r173110 = r173104 - r173109;
        double r173111 = r173108 * r173110;
        double r173112 = cos(r173101);
        double r173113 = cos(r173103);
        double r173114 = r173112 - r173113;
        double r173115 = r173111 * r173114;
        double r173116 = r173099 + r173115;
        double r173117 = 3.0;
        double r173118 = 1.0;
        double r173119 = 5.0;
        double r173120 = sqrt(r173119);
        double r173121 = r173120 - r173118;
        double r173122 = r173121 / r173099;
        double r173123 = r173122 * r173112;
        double r173124 = r173118 + r173123;
        double r173125 = r173117 - r173120;
        double r173126 = r173125 / r173099;
        double r173127 = r173126 * r173113;
        double r173128 = r173124 + r173127;
        double r173129 = r173117 * r173128;
        double r173130 = r173116 / r173129;
        return r173130;
}

double f(double x, double y) {
        double r173131 = 2.0;
        double r173132 = sqrt(r173131);
        double r173133 = x;
        double r173134 = sin(r173133);
        double r173135 = y;
        double r173136 = sin(r173135);
        double r173137 = 16.0;
        double r173138 = r173136 / r173137;
        double r173139 = r173134 - r173138;
        double r173140 = r173132 * r173139;
        double r173141 = r173134 / r173137;
        double r173142 = r173136 - r173141;
        double r173143 = cos(r173133);
        double r173144 = cos(r173135);
        double r173145 = r173143 - r173144;
        double r173146 = r173142 * r173145;
        double r173147 = fma(r173140, r173146, r173131);
        double r173148 = 3.0;
        double r173149 = r173147 / r173148;
        double r173150 = cbrt(r173148);
        double r173151 = r173150 * r173150;
        double r173152 = 5.0;
        double r173153 = cbrt(r173152);
        double r173154 = sqrt(r173153);
        double r173155 = fabs(r173153);
        double r173156 = r173154 * r173155;
        double r173157 = -r173156;
        double r173158 = fma(r173151, r173150, r173157);
        double r173159 = -r173155;
        double r173160 = r173159 + r173155;
        double r173161 = r173154 * r173160;
        double r173162 = r173158 + r173161;
        double r173163 = r173162 / r173131;
        double r173164 = sqrt(r173152);
        double r173165 = 1.0;
        double r173166 = r173164 - r173165;
        double r173167 = r173166 / r173131;
        double r173168 = fma(r173143, r173167, r173165);
        double r173169 = fma(r173144, r173163, r173168);
        double r173170 = r173149 / r173169;
        return r173170;
}

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(\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)}{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.6

    \[\leadsto \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)}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{\color{blue}{\left(\sqrt[3]{5} \cdot \sqrt[3]{5}\right) \cdot \sqrt[3]{5}}}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}\]
  5. Applied sqrt-prod0.6

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

    \[\leadsto \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)}{3}}{\mathsf{fma}\left(\cos y, \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}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}\]
  7. Applied prod-diff0.4

    \[\leadsto \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)}{3}}{\mathsf{fma}\left(\cos y, \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}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}\]
  8. Simplified0.4

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

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

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

Reproduce

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