It is generally challenging to design decentralized controllers for swarms of robots because there is often no obvious relation between the individual robot behaviors and the final behavior of the swarm. As a solution, we use artificial evolution to automatically discover neural controllers for swarming robots. Artificial evolution has the potential to find simple and efficient strategies which might otherwise have been overlooked by a human designer. However, evolved controllers are often unadapted when used in scenarios that differ even slightly from those encountered during the evolutionary process. By reverse-engineering evolved controllers we aim towards hand-designed controllers which capture the simplicity and efficiency of evolved neural controllers while being easy to optimize for a variety of scenarios.