case 1:

**if (!((a>b&&c>d)||(a<b&&c<d)))**

case 2:

**if ((a>b&&c<d)||(a<b&&c>d)||(a==b)||(c==d))**

Where, a, b, c, d are some non-NaN random double variables (between -1 and 1 in my case, I also test them with random variables generated by ippsGaussRand_Direct_64f() functions and the results for case 1 are also incorrect).

Anyone can see the above 2 experssions are of the same thing, but the complier (ICC 13.0, x86-64, highest level of optimization, Windows-64 OS) only return correct results for the second experssion, is this a bug here?