function f(x) {

    write(f);

    write(x);

    (function () {

        write(f);

        write(x);

        eval('f = "inner f";');

        eval('x = "inner x";');

        write(f);

        write(x);

        eval('var f = "inner f 2";');

        eval('var x = "inner x 2";');

        write(f);

        write(x);

    })();

    write(f);

    write(x);

}
outer x
function f(x) {

    write(f);

    write(x);

    (function () {

        write(f);

        write(x);

        eval('f = "inner f";');

        eval('x = "inner x";');

        write(f);

        write(x);

        eval('var f = "inner f 2";');

        eval('var x = "inner x 2";');

        write(f);

        write(x);

    })();

    write(f);

    write(x);

}
outer x
function f(x) {

    write(f);

    write(x);

    (function () {

        write(f);

        write(x);

        eval('f = "inner f";');

        eval('x = "inner x";');

        write(f);

        write(x);

        eval('var f = "inner f 2";');

        eval('var x = "inner x 2";');

        write(f);

        write(x);

    })();

    write(f);

    write(x);

}
inner x
inner f 2
inner x 2
function f(x) {

    write(f);

    write(x);

    (function () {

        write(f);

        write(x);

        eval('f = "inner f";');

        eval('x = "inner x";');

        write(f);

        write(x);

        eval('var f = "inner f 2";');

        eval('var x = "inner x 2";');

        write(f);

        write(x);

    })();

    write(f);

    write(x);

}
inner x
vartest = 1
value = 1
hello
whatever
