Average Error: 0.5 → 0.5
Time: 35.5s
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{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot \left(\sin x - \frac{\sin y}{16}\right)\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{3 - \sqrt{5}}{2} \cdot \cos y\right)}
\frac{2 + \left(\left(\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot \left(\sin x - \frac{\sin y}{16}\right)\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)}
double f(double x, double y) {
        double r191156 = 2.0;
        double r191157 = sqrt(r191156);
        double r191158 = x;
        double r191159 = sin(r191158);
        double r191160 = y;
        double r191161 = sin(r191160);
        double r191162 = 16.0;
        double r191163 = r191161 / r191162;
        double r191164 = r191159 - r191163;
        double r191165 = r191157 * r191164;
        double r191166 = r191159 / r191162;
        double r191167 = r191161 - r191166;
        double r191168 = r191165 * r191167;
        double r191169 = cos(r191158);
        double r191170 = cos(r191160);
        double r191171 = r191169 - r191170;
        double r191172 = r191168 * r191171;
        double r191173 = r191156 + r191172;
        double r191174 = 3.0;
        double r191175 = 1.0;
        double r191176 = 5.0;
        double r191177 = sqrt(r191176);
        double r191178 = r191177 - r191175;
        double r191179 = r191178 / r191156;
        double r191180 = r191179 * r191169;
        double r191181 = r191175 + r191180;
        double r191182 = r191174 - r191177;
        double r191183 = r191182 / r191156;
        double r191184 = r191183 * r191170;
        double r191185 = r191181 + r191184;
        double r191186 = r191174 * r191185;
        double r191187 = r191173 / r191186;
        return r191187;
}

double f(double x, double y) {
        double r191188 = 2.0;
        double r191189 = sqrt(r191188);
        double r191190 = sqrt(r191189);
        double r191191 = x;
        double r191192 = sin(r191191);
        double r191193 = y;
        double r191194 = sin(r191193);
        double r191195 = 16.0;
        double r191196 = r191194 / r191195;
        double r191197 = r191192 - r191196;
        double r191198 = r191190 * r191197;
        double r191199 = r191190 * r191198;
        double r191200 = r191192 / r191195;
        double r191201 = r191194 - r191200;
        double r191202 = r191199 * r191201;
        double r191203 = cos(r191191);
        double r191204 = cos(r191193);
        double r191205 = r191203 - r191204;
        double r191206 = r191202 * r191205;
        double r191207 = r191188 + r191206;
        double r191208 = 3.0;
        double r191209 = 1.0;
        double r191210 = 5.0;
        double r191211 = sqrt(r191210);
        double r191212 = r191211 - r191209;
        double r191213 = r191212 / r191188;
        double r191214 = r191213 * r191203;
        double r191215 = r191209 + r191214;
        double r191216 = r191208 - r191211;
        double r191217 = r191216 / r191188;
        double r191218 = r191217 * r191204;
        double r191219 = r191215 + r191218;
        double r191220 = r191208 * r191219;
        double r191221 = r191207 / r191220;
        return r191221;
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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

    \[\leadsto \frac{2 + \left(\left(\sqrt{\color{blue}{\sqrt{2} \cdot \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)}\]
  4. Applied sqrt-prod0.5

    \[\leadsto \frac{2 + \left(\left(\color{blue}{\left(\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}\right)} \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)}\]
  5. Applied associate-*l*0.5

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

    \[\leadsto \frac{2 + \left(\left(\sqrt{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot \left(\sin x - \frac{\sin y}{16}\right)\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)}\]

Reproduce

herbie shell --seed 2019323 
(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))))))