Почему одни, незначащие скобочки, меняют ответ?
(-x)*(2*i+1)/(2*i) - вещественное число умножается на целое, результат вещественный, затем вещественное число делится на вещественное, результат вещественный.
(-x)*((2*i+1)/(2*i)) - целое число делится на целое, результат целое, затем вещественное число умножается на целое, результат вещественный.
У вас i - целое, а x - вещественное. При делении целого на целое идет деление нацело (с округлением вниз до целого). При делении целого на вещественное или вещественного на целое - результат вещественное.

Если лишние скобки поставить, то у вас сначала происходит деление нацело (2*i+1)/(2*i), а потом домножение на вещественное.
Без скобочек операции выполняются слева направо - a *(-1*x)*(2*i+1) даст вещественный результат, который точно поделится.

Если вы в скобочках приведете к вещественному, то у вас тоже все заработает: a = a *(-1*x)*((2*i+1.0)/(2*i));