An evolutionary algorithm that generates candidate equations by combining and mutating mathematical expressions.