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.