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 r6497256 = 2.0;
double r6497257 = atan2(1.0, 0.0);
double r6497258 = r6497256 * r6497257;
double r6497259 = 3.0;
double r6497260 = r6497258 / r6497259;
double r6497261 = g;
double r6497262 = -r6497261;
double r6497263 = h;
double r6497264 = r6497262 / r6497263;
double r6497265 = acos(r6497264);
double r6497266 = r6497265 / r6497259;
double r6497267 = r6497260 + r6497266;
double r6497268 = cos(r6497267);
double r6497269 = r6497256 * r6497268;
return r6497269;
}
double f(double g, double h) {
double r6497270 = 2.0;
double r6497271 = g;
double r6497272 = h;
double r6497273 = r6497271 / r6497272;
double r6497274 = acos(r6497273);
double r6497275 = 1.5;
double r6497276 = r6497274 * r6497275;
double r6497277 = 3.0;
double r6497278 = atan2(1.0, 0.0);
double r6497279 = r6497277 * r6497278;
double r6497280 = r6497276 - r6497279;
double r6497281 = 4.5;
double r6497282 = r6497280 / r6497281;
double r6497283 = cos(r6497282);
double r6497284 = 0.5;
double r6497285 = r6497283 * r6497284;
double r6497286 = sqrt(r6497277);
double r6497287 = r6497286 / r6497270;
double r6497288 = r6497274 / r6497277;
double r6497289 = r6497278 / r6497275;
double r6497290 = r6497288 - r6497289;
double r6497291 = sin(r6497290);
double r6497292 = r6497287 * r6497291;
double r6497293 = r6497285 + r6497292;
double r6497294 = r6497270 * r6497293;
return r6497294;
}



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)))))