For 32bit, -Val is changed to ((uint32_t)(0x100000000-Value)).<div><br></div><div>For 64bit, -Val is changed to ((uint64_t)( UINT64_MAX - Value + 1 )).</div><div><br></div><div>Both new fixes are essentially the same as the underlying operations for -Val.  So, there is no semantics change, and no extra computational cost.</div>

<div><br></div><div>See fix in the patch attached. </div>