> The float denormal macro defined in Freeverb/Components/denormals.h > doesn't come out too well with recent gcc - I replaced it with this > (which turned up on this list during a discussion about denormal > handling): > > static inline float > undenormalise(volatile float s) > { > s += 9.8607615E-32f; > return s - 9.8607615E-32f; > } You might also be inadvertantly coming up against some "bugs" (the gcc team doesn't admit they are bugs) in modern GCC compilers with respect to floating point intermediate formats and potential losses (or increases) of precision. If you're using a CPU with SSE (Pentium 3 or newer, or AthlonXP or newer), try recompiling your binaries with -mfpmath=sse and see if the bug persists. Depending on the nature of the code, you may gain a measurable speed boost. The GCC team call this "the most reported non-bug", but I don't really agree with them on this being a non-bug. Read more at <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13719> =MB= -- A focus on Quality.