B-Tree-Split-Child(x, i, y)
; x is parent, y is child in ith subtree

Allocate(z)
; n(z)=t-1, leaf(z) = leaf(y)

Copy y's second half keys and children to z

n(y) = t-1

Shift x's keys and children one to the right from i

child_{i+1}(x) = z

key_{i}(x) = key_{t}(y)

n(x) = n(x) + 1

Write(x)

DiskWrite(y)

DiskWrite(z)

Running time is with 3 disk writes