2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right) \cdot \frac{3}{2} - 3 \cdot \pi}{\frac{9}{2}}\right) \cdot \frac{1}{2} + \frac{\sqrt{3}}{2} \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right)\right)double f(double g, double h) {
double r4289227 = 2.0;
double r4289228 = atan2(1.0, 0.0);
double r4289229 = r4289227 * r4289228;
double r4289230 = 3.0;
double r4289231 = r4289229 / r4289230;
double r4289232 = g;
double r4289233 = -r4289232;
double r4289234 = h;
double r4289235 = r4289233 / r4289234;
double r4289236 = acos(r4289235);
double r4289237 = r4289236 / r4289230;
double r4289238 = r4289231 + r4289237;
double r4289239 = cos(r4289238);
double r4289240 = r4289227 * r4289239;
return r4289240;
}
double f(double g, double h) {
double r4289241 = 2.0;
double r4289242 = g;
double r4289243 = h;
double r4289244 = r4289242 / r4289243;
double r4289245 = acos(r4289244);
double r4289246 = 1.5;
double r4289247 = r4289245 * r4289246;
double r4289248 = 3.0;
double r4289249 = atan2(1.0, 0.0);
double r4289250 = r4289248 * r4289249;
double r4289251 = r4289247 - r4289250;
double r4289252 = 4.5;
double r4289253 = r4289251 / r4289252;
double r4289254 = cos(r4289253);
double r4289255 = 0.5;
double r4289256 = r4289254 * r4289255;
double r4289257 = sqrt(r4289248);
double r4289258 = r4289257 / r4289241;
double r4289259 = r4289245 / r4289248;
double r4289260 = r4289249 / r4289246;
double r4289261 = r4289259 - r4289260;
double r4289262 = sin(r4289261);
double r4289263 = r4289258 * r4289262;
double r4289264 = r4289256 + r4289263;
double r4289265 = r4289241 * r4289264;
return r4289265;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied distribute-frac-neg1.0
Applied acos-neg1.0
Applied div-sub1.0
Applied associate-+l-1.0
Applied cos-diff0.1
Simplified0.1
Simplified0.1
rmApplied frac-sub0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019163
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))