--- /dev/null
+.float mem;
+
+void main() {
+ float a;
+
+ // regular binary+store
+ a = 5;
+ print(ftos(a += 1), " = ");
+ print(ftos(a), "\n");
+
+ entity e = spawn();
+ e.mem = 10;
+ print(ftos(e.mem += 1), " = ");
+ print(ftos(e.mem), "\n");
+
+ // prefix
+ print(ftos(++a), " = ");
+ print(ftos(a), "\n");
+ print(ftos(--a), " = ");
+ print(ftos(a), "\n");
+ print(ftos(++e.mem), " = ");
+ print(ftos(e.mem), "\n");
+
+ // suffix
+ print(ftos(a++), " = ");
+ print(ftos(a-1), "\n");
+ // the CLANG way:
+ a = 3;
+ print(ftos((a++ + a) + a), " = 11\n");
+
+ // check if minus translates
+ print(ftos(a--), "\n");
+ print(ftos(--a), "\n");
+
+ // postfix on members
+ print(ftos(e.mem--), " = ");
+ print(ftos(e.mem+1), "\n");
+
+ // compounds in general
+ a = 3;
+ print(ftos(a *= 2), " = 6\n");
+ print(ftos(a /= 2), " = 3\n");
+
+ // compounds on vectors
+ vector v;
+ v = '3 4 5';
+ print(vtos(v *= 2), " = '6 8 10'\n");
+ print(vtos(v /= 2), " = '3 4 5'\n");
+
+ // bit compounds
+ a = 1;
+ print(ftos(a |= 2), " = 3\n");
+ print(ftos(a &= 6), " = 2\n");
+ a = 7;
+
+ print(ftos(a &~= 3), " = 4\n");
+}