let filter_comparison ival_filter e1 ~cond_expr =
    match e1 with
      | Top _  -> e1
      | Map m1 ->
          try
            let k,v2 = find_lonely_key cond_expr in
            let v1 = find_or_bottom k m1 in
              Map (add_or_bottom k (ival_filter v1 v2) m1)
          with Not_found -> e1