если метод возвращает Double, зачем нам вызывать метод "doubleValue" на нем? он уже возвращает double и в вычислениях, кажется, оценивается правильно.