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

Closed
alexlamsl opened this issue Oct 27, 2019 · 0 comments · Fixed by #3537
Closed

ufuzz failure #3535

alexlamsl opened this issue Oct 27, 2019 · 0 comments · Fixed by #3537

Comments

@alexlamsl
Copy link
Collaborator

// original code
//

var _calls_ = 10, a = 100, b = 10, c = 0;
{var Infinity_1 = function f0(){

{var brake2 = 5; L24396: do {{var brake3 = 5; while ((((c = c + 1) + (-(((+(("a"*NaN))) + ((5===null)^(24 .toString()%(-4)))))))) && --brake3 > 0)if ((b--))switch (( ((((c = c + 1) + (a+=(a++ + (({
a:((c = 1 + c, ((("foo"==(-1))==([]===2))<((a=(2<=(-1))) - (3*(-3)))))),
b:((c = 1 + c, ((((-2)|[])!=(undefined,[,0][1]))>((delete (4))*([]=="object"))))),
null:((c = 1 + c, (((a+=(NaN!=({})))^([]!=="object")) + ((24 .toString()|"foo")<=(4<({})))))),
0:((c = 1 + c, (((c = c + 1, "number")<("object"<<-0))>>>(((-5)<="foo")^("b"*"foo"))))),
in:((c = 1 + c, (((Infinity,"bar")|(a && (a[(c = 1 + c, (a && (a[(typeof f2 == "function" && --_calls_ >= 0 && f2())]=(((c = c + 1, 2)&(0^23..toString()))||((0>>0x26.toString()) - (undefined&[]))))))]+=(0x26.toString()!="foo"))))<((a && (a[(c = 1 + c, (a && (a.a+=(((0x26.toString()&&2)>("a"!=="b"))*((Infinity*(-2))>((-3)*[,0][1]))))))]=((-4)=="undefined")))||("foo"!=Infinity))))),
}).foo))))) || 4).toString()[(!((((a=("object"==="object")),("object"^(-5)))!=(a=(("undefined"<<NaN)>>("number"/"undefined"))))))] )) {
case (a++ + (b += a)):

 break;

default:
{(c = 1 + c, (((4*"function")^(delete (true))) - ((23..toString()>>>4)>>("object"*(-3)))));
}


case (typeof f1 == "function" && --_calls_ >= 0 && f1(((c = c + 1) + (a+=(!function b_1(){

;
}()))), ([,0].length === 2))):
{var Math_1 = function undefined(c, parseInt_2, b){

(c = 1 + c, ((delete ((NaN^5)))>((~(undefined))|("object"&&"b"))));
(c = 1 + c, ((((-3)||NaN)<("number"<<[,0][1]))||((25. <=(-2))&&(NaN>4))));

}
();}

 break;

case (23..toString()):

 break;
}}} while ((((--b) + ([(a++ + ((typeof b_2 === "undefined"))), (void b), ][((((--b) + (b++))?((c = c + 1) + ((typeof parseInt_1))):(a++ + (function Math_1(){


}))))]))) && --brake2 > 0);}
{var expr11 = (a++ + (a/* ignore */++)); L24397:  for (var key11 in expr11) {try {{if ((++/* ignore */a)){if ((c = 1 + c, ((("">0)!=(23..toString()&&[]))===((({})>>>1)<=(5*"a")))))(c = 1 + c, ((("function"==4)|(null||"b"))^((true<=2)>>(Math_1 && (Math_1.a&=(true<<"c"))))));
{;}
switch ((c = 1 + c, (((Math_1&=("b"*"b"))<(Math_1-=(5%(-5))))^(!((Infinity*"")))))) {
case (c = 1 + c, ((("function"/"bar")%([,0][1]||23..toString()))>(Math_1 && (Math_1[((-5))]+=(("foo" + "object")||(undefined<=0x26.toString())))))):
;
 break;

case (c = 1 + c, ((("function"*(-3))&&("" - ({})))^(( /[a2][^e]+$/ <<2)||(Math_1 && (Math_1.c=(22%"")))))):
;
 break;

case (c = 1 + c, ((("a">1)>>(Math_1=(22^[])))/(("object"*"object")/("b"^"b")))):
;
 break;

default:
;
}
var a_1 = (c = 1 + c, ((c = c + 1, (Math_1 && (Math_1.c=(4&&(-5))))) - (("number"<<undefined)!==(Infinity + (-3))))), bar_1 = (c = 1 + c, ((((-3)<<false)^(25.  - 1)) - ((0>"c")!=("c"^-0))));
}
if ((typeof a_1 == "function" && --_calls_ >= 0 && a_1(0x26.toString(), (({
b:((c = 1 + c, (((a_1 && (a_1.c-=([,0][1]*this)))^(25. >=([,0].length === 2)))!=((0,24 .toString())>>(24 .toString()|"undefined"))))),
})[(c = 1 + c, ((([]<({}))^(null!=="foo"))*((bar_1 && (bar_1[(c = 1 + c, ((bar_1&=((a_1 && (a_1.NaN&=(null<25. ))),(NaN===(-5)))) + (("undefined"!=-0)&&( /[a2][^e]+$/ /(-5)))))]+=((-3)<=25. ))) - ((-2)< /[a2][^e]+$/ ))))]))))for (var brake22 = 5; ((a++ + (((([,0][1]!=({}))===(([,0].length === 2),"b"))<<(([,0][1]^false)===(0x26.toString()||"c")))))) && brake22 > 0; --brake22){var brake23 = 5; L24398: while (((a++ + (+function (){

;
}()))) && --brake23 > 0){var brake24 = 5; L24399: while (((c = 1 + c, (((24 .toString(),[])/(NaN*undefined))|(Math_1=((null<<[,0][1])&&(22^"bar")))))) && --brake24 > 0)(c = 1 + c, ((a_1.c+=((([,0].length === 2)>=-0)===(3<"number"))) + ((Math_1<<=(1<<null))>=(""<=22))));}} else c = c + 1;
} } catch (bar_1_2) { {var expr27 = (({
'':((a++ + (void function (){


}()))),
null:(((--b) + (delete ((((a_1 && (a_1[(c = 1 + c, (((this>>Infinity)<((-3)!=-0)) - ((null>="foo")<<(22*"c"))))]<<=(22!==(-3))))!=("number"&(-4)))&&(([] - "object")!==(-(22)))))))),
3:(( (((a++ + (typeof f0 == "function" && --_calls_ >= 0 && f0((c = 1 + c, (((2^0)&(-0>>>0x26.toString()))%((a_1 && (a_1[(c = 1 + c, (((0^"bar")<=(5|[,0][1]))<(([]&22),((-5)<=true))))]=(0x26.toString()*1)))^(""!=({}))))))))) || a || 3).toString() )),
length:((function Infinity(){

(c = 1 + c, ((a_1=(((-4)!==0x26.toString())>(true|"number")))<=((({})^3)!==(-0|2))));
(c = 1 + c, ((!((4===1)))<=(("function" - true)||(bar_1=((-2)<<[])))));
(c = 1 + c, (((false/ /[a2][^e]+$/ )%(24 .toString()>=true))>>>((1==(-4)),(({})>>(-2)))));
(c = 1 + c, (delete (((({})/({}))===("bar"<=22)))));

}())),
}).foo);  for (var key27 in expr27) {{try {{var brake34 = 5; while (((c = 1 + c, ((bar_1 && (bar_1.NaN=(("object",NaN)<=(this!==this))))/((0^0x26.toString())<=("foo"&&null))))) && --brake34 > 0)(c = 1 + c, (bar_1>>=((([,0][1]<"b") - (1^ /[a2][^e]+$/ ))%(((-2)&&NaN)|(bar_1 && (bar_1.var+=("foo"^"foo")))))));} } catch (c) { (c = 1 + c, ((("bar">-0)!=(true<0x26.toString()))<=((-0!=[,0][1])&(bar_1_2 && (bar_1_2[(c = 1 + c, (((a_1 && (a_1.c>>=((-5)>>false)))%("b"&"number")),(((-3)<"undefined")<=((-1),null))))]%=("function"|0x26.toString()))))));
(c = 1 + c, (c = c + 1, (((-1)!=(-1))!==("a"^this))));
 } finally { (c = 1 + c, ((bar_1=((0x26.toString() + (-1))!=(22&&Infinity)))==(( /[a2][^e]+$/ ^Infinity)>=(Infinity,"number"))));
(c = 1 + c, (((true===25. )&("foo"==({})))<=((undefined<<null)*("c"<-0))));
 }
;
}}}
switch (( ((([((c = c + 1) + (1 === 1 ? a : b)), (a++ + ([(c = 1 + c, ((([,0][1]>>25. )||(25. !==22))&&((false/Infinity)!=("a" + (-2))))), (c = 1 + c, (((false/Infinity)===( /[a2][^e]+$/ %3))/(a_1 && (a_1.b<<=((([,0].length === 2)&"undefined") + (-0|"foo")))))), ][(c = 1 + c, ((( /[a2][^e]+$/  + "function"),(([,0].length === 2)<<0x26.toString()))>>(c = c + 1, ("object"<=({})))))])), (void ((((false<<3)&&(22<<"number"))!==((NaN>>>[])*(4&&23..toString()))))), ( (((c = 1 + c, (bar_1_2|=(((null<<4)&&("undefined">="number"))^((24 .toString()&4)^((-5)^24 .toString())))))) || 5).toString()[(c = 1 + c, (((NaN*null)&&(bar_1 && (bar_1.b=(true,0x26.toString()))))>>>((25. *"function")&&(this<="foo"))))] ), ][([].b)])) || 1).toString()[((typeof (typeof f0 == "function" && --_calls_ >= 0 && f0("number", "", (c = 1 + c, (((c = c + 1, 3)<("number">>"bar"))^(("foo",24 .toString())<=(!(3)))))))))] )) {
case (void (((a_1=(("object">=0)%(undefined<<"function")))^((4^"number")^("c"=="foo"))))):
{var bar_2 = function f1(b_2, Infinity){

(c = 1 + c, (((-0!=(-5))<("c"&&"foo")) - ((3>=(-2))!=(25. >>0x26.toString()))));
(c = 1 + c, (((22|Infinity)===(this>>"foo"))/((undefined<"bar")==(undefined>23..toString()))));

}
();}

 break;

case (++b):
(a_1 && a_1[(a++ + (({})))]);
{var brake46 = 5; L24400: do {try {{var brake48 = 5; L24401: do {(c = 1 + c, ((("undefined"&&25. )<=(undefined!="b"))^((null!=this)<<(1*0x26.toString()))));} while (((c = 1 + c, ((( /[a2][^e]+$/ ^Infinity) + ("object"^""))<<(( /[a2][^e]+$/ ^"foo")<=((-1)/false))))) && --brake48 > 0);} } catch (bar) { (c = 1 + c, (((""* /[a2][^e]+$/ )>([,0][1],NaN)) + ((bar_1 && (bar_1.Infinity^=("object">= /[a2][^e]+$/ )))<=( /[a2][^e]+$/ |(-4)))));
(c = 1 + c, (((3>>>1)*((-1)&&"object"))||((NaN!=0) - (4<="number"))));
 }} while (((Math_1 && Math_1.foo)) && --brake46 > 0);}

 break;

case (bar_1_2 && bar_1_2[((--b) + (delete (((c = c + 1, ("b"!=true))>>>(("number"^"")^(4&&"foo"))))))]):
{var bar_2_1 = function f2(Infinity_1, undefined_1){

(c = 1 + c, (((c = c + 1, null) - ((-3)==undefined))<<((24 .toString()%"undefined") + ("object">="number"))));
(c = 1 + c, (((NaN!==(-4))&(0x26.toString()<"b"))>=(c = c + 1, ([]<<"b"))));

}
((c = 1 + c, (((c = c + 1, [,0][1])|(bar_1 && (bar_1[(c = 1 + c, ((("b"||-0)!==(-0<<(-5)))*(bar_2_1 && (bar_2_1[((c = c + 1) + (1 === 1 ? a : b))]&=(((-3)>=Infinity) + (void (Infinity)))))))]=("function"^(-3))))),(("bar" + "object")*(3||"bar")))));}
if (((c = c + 1) + ( (((b/* ignore */--)) || 2).toString()[(({
length:((c = 1 + c, (((!(1)) - ("bar"<<NaN)) + (((-1)&& /[a2][^e]+$/ )&(undefined===23..toString()))))),
"	":((c = 1 + c, (((0|"b") + ("c"*23..toString()))<<(c = c + 1, (4>(-5)))))),
in:((c = 1 + c, ((([]<<[])!=(bar_1+=(NaN - 22))),(((-4)%4)&&("c"!=="number"))))),
c:((c = 1 + c, (((NaN==(-5))==((-2)& /[a2][^e]+$/ ))^(([]<<NaN)>=(Math_1 && (Math_1[(c = 1 + c, ((([]>>(-2)) - (([,0].length === 2) + (-1)))*((Infinity<<22)&(24 .toString(),NaN))))]+=((-5)^23..toString()))))))),
})[(c = 1 + c, (((undefined==2)<<(1>>(-4)))|(("c" - 0x26.toString())<(22>=(-3)))))])] ))){var brake56 = 5; do {try {(c = 1 + c, ((((-1)<<Infinity)<=(true + 0))>=((3*1)||("function"%(-3))))); } catch (Math_1_1) { ; } finally { ; }} while ((((--b) + ( (((c = 1 + c, ((("b">undefined),((-2),NaN))>>((null||23..toString())!==("c"===3))))) || a || 3).toString() ))) && --brake56 > 0);}

 break;

case ((c = c + 1) + (Math_1)):
try {/*3*/return; } catch (Math) { {var brake61 = 5; do {(c = 1 + c, (((bar_2 && (bar_2.null&=(this==0)))%((-1)<="b"))&((Infinity>>2)^("b"==this))));} while (((c = 1 + c, (+(((4^"foo")/(2==23..toString())))))) && --brake61 > 0);}
c = c + 1;
 } finally { switch ((c = 1 + c, (((c = c + 1, (-2))&(Math_1 && (Math_1[(c = 1 + c, ((c = c + 1, (NaN&25. ))>>>((22*"object")||(({})^(-4)))))]=(-0>=25. ))))&((({}) + 2)||(NaN*"function"))))) {
case (c = 1 + c, ((("bar"&null)>=((-4)!==[,0][1]))&((5&0)<=("function"/"object")))):
;
 break;

case (c = 1 + c, ((bar_1_2=((0x26.toString()>=23..toString())<<(bar_2_1=(""^[,0][1]))))>>((a_1 && (a_1[(c = 1 + c, (((0>>(-4))<=("bar"<=25. ))>>(bar_2 && (bar_2.var&=(("object"%true)!==((-5)!=this))))))]=(undefined*"undefined")))^(+((-2)))))):
;
 break;

case (c = 1 + c, ((("b"|[])!=((-2)/[,0][1])) + (bar_2+=((a_1 && (a_1[(c = 1 + c, (((4!=(-1))>>>(bar_2 && (bar_2.NaN=(Infinity>>>(-3)))))^((2>NaN)*(true<=-0))))]-=(1>=undefined)))>=("undefined" + this))))):
;
 break;

case (c = 1 + c, ((((-1)<([,0].length === 2))*(null + 4)) + ((0*(-4))>(0^"a")))):
;
 break;
}
(c = 1 + c, (((0==="bar")==("c"== /[a2][^e]+$/ ))>=(bar_2&=((false - "foo"),(({})>>"object")))));
 }
c = c + 1;

 break;
}
 }}}

}
(NaN);}
{var brake67 = 5; do {{{switch ((a++ + (~(((Infinity_1 && (Infinity_1[([(c = 1 + c, (((23..toString()<undefined)==((-3)==[])),((Infinity_1 && (Infinity_1[(c = 1 + c, (((1|true)|("b"^(-5)))^((3,(-1))/(Infinity_1/=(true>>4)))))]/=((-5)|0x26.toString())))&(3=="")))), (c = 1 + c, (((""!=="b")==(!((-1))))<<(("object"%"function") - (false>>>"number")))), (c = 1 + c, (c = c + 1, (([]*(-4))|([]%2)))), (c = 1 + c, ((("bar",({})) - ("bar" - "function"))||(c = c + 1, ("a"&-0)))), (c = 1 + c, (((1 + ({}))!==(+([,0][1])))|((null<[,0][1])===(NaN - null)))), ][(c = 1 + c, (Infinity_1 && (Infinity_1[([(c = 1 + c, (((undefined>>>2)&(3 + "number")) - (("bar">NaN)^(this>=23..toString())))), ].NaN)]*=((("function"|[,0][1])/([]%[,0][1]))&(("bar"==Infinity) + (0x26.toString()>>this))))))])]+=((3/0)&(23..toString()/"undefined"))))^((c = c + 1, "")!==((-2)!=="function"))))))) {
case (a++ + (Infinity_1)):
(a++ + (b += a));

 break;

case ((c = c + 1) + ( ((((typeof ((--b) + ( (((({}))) || 3).toString()[((c = c + 1) + (({
var:((c = 1 + c, ((("foo"^false)>>(Infinity_1 && (Infinity_1.NaN+=("foo"!="a"))))>>>(("object"*0)/(""|[,0][1]))))),
'':((c = 1 + c, ((c = c + 1, ("function" + ([,0].length === 2)))*((-(-0))&&(Infinity_1>>>=(4<=(-3))))))),
"-2":((c = 1 + c, (Infinity_1 && (Infinity_1.null%=(((this - "c"),( /[a2][^e]+$/ <="b"))%((1|false)<(c = c + 1, "object"))))))),
var:((c = 1 + c, ((((-4) - [,0][1])&&(""<-0))>>>((5===0)/(Infinity/"foo"))))),
length:((c = 1 + c, (Infinity_1 && (Infinity_1.a=(((22*0)>(Infinity<=NaN))<((2&&25. )>=(-("object")))))))),
}).length))] ))))) || 5).toString()[([(!((((22===(-4))|(3%"object"))<((""*"undefined")|("a"^false))))), (a/* ignore */++), ])] )):

 break;

case (a++ + ([])):
{var a_1 = function f3(Infinity_2, Infinity_2){

if ((c = 1 + c, ((Infinity_1=(((-3)<<1)&(3&&0x26.toString())))<<((NaN + "function")>=((-2)&&23..toString())))))(c = 1 + c, (Infinity_1 && (Infinity_1.undefined=(((NaN<=this)==(""==="bar"))*(Infinity_2 && (Infinity_2[((typeof b_1 === "crap"))]=((undefined^"foo")>>>(NaN>>>"a")))))))); else (c = 1 + c, (((25. <[,0][1])<<("bar"<3)),((22>>>-0)<(-0 - (-4)))));
;

}
( /[a2][^e]+$/ , (Infinity_1 && Infinity_1.c), 4);}

/* fall-through */

case (Infinity_1 && Infinity_1[((-1))]):

 break;
}
}
L24402: {{var brake78 = 5; L24403: do {{var brake79 = 5; L24404: while (((a++ + ([( ((((--b) + (a--))) || 2).toString()[(b++)] ), ((--b) + ( (((typeof a_1 == "function" && --_calls_ >= 0 && a_1((c = 1 + c, (a_1 && (a_1.var+=(((1<=25. )|("foo"<24 .toString()))===((Infinity -  /[a2][^e]+$/ )^(c = c + 1, ([,0].length === 2))))))), undefined, undefined))) || 0).toString()[((c = 1 + c, ((((-5)&&(-2))!=(false/"number")) + ((delete ("foo"))!=(a_1 && (a_1.null+=("number" + NaN)))))))] )), ([(c = 1 + c, (((true==="undefined")|("b"===[]))/(("undefined"&&0x26.toString())<("foo"&&true)))), (c = 1 + c, (((c = c + 1, 25. ),(this^"number"))^((c = c + 1, 1)*(Infinity_1 && (Infinity_1.var*=((-5)!==Infinity)))))), (c = 1 + c, ((("foo"!==0),(c = c + 1, this))||((25. &&[,0][1])>>>(void (25. ))))), (c = 1 + c, ((((-2)!==undefined)/(2>="bar"))*((24 .toString()==25. )/((-2)/this)))), ].c), ].var))) && --brake79 > 0)switch (((--b) + (Infinity_1 && Infinity_1[(a++ + (void function (){

(c = 1 + c, ((((-4)^Infinity)&&(!("c")))^((5,(-1)) - ((-5)&"function"))));
(c = 1 + c, (((a_1 && (a_1[(c = 1 + c, (Infinity_1=((("number"==(-3))<=(undefined==="b"))||((23..toString()>>>4)>>>(""*[,0][1])))))]>>=("bar" + "bar")))<=("c"!=="undefined"))>(a_1+=((undefined!==(-3))^(0x26.toString()<= /[a2][^e]+$/ )))));
(c = 1 + c, (((a_1 && (a_1.undefined=(0|"undefined")))^(3>>>5))>((a_1 && (a_1[(c = 1 + c, (((null!==3)^("foo"^-0))==((Infinity_1 && (Infinity_1.b&=(this===(-4))))^("undefined">=true))))]=(Infinity&&-0)))*(this + -0))));
(c = 1 + c, ((((-5)&2)||(25. <(-5)))^((c = c + 1, [,0][1]),(([,0].length === 2)%"b"))));

}()))]))) {
case ((--b) + (1 === 1 ? a : b)):
{var brake85 = 5; do {(c = 1 + c, (((22&&"b")>>>(NaN!= /[a2][^e]+$/ )) + (a_1 && (a_1.foo=((22>=Infinity)===((-3)!=="bar"))))));} while (((({
undefined:((c = 1 + c, ((("function"!=null) - (Infinity_1 && (Infinity_1[(c = 1 + c, ((c = c + 1, ((-1)!==(-5)))<(a_1 && (a_1.undefined=(("b"^"function")!=(Infinity_1=((-5)>>>25. )))))))]|=((-4)>=(-3)))))==((undefined|| /[a2][^e]+$/ )&&(NaN>(-3)))))),
length:((c = 1 + c, (((25. !=="function")<<(true&true))||((4|NaN)^("bar"|(-1)))))),
Infinity:((c = 1 + c, (((!(([,0].length === 2)))>(([,0].length === 2)&&1))>=((0x26.toString()%"function") - (([,0].length === 2)>>>"b"))))),
})[(c = 1 + c, (((NaN!=24 .toString())%(25. ,"foo"))===((2%Infinity)>>>([]<<0))))])) && --brake85 > 0);}
switch (([(c = 1 + c, (((1*2)===(NaN>>>"object"))>=((3 +  /[a2][^e]+$/ )%((-3)!==25. )))), (c = 1 + c, (((22==23..toString())!==(24 .toString() - 22))!=(a_1 && (a_1.Infinity+=(((-2) - undefined)/(c = c + 1, 25. )))))), (c = 1 + c, (a_1 && (a_1[((c = c + 1) + ("c"))]+=((Infinity_1-=((4,[,0][1])!=(true&&(-2))))>>(("a"||25. )&&(0x26.toString()^1)))))), (c = 1 + c, (!((("object"&null)|(a_1>>>=((-1)===2)))))), ])) {
case (typeof f4 == "function" && --_calls_ >= 0 && f4((c = 1 + c, (((Infinity_1>>>=("a"==(-2)))/((-5)>>>({})))>>>((NaN&true)||("object">=Infinity)))), NaN, undefined)):
(c = 1 + c, ((("b"^24 .toString())<([,0][1]|([,0].length === 2)))>((NaN - []) - (~("c")))));

 break;

case (b--):
(c = 1 + c, ((Infinity_1 && (Infinity_1[(b++)]=((true||({}))|("bar"<<"foo"))))<<(("foo"===false)<=(22!==[,0][1]))));
(c = 1 + c, ((("c"|24 .toString()),("undefined"^[,0][1]))<=((22==(-2))%(24 .toString()===24 .toString()))));

 break;

case ( /[abc4]/.test((((c = 1 + c, ((([,0][1]==true)!==(0x26.toString()|"a"))*(("undefined"||(-2))==((-4)<=-0))))) || b || 5).toString()) ):
(c = 1 + c, (((22%false)&&(Infinity_1 && (Infinity_1.a=(this%""))))<=(-((false,"a")))));
(c = 1 + c, ((a_1=(("bar"!=0x26.toString())||(-0>>({}))))==(c = c + 1, ("a"<="undefined"))));

 break;

case ((c = c + 1) + ((typeof (c = 1 + c, (((0x26.toString()%3)%(3&&"b")),((4^this),((-4)=="object"))))))):

/* fall-through */
}

/* fall-through */

case (a++ + (!function (){

var b_2 = (c = 1 + c, ((("bar"=="b")>(([,0].length === 2)<"b"))<(((-3)!==1)!==("a"%4))));
c = c + 1;
try {(c = 1 + c, (Infinity_1 && (Infinity_1.var=((([,0][1]<=3)>( /[a2][^e]+$/ /Infinity))<<((c = c + 1, [,0][1])*("number"/[])))))); } catch (Infinity) { ; } finally { ; }
c = c + 1;

}())):

 break;

case ((c = c + 1) + (b = a)):
{var brake98 = 5; do {{var expr99 = (c = 1 + c, ((([,0][1]%"c")===(Infinity&&0))^((25.  + ([,0].length === 2))&("bar"==="foo"))));  for (var key99 in expr99) {(c = 1 + c, (((1!=(-3))===(NaN||"foo"))<=((a_1 && (a_1.Infinity=("" - "b")))>=(0x26.toString()<2))));}}} while (((Infinity_1 && Infinity_1[(c = 1 + c, (((Infinity_1 && (Infinity_1.foo=(0x26.toString()!="c")))>(false===24 .toString()))!==((Infinity_1 && (Infinity_1[(c = 1 + c, (((4>-0) - ((-1)<=4))>>>((-0%25. )<<(a_1=(4>=4)))))]=("c"!=NaN)))!=(c = c + 1, [,0][1]))))])) && --brake98 > 0);}
L24405: {(c = 1 + c, ((a_1=((undefined + 5),(c = c + 1, 3)))===(("bar"|0x26.toString())>>>(5<<null))));
}

 break;

case ((c = c + 1) + (~(((([,0][1]>>"object")<(4^22)) + (("">>0)!=((-4)||"a")))))):

 break;
}}} while ((( /[abc4]/.test((((b + 1 - 0.1 - 0.1 - 0.1)) || b || 5).toString()) )) && --brake78 > 0);}
}
}} while (((a++ + (0 === 1 ? a : b))) && --brake67 > 0);}

console.log(null, a, b, c, Infinity, NaN, undefined);
// uglified code
// (beautified)
var _calls_ = 10, a = 100, b = 10, c = 0, Infinity_1 = function n() {
    var i = 5;
    do {
        for (var t = 5; (c += 1) + NaN && 0 < --t; ) {
            if (b--) {
                switch (("" + ((c += 1) + (a += a++ + {
                    a: (c = 1 + c, !0 < (a = !1) - -9),
                    b: (c = 1 + c, !0),
                    null: (c = 1 + c, (!0 ^ (a += !0)) + !1),
                    0: (c = 1 + c, c += 1, 0),
                    in: (c = 1 + c, ("bar" | (a && (a[(c = 1 + c, a && (a["function" == typeof f2 && 0 <= --_calls_ && f2()] = 23 & (c += 1,
                    2) || 0))] += !0))) < (a && (a[(c = 1 + c, a && (a.a += 0))] = !1) || !0))
                }.foo) || 4))[(a = !0, !(-5 != (a = 0)))]) {
                  case a++ + (b += a):
                    break;

                  default:
                    c = 1 + c;

                  case "function" == typeof f1 && 0 <= --_calls_ && f1((c += 1) + (a += !0), !0):
                    var f = void 0;
                    break;

                  case "23":
                }
            }
        }
    } while (--b + [ a++ + ("undefined" == typeof b_2), void 0 ][--b + b++ ? (c += 1) + typeof parseInt_1 : a++ + function() {}] && 0 < --i);
    var e = a++ + a++;
    for (var _ in e) {
        try {
            if (++a) {
                switch (c = 1 + (c = 1 + c), f && (f.a &= 1), c = 1 + c, (f &= NaN) < (f -= 0) ^ !0) {
                  case c = 1 + c, (f && (f[-5] += "fooobject")) < NaN:
                  case c = 1 + c, NaN ^ (f && (f.c = NaN)):
                  case c = 1 + c, (!1 >> (f = 22)) / NaN:
                }
                var r = (c = 1 + c, c += 1, (f && (f.c = -5)) - !0), o = (c = 1 + c, -27);
            }
            if ("function" == typeof r && 0 <= --_calls_ && r("38", {
                b: (c = 1 + c, 0 != (!0 ^ (r && (r.c -= 0 * this))))
            }[(c = 1 + c, 0 * ((o && (o[(c = 1 + c, (o &= (r && (r.NaN &= !0), !1)) + NaN)] += !0)) - !1))])) {
                for (var y = 5; 0 + a++ && 0 < y; --y) {
                    for (var N = 5; a++ + NaN && 0 < --N; ) {
                        for (var s = 5; c = 1 + c, NaN | (f = 0) && 0 < --s; ) {
                            c = 1 + c, r.c += !1, f <<= 1;
                        }
                    }
                }
            } else {
                c += 1;
            }
        } catch (i) {
            var I = {
                "": a++ + void 0,
                null: --b + (r && (r[(c = 1 + c, (this >> 1 / 0 < !0) - 0)] <<= !0), !0),
                3: "" + (a++ + (0 <= --_calls_ && n((c = 1 + c, r && (r[(c = 1 + c, !1)] = 38)))) || a || 3),
                length: (r = !1, o = -2, void (c = 1 + (c = 1 + (c = 1 + (c = 1 + c)))))
            }.foo;
            for (var l in I) {
                try {
                    for (var v = 5; c = 1 + c, (o && (o.NaN = NaN <= (this != this))) / !1 && 0 < --v; ) {
                        c = 1 + c, o >>= -1 % (NaN | (o && (o.var += 0)));
                    }
                } catch (c) {
                    c = 1 + c, i && (i[(c = 1 + c, r && (r.c >>= -5), !0)] %= 38), c = 1 + c, c += 1;
                } finally {
                    o = !0, c = 1 + (c = 1 + c);
                }
            }
            switch (("" + ([ (c += 1) + a, a++ + [ (c = 1 + c, !0), (c = 1 + c, !1 / (r && (r.b <<= 0))) ][(c = 1 + c,
            64 >> (c += 1, !1))], void 0, ("" + (c = 1 + c, (i |= -29) || 5))[(c = 1 + c, 0)] ][[].b] || 1))[typeof (0 <= --_calls_ && n((c = 1 + c,
            c += 1)))]) {
              case void (r = NaN):
                var h = void (c = 1 + (c = 1 + c));
                break;

              case ++b:
                r && r[a++ + {}];
                var d = 5;
                do {
                    try {
                        c = 1 + (c = 1 + c);
                    } catch (a) {
                        c = 1 + c, o && (o.Infinity ^= !0), c = 1 + c;
                    }
                } while (f && f.foo && 0 < --d);
                break;

              case i && i[--b + (c += 1, !0)]:
                var u = (c = 1 + c, c += 1, o && (o[(c = 1 + c, !0 * (u && (u[(c += 1) + a] &= NaN)))] = -3),
                c = 1 + c, c = 1 + (c += 1), void (c += 1));
                if ((c += 1) + ("" + (b-- || 2))[{
                    length: (c = 1 + c, 0),
                    "\t": (c = 1 + c, NaN << (c += 1, !0)),
                    in: (c = 1 + c, o += NaN, -0),
                    c: (c = 1 + c, !0 ^ (f && (f[(c = 1 + c, 0)] += -20)) <= 0)
                }[(c = 1 + c, 0)]]) {
                    var k = 5;
                    do {
                        try {
                            c = 1 + c;
                        } catch (c) {}
                    } while (--b + "" + (c = 1 + c, a || 3) && 0 < --k);
                }
                break;

              case (c += 1) + f:
                try {
                    return;
                } catch (a) {
                    for (var p = 5; c = 1 + c, h && (h.null &= 0 == this), c = 1 + c, 0 < --p; ) {}
                    c += 1;
                } finally {
                    switch (c = 1 + c, c += 1, -2 & (f && (f[(c = 1 + c, c += 1, 0)] = !1)) & {} + 2) {
                      case c = 1 + c, 0:
                      case c = 1 + c, (i = !0 << (u = 0)) >> (-2 ^ (r && (r[(c = 1 + c, !0 >> (h && (h.var &= NaN !== (-5 != this))))] = NaN))):
                      case c = 1 + c, !0 + (h += (r && (r[(c = 1 + c, !0 >>> (h && (h.NaN = 0)) ^ 0)] -= !1)) >= "undefined" + this):
                      case c = 1 + c, 4:
                    }
                    c = 1 + c, h &= 0;
                }
                c += 1;
            }
        }
    }
}(), brake67 = 5;

do {
    switch (a++ + ~((Infinity_1 && (Infinity_1[[ (c = 1 + c, !1 & (Infinity_1 && (Infinity_1[(c = 1 + c,
    -5 ^ -1 / (Infinity_1 /= 0))] /= -1))), (c = 1 + c, 0), (c = 1 + c, c += 1, 0), (c = 1 + c,
    c += 1, 0), (c = 1 + c, 1) ][(c = 1 + c, Infinity_1 && (Infinity_1[[ (c = 1 + c,
    0 - (!1 ^ "23" <= this)) ].NaN] *= NaN & !1 + ("38" >> this)))]] += 0)) ^ !0 !== (c += 1,
    ""))) {
      case a++ + Infinity_1:
        b += ++a;
        break;

      case (c += 1) + ("" + (typeof (--b + ("" + {})[(c += 1) + (c = 1 + c, Infinity_1 && (Infinity_1.NaN += !0),
        c = 1 + c, c = 1 + (c += 1), Infinity_1 && (Infinity_1.null %= !0 % (1 < (c += 1,
        "object"))), c = 1 + (c = 1 + c), Infinity_1 && (Infinity_1.a = !1))]) || 5))[[ !0, a++ ]]:
        break;

      case a++ + []:
        var a_1 = function(a, a) {
            c = 1 + c, (Infinity_1 = 34) << !0 ? (c = 1 + c, Infinity_1 && (Infinity_1.undefined = (NaN <= this == 0) * (a && (a["crap" == typeof b_1] = 0)))) : c = 1 + c;
        }(/[a2][^e]+$/, Infinity_1 && Infinity_1.c);

      case Infinity_1 && Infinity_1[-1]:
    }
    var brake78 = 5;
    do {
        for (var brake79 = 5; a++ + [ ("" + (--b + a-- || 2))[b++], --b + ("" + ("function" == typeof a_1 && 0 <= --_calls_ && a_1((c = 1 + c,
        a_1 && (a_1.var += 1 == (NaN ^ (c += 1, !0)))), void 0, void 0) || 0))[(c = 1 + c,
        !0 + (1 != (a_1 && (a_1.null += "numberNaN"))))], [ (c = 1 + c, NaN), (c = 1 + c,
        c += 1, "number" ^ this ^ (c += 1, 1 * (Infinity_1 && (Infinity_1.var *= !0)))), (c = 1 + c,
        c += 1, this || 0), (c = 1 + c, NaN * this) ].c ].var && 0 < --brake79; ) {
            switch (--b + (Infinity_1 && Infinity_1[a++ + void function() {
                c = 1 + (c = 1 + c), a_1 && (a_1[(c = 1 + c, Infinity_1 = !0)] >>= "barbar"), c = 1 + c,
                (a_1 += 1) && (a_1.undefined = 0), a_1 && (a_1[(c = 1 + c, 1 == (!1 ^ (Infinity_1 && (Infinity_1.b &= -4 === this))))] = -0),
                c = 1 + c, c += 1;
            }()])) {
              case --b + a:
                for (var brake85 = 5; c = 1 + c, a_1 && (a_1.foo = !1), {
                    undefined: (c = 1 + c, !0 - (Infinity_1 && (Infinity_1[(c = 1 + c, c += 1, !0 < (a_1 && (a_1.undefined = 0 != (Infinity_1 = 127))))] |= !1)) == 0),
                    length: (c = 1 + c, 2),
                    Infinity: (c = 1 + c, !1)
                }[(c = 1 + c, !1)] && 0 < --brake85; ) {}
                switch ([ (c = 1 + c, !1), (c = 1 + c, 1 != (a_1 && (a_1.Infinity += NaN / (c += 1,
                25)))), (c = 1 + c, a_1 && (a_1[(c += 1) + "c"] += (Infinity_1 -= !0) >> 39)), (c = 1 + c,
                !(0 | (a_1 >>>= !1))) ]) {
                  case "function" == typeof f4 && 0 <= --_calls_ && f4((c = 1 + c, (Infinity_1 >>>= !1) / (-5 >>> {}) >>> !1), NaN, void 0):
                    c = 1 + c;
                    break;

                  case b--:
                    c = 1 + c, Infinity_1 && (Infinity_1[b++] = 1), c = 1 + c;
                    break;

                  case /[abc4]/.test("" + (c = 1 + c, b || 5)):
                    c = 1 + (c = 1 + c), a_1 = !0, c += 1;
                    break;

                  case (c += 1) + (c = 1 + c, typeof !1):
                }

              case a++ + !function() {
                    c = 1 + c, c += 1;
                    try {
                        c = 1 + c, Infinity_1 && (Infinity_1.var = !1 << NaN * (c += 1, 0));
                    } catch (c) {}
                    c += 1;
                }():
                break;

              case (c += 1) + (b = a):
                var brake98 = 5;
                do {
                    var expr99 = (c = 1 + c, 0);
                    for (var key99 in expr99) {
                        c = 1 + c, a_1 && (a_1.Infinity = NaN);
                    }
                } while (Infinity_1 && Infinity_1[(c = 1 + c, !1 < (Infinity_1 && (Infinity_1.foo = !0)) != ((Infinity_1 && (Infinity_1[(c = 1 + c,
                0 >>> (-0 << (a_1 = !0)))] = !0)) != (c += 1, 0)))] && 0 < --brake98);
                c = 1 + c, c += 1, a_1 = 3;
                break;

              case (c += 1) + -3:
            }
        }
    } while (/[abc4]/.test("" + (b + 1 - (.2 + .1) || b || 5)) && 0 < --brake78);
} while (a++ + b && 0 < --brake67);

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

uglified result:
null 128 -2 95 Infinity NaN undefined

minify(options):
{
  "compress": {
    "keep_fargs": false,
    "passes": 1000000,
    "sequences": 1000000,
    "unsafe": true,
    "unsafe_Function": true,
    "unsafe_math": true,
    "unsafe_proto": true,
    "unsafe_regexp": true
  }
}
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Oct 27, 2019
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Oct 27, 2019
alexlamsl added a commit to alexlamsl/UglifyJS that referenced this issue Oct 27, 2019
alexlamsl added a commit that referenced this issue Oct 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant