Michael, I note the cautious optimism at the end of your note on optimisers. In the case of GNAT, the news is quite good as regards the optimiser. Firstly it is very good at what it does (although it is not as aggressive as, say, DEC Ada). Secondly there is no difference in the likelihood of bugs being introduced between different optimisation levels. The maximum optimisation level in particular is extremely thoroughly tested as this level is always used for most of the mainstream software built with gcc, for example Linux. Here is the relevant quote from the gnat documentation : "Note: unlike the case with some other compiler systems, GCC has been tested extensively at all optimization levels. There are some bugs which appear only with optimization turned on, but there have also been bugs which show up only in unoptimized code. Selecting a lower level of optimization does not improve the reliability of the code generator, which in practice is highly reliable at all optimization levels." The different levels are present because of the tradeoff between code quality and speed of compilation, and also for certain debugging issues. Chris [Note : I work with Michael, but I have the good fortune to be using Ada95 and GNAT rather than the compiler he is referring to (which will remain nameless to protect the guilty) which I used and loathed heartily for years.]