Fix for < and <= bug on ULongs when comparing large number with small number

Comparing large number with small number would lead to incorrect result. For example

ULong.MaxValue < ULong(1) would give true (incorrectly)
while ULong.Max > ULong(1) would also be true (correctly)

this fix resolves this issues.

I have verified small vs small, large vs large and small vs large cases - all works