it treats all variables as ‘longs’ (32 bit) and being 16-bit every variable causes two memory fetches regardless of what you are doing. There’s a fair few ‘if’ commands just for the elfs alone. I don’t think it re-uses a register a variable is fetched to so every time it’s needed it’s fetched again. My next task is an AMOS to C converter so I can optimise it!