anchor.diff:              %% 'succeeded' instruction too.
               Sub = Sub0#{Bool=>#b_literal{val=true}},
               cse_is(Is, Es, Sub, Acc)
  +    end;
  +cse_is([#b_set{op=put_map,dst=Dst,args=[_Kind,Map|_]}=I0|Is],
  +       Es0, Sub0, Acc) ->
  +    I1 = sub(I0, Sub0),
  +    {ok,ExprKey} = cse_expr(I1),
  +    case Es0 of
  +        #{ExprKey:=PrevPutMap} ->
  +            Sub = Sub0#{Dst=>PrevPutMap},
  +            cse_is(Is, Es0, Sub, Acc);
  +        #{Map:=PutMap} ->
  +            case combine_put_maps(PutMap, I1) of
  +                none ->
  +                    Es1 = Es0#{ExprKey=>Dst},
  +                    Es = cse_add_inferred_exprs(I1, Es1),
  +                    cse_is(Is, Es, Sub0, [I1|Acc]);
  +                I ->
  +                    Es1 = Es0#{ExprKey=>Dst},
  +                    Es = cse_add_inferred_exprs(I1, Es1),
  +                    cse_is(Is, Es, Sub0, [I|Acc])
  +            end;
  +        #{} ->
  +            Es1 = Es0#{ExprKey=>Dst},
  +            Es = cse_add_inferred_exprs(I1, Es1),
  +            cse_is(Is, Es, Sub0, [I1|Acc])
       end;
   cse_is([#b_set{dst=Dst}=I0|Is], Es0, Sub0, Acc) ->
       I = sub(I0, Sub0),
  
positive.code:          erl_internal:comp_op(Name, Arity) orelse
           erl_internal:bool_op(Name, Arity));
  cse_suitable(#b_set{}) -> false.
  
  %%%
  %%% Using floating point instructions.
  
negative.code:     Es#{{get_tl,[List]} => Tl};
  cse_add_inferred_exprs(#b_set{op={bif,map_get},dst=Value,args=[Key,Map]}, Es) ->
      Es#{{get_map_element,[Map,Key]} => Value};
  cse_add_inferred_exprs(#b_set{op=put_map,dst=Map,args=[_,_|Args]}=I, Es0) ->
      Es = cse_add_map_get(Args, Map, Es0),
      Es#{Map => I};
  cse_add_inferred_exprs(_, Es) -> Es.
  
  cse_add_map_get([Key,Value|T], Map, Es0) ->
  