Il semble que le JDK 8 et le JDK 13 ont des points flottants différents.
J'obtiens sur JDK 8, en utilisant Math :
cos(2.3) = -0.666276021279824
Et sur le JDK 13 :
cos(2.3) = -0.6662760212798241
Comment cela se produit-il ? La différence apparaît sur la 11e génération d'Intel et sur AMD Ryzen sous Windows 10.
Edit 20.03.2022 :
En utilisant Long.toHexString(Double.doubleToRawLongBits()), j'obtiens différents modèles de bits :
Je suis sur JDK 8 :
cos(2.3) = 0xbfe5522217302fe0
Et je suis sur le JDK 13 :
cos(2.3) = 0xbfe5522217302fe1