All these numbers we are pushing on the stack are integers (

`Int32` or

`Int64` where there is an overflow chance). right?

There is no negative zero defined for integers! The negative zero in IEEE 754 is defined for floating point numbers (

`float` and

`decimal`)!

So what

these lines are doing with [0, 0, 0, 0x80] is actually interpreting a completely different value (-2147483648) as so called negative zero by mistake.

What am I missing here?