anchor.diff:  -module(hyper).
   -include_lib("eunit/include/eunit.hrl").
   
  --export([new/1, insert/2, card/1, union/1, union/2]).
  +-export([new/1, insert/2, card/1, union/1, union/2, intersect_card/2]).
   -export([to_json/1, from_json/1]).
   -compile(native).
   
  
positive.code:                            Intersection
                            ]).
  
  %% report_wrapper_test_() ->
  %%     [{timeout, 600000000, ?_test(estimate_report())}].
  
  
negative.code:                              end, LeftRegisters),
  
      Left#hyper{registers = NewRegisters}.
  
  
  %% NOTE: use with caution, no guarantees on accuracy.
  -spec intersect_card(filter(), filter()) -> float().
  intersect_card(Left, Right) when Left#hyper.p =:= Right#hyper.p ->
      max(0.0, (card(Left) + card(Right)) - card(union(Left, Right))).
  
  
  
  -spec card(filter()) -> float().
  