Isolate input analysis into a single pass