Average Error: 34.6 → 30.4
Time: 41.8s
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.820567991238995 \cdot 10^{-157}:\\ \;\;\;\;\sqrt[3]{\frac{1}{a \cdot 2} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)} + \frac{\sqrt[3]{-\frac{g + g}{\sqrt{2}}}}{\sqrt[3]{a \cdot \sqrt{2}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{\frac{1}{a \cdot 2} \cdot \left(\sqrt{g \cdot g - h \cdot h} + \left(-g\right)\right)} + \frac{\sqrt[3]{\frac{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}{\sqrt{2}}}}{\sqrt[3]{a \cdot \sqrt{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.820567991238995 \cdot 10^{-157}:\\
\;\;\;\;\sqrt[3]{\frac{1}{a \cdot 2} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)} + \frac{\sqrt[3]{-\frac{g + g}{\sqrt{2}}}}{\sqrt[3]{a \cdot \sqrt{2}}}\\

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

\end{array}
double f(double g, double h, double a) {
        double r6174633 = 1.0;
        double r6174634 = 2.0;
        double r6174635 = a;
        double r6174636 = r6174634 * r6174635;
        double r6174637 = r6174633 / r6174636;
        double r6174638 = g;
        double r6174639 = -r6174638;
        double r6174640 = r6174638 * r6174638;
        double r6174641 = h;
        double r6174642 = r6174641 * r6174641;
        double r6174643 = r6174640 - r6174642;
        double r6174644 = sqrt(r6174643);
        double r6174645 = r6174639 + r6174644;
        double r6174646 = r6174637 * r6174645;
        double r6174647 = cbrt(r6174646);
        double r6174648 = r6174639 - r6174644;
        double r6174649 = r6174637 * r6174648;
        double r6174650 = cbrt(r6174649);
        double r6174651 = r6174647 + r6174650;
        return r6174651;
}

double f(double g, double h, double a) {
        double r6174652 = g;
        double r6174653 = 1.820567991238995e-157;
        bool r6174654 = r6174652 <= r6174653;
        double r6174655 = 1.0;
        double r6174656 = a;
        double r6174657 = 2.0;
        double r6174658 = r6174656 * r6174657;
        double r6174659 = r6174655 / r6174658;
        double r6174660 = -r6174652;
        double r6174661 = r6174652 * r6174652;
        double r6174662 = h;
        double r6174663 = r6174662 * r6174662;
        double r6174664 = r6174661 - r6174663;
        double r6174665 = sqrt(r6174664);
        double r6174666 = r6174660 - r6174665;
        double r6174667 = r6174659 * r6174666;
        double r6174668 = cbrt(r6174667);
        double r6174669 = r6174652 + r6174652;
        double r6174670 = sqrt(r6174657);
        double r6174671 = r6174669 / r6174670;
        double r6174672 = -r6174671;
        double r6174673 = cbrt(r6174672);
        double r6174674 = r6174656 * r6174670;
        double r6174675 = cbrt(r6174674);
        double r6174676 = r6174673 / r6174675;
        double r6174677 = r6174668 + r6174676;
        double r6174678 = r6174665 + r6174660;
        double r6174679 = r6174659 * r6174678;
        double r6174680 = cbrt(r6174679);
        double r6174681 = r6174666 / r6174670;
        double r6174682 = cbrt(r6174681);
        double r6174683 = r6174682 / r6174675;
        double r6174684 = r6174680 + r6174683;
        double r6174685 = r6174654 ? r6174677 : r6174684;
        return r6174685;
}

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.820567991238995e-157

    1. Initial program 35.6

      \[\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 add-sqr-sqrt35.7

      \[\leadsto \sqrt[3]{\frac{1}{\color{blue}{\left(\sqrt{2} \cdot \sqrt{2}\right)} \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)}\]
    4. Applied associate-*l*35.7

      \[\leadsto \sqrt[3]{\frac{1}{\color{blue}{\sqrt{2} \cdot \left(\sqrt{2} \cdot a\right)}} \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)}\]
    5. Applied associate-/r*35.6

      \[\leadsto \sqrt[3]{\color{blue}{\frac{\frac{1}{\sqrt{2}}}{\sqrt{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)}\]
    6. Applied associate-*l/35.6

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

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

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

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

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

    if 1.820567991238995e-157 < g

    1. Initial program 33.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. Using strategy rm
    3. Applied add-sqr-sqrt33.5

      \[\leadsto \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) + \sqrt{g \cdot g - h \cdot h}\right)} + \sqrt[3]{\frac{1}{\color{blue}{\left(\sqrt{2} \cdot \sqrt{2}\right)} \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\]
    4. Applied associate-*l*33.5

      \[\leadsto \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) + \sqrt{g \cdot g - h \cdot h}\right)} + \sqrt[3]{\frac{1}{\color{blue}{\sqrt{2} \cdot \left(\sqrt{2} \cdot a\right)}} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\]
    5. Applied associate-/r*33.5

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

      \[\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{\frac{1}{\sqrt{2}} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}{\sqrt{2} \cdot a}}}\]
    7. Applied cbrt-div29.8

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

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

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

Reproduce

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