anchor.diff:               (type (simple-array (unsigned-byte 64) (3)) tweak)
                (type (unsigned-byte 64) k0 k1 k2 k3 k4 t0 t1 t2))
       (with-words ((b0 b1 b2 b3) plaintext plaintext-start :big-endian nil :size 8)
  -      (setf b1 (mod64+ b1 (mod64+ k1 t0))
  -            b0 (mod64+ b0 (mod64+ b1 k0))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 k3)
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k2 t1)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k2 t1))
  -            b0 (mod64+ b0 (mod64+ b1 k1))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k4 1))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k3 t2)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  -      (setf b1 (mod64+ b1 (mod64+ k3 t2))
  -            b0 (mod64+ b0 (mod64+ b1 k2))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k0 2))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k4 t0)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k4 t0))
  -            b0 (mod64+ b0 (mod64+ b1 k3))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k1 3))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k0 t1)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  -      (setf b1 (mod64+ b1 (mod64+ k0 t1))
  -            b0 (mod64+ b0 (mod64+ b1 k4))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k2 4))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k1 t2)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k1 t2))
  -            b0 (mod64+ b0 (mod64+ b1 k0))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k3 5))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k2 t0)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  -      (setf b1 (mod64+ b1 (mod64+ k2 t0))
  -            b0 (mod64+ b0 (mod64+ b1 k1))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k4 6))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k3 t1)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k3 t1))
  -            b0 (mod64+ b0 (mod64+ b1 k2))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k0 7))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k4 t2)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  -      (setf b1 (mod64+ b1 (mod64+ k4 t2))
  -            b0 (mod64+ b0 (mod64+ b1 k3))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k1 8))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k0 t0)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k0 t0))
  -            b0 (mod64+ b0 (mod64+ b1 k4))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k2 9))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k1 t1)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  -      (setf b1 (mod64+ b1 (mod64+ k1 t1))
  -            b0 (mod64+ b0 (mod64+ b1 k0))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k3 10))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k2 t2)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k2 t2))
  -            b0 (mod64+ b0 (mod64+ b1 k1))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k4 11))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k3 t0)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  -      (setf b1 (mod64+ b1 (mod64+ k3 t0))
  -            b0 (mod64+ b0 (mod64+ b1 k2))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k0 12))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k4 t1)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k4 t1))
  -            b0 (mod64+ b0 (mod64+ b1 k3))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k1 13))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k0 t2)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  -      (setf b1 (mod64+ b1 (mod64+ k0 t2))
  -            b0 (mod64+ b0 (mod64+ b1 k4))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k2 14))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k1 t0)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k1 t0))
  -            b0 (mod64+ b0 (mod64+ b1 k0))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k3 15))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k2 t1)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  -      (setf b1 (mod64+ b1 (mod64+ k2 t1))
  -            b0 (mod64+ b0 (mod64+ b1 k1))
  -            b1 (logxor (rol64 b1 14) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k4 16))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k3 t2)))
  -            b3 (logxor (rol64 b3 16) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 52) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 57) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 23) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 40) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 5) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 37) b2))
  -      (setf b1 (mod64+ b1 (mod64+ k3 t2))
  -            b0 (mod64+ b0 (mod64+ b1 k2))
  -            b1 (logxor (rol64 b1 25) b0))
  -      (setf b3 (mod64+ b3 (mod64+ k0 17))
  -            b2 (mod64+ b2 (mod64+ b3 (mod64+ k4 t0)))
  -            b3 (logxor (rol64 b3 33) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 46) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 12) b2))
  -      (setf b0 (mod64+ b0 b1)
  -            b1 (logxor (rol64 b1 58) b0))
  -      (setf b2 (mod64+ b2 b3)
  -            b3 (logxor (rol64 b3 22) b2))
  -      (setf b0 (mod64+ b0 b3)
  -            b3 (logxor (rol64 b3 32) b0))
  -      (setf b2 (mod64+ b2 b1)
  -            b1 (logxor (rol64 b1 32) b2))
  -
  +      (macrolet ((arx (x0 x1 x2 x3 x4 x5 x6 x7
  +                       x8 x9 x10 x11 x12 x13 x14 x15)
  +                   `(setf b1 (mod64+ b1 (mod64+ ,x0 ,x1))
  +                          b0 (mod64+ b0 (mod64+ ,x2 ,x3))
  +                          b1 (logxor (rol64 b1 14) b0)
  +                          b3 (mod64+ b3 (mod64+ ,x4 ,x5))
  +                          b2 (mod64+ b2 (mod64+ b3 (mod64+ ,x6 ,x7)))
  +                          b3 (logxor (rol64 b3 16) b2)
  +                          b0 (mod64+ b0 b3)
  +                          b3 (logxor (rol64 b3 52) b0)
  +                          b2 (mod64+ b2 b1)
  +                          b1 (logxor (rol64 b1 57) b2)
  +                          b0 (mod64+ b0 b1)
  +                          b1 (logxor (rol64 b1 23) b0)
  +                          b2 (mod64+ b2 b3)
  +                          b3 (logxor (rol64 b3 40) b2)
  +                          b0 (mod64+ b0 b3)
  +                          b3 (logxor (rol64 b3 5) b0)
  +                          b2 (mod64+ b2 b1)
  +                          b1 (logxor (rol64 b1 37) b2)
  +                          b1 (mod64+ b1 (mod64+ ,x8 ,x9))
  +                          b0 (mod64+ b0 (mod64+ ,x10 ,x11))
  +                          b1 (logxor (rol64 b1 25) b0)
  +                          b3 (mod64+ b3 (mod64+ ,x12 ,x13))
  +                          b2 (mod64+ b2 (mod64+ b3 (mod64+ ,x14 ,x15)))
  +                          b3 (logxor (rol64 b3 33) b2)
  +                          b0 (mod64+ b0 b3)
  +                          b3 (logxor (rol64 b3 46) b0)
  +                          b2 (mod64+ b2 b1)
  +                          b1 (logxor (rol64 b1 12) b2)
  +                          b0 (mod64+ b0 b1)
  +                          b1 (logxor (rol64 b1 58) b0)
  +                          b2 (mod64+ b2 b3)
  +                          b3 (logxor (rol64 b3 22) b2)
  +                          b0 (mod64+ b0 b3)
  +                          b3 (logxor (rol64 b3 32) b0)
  +                          b2 (mod64+ b2 b1)
  +                          b1 (logxor (rol64 b1 32) b2))))
  +        (arx k1 t0 b1 k0 k3 0 k2 t1
  +             k2 t1 b1 k1 k4 1 k3 t2)
  +        (arx k3 t2 b1 k2 k0 2 k4 t0
  +             k4 t0 b1 k3 k1 3 k0 t1)
  +        (arx k0 t1 b1 k4 k2 4 k1 t2
  +             k1 t2 b1 k0 k3 5 k2 t0)
  +        (arx k2 t0 b1 k1 k4 6 k3 t1
  +             k3 t1 b1 k2 k0 7 k4 t2)
  +        (arx k4 t2 b1 k3 k1 8 k0 t0
  +             k0 t0 b1 k4 k2 9 k1 t1)
  +        (arx k1 t1 b1 k0 k3 10 k2 t2
  +             k2 t2 b1 k1 k4 11 k3 t0)
  +        (arx k3 t0 b1 k2 k0 12 k4 t1
  +             k4 t1 b1 k3 k1 13 k0 t2)
  +        (arx k0 t2 b1 k4 k2 14 k1 t0
  +             k1 t0 b1 k0 k3 15 k2 t1)
  +        (arx k2 t1 b1 k1 k4 16 k3 t2
  +             k3 t2 b1 k2 k0 17 k4 t0))
         (setf b0 (mod64+ b0 k3)
               b1 (mod64+ b1 (mod64+ k4 t0))
               b2 (mod64+ b2 (mod64+ k0 t1))
  
positive.code: 
  ;;; Constants
  
  (defconstant +threefish-key-schedule-constant+ #x1BD11BDAA9FC1A22)
  
  
  ;;; Functions common to all the block sizes
  
negative.code:             b1 (mod64- b1 (mod64+ k4 t0))
              b2 (mod64- b2 (mod64+ k0 t1))
              b3 (mod64- b3 (mod64+ k1 18)))
        (macrolet ((arx (x0 x1 x2 x3 x4 x5 x6
                         x7 x8 x9 x10 x11 x12 x13)
                     `(setf b3 (ror64 (logxor b3 b0) 32)
                            b0 (mod64- b0 b3)
                            b1 (ror64 (logxor b1 b2) 32)
                            b2 (mod64- b2 b1)
                            b1 (ror64 (logxor b1 b0) 58)
                            b0 (mod64- b0 b1)
                            b3 (ror64 (logxor b3 b2) 22)
                            b2 (mod64- b2 b3)
                            b3 (ror64 (logxor b3 b0) 46)
                            b0 (mod64- b0 b3)
                            b1 (ror64 (logxor b1 b2) 12)
                            b2 (mod64- b2 b1)
                            b1 (ror64 (logxor b1 b0) 25)
                            b0 (mod64- b0 (mod64+ b1 ,x0))
                            b1 (mod64- b1 (mod64+ ,x1 ,x2))
                            b3 (ror64 (logxor b3 b2) 33)
                            b2 (mod64- b2 (mod64+ b3 (mod64+ ,x3 ,x4)))
                            b3 (mod64- b3 (mod64+ ,x5 ,x6))
                            b3 (ror64 (logxor b3 b0) 5)
                            b0 (mod64- b0 b3)
                            b1 (ror64 (logxor b1 b2) 37)
                            b2 (mod64- b2 b1)
                            b1 (ror64 (logxor b1 b0) 23)
                            b0 (mod64- b0 b1)
                            b3 (ror64 (logxor b3 b2) 40)
                            b2 (mod64- b2 b3)
                            b3 (ror64 (logxor b3 b0) 52)
                            b0 (mod64- b0 b3)
                            b1 (ror64 (logxor b1 b2) 57)
                            b2 (mod64- b2 b1)
                            b1 (ror64 (logxor b1 b0) 14)
                            b0 (mod64- b0 (mod64+ b1 ,x7))
                            b1 (mod64- b1 (mod64+ ,x8 ,x9))
                            b3 (ror64 (logxor b3 b2) 16)
                            b2 (mod64- b2 (mod64+ b3 (mod64+ ,x10 ,x11)))
                            b3 (mod64- b3 (mod64+ ,x12 ,x13)))))
          (arx k2 k3 t2 k4 t0 k0 17
               k1 k2 t1 k3 t2 k4 16)
          (arx k0 k1 t0 k2 t1 k3 15
               k4 k0 t2 k1 t0 k2 14)
          (arx k3 k4 t1 k0 t2 k1 13
               k2 k3 t0 k4 t1 k0 12)
          (arx k1 k2 t2 k3 t0 k4 11
               k0 k1 t1 k2 t2 k3 10)
          (arx k4 k0 t0 k1 t1 k2 9
               k3 k4 t2 k0 t0 k1 8)
          (arx k2 k3 t1 k4 t2 k0 7
               k1 k2 t0 k3 t1 k4 6)
          (arx k0 k1 t2 k2 t0 k3 5
               k4 k0 t1 k1 t2 k2 4)
          (arx k3 k4 t0 k0 t1 k1 3
               k2 k3 t2 k4 t0 k0 2)
          (arx k1 k2 t1 k3 t2 k4 1
               k0 k1 t0 k2 t1 k3 0))
        (store-words plaintext plaintext-start b0 b1 b2 b3)
        (values))))
  
  