anchor.diff:         map_and_binary,unsafe_branch_caching,
          bad_literals,good_literals,constant_propagation,parse_xml,
          get_payload,escape,num_slots_different,
  -       check_bitstring_list,guard]}].
  +       beam_bsm,guard,is_ascii]}].
   
   
   init_per_suite(Config) ->
  
positive.code: 	 map_and_binary/1,unsafe_branch_caching/1,
  	 bad_literals/1,good_literals/1,constant_propagation/1,
  	 parse_xml/1,get_payload/1,escape/1,num_slots_different/1,
           check_bitstring_list/1,guard/1]).
  
  -export([coverage_id/1,coverage_external_ignore/2]).
  
  
negative.code: guard_2(<<_>>, Healing) when Healing#{[] => Healing} =:= #{[] => #{}} ->
      ok.
  
  is_ascii(_Config) ->
      true = do_is_ascii(<<>>),
      true = do_is_ascii(<<"string">>),
      false = do_is_ascii(<<1024/utf8>>),
      {'EXIT',{function_clause,_}} = (catch do_is_ascii(<<$A,0:3>>)),
      {'EXIT',{function_clause,_}} = (catch do_is_ascii(<<16#80,0:3>>)),
      ok.
  
  do_is_ascii(<<>>) ->
      true;
  do_is_ascii(<<C,_/binary>>) when C >= 16#80 ->
      %% This clause must fail to match if the size of the argument in
      %% bits is not divisible by 8. Beware of unsafe optimizations.
      false;
  do_is_ascii(<<_, T/binary>>) ->
      do_is_ascii(T).
  
  
  check(F, R) ->
      R = F().
  
  