Average Error: 34.8 → 30.8
Time: 1.5m
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 3.218403312007064 \cdot 10^{-159}:\\ \;\;\;\;\sqrt[3]{\frac{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}{\frac{a}{\frac{1}{2}}}} + \sqrt[3]{\frac{\left(-g\right) - g}{\frac{\sqrt[3]{a}}{\sqrt{\frac{1}{2}}}}} \cdot \sqrt[3]{\frac{\sqrt{\frac{1}{2}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{\frac{a}{\frac{1}{2}}}} + \frac{\sqrt[3]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}}{\sqrt[3]{\frac{a}{\frac{1}{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 3.218403312007064 \cdot 10^{-159}:\\
\;\;\;\;\sqrt[3]{\frac{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}{\frac{a}{\frac{1}{2}}}} + \sqrt[3]{\frac{\left(-g\right) - g}{\frac{\sqrt[3]{a}}{\sqrt{\frac{1}{2}}}}} \cdot \sqrt[3]{\frac{\sqrt{\frac{1}{2}}}{\sqrt[3]{a} \cdot \sqrt[3]{a}}}\\

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

\end{array}
double f(double g, double h, double a) {
        double r19069356 = 1.0;
        double r19069357 = 2.0;
        double r19069358 = a;
        double r19069359 = r19069357 * r19069358;
        double r19069360 = r19069356 / r19069359;
        double r19069361 = g;
        double r19069362 = -r19069361;
        double r19069363 = r19069361 * r19069361;
        double r19069364 = h;
        double r19069365 = r19069364 * r19069364;
        double r19069366 = r19069363 - r19069365;
        double r19069367 = sqrt(r19069366);
        double r19069368 = r19069362 + r19069367;
        double r19069369 = r19069360 * r19069368;
        double r19069370 = cbrt(r19069369);
        double r19069371 = r19069362 - r19069367;
        double r19069372 = r19069360 * r19069371;
        double r19069373 = cbrt(r19069372);
        double r19069374 = r19069370 + r19069373;
        return r19069374;
}

double f(double g, double h, double a) {
        double r19069375 = g;
        double r19069376 = 3.218403312007064e-159;
        bool r19069377 = r19069375 <= r19069376;
        double r19069378 = -r19069375;
        double r19069379 = r19069375 * r19069375;
        double r19069380 = h;
        double r19069381 = r19069380 * r19069380;
        double r19069382 = r19069379 - r19069381;
        double r19069383 = sqrt(r19069382);
        double r19069384 = r19069378 - r19069383;
        double r19069385 = a;
        double r19069386 = 0.5;
        double r19069387 = r19069385 / r19069386;
        double r19069388 = r19069384 / r19069387;
        double r19069389 = cbrt(r19069388);
        double r19069390 = r19069378 - r19069375;
        double r19069391 = cbrt(r19069385);
        double r19069392 = sqrt(r19069386);
        double r19069393 = r19069391 / r19069392;
        double r19069394 = r19069390 / r19069393;
        double r19069395 = cbrt(r19069394);
        double r19069396 = r19069391 * r19069391;
        double r19069397 = r19069392 / r19069396;
        double r19069398 = cbrt(r19069397);
        double r19069399 = r19069395 * r19069398;
        double r19069400 = r19069389 + r19069399;
        double r19069401 = r19069383 - r19069375;
        double r19069402 = r19069401 / r19069387;
        double r19069403 = cbrt(r19069402);
        double r19069404 = cbrt(r19069384);
        double r19069405 = cbrt(r19069387);
        double r19069406 = r19069404 / r19069405;
        double r19069407 = r19069403 + r19069406;
        double r19069408 = r19069377 ? r19069400 : r19069407;
        return r19069408;
}

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 < 3.218403312007064e-159

    1. Initial program 35.3

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

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

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

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

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

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

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

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

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

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

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

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

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

    if 3.218403312007064e-159 < g

    1. Initial program 34.3

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

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

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

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

Reproduce

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