\[ \begin{array}{c}[x, y, z] = \mathsf{sort}([x, y, z])\\ \end{array} \]
\[2 \cdot \sqrt{\left(x \cdot y + x \cdot z\right) + y \cdot z}
\]
↓
\[\begin{array}{l}
t_0 := \left(x \cdot z + x \cdot y\right) + y \cdot z\\
\mathbf{if}\;t_0 \leq 2 \cdot 10^{-323} \lor \neg \left(t_0 \leq 5 \cdot 10^{+307}\right):\\
\;\;\;\;2 \cdot \left(\sqrt{z} \cdot \sqrt{y} + 0.5 \cdot \left(\frac{x}{\sqrt{y}} \cdot \frac{y + z}{\sqrt{z}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \sqrt{y \cdot z + y \cdot \left(x + \frac{x \cdot z}{y}\right)}\\
\end{array}
\]
(FPCore (x y z)
:precision binary64
(* 2.0 (sqrt (+ (+ (* x y) (* x z)) (* y z)))))
↓
(FPCore (x y z)
:precision binary64
(let* ((t_0 (+ (+ (* x z) (* x y)) (* y z))))
(if (or (<= t_0 2e-323) (not (<= t_0 5e+307)))
(*
2.0
(+
(* (sqrt z) (sqrt y))
(* 0.5 (* (/ x (sqrt y)) (/ (+ y z) (sqrt z))))))
(* 2.0 (sqrt (+ (* y z) (* y (+ x (/ (* x z) y)))))))))double code(double x, double y, double z) {
return 2.0 * sqrt((((x * y) + (x * z)) + (y * z)));
}
↓
double code(double x, double y, double z) {
double t_0 = ((x * z) + (x * y)) + (y * z);
double tmp;
if ((t_0 <= 2e-323) || !(t_0 <= 5e+307)) {
tmp = 2.0 * ((sqrt(z) * sqrt(y)) + (0.5 * ((x / sqrt(y)) * ((y + z) / sqrt(z)))));
} else {
tmp = 2.0 * sqrt(((y * z) + (y * (x + ((x * z) / y)))));
}
return tmp;
}
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
code = 2.0d0 * sqrt((((x * y) + (x * z)) + (y * z)))
end function
↓
real(8) function code(x, y, z)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8), intent (in) :: z
real(8) :: t_0
real(8) :: tmp
t_0 = ((x * z) + (x * y)) + (y * z)
if ((t_0 <= 2d-323) .or. (.not. (t_0 <= 5d+307))) then
tmp = 2.0d0 * ((sqrt(z) * sqrt(y)) + (0.5d0 * ((x / sqrt(y)) * ((y + z) / sqrt(z)))))
else
tmp = 2.0d0 * sqrt(((y * z) + (y * (x + ((x * z) / y)))))
end if
code = tmp
end function
public static double code(double x, double y, double z) {
return 2.0 * Math.sqrt((((x * y) + (x * z)) + (y * z)));
}
↓
public static double code(double x, double y, double z) {
double t_0 = ((x * z) + (x * y)) + (y * z);
double tmp;
if ((t_0 <= 2e-323) || !(t_0 <= 5e+307)) {
tmp = 2.0 * ((Math.sqrt(z) * Math.sqrt(y)) + (0.5 * ((x / Math.sqrt(y)) * ((y + z) / Math.sqrt(z)))));
} else {
tmp = 2.0 * Math.sqrt(((y * z) + (y * (x + ((x * z) / y)))));
}
return tmp;
}
def code(x, y, z):
return 2.0 * math.sqrt((((x * y) + (x * z)) + (y * z)))
↓
def code(x, y, z):
t_0 = ((x * z) + (x * y)) + (y * z)
tmp = 0
if (t_0 <= 2e-323) or not (t_0 <= 5e+307):
tmp = 2.0 * ((math.sqrt(z) * math.sqrt(y)) + (0.5 * ((x / math.sqrt(y)) * ((y + z) / math.sqrt(z)))))
else:
tmp = 2.0 * math.sqrt(((y * z) + (y * (x + ((x * z) / y)))))
return tmp
function code(x, y, z)
return Float64(2.0 * sqrt(Float64(Float64(Float64(x * y) + Float64(x * z)) + Float64(y * z))))
end
↓
function code(x, y, z)
t_0 = Float64(Float64(Float64(x * z) + Float64(x * y)) + Float64(y * z))
tmp = 0.0
if ((t_0 <= 2e-323) || !(t_0 <= 5e+307))
tmp = Float64(2.0 * Float64(Float64(sqrt(z) * sqrt(y)) + Float64(0.5 * Float64(Float64(x / sqrt(y)) * Float64(Float64(y + z) / sqrt(z))))));
else
tmp = Float64(2.0 * sqrt(Float64(Float64(y * z) + Float64(y * Float64(x + Float64(Float64(x * z) / y))))));
end
return tmp
end
function tmp = code(x, y, z)
tmp = 2.0 * sqrt((((x * y) + (x * z)) + (y * z)));
end
↓
function tmp_2 = code(x, y, z)
t_0 = ((x * z) + (x * y)) + (y * z);
tmp = 0.0;
if ((t_0 <= 2e-323) || ~((t_0 <= 5e+307)))
tmp = 2.0 * ((sqrt(z) * sqrt(y)) + (0.5 * ((x / sqrt(y)) * ((y + z) / sqrt(z)))));
else
tmp = 2.0 * sqrt(((y * z) + (y * (x + ((x * z) / y)))));
end
tmp_2 = tmp;
end
code[x_, y_, z_] := N[(2.0 * N[Sqrt[N[(N[(N[(x * y), $MachinePrecision] + N[(x * z), $MachinePrecision]), $MachinePrecision] + N[(y * z), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
↓
code[x_, y_, z_] := Block[{t$95$0 = N[(N[(N[(x * z), $MachinePrecision] + N[(x * y), $MachinePrecision]), $MachinePrecision] + N[(y * z), $MachinePrecision]), $MachinePrecision]}, If[Or[LessEqual[t$95$0, 2e-323], N[Not[LessEqual[t$95$0, 5e+307]], $MachinePrecision]], N[(2.0 * N[(N[(N[Sqrt[z], $MachinePrecision] * N[Sqrt[y], $MachinePrecision]), $MachinePrecision] + N[(0.5 * N[(N[(x / N[Sqrt[y], $MachinePrecision]), $MachinePrecision] * N[(N[(y + z), $MachinePrecision] / N[Sqrt[z], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(2.0 * N[Sqrt[N[(N[(y * z), $MachinePrecision] + N[(y * N[(x + N[(N[(x * z), $MachinePrecision] / y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]]]
2 \cdot \sqrt{\left(x \cdot y + x \cdot z\right) + y \cdot z}
↓
\begin{array}{l}
t_0 := \left(x \cdot z + x \cdot y\right) + y \cdot z\\
\mathbf{if}\;t_0 \leq 2 \cdot 10^{-323} \lor \neg \left(t_0 \leq 5 \cdot 10^{+307}\right):\\
\;\;\;\;2 \cdot \left(\sqrt{z} \cdot \sqrt{y} + 0.5 \cdot \left(\frac{x}{\sqrt{y}} \cdot \frac{y + z}{\sqrt{z}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;2 \cdot \sqrt{y \cdot z + y \cdot \left(x + \frac{x \cdot z}{y}\right)}\\
\end{array}