Average Error: 0.5 → 0.5
Time: 12.2s
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(\log \left(e^{\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 + \frac{\sqrt{5} - 1}{2} \cdot \cos x\right) + \frac{3 - \sqrt{5}}{2} \cdot \cos y\right)}
\frac{2 + \left(\log \left(e^{\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)}
double f(double x, double y) {
        double r255240 = 2.0;
        double r255241 = sqrt(r255240);
        double r255242 = x;
        double r255243 = sin(r255242);
        double r255244 = y;
        double r255245 = sin(r255244);
        double r255246 = 16.0;
        double r255247 = r255245 / r255246;
        double r255248 = r255243 - r255247;
        double r255249 = r255241 * r255248;
        double r255250 = r255243 / r255246;
        double r255251 = r255245 - r255250;
        double r255252 = r255249 * r255251;
        double r255253 = cos(r255242);
        double r255254 = cos(r255244);
        double r255255 = r255253 - r255254;
        double r255256 = r255252 * r255255;
        double r255257 = r255240 + r255256;
        double r255258 = 3.0;
        double r255259 = 1.0;
        double r255260 = 5.0;
        double r255261 = sqrt(r255260);
        double r255262 = r255261 - r255259;
        double r255263 = r255262 / r255240;
        double r255264 = r255263 * r255253;
        double r255265 = r255259 + r255264;
        double r255266 = r255258 - r255261;
        double r255267 = r255266 / r255240;
        double r255268 = r255267 * r255254;
        double r255269 = r255265 + r255268;
        double r255270 = r255258 * r255269;
        double r255271 = r255257 / r255270;
        return r255271;
}

double f(double x, double y) {
        double r255272 = 2.0;
        double r255273 = sqrt(r255272);
        double r255274 = x;
        double r255275 = sin(r255274);
        double r255276 = y;
        double r255277 = sin(r255276);
        double r255278 = 16.0;
        double r255279 = r255277 / r255278;
        double r255280 = r255275 - r255279;
        double r255281 = r255273 * r255280;
        double r255282 = exp(r255281);
        double r255283 = log(r255282);
        double r255284 = r255275 / r255278;
        double r255285 = r255277 - r255284;
        double r255286 = r255283 * r255285;
        double r255287 = cos(r255274);
        double r255288 = cos(r255276);
        double r255289 = r255287 - r255288;
        double r255290 = r255286 * r255289;
        double r255291 = r255272 + r255290;
        double r255292 = 3.0;
        double r255293 = 1.0;
        double r255294 = 5.0;
        double r255295 = sqrt(r255294);
        double r255296 = r255295 - r255293;
        double r255297 = r255296 / r255272;
        double r255298 = r255297 * r255287;
        double r255299 = r255293 + r255298;
        double r255300 = r255292 - r255295;
        double r255301 = r255300 / r255272;
        double r255302 = r255301 * r255288;
        double r255303 = r255299 + r255302;
        double r255304 = r255292 * r255303;
        double r255305 = r255291 / r255304;
        return r255305;
}

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 + \left(\color{blue}{\log \left(e^{\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. Final simplification0.5

    \[\leadsto \frac{2 + \left(\log \left(e^{\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)}\]

Reproduce

herbie shell --seed 2020047 +o rules:numerics
(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))))))