\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(\frac{\sqrt{2} \cdot \left(\sin x \cdot \sin x - \frac{\sin y}{16} \cdot \frac{\sin y}{16}\right)}{\sin x + \frac{\sin y}{16}} \cdot \left(\sin y - \frac{\sin x}{16}\right)\right) \cdot \left(\cos x - \cos y\right)\right) \cdot \left(\left(\frac{\sqrt{2} \cdot \left(\sin x \cdot \sin x - \frac{\sin y}{16} \cdot \frac{\sin y}{16}\right)}{\sin x + \frac{\sin y}{16}} \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(\frac{\sqrt{2} \cdot \left(\sin x \cdot \sin x - \frac{\sin y}{16} \cdot \frac{\sin y}{16}\right)}{\sin x + \frac{\sin y}{16}} \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 r253101 = 2.0;
double r253102 = sqrt(r253101);
double r253103 = x;
double r253104 = sin(r253103);
double r253105 = y;
double r253106 = sin(r253105);
double r253107 = 16.0;
double r253108 = r253106 / r253107;
double r253109 = r253104 - r253108;
double r253110 = r253102 * r253109;
double r253111 = r253104 / r253107;
double r253112 = r253106 - r253111;
double r253113 = r253110 * r253112;
double r253114 = cos(r253103);
double r253115 = cos(r253105);
double r253116 = r253114 - r253115;
double r253117 = r253113 * r253116;
double r253118 = r253101 + r253117;
double r253119 = 3.0;
double r253120 = 1.0;
double r253121 = 5.0;
double r253122 = sqrt(r253121);
double r253123 = r253122 - r253120;
double r253124 = r253123 / r253101;
double r253125 = r253124 * r253114;
double r253126 = r253120 + r253125;
double r253127 = r253119 - r253122;
double r253128 = r253127 / r253101;
double r253129 = r253128 * r253115;
double r253130 = r253126 + r253129;
double r253131 = r253119 * r253130;
double r253132 = r253118 / r253131;
return r253132;
}
double f(double x, double y) {
double r253133 = 2.0;
double r253134 = r253133 * r253133;
double r253135 = sqrt(r253133);
double r253136 = x;
double r253137 = sin(r253136);
double r253138 = r253137 * r253137;
double r253139 = y;
double r253140 = sin(r253139);
double r253141 = 16.0;
double r253142 = r253140 / r253141;
double r253143 = r253142 * r253142;
double r253144 = r253138 - r253143;
double r253145 = r253135 * r253144;
double r253146 = r253137 + r253142;
double r253147 = r253145 / r253146;
double r253148 = r253137 / r253141;
double r253149 = r253140 - r253148;
double r253150 = r253147 * r253149;
double r253151 = cos(r253136);
double r253152 = cos(r253139);
double r253153 = r253151 - r253152;
double r253154 = r253150 * r253153;
double r253155 = r253154 * r253154;
double r253156 = r253134 - r253155;
double r253157 = 3.0;
double r253158 = 1.0;
double r253159 = 5.0;
double r253160 = sqrt(r253159);
double r253161 = r253160 - r253158;
double r253162 = r253161 / r253133;
double r253163 = r253162 * r253151;
double r253164 = r253158 + r253163;
double r253165 = r253157 * r253157;
double r253166 = -r253159;
double r253167 = r253165 + r253166;
double r253168 = r253157 + r253160;
double r253169 = r253167 / r253168;
double r253170 = r253169 / r253133;
double r253171 = r253170 * r253152;
double r253172 = r253164 + r253171;
double r253173 = r253157 * r253172;
double r253174 = r253133 - r253154;
double r253175 = r253173 * r253174;
double r253176 = r253156 / r253175;
return r253176;
}



Bits error versus x



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