The code snippet looks okay to my eyes:
loop_index = loop_index == 0 ? 1 : loop_index;
loop_index = loop_index > 64 ? 64 : loop_index;
int rst = f_round_i(reset);
int i;
Where's the error?
you can't declare a variable except at the top of a block. Newer compilers
let you, and I think C99 supports it. Don't count on it yet, too many
people with old compilers.
move the bottom two lines over the top two.