\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 \cdot 2 - \left(\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)\right) \cdot \left(\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)\right)}{\left(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)\right) \cdot \left(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)\right)}double f(double x, double y) {
double r239042 = 2.0;
double r239043 = sqrt(r239042);
double r239044 = x;
double r239045 = sin(r239044);
double r239046 = y;
double r239047 = sin(r239046);
double r239048 = 16.0;
double r239049 = r239047 / r239048;
double r239050 = r239045 - r239049;
double r239051 = r239043 * r239050;
double r239052 = r239045 / r239048;
double r239053 = r239047 - r239052;
double r239054 = r239051 * r239053;
double r239055 = cos(r239044);
double r239056 = cos(r239046);
double r239057 = r239055 - r239056;
double r239058 = r239054 * r239057;
double r239059 = r239042 + r239058;
double r239060 = 3.0;
double r239061 = 1.0;
double r239062 = 5.0;
double r239063 = sqrt(r239062);
double r239064 = r239063 - r239061;
double r239065 = r239064 / r239042;
double r239066 = r239065 * r239055;
double r239067 = r239061 + r239066;
double r239068 = r239060 - r239063;
double r239069 = r239068 / r239042;
double r239070 = r239069 * r239056;
double r239071 = r239067 + r239070;
double r239072 = r239060 * r239071;
double r239073 = r239059 / r239072;
return r239073;
}
double f(double x, double y) {
double r239074 = 2.0;
double r239075 = r239074 * r239074;
double r239076 = sqrt(r239074);
double r239077 = x;
double r239078 = sin(r239077);
double r239079 = y;
double r239080 = sin(r239079);
double r239081 = 16.0;
double r239082 = r239080 / r239081;
double r239083 = r239078 - r239082;
double r239084 = r239076 * r239083;
double r239085 = r239078 / r239081;
double r239086 = r239080 - r239085;
double r239087 = r239084 * r239086;
double r239088 = cos(r239077);
double r239089 = cos(r239079);
double r239090 = r239088 - r239089;
double r239091 = r239087 * r239090;
double r239092 = r239091 * r239091;
double r239093 = r239075 - r239092;
double r239094 = 3.0;
double r239095 = 1.0;
double r239096 = 5.0;
double r239097 = sqrt(r239096);
double r239098 = r239097 - r239095;
double r239099 = r239098 / r239074;
double r239100 = r239099 * r239088;
double r239101 = r239095 + r239100;
double r239102 = r239094 * r239094;
double r239103 = -r239096;
double r239104 = r239102 + r239103;
double r239105 = r239094 + r239097;
double r239106 = r239104 / r239105;
double r239107 = r239106 / r239074;
double r239108 = r239107 * r239089;
double r239109 = r239101 + r239108;
double r239110 = r239094 * r239109;
double r239111 = r239074 - r239091;
double r239112 = r239110 * r239111;
double r239113 = r239093 / r239112;
return r239113;
}



Bits error versus x



Bits error versus y
Results
Initial program 0.5
rmApplied flip--0.5
Simplified0.4
rmApplied flip-+0.5
Applied associate-/l/0.5
Final simplification0.5
herbie shell --seed 2020039
(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))))))