Average Error: 0.5 → 0.5
Time: 40.0s
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)}\]
\[\left(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)\right) \cdot \frac{1}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 - 5}{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)}
\left(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)\right) \cdot \frac{1}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}
double f(double x, double y) {
        double r258530 = 2.0;
        double r258531 = sqrt(r258530);
        double r258532 = x;
        double r258533 = sin(r258532);
        double r258534 = y;
        double r258535 = sin(r258534);
        double r258536 = 16.0;
        double r258537 = r258535 / r258536;
        double r258538 = r258533 - r258537;
        double r258539 = r258531 * r258538;
        double r258540 = r258533 / r258536;
        double r258541 = r258535 - r258540;
        double r258542 = r258539 * r258541;
        double r258543 = cos(r258532);
        double r258544 = cos(r258534);
        double r258545 = r258543 - r258544;
        double r258546 = r258542 * r258545;
        double r258547 = r258530 + r258546;
        double r258548 = 3.0;
        double r258549 = 1.0;
        double r258550 = 5.0;
        double r258551 = sqrt(r258550);
        double r258552 = r258551 - r258549;
        double r258553 = r258552 / r258530;
        double r258554 = r258553 * r258543;
        double r258555 = r258549 + r258554;
        double r258556 = r258548 - r258551;
        double r258557 = r258556 / r258530;
        double r258558 = r258557 * r258544;
        double r258559 = r258555 + r258558;
        double r258560 = r258548 * r258559;
        double r258561 = r258547 / r258560;
        return r258561;
}

double f(double x, double y) {
        double r258562 = 2.0;
        double r258563 = sqrt(r258562);
        double r258564 = x;
        double r258565 = sin(r258564);
        double r258566 = y;
        double r258567 = sin(r258566);
        double r258568 = 16.0;
        double r258569 = r258567 / r258568;
        double r258570 = r258565 - r258569;
        double r258571 = r258563 * r258570;
        double r258572 = r258565 / r258568;
        double r258573 = r258567 - r258572;
        double r258574 = r258571 * r258573;
        double r258575 = cos(r258564);
        double r258576 = cos(r258566);
        double r258577 = r258575 - r258576;
        double r258578 = r258574 * r258577;
        double r258579 = r258562 + r258578;
        double r258580 = 1.0;
        double r258581 = 3.0;
        double r258582 = 1.0;
        double r258583 = 5.0;
        double r258584 = sqrt(r258583);
        double r258585 = r258584 - r258582;
        double r258586 = r258585 / r258562;
        double r258587 = r258586 * r258575;
        double r258588 = r258582 + r258587;
        double r258589 = r258581 * r258581;
        double r258590 = r258589 - r258583;
        double r258591 = r258581 + r258584;
        double r258592 = r258590 / r258591;
        double r258593 = r258592 / r258562;
        double r258594 = r258593 * r258576;
        double r258595 = r258588 + r258594;
        double r258596 = r258581 * r258595;
        double r258597 = r258580 / r258596;
        double r258598 = r258579 * r258597;
        return r258598;
}

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 flip--0.5

    \[\leadsto \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{\color{blue}{\frac{3 \cdot 3 - \sqrt{5} \cdot \sqrt{5}}{3 + \sqrt{5}}}}{2} \cdot \cos y\right)}\]
  4. Simplified0.5

    \[\leadsto \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{\frac{\color{blue}{3 \cdot 3 - 5}}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}\]
  5. Using strategy rm
  6. Applied div-inv0.5

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

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

Reproduce

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