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)}{\sqrt{3}} \cdot \frac{1}{\sqrt{3}}\right) \cdot \left(\sqrt[3]{\cos \left(\frac{2}{3} \cdot \pi\right)} \cdot \left(\sqrt[3]{\cos \left(\frac{2}{3} \cdot \pi\right)} \cdot \sqrt[3]{\cos \left(\frac{2}{3} \cdot \pi\right)}\right)\right) - \sin \left(\frac{2}{3} \cdot \pi\right) \cdot \sin \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{\sqrt{3}} \cdot \frac{1}{\sqrt{3}}\right)\right)double f(double g, double h) {
double r4944015 = 2.0;
double r4944016 = atan2(1.0, 0.0);
double r4944017 = r4944015 * r4944016;
double r4944018 = 3.0;
double r4944019 = r4944017 / r4944018;
double r4944020 = g;
double r4944021 = -r4944020;
double r4944022 = h;
double r4944023 = r4944021 / r4944022;
double r4944024 = acos(r4944023);
double r4944025 = r4944024 / r4944018;
double r4944026 = r4944019 + r4944025;
double r4944027 = cos(r4944026);
double r4944028 = r4944015 * r4944027;
return r4944028;
}
double f(double g, double h) {
double r4944029 = 2.0;
double r4944030 = g;
double r4944031 = h;
double r4944032 = r4944030 / r4944031;
double r4944033 = -r4944032;
double r4944034 = acos(r4944033);
double r4944035 = 3.0;
double r4944036 = sqrt(r4944035);
double r4944037 = r4944034 / r4944036;
double r4944038 = 1.0;
double r4944039 = r4944038 / r4944036;
double r4944040 = r4944037 * r4944039;
double r4944041 = cos(r4944040);
double r4944042 = 0.6666666666666666;
double r4944043 = atan2(1.0, 0.0);
double r4944044 = r4944042 * r4944043;
double r4944045 = cos(r4944044);
double r4944046 = cbrt(r4944045);
double r4944047 = r4944046 * r4944046;
double r4944048 = r4944046 * r4944047;
double r4944049 = r4944041 * r4944048;
double r4944050 = sin(r4944044);
double r4944051 = sin(r4944040);
double r4944052 = r4944050 * r4944051;
double r4944053 = r4944049 - r4944052;
double r4944054 = r4944029 * r4944053;
return r4944054;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied add-sqr-sqrt1.0
Applied *-un-lft-identity1.0
Applied times-frac1.0
rmApplied fma-udef1.0
Applied cos-sum1.0
rmApplied add-cube-cbrt0.0
Final simplification0.0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))