Должно ли так быть?
Забудьте про float, всегда используйте double по умолчанию.
Вы в конце вычисляете x^197 / 197, Даже при х = 2 это во флоат не влезет.
Отлично работает на числах, меньших по модулю единицы.