Average Error: 0.5 → 0.5
Time: 28.9s
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 + \log \left(e^{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{{\left(\cos x - \cos y\right)}^{3}}}{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 + \log \left(e^{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{{\left(\cos x - \cos y\right)}^{3}}}{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 r156431 = 2.0;
        double r156432 = sqrt(r156431);
        double r156433 = x;
        double r156434 = sin(r156433);
        double r156435 = y;
        double r156436 = sin(r156435);
        double r156437 = 16.0;
        double r156438 = r156436 / r156437;
        double r156439 = r156434 - r156438;
        double r156440 = r156432 * r156439;
        double r156441 = r156434 / r156437;
        double r156442 = r156436 - r156441;
        double r156443 = r156440 * r156442;
        double r156444 = cos(r156433);
        double r156445 = cos(r156435);
        double r156446 = r156444 - r156445;
        double r156447 = r156443 * r156446;
        double r156448 = r156431 + r156447;
        double r156449 = 3.0;
        double r156450 = 1.0;
        double r156451 = 5.0;
        double r156452 = sqrt(r156451);
        double r156453 = r156452 - r156450;
        double r156454 = r156453 / r156431;
        double r156455 = r156454 * r156444;
        double r156456 = r156450 + r156455;
        double r156457 = r156449 - r156452;
        double r156458 = r156457 / r156431;
        double r156459 = r156458 * r156445;
        double r156460 = r156456 + r156459;
        double r156461 = r156449 * r156460;
        double r156462 = r156448 / r156461;
        return r156462;
}

double f(double x, double y) {
        double r156463 = 2.0;
        double r156464 = sqrt(r156463);
        double r156465 = x;
        double r156466 = sin(r156465);
        double r156467 = y;
        double r156468 = sin(r156467);
        double r156469 = 16.0;
        double r156470 = r156468 / r156469;
        double r156471 = r156466 - r156470;
        double r156472 = r156464 * r156471;
        double r156473 = r156466 / r156469;
        double r156474 = r156468 - r156473;
        double r156475 = r156472 * r156474;
        double r156476 = exp(r156475);
        double r156477 = log(r156476);
        double r156478 = cos(r156465);
        double r156479 = cos(r156467);
        double r156480 = r156478 - r156479;
        double r156481 = 3.0;
        double r156482 = pow(r156480, r156481);
        double r156483 = cbrt(r156482);
        double r156484 = r156477 * r156483;
        double r156485 = r156463 + r156484;
        double r156486 = 3.0;
        double r156487 = 1.0;
        double r156488 = 5.0;
        double r156489 = sqrt(r156488);
        double r156490 = r156489 - r156487;
        double r156491 = r156490 / r156463;
        double r156492 = r156491 * r156478;
        double r156493 = r156487 + r156492;
        double r156494 = r156486 - r156489;
        double r156495 = r156494 / r156463;
        double r156496 = r156495 * r156479;
        double r156497 = r156493 + r156496;
        double r156498 = r156486 * r156497;
        double r156499 = r156485 / r156498;
        return r156499;
}

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-log-exp0.5

    \[\leadsto \frac{2 + \color{blue}{\log \left(e^{\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)}\]
  4. Using strategy rm
  5. Applied add-cbrt-cube0.5

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

    \[\leadsto \frac{2 + \log \left(e^{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{\color{blue}{{\left(\cos x - \cos y\right)}^{3}}}}{3 \cdot \left(\left(1 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y\right)}\]
  7. Final simplification0.5

    \[\leadsto \frac{2 + \log \left(e^{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \sqrt[3]{{\left(\cos x - \cos y\right)}^{3}}}{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 2019291 
(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))))))