Дело в том, что все переменные в программе описаны как целые (int). Значения переменных этого типа располагаются в промежутке от -32768 до 32767 (см. таблицу 1 шага 4). Отсюда можно сделать вывод, что вычисленный результат не помещается в выделенные для размещения переменной целого типа 2 байта.