compound assigns are desugared during lowering so the c output
only ever has plain assignments.
<<<
main = fun () {
var x int = 0
x += 1
x *= 2
x++
x -= 3
x--
}
>>>
#include "core.c"
void catskill_main(void);
void catskill_main(void) {
integer x = 0;
x = x + 1;
x = x * 2;
x = x + 1;
x = x - 3;
x = x - 1;
}
#include "runtime.c"