how llm reasoning works