Unrolled loops that included unnecessary arithmetic.
Cleaned up functions that could be simplified.
Use lookup tables over multiple branches.
Start using const on variables that are read-only.
There is quite a bit more to be done within fm. This however is a good direction to start going at attempts to optimize the instructions generated, to use faster instructions and to reduce branching operations occurring within fm.c.
There is quite a bit more to be done within fm. This however is a good direction to start going at attempts to optimize the instructions generated, to use faster instructions and to reduce branching operations occurring within fm.c.