\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 \sin x + \log \left(e^{\frac{-\sqrt{2}}{\sqrt[3]{16} \cdot \sqrt[3]{16}} \cdot \frac{\sin y}{\sqrt[3]{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{3 \cdot 3 + \left(-5\right)}{3 + \sqrt{5}}}{2} \cdot \cos y\right)}double f(double x, double y) {
double r249220 = 2.0;
double r249221 = sqrt(r249220);
double r249222 = x;
double r249223 = sin(r249222);
double r249224 = y;
double r249225 = sin(r249224);
double r249226 = 16.0;
double r249227 = r249225 / r249226;
double r249228 = r249223 - r249227;
double r249229 = r249221 * r249228;
double r249230 = r249223 / r249226;
double r249231 = r249225 - r249230;
double r249232 = r249229 * r249231;
double r249233 = cos(r249222);
double r249234 = cos(r249224);
double r249235 = r249233 - r249234;
double r249236 = r249232 * r249235;
double r249237 = r249220 + r249236;
double r249238 = 3.0;
double r249239 = 1.0;
double r249240 = 5.0;
double r249241 = sqrt(r249240);
double r249242 = r249241 - r249239;
double r249243 = r249242 / r249220;
double r249244 = r249243 * r249233;
double r249245 = r249239 + r249244;
double r249246 = r249238 - r249241;
double r249247 = r249246 / r249220;
double r249248 = r249247 * r249234;
double r249249 = r249245 + r249248;
double r249250 = r249238 * r249249;
double r249251 = r249237 / r249250;
return r249251;
}
double f(double x, double y) {
double r249252 = 2.0;
double r249253 = sqrt(r249252);
double r249254 = x;
double r249255 = sin(r249254);
double r249256 = r249253 * r249255;
double r249257 = -r249253;
double r249258 = 16.0;
double r249259 = cbrt(r249258);
double r249260 = r249259 * r249259;
double r249261 = r249257 / r249260;
double r249262 = y;
double r249263 = sin(r249262);
double r249264 = r249263 / r249259;
double r249265 = r249261 * r249264;
double r249266 = exp(r249265);
double r249267 = log(r249266);
double r249268 = r249256 + r249267;
double r249269 = r249255 / r249258;
double r249270 = r249263 - r249269;
double r249271 = r249268 * r249270;
double r249272 = cos(r249254);
double r249273 = cos(r249262);
double r249274 = r249272 - r249273;
double r249275 = r249271 * r249274;
double r249276 = r249252 + r249275;
double r249277 = 3.0;
double r249278 = 1.0;
double r249279 = 5.0;
double r249280 = sqrt(r249279);
double r249281 = r249280 - r249278;
double r249282 = r249281 / r249252;
double r249283 = r249282 * r249272;
double r249284 = r249278 + r249283;
double r249285 = r249277 * r249277;
double r249286 = -r249279;
double r249287 = r249285 + r249286;
double r249288 = r249277 + r249280;
double r249289 = r249287 / r249288;
double r249290 = r249289 / r249252;
double r249291 = r249290 * r249273;
double r249292 = r249284 + r249291;
double r249293 = r249277 * r249292;
double r249294 = r249276 / r249293;
return r249294;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.4
rmApplied sub-neg0.4
Applied distribute-lft-in0.4
rmApplied add-log-exp0.4
rmApplied add-cube-cbrt0.4
Applied *-un-lft-identity0.4
Applied times-frac0.4
Applied distribute-lft-neg-in0.4
Applied associate-*r*0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019353
(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))))))