\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{\sqrt{2}} \cdot \left(\sqrt{\sqrt{2}} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \log \left(e^{\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 r179066 = 2.0;
double r179067 = sqrt(r179066);
double r179068 = x;
double r179069 = sin(r179068);
double r179070 = y;
double r179071 = sin(r179070);
double r179072 = 16.0;
double r179073 = r179071 / r179072;
double r179074 = r179069 - r179073;
double r179075 = r179067 * r179074;
double r179076 = r179069 / r179072;
double r179077 = r179071 - r179076;
double r179078 = r179075 * r179077;
double r179079 = cos(r179068);
double r179080 = cos(r179070);
double r179081 = r179079 - r179080;
double r179082 = r179078 * r179081;
double r179083 = r179066 + r179082;
double r179084 = 3.0;
double r179085 = 1.0;
double r179086 = 5.0;
double r179087 = sqrt(r179086);
double r179088 = r179087 - r179085;
double r179089 = r179088 / r179066;
double r179090 = r179089 * r179079;
double r179091 = r179085 + r179090;
double r179092 = r179084 - r179087;
double r179093 = r179092 / r179066;
double r179094 = r179093 * r179080;
double r179095 = r179091 + r179094;
double r179096 = r179084 * r179095;
double r179097 = r179083 / r179096;
return r179097;
}
double f(double x, double y) {
double r179098 = 2.0;
double r179099 = sqrt(r179098);
double r179100 = sqrt(r179099);
double r179101 = x;
double r179102 = sin(r179101);
double r179103 = y;
double r179104 = sin(r179103);
double r179105 = 16.0;
double r179106 = r179104 / r179105;
double r179107 = r179102 - r179106;
double r179108 = r179100 * r179107;
double r179109 = r179100 * r179108;
double r179110 = r179102 / r179105;
double r179111 = r179104 - r179110;
double r179112 = r179109 * r179111;
double r179113 = cos(r179101);
double r179114 = cos(r179103);
double r179115 = r179113 - r179114;
double r179116 = exp(r179115);
double r179117 = log(r179116);
double r179118 = r179112 * r179117;
double r179119 = r179098 + r179118;
double r179120 = 3.0;
double r179121 = 1.0;
double r179122 = 5.0;
double r179123 = sqrt(r179122);
double r179124 = r179123 - r179121;
double r179125 = r179124 / r179098;
double r179126 = r179125 * r179113;
double r179127 = r179121 + r179126;
double r179128 = r179120 * r179120;
double r179129 = -r179122;
double r179130 = r179128 + r179129;
double r179131 = r179120 + r179123;
double r179132 = r179130 / r179131;
double r179133 = r179132 / r179098;
double r179134 = r179133 * r179114;
double r179135 = r179127 + r179134;
double r179136 = r179120 * r179135;
double r179137 = r179119 / r179136;
return r179137;
}



Bits error versus x



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