2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\log \left(\sqrt[3]{e^{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right))_*\right)}} \cdot \sqrt[3]{e^{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right))_*\right)}}\right) + \log \left(\sqrt[3]{e^{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right))_*\right)}}\right)\right) \cdot 2double f(double g, double h) {
double r22572570 = 2.0;
double r22572571 = atan2(1.0, 0.0);
double r22572572 = r22572570 * r22572571;
double r22572573 = 3.0;
double r22572574 = r22572572 / r22572573;
double r22572575 = g;
double r22572576 = -r22572575;
double r22572577 = h;
double r22572578 = r22572576 / r22572577;
double r22572579 = acos(r22572578);
double r22572580 = r22572579 / r22572573;
double r22572581 = r22572574 + r22572580;
double r22572582 = cos(r22572581);
double r22572583 = r22572570 * r22572582;
return r22572583;
}
double f(double g, double h) {
double r22572584 = 0.6666666666666666;
double r22572585 = atan2(1.0, 0.0);
double r22572586 = g;
double r22572587 = h;
double r22572588 = r22572586 / r22572587;
double r22572589 = -r22572588;
double r22572590 = acos(r22572589);
double r22572591 = 3.0;
double r22572592 = r22572590 / r22572591;
double r22572593 = fma(r22572584, r22572585, r22572592);
double r22572594 = cos(r22572593);
double r22572595 = exp(r22572594);
double r22572596 = cbrt(r22572595);
double r22572597 = r22572596 * r22572596;
double r22572598 = log(r22572597);
double r22572599 = log(r22572596);
double r22572600 = r22572598 + r22572599;
double r22572601 = 2.0;
double r22572602 = r22572600 * r22572601;
return r22572602;
}



Bits error versus g



Bits error versus h
Initial program 1.0
Simplified1.0
rmApplied add-log-exp1.0
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Final simplification0.1
herbie shell --seed 2019104 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))