Weird Math.max() behaviour. Math.max(0f, Float.MIN_VALUE) is Float.MIN_VALUE??

I’m trying to detect the bounds of my Polygon class, and I found a very weird bug. [icode]Math.max(0f, Float.MIN_VALUE)[/icode] is returning [icode]Float.MIN_VALUE[/icode]?? I found this while debugging the code in IntelliJ IDE.

http://puu.sh/dxeNm/cef48e02a1.png

That’s very very much weird for me. What I did was nothing, initially I set the values of min variables to Float.MAX_VALUE and the max variables to Float.MIN_VALUE. Comparing then with a vector is returning this weird behaviour. Any pointers?

(By the way, the same code worked fine until today, I wrote that one day ago)