Integer overflow and integer limits
tmp1 = -2*INT_MIN; undefined behaviour unless INT_MAX has twice the magnitude of INT_MIN (it won’t).
tmp2 = 2*INT_MIN; undefined behaviour (overflowing a signed integer)
tmp3 = -2*INT_MAX; undefined behaviour unless INT_MIN has twice the magnitude of INT_MAX (it won’t).
tmp4 = 2*INT_MAX; undefined behaviour (overflowing a signed integer)
temp1 = -2*INT_MIN; undefined behaviour (overflowing a signed integer)
temp2 = 2*INT_MIN; undefined behaviour (overflowing a signed integer)
temp3 = -2*INT_MAX; undefined behaviour (overflowing a signed integer)
temp4 = 2*INT_MAX; undefined behaviour (overflowing a signed integer)
Read more here: Source link
