The function returns the largest of the two numbers a and b.
In C, the most significant bit(MSB) is set to zero for positive numbers and to 1 for negative numbers. When the value of a-b is stored in the variable c, the MSB is set if b is larger and is not set if a is larger or is equal. The & operator is bitwise AND which is generally used to mask a few bits. Here, the hexadecimal number 0x80000000 is used to mask all bits except the MSB. Hence, c is set to zero if a is larger and is set to a negative value if b is larger. The ! operator is the negation operator. It sets a non-zero value to zero and zero value to one. Hence, only one of (!c) and (!!c) values will be one and the other will be zero. The return statement returns the largest of a and b.