Slightly re-arrange code to only perform computations if we do not exit the loop anyway Also simplify code somewhat