... wat... We will keep trying final call optim. TODO a function to find register sizes. Then it should go smoothly
TODO calculate reg sizes