Resultado errado do Java Math.pow

Se você tentar executar o seguinte código

public class Main {
   public static void main(String[] args) {
       long a = (long)Math.pow(13, 15);
       System.out.println(a + " " + a%13);
   }
}

Você receberá "51185893014090752 8"

O valor correto de 13 ^ 15 é 51185893014090757, ou seja, maior que o resultado retornado porMath.pow por5. Alguma idéia do que pode causar isso?

questionAnswers(12)

yourAnswerToTheQuestion