add more outline testing
clean up test code
abort outlining if it leads to the new function or old function exceeding the original function in size