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{2 \cdot \pi}{3}\right) \cdot \cos \left(\frac{\sqrt{\cos^{-1} \left(\frac{-g}{h}\right)}}{\sqrt{3}} \cdot \frac{\sqrt{\cos^{-1} \left(\frac{-g}{h}\right)}}{\sqrt{3}}\right) - \sin \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{2 \cdot \pi}{3}\right)\right)\right) \cdot \sin \left(\frac{\sqrt{\cos^{-1} \left(\frac{-g}{h}\right)}}{\sqrt{3}} \cdot \frac{\sqrt{\cos^{-1} \left(\frac{-g}{h}\right)}}{\sqrt{3}}\right)\right)double f(double g, double h) {
double r137383 = 2.0;
double r137384 = atan2(1.0, 0.0);
double r137385 = r137383 * r137384;
double r137386 = 3.0;
double r137387 = r137385 / r137386;
double r137388 = g;
double r137389 = -r137388;
double r137390 = h;
double r137391 = r137389 / r137390;
double r137392 = acos(r137391);
double r137393 = r137392 / r137386;
double r137394 = r137387 + r137393;
double r137395 = cos(r137394);
double r137396 = r137383 * r137395;
return r137396;
}
double f(double g, double h) {
double r137397 = 2.0;
double r137398 = atan2(1.0, 0.0);
double r137399 = r137397 * r137398;
double r137400 = 3.0;
double r137401 = r137399 / r137400;
double r137402 = cos(r137401);
double r137403 = g;
double r137404 = -r137403;
double r137405 = h;
double r137406 = r137404 / r137405;
double r137407 = acos(r137406);
double r137408 = sqrt(r137407);
double r137409 = sqrt(r137400);
double r137410 = r137408 / r137409;
double r137411 = r137410 * r137410;
double r137412 = cos(r137411);
double r137413 = r137402 * r137412;
double r137414 = log1p(r137401);
double r137415 = expm1(r137414);
double r137416 = sin(r137415);
double r137417 = sin(r137411);
double r137418 = r137416 * r137417;
double r137419 = r137413 - r137418;
double r137420 = r137397 * r137419;
return r137420;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied add-sqr-sqrt1.0
Applied add-sqr-sqrt1.0
Applied times-frac1.0
rmApplied cos-sum1.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2019353 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))