Average Error: 36.4 → 32.6
Time: 28.4s
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)}\]
\[\sqrt[3]{\frac{\frac{1}{\sqrt[3]{a} \cdot \sqrt[3]{a}}}{2}} \cdot \sqrt[3]{\frac{\sqrt{\mathsf{fma}\left(h, -h, g \cdot g\right)} - g}{\sqrt[3]{a}}} + \frac{\sqrt[3]{-1 \cdot \left(\sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)} + g\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)}
\sqrt[3]{\frac{\frac{1}{\sqrt[3]{a} \cdot \sqrt[3]{a}}}{2}} \cdot \sqrt[3]{\frac{\sqrt{\mathsf{fma}\left(h, -h, g \cdot g\right)} - g}{\sqrt[3]{a}}} + \frac{\sqrt[3]{-1 \cdot \left(\sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)} + g\right)}}{\sqrt[3]{2 \cdot a}}
double f(double g, double h, double a) {
        double r153760 = 1.0;
        double r153761 = 2.0;
        double r153762 = a;
        double r153763 = r153761 * r153762;
        double r153764 = r153760 / r153763;
        double r153765 = g;
        double r153766 = -r153765;
        double r153767 = r153765 * r153765;
        double r153768 = h;
        double r153769 = r153768 * r153768;
        double r153770 = r153767 - r153769;
        double r153771 = sqrt(r153770);
        double r153772 = r153766 + r153771;
        double r153773 = r153764 * r153772;
        double r153774 = cbrt(r153773);
        double r153775 = r153766 - r153771;
        double r153776 = r153764 * r153775;
        double r153777 = cbrt(r153776);
        double r153778 = r153774 + r153777;
        return r153778;
}

double f(double g, double h, double a) {
        double r153779 = 1.0;
        double r153780 = a;
        double r153781 = cbrt(r153780);
        double r153782 = r153781 * r153781;
        double r153783 = r153779 / r153782;
        double r153784 = 2.0;
        double r153785 = r153783 / r153784;
        double r153786 = cbrt(r153785);
        double r153787 = h;
        double r153788 = -r153787;
        double r153789 = g;
        double r153790 = r153789 * r153789;
        double r153791 = fma(r153787, r153788, r153790);
        double r153792 = sqrt(r153791);
        double r153793 = r153792 - r153789;
        double r153794 = r153793 / r153781;
        double r153795 = cbrt(r153794);
        double r153796 = r153786 * r153795;
        double r153797 = fma(r153788, r153787, r153790);
        double r153798 = sqrt(r153797);
        double r153799 = r153798 + r153789;
        double r153800 = r153779 * r153799;
        double r153801 = -r153800;
        double r153802 = cbrt(r153801);
        double r153803 = r153784 * r153780;
        double r153804 = cbrt(r153803);
        double r153805 = r153802 / r153804;
        double r153806 = r153796 + r153805;
        return r153806;
}

Error

Bits error versus g

Bits error versus h

Bits error versus a

Derivation

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

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

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

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

    \[\leadsto \sqrt[3]{\frac{\frac{1}{2} \cdot \left(\sqrt{g \cdot g - h \cdot h} - g\right)}{a}} + \frac{\color{blue}{\sqrt[3]{\left(-\left(g + \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)\right) \cdot 1}}}{\sqrt[3]{2 \cdot a}}\]
  7. Using strategy rm
  8. Applied add-cube-cbrt34.5

    \[\leadsto \sqrt[3]{\frac{\frac{1}{2} \cdot \left(\sqrt{g \cdot g - h \cdot h} - g\right)}{\color{blue}{\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \sqrt[3]{a}}}} + \frac{\sqrt[3]{\left(-\left(g + \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)\right) \cdot 1}}{\sqrt[3]{2 \cdot a}}\]
  9. Applied times-frac34.5

    \[\leadsto \sqrt[3]{\color{blue}{\frac{\frac{1}{2}}{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \frac{\sqrt{g \cdot g - h \cdot h} - g}{\sqrt[3]{a}}}} + \frac{\sqrt[3]{\left(-\left(g + \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)\right) \cdot 1}}{\sqrt[3]{2 \cdot a}}\]
  10. Applied cbrt-prod32.6

    \[\leadsto \color{blue}{\sqrt[3]{\frac{\frac{1}{2}}{\sqrt[3]{a} \cdot \sqrt[3]{a}}} \cdot \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{\sqrt[3]{a}}}} + \frac{\sqrt[3]{\left(-\left(g + \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)\right) \cdot 1}}{\sqrt[3]{2 \cdot a}}\]
  11. Simplified32.6

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

    \[\leadsto \sqrt[3]{\frac{\frac{1}{\sqrt[3]{a} \cdot \sqrt[3]{a}}}{2}} \cdot \color{blue}{\sqrt[3]{\frac{\sqrt{\mathsf{fma}\left(h, -h, g \cdot g\right)} - g}{\sqrt[3]{a}}}} + \frac{\sqrt[3]{\left(-\left(g + \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)\right) \cdot 1}}{\sqrt[3]{2 \cdot a}}\]
  13. Final simplification32.6

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

Reproduce

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