<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> <span class="h-card" translate="no"><a href="https://social.restless.systems/@pointingdevice" class="u-url mention">@<span>pointingdevice</span></a></span> <span class="h-card" translate="no"><a href="https://rants.au/@sabik" class="u-url mention">@<span>sabik</span></a></span> Compilers will use a multiplicative inverse (after shifting out the low zero bits of the divisor) to subtract pointers: we're free to assume the pointers are from the same array, so the difference is a multiple of the struct size.</p>