Average Error: 36.4 → 32.3
Time: 33.5s
Precision: 64
\[\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(\sqrt{g \cdot g - h \cdot h} - g\right)}}{\sqrt[3]{2 \cdot a}} + \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 \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(\sqrt{g \cdot g - h \cdot h} - g\right)}}{\sqrt[3]{2 \cdot a}} + \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 r177253 = 1.0;
        double r177254 = 2.0;
        double r177255 = a;
        double r177256 = r177254 * r177255;
        double r177257 = r177253 / r177256;
        double r177258 = g;
        double r177259 = -r177258;
        double r177260 = r177258 * r177258;
        double r177261 = h;
        double r177262 = r177261 * r177261;
        double r177263 = r177260 - r177262;
        double r177264 = sqrt(r177263);
        double r177265 = r177259 + r177264;
        double r177266 = r177257 * r177265;
        double r177267 = cbrt(r177266);
        double r177268 = r177259 - r177264;
        double r177269 = r177257 * r177268;
        double r177270 = cbrt(r177269);
        double r177271 = r177267 + r177270;
        return r177271;
}

double f(double g, double h, double a) {
        double r177272 = 1.0;
        double r177273 = g;
        double r177274 = r177273 * r177273;
        double r177275 = h;
        double r177276 = r177275 * r177275;
        double r177277 = r177274 - r177276;
        double r177278 = sqrt(r177277);
        double r177279 = r177278 - r177273;
        double r177280 = r177272 * r177279;
        double r177281 = cbrt(r177280);
        double r177282 = 2.0;
        double r177283 = a;
        double r177284 = r177282 * r177283;
        double r177285 = cbrt(r177284);
        double r177286 = r177281 / r177285;
        double r177287 = r177272 / r177284;
        double r177288 = cbrt(r177287);
        double r177289 = -r177273;
        double r177290 = r177289 - r177278;
        double r177291 = cbrt(r177290);
        double r177292 = r177288 * r177291;
        double r177293 = r177286 + r177292;
        return r177293;
}

Error

Bits error versus g

Bits error versus h

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 36.4

    \[\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)}\]
  2. Simplified36.4

    \[\leadsto \color{blue}{\sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\sqrt{g \cdot g - h \cdot h} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}}\]
  3. Using strategy rm
  4. Applied associate-*l/36.4

    \[\leadsto \sqrt[3]{\color{blue}{\frac{1 \cdot \left(\sqrt{g \cdot g - h \cdot h} - g\right)}{2 \cdot a}}} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\]
  5. Applied cbrt-div34.2

    \[\leadsto \color{blue}{\frac{\sqrt[3]{1 \cdot \left(\sqrt{g \cdot g - h \cdot h} - g\right)}}{\sqrt[3]{2 \cdot a}}} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\]
  6. Using strategy rm
  7. Applied cbrt-prod32.3

    \[\leadsto \frac{\sqrt[3]{1 \cdot \left(\sqrt{g \cdot g - h \cdot h} - g\right)}}{\sqrt[3]{2 \cdot a}} + \color{blue}{\sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}}\]
  8. Final simplification32.3

    \[\leadsto \frac{\sqrt[3]{1 \cdot \left(\sqrt{g \cdot g - h \cdot h} - g\right)}}{\sqrt[3]{2 \cdot a}} + \sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}\]

Reproduce

herbie shell --seed 2019323 
(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))))))))