To add to that, the other reason to wrap around in release mode is that debug and release modes have different purposes. In debug mode we want the program to crash eagerly whenever something unexpected happens so that the bug can be found and fixed. In release mode we often want the program to keep hobbling along as best it can, rather than crashing on the user or taking down the server. This isn't always the case - if the code in question is handling sensitive data then it's better to just have it crash rather than start misbehaving - but I doubt this caveat applies to much code which is handling floats.