Math.pow yields different result depending on java version
but was there a change in the java spec that causes the difference? No.* According to the Javadocs for Math.pow, a difference of up to one ULP (Unit in the Last Place) is permitted. If we take a look at your two values: System.out.printf(“%016x\n”, Double.doubleToLongBits(1.1567055833133086)); System.out.printf(“%016x\n”, Double.doubleToLongBits(1.1567055833133089)); we get: 3ff281ddb6b6e675 3ff281ddb6b6e676 which indeed differ by … Read more