\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{\frac{\mathsf{fma}\left(\sqrt{2} \cdot \mathsf{fma}\left(\sqrt[3]{\sin x} \cdot \sqrt[3]{\sin x}, \sqrt[3]{\sin x}, -\frac{{\left(\sqrt[3]{\sin y}\right)}^{3}}{16}\right) + \sqrt{2} \cdot \left(\left(-\frac{{\left(\sqrt[3]{\sin y}\right)}^{3}}{16}\right) + \frac{{\left(\sqrt[3]{\sin y}\right)}^{3}}{16}\right), \left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right), 2\right)}{3}}{\mathsf{fma}\left(\cos y, \frac{3 - \sqrt{5}}{2}, \mathsf{fma}\left(\cos x, \frac{\sqrt{5} - 1}{2}, 1\right)\right)}double f(double x, double y) {
double r159179 = 2.0;
double r159180 = sqrt(r159179);
double r159181 = x;
double r159182 = sin(r159181);
double r159183 = y;
double r159184 = sin(r159183);
double r159185 = 16.0;
double r159186 = r159184 / r159185;
double r159187 = r159182 - r159186;
double r159188 = r159180 * r159187;
double r159189 = r159182 / r159185;
double r159190 = r159184 - r159189;
double r159191 = r159188 * r159190;
double r159192 = cos(r159181);
double r159193 = cos(r159183);
double r159194 = r159192 - r159193;
double r159195 = r159191 * r159194;
double r159196 = r159179 + r159195;
double r159197 = 3.0;
double r159198 = 1.0;
double r159199 = 5.0;
double r159200 = sqrt(r159199);
double r159201 = r159200 - r159198;
double r159202 = r159201 / r159179;
double r159203 = r159202 * r159192;
double r159204 = r159198 + r159203;
double r159205 = r159197 - r159200;
double r159206 = r159205 / r159179;
double r159207 = r159206 * r159193;
double r159208 = r159204 + r159207;
double r159209 = r159197 * r159208;
double r159210 = r159196 / r159209;
return r159210;
}
double f(double x, double y) {
double r159211 = 2.0;
double r159212 = sqrt(r159211);
double r159213 = x;
double r159214 = sin(r159213);
double r159215 = cbrt(r159214);
double r159216 = r159215 * r159215;
double r159217 = y;
double r159218 = sin(r159217);
double r159219 = cbrt(r159218);
double r159220 = 3.0;
double r159221 = pow(r159219, r159220);
double r159222 = 16.0;
double r159223 = r159221 / r159222;
double r159224 = -r159223;
double r159225 = fma(r159216, r159215, r159224);
double r159226 = r159212 * r159225;
double r159227 = r159224 + r159223;
double r159228 = r159212 * r159227;
double r159229 = r159226 + r159228;
double r159230 = r159214 / r159222;
double r159231 = r159218 - r159230;
double r159232 = cos(r159213);
double r159233 = cos(r159217);
double r159234 = r159232 - r159233;
double r159235 = r159231 * r159234;
double r159236 = fma(r159229, r159235, r159211);
double r159237 = 3.0;
double r159238 = r159236 / r159237;
double r159239 = 5.0;
double r159240 = sqrt(r159239);
double r159241 = r159237 - r159240;
double r159242 = r159241 / r159211;
double r159243 = 1.0;
double r159244 = r159240 - r159243;
double r159245 = r159244 / r159211;
double r159246 = fma(r159232, r159245, r159243);
double r159247 = fma(r159233, r159242, r159246);
double r159248 = r159238 / r159247;
return r159248;
}



Bits error versus x



Bits error versus y
Initial program 0.5
Simplified0.4
rmApplied *-un-lft-identity0.4
Applied add-cube-cbrt0.4
Applied times-frac0.4
Applied add-cube-cbrt0.5
Applied prod-diff0.5
Applied distribute-lft-in0.5
Simplified0.5
Simplified0.5
Final simplification0.5
herbie shell --seed 2019323 +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))))))