Optimizing reasoning budgets, rollout allocation, best-of-N, tree search, speculative decoding, and adaptive compute