 Some situations, such as time-critical code that the compiler otherwise fails to optimize, may require dangerous code.In these cases, documenting all such assumptions in comments, and introducing static assertions to verify portability expectations, helps to keep the code maintainable.For a practical example popularized by Quake III, see fast inverse square root.