2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right) \cdot \frac{1}{2} + \frac{\sqrt{3} \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right)}{2}\right)double f(double g, double h) {
double r6388196 = 2.0;
double r6388197 = atan2(1.0, 0.0);
double r6388198 = r6388196 * r6388197;
double r6388199 = 3.0;
double r6388200 = r6388198 / r6388199;
double r6388201 = g;
double r6388202 = -r6388201;
double r6388203 = h;
double r6388204 = r6388202 / r6388203;
double r6388205 = acos(r6388204);
double r6388206 = r6388205 / r6388199;
double r6388207 = r6388200 + r6388206;
double r6388208 = cos(r6388207);
double r6388209 = r6388196 * r6388208;
return r6388209;
}
double f(double g, double h) {
double r6388210 = 2.0;
double r6388211 = g;
double r6388212 = h;
double r6388213 = r6388211 / r6388212;
double r6388214 = acos(r6388213);
double r6388215 = 3.0;
double r6388216 = r6388214 / r6388215;
double r6388217 = atan2(1.0, 0.0);
double r6388218 = 1.5;
double r6388219 = r6388217 / r6388218;
double r6388220 = r6388216 - r6388219;
double r6388221 = cos(r6388220);
double r6388222 = 0.5;
double r6388223 = r6388221 * r6388222;
double r6388224 = sqrt(r6388215);
double r6388225 = sin(r6388220);
double r6388226 = r6388224 * r6388225;
double r6388227 = r6388226 / r6388210;
double r6388228 = r6388223 + r6388227;
double r6388229 = r6388210 * r6388228;
return r6388229;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied distribute-frac-neg1.0
Applied acos-neg1.0
Applied div-sub1.0
Applied associate-+l-1.0
Applied cos-diff0.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019158
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))