Comparative analysis of the Metropolis-Hastings algorithm as applied to the domain of program synthesis