The compiler code is complex enough as it is. Spelling out the if statements here seems to me clearer.