Average Error: 0.5 → 0.5
Time: 35.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{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 r139304 = 2.0;
        double r139305 = sqrt(r139304);
        double r139306 = x;
        double r139307 = sin(r139306);
        double r139308 = y;
        double r139309 = sin(r139308);
        double r139310 = 16.0;
        double r139311 = r139309 / r139310;
        double r139312 = r139307 - r139311;
        double r139313 = r139305 * r139312;
        double r139314 = r139307 / r139310;
        double r139315 = r139309 - r139314;
        double r139316 = r139313 * r139315;
        double r139317 = cos(r139306);
        double r139318 = cos(r139308);
        double r139319 = r139317 - r139318;
        double r139320 = r139316 * r139319;
        double r139321 = r139304 + r139320;
        double r139322 = 3.0;
        double r139323 = 1.0;
        double r139324 = 5.0;
        double r139325 = sqrt(r139324);
        double r139326 = r139325 - r139323;
        double r139327 = r139326 / r139304;
        double r139328 = r139327 * r139317;
        double r139329 = r139323 + r139328;
        double r139330 = r139322 - r139325;
        double r139331 = r139330 / r139304;
        double r139332 = r139331 * r139318;
        double r139333 = r139329 + r139332;
        double r139334 = r139322 * r139333;
        double r139335 = r139321 / r139334;
        return r139335;
}

double f(double x, double y) {
        double r139336 = 2.0;
        double r139337 = sqrt(r139336);
        double r139338 = sqrt(r139337);
        double r139339 = x;
        double r139340 = sin(r139339);
        double r139341 = y;
        double r139342 = sin(r139341);
        double r139343 = 16.0;
        double r139344 = r139342 / r139343;
        double r139345 = r139340 - r139344;
        double r139346 = r139338 * r139345;
        double r139347 = r139338 * r139346;
        double r139348 = r139340 / r139343;
        double r139349 = r139342 - r139348;
        double r139350 = r139347 * r139349;
        double r139351 = cos(r139339);
        double r139352 = cos(r139341);
        double r139353 = r139351 - r139352;
        double r139354 = r139350 * r139353;
        double r139355 = r139336 + r139354;
        double r139356 = 3.0;
        double r139357 = 1.0;
        double r139358 = 5.0;
        double r139359 = sqrt(r139358);
        double r139360 = r139359 - r139357;
        double r139361 = r139360 / r139336;
        double r139362 = r139361 * r139351;
        double r139363 = r139357 + r139362;
        double r139364 = r139356 - r139359;
        double r139365 = r139364 / r139336;
        double r139366 = r139365 * r139352;
        double r139367 = r139363 + r139366;
        double r139368 = r139356 * r139367;
        double r139369 = r139355 / r139368;
        return r139369;
}

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))))))