: check-split ( live-interval n -- )
check-allocation? get [
- [ [ start>> ] dip > [ splitting-too-early ] when ]
- [ [ end>> ] dip < [ splitting-too-late ] when ]
- [ drop [ end>> ] [ start>> ] bi = [ splitting-atomic-interval ] when ]
- 2tri
+ [ [ start>> ] dip > [ throw-splitting-too-early ] when ]
+ [ [ end>> ] dip < [ throw-splitting-too-late ] when ]
+ [
+ drop [ end>> ] [ start>> ] bi =
+ [ throw-splitting-atomic-interval ] when
+ ] 2tri
] [ 2drop ] if ; inline
: split-before ( before -- before' )