function* applyFloatingMask(mask, address) {
const r = address | mask.or
for (let i = 0; i < (1<<mask.floating.length); i++) {
const f = new Array(36).fill('X')
for (let j = 0; j < mask.floating.length; j++) {
const b = mask.floating[j]
f[b] = (i >> j) & 1
}
const floatingMask = parseMask(f.reverse().join(''))
yield apply(floatingMask, r)
}
}