Независимо от преобразования кода на другой язык или нет, я бы оптимизировал его следующим образом, в первую очередь:
void function_1(){
int a = 0;
int b =0;
for (int i=0; i < 8; i++)
{
if (i > 4)
{
a = 1;
}
else if ( i >= 2 )
{
b = 2;
}
else
{
/* - nothing to do */
/* - this statement is here as proof that we do not want to handle
/* other cases, as opposed to just forgetting about them */
/* - it can be used in the future for extenion, as needed */
}
}
}