--- /dev/null
+method f(a b)
+ return a - ( b * -1 * a * -1 * b * -1 * -4 );
+end;
--- /dev/null
+long f(long, long, long);
+RET(f(0xCAFEBABE, 20, 10)==-7980);
--- /dev/null
+method w(a)
+ return this < a;
+end;
+
+method x()
+ return this < 3;
+end;
+
+method y()
+ return 3 < this;
+end;
+
+method z()
+ return 3 < 3;
+end;
+
+method override()
+ return 0x55555;
+end;
--- /dev/null
+long w(long,long);
+long x(long);
+long y(long);
+long z(long);
+long override(long);
+
+RET(w(20,30)==1 && override(0x1)==0x55555 && w(30,20)==0 && override(1)==0x55555 && x(400)==0 && override(0x1)==0x55555 && y(400)==1 && override(0x1)==0x55555 && z(400)==0 && override(0x1)==0x55555);
--- /dev/null
+method w(a)
+ return this = a;
+end;
+
+method x()
+ return this = 3;
+end;
+
+method y()
+ return 3 = this;
+end;
+
+method z()
+ return -13 = -13;
+end;
+
+method override()
+ return 0x55555;
+end;
--- /dev/null
+long w(long,long);
+long x(long);
+long y(long);
+long z(long);
+long override(long);
+
+RET(w(30,30)==1 && override(0x1)==0x55555 && w(30,20)==0 && override(1)==0x55555 && x(400)==0 && override(0x1)==0x55555 && y(3)==1 && override(0x1)==0x55555 && z(400)==1 && override(0x1)==0x55555);