Average Error: 36.2 → 32.3
Time: 8.9s
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(\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)} + \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(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}}{\sqrt[3]{2 \cdot a}}
double f(double g, double h, double a) {
        double r150769 = 1.0;
        double r150770 = 2.0;
        double r150771 = a;
        double r150772 = r150770 * r150771;
        double r150773 = r150769 / r150772;
        double r150774 = g;
        double r150775 = -r150774;
        double r150776 = r150774 * r150774;
        double r150777 = h;
        double r150778 = r150777 * r150777;
        double r150779 = r150776 - r150778;
        double r150780 = sqrt(r150779);
        double r150781 = r150775 + r150780;
        double r150782 = r150773 * r150781;
        double r150783 = cbrt(r150782);
        double r150784 = r150775 - r150780;
        double r150785 = r150773 * r150784;
        double r150786 = cbrt(r150785);
        double r150787 = r150783 + r150786;
        return r150787;
}

double f(double g, double h, double a) {
        double r150788 = 1.0;
        double r150789 = g;
        double r150790 = -r150789;
        double r150791 = r150789 * r150789;
        double r150792 = h;
        double r150793 = r150792 * r150792;
        double r150794 = r150791 - r150793;
        double r150795 = sqrt(r150794);
        double r150796 = r150790 + r150795;
        double r150797 = r150788 * r150796;
        double r150798 = cbrt(r150797);
        double r150799 = 2.0;
        double r150800 = a;
        double r150801 = r150799 * r150800;
        double r150802 = cbrt(r150801);
        double r150803 = r150798 / r150802;
        double r150804 = r150790 - r150795;
        double r150805 = r150788 * r150804;
        double r150806 = cbrt(r150805);
        double r150807 = r150806 / r150802;
        double r150808 = r150803 + r150807;
        return r150808;
}

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.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)}\]
  2. Using strategy rm
  3. Applied associate-*l/36.2

    \[\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-div34.2

    \[\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/34.2

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

    \[\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. Final simplification32.3

    \[\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(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}}{\sqrt[3]{2 \cdot a}}\]

Reproduce

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