I've tried to search if we can decide wenether or not a given elementary function (arbitrary composition of functions we see at high-schools: 

    exp,sin,cos,tan,sqrt,pow,exp and also sum, multiplication, division

)

can be integrated or not but did not find any reliable sources.

What I have found is that there's an algorithm (Risch Algorithm) that in most cases find a solution for integrable elementary functions. My attemp is to discuss with a high-school teacher to not be so "hard" on integrals, since integrability in closed form is undecideable, and thus we don't know if we can integrate in finite time (but I don't know if that is true :P).

Numerical algorithms are much more faster and reliable (thinking to Runge-Kutta).

In general I believe that is a undecideable problem because I think the derivation tree is a context sensitive grammar (but I have no proof or evidence right now).

Thanks. An argument that I thinked is the following:

 - Integrate the function numerically
 - try to use Least Squares over aribtrary compositions to see if we find a function that match the numerical integration
 - We are not sure that least squares attemps will end 

What I am searching for di **existence of an algorithm** that says: 

 - **Yes:** If a given elementary function has a elementary anti-derivative
 - **No:** If a given elementary function does not have a anti-derivative or the anti-derivative is not a elementary function.
 - **Always ends** in a finite amount of steps

So, **does exist an algorithm that decides if a given elementary function have anti-derivative**? (we already know that In general we don't know an anti-derivative, we want to know if we can programmatically determine that for a given expression).

Currently the accepted answer shows that algorithm does not exist (But could be based on wrong interpreations of what I wrote, because you know agreeing on what we are saying without writing a wall of text is not very easy in maths).