assertion should not have side effect or `-O` breaks. initially just wanted to fix the one in rearrange, but it also made some long lines less long
* amd doorbell size ids 64bits * add test * test to pass 32bit boundary is more correct * no need to round there