anchor.diff:      (emit (make-instance 'ir:jump-instruction :target out :values (list bignum-result)))
       (emit out)))
   
  +(define-builtin mezzano.compiler::%fast-fixnum-+ ((lhs rhs) result)
  +  (cond ((and (constant-value-p rhs 'integer)
  +              (<= 0 (ash (fetch-constant-value rhs) sys.int::+n-fixnum-bits+) 4095))
  +         (emit (make-instance 'arm64-instruction
  +                              :opcode 'lap:add
  +                              :operands (list result
  +                                              lhs
  +                                              (ash (fetch-constant-value rhs)
  +                                                   sys.int::+n-fixnum-bits+))
  +                              :inputs (list lhs)
  +                              :outputs (list result))))
  +        ((and (constant-value-p rhs 'integer)
  +              (<= 0 (ash (- (fetch-constant-value rhs)) sys.int::+n-fixnum-bits+) 4095))
  +         (emit (make-instance 'arm64-instruction
  +                              :opcode 'lap:sub
  +                              :operands (list result
  +                                              lhs
  +                                              (ash (- (fetch-constant-value rhs))
  +                                                   sys.int::+n-fixnum-bits+))
  +                              :inputs (list lhs)
  +                              :outputs (list result))))
  +          (t
  +           (emit (make-instance 'arm64-instruction
  +                                :opcode 'lap:add
  +                                :operands (list result lhs rhs)
  +                                :inputs (list lhs rhs)
  +                                :outputs (list result))))))
  +
   (define-builtin mezzano.runtime::%fixnum-- ((lhs rhs) result)
     (let ((out (make-instance 'ir:label :phis (list result)))
           (overflow (make-instance 'ir:label :name :--overflow))
  
positive.code:                                 :values (list shift-result)))
             (emit done-label)))))
  
  (define-builtin mezzano.runtime::%fixnum-truncate ((number divisor) (quotient remainder))
    (let ((quotient-unboxed (make-instance 'ir:virtual-register :kind :integer)))
      (emit (make-instance 'arm64-instruction
  
negative.code:                        :inputs (list lhs rhs)
                         :outputs (list result))))
  
  (define-builtin mezzano.compiler::%fast-fixnum-logior ((lhs rhs) result)
    (emit (make-instance 'arm64-instruction
                         :opcode 'lap:orr
                         :operands (list result lhs rhs)
                         :inputs (list lhs rhs)
                         :outputs (list result))))
  
  (define-builtin mezzano.runtime::%fixnum-logxor ((lhs rhs) result)
    (emit (make-instance 'arm64-instruction
                         :opcode 'lap:eor
                         :operands (list result lhs rhs)
                         :inputs (list lhs rhs)
                         :outputs (list result))))
  
  (define-builtin mezzano.compiler::%fast-fixnum-logxor ((lhs rhs) result)
    (emit (make-instance 'arm64-instruction
                         :opcode 'lap:eor
                         :operands (list result lhs rhs)
  