Average Error: 0.5 → 0.4
Time: 34.3s
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{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 + \sqrt{\frac{\sqrt{5} - 1}{2}} \cdot \left(\sqrt{\frac{\sqrt{5} - 1}{2}} \cdot \cos x\right)\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)}
\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 + \sqrt{\frac{\sqrt{5} - 1}{2}} \cdot \left(\sqrt{\frac{\sqrt{5} - 1}{2}} \cdot \cos x\right)\right) + \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}
double f(double x, double y) {
        double r134603 = 2.0;
        double r134604 = sqrt(r134603);
        double r134605 = x;
        double r134606 = sin(r134605);
        double r134607 = y;
        double r134608 = sin(r134607);
        double r134609 = 16.0;
        double r134610 = r134608 / r134609;
        double r134611 = r134606 - r134610;
        double r134612 = r134604 * r134611;
        double r134613 = r134606 / r134609;
        double r134614 = r134608 - r134613;
        double r134615 = r134612 * r134614;
        double r134616 = cos(r134605);
        double r134617 = cos(r134607);
        double r134618 = r134616 - r134617;
        double r134619 = r134615 * r134618;
        double r134620 = r134603 + r134619;
        double r134621 = 3.0;
        double r134622 = 1.0;
        double r134623 = 5.0;
        double r134624 = sqrt(r134623);
        double r134625 = r134624 - r134622;
        double r134626 = r134625 / r134603;
        double r134627 = r134626 * r134616;
        double r134628 = r134622 + r134627;
        double r134629 = r134621 - r134624;
        double r134630 = r134629 / r134603;
        double r134631 = r134630 * r134617;
        double r134632 = r134628 + r134631;
        double r134633 = r134621 * r134632;
        double r134634 = r134620 / r134633;
        return r134634;
}

double f(double x, double y) {
        double r134635 = 2.0;
        double r134636 = sqrt(r134635);
        double r134637 = x;
        double r134638 = sin(r134637);
        double r134639 = y;
        double r134640 = sin(r134639);
        double r134641 = 16.0;
        double r134642 = r134640 / r134641;
        double r134643 = r134638 - r134642;
        double r134644 = r134636 * r134643;
        double r134645 = r134638 / r134641;
        double r134646 = r134640 - r134645;
        double r134647 = r134644 * r134646;
        double r134648 = cos(r134637);
        double r134649 = cos(r134639);
        double r134650 = r134648 - r134649;
        double r134651 = r134647 * r134650;
        double r134652 = r134635 + r134651;
        double r134653 = 3.0;
        double r134654 = 1.0;
        double r134655 = 5.0;
        double r134656 = sqrt(r134655);
        double r134657 = r134656 - r134654;
        double r134658 = r134657 / r134635;
        double r134659 = sqrt(r134658);
        double r134660 = r134659 * r134648;
        double r134661 = r134659 * r134660;
        double r134662 = r134654 + r134661;
        double r134663 = r134653 * r134653;
        double r134664 = r134663 - r134655;
        double r134665 = r134653 + r134656;
        double r134666 = r134664 / r134665;
        double r134667 = r134666 / r134635;
        double r134668 = r134667 * r134649;
        double r134669 = r134662 + r134668;
        double r134670 = r134653 * r134669;
        double r134671 = r134652 / r134670;
        return r134671;
}

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 add-sqr-sqrt0.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 + \color{blue}{\left(\sqrt{\frac{\sqrt{5} - 1}{2}} \cdot \sqrt{\frac{\sqrt{5} - 1}{2}}\right)} \cdot \cos x\right) + \frac{\frac{3 \cdot 3 - 5}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}\]
  7. Applied associate-*l*0.4

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

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

Reproduce

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