2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\sqrt[3]{\cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)} \cdot \sqrt[3]{\cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right) \cdot \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 r111152 = 2.0;
double r111153 = atan2(1.0, 0.0);
double r111154 = r111152 * r111153;
double r111155 = 3.0;
double r111156 = r111154 / r111155;
double r111157 = g;
double r111158 = -r111157;
double r111159 = h;
double r111160 = r111158 / r111159;
double r111161 = acos(r111160);
double r111162 = r111161 / r111155;
double r111163 = r111156 + r111162;
double r111164 = cos(r111163);
double r111165 = r111152 * r111164;
return r111165;
}
double f(double g, double h) {
double r111166 = 2.0;
double r111167 = atan2(1.0, 0.0);
double r111168 = r111166 * r111167;
double r111169 = 3.0;
double r111170 = r111168 / r111169;
double r111171 = g;
double r111172 = -r111171;
double r111173 = h;
double r111174 = r111172 / r111173;
double r111175 = acos(r111174);
double r111176 = r111175 / r111169;
double r111177 = r111170 + r111176;
double r111178 = cos(r111177);
double r111179 = cbrt(r111178);
double r111180 = r111178 * r111178;
double r111181 = cbrt(r111180);
double r111182 = r111179 * r111181;
double r111183 = r111166 * r111182;
return r111183;
}



Bits error versus g



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