\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 + \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 r216172 = 2.0;
double r216173 = sqrt(r216172);
double r216174 = x;
double r216175 = sin(r216174);
double r216176 = y;
double r216177 = sin(r216176);
double r216178 = 16.0;
double r216179 = r216177 / r216178;
double r216180 = r216175 - r216179;
double r216181 = r216173 * r216180;
double r216182 = r216175 / r216178;
double r216183 = r216177 - r216182;
double r216184 = r216181 * r216183;
double r216185 = cos(r216174);
double r216186 = cos(r216176);
double r216187 = r216185 - r216186;
double r216188 = r216184 * r216187;
double r216189 = r216172 + r216188;
double r216190 = 3.0;
double r216191 = 1.0;
double r216192 = 5.0;
double r216193 = sqrt(r216192);
double r216194 = r216193 - r216191;
double r216195 = r216194 / r216172;
double r216196 = r216195 * r216185;
double r216197 = r216191 + r216196;
double r216198 = r216190 - r216193;
double r216199 = r216198 / r216172;
double r216200 = r216199 * r216186;
double r216201 = r216197 + r216200;
double r216202 = r216190 * r216201;
double r216203 = r216189 / r216202;
return r216203;
}
double f(double x, double y) {
double r216204 = 2.0;
double r216205 = sqrt(r216204);
double r216206 = x;
double r216207 = sin(r216206);
double r216208 = y;
double r216209 = sin(r216208);
double r216210 = 16.0;
double r216211 = r216209 / r216210;
double r216212 = r216207 - r216211;
double r216213 = r216205 * r216212;
double r216214 = r216207 / r216210;
double r216215 = r216209 - r216214;
double r216216 = r216213 * r216215;
double r216217 = cbrt(r216216);
double r216218 = r216217 * r216217;
double r216219 = r216218 * r216217;
double r216220 = cos(r216206);
double r216221 = cos(r216208);
double r216222 = r216220 - r216221;
double r216223 = r216219 * r216222;
double r216224 = r216204 + r216223;
double r216225 = 3.0;
double r216226 = 1.0;
double r216227 = 5.0;
double r216228 = sqrt(r216227);
double r216229 = r216228 - r216226;
double r216230 = r216229 / r216204;
double r216231 = r216230 * r216220;
double r216232 = r216226 + r216231;
double r216233 = r216225 * r216225;
double r216234 = -r216227;
double r216235 = r216233 + r216234;
double r216236 = r216225 + r216228;
double r216237 = r216235 / r216236;
double r216238 = r216237 / r216204;
double r216239 = r216238 * r216221;
double r216240 = r216232 + r216239;
double r216241 = r216225 * r216240;
double r216242 = r216224 / r216241;
return r216242;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.5
rmApplied add-cube-cbrt0.5
Final simplification0.5
herbie shell --seed 2020081
(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))))))