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{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right) + \sin \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right)\right)double f(double g, double h) {
double r133382 = 2.0;
double r133383 = atan2(1.0, 0.0);
double r133384 = r133382 * r133383;
double r133385 = 3.0;
double r133386 = r133384 / r133385;
double r133387 = g;
double r133388 = -r133387;
double r133389 = h;
double r133390 = r133388 / r133389;
double r133391 = acos(r133390);
double r133392 = r133391 / r133385;
double r133393 = r133386 + r133392;
double r133394 = cos(r133393);
double r133395 = r133382 * r133394;
return r133395;
}
double f(double g, double h) {
double r133396 = 2.0;
double r133397 = atan2(1.0, 0.0);
double r133398 = r133396 * r133397;
double r133399 = 3.0;
double r133400 = r133398 / r133399;
double r133401 = r133397 / r133399;
double r133402 = r133400 + r133401;
double r133403 = cos(r133402);
double r133404 = g;
double r133405 = h;
double r133406 = r133404 / r133405;
double r133407 = acos(r133406);
double r133408 = r133407 / r133399;
double r133409 = cos(r133408);
double r133410 = r133403 * r133409;
double r133411 = sin(r133402);
double r133412 = sin(r133408);
double r133413 = r133411 * r133412;
double r133414 = r133410 + r133413;
double r133415 = r133396 * r133414;
return r133415;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied distribute-frac-neg1.0
Applied acos-neg1.0
Applied div-sub1.0
Applied associate-+r-1.0
Applied cos-diff0.0
Final simplification0.0
herbie shell --seed 2019354 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))