Have you tried to read any of the literature on the Risch algorithm? If you haven't, you might want to get started by taking a look at the paper "Integration in Finite Terms" by Rosenlicht [1] and chasing down some of the references mentioned in [2].
Of course, in the real world we don't give up on integrals just because they can't be expressed in terms of elementary functions. Usually we also check if the result happens to be a hypergeometric function, such as a Bessel function. If you want to get started on understanding hypergeometric functions, maybe try reading [3] (as well as the tangentially related book "A = B" [4]).