Average Error: 0.5 → 0.4
Time: 1.1m
Precision: 64
\[\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}\]
\[\frac{\frac{\left(\cos x - \cos y\right) \cdot \left(\left(\sin y - \frac{\sin x}{16.0}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16.0}\right) \cdot \sqrt{2.0}\right)\right) + 2.0}{3.0}}{\left(1.0 + \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}} \cdot \left(\cos x \cdot \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}}\right)\right) + \cos y \cdot \frac{\frac{3.0 \cdot 3.0 - 5.0}{3.0 + \sqrt{5.0}}}{2.0}}\]
\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}
\frac{\frac{\left(\cos x - \cos y\right) \cdot \left(\left(\sin y - \frac{\sin x}{16.0}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16.0}\right) \cdot \sqrt{2.0}\right)\right) + 2.0}{3.0}}{\left(1.0 + \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}} \cdot \left(\cos x \cdot \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}}\right)\right) + \cos y \cdot \frac{\frac{3.0 \cdot 3.0 - 5.0}{3.0 + \sqrt{5.0}}}{2.0}}
double f(double x, double y) {
        double r13187437 = 2.0;
        double r13187438 = sqrt(r13187437);
        double r13187439 = x;
        double r13187440 = sin(r13187439);
        double r13187441 = y;
        double r13187442 = sin(r13187441);
        double r13187443 = 16.0;
        double r13187444 = r13187442 / r13187443;
        double r13187445 = r13187440 - r13187444;
        double r13187446 = r13187438 * r13187445;
        double r13187447 = r13187440 / r13187443;
        double r13187448 = r13187442 - r13187447;
        double r13187449 = r13187446 * r13187448;
        double r13187450 = cos(r13187439);
        double r13187451 = cos(r13187441);
        double r13187452 = r13187450 - r13187451;
        double r13187453 = r13187449 * r13187452;
        double r13187454 = r13187437 + r13187453;
        double r13187455 = 3.0;
        double r13187456 = 1.0;
        double r13187457 = 5.0;
        double r13187458 = sqrt(r13187457);
        double r13187459 = r13187458 - r13187456;
        double r13187460 = r13187459 / r13187437;
        double r13187461 = r13187460 * r13187450;
        double r13187462 = r13187456 + r13187461;
        double r13187463 = r13187455 - r13187458;
        double r13187464 = r13187463 / r13187437;
        double r13187465 = r13187464 * r13187451;
        double r13187466 = r13187462 + r13187465;
        double r13187467 = r13187455 * r13187466;
        double r13187468 = r13187454 / r13187467;
        return r13187468;
}

double f(double x, double y) {
        double r13187469 = x;
        double r13187470 = cos(r13187469);
        double r13187471 = y;
        double r13187472 = cos(r13187471);
        double r13187473 = r13187470 - r13187472;
        double r13187474 = sin(r13187471);
        double r13187475 = sin(r13187469);
        double r13187476 = 16.0;
        double r13187477 = r13187475 / r13187476;
        double r13187478 = r13187474 - r13187477;
        double r13187479 = r13187474 / r13187476;
        double r13187480 = r13187475 - r13187479;
        double r13187481 = 2.0;
        double r13187482 = sqrt(r13187481);
        double r13187483 = r13187480 * r13187482;
        double r13187484 = r13187478 * r13187483;
        double r13187485 = r13187473 * r13187484;
        double r13187486 = r13187485 + r13187481;
        double r13187487 = 3.0;
        double r13187488 = r13187486 / r13187487;
        double r13187489 = 1.0;
        double r13187490 = 5.0;
        double r13187491 = sqrt(r13187490);
        double r13187492 = r13187491 - r13187489;
        double r13187493 = r13187492 / r13187481;
        double r13187494 = sqrt(r13187493);
        double r13187495 = r13187470 * r13187494;
        double r13187496 = r13187494 * r13187495;
        double r13187497 = r13187489 + r13187496;
        double r13187498 = r13187487 * r13187487;
        double r13187499 = r13187498 - r13187490;
        double r13187500 = r13187487 + r13187491;
        double r13187501 = r13187499 / r13187500;
        double r13187502 = r13187501 / r13187481;
        double r13187503 = r13187472 * r13187502;
        double r13187504 = r13187497 + r13187503;
        double r13187505 = r13187488 / r13187504;
        return r13187505;
}

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.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{3.0 - \sqrt{5.0}}{2.0} \cdot \cos y\right)}\]
  2. Using strategy rm
  3. Applied flip--0.5

    \[\leadsto \frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{\color{blue}{\frac{3.0 \cdot 3.0 - \sqrt{5.0} \cdot \sqrt{5.0}}{3.0 + \sqrt{5.0}}}}{2.0} \cdot \cos y\right)}\]
  4. Simplified0.5

    \[\leadsto \frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0 \cdot \left(\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{\frac{\color{blue}{3.0 \cdot 3.0 - 5.0}}{3.0 + \sqrt{5.0}}}{2.0} \cdot \cos y\right)}\]
  5. Using strategy rm
  6. Applied associate-/r*0.4

    \[\leadsto \color{blue}{\frac{\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0}}{\left(1.0 + \frac{\sqrt{5.0} - 1.0}{2.0} \cdot \cos x\right) + \frac{\frac{3.0 \cdot 3.0 - 5.0}{3.0 + \sqrt{5.0}}}{2.0} \cdot \cos y}}\]
  7. Using strategy rm
  8. Applied add-sqr-sqrt0.5

    \[\leadsto \frac{\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0}}{\left(1.0 + \color{blue}{\left(\sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}} \cdot \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}}\right)} \cdot \cos x\right) + \frac{\frac{3.0 \cdot 3.0 - 5.0}{3.0 + \sqrt{5.0}}}{2.0} \cdot \cos y}\]
  9. Applied associate-*l*0.4

    \[\leadsto \frac{\frac{2.0 + \left(\left(\sqrt{2.0} \cdot \left(\sin x - \frac{\sin y}{16.0}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16.0}\right)\right) \cdot \left(\cos x - \cos y\right)}{3.0}}{\left(1.0 + \color{blue}{\sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}} \cdot \left(\sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}} \cdot \cos x\right)}\right) + \frac{\frac{3.0 \cdot 3.0 - 5.0}{3.0 + \sqrt{5.0}}}{2.0} \cdot \cos y}\]
  10. Final simplification0.4

    \[\leadsto \frac{\frac{\left(\cos x - \cos y\right) \cdot \left(\left(\sin y - \frac{\sin x}{16.0}\right) \cdot \left(\left(\sin x - \frac{\sin y}{16.0}\right) \cdot \sqrt{2.0}\right)\right) + 2.0}{3.0}}{\left(1.0 + \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}} \cdot \left(\cos x \cdot \sqrt{\frac{\sqrt{5.0} - 1.0}{2.0}}\right)\right) + \cos y \cdot \frac{\frac{3.0 \cdot 3.0 - 5.0}{3.0 + \sqrt{5.0}}}{2.0}}\]

Reproduce

herbie shell --seed 2019165 
(FPCore (x y)
  :name "Diagrams.TwoD.Path.Metafont.Internal:hobbyF from diagrams-contrib-1.3.0.5"
  (/ (+ 2.0 (* (* (* (sqrt 2.0) (- (sin x) (/ (sin y) 16.0))) (- (sin y) (/ (sin x) 16.0))) (- (cos x) (cos y)))) (* 3.0 (+ (+ 1.0 (* (/ (- (sqrt 5.0) 1.0) 2.0) (cos x))) (* (/ (- 3.0 (sqrt 5.0)) 2.0) (cos y))))))