anchor.diff:        let v_local <- toGet(localCompareRemoteFifo).get();
         let v_remote <- toGet(remoteCompareLocalFifo).get();
         if(verbose) $display("%d: %d, v_local=%h, v_remote=%h, delay=%h", cycle, id, v_local, v_remote, delay);
  -      if (v_local + 1 <= v_remote + delay) begin
  -         localLeRemoteFifo.enq(True);
  -         localGtRemoteFifo.enq(False);
  -      end
  -      else begin
  -         localLeRemoteFifo.enq(False);
  -         localGtRemoteFifo.enq(True);
  +      if (v_local + 1 < v_remote + delay) begin
  +         localLtRemoteFifo.enq(True);
  +         localGeRemoteFifo.enq(False);
  +      end
  +      else begin
  +         localLtRemoteFifo.enq(False);
  +         localGeRemoteFifo.enq(True);
         end
         localOutputFifo.enq(v_local + 1);
         remoteOutputFifo.enq(v_remote + 1);
  
positive.code:       let v_global <- toGet(globalOutputFifo).get();
        let isGR <- toGet(globalGtRemoteFifo).get();
        let isGL <- toGet(globalGtLocalFifo).get();
        let isLR <- toGet(localGtRemoteFifo).get();
        let isLG <- toGet(globalLeLocalFifo).get();
        let isRG <- toGet(globalLeRemoteFifo).get();
        let isRL <- toGet(localLeRemoteFifo).get();
        let global_delay = fromInteger(valueOf(GLOBAL_DELAY));
        if (isGR && isGL) begin
           c_local_next <= v_global + global_delay;
  
negative.code:    FIFOF#(Bit#(53)) globalOutputFifo <- mkFIFOF;
     FIFOF#(Bit#(53)) remoteOutputFifo <- mkFIFOF;
  
     FIFOF#(Bool) localLtRemoteFifo  <- mkFIFOF;
     FIFOF#(Bool) localGeRemoteFifo  <- mkFIFOF;
     FIFOF#(Bool) globalLeRemoteFifo <- mkFIFOF;
     FIFOF#(Bool) globalGtRemoteFifo <- mkFIFOF;
     FIFOF#(Bool) globalLeLocalFifo  <- mkFIFOF;
  