llm reasoning explained