def add32(a, b):
 lo = ((a & 65535) + (b & 65535))
 hi = (((a >> 16) + (b >> 16)) + (lo >> 16))
 return ((((- (hi & 32768)) | (hi & 32767)) << 16) | (lo & 65535))

def add32 ( a , b ) : lo = ( ( a & 65535 ) + ( b & 65535 ) ) hi = ( ( ( a >> 16 ) + ( b >> 16 ) ) + ( lo >> 16 ) ) return ( ( ( ( - ( hi & 32768 ) ) | ( hi & 32767 ) ) << 16 ) | ( lo & 65535 ) )
add two 32-bit words discarding carry above 32nd bit .