let dumptrace (b,op_l,reg_l) =
     let creg_l = List.map Region.concretize reg_l in
     let trace_chan = open_out_bin (Options.getValueOfString "tracefile"in
     let op_string = ref "" in
     let check_o2s x = 
       let (l1,l2,rv) = Abstraction.op_to_string x in
         let s = Printf.sprintf "%d :: %s :: %d \n\n" l1 rv l2 in
           op_string := s^(!op_string);
           Printf.printf "%d :: %s :: %d \n" l1 rv l2 ; 
             (l1,l2,rv) 
     in
       Marshal.to_channel trace_chan (b,List.map check_o2s op_l,List.map Abstraction.reg_to_strings creg_l) [];
       close_out trace_chan;
       Misc.append_to_file "traces" ("Start trace \n "^(!op_string)^"End trace\n");
       ()