\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 + \log \left(e^{\left(\sqrt{2} \cdot \left(\sin x - \frac{\sin y}{16}\right)\right) \cdot \left(\sin y - \frac{\sin x}{16}\right)}\right) \cdot \frac{\cos x \cdot \cos x - \cos y \cdot \cos y}{\cos x + \cos y}}{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 r175091 = 2.0;
double r175092 = sqrt(r175091);
double r175093 = x;
double r175094 = sin(r175093);
double r175095 = y;
double r175096 = sin(r175095);
double r175097 = 16.0;
double r175098 = r175096 / r175097;
double r175099 = r175094 - r175098;
double r175100 = r175092 * r175099;
double r175101 = r175094 / r175097;
double r175102 = r175096 - r175101;
double r175103 = r175100 * r175102;
double r175104 = cos(r175093);
double r175105 = cos(r175095);
double r175106 = r175104 - r175105;
double r175107 = r175103 * r175106;
double r175108 = r175091 + r175107;
double r175109 = 3.0;
double r175110 = 1.0;
double r175111 = 5.0;
double r175112 = sqrt(r175111);
double r175113 = r175112 - r175110;
double r175114 = r175113 / r175091;
double r175115 = r175114 * r175104;
double r175116 = r175110 + r175115;
double r175117 = r175109 - r175112;
double r175118 = r175117 / r175091;
double r175119 = r175118 * r175105;
double r175120 = r175116 + r175119;
double r175121 = r175109 * r175120;
double r175122 = r175108 / r175121;
return r175122;
}
double f(double x, double y) {
double r175123 = 2.0;
double r175124 = sqrt(r175123);
double r175125 = x;
double r175126 = sin(r175125);
double r175127 = y;
double r175128 = sin(r175127);
double r175129 = 16.0;
double r175130 = r175128 / r175129;
double r175131 = r175126 - r175130;
double r175132 = r175124 * r175131;
double r175133 = r175126 / r175129;
double r175134 = r175128 - r175133;
double r175135 = r175132 * r175134;
double r175136 = exp(r175135);
double r175137 = log(r175136);
double r175138 = cos(r175125);
double r175139 = r175138 * r175138;
double r175140 = cos(r175127);
double r175141 = r175140 * r175140;
double r175142 = r175139 - r175141;
double r175143 = r175138 + r175140;
double r175144 = r175142 / r175143;
double r175145 = r175137 * r175144;
double r175146 = r175123 + r175145;
double r175147 = 3.0;
double r175148 = 1.0;
double r175149 = 5.0;
double r175150 = sqrt(r175149);
double r175151 = r175150 - r175148;
double r175152 = r175151 / r175123;
double r175153 = r175152 * r175138;
double r175154 = r175148 + r175153;
double r175155 = r175147 * r175147;
double r175156 = -r175149;
double r175157 = r175155 + r175156;
double r175158 = r175147 + r175150;
double r175159 = r175157 / r175158;
double r175160 = r175159 / r175123;
double r175161 = r175160 * r175140;
double r175162 = r175154 + r175161;
double r175163 = r175147 * r175162;
double r175164 = r175146 / r175163;
return r175164;
}



Bits error versus x



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