Average Error: 35.9 → 32.2
Time: 33.4s
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(\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}}\]
\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 r4287451 = 1.0;
        double r4287452 = 2.0;
        double r4287453 = a;
        double r4287454 = r4287452 * r4287453;
        double r4287455 = r4287451 / r4287454;
        double r4287456 = g;
        double r4287457 = -r4287456;
        double r4287458 = r4287456 * r4287456;
        double r4287459 = h;
        double r4287460 = r4287459 * r4287459;
        double r4287461 = r4287458 - r4287460;
        double r4287462 = sqrt(r4287461);
        double r4287463 = r4287457 + r4287462;
        double r4287464 = r4287455 * r4287463;
        double r4287465 = cbrt(r4287464);
        double r4287466 = r4287457 - r4287462;
        double r4287467 = r4287455 * r4287466;
        double r4287468 = cbrt(r4287467);
        double r4287469 = r4287465 + r4287468;
        return r4287469;
}

double f(double g, double h, double a) {
        double r4287470 = 1.0;
        double r4287471 = g;
        double r4287472 = -r4287471;
        double r4287473 = r4287471 * r4287471;
        double r4287474 = h;
        double r4287475 = r4287474 * r4287474;
        double r4287476 = r4287473 - r4287475;
        double r4287477 = sqrt(r4287476);
        double r4287478 = r4287472 - r4287477;
        double r4287479 = r4287470 * r4287478;
        double r4287480 = cbrt(r4287479);
        double r4287481 = 2.0;
        double r4287482 = a;
        double r4287483 = r4287481 * r4287482;
        double r4287484 = cbrt(r4287483);
        double r4287485 = r4287480 / r4287484;
        double r4287486 = r4287477 + r4287472;
        double r4287487 = r4287470 * r4287486;
        double r4287488 = cbrt(r4287487);
        double r4287489 = r4287488 / r4287484;
        double r4287490 = r4287485 + r4287489;
        return r4287490;
}

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.9

    \[\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.9

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

    \[\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}}} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\]
  5. Using strategy rm
  6. Applied associate-*l/33.9

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

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

    \[\leadsto \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}}\]

Reproduce

herbie shell --seed 2019170 +o rules:numerics
(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))))))))