Вы можете проверить код, который генерирует компилятор, компилируя с -S, который генерирует файл .S.Вы получите что-то вроде этого, и вы можете подтвердить, что компилятор генерирует точно такой же код для каждого из ваших двух случаев.
{function, f1, 1, 12}.
{label,11}.
{func_info,{atom,test},{atom,f1},1}.
{label,12}.
{test,is_eq_exact,{f,11},[{x,0},{atom,whatever}]}.
return.
Лично я нахожу "все = X" нелогичным и труднеечитать.