let rec logic_data d = match d with
| F.D1null | F.D1addr _ -> false
| F.D1var (None, _) -> true
| F.D1var (Some _, _) -> false
| F.D1indir p ->
if logic_data p then
unsupported "indirect access to logic data %a" F.pp_data d
else false
| F.D1base p | F.D1depl (p, _) | F.D1shift (p, _) | F.D1proj (p, _)
| F.D1mu (p,_,_) | F.D1muRange (p,_)
| F.D1muI (p,_,_) | F.D1muIrange (p,_)->
logic_data p