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
