code: function safeAdd_32_4(a, b, c, d)
  	{
  		var lsw = (a & 0xFFFF) + (b & 0xFFFF) + (c & 0xFFFF) + (d & 0xFFFF),
  			msw = (a >>> 16) + (b >>> 16) + (c >>> 16) + (d >>> 16) +
  				(lsw >>> 16);
  
  		return ((msw & 0xFFFF) << 16) | (lsw & 0xFFFF);
  	}
docs: Add four 32-bit integers, wrapping at 2^32. This uses 16-bit operations
  internally to work around bugs in some JS interpreters.
  
  @private
  @param {number} a The first 32-bit integer argument to be added
  @param {number} b The second 32-bit integer argument to be added
  @param {number} c The third 32-bit integer argument to be added
  @param {number} d The fourth 32-bit integer argument to be added
  @return {number} The sum of a + b + c + d