shift makes better use of likely_ast_compare