Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ufuzz failure #3371

Closed
alexlamsl opened this issue Apr 20, 2019 · 0 comments · Fixed by #3372
Closed

ufuzz failure #3371

alexlamsl opened this issue Apr 20, 2019 · 0 comments · Fixed by #3372
Labels

Comments

@alexlamsl
Copy link
Collaborator

var _calls_ = 10, a = 100, b = 10, c = 0;

for (var brake1 = 5; typeof a == "function" && --_calls_ >= 0 && a(undefined, "a", --b + ~b) && brake1 > 0; --brake1) {
    1;
}

switch (typeof f1 == "function" && --_calls_ >= 0 && f1(a = a && a[(c = c + 1) + (typeof f1 == "function" && --_calls_ >= 0 && f1([]))], (a++ + [ (c = c + 1) + (a += (/[a2][^e]+$/ | "undefined" || 2 ^ [ , 0 ][1]) != (c = c + 1, 
true != [ , 0 ][1])), --b + (a = --b + 24..toString()), a && a[(c = c + 1) + +function a_2() {}()], (a || a || 3).toString(), typeof f0 == "function" && --_calls_ >= 0 && f0(function() {
    {
        var brake4 = 5;
        L39261: while ((c = 1 + c, ([ , 0 ].length === 2) - "object" === (-3 ^ 23..toString()), 
        "a" % -4, "" - NaN) && --brake4 > 0) {
            c = 1 + c, 3 % "function" * (22 / null) >> (38..toString() << Infinity >= 0 >> "b");
        }
    }
    {
    }
}(), Infinity, (c = c + 1) + --b) ].NaN || 9).toString()[a++ + {
    c: (c = c + 1) + {},
    b: (c = c + 1) + (0 === 1 ? a : b),
    "\t": --b + (([ , 0 ].length === 2) / -3 != 4 / "object") % (23..toString() * "number" == "c" * "a"),
    0: a++ + b++,
    a: --b + function() {
        {
            if (c = 1 + c, c = c + 1, a && (a[a++ + a++] += "b" - false != (this === 25))) {
                c = 1 + c, delete ("b" << "c") / (-3 + NaN != "bar" % [ , 0 ][1]);
            } else {
                c = 1 + c, ((-1 | "object") <= (-2 | [ , 0 ][1])) >> (/[a2][^e]+$/ > "foo" | NaN >>> /[a2][^e]+$/);
            }
            L39262: for (var brake13 = 5; (c = 1 + c, (true ^ "bar" | false <= 38..toString()) >= delete (a && (a[(c = 1 + c, 
            ("function", 5) * (5 <= -4) === (a *= ("undefined" !== 0) + (24..toString() == 0)))] = -2 != []))) && brake13 > 0; --brake13) {
                c = 1 + c, ("bar" <= "", "bar" << "object") > (a && (a.undefined ^= "bar" >> 3), 
                a && (a.in <<= /[a2][^e]+$/ ^ 2));
            }
        }
        ~(a && (a[a++ + {
            "-2": (c = 1 + c, ~(4, 38..toString()) >= (/[a2][^e]+$/ / -0 === ("a" & [ , 0 ].length === 2))),
            "-2": (c = 1 + c, a && (a[b--] = 23..toString() <= -0 !== ([ , 0 ][1] !== null)) && ("number" & true || "a" === -0)),
            Infinity: (c = 1 + c, (("number" || "object") == (1 & [ , 0 ].length === 2)) << ((a && (a.undefined <<= (null, 
            -2))) >>> ("c" >> 25))),
            b: (c = 1 + c, ("bar" >>> 5 || "a" & "b") >> (([ , 0 ].length === 2) >> true) + ([ , 0 ].length === 2 || 24..toString())),
            undefined: (c = 1 + c, (3 || -3) / (1 < -5) >> (5 | undefined | ("foo" || {})))
        }] >>= (a && (a[(c = 1 + c, 4 <= -0 !== 38..toString() <= "object" && ([] >> 4) % (24..toString() < null))] &= Infinity < -0) || 38..toString() ^ -5) % ("function" << -4 <= (-3 <= ""))));
    }
}[{}.foo]], 1 === 1 ? a : b)) {
  default:
    if (a && a[--b + (typeof f0 == "function" && --_calls_ >= 0 && f0("c", a = (c = c + 1) + ((false < "number" > (-2 ^ 4)) >>> ((/[a2][^e]+$/ | this) > ("b" !== null))), 25)) ? typeof f0 == "function" && --_calls_ >= 0 && f0(void (false * NaN != ("object", 
    23..toString()) != (a && (a.var += -2 || -5)) > (a && (a.Infinity = [] * 25)))) : --b + (b = a)]) {
        if (typeof f0 == "function" && --_calls_ >= 0 && f0(24..toString())) {
            for (var brake19 = 5; (a = a) && brake19 > 0; --brake19) {
                switch ((c = c + 1) + +("undefined" >= false >= (true !== -5) >= (-1 >= "") + (NaN + -2))) {
                  case a:
                    try {
                        switch (--b + (a && a[(c = c + 1) + a])) {
                          case --b + {}.NaN:
                            c = c + 1;
                            {
                                var expr24 = (c = 1 + c, (arguments_1 && (arguments_1.foo = this === 5)) > (c = c + 1, 
                                38..toString()) ^ (/[a2][^e]+$/ != "bar") << ("number" & null));
                                for (var key24 in expr24) {
                                    c = 1 + c;
                                    var arguments_1 = expr24[key24];
                                    c = 1 + c, ("function" / this | ({} && "a")) & ((arguments_1 && (arguments_1[(c = 1 + c, 
                                    (3 < "c") % (24..toString() * undefined) >= (c = c + 1, [] !== [ , 0 ][1]))] = "" > Infinity)) ^ (arguments_1 += true > -5));
                                }
                            }

                          case -2:
                            break;

                          case arguments_1 && arguments_1[(c = 1 + c, (arguments_1 && (arguments_1[(c = 1 + c, 
                            (2 == 24..toString() ^ "object" <= -4) <= ("bar" ^ [ , 0 ].length === 2, arguments_1 && (arguments_1.in |= -4 % "c")))] += 0 <= 1)) - (arguments_1 += ([ , 0 ].length === 2) > 2) > (2 == this & 2 > "object"))] ? (c = c + 1) + (arguments_1 && arguments_1[(c = 1 + c, 
                            +(arguments_1 && (arguments_1.undefined += (38..toString() | this) % (-4 >> ([ , 0 ].length === 2)))))]) : b + 1 - .1 - .1 - .1:
                          case typeof bar_2:
                            break;
                        }
                    } finally {
                        {
                            c = 1 + c, c = c + 1, (-2 ^ "c") == (arguments_1 && (arguments_1.in += -0 >> "b"));
                            c = 1 + c, (true === "undefined") >>> ("c" ^ 3), [ , 0 ][1] != [ , 0 ][1] !== (arguments_1 && (arguments_1.var *= "b" % "function"));
                            c = 1 + c, (this == this) > (-0 <= 23..toString()), c = c + 1, "number" ^ 25;
                            c = 1 + c, (this !== 2 !== (c = c + 1, "bar")) + (1 * "c" >>> (arguments_1 && (arguments_1[(c = 1 + c, 
                            ("foo" !== "number") + (-4 >>> "bar") >= ((4 === [ , 0 ][1]) <= 2 * false))] = ([ , 0 ].length === 2) <= {})));
                        }
                        if (((c = 1 + c, -0 | -3 || -0 == [], ("foo" | Infinity) * (-3 > true)) || 0).toString()[(c = 1 + c, 
                        (-4 && "b") > -5 * NaN < (24..toString() >> 0 & void 0))]) {
                            L39263: {
                            }
                        } else {
                            c = 1 + c, (c = c + 1, undefined << 0) ^ -4 != 4 === (-3, "object");
                        }
                    }
                    break;

                  case a++ + arguments_1:
                    try {
                        if ((c = c + 1) + b--) {
                            switch ([ (c = 1 + c, arguments_1 = "number" <= NaN >= (-3 || "function") ^ ("foo", 
                            "a") - (1 == 23..toString())), (c = 1 + c, (false >> "foo" | 3 != "foo") == (4 ^ 24..toString()) * ("bar" ^ [])), (c = 1 + c, 
                            (false, -0) >>> ([ , 0 ][1] && "foo") <= (true + 2 !== -0 / 24..toString())), , (c = 1 + c, 
                            ("b" == true == (false !== 0)) - ((arguments_1 = this * 0) || (-0 || "object"))) ].foo) {
                              case --b + (arguments_1 += (c = 1 + c, ("bar" >> -3 === (22 && 5)) * ((arguments_1 && (arguments_1.Infinity += -1 && {})) | 1 != []))):
                                c = 1 + c, (Infinity >>> /[a2][^e]+$/ ^ 25 < "number") < (("c" ^ "foo") > (1 != 23..toString()));
                                c = 1 + c, (arguments_1 = (arguments_1 && (arguments_1[(c = 1 + c, (false >= -5) + (22 - "foo") > (null != false === 4 >> "c"))] |= this && "function")) ^ ~"a") - ((c = c + 1, 
                                "c") <= (NaN != -2));
                                break;

                              case arguments_1:
                                c = 1 + c, (true | 0) > ([] > undefined) ^ (NaN < 2) % ("", [ , 0 ].length === 2);
                                c = 1 + c, (c = c + 1, "a", 5) >>> (arguments_1 && (arguments_1.in -= [ , 0 ][1] / 25 ^ (arguments_1 && (arguments_1.NaN = -5 >= "undefined"))));
                                break;

                              case a++ + (arguments_1 && (arguments_1[(--b + [].foo || 6).toString()[a++ + {
                                    c: (c = 1 + c, ((24..toString() <= -4) - (-0 === 24..toString())) % (arguments_1 && (arguments_1.foo = (4 || -4) % ("" - 1)))),
                                    get b() {
                                        c = 1 + c, arguments_1 = (5 + 24..toString() === -3 + -3) << ("c" & "number" || true !== -4);
                                    }
                                }.foo]] = "c" << 22 == ("function" || [ , 0 ][1]) === void "function" < 38..toString() * -5)):
                                c = 1 + c, arguments_1 += (("function" & -2) >= (2 ^ 1)) >>> (delete "object" == (-5 && []));
                                c = 1 + c, (23..toString() || [ , 0 ].length === 2) / (/[a2][^e]+$/ === "number") ^ (25 === 5) % (c = c + 1, 
                                23..toString());
                                break;

                              case (c = c + 1) + ++a:
                                c = 1 + c, (NaN > [ , 0 ][1] || false == "function") / ("a" != 22 != false * undefined);
                                break;
                            }
                        } else {
                            var brake45 = 5;
                            while (arguments_1 && --brake45 > 0) {
                                c = 1 + c, "a" % 1 >>> (24..toString() != 22) === (2 >= {}) >>> (0 << /[a2][^e]+$/);
                            }
                        }
                    } finally {
                        {
                            var brake47 = 5;
                            do {
                                c = c + 1;
                            } while (typeof b_1 != "special" && --brake47 > 0);
                        }
                        c = c + 1;
                    }
                    for (var brake50 = 5; /[abc4]/.test((--b + {
                        0: (c = 1 + c, (38..toString() | {} && (5 || 5)) >> (arguments_1 && (arguments_1[(c = 1 + c, 
                        ((3 & 0) >> (-1 & Infinity)) - (arguments_1 && (arguments_1[+function() {
                        }()] += -5 / 22 << ([] != -2))))] += 22 || "number"), "function" != "a")),
                        b: (c = 1 + c, (3 << "object") % (c = c + 1, undefined) != 24..toString() >> /[a2][^e]+$/ > (/[a2][^e]+$/ ^ -3))
                    }[void function() {
                    }()] || b || 5).toString()) && brake50 > 0; --brake50) {
                        switch (a++ + typeof Infinity_2) {
                          case a++ + --b:
                            c = c + 1;
                            break;

                          default:
                            c = 1 + c, (this ^ "") > 5 * 22 != ("c" + 2 != (arguments_1 && (arguments_1.null ^= this / "c")));

                          case [ (c = 1 + c, (arguments_1 += "number" * -1 & [] * Infinity) ^ ([] << NaN) * (23..toString() ^ 23..toString())) ][(c = c + 1) + (typeof arguments_1 == "function" && --_calls_ >= 0 && arguments_1((c = 1 + c, 
                            (4 || []) != (null != []) && (-4 === true) >= ("object" > -3)), (c = 1 + c, ((Infinity <= "foo") >>> null * 5) - (([ , 0 ].length === 2) << "a" != (false && this)))))]:
                            {
                                var expr54 = (c = 1 + c, (1 >= -2) >> false / ([ , 0 ].length === 2) ^ ("" ^ 25) === null * 0);
                                for (var key54 in expr54) {
                                    c = 1 + c, (false ^ Infinity) >>> "function" - -5 ^ ([ , 0 ].length === 2 | "number" && [ , 0 ].length === 2 ^ /[a2][^e]+$/);
                                }
                            }
                            {
                            }
                            break;

                          case 1 === 1 ? a : b:
                            switch (c = 1 + c, arguments_1 && (arguments_1[a++ + (typeof f0 == "function" && --_calls_ >= 0 && f0())] %= (38..toString() ^ "undefined") >= (22 <= "undefined") & (("foo" ^ {}) & ([] || 25)))) {
                              default:
                                ;

                              case c = 1 + c, 23..toString() + 38..toString() < (true ^ false) && +(-3 > 4):
                                ;
                                break;

                              case c = 1 + c, arguments_1 && (arguments_1.NaN += ("object" * Infinity == (false ^ -2)) >= (arguments_1 = (22 >= 25) / ("object" ^ "bar"))):
                                ;
                                break;

                              case c = 1 + c, - -0 == (arguments_1 && (arguments_1.Infinity += 2 >= /[a2][^e]+$/)) ^ 25 + undefined > (arguments_1 = {} >= 23..toString()):
                                ;
                                break;
                            }
                            break;
                        }
                    }
                    break;

                  case (c = c + 1) + function Math_2() {
                        /[abc4]/.test(((c = c + 1) + (typeof Math_2_1 === "special") || b || 5).toString());
                        {}
                    }():
                    break;

                  case a++ + (b + 1 - .1 - .1 - .1):
                    !a;
                    break;
                }
            }
        } else {
            try {
                a++ + ((typeof f1 == "function" && --_calls_ >= 0 && f1(+function a_2() {
                }(), "c") || a || 3).toString() ? a++ + arguments_1 : a++ + !function() {}());
            } catch (arguments_1_1) {
                {
                    var b = function f0() {
                        L39264: {
                            c = 1 + c, arguments_1 && (arguments_1[a++ + --b] += arguments_1_1 && (arguments_1_1[a++ + ((arguments_1 = ("bar", 
                            /[a2][^e]+$/)) << !4 < (([ , 0 ].length === 2) >>> -5 | 23..toString() < "b"))] = "a" <= "number" & 38..toString() >= []) && ("undefined" ^ 38..toString()) === [] - 2);
                            c = 1 + c, c = c + 1, (-0 && {}) ^ (null | [ , 0 ][1]);
                        }
                        c = c + 1;
                    }("function", 4, arguments_1_1 && arguments_1_1.null);
                }
                var arguments_1_1_2 = typeof f2 == "function" && --_calls_ >= 0 && f2(NaN);
            } finally {
                {
                    var expr69 = --b + (/[abc4]/.test((--b + (typeof bar == "boolean") || b || 5).toString()) ? arguments_1_1_2 : (c = c + 1) + (typeof f2 == "function" && --_calls_ >= 0 && f2([ , 0 ].length === 2, (c = c + 1) + -a)));
                    L39265: for (var key69 in expr69) {
                        {
                            var brake70 = 5;
                            while ((0 === 1 ? a : b) && --brake70 > 0) {
                                var bar = function f1(a) {
                                    c = 1 + c, ("number", [ , 0 ].length === 2) >> (5 == ([ , 0 ].length === 2)) << (({} | -5) < -3 * "undefined");
                                    c = 1 + c, (arguments_1 && (arguments_1.undefined = 5 / -0 >= ("a", 2))) / (arguments_1 -= (1 && "number") > ("c" <= "foo"));
                                }((c = 1 + c, !("object" * undefined) && "a" * false % (4 && "object")));
                            }
                        }
                    }
                }
                for (var brake74 = 5; a++ + (arguments_1 && arguments_1[(c = c + 1) + typeof (--b + (function() {
                }() ? b-- : /[abc4]/.test(((c = 1 + c, ("number" >> ([ , 0 ].length === 2) == (-2 === [])) * (-2 / -3 === -2 << 1)) || b || 5).toString())))]) && brake74 > 0; --brake74) {}
            }
        }
    } else {
        var brake76 = 5;
        do {
            {
                var undefined_2 = function f2(b_2, bar) {
                    var b_2_2;
                    switch (--b + --b) {
                      case --b + {
                            1.5: --b + --b,
                            get b() {
                                c = 1 + c, +(c = c + 1, "object" >> "foo");
                                return c = 1 + c, (5 !== 1) <= (-1 ^ 1) && 23..toString() >>> /[a2][^e]+$/ << (arguments_1_1_2 && (arguments_1_1_2[(c = 1 + c, 
                                (c = c + 1, "undefined") % (23..toString() == "undefined") && (c = c + 1, arguments_1_1_2 && (arguments_1_1_2.c += -5 >> 3)))] %= -4 / this));
                            },
                            3: arguments_1_1_2 /= (c = 1 + c, (b_2 && (b_2[--b + ((c = 1 + c, (NaN + "b" << ("foo" === -3)) - (2 + this < 25 * "c")) || 4).toString()[(c = 1 + c, 
                            (2 >>> -0 < ("a" >= 38..toString())) << ("foo" % 3 || (b_2 += -2 >>> "bar")))]] = (b_2 ^= 3 != -1, 
                            3 >> -4))) & (arguments_1_1_2 && (arguments_1_1_2[b_2_2] = ("foo" & 3) > ("function" !== "bar"))))
                        }.foo:
                        typeof a_1;
                        break;

                      case (c = c + 1) + b--:
                        c = c + 1;
                        break;

                      case typeof f2 == "function" && --_calls_ >= 0 && f2():
                        var b_2;
                        ;
                        break;

                      case (c = c + 1) + void function foo_2() {}():
                        break;
                    }
                }();
            }
        } while ((arguments_1_1_2 = (c = c + 1) + (0 === 1 ? a : b)) && --brake76 > 0);
    }

  case --b + --b:
    switch (a++ + void ((Infinity >= true) / (5 ^ {}) == (c = c + 1, -5 < "bar"))) {
      default:
        {
            var brake87 = 5;
            do {
                {
                    var brake88 = 5;
                    L39266: while (--b + [ undefined_2 && undefined_2[a++ + (undefined_2 && undefined_2[(c = c + 1) + (0 === 1 ? a : b)])], ("a" || 7).toString()[--b + (typeof f0 == "function" && --_calls_ >= 0 && f0({}, (c = 1 + c, 
                    undefined_2 = (arguments_1_1_2 && (arguments_1_1_2[[ (c = 1 + c, -5 >> ([ , 0 ].length === 2) | [ , 0 ][1] >>> ([ , 0 ].length === 2) || (4 | 4) >= undefined << 22) ]] = false ^ 3 && -0 >> 22)) ^ -0 >> 2 & Infinity + "b")))], /[abc4]/.test((arguments_1 && arguments_1.b || b || 5).toString()), a++ + b--, 24..toString() ].foo && --brake88 > 0) {
                        var brake89 = 5;
                        do {
                            c = c + 1;
                        } while (b++ && --brake89 > 0);
                    }
                }
            } while (--b + (typeof f0 == "function" && --_calls_ >= 0 && f0(/[a2][^e]+$/)) && --brake87 > 0);
        }
        {
            var Math_1 = function f3(NaN, c_1, a) {
                try {
                    switch (arguments_1 = (arguments_1 && (arguments_1[{
                        foo: (c = 1 + c, [] > true ^ (5 ^ -1), +/[a2][^e]+$/ && -4 < "b"),
                        length: (c = 1 + c, (-1 >> 25) / (/[a2][^e]+$/ || 3) < ((c = c + 1, NaN) | [ , 0 ].length === 2 ^ ""))
                    }[(c = 1 + c, Infinity >= 23..toString() !== (-5 !== 22) !== (22 + 38..toString() & -0 * -1))]] = -3 >>> null | NaN >> 3)) % ("a" !== false & -2 + false)) {
                      case undefined_2:
                        break;

                      case (c = c + 1) + !((undefined_2 && (undefined_2[(c = 1 + c, undefined_2 && (undefined_2[{
                            in: (c = 1 + c, ((c = c + 1, -5) ^ true / false) == ((c = c + 1, /[a2][^e]+$/) || -4 != -0)),
                            0: (c = 1 + c, (([ , 0 ].length === 2) << "foo" ^ "a" >>> 24..toString()) & (38..toString() + -5 ^ "function" != [])),
                            "-2": (c = 1 + c, c_1 && (c_1.a = "bar" >> this < 3 << 24..toString() == (-1 + "bar" === 22 < -0))),
                            "-2": (c = 1 + c, (c = c + 1, true || false) ^ (1 < 38..toString()) << /[a2][^e]+$/ / "b"),
                            1.5: (c = 1 + c, (arguments_1 && (arguments_1.var += (4 | 1) << -4 % "b")) & (arguments_1 && (arguments_1.null = "number" + NaN & "" % 24..toString())))
                        }] = 24..toString() + true == 38..toString() >= "bar" & 1 <= Infinity <= (25 & "function")))] += 1 && -4)) >>> (NaN << 38..toString()) >>> (arguments_1 && (arguments_1.Infinity = (undefined_2 && (undefined_2[(c = 1 + c, 
                        (4 % 1 | 1 >= 22) * ("function" + 1 | -1 << "undefined"))] += /[a2][^e]+$/ >= 24..toString())) >= (5 | 23..toString())))):
                        {
                            return c = 1 + c, (c = c + 1, /[a2][^e]+$/) < false * "object" & (c = c + 1, arguments_1_1_2 && (arguments_1_1_2.c = "b" << 23..toString()));
                        }
                        {
                        }
                        break;

                      case 1 === 1 ? a : b:
                        {
                        }
                        {
                            return;
                            c = 1 + c, ([ , 0 ][1] >>> "foo" >> (NaN << 22)) / (undefined > -2 < {} >>> NaN);
                        }
                        break;

                      case (c = c + 1) + function c_1() {
                            c = 1 + c, (c = c + 1, 24..toString() === 25) !== (true != 22) >>> ("a" ^ false);
                        }:
                        {
                            var brake99 = 5;
                            do {
                                c = 1 + c, ~(38..toString() * null < (3 & -1));
                            } while ((c = 1 + c, (arguments_1_1_2 && (arguments_1_1_2[(c = 1 + c, (5 || false) <= ("object" ^ /[a2][^e]+$/) === (c = c + 1, 
                            /[a2][^e]+$/) >> (5 <= -1))] += "" >= "a")) >>> (-5 >> true) !== (undefined_2[arguments_1_1_2] += /[a2][^e]+$/ - -2 == (25 | 2))) && --brake99 > 0);
                        }
                        var bar = (c = 1 + c, ((arguments_1 && (arguments_1[(c = 1 + c, ([ , 0 ][1] < false) + -0 / NaN > (-5 >> -3 != ("foo", 
                        -1)))] += this || 4)) != (NaN ^ undefined)) << "c" / NaN / ("c" + [ , 0 ][1])), a_2 = (c = 1 + c, 
                        (Infinity != "" ^ ("number" ^ -1)) === (24..toString() != 4 ^ (a_2 = 38..toString() > 25)));
                        break;
                    }
                } catch (b_2) {
                    try {
                        {
                            var expr103 = (c = 1 + c, 23..toString() > "a" < (b_2 && (b_2.null += [] ^ this)) <= (([], 
                            -0) && -3 >> -3));
                            for (var key103 in expr103) {
                                c = 1 + c;
                                var arguments_1 = expr103[key103];
                                c = 1 + c, (-3 == 4) - (-2 == false) || (arguments_1_1_2 = null == -0 == (arguments_1 && (arguments_1.NaN = "c" << "object")));
                            }
                        }
                    } catch (b_2_1) {
                        c = 1 + c, ("foo" <= undefined) >> (38..toString() | "b") | (arguments_1_1_2 = [ , 0 ].length === 2 || undefined) >> (1 <= null);
                        c = 1 + c, void (arguments_1_1_2 = "foo" === true !== (undefined && 24..toString()));
                    }
                    var foo_2 = b + 1 - .1 - .1 - .1;
                }
                -5;
            }();
        }

      case typeof (a++ + /[abc4]/.test(((b = a) || b || 5).toString())):
        switch (a++ + (Math_1 -= (c = c + 1) + (a++ + new function Infinity() {
            this[new function foo() {
                this.NaN >>>= ((this, "number") === "function" + -5) / ("bar" >> -0 & -4 - /[a2][^e]+$/);
                this[a++ + !function() {}()] = (arguments_1_1_2 && (arguments_1_1_2[(c = c + 1) + (typeof f4 == "function" && --_calls_ >= 0 && f4(2, (c = 1 + c, 
                (arguments_1_1_2 = "a" + [ , 0 ][1] ^ "a" << -1) != ("" + 0 == (2 ^ 22)))))] += (/[a2][^e]+$/ > 2, 
                -5, 0))) <= (undefined & 23..toString()) % ("undefined" >>> -0);
                this[typeof f4 == "function" && --_calls_ >= 0 && f4((c = 1 + c, undefined_2 %= this << "number" ^ 2 < "a" ^ (Infinity !== [ , 0 ][1] || delete "")), (c = 1 + c, 
                (([ , 0 ][1] | "") ^ (arguments_1_1_2 = 3 > true)) - (c = c + 1, 23..toString() * undefined)))] >>= (-0 + null & 3 * NaN) * ([] * "number" != ([], 
                0));
            }()] = ((c = c + 1, null) * ([ , 0 ][1] % 38..toString()) >= (("number" != -0) >= (-0 == "foo"))) * ((-1 == "object" == (-5 ^ -2)) + ((undefined <= -2) >>> (23..toString() >>> -0)));
            switch ((c = c + 1) + {
                b: (c = 1 + c, 4 > "number" < (5 & "b") != (true, []) / ([ , 0 ][1] | this)),
                get foo() {
                    c = 1 + c, arguments_1 && (arguments_1.foo += (Math_1 && (Math_1.b = (1 ^ [ , 0 ][1]) + {} / "")) & (-5 & -5) < 0 + "function");
                },
                undefined: (c = 1 + c, ~(-5 && undefined) + ("foo" >>> 38..toString() ^ "function" !== 22)),
                null: (c = 1 + c, ("bar" >= "c" !== ("a" ^ 22)) - (("object" ^ "b") === -1 <= "a")),
                foo: (c = 1 + c, ((Math_1 && (Math_1.a = [] % false)) !== (c = c + 1, "bar")) / (arguments_1_1_2 && (arguments_1_1_2.foo = (1 - null) % ("bar" & NaN))))
            }) {
              case --b + !function() {
                }():
                c = 1 + c, (("undefined", "") & ("b" & 24..toString())) <= (c = c + 1, "object") / (-5 && [ , 0 ].length === 2);
                break;

              case typeof parseInt_2 === "crap":
                c = 1 + c, c = c + 1, "foo" !== -4, 3 != "c";
                c = 1 + c, ("undefined" && "", 2 !== 38..toString()) - ((2 >= 0) >>> (-3 >> "b"));
                break;

              case a++ + /[abc4]/.test(((c = 1 + c, ((Infinity != [ , 0 ][1]) > (arguments_1 && (arguments_1.c += "" <= 4))) * (c = c + 1, 
                ~-2)) || b || 5).toString()):
                c = 1 + c, (-1 | [ , 0 ][1]) % (5 % this) >>> ((arguments_1 && (arguments_1[(c = 1 + c, 
                (25 >> -3 !== -4 * NaN) * (NaN / 5 || 25 > -1))] += 22 * undefined)) | undefined > Infinity);
                break;

              case +function a_1() {
                }():
                c = 1 + c, (Math_1 && (Math_1.a >>>= "foo" === "foo")) >> ("" << "") === (arguments_1_1_2 && (arguments_1_1_2.c &= 38..toString() / "foo")) >> ("object" || this);
                c = 1 + c, (c = c + 1, "foo") * (-0 || 2) !== "b" - true << (null, NaN);
                break;
            }
            for (var brake118 = 5; a-- && brake118 > 0; --brake118) {
                var brake119 = 5;
                do {
                    c = 1 + c, ("undefined" / 23..toString() == (-0 | 2)) >> (23..toString() <= true != false >> 4);
                } while ((c = 1 + c, (Math_1 && (Math_1[a++ + (typeof f0 == "function" && --_calls_ >= 0 && f0((c = 1 + c, 
                (delete ([ , 0 ].length === 2) || "number" >= 3) != (c = c + 1, 5 === 25))))] = 1 < "foo" != ("function" ^ 0))) > (undefined_2 = [ , 0 ][1] | -5) - (arguments_1 && (arguments_1[(c = 1 + c, 
                c = c + 1, (arguments_1 && (arguments_1[(c = 1 + c, (false, -3) / ({} - ([ , 0 ].length === 2)) >= (undefined_2 && (undefined_2[(c = c + 1) + ((c = 1 + c, 
                ("function" < "") << (38..toString() >> -2) == (arguments_1_1_2 && (arguments_1_1_2[-0] += (arguments_1 && (arguments_1[(c = 1 + c, 
                undefined_2 += ("undefined" && "a", undefined % -1) < (arguments_1_1_2 -= (25 !== NaN) > (2 >= 4)))] ^= "number" << 5)) - (false && "function")))) ? (c = 1 + c, 
                (undefined_2 += "foo" / false << (-4 < false)) == "b" + "object" + (1 !== false)) : (c = 1 + c, 
                (c = c + 1, "b") <= (null | 23..toString()) < (undefined_2 && (undefined_2[--b + {}] += (5 && -5) != ("foo" === undefined)))))] = false == NaN & ([ , 0 ].length === 2 ^ false))))] = false + "")) != {} >> "function")] += 4 << true))) && --brake119 > 0);
            }
            c = c + 1;
        }() || 3).toString()[--b + void function() {
            return;
        }()])) {
          case (c = c + 1) + {
                null: a++ + b--,
                0: (c = c + 1) + (b <<= a),
                1.5: --b + a++
            }[a++ + (arguments_1 = --b + (typeof arguments_1_2 !== "unknown"))]:
            {
                var expr123 = !b;
                L39267: for (var key123 in expr123) {
                    c = 1 + c;
                    var a = expr123[key123];
                    {
                        var brake124 = 5;
                        L39268: do {
                            c = c + 1;
                        } while (a++ && --brake124 > 0);
                    }
                }
            }
            var foo_1 = --b + !function() {
                {
                    return typeof f0 == "function" && --_calls_ >= 0 && f0((c = 1 + c, (arguments_1_1_2 && (arguments_1_1_2[(c = 1 + c, 
                    (arguments_1 <<= this >= null >= (c = c + 1, 2)) < (-4 >>> -4 <= (NaN > 3)))] >>= /[a2][^e]+$/ * 24..toString())) ^ (false ^ "b") || (arguments_1 && (arguments_1.c = {} & /[a2][^e]+$/)) > (true, 
                    "bar")), "a");
                }
                {
                    return (c = c + 1) + {
                        foo: (c = 1 + c, (0 / this | (arguments_1 |= "bar" / -3)) == (arguments_1 && (arguments_1.c = null > 0)) + ("b" + "undefined")),
                        null: (c = 1 + c, (c = c + 1, "" / 24..toString()) > ((4, false) != (5, []))),
                        b: (c = 1 + c, NaN % 2 * (-0 && false) / ((false <= 23..toString()) - (-2 | ""))),
                        "\t": (c = 1 + c, (c = c + 1, true & 22) || ("number" >= -3) + (foo_1 && (foo_1[(c = 1 + c, 
                        (([ , 0 ].length === 2 & "number") >= ("a" != undefined)) >> -({} == -0))] = 25 >> 38..toString()))),
                        in: (c = 1 + c, (null >>> 4 !== (arguments_1 >>>= -0 > "bar")) << ((c = c + 1, Infinity) && {} | 3))
                    };
                }
                for (var brake129 = 5; void ((3 === 2 && 5 != this) == (undefined === "", Infinity === {})) && brake129 > 0; --brake129) {
                    var brake130 = 5;
                    L39269: do {
                        c = 1 + c, (25 == false) * (-3 + -3) > void (arguments_1_1_2 && (arguments_1_1_2.NaN = true <= "undefined"));
                    } while ((c = 1 + c, (-5 && -5) >= null >> 25 & (null << "object") * ("foo" & null)) && --brake130 > 0);
                }
            }(), foo = [ (c = c + 1) + 4 ];
            break;

          case {
                "-2": 0 === 1 ? a : b
            }.foo:
            break;

          case ~("a" >>> "object" >>> ("b" >= 23..toString()) | (undefined_2 && (undefined_2.Infinity += "object" <= 25 > ([ , 0 ][1] != true)))):
            switch (+b) {
              case (a++ + [ undefined_2 ][[]] || a || 3).toString():
                try {
                    try {
                        {
                            var expr135 = (c = 1 + c, ((24..toString() !== "undefined") <= (arguments_1 && (arguments_1[(c = 1 + c, 
                            (foo_1 && (foo_1[0] = (Math_1 && (Math_1.undefined += -1 & [])) !== (-3 | "a"))) < ((true && "bar") >= 25 * 38..toString()))] &= "a" | "undefined"))) >> ((NaN <= "object") >>> "foo" / 22));
                            for (var key135 in expr135) {
                                c = 1 + c, (c = c + 1, 2) > ([] ^ 5) | ("c" >> "foo", "undefined" != -4);
                            }
                        }
                    } catch (b_1) {
                        c = 1 + c, (undefined > ([ , 0 ].length === 2) === -2 < "number") + +(arguments_1_1_2 = -5 % "foo");
                        c = 1 + c, (arguments_1_1_2 |= (c = c + 1, 5) / ("b" ^ -0)) % ((24..toString() < false) * (null != "function"));
                    }
                } finally {
                    {
                        var brake139 = 5;
                        while ((c = 1 + c, c = c + 1, -0 >>> 3 === (Infinity ^ "b")) && --brake139 > 0) {
                            c = 1 + c, ({} == /[a2][^e]+$/) >= (25 || {}) && (arguments_1_1_2 && (arguments_1_1_2.foo = (/[a2][^e]+$/ === [ , 0 ][1]) >= (false >= [ , 0 ][1])));
                        }
                    }
                    for (var brake141 = 5; (c = 1 + c, (NaN >> 0) / (25 != "number") ^ (false >> "foo" && undefined == "")) && brake141 > 0; --brake141) {
                        c = 1 + c, -1 / undefined <= this - -4 >= (2 != 22 ^ ("foo" | "b"));
                    }
                }
                switch ((c = c + 1) + (typeof f4 == "function" && --_calls_ >= 0 && f4((c = 1 + c, 
                (undefined_2 && (undefined_2[Math_1] = (undefined_2 && (undefined_2.var = "number" ^ 23..toString())) >>> ("number" || NaN))) < (undefined_2 && (undefined_2.NaN = "foo" === undefined)) / (1 >= "function"))))) {
                  case undefined_2:
                    break;

                  default:
                    switch (c = 1 + c, {} / -4 <= null + "a" ^ ([ , 0 ][1] + 23..toString()) / ([ , 0 ].length === 2 | Infinity)) {
                      case c = 1 + c, arguments_1_1_2 += (("a" | "a") > (undefined_2 && (undefined_2[(c = 1 + c, 
                        "object" - "bar" === (Infinity === "bar") ^ (23..toString() + "bar" ^ "c" > "b"))] = Infinity === 25))) >>> (arguments_1 && (arguments_1.var += true < 5)) - ([ , 0 ].length === 2 == [ , 0 ][1]):
                        ;
                        break;

                      default:
                        ;

                      case c = 1 + c, ("" / this != ([ , 0 ].length === 2 ^ "number")) > (-5 >> 24..toString() === (-2 || false)):
                        ;
                        break;

                      case c = 1 + c, (undefined * false >= ("c" != -2)) % (NaN + "object" && "foo" % undefined):
                        ;
                        break;
                    }
                    L39270: {
                    }

                  case {}[typeof arguments_1_2 != "symbol"]:
                    c = c + 1;
                    break;

                  case +a:
                    L39271: {
                    }
                    {
                        var brake148 = 5;
                        do {
                            c = 1 + c, ("undefined", {}) >> (-4 ^ -3) >= (2 < -5 > ("c" !== {}));
                        } while ((c = 1 + c, undefined_2 && (undefined_2.c = ("object" == 0) - (c = c + 1, 
                        22)) && (Math_1 && (Math_1[a++ + /[abc4]/.test(((c = 1 + c, +(0 / 25) * (foo_1 && (foo_1.foo += ([], 
                        undefined)) || 24..toString() === 38..toString())) || b || 5).toString())] = 5 * 23..toString() === ("foo" === -4)))) && --brake148 > 0);
                    }
                }
                break;

              case a++:
                break;

              case --b + b--:
                break;

              case undefined_2 = (c = c + 1) + [ --b, , --b + [ (c = 1 + c, arguments_1 && (arguments_1[--b + --b] = (5 && -0) - (1 | 24..toString()) + (38..toString() == "number") / (false && -4))), (c = 1 + c, 
                [] >>> 5 !== -1 > -2, foo_1 && (foo_1.NaN = Infinity - "" >> (25 >>> 24..toString()))), , (c = 1 + c, 
                (4 >= -5) >>> (25 != undefined) || (/[a2][^e]+$/ === "a") + (0 !== 23..toString())), (c = 1 + c, 
                -0 != -5 === (3 != 25) != ("function" / 3 != this / -5)) ], delete (({} === /[a2][^e]+$/) - ([ , 0 ][1] !== 2) < "foo" / -2 >>> (null !== 22)), ~b ][--b + function a_1() {
                    c = 1 + c, (-5 > NaN, 3 === Infinity) / (("" === NaN) >= (false ^ "a"));
                    c = 1 + c, (~/[a2][^e]+$/, c = c + 1, "undefined") >= ("bar" ^ -4 || Math_1 && (Math_1[(c = 1 + c, 
                    +("a" << {} >= !0))] /= -5 | this));
                }()]:
                ({
                    var: (c = 1 + c, (25 < true || (arguments_1 %= "foo" && 22)) ^ "" <= 25 >= (foo_1 ^= {} <= /[a2][^e]+$/)),
                    foo: (c = 1 + c, Infinity === Infinity & 24..toString() + -5 && ("b" & -0) >>> (-4 << 23..toString()))
                })[(c = 1 + c, (Math_1 && (Math_1.undefined ^= (2 & this) >>> (c = c + 1, 0))) == (foo_1 &= (-2 ^ 4, 
                "number" && []))) ? (c = 1 + c, (arguments_1_1_2 && (arguments_1_1_2[typeof f2 == "function" && --_calls_ >= 0 && f2(24..toString(), (c = 1 + c, 
                "a" >>> "foo" >> ("b" < null) & (undefined_2 = 0 / "" ^ (22 && Infinity))))] = (undefined - {}) * (-3 > -5))) * (4 + "number" | /[a2][^e]+$/ % [ , 0 ][1])) : (c = 1 + c, 
                (undefined_2 && (undefined_2.foo %= 1 || 2)) << +"", arguments_1 && (arguments_1[--b + ((c = 1 + c, 
                ((c = c + 1, 1) === (c = c + 1, [ , 0 ].length === 2)) >> ("foo" << 0 > "undefined" + "bar")) || 5).toString()[(c = 1 + c, 
                (foo_1 = (([ , 0 ].length === 2) < "a") % ("function" | 22)) >>> ((undefined_2 && (undefined_2[(c = 1 + c, 
                (this <= undefined, 38..toString() !== false) > (("c", this) && (this || 22)))] += 25 ^ -5)) != "b" << null))]] = ("c" !== 24..toString()) > ("object" !== ([ , 0 ].length === 2))))];
                break;
            }
            if (a++ + (typeof f3 == "function" && --_calls_ >= 0 && f3(a++ + +function undefined() {
                c = 1 + c, (23..toString() <= "undefined" ^ /[a2][^e]+$/ > /[a2][^e]+$/) === ("function" >= 2) >>> ([ , 0 ].length === 2 ^ -2);
            }(), (c = c + 1) + "foo"))) {
                var b_1 = a++ + delete ((this << undefined ^ "a" === -2) >= (38..toString() < false || 2 / -2)), foo = --b + {
                    foo: !a
                }[(c = c + 1) + a++];
            } else {
                c = c + 1;
            }
            break;

          default:
        }
        break;

      case --b + +a:
        break;

      case (c = c + 1) + typeof b++:
        break;
    }
    break;

  case [ typeof foo_1 == "function" && --_calls_ >= 0 && foo_1(!a), b *= a, /[abc4]/.test((a++ + [ a++ + !b, typeof bar_1, typeof b_2 == "boolean" ][a++ + !function() {}()] || b || 5).toString()), (c = c + 1) + "c", void function() {
        var c_2 = function foo_1() {
            var bar;
            {
                var c_2_1 = function f4(arguments_1, Infinity, a_2) {
                    c = 1 + c, foo_1 && (foo_1.NaN += ("undefined" < 24..toString() || ([ , 0 ].length === 2) > Infinity, 
                    ([ , 0 ].length === 2) - NaN || -1 !== 24..toString()));
                    c = 1 + c, c = c + 1, (2 | 3) * ~"object";
                }();
            }
            {
                var expr162 = {};
                for (var key162 in expr162) {
                    var c_2_1 = --b + !function() {
                    }();
                }
            }
            --b + void function() {
                c = 1 + c, (-5 ^ true || "bar" / "") / (arguments_1 && (arguments_1.b += (arguments_1_1_2 && (arguments_1_1_2.foo = 4 != 38..toString())) | "bar" >= NaN));
                c = 1 + c, !(([ , 0 ].length === 2 == "c") >= /[a2][^e]+$/ - "c");
            }();
        };
        {
            var brake167 = 5;
            while (a++ + {
                Infinity: (undefined_2 = (null < 1) << true / 3) ^ (arguments_1_1_2 && (arguments_1_1_2[(c = 1 + c, 
                (("a" ^ "number") < (38..toString() | "object")) / (undefined_2 += 24..toString() % "" - -2 / -2))] ^= [ , 0 ].length === 2 | undefined)) !== "undefined" >> 25,
                "": a++ + "c",
                null: [ (c = c + 1) + new function() {
                    this.Infinity = /[a2][^e]+$/ & 0;
                    this[(c = 1 + c, (-4 / 1 ^ "b" <= 3) * (/[a2][^e]+$/ - 4, true | -4))] = [ , 0 ][1] | -1;
                }(), a++ + (1 === 1 ? a : b), a++ + -3, b = a ][(c = c + 1) + (typeof Math_1 == "function" && --_calls_ >= 0 && Math_1("object"))],
                foo: typeof c_2 == "function" && --_calls_ >= 0 && c_2(-2, (c = c + 1) + {}, [].b),
                get c() {
                    --b + (b += a);
                    return ++b;
                }
            } && --brake167 > 0) {
                var expr170 = a++ + typeof (a++ + (typeof foo != "special"));
                for (var key170 in expr170) {
                    if (typeof f4 == "function" && --_calls_ >= 0 && f4(--b + "foo", a++ + {
                        null: (c = 1 + c, ("c" >> 2 << ([ , 0 ].length === 2 & -5)) + (undefined_2 && (undefined_2[a++ + a--] = (c = c + 1, 
                        "c") <= (/[a2][^e]+$/ < "bar"))))
                    }[(c = 1 + c, (/[a2][^e]+$/ !== "object") / (1 | "bar") >> ((-1 == 25) < (true <= "")))])) {
                        L39272: for (var brake172 = 5; --b + b_1 && brake172 > 0; --brake172) {
                            return (c = c + 1) + a++;
                        }
                    }
                }
            }
        }
    }() ][~((arguments_1_1_2 && (arguments_1_1_2.in = ("undefined" ^ this) < -5 << 22)) >> (undefined <= null || "foo" >>> this))]:
    a++ + -3;
    break;

  case typeof f5 == "function" && --_calls_ >= 0 && f5(a++ + (b = a)):
    {
        var brake175 = 5;
        while (22 && --brake175 > 0) {
            for (var brake177 = 5; typeof a_2 !== "undefined" && brake177 > 0; --brake177) {
                continue;
            }
            --b + (("undefined" ^ NaN) % (undefined_2 && (undefined_2[(c = 1 + c, (("b" || 5) & ("function", 
            25)) == (23..toString(), -5) >= (c = c + 1, null))] = 1 !== NaN)) + (38..toString() >> false ^ -0 > "a"));
        }
    }
    break;
}

console.log(null, a, b, c, Infinity, NaN, undefined);
// uglified code
// (beautified)
for (var _calls_ = 10, a = 100, b = 10, c = 0, brake1 = 5; "function" == typeof a && 0 <= --_calls_ && a(void 0, "a", --b + ~b) && 0 < brake1; --brake1) {}

switch ("function" == typeof f1 && 0 <= --_calls_ && f1(a = a && a[(c += 1) + ("function" == typeof f1 && 0 <= --_calls_ && f1([]))], (a++ + [ (c += 1) + (a += 2 != (c += 1, 
!0)), --b + (a = --b + 24..toString()), a && a[(c += 1) + NaN], (a || a || 3).toString(), "function" == typeof f0 && 0 <= --_calls_ && f0((c = 1 + c, 
void 23..toString()), 1 / 0, (c += 1) + --b) ].NaN || 9).toString()[a++ + {
    c: (c += 1) + {},
    b: (c += 1) + b,
    "\t": --b + ((2 === [ , 0 ].length) / -3 != NaN) % ("number" * 23..toString() == NaN),
    0: a++ + b++,
    a: --b + function() {
        c = 1 + c, c += 1, c = (a && (a[a++ + a++] += NaN != (25 === this)), 1 + c);
        for (var brake13 = 5; c = 1 + c, (1 | !1 <= 38..toString()) >= (a && (a[(c = 1 + c, 
        0 == (a *= !0 + (0 == 24..toString())))] = -2 != []), !0) && 0 < brake13; --brake13) {
            c = 1 + c, a && (a.undefined ^= 0), a && (a.in <<= 2);
        }
        a && (a[a++ + {
            "-2": (c = 1 + c, ~38..toString() >= (NaN === ("a" & 2 === [ , 0 ].length))),
            "-2": (c = 1 + c, a && (a[b--] = 23..toString() <= -0 != !0) && !1),
            Infinity: (c = 1 + c, ("number" == (1 & 2 === [ , 0 ].length)) << ((a && (a.undefined <<= -2)) >>> 0)),
            b: (c = 1 + c, 0 >> ((2 === [ , 0 ].length) >> !0) + (2 === [ , 0 ].length || 24..toString())),
            undefined: (c = 1 + c, 0)
        }] >>= (a && (a[(c = 1 + c, !1 != 38..toString() <= "object" && ([] >> 4) % (24..toString() < null))] &= !1) || -5 ^ 38..toString()) % !0);
    }
}[{}.foo]], a)) {
  default:
    if (a && a[--b + ("function" == typeof f0 && 0 <= --_calls_ && f0("c", a = (c += 1) + (!0 >>> (!0 < (/[a2][^e]+$/ | this))), 25)) ? "function" == typeof f0 && 0 <= --_calls_ && f0(void (23..toString(), 
    a && (a.var += -2), a && (a.Infinity = 25 * []))) : --b + (b = a)]) {
        if ("function" == typeof f0 && 0 <= --_calls_ && f0(24..toString())) {
            for (var brake19 = 5; (a = a) && 0 < brake19; --brake19) {
                switch ((c += 1) + 0) {
                  case a:
                    try {
                        switch (--b + (a && a[(c += 1) + a])) {
                          case --b + {}.NaN:
                            var expr24 = (c = 1 + (c += 1), (arguments_1 && (arguments_1.foo = 5 === this)) > (c += 1, 
                            38..toString()) ^ 1);
                            for (var key24 in expr24) {
                                c = 1 + c;
                                var arguments_1 = expr24[key24];
                                c = 1 + c, arguments_1 && (arguments_1[(c = 1 + c, !1 % (void 0 * 24..toString()) >= (c += 1, 
                                0 !== []))] = !1), arguments_1 += !0;
                            }

                          case -2:
                            break;

                          case arguments_1 && arguments_1[(c = 1 + c, (arguments_1 && (arguments_1[(c = 1 + c, 
                            (2 == 24..toString() ^ !1) <= (arguments_1 && (arguments_1.in |= NaN)))] += !0)) - (arguments_1 += 2 < (2 === [ , 0 ].length)) > (2 == this & !1))] ? (c += 1) + (arguments_1 && arguments_1[(c = 1 + c, 
                            +(arguments_1 && (arguments_1.undefined += (38..toString() | this) % (-4 >> (2 === [ , 0 ].length)))))]) : b + 1 - .1 - .1 - .1:
                          case typeof bar_2:
                        }
                    } finally {
                        c = 1 + c, c += 1, arguments_1 && (arguments_1.in += 0), c = 1 + c, arguments_1 && (arguments_1.var *= NaN), 
                        c = 1 + c, 23..toString(), c = 1 + (c += 1), c += 1, arguments_1 && (arguments_1[(c = 1 + c, 
                        !0)] = (2 === [ , 0 ].length) <= {}), (c = 1 + c, 0).toString()[(c = 1 + c, !1 < (24..toString() >> 0 & void 0))] || (c = 1 + c, 
                        c += 1);
                    }
                    break;

                  case a++ + arguments_1:
                    try {
                        if ((c += 1) + b--) {
                            switch ([ (c = 1 + c, arguments_1 = !0 ^ "a" - (1 == 23..toString())), (c = 1 + c, 
                            1 == (4 ^ 24..toString()) * ("bar" ^ [])), (c = 1 + c, 0 <= (3 != -0 / 24..toString())), , (c = 1 + c, 
                            !1 - ((arguments_1 = 0 * this) || "object")) ].foo) {
                              case --b + (arguments_1 += (c = 1 + c, !1 * ((arguments_1 && (arguments_1.Infinity += {})) | 1 != []))):
                                c = 1 + c, 23..toString(), c = 1 + c, arguments_1 = -1 ^ (arguments_1 && (arguments_1[(c = 1 + c, 
                                !1)] |= this && "function")), c += 1;
                                break;

                              case arguments_1:
                                c = 1 + (c = 1 + c), c += 1, arguments_1 && (arguments_1.in -= 0 ^ (arguments_1 && (arguments_1.NaN = !1)));
                                break;

                              case a++ + (arguments_1 && (arguments_1[(--b + [].foo || 6).toString()[a++ + {
                                    c: (c = 1 + c, ((24..toString() <= -4) - (-0 === 24..toString())) % (arguments_1 && (arguments_1.foo = 0))),
                                    get b() {
                                        c = 1 + c, arguments_1 = (5 + 24..toString() === -6) << !0;
                                    }
                                }.foo]] = !1 == void 0 < -5 * 38..toString())):
                                arguments_1 += !1 >>> (1 == []), c = 1 + (c = 1 + c), 23..toString(), c += 1, 23..toString();
                                break;

                              case (c += 1) + ++a:
                                c = 1 + c;
                            }
                        } else {
                            for (var brake45 = 5; arguments_1 && 0 < --brake45; ) {
                                c = 1 + c, 24..toString();
                            }
                        }
                    } finally {
                        for (var brake47 = 5; c += 1, "special" != typeof b_1 && 0 < --brake47; ) {}
                        c += 1;
                    }
                    for (var brake50 = 5; /[abc4]/.test((--b + {
                        0: (c = 1 + c, (38..toString() | {} && 5) >> (arguments_1 && (arguments_1[(c = 1 + c, 
                        0 - (arguments_1 && (arguments_1.NaN += -5 / 22 << (-2 != []))))] += 22), !0)),
                        b: (c = 1 + c, 3 % void (c += 1) != -3 < 24..toString() >> /[a2][^e]+$/)
                    }[void 0] || b || 5).toString()) && 0 < brake50; --brake50) {
                        switch (a++ + typeof Infinity_2) {
                          case a++ + --b:
                            c += 1;
                            break;

                          default:
                            c = 1 + c, arguments_1 && (arguments_1.null ^= this / "c");

                          case [ (c = 1 + c, (arguments_1 += NaN & [] * (1 / 0)) ^ ([] << NaN) * (23..toString() ^ 23..toString())) ][(c += 1) + ("function" == typeof arguments_1 && 0 <= --_calls_ && arguments_1((c = 1 + c, 
                            4 != (null != []) && !0), (c = 1 + c, 0 - ((2 === [ , 0 ].length) << "a" != !1))))]:
                            var expr54 = (c = 1 + c, !0 >> !1 / (2 === [ , 0 ].length) ^ !1);
                            for (var key54 in expr54) {
                                c = 1 + c;
                            }
                            break;

                          case a:
                            switch (c = 1 + c, arguments_1 && (arguments_1[a++ + ("function" == typeof f0 && 0 <= --_calls_ && f0())] %= !1 <= ("undefined" ^ 38..toString()) & ("foo" ^ {}) & [])) {
                              default:
                              case c = 1 + c, 23..toString() + 38..toString() < 1 && 0:
                              case c = 1 + c, arguments_1 && (arguments_1.NaN += (arguments_1 = NaN) <= !1):
                              case c = 1 + c, 0 == (arguments_1 && (arguments_1.Infinity += !1)) ^ (arguments_1 = {} >= 23..toString()) < NaN:
                            }
                        }
                    }
                    break;

                  case (c += 1) + void /[abc4]/.test(((c += 1) + ("special" == typeof Math_2_1) || b || 5).toString()):
                  case a++ + (b + 1 - .1 - .1 - .1):
                }
            }
        } else {
            try {
                a++, ("function" == typeof f1 && 0 <= --_calls_ && f1(NaN, "c") || a || 3).toString(), 
                a++;
            } catch (arguments_1_1) {
                b = (arguments_1_1 && arguments_1_1.null, c = 1 + c, arguments_1 && (arguments_1[a++ + --b] += arguments_1_1 && (arguments_1_1[a++ + ((arguments_1 = /[a2][^e]+$/) << !1 < ((2 === [ , 0 ].length) >>> -5 | 23..toString() < "b"))] = !0 & 38..toString() >= []) && ("undefined" ^ 38..toString()) == [] - 2), 
                c = 1 + c, c += 1, void (c += 1));
                var arguments_1_1_2 = "function" == typeof f2 && 0 <= --_calls_ && f2(NaN);
            } finally {
                var expr69 = --b + (/[abc4]/.test((--b + ("boolean" == typeof bar) || b || 5).toString()) ? arguments_1_1_2 : (c += 1) + ("function" == typeof f2 && 0 <= --_calls_ && f2(2 === [ , 0 ].length, (c += 1) + -a)));
                for (var key69 in expr69) {
                    for (var brake70 = 5; b && 0 < --brake70; ) {
                        var bar = (c = 1 + (c = 1 + (c = 1 + c)), arguments_1 && (arguments_1.undefined = !1), 
                        void (arguments_1 -= !1));
                    }
                }
                for (var brake74 = 5; a++ + (arguments_1 && arguments_1[(c += 1) + typeof (--b + /[abc4]/.test((c = 1 + c, 
                !1 * ("number" >> (2 === [ , 0 ].length) == (-2 === [])) || b || 5).toString()))]) && 0 < brake74; --brake74) {}
            }
        }
    } else {
        var brake76 = 5;
        do {
            var undefined_2 = function f2(b_2, bar) {
                switch (--b + --b) {
                  case --b + {
                        1.5: --b + --b,
                        get b() {
                            return c = 1 + c, c = 1 + (c += 1), !1;
                        },
                        3: arguments_1_1_2 /= (c = 1 + c, (b_2 && (b_2[--b + (c = 1 + c, 0 - (2 + this < NaN) || 4).toString()[(c = 1 + c, 
                        (2 < (38..toString() <= "a")) << (b_2 += 4294967294))]] = (b_2 ^= !0, 0))) & (arguments_1_1_2 && (arguments_1_1_2[void 0] = !1)))
                    }.foo:
                    break;

                  case (c += 1) + b--:
                    c += 1;
                    break;

                  case 0 <= --_calls_ && f2():
                    break;

                  case (c += 1) + void 0:
                }
            }();
        } while ((arguments_1_1_2 = (c += 1) + b) && 0 < --brake76);
    }

  case --b + --b:
    switch (a++ + void (c += 1)) {
      default:
        var brake87 = 5;
        do {
            for (var brake88 = 5; --b + [ undefined_2 && undefined_2[a++ + (undefined_2 && undefined_2[(c += 1) + b])], "a".toString()[--b + ("function" == typeof f0 && 0 <= --_calls_ && f0({}, (c = 1 + c, 
            undefined_2 = 0 ^ (arguments_1_1_2 && (arguments_1_1_2[[ (c = 1 + c, -5 >> (2 === [ , 0 ].length) | 0 >>> (2 === [ , 0 ].length) || !0) ]] = 0)))))], /[abc4]/.test((arguments_1 && arguments_1.b || b || 5).toString()), a++ + b--, 24..toString() ].foo && 0 < --brake88; ) {
                for (var brake89 = 5; c += 1, b++ && 0 < --brake89; ) {}
            }
        } while (--b + ("function" == typeof f0 && 0 <= --_calls_ && f0(/[a2][^e]+$/)) && 0 < --brake87);
        var Math_1 = function(NaN, c_1, a) {
            try {
                switch (arguments_1 = (arguments_1 && (arguments_1[{
                    foo: (c = 1 + c, 0 / 0),
                    length: (c = 1 + c, 0 / 0 < (c += 1, NaN | 2 === [ , 0 ].length ^ ""))
                }[(c = 1 + c, 1 / 0 >= 23..toString() != !0 !== (22 + 38..toString() & 0))]] = -3 >>> null | NaN >> 3)) % 0) {
                  case undefined_2:
                    break;

                  case (c += 1) + !((undefined_2 && (undefined_2[(c = 1 + c, undefined_2 && (undefined_2[{
                        in: (c = 1 + c, c += 1, -5 == (c += 1, /[a2][^e]+$/)),
                        0: (c = 1 + c, ((2 === [ , 0 ].length) << "foo" ^ "a" >>> 24..toString()) & (38..toString() + -5 ^ "function" != [])),
                        "-2": (c = 1 + c, c_1 && (c_1.a = "bar" >> this < 3 << 24..toString() == 0)),
                        "-2": (c = 1 + c, c += 1, !0 ^ (1 < 38..toString()) << 0 / 0),
                        1.5: (c = 1 + c, (arguments_1 && (arguments_1.var += 5)) & (arguments_1 && (arguments_1.null = "number" + NaN & "" % 24..toString())))
                    }] = 24..toString() + !0 == "bar" <= 38..toString() & !1))] += -4)) >>> (NaN << 38..toString()) >>> (arguments_1 && (arguments_1.Infinity = (undefined_2 && (undefined_2[(c = 1 + c, 
                    -0)] += /[a2][^e]+$/ >= 24..toString())) >= (5 | 23..toString())))):
                    return c = 1 + c, c += 1, !1 & (c += 1, arguments_1_1_2 && (arguments_1_1_2.c = "b" << 23..toString()));

                  case a:
                    return;

                  case (c += 1) + function() {
                        c = 1 + c, c += 1, 24..toString();
                    }:
                    for (var brake99 = 5; c = 1 + c, 38..toString(), c = 1 + c, (arguments_1_1_2 && (arguments_1_1_2[(c = 1 + c, 
                    !1 === (c += 1, 0))] += !1)) >>> -3 !== (undefined_2[arguments_1_1_2] += !1) && 0 < --brake99; ) {}
                    c = 1 + c, arguments_1 && (arguments_1[(c = 1 + c, !1 < !1 + -0 / NaN)] += this || 4), 
                    c = 1 + c, 24..toString(), 38..toString();
                }
            } catch (b_2) {
                try {
                    var expr103 = (c = 1 + c, "a" < 23..toString() < (b_2 && (b_2.null += [] ^ this)) <= -0);
                    for (var key103 in expr103) {
                        var arguments_1 = expr103[key103];
                        c = 1 + (c = 1 + c), arguments_1_1_2 = 0 == (arguments_1 && (arguments_1.NaN = 0));
                    }
                } catch (b_2_1) {
                    c = 1 + c, 38..toString(), arguments_1_1_2 = 2 === [ , 0 ].length || void 0, c = 1 + c, 
                    arguments_1_1_2 = !0;
                }
            }
        }();

      case typeof (a++ + /[abc4]/.test(((b = a) || b || 5).toString())):
        switch (a++ + (Math_1 -= (c += 1) + (a++ + new function Infinity() {
            switch (this[new function() {
                this.NaN >>>= NaN, this[a++ + !0] = (arguments_1_1_2 && (arguments_1_1_2[(c += 1) + ("function" == typeof f4 && 0 <= --_calls_ && f4(2, (c = 1 + c, 
                0 != (arguments_1_1_2 = 0))))] += 0)) <= (void 0 & 23..toString()) % 0, this["function" == typeof f4 && 0 <= --_calls_ && f4((c = 1 + c, 
                undefined_2 %= this << "number" ^ !1 ^ (0 !== Infinity || !0)), (c = 1 + c, (0 ^ (arguments_1_1_2 = !0)) - (c += 1, 
                void 0 * 23..toString())))] >>= 0 * ("number" * [] != 0);
            }()] = (c += 1, (!0 <= null * (0 % 38..toString())) * (!1 + (!1 >>> (23..toString() >>> -0)))), 
            (c += 1) + {
                b: (c = 1 + c, 0 != [] / (0 | this)),
                get foo() {
                    c = 1 + c, arguments_1 && (arguments_1.foo += !1 & (Math_1 && (Math_1.b = 1 + {} / "")));
                },
                undefined: (c = 1 + c, ("foo" >>> 38..toString() ^ !0) - 1),
                null: (c = 1 + c, 1),
                foo: (c = 1 + c, ((Math_1 && (Math_1.a = [] % !1)) !== (c += 1, "bar")) / (arguments_1_1_2 && (arguments_1_1_2.foo = NaN)))
            }) {
              case --b + !0:
                c = 1 + c, 24..toString(), c += 1;
                break;

              case "crap" == typeof parseInt_2:
                c = 1 + c, c = 1 + (c += 1), 38..toString();
                break;

              case a++ + /[abc4]/.test((c = 1 + c, ((0 != Infinity) > (arguments_1 && (arguments_1.c += !0))) * (c += 1, 
                1) || b || 5).toString()):
                c = 1 + c, arguments_1 && (arguments_1[(c = 1 + c, 1)] += NaN);
                break;

              case NaN:
                c = 1 + c, Math_1 && (Math_1.a >>>= !0), arguments_1_1_2 && (arguments_1_1_2.c &= 38..toString() / "foo"), 
                c = 1 + c, c += 1;
            }
            for (var brake118 = 5; a-- && 0 < brake118; --brake118) {
                for (var brake119 = 5; c = 1 + c, 23..toString(), 23..toString(), c = 1 + c, (Math_1 && (Math_1[a++ + ("function" == typeof f0 && 0 <= --_calls_ && f0((c = 1 + c, 
                !0 != (c += 1, !1))))] = !1)) > (undefined_2 = -5) - (arguments_1 && (arguments_1[(c = 1 + c, 
                c += 1, (arguments_1 && (arguments_1[(c = 1 + c, -3 / ({} - (2 === [ , 0 ].length)) >= (undefined_2 && (undefined_2[(c += 1) + (c = 1 + c, 
                !1 << (38..toString() >> -2) == (arguments_1_1_2 && (arguments_1_1_2[-0] += (arguments_1 && (arguments_1[(c = 1 + c, 
                undefined_2 += NaN < (arguments_1_1_2 -= !0))] ^= 0)) - !1)) ? (c = 1 + c, (undefined_2 += 0) == "bobject" + !0) : (c = 1 + c, 
                c += 1, "b" <= (null | 23..toString()) < (undefined_2 && (undefined_2[--b + {}] += !0))))] = !1 & (2 === [ , 0 ].length ^ !1))))] = !1 + "")) != {} >> "function")] += 8)) && 0 < --brake119; ) {}
            }
            c += 1;
        }() || 3).toString()[--b + void 0])) {
          case (c += 1) + {
                null: a++ + b--,
                0: (c += 1) + (b <<= a),
                1.5: --b + a++
            }[a++ + (arguments_1 = --b + ("unknown" != typeof arguments_1_2))]:
            var expr123 = !b;
            for (var key123 in expr123) {
                c = 1 + c;
                a = expr123[key123];
                for (var brake124 = 5; c += 1, a++ && 0 < --brake124; ) {}
            }
            var foo_1 = --b + !function() {
                return "function" == typeof f0 && 0 <= --_calls_ && f0((c = 1 + c, 0 ^ (arguments_1_1_2 && (arguments_1_1_2[(c = 1 + c, 
                (arguments_1 <<= null <= this >= (c += 1, 2)) < !1)] >>= /[a2][^e]+$/ * 24..toString())) || "bar" < (arguments_1 && (arguments_1.c = {} & /[a2][^e]+$/))), "a");
            }(), foo = [ (c += 1) + 4 ];
            break;

          case {
                "-2": b
            }.foo:
            break;

          case ~(0 >>> (23..toString() <= "b") | (undefined_2 && (undefined_2.Infinity += !1))):
            switch (+b) {
              case (a++ + [ undefined_2 ][[]] || a || 3).toString():
                try {
                    try {
                        var expr135 = (c = 1 + c, (("undefined" !== 24..toString()) <= (arguments_1 && (arguments_1[(c = 1 + c, 
                        (foo_1 && (foo_1[0] = -3 !== (Math_1 && (Math_1.undefined += -1 & [])))) < (25 * 38..toString() <= "bar"))] &= 0))) >> 0);
                        for (var key135 in expr135) {
                            c = 1 + c, c += 1;
                        }
                    } catch (b_1) {
                        arguments_1_1_2 = NaN, c = 1 + (c = 1 + c), arguments_1_1_2 |= (c += 1, 1 / 0), 
                        24..toString();
                    }
                } finally {
                    for (var brake139 = 5; c = 1 + c, c += 1, 0 < --brake139; ) {
                        c = 1 + c, 25 <= ({} == /[a2][^e]+$/) && arguments_1_1_2 && (arguments_1_1_2.foo = !1);
                    }
                    var brake141 = 5;
                    c = 1 + c;
                }
                switch ((c += 1) + ("function" == typeof f4 && 0 <= --_calls_ && f4((c = 1 + c, 
                (undefined_2 && (undefined_2[Math_1] = (undefined_2 && (undefined_2.var = "number" ^ 23..toString())) >>> "number")) < (undefined_2 && (undefined_2.NaN = !1)) / !1)))) {
                  case undefined_2:
                    break;

                  default:
                    switch (c = 1 + c, {} / -4 <= "nulla" ^ (0 + 23..toString()) / (2 === [ , 0 ].length | 1 / 0)) {
                      case c = 1 + c, arguments_1_1_2 += ((undefined_2 && (undefined_2[(c = 1 + c, !1 ^ 23..toString() + "bar" ^ !0)] = !1)) < 0) >>> (arguments_1 && (arguments_1.var += !0)) - (2 === [ , 0 ].length == 0):
                        break;

                      default:
                      case c = 1 + c, ("" / this != (2 === [ , 0 ].length ^ "number")) > (-5 >> 24..toString() == -2):
                      case c = 1 + c, NaN:
                    }

                  case {}["symbol" != typeof arguments_1_2]:
                    c += 1;
                    break;

                  case +a:
                    for (var brake148 = 5; c = 1 + (c = 1 + c), undefined_2 && (undefined_2.c = !1 - (c += 1, 
                    22)) && Math_1 && (Math_1[a++ + /[abc4]/.test((c = 1 + c, 0 * (foo_1 && (foo_1.foo += void 0) || 24..toString() === 38..toString()) || b || 5).toString())] = 5 * 23..toString() === !1) && 0 < --brake148; ) {}
                }
                break;

              case a++:
              case --b + b--:
                break;

              case undefined_2 = (c += 1) + [ --b, , --b + [ (c = 1 + c, arguments_1 && (arguments_1[--b + --b] = -0 - (1 | 24..toString()) + ("number" == 38..toString()) / !1)), (c = 1 + c, 
                foo_1 && (foo_1.NaN = 1 / 0 >> (25 >>> 24..toString()))), , (c = 1 + c, !1 + (0 !== 23..toString())), (c = 1 + c, 
                1 != (NaN != this / -5)) ], !0, ~b ][--b + (c = 1 + (c = 1 + c), void (c += 1))]:
                arguments_1 %= 22, foo_1 ^= {} <= /[a2][^e]+$/, c = 1 + (c = 1 + c), !0 & 24..toString() + -5 && 23..toString(), 
                c = 1 + c, (Math_1 && (Math_1.undefined ^= (2 & this) >>> (c += 1, 0))) == (foo_1 &= []) ? (c = 1 + c, 
                arguments_1_1_2 && (arguments_1_1_2["function" == typeof f2 && 0 <= --_calls_ && f2(24..toString(), (c = 1 + c, 
                0 & (undefined_2 = 0)))] = !0 * (void 0 - {}))) : (c = 1 + c, undefined_2 && (undefined_2.foo %= 1), 
                arguments_1 && (arguments_1[--b + (c = 1 + c, c += 1, (1 === (c += 1, 2 === [ , 0 ].length)) >> !1 || 5).toString()[(c = 1 + c, 
                (foo_1 = ((2 === [ , 0 ].length) < "a") % 22) >>> (0 != (undefined_2 && (undefined_2[(c = 1 + c, 
                (!1 !== 38..toString()) > (this && (this || 22)))] += -30))))]] = ("c" !== 24..toString()) > ("object" !== (2 === [ , 0 ].length))));
            }
            if (a++ + ("function" == typeof f3 && 0 <= --_calls_ && f3(a++ + (c = 1 + c, +void 23..toString()), (c += 1) + "foo"))) {
                var b_1 = a++ + (38..toString(), !0);
                foo = --b + {
                    foo: !a
                }[(c += 1) + a++];
            } else {
                c += 1;
            }
        }
        break;

      case --b + +a:
      case (c += 1) + typeof b++:
    }
    break;

  case [ "function" == typeof foo_1 && 0 <= --_calls_ && foo_1(!a), b *= a, /[abc4]/.test((a++ + [ a++ + !b, typeof bar_1, "boolean" == typeof b_2 ][a++ + !0] || b || 5).toString()), (c += 1) + "c", void function() {
        function c_2() {
            for (var key162 in c = 1 + c, foo_1.NaN += (24..toString(), (2 === [ , 0 ].length) - NaN || -1 !== 24..toString()), 
            c = 1 + c, c += 1, {}) {
                --b;
            }
            --b, c = 1 + c, arguments_1 && (arguments_1.b += !1 | (arguments_1_1_2 && (arguments_1_1_2.foo = 4 != 38..toString()))), 
            c = 1 + c;
        }
        for (var brake167 = 5; a++ + {
            Infinity: (undefined_2 = 1) ^ 0 !== (arguments_1_1_2 && (arguments_1_1_2[(c = 1 + c, 
            (0 < ("object" | 38..toString())) / (undefined_2 += 24..toString() % "" - 1))] ^= 2 === [ , 0 ].length | void 0)),
            "": a++ + "c",
            null: [ (c += 1) + new function() {
                this.Infinity = 0, this[(c = 1 + c, 12)] = -1;
            }(), a++ + a, a++ - 3, b = a ][(c += 1) + ("function" == typeof Math_1 && 0 <= --_calls_ && Math_1("object"))],
            foo: 0 <= --_calls_ && c_2(c += 1),
            get c() {
                return --b, b += a, ++b;
            }
        } && 0 < --brake167; ) {
            var expr170 = a++ + typeof (a++ + ("special" != typeof foo));
            for (var key170 in expr170) {
                if ("function" == typeof f4 && 0 <= --_calls_ && f4(--b + "foo", a++ + {
                    null: (c = 1 + c, (0 << (2 === [ , 0 ].length & -5)) + (undefined_2 && (undefined_2[a++ + a--] = (c += 1, 
                    !1))))
                }[(c = 1 + c, 1)])) {
                    for (var brake172 = 5; --b + b_1 && 0 < brake172; --brake172) {
                        return c += 1, a++;
                    }
                }
            }
        }
    }() ][~((arguments_1_1_2 && (arguments_1_1_2.in = ("undefined" ^ this) < -5 << 22)) >> ("foo" >>> this))]:
    a++;
    break;

  case "function" == typeof f5 && 0 <= --_calls_ && f5(a++ + (b = a)):
    for (var brake175 = 5; 0 < --brake175; ) {
        for (var brake177 = 5; "undefined" != typeof a_2 && 0 < brake177; --brake177) {
            continue;
        }
        --b, undefined_2 && (undefined_2[(c = 1 + c, 0 == (23..toString(), (c += 1, null) <= -5))] = !0), 
        38..toString();
    }
}

console.log(null, a, b, c, 1 / 0, NaN, void 0);
original result:
�[1mnull�[22m �[33m131�[39m �[33m126�[39m �[33m54�[39m �[33mInfinity�[39m �[33mNaN�[39m �[90mundefined�[39m

uglified result:
evalmachine.<anonymous>:2
for(var _calls_=10,a=100,b=10,c=0,brake1=5;"function"==typeof a&&0<=--_calls_&&a(void 0,"a",--b+~b)&&0<brake1;--brake1);switch("function"==typeof f1&&0<=--_calls_&&f1(a=a&&a[(c+=1)+("function"==typeof f1&&0<=--_calls_&&f1([]))],(a+++[(c+=1)+(a+=2!=(c+=1,!0)),--b+(a=--b+24..toString()),a&&a[(c+=1)+NaN],(a||a||3).toString(),"function"==typeof f0&&0<=--_calls_&&f0((c=1+c,void 23..toString()),1/0,(c+=1)+--b)].NaN||9).toString()[a+++{c:(c+=1)+{},b:(c+=1)+b,"\t":--b+((2===[,0].length)/-3!=NaN)%("number"*23..toString()==NaN),0:a+++b++,a:--b+function(){c=1+c,c+=1,c=(a&&(a[a+++a++]+=NaN!=(25===this)),1+c);for(var brake13=5;c=1+c,(1|!1<=38..toString())>=(a&&(a[(c=1+c,0==(a*=!0+(0==24..toString())))]=-2!=[]),!0)&&0<brake13;--brake13)c=1+c,a&&(a.undefined^=0),a&&(a.in<<=2);a&&(a[a+++{"-2":(c=1+c,~38..toString()>=(NaN===("a"&2===[,0].length))),"-2":(c=1+c,a&&(a[b--]=23..toString()<=-0!=!0)&&!1),Infinity:(c=1+c,("number"==(1&2===[,0].length))<<((a&&(a.undefined<<=-2))>>>0)),b:(c=1+c,0>>((2===[,0

TypeError: Cannot read property 'NaN' of undefined

minify(options):
{
  "mangle": false
}
@alexlamsl alexlamsl added the bug label Apr 20, 2019
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Apr 20, 2019
alexlamsl added a commit that referenced this issue Apr 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant