| # lpt = # avol, # buf1 = EB_PAGE_SIZE, avol[m4] = mapped(buf2), m4 < # avol, ebm-vol-inv(avol), ebm-vol-inv (avol [m4, mapped ( buf2 + mkempbuf(m3 - # buf2) + copy(buf3, 0, copy(buf1, 0, mkbuf(align↓(m2 + n3, EB_PAGE_SIZE)), 0, m2), m2, align↓(m2 + n3, EB_PAGE_SIZE) - m2)) ]), is-aligned(m3, EB_PAGE_SIZE), wbuf-cons(mkwbuf(buf1, m3, m2), mapped(buf2), false), m3 + align↓(m2 + n3, EB_PAGE_SIZE) ≤ LEB_SIZE, # buf2 ≤ m3, m3 + m2 + n3 ≤ LEB_SIZE, EB_PAGE_SIZE ≤ m2 + n3, m2 ≤ EB_PAGE_SIZE, align↓(m2 + n3, EB_PAGE_SIZE) ≤ # buf3 + m2, n3 ≤ # buf3, m2 ≤ align↓(m2 + n3, EB_PAGE_SIZE) ⊦ wbuf-cons (mkwbuf (copy(buf3, align↓(m2 + n3, EB_PAGE_SIZE) - m2, buf1, 0, (m2 + n3) % EB_PAGE_SIZE), m3 + align↓(m2 + n3, EB_PAGE_SIZE), (m2 + n3) % EB_PAGE_SIZE), mapped ( buf2 + mkempbuf(m3 - # buf2) + copy(buf3, 0, copy(buf1, 0, mkbuf(align↓(m2 + n3, EB_PAGE_SIZE)), 0, m2), m2, align↓(m2 + n3, EB_PAGE_SIZE) - m2)), false) |
# buf1 = EB_PAGE_SIZE, # lpt = # avol, avol[m4] = mapped(buf2), m3 = n0 + # buf2, m4 < # avol, ebm-vol-inv (avol [m4, mapped(buf2 + mkempbuf(n0) + copy(buf3, 0, copy(buf1, 0, mkbuf(align↓(m2 + n3, EB_PAGE_SIZE)), 0, m2), m2, align↓(m2 + n3, EB_PAGE_SIZE) - m2)) ]), ebm-vol-inv(avol), is-aligned(m3, EB_PAGE_SIZE), wbuf-cons(mkwbuf(buf1, m3, m2), mapped(buf2), false), m2 ≤ align↓(m2 + n3, EB_PAGE_SIZE), n3 ≤ # buf3, align↓(m2 + n3, EB_PAGE_SIZE) ≤ # buf3 + m2, m2 ≤ EB_PAGE_SIZE, EB_PAGE_SIZE ≤ m2 + n3, m3 + m2 + n3 ≤ LEB_SIZE, # buf2 ≤ m3, m3 + align↓(m2 + n3, EB_PAGE_SIZE) ≤ LEB_SIZE ⊦ wbuf-cons (mkwbuf (copy(buf3, align↓(m2 + n3, EB_PAGE_SIZE) - m2, buf1, 0, (m2 + n3) % EB_PAGE_SIZE), m3 + align↓(m2 + n3, EB_PAGE_SIZE), (m2 + n3) % EB_PAGE_SIZE), mapped(buf2 + mkempbuf(n0) + copy(buf3, 0, copy(buf1, 0, mkbuf(align↓(m2 + n3, EB_PAGE_SIZE)), 0, m2), m2, align↓(m2 + n3, EB_PAGE_SIZE) - m2)), false)
Used simplifier rules: n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: m3, # buf2, n