Global variables with units: strange behavior

I've tried to add some global variables with dimensional values and noticed a lot of strange things in SolidWorks behavior.

"x" = 1deg

"x2" = "x"

x2 evaluates to 1mm. Why degrees become millimeters?

"x" = 1deg

"x3" = "D1@Sketch2"

"x2" = "x"

x2 evaluates to 1deg. I've just inserted another global variable which isn't related to "x" and "x2" and now it preserves units correctly.

"x" = cos(1deg)

x evaluates to 0.999mm. Cosine is non-dimensional, isn't it?

"x" = 1deg

"x2" = cos("x")

x evaluates to 0.999. So, if argument is another variable, behavior changes.

"x" = tan(1deg)

x evaluates to 0.017mm.

"x" = tan(1deg) * 10

x evaluates to 0.17. Where are millimeters?

"x" = 0.017mm * 10

x evaluates to 0.17mm. So, the matter is not in multiplication.

It's not a full list, it seems that this functionality is completely broken. I use SolidWorks 2014 x64 SP3.0.

SolidworksParts And Features