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 r110703 = 2.0;
double r110704 = atan2(1.0, 0.0);
double r110705 = r110703 * r110704;
double r110706 = 3.0;
double r110707 = r110705 / r110706;
double r110708 = g;
double r110709 = -r110708;
double r110710 = h;
double r110711 = r110709 / r110710;
double r110712 = acos(r110711);
double r110713 = r110712 / r110706;
double r110714 = r110707 + r110713;
double r110715 = cos(r110714);
double r110716 = r110703 * r110715;
return r110716;
}
double f(double g, double h) {
double r110717 = 2.0;
double r110718 = atan2(1.0, 0.0);
double r110719 = r110717 * r110718;
double r110720 = 3.0;
double r110721 = r110719 / r110720;
double r110722 = g;
double r110723 = -r110722;
double r110724 = h;
double r110725 = r110723 / r110724;
double r110726 = acos(r110725);
double r110727 = r110726 / r110720;
double r110728 = r110721 + r110727;
double r110729 = cos(r110728);
double r110730 = 2.0;
double r110731 = pow(r110729, r110730);
double r110732 = cbrt(r110731);
double r110733 = cbrt(r110729);
double r110734 = r110732 * r110733;
double r110735 = r110717 * r110734;
return r110735;
}



Bits error versus g



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