compute and store double factorials upto 12!!
subroutine compute_double_factorials()
    integer :: i
    double_factorial(-1) = 1.0_dp
    double_factorial(0) = 1.0_dp
    double_factorial(1) = 1.0_dp
    do i = 2, MAX_ORDER
        double_factorial(i) = double_factorial(i-2) * real(i, dp)
    end do
end subroutine compute_double_factorials