потому что код ты писал, ты точно имел представления о требованиях к коду, у компилятора же только плюсово-сишный стандарт и он не знает точно чего ты хочешь от, может определённая переменная должна на входе иметь сторого определённые значения, и ты это знаешь, а компилятор не знает и не может это как-то для себя доказать, в общем оптимизирующий компилятор штука сложная и нужно уметь для него писать код, чтобы он мог оптимизировать