For any given function, the control flow profiler will emit non overlapping ranges for the basic blocks inside this function. But, the control flow profiler will also emit one large range indicating whether or not the function itself has run. We should change this so all ranges are non overlapping because it's both confusing and fragile to have the API behave this way.