2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\cos \left(\frac{\pi}{\frac{3}{2}}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right) - \sin \left(\frac{\sqrt{\pi}}{\frac{3}{2}} \cdot \sqrt{\pi}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right) \cdot 2double f(double g, double h) {
double r2882357 = 2.0;
double r2882358 = atan2(1.0, 0.0);
double r2882359 = r2882357 * r2882358;
double r2882360 = 3.0;
double r2882361 = r2882359 / r2882360;
double r2882362 = g;
double r2882363 = -r2882362;
double r2882364 = h;
double r2882365 = r2882363 / r2882364;
double r2882366 = acos(r2882365);
double r2882367 = r2882366 / r2882360;
double r2882368 = r2882361 + r2882367;
double r2882369 = cos(r2882368);
double r2882370 = r2882357 * r2882369;
return r2882370;
}
double f(double g, double h) {
double r2882371 = atan2(1.0, 0.0);
double r2882372 = 1.5;
double r2882373 = r2882371 / r2882372;
double r2882374 = cos(r2882373);
double r2882375 = g;
double r2882376 = -r2882375;
double r2882377 = h;
double r2882378 = r2882376 / r2882377;
double r2882379 = acos(r2882378);
double r2882380 = 3.0;
double r2882381 = r2882379 / r2882380;
double r2882382 = cos(r2882381);
double r2882383 = r2882374 * r2882382;
double r2882384 = sqrt(r2882371);
double r2882385 = r2882384 / r2882372;
double r2882386 = r2882385 * r2882384;
double r2882387 = sin(r2882386);
double r2882388 = sin(r2882381);
double r2882389 = r2882387 * r2882388;
double r2882390 = r2882383 - r2882389;
double r2882391 = 2.0;
double r2882392 = r2882390 * r2882391;
return r2882392;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied cos-sum1.0
rmApplied *-un-lft-identity1.0
Applied add-sqr-sqrt1.0
Applied times-frac0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019153
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))