anchor.diff:  	    WordXL  next_pc  = stageF.out.data_to_stageD.pred_pc;
   
   	    // Override, if stage1 is redirecting
  -	    Bool redirect = (   (stage1.out.ostatus == OSTATUS_PIPE)
  -			     && (stage1.out.control != CONTROL_DISCARD)
  -			     && stage1.out.redirect);
  -	    if (redirect) begin
  -	       epoch <- fav_update_epoch;
  -	       next_pc  = stage1.out.next_pc;
  +	    if (redirect matches tagged Valid { .e, .pc2 }) begin
  +	       epoch   = e;
  +	       next_pc = pc2;
   	    end
  +
   	    CF_Info cf_info = cf_info_none;
   	    if (   (stage1.out.ostatus == OSTATUS_PIPE)
   		&& (stage1.out.control != CONTROL_DISCARD))
  
positive.code:       Bool stageF_full = (stageF.out.ostatus != OSTATUS_EMPTY);
  
        // ----------------
        // Stage3 sink (does regfile writebacks)
  
        if (stage3.out.ostatus == OSTATUS_PIPE) begin
  
negative.code: 	    else if ((! stage1.out.redirect) || (stageF.out.ostatus != OSTATUS_BUSY)) begin
  	       stage2.enq (stage1.out.data_to_stage2);  stage2_full = True;
  	       stage1.deq;                              stage1_full = False;
  
  	       if (stage1.out.redirect) begin
  		  let new_epoch <- fav_update_epoch;
  		  redirect = tagged Valid (tuple2 (new_epoch,
  						   stage1.out.next_pc));
  	       end
  	    end
  	 end
  	  
  