Average Error: 35.8 → 32.1
Time: 26.8s
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]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}}{\sqrt[3]{a \cdot 2}} + \frac{\sqrt[3]{\sqrt{g \cdot g - h \cdot h} - g}}{\sqrt[3]{a \cdot 2}}\]
\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]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}}{\sqrt[3]{a \cdot 2}} + \frac{\sqrt[3]{\sqrt{g \cdot g - h \cdot h} - g}}{\sqrt[3]{a \cdot 2}}
double f(double g, double h, double a) {
        double r6503437 = 1.0;
        double r6503438 = 2.0;
        double r6503439 = a;
        double r6503440 = r6503438 * r6503439;
        double r6503441 = r6503437 / r6503440;
        double r6503442 = g;
        double r6503443 = -r6503442;
        double r6503444 = r6503442 * r6503442;
        double r6503445 = h;
        double r6503446 = r6503445 * r6503445;
        double r6503447 = r6503444 - r6503446;
        double r6503448 = sqrt(r6503447);
        double r6503449 = r6503443 + r6503448;
        double r6503450 = r6503441 * r6503449;
        double r6503451 = cbrt(r6503450);
        double r6503452 = r6503443 - r6503448;
        double r6503453 = r6503441 * r6503452;
        double r6503454 = cbrt(r6503453);
        double r6503455 = r6503451 + r6503454;
        return r6503455;
}

double f(double g, double h, double a) {
        double r6503456 = g;
        double r6503457 = -r6503456;
        double r6503458 = r6503456 * r6503456;
        double r6503459 = h;
        double r6503460 = r6503459 * r6503459;
        double r6503461 = r6503458 - r6503460;
        double r6503462 = sqrt(r6503461);
        double r6503463 = r6503457 - r6503462;
        double r6503464 = cbrt(r6503463);
        double r6503465 = a;
        double r6503466 = 2.0;
        double r6503467 = r6503465 * r6503466;
        double r6503468 = cbrt(r6503467);
        double r6503469 = r6503464 / r6503468;
        double r6503470 = r6503462 - r6503456;
        double r6503471 = cbrt(r6503470);
        double r6503472 = r6503471 / r6503468;
        double r6503473 = r6503469 + r6503472;
        return r6503473;
}

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 35.8

    \[\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. Using strategy rm
  3. Applied associate-*l/35.8

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

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

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

    \[\leadsto \color{blue}{\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(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}}{\sqrt[3]{2 \cdot a}}\]
  8. Simplified32.1

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

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

Reproduce

herbie shell --seed 2019168 +o rules:numerics
(FPCore (g h a)
  :name "2-ancestry mixing, positive discriminant"
  (+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))