module ddot_mod
  implicit none
contains
  function ddot (arr1, arr2) result (product)
    double precision 			:: product
    real, dimension(:), intent(in) 	:: arr1, arr2
    product = sum(dprod(arr1, arr2))
  end function ddot
end module ddot_mod
