It's dead simple to tell apart a tail call. Does it look like
return call(a, r, g, s)
It is also very simple to test if the compiler does TCO. Just write def f(a):
return f(a + 1)
f(0)
and wait for a stack overflow.