\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(\mathsf{fma}\left(1, \cos x, -{\left(\sqrt[3]{\cos y}\right)}^{3}\right) + \left(\left(-{\left(\sqrt[3]{\cos y}\right)}^{3}\right) + {\left(\sqrt[3]{\cos y}\right)}^{3}\right), \sqrt[3]{{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right)}^{3}} \cdot \left(\sin y - \frac{\sin x}{16}\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 r214098 = 2.0;
double r214099 = sqrt(r214098);
double r214100 = x;
double r214101 = sin(r214100);
double r214102 = y;
double r214103 = sin(r214102);
double r214104 = 16.0;
double r214105 = r214103 / r214104;
double r214106 = r214101 - r214105;
double r214107 = r214099 * r214106;
double r214108 = r214101 / r214104;
double r214109 = r214103 - r214108;
double r214110 = r214107 * r214109;
double r214111 = cos(r214100);
double r214112 = cos(r214102);
double r214113 = r214111 - r214112;
double r214114 = r214110 * r214113;
double r214115 = r214098 + r214114;
double r214116 = 3.0;
double r214117 = 1.0;
double r214118 = 5.0;
double r214119 = sqrt(r214118);
double r214120 = r214119 - r214117;
double r214121 = r214120 / r214098;
double r214122 = r214121 * r214111;
double r214123 = r214117 + r214122;
double r214124 = r214116 - r214119;
double r214125 = r214124 / r214098;
double r214126 = r214125 * r214112;
double r214127 = r214123 + r214126;
double r214128 = r214116 * r214127;
double r214129 = r214115 / r214128;
return r214129;
}
double f(double x, double y) {
double r214130 = 1.0;
double r214131 = x;
double r214132 = cos(r214131);
double r214133 = y;
double r214134 = cos(r214133);
double r214135 = cbrt(r214134);
double r214136 = 3.0;
double r214137 = pow(r214135, r214136);
double r214138 = -r214137;
double r214139 = fma(r214130, r214132, r214138);
double r214140 = r214138 + r214137;
double r214141 = r214139 + r214140;
double r214142 = 2.0;
double r214143 = sqrt(r214142);
double r214144 = sin(r214131);
double r214145 = sin(r214133);
double r214146 = 16.0;
double r214147 = r214145 / r214146;
double r214148 = r214144 - r214147;
double r214149 = r214143 * r214148;
double r214150 = pow(r214149, r214136);
double r214151 = cbrt(r214150);
double r214152 = r214144 / r214146;
double r214153 = r214145 - r214152;
double r214154 = r214151 * r214153;
double r214155 = fma(r214141, r214154, r214142);
double r214156 = 3.0;
double r214157 = r214155 / r214156;
double r214158 = 5.0;
double r214159 = sqrt(r214158);
double r214160 = r214156 - r214159;
double r214161 = r214160 / r214142;
double r214162 = 1.0;
double r214163 = r214159 - r214162;
double r214164 = r214163 / r214142;
double r214165 = fma(r214132, r214164, r214162);
double r214166 = fma(r214134, r214161, r214165);
double r214167 = r214157 / r214166;
return r214167;
}



Bits error versus x



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