Average Error: 0.5 → 0.5
Time: 25.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{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\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{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\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 r163499 = 2.0;
        double r163500 = sqrt(r163499);
        double r163501 = x;
        double r163502 = sin(r163501);
        double r163503 = y;
        double r163504 = sin(r163503);
        double r163505 = 16.0;
        double r163506 = r163504 / r163505;
        double r163507 = r163502 - r163506;
        double r163508 = r163500 * r163507;
        double r163509 = r163502 / r163505;
        double r163510 = r163504 - r163509;
        double r163511 = r163508 * r163510;
        double r163512 = cos(r163501);
        double r163513 = cos(r163503);
        double r163514 = r163512 - r163513;
        double r163515 = r163511 * r163514;
        double r163516 = r163499 + r163515;
        double r163517 = 3.0;
        double r163518 = 1.0;
        double r163519 = 5.0;
        double r163520 = sqrt(r163519);
        double r163521 = r163520 - r163518;
        double r163522 = r163521 / r163499;
        double r163523 = r163522 * r163512;
        double r163524 = r163518 + r163523;
        double r163525 = r163517 - r163520;
        double r163526 = r163525 / r163499;
        double r163527 = r163526 * r163513;
        double r163528 = r163524 + r163527;
        double r163529 = r163517 * r163528;
        double r163530 = r163516 / r163529;
        return r163530;
}

double f(double x, double y) {
        double r163531 = 2.0;
        double r163532 = sqrt(r163531);
        double r163533 = x;
        double r163534 = sin(r163533);
        double r163535 = y;
        double r163536 = sin(r163535);
        double r163537 = 16.0;
        double r163538 = r163536 / r163537;
        double r163539 = r163534 - r163538;
        double r163540 = r163532 * r163539;
        double r163541 = r163534 / r163537;
        double r163542 = r163536 - r163541;
        double r163543 = r163540 * r163542;
        double r163544 = cos(r163533);
        double r163545 = cos(r163535);
        double r163546 = r163544 - r163545;
        double r163547 = cbrt(r163546);
        double r163548 = r163547 * r163547;
        double r163549 = r163548 * r163547;
        double r163550 = r163543 * r163549;
        double r163551 = r163531 + r163550;
        double r163552 = 3.0;
        double r163553 = 1.0;
        double r163554 = 5.0;
        double r163555 = sqrt(r163554);
        double r163556 = r163555 - r163553;
        double r163557 = r163556 / r163531;
        double r163558 = r163557 * r163544;
        double r163559 = r163553 + r163558;
        double r163560 = r163552 - r163555;
        double r163561 = r163560 / r163531;
        double r163562 = r163561 * r163545;
        double r163563 = r163559 + r163562;
        double r163564 = r163552 * r163563;
        double r163565 = r163551 / r163564;
        return r163565;
}

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-cube-cbrt0.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 \color{blue}{\left(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\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. Final simplification0.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(\left(\sqrt[3]{\cos x - \cos y} \cdot \sqrt[3]{\cos x - \cos y}\right) \cdot \sqrt[3]{\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 2019308 
(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))))))