Por que essa enorme diferença de desempenho para uma função JavaScript encapsulada?

Então eu tenho esse código simples:

function Run () {
  var n = 2*1e7;
  var inside = 0;
  while (n--) {
    if (Math.pow(Math.random(), 2) +
        Math.pow(Math.random(), 2) < 1)
      inside++;
  }

  return inside;
}

var start = Date.now();
Run();
console.log(Date.now() - start);

E vai produzir algum tempo em torno de 335ms. Isso é muito bom. Mas, se eu encapsular a função Executar assim:

var d = Date.now();
(function Run () {
  var n = 2*1e7;
  var inside = 0;
  while (n--) {
    if (Math.pow(Math.random(), 2) +
        Math.pow(Math.random(), 2) < 1)
      inside++;
  }

  return inside;
})();
console.log(Date.now() - d);

Ele produzirá 18319ms, o que é muito pior do que no caso anterior. Por que é isso ?

Além disso, se for importante, estou executando no Chrome 26.0.1410.63, no console. Em node.js, ambos os snippets apresentam um bom desempenho no console.

questionAnswers(1)

yourAnswerToTheQuestion