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 #5592

Closed
alexlamsl opened this issue Jul 30, 2022 · 0 comments · Fixed by #5590
Closed

ufuzz failure #5592

alexlamsl opened this issue Jul 30, 2022 · 0 comments · Fixed by #5590
Labels

Comments

@alexlamsl
Copy link
Collaborator

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

try {
    switch (delete (("foo" != /[a2][^e]+$/) >>> (Number(0xdeadn << 16n | 0xbeefn) << 25) >> (c = c + 1, 
    -0 < 0))) {
      default:
        typeof foo !== "number";

      case --b + ((c = c + 1) + -2 ? (/[a2][^e]+$/ << false || "b" ** "bar") !== (("a" | {}) ^ 5 != "number") : (c = c + 1) + !("number" >> true != (-4 && 24..toString()) ^ (a && (a.static += "foo" == 22)) <= ("b" ^ "b"))):
        L37194: {
            try {
                {
                    var brake6 = 5;
                    L37195: do {
                        switch ((c = c + 1) + ~(("a" !== this) < (a && (a[c = 1 + c, 
                        a /= (a && (a[typeof f0 == "function" && --_calls_ >= 0 && f0()] += (-0 || -4) | (4 | 22))) ^ ({}, 
                        5) === (NaN | 25)] = "a" > -4)), "" < 22 <= (c = c + 1, 
                        true))) {
                          case [ [ (c = 1 + c, -((-4 || []) <= -4 / "bar")) ][c = 1 + c, 
                            (a && ([ a[typeof f0 == "function" && --_calls_ >= 0 && f0("function", 24..toString())] ] = [ ("bar" === 0) > (a && (a[c = 1 + c, 
                            -4 + 25 + (a = 22 != "number") - (38..toString() ^ -4) / (4 >= -3)] >>>= Infinity ^ Infinity)) ])) <= (1 << "object", 
                            ~"undefined")] ][a++ + a]:
                            var await_2 = (c = 1 + c, ("undefined" ^ true) / (-2 == "c") != (undefined - 24..toString() ^ ("bar" ^ 5))) ? (c = 1 + c, 
                            c = c + 1, await_2 += (38..toString() | -0) ^ -1 != -3) : (c = 1 + c, 
                            b && (b.done >>= ("undefined" | 23..toString()) <= (c = c + 1, 
                            true) != (23..toString() >>> this !== (b += Infinity / ([ , 0 ].length === 2))))), b = (c = c + 1) + (typeof f1 == "function" && --_calls_ >= 0 && f1("b", (c = 1 + c, 
                            ([] << 4 != null << -4) + delete (-3 > Infinity)), (c = 1 + c, 
                            [ , 0 ][1] + null !== (await_2 && (await_2.var = "object" || "object")) !== -([ , 0 ][1] || "foo"))));
                            try {
                                c = c + 1;
                            } finally {
                                c = 1 + c, b && (b.get = ("bar" !== -4 !== -2 > "object", 
                                (await_2 && (await_2[c = 1 + c, ("b" >> [ , 0 ][1]) - (b && (b[c = 1 + c, 
                                (b && (b[(c = 1 + c, (-5 != -2 ^ false - "function") >>> (undefined ^ this) + (2 > "number")) ? (c = 1 + c, 
                                ~this + ("foo" - false) != (b && (b.a = ("foo" || [ , 0 ].length === 2) ^ false >> ""))) : (c = 1 + c, 
                                (await_2 && (await_2.done = 3 == false)) < NaN / [] != (([ , 0 ].length === 2) < 38..toString(), 
                                -4 == 0))] /= (await_2 = 2 >= 24..toString()) >> ("object" >> -1))) !== (await_2 && ([ await_2[a++] ] = [ 38..toString() % "" & (/[a2][^e]+$/ ^ 22) ]))] += 25 !== "")) > ((this || 5) <= 4 * 38..toString())] = "b" <= "undefined")) / (this + "undefined")));
                            }
                            break;

                          default:
                            switch ((c = c + 1) + (b = a)) {
                              case typeof f1 == "function" && --_calls_ >= 0 && f1([ , 0 ].length === 2):
                                c = 1 + c, (c = c + 1, -1) ^ "c" * "c" | ("object" >= !0o644n | ([ , 0 ][1] | Infinity));
                                break;

                              default:
                                c = 1 + c, (22 != -5) >= (Infinity > "c") != ("bar" && 25) < (23..toString() === [ 3n ][0] > 2);

                              case typeof f0 == "function" && --_calls_ >= 0 && f0((c = 1 + c, 
                                delete (c = c + 1, "number" ^ "undefined")), (c = 1 + c, 
                                c = c + 1, (NaN >> "number") + (await_2.async += true | "c"))):
                                c = 1 + c, ([ , 0 ].length === 2 == undefined) >> (5 && null) >= ((5 || 2) & "c" << NaN);
                                c = 1 + c, "c" / 25 / (this !== NaN) == (b && (b[(c = c + 1) + --b] = (24..toString() != "undefined") >> (-4 || 1)));
                                break;

                              case (c = c + 1) + (c = 1 + c, await_2 >>= (Infinity === 0) >>> 3 * -1 ^ (23..toString() ^ this) < (b && (b.static = 0 << 4))):
                                c = 1 + c, (1 & 2) >= (await_2 && (await_2[c = 1 + c, 
                                b && (b.set += ("object" != "c" || -0 >> 4) && "" << null >>> (1 & "function"))] += 24..toString() >> ([ , 0 ].length === 2))) < ("b" >>> 23..toString() ^ "b" === true);
                                break;
                            }
                            for (var brake18 = 5; ((c = 1 + c, (-2 < 4 !== ("foo" || 22)) >> ("bar" >> 3 ^ (await_2 && (await_2.a /= NaN === 0)))) || 9).toString()[c = 1 + c, 
                            "a" + false + (await_2 && (await_2.next += {} !== this)) > ((await_2 = {} && "bar") > (0 <= "b"))] && brake18 > 0; --brake18) {
                                continue L37195;
                            }

                          case {
                                length: a++ + (b && b.c)
                            }[{
                                var: (c = 1 + c, (1 | "") === "number" - "foo" ^ (await_2 && (await_2.set = "object" <= 25 !== 23..toString() * /[a2][^e]+$/)))
                            }.next]:
                            {
                                var expr20 = typeof f0 == "function" && --_calls_ >= 0 && f0((c = 1 + c, 
                                (false <= 1 !== (-5 & true)) <= ("a" & "undefined" && 0 !== [])));
                                for (var key20 in expr20) {
                                    c = 1 + c;
                                    var yield = expr20[key20];
                                    c = 1 + c, ("bar" << "number" || "number" * true) ^ + -3 & ("function" ^ 23..toString());
                                }
                            }
                            if (--b + ((c = 1 + c, (-1 << true ^ -2 !== ([ , 0 ].length === 2)) >> ([] & 38..toString() & (c = c + 1, 
                            {}))) || a || 3).toString()) {
                            } else {
                                break L37194;
                            }
                            break;

                          case b **= a:
                            c = c + 1;
                            try {
                                {
                                }
                            } finally {}
                        }
                    } while ((c = c + 1) + (typeof a_1 == "unknown") && --brake6 > 0);
                }
            } catch (async) {
                for (var brake29 = 5; --b + function a_2() {
                    {
                        var expr30 = (c = 1 + c, "number" % this / ("function" || -2) || "b" <= this ^ 4 <= "b");
                        for (const key30 in expr30) {
                            c = 1 + c, (({} & "foo") !== false >>> "foo") - (a_2 && (a_2.c -= "" || NaN), 
                            this ^ true);
                        }
                    }
                    switch (c = 1 + c, 22 << -2 < ([ , 0 ].length === 2) * false ^ (await_2 && (await_2[(c = c + 1) + /[abc4]/.test(((c = 1 + c, 
                    ("function" * -4 << ("a" != [ 3n ][0] > 2)) / (async && (async[a++ + ((c = 1 + c, 
                    22 - this - ("c" & -3) > !(null | false)) || a || 3).toString()] %= (23..toString() >> /[a2][^e]+$/, 
                    "object", undefined)))) || b || 5).toString())] = +3 - ([] < Infinity)))) {
                      case c = 1 + c, (c = c + 1, 1) * ([ , 0 ][1] <= 38..toString()) || (c = c + 1, 
                        1) != 22 >>> Infinity:
                        ;
                        break;

                      case c = 1 + c, (c = c + 1, [ , 0 ][1] + this) * ((/[a2][^e]+$/ <= "a") * (5 <= {})):
                        ;
                        break;

                      case c = 1 + c, (-1 ^ []) <= (c = c + 1, -2) === "number" >>> undefined >> (0 & 22):
                        ;
                        break;

                      default:
                        ;
                    }
                }() && brake29 > 0; --brake29) {
                    try {
                        if (+function await_2() {
                        }()) {
                            var brake35 = 5;
                            do {
                                c = 1 + c, (async && (async[c = 1 + c, ~("function" >= "b" <= ("a" >= false))] += ([], 
                                "object"))) % (-5 <= 2), (0 ^ "b") != (/[a2][^e]+$/ && 23..toString());
                            } while ((c = 1 + c, c = c + 1, (false | NaN) << (b && (b.static += [ , 0 ][1] ^ Infinity))) && --brake35 > 0);
                        }
                    } finally {
                        L37196: {
                        }
                        var b_1 = (c = 1 + c, ((/[a2][^e]+$/ === 1) + (/[a2][^e]+$/ >= "c")) * (("a" && true) << NaN % false)), a = (c = 1 + c, 
                        ("object" || "a") >= ("undefined" > -3) < ((b_1 && (b_1[c = 1 + c, 
                        b && (b[([ , 0 ][1] & Infinity) !== (null ^ "c") || (Infinity ^ NaN, 
                        -3 === "")] += "b" * false >= (22 === "a") != (-0 !== true) >>> ([] <= -5))] &= 38..toString() | 23..toString())) | (await_2 && ({
                            0: await_2.then
                        } = {
                            0: true <= {}
                        }))));
                        var b_2 = (c = 1 + c, ("c" == 0) + (async && ([ async.a ] = [ "a" % true ])) << (b = 25 * 25 && Infinity * "number"));
                        L37197: {
                        }
                    }
                }
            }
        }
        break;

      case [ a++ + +((null !== 1 || -5 !== null) << ("function" ^ "undefined" ^ (c = c + 1, 
        5))), b += a, (c = c + 1) + (a && a.var) ]:
        break;

      case (c = c + 1) + typeof ((c = c + 1) + (a && typeof a.null == "function" && --_calls_ >= 0 && a.null())):
        if (typeof f1 == "function" && --_calls_ >= 0 && f1(2, "function", "object")) {
            ("a" ^ -3 | 5 & 24..toString()) * ((/[a2][^e]+$/ ^ [ , 0 ].length === 2) != ({} ^ false));
        }
        break;
    }
} finally {
    c = c + 1;
    switch ((c = c + 1) + (a && typeof a.get == "function" && --_calls_ >= 0 && a.get``)) {
      case --b + void function yield_1() {
            c = c + 1;
            if ((c = c + 1) + ++a) {
                if ({
                    3: a++ + (typeof f1 == "function" && --_calls_ >= 0 && f1()),
                    var: +function NaN_1() {
                        c = 1 + c, ("number" | {}) ^ ("a" ^ -1) | 4 !== "b" ^ 4 * -0;
                        c = 1 + c, "function" >= ([ , 0 ].length === 2) >= (-4 === 23..toString()) | (yield_1 && (yield_1[!((this || 3) <= (c = c + 1, 
                        5) === !"a" + (c = c + 1, []))] += (5 ^ this) >= "bar" >> "a"));
                        c = 1 + c, ("undefined" === "bar" | 1 - 0) < (yield_1 && (yield_1[{}[c = 1 + c, 
                        (("bar" ^ "b") <= ~{}) % ((3 != -4) + (5 < "undefined"))]] += (-1 | -0) === [ , 0 ][1] >= 1));
                        c = 1 + c, (NaN_1 && (NaN_1.a += 5 == "undefined"), Infinity >> 25) === (this ^ 25 ^ -1 - 25);
                    }()
                }.NaN) {
                    switch (undefined) {
                      case yield_1:
                      case ++a:
                        var b_1;
                        return +function() {
                        }();
                        break;

                      case a++ + +("foo" - [] >>> (1 !== "object") < ((this == "") >= "bar" * 4)):
                        break;

                      case b_1 = (b_1 && (b_1[(c = 1 + c, b_1 >>>= ("bar" == [ , 0 ][1] == (b_1 && ({
                            1.5: b_1.NaN
                        } = {
                            1.5: "number" / /[a2][^e]+$/
                        }))) >= ([] + Infinity) % (c = c + 1, "c")) ? (c = 1 + c, 
                        ("foo" << "b" ^ "object" >>> false) << (c = c + 1, delete "foo")) : (c = 1 + c, 
                        (c = c + 1, yield_1 && ([ yield_1.value ] = [ "undefined" ^ -3 ])) % ("" <= 3 <= (yield_1 && (yield_1[c = 1 + c, 
                        ("a" != -0) - ({} !== this) != (this < this) % (5 > "bar")] += "a" && -3))))] = (22 ^ 24..toString()) >= (5 | [ , 0 ][1]))) >>> (b_1 ^= 25 - 2 - (b_1 = -3 | 4)):
                        if (a++) {
                            if (c = 1 + c, (-2 == "a" ^ "function" >> "c") == (c = c + 1, 
                            "foo", "a")) {
                                c = 1 + c, (1 <= false & true / 23..toString()) >> ((b_1 = ([], 
                                [ , 0 ][1])) ^ -3 + "number");
                            } else {
                            }
                        }
                        {
                            var b_2 = function f0(let_2, yield_2) {
                            }(Number(0xdeadn << 16n | 0xbeefn), (c = 1 + c, ((/[a2][^e]+$/ << 38..toString()) + {} % 3) % (yield_1 && (yield_1[a++ + [ (c = 1 + c, 
                            (!3, "c" >>> "") % ((-2 !== 4) / (-4 !== "b"))), (c = 1 + c, 
                            (b_1 += 4 > undefined & 24..toString() << "b") * ([ , 0 ][1] != -2 & [ , 0 ][1] >>> -4)), ...[], ..."" + yield_1 ].foo] += (null >> Infinity) + (2 ^ -2)))));
                        }
                        break;
                    }
                } else {
                    switch (a++ + [].Infinity) {
                      case (c = c + 1) + String.raw`${a++ + ~((b_1 && (b_1[a++ + (1 === 1 ? a : b)] += (b_1 && (b_1.set >>= /[a2][^e]+$/ >= 25), 
                        [] == 25))) <= ((-1 ^ "b") === -4 > "c"))}${(c = c + 1) + --b}`:
                        break;

                      case a++ + (yield_1 && typeof yield_1.a == "function" && --_calls_ >= 0 && yield_1.a()):
                        break;

                      case (c = c + 1) + {
                            b: (([ , 0 ].length === 2) << 23..toString()) % (0 > null) != (2 | "b", 
                            [ , 0 ][1] - 3),
                            [--b + [ (c = 1 + c, b_1 |= (2 / null, -4 >= "b") >>> (b_2 && (b_2[((c = 1 + c, 
                            "function" >> 2 < !false | (b_1 <<= 1 / -1 & 38..toString() > "object")) || 8).toString()[c = 1 + c, 
                            (b_2 && (b_2.in ^= -0 != "b" & 5 != -2)) / (-0 <= "" ^ (NaN, 
                            /[a2][^e]+$/))]] <<= ("undefined", 23..toString()) !== (Infinity | -0)))), (c = 1 + c, 
                            (Infinity >> "c" != -3 * 1) < (2 > "bar" ^ 0 % -2)), (c = 1 + c, 
                            b_2 *= -([] && -4) != (1 === 1) * (-3 > false)), (c = 1 + c, 
                            (("a" != "a") > (38..toString(), "function")) / (22 & 3 & (1, 
                            null))) ]]: (c = c + 1) + void a
                        }[a++ + [ (c = 1 + c, b_2 && (b_2[a++ + (false in [ (c = 1 + c, 
                        (3 !== 3) / ((-42n).toString() + false) >>> ((c = c + 1, 
                        -4) ^ "bar" & "undefined")), (c = 1 + c, c = c + 1, ~23..toString() ^ ("a" ^ -0)), (c = 1 + c, 
                        (b_2 = 38..toString() ^ -2) ^ false >> "a" ^ (b_2 && (b_2.then = 4 >>> -5)) === (/[a2][^e]+$/ ^ "undefined")), (c = 1 + c, 
                        (4 + 24..toString() & null < 23..toString()) << (b_1 = ([ , 0 ][1] ^ 25) >= "undefined" * "undefined")) ])] = ((3 && Infinity) | 23..toString() > -4) >> (+this, 
                        [ , 0 ][1] / "c"))), (c = 1 + c, yield_1 && (yield_1.async += (b_2 = 4 != 38..toString()) != 4 >>> -1 & ({} <= this) - ("object" == 5))) ].null]:
                        {
                            var brake61 = 5;
                            do {
                                c = c + 1;
                            } while (a++ + void (4 == 2 === ("c" || 4) | (0 && -1) % ("c" <= 24..toString())) && --brake61 > 0);
                        }
                        var undefined_1 = (c = c + 1) + -b, Infinity_1 = (c = c + 1) + (typeof b_2_1 === "special");
                        break;

                      case [ b_1 && typeof b_1.null == "function" && --_calls_ >= 0 && (c = 1 + c, 
                        (undefined_1 += ("number" | "c") ^ Infinity < -4) & "foo" - Infinity + (-3 === "b"), 
                        b_1.null)((c = 1 + c, void (b_2 -= (-0) ** 2) >= ("a" | /[a2][^e]+$/) << ("foo" != 4)), (c = 1 + c, 
                        (Infinity_1 = {} > (-42n).toString() <= (5 & "object")) <= (0 >>> undefined | [ , 0 ][1] + true))), b_2 && b_2.get, b_2 && typeof b_2.get == "function" && --_calls_ >= 0 && b_2.get`tmpl`, {
                            ...(c = 1 + c, (b_1 /= "c" < -2 != ("function" == undefined)) < (b_2 && (b_2[--b + (-2 in [ (c = 1 + c, 
                            undefined_1 = ([] != -4) / ("undefined" >>> NaN) && ([ , 0 ][1] == -0 || -3 >> {})) ])] += (-5 === "number") - ("b" >> this)))),
                            [(c = 1 + c, (yield_1 && (yield_1.next = "number" + "b" > ("b" < "b"))) >= (-5 >> /[a2][^e]+$/ === (/[a2][^e]+$/ ^ "bar")))]: (c = 1 + c, 
                            ((Infinity_1 && ({
                                set: Infinity_1.b
                            } = {
                                set: this < "b"
                            })) ^ false == 24..toString()) + ((0 | "b") !== ("object" === 23..toString()))),
                            [(c = 1 + c, ~("foo" != {}) * ((-1 & undefined) <= -2 * 38..toString()))]: (c = 1 + c, 
                            23..toString() - 3 + (c = c + 1, false) && "" != 22 == (b_2 && (b_2[c = 1 + c, 
                            ("function" + true || 23..toString() << 0) * (~/[a2][^e]+$/ ^ true - 38..toString())] %= "c" - null)))
                        }.in ][(c = c + 1) + (typeof b_1 == "function")]:
                        L37198: for (var brake64 = 5; --b + ((c = 1 + c, (22 === ([ , 0 ].length === 2)) < ~4 !== -5 + 3 <= "function" >> "foo") || a || 3).toString() && brake64 > 0; --brake64) {
                            return c = 1 + c, (5 <= -4 | "undefined" - {}) - ("number" >> "undefined") / (b_1 && (b_1.get = 4 + [ , 0 ][1]));
                        }
                        {
                            var brake66 = 5;
                            while (a++ + [].next && --brake66 > 0) {
                                var expr67 = (c = 1 + c, (38..toString() !== 3 === -false) < ("bar" > "a" & undefined < 2));
                                for (undefined_1 in expr67) {
                                    c = 1 + c, !("number" + -3 === ("foo" | 5));
                                }
                            }
                        }
                        break;
                    }
                }
            }
        }():
        L37199: {
            try {
                var bar_2 = (a++ + ([] in [ (c = 1 + c, 0 % null <= (bar_1 = "a" * "b") === (bar_1 && (bar_1.foo += -1 / -0)) / ("function" >>> -1)), (c = 1 + c, 
                (1 !== "bar") > 4 / 3 | "bar" + "a" == (-4 === ([ , 0 ].length === 2))), (c = 1 + c, 
                ((c = c + 1, 24..toString()) ^ "c" % 25) >>> (undefined >>> "object" > false % "c")) ]) || a || 3).toString(), bar_1 = 0 === 1 ? a : b;
            } catch (bar_2_1) {
                {
                    var b_2 = function f1(a_2, bar = "a") {
                        c = 1 + c, (-1 ^ "c") << (3 == "function") <= ([] <= -5 == "number" * 38..toString());
                        c = 1 + c, (38..toString() > -2 || [] >= (-42n).toString()) + ((bar_2 && (bar_2.in = "" ^ 4)) === (bar_2_1 && (bar_2_1.null |= 4 == null)));
                    }(-5, typeof f0 == "function" && --_calls_ >= 0 && f0([], (c = 1 + c, 
                    (true ^ "foo") === (-5 | 4) | (3 - -0) / ~"bar")));
                }
                for (var brake75 = 5; --b + ((false <= Infinity) / (4 / 3) & (4 && -0) === 38..toString() % true) && brake75 > 0; --brake75) {
                    var let_1 = function f2(b_2) {
                    }(23..toString(), (c = 1 + c, (("a" || -5) <= (-5 || 24..toString())) / ((this < -3) << (25 >= "c"))));
                }
            }
            for (var brake77 = 5; a++ + a++ && brake77 > 0; --brake77) {
                try {
                    var foo_1 = (c = c + 1) + {
                        get: (c = 1 + c, (25 > "undefined") * (-3 != true) < ("b" | [ , 0 ][1] && 1 & /[a2][^e]+$/)),
                        static: (c = 1 + c, (24..toString() <= "foo") >> (0 <= 3) != ("foo" + 2 ^ null >> 4)),
                        bar_1: bar_1,
                        static: (c = 1 + c, (4 >= [ , 0 ][1]) / ("b" != "number") && NaN == [] ^ (24..toString() | 25))
                    };
                } catch (c) {
                    {
                        var expr80 = [][c = 1 + c, ("number" / {} ^ ("bar" ^ 4)) & (-2 & -0) * (-0 >> false)];
                        for (var key80 in expr80) {
                            {
                                var brake81 = 5;
                                while ((c = 1 + c, "foo" !== undefined === "foo" < "number" && 1 << null > 3 / 38..toString()) && --brake81 > 0) {
                                    c = 1 + c, void null + ("c" === 23..toString()) ^ (-4 & 4) * (-4 >>> 24..toString());
                                }
                            }
                        }
                    }
                    switch (typeof f3 == "function" && --_calls_ >= 0 && f3()) {
                      case {
                            "": (c = 1 + c, (-3 <= "bar" | 1 >> [ , 0 ][1]) - (("undefined" < 38..toString()) + ([] || /[a2][^e]+$/)))
                        }[c = 1 + c, c && (c.in >>>= (-2 ^ 23..toString()) > ("function" || null) > ("foo" + 3 & (bar_1 += 5 >>> "")))]:
                        c = 1 + c, (-1 !== [ , 0 ][1] ^ "" <= 4) & ([ , 0 ][1] == 5 ^ ("b" | -3));
                        break;

                      default:
                        c = 1 + c, ("bar" * 25 < ([ , 0 ][1] >= Infinity)) << ("object" >> "object" > (5 >= "a"));

                      case delete a:
                        c = 1 + c, +"c" + ("a" === Infinity) > (2 === "undefined" ^ ("a" && 22));
                        c = 1 + c, (c = 25 & "") << (c = c + 1, "object") << ([ , 0 ].length === 2 ^ "c" || (c ^= -3 != 24..toString()));
                        break;

                      case (c = c + 1) + a++:
                        c = 1 + c, (null < "function" || this & undefined) & "function" - 5 << 5 - NaN;
                        c = 1 + c, !(4 >> "c" !== (23..toString() || /[a2][^e]+$/));
                        break;
                    }
                } finally {
                    ({})[c = 1 + c, (("number" | [ , 0 ][1]) <= false * -0) % (foo_1 && (foo_1.c = ("bar" + [ , 0 ][1]) % ("a" + 25)))];
                    {
                        var async_1 = function f3() {
                        }();
                    }
                    {
                        var expr92 = a++ + (async_1 && typeof async_1.next == "function" && --_calls_ >= 0 && async_1.next());
                        for (var key92 in expr92) {
                            c = 1 + c;
                            var foo_1 = expr92[key92];
                            c = 1 + c, c = c + 1, 25 / [] + ([ , 0 ].length === 2 && 4);
                        }
                    }
                    (c = c + 1) + foo_1;
                }
            }
        }
        {
            var brake95 = 5;
            while (a++ + typeof arguments && --brake95 > 0) {
                if (!(((1 && "") ^ "" - -2) >>> (a = null * 38..toString() ^ "" << Number(0xdeadn << 16n | 0xbeefn)))) {
                    switch (0 === 1 ? a : b) {
                      case a++ + (--b + (typeof f4 == "function" && --_calls_ >= 0 && f4(..."" + a, null)) || 8).toString()[--b + ((c = c + 1) + (((c = 1 + c, 
                        (c = c + 1, [ , 0 ].length === 2) ^ (3 ^ "undefined"), (a = "c" <= Infinity) - (undefined !== 25)) || a || 3).toString() || 2).toString()[(c = c + 1) + [ (c = 1 + c, 
                        a && (a.set %= ((a && (a.b >>= -2 * "object")) < (-1 === [ , 0 ][1])) >> (0 >>> [] > ("b" ^ -3)))), (c = 1 + c, 
                        ((null || "") === (a ^= "object" || null)) + ~(null >> 2)), (c = 1 + c, 
                        (null | -0) < 23..toString() / Infinity, "number" % 24..toString() * (-3 - "bar")), (c = 1 + c, 
                        (c = c + 1, c = c + 1, "foo") | 23..toString() <= 2 !== "number" > 24..toString()) ][c = 1 + c, 
                        (a <<= (Infinity & 1) >= ("undefined" | [ , 0 ].length === 2)) * ((38..toString() != "function") >= "number" >>> 38..toString())]] || 1).toString()[--b + /[abc4]/.test((((c = 1 + c, 
                        0 >>> 1 <= (4 !== "function") & [] - "bar" >> -1 % 3) ? (c = 1 + c, 
                        (3 % "c" || 2 == [ 3n ][0] > 2) ^ Infinity >>> NaN >> "function" % undefined) : (c = 1 + c, 
                        ((25 ^ /[a2][^e]+$/) !== (a && (a.async <<= undefined + -4))) + (("" && 4) << (a = 1 >>> this)))) || b || 5).toString())]]:
                        var b_2 = 3, foo_1 = [ (c = 1 + c, (b_2 && (b_2[c = 1 + c, 
                        -0 / 24..toString() != (-1 & "object"), b_2 += Infinity == 5 | /[a2][^e]+$/ ^ "foo"] += "foo" ^ "bar")) * (25 !== "bar") % (-3 > -5, 
                        [ , 0 ].length === 2 ^ 23..toString())), (c = 1 + c, "foo" << "a" !== [] - 2 & ("object" == 25) << (1 >> -5)) ];
                        break;

                      case typeof a_2:
                      case --b + (-2 in [ ,  ]):
                        break;

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

      case a++ + [].in:
        a++ + this;
        break;

      case /[abc4]/.test(((c = c + 1) + (foo_1 && typeof foo_1.value == "function" && --_calls_ >= 0 && foo_1.value(--b, false, "function")) || b || 5).toString()):
        {
            var brake100 = 5;
            L37200: do {
                {
                    var b_2 = function f4(foo_1, a, foo_2) {
                        {
                            var a = function f5(bar_2) {
                                c = 1 + c, ("foo" <= -2) - (25 === "c") === ("c", 
                                this) > (true == 22);
                                c = 1 + c, (c = c + 1, true % 25) ** (({} || 23..toString()) * (false ^ "b"));
                            }("number", a++ + (b = a), (c = c + 1) + {}[c = 1 + c, 
                            !25 - "undefined" % 23..toString() > (c = c + 1, null < "a")]);
                        }
                        {
                            var expr105 = foo_2 = a++ + (typeof a == "function" && --_calls_ >= 0 && a(-2));
                            for (var key105 in expr105) {
                                c = 1 + c;
                                var bar = expr105[key105];
                                return a++ + !function a_1() {
                                }();
                            }
                        }
                    }(..."" + b_2, [ a++ + /[abc4]/.test(((c = 1 + c, (~-4 && {} | 2) == ("" % this != (b_2 && (b_2[c = 1 + c, 
                    (4 + "bar" < (2 ^ "object")) ** (([ , 0 ][1], {}) === (4 | null))] <<= (-42n).toString() / "b")))) || b || 5).toString()), (c = c + 1) + undefined, b_2, a++ + (1 === 1 ? a : b) ][a++ + (--b + (b = a) ? a++ + (0 === 1 ? a : b) : function b_2_2(foo, a_2, a) {
                    }``)]);
                }
            } while ((a++ + /[abc4]/g.exec((a++ + ((b_2 && (b_2.value = [] + "bar")) >= (([ , 0 ].length === 2) <= -4) | (({}, 
            22) | "c" ** 4)) || b || 5).toString()) || a || 3).toString() && --brake100 > 0);
        }
        try {
            {
                var brake108 = 5;
                do {
                    b--;
                } while (typeof f7 == "function" && --_calls_ >= 0 && f7(..."" + b_2) && --brake108 > 0);
            }
        } catch (NaN) {
            L37201: {
                /[abc4]/g.exec((a++ + ((c = 1 + c, undefined >= "b" ^ this <= null ^ (24..toString() & 5 && this >>> "function")) ? (c = 1 + c, 
                ((-2 & "undefined") === -3 < "c") / ((foo_1 = [] != Infinity) >>> (-1 != -4))) : (c = 1 + c, 
                (3 & "b" || (b_2 = [] << -3)) !== (("number" && NaN) | 4 <= /[a2][^e]+$/))) || b || 5).toString());
                if (b_2 && typeof b_2.length == "function" && --_calls_ >= 0 && b_2.length()) {
                    if (typeof f6 == "function" && --_calls_ >= 0 && f6()) {
                        c = c + 1;
                    }
                }
                switch (--b + (1 === 1 ? a : b)) {
                  default:
                  case --b + -(("b" && /[a2][^e]+$/ || 0 >>> false) !== ("a" % [] && "c" % -0)):
                    break;

                  case void !((2 <= NaN) >> (0 ^ -4)):
                    break;

                  case --b + b++:
                    var a_1 = (c = 1 + c, (b_2 && ([ b_2[(c = c + 1) + NaN] ] = [ undefined & [] ^ "undefined" === 3 ])) * (("" && []) ^ 1 < {})), bar_2 = (c = 1 + c, 
                    -("c" * 3 & ("" & [])));
                    break;
                }
            }
            if (NaN && typeof NaN.set == "function" && --_calls_ >= 0 && NaN.set()) {
                var brake118 = 5;
                do {
                    c = c + 1;
                } while (a++ + delete b && --brake118 > 0);
            } else {
                c = c + 1;
            }
        }
        break;

      case (c = c + 1) + (typeof f7 == "function" && --_calls_ >= 0 && f7(3, this, b_2 && typeof b_2.then == "function" && --_calls_ >= 0 && (typeof f6 == "function" && --_calls_ >= 0 && f6(1, 4, a++ + ((c = c + 1) + (a++ + void ((b_2 && (b_2[c = 1 + c, 
        [ , 0 ][1] < -2 <= (24..toString() || {}) ^ "a" < "object" == + -5] = "number" && 25)) >= delete null === ("object" == true) / (b_2 >>= Infinity >= NaN)) ? b_2 : b_2 && b_2.null) ? (c = 1 + c, 
        -("a" || "function") - "foo" * "undefined" % (this < -5)) ? (c = 1 + c, 
        (c = c + 1, 24..toString() === -5) ^ (b_2 && (b_2.var >>= (-1 != 0) >>> (23..toString() ^ -4)))) : (c = 1 + c, 
        (foo_1 && (foo_1.static = this && -3)) % ({} & this) > (undefined <= ([ , 0 ].length === 2) && false != this)) : --b + /[abc4]/g.exec((typeof undefined_1 !== "crap" || b || 5).toString()))), 
        b_2.then)`${{
            "\t": a++ + ("undefined" <= 5 === (c = c + 1, "function") === (foo_1 = undefined <= -4) + (b_2 && (b_2.Infinity += -3 > ([ , 0 ].length === 2)))),
            b: undefined in [ (c = 1 + c, 5 >>> 5 ^ ("b" ^ 4) | (c = c + 1, false) != -1 < Infinity), ...[ (c = 1 + c, 
            (3 === 38..toString() ^ ([ , 0 ][1] | 38..toString())) << ({} - -5 ^ (c = c + 1, 
            this))) ], ...[ (c = 1 + c, void ((b_2 = -3 == -5) === -38..toString())), (c = 1 + c, 
            (5 >> "c" === (1, "c")) % ((true + false) % (false > "b"))), (c = 1 + c, 
            b_2 = (foo_1 && (foo_1[--b + {
                done: (c = 1 + c, (1 < "c", "function" || "foo") == (b_2 && (b_2[c = 1 + c, 
                (b_2 >>>= 25 % ([ , 0 ].length === 2) >>> ("" > !0o644n)) && 38..toString() === false != ("function" ^ /[a2][^e]+$/)] **= 0 >>> "function")) + 38..toString() * 5),
                [(c = 1 + c, (foo_1 && (foo_1[typeof b_2 == "function" && --_calls_ >= 0 && b_2((c = 1 + c, 
                ("function" && "number") <= ("foo" === 5) > ((b_2 && (b_2.Infinity &= 38..toString() < {})) > "a" >> undefined)), (c = 1 + c, 
                (-3 | "foo" | 22 <= 25) != (0 != 4) <= "c" << "c"))] >>= 25 != 4 ^ ("a" ^ 38..toString()))) & ("undefined" === 25 || "undefined" | NaN))]: (c = 1 + c, 
                ((Infinity || 2) ^ {} / false) - ((foo_1 && ({
                    0: foo_1[c = 1 + c, (null % 38..toString(), "foo" && 1) >>> (-4 + 2) % (b_2 = false & "foo")]
                } = {
                    0: 23..toString() | -4
                })) <= ([ , 0 ].length === 2 != 24..toString()))),
                get: (c = 1 + c, ("b" >= null & -0 >>> 0) / ((-5 == [ 3n ][0] > 2) % (Infinity == Infinity))),
                "": (c = 1 + c, 38..toString() * "a" > 25 + "number" <= ~(null, 
                /[a2][^e]+$/)),
                NaN: (c = 1 + c, (25 - 24..toString() || -0 >>> undefined) && (b_2 && (b_2[(c = c + 1) + -5] += (b_2 = -4 || {}) > 1 + {})))
            }] = Infinity >>> null <= (Infinity <= -3))) > (("", 38..toString()) > "b" * "object")) ] ],
            get: !(([ , 0 ].length === 2, NaN) - ([] - "c") - ((true == ([ , 0 ].length === 2)) + (null >> ([ , 0 ].length === 2)))),
            b_2: b_2
        }[delete ((("function" >= "object") << (c = c + 1, "number")) / ((38..toString() ^ [ , 0 ].length === 2) >> -0 - 0))]}
tmpl
${0 === 1 ? a : b}`)):
        a++ + {
            b_2: b_2,
            c: --b + undefined,
            in: (c = c + 1) + --b
        };
        {
            var expr122 = a++ + [ b_2 && b_2[foo_1 && typeof foo_1.null == "function" && --_calls_ >= 0 && foo_1.null((c = 1 + c, 
            ("" < [ , 0 ][1]) + (23..toString() >= this) == ((/[a2][^e]+$/ ^ "") & Infinity - 4)))], (typeof f4 == "function" && --_calls_ >= 0 && f4((c = 1 + c, 
            delete (("b" < "bar") % ("b" > "undefined"))), (c = 1 + c, ([ , 0 ][1] !== -5) > (Infinity == /[a2][^e]+$/) <= ([ , 0 ].length === 2 !== "number") / ("" === 4)), (c = 1 + c, 
            null <= "number" <= ("" | -4) || ("function" & 38..toString()) >> [] / true)) || 8).toString()[b /= a] ] ? void b : [ --b + (b_2 && b_2.then), 1 === 1 ? a : b, (c = c + 1) + {
                done: (c = 1 + c, "object" < false ^ -3 != null && +({} / ([ , 0 ].length === 2)))
            } ? /[abc4]/g.exec((b_2 && b_2.var || b || 5).toString()) : b_2, --b + (b_2 = (/[a2][^e]+$/ - "c" >>> (-4 < "number"), 
            4 % "foo" ^ ({} || 24..toString()))), a-- ].then;
            L37202: for (var key122 in expr122) {
                {
                    switch (-3 in [ 4 ]) {
                      default:
                        c = c + 1;

                      case !(b_2 && (b_2[false in [ (c = 1 + c, (b_2 += {} < "a") >>> ("bar" >>> 0) >= (-5 || 5 || true != "undefined")), (c = 1 + c, 
                        ("undefined" >= 5) >>> "b" / 25 < ([ , 0 ].length === 2 ^ -2) >> ("a" != -3)), (c = 1 + c, 
                        (true - [] != 1 % 5) % ("bar" < "number" && -0 >= "b")), (c = 1 + c, 
                        (1 << "undefined") + ([ , 0 ][1] !== -2) != (23..toString() > NaN) % (5 ^ [ , 0 ][1])) ]] *= ("a" | []) & -0 <= Number(0xdeadn << 16n | 0xbeefn)) && (25 <= 2) + ([] >> "")):
                        break;

                      case [ ..."" + b_2, (c = c + 1) + (foo_1 && foo_1.done) ].NaN:
                        if (--b + (([ , 0 ].length === 2) in [ (c = 1 + c, NaN === 22 ^ (b_2 && (b_2[c = 1 + c, 
                        ("b" | [ , 0 ].length === 2) + (23..toString() << 5) <= -5 * -1 >>> ("object" === null)] = {} << 5)) && (key122 && (key122.then = 4 - 2)) ^ true & 25) ])) {
                            var brake127 = 5;
                            while ((c = 1 + c, foo_1 = (-4 === NaN) * (23..toString() && 2) >= (this % 38..toString() || undefined > 3)) && --brake127 > 0) {
                                c = 1 + c, ~((2 << 5) / (/[a2][^e]+$/ + {}));
                            }
                        } else {
                            var yield_2;
                        }
                        break;

                      case b_2 && typeof b_2.Infinity == "function" && --_calls_ >= 0 && b_2.Infinity(--b + (0 === 1 ? a : b)):
                        break;
                    }
                    b_2 && typeof b_2.b == "function" && --_calls_ >= 0 && b_2.b([ , 0 ][1]);
                    L37203: for (var brake131 = 5; --b + a++ && brake131 > 0; --brake131) {
                        switch (((c = c + 1) + {} || 1).toString()[(c = c + 1) + (c = 1 + c, 
                        (0 & -3 & (true || NaN)) >> ([ , 0 ].length === 2) + this - (-3 && -5))]) {
                          case typeof arguments != "crap":
                            c = c + 1;

                          case ("function" + NaN || "bar" >>> {}) & [] / NaN == ([ , 0 ][1] ^ -3):
                            break;

                          case !function() {}():
                            {
                                var brake134 = 5;
                                while ((c = 1 + c, (this ^ 25) << ([ , 0 ][1] || 38..toString()) >> ((22 | -2) !== 25 - "")) && --brake134 > 0) {
                                    c = 1 + c, -4 < 38..toString() && "foo" + "b" || (yield_2 && (yield_2[c = 1 + c, 
                                    (5 >= "function" && undefined ^ 5) >> void ([] <= undefined)] = NaN >>> -2)) != ("c" != 23..toString());
                                }
                            }
                            c = 1 + c, key122 && (key122.Infinity /= ("number" ^ null) == (24..toString() === -3)) && (-0 + Infinity && [] != 4);
                            break;

                          default:
                        }
                    }
                    {
                        var b = function Infinity_2(b_2, yield_2) {
                            try {
                                c = 1 + c, ((-1 !== "c") <= (38..toString() > -1)) % (undefined >>> ([ , 0 ].length === 2) >>> (undefined !== ""));
                            } catch (Infinity_1) {
                            }
                        }(typeof foo_1 == "function" && --_calls_ >= 0 && foo_1((c = 1 + c, 
                        (this ^ -2 ^ 23..toString() == 2) <= (22 >>> "c" < (-3 ^ false))), "number", (c = 1 + c, 
                        void ([ , 0 ].length === 2 != "bar") < (foo_1 && (foo_1.value += (0 << 3) / (23..toString() ^ [ , 0 ][1]))))));
                    }
                }
            }
        }
    }
}

{
    var arguments = function f6() {
        {
            {
                var expr143 = --b + /[abc4]/.test((a++ || b || 5).toString());
                for (var key143 in expr143) {
                    c = 1 + c;
                    var a_2 = expr143[key143];
                    var bar_2 = delete ((("" | this) ^ [ , 0 ][1] - 1) !== ("bar" === []) ** void this), yield_2 = [ --b + "undefined" ].get;
                }
            }
        }
        c = c + 1;
    }(false);
}

console.log(null, a, b, c, Infinity, NaN, undefined);
// uglified code
// (beautified)
var _calls_ = 10, a = 100, b = 10, c = 0;

try {
    switch (Number(0xdeadn << 16n | 0xbeefn), !0) {
      default:
      case --b + ((c = c + 1 + 1) + -2 ? NaN !== (!0 ^ ("a" | {})) : (c += 1) + !(0 != 24..toString() ^ (a && (a.static += !1)) <= 0)):
        L37194: try {
            var brake6 = 5;
            L37195: do {
                switch ((c += 1) + (a && (a[c = 1 + c, a /= !1 ^ (a && (a["function" == typeof f0 && 0 <= --_calls_ && f0()] += -2))] = !1), 
                ~(!0 <= !0))) {
                  case [ [ -0 ][c = 1 + (c = 1 + (c += 1)), (a && ([ a["function" == typeof f0 && 0 <= --_calls_ && f0("function", 24..toString())] ] = [ (a && (a[c = 1 + c, 
                    21 + (a = !0) - (-4 ^ 38..toString()) / !0] >>>= 0)) < !1 ])) <= -1] ][a++ + a]:
                    c = 1 + c;
                    var await_2 = 1 / 0 != (void 0 - 24..toString() ^ 5) ? (c = 1 + c, 
                    c += 1, await_2 += !0 ^ (-0 | 38..toString())) : (c = 1 + c, 
                    b && (b.done >>= ("undefined" | 23..toString()) <= (c += 1, 
                    !0) != (23..toString() >>> this !== (b += 1 / 0 / (2 === [ , 0 ].length))))), b = (c += 1) + ("function" == typeof f1 && 0 <= --_calls_ && f1("b", ([] << 4 != 0) + !0, (c = 1 + (c = 1 + c), 
                    0 !== (await_2 && (await_2.var = "object")) !== NaN)));
                    try {
                        c += 1;
                    } finally {
                        c = 1 + c, b && (b.get = (await_2 && (await_2[c = 1 + c, 
                        0 - (b && (b[c = 1 + c, (b && (b[c = 1 + c, 1 >>> (void 0 ^ this) + !1 ? (c = 1 + c, 
                        ~this + NaN != (b && (b.a = 0))) : (c = 1 + c, (await_2 && (await_2.done = !1)) < NaN / [] != (38..toString(), 
                        !1))] /= (await_2 = 24..toString() <= 2) >> 0)) !== (await_2 && ([ await_2[a++] ] = [ 38..toString() % "" & 22 ]))] += !0)) > ((this || 5) <= 4 * 38..toString())] = !0)) / (this + "undefined"));
                    }
                    break;

                  default:
                    switch ((c += 1) + (b = a)) {
                      case "function" == typeof f1 && 0 <= --_calls_ && f1(2 === [ , 0 ].length):
                        c = 1 + c, c += 1;
                        break;

                      default:
                        c = 1 + c, 23..toString();

                      case "function" == typeof f0 && 0 <= --_calls_ && f0((c = 1 + c, 
                        !0), (c = 1 + (c += 1), c += 1, 0 + (await_2.async += 1))):
                        c = 1 + (c = 1 + c), b && (b[(c += 1) + --b] = ("undefined" != 24..toString()) >> -4);
                        break;

                      case (c += 1) + (c = 1 + c, await_2 >>= 0 ^ (23..toString() ^ this) < (b && (b.static = 0))):
                        c = 1 + c, await_2 && (await_2[c = 1 + c, b && (b.set += 0)] += 24..toString() >> (2 === [ , 0 ].length)), 
                        23..toString();
                    }
                    var brake18 = 5, c = 1 + c;
                    if ((!0 >> (0 ^ (await_2 && (await_2.a /= !1))) || 9).toString()[c = 1 + c, 
                    "a" + !1 + (await_2 && (await_2.next += {} !== this)) > (!1 < (await_2 = "bar"))] && 0 < brake18) {
                        continue L37195;
                    }

                  case {
                        length: a++ + (b && b.c)
                    }[{
                        var: (c = 1 + c, !1 ^ (await_2 && (await_2.set = !1 !== 23..toString() * /[a2][^e]+$/)))
                    }.next]:
                    var key20, expr20 = "function" == typeof f0 && 0 <= --_calls_ && f0((c = 1 + c, 
                    !1));
                    for (key20 in expr20) {
                        c = 1 + c;
                        var yield = expr20[key20];
                        c = 1 + c, 23..toString();
                    }
                    if (!(--b + (c = 1 + c, ((-2 ^ -2 !== (2 === [ , 0 ].length)) >> ([] & 38..toString() & (c += 1, 
                    {})) || a || 3).toString()))) {
                        break L37194;
                    }

                  case b **= a:
                    c += 1;
                }
            } while ((c += 1) + ("unknown" == typeof a_1) && 0 < --brake6);
        } catch (async) {
            for (var brake29 = 5; --b + function a_2() {
                c = 1 + c;
                for (const key30 in "number" % this / "function" || "b" <= this ^ !1) {
                    c = 1 + c, a_2 && (a_2.c -= NaN);
                }
                switch (c = 1 + c, 22 << -2 < !1 * (2 === [ , 0 ].length) ^ (await_2 && (await_2[(c += 1) + /[abc4]/.test((c = 1 + c, 
                ((NaN << ("a" != 2 < 3n)) / (async && (async[a++ + (c = 1 + c, (!0 < 22 - this || a || 3).toString())] %= void 23..toString())) || b || 5).toString()))] = 3 - ([] < 1 / 0)))) {
                  case c = 1 + c, c += 1, +(0 <= 38..toString()) || 22 != (c += 1, 
                    1):
                  case c = 1 + c, c += 1, (0 + this) * (!0 * (5 <= {})):
                  case c = 1 + c, (-1 ^ []) <= (c += 1, -2) === 0:
                }
            }() && 0 < brake29; --brake29) {
                var brake35, b_1 = 0, a = (c = 1 + (c = 1 + c), !1 < ((b_1 && (b_1[c = 1 + c, 
                b && (b[!1] += 0 != !0 >>> ([] <= -5))] &= 38..toString() | 23..toString())) | (await_2 && ({
                    0: await_2.then
                } = {
                    0: !0 <= {}
                })))), b_2 = (c = 1 + c, !1 + (async && ([ async.a ] = [ NaN ])) << (b = NaN));
            }
        }
        break;

      case [ a++ + (!0 << (0 ^ 5)), b += a, (c = c + 1 + 1) + (a && a.var) ]:
        break;

      case (c += 1) + typeof ((c += 1) + (a && "function" == typeof a.null && 0 <= --_calls_ && a.null())):
        "function" == typeof f1 && 0 <= --_calls_ && f1(2, "function", "object") && 24..toString();
    }
} finally {
    switch ((c = c + 1 + 1) + (a && "function" == typeof a.get && 0 <= --_calls_ && a.get``)) {
      case --b + void function yield_1() {
            if ((c = c + 1 + 1) + ++a) {
                if ({
                    3: a++ + ("function" == typeof f1 && 0 <= --_calls_ && f1()),
                    var: +function NaN_1() {
                        c = 1 + (c = 1 + c), 23..toString(), yield_1 && (yield_1[!((this || 3) <= 5 === !1 + (c = c + 1 + 1, 
                        []))] += 0 <= (5 ^ this)), c = 1 + c, yield_1 && (yield_1[{}[c = 1 + c, 
                        (0 <= ~{}) % 1]] += !1), c = 1 + c, NaN_1 && (NaN_1.a += !1);
                    }()
                }.NaN) {
                    switch (void 0) {
                      case yield_1:
                      case ++a:
                        var b_1;
                        return NaN;

                      case a++ + +("foo" - [] >>> !0 < (NaN <= ("" == this))):
                        break;

                      case b_1 = (b_1 && (b_1[c = 1 + c, (b_1 >>>= (0 == (b_1 && ({
                            1.5: b_1.NaN
                        } = {
                            1.5: NaN
                        }))) >= ([] + 1 / 0) % (c += 1, "c")) ? (c = 1 + c, 0 << (c += 1, 
                        !0)) : (c = 1 + c, c += 1, (yield_1 && ([ yield_1.value ] = [ -3 ])) % (!0 <= (yield_1 && (yield_1[c = 1 + c, 
                        !0 - ({} !== this) != (this < this) % !1] += -3))))] = 5 <= (22 ^ 24..toString()))) >>> (26 ^ b_1):
                        a++ && (c = 1 + c, c += 1);
                        Number(0xdeadn << 16n | 0xbeefn), c = 1 + c, 38..toString();
                        var b_2 = void (yield_1 && (yield_1[a++ + [ 0, (c = 1 + (c = 1 + c), 
                        0 * (b_1 += !1 & 24..toString() << "b")), ..."" + yield_1 ].foo] += -4));
                    }
                } else {
                    switch (a++ + [].Infinity) {
                      case (c += 1) + String.raw`${a++ + ~((b_1 && (b_1[a++ + a] += (b_1 && (b_1.set >>= !1), 
                        25 == []))) <= !1)}${(c += 1) + --b}`:
                      case a++ + (yield_1 && "function" == typeof yield_1.a && 0 <= --_calls_ && yield_1.a()):
                        break;

                      case (c += 1) + {
                            b: ((2 === [ , 0 ].length) << 23..toString()) % !1 != -3,
                            [--b + [ (c = 1 + c, b_1 |= !1 >>> (b_2 && (b_2[c = 1 + c, 
                            (!0 | (b_1 <<= -1 & "object" < 38..toString()) || 8).toString()[c = 1 + c, 
                            +(b_2 && (b_2.in ^= 1))]] <<= 0 !== 23..toString()))), (c = 1 + c, 
                            !1), (c = 1 + c, b_2 *= !0), (c = 1 + c, ((38..toString(), 
                            "function") < !1) / 0) ]]: (c += 1) + void 0
                        }[a++ + [ (c = 1 + c, b_2 && (b_2[a++ + (!1 in [ (c = 1 + c, 
                        !1 / ((-42n).toString() + !1) >>> (0 ^ (c += 1, -4))), (c = 1 + c, 
                        c += 1, 0 ^ ~23..toString()), (c = 1 + c, 0 ^ (b_2 = -2 ^ 38..toString()) ^ 0 === (b_2 && (b_2.then = 0))), (c = 1 + c, 
                        (4 + 24..toString() & null < 23..toString()) << (b_1 = !1)) ])] = (1 / 0 | -4 < 23..toString()) >> NaN)), (c = 1 + c, 
                        yield_1 && (yield_1.async += 0 != (b_2 = 4 != 38..toString()) & ({} <= this) - !1)) ].null]:
                        for (var brake61 = 5; c += 1, a++ + void 24..toString() && 0 < --brake61; ) {}
                        var undefined_1 = (c += 1) + -b, Infinity_1 = (c += 1) + ("special" == typeof b_2_1);
                        break;

                      case [ b_1 && "function" == typeof b_1.null && 0 <= --_calls_ && (c = 1 + c, 
                        undefined_1 += 0, b_1.null)((c = 1 + c, 0 <= void (b_2 -= 0)), (c = 1 + c, 
                        (Infinity_1 = {} > (-42n).toString() <= 0) <= 1)), b_2 && b_2.get, b_2 && "function" == typeof b_2.get && 0 <= --_calls_ && b_2.get`tmpl`, {
                            ...(c = 1 + c, (b_1 /= !1) < (b_2 && (b_2[--b + (-2 in [ (c = 1 + c, 
                            undefined_1 = (-4 != []) / 0 && !0) ])] += !1 - ("b" >> this)))),
                            [(c = 1 + c, !1 <= (yield_1 && (yield_1.next = !1)))]: (c = 1 + c, 
                            ((Infinity_1 && ({
                                set: Infinity_1.b
                            } = {
                                set: this < "b"
                            })) ^ 0 == 24..toString()) + (0 !== ("object" === 23..toString()))),
                            [(c = 1 + c, ~("foo" != {}) * (0 <= -2 * 38..toString()))]: (c = 1 + c, 
                            23..toString() - 3 + (c += 1, !1) && 1 == (b_2 && (b_2[c = 1 + c, 
                            ("function" + !0) * (-1 ^ !0 - 38..toString())] %= NaN)))
                        }.in ][(c += 1) + ("function" == typeof b_1)]:
                        var brake64 = 5;
                        if (--b + (c = 1 + c, ((22 === (2 === [ , 0 ].length)) < -5 != !0 || a || 3).toString()) && 0 < brake64) {
                            return c = 1 + c, (!1 | "undefined" - {}) - 0 / (b_1 && (b_1.get = 4));
                        }
                        for (var brake66 = 5; a++ + [].next && 0 < --brake66; ) {
                            for (undefined_1 in c = 1 + c, (3 !== 38..toString() === -0) < 0) {
                                c = 1 + c;
                            }
                        }
                    }
                }
            }
        }():
        try {
            var bar_2 = (a++ + ([] in [ (c = 1 + c, NaN <= (bar_1 = NaN) === (bar_1 && (bar_1.foo += 1 / 0)) / 0), (c = 1 + c, 
            !1 | "bara" == (-4 === (2 === [ , 0 ].length))), (c = 1 + c, (NaN ^ (c += 1, 
            24..toString())) >>> !1) ]) || a || 3).toString(), bar_1 = b;
        } catch (bar_2_1) {
            "function" == typeof f0 && 0 <= --_calls_ && f0([], (c = 1 + c, -3));
            for (var b_2 = (c = 1 + c, 38..toString(), c = 1 + c, -2 < 38..toString() || (-42n).toString(), 
            bar_2 && (bar_2.in = 4), void (bar_2_1 && (bar_2_1.null |= !1))), brake75 = 5; --b + (.75 & -0 == 38..toString() % !0) && 0 < brake75; --brake75) {
                23..toString();
                var let_1 = void (c = 1 + c);
            }
        }
        for (var brake77 = 5; a++ + a++ && 0 < brake77; --brake77) {
            try {
                var foo_1 = (c += 1) + {
                    get: !1,
                    static: (c = 1 + (c = 1 + c), (24..toString() <= "foo") >> !0 != 0),
                    bar_1: bar_1,
                    static: (c = 1 + c, NaN == [] ^ (25 | 24..toString()))
                };
            } catch (c) {
                var key80, expr80 = [][c = 1 + c, 0 & ("number" / {} ^ 4)];
                for (key80 in expr80) {
                    for (var brake81 = 5; c = 1 + c, 3 / 38..toString() < 1 && 0 < --brake81; ) {
                        c = 1 + c, 23..toString(), 24..toString();
                    }
                }
                switch ("function" == typeof f3 && 0 <= --_calls_ && f3()) {
                  case {
                        "": (c = 1 + c, 1 - (("undefined" < 38..toString()) + []))
                    }[(c = 1 + c) && (c.in >>>= "function" < (-2 ^ 23..toString()) > ("foo3" & (bar_1 += 5)))]:
                    c = 1 + c;
                    break;

                  default:
                    c = 1 + c;

                  case delete a:
                    1 + (c = 1 + c), c = 0, c += 1, 2 === [ , 0 ].length ^ "c" || (c ^= -3 != 24..toString());
                    break;

                  case (c += 1) + a++:
                    c = 1 + (c = 1 + c), 23..toString();
                }
            } finally {
                c = 1 + c, foo_1 && (foo_1.c = NaN);
                var key92, async_1 = void 0, expr92 = a++ + (async_1 && "function" == typeof async_1.next && 0 <= --_calls_ && async_1.next());
                for (key92 in expr92) {
                    c = 1 + c;
                    foo_1 = expr92[key92];
                    c = 1 + c, c += 1;
                }
                c += 1;
            }
        }
        for (var brake95 = 5; a++ + typeof arguments && 0 < --brake95; ) {
            if (!(2 >>> (a = null * 38..toString() ^ "" << Number(0xdeadn << 16n | 0xbeefn)))) {
                switch (b) {
                  case a++ + (--b + ("function" == typeof f4 && 0 <= --_calls_ && f4(..."" + a, null)) || 8).toString()[--b + ((c += 1) + (c = 1 + c, 
                    c += 1, (((a = !1) - !0).toString() || 2).toString()[(c += 1) + [ (c = 1 + c, 
                    a && (a.set %= ((a && (a.b >>= NaN)) < !1) >> (-3 < 0 >>> []))), (c = 1 + c, 
                    ("" === (a ^= "object")) + -1), (c = 1 + c, 23..toString(), 
                    "number" % 24..toString() * NaN), (c = 1 + c, c += 1, c += 1, 
                    "foo" | 23..toString() <= 2 != 24..toString() < "number") ][c = 1 + c, 
                    (a <<= ("undefined" | 2 === [ , 0 ].length) <= 0) * (("function" != 38..toString()) >= "number" >>> 38..toString())]]) || 1).toString()[--b + /[abc4]/.test((c = 1 + c, 
                    ((!0 & [] - "bar" >> -1 ? (c = 1 + c, 2 == 2 < 3n ^ 0) : (c = 1 + c, 
                    (25 !== (a && (a.async <<= NaN))) + ("" << (a = 1 >>> this)))) || b || 5).toString()))]]:
                    foo_1 = [ (c = 1 + c, !0 * ((b_2 = 3) && (b_2[c = 1 + c, 24..toString(), 
                    b_2 += 0] += 0)) % (2 === [ , 0 ].length ^ 23..toString())), (c = 1 + c, 
                    0 != [] - 2 & 0) ];
                    break;

                  case typeof a_2:
                  case --b + (-2 in [ ,  ]):
                  case (c += 1) + --a:
                }
            }
        }
        break;

      case a++ + [].in:
        a++;
        break;

      case /[abc4]/.test(((c += 1) + (foo_1 && "function" == typeof foo_1.value && 0 <= --_calls_ && foo_1.value(--b, !1, "function")) || b || 5).toString()):
        var brake100 = 5;
        do {
            b_2 = function(foo_1, a) {
                b = ++a, c = 1 + (c += 1), 23..toString();
                var key105, a = (c = 1 + (c = 1 + (c += 1)), void (c += 1)), expr105 = a++ + ("function" == typeof a && 0 <= --_calls_ && a(-2));
                for (key105 in expr105) {
                    c = 1 + c;
                    return a++ + !0;
                }
            }(..."" + b_2, [ a++ + /[abc4]/.test((c = 1 + c, ((2 | {}) == ("" % this != (b_2 && (b_2[c = 1 + c, 
            (!1) ** (4 === {})] <<= (-42n).toString() / "b"))) || b || 5).toString())), (c += 1) + void 0, b_2, a++ + a ][a++ + (--b + (b = a) ? a++ + b : function(foo, a_2, a) {}``)]);
        } while ((a++ + /[abc4]/g.exec((a++ + ((b_2 && (b_2.value = [] + "bar")) >= ((2 === [ , 0 ].length) <= -4) | 22) || b || 5).toString()) || a || 3).toString() && 0 < --brake100);
        try {
            for (var brake108 = 5; b--, "function" == typeof f7 && 0 <= --_calls_ && f7(..."" + b_2) && 0 < --brake108; ) {}
        } catch (NaN) {
            switch (/[abc4]/g.exec((a++ + (c = 1 + c, !1 ^ this <= null ^ (5 & 24..toString() && this >>> "function") ? (c = 1 + c, 
            !1 / ((foo_1 = [] != 1 / 0) >>> !0)) : (c = 1 + c, (b_2 = [] << -3) != (!1 | NaN))) || b || 5).toString()), 
            b_2 && "function" == typeof b_2.length && 0 <= --_calls_ && b_2.length() && "function" == typeof f6 && 0 <= --_calls_ && f6() && (c += 1), 
            --b + a) {
              default:
              case --b - (/[a2][^e]+$/ !== ("a" % [] && 0 / 0)):
              case void 0:
                break;

              case --b + b++:
                c = 1 + c;
                var a_1 = (b_2 && ([ b_2[(c += 1) + NaN] ] = [ void 0 & [] ^ !1 ])) * ("" ^ 1 < {}), bar_2 = (c = 1 + c, 
                -(0 & []));
            }
            if (NaN && "function" == typeof NaN.set && 0 <= --_calls_ && NaN.set()) {
                for (var brake118 = 5; c += 1, a++ + delete b && 0 < --brake118; ) {}
            } else {
                c += 1;
            }
        }
        break;

      case (c += 1) + ("function" == typeof f7 && 0 <= --_calls_ && f7(3, this, b_2 && "function" == typeof b_2.then && 0 <= --_calls_ && ("function" == typeof f6 && 0 <= --_calls_ && f6(1, 4, a++ + ((c += 1) + (a++ + void (b_2 && (b_2[c = 1 + c, 
        !1 <= (24..toString() || {}) ^ !1] = 25), b_2 >>= !1) ? b_2 : b_2 && b_2.null) ? (c = 1 + c, 
        NaN - NaN % (this < -5) ? (c = 1 + c, c += 1, -5 === 24..toString() ^ (b_2 && (b_2.var >>= !0 >>> (-4 ^ 23..toString())))) : (c = 1 + c, 
        (foo_1 && (foo_1.static = this && -3)) % ({} & this) > (void 0 <= (2 === [ , 0 ].length) && 0 != this))) : --b + /[abc4]/g.exec(("crap" != typeof undefined_1 || b || 5).toString()))), 
        b_2.then)`${{
            "\t": a++ + (!1 === (c += 1, "function") === (foo_1 = !1) + (b_2 && (b_2.Infinity += (2 === [ , 0 ].length) < -3))),
            b: void 0 in [ (c = 1 + c, 4 | 1 != (c += 1, !1)), (c = 1 + c, (3 === 38..toString() ^ (0 | 38..toString())) << ({} - -5 ^ (c += 1, 
            this))), (c = 1 + c, void (b_2 = !1, 38..toString())), (c = 1 + c, NaN), (c = 1 + c, 
            b_2 = (foo_1 && (foo_1[--b + {
                done: (c = 1 + c, "function" == (b_2 && (b_2[c = 1 + c, (b_2 >>>= 25 % (2 === [ , 0 ].length) >>> (!0o644n < "")) && !1 === 38..toString() != 0] **= 0)) + 5 * 38..toString()),
                [(c = 1 + c, 0 & (foo_1 && (foo_1["function" == typeof b_2 && 0 <= --_calls_ && b_2((c = 1 + c, 
                0 < (b_2 && (b_2.Infinity &= 38..toString() < {})) < !1), (c = 1 + c, 
                !0))] >>= "a" ^ 38..toString() ^ !0)))]: (c = 1 + c, (1 / 0 ^ {} / !1) - ((foo_1 && ({
                    0: foo_1[c = 1 + c, 38..toString(), 1 >>> -2 % (b_2 = 0)]
                } = {
                    0: -4 | 23..toString()
                })) <= (2 === [ , 0 ].length != 24..toString()))),
                get: (c = 1 + c, 0 / ((-5 == 2 < 3n) % !0)),
                "": (c = 1 + c, "25number" < "a" * 38..toString() <= -1),
                NaN: (c = 1 + c, (25 - 24..toString() ? b_2 : 0) && (b_2[(c += 1) + -5] += (b_2 = -4) > 1 + {}))
            }] = !0)) > (NaN < 38..toString())) ],
            get: !(NaN - ([] - "c") - ((1 == (2 === [ , 0 ].length)) + (null >> (2 === [ , 0 ].length)))),
            b_2: b_2
        }[c += 1, 38..toString(), !0]}
tmpl
${b}`)):
        a++, --b, c += 1, --b;
        var key122, yield_2, expr122 = a++ + [ b_2 && b_2[foo_1 && "function" == typeof foo_1.null && 0 <= --_calls_ && foo_1.null((c = 1 + c, 
        !1 + (23..toString() >= this) == 0))], ("function" == typeof f4 && 0 <= --_calls_ && f4(!0, (c = 1 + (c = 1 + c), 
        !0 <= (2 === [ , 0 ].length !== "number") / !1), (c = 1 + c, ("function" & 38..toString()) >> [] / !0)) || 8).toString()[b /= a] ] ? void 0 : [ --b + (b_2 && b_2.then), a, (c += 1) + {
            done: (c = 1 + c, {} / (2 === [ , 0 ].length))
        } ? /[abc4]/g.exec((b_2 && b_2.var || b || 5).toString()) : b_2, --b + (b_2 = NaN ^ {}), a-- ].then;
        for (key122 in expr122) {
            switch (-3 in [ 4 ]) {
              default:
                c += 1;

              case !(b_2 && (b_2[!1 in [ -5 <= (b_2 += {} < "a") >>> 0, (c = 1 + (c = 1 + c), 
                0 < (2 === [ , 0 ].length ^ -2) >> !0), (!0 - [] != 1) % !1, (c = 1 + (c = 1 + c), 
                2 != (NaN < 23..toString()) % 5) ]] *= ("a" | []) & -0 <= Number(0xdeadn << 16n | 0xbeefn)) && !1 + ([] >> "")):
                break;

              case [ ..."" + b_2, (c += 1) + (foo_1 && foo_1.done) ].NaN:
                if (--b + ((2 === [ , 0 ].length) in [ (c = 1 + c, !1 ^ (b_2 && (b_2[c = 1 + c, 
                ("b" | 2 === [ , 0 ].length) + (23..toString() << 5) <= 5] = {} << 5)) && 1 ^ (key122 && (key122.then = 2))) ])) {
                    for (var brake127 = 5; c = 1 + c, (foo_1 = !1 * (23..toString() && 2) >= (this % 38..toString() || !1)) && 0 < --brake127; ) {
                        c = 1 + c;
                    }
                } else {}
                break;

              case b_2 && "function" == typeof b_2.Infinity && 0 <= --_calls_ && b_2.Infinity(--b + b):
            }
            b_2 && "function" == typeof b_2.b && 0 <= --_calls_ && b_2.b(0);
            for (var brake131 = 5; --b + a++ && 0 < brake131; --brake131) {
                switch (((c += 1) + {} || 1).toString()[(c += 1) + (c = 1 + c, 0 >> (2 === [ , 0 ].length) + this - -5)]) {
                  case "crap" != typeof arguments:
                    c += 1;

                  case "functionNaN" & [] / NaN == -3:
                    break;

                  case !0:
                    for (var brake134 = 5; c = 1 + c, (25 ^ this) << 38..toString() >> !0 && 0 < --brake134; ) {
                        c = 1 + c, -4 < 38..toString() || (yield_2 && (yield_2[c = 1 + c, 
                        0] = 0), 23..toString());
                    }
                    c = 1 + c, key122 && (key122.Infinity /= 0 == (-3 === 24..toString()));
                }
            }
            b = function() {
                try {
                    c = 1 + c, 38..toString();
                } catch (Infinity_1) {}
            }("function" == typeof foo_1 && 0 <= --_calls_ && foo_1((c = 1 + c, 
            (-2 ^ this ^ 2 == 23..toString()) <= !1), "number", (c = 1 + c, void 0 < (foo_1 && (foo_1.value += 0 / (0 ^ 23..toString()))))));
        }
    }
}

var arguments = function() {
    var key143, expr143 = --b + /[abc4]/.test((a++ || b || 5).toString());
    for (key143 in expr143) {
        c = 1 + c;
        --b;
    }
    c += 1;
}();

console.log(null, a, b, c, 1 / 0, NaN, void 0);
original result:
null 11 -4 135 Infinity NaN undefined

uglified result:
null 11 -4 140 Infinity NaN undefined
// reduced test case (output will differ)

// (beautified)
L37194: {
    do {
        switch (0) {
          case 0:
            if (0..toString) {} else {
                break L37194;
            }
            break;

          case 0:
            0();
        }
    } while (0);
}
// output: 
// minify: TypeError: 0 is not a function
// options: {
//   "mangle": false,
//   "output": {
//     "v8": true
//   },
//   "validate": true
// }
minify(options):
{
  "mangle": false,
  "output": {
    "v8": true
  }
}

Suspicious compress options:
  conditionals
  if_return
@alexlamsl alexlamsl added the bug label Jul 30, 2022
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Jul 30, 2022
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Jul 30, 2022
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Jul 30, 2022
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Jul 30, 2022
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