(FPCore (x y z) :precision binary64 (sqrt (+ (+ (* x x) (* y y)) (* z z))))
↓
(FPCore (x y z)
:precision binary64
(if (<= z 1.9e-32)
(- x)
(if (<= z 7200000000000.0)
(sqrt (+ (+ (* x x) (* y y)) (* z z)))
(if (<= z 1.8e+38) (- x) z))))
double code(double x, double y, double z) {
double tmp;
if (z <= 1.9e-32) {
tmp = -x;
} else if (z <= 7200000000000.0) {
tmp = sqrt((((x * x) + (y * y)) + (z * z)));
} else if (z <= 1.8e+38) {
tmp = -x;
} else {
tmp = z;
}
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 = sqrt((((x * x) + (y * y)) + (z * 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) :: tmp
if (z <= 1.9d-32) then
tmp = -x
else if (z <= 7200000000000.0d0) then
tmp = sqrt((((x * x) + (y * y)) + (z * z)))
else if (z <= 1.8d+38) then
tmp = -x
else
tmp = z
end if
code = tmp
end function
public static double code(double x, double y, double z) {
return Math.sqrt((((x * x) + (y * y)) + (z * z)));
}
↓
public static double code(double x, double y, double z) {
double tmp;
if (z <= 1.9e-32) {
tmp = -x;
} else if (z <= 7200000000000.0) {
tmp = Math.sqrt((((x * x) + (y * y)) + (z * z)));
} else if (z <= 1.8e+38) {
tmp = -x;
} else {
tmp = z;
}
return tmp;
}
def code(x, y, z):
return math.sqrt((((x * x) + (y * y)) + (z * z)))
↓
def code(x, y, z):
tmp = 0
if z <= 1.9e-32:
tmp = -x
elif z <= 7200000000000.0:
tmp = math.sqrt((((x * x) + (y * y)) + (z * z)))
elif z <= 1.8e+38:
tmp = -x
else:
tmp = z
return tmp
function code(x, y, z)
return sqrt(Float64(Float64(Float64(x * x) + Float64(y * y)) + Float64(z * z)))
end
↓
function code(x, y, z)
tmp = 0.0
if (z <= 1.9e-32)
tmp = Float64(-x);
elseif (z <= 7200000000000.0)
tmp = sqrt(Float64(Float64(Float64(x * x) + Float64(y * y)) + Float64(z * z)));
elseif (z <= 1.8e+38)
tmp = Float64(-x);
else
tmp = z;
end
return tmp
end
function tmp = code(x, y, z)
tmp = sqrt((((x * x) + (y * y)) + (z * z)));
end
↓
function tmp_2 = code(x, y, z)
tmp = 0.0;
if (z <= 1.9e-32)
tmp = -x;
elseif (z <= 7200000000000.0)
tmp = sqrt((((x * x) + (y * y)) + (z * z)));
elseif (z <= 1.8e+38)
tmp = -x;
else
tmp = z;
end
tmp_2 = tmp;
end
herbie shell --seed 2023090
(FPCore (x y z)
:name "FRP.Yampa.Vector3:vector3Rho from Yampa-0.10.2"
:precision binary64
:herbie-target
(if (< z -6.396479394109776e+136) (- z) (if (< z 7.320293694404182e+117) (sqrt (+ (+ (* z z) (* x x)) (* y y))) z))
(sqrt (+ (+ (* x x) (* y y)) (* z z))))