EquiBench: Benchmarking Code Reasoning Capabilities of Large Language Models via Equivalence Checking