When the condition of an AstWhile loop contains a statement (e.g. through an AstExprStmt), temporaries inserted in that statement need to go before that statement, not in the AstWhile precondition.