anchor.diff:  op_type('bsl') -> integer;
   op_type('bsr') -> integer;
   op_type('div') -> integer;
  -op_type(_) -> unknown.
  +op_type(_) -> any.
  +
  +unary_op_type(bit_size) -> integer;
  +unary_op_type(byte_size) -> integer;
  +unary_op_type(length) -> integer;
  +unary_op_type(map_size) -> integer;
  +unary_op_type(size) -> integer;
  +unary_op_type(tuple_size) -> integer;
  +unary_op_type(_) -> any.
   
   flush(Rs, [{set,[_],[_,_,_],{bif,is_record,_}}|_]=Is0, Acc0) ->
       Acc = flush_all(Rs, Is0, Acc0),
  
positive.code: 	    Areg = fetch_reg(A, Rs),
  	    Breg = fetch_reg(B, Rs),
  	    Acc = [{set,[D],[Areg,Breg],{bif,Op,{f,0}}}|clearerror(Acc2)],
  	    Ts = tdb_update([{D0,float}], Ts0),
  	    simplify_float_1(Is, Ts, Rs, Acc)
      end;
  simplify_float_1([{set,_,_,{try_catch,_,_}}=I|Is]=Is0, _Ts, Rs0, Acc0) ->
  
negative.code: %%
  %% %CopyrightEnd%
  %%
  %% Purpose: Type-based optimisations. See the comment for verified_type/1
  %% the very end of this file for a description of the types in the
  %% type database.
  
  -module(beam_type).
  
  -export([module/2]).
  
  -import(lists, [foldl/3,member/2,reverse/1,reverse/2,sort/1]).
  
  -define(UNICODE_INT, {integer,{0,16#10FFFF}}).
  
  