anchor.diff:    (sys.lap-x86:cmov64ng :rcx :rdx)
     (sys.lap-x86:push :rax)
     (sys.lap-x86:push 0)
  -  (sys.lap-x86:shl64 :rax 3)
  -  (sys.lap-x86:mov64 :r8 :rax)
  +  (sys.lap-x86:lea64 :r8 ((:rcx 8)))
     (sys.lap-x86:test64 :r8 8)
     (sys.lap-x86:jz count-even)
     (sys.lap-x86:add64 :r8 8) ; one word for the header, no alignment.
  
positive.code:   ;; Allocate a new bignum large enough to hold the result.
    (sys.lap-x86:pushf)
    (sys.lap-x86:cli)
    (sys.lap-x86:mov64 :rcx :rax)
    (sys.lap-x86:cmp64 :rax :rdx)
    (sys.lap-x86:cmov64ng :rcx :rdx)
    (sys.lap-x86:push :rax)
    (sys.lap-x86:push 0)
    (sys.lap-x86:shl64 :rax 3)
    (sys.lap-x86:mov64 :r8 :rax)
    (sys.lap-x86:test64 :r8 8)
    (sys.lap-x86:jz count-even)
    (sys.lap-x86:add64 :r8 8) ; one word for the header, no alignment.
  
negative.code:   (sys.lap-x86:cmov64ng :rcx :rdx)
    (sys.lap-x86:push :rax)
    (sys.lap-x86:push 0)
    (sys.lap-x86:lea64 :r8 ((:rcx 8)))
    (sys.lap-x86:test64 :r8 8)
    (sys.lap-x86:jz count-even)
    (sys.lap-x86:add64 :r8 8) ; one word for the header, no alignment.
  