Question: Inconsistently working if-statements within a procedure

Would anybody be able to explain to me why I had to rewrite this one baby-procedure that has an if-statement inside my larger procedure, so that I could get a later on if-statement to work? As best I can tell, they mean exactly the same thing.


Information that may be pertinent:

 - The entire (overall) procedure worked without throwing any warnings prior to my adding this new if-statement.
 - The if-statement itself worked perfectly fine on another worksheet, though I hadn't tested it inside a procedure.
 - Commenting out the if-statement but retaining the interior commands led to the sheet compiling again, showing that it was in fact the presence of the if-statement causing the issue. 
 - When I commented out the offending baby-procedure that started throwing the warning, the sheet once again compiled.

The added if statement:

if eval_size > 4 then Search(max(seq(eval_cont[i], i = 4 .. eval_size)), eval_cont); evals_pairlist := evals_pairlist[[1 .. 3, %]] fi:

The error I get, and its "positioning": 

Error, invalid expression for inline function


Please Wait...