anchor.diff:              b5 (mod64- b5 (mod64+ k5 t0))
               b6 (mod64- b6 (mod64+ k6 t1))
               b7 (mod64- b7 (mod64+ k7 18)))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k5 t0)))
  -            b7 (mod64- b7 (mod64+ k6 17)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k3))
  -            b5 (mod64- b5 (mod64+ k4 t2)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k1))
  -            b3 (mod64- b3 k2))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k8))
  -            b1 (mod64- b1 k0))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k4 t2)))
  -            b7 (mod64- b7 (mod64+ k5 16)))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k2))
  -            b5 (mod64- b5 (mod64+ k3 t1)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k0))
  -            b3 (mod64- b3 k1))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k7))
  -            b1 (mod64- b1 k8))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k3 t1)))
  -            b7 (mod64- b7 (mod64+ k4 15)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k1))
  -            b5 (mod64- b5 (mod64+ k2 t0)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k8))
  -            b3 (mod64- b3 k0))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k6))
  -            b1 (mod64- b1 k7))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k2 t0)))
  -            b7 (mod64- b7 (mod64+ k3 14)))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k0))
  -            b5 (mod64- b5 (mod64+ k1 t2)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k7))
  -            b3 (mod64- b3 k8))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k5))
  -            b1 (mod64- b1 k6))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k1 t2)))
  -            b7 (mod64- b7 (mod64+ k2 13)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k8))
  -            b5 (mod64- b5 (mod64+ k0 t1)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k6))
  -            b3 (mod64- b3 k7))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k4))
  -            b1 (mod64- b1 k5))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k0 t1)))
  -            b7 (mod64- b7 (mod64+ k1 12)))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k7))
  -            b5 (mod64- b5 (mod64+ k8 t0)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k5))
  -            b3 (mod64- b3 k6))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k3))
  -            b1 (mod64- b1 k4))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k8 t0)))
  -            b7 (mod64- b7 (mod64+ k0 11)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k6))
  -            b5 (mod64- b5 (mod64+ k7 t2)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k4))
  -            b3 (mod64- b3 k5))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k2))
  -            b1 (mod64- b1 k3))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k7 t2)))
  -            b7 (mod64- b7 (mod64+ k8 10)))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k5))
  -            b5 (mod64- b5 (mod64+ k6 t1)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k3))
  -            b3 (mod64- b3 k4))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k1))
  -            b1 (mod64- b1 k2))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k6 t1)))
  -            b7 (mod64- b7 (mod64+ k7 9)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k4))
  -            b5 (mod64- b5 (mod64+ k5 t0)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k2))
  -            b3 (mod64- b3 k3))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k0))
  -            b1 (mod64- b1 k1))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k5 t0)))
  -            b7 (mod64- b7 (mod64+ k6 8)))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k3))
  -            b5 (mod64- b5 (mod64+ k4 t2)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k1))
  -            b3 (mod64- b3 k2))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k8))
  -            b1 (mod64- b1 k0))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k4 t2)))
  -            b7 (mod64- b7 (mod64+ k5 7)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k2))
  -            b5 (mod64- b5 (mod64+ k3 t1)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k0))
  -            b3 (mod64- b3 k1))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k7))
  -            b1 (mod64- b1 k8))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k3 t1)))
  -            b7 (mod64- b7 (mod64+ k4 6)))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k1))
  -            b5 (mod64- b5 (mod64+ k2 t0)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k8))
  -            b3 (mod64- b3 k0))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k6))
  -            b1 (mod64- b1 k7))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k2 t0)))
  -            b7 (mod64- b7 (mod64+ k3 5)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k0))
  -            b5 (mod64- b5 (mod64+ k1 t2)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k7))
  -            b3 (mod64- b3 k8))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k5))
  -            b1 (mod64- b1 k6))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k1 t2)))
  -            b7 (mod64- b7 (mod64+ k2 4)))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k8))
  -            b5 (mod64- b5 (mod64+ k0 t1)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k6))
  -            b3 (mod64- b3 k7))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k4))
  -            b1 (mod64- b1 k5))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k0 t1)))
  -            b7 (mod64- b7 (mod64+ k1 3)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k7))
  -            b5 (mod64- b5 (mod64+ k8 t0)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k5))
  -            b3 (mod64- b3 k6))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k3))
  -            b1 (mod64- b1 k4))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k8 t0)))
  -            b7 (mod64- b7 (mod64+ k0 2)))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k6))
  -            b5 (mod64- b5 (mod64+ k7 t2)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k4))
  -            b3 (mod64- b3 k5))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k2))
  -            b1 (mod64- b1 k3))
  -
  -      (setf b3 (ror64 (logxor b3 b4) 22)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 56)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 35)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 8)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 43)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 39)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 29)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 25)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 17)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 10)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 50)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 13)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 24)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k7 t2)))
  -            b7 (mod64- b7 (mod64+ k8 1)))
  -      (setf b5 (ror64 (logxor b5 b4) 34)
  -            b4 (mod64- b4 (mod64+ b5 k5))
  -            b5 (mod64- b5 (mod64+ k6 t1)))
  -      (setf b3 (ror64 (logxor b3 b2) 30)
  -            b2 (mod64- b2 (mod64+ b3 k3))
  -            b3 (mod64- b3 k4))
  -      (setf b1 (ror64 (logxor b1 b0) 39)
  -            b0 (mod64- b0 (mod64+ b1 k1))
  -            b1 (mod64- b1 k2))
  -      (setf b3 (ror64 (logxor b3 b4) 56)
  -            b4 (mod64- b4 b3))
  -      (setf b5 (ror64 (logxor b5 b2) 54)
  -            b2 (mod64- b2 b5))
  -      (setf b7 (ror64 (logxor b7 b0) 9)
  -            b0 (mod64- b0 b7))
  -      (setf b1 (ror64 (logxor b1 b6) 44)
  -            b6 (mod64- b6 b1))
  -      (setf b7 (ror64 (logxor b7 b2) 39)
  -            b2 (mod64- b2 b7))
  -      (setf b5 (ror64 (logxor b5 b0) 36)
  -            b0 (mod64- b0 b5))
  -      (setf b3 (ror64 (logxor b3 b6) 49)
  -            b6 (mod64- b6 b3))
  -      (setf b1 (ror64 (logxor b1 b4) 17)
  -            b4 (mod64- b4 b1))
  -      (setf b3 (ror64 (logxor b3 b0) 42)
  -            b0 (mod64- b0 b3))
  -      (setf b5 (ror64 (logxor b5 b6) 14)
  -            b6 (mod64- b6 b5))
  -      (setf b7 (ror64 (logxor b7 b4) 27)
  -            b4 (mod64- b4 b7))
  -      (setf b1 (ror64 (logxor b1 b2) 33)
  -            b2 (mod64- b2 b1))
  -      (setf b7 (ror64 (logxor b7 b6) 37)
  -            b6 (mod64- b6 (mod64+ b7 (mod64+ k6 t1)))
  -            b7 (mod64- b7 k7))
  -      (setf b5 (ror64 (logxor b5 b4) 19)
  -            b4 (mod64- b4 (mod64+ b5 k4))
  -            b5 (mod64- b5 (mod64+ k5 t0)))
  -      (setf b3 (ror64 (logxor b3 b2) 36)
  -            b2 (mod64- b2 (mod64+ b3 k2))
  -            b3 (mod64- b3 k3))
  -      (setf b1 (ror64 (logxor b1 b0) 46)
  -            b0 (mod64- b0 (mod64+ b1 k0))
  -            b1 (mod64- b1 k1))
  -
  +      (macrolet ((arx (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10
  +                       x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21)
  +                   `(setf b3 (ror64 (logxor b3 b4) 22)
  +                          b4 (mod64- b4 b3)
  +                          b5 (ror64 (logxor b5 b2) 56)
  +                          b2 (mod64- b2 b5)
  +                          b7 (ror64 (logxor b7 b0) 35)
  +                          b0 (mod64- b0 b7)
  +                          b1 (ror64 (logxor b1 b6) 8)
  +                          b6 (mod64- b6 b1)
  +                          b7 (ror64 (logxor b7 b2) 43)
  +                          b2 (mod64- b2 b7)
  +                          b5 (ror64 (logxor b5 b0) 39)
  +                          b0 (mod64- b0 b5)
  +                          b3 (ror64 (logxor b3 b6) 29)
  +                          b6 (mod64- b6 b3)
  +                          b1 (ror64 (logxor b1 b4) 25)
  +                          b4 (mod64- b4 b1)
  +                          b3 (ror64 (logxor b3 b0) 17)
  +                          b0 (mod64- b0 b3)
  +                          b5 (ror64 (logxor b5 b6) 10)
  +                          b6 (mod64- b6 b5)
  +                          b7 (ror64 (logxor b7 b4) 50)
  +                          b4 (mod64- b4 b7)
  +                          b1 (ror64 (logxor b1 b2) 13)
  +                          b2 (mod64- b2 b1)
  +                          b7 (ror64 (logxor b7 b6) 24)
  +                          b6 (mod64- b6 (mod64+ b7 (mod64+ ,x0 ,x1)))
  +                          b7 (mod64- b7 (mod64+ ,x2 ,x3))
  +                          b5 (ror64 (logxor b5 b4) 34)
  +                          b4 (mod64- b4 (mod64+ b5 ,x4))
  +                          b5 (mod64- b5 (mod64+ ,x5 ,x6))
  +                          b3 (ror64 (logxor b3 b2) 30)
  +                          b2 (mod64- b2 (mod64+ b3 ,x7))
  +                          b3 (mod64- b3 ,x8)
  +                          b1 (ror64 (logxor b1 b0) 39)
  +                          b0 (mod64- b0 (mod64+ b1 ,x9))
  +                          b1 (mod64- b1 ,x10)
  +                          b3 (ror64 (logxor b3 b4) 56)
  +                          b4 (mod64- b4 b3)
  +                          b5 (ror64 (logxor b5 b2) 54)
  +                          b2 (mod64- b2 b5)
  +                          b7 (ror64 (logxor b7 b0) 9)
  +                          b0 (mod64- b0 b7)
  +                          b1 (ror64 (logxor b1 b6) 44)
  +                          b6 (mod64- b6 b1)
  +                          b7 (ror64 (logxor b7 b2) 39)
  +                          b2 (mod64- b2 b7)
  +                          b5 (ror64 (logxor b5 b0) 36)
  +                          b0 (mod64- b0 b5)
  +                          b3 (ror64 (logxor b3 b6) 49)
  +                          b6 (mod64- b6 b3)
  +                          b1 (ror64 (logxor b1 b4) 17)
  +                          b4 (mod64- b4 b1)
  +                          b3 (ror64 (logxor b3 b0) 42)
  +                          b0 (mod64- b0 b3)
  +                          b5 (ror64 (logxor b5 b6) 14)
  +                          b6 (mod64- b6 b5)
  +                          b7 (ror64 (logxor b7 b4) 27)
  +                          b4 (mod64- b4 b7)
  +                          b1 (ror64 (logxor b1 b2) 33)
  +                          b2 (mod64- b2 b1)
  +                          b7 (ror64 (logxor b7 b6) 37)
  +                          b6 (mod64- b6 (mod64+ b7 (mod64+ ,x11 ,x12)))
  +                          b7 (mod64- b7 (mod64+ ,x13 ,x14))
  +                          b5 (ror64 (logxor b5 b4) 19)
  +                          b4 (mod64- b4 (mod64+ b5 ,x15))
  +                          b5 (mod64- b5 (mod64+ ,x16 ,x17))
  +                          b3 (ror64 (logxor b3 b2) 36)
  +                          b2 (mod64- b2 (mod64+ b3 ,x18))
  +                          b3 (mod64- b3 ,x19)
  +                          b1 (ror64 (logxor b1 b0) 46)
  +                          b0 (mod64- b0 (mod64+ b1 ,x20))
  +                          b1 (mod64- b1 ,x21))))
  +        (arx k5 t0 k6 17 k3 k4 t2 k1 k2 k8 k0
  +             k4 t2 k5 16 k2 k3 t1 k0 k1 k7 k8)
  +        (arx k3 t1 k4 15 k1 k2 t0 k8 k0 k6 k7
  +             k2 t0 k3 14 k0 k1 t2 k7 k8 k5 k6)
  +        (arx k1 t2 k2 13 k8 k0 t1 k6 k7 k4 k5
  +             k0 t1 k1 12 k7 k8 t0 k5 k6 k3 k4)
  +        (arx k8 t0 k0 11 k6 k7 t2 k4 k5 k2 k3
  +             k7 t2 k8 10 k5 k6 t1 k3 k4 k1 k2)
  +        (arx k6 t1 k7 9 k4 k5 t0 k2 k3 k0 k1
  +             k5 t0 k6 8 k3 k4 t2 k1 k2 k8 k0)
  +        (arx k4 t2 k5 7 k2 k3 t1 k0 k1 k7 k8
  +             k3 t1 k4 6 k1 k2 t0 k8 k0 k6 k7)
  +        (arx k2 t0 k3 5 k0 k1 t2 k7 k8 k5 k6
  +             k1 t2 k2 4 k8 k0 t1 k6 k7 k4 k5)
  +        (arx k0 t1 k1 3 k7 k8 t0 k5 k6 k3 k4
  +             k8 t0 k0 2 k6 k7 t2 k4 k5 k2 k3)
  +        (arx k7 t2 k8 1 k5 k6 t1 k3 k4 k1 k2
  +             k6 t1 k7 0 k4 k5 t0 k2 k3 k0 k1))
         (store-words plaintext plaintext-start b0 b1 b2 b3 b4 b5 b6 b7)
         (values))))
   
  
positive.code:             b1 (mod64- b1 (mod64+ k4 t0))
              b2 (mod64- b2 (mod64+ k0 t1))
              b3 (mod64- b3 (mod64+ k1 18)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k2))
              b1 (mod64- b1 (mod64+ k3 t2)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k4 t0)))
              b3 (mod64- b3 (mod64+ k0 17)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k1))
              b1 (mod64- b1 (mod64+ k2 t1)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k3 t2)))
              b3 (mod64- b3 (mod64+ k4 16)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k0))
              b1 (mod64- b1 (mod64+ k1 t0)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k2 t1)))
              b3 (mod64- b3 (mod64+ k3 15)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k4))
              b1 (mod64- b1 (mod64+ k0 t2)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k1 t0)))
              b3 (mod64- b3 (mod64+ k2 14)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k3))
              b1 (mod64- b1 (mod64+ k4 t1)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k0 t2)))
              b3 (mod64- b3 (mod64+ k1 13)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k2))
              b1 (mod64- b1 (mod64+ k3 t0)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k4 t1)))
              b3 (mod64- b3 (mod64+ k0 12)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k1))
              b1 (mod64- b1 (mod64+ k2 t2)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k3 t0)))
              b3 (mod64- b3 (mod64+ k4 11)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k0))
              b1 (mod64- b1 (mod64+ k1 t1)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k2 t2)))
              b3 (mod64- b3 (mod64+ k3 10)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k4))
              b1 (mod64- b1 (mod64+ k0 t0)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k1 t1)))
              b3 (mod64- b3 (mod64+ k2 9)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k3))
              b1 (mod64- b1 (mod64+ k4 t2)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k0 t0)))
              b3 (mod64- b3 (mod64+ k1 8)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k2))
              b1 (mod64- b1 (mod64+ k3 t1)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k4 t2)))
              b3 (mod64- b3 (mod64+ k0 7)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k1))
              b1 (mod64- b1 (mod64+ k2 t0)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k3 t1)))
              b3 (mod64- b3 (mod64+ k4 6)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k0))
              b1 (mod64- b1 (mod64+ k1 t2)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k2 t0)))
              b3 (mod64- b3 (mod64+ k3 5)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k4))
              b1 (mod64- b1 (mod64+ k0 t1)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k1 t2)))
              b3 (mod64- b3 (mod64+ k2 4)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k3))
              b1 (mod64- b1 (mod64+ k4 t0)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k0 t1)))
              b3 (mod64- b3 (mod64+ k1 3)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k2))
              b1 (mod64- b1 (mod64+ k3 t2)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k4 t0)))
              b3 (mod64- b3 (mod64+ k0 2)))
  
        (setf b3 (ror64 (logxor b3 b0) 32)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 32)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 58)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 22)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 46)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 12)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 25)
              b0 (mod64- b0 (mod64+ b1 k1))
              b1 (mod64- b1 (mod64+ k2 t1)))
        (setf b3 (ror64 (logxor b3 b2) 33)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k3 t2)))
              b3 (mod64- b3 (mod64+ k4 1)))
        (setf b3 (ror64 (logxor b3 b0) 5)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 37)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 23)
              b0 (mod64- b0 b1))
        (setf b3 (ror64 (logxor b3 b2) 40)
              b2 (mod64- b2 b3))
        (setf b3 (ror64 (logxor b3 b0) 52)
              b0 (mod64- b0 b3))
        (setf b1 (ror64 (logxor b1 b2) 57)
              b2 (mod64- b2 b1))
        (setf b1 (ror64 (logxor b1 b0) 14)
              b0 (mod64- b0 (mod64+ b1 k0))
              b1 (mod64- b1 (mod64+ k1 t0)))
        (setf b3 (ror64 (logxor b3 b2) 16)
              b2 (mod64- b2 (mod64+ b3 (mod64+ k2 t1)))
              b3 (mod64- b3 k3))
  
        (store-words plaintext plaintext-start b0 b1 b2 b3)
        (values))))
  
  
negative.code:   (let ((tweak (threefish-tweak cipher)))
      (setf (aref tweak 0) (ub64ref/le tweak-data 0)
            (aref tweak 1) (ub64ref/le tweak-data 8)
            (aref tweak 2) (logxor (aref tweak 0) (aref tweak 1)))))
  
  
  ;;; Implementation for blocks of 256 bits
  