By additional arguments, I'm assuming you mean the goal and ind parameters?  I guess what I'm asking is if all of this can be handled when find_cell is called normally during tracking, and not have to call it (or distribcell_offset) at tallytime.  In other words, can you drop the inputs of goal and ind and have the routine calculate the offsets for the cells on each universe level that the particle is in at the time?  If each offset is stored for the whole particle coordinate chain, then at tally time you make sure to access the right one depending on the filter parameters, and have no need to go back to geometry.F90.  I see that this wouldn't work if you want to do it for a previous particle position like you do with your p % track_xyz, but maybe there's a way around that issue as well (or, perhaps does this solve that issue in the first place, and do away with the need for track_xyz since in this case we're calculating offsets before advancing the particle forward?  Can you remind me again why track_xyz was needed?)