let mk_multq =
let table = Mpa.Q.Hash.create 17 in
let _ = Tools.add_at_reset (fun () -> Mpa.Q.Hash.clear table) in
fun q ->
try
Mpa.Q.Hash.find table q
with
Not_found ->
let hsh = genidx() in
let c = (Arith(Multq(q)), hsh) in
Mpa.Q.Hash.add table q c; c