\sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) + \sqrt{g \cdot g - h \cdot h}\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) + \sqrt{g \cdot g - h \cdot h}} + \sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}double f(double g, double h, double a) {
double r167446 = 1.0;
double r167447 = 2.0;
double r167448 = a;
double r167449 = r167447 * r167448;
double r167450 = r167446 / r167449;
double r167451 = g;
double r167452 = -r167451;
double r167453 = r167451 * r167451;
double r167454 = h;
double r167455 = r167454 * r167454;
double r167456 = r167453 - r167455;
double r167457 = sqrt(r167456);
double r167458 = r167452 + r167457;
double r167459 = r167450 * r167458;
double r167460 = cbrt(r167459);
double r167461 = r167452 - r167457;
double r167462 = r167450 * r167461;
double r167463 = cbrt(r167462);
double r167464 = r167460 + r167463;
return r167464;
}
double f(double g, double h, double a) {
double r167465 = 1.0;
double r167466 = 2.0;
double r167467 = a;
double r167468 = r167466 * r167467;
double r167469 = r167465 / r167468;
double r167470 = cbrt(r167469);
double r167471 = g;
double r167472 = -r167471;
double r167473 = r167471 * r167471;
double r167474 = h;
double r167475 = r167474 * r167474;
double r167476 = r167473 - r167475;
double r167477 = sqrt(r167476);
double r167478 = r167472 + r167477;
double r167479 = cbrt(r167478);
double r167480 = r167470 * r167479;
double r167481 = r167472 - r167477;
double r167482 = cbrt(r167481);
double r167483 = r167470 * r167482;
double r167484 = r167480 + r167483;
return r167484;
}



Bits error versus g



Bits error versus h



Bits error versus a
Results
Initial program 35.9
rmApplied cbrt-prod33.8
rmApplied cbrt-prod32.1
Final simplification32.1
herbie shell --seed 2020059
(FPCore (g h a)
:name "2-ancestry mixing, positive discriminant"
:precision binary64
(+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))