Mcflat: A Profile-Based Framework For Matlab Loop Analysis And Transformations