http://stackoverflow.com/questions/3437404/min-and-max-in-c makes a point about double evaluation. It's not a big deal, but there is a solid point that this MIN() macro might be misused down the line, causing bugs for non-obvious reasons.