only perform proper tail call optimization using instruction analyzer; fix test case