        function a() {
            b();
            c = 1;
            throw "d";
            // completely discarding the `if` would introduce some
            // bugs.  UglifyJS v1 doesn't deal with this issue; in v2
            // we copy any declarations to the upper scope.
            if (c) {
                e();
                var c;
                function b(){};
                // but nested declarations should not be kept.
                (function(){
                    var f;
                    function e(){};
                })();
            }
        }
