¿Por qué esta enorme diferencia de rendimiento para una función de Javascript encapsulado?

Así que tengo este código simple:

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);

Y saldrá en algún momento alrededor de 335ms. Eso es bastante bueno. Pero, si encapsulo la función Ejecutar así:

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);

Producirá 18319ms, que es mucho peor que el caso anterior. Por qué es esto ?

Además, si importa, lo estoy ejecutando en Chrome 26.0.1410.63, en la consola. En node.js, ambos fragmentos funcionan bien en la consola.

Respuestas a la pregunta(1)

Su respuesta a la pregunta