method vinst = function
| Set((Var v,NoOffset),e,loc) ->
begin try
let voff = VarinfoHashtbl.find cursor_to_offset v in
let eoff = match destruct_integer e with
| None -> assert false
| Some(v2,Some e) ->
begin try
let voff2 = VarinfoHashtbl.find cursor_to_offset v2 in
new_exp(BinOp(PlusA,
new_exp (Lval(Var voff2,NoOffset)),
e,
almost_integer_type))
with Not_found -> e end
| Some(v2,None) ->
begin try
let voff2 = VarinfoHashtbl.find cursor_to_offset v2 in
new_exp (Lval(Var voff2,NoOffset))
with Not_found -> constant_expr 0L end
in
ChangeDoChildrenPost
([Set((Var voff,NoOffset),eoff,loc)], fun x -> x)
with Not_found -> DoChildren end
| _ -> DoChildren