| Alternative 1 | |
|---|---|
| Accuracy | 95.9% |
| Cost | 39876 |

(FPCore (g h a) :precision binary64 (+ (cbrt (* (/ 1.0 (* 2.0 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1.0 (* 2.0 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))
(FPCore (g h a)
:precision binary64
(let* ((t_0 (+ g (hypot g h)))
(t_1 (- (hypot g h) g))
(t_2 (cbrt (/ -0.5 a))))
(if (<= (/ 1.0 (* a 2.0)) -5e-301)
(+ (* t_2 (cbrt t_0)) (* t_2 (cbrt t_1)))
(+ (/ (cbrt (* 0.5 t_1)) (cbrt a)) (/ 1.0 (cbrt (/ (* a -2.0) t_0)))))))double code(double g, double h, double a) {
return cbrt(((1.0 / (2.0 * a)) * (-g + sqrt(((g * g) - (h * h)))))) + cbrt(((1.0 / (2.0 * a)) * (-g - sqrt(((g * g) - (h * h))))));
}
double code(double g, double h, double a) {
double t_0 = g + hypot(g, h);
double t_1 = hypot(g, h) - g;
double t_2 = cbrt((-0.5 / a));
double tmp;
if ((1.0 / (a * 2.0)) <= -5e-301) {
tmp = (t_2 * cbrt(t_0)) + (t_2 * cbrt(t_1));
} else {
tmp = (cbrt((0.5 * t_1)) / cbrt(a)) + (1.0 / cbrt(((a * -2.0) / t_0)));
}
return tmp;
}
public static double code(double g, double h, double a) {
return Math.cbrt(((1.0 / (2.0 * a)) * (-g + Math.sqrt(((g * g) - (h * h)))))) + Math.cbrt(((1.0 / (2.0 * a)) * (-g - Math.sqrt(((g * g) - (h * h))))));
}
public static double code(double g, double h, double a) {
double t_0 = g + Math.hypot(g, h);
double t_1 = Math.hypot(g, h) - g;
double t_2 = Math.cbrt((-0.5 / a));
double tmp;
if ((1.0 / (a * 2.0)) <= -5e-301) {
tmp = (t_2 * Math.cbrt(t_0)) + (t_2 * Math.cbrt(t_1));
} else {
tmp = (Math.cbrt((0.5 * t_1)) / Math.cbrt(a)) + (1.0 / Math.cbrt(((a * -2.0) / t_0)));
}
return tmp;
}
function code(g, h, a) return Float64(cbrt(Float64(Float64(1.0 / Float64(2.0 * a)) * Float64(Float64(-g) + sqrt(Float64(Float64(g * g) - Float64(h * h)))))) + cbrt(Float64(Float64(1.0 / Float64(2.0 * a)) * Float64(Float64(-g) - sqrt(Float64(Float64(g * g) - Float64(h * h))))))) end
function code(g, h, a) t_0 = Float64(g + hypot(g, h)) t_1 = Float64(hypot(g, h) - g) t_2 = cbrt(Float64(-0.5 / a)) tmp = 0.0 if (Float64(1.0 / Float64(a * 2.0)) <= -5e-301) tmp = Float64(Float64(t_2 * cbrt(t_0)) + Float64(t_2 * cbrt(t_1))); else tmp = Float64(Float64(cbrt(Float64(0.5 * t_1)) / cbrt(a)) + Float64(1.0 / cbrt(Float64(Float64(a * -2.0) / t_0)))); end return tmp end
code[g_, h_, a_] := N[(N[Power[N[(N[(1.0 / N[(2.0 * a), $MachinePrecision]), $MachinePrecision] * N[((-g) + N[Sqrt[N[(N[(g * g), $MachinePrecision] - N[(h * h), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision] + N[Power[N[(N[(1.0 / N[(2.0 * a), $MachinePrecision]), $MachinePrecision] * N[((-g) - N[Sqrt[N[(N[(g * g), $MachinePrecision] - N[(h * h), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]
code[g_, h_, a_] := Block[{t$95$0 = N[(g + N[Sqrt[g ^ 2 + h ^ 2], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[(N[Sqrt[g ^ 2 + h ^ 2], $MachinePrecision] - g), $MachinePrecision]}, Block[{t$95$2 = N[Power[N[(-0.5 / a), $MachinePrecision], 1/3], $MachinePrecision]}, If[LessEqual[N[(1.0 / N[(a * 2.0), $MachinePrecision]), $MachinePrecision], -5e-301], N[(N[(t$95$2 * N[Power[t$95$0, 1/3], $MachinePrecision]), $MachinePrecision] + N[(t$95$2 * N[Power[t$95$1, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(N[Power[N[(0.5 * t$95$1), $MachinePrecision], 1/3], $MachinePrecision] / N[Power[a, 1/3], $MachinePrecision]), $MachinePrecision] + N[(1.0 / N[Power[N[(N[(a * -2.0), $MachinePrecision] / t$95$0), $MachinePrecision], 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\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}
t_0 := g + \mathsf{hypot}\left(g, h\right)\\
t_1 := \mathsf{hypot}\left(g, h\right) - g\\
t_2 := \sqrt[3]{\frac{-0.5}{a}}\\
\mathbf{if}\;\frac{1}{a \cdot 2} \leq -5 \cdot 10^{-301}:\\
\;\;\;\;t_2 \cdot \sqrt[3]{t_0} + t_2 \cdot \sqrt[3]{t_1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{0.5 \cdot t_1}}{\sqrt[3]{a}} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{t_0}}}\\
\end{array}
Herbie found 7 alternatives:
| Alternative | Accuracy | Speedup |
|---|
Results
if (/.f64 1 (*.f64 2 a)) < -5.00000000000000013e-301Initial program 50.0%
Simplified50.0%
[Start]50.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)}
\] |
|---|---|
associate-/r* [=>]50.0% | \[ \sqrt[3]{\color{blue}{\frac{\frac{1}{2}}{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)}
\] |
metadata-eval [=>]50.0% | \[ \sqrt[3]{\frac{\color{blue}{0.5}}{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)}
\] |
+-commutative [=>]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \color{blue}{\left(\sqrt{g \cdot g - h \cdot h} + \left(-g\right)\right)}} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}
\] |
unsub-neg [=>]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \color{blue}{\left(\sqrt{g \cdot g - h \cdot h} - g\right)}} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}
\] |
fma-neg [=>]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\color{blue}{\mathsf{fma}\left(g, g, -h \cdot h\right)}} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}
\] |
sub-neg [=>]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \color{blue}{\left(\left(-g\right) + \left(-\sqrt{g \cdot g - h \cdot h}\right)\right)}}
\] |
distribute-neg-out [=>]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \color{blue}{\left(-\left(g + \sqrt{g \cdot g - h \cdot h}\right)\right)}}
\] |
neg-mul-1 [=>]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \color{blue}{\left(-1 \cdot \left(g + \sqrt{g \cdot g - h \cdot h}\right)\right)}}
\] |
associate-*r* [=>]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\color{blue}{\left(\frac{1}{2 \cdot a} \cdot -1\right) \cdot \left(g + \sqrt{g \cdot g - h \cdot h}\right)}}
\] |
Applied egg-rr57.2%
[Start]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}}{\frac{a}{-0.5}}}
\] |
|---|---|
div-inv [=>]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\color{blue}{\left(g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}\right) \cdot \frac{1}{\frac{a}{-0.5}}}}
\] |
clear-num [<=]50.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\left(g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}\right) \cdot \color{blue}{\frac{-0.5}{a}}}
\] |
cbrt-prod [=>]56.2% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \color{blue}{\sqrt[3]{g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}} \cdot \sqrt[3]{\frac{-0.5}{a}}}
\] |
Simplified57.2%
[Start]57.2% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)} \cdot \sqrt[3]{\frac{-0.5}{a}}
\] |
|---|---|
*-commutative [=>]57.2% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \color{blue}{\sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}}
\] |
Applied egg-rr96.0%
[Start]57.2% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
|---|---|
*-commutative [=>]57.2% | \[ \sqrt[3]{\color{blue}{\left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right) \cdot \frac{0.5}{a}}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
cbrt-prod [=>]56.1% | \[ \color{blue}{\sqrt[3]{\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g} \cdot \sqrt[3]{\frac{0.5}{a}}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
fma-udef [=>]56.1% | \[ \sqrt[3]{\sqrt{\color{blue}{g \cdot g + \left(-h \cdot h\right)}} - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
add-sqr-sqrt [=>]31.2% | \[ \sqrt[3]{\sqrt{g \cdot g + \color{blue}{\sqrt{-h \cdot h} \cdot \sqrt{-h \cdot h}}} - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
hypot-def [=>]43.6% | \[ \sqrt[3]{\color{blue}{\mathsf{hypot}\left(g, \sqrt{-h \cdot h}\right)} - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
add-sqr-sqrt [=>]43.6% | \[ \sqrt[3]{\mathsf{hypot}\left(g, \sqrt{\color{blue}{\sqrt{-h \cdot h} \cdot \sqrt{-h \cdot h}}}\right) - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
sqrt-unprod [=>]81.9% | \[ \sqrt[3]{\mathsf{hypot}\left(g, \sqrt{\color{blue}{\sqrt{\left(-h \cdot h\right) \cdot \left(-h \cdot h\right)}}}\right) - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
sqr-neg [=>]81.9% | \[ \sqrt[3]{\mathsf{hypot}\left(g, \sqrt{\sqrt{\color{blue}{\left(h \cdot h\right) \cdot \left(h \cdot h\right)}}}\right) - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
sqrt-unprod [<=]89.6% | \[ \sqrt[3]{\mathsf{hypot}\left(g, \sqrt{\color{blue}{\sqrt{h \cdot h} \cdot \sqrt{h \cdot h}}}\right) - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
add-sqr-sqrt [<=]89.6% | \[ \sqrt[3]{\mathsf{hypot}\left(g, \sqrt{\color{blue}{h \cdot h}}\right) - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
sqrt-prod [=>]42.8% | \[ \sqrt[3]{\mathsf{hypot}\left(g, \color{blue}{\sqrt{h} \cdot \sqrt{h}}\right) - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
add-sqr-sqrt [<=]95.4% | \[ \sqrt[3]{\mathsf{hypot}\left(g, \color{blue}{h}\right) - g} \cdot \sqrt[3]{\frac{0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
add-sqr-sqrt [=>]0.0% | \[ \sqrt[3]{\mathsf{hypot}\left(g, h\right) - g} \cdot \sqrt[3]{\color{blue}{\sqrt{\frac{0.5}{a}} \cdot \sqrt{\frac{0.5}{a}}}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
Simplified96.0%
[Start]96.0% | \[ \sqrt[3]{\mathsf{hypot}\left(g, h\right) - g} \cdot \sqrt[3]{\frac{-0.5}{a}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
|---|---|
*-commutative [=>]96.0% | \[ \color{blue}{\sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{\mathsf{hypot}\left(g, h\right) - g}} + \sqrt[3]{\frac{-0.5}{a}} \cdot \sqrt[3]{g + \mathsf{hypot}\left(g, h\right)}
\] |
if -5.00000000000000013e-301 < (/.f64 1 (*.f64 2 a)) Initial program 45.1%
Simplified45.1%
[Start]45.1% | \[ \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)}
\] |
|---|---|
associate-/r* [=>]45.1% | \[ \sqrt[3]{\color{blue}{\frac{\frac{1}{2}}{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)}
\] |
metadata-eval [=>]45.1% | \[ \sqrt[3]{\frac{\color{blue}{0.5}}{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)}
\] |
+-commutative [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \color{blue}{\left(\sqrt{g \cdot g - h \cdot h} + \left(-g\right)\right)}} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}
\] |
unsub-neg [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \color{blue}{\left(\sqrt{g \cdot g - h \cdot h} - g\right)}} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}
\] |
fma-neg [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\color{blue}{\mathsf{fma}\left(g, g, -h \cdot h\right)}} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}
\] |
sub-neg [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \color{blue}{\left(\left(-g\right) + \left(-\sqrt{g \cdot g - h \cdot h}\right)\right)}}
\] |
distribute-neg-out [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \color{blue}{\left(-\left(g + \sqrt{g \cdot g - h \cdot h}\right)\right)}}
\] |
neg-mul-1 [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \color{blue}{\left(-1 \cdot \left(g + \sqrt{g \cdot g - h \cdot h}\right)\right)}}
\] |
associate-*r* [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\color{blue}{\left(\frac{1}{2 \cdot a} \cdot -1\right) \cdot \left(g + \sqrt{g \cdot g - h \cdot h}\right)}}
\] |
Applied egg-rr44.8%
[Start]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\frac{g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}}{\frac{a}{-0.5}}}
\] |
|---|---|
clear-num [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \sqrt[3]{\color{blue}{\frac{1}{\frac{\frac{a}{-0.5}}{g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}}}}}
\] |
cbrt-div [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \color{blue}{\frac{\sqrt[3]{1}}{\sqrt[3]{\frac{\frac{a}{-0.5}}{g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}}}}}
\] |
metadata-eval [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{\color{blue}{1}}{\sqrt[3]{\frac{\frac{a}{-0.5}}{g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}}}}
\] |
div-inv [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{\color{blue}{a \cdot \frac{1}{-0.5}}}{g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}}}}
\] |
metadata-eval [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot \color{blue}{-2}}{g + \sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)}}}}
\] |
fma-udef [=>]45.1% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \sqrt{\color{blue}{g \cdot g + \left(-h \cdot h\right)}}}}}
\] |
add-sqr-sqrt [=>]21.5% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \sqrt{g \cdot g + \color{blue}{\sqrt{-h \cdot h} \cdot \sqrt{-h \cdot h}}}}}}
\] |
hypot-def [=>]22.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \color{blue}{\mathsf{hypot}\left(g, \sqrt{-h \cdot h}\right)}}}}
\] |
add-sqr-sqrt [=>]22.0% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, \sqrt{\color{blue}{\sqrt{-h \cdot h} \cdot \sqrt{-h \cdot h}}}\right)}}}
\] |
sqrt-unprod [=>]43.7% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, \sqrt{\color{blue}{\sqrt{\left(-h \cdot h\right) \cdot \left(-h \cdot h\right)}}}\right)}}}
\] |
sqr-neg [=>]43.7% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, \sqrt{\sqrt{\color{blue}{\left(h \cdot h\right) \cdot \left(h \cdot h\right)}}}\right)}}}
\] |
sqrt-unprod [<=]44.8% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, \sqrt{\color{blue}{\sqrt{h \cdot h} \cdot \sqrt{h \cdot h}}}\right)}}}
\] |
add-sqr-sqrt [<=]44.8% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, \sqrt{\color{blue}{h \cdot h}}\right)}}}
\] |
sqrt-prod [=>]19.3% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, \color{blue}{\sqrt{h} \cdot \sqrt{h}}\right)}}}
\] |
add-sqr-sqrt [<=]44.8% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, \color{blue}{h}\right)}}}
\] |
Applied egg-rr94.0%
[Start]44.8% | \[ \sqrt[3]{\frac{0.5}{a} \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, h\right)}}}
\] |
|---|---|
associate-*l/ [=>]44.9% | \[ \sqrt[3]{\color{blue}{\frac{0.5 \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)}{a}}} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, h\right)}}}
\] |
cbrt-div [=>]48.1% | \[ \color{blue}{\frac{\sqrt[3]{0.5 \cdot \left(\sqrt{\mathsf{fma}\left(g, g, -h \cdot h\right)} - g\right)}}{\sqrt[3]{a}}} + \frac{1}{\sqrt[3]{\frac{a \cdot -2}{g + \mathsf{hypot}\left(g, h\right)}}}
\] |
Final simplification95.1%
| Alternative 1 | |
|---|---|
| Accuracy | 95.9% |
| Cost | 39876 |
| Alternative 2 | |
|---|---|
| Accuracy | 95.7% |
| Cost | 39488 |
| Alternative 3 | |
|---|---|
| Accuracy | 95.7% |
| Cost | 33604 |
| Alternative 4 | |
|---|---|
| Accuracy | 84.2% |
| Cost | 33220 |
| Alternative 5 | |
|---|---|
| Accuracy | 81.6% |
| Cost | 27012 |
| Alternative 6 | |
|---|---|
| Accuracy | 79.7% |
| Cost | 26884 |
| Alternative 7 | |
|---|---|
| Accuracy | 73.1% |
| Cost | 13632 |
herbie shell --seed 2023271
(FPCore (g h a)
:name "2-ancestry mixing, positive discriminant"
:precision binary64
(+ (cbrt (* (/ 1.0 (* 2.0 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1.0 (* 2.0 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))