Suspicious return statement in task ?
Probably a minor point but...
Do we want that return there ? That means that if a cell is split, we won't collect its time on line 536. So we only time super cells that are not split. Is this really wanted ?
A similar behaviour happens in the other hierarchical tasks of runner.c