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{\sin^{-1} \left(\frac{g}{h}\right)}{3}\right) \cdot \left(\sin \left(\frac{\pi}{3} + \frac{\pi}{3} \cdot 2\right) \cdot \sin \left(\frac{\frac{\pi}{2}}{3}\right) + \cos \left(\frac{\frac{\pi}{2}}{3}\right) \cdot \cos \left(\frac{\pi}{3} + \frac{\pi}{3} \cdot 2\right)\right) - \sin \left(\frac{\sin^{-1} \left(\frac{g}{h}\right)}{3}\right) \cdot \sin \left(\left(\frac{\pi}{3} + \frac{\pi}{3} \cdot 2\right) - \frac{\frac{\pi}{2}}{3}\right)\right)double f(double g, double h) {
double r4759956 = 2.0;
double r4759957 = atan2(1.0, 0.0);
double r4759958 = r4759956 * r4759957;
double r4759959 = 3.0;
double r4759960 = r4759958 / r4759959;
double r4759961 = g;
double r4759962 = -r4759961;
double r4759963 = h;
double r4759964 = r4759962 / r4759963;
double r4759965 = acos(r4759964);
double r4759966 = r4759965 / r4759959;
double r4759967 = r4759960 + r4759966;
double r4759968 = cos(r4759967);
double r4759969 = r4759956 * r4759968;
return r4759969;
}
double f(double g, double h) {
double r4759970 = 2.0;
double r4759971 = g;
double r4759972 = h;
double r4759973 = r4759971 / r4759972;
double r4759974 = asin(r4759973);
double r4759975 = 3.0;
double r4759976 = r4759974 / r4759975;
double r4759977 = cos(r4759976);
double r4759978 = atan2(1.0, 0.0);
double r4759979 = r4759978 / r4759975;
double r4759980 = r4759979 * r4759970;
double r4759981 = r4759979 + r4759980;
double r4759982 = sin(r4759981);
double r4759983 = r4759978 / r4759970;
double r4759984 = r4759983 / r4759975;
double r4759985 = sin(r4759984);
double r4759986 = r4759982 * r4759985;
double r4759987 = cos(r4759984);
double r4759988 = cos(r4759981);
double r4759989 = r4759987 * r4759988;
double r4759990 = r4759986 + r4759989;
double r4759991 = r4759977 * r4759990;
double r4759992 = sin(r4759976);
double r4759993 = r4759981 - r4759984;
double r4759994 = sin(r4759993);
double r4759995 = r4759992 * r4759994;
double r4759996 = r4759991 - r4759995;
double r4759997 = r4759970 * r4759996;
return r4759997;
}



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
Simplified1.0
rmApplied acos-asin1.0
Applied div-sub1.0
Applied associate--r-1.0
Applied cos-sum1.0
rmApplied cos-diff0.0
Final simplification0.0
herbie shell --seed 2019134
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))