2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\cos \left(\frac{2}{3} \cdot \pi\right) \cdot \cos \left(\frac{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}{\frac{3}{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}}\right) - \sin \left(\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \frac{2}{3}\right)\right) \cdot \sin \left(\frac{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}{\frac{3}{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}}\right)\right) \cdot 2double f(double g, double h) {
double r4394215 = 2.0;
double r4394216 = atan2(1.0, 0.0);
double r4394217 = r4394215 * r4394216;
double r4394218 = 3.0;
double r4394219 = r4394217 / r4394218;
double r4394220 = g;
double r4394221 = -r4394220;
double r4394222 = h;
double r4394223 = r4394221 / r4394222;
double r4394224 = acos(r4394223);
double r4394225 = r4394224 / r4394218;
double r4394226 = r4394219 + r4394225;
double r4394227 = cos(r4394226);
double r4394228 = r4394215 * r4394227;
return r4394228;
}
double f(double g, double h) {
double r4394229 = 0.6666666666666666;
double r4394230 = atan2(1.0, 0.0);
double r4394231 = r4394229 * r4394230;
double r4394232 = cos(r4394231);
double r4394233 = g;
double r4394234 = h;
double r4394235 = r4394233 / r4394234;
double r4394236 = -r4394235;
double r4394237 = acos(r4394236);
double r4394238 = sqrt(r4394237);
double r4394239 = 3.0;
double r4394240 = r4394239 / r4394238;
double r4394241 = r4394238 / r4394240;
double r4394242 = cos(r4394241);
double r4394243 = r4394232 * r4394242;
double r4394244 = sqrt(r4394230);
double r4394245 = r4394244 * r4394229;
double r4394246 = r4394244 * r4394245;
double r4394247 = sin(r4394246);
double r4394248 = sin(r4394241);
double r4394249 = r4394247 * r4394248;
double r4394250 = r4394243 - r4394249;
double r4394251 = 2.0;
double r4394252 = r4394250 * r4394251;
return r4394252;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied add-sqr-sqrt1.0
Applied associate-/l*1.0
rmApplied fma-udef1.0
Applied cos-sum1.0
rmApplied add-sqr-sqrt0.0
Applied associate-*r*0.0
Final simplification0.0
herbie shell --seed 2019162 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))