\sqrt{\left(2 \cdot x\right) \cdot x}
\begin{array}{l}
\mathbf{if}\;x \leq -3.2220197881532 \cdot 10^{-310}:\\
\;\;\;\;-x \cdot \sqrt{2}\\
\mathbf{else}:\\
\;\;\;\;\begin{array}{l}
t_0 := \sqrt[3]{\sqrt{2}}\\
\left(t_0 \cdot t_0\right) \cdot \left(x \cdot t_0\right)
\end{array}\\
\end{array}
(FPCore (x) :precision binary64 (sqrt (* (* 2.0 x) x)))
(FPCore (x) :precision binary64 (if (<= x -3.2220197881532e-310) (- (* x (sqrt 2.0))) (let* ((t_0 (cbrt (sqrt 2.0)))) (* (* t_0 t_0) (* x t_0)))))
double code(double x) {
return sqrt((2.0 * x) * x);
}
double code(double x) {
double tmp;
if (x <= -3.2220197881532e-310) {
tmp = -(x * sqrt(2.0));
} else {
double t_0 = cbrt(sqrt(2.0));
tmp = (t_0 * t_0) * (x * t_0);
}
return tmp;
}



Bits error versus x
Results
if x < -3.222019788153194e-310Initial program 30.9
Taylor expanded in x around -inf 0.4
Simplified0.4
if -3.222019788153194e-310 < x Initial program 29.9
Taylor expanded in x around 0 0.4
Applied add-cube-cbrt_binary640.4
Applied associate-*l*_binary640.4
Final simplification0.4
herbie shell --seed 2022104
(FPCore (x)
:name "sqrt B"
:precision binary64
(sqrt (* (* 2.0 x) x)))