Using the -O2 (the default) switch does several optimizations in the code produced, the most
notable being:
     
     - Sign extension from byte to long will use EXTB
     
- Returning of functions will use RTD
     
- Range checking will generate no run-time calls
     
- Multiplication  will  use  the  long  MULS instruction,  no  runtime  library  call  will  be
     generated
     
- Division will use the long DIVS instruction, no runtime library call will be generated