It seems that JDK 8 and JDK 13 have different floating points.
I get on JDK 8, using Math:
cos(2.3) = -0.666276021279824
And on JDK 13:
cos(2.3) = -0.6662760212798241
How does this happen? Difference shows on 11th Gen Intel and on AMD Ryzen using Windows 10.
Edit 20.03.2022:
Using Long.toHexString(Double.doubleToRawLongBits()) I get different bit patterns:
I get on JDK 8:
cos(2.3) = 0xbfe5522217302fe0
And I get on JDK 13:
cos(2.3) = 0xbfe5522217302fe1