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)}{3}\right) \cdot \cos \left(\frac{2 \cdot \pi}{3}\right) - \sin \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right) \cdot \left(\sqrt{\sin \left(\frac{2 \cdot \pi}{3}\right)} \cdot \sqrt{\sin \left(\frac{2 \cdot \pi}{3}\right)}\right)\right)double f(double g, double h) {
double r129950 = 2.0;
double r129951 = atan2(1.0, 0.0);
double r129952 = r129950 * r129951;
double r129953 = 3.0;
double r129954 = r129952 / r129953;
double r129955 = g;
double r129956 = -r129955;
double r129957 = h;
double r129958 = r129956 / r129957;
double r129959 = acos(r129958);
double r129960 = r129959 / r129953;
double r129961 = r129954 + r129960;
double r129962 = cos(r129961);
double r129963 = r129950 * r129962;
return r129963;
}
double f(double g, double h) {
double r129964 = 2.0;
double r129965 = g;
double r129966 = -r129965;
double r129967 = h;
double r129968 = r129966 / r129967;
double r129969 = acos(r129968);
double r129970 = 3.0;
double r129971 = r129969 / r129970;
double r129972 = cos(r129971);
double r129973 = atan2(1.0, 0.0);
double r129974 = r129964 * r129973;
double r129975 = r129974 / r129970;
double r129976 = cos(r129975);
double r129977 = r129972 * r129976;
double r129978 = sin(r129971);
double r129979 = sin(r129975);
double r129980 = sqrt(r129979);
double r129981 = r129980 * r129980;
double r129982 = r129978 * r129981;
double r129983 = r129977 - r129982;
double r129984 = r129964 * r129983;
return r129984;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied add-sqr-sqrt1.0
Applied associate-/r*1.0
rmApplied cos-sum1.0
Simplified0.0
Simplified1.0
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2020046
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))