\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)}\frac{\sqrt[3]{1 \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}}{\sqrt[3]{2 \cdot a}} + \frac{\sqrt[3]{1 \cdot \left(\sqrt{g \cdot g - h \cdot h} + \left(-g\right)\right)}}{\sqrt[3]{2 \cdot a}}double f(double g, double h, double a) {
double r6113200 = 1.0;
double r6113201 = 2.0;
double r6113202 = a;
double r6113203 = r6113201 * r6113202;
double r6113204 = r6113200 / r6113203;
double r6113205 = g;
double r6113206 = -r6113205;
double r6113207 = r6113205 * r6113205;
double r6113208 = h;
double r6113209 = r6113208 * r6113208;
double r6113210 = r6113207 - r6113209;
double r6113211 = sqrt(r6113210);
double r6113212 = r6113206 + r6113211;
double r6113213 = r6113204 * r6113212;
double r6113214 = cbrt(r6113213);
double r6113215 = r6113206 - r6113211;
double r6113216 = r6113204 * r6113215;
double r6113217 = cbrt(r6113216);
double r6113218 = r6113214 + r6113217;
return r6113218;
}
double f(double g, double h, double a) {
double r6113219 = 1.0;
double r6113220 = g;
double r6113221 = -r6113220;
double r6113222 = r6113220 * r6113220;
double r6113223 = h;
double r6113224 = r6113223 * r6113223;
double r6113225 = r6113222 - r6113224;
double r6113226 = sqrt(r6113225);
double r6113227 = r6113221 - r6113226;
double r6113228 = r6113219 * r6113227;
double r6113229 = cbrt(r6113228);
double r6113230 = 2.0;
double r6113231 = a;
double r6113232 = r6113230 * r6113231;
double r6113233 = cbrt(r6113232);
double r6113234 = r6113229 / r6113233;
double r6113235 = r6113226 + r6113221;
double r6113236 = r6113219 * r6113235;
double r6113237 = cbrt(r6113236);
double r6113238 = r6113237 / r6113233;
double r6113239 = r6113234 + r6113238;
return r6113239;
}



Bits error versus g



Bits error versus h



Bits error versus a
Results
Initial program 36.6
rmApplied associate-*l/36.6
Applied cbrt-div34.6
rmApplied associate-*l/34.6
Applied cbrt-div32.7
Final simplification32.7
herbie shell --seed 2019168
(FPCore (g h a)
:name "2-ancestry mixing, positive discriminant"
(+ (cbrt (* (/ 1.0 (* 2.0 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1.0 (* 2.0 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))