2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\sqrt[3]{{\left(\cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}^{2}} \cdot \sqrt[3]{\cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)}\right)double f(double g, double h) {
double r24372 = 2.0;
double r24373 = atan2(1.0, 0.0);
double r24374 = r24372 * r24373;
double r24375 = 3.0;
double r24376 = r24374 / r24375;
double r24377 = g;
double r24378 = -r24377;
double r24379 = h;
double r24380 = r24378 / r24379;
double r24381 = acos(r24380);
double r24382 = r24381 / r24375;
double r24383 = r24376 + r24382;
double r24384 = cos(r24383);
double r24385 = r24372 * r24384;
return r24385;
}
double f(double g, double h) {
double r24386 = 2.0;
double r24387 = atan2(1.0, 0.0);
double r24388 = r24386 * r24387;
double r24389 = 3.0;
double r24390 = r24388 / r24389;
double r24391 = g;
double r24392 = -r24391;
double r24393 = h;
double r24394 = r24392 / r24393;
double r24395 = acos(r24394);
double r24396 = r24395 / r24389;
double r24397 = r24390 + r24396;
double r24398 = cos(r24397);
double r24399 = 2.0;
double r24400 = pow(r24398, r24399);
double r24401 = cbrt(r24400);
double r24402 = cbrt(r24398);
double r24403 = r24401 * r24402;
double r24404 = r24386 * r24403;
return r24404;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied add-cbrt-cube1.6
Simplified1.0
rmApplied add-cube-cbrt1.0
Applied unpow-prod-down1.0
Applied cbrt-prod0.1
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019310
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))