Ок, это особенность реализации библиотеки iostream от майкрософт.
Iostream включает в себя ios, ios требует для работы xlocnum, а последний включает библиотеки
#include
#include
#include
#include
#include
#include
Т.е. пошли путем наименьшего сопротивления. Библиотека для работы должна выполнить возведение в квадрат? Давайте добавим в нее cmath вместо того чтобы добавить отдельную функцию.
Разумеется стандарт не гарантирует что одна библиотека должна подключать другие, поэтому правильно будет добавить cmath чтобы любой компилятор гарантированно обнаружил используемые математические функции.