2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\frac{1}{2} \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right) \cdot \frac{3}{2} - \pi \cdot 3}{\frac{9}{2}}\right) + \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right) \cdot \frac{\sqrt{3}}{2}\right) \cdot 2double f(double g, double h) {
double r6582983 = 2.0;
double r6582984 = atan2(1.0, 0.0);
double r6582985 = r6582983 * r6582984;
double r6582986 = 3.0;
double r6582987 = r6582985 / r6582986;
double r6582988 = g;
double r6582989 = -r6582988;
double r6582990 = h;
double r6582991 = r6582989 / r6582990;
double r6582992 = acos(r6582991);
double r6582993 = r6582992 / r6582986;
double r6582994 = r6582987 + r6582993;
double r6582995 = cos(r6582994);
double r6582996 = r6582983 * r6582995;
return r6582996;
}
double f(double g, double h) {
double r6582997 = 0.5;
double r6582998 = g;
double r6582999 = h;
double r6583000 = r6582998 / r6582999;
double r6583001 = acos(r6583000);
double r6583002 = 1.5;
double r6583003 = r6583001 * r6583002;
double r6583004 = atan2(1.0, 0.0);
double r6583005 = 3.0;
double r6583006 = r6583004 * r6583005;
double r6583007 = r6583003 - r6583006;
double r6583008 = 4.5;
double r6583009 = r6583007 / r6583008;
double r6583010 = cos(r6583009);
double r6583011 = r6582997 * r6583010;
double r6583012 = r6583001 / r6583005;
double r6583013 = r6583004 / r6583002;
double r6583014 = r6583012 - r6583013;
double r6583015 = sin(r6583014);
double r6583016 = sqrt(r6583005);
double r6583017 = 2.0;
double r6583018 = r6583016 / r6583017;
double r6583019 = r6583015 * r6583018;
double r6583020 = r6583011 + r6583019;
double r6583021 = r6583020 * r6583017;
return r6583021;
}



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 2019128
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))