Average Error: 34.9 → 30.5
Time: 33.2s
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 4.0263109172966606 \cdot 10^{-175}:\\ \;\;\;\;\sqrt[3]{\frac{\frac{-1}{2}}{a} \cdot \left(\sqrt{g \cdot g - h \cdot h} + g\right)} + \sqrt[3]{\frac{\left(-g\right) - g}{2}} \cdot \sqrt[3]{\frac{1}{a}}\\ \mathbf{elif}\;g \le 4.929200091909158 \cdot 10^{-08}:\\ \;\;\;\;\frac{\sqrt[3]{\left(\sqrt{g \cdot g - h \cdot h} + g\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}} + \sqrt[3]{\frac{g - g}{2}} \cdot \sqrt[3]{\frac{1}{a}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{\sqrt{g \cdot g - h \cdot h} + g} \cdot \sqrt[3]{\frac{\frac{-1}{2}}{a}} + \sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{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 4.0263109172966606 \cdot 10^{-175}:\\
\;\;\;\;\sqrt[3]{\frac{\frac{-1}{2}}{a} \cdot \left(\sqrt{g \cdot g - h \cdot h} + g\right)} + \sqrt[3]{\frac{\left(-g\right) - g}{2}} \cdot \sqrt[3]{\frac{1}{a}}\\

\mathbf{elif}\;g \le 4.929200091909158 \cdot 10^{-08}:\\
\;\;\;\;\frac{\sqrt[3]{\left(\sqrt{g \cdot g - h \cdot h} + g\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}} + \sqrt[3]{\frac{g - g}{2}} \cdot \sqrt[3]{\frac{1}{a}}\\

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

\end{array}
double f(double g, double h, double a) {
        double r4200080 = 1.0;
        double r4200081 = 2.0;
        double r4200082 = a;
        double r4200083 = r4200081 * r4200082;
        double r4200084 = r4200080 / r4200083;
        double r4200085 = g;
        double r4200086 = -r4200085;
        double r4200087 = r4200085 * r4200085;
        double r4200088 = h;
        double r4200089 = r4200088 * r4200088;
        double r4200090 = r4200087 - r4200089;
        double r4200091 = sqrt(r4200090);
        double r4200092 = r4200086 + r4200091;
        double r4200093 = r4200084 * r4200092;
        double r4200094 = cbrt(r4200093);
        double r4200095 = r4200086 - r4200091;
        double r4200096 = r4200084 * r4200095;
        double r4200097 = cbrt(r4200096);
        double r4200098 = r4200094 + r4200097;
        return r4200098;
}

double f(double g, double h, double a) {
        double r4200099 = g;
        double r4200100 = 4.0263109172966606e-175;
        bool r4200101 = r4200099 <= r4200100;
        double r4200102 = -0.5;
        double r4200103 = a;
        double r4200104 = r4200102 / r4200103;
        double r4200105 = r4200099 * r4200099;
        double r4200106 = h;
        double r4200107 = r4200106 * r4200106;
        double r4200108 = r4200105 - r4200107;
        double r4200109 = sqrt(r4200108);
        double r4200110 = r4200109 + r4200099;
        double r4200111 = r4200104 * r4200110;
        double r4200112 = cbrt(r4200111);
        double r4200113 = -r4200099;
        double r4200114 = r4200113 - r4200099;
        double r4200115 = 2.0;
        double r4200116 = r4200114 / r4200115;
        double r4200117 = cbrt(r4200116);
        double r4200118 = 1.0;
        double r4200119 = r4200118 / r4200103;
        double r4200120 = cbrt(r4200119);
        double r4200121 = r4200117 * r4200120;
        double r4200122 = r4200112 + r4200121;
        double r4200123 = 4.929200091909158e-08;
        bool r4200124 = r4200099 <= r4200123;
        double r4200125 = r4200110 * r4200102;
        double r4200126 = cbrt(r4200125);
        double r4200127 = cbrt(r4200103);
        double r4200128 = r4200126 / r4200127;
        double r4200129 = r4200099 - r4200099;
        double r4200130 = r4200129 / r4200115;
        double r4200131 = cbrt(r4200130);
        double r4200132 = r4200131 * r4200120;
        double r4200133 = r4200128 + r4200132;
        double r4200134 = cbrt(r4200110);
        double r4200135 = cbrt(r4200104);
        double r4200136 = r4200134 * r4200135;
        double r4200137 = r4200109 - r4200099;
        double r4200138 = r4200137 / r4200115;
        double r4200139 = cbrt(r4200138);
        double r4200140 = r4200120 * r4200139;
        double r4200141 = r4200136 + r4200140;
        double r4200142 = r4200124 ? r4200133 : r4200141;
        double r4200143 = r4200101 ? r4200122 : r4200142;
        return r4200143;
}

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 3 regimes
  2. if g < 4.0263109172966606e-175

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

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

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

      \[\leadsto \sqrt[3]{\frac{\color{blue}{1 \cdot \sqrt{g \cdot g - h \cdot h}} - 1 \cdot g}{a \cdot 2}} + \sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{\frac{-1}{2}}{a}}\]
    6. Applied distribute-lft-out--35.9

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

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

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

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

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

    if 4.0263109172966606e-175 < g < 4.929200091909158e-08

    1. Initial program 11.0

      \[\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. Simplified11.0

      \[\leadsto \color{blue}{\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{\frac{-1}{2}}{a}}}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity11.0

      \[\leadsto \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - \color{blue}{1 \cdot g}}{a \cdot 2}} + \sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{\frac{-1}{2}}{a}}\]
    5. Applied *-un-lft-identity11.0

      \[\leadsto \sqrt[3]{\frac{\color{blue}{1 \cdot \sqrt{g \cdot g - h \cdot h}} - 1 \cdot g}{a \cdot 2}} + \sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{\frac{-1}{2}}{a}}\]
    6. Applied distribute-lft-out--11.0

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

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

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

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

      \[\leadsto \sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} + \color{blue}{\frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}}\]
    12. Taylor expanded around inf 5.9

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

    if 4.929200091909158e-08 < g

    1. Initial program 39.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. Simplified39.4

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

      \[\leadsto \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - \color{blue}{1 \cdot g}}{a \cdot 2}} + \sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{\frac{-1}{2}}{a}}\]
    5. Applied *-un-lft-identity39.4

      \[\leadsto \sqrt[3]{\frac{\color{blue}{1 \cdot \sqrt{g \cdot g - h \cdot h}} - 1 \cdot g}{a \cdot 2}} + \sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{\frac{-1}{2}}{a}}\]
    6. Applied distribute-lft-out--39.4

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

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

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

      \[\leadsto \sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} + \color{blue}{\sqrt[3]{g + \sqrt{g \cdot g - h \cdot h}} \cdot \sqrt[3]{\frac{\frac{-1}{2}}{a}}}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification30.5

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

Reproduce

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