subsh
int effps, h1, h2, h3, b1, b2, b3, subsh, d1, d2, supsh, treg;
subsh = -d1+h2-b2;
subsh = b1-b2;
p1, subsh, effps, p2, p2, -subsh+supsh);
p1, subsh, p2, p2, -subsh+supsh);
if (flags & subsh) {
else if (flags & subsh)
flags |= subsh;