\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{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\left(\sin y - \frac{\sin x}{16}\right) \cdot \left(\cos x - \cos y\right)\right) + 2}{\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}}{3}double f(double x, double y) {
double r184981 = 2.0;
double r184982 = sqrt(r184981);
double r184983 = x;
double r184984 = sin(r184983);
double r184985 = y;
double r184986 = sin(r184985);
double r184987 = 16.0;
double r184988 = r184986 / r184987;
double r184989 = r184984 - r184988;
double r184990 = r184982 * r184989;
double r184991 = r184984 / r184987;
double r184992 = r184986 - r184991;
double r184993 = r184990 * r184992;
double r184994 = cos(r184983);
double r184995 = cos(r184985);
double r184996 = r184994 - r184995;
double r184997 = r184993 * r184996;
double r184998 = r184981 + r184997;
double r184999 = 3.0;
double r185000 = 1.0;
double r185001 = 5.0;
double r185002 = sqrt(r185001);
double r185003 = r185002 - r185000;
double r185004 = r185003 / r184981;
double r185005 = r185004 * r184994;
double r185006 = r185000 + r185005;
double r185007 = r184999 - r185002;
double r185008 = r185007 / r184981;
double r185009 = r185008 * r184995;
double r185010 = r185006 + r185009;
double r185011 = r184999 * r185010;
double r185012 = r184998 / r185011;
return r185012;
}
double f(double x, double y) {
double r185013 = 2.0;
double r185014 = sqrt(r185013);
double r185015 = x;
double r185016 = sin(r185015);
double r185017 = y;
double r185018 = sin(r185017);
double r185019 = 16.0;
double r185020 = r185018 / r185019;
double r185021 = r185016 - r185020;
double r185022 = r185014 * r185021;
double r185023 = r185016 / r185019;
double r185024 = r185018 - r185023;
double r185025 = cos(r185015);
double r185026 = cos(r185017);
double r185027 = r185025 - r185026;
double r185028 = r185024 * r185027;
double r185029 = r185022 * r185028;
double r185030 = r185029 + r185013;
double r185031 = 1.0;
double r185032 = 5.0;
double r185033 = sqrt(r185032);
double r185034 = r185033 - r185031;
double r185035 = r185034 / r185013;
double r185036 = r185035 * r185025;
double r185037 = r185031 + r185036;
double r185038 = 3.0;
double r185039 = r185038 * r185038;
double r185040 = -r185032;
double r185041 = r185039 + r185040;
double r185042 = r185038 + r185033;
double r185043 = r185041 / r185042;
double r185044 = r185043 / r185013;
double r185045 = r185044 * r185026;
double r185046 = r185037 + r185045;
double r185047 = r185030 / r185046;
double r185048 = r185047 / r185038;
return r185048;
}



Bits error versus x



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