2-ancestry mixing, zero discriminant

Percentage Accurate: 75.9% → 98.6%
Time: 1.7s
Alternatives: 2
Speedup: N/A×

Specification

?
\[\begin{array}{l} \\ \sqrt[3]{\frac{g}{2 \cdot a}} \end{array} \]
(FPCore (g a) :precision binary64 (cbrt (/ g (* 2.0 a))))
double code(double g, double a) {
	return cbrt((g / (2.0 * a)));
}
public static double code(double g, double a) {
	return Math.cbrt((g / (2.0 * a)));
}
function code(g, a)
	return cbrt(Float64(g / Float64(2.0 * a)))
end
code[g_, a_] := N[Power[N[(g / N[(2.0 * a), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]
\begin{array}{l}

\\
\sqrt[3]{\frac{g}{2 \cdot a}}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 2 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 75.9% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \sqrt[3]{\frac{g}{2 \cdot a}} \end{array} \]
(FPCore (g a) :precision binary64 (cbrt (/ g (* 2.0 a))))
double code(double g, double a) {
	return cbrt((g / (2.0 * a)));
}
public static double code(double g, double a) {
	return Math.cbrt((g / (2.0 * a)));
}
function code(g, a)
	return cbrt(Float64(g / Float64(2.0 * a)))
end
code[g_, a_] := N[Power[N[(g / N[(2.0 * a), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]
\begin{array}{l}

\\
\sqrt[3]{\frac{g}{2 \cdot a}}
\end{array}

Alternative 1: 98.6% accurate, N/A× speedup?

\[\begin{array}{l} \\ \frac{\sqrt[3]{g}}{\sqrt[3]{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right) \end{array} \]
(FPCore (g a)
 :precision binary64
 (* (/ (cbrt g) (cbrt a)) (* (cbrt -1.0) (cbrt -0.5))))
double code(double g, double a) {
	return (cbrt(g) / cbrt(a)) * (cbrt(-1.0) * cbrt(-0.5));
}
public static double code(double g, double a) {
	return (Math.cbrt(g) / Math.cbrt(a)) * (Math.cbrt(-1.0) * Math.cbrt(-0.5));
}
function code(g, a)
	return Float64(Float64(cbrt(g) / cbrt(a)) * Float64(cbrt(-1.0) * cbrt(-0.5)))
end
code[g_, a_] := N[(N[(N[Power[g, 1/3], $MachinePrecision] / N[Power[a, 1/3], $MachinePrecision]), $MachinePrecision] * N[(N[Power[-1.0, 1/3], $MachinePrecision] * N[Power[-0.5, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\sqrt[3]{g}}{\sqrt[3]{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right)
\end{array}
Derivation
  1. Initial program 75.9%

    \[\sqrt[3]{\frac{g}{2 \cdot a}} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{2 \cdot a}}} \]
    2. count-2-revN/A

      \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{a + a}}} \]
    3. flip3-+N/A

      \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}}} \]
    4. lower-/.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}}} \]
    5. lower-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{{a}^{3} + {a}^{3}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    6. lower-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{{a}^{3}} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    7. lower-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + \color{blue}{{a}^{3}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    8. lower-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{\color{blue}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}}} \]
    9. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{\color{blue}{a \cdot a} + \left(a \cdot a - a \cdot a\right)}}} \]
    10. lower--.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \color{blue}{\left(a \cdot a - a \cdot a\right)}}}} \]
    11. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(\color{blue}{a \cdot a} - a \cdot a\right)}}} \]
    12. lower-*.f6426.5

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(a \cdot a - \color{blue}{a \cdot a}\right)}}} \]
  4. Applied rewrites26.5%

    \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}}} \]
  5. Step-by-step derivation
    1. lift-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{{a}^{3} + {a}^{3}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    2. lift-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{{a}^{3}} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    3. lift-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + \color{blue}{{a}^{3}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    4. flip3-+N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{\frac{{\left({a}^{3}\right)}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    5. lower-/.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{\frac{{\left({a}^{3}\right)}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    6. lower-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{\color{blue}{{\left({a}^{3}\right)}^{3} + {\left({a}^{3}\right)}^{3}}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    7. lower-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{\color{blue}{{\left({a}^{3}\right)}^{3}} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    8. unpow3N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\color{blue}{\left(\left(a \cdot a\right) \cdot a\right)}}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    9. lift-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\color{blue}{\left(a \cdot a\right)} \cdot a\right)}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    10. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\color{blue}{\left(\left(a \cdot a\right) \cdot a\right)}}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    11. lower-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + \color{blue}{{\left({a}^{3}\right)}^{3}}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    12. unpow3N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\color{blue}{\left(\left(a \cdot a\right) \cdot a\right)}}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    13. lift-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\left(\color{blue}{\left(a \cdot a\right)} \cdot a\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    14. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\color{blue}{\left(\left(a \cdot a\right) \cdot a\right)}}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    15. lower-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\left(\left(a \cdot a\right) \cdot a\right)}^{3}}{\color{blue}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
  6. Applied rewrites10.6%

    \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\left(\left(a \cdot a\right) \cdot a\right)}^{3}}{\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(a \cdot a\right) \cdot a\right) + \left(\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(a \cdot a\right) \cdot a\right) - \left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)\right)}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
  7. Taylor expanded in a around -inf

    \[\leadsto \color{blue}{\sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{\frac{-1}{2}}\right)} \]
  8. Step-by-step derivation
    1. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \color{blue}{\left(\sqrt[3]{-1} \cdot \sqrt[3]{\frac{-1}{2}}\right)} \]
    2. lower-cbrt.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\color{blue}{\sqrt[3]{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    3. lower-/.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{\color{blue}{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    4. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \color{blue}{\sqrt[3]{\frac{-1}{2}}}\right) \]
    5. lower-cbrt.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{\color{blue}{\frac{-1}{2}}}\right) \]
    6. lower-cbrt.f6476.1

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right) \]
  9. Applied rewrites76.1%

    \[\leadsto \color{blue}{\sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right)} \]
  10. Step-by-step derivation
    1. lift-/.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{\color{blue}{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    2. lift-cbrt.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\color{blue}{\sqrt[3]{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    3. cbrt-divN/A

      \[\leadsto \frac{\sqrt[3]{g}}{\sqrt[3]{a}} \cdot \left(\color{blue}{\sqrt[3]{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    4. lower-/.f64N/A

      \[\leadsto \frac{\sqrt[3]{g}}{\sqrt[3]{a}} \cdot \left(\color{blue}{\sqrt[3]{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    5. lower-cbrt.f64N/A

      \[\leadsto \frac{\sqrt[3]{g}}{\sqrt[3]{a}} \cdot \left(\sqrt[3]{\color{blue}{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    6. lower-cbrt.f6498.6

      \[\leadsto \frac{\sqrt[3]{g}}{\sqrt[3]{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right) \]
  11. Applied rewrites98.6%

    \[\leadsto \frac{\sqrt[3]{g}}{\sqrt[3]{a}} \cdot \left(\color{blue}{\sqrt[3]{-1}} \cdot \sqrt[3]{-0.5}\right) \]
  12. Add Preprocessing

Alternative 2: 75.9% accurate, N/A× speedup?

\[\begin{array}{l} \\ \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right) \end{array} \]
(FPCore (g a)
 :precision binary64
 (* (cbrt (/ g a)) (* (cbrt -1.0) (cbrt -0.5))))
double code(double g, double a) {
	return cbrt((g / a)) * (cbrt(-1.0) * cbrt(-0.5));
}
public static double code(double g, double a) {
	return Math.cbrt((g / a)) * (Math.cbrt(-1.0) * Math.cbrt(-0.5));
}
function code(g, a)
	return Float64(cbrt(Float64(g / a)) * Float64(cbrt(-1.0) * cbrt(-0.5)))
end
code[g_, a_] := N[(N[Power[N[(g / a), $MachinePrecision], 1/3], $MachinePrecision] * N[(N[Power[-1.0, 1/3], $MachinePrecision] * N[Power[-0.5, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right)
\end{array}
Derivation
  1. Initial program 75.9%

    \[\sqrt[3]{\frac{g}{2 \cdot a}} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. lift-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{2 \cdot a}}} \]
    2. count-2-revN/A

      \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{a + a}}} \]
    3. flip3-+N/A

      \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}}} \]
    4. lower-/.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}}} \]
    5. lower-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{{a}^{3} + {a}^{3}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    6. lower-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{{a}^{3}} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    7. lower-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + \color{blue}{{a}^{3}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    8. lower-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{\color{blue}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}}} \]
    9. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{\color{blue}{a \cdot a} + \left(a \cdot a - a \cdot a\right)}}} \]
    10. lower--.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \color{blue}{\left(a \cdot a - a \cdot a\right)}}}} \]
    11. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(\color{blue}{a \cdot a} - a \cdot a\right)}}} \]
    12. lower-*.f6426.5

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(a \cdot a - \color{blue}{a \cdot a}\right)}}} \]
  4. Applied rewrites26.5%

    \[\leadsto \sqrt[3]{\frac{g}{\color{blue}{\frac{{a}^{3} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}}} \]
  5. Step-by-step derivation
    1. lift-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{{a}^{3} + {a}^{3}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    2. lift-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{{a}^{3}} + {a}^{3}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    3. lift-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{{a}^{3} + \color{blue}{{a}^{3}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    4. flip3-+N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{\frac{{\left({a}^{3}\right)}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    5. lower-/.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{\frac{{\left({a}^{3}\right)}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    6. lower-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{\color{blue}{{\left({a}^{3}\right)}^{3} + {\left({a}^{3}\right)}^{3}}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    7. lower-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{\color{blue}{{\left({a}^{3}\right)}^{3}} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    8. unpow3N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\color{blue}{\left(\left(a \cdot a\right) \cdot a\right)}}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    9. lift-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\color{blue}{\left(a \cdot a\right)} \cdot a\right)}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    10. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\color{blue}{\left(\left(a \cdot a\right) \cdot a\right)}}^{3} + {\left({a}^{3}\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    11. lower-pow.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + \color{blue}{{\left({a}^{3}\right)}^{3}}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    12. unpow3N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\color{blue}{\left(\left(a \cdot a\right) \cdot a\right)}}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    13. lift-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\left(\color{blue}{\left(a \cdot a\right)} \cdot a\right)}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    14. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\color{blue}{\left(\left(a \cdot a\right) \cdot a\right)}}^{3}}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
    15. lower-+.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{\frac{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\left(\left(a \cdot a\right) \cdot a\right)}^{3}}{\color{blue}{{a}^{3} \cdot {a}^{3} + \left({a}^{3} \cdot {a}^{3} - {a}^{3} \cdot {a}^{3}\right)}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
  6. Applied rewrites10.6%

    \[\leadsto \sqrt[3]{\frac{g}{\frac{\color{blue}{\frac{{\left(\left(a \cdot a\right) \cdot a\right)}^{3} + {\left(\left(a \cdot a\right) \cdot a\right)}^{3}}{\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(a \cdot a\right) \cdot a\right) + \left(\left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(a \cdot a\right) \cdot a\right) - \left(\left(a \cdot a\right) \cdot a\right) \cdot \left(\left(a \cdot a\right) \cdot a\right)\right)}}}{a \cdot a + \left(a \cdot a - a \cdot a\right)}}} \]
  7. Taylor expanded in a around -inf

    \[\leadsto \color{blue}{\sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{\frac{-1}{2}}\right)} \]
  8. Step-by-step derivation
    1. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \color{blue}{\left(\sqrt[3]{-1} \cdot \sqrt[3]{\frac{-1}{2}}\right)} \]
    2. lower-cbrt.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\color{blue}{\sqrt[3]{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    3. lower-/.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{\color{blue}{-1}} \cdot \sqrt[3]{\frac{-1}{2}}\right) \]
    4. lower-*.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \color{blue}{\sqrt[3]{\frac{-1}{2}}}\right) \]
    5. lower-cbrt.f64N/A

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{\color{blue}{\frac{-1}{2}}}\right) \]
    6. lower-cbrt.f6476.1

      \[\leadsto \sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right) \]
  9. Applied rewrites76.1%

    \[\leadsto \color{blue}{\sqrt[3]{\frac{g}{a}} \cdot \left(\sqrt[3]{-1} \cdot \sqrt[3]{-0.5}\right)} \]
  10. Add Preprocessing

Reproduce

?
herbie shell --seed 2025065 
(FPCore (g a)
  :name "2-ancestry mixing, zero discriminant"
  :precision binary64
  (cbrt (/ g (* 2.0 a))))