anchor.diff:  	   frame.doreturn();
   	end
        else
  +	// call FIBSTATE1 and return to FIBSTATE2
  +	// call with argument frame.args -1 and tmp2 = 0
   	frame.docall(FIBSTATE1, FIBSTATE2, frame.args - 1, 0);
        endrule
   
  
positive.code: 
  interface FibIndication;
      method Action fibresult(Bit#(32) v);
      method Action fibnote(Bit#(32) v);
  endinterface
  
  interface FibRequest;
  
negative.code:     *   if n == 0 return 0  // fibstate1
      *   if n == 1 return 1
      *   tmp1 = fib(n-1)
      *   tmp2 = fib(n-2)     // fibstate2
      *   return tmp1 + tmp2  // fibstate3
      */
  
     rule fib1 (frame.pc == FIBSTATE1);
        //$display("FIBSTATE1 %d", frame.args);
  