# State of the Art Denormal Prevention

**URL:** <https://forum.juce.com/t/state-of-the-art-denormal-prevention/16802>\
**Category:** Audio Plugins\
**Created:** [February 28, 2016, 12:32pm UTC](https://forum.juce.com/t/state-of-the-art-denormal-prevention/16802 "2016-02-28T12:32:57Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![chkn](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/chkn/32/3862_2.png) [@chkn](https://forum.juce.com/u/chkn)\
**Post date:** [March 1, 2016, 10:58am UTC](https://forum.juce.com/t/state-of-the-art-denormal-prevention/16802/4 "2016-03-01T10:58:13Z")

</div>

Oh yes, i didn't realized there is something similar. However, this also adds (similar)&nbsp;&nbsp;DAZ (Denormals are Zero) flag, and resets the old behavior.&nbsp;

And&nbsp;FloatVectorOperations is maybe misleading, because the newer compilers (from VS2012, XCode) using SSE for all float-operations per default.

&nbsp;

How to check if denormals are currently used:

&nbsp;&nbsp;float f=std::numeric\_limits\<float\>::min()\*0.5f;&nbsp;

&nbsp; jassert (f==0);&nbsp;//&nbsp;you cannot do this in a one line, would be optimized away

&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;

&nbsp; double d=std::numeric\_limits\<double\>::min()\*0.5;

&nbsp; jassert (d==0);

&nbsp;

&nbsp;

Other infos:

http://carlh.net/plugins/denormals.php

&nbsp;

&nbsp;

---

_[View the full topic](https://forum.juce.com/t/state-of-the-art-denormal-prevention/16802)._
