Average Error: 35.9 → 32.0
Time: 30.7s
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)}\]
\[\begin{array}{l} \mathbf{if}\;g \le -1.578964718673522815690060657216820823207 \cdot 10^{-162}:\\ \;\;\;\;\frac{\sqrt[3]{\sqrt{\left(h + g\right) \cdot \left(g - h\right)} - g}}{\sqrt[3]{\frac{2}{\frac{1}{a}}}} + \sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{-\left(g + \sqrt{\left(h + g\right) \cdot \left(g - h\right)}\right)}{a}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{\left(h + g\right) \cdot \left(g - h\right) - g \cdot g}{g + \sqrt{\left(h + g\right) \cdot \left(g - h\right)}}}}{\sqrt[3]{\frac{2}{\frac{1}{a}}}} + \sqrt[3]{\left(-g\right) - \sqrt{\left(h + g\right) \cdot \left(g - h\right)}} \cdot \sqrt[3]{\frac{\frac{1}{a}}{2}}\\ \end{array}\]
\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)}
\begin{array}{l}
\mathbf{if}\;g \le -1.578964718673522815690060657216820823207 \cdot 10^{-162}:\\
\;\;\;\;\frac{\sqrt[3]{\sqrt{\left(h + g\right) \cdot \left(g - h\right)} - g}}{\sqrt[3]{\frac{2}{\frac{1}{a}}}} + \sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{-\left(g + \sqrt{\left(h + g\right) \cdot \left(g - h\right)}\right)}{a}}\\

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

\end{array}
double f(double g, double h, double a) {
        double r132863 = 1.0;
        double r132864 = 2.0;
        double r132865 = a;
        double r132866 = r132864 * r132865;
        double r132867 = r132863 / r132866;
        double r132868 = g;
        double r132869 = -r132868;
        double r132870 = r132868 * r132868;
        double r132871 = h;
        double r132872 = r132871 * r132871;
        double r132873 = r132870 - r132872;
        double r132874 = sqrt(r132873);
        double r132875 = r132869 + r132874;
        double r132876 = r132867 * r132875;
        double r132877 = cbrt(r132876);
        double r132878 = r132869 - r132874;
        double r132879 = r132867 * r132878;
        double r132880 = cbrt(r132879);
        double r132881 = r132877 + r132880;
        return r132881;
}

double f(double g, double h, double a) {
        double r132882 = g;
        double r132883 = -1.5789647186735228e-162;
        bool r132884 = r132882 <= r132883;
        double r132885 = h;
        double r132886 = r132885 + r132882;
        double r132887 = r132882 - r132885;
        double r132888 = r132886 * r132887;
        double r132889 = sqrt(r132888);
        double r132890 = r132889 - r132882;
        double r132891 = cbrt(r132890);
        double r132892 = 2.0;
        double r132893 = 1.0;
        double r132894 = a;
        double r132895 = r132893 / r132894;
        double r132896 = r132892 / r132895;
        double r132897 = cbrt(r132896);
        double r132898 = r132891 / r132897;
        double r132899 = r132893 / r132892;
        double r132900 = cbrt(r132899);
        double r132901 = r132882 + r132889;
        double r132902 = -r132901;
        double r132903 = r132902 / r132894;
        double r132904 = cbrt(r132903);
        double r132905 = r132900 * r132904;
        double r132906 = r132898 + r132905;
        double r132907 = r132882 * r132882;
        double r132908 = r132888 - r132907;
        double r132909 = r132908 / r132901;
        double r132910 = cbrt(r132909);
        double r132911 = r132910 / r132897;
        double r132912 = -r132882;
        double r132913 = r132912 - r132889;
        double r132914 = cbrt(r132913);
        double r132915 = r132895 / r132892;
        double r132916 = cbrt(r132915);
        double r132917 = r132914 * r132916;
        double r132918 = r132911 + r132917;
        double r132919 = r132884 ? r132906 : r132918;
        return r132919;
}

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. Split input into 2 regimes
  2. if g < -1.5789647186735228e-162

    1. Initial program 34.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. Simplified34.8

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

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

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

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

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

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

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

    if -1.5789647186735228e-162 < g

    1. Initial program 36.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. Simplified36.9

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

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

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

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

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

      \[\leadsto \frac{\sqrt[3]{\sqrt{\left(h + g\right) \cdot \left(g - h\right)} - g}}{\sqrt[3]{\frac{2}{\frac{1}{a}}}} + \sqrt[3]{\frac{\frac{1}{a}}{2}} \cdot \color{blue}{\sqrt[3]{\left(-g\right) - \sqrt{\left(g - h\right) \cdot \left(h + g\right)}}}\]
    10. Using strategy rm
    11. Applied flip--32.9

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

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

      \[\leadsto \frac{\sqrt[3]{\frac{\left(g - h\right) \cdot \left(h + g\right) - g \cdot g}{\color{blue}{g + \sqrt{\left(g - h\right) \cdot \left(h + g\right)}}}}}{\sqrt[3]{\frac{2}{\frac{1}{a}}}} + \sqrt[3]{\frac{\frac{1}{a}}{2}} \cdot \sqrt[3]{\left(-g\right) - \sqrt{\left(g - h\right) \cdot \left(h + g\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification32.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;g \le -1.578964718673522815690060657216820823207 \cdot 10^{-162}:\\ \;\;\;\;\frac{\sqrt[3]{\sqrt{\left(h + g\right) \cdot \left(g - h\right)} - g}}{\sqrt[3]{\frac{2}{\frac{1}{a}}}} + \sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{-\left(g + \sqrt{\left(h + g\right) \cdot \left(g - h\right)}\right)}{a}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{\left(h + g\right) \cdot \left(g - h\right) - g \cdot g}{g + \sqrt{\left(h + g\right) \cdot \left(g - h\right)}}}}{\sqrt[3]{\frac{2}{\frac{1}{a}}}} + \sqrt[3]{\left(-g\right) - \sqrt{\left(h + g\right) \cdot \left(g - h\right)}} \cdot \sqrt[3]{\frac{\frac{1}{a}}{2}}\\ \end{array}\]

Reproduce

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