\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[3]{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)} \cdot \sqrt[3]{\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(\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 + \log \left(e^{\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 r138205 = 2.0;
double r138206 = sqrt(r138205);
double r138207 = x;
double r138208 = sin(r138207);
double r138209 = y;
double r138210 = sin(r138209);
double r138211 = 16.0;
double r138212 = r138210 / r138211;
double r138213 = r138208 - r138212;
double r138214 = r138206 * r138213;
double r138215 = r138208 / r138211;
double r138216 = r138210 - r138215;
double r138217 = r138214 * r138216;
double r138218 = cos(r138207);
double r138219 = cos(r138209);
double r138220 = r138218 - r138219;
double r138221 = r138217 * r138220;
double r138222 = r138205 + r138221;
double r138223 = 3.0;
double r138224 = 1.0;
double r138225 = 5.0;
double r138226 = sqrt(r138225);
double r138227 = r138226 - r138224;
double r138228 = r138227 / r138205;
double r138229 = r138228 * r138218;
double r138230 = r138224 + r138229;
double r138231 = r138223 - r138226;
double r138232 = r138231 / r138205;
double r138233 = r138232 * r138219;
double r138234 = r138230 + r138233;
double r138235 = r138223 * r138234;
double r138236 = r138222 / r138235;
return r138236;
}
double f(double x, double y) {
double r138237 = 2.0;
double r138238 = sqrt(r138237);
double r138239 = x;
double r138240 = sin(r138239);
double r138241 = y;
double r138242 = sin(r138241);
double r138243 = 16.0;
double r138244 = r138242 / r138243;
double r138245 = r138240 - r138244;
double r138246 = r138238 * r138245;
double r138247 = r138240 / r138243;
double r138248 = r138242 - r138247;
double r138249 = r138246 * r138248;
double r138250 = cbrt(r138249);
double r138251 = r138250 * r138250;
double r138252 = r138251 * r138250;
double r138253 = cos(r138239);
double r138254 = cos(r138241);
double r138255 = r138253 - r138254;
double r138256 = r138252 * r138255;
double r138257 = r138237 + r138256;
double r138258 = 3.0;
double r138259 = 1.0;
double r138260 = 5.0;
double r138261 = sqrt(r138260);
double r138262 = r138261 - r138259;
double r138263 = r138262 / r138237;
double r138264 = r138263 * r138253;
double r138265 = exp(r138264);
double r138266 = log(r138265);
double r138267 = r138259 + r138266;
double r138268 = r138258 * r138258;
double r138269 = r138268 - r138260;
double r138270 = r138258 + r138261;
double r138271 = r138269 / r138270;
double r138272 = r138271 / r138237;
double r138273 = r138272 * r138254;
double r138274 = r138267 + r138273;
double r138275 = r138258 * r138274;
double r138276 = r138257 / r138275;
return r138276;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied add-sqr-sqrt0.5
Applied sqrt-prod0.5
Applied associate-*l*0.5
rmApplied flip--0.5
Simplified0.4
rmApplied add-log-exp0.5
rmApplied add-cube-cbrt0.5
Simplified0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019209
(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))))))