default{timer(){
integer a = (integer)llFrand(100);
// Check optimization of if
if (a) ;
if (a) a;
if (a) a; else a;
if (a) {@b;} else {@c;}
//if (a) @d;
if (a) llDie();
if (a) ; else llDie();
if ((float)a) ; else llDie();
if ((string)a) ; else llDie();
if ((key)((string)a)) ; else llDie();
if () ; else llDie();
if () ; else llDie();
if ((list)a) ; else llDie();
if (!a) llDie(); else llOwnerSay("1");
if (a == 3) llDie(); else llOwnerSay("2");
if (a > 5) if (a == 12) ; else llDie(); else llOwnerSay("3");
if (a == 12) llOwnerSay("4"); else if (a > 5) llOwnerSay("5");
if (a > 5) if (a == 12) ; else /*@f1*/; else llDie();
if (a == 12) llDie(); else if (a > 5) /*@f4*/;
// Fixed: Regression: this produces if (!(a == 3)) and no optimization kicks in
if (a != 3) llOwnerSay("fixed");
// Regression
if (a == 2)
llOwnerSay("a");
else if (a)
llOwnerSay("b");
else if (a == 3)
llOwnerSay("c");
}}