anchor.diff:  
     function ParserState compute_next_state(Bit#(16) v);
       ParserState nextState = StateStart;
  -    case (v) matches
  +    case (byteSwap(v)) matches
         'h800: begin
           nextState = StateParseIpv4;
         end
  
positive.code:     clear_wire.send();
    endmethod
    interface parse_ipv4 = toGet(unparsed_parse_ipv4_fifo);
  
  endmodule
  
  interface ParseIpv4;
    interface Put#(Bit#(16)) parse_ethernet;
  
    method Action start;
    method Action stop;
  endinterface
  module mkStateParseIpv4#(Reg#(ParserState) state, FIFOF#(EtherData) datain)(ParseIpv4);
    let verbose = True;
    FIFOF#(Bit#(16)) unparsed_parse_ethernet_fifo <- mkBypassFIFOF;
  
    FIFOF#(Bit#(144)) internal_fifo_144 <- mkSizedFIFOF(1);
  
    Wire#(Bit#(128)) packet_in_wire <- mkDWire(0);
  
negative.code:   endrule
  
    Empty init_state <- mkStateStart(curr_state, data_in_fifo, start_fsm);
    ParseIpv4 parse_ipv4 <- mkStateParseIpv4(curr_state, data_in_fifo, parse_state_in_fifo[0]);
    ParseEthernet parse_ethernet <- mkStateParseEthernet(curr_state, data_in_fifo);
    mkConnection(parse_ipv4.parse_ethernet, parse_ethernet.parse_ipv4);
    rule start if (start_fsm);
  