let assigns_goal env from_label region to_label =
let mfrom = mem_at env from_label in
let mto = mem_at env to_label in
let zones =
match region with
| [] -> dzone_empty ()
| [a] -> dzone_assigned a
| a::others ->
List.fold_left
(fun dz a ->
dzone_union dz (dzone_assigned a)
) (dzone_assigned a) others
in
let ma = malloc_of_mem mfrom in
RtLib.is_havoc ma (mbits_of_mem mfrom) zones (mbits_of_mem mto)