2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\cos \left(\frac{\pi}{\frac{3}{2}}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right) - \sin \left(\frac{\sqrt{\pi}}{\frac{3}{2}} \cdot \sqrt{\pi}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right) \cdot 2double f(double g, double h) {
double r2092156 = 2.0;
double r2092157 = atan2(1.0, 0.0);
double r2092158 = r2092156 * r2092157;
double r2092159 = 3.0;
double r2092160 = r2092158 / r2092159;
double r2092161 = g;
double r2092162 = -r2092161;
double r2092163 = h;
double r2092164 = r2092162 / r2092163;
double r2092165 = acos(r2092164);
double r2092166 = r2092165 / r2092159;
double r2092167 = r2092160 + r2092166;
double r2092168 = cos(r2092167);
double r2092169 = r2092156 * r2092168;
return r2092169;
}
double f(double g, double h) {
double r2092170 = atan2(1.0, 0.0);
double r2092171 = 1.5;
double r2092172 = r2092170 / r2092171;
double r2092173 = cos(r2092172);
double r2092174 = g;
double r2092175 = -r2092174;
double r2092176 = h;
double r2092177 = r2092175 / r2092176;
double r2092178 = acos(r2092177);
double r2092179 = 3.0;
double r2092180 = r2092178 / r2092179;
double r2092181 = cos(r2092180);
double r2092182 = r2092173 * r2092181;
double r2092183 = sqrt(r2092170);
double r2092184 = r2092183 / r2092171;
double r2092185 = r2092184 * r2092183;
double r2092186 = sin(r2092185);
double r2092187 = sin(r2092180);
double r2092188 = r2092186 * r2092187;
double r2092189 = r2092182 - r2092188;
double r2092190 = 2.0;
double r2092191 = r2092189 * r2092190;
return r2092191;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied cos-sum1.0
rmApplied *-un-lft-identity1.0
Applied add-sqr-sqrt1.0
Applied times-frac0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019153
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))