diff --git a/simplicity-sys/depend/env.c b/simplicity-sys/depend/env.c
index 8d4c7106..7fd42169 100644
--- a/simplicity-sys/depend/env.c
+++ b/simplicity-sys/depend/env.c
@@ -64,5 +64,5 @@ void c_set_txEnv(txEnv *result, const transaction *tx, const tapEnv *taproot, co
 {
     sha256_midstate genesis;
     sha256_toMidstate(genesis.s, genesisHash);
-    *result = build_txEnv(tx, taproot, &genesis, ix);
+    *result = simplicity_build_txEnv(tx, taproot, &genesis, ix);
 }
diff --git a/simplicity-sys/depend/simplicity-HEAD-revision.txt b/simplicity-sys/depend/simplicity-HEAD-revision.txt
index 90569c0b..0b0ff54e 100644
--- a/simplicity-sys/depend/simplicity-HEAD-revision.txt
+++ b/simplicity-sys/depend/simplicity-HEAD-revision.txt
@@ -1,2 +1,2 @@
 # This file has been automatically generated.
-714b44dafd66ab5d164c9247a0f793c320272162
+121b2951d8cca3d73dccd6fcbe721f2195025067
diff --git a/simplicity-sys/depend/simplicity/bitstream.c b/simplicity-sys/depend/simplicity/bitstream.c
index 93b4f054..31a78a46 100644
--- a/simplicity-sys/depend/simplicity/bitstream.c
+++ b/simplicity-sys/depend/simplicity/bitstream.c
@@ -10,7 +10,7 @@
  *
  * Precondition: NULL != stream
  */
-simplicity_err closeBitstream(bitstream* stream) {
+simplicity_err simplicity_closeBitstream(bitstream* stream) {
   if (1 < stream->len) return SIMPLICITY_ERR_BITSTREAM_TRAILING_BYTES;        /* If there is more than one byte remaining. */
   if (1 == stream->len) {
     if (0 == stream->offset) return SIMPLICITY_ERR_BITSTREAM_TRAILING_BYTES;  /* If there is one byte remaining */
@@ -30,7 +30,7 @@ simplicity_err closeBitstream(bitstream* stream) {
  * Precondition: 0 <= n < 32
  *               NULL != stream
  */
-int32_t readNBits(int n, bitstream* stream) {
+int32_t simplicity_readNBits(int n, bitstream* stream) {
   simplicity_assert(0 <= n && n < 32);
 
   uint32_t result = 0;
@@ -109,7 +109,7 @@ static int32_t decodeUpto3Bits(int32_t* result, bitstream* stream) {
   } else {
     int32_t n = decodeUpto3(stream);
     if (0 <= n) {
-      *result = readNBits(n, stream);
+      *result = simplicity_readNBits(n, stream);
       if (*result < 0) return *result;
     }
     return n;
@@ -153,7 +153,7 @@ static int32_t decodeUpto15Bits(int32_t* result, bitstream* stream) {
   } else {
     int32_t n = decodeUpto15(stream);
     if (0 <= n) {
-      *result = readNBits(n, stream);
+      *result = simplicity_readNBits(n, stream);
       if (*result < 0) return *result;
     }
     return n;
@@ -184,7 +184,7 @@ static int32_t decodeUpto65535(bitstream* stream) {
  *
  * Precondition: NULL != stream
  */
-int32_t decodeUptoMaxInt(bitstream* stream) {
+int32_t simplicity_decodeUptoMaxInt(bitstream* stream) {
   int32_t bit = read1Bit(stream);
   if (bit < 0) return bit;
   if (0 == bit) {
@@ -194,7 +194,7 @@ int32_t decodeUptoMaxInt(bitstream* stream) {
     if (n < 0) return n;
     if (30 < n) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE;
     {
-      int32_t result = readNBits(n, stream);
+      int32_t result = simplicity_readNBits(n, stream);
       if (result < 0) return result;
       return ((1 << n) | result);
     }
@@ -211,7 +211,7 @@ int32_t decodeUptoMaxInt(bitstream* stream) {
  *               n <= 2^31
  *               NULL != stream
  */
-simplicity_err readBitstring(bitstring* result, size_t n, bitstream* stream) {
+simplicity_err simplicity_readBitstring(bitstring* result, size_t n, bitstream* stream) {
   static_assert(0x80000000u + 2*(CHAR_BIT - 1) <= SIZE_MAX, "size_t needs to be at least 32-bits");
   simplicity_assert(n <= 0x80000000u);
   size_t total_offset = n + stream->offset;
diff --git a/simplicity-sys/depend/simplicity/bitstream.h b/simplicity-sys/depend/simplicity/bitstream.h
index bb16d516..58179ad0 100644
--- a/simplicity-sys/depend/simplicity/bitstream.h
+++ b/simplicity-sys/depend/simplicity/bitstream.h
@@ -36,7 +36,7 @@ static inline bitstream initializeBitstream(const unsigned char* arr, size_t len
  *
  * Precondition: NULL != stream
  */
-simplicity_err closeBitstream(bitstream* stream);
+simplicity_err simplicity_closeBitstream(bitstream* stream);
 
 /* Fetches up to 31 bits from 'stream' as the 'n' least significant bits of return value.
  * The 'n' bits are set from the MSB to the LSB.
@@ -45,7 +45,7 @@ simplicity_err closeBitstream(bitstream* stream);
  * Precondition: 0 <= n < 32
  *               NULL != stream
  */
-int32_t readNBits(int n, bitstream* stream);
+int32_t simplicity_readNBits(int n, bitstream* stream);
 
 /* Returns one bit from 'stream', 0 or 1.
  * Returns 'SIMPLICITY_ERR_BITSTREAM_EOF' if no bits are available.
@@ -53,7 +53,7 @@ int32_t readNBits(int n, bitstream* stream);
  * Precondition: NULL != stream
  */
 static inline int32_t read1Bit(bitstream* stream) {
-  return readNBits(1, stream);
+  return simplicity_readNBits(1, stream);
 }
 
 /* Decode an encoded number between 1 and 2^31 - 1 inclusive.
@@ -64,7 +64,7 @@ static inline int32_t read1Bit(bitstream* stream) {
  *
  * Precondition: NULL != stream
  */
-int32_t decodeUptoMaxInt(bitstream* stream);
+int32_t simplicity_decodeUptoMaxInt(bitstream* stream);
 
 /* Fills a 'bitstring' containing 'n' bits from 'stream'.
  * Returns 'SIMPLICITY_ERR_BITSTREAM_EOF' if not enough bits are available.
@@ -76,5 +76,5 @@ int32_t decodeUptoMaxInt(bitstream* stream);
  *               n <= 2^31
  *               NULL != stream
  */
-simplicity_err readBitstring(bitstring* result, size_t n, bitstream* stream);
+simplicity_err simplicity_readBitstring(bitstring* result, size_t n, bitstream* stream);
 #endif
diff --git a/simplicity-sys/depend/simplicity/cmr.c b/simplicity-sys/depend/simplicity/cmr.c
index fde6943b..b4a94fc7 100644
--- a/simplicity-sys/depend/simplicity/cmr.c
+++ b/simplicity-sys/depend/simplicity/cmr.c
@@ -26,14 +26,14 @@ bool simplicity_computeCmr( simplicity_err* error, unsigned char* cmr
 
   bitstream stream = initializeBitstream(program, program_len);
   dag_node* dag = NULL;
-  int32_t dag_len = decodeMallocDag(&dag, NULL, &stream);
+  int_fast32_t dag_len = simplicity_decodeMallocDag(&dag, NULL, &stream);
   if (dag_len <= 0) {
     simplicity_assert(dag_len < 0);
-    *error = dag_len;
+    *error = (simplicity_err)dag_len;
   } else {
     simplicity_assert(NULL != dag);
-    simplicity_assert((size_t)dag_len <= DAG_LEN_MAX);
-    *error = closeBitstream(&stream);
+    simplicity_assert((uint_fast32_t)dag_len <= DAG_LEN_MAX);
+    *error = simplicity_closeBitstream(&stream);
     sha256_fromMidstate(cmr, dag[dag_len-1].cmr.s);
   }
 
diff --git a/simplicity-sys/depend/simplicity/dag.c b/simplicity-sys/depend/simplicity/dag.c
index ab8ea005..91a11f8f 100644
--- a/simplicity-sys/depend/simplicity/dag.c
+++ b/simplicity-sys/depend/simplicity/dag.c
@@ -88,7 +88,7 @@ static sha256_midstate mkJetCMR(uint32_t *imr, uint_fast64_t weight) {
   block[6] = (uint32_t)(weight >> 32);
   block[7] = (uint32_t)weight;
   memcpy(&block[8], imr, sizeof(uint32_t[8]));
-  sha256_compression(result.s, block);
+  simplicity_sha256_compression(result.s, block);
 
   return result;
 }
@@ -97,7 +97,7 @@ static sha256_midstate mkJetCMR(uint32_t *imr, uint_fast64_t weight) {
  *
  * Precondition: 2^n == value->len
  */
-sha256_midstate computeWordCMR(const bitstring* value, size_t n) {
+sha256_midstate simplicity_computeWordCMR(const bitstring* value, size_t n) {
   /* 'stack' is an array of 30 hashes consisting of 8 'uint32_t's each. */
   uint32_t stack[8*30] = {0};
   uint32_t *stack_ptr = stack;
@@ -128,7 +128,7 @@ sha256_midstate computeWordCMR(const bitstring* value, size_t n) {
       for (size_t j = i; j & 1; j = j >> 1) {
         sha256_midstate pair = cmrIV(PAIR);
         stack_ptr -= 8;
-        sha256_compression(pair.s, stack_ptr);
+        simplicity_sha256_compression(pair.s, stack_ptr);
         memcpy(stack_ptr, pair.s, sizeof(uint32_t[8]));
       }
     }
@@ -137,10 +137,10 @@ sha256_midstate computeWordCMR(const bitstring* value, size_t n) {
   simplicity_assert(stack_ptr == stack + 8);
 
   /* Pass 2: Compute the IMR for the expression by adding the type roots of ONE and TWO^(2^n) to the CMR. */
-  sha256_compression(imr.s, stack);
+  simplicity_sha256_compression(imr.s, stack);
   memcpy(&stack[0], word_type_root[0].s, sizeof(uint32_t[8]));
   memcpy(&stack[8], word_type_root[n+1].s, sizeof(uint32_t[8]));
-  sha256_compression(imr.s, stack);
+  simplicity_sha256_compression(imr.s, stack);
 
   /* Pass 3: Compute the jet's CMR from the specificion's IMR. */
   return mkJetCMR(imr.s, ((uint_fast64_t)1 << n));
@@ -156,7 +156,7 @@ sha256_midstate computeWordCMR(const bitstring* value, size_t n) {
  * Precondition: dag_node dag[i + 1] and 'dag' is well-formed.
  *               dag[i].'tag' \notin {HIDDEN, JET, WORD}
  */
-void computeCommitmentMerkleRoot(dag_node* dag, const size_t i) {
+void simplicity_computeCommitmentMerkleRoot(dag_node* dag, const uint_fast32_t i) {
   uint32_t block[16] = {0};
   size_t j = 8;
 
@@ -182,7 +182,7 @@ void computeCommitmentMerkleRoot(dag_node* dag, const size_t i) {
    case TAKE:
    case DROP:
     memcpy(block + j, dag[dag[i].child[0]].cmr.s, sizeof(uint32_t[8]));
-    sha256_compression(dag[i].cmr.s, block);
+    simplicity_sha256_compression(dag[i].cmr.s, block);
    case IDEN:
    case UNIT:
    case WITNESS:
@@ -200,7 +200,7 @@ void computeCommitmentMerkleRoot(dag_node* dag, const size_t i) {
  * Precondition: sha256_midstate imr[len];
  *               dag_node dag[len] and 'dag' is well-typed with 'type_dag' and contains witnesses.
  */
-static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const size_t len) {
+static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const uint_fast32_t len) {
   /* Pass 1 */
   for (size_t i = 0; i < len; ++i) {
     uint32_t block[16] = {0};
@@ -213,9 +213,9 @@ static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag,
            : imrIV(dag[i].tag);
     switch (dag[i].tag) {
      case WITNESS:
-      sha256_bitstring(block, &dag[i].compactValue);
+      simplicity_sha256_bitstring(block, &dag[i].compactValue);
       memcpy(block + 8, type_dag[WITNESS_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(imr[i].s, block);
+      simplicity_sha256_compression(imr[i].s, block);
       break;
      case COMP:
      case ASSERTL:
@@ -231,7 +231,7 @@ static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag,
      case TAKE:
      case DROP:
       memcpy(block + j, imr[dag[i].child[0]].s, sizeof(uint32_t[8]));
-      sha256_compression(imr[i].s, block);
+      simplicity_sha256_compression(imr[i].s, block);
      case IDEN:
      case UNIT:
      case HIDDEN:
@@ -248,14 +248,14 @@ static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag,
     if (HIDDEN == dag[i].tag) {
       memcpy(block + 8, imr[i].s, sizeof(uint32_t[8]));
       imr[i] = hiddenIV;
-      sha256_compression(imr[i].s, block);
+      simplicity_sha256_compression(imr[i].s, block);
     } else {
       memcpy(block + 8, imr[i].s, sizeof(uint32_t[8]));
       imr[i] = identityIV;
-      sha256_compression(imr[i].s, block);
+      simplicity_sha256_compression(imr[i].s, block);
       memcpy(block, type_dag[dag[i].sourceType].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[dag[i].targetType].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(imr[i].s, block);
+      simplicity_sha256_compression(imr[i].s, block);
     }
   }
 }
@@ -271,8 +271,8 @@ static void computeIdentityMerkleRoot(sha256_midstate* imr, const dag_node* dag,
  *               dag_node dag[len] and 'dag' has witness data and is well-typed with 'type_dag'.
  * Postconditon: analyses analysis[len] contains the annotated Merkle roots of each subexpressions of 'dag'.
  */
-void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const type* type_dag, const size_t len) {
-  for (size_t i = 0; i < len; ++i) {
+void simplicity_computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const type* type_dag, const uint_fast32_t len) {
+  for (uint_fast32_t i = 0; i < len; ++i) {
     uint32_t block[16] = {0};
 
     /* For jets, their annotated Merkle root is the same as their commitment Merkle root. */
@@ -287,77 +287,77 @@ void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const t
       memcpy(block, type_dag[CASE_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8,
              type_dag[CASE_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, type_dag[CASE_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[CASE_D(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, analysis[dag[i].child[1]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case DISCONNECT:
       memcpy(block, type_dag[DISCONNECT_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[DISCONNECT_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, type_dag[DISCONNECT_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[DISCONNECT_D(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, analysis[dag[i].child[1]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case COMP:
       memcpy(block + 8, type_dag[COMP_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, type_dag[COMP_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[COMP_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, analysis[dag[i].child[1]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case PAIR:
       memcpy(block + 8, type_dag[PAIR_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, type_dag[PAIR_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[PAIR_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, analysis[dag[i].child[1]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case INJL:
      case INJR:
       memcpy(block, type_dag[INJ_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[INJ_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, type_dag[INJ_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case TAKE:
      case DROP:
       memcpy(block, type_dag[PROJ_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[PROJ_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, type_dag[PROJ_C(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, analysis[dag[i].child[0]].annotatedMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case IDEN:
       memcpy(block + 8, type_dag[IDEN_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case UNIT:
       memcpy(block + 8, type_dag[UNIT_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case WITNESS:
       memcpy(block + 8, type_dag[WITNESS_A(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       memcpy(block, type_dag[WITNESS_B(dag, type_dag, i)].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_bitstring(block + 8, &dag[i].compactValue);
-      sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
+      simplicity_sha256_bitstring(block + 8, &dag[i].compactValue);
+      simplicity_sha256_compression(analysis[i].annotatedMerkleRoot.s, block);
       break;
      case HIDDEN:
      case JET:
@@ -378,9 +378,9 @@ void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const t
  *
  * Precondition: dag_node dag[len] and 'dag' is well-formed.
  */
-simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len) {
-  size_t bottom = 0;
-  size_t top = len-1; /* Underflow is checked below. */
+simplicity_err simplicity_verifyCanonicalOrder(dag_node* dag, const uint_fast32_t len) {
+  uint_fast32_t bottom = 0;
+  uint_fast32_t top = len-1; /* Underflow is checked below. */
 
   if (!len) {
     simplicity_assert(false); /* A well-formed dag has non-zero length */
@@ -403,7 +403,7 @@ simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len) {
      */
 
     /* Check first child. */
-    size_t child = dag[top].child[0];
+    uint_fast32_t child = dag[top].child[0];
     switch (dag[top].tag) {
      case ASSERTL:
      case ASSERTR:
@@ -482,9 +482,9 @@ simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len) {
  * Postcondition: dag_node dag[len] and 'dag' has witness data and is well-typed with 'type_dag'
  *                  when the result is 'SIMPLICITY_NO_ERROR';
  */
-simplicity_err fillWitnessData(dag_node* dag, type* type_dag, const size_t len, bitstream *witness) {
+simplicity_err simplicity_fillWitnessData(dag_node* dag, type* type_dag, const uint_fast32_t len, bitstream *witness) {
   static_assert(CELLS_MAX <= 0x80000000, "CELLS_MAX is too large.");
-  for (size_t i = 0; i < len; ++i) {
+  for (uint_fast32_t i = 0; i < len; ++i) {
     if (WITNESS == dag[i].tag) {
       if (CELLS_MAX < type_dag[WITNESS_B(dag, type_dag, i)].bitSize) return SIMPLICITY_ERR_EXEC_MEMORY;
       if (witness->len <= 0) {
@@ -571,8 +571,9 @@ simplicity_err fillWitnessData(dag_node* dag, type* type_dag, const size_t len,
  *
  * Precondition: dag_node dag[len] and 'dag' is well-typed with 'type_dag' and contains witnesses.
  */
-simplicity_err verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const size_t dag_len) {
+simplicity_err simplicity_verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const uint_fast32_t dag_len) {
   simplicity_assert(0 < dag_len);
+  simplicity_assert(dag_len <= DAG_LEN_MAX);
   sha256_midstate* imr_buf = simplicity_malloc((size_t)dag_len * sizeof(sha256_midstate));
   if (!imr_buf) return SIMPLICITY_ERR_MALLOC;
 
@@ -580,7 +581,7 @@ simplicity_err verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_no
 
   if (imr) *imr = imr_buf[dag_len-1];
 
-  int result = hasDuplicates(imr_buf, dag_len);
+  int result = simplicity_hasDuplicates(imr_buf, dag_len);
 
   simplicity_free(imr_buf);
 
diff --git a/simplicity-sys/depend/simplicity/dag.h b/simplicity-sys/depend/simplicity/dag.h
index f88cf7b8..f2f9cd27 100644
--- a/simplicity-sys/depend/simplicity/dag.h
+++ b/simplicity-sys/depend/simplicity/dag.h
@@ -97,7 +97,7 @@ static inline size_t numChildren(tag_t tag) {
  *
  * Precondition: 2^n == value->len
  */
-sha256_midstate computeWordCMR(const bitstring* value, size_t n);
+sha256_midstate simplicity_computeWordCMR(const bitstring* value, size_t n);
 
 /* A node the the DAG of a Simplicity expression.
  * It consists of a 'tag' indicating the kind of expression the node represents.
@@ -115,7 +115,7 @@ typedef struct dag_node {
   jet_ptr jet;
   sha256_midstate cmr;
   union {
-    size_t aux; /* Used as scratch space for verifyCanonicalOrder. */
+    uint_fast32_t aux; /* Used as scratch space for verifyCanonicalOrder. */
     struct {
        size_t sourceType, targetType;
     };
@@ -125,7 +125,7 @@ typedef struct dag_node {
       size_t sourceIx;
     };
     struct {
-      size_t child[2];
+      uint_fast32_t child[2];
     };
     bitstring compactValue;
   };
@@ -334,7 +334,7 @@ typedef struct analyses {
  * Precondition: dag_node dag[i + 1] and 'dag' is well-formed.
  *               dag[i].'tag' \notin {HIDDEN, JET, WORD}
  */
-void computeCommitmentMerkleRoot(dag_node* dag, size_t i);
+void simplicity_computeCommitmentMerkleRoot(dag_node* dag, uint_fast32_t i);
 
 /* Given a well-typed dag representing a Simplicity expression, compute the annotated Merkle roots of all subexpressions.
  * For all 'i', 0 <= 'i' < 'len', 'analysis[i].annotatedMerkleRoot' will be the AMR of the subexpression denoted by the slice
@@ -347,7 +347,7 @@ void computeCommitmentMerkleRoot(dag_node* dag, size_t i);
  *               dag_node dag[len] and 'dag' has witness data and is well-typed with 'type_dag'.
  * Postconditon: analyses analysis[len] contains the annotated Merkle roots of each subexpressions of 'dag'.
  */
-void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const type* type_dag, size_t len);
+void simplicity_computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const type* type_dag, uint_fast32_t len);
 
 /* Verifies that the 'dag' is in canonical order, meaning that nodes under the left branches have lower indices than nodes under
  * right branches, with the exception that nodes under right braches may (cross-)reference identical nodes that already occur under
@@ -360,7 +360,7 @@ void computeAnnotatedMerkleRoot(analyses* analysis, const dag_node* dag, const t
  *
  * Precondition: dag_node dag[len] and 'dag' is well-formed.
  */
-simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len);
+simplicity_err simplicity_verifyCanonicalOrder(dag_node* dag, const uint_fast32_t len);
 
 /* This function fills in the 'WITNESS' nodes of a 'dag' with the data from 'witness'.
  * For each 'WITNESS' : A |- B expression in 'dag', the bits from the 'witness' bitstring are decoded in turn
@@ -375,7 +375,7 @@ simplicity_err verifyCanonicalOrder(dag_node* dag, const size_t len);
  * Postcondition: dag_node dag[len] and 'dag' has witness data and is well-typed with 'type_dag'
  *                  when the result is 'SIMPLICITY_NO_ERROR';
  */
-simplicity_err fillWitnessData(dag_node* dag, type* type_dag, const size_t len, bitstream *witness);
+simplicity_err simplicity_fillWitnessData(dag_node* dag, type* type_dag, const uint_fast32_t len, bitstream *witness);
 
 /* Verifies that identity Merkle roots of every subexpression in a well-typed 'dag' with witnesses are all unique,
  * including that each hidden root hash for every 'HIDDEN' node is unique.
@@ -388,6 +388,6 @@ simplicity_err fillWitnessData(dag_node* dag, type* type_dag, const size_t len,
  *
  * Precondition: dag_node dag[len] and 'dag' is well-typed with 'type_dag' and contains witnesses.
  */
-simplicity_err verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const size_t dag_len);
+simplicity_err simplicity_verifyNoDuplicateIdentityRoots(sha256_midstate* imr, const dag_node* dag, const type* type_dag, const uint_fast32_t dag_len);
 
 #endif
diff --git a/simplicity-sys/depend/simplicity/deserialize.c b/simplicity-sys/depend/simplicity/deserialize.c
index e0c6eaf9..699fc4a2 100644
--- a/simplicity-sys/depend/simplicity/deserialize.c
+++ b/simplicity-sys/depend/simplicity/deserialize.c
@@ -17,10 +17,10 @@
 static simplicity_err getWord32Array(uint32_t* result, const size_t len, bitstream* stream) {
   for (size_t i = 0; i < len; ++i) {
     /* Due to error codes, readNBits cannot fetch 32 bits at once. Instead we fetch two groups of 16 bits. */
-    int32_t bits16 = readNBits(16, stream);
+    int32_t bits16 = simplicity_readNBits(16, stream);
     if (bits16 < 0) return (simplicity_err)bits16;
     result[i] = (uint32_t)bits16 << 16;
-    bits16 = readNBits(16, stream);
+    bits16 = simplicity_readNBits(16, stream);
     if (bits16 < 0) return (simplicity_err)bits16;
     result[i] |= (uint32_t)bits16;
   }
@@ -55,7 +55,7 @@ static simplicity_err getHash(sha256_midstate* result, bitstream* stream) {
  *               i < 2^31 - 1
  *               NULL != stream
  */
-static simplicity_err decodeNode(dag_node* dag, size_t i, bitstream* stream) {
+static simplicity_err decodeNode(dag_node* dag, uint_fast32_t i, bitstream* stream) {
   int32_t bit = read1Bit(stream);
   if (bit < 0) return (simplicity_err)bit;
   dag[i] = (dag_node){0};
@@ -63,30 +63,30 @@ static simplicity_err decodeNode(dag_node* dag, size_t i, bitstream* stream) {
     bit = read1Bit(stream);
     if (bit < 0) return (simplicity_err)bit;
     if (bit) {
-      return decodeJet(&dag[i], stream);
+      return simplicity_decodeJet(&dag[i], stream);
     } else {
       /* Decode WORD. */
-      int32_t depth = decodeUptoMaxInt(stream);
+      int32_t depth = simplicity_decodeUptoMaxInt(stream);
       if (depth < 0) return (simplicity_err)depth;
       if (32 < depth) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE;
       {
-        simplicity_err error = readBitstring(&dag[i].compactValue, (size_t)1 << (depth - 1), stream);
+        simplicity_err error = simplicity_readBitstring(&dag[i].compactValue, (size_t)1 << (depth - 1), stream);
         if (!IS_OK(error)) return error;
       }
       dag[i].tag = WORD;
       dag[i].targetIx = (size_t)depth;
-      dag[i].cmr = computeWordCMR(&dag[i].compactValue, (size_t)(depth - 1));
+      dag[i].cmr = simplicity_computeWordCMR(&dag[i].compactValue, (size_t)(depth - 1));
     }
   } else {
-    int32_t code = readNBits(2, stream);
+    int32_t code = simplicity_readNBits(2, stream);
     if (code < 0) return (simplicity_err)code;
-    int32_t subcode = readNBits(code < 3 ? 2 : 1, stream);
+    int32_t subcode = simplicity_readNBits(code < 3 ? 2 : 1, stream);
     if (subcode < 0) return (simplicity_err)subcode;
     for (int32_t j = 0; j < 2 - code; ++j) {
-      int32_t ix = decodeUptoMaxInt(stream);
+      int32_t ix = simplicity_decodeUptoMaxInt(stream);
       if (ix < 0) return (simplicity_err)ix;
-      if (i < (uint32_t)ix) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE;
-      dag[i].child[j] = i - (uint32_t)ix;
+      if (i < (uint_fast32_t)ix) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE;
+      dag[i].child[j] = i - (uint_fast32_t)ix;
     }
     switch (code) {
      case 0:
@@ -134,7 +134,7 @@ static simplicity_err decodeNode(dag_node* dag, size_t i, bitstream* stream) {
        if (HIDDEN == dag[dag[i].child[j]].tag && dag[i].tag != (j ? ASSERTL : ASSERTR)) return SIMPLICITY_ERR_HIDDEN;
     }
 
-    computeCommitmentMerkleRoot(dag, i);
+    simplicity_computeCommitmentMerkleRoot(dag, i);
   }
   return SIMPLICITY_NO_ERROR;
 }
@@ -153,8 +153,8 @@ static simplicity_err decodeNode(dag_node* dag, size_t i, bitstream* stream) {
  *               len < 2^31
  *               NULL != stream
  */
-static simplicity_err decodeDag(dag_node* dag, const size_t len, combinator_counters* census, bitstream* stream) {
-  for (size_t i = 0; i < len; ++i) {
+static simplicity_err decodeDag(dag_node* dag, const uint_fast32_t len, combinator_counters* census, bitstream* stream) {
+  for (uint_fast32_t i = 0; i < len; ++i) {
     simplicity_err error = decodeNode(dag, i, stream);
     if (!IS_OK(error)) return error;
 
@@ -186,9 +186,9 @@ static simplicity_err decodeDag(dag_node* dag, const size_t len, combinator_coun
  *                          of the function is positive and when NULL != census;
  *                NULL == *dag when the return value is negative.
  */
-int32_t decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream) {
+int_fast32_t simplicity_decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream) {
   *dag = NULL;
-  int32_t dagLen = decodeUptoMaxInt(stream);
+  int32_t dagLen = simplicity_decodeUptoMaxInt(stream);
   if (dagLen <= 0) return dagLen;
   static_assert(DAG_LEN_MAX <= (uint32_t)INT32_MAX, "DAG_LEN_MAX exceeds supported parsing range.");
   if (DAG_LEN_MAX < (uint32_t)dagLen) return SIMPLICITY_ERR_DATA_OUT_OF_RANGE;
@@ -199,12 +199,12 @@ int32_t decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream*
   if (!*dag) return SIMPLICITY_ERR_MALLOC;
 
   if (census) *census = (combinator_counters){0};
-  simplicity_err error = decodeDag(*dag, (size_t)dagLen, census, stream);
+  simplicity_err error = decodeDag(*dag, (uint_fast32_t)dagLen, census, stream);
 
   if (IS_OK(error)) {
     error = HIDDEN == (*dag)[dagLen - 1].tag
           ? SIMPLICITY_ERR_HIDDEN_ROOT
-          : verifyCanonicalOrder(*dag, (size_t)(dagLen));
+          : simplicity_verifyCanonicalOrder(*dag, (uint_fast32_t)(dagLen));
   }
 
   if (IS_OK(error)) {
@@ -212,6 +212,6 @@ int32_t decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream*
   } else {
     simplicity_free(*dag);
     *dag = NULL;
-    return (int32_t)error;
+    return (int_fast32_t)error;
   }
 }
diff --git a/simplicity-sys/depend/simplicity/deserialize.h b/simplicity-sys/depend/simplicity/deserialize.h
index 698c6019..d0ebfb54 100644
--- a/simplicity-sys/depend/simplicity/deserialize.h
+++ b/simplicity-sys/depend/simplicity/deserialize.h
@@ -28,6 +28,6 @@
  *                          of the function is positive and when NULL != census;
  *                NULL == *dag when the return value is negative.
  */
-int32_t decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream);
+int_fast32_t simplicity_decodeMallocDag(dag_node** dag, combinator_counters* census, bitstream* stream);
 
 #endif
diff --git a/simplicity-sys/depend/simplicity/eval.c b/simplicity-sys/depend/simplicity/eval.c
index de98781a..2da5ddc6 100644
--- a/simplicity-sys/depend/simplicity/eval.c
+++ b/simplicity-sys/depend/simplicity/eval.c
@@ -405,7 +405,7 @@ static simplicity_err runTCO(evalState state, call* stack, const dag_node* dag,
         write32s(state.activeWriteFrame, dag[dag[pc].child[1]].cmr.s, 8);
 
         /* COPY(BITSIZE(A)) */
-        copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[DISCONNECT_A(dag, type_dag, pc)].bitSize);
+        simplicity_copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[DISCONNECT_A(dag, type_dag, pc)].bitSize);
 
         if (get_tco_flag(&stack[pc])) {
           /* DROP_FRAME */
@@ -441,7 +441,7 @@ static simplicity_err runTCO(evalState state, call* stack, const dag_node* dag,
         state.activeWriteFrame++; state.activeReadFrame++;
 
         /* COPY(BITSIZE(B)) */
-        copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[DISCONNECT_B(dag, type_dag, pc)].bitSize);
+        simplicity_copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[DISCONNECT_B(dag, type_dag, pc)].bitSize);
 
         /* FWD(BITSIZE(B)) */
         forward(state.activeReadFrame, type_dag[DISCONNECT_B(dag, type_dag, pc)].bitSize);
@@ -492,7 +492,7 @@ static simplicity_err runTCO(evalState state, call* stack, const dag_node* dag,
      case WITNESS:
       if (IDEN == tag) {
         /* COPY(BITSIZE(A)) */
-        copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[IDEN_A(dag, type_dag, pc)].bitSize);
+        simplicity_copyBits(state.activeWriteFrame, state.activeReadFrame, type_dag[IDEN_A(dag, type_dag, pc)].bitSize);
       } else {
         writeValue(state.activeWriteFrame, &dag[pc].compactValue, dag[pc].targetType, type_dag);
       }
@@ -586,7 +586,7 @@ typedef struct boundsAnalysis {
  *
  * :TODO: The cost calculations below are estimated and need to be replaced by experimental data.
  */
-simplicity_err analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubounded *frameBound, ubounded *costBound
+simplicity_err simplicity_analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubounded *frameBound, ubounded *costBound
                             , ubounded maxCells, ubounded maxCost, const dag_node* dag, const type* type_dag, const size_t len) {
   static_assert(DAG_LEN_MAX <= SIZE_MAX / sizeof(boundsAnalysis), "bound array too large.");
   static_assert(1 <= DAG_LEN_MAX, "DAG_LEN_MAX is zero.");
@@ -779,7 +779,7 @@ simplicity_err analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubound
  *               if NULL != budget then *budget <= BUDGET_MAX
  *               if 'dag[len]' represents a Simplicity expression with primitives then 'NULL != env';
  */
-simplicity_err evalTCOExpression( flags_type anti_dos_checks, UWORD* output, const UWORD* input
+simplicity_err simplicity_evalTCOExpression( flags_type anti_dos_checks, UWORD* output, const UWORD* input
                                 , const dag_node* dag, type* type_dag, size_t len, const ubounded* budget, const txEnv* env
                                 ) {
   simplicity_assert(1 <= len);
@@ -789,7 +789,7 @@ simplicity_err evalTCOExpression( flags_type anti_dos_checks, UWORD* output, con
   static_assert(BUDGET_MAX <= (UBOUNDED_MAX - 1) / 1000, "BUDGET_MAX is too large.");
   static_assert(CELLS_MAX < UBOUNDED_MAX, "CELLS_MAX is too large.");
   ubounded cellsBound, UWORDBound, frameBound, costBound;
-  simplicity_err result = analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, CELLS_MAX, budget ? *budget*1000 : UBOUNDED_MAX, dag, type_dag, len);
+  simplicity_err result = simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, CELLS_MAX, budget ? *budget*1000 : UBOUNDED_MAX, dag, type_dag, len);
   if (!IS_OK(result)) return result;
 
   /* frameBound is at most 2*len. */
diff --git a/simplicity-sys/depend/simplicity/eval.h b/simplicity-sys/depend/simplicity/eval.h
index 9a05470e..ba6a6759 100644
--- a/simplicity-sys/depend/simplicity/eval.h
+++ b/simplicity-sys/depend/simplicity/eval.h
@@ -31,7 +31,7 @@ typedef unsigned char flags_type;
  *                 and if maxCells < UBOUNDED_MAX then '*UWORDBound' bounds the number of UWORDs needed for the frames during evaluation of 'dag'
  *                 and if maxCells < UBOUNDED_MAX then '*frameBound' bounds the number of stack frames needed during execution of 'dag'.
  */
-simplicity_err analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubounded *frameBound, ubounded *costBound
+simplicity_err simplicity_analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubounded *frameBound, ubounded *costBound
                             , ubounded maxCells, ubounded maxCost, const dag_node* dag, const type* type_dag, const size_t len);
 
 /* Run the Bit Machine on the well-typed Simplicity expression 'dag[len]' of type A |- B.
@@ -56,7 +56,7 @@ simplicity_err analyseBounds( ubounded *cellsBound, ubounded *UWORDBound, ubound
  *               if NULL != budget then *budget <= BUDGET_MAX
  *               if 'dag[len]' represents a Simplicity expression with primitives then 'NULL != env';
  */
-simplicity_err evalTCOExpression( flags_type anti_dos_checks, UWORD* output, const UWORD* input
+simplicity_err simplicity_evalTCOExpression( flags_type anti_dos_checks, UWORD* output, const UWORD* input
                                 , const dag_node* dag, type* type_dag, size_t len, const ubounded* budget, const txEnv* env
                                 );
 
@@ -77,6 +77,6 @@ simplicity_err evalTCOExpression( flags_type anti_dos_checks, UWORD* output, con
  *               if 'dag[len]' represents a Simplicity expression with primitives then 'NULL != env';
  */
 static inline simplicity_err evalTCOProgram(const dag_node* dag, type* type_dag, size_t len, const ubounded* budget, const txEnv* env) {
-  return evalTCOExpression(CHECK_ALL, NULL, NULL, dag, type_dag, len, budget, env);
+  return simplicity_evalTCOExpression(CHECK_ALL, NULL, NULL, dag, type_dag, len, budget, env);
 }
 #endif
diff --git a/simplicity-sys/depend/simplicity/frame.c b/simplicity-sys/depend/simplicity/frame.c
index 52fa748d..d2bc91c3 100644
--- a/simplicity-sys/depend/simplicity/frame.c
+++ b/simplicity-sys/depend/simplicity/frame.c
@@ -6,7 +6,7 @@
  *                                                                                                                            \
  * Precondition: '*frame' is a valid read frame for bits more cells.                                                          \
  */                                                                                                                           \
-uint_fast##size##_t read##bits(frameItem* frame) {                                                                            \
+uint_fast##size##_t simplicity_read##bits(frameItem* frame) {                                                                 \
   static_assert(bits <= size, "Return type too small to hold the requested number of bits.");                                 \
   uint_fast##size##_t result = 0;                                                                                             \
   /* Pointers to the UWORD of the read frame that contains the frame's cursor (or is immediately after the cursor). */        \
@@ -53,7 +53,7 @@ READ_(64,64)
  *                                                                                                                            \
  * Precondition: '*frame' is a valid write frame for bits more cells.                                                         \
  */                                                                                                                           \
-void write##bits(frameItem* frame, uint_fast##bits##_t x) {                                                                   \
+void simplicity_write##bits(frameItem* frame, uint_fast##bits##_t x) {                                                        \
   /* Pointers to the UWORD of the write frame that contains the frame's cursor (or is immediately after the cursor). */       \
   UWORD* frame_ptr = frame->edge + (frame->offset - 1) / UWORD_BIT;                                                           \
   /* The specific bit within the above UWORD that is immediately in front of the cursor.                                      \
@@ -101,7 +101,7 @@ WRITE_(64)
  *               '*src' is a valid read frame for 8*(2^(n+1)-1)+n+1 more cells;
  *               0 <= n < 16
  */
-void read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n) {
+void simplicity_read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n) {
   simplicity_debug_assert(0 <= n && n < 16);
   *len = 0;
 
@@ -126,7 +126,7 @@ void read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n) {
  *               len < 2^(n+1);
  *               0 <= n < 16;
  */
-void write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n) {
+void simplicity_write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n) {
   simplicity_debug_assert(0 <= n && n < 16);
   simplicity_debug_assert(len < ((size_t)1<<(n+1)));
   for (size_t i = (size_t)1 << n; 0 < i; i /= 2) {
@@ -149,12 +149,12 @@ void write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n)
  * Precondition: NULL != ctx->output;
  *               '*src' is a valid read frame for 838 more cells;
  */
-bool read_sha256_context(sha256_context* ctx, frameItem* src) {
+bool simplicity_read_sha256_context(sha256_context* ctx, frameItem* src) {
   size_t len;
   uint_fast64_t compressionCount;
 
-  read_buffer8(ctx->block, &len, src, 5);
-  compressionCount = read64(src);
+  simplicity_read_buffer8(ctx->block, &len, src, 5);
+  compressionCount = simplicity_read64(src);
   ctx->counter = ((compressionCount*1U) << 6) + len;
   read32s(ctx->output, 8, src);
   ctx->overflow = (sha256_max_counter >> 6) <= compressionCount;
@@ -172,9 +172,9 @@ bool read_sha256_context(sha256_context* ctx, frameItem* src) {
  *               NULL != ctx->output;
  *               ctx->counter < 2^61;
  */
-bool write_sha256_context(frameItem* dst, const sha256_context* ctx) {
-  write_buffer8(dst, ctx->block, ctx->counter % 64, 5);
-  write64(dst, ctx->counter >> 6);
+bool simplicity_write_sha256_context(frameItem* dst, const sha256_context* ctx) {
+  simplicity_write_buffer8(dst, ctx->block, ctx->counter % 64, 5);
+  simplicity_write64(dst, ctx->counter >> 6);
   write32s(dst, ctx->output, 8);
   return !ctx->overflow;
 }
@@ -260,7 +260,7 @@ static void copyBitsHelper(const frameItem* dst, const frameItem *src, size_t n)
  * Precondition: '*dst' is a valid write frame for 'n' more cells;
  *               '*src' is a valid read frame for 'n' more cells;
  */
-void copyBits(frameItem* dst, const frameItem* src, size_t n) {
+void simplicity_copyBits(frameItem* dst, const frameItem* src, size_t n) {
   if (0 == n) return;
   copyBitsHelper(dst, src, n);
   dst->offset -= n;
diff --git a/simplicity-sys/depend/simplicity/frame.h b/simplicity-sys/depend/simplicity/frame.h
index aa45e796..1492e098 100644
--- a/simplicity-sys/depend/simplicity/frame.h
+++ b/simplicity-sys/depend/simplicity/frame.h
@@ -112,11 +112,11 @@ static inline void skipBits(frameItem* frame, size_t n) {
  *
  * Precondition: '*frame' is a valid read frame for 'N' more cells.
  */
-uint_fast8_t read4(frameItem* frame);
-uint_fast8_t read8(frameItem* frame);
-uint_fast16_t read16(frameItem* frame);
-uint_fast32_t read32(frameItem* frame);
-uint_fast64_t read64(frameItem* frame);
+uint_fast8_t simplicity_read4(frameItem* frame);
+uint_fast8_t simplicity_read8(frameItem* frame);
+uint_fast16_t simplicity_read16(frameItem* frame);
+uint_fast32_t simplicity_read32(frameItem* frame);
+uint_fast64_t simplicity_read64(frameItem* frame);
 
 /* Given a write frame, the 'writeN' function sets the value of the 'N' cells after the cursor and
  * advances the frame's cursor by 'N'.
@@ -125,25 +125,25 @@ uint_fast64_t read64(frameItem* frame);
  *
  * Precondition: '*frame' is a valid write frame for 'N' more cells.
  */
-void write8(frameItem* frame, uint_fast8_t x);
-void write16(frameItem* frame, uint_fast16_t x);
-void write32(frameItem* frame, uint_fast32_t x);
-void write64(frameItem* frame, uint_fast64_t x);
+void simplicity_write8(frameItem* frame, uint_fast8_t x);
+void simplicity_write16(frameItem* frame, uint_fast16_t x);
+void simplicity_write32(frameItem* frame, uint_fast32_t x);
+void simplicity_write64(frameItem* frame, uint_fast64_t x);
 
 static inline void read8s(unsigned char* x, size_t n, frameItem* frame) {
-  for(; n; --n) *(x++) = (unsigned char)read8(frame);
+  for(; n; --n) *(x++) = (unsigned char)simplicity_read8(frame);
 }
 
 static inline void write8s(frameItem* frame, const unsigned char* x, size_t n) {
-  for(; n; --n) write8(frame, *(x++));
+  for(; n; --n) simplicity_write8(frame, *(x++));
 }
 
 static inline void read32s(uint32_t* x, size_t n, frameItem* frame) {
-  for(; n; --n) *(x++) = (uint32_t)read32(frame);
+  for(; n; --n) *(x++) = (uint32_t)simplicity_read32(frame);
 }
 
 static inline void write32s(frameItem* frame, const uint32_t* x, size_t n) {
-  for(; n; --n) write32(frame, *(x++));
+  for(; n; --n) simplicity_write32(frame, *(x++));
 }
 
 /* Read bytes from a Simplicity buffer of type (TWO^8)^<2^(n+1) into 'buf'.
@@ -158,7 +158,7 @@ static inline void write32s(frameItem* frame, const uint32_t* x, size_t n) {
  *               '*src' is a valid read frame for 8*(2^(n+1)-1)+n+1 more cells;
  *               0 <= n < 16
  */
-void read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n);
+void simplicity_read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n);
 
 /* Write 'len' bytes to a Simplicity buffer of type (TWO^8)^<2^(n+1) from 'buf'.
  * Advance the 'dst' frame to the end of the buffer type.
@@ -171,7 +171,7 @@ void read_buffer8(unsigned char* buf, size_t* len, frameItem* src, int n);
  *               len < 2^(n+1);
  *               0 <= n < 16;
  */
-void write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n);
+void simplicity_write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n);
 
 /* Read data from a Simplicity CTX8 type (TWO^8)^<2^64 * TWO^64 * TWO^256 and fill in a sha256_context value.
  * Advance the 'src' frame to the end of the CTX8 type.
@@ -183,7 +183,7 @@ void write_buffer8(frameItem* dst, const unsigned char* buf, size_t len, int n);
  * Precondition: NULL != ctx->output;
  *               '*src' is a valid read frame for 838 more cells;
  */
-bool read_sha256_context(sha256_context* ctx, frameItem* src);
+bool simplicity_read_sha256_context(sha256_context* ctx, frameItem* src);
 
 /* Write data to a Simplicity CTX8 type (TWO^8)^<2^64 * TWO^64 * TWO^256 from a sha256_context value.
  * Advance the 'dst' frame to the end of the CTX8 type.
@@ -196,7 +196,7 @@ bool read_sha256_context(sha256_context* ctx, frameItem* src);
  *               NULL != ctx->output;
  *               ctx->counter < 2^61;
  */
-bool write_sha256_context(frameItem* dst, const sha256_context* ctx);
+bool simplicity_write_sha256_context(frameItem* dst, const sha256_context* ctx);
 
 /* Given a write frame and a read frame, copy 'n' cells from after the read frame's cursor to after the write frame's cursor,
  * and then advance the write frame's cursor by 'n'.
@@ -205,5 +205,5 @@ bool write_sha256_context(frameItem* dst, const sha256_context* ctx);
  * Precondition: '*dst' is a valid write frame for 'n' more cells;
  *               '*src' is a valid read frame for 'n' more cells;
  */
-void copyBits(frameItem* dst, const frameItem* src, size_t n);
+void simplicity_copyBits(frameItem* dst, const frameItem* src, size_t n);
 #endif
diff --git a/simplicity-sys/depend/simplicity/include/simplicity/elements/env.h b/simplicity-sys/depend/simplicity/include/simplicity/elements/env.h
index 0ec29130..9d070c23 100644
--- a/simplicity-sys/depend/simplicity/include/simplicity/elements/env.h
+++ b/simplicity-sys/depend/simplicity/include/simplicity/elements/env.h
@@ -91,7 +91,7 @@ typedef struct transaction transaction;
  *
  * Precondition: NULL != rawTx
  */
-extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* rawTx);
+extern transaction* simplicity_elements_mallocTransaction(const rawTransaction* rawTx);
 
 /* A structure representing taproot spending data for an Elements transaction.
  *
@@ -113,5 +113,5 @@ typedef struct tapEnv tapEnv;
  *
  * Precondition: *rawEnv is well-formed (i.e. rawEnv->pathLen <= 128.)
  */
-extern tapEnv* elements_simplicity_mallocTapEnv(const rawTapEnv* rawEnv);
+extern tapEnv* simplicity_elements_mallocTapEnv(const rawTapEnv* rawEnv);
 #endif
diff --git a/simplicity-sys/depend/simplicity/include/simplicity/elements/exec.h b/simplicity-sys/depend/simplicity/include/simplicity/elements/exec.h
index b382252b..f083642f 100644
--- a/simplicity-sys/depend/simplicity/include/simplicity/elements/exec.h
+++ b/simplicity-sys/depend/simplicity/include/simplicity/elements/exec.h
@@ -31,7 +31,7 @@
  *               unsigned char program[program_len]
  *               unsigned char witness[witness_len]
  */
-extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned char* imr
+extern bool simplicity_elements_execSimplicity( simplicity_err* error, unsigned char* imr
                                               , const transaction* tx, uint_fast32_t ix, const tapEnv* taproot
                                               , const unsigned char* genesisBlockHash
                                               , int64_t budget
diff --git a/simplicity-sys/depend/simplicity/jets-secp256k1.c b/simplicity-sys/depend/simplicity/jets-secp256k1.c
index 63755e51..fb610e31 100644
--- a/simplicity-sys/depend/simplicity/jets-secp256k1.c
+++ b/simplicity-sys/depend/simplicity/jets-secp256k1.c
@@ -137,7 +137,7 @@ static inline void write_scalar(frameItem* dst, const secp256k1_scalar* r) {
   write8s(dst, buf, 32);
 }
 
-bool fe_normalize(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_normalize(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a;
@@ -146,7 +146,7 @@ bool fe_normalize(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_negate(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_negate(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a;
@@ -156,7 +156,7 @@ bool fe_negate(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_add(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_add(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a, b;
@@ -167,7 +167,7 @@ bool fe_add(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_square(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_square(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a;
@@ -177,7 +177,7 @@ bool fe_square(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_multiply(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_multiply(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a, b;
@@ -188,7 +188,7 @@ bool fe_multiply(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a;
@@ -198,7 +198,7 @@ bool fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_invert(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_invert(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a;
@@ -208,7 +208,7 @@ bool fe_invert(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_square_root(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_square_root(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe r, a;
@@ -222,7 +222,7 @@ bool fe_square_root(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_is_zero(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_is_zero(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a;
@@ -231,7 +231,7 @@ bool fe_is_zero(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool fe_is_odd(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_fe_is_odd(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe a;
@@ -240,7 +240,7 @@ bool fe_is_odd(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scalar_normalize(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scalar_normalize(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_scalar a;
@@ -249,7 +249,7 @@ bool scalar_normalize(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scalar_negate(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scalar_negate(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_scalar a;
@@ -259,7 +259,7 @@ bool scalar_negate(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scalar_add(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scalar_add(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_scalar a, b;
@@ -270,7 +270,7 @@ bool scalar_add(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scalar_square(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scalar_square(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_scalar a;
@@ -280,7 +280,7 @@ bool scalar_square(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scalar_multiply(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scalar_multiply(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_scalar a, b;
@@ -291,7 +291,7 @@ bool scalar_multiply(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_scalar a;
@@ -301,7 +301,7 @@ bool scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scalar_invert(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scalar_invert(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_scalar a;
@@ -311,7 +311,7 @@ bool scalar_invert(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_scalar a;
@@ -320,7 +320,7 @@ bool scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_infinity(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_infinity(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   (void) env; // env is unused;
 
@@ -330,7 +330,7 @@ bool gej_infinity(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_rescale(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_rescale(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -342,7 +342,7 @@ bool gej_rescale(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_normalize(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_normalize(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -357,7 +357,7 @@ bool gej_normalize(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_negate(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_negate(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -367,7 +367,7 @@ bool gej_negate(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool ge_negate(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_ge_negate(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_ge a;
@@ -377,7 +377,7 @@ bool ge_negate(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_double(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_double(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -387,7 +387,7 @@ bool gej_double(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_add(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_add(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a, b;
@@ -398,7 +398,7 @@ bool gej_add(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -413,7 +413,7 @@ bool gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_ge_add(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_ge_add(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -425,7 +425,7 @@ bool gej_ge_add(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -434,7 +434,7 @@ bool gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_equiv(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_equiv(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a, b;
@@ -444,7 +444,7 @@ bool gej_equiv(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -455,7 +455,7 @@ bool gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe x;
@@ -466,7 +466,7 @@ bool gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -482,7 +482,7 @@ bool gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej a;
@@ -491,7 +491,7 @@ bool gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_ge a;
@@ -500,7 +500,7 @@ bool ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool off_curve_scale(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_off_curve_scale(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej r, a;
@@ -514,7 +514,7 @@ bool off_curve_scale(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool scale(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_scale(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej r, a;
@@ -532,7 +532,7 @@ bool scale(frameItem* dst, frameItem src, const txEnv* env) {
   }
 }
 
-bool generate(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_generate(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej r;
@@ -546,7 +546,7 @@ bool generate(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej r, a;
@@ -560,7 +560,7 @@ bool off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv*
   return true;
 }
 
-bool linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_gej r, a;
@@ -578,7 +578,7 @@ bool linear_combination_1(frameItem* dst, frameItem src, const txEnv* env) {
   }
 }
 
-bool linear_verify_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_linear_verify_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) dst; // dst is unused;
   (void) env; // env is unused;
 
@@ -602,7 +602,7 @@ bool linear_verify_1(frameItem* dst, frameItem src, const txEnv* env) {
   }
 }
 
-bool decompress(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_decompress(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
 
   secp256k1_fe x;
@@ -618,7 +618,7 @@ bool decompress(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-bool point_verify_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_point_verify_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) dst; // dst is unused;
   (void) env; // env is unused;
 
@@ -646,7 +646,7 @@ bool point_verify_1(frameItem* dst, frameItem src, const txEnv* env) {
   }
 }
 
-bool bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env) {
   (void) dst; // dst is unused;
   (void) env; // env is unused;
 
@@ -665,7 +665,7 @@ bool bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* check_sig_verify : TWO^256*TWO^512*TWO^512 |- ONE */
-bool check_sig_verify(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_check_sig_verify(frameItem* dst, frameItem src, const txEnv* env) {
   (void) dst; // dst is unused;
   (void) env; // env is unused;
 
@@ -691,7 +691,7 @@ bool check_sig_verify(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* swu : FE |- GE */
-bool swu(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_swu(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
   secp256k1_fe t;
   secp256k1_ge ge;
@@ -702,7 +702,7 @@ bool swu(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* hash_to_curve : TWO^256 |- GE */
-bool hash_to_curve(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_hash_to_curve(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused;
   unsigned char key[32];
   secp256k1_generator gen;
diff --git a/simplicity-sys/depend/simplicity/jets.c b/simplicity-sys/depend/simplicity/jets.c
index 0fb81e4c..05abb054 100644
--- a/simplicity-sys/depend/simplicity/jets.c
+++ b/simplicity-sys/depend/simplicity/jets.c
@@ -10,32 +10,32 @@
 #endif
 
 static void write128(frameItem* frame, const secp256k1_uint128* x) {
-  write64(frame, secp256k1_u128_hi_u64(x));
-  write64(frame, secp256k1_u128_to_u64(x));
+  simplicity_write64(frame, secp256k1_u128_hi_u64(x));
+  simplicity_write64(frame, secp256k1_u128_to_u64(x));
 }
 
 /* verify : TWO |- ONE */
-bool verify(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_verify(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   (void) dst; /* dst is unused. */
   return readBit(&src);
 }
 
 /* low_1 : ONE |- TWO */
-bool low_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_low_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   (void) src; /* src is unused. */
   writeBit(dst, 0);
   return true;
 }
 
-#define LOW_(bits)                                                 \
-/* low_n : ONE |- TWO^n */                                         \
-bool low_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                 \
-  (void) src; /* src is unused. */                                 \
-  write##bits(dst, 0);                                             \
-  return true;                                                     \
+#define LOW_(bits)                                                            \
+/* low_n : ONE |- TWO^n */                                                    \
+bool simplicity_low_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  (void) src; /* src is unused. */                                            \
+  simplicity_write##bits(dst, 0);                                             \
+  return true;                                                                \
 }
 LOW_(8)
 LOW_(16)
@@ -43,20 +43,20 @@ LOW_(32)
 LOW_(64)
 
 /* high_1 : ONE |- TWO */
-bool high_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_high_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   (void) src; /* src is unused. */
   writeBit(dst, 1);
   return true;
 }
 
-#define HIGH_(bits)                                                 \
-/* high_n : ONE |- TWO^n */                                         \
-bool high_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                  \
-  (void) src; /* src is unused. */                                  \
-  write##bits(dst, UINT##bits##_MAX);                               \
-  return true;                                                      \
+#define HIGH_(bits)                                                            \
+/* high_n : ONE |- TWO^n */                                                    \
+bool simplicity_high_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                             \
+  (void) src; /* src is unused. */                                             \
+  simplicity_write##bits(dst, UINT##bits##_MAX);                               \
+  return true;                                                                 \
 }
 HIGH_(8)
 HIGH_(16)
@@ -64,20 +64,20 @@ HIGH_(32)
 HIGH_(64)
 
 /* complement_1 : TWO |- TWO */
-bool complement_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_complement_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   writeBit(dst, !x);
   return true;
 }
 
-#define COMPLEMENT_(bits)                                                 \
-/* complement_n : TWO^n |- TWO^n */                                       \
-bool complement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                        \
-  uint_fast##bits##_t x = read##bits(&src);                               \
-  write##bits(dst, ~(1U*x));                                              \
-  return true;                                                            \
+#define COMPLEMENT_(bits)                                                            \
+/* complement_n : TWO^n |- TWO^n */                                                  \
+bool simplicity_complement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                   \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                               \
+  simplicity_write##bits(dst, ~(1U*x));                                              \
+  return true;                                                                       \
 }
 COMPLEMENT_(8)
 COMPLEMENT_(16)
@@ -85,7 +85,7 @@ COMPLEMENT_(32)
 COMPLEMENT_(64)
 
 /* and_1 : TWO * TWO |- TWO */
-bool and_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_and_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   bool y = readBit(&src);
@@ -93,14 +93,14 @@ bool and_1(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-#define AND_(bits)                                                 \
-/* and_n : TWO^n * TWO^n |- TWO^n */                               \
-bool and_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                 \
-  uint_fast##bits##_t x = read##bits(&src);                        \
-  uint_fast##bits##_t y = read##bits(&src);                        \
-  write##bits(dst, x & y);                                         \
-  return true;                                                     \
+#define AND_(bits)                                                            \
+/* and_n : TWO^n * TWO^n |- TWO^n */                                          \
+bool simplicity_and_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                        \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                        \
+  simplicity_write##bits(dst, x & y);                                         \
+  return true;                                                                \
 }
 AND_(8)
 AND_(16)
@@ -108,7 +108,7 @@ AND_(32)
 AND_(64)
 
 /* or_1 : TWO * TWO |- TWO */
-bool or_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_or_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   bool y = readBit(&src);
@@ -116,14 +116,14 @@ bool or_1(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-#define OR_(bits)                                                 \
-/* or_n : TWO^n * TWO^n |- TWO^n */                               \
-bool or_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                \
-  uint_fast##bits##_t x = read##bits(&src);                       \
-  uint_fast##bits##_t y = read##bits(&src);                       \
-  write##bits(dst, x | y);                                        \
-  return true;                                                    \
+#define OR_(bits)                                                            \
+/* or_n : TWO^n * TWO^n |- TWO^n */                                          \
+bool simplicity_or_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                           \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                       \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                       \
+  simplicity_write##bits(dst, x | y);                                        \
+  return true;                                                               \
 }
 OR_(8)
 OR_(16)
@@ -131,7 +131,7 @@ OR_(32)
 OR_(64)
 
 /* xor_1 : TWO * TWO |- TWO */
-bool xor_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_xor_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   bool y = readBit(&src);
@@ -139,14 +139,14 @@ bool xor_1(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-#define XOR_(bits)                                                 \
-/* xor_n : TWO^n * TWO^n |- TWO^n */                               \
-bool xor_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                 \
-  uint_fast##bits##_t x = read##bits(&src);                        \
-  uint_fast##bits##_t y = read##bits(&src);                        \
-  write##bits(dst, x ^ y);                                         \
-  return true;                                                     \
+#define XOR_(bits)                                                            \
+/* xor_n : TWO^n * TWO^n |- TWO^n */                                          \
+bool simplicity_xor_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                        \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                        \
+  simplicity_write##bits(dst, x ^ y);                                         \
+  return true;                                                                \
 }
 XOR_(8)
 XOR_(16)
@@ -154,7 +154,7 @@ XOR_(32)
 XOR_(64)
 
 /* maj_1 : TWO * TWO * TWO |- TWO */
-bool maj_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_maj_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   bool y = readBit(&src);
@@ -163,15 +163,15 @@ bool maj_1(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-#define MAJ_(bits)                                                 \
-/* maj_n : TWO^n * TWO^n * TWO^n |- TWO^n */                       \
-bool maj_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                 \
-  uint_fast##bits##_t x = read##bits(&src);                        \
-  uint_fast##bits##_t y = read##bits(&src);                        \
-  uint_fast##bits##_t z = read##bits(&src);                        \
-  write##bits(dst, (x&y) | (y&z) | (z&x));                         \
-  return true;                                                     \
+#define MAJ_(bits)                                                            \
+/* maj_n : TWO^n * TWO^n * TWO^n |- TWO^n */                                  \
+bool simplicity_maj_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                        \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                        \
+  uint_fast##bits##_t z = simplicity_read##bits(&src);                        \
+  simplicity_write##bits(dst, (x&y) | (y&z) | (z&x));                         \
+  return true;                                                                \
 }
 MAJ_(8)
 MAJ_(16)
@@ -179,7 +179,7 @@ MAJ_(32)
 MAJ_(64)
 
 /* xor_xor_1 : TWO * TWO * TWO |- TWO */
-bool xor_xor_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_xor_xor_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   bool y = readBit(&src);
@@ -188,15 +188,15 @@ bool xor_xor_1(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-#define XOR_XOR_(bits)                                                 \
-/* xor_xor_n : TWO^n * TWO^n * TWO^n |- TWO^n */                       \
-bool xor_xor_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                     \
-  uint_fast##bits##_t x = read##bits(&src);                            \
-  uint_fast##bits##_t y = read##bits(&src);                            \
-  uint_fast##bits##_t z = read##bits(&src);                            \
-  write##bits(dst, x ^ y ^ z);                                         \
-  return true;                                                         \
+#define XOR_XOR_(bits)                                                            \
+/* xor_xor_n : TWO^n * TWO^n * TWO^n |- TWO^n */                                  \
+bool simplicity_xor_xor_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                            \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                            \
+  uint_fast##bits##_t z = simplicity_read##bits(&src);                            \
+  simplicity_write##bits(dst, x ^ y ^ z);                                         \
+  return true;                                                                    \
 }
 XOR_XOR_(8)
 XOR_XOR_(16)
@@ -204,7 +204,7 @@ XOR_XOR_(32)
 XOR_XOR_(64)
 
 /* ch_1 : TWO * TWO * TWO |- TWO */
-bool ch_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_ch_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   bool y = readBit(&src);
@@ -213,15 +213,15 @@ bool ch_1(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-#define CH_(bits)                                                 \
-/* ch_n : TWO^n * TWO^n * TWO^n |- TWO^n */                       \
-bool ch_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                \
-  uint_fast##bits##_t x = read##bits(&src);                       \
-  uint_fast##bits##_t y = read##bits(&src);                       \
-  uint_fast##bits##_t z = read##bits(&src);                       \
-  write##bits(dst, ((x&y) | ((~(1U*x))&z)));                      \
-  return true;                                                    \
+#define CH_(bits)                                                            \
+/* ch_n : TWO^n * TWO^n * TWO^n |- TWO^n */                                  \
+bool simplicity_ch_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                           \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                       \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                       \
+  uint_fast##bits##_t z = simplicity_read##bits(&src);                       \
+  simplicity_write##bits(dst, ((x&y) | ((~(1U*x))&z)));                      \
+  return true;                                                               \
 }
 CH_(8)
 CH_(16)
@@ -229,33 +229,33 @@ CH_(32)
 CH_(64)
 
 /* some_1 : TWO |- TWO */
-bool some_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_some_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   writeBit(dst, x);
   return true;
 }
 
-#define SOME_(bits)                                                 \
-/* some_n : TWO^n |- TWO */                                         \
-bool some_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                  \
-  uint_fast##bits##_t x = read##bits(&src);                         \
-  writeBit(dst, x != 0);                                            \
-  return true;                                                      \
+#define SOME_(bits)                                                            \
+/* some_n : TWO^n |- TWO */                                                    \
+bool simplicity_some_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                             \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                         \
+  writeBit(dst, x != 0);                                                       \
+  return true;                                                                 \
 }
 SOME_(8)
 SOME_(16)
 SOME_(32)
 SOME_(64)
 
-#define ALL_(bits)                                                 \
-/* all_n : TWO^n |- TWO */                                         \
-bool all_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                 \
-  uint_fast##bits##_t x = read##bits(&src);                        \
-  writeBit(dst, x == UINT##bits##_MAX);                            \
-  return true;                                                     \
+#define ALL_(bits)                                                            \
+/* all_n : TWO^n |- TWO */                                                    \
+bool simplicity_all_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                        \
+  writeBit(dst, x == UINT##bits##_MAX);                                       \
+  return true;                                                                \
 }
 ALL_(8)
 ALL_(16)
@@ -263,7 +263,7 @@ ALL_(32)
 ALL_(64)
 
 /* eq_1 : TWO * TWO |- TWO */
-bool eq_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_eq_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   bool x = readBit(&src);
   bool y = readBit(&src);
@@ -271,14 +271,14 @@ bool eq_1(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-#define EQ_(bits)                                                 \
-/* eq_n : TWO^n * TWO^n |- TWO */                                 \
-bool eq_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                \
-  uint_fast##bits##_t x = read##bits(&src);                       \
-  uint_fast##bits##_t y = read##bits(&src);                       \
-  writeBit(dst, x == y);                                          \
-  return true;                                                    \
+#define EQ_(bits)                                                            \
+/* eq_n : TWO^n * TWO^n |- TWO */                                            \
+bool simplicity_eq_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                           \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                       \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                       \
+  writeBit(dst, x == y);                                                     \
+  return true;                                                               \
 }
 EQ_(8)
 EQ_(16)
@@ -286,7 +286,7 @@ EQ_(32)
 EQ_(64)
 
 /* eq_256 : TWO^256 * TWO^256 |- TWO */
-bool eq_256(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_eq_256(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   uint32_t arr[16];
   read32s(arr, 16, &src);
@@ -302,10 +302,10 @@ bool eq_256(frameItem* dst, frameItem src, const txEnv* env) {
 
 #define FULL_LEFT_SHIFT_(bitsN, bitsM)                                                                    \
 /* full_left_shift_n_m : TWO^n * TWO^m |- TWO^m * TWO^n */                                                \
-bool full_left_shift_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {                 \
+bool simplicity_full_left_shift_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {      \
   (void) env; /* env is unused. */                                                                        \
   static_assert(0 <= (bitsM) && (bitsM) <= (bitsN) && (bitsN) <= 64, "Bad arguments for bitsN or bitsM"); \
-  copyBits(dst, &src, (bitsN) + (bitsM));                                                                 \
+  simplicity_copyBits(dst, &src, (bitsN) + (bitsM));                                                      \
   return true;                                                                                            \
 }
 FULL_LEFT_SHIFT_(8,1)
@@ -329,10 +329,10 @@ FULL_LEFT_SHIFT_(64,32)
 
 #define FULL_RIGHT_SHIFT_(bitsN, bitsM)                                                                   \
 /* full_right_shift_n_m : TWO^m * TWO^n |- TWO^n * TWO^m */                                               \
-bool full_right_shift_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {                \
+bool simplicity_full_right_shift_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {     \
   (void) env; /* env is unused. */                                                                        \
   static_assert(0 <= (bitsM) && (bitsM) <= (bitsN) && (bitsN) <= 64, "Bad arguments for bitsN or bitsM"); \
-  copyBits(dst, &src, (bitsN) + (bitsM));                                                                 \
+  simplicity_copyBits(dst, &src, (bitsN) + (bitsM));                                                      \
   return true;                                                                                            \
 }
 FULL_RIGHT_SHIFT_(8,1)
@@ -356,10 +356,10 @@ FULL_RIGHT_SHIFT_(64,32)
 
 #define LEFTMOST_(bitsN, bitsM)                                                                           \
 /* leftmost_n_m : TWO^n |- TWO^m */                                                                       \
-bool leftmost_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {                        \
+bool simplicity_leftmost_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {             \
   (void) env; /* env is unused. */                                                                        \
   static_assert(0 <= (bitsM) && (bitsM) <= (bitsN) && (bitsN) <= 64, "Bad arguments for bitsN or bitsM"); \
-  copyBits(dst, &src, (bitsM));                                                                           \
+  simplicity_copyBits(dst, &src, (bitsM));                                                                \
   return true;                                                                                            \
 }
 LEFTMOST_(8,1)
@@ -383,11 +383,11 @@ LEFTMOST_(64,32)
 
 #define RIGHTMOST_(bitsN, bitsM)                                                                          \
 /* rightmost_n_m : TWO^n |- TWO^m */                                                                      \
-bool rightmost_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {                       \
+bool simplicity_rightmost_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {            \
   (void) env; /* env is unused. */                                                                        \
   static_assert(0 <= (bitsM) && (bitsM) <= (bitsN) && (bitsN) <= 64, "Bad arguments for bitsN or bitsM"); \
   forwardBits(&src, (bitsN) - (bitsM));                                                                   \
-  copyBits(dst, &src, (bitsM));                                                                           \
+  simplicity_copyBits(dst, &src, (bitsM));                                                                \
   return true;                                                                                            \
 }
 RIGHTMOST_(8,1)
@@ -409,29 +409,29 @@ RIGHTMOST_(64,8)
 RIGHTMOST_(64,16)
 RIGHTMOST_(64,32)
 
-#define LEFT_PAD_LOW_1_(bitsM)                                                 \
-/* left_pad_low_1_m : TWO |- TWO^m */                                          \
-bool left_pad_low_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                             \
-  bool bit = readBit(&src);                                                    \
-  write##bitsM(dst, bit);                                                      \
-  return true;                                                                 \
+#define LEFT_PAD_LOW_1_(bitsM)                                                            \
+/* left_pad_low_1_m : TWO |- TWO^m */                                                     \
+bool simplicity_left_pad_low_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                        \
+  bool bit = readBit(&src);                                                               \
+  simplicity_write##bitsM(dst, bit);                                                      \
+  return true;                                                                            \
 }
 LEFT_PAD_LOW_1_(8)
 LEFT_PAD_LOW_1_(16)
 LEFT_PAD_LOW_1_(32)
 LEFT_PAD_LOW_1_(64)
 
-#define LEFT_PAD_LOW_(bitsN, bitsM)                                                    \
-/* left_pad_low_n_m : TWO^n |- TWO^m */                                                \
-bool left_pad_low_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                                     \
-  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                \
-  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");           \
-  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, 0); }               \
-  copyBits(dst, &src, (bitsN));                                                        \
-  return true;                                                                         \
+#define LEFT_PAD_LOW_(bitsN, bitsM)                                                               \
+/* left_pad_low_n_m : TWO^n |- TWO^m */                                                           \
+bool simplicity_left_pad_low_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                                \
+  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                           \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                           \
+  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");                      \
+  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, 0); }               \
+  simplicity_copyBits(dst, &src, (bitsN));                                                        \
+  return true;                                                                                    \
 }
 LEFT_PAD_LOW_(8,16)
 LEFT_PAD_LOW_(8,32)
@@ -440,30 +440,30 @@ LEFT_PAD_LOW_(16,32)
 LEFT_PAD_LOW_(16,64)
 LEFT_PAD_LOW_(32,64)
 
-#define LEFT_PAD_HIGH_1_(bitsM)                                                 \
-/* left_pad_high_1_m : TWO |- TWO^m */                                          \
-bool left_pad_high_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                              \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");         \
-  for(int i = 0; i < (bitsM) - 1; ++i) { writeBit(dst, true); }                 \
-  copyBits(dst, &src, 1);                                                       \
-  return true;                                                                  \
+#define LEFT_PAD_HIGH_1_(bitsM)                                                            \
+/* left_pad_high_1_m : TWO |- TWO^m */                                                     \
+bool simplicity_left_pad_high_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                         \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                    \
+  for(int i = 0; i < (bitsM) - 1; ++i) { writeBit(dst, true); }                            \
+  simplicity_copyBits(dst, &src, 1);                                                       \
+  return true;                                                                             \
 }
 LEFT_PAD_HIGH_1_(8)
 LEFT_PAD_HIGH_1_(16)
 LEFT_PAD_HIGH_1_(32)
 LEFT_PAD_HIGH_1_(64)
 
-#define LEFT_PAD_HIGH_(bitsN, bitsM)                                                     \
-/* left_pad_high_n_m : TWO^n |- TWO^m */                                                 \
-bool left_pad_high_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {  \
-  (void) env; /* env is unused. */                                                       \
-  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                  \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                  \
-  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");             \
-  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, UINT##bitsN##_MAX); } \
-  copyBits(dst, &src, (bitsN));                                                          \
-  return true;                                                                           \
+#define LEFT_PAD_HIGH_(bitsN, bitsM)                                                                \
+/* left_pad_high_n_m : TWO^n |- TWO^m */                                                            \
+bool simplicity_left_pad_high_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {  \
+  (void) env; /* env is unused. */                                                                  \
+  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                             \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                             \
+  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");                        \
+  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, UINT##bitsN##_MAX); } \
+  simplicity_copyBits(dst, &src, (bitsN));                                                          \
+  return true;                                                                                      \
 }
 LEFT_PAD_HIGH_(8,16)
 LEFT_PAD_HIGH_(8,32)
@@ -472,31 +472,31 @@ LEFT_PAD_HIGH_(16,32)
 LEFT_PAD_HIGH_(16,64)
 LEFT_PAD_HIGH_(32,64)
 
-#define LEFT_EXTEND_1_(bitsM)                                                 \
-/* left_extend_1_m : TWO |- TWO^m */                                          \
-bool left_extend_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                            \
-  bool bit = readBit(&src);                                                   \
-  write##bitsM(dst, bit ? UINT##bitsM##_MAX : 0);                             \
-  return true;                                                                \
+#define LEFT_EXTEND_1_(bitsM)                                                            \
+/* left_extend_1_m : TWO |- TWO^m */                                                     \
+bool simplicity_left_extend_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                       \
+  bool bit = readBit(&src);                                                              \
+  simplicity_write##bitsM(dst, bit ? UINT##bitsM##_MAX : 0);                             \
+  return true;                                                                           \
 }
 LEFT_EXTEND_1_(8)
 LEFT_EXTEND_1_(16)
 LEFT_EXTEND_1_(32)
 LEFT_EXTEND_1_(64)
 
-#define LEFT_EXTEND_(bitsN, bitsM)                                                                 \
-/* left_extend_n_m : TWO^n |- TWO^m */                                                             \
-bool left_extend_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {              \
-  (void) env; /* env is unused. */                                                                 \
-  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                            \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                            \
-  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");                       \
-  uint_fast##bitsN##_t input = read##bitsN(&src);                                                  \
-  bool msb = input >> ((bitsN) - 1);                                                               \
-  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, msb ? UINT##bitsN##_MAX : 0); } \
-  write##bitsN(dst, input);                                                                        \
-  return true;                                                                                     \
+#define LEFT_EXTEND_(bitsN, bitsM)                                                                            \
+/* left_extend_n_m : TWO^n |- TWO^m */                                                                        \
+bool simplicity_left_extend_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {              \
+  (void) env; /* env is unused. */                                                                            \
+  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                                       \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                                       \
+  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");                                  \
+  uint_fast##bitsN##_t input = simplicity_read##bitsN(&src);                                                  \
+  bool msb = input >> ((bitsN) - 1);                                                                          \
+  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, msb ? UINT##bitsN##_MAX : 0); } \
+  simplicity_write##bitsN(dst, input);                                                                        \
+  return true;                                                                                                \
 }
 LEFT_EXTEND_(8,16)
 LEFT_EXTEND_(8,32)
@@ -505,30 +505,30 @@ LEFT_EXTEND_(16,32)
 LEFT_EXTEND_(16,64)
 LEFT_EXTEND_(32,64)
 
-#define RIGHT_PAD_LOW_1_(bitsM)                                                          \
-/* right_pad_low_1_m : TWO |- TWO^m */                                                   \
-bool right_pad_low_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {          \
-  (void) env; /* env is unused. */                                                       \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                  \
-  bool bit = readBit(&src);                                                              \
-  write##bitsM(dst, (uint_fast##bitsM##_t)((uint_fast##bitsM##_t)bit << ((bitsM) - 1))); \
-  return true;                                                                           \
+#define RIGHT_PAD_LOW_1_(bitsM)                                                                     \
+/* right_pad_low_1_m : TWO |- TWO^m */                                                              \
+bool simplicity_right_pad_low_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {          \
+  (void) env; /* env is unused. */                                                                  \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                             \
+  bool bit = readBit(&src);                                                                         \
+  simplicity_write##bitsM(dst, (uint_fast##bitsM##_t)((uint_fast##bitsM##_t)bit << ((bitsM) - 1))); \
+  return true;                                                                                      \
 }
 RIGHT_PAD_LOW_1_(8)
 RIGHT_PAD_LOW_1_(16)
 RIGHT_PAD_LOW_1_(32)
 RIGHT_PAD_LOW_1_(64)
 
-#define RIGHT_PAD_LOW_(bitsN, bitsM)                                                    \
-/* right_pad_low_n_m : TWO^n |- TWO^m */                                                \
-bool right_pad_low_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                                      \
-  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                 \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                 \
-  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");            \
-  copyBits(dst, &src, (bitsN));                                                         \
-  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, 0); }                \
-  return true;                                                                          \
+#define RIGHT_PAD_LOW_(bitsN, bitsM)                                                               \
+/* right_pad_low_n_m : TWO^n |- TWO^m */                                                           \
+bool simplicity_right_pad_low_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                                 \
+  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                            \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                            \
+  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");                       \
+  simplicity_copyBits(dst, &src, (bitsN));                                                         \
+  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, 0); }                \
+  return true;                                                                                     \
 }
 RIGHT_PAD_LOW_(8,16)
 RIGHT_PAD_LOW_(8,32)
@@ -537,30 +537,30 @@ RIGHT_PAD_LOW_(16,32)
 RIGHT_PAD_LOW_(16,64)
 RIGHT_PAD_LOW_(32,64)
 
-#define RIGHT_PAD_HIGH_1_(bitsM)                                                 \
-/* right_pad_high_1_m : TWO |- TWO^m */                                          \
-bool right_pad_high_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                               \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");          \
-  copyBits(dst, &src, 1);                                                        \
-  for(int i = 0; i < (bitsM) - 1; ++i) { writeBit(dst, true); }                  \
-  return true;                                                                   \
+#define RIGHT_PAD_HIGH_1_(bitsM)                                                            \
+/* right_pad_high_1_m : TWO |- TWO^m */                                                     \
+bool simplicity_right_pad_high_1_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                          \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                     \
+  simplicity_copyBits(dst, &src, 1);                                                        \
+  for(int i = 0; i < (bitsM) - 1; ++i) { writeBit(dst, true); }                             \
+  return true;                                                                              \
 }
 RIGHT_PAD_HIGH_1_(8)
 RIGHT_PAD_HIGH_1_(16)
 RIGHT_PAD_HIGH_1_(32)
 RIGHT_PAD_HIGH_1_(64)
 
-#define RIGHT_PAD_HIGH_(bitsN, bitsM)                                                    \
-/* right_pad_high_n_m : TWO^n |- TWO^m */                                                \
-bool right_pad_high_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                                       \
-  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                  \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                  \
-  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");             \
-  copyBits(dst, &src, (bitsN));                                                          \
-  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, UINT##bitsN##_MAX); } \
-  return true;                                                                           \
+#define RIGHT_PAD_HIGH_(bitsN, bitsM)                                                               \
+/* right_pad_high_n_m : TWO^n |- TWO^m */                                                           \
+bool simplicity_right_pad_high_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                                  \
+  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                             \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                             \
+  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");                        \
+  simplicity_copyBits(dst, &src, (bitsN));                                                          \
+  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, UINT##bitsN##_MAX); } \
+  return true;                                                                                      \
 }
 RIGHT_PAD_HIGH_(8,16)
 RIGHT_PAD_HIGH_(8,32)
@@ -569,18 +569,18 @@ RIGHT_PAD_HIGH_(16,32)
 RIGHT_PAD_HIGH_(16,64)
 RIGHT_PAD_HIGH_(32,64)
 
-#define RIGHT_EXTEND_(bitsN, bitsM)                                                                \
-/* right_extend_n_m : TWO^n |- TWO^m */                                                            \
-bool right_extend_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {             \
-  (void) env; /* env is unused. */                                                                 \
-  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                            \
-  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                            \
-  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");                       \
-  uint_fast##bitsN##_t input = read##bitsN(&src);                                                  \
-  bool lsb = input & 1;                                                                            \
-  write##bitsN(dst, input);                                                                        \
-  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { write##bitsN(dst, lsb ? UINT##bitsN##_MAX : 0); } \
-  return true;                                                                                     \
+#define RIGHT_EXTEND_(bitsN, bitsM)                                                                           \
+/* right_extend_n_m : TWO^n |- TWO^m */                                                                       \
+bool simplicity_right_extend_##bitsN##_##bitsM(frameItem* dst, frameItem src, const txEnv* env) {             \
+  (void) env; /* env is unused. */                                                                            \
+  static_assert(0 < (bitsN) && (bitsN) <= 64, "bitsN is out of range");                                       \
+  static_assert(0 < (bitsM) && (bitsM) <= 64, "bitsM is out of range");                                       \
+  static_assert(0 == (bitsM) % (bitsN), "bitsM is not a multiple of bitsN");                                  \
+  uint_fast##bitsN##_t input = simplicity_read##bitsN(&src);                                                  \
+  bool lsb = input & 1;                                                                                       \
+  simplicity_write##bitsN(dst, input);                                                                        \
+  for(int i = 0; i < (bitsM)/(bitsN) - 1; ++i) { simplicity_write##bitsN(dst, lsb ? UINT##bitsN##_MAX : 0); } \
+  return true;                                                                                                \
 }
 RIGHT_EXTEND_(8,16)
 RIGHT_EXTEND_(8,32)
@@ -589,69 +589,69 @@ RIGHT_EXTEND_(16,32)
 RIGHT_EXTEND_(16,64)
 RIGHT_EXTEND_(32,64)
 
-#define LEFT_SHIFT_(log, bits)                                                           \
-static inline void left_shift_helper_##bits(bool with, frameItem* dst, frameItem *src) { \
-  static_assert(log <= 8, "Only log parameter upto 8 is supported.");                    \
-  uint_fast8_t amt = read##log(src);                                                     \
-  uint_fast##bits##_t output = read##bits(src);                                          \
-  if (with) output = UINT##bits##_MAX ^ output;                                          \
-  if (amt < bits) {                                                                      \
-    output = (uint_fast##bits##_t)((1U * output) << amt);                                \
-  } else {                                                                               \
-    output = 0;                                                                          \
-  }                                                                                      \
-  if (with) output = UINT##bits##_MAX ^ output;                                          \
-  write##bits(dst, output);                                                              \
-}                                                                                        \
-                                                                                         \
-/* left_shift_with_n : TWO * TWO^l * TWO^n |- TWO^n */                                   \
-bool left_shift_with_##bits(frameItem* dst, frameItem src, const txEnv* env) {           \
-  (void) env; /* env is unused. */                                                       \
-  bool with = readBit(&src);                                                             \
-  left_shift_helper_##bits(with, dst, &src);                                             \
-  return true;                                                                           \
-}                                                                                        \
-                                                                                         \
-/* left_shift_n : TWO^l * TWO^n |- TWO^n */                                              \
-bool left_shift_##bits(frameItem* dst, frameItem src, const txEnv* env) {                \
-  (void) env; /* env is unused. */                                                       \
-  left_shift_helper_##bits(0, dst, &src);                                                \
-  return true;                                                                           \
-}
-LEFT_SHIFT_(4,8)
-LEFT_SHIFT_(4,16)
-LEFT_SHIFT_(8,32)
-LEFT_SHIFT_(8,64)
-
-#define RIGHT_SHIFT_(log, bits)                                                           \
-static inline void right_shift_helper_##bits(bool with, frameItem* dst, frameItem *src) { \
+#define LEFT_SHIFT_(log, bits)                                                            \
+static inline void left_shift_helper_##bits(bool with, frameItem* dst, frameItem *src) {  \
   static_assert(log <= 8, "Only log parameter upto 8 is supported.");                     \
-  uint_fast8_t amt = read##log(src);                                                      \
-  uint_fast##bits##_t output = read##bits(src);                                           \
+  uint_fast8_t amt = simplicity_read##log(src);                                           \
+  uint_fast##bits##_t output = simplicity_read##bits(src);                                \
   if (with) output = UINT##bits##_MAX ^ output;                                           \
   if (amt < bits) {                                                                       \
-    output = (uint_fast##bits##_t)(output >> amt);                                        \
+    output = (uint_fast##bits##_t)((1U * output) << amt);                                 \
   } else {                                                                                \
     output = 0;                                                                           \
   }                                                                                       \
   if (with) output = UINT##bits##_MAX ^ output;                                           \
-  write##bits(dst, output);                                                               \
+  simplicity_write##bits(dst, output);                                                    \
 }                                                                                         \
                                                                                           \
-/* right_shift_with_n : TWO * TWO^l * TWO^n |- TWO^n */                                   \
-bool right_shift_with_##bits(frameItem* dst, frameItem src, const txEnv* env) {           \
+/* left_shift_with_n : TWO * TWO^l * TWO^n |- TWO^n */                                    \
+bool simplicity_left_shift_with_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
   (void) env; /* env is unused. */                                                        \
   bool with = readBit(&src);                                                              \
-  right_shift_helper_##bits(with, dst, &src);                                             \
+  left_shift_helper_##bits(with, dst, &src);                                              \
   return true;                                                                            \
 }                                                                                         \
                                                                                           \
-/* right_shift_n : TWO^l * TWO^n |- TWO^n */                                              \
-bool right_shift_##bits(frameItem* dst, frameItem src, const txEnv* env) {                \
+/* left_shift_n : TWO^l * TWO^n |- TWO^n */                                               \
+bool simplicity_left_shift_##bits(frameItem* dst, frameItem src, const txEnv* env) {      \
   (void) env; /* env is unused. */                                                        \
-  right_shift_helper_##bits(0, dst, &src);                                                \
+  left_shift_helper_##bits(0, dst, &src);                                                 \
   return true;                                                                            \
 }
+LEFT_SHIFT_(4,8)
+LEFT_SHIFT_(4,16)
+LEFT_SHIFT_(8,32)
+LEFT_SHIFT_(8,64)
+
+#define RIGHT_SHIFT_(log, bits)                                                            \
+static inline void right_shift_helper_##bits(bool with, frameItem* dst, frameItem *src) {  \
+  static_assert(log <= 8, "Only log parameter upto 8 is supported.");                      \
+  uint_fast8_t amt = simplicity_read##log(src);                                            \
+  uint_fast##bits##_t output = simplicity_read##bits(src);                                 \
+  if (with) output = UINT##bits##_MAX ^ output;                                            \
+  if (amt < bits) {                                                                        \
+    output = (uint_fast##bits##_t)(output >> amt);                                         \
+  } else {                                                                                 \
+    output = 0;                                                                            \
+  }                                                                                        \
+  if (with) output = UINT##bits##_MAX ^ output;                                            \
+  simplicity_write##bits(dst, output);                                                     \
+}                                                                                          \
+                                                                                           \
+/* right_shift_with_n : TWO * TWO^l * TWO^n |- TWO^n */                                    \
+bool simplicity_right_shift_with_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                         \
+  bool with = readBit(&src);                                                               \
+  right_shift_helper_##bits(with, dst, &src);                                              \
+  return true;                                                                             \
+}                                                                                          \
+                                                                                           \
+/* right_shift_n : TWO^l * TWO^n |- TWO^n */                                               \
+bool simplicity_right_shift_##bits(frameItem* dst, frameItem src, const txEnv* env) {      \
+  (void) env; /* env is unused. */                                                         \
+  right_shift_helper_##bits(0, dst, &src);                                                 \
+  return true;                                                                             \
+}
 RIGHT_SHIFT_(4,8)
 RIGHT_SHIFT_(4,16)
 RIGHT_SHIFT_(8,32)
@@ -668,21 +668,21 @@ static inline uint_fast##bits##_t rotate_##bits(uint_fast##bits##_t value, uint_
 }                                                                                              \
                                                                                                \
 /* left_rotate_n : TWO^l * TWO^n |- TWO^n */                                                   \
-bool left_rotate_##bits(frameItem* dst, frameItem src, const txEnv* env) {                     \
+bool simplicity_left_rotate_##bits(frameItem* dst, frameItem src, const txEnv* env) {          \
   (void) env; /* env is unused. */                                                             \
-  uint_fast8_t amt = read##log(&src) % bits;                                                   \
-  uint_fast##bits##_t input = read##bits(&src);                                                \
-  write##bits(dst, rotate_##bits(input, amt));                                                 \
+  uint_fast8_t amt = simplicity_read##log(&src) % bits;                                        \
+  uint_fast##bits##_t input = simplicity_read##bits(&src);                                     \
+  simplicity_write##bits(dst, rotate_##bits(input, amt));                                      \
   return true;                                                                                 \
 }                                                                                              \
                                                                                                \
 /* right_rotate_n : TWO^l * TWO^n |- TWO^n */                                                  \
-bool right_rotate_##bits(frameItem* dst, frameItem src, const txEnv* env) {                    \
+bool simplicity_right_rotate_##bits(frameItem* dst, frameItem src, const txEnv* env) {         \
   static_assert(bits <= UINT8_MAX, "'bits' is too large.");                                    \
   (void) env; /* env is unused. */                                                             \
-  uint_fast8_t amt = read##log(&src) % bits;                                                   \
-  uint_fast##bits##_t input = read##bits(&src);                                                \
-  write##bits(dst, rotate_##bits(input, (uint_fast8_t)((bits - amt) % bits)));                 \
+  uint_fast8_t amt = simplicity_read##log(&src) % bits;                                        \
+  uint_fast##bits##_t input = simplicity_read##bits(&src);                                     \
+  simplicity_write##bits(dst, rotate_##bits(input, (uint_fast8_t)((bits - amt) % bits)));      \
   return true;                                                                                 \
 }
 ROTATE_(4,8)
@@ -690,28 +690,28 @@ ROTATE_(4,16)
 ROTATE_(8,32)
 ROTATE_(8,64)
 
-#define ONE_(bits)                                                 \
-/* one_n : ONE |- TWO^n */                                         \
-bool one_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                 \
-  (void) src; /* src is unused. */                                 \
-  write##bits(dst, 1);                                             \
-  return true;                                                     \
+#define ONE_(bits)                                                            \
+/* one_n : ONE |- TWO^n */                                                    \
+bool simplicity_one_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  (void) src; /* src is unused. */                                            \
+  simplicity_write##bits(dst, 1);                                             \
+  return true;                                                                \
 }
 ONE_(8)
 ONE_(16)
 ONE_(32)
 ONE_(64)
 
-#define ADD_(bits)                                                 \
-/* add_n : TWO^n * TWO^n |- TWO * TWO^n */                         \
-bool add_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                 \
-  uint_fast##bits##_t x = read##bits(&src);                        \
-  uint_fast##bits##_t y = read##bits(&src);                        \
-  writeBit(dst, 1U * UINT##bits##_MAX - y < x);                    \
-  write##bits(dst, (uint_fast##bits##_t)(1U * x + y));             \
-  return true;                                                     \
+#define ADD_(bits)                                                            \
+/* add_n : TWO^n * TWO^n |- TWO * TWO^n */                                    \
+bool simplicity_add_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                        \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                        \
+  writeBit(dst, 1U * UINT##bits##_MAX - y < x);                               \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x + y));             \
+  return true;                                                                \
 }
 ADD_(8)
 ADD_(16)
@@ -720,13 +720,13 @@ ADD_(64)
 
 #define FULL_ADD_(bits)                                                                   \
 /* full_add_n : TWO * TWO^n * TWO^n |- TWO * TWO^n */                                     \
-bool full_add_##bits(frameItem* dst, frameItem src, const txEnv* env) {                   \
+bool simplicity_full_add_##bits(frameItem* dst, frameItem src, const txEnv* env) {        \
   (void) env; /* env is unused. */                                                        \
   bool z = readBit(&src);                                                                 \
-  uint_fast##bits##_t x = read##bits(&src);                                               \
-  uint_fast##bits##_t y = read##bits(&src);                                               \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                                    \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                                    \
   writeBit(dst, 1U * UINT##bits##_MAX - y < x || 1U * UINT##bits##_MAX - z < 1U * x + y); \
-  write##bits(dst, (uint_fast##bits##_t)(1U * x + y + z));                                \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x + y + z));                     \
   return true;                                                                            \
 }
 FULL_ADD_(8)
@@ -734,151 +734,151 @@ FULL_ADD_(16)
 FULL_ADD_(32)
 FULL_ADD_(64)
 
-#define FULL_INCREMENT_(bits)                                                 \
-/* full_increment_n : TWO * TWO^n |- TWO * TWO^n */                           \
-bool full_increment_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                            \
-  bool z = readBit(&src);                                                     \
-  uint_fast##bits##_t x = read##bits(&src);                                   \
-  writeBit(dst, 1U * UINT##bits##_MAX - z < x);                               \
-  write##bits(dst, (uint_fast##bits##_t)(1U * x + z));                        \
-  return true;                                                                \
+#define FULL_INCREMENT_(bits)                                                            \
+/* full_increment_n : TWO * TWO^n |- TWO * TWO^n */                                      \
+bool simplicity_full_increment_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                       \
+  bool z = readBit(&src);                                                                \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                                   \
+  writeBit(dst, 1U * UINT##bits##_MAX - z < x);                                          \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x + z));                        \
+  return true;                                                                           \
 }
 FULL_INCREMENT_(8)
 FULL_INCREMENT_(16)
 FULL_INCREMENT_(32)
 FULL_INCREMENT_(64)
 
-#define INCREMENT_(bits)                                                 \
-/* increment_n : TWO^n |- TWO * TWO^n */                                 \
-bool increment_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                       \
-  uint_fast##bits##_t x = read##bits(&src);                              \
-  writeBit(dst, 1U * UINT##bits##_MAX - 1 < x);                          \
-  write##bits(dst, (uint_fast##bits##_t)(1U * x + 1));                   \
-  return true;                                                           \
+#define INCREMENT_(bits)                                                            \
+/* increment_n : TWO^n |- TWO * TWO^n */                                            \
+bool simplicity_increment_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                  \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                              \
+  writeBit(dst, 1U * UINT##bits##_MAX - 1 < x);                                     \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x + 1));                   \
+  return true;                                                                      \
 }
 INCREMENT_(8)
 INCREMENT_(16)
 INCREMENT_(32)
 INCREMENT_(64)
 
-#define SUBTRACT_(bits)                                                 \
-/* subtract_n : TWO^n * TWO^n |- TWO * TWO^n */                         \
-bool subtract_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                      \
-  uint_fast##bits##_t x = read##bits(&src);                             \
-  uint_fast##bits##_t y = read##bits(&src);                             \
-  writeBit(dst, x < y);                                                 \
-  write##bits(dst, (uint_fast##bits##_t)(1U * x - y));                  \
-  return true;                                                          \
+#define SUBTRACT_(bits)                                                            \
+/* subtract_n : TWO^n * TWO^n |- TWO * TWO^n */                                    \
+bool simplicity_subtract_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                 \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                             \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                             \
+  writeBit(dst, x < y);                                                            \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x - y));                  \
+  return true;                                                                     \
 }
 SUBTRACT_(8)
 SUBTRACT_(16)
 SUBTRACT_(32)
 SUBTRACT_(64)
 
-#define NEGATE_(bits)                                                 \
-/* negate_n : TWO^n |- TWO * TWO^n */                                 \
-bool negate_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                    \
-  uint_fast##bits##_t x = read##bits(&src);                           \
-  writeBit(dst, x != 0);                                              \
-  write##bits(dst, (uint_fast##bits##_t)(- (1U * x)));                \
-  return true;                                                        \
+#define NEGATE_(bits)                                                            \
+/* negate_n : TWO^n |- TWO * TWO^n */                                            \
+bool simplicity_negate_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                               \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                           \
+  writeBit(dst, x != 0);                                                         \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(- (1U * x)));                \
+  return true;                                                                   \
 }
 NEGATE_(8)
 NEGATE_(16)
 NEGATE_(32)
 NEGATE_(64)
 
-#define FULL_DECREMENT_(bits)                                                 \
-/* full_decrement_n : TWO * TWO^n |- TWO * TWO^n */                           \
-bool full_decrement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                            \
-  bool z = readBit(&src);                                                     \
-  uint_fast##bits##_t x = read##bits(&src);                                   \
-  writeBit(dst, x < z);                                                       \
-  write##bits(dst, (uint_fast##bits##_t)(1U * x - z));                        \
-  return true;                                                                \
+#define FULL_DECREMENT_(bits)                                                            \
+/* full_decrement_n : TWO * TWO^n |- TWO * TWO^n */                                      \
+bool simplicity_full_decrement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                       \
+  bool z = readBit(&src);                                                                \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                                   \
+  writeBit(dst, x < z);                                                                  \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x - z));                        \
+  return true;                                                                           \
 }
 FULL_DECREMENT_(8)
 FULL_DECREMENT_(16)
 FULL_DECREMENT_(32)
 FULL_DECREMENT_(64)
 
-#define DECREMENT_(bits)                                                 \
-/* decrement_n : TWO^n |- TWO * TWO^n */                                 \
-bool decrement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                       \
-  uint_fast##bits##_t x = read##bits(&src);                              \
-  writeBit(dst, x < 1);                                                  \
-  write##bits(dst, (uint_fast##bits##_t)(1U * x - 1));                   \
-  return true;                                                           \
+#define DECREMENT_(bits)                                                            \
+/* decrement_n : TWO^n |- TWO * TWO^n */                                            \
+bool simplicity_decrement_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                  \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                              \
+  writeBit(dst, x < 1);                                                             \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x - 1));                   \
+  return true;                                                                      \
 }
 DECREMENT_(8)
 DECREMENT_(16)
 DECREMENT_(32)
 DECREMENT_(64)
 
-#define FULL_SUBTRACT_(bits)                                                 \
-/* full_subtract_n : TWO * TWO^n * TWO^n |- TWO * TWO^n */                   \
-bool full_subtract_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                           \
-  bool z = readBit(&src);                                                    \
-  uint_fast##bits##_t x = read##bits(&src);                                  \
-  uint_fast##bits##_t y = read##bits(&src);                                  \
-  writeBit(dst, x < y || 1U * x - y < z);                                    \
-  write##bits(dst, (uint_fast##bits##_t)(1U * x - y - z));                   \
-  return true;                                                               \
+#define FULL_SUBTRACT_(bits)                                                            \
+/* full_subtract_n : TWO * TWO^n * TWO^n |- TWO * TWO^n */                              \
+bool simplicity_full_subtract_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                      \
+  bool z = readBit(&src);                                                               \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                                  \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                                  \
+  writeBit(dst, x < y || 1U * x - y < z);                                               \
+  simplicity_write##bits(dst, (uint_fast##bits##_t)(1U * x - y - z));                   \
+  return true;                                                                          \
 }
 FULL_SUBTRACT_(8)
 FULL_SUBTRACT_(16)
 FULL_SUBTRACT_(32)
 FULL_SUBTRACT_(64)
 
-#define MULTIPLY_(bits,bitsx2)                                          \
-bool multiply_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                      \
-  uint_fast##bitsx2##_t x = read##bits(&src);                           \
-  uint_fast##bitsx2##_t y = read##bits(&src);                           \
-  write##bitsx2(dst, x * y);                                            \
-  return true;                                                          \
+#define MULTIPLY_(bits,bitsx2)                                                     \
+bool simplicity_multiply_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                 \
+  uint_fast##bitsx2##_t x = simplicity_read##bits(&src);                           \
+  uint_fast##bitsx2##_t y = simplicity_read##bits(&src);                           \
+  simplicity_write##bitsx2(dst, x * y);                                            \
+  return true;                                                                     \
 }
 MULTIPLY_(8, 16)
 MULTIPLY_(16, 32)
 MULTIPLY_(32, 64)
 
-bool multiply_64(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_multiply_64(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
-  uint_fast64_t x = read64(&src);
-  uint_fast64_t y = read64(&src);
+  uint_fast64_t x = simplicity_read64(&src);
+  uint_fast64_t y = simplicity_read64(&src);
   secp256k1_uint128 r;
   secp256k1_u128_mul(&r, x, y);
   write128(dst, &r);
   return true;
 }
 
-#define FULL_MULTIPLY_(bits,bitsx2)                                          \
-bool full_multiply_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                           \
-  uint_fast##bitsx2##_t x = read##bits(&src);                                \
-  uint_fast##bitsx2##_t y = read##bits(&src);                                \
-  uint_fast##bitsx2##_t z = read##bits(&src);                                \
-  uint_fast##bitsx2##_t w = read##bits(&src);                                \
-  write##bitsx2(dst, x * y + z + w);                                         \
-  return true;                                                               \
+#define FULL_MULTIPLY_(bits,bitsx2)                                                     \
+bool simplicity_full_multiply_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                      \
+  uint_fast##bitsx2##_t x = simplicity_read##bits(&src);                                \
+  uint_fast##bitsx2##_t y = simplicity_read##bits(&src);                                \
+  uint_fast##bitsx2##_t z = simplicity_read##bits(&src);                                \
+  uint_fast##bitsx2##_t w = simplicity_read##bits(&src);                                \
+  simplicity_write##bitsx2(dst, x * y + z + w);                                         \
+  return true;                                                                          \
 }
 FULL_MULTIPLY_(8, 16)
 FULL_MULTIPLY_(16, 32)
 FULL_MULTIPLY_(32, 64)
 
-bool full_multiply_64(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_full_multiply_64(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
-  uint_fast64_t x = read64(&src);
-  uint_fast64_t y = read64(&src);
-  uint_fast64_t z = read64(&src);
-  uint_fast64_t w = read64(&src);
+  uint_fast64_t x = simplicity_read64(&src);
+  uint_fast64_t y = simplicity_read64(&src);
+  uint_fast64_t z = simplicity_read64(&src);
+  uint_fast64_t w = simplicity_read64(&src);
   secp256k1_uint128 r;
   secp256k1_u128_mul(&r, x, y);
   secp256k1_u128_accum_u64(&r, z);
@@ -887,156 +887,156 @@ bool full_multiply_64(frameItem* dst, frameItem src, const txEnv* env) {
   return true;
 }
 
-#define IS_ZERO_(bits)                                                 \
-/* is_zero_n : TWO^n |- TWO */                                         \
-bool is_zero_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                     \
-  uint_fast##bits##_t x = read##bits(&src);                            \
-  writeBit(dst, x == 0);                                               \
-  return true;                                                         \
+#define IS_ZERO_(bits)                                                            \
+/* is_zero_n : TWO^n |- TWO */                                                    \
+bool simplicity_is_zero_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                            \
+  writeBit(dst, x == 0);                                                          \
+  return true;                                                                    \
 }
 IS_ZERO_(8)
 IS_ZERO_(16)
 IS_ZERO_(32)
 IS_ZERO_(64)
 
-#define IS_ONE_(bits)                                                 \
-/* is_one_n : TWO^n |- TWO */                                         \
-bool is_one_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                    \
-  uint_fast##bits##_t x = read##bits(&src);                           \
-  writeBit(dst, x == 1);                                              \
-  return true;                                                        \
+#define IS_ONE_(bits)                                                            \
+/* is_one_n : TWO^n |- TWO */                                                    \
+bool simplicity_is_one_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                               \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                           \
+  writeBit(dst, x == 1);                                                         \
+  return true;                                                                   \
 }
 IS_ONE_(8)
 IS_ONE_(16)
 IS_ONE_(32)
 IS_ONE_(64)
 
-#define LE_(bits)                                                 \
-/* le_n : TWO^n * TWO^n |- TWO */                                 \
-bool le_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                \
-  uint_fast##bits##_t x = read##bits(&src);                       \
-  uint_fast##bits##_t y = read##bits(&src);                       \
-  writeBit(dst, x <= y);                                          \
-  return true;                                                    \
+#define LE_(bits)                                                            \
+/* le_n : TWO^n * TWO^n |- TWO */                                            \
+bool simplicity_le_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                           \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                       \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                       \
+  writeBit(dst, x <= y);                                                     \
+  return true;                                                               \
 }
 LE_(8)
 LE_(16)
 LE_(32)
 LE_(64)
 
-#define LT_(bits)                                                     \
-/* lt_n : TWO^n * TWO^n |- TWO */                                     \
-bool lt_##bits(frameItem* dst, frameItem src, const txEnv* env) {     \
-  (void) env; /* env is unused. */                                    \
-  uint_fast##bits##_t x = read##bits(&src);                           \
-  uint_fast##bits##_t y = read##bits(&src);                           \
-  writeBit(dst, x < y);                                               \
-  return true;                                                        \
+#define LT_(bits)                                                            \
+/* lt_n : TWO^n * TWO^n |- TWO */                                            \
+bool simplicity_lt_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                           \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                       \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                       \
+  writeBit(dst, x < y);                                                      \
+  return true;                                                               \
 }
 LT_(8)
 LT_(16)
 LT_(32)
 LT_(64)
 
-#define MIN_(bits)                                                    \
-/* min_n : TWO^n * TWO^n |- TWO^n */                                  \
-bool min_##bits(frameItem* dst, frameItem src, const txEnv* env) {    \
-  (void) env; /* env is unused. */                                    \
-  uint_fast##bits##_t x = read##bits(&src);                           \
-  uint_fast##bits##_t y = read##bits(&src);                           \
-  write##bits(dst, x < y ? x : y);                                    \
-  return true;                                                        \
+#define MIN_(bits)                                                            \
+/* min_n : TWO^n * TWO^n |- TWO^n */                                          \
+bool simplicity_min_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                        \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                        \
+  simplicity_write##bits(dst, x < y ? x : y);                                 \
+  return true;                                                                \
 }
 MIN_(8)
 MIN_(16)
 MIN_(32)
 MIN_(64)
 
-#define MAX_(bits)                                                    \
-/* max_n : TWO^n * TWO^n |- TWO^n */                                  \
-bool max_##bits(frameItem* dst, frameItem src, const txEnv* env) {    \
-  (void) env; /* env is unused. */                                    \
-  uint_fast##bits##_t x = read##bits(&src);                           \
-  uint_fast##bits##_t y = read##bits(&src);                           \
-  write##bits(dst, x < y ? y : x);                                    \
-  return true;                                                        \
+#define MAX_(bits)                                                            \
+/* max_n : TWO^n * TWO^n |- TWO^n */                                          \
+bool simplicity_max_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                            \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                        \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                        \
+  simplicity_write##bits(dst, x < y ? y : x);                                 \
+  return true;                                                                \
 }
 MAX_(8)
 MAX_(16)
 MAX_(32)
 MAX_(64)
 
-#define MEDIAN_(bits)                                                 \
-/* median_n : TWO^n * TWO^n * TWO^n |- TWO^n */                       \
-bool median_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                    \
-  uint_fast##bits##_t x = read##bits(&src);                           \
-  uint_fast##bits##_t y = read##bits(&src);                           \
-  uint_fast##bits##_t z = read##bits(&src);                           \
-  write##bits(dst, x < y                                              \
-                 ? (y < z ? y : (z < x ? x : z))                      \
-                 : (x < z ? x : (z < y ? y : z)));                    \
-  return true;                                                        \
+#define MEDIAN_(bits)                                                            \
+/* median_n : TWO^n * TWO^n * TWO^n |- TWO^n */                                  \
+bool simplicity_median_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                               \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                           \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                           \
+  uint_fast##bits##_t z = simplicity_read##bits(&src);                           \
+  simplicity_write##bits(dst, x < y                                              \
+                 ? (y < z ? y : (z < x ? x : z))                                 \
+                 : (x < z ? x : (z < y ? y : z)));                               \
+  return true;                                                                   \
 }
 MEDIAN_(8)
 MEDIAN_(16)
 MEDIAN_(32)
 MEDIAN_(64)
 
-#define DIV_MOD_(bits)                                                 \
-/* div_mod_n : TWO^n * TWO^n |- TWO^n * TWO^n */                       \
-bool div_mod_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                     \
-  uint_fast##bits##_t x = read##bits(&src);                            \
-  uint_fast##bits##_t y = read##bits(&src);                            \
-  write##bits(dst, 0 == y ? 0 : x / y);                                \
-  write##bits(dst, 0 == y ? x : x % y);                                \
-  return true;                                                         \
+#define DIV_MOD_(bits)                                                            \
+/* div_mod_n : TWO^n * TWO^n |- TWO^n * TWO^n */                                  \
+bool simplicity_div_mod_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                            \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                            \
+  simplicity_write##bits(dst, 0 == y ? 0 : x / y);                                \
+  simplicity_write##bits(dst, 0 == y ? x : x % y);                                \
+  return true;                                                                    \
 }
 DIV_MOD_(8)
 DIV_MOD_(16)
 DIV_MOD_(32)
 DIV_MOD_(64)
 
-#define DIVIDE_(bits)                                                 \
-/* divide_n : TWO^n * TWO^n |- TWO^n */                               \
-bool divide_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                    \
-  uint_fast##bits##_t x = read##bits(&src);                           \
-  uint_fast##bits##_t y = read##bits(&src);                           \
-  write##bits(dst, 0 == y ? 0 : x / y);                               \
-  return true;                                                        \
+#define DIVIDE_(bits)                                                            \
+/* divide_n : TWO^n * TWO^n |- TWO^n */                                          \
+bool simplicity_divide_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                               \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                           \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                           \
+  simplicity_write##bits(dst, 0 == y ? 0 : x / y);                               \
+  return true;                                                                   \
 }
 DIVIDE_(8)
 DIVIDE_(16)
 DIVIDE_(32)
 DIVIDE_(64)
 
-#define MODULO_(bits)                                                 \
-/* modulo_n : TWO^n * TWO^n |- TWO^n */                               \
-bool modulo_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                    \
-  uint_fast##bits##_t x = read##bits(&src);                           \
-  uint_fast##bits##_t y = read##bits(&src);                           \
-  write##bits(dst, 0 == y ? x : x % y);                               \
-  return true;                                                        \
+#define MODULO_(bits)                                                            \
+/* modulo_n : TWO^n * TWO^n |- TWO^n */                                          \
+bool simplicity_modulo_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                               \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                           \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                           \
+  simplicity_write##bits(dst, 0 == y ? x : x % y);                               \
+  return true;                                                                   \
 }
 MODULO_(8)
 MODULO_(16)
 MODULO_(32)
 MODULO_(64)
 
-#define DIVIDES_(bits)                                                 \
-/* divides_n : TWO^n * TWO^n |- TWO */                                 \
-bool divides_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
-  (void) env; /* env is unused. */                                     \
-  uint_fast##bits##_t x = read##bits(&src);                            \
-  uint_fast##bits##_t y = read##bits(&src);                            \
-  writeBit(dst, 0 == (0 == x ? y : y % x));                            \
-  return true;                                                         \
+#define DIVIDES_(bits)                                                            \
+/* divides_n : TWO^n * TWO^n |- TWO */                                            \
+bool simplicity_divides_##bits(frameItem* dst, frameItem src, const txEnv* env) { \
+  (void) env; /* env is unused. */                                                \
+  uint_fast##bits##_t x = simplicity_read##bits(&src);                            \
+  uint_fast##bits##_t y = simplicity_read##bits(&src);                            \
+  writeBit(dst, 0 == (0 == x ? y : y % x));                                       \
+  return true;                                                                    \
 }
 DIVIDES_(8)
 DIVIDES_(16)
@@ -1117,7 +1117,7 @@ static void div_mod_96_64(uint_fast32_t *q, uint_fast64_t *r,
   uint_fast64_t estQ = ah / bh;
 
   /* Precondition 1 guarentees Q is 32-bits, if estQ is greater than UINT32_MAX, then reduce our initial estimated quotient to UINT32_MAX. */
-  *q = estQ <= UINT32_MAX ? estQ : UINT32_MAX;
+  *q = estQ <= UINT32_MAX ? (uint_fast32_t)estQ : UINT32_MAX;
 
   /* *q * bh <= estQ * bh <= ah */
   uint_fast64_t rh = ah - 1u * *q * bh;
@@ -1152,14 +1152,14 @@ static void div_mod_96_64(uint_fast32_t *q, uint_fast64_t *r,
 }
 
 /* div_mod_128_64 : TWO^128 * TWO^64 |- TWO^64 * TWO^64 */
-bool div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   uint_fast32_t qh, ql;
   uint_fast64_t r;
-  uint_fast64_t ah = read64(&src);
-  uint_fast32_t am = read32(&src);
-  uint_fast32_t al = read32(&src);
-  uint_fast64_t b = read64(&src);
+  uint_fast64_t ah = simplicity_read64(&src);
+  uint_fast32_t am = simplicity_read32(&src);
+  uint_fast32_t al = simplicity_read32(&src);
+  uint_fast64_t b = simplicity_read64(&src);
 
   /* div2n1n is only defined when 2^(n-1) <= b and when the quotient q < 2^n. */
   if (0x8000000000000000 <= b && ah < b) {
@@ -1191,19 +1191,19 @@ bool div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env) {
      * returning the second "digit" (low 32-bits) of the quotient, and the final remainer consisiting of 2 "digit"s (64-bits).
      */
     div_mod_96_64(&ql, &r, r, al, b);
-    write32(dst, qh);
-    write32(dst, ql);
-    write64(dst, r);
+    simplicity_write32(dst, qh);
+    simplicity_write32(dst, ql);
+    simplicity_write64(dst, r);
   } else {
     /* Set all the bits in the output when the input is out of bounds. */
-    write64(dst, (uint64_t)(-1));
-    write64(dst, (uint64_t)(-1));
+    simplicity_write64(dst, (uint64_t)(-1));
+    simplicity_write64(dst, (uint64_t)(-1));
   }
   return true;
 }
 
 /* sha_256_iv : ONE |- TWO^256 */
-bool sha_256_iv(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_iv(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   (void) src; /* env is unused. */
 
@@ -1215,13 +1215,13 @@ bool sha_256_iv(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* sha_256_block : TWO^256 * TWO^512 |- TWO^256 */
-bool sha_256_block(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_block(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   uint32_t h[8];
   uint32_t block[16];
   read32s(h, 8, &src);
   read32s(block, 16, &src);
-  sha256_compression(h, block);
+  simplicity_sha256_compression(h, block);
   write32s(dst, h, 8);
   return true;
 }
@@ -1230,14 +1230,14 @@ bool sha_256_block(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_init(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_init(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   (void) src; /* env is unused. */
 
   uint32_t iv[8];
   sha256_context ctx = sha256_init(iv);
 
-  return write_sha256_context(dst, &ctx);
+  return simplicity_write_sha256_context(dst, &ctx);
 }
 
 /* sha_256_ctx_8_add_n : CTX8 * (TWO^8)^n |- CTX8
@@ -1252,17 +1252,17 @@ static bool sha_256_ctx_8_add_n(frameItem* dst, frameItem *src, size_t n) {
   unsigned char buf[512];
   sha256_context ctx = {.output = midstate.s};
 
-  if (!read_sha256_context(&ctx, src)) return false;
+  if (!simplicity_read_sha256_context(&ctx, src)) return false;
   read8s(buf, n, src);
   sha256_uchars(&ctx, buf, n);
-  return write_sha256_context(dst, &ctx);
+  return simplicity_write_sha256_context(dst, &ctx);
 }
 
 /* sha_256_ctx_8_add_1 : CTX8 * TWO^8 |- CTX8
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 1);
 }
@@ -1271,7 +1271,7 @@ bool sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 2);
 }
@@ -1280,7 +1280,7 @@ bool sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 4);
 }
@@ -1289,7 +1289,7 @@ bool sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 8);
 }
@@ -1298,7 +1298,7 @@ bool sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 16);
 }
@@ -1307,7 +1307,7 @@ bool sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 32);
 }
@@ -1316,7 +1316,7 @@ bool sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 64);
 }
@@ -1325,7 +1325,7 @@ bool sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 128);
 }
@@ -1334,7 +1334,7 @@ bool sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 256);
 }
@@ -1343,7 +1343,7 @@ bool sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   return sha_256_ctx_8_add_n(dst, &src, 512);
 }
@@ -1352,30 +1352,30 @@ bool sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env) {
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_add_buffer_511(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_add_buffer_511(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   sha256_midstate midstate;
   unsigned char buf[511];
   size_t buf_len;
   sha256_context ctx = {.output = midstate.s};
 
-  if (!read_sha256_context(&ctx, &src)) return false;
+  if (!simplicity_read_sha256_context(&ctx, &src)) return false;
 
-  read_buffer8(buf, &buf_len, &src, 8);
+  simplicity_read_buffer8(buf, &buf_len, &src, 8);
   sha256_uchars(&ctx, buf, buf_len);
-  return write_sha256_context(dst, &ctx);
+  return simplicity_write_sha256_context(dst, &ctx);
 }
 
 /* sha_256_ctx_8_finalize : CTX8 |- TWO^256
  * where
  * CTX8 = (TWO^8)^<64 * TWO^64 * TWO^256
  */
-bool sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
   sha256_midstate midstate;
   sha256_context ctx = {.output = midstate.s};
 
-  if (!read_sha256_context(&ctx, &src)) return false;
+  if (!simplicity_read_sha256_context(&ctx, &src)) return false;
 
   sha256_finalize(&ctx);
   write32s(dst, midstate.s, 8);
@@ -1383,21 +1383,21 @@ bool sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* parse_sequence : TWO^32 |- TWO^32 + TWO^32 */
-bool parse_lock(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_parse_lock(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
-  uint_fast32_t nLockTime = read32(&src);
+  uint_fast32_t nLockTime = simplicity_read32(&src);
   writeBit(dst, 500000000U <= nLockTime);
-  write32(dst, nLockTime);
+  simplicity_write32(dst, nLockTime);
   return true;
 }
 
 /* parse_sequence : TWO^32 |- S (TWO^16 + TWO^16) */
-bool parse_sequence(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_parse_sequence(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; /* env is unused. */
-  uint_fast32_t nSequence = read32(&src);
+  uint_fast32_t nSequence = simplicity_read32(&src);
   if (writeBit(dst, nSequence < ((uint_fast32_t)1 << 31))) {
     writeBit(dst, nSequence & ((uint_fast32_t)1 << 22));
-    write16(dst, nSequence & 0xffff);
+    simplicity_write16(dst, nSequence & 0xffff);
   } else {
     skipBits(dst, 17);
   }
diff --git a/simplicity-sys/depend/simplicity/jets.h b/simplicity-sys/depend/simplicity/jets.h
index 5b1a0fe3..32913f3a 100644
--- a/simplicity-sys/depend/simplicity/jets.h
+++ b/simplicity-sys/depend/simplicity/jets.h
@@ -21,379 +21,379 @@ typedef struct txEnv txEnv;
  */
 typedef bool (*jet_ptr)(frameItem* dst, frameItem src, const txEnv* env);
 
-bool verify(frameItem* dst, frameItem src, const txEnv* env);
-bool low_1(frameItem* dst, frameItem src, const txEnv* env);
-bool low_8(frameItem* dst, frameItem src, const txEnv* env);
-bool low_16(frameItem* dst, frameItem src, const txEnv* env);
-bool low_32(frameItem* dst, frameItem src, const txEnv* env);
-bool low_64(frameItem* dst, frameItem src, const txEnv* env);
-bool high_1(frameItem* dst, frameItem src, const txEnv* env);
-bool high_8(frameItem* dst, frameItem src, const txEnv* env);
-bool high_16(frameItem* dst, frameItem src, const txEnv* env);
-bool high_32(frameItem* dst, frameItem src, const txEnv* env);
-bool high_64(frameItem* dst, frameItem src, const txEnv* env);
-bool complement_1(frameItem* dst, frameItem src, const txEnv* env);
-bool complement_8(frameItem* dst, frameItem src, const txEnv* env);
-bool complement_16(frameItem* dst, frameItem src, const txEnv* env);
-bool complement_32(frameItem* dst, frameItem src, const txEnv* env);
-bool complement_64(frameItem* dst, frameItem src, const txEnv* env);
-bool and_1(frameItem* dst, frameItem src, const txEnv* env);
-bool and_8(frameItem* dst, frameItem src, const txEnv* env);
-bool and_16(frameItem* dst, frameItem src, const txEnv* env);
-bool and_32(frameItem* dst, frameItem src, const txEnv* env);
-bool and_64(frameItem* dst, frameItem src, const txEnv* env);
-bool or_1(frameItem* dst, frameItem src, const txEnv* env);
-bool or_8(frameItem* dst, frameItem src, const txEnv* env);
-bool or_16(frameItem* dst, frameItem src, const txEnv* env);
-bool or_32(frameItem* dst, frameItem src, const txEnv* env);
-bool or_64(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_1(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_8(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_16(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_32(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_64(frameItem* dst, frameItem src, const txEnv* env);
-bool maj_1(frameItem* dst, frameItem src, const txEnv* env);
-bool maj_8(frameItem* dst, frameItem src, const txEnv* env);
-bool maj_16(frameItem* dst, frameItem src, const txEnv* env);
-bool maj_32(frameItem* dst, frameItem src, const txEnv* env);
-bool maj_64(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_xor_1(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_xor_8(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_xor_16(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_xor_32(frameItem* dst, frameItem src, const txEnv* env);
-bool xor_xor_64(frameItem* dst, frameItem src, const txEnv* env);
-bool ch_1(frameItem* dst, frameItem src, const txEnv* env);
-bool ch_8(frameItem* dst, frameItem src, const txEnv* env);
-bool ch_16(frameItem* dst, frameItem src, const txEnv* env);
-bool ch_32(frameItem* dst, frameItem src, const txEnv* env);
-bool ch_64(frameItem* dst, frameItem src, const txEnv* env);
-bool some_1(frameItem* dst, frameItem src, const txEnv* env);
-bool some_8(frameItem* dst, frameItem src, const txEnv* env);
-bool some_16(frameItem* dst, frameItem src, const txEnv* env);
-bool some_32(frameItem* dst, frameItem src, const txEnv* env);
-bool some_64(frameItem* dst, frameItem src, const txEnv* env);
-bool all_8(frameItem* dst, frameItem src, const txEnv* env);
-bool all_16(frameItem* dst, frameItem src, const txEnv* env);
-bool all_32(frameItem* dst, frameItem src, const txEnv* env);
-bool all_64(frameItem* dst, frameItem src, const txEnv* env);
-bool one_8(frameItem* dst, frameItem src, const txEnv* env);
-bool one_16(frameItem* dst, frameItem src, const txEnv* env);
-bool one_32(frameItem* dst, frameItem src, const txEnv* env);
-bool one_64(frameItem* dst, frameItem src, const txEnv* env);
-bool eq_1(frameItem* dst, frameItem src, const txEnv* env);
-bool eq_8(frameItem* dst, frameItem src, const txEnv* env);
-bool eq_16(frameItem* dst, frameItem src, const txEnv* env);
-bool eq_32(frameItem* dst, frameItem src, const txEnv* env);
-bool eq_64(frameItem* dst, frameItem src, const txEnv* env);
-bool eq_256(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_8_1(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_8_2(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_8_4(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_16_1(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_16_2(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_16_4(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_16_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_32_1(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_32_2(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_32_4(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_32_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_32_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_64_1(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_64_2(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_64_4(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_64_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_64_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_left_shift_64_32(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_8_1(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_8_2(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_8_4(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_16_1(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_16_2(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_16_4(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_16_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_32_1(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_32_2(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_32_4(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_32_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_32_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_64_1(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_64_2(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_64_4(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_64_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_64_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_right_shift_64_32(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_8_1(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_8_2(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_8_4(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_16_1(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_16_2(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_16_4(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_16_8(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_32_1(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_32_2(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_32_4(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_32_8(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_32_16(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_64_1(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_64_2(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_64_4(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_64_8(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_64_16(frameItem* dst, frameItem src, const txEnv* env);
-bool leftmost_64_32(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_8_1(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_8_2(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_8_4(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_16_1(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_16_2(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_16_4(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_16_8(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_32_1(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_32_2(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_32_4(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_32_8(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_32_16(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_64_1(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_64_2(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_64_4(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_64_8(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_64_16(frameItem* dst, frameItem src, const txEnv* env);
-bool rightmost_64_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_1_8(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_1_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_8_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_1_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_8_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_16_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_1_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_8_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_16_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_low_32_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_1_8(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_1_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_8_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_1_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_8_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_16_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_1_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_8_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_16_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_pad_high_32_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_1_8(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_1_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_8_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_1_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_8_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_16_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_1_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_8_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_16_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_extend_32_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_1_8(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_1_16(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_8_16(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_1_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_8_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_16_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_1_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_8_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_16_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_low_32_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_1_8(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_1_16(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_8_16(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_1_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_8_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_16_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_1_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_8_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_16_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_pad_high_32_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_extend_8_16(frameItem* dst, frameItem src, const txEnv* env);
-bool right_extend_8_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_extend_16_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_extend_8_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_extend_16_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_extend_32_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_shift_with_8(frameItem* dst, frameItem src, const txEnv* env);
-bool left_shift_with_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_shift_with_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_shift_with_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_shift_8(frameItem* dst, frameItem src, const txEnv* env);
-bool left_shift_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_shift_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_shift_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_shift_with_8(frameItem* dst, frameItem src, const txEnv* env);
-bool right_shift_with_16(frameItem* dst, frameItem src, const txEnv* env);
-bool right_shift_with_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_shift_with_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_shift_8(frameItem* dst, frameItem src, const txEnv* env);
-bool right_shift_16(frameItem* dst, frameItem src, const txEnv* env);
-bool right_shift_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_shift_64(frameItem* dst, frameItem src, const txEnv* env);
-bool left_rotate_8(frameItem* dst, frameItem src, const txEnv* env);
-bool left_rotate_16(frameItem* dst, frameItem src, const txEnv* env);
-bool left_rotate_32(frameItem* dst, frameItem src, const txEnv* env);
-bool left_rotate_64(frameItem* dst, frameItem src, const txEnv* env);
-bool right_rotate_8(frameItem* dst, frameItem src, const txEnv* env);
-bool right_rotate_16(frameItem* dst, frameItem src, const txEnv* env);
-bool right_rotate_32(frameItem* dst, frameItem src, const txEnv* env);
-bool right_rotate_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_verify(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_low_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_low_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_low_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_low_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_low_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_high_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_high_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_high_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_high_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_high_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_complement_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_complement_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_complement_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_complement_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_complement_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_and_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_and_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_and_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_and_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_and_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_or_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_or_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_or_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_or_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_or_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_maj_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_maj_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_maj_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_maj_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_maj_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_xor_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_xor_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_xor_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_xor_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_xor_xor_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_ch_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_ch_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_ch_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_ch_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_ch_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_some_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_some_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_some_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_some_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_some_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_all_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_all_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_all_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_all_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_one_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_one_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_one_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_one_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_eq_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_eq_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_eq_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_eq_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_eq_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_eq_256(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_8_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_8_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_8_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_16_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_16_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_16_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_16_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_32_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_32_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_32_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_32_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_32_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_64_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_64_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_64_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_64_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_64_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_left_shift_64_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_8_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_8_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_8_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_16_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_16_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_16_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_16_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_32_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_32_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_32_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_32_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_32_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_64_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_64_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_64_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_64_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_64_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_right_shift_64_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_8_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_8_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_8_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_16_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_16_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_16_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_16_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_32_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_32_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_32_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_32_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_32_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_64_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_64_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_64_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_64_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_64_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_leftmost_64_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_8_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_8_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_8_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_16_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_16_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_16_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_16_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_32_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_32_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_32_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_32_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_32_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_64_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_64_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_64_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_64_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_64_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_rightmost_64_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_1_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_1_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_8_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_1_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_8_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_16_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_1_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_8_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_16_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_low_32_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_1_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_1_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_8_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_1_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_8_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_16_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_1_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_8_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_16_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_pad_high_32_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_1_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_1_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_8_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_1_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_8_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_16_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_1_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_8_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_16_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_extend_32_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_1_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_1_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_8_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_1_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_8_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_16_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_1_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_8_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_16_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_low_32_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_1_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_1_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_8_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_1_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_8_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_16_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_1_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_8_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_16_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_pad_high_32_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_extend_8_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_extend_8_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_extend_16_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_extend_8_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_extend_16_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_extend_32_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_shift_with_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_shift_with_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_shift_with_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_shift_with_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_shift_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_shift_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_shift_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_shift_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_shift_with_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_shift_with_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_shift_with_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_shift_with_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_shift_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_shift_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_shift_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_shift_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_rotate_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_rotate_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_rotate_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_left_rotate_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_rotate_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_rotate_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_rotate_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_right_rotate_64(frameItem* dst, frameItem src, const txEnv* env);
 
-bool add_8(frameItem* dst, frameItem src, const txEnv* env);
-bool add_16(frameItem* dst, frameItem src, const txEnv* env);
-bool add_32(frameItem* dst, frameItem src, const txEnv* env);
-bool add_64(frameItem* dst, frameItem src, const txEnv* env);
-bool full_add_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_add_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_add_32(frameItem* dst, frameItem src, const txEnv* env);
-bool full_add_64(frameItem* dst, frameItem src, const txEnv* env);
-bool full_increment_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_increment_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_increment_32(frameItem* dst, frameItem src, const txEnv* env);
-bool full_increment_64(frameItem* dst, frameItem src, const txEnv* env);
-bool increment_8(frameItem* dst, frameItem src, const txEnv* env);
-bool increment_16(frameItem* dst, frameItem src, const txEnv* env);
-bool increment_32(frameItem* dst, frameItem src, const txEnv* env);
-bool increment_64(frameItem* dst, frameItem src, const txEnv* env);
-bool subtract_8(frameItem* dst, frameItem src, const txEnv* env);
-bool subtract_16(frameItem* dst, frameItem src, const txEnv* env);
-bool subtract_32(frameItem* dst, frameItem src, const txEnv* env);
-bool subtract_64(frameItem* dst, frameItem src, const txEnv* env);
-bool negate_8(frameItem* dst, frameItem src, const txEnv* env);
-bool negate_16(frameItem* dst, frameItem src, const txEnv* env);
-bool negate_32(frameItem* dst, frameItem src, const txEnv* env);
-bool negate_64(frameItem* dst, frameItem src, const txEnv* env);
-bool full_decrement_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_decrement_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_decrement_32(frameItem* dst, frameItem src, const txEnv* env);
-bool full_decrement_64(frameItem* dst, frameItem src, const txEnv* env);
-bool decrement_8(frameItem* dst, frameItem src, const txEnv* env);
-bool decrement_16(frameItem* dst, frameItem src, const txEnv* env);
-bool decrement_32(frameItem* dst, frameItem src, const txEnv* env);
-bool decrement_64(frameItem* dst, frameItem src, const txEnv* env);
-bool full_subtract_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_subtract_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_subtract_32(frameItem* dst, frameItem src, const txEnv* env);
-bool full_subtract_64(frameItem* dst, frameItem src, const txEnv* env);
-bool multiply_8(frameItem* dst, frameItem src, const txEnv* env);
-bool multiply_16(frameItem* dst, frameItem src, const txEnv* env);
-bool multiply_32(frameItem* dst, frameItem src, const txEnv* env);
-bool multiply_64(frameItem* dst, frameItem src, const txEnv* env);
-bool full_multiply_8(frameItem* dst, frameItem src, const txEnv* env);
-bool full_multiply_16(frameItem* dst, frameItem src, const txEnv* env);
-bool full_multiply_32(frameItem* dst, frameItem src, const txEnv* env);
-bool full_multiply_64(frameItem* dst, frameItem src, const txEnv* env);
-bool is_zero_8(frameItem* dst, frameItem src, const txEnv* env);
-bool is_zero_16(frameItem* dst, frameItem src, const txEnv* env);
-bool is_zero_32(frameItem* dst, frameItem src, const txEnv* env);
-bool is_zero_64(frameItem* dst, frameItem src, const txEnv* env);
-bool is_one_8(frameItem* dst, frameItem src, const txEnv* env);
-bool is_one_16(frameItem* dst, frameItem src, const txEnv* env);
-bool is_one_32(frameItem* dst, frameItem src, const txEnv* env);
-bool is_one_64(frameItem* dst, frameItem src, const txEnv* env);
-bool le_8(frameItem* dst, frameItem src, const txEnv* env);
-bool le_16(frameItem* dst, frameItem src, const txEnv* env);
-bool le_32(frameItem* dst, frameItem src, const txEnv* env);
-bool le_64(frameItem* dst, frameItem src, const txEnv* env);
-bool lt_8(frameItem* dst, frameItem src, const txEnv* env);
-bool lt_16(frameItem* dst, frameItem src, const txEnv* env);
-bool lt_32(frameItem* dst, frameItem src, const txEnv* env);
-bool lt_64(frameItem* dst, frameItem src, const txEnv* env);
-bool min_8(frameItem* dst, frameItem src, const txEnv* env);
-bool min_16(frameItem* dst, frameItem src, const txEnv* env);
-bool min_32(frameItem* dst, frameItem src, const txEnv* env);
-bool min_64(frameItem* dst, frameItem src, const txEnv* env);
-bool max_8(frameItem* dst, frameItem src, const txEnv* env);
-bool max_16(frameItem* dst, frameItem src, const txEnv* env);
-bool max_32(frameItem* dst, frameItem src, const txEnv* env);
-bool max_64(frameItem* dst, frameItem src, const txEnv* env);
-bool median_8(frameItem* dst, frameItem src, const txEnv* env);
-bool median_16(frameItem* dst, frameItem src, const txEnv* env);
-bool median_32(frameItem* dst, frameItem src, const txEnv* env);
-bool median_64(frameItem* dst, frameItem src, const txEnv* env);
-bool div_mod_8(frameItem* dst, frameItem src, const txEnv* env);
-bool div_mod_16(frameItem* dst, frameItem src, const txEnv* env);
-bool div_mod_32(frameItem* dst, frameItem src, const txEnv* env);
-bool div_mod_64(frameItem* dst, frameItem src, const txEnv* env);
-bool divide_8(frameItem* dst, frameItem src, const txEnv* env);
-bool divide_16(frameItem* dst, frameItem src, const txEnv* env);
-bool divide_32(frameItem* dst, frameItem src, const txEnv* env);
-bool divide_64(frameItem* dst, frameItem src, const txEnv* env);
-bool modulo_8(frameItem* dst, frameItem src, const txEnv* env);
-bool modulo_16(frameItem* dst, frameItem src, const txEnv* env);
-bool modulo_32(frameItem* dst, frameItem src, const txEnv* env);
-bool modulo_64(frameItem* dst, frameItem src, const txEnv* env);
-bool divides_8(frameItem* dst, frameItem src, const txEnv* env);
-bool divides_16(frameItem* dst, frameItem src, const txEnv* env);
-bool divides_32(frameItem* dst, frameItem src, const txEnv* env);
-bool divides_64(frameItem* dst, frameItem src, const txEnv* env);
-bool div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_add_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_add_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_add_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_add_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_add_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_add_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_add_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_add_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_increment_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_increment_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_increment_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_increment_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_increment_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_increment_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_increment_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_increment_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_subtract_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_subtract_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_subtract_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_subtract_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_negate_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_negate_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_negate_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_negate_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_decrement_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_decrement_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_decrement_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_decrement_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_decrement_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_decrement_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_decrement_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_decrement_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_subtract_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_subtract_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_subtract_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_subtract_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_multiply_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_multiply_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_multiply_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_multiply_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_multiply_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_multiply_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_multiply_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_full_multiply_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_is_zero_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_is_zero_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_is_zero_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_is_zero_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_is_one_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_is_one_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_is_one_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_is_one_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_le_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_le_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_le_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_le_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_lt_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_lt_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_lt_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_lt_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_min_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_min_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_min_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_min_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_max_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_max_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_max_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_max_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_median_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_median_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_median_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_median_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_div_mod_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_div_mod_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_div_mod_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_div_mod_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_divide_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_divide_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_divide_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_divide_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_modulo_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_modulo_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_modulo_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_modulo_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_divides_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_divides_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_divides_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_divides_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_div_mod_128_64(frameItem* dst, frameItem src, const txEnv* env);
 
-bool sha_256_iv(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_block(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_init(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_add_buffer_511(frameItem* dst, frameItem src, const txEnv* env);
-bool sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_iv(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_block(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_init(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_2(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_4(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_8(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_16(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_32(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_64(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_128(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_256(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_512(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_add_buffer_511(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sha_256_ctx_8_finalize(frameItem* dst, frameItem src, const txEnv* env);
 
-bool fe_normalize(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_negate(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_add(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_square(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_multiply(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_invert(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_square_root(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_is_zero(frameItem* dst, frameItem src, const txEnv* env);
-bool fe_is_odd(frameItem* dst, frameItem src, const txEnv* env);
-bool scalar_normalize(frameItem* dst, frameItem src, const txEnv* env);
-bool scalar_negate(frameItem* dst, frameItem src, const txEnv* env);
-bool scalar_add(frameItem* dst, frameItem src, const txEnv* env);
-bool scalar_square(frameItem* dst, frameItem src, const txEnv* env);
-bool scalar_multiply(frameItem* dst, frameItem src, const txEnv* env);
-bool scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env);
-bool scalar_invert(frameItem* dst, frameItem src, const txEnv* env);
-bool scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_infinity(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_rescale(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_normalize(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_negate(frameItem* dst, frameItem src, const txEnv* env);
-bool ge_negate(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_double(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_add(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_ge_add(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_equiv(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env);
-bool gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env);
-bool ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env);
-bool off_curve_scale(frameItem* dst, frameItem src, const txEnv* env);
-bool scale(frameItem* dst, frameItem src, const txEnv* env);
-bool generate(frameItem* dst, frameItem src, const txEnv* env);
-bool off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env);
-bool linear_combination_1(frameItem* dst, frameItem src, const txEnv* env);
-bool linear_verify_1(frameItem* dst, frameItem src, const txEnv* env);
-bool decompress(frameItem* dst, frameItem src, const txEnv* env);
-bool point_verify_1(frameItem* dst, frameItem src, const txEnv* env);
-bool swu(frameItem* dst, frameItem src, const txEnv* env);
-bool hash_to_curve(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_normalize(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_negate(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_add(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_square(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_multiply(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_multiply_beta(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_invert(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_square_root(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_is_zero(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_fe_is_odd(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scalar_normalize(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scalar_negate(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scalar_add(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scalar_square(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scalar_multiply(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scalar_multiply_lambda(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scalar_invert(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scalar_is_zero(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_infinity(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_rescale(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_normalize(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_negate(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_ge_negate(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_double(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_add(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_ge_add_ex(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_ge_add(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_is_infinity(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_equiv(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_ge_equiv(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_x_equiv(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_y_is_odd(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_gej_is_on_curve(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_ge_is_on_curve(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_off_curve_scale(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_scale(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_generate(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_off_curve_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_linear_combination_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_linear_verify_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_decompress(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_point_verify_1(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_swu(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_hash_to_curve(frameItem* dst, frameItem src, const txEnv* env);
 
-bool check_sig_verify(frameItem* dst, frameItem src, const txEnv* env);
-bool bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_check_sig_verify(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_bip_0340_verify(frameItem* dst, frameItem src, const txEnv* env);
 
-bool parse_lock(frameItem* dst, frameItem src, const txEnv* env);
-bool parse_sequence(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_parse_lock(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_parse_sequence(frameItem* dst, frameItem src, const txEnv* env);
 
 #endif
diff --git a/simplicity-sys/depend/simplicity/primitive.h b/simplicity-sys/depend/simplicity/primitive.h
index 4cf1351d..dc17fb0b 100644
--- a/simplicity-sys/depend/simplicity/primitive.h
+++ b/simplicity-sys/depend/simplicity/primitive.h
@@ -24,7 +24,7 @@
  *                      '(*bound_var)[i]' is bound to 'A' and '(*bound_var)[j]' is bound to 'B'
  *                   and, '*word256_ix < *extra_var_start' and '(*bound_var)[*word256_ix]' is bound the type 'TWO^256'
  */
-size_t mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* extra_var_start, size_t extra_var_len);
+size_t simplicity_mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* extra_var_start, size_t extra_var_len);
 
 /* Decode an Elements specific jet from 'stream' into 'node'.
  * All jets begin with a bit prefix of '1' which needs to have already been consumed from the 'stream'.
@@ -36,6 +36,6 @@ size_t mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t*
  * Precondition: NULL != node
  *               NULL != stream
  */
-simplicity_err decodeJet(dag_node* node, bitstream* stream);
+simplicity_err simplicity_decodeJet(dag_node* node, bitstream* stream);
 
 #endif
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.c b/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.c
index b6e80219..3b4e2415 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.c
+++ b/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.c
@@ -4,7 +4,7 @@
  *     Simplicity.Programs.CheckSig.Lib.checkSigVerify' Simplicity.Elements.Programs.SigHash.Lib.sigAllHash
  *     (Simplicity.LibSecp256k1.Spec.PubKey 0x00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63)
  *     (Simplicity.LibSecp256k1.Spec.Sig 0x00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63
- *                                       0xb301d157c25b517ff64c8c88995e99213c9be3c60368367ca01224fdd619261f)
+ *                                       0xc39e232878352e9964f8b6bcae5a0cbc079320819bd1c2c23278d8c9e155e6f4)
  * with jets.
  */
 const unsigned char elementsCheckSigHashAllTx1[] = {
@@ -16,9 +16,9 @@ const unsigned char elementsCheckSigHashAllTx1[] = {
 const size_t sizeof_elementsCheckSigHashAllTx1 = sizeof(elementsCheckSigHashAllTx1);
 const unsigned char elementsCheckSigHashAllTx1_witness[] = {
   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x78, 0xce, 0x56, 0x3f, 0x89, 0xa0, 0xed, 0x94,
-  0x14, 0xf5, 0xaa, 0x28, 0xad, 0x0d, 0x96, 0xd6, 0x79, 0x5f, 0x9c, 0x63, 0xb3, 0x01, 0xd1, 0x57, 0xc2, 0x5b, 0x51, 0x7f,
-  0xf6, 0x4c, 0x8c, 0x88, 0x99, 0x5e, 0x99, 0x21, 0x3c, 0x9b, 0xe3, 0xc6, 0x03, 0x68, 0x36, 0x7c, 0xa0, 0x12, 0x24, 0xfd,
-  0xd6, 0x19, 0x26, 0x1f
+  0x14, 0xf5, 0xaa, 0x28, 0xad, 0x0d, 0x96, 0xd6, 0x79, 0x5f, 0x9c, 0x63, 0xc3, 0x9e, 0x23, 0x28, 0x78, 0x35, 0x2e, 0x99,
+  0x64, 0xf8, 0xb6, 0xbc, 0xae, 0x5a, 0x0c, 0xbc, 0x07, 0x93, 0x20, 0x81, 0x9b, 0xd1, 0xc2, 0xc2, 0x32, 0x78, 0xd8, 0xc9,
+  0xe1, 0x55, 0xe6, 0xf4
 };
 
 const size_t sizeof_elementsCheckSigHashAllTx1_witness = sizeof(elementsCheckSigHashAllTx1_witness);
@@ -30,13 +30,13 @@ const uint32_t elementsCheckSigHashAllTx1_cmr[] = {
 
 /* The identity Merkle root of the above elementsCheckSigHashAllTx1 Simplicity expression. */
 const uint32_t elementsCheckSigHashAllTx1_imr[] = {
-  0x86a262f5u, 0xf3e4e556u, 0xd0b62941u, 0xf0640ae8u, 0x98f3318eu, 0x4285bd25u, 0x255a87d5u, 0x32d124c5u
+  0xf72560efu, 0x69efae0fu, 0x41bb69f4u, 0xf409e7cfu, 0xfdef6ef9u, 0x9c7e9c25u, 0x15fd3c82u, 0x773a3d28u
 };
 
 /* The annotated Merkle root of the above elementsCheckSigHashAllTx1 Simplicity expression. */
 const uint32_t elementsCheckSigHashAllTx1_amr[] = {
-  0x9a60a9a7u, 0x5b56771fu, 0xbb569709u, 0x8147352cu, 0xead06d33u, 0x2992754du, 0x3df575fdu, 0xa8a607c6u
+  0x6c84e1c8u, 0x5fe7d034u, 0xe3a7be87u, 0xf7261f40u, 0xbc5c20f1u, 0xd973abdeu, 0xfa271657u, 0x8c234676u
 };
 
 /* The cost of the above elementsCheckSigHashAllTx1 Simplicity expression in milli weight units. */
-const ubounded elementsCheckSigHashAllTx1_cost = 54493;
+const ubounded elementsCheckSigHashAllTx1_cost = 54361;
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.h b/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.h
index 0b4195b7..fc781d72 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.h
+++ b/simplicity-sys/depend/simplicity/primitive/elements/checkSigHashAllTx1.h
@@ -9,7 +9,7 @@
  *     Simplicity.Programs.CheckSig.Lib.checkSigVerify' Simplicity.Elements.Programs.SigHash.Lib.sigAllHash
  *     (Simplicity.LibSecp256k1.Spec.PubKey 0x00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63)
  *     (Simplicity.LibSecp256k1.Spec.Sig 0x00000000000000000000003b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63
- *                                       0xb301d157c25b517ff64c8c88995e99213c9be3c60368367ca01224fdd619261f)
+ *                                       0xc39e232878352e9964f8b6bcae5a0cbc079320819bd1c2c23278d8c9e155e6f4)
  * with jets.
  */
 extern const unsigned char elementsCheckSigHashAllTx1[];
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/env.c b/simplicity-sys/depend/simplicity/primitive/elements/env.c
index e7befda5..3c7adee2 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/env.c
+++ b/simplicity-sys/depend/simplicity/primitive/elements/env.c
@@ -90,7 +90,7 @@ static void copyInput(sigInput* result, const rawInput* input) {
         0 == result->issuance.blindingNonce.s[4] && 0 == result->issuance.blindingNonce.s[5] &&
         0 == result->issuance.blindingNonce.s[6] && 0 == result->issuance.blindingNonce.s[7]) {
       sha256_toMidstate(result->issuance.contractHash.s, input->issuance.assetEntropy);
-      result->issuance.entropy = generateIssuanceEntropy(&result->prevOutpoint, &result->issuance.contractHash);
+      result->issuance.entropy = simplicity_generateIssuanceEntropy(&result->prevOutpoint, &result->issuance.contractHash);
       copyRawAmt(&result->issuance.tokenAmt, input->issuance.inflationKeys);
       if (is_confidential(result->issuance.tokenAmt.prefix)) hashBuffer(&result->issuance.tokenRangeProofHash, &input->issuance.inflationKeysRangePrf);
       result->issuance.type = NEW_ISSUANCE;
@@ -98,8 +98,8 @@ static void copyInput(sigInput* result, const rawInput* input) {
       sha256_toMidstate(result->issuance.entropy.s, input->issuance.assetEntropy);
       result->issuance.type = REISSUANCE;
     }
-    result->issuance.assetId = calculateAsset(&result->issuance.entropy);
-    result->issuance.tokenId = calculateToken(&result->issuance.entropy, result->issuance.assetAmt.prefix);
+    result->issuance.assetId = simplicity_calculateAsset(&result->issuance.entropy);
+    result->issuance.tokenId = simplicity_calculateToken(&result->issuance.entropy, result->issuance.assetAmt.prefix);
   }
 }
 
@@ -310,7 +310,7 @@ static uint_fast32_t sumFees(sigOutput** feeOutputs, uint_fast32_t numFees) {
  *
  * Precondition: NULL != rawTx
  */
-extern transaction* elements_simplicity_mallocTransaction(const rawTransaction* rawTx) {
+extern transaction* simplicity_elements_mallocTransaction(const rawTransaction* rawTx) {
   if (!rawTx) return NULL;
 
   size_t allocationSize = sizeof(transaction);
@@ -351,7 +351,7 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction*
   /* Multiply by (size_t)1 to disable type-limits warning. */
   if (SIZE_MAX / sizeof(opcode) < (size_t)1 * totalNullDataCodes) return NULL;
   if (SIZE_MAX - allocationSize < totalNullDataCodes * sizeof(opcode)) return NULL;
-  allocationSize += totalNullDataCodes * sizeof(opcode);
+  allocationSize += (size_t)totalNullDataCodes * sizeof(opcode);
 
   char *allocation = simplicity_malloc(allocationSize);
   if (!allocation) return NULL;
@@ -422,8 +422,8 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction*
       }
       sha256_hash(&ctx_inputOutpointsHash, &input[i].prevOutpoint.txid);
       sha256_u32be(&ctx_inputOutpointsHash, input[i].prevOutpoint.ix);
-      sha256_confAsset(&ctx_inputAssetAmountsHash, &input[i].txo.asset);
-      sha256_confAmt(&ctx_inputAssetAmountsHash, &input[i].txo.amt);
+      simplicity_sha256_confAsset(&ctx_inputAssetAmountsHash, &input[i].txo.asset);
+      simplicity_sha256_confAmt(&ctx_inputAssetAmountsHash, &input[i].txo.amt);
       sha256_hash(&ctx_inputScriptsHash, &input[i].txo.scriptPubKey);
       sha256_u32be(&ctx_inputSequencesHash, input[i].sequence);
       if (input[i].hasAnnex) {
@@ -440,10 +440,10 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction*
         sha256_uchar(&ctx_issuanceTokenAmountsHash, 0);
         sha256_uchar(&ctx_issuanceBlindingEntropyHash, 0);
       } else {
-        sha256_confAsset(&ctx_issuanceAssetAmountsHash, &(confidential){ .prefix = EXPLICIT, .data = input[i].issuance.assetId});
-        sha256_confAsset(&ctx_issuanceTokenAmountsHash, &(confidential){ .prefix = EXPLICIT, .data = input[i].issuance.tokenId});
-        sha256_confAmt(&ctx_issuanceAssetAmountsHash, &input[i].issuance.assetAmt);
-        sha256_confAmt(&ctx_issuanceTokenAmountsHash, NEW_ISSUANCE == input[i].issuance.type
+        simplicity_sha256_confAsset(&ctx_issuanceAssetAmountsHash, &(confidential){ .prefix = EXPLICIT, .data = input[i].issuance.assetId});
+        simplicity_sha256_confAsset(&ctx_issuanceTokenAmountsHash, &(confidential){ .prefix = EXPLICIT, .data = input[i].issuance.tokenId});
+        simplicity_sha256_confAmt(&ctx_issuanceAssetAmountsHash, &input[i].issuance.assetAmt);
+        simplicity_sha256_confAmt(&ctx_issuanceTokenAmountsHash, NEW_ISSUANCE == input[i].issuance.type
                                                     ? &input[i].issuance.tokenAmt
                                                     : &(confAmount){ .prefix = EXPLICIT, .explicit = 0});
         sha256_uchar(&ctx_issuanceBlindingEntropyHash, 1);
@@ -510,16 +510,16 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction*
         perm[ix_fee] = &output[i].asset.data;
         ++ix_fee;
       }
-      sha256_confAsset(&ctx_outputAssetAmountsHash, &output[i].asset);
-      sha256_confAmt(&ctx_outputAssetAmountsHash, &output[i].amt);
-      sha256_confNonce(&ctx_outputNoncesHash, &output[i].nonce);
+      simplicity_sha256_confAsset(&ctx_outputAssetAmountsHash, &output[i].asset);
+      simplicity_sha256_confAmt(&ctx_outputAssetAmountsHash, &output[i].amt);
+      simplicity_sha256_confNonce(&ctx_outputNoncesHash, &output[i].nonce);
       sha256_hash(&ctx_outputScriptsHash, &output[i].scriptPubKey);
       sha256_hash(&ctx_outputRangeProofsHash, &output[i].rangeProofHash);
       sha256_hash(&ctx_outputSurjectionProofsHash, &output[i].surjectionProofHash);
     }
 
     simplicity_assert(numFees == ix_fee);
-    if (!rsort(perm, numFees)) {
+    if (!simplicity_rsort(perm, numFees)) {
       simplicity_free(tx);
       return NULL;
     }
@@ -573,7 +573,7 @@ extern transaction* elements_simplicity_mallocTransaction(const rawTransaction*
  *
  * Precondition: *rawEnv is well-formed (i.e. rawEnv->pathLen <= 128.)
  */
-extern tapEnv* elements_simplicity_mallocTapEnv(const rawTapEnv* rawEnv) {
+extern tapEnv* simplicity_elements_mallocTapEnv(const rawTapEnv* rawEnv) {
   if (!rawEnv) return NULL;
   if (128 < rawEnv->pathLen) return NULL;
 
@@ -627,7 +627,7 @@ extern tapEnv* elements_simplicity_mallocTapEnv(const rawTapEnv* rawEnv) {
     sha256_finalize(&ctx);
   }
 
-  env->tapLeafHash = make_tapleaf(env->leafVersion, &env->scriptCMR);
+  env->tapLeafHash = simplicity_make_tapleaf(env->leafVersion, &env->scriptCMR);
 
   {
     sha256_context ctx = sha256_init(env->tapEnvHash.s);
@@ -647,7 +647,7 @@ extern tapEnv* elements_simplicity_mallocTapEnv(const rawTapEnv* rawEnv) {
  *               NULL != genesisHash
  *               ix < tx->numInputs
  */
-txEnv build_txEnv(const transaction* tx, const tapEnv* taproot, const sha256_midstate* genesisHash, uint_fast32_t ix) {
+txEnv simplicity_build_txEnv(const transaction* tx, const tapEnv* taproot, const sha256_midstate* genesisHash, uint_fast32_t ix) {
   txEnv result = { .tx = tx
                  , .taproot = taproot
                  , .genesisHash = *genesisHash
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/exec.c b/simplicity-sys/depend/simplicity/primitive/elements/exec.c
index ce10256f..aaffd505 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/exec.c
+++ b/simplicity-sys/depend/simplicity/primitive/elements/exec.c
@@ -35,7 +35,7 @@
  *               unsigned char program[program_len]
  *               unsigned char witness[witness_len]
  */
-extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned char* imr
+extern bool simplicity_elements_execSimplicity( simplicity_err* error, unsigned char* imr
                                               , const transaction* tx, uint_fast32_t ix, const tapEnv* taproot
                                               , const unsigned char* genesisBlockHash
                                               , int64_t budget
@@ -52,7 +52,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned
 
   combinator_counters census;
   dag_node* dag = NULL;
-  int32_t dag_len;
+  int_fast32_t dag_len;
   sha256_midstate amr_hash, genesis_hash;
 
   if (amr) sha256_toMidstate(amr_hash.s, amr);
@@ -60,15 +60,15 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned
 
   {
     bitstream stream = initializeBitstream(program, program_len);
-    dag_len = decodeMallocDag(&dag, &census, &stream);
+    dag_len = simplicity_decodeMallocDag(&dag, &census, &stream);
     if (dag_len <= 0) {
       simplicity_assert(dag_len < 0);
-      *error = dag_len;
+      *error = (simplicity_err)dag_len;
       return IS_PERMANENT(*error);
     }
     simplicity_assert(NULL != dag);
-    simplicity_assert((size_t)dag_len <= DAG_LEN_MAX);
-    *error = closeBitstream(&stream);
+    simplicity_assert((uint_fast32_t)dag_len <= DAG_LEN_MAX);
+    *error = simplicity_closeBitstream(&stream);
   }
 
   if (IS_OK(*error)) {
@@ -79,7 +79,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned
 
   if (IS_OK(*error)) {
     type* type_dag = NULL;
-    *error = mallocTypeInference(&type_dag, dag, (size_t)dag_len, &census);
+    *error = simplicity_mallocTypeInference(&type_dag, dag, (uint_fast32_t)dag_len, &census);
     if (IS_OK(*error)) {
       simplicity_assert(NULL != type_dag);
       if (0 != dag[dag_len-1].sourceType || 0 != dag[dag_len-1].targetType) {
@@ -88,9 +88,9 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned
     }
     if (IS_OK(*error)) {
       bitstream witness_stream = initializeBitstream(witness, witness_len);
-      *error = fillWitnessData(dag, type_dag, (size_t)dag_len, &witness_stream);
+      *error = simplicity_fillWitnessData(dag, type_dag, (uint_fast32_t)dag_len, &witness_stream);
       if (IS_OK(*error)) {
-        *error = closeBitstream(&witness_stream);
+        *error = simplicity_closeBitstream(&witness_stream);
         if (SIMPLICITY_ERR_BITSTREAM_TRAILING_BYTES == *error) *error = SIMPLICITY_ERR_WITNESS_TRAILING_BYTES;
         if (SIMPLICITY_ERR_BITSTREAM_ILLEGAL_PADDING == *error) *error = SIMPLICITY_ERR_WITNESS_ILLEGAL_PADDING;
       }
@@ -100,7 +100,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned
       static_assert(DAG_LEN_MAX <= SIZE_MAX / sizeof(sha256_midstate), "imr_buf array too large.");
       static_assert(1 <= DAG_LEN_MAX, "DAG_LEN_MAX is zero.");
       static_assert(DAG_LEN_MAX - 1 <= UINT32_MAX, "imr_buf array index does nto fit in uint32_t.");
-      *error = verifyNoDuplicateIdentityRoots(&imr_buf, dag, type_dag, (size_t)dag_len);
+      *error = simplicity_verifyNoDuplicateIdentityRoots(&imr_buf, dag, type_dag, (uint_fast32_t)dag_len);
       if (IS_OK(*error) && imr) sha256_fromMidstate(imr, imr_buf.s);
     }
     if (IS_OK(*error) && amr) {
@@ -109,7 +109,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned
       static_assert(DAG_LEN_MAX - 1 <= UINT32_MAX, "analysis array index does nto fit in uint32_t.");
       analyses *analysis = simplicity_malloc((size_t)dag_len * sizeof(analyses));
       if (analysis) {
-        computeAnnotatedMerkleRoot(analysis, dag, type_dag, (size_t)dag_len);
+        simplicity_computeAnnotatedMerkleRoot(analysis, dag, type_dag, (uint_fast32_t)dag_len);
         if (0 != memcmp(amr_hash.s, analysis[dag_len-1].annotatedMerkleRoot.s, sizeof(uint32_t[8]))) {
           *error = SIMPLICITY_ERR_AMR;
         }
@@ -120,7 +120,7 @@ extern bool elements_simplicity_execSimplicity( simplicity_err* error, unsigned
       simplicity_free(analysis);
     }
     if (IS_OK(*error)) {
-      txEnv env = build_txEnv(tx, taproot, &genesis_hash, ix);
+      txEnv env = simplicity_build_txEnv(tx, taproot, &genesis_hash, ix);
       static_assert(BUDGET_MAX <= UBOUNDED_MAX, "BUDGET_MAX doesn't fit in ubounded.");
       *error = evalTCOProgram(dag, type_dag, (size_t)dag_len, &(ubounded){budget <= BUDGET_MAX ? (ubounded)budget : BUDGET_MAX}, &env);
     }
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/jets.c b/simplicity-sys/depend/simplicity/primitive/elements/jets.c
index ddbf61f1..ac11198f 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/jets.c
+++ b/simplicity-sys/depend/simplicity/primitive/elements/jets.c
@@ -29,7 +29,7 @@ static void writeHash(frameItem* dst, const sha256_midstate* h) {
  */
 static void prevOutpoint(frameItem* dst, const outpoint* op) {
   writeHash(dst, &op->txid);
-  write32(dst, op->ix);
+  simplicity_write32(dst, op->ix);
 }
 
 /* Write an confidential asset to the 'dst' frame, advancing the cursor 258 cells.
@@ -54,7 +54,7 @@ static void asset(frameItem* dst, const confidential* asset) {
 static void amt(frameItem* dst, const confAmount* amt) {
   if (writeBit(dst, EXPLICIT == amt->prefix)) {
     skipBits(dst, 1 + 256 - 64);
-    write64(dst, amt->explicit);
+    simplicity_write64(dst, amt->explicit);
   } else {
     writeBit(dst, ODD_Y == amt->prefix);
     writeHash(dst, &amt->confidential);
@@ -157,7 +157,7 @@ static uint_fast16_t lockDistance(const transaction* tx) {
 }
 
 static uint_fast16_t lockDuration(const transaction* tx) {
-  return 2 <= tx->version ? (uint_fast32_t)tx->lockDuration : 0;
+  return 2 <= tx->version ? tx->lockDuration : 0;
 }
 
 static bool isFee(const sigOutput* output) {
@@ -188,22 +188,22 @@ static uint_fast64_t lookup_fee(const sha256_midstate* assetid, const sigOutput*
 }
 
 /* version : ONE |- TWO^32 */
-bool version(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_version(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write32(dst, env->tx->version);
+  simplicity_write32(dst, env->tx->version);
   return true;
 }
 
 /* lock_time : ONE |- TWO^32 */
-bool lock_time(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_lock_time(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write32(dst, env->tx->lockTime);
+  simplicity_write32(dst, env->tx->lockTime);
   return true;
 }
 
 /* input_pegin : TWO^32 |- S (S TWO^256) */
-bool input_pegin(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_pegin(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     if (writeBit(dst, env->tx->input[i].isPegin)) {
       writeHash(dst, &env->tx->input[i].pegin);
@@ -217,8 +217,8 @@ bool input_pegin(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_prev_outpoint : TWO^32 |- S (TWO^256 * TWO^32) */
-bool input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     prevOutpoint(dst, &env->tx->input[i].prevOutpoint);
   } else {
@@ -228,8 +228,8 @@ bool input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_asset : TWO^32 |- S (Conf TWO^256) */
-bool input_asset(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_asset(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     asset(dst, &env->tx->input[i].txo.asset);
   } else {
@@ -239,8 +239,8 @@ bool input_asset(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_amount : TWO^32 |- S (Conf TWO^256, Conf TWO^64) */
-bool input_amount(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_amount(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     asset(dst, &env->tx->input[i].txo.asset);
     amt(dst, &env->tx->input[i].txo.amt);
@@ -251,8 +251,8 @@ bool input_amount(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_script_hash : TWO^32 |- S TWO^256 */
-bool input_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     writeHash(dst, &env->tx->input[i].txo.scriptPubKey);
   } else {
@@ -262,10 +262,10 @@ bool input_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_sequence : TWO^32 |- S TWO^32 */
-bool input_sequence(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_sequence(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
-    write32(dst, env->tx->input[i].sequence);
+    simplicity_write32(dst, env->tx->input[i].sequence);
   } else {
     skipBits(dst, 32);
   }
@@ -273,8 +273,8 @@ bool input_sequence(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* reissuance_blinding : TWO^32 |- S (S TWO^256) */
-bool reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     reissuanceBlinding(dst, &env->tx->input[i].issuance);
   } else {
@@ -284,8 +284,8 @@ bool reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* new_issuance_contract : TWO^32 |- S (S TWO^256) */
-bool new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     newIssuanceContract(dst, &env->tx->input[i].issuance);
   } else {
@@ -295,8 +295,8 @@ bool new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* reissuance_entropy : TWO^32 |- S (S TWO^256) */
-bool reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     reissuanceEntropy(dst, &env->tx->input[i].issuance);
   } else {
@@ -306,8 +306,8 @@ bool reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* issuance_asset_amount : TWO^32 |- S (S (Conf TWO^64)) */
-bool issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     issuanceAssetAmt(dst, &env->tx->input[i].issuance);
   } else {
@@ -317,8 +317,8 @@ bool issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* issuance_token_amount : TWO^32 |- S (S (Conf TWO^64)) */
-bool issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     issuanceTokenAmt(dst, &env->tx->input[i].issuance);
   } else {
@@ -328,8 +328,8 @@ bool issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* issuance_asset_proof : TWO^32 |- S TWO^256 */
-bool issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     writeHash(dst, &env->tx->input[i].issuance.assetRangeProofHash);
   } else {
@@ -339,8 +339,8 @@ bool issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* issuance_token_proof : TWO^32 |- S TWO^256 */
-bool issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     writeHash(dst, &env->tx->input[i].issuance.tokenRangeProofHash);
   } else {
@@ -350,8 +350,8 @@ bool issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_annex_hash : TWO^32 |- S (S (TWO^256)) */
-bool input_annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     if (writeBit(dst, env->tx->input[i].hasAnnex)) {
       writeHash(dst, &env->tx->input[i].annexHash);
@@ -365,8 +365,8 @@ bool input_annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_script_sig_hash : TWO^32 |- (S (TWO^256) */
-bool input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     writeHash(dst, &env->tx->input[i].scriptSigHash);
   } else {
@@ -376,8 +376,8 @@ bool input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_asset : TWO^32 |- S (Conf TWO^256) */
-bool output_asset(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_asset(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs)) {
     asset(dst, &env->tx->output[i].asset);
   } else {
@@ -387,8 +387,8 @@ bool output_asset(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_amount : TWO^32 |- S (Conf TWO^256, Conf TWO^64) */
-bool output_amount(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_amount(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs)) {
     asset(dst, &env->tx->output[i].asset);
     amt(dst, &env->tx->output[i].amt);
@@ -399,8 +399,8 @@ bool output_amount(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_nonce : TWO^32 |- S (S (Conf TWO^256)) */
-bool output_nonce(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_nonce(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs)) {
     nonce(dst, &env->tx->output[i].nonce);
   } else {
@@ -410,8 +410,8 @@ bool output_nonce(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_script_hash : TWO^32 |- S TWO^256 */
-bool output_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs)) {
     writeHash(dst, &env->tx->output[i].scriptPubKey);
   } else {
@@ -421,10 +421,10 @@ bool output_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_null_datum : TWO^32 * TWO^32 |- S (S (TWO^2 * TWO^256 + (TWO + TWO^4)))  */
-bool output_null_datum(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_null_datum(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs && env->tx->output[i].isNullData)) {
-    uint_fast32_t j = read32(&src);
+    uint_fast32_t j = simplicity_read32(&src);
     if (writeBit(dst, j < env->tx->output[i].pnd.len)) {
       if (writeBit(dst, OP_PUSHDATA4 < env->tx->output[i].pnd.op[j].code)) {
         skipBits(dst, 2 + 256 - 5);
@@ -474,8 +474,8 @@ bool output_null_datum(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_is_fee : TWO^32 |- S TWO */
-bool output_is_fee(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_is_fee(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs)) {
     writeBit(dst, isFee(&env->tx->output[i]));
   } else {
@@ -485,8 +485,8 @@ bool output_is_fee(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_surjection_proof : TWO^32 |- S TWO^256 */
-bool output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs)) {
     writeHash(dst, &env->tx->output[i].surjectionProofHash);
   } else {
@@ -496,8 +496,8 @@ bool output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_range_proof : TWO^32 |- S TWO^256 */
-bool output_range_proof(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_range_proof(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs)) {
     writeHash(dst, &env->tx->output[i].rangeProofHash);
   } else {
@@ -507,43 +507,43 @@ bool output_range_proof(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* total_fee : TWO^256 |- TWO^64 */
-bool total_fee(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_total_fee(frameItem* dst, frameItem src, const txEnv* env) {
   sha256_midstate assetid;
   readHash(&assetid, &src);
-  write64(dst, lookup_fee(&assetid, env->tx->feeOutputs, env->tx->numFees));
+  simplicity_write64(dst, lookup_fee(&assetid, env->tx->feeOutputs, env->tx->numFees));
   return true;
 }
 
 /* genesis_block_hash : ONE |- TWO^256 */
-bool genesis_block_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_genesis_block_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   write32s(dst, env->genesisHash.s, 8);
   return true;
 }
 
 /* script_cmr : ONE |- TWO^256 */
-bool script_cmr(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_script_cmr(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   write32s(dst, env->taproot->scriptCMR.s, 8);
   return true;
 }
 
 /* transaction_id : ONE |- TWO^256 */
-bool transaction_id(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_transaction_id(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   write32s(dst, env->tx->txid.s, 8);
   return true;
 }
 
 /* current_index : ONE |- TWO^32 */
-bool current_index(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_index(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write32(dst, env->ix);
+  simplicity_write32(dst, env->ix);
   return true;
 }
 
 /* current_pegin : ONE |- S TWO^256 */
-bool current_pegin(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_pegin(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   if (writeBit(dst, env->tx->input[env->ix].isPegin)) {
@@ -555,7 +555,7 @@ bool current_pegin(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* current_prev_outpoint : ONE |- TWO^256 * TWO^32 */
-bool current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   prevOutpoint(dst, &env->tx->input[env->ix].prevOutpoint);
@@ -563,7 +563,7 @@ bool current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* current_asset : ONE |- Conf TWO^256 */
-bool current_asset(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_asset(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   asset(dst, &env->tx->input[env->ix].txo.asset);
@@ -571,7 +571,7 @@ bool current_asset(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* current_amount : ONE |- (Conf TWO^256, Conf TWO^64) */
-bool current_amount(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_amount(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   asset(dst, &env->tx->input[env->ix].txo.asset);
@@ -580,7 +580,7 @@ bool current_amount(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* current_script_hash : ONE |- TWO^256 */
-bool current_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   writeHash(dst, &env->tx->input[env->ix].txo.scriptPubKey);
@@ -588,15 +588,15 @@ bool current_script_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* current_sequence : ONE |- TWO^32 */
-bool current_sequence(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_sequence(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
-  write32(dst, env->tx->input[env->ix].sequence);
+  simplicity_write32(dst, env->tx->input[env->ix].sequence);
   return true;
 }
 
 /* current_reissuance_blinding : ONE |- S (Conf TWO^256) */
-bool current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   reissuanceBlinding(dst, &env->tx->input[env->ix].issuance);
@@ -604,7 +604,7 @@ bool current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env
 }
 
 /* current_new_issuance_contract : ONE |- S (Conf TWO^256) */
-bool current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   newIssuanceContract(dst, &env->tx->input[env->ix].issuance);
@@ -612,7 +612,7 @@ bool current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* e
 }
 
 /* current_reissuance_entropy : ONE |- S (Conf TWO^256) */
-bool current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   reissuanceEntropy(dst, &env->tx->input[env->ix].issuance);
@@ -620,7 +620,7 @@ bool current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env)
 }
 
 /* current_issuance_asset_amount : ONE |- S (Conf TWO^64) */
-bool current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   issuanceAssetAmt(dst, &env->tx->input[env->ix].issuance);
@@ -628,7 +628,7 @@ bool current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* e
 }
 
 /* current_issuance_token_amount : ONE |- S (Conf TWO^64) */
-bool current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   issuanceTokenAmt(dst, &env->tx->input[env->ix].issuance);
@@ -636,7 +636,7 @@ bool current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* e
 }
 
 /* current_issuance_asset_proof : ONE |- TWO^256 */
-bool current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   writeHash(dst, &env->tx->input[env->ix].issuance.assetRangeProofHash);
@@ -644,7 +644,7 @@ bool current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* en
 }
 
 /* current_issuance_token_proof : ONE |- TWO^256 */
-bool current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   writeHash(dst, &env->tx->input[env->ix].issuance.tokenRangeProofHash);
@@ -652,7 +652,7 @@ bool current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* en
 }
 
 /* current_script_sig_hash : ONE |- TWO^256 */
-bool current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   writeHash(dst, &env->tx->input[env->ix].scriptSigHash);
@@ -660,7 +660,7 @@ bool current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* current_annex_hash : ONE |- S (TWO^256) */
-bool current_annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_current_annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   if (env->tx->numInputs <= env->ix) return false;
   if (writeBit(dst, env->tx->input[env->ix].hasAnnex)) {
@@ -672,15 +672,15 @@ bool current_annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* tapleaf_version : ONE |- TWO^8 */
-bool tapleaf_version(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tapleaf_version(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write8(dst, env->taproot->leafVersion);
+  simplicity_write8(dst, env->taproot->leafVersion);
   return true;
 }
 
 /* tappath : TWO^8 |- S (TWO^256) */
-bool tappath(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast8_t i = read8(&src);
+bool simplicity_tappath(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast8_t i = simplicity_read8(&src);
   if (writeBit(dst, i < env->taproot->pathLen)) {
     writeHash(dst, &env->taproot->path[i]);
   } else {
@@ -690,146 +690,146 @@ bool tappath(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* internal_key : ONE |- TWO^256 */
-bool internal_key(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_internal_key(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->taproot->internalKey);
   return true;
 }
 
 /* num_inputs : ONE |- TWO^32 */
-bool num_inputs(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_num_inputs(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write32(dst, env->tx->numInputs);
+  simplicity_write32(dst, env->tx->numInputs);
   return true;
 }
 
 /* num_outputs : ONE |- TWO^32 */
-bool num_outputs(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_num_outputs(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write32(dst, env->tx->numOutputs);
+  simplicity_write32(dst, env->tx->numOutputs);
   return true;
 }
 
 /* tx_is_final : ONE |- TWO */
-bool tx_is_final(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tx_is_final(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeBit(dst, env->tx->isFinal);
   return true;
 }
 
 /* tx_lock_height : ONE |- TWO^32 */
-bool tx_lock_height(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tx_lock_height(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write32(dst, lockHeight(env->tx));
+  simplicity_write32(dst, lockHeight(env->tx));
   return true;
 }
 
 /* tx_lock_time : ONE |- TWO^32 */
-bool tx_lock_time(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tx_lock_time(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write32(dst, lockTime(env->tx));
+  simplicity_write32(dst, lockTime(env->tx));
   return true;
 }
 
 /* tx_lock_distance : ONE |- TWO^16 */
-bool tx_lock_distance(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tx_lock_distance(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write16(dst, lockDistance(env->tx));
+  simplicity_write16(dst, lockDistance(env->tx));
   return true;
 }
 
 /* tx_lock_duration : ONE |- TWO^16 */
-bool tx_lock_duration(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tx_lock_duration(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
-  write16(dst, lockDuration(env->tx));
+  simplicity_write16(dst, lockDuration(env->tx));
   return true;
 }
 
 /* check_lock_height : TWO^32 |- ONE */
-bool check_lock_height(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_check_lock_height(frameItem* dst, frameItem src, const txEnv* env) {
   (void) dst; // dst is unused;
-  uint_fast32_t x = read32(&src);
+  uint_fast32_t x = simplicity_read32(&src);
   return x <= lockHeight(env->tx);
 }
 
 /* check_lock_time : TWO^32 |- ONE */
-bool check_lock_time(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_check_lock_time(frameItem* dst, frameItem src, const txEnv* env) {
   (void) dst; // dst is unused;
-  uint_fast32_t x = read32(&src);
+  uint_fast32_t x = simplicity_read32(&src);
   return x <= lockTime(env->tx);
 }
 
 /* check_lock_distance : TWO^16 |- ONE */
-bool check_lock_distance(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_check_lock_distance(frameItem* dst, frameItem src, const txEnv* env) {
   (void) dst; // dst is unused;
-  uint_fast16_t x = read16(&src);
+  uint_fast16_t x = simplicity_read16(&src);
   return x <= lockDistance(env->tx);
 }
 
 /* check_lock_duration : TWO^16 |- ONE */
-bool check_lock_duration(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_check_lock_duration(frameItem* dst, frameItem src, const txEnv* env) {
   (void) dst; // dst is unused;
-  uint_fast16_t x = read16(&src);
+  uint_fast16_t x = simplicity_read16(&src);
   return x <= lockDuration(env->tx);
 }
 
 /* calculate_issuance_entropy : TWO^256 * TWO^32 * TWO^256 |- TWO^256 */
-bool calculate_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_calculate_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   outpoint op;
   sha256_midstate contract;
   sha256_midstate result;
 
   read32s(op.txid.s, 8, &src);
-  op.ix = read32(&src);
+  op.ix = simplicity_read32(&src);
   read32s(contract.s, 8, &src);
 
-  result = generateIssuanceEntropy(&op, &contract);
+  result = simplicity_generateIssuanceEntropy(&op, &contract);
   writeHash(dst, &result);
   return true;
 }
 
 /* calculate_asset : TWO^256 |- TWO^256 */
-bool calculate_asset(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_calculate_asset(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate entropy;
   sha256_midstate result;
 
   read32s(entropy.s, 8, &src);
-  result = calculateAsset(&entropy);
+  result = simplicity_calculateAsset(&entropy);
 
   writeHash(dst, &result);
   return true;
 }
 
 /* calculate_explicit_token : TWO^256 |- TWO^256 */
-bool calculate_explicit_token(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_calculate_explicit_token(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate entropy;
   sha256_midstate result;
 
   read32s(entropy.s, 8, &src);
-  result = calculateToken(&entropy, EXPLICIT);
+  result = simplicity_calculateToken(&entropy, EXPLICIT);
 
   writeHash(dst, &result);
   return true;
 }
 
 /* calculate_confidential_token : TWO^256 |- TWO^256 */
-bool calculate_confidential_token(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_calculate_confidential_token(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate entropy;
   sha256_midstate result;
 
   read32s(entropy.s, 8, &src);
-  result = calculateToken(&entropy, EVEN_Y /* ODD_Y would also work. */);
+  result = simplicity_calculateToken(&entropy, EVEN_Y /* ODD_Y would also work. */);
 
   writeHash(dst, &result);
   return true;
 }
 
 /* lbtc_asset : ONE |- TWO^256 */
-bool lbtc_asset(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_lbtc_asset(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused.
   (void) env; // env is unused.
   const sha256_midstate lbtc_assetid = {{
@@ -841,36 +841,36 @@ bool lbtc_asset(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* build_tapleaf_simplicity : TWO^256 |- TWO^256 */
-bool build_tapleaf_simplicity(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_build_tapleaf_simplicity(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate cmr;
   readHash(&cmr, &src);
-  sha256_midstate result = make_tapleaf(0xbe, &cmr);
+  sha256_midstate result = simplicity_make_tapleaf(0xbe, &cmr);
   writeHash(dst, &result);
   return true;
 }
 
 /* build_tapbranch : TWO^256 * TWO^256 |- TWO^256 */
-bool build_tapbranch(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_build_tapbranch(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate a, b;
   readHash(&a, &src);
   readHash(&b, &src);
 
-  sha256_midstate result = make_tapbranch(&a, &b);
+  sha256_midstate result = simplicity_make_tapbranch(&a, &b);
   writeHash(dst, &result);
   return true;
 }
 
 /* outpoint_hash : CTX8 * S TWO^256 * TWO^256 * TWO^32 |- CTX8 */
-bool outpoint_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_outpoint_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate midstate;
   unsigned char buf[36];
   sha256_context ctx = {.output = midstate.s};
 
   /* Read a SHA-256 context. */
-  if (!read_sha256_context(&ctx, &src)) return false;
+  if (!simplicity_read_sha256_context(&ctx, &src)) return false;
 
   /* Read an optional pegin parent chain hash. */
   if (readBit(&src)) {
@@ -888,18 +888,18 @@ bool outpoint_hash(frameItem* dst, frameItem src, const txEnv* env) {
   read8s(buf, 36, &src);
   sha256_uchars(&ctx, buf, 36);
 
-  return write_sha256_context(dst, &ctx);
+  return simplicity_write_sha256_context(dst, &ctx);
 }
 
 /* asset_amount_hash : CTX8 * Conf TWO^256 * Conf TWO^64 |- CTX8 */
-bool asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate midstate;
   unsigned char buf[32];
   sha256_context ctx = {.output = midstate.s};
 
   /* Read a SHA-256 context. */
-  if (!read_sha256_context(&ctx, &src)) return false;
+  if (!simplicity_read_sha256_context(&ctx, &src)) return false;
 
   /* Read an asset id prefix. (2 bits) */
   if (readBit(&src)) {
@@ -936,18 +936,18 @@ bool asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env) {
     sha256_uchars(&ctx, buf, 32);
   }
 
-  return write_sha256_context(dst, &ctx);
+  return simplicity_write_sha256_context(dst, &ctx);
 }
 
 /* nonce_hash : CTX8 * S (Conf TWO^256) |- CTX8 */
-bool nonce_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_nonce_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate midstate;
   unsigned char buf[32];
   sha256_context ctx = {.output = midstate.s};
 
   /* Read a SHA-256 context. */
-  if (!read_sha256_context(&ctx, &src)) return false;
+  if (!simplicity_read_sha256_context(&ctx, &src)) return false;
 
   /* Read an optional nonce. (259 bits) */
   if (readBit(&src)) {
@@ -971,18 +971,18 @@ bool nonce_hash(frameItem* dst, frameItem src, const txEnv* env) {
     sha256_uchar(&ctx, 0x00);
   }
 
-  return write_sha256_context(dst, &ctx);
+  return simplicity_write_sha256_context(dst, &ctx);
 }
 
 /* annex_hash : CTX8 * S TWO^256 |- CTX8 */
-bool annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) env; // env is unused.
   sha256_midstate midstate;
   unsigned char buf[32];
   sha256_context ctx = {.output = midstate.s};
 
   /* Read a SHA-256 context. */
-  if (!read_sha256_context(&ctx, &src)) return false;
+  if (!simplicity_read_sha256_context(&ctx, &src)) return false;
 
   /* Read an optional hash. (257 bits) */
   if (readBit(&src)) {
@@ -995,12 +995,12 @@ bool annex_hash(frameItem* dst, frameItem src, const txEnv* env) {
     sha256_uchar(&ctx, 0x00);
   }
 
-  return write_sha256_context(dst, &ctx);
+  return simplicity_write_sha256_context(dst, &ctx);
 }
 
 /* issuance : TWO^256 |- S (S TWO) */
-bool issuance(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     const sigInput* input = &env->tx->input[i];
     if (writeBit(dst, NO_ISSUANCE != input->issuance.type)) {
@@ -1015,8 +1015,8 @@ bool issuance(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* issuance_entropy : TWO^256 |- S (S TWO^256) */
-bool issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     const sigInput* input = &env->tx->input[i];
     if (writeBit(dst, NO_ISSUANCE != input->issuance.type)) {
@@ -1031,8 +1031,8 @@ bool issuance_entropy(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* issuance_asset : TWO^256 |- S (S TWO^256) */
-bool issuance_asset(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance_asset(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     const sigInput* input = &env->tx->input[i];
     if (writeBit(dst, NO_ISSUANCE != input->issuance.type)) {
@@ -1047,8 +1047,8 @@ bool issuance_asset(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* issuance_token : TWO^256 |- S (S TWO^256) */
-bool issuance_token(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance_token(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     const sigInput* input = &env->tx->input[i];
     if (writeBit(dst, NO_ISSUANCE != input->issuance.type)) {
@@ -1063,57 +1063,57 @@ bool issuance_token(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* output_amounts_hash : ONE |- TWO^256 */
-bool output_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_output_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->outputAssetAmountsHash);
   return true;
 }
 
 /* output_nonces_hash : ONE |- TWO^256 */
-bool output_nonces_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_output_nonces_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->outputNoncesHash);
   return true;
 }
 
 /* output_scripts_hash : ONE |- TWO^256 */
-bool output_scripts_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_output_scripts_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->outputScriptsHash);
   return true;
 }
 
 /* output_range_proofs_hash : ONE |- TWO^256 */
-bool output_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_output_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->outputRangeProofsHash);
   return true;
 }
 
 /* output_surjection_proofs_hash : ONE |- TWO^256 */
-bool output_surjection_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_output_surjection_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->outputSurjectionProofsHash);
   return true;
 }
 
 /* outputs_hash : ONE |- TWO^256 */
-bool outputs_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_outputs_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->outputsHash);
   return true;
 }
 
 /* output_hash : TWO^32 |- S TWO^256 */
-bool output_hash(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_output_hash(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numOutputs)) {
     const sigOutput* output = &env->tx->output[i];
     sha256_midstate midstate;
     sha256_context ctx = sha256_init(midstate.s);
-    sha256_confAsset(&ctx, &output->asset);
-    sha256_confAmt(&ctx, &output->amt);
-    sha256_confNonce(&ctx, &output->nonce);
+    simplicity_sha256_confAsset(&ctx, &output->asset);
+    simplicity_sha256_confAmt(&ctx, &output->amt);
+    simplicity_sha256_confNonce(&ctx, &output->nonce);
     sha256_hash(&ctx, &output->scriptPubKey);
     sha256_hash(&ctx, &output->rangeProofHash);
     sha256_finalize(&ctx);
@@ -1125,42 +1125,42 @@ bool output_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_outpoints_hash : ONE |- TWO^256 */
-bool input_outpoints_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_input_outpoints_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->inputOutpointsHash);
   return true;
 }
 
 /* input_amounts_hash : ONE |- TWO^256 */
-bool input_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_input_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->inputAssetAmountsHash);
   return true;
 }
 
 /* input_scripts_hash : ONE |- TWO^256 */
-bool input_scripts_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_input_scripts_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->inputScriptsHash);
   return true;
 }
 
 /* input_utxos_hash : ONE |- TWO^256 */
-bool input_utxos_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_input_utxos_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->inputUTXOsHash);
   return true;
 }
 
 /* input_utxo_hash : TWO^32 |- S TWO^256 */
-bool input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     const utxo* txo = &env->tx->input[i].txo;
     sha256_midstate midstate;
     sha256_context ctx = sha256_init(midstate.s);
-    sha256_confAsset(&ctx, &txo->asset);
-    sha256_confAmt(&ctx, &txo->amt);
+    simplicity_sha256_confAsset(&ctx, &txo->asset);
+    simplicity_sha256_confAmt(&ctx, &txo->amt);
     sha256_hash(&ctx, &txo->scriptPubKey);
     sha256_finalize(&ctx);
     writeHash(dst, &midstate);
@@ -1171,36 +1171,36 @@ bool input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* input_sequences_hash : ONE |- TWO^256 */
-bool input_sequences_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_input_sequences_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->inputSequencesHash);
   return true;
 }
 
 /* input_annexes_hash : ONE |- TWO^256 */
-bool input_annexes_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_input_annexes_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->inputAnnexesHash);
   return true;
 }
 
 /* input_script_sigs_hash : ONE |- TWO^256 */
-bool input_script_sigs_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_input_script_sigs_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->inputScriptSigsHash);
   return true;
 }
 
 /* inputs_hash : ONE |- TWO^256 */
-bool inputs_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_inputs_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->inputsHash);
   return true;
 }
 
 /* input_hash : TWO^32 |- S TWO^256 */
-bool input_hash(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_input_hash(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     const sigInput* input = &env->tx->input[i];
     sha256_midstate midstate;
@@ -1229,43 +1229,43 @@ bool input_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* issuance_asset_amounts_hash : ONE |- TWO^256 */
-bool issuance_asset_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_issuance_asset_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->issuanceAssetAmountsHash);
   return true;
 }
 
 /* issuance_token_amounts_hash : ONE |- TWO^256 */
-bool issuance_token_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_issuance_token_amounts_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->issuanceTokenAmountsHash);
   return true;
 }
 
 /* issuance_range_proofs_hash : ONE |- TWO^256 */
-bool issuance_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_issuance_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->issuanceRangeProofsHash);
   return true;
 }
 
 /* issuance_blinding_entropy_hash : ONE |- TWO^256 */
-bool issuance_blinding_entropy_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_issuance_blinding_entropy_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->issuanceBlindingEntropyHash);
   return true;
 }
 
 /* issuances_hash : ONE |- TWO^256 */
-bool issuances_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_issuances_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->issuancesHash);
   return true;
 }
 
 /* issuance_hash : TWO^32 |- S TWO^256 */
-bool issuance_hash(frameItem* dst, frameItem src, const txEnv* env) {
-  uint_fast32_t i = read32(&src);
+bool simplicity_issuance_hash(frameItem* dst, frameItem src, const txEnv* env) {
+  uint_fast32_t i = simplicity_read32(&src);
   if (writeBit(dst, i < env->tx->numInputs)) {
     const assetIssuance* issuance = &env->tx->input[i].issuance;
     sha256_midstate midstate;
@@ -1279,10 +1279,10 @@ bool issuance_hash(frameItem* dst, frameItem src, const txEnv* env) {
       sha256_hash(&ctx, &issuance->tokenRangeProofHash);
       sha256_uchar(&ctx, 0);
     } else {
-      sha256_confAsset(&ctx, &(confidential){ .prefix = EXPLICIT, .data = issuance->assetId});
-      sha256_confAmt(&ctx, &issuance->assetAmt);
-      sha256_confAsset(&ctx, &(confidential){ .prefix = EXPLICIT, .data = issuance->tokenId});
-      sha256_confAmt(&ctx, NEW_ISSUANCE == issuance->type
+      simplicity_sha256_confAsset(&ctx, &(confidential){ .prefix = EXPLICIT, .data = issuance->assetId});
+      simplicity_sha256_confAmt(&ctx, &issuance->assetAmt);
+      simplicity_sha256_confAsset(&ctx, &(confidential){ .prefix = EXPLICIT, .data = issuance->tokenId});
+      simplicity_sha256_confAmt(&ctx, NEW_ISSUANCE == issuance->type
                                          ? &issuance->tokenAmt
                                          : &(confAmount){ .prefix = EXPLICIT, .explicit = 0});
       sha256_hash(&ctx, &issuance->assetRangeProofHash);
@@ -1305,35 +1305,35 @@ bool issuance_hash(frameItem* dst, frameItem src, const txEnv* env) {
 }
 
 /* tx_hash : ONE |- TWO^256 */
-bool tx_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tx_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->tx->txHash);
   return true;
 }
 
 /* tapleaf_hash : ONE |- TWO^256 */
-bool tapleaf_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tapleaf_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->taproot->tapLeafHash);
   return true;
 }
 
 /* tappath_hash : ONE |- TWO^256 */
-bool tappath_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tappath_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->taproot->tappathHash);
   return true;
 }
 
 /* tap_env_hash : ONE |- TWO^256 */
-bool tap_env_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_tap_env_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->taproot->tapEnvHash);
   return true;
 }
 
 /* sig_all_hash : ONE |- TWO^256 */
-bool sig_all_hash(frameItem* dst, frameItem src, const txEnv* env) {
+bool simplicity_sig_all_hash(frameItem* dst, frameItem src, const txEnv* env) {
   (void) src; // src is unused;
   writeHash(dst, &env->sigAllHash);
   return true;
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/jets.h b/simplicity-sys/depend/simplicity/primitive/elements/jets.h
index 2b5f6a9d..b43fac00 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/jets.h
+++ b/simplicity-sys/depend/simplicity/primitive/elements/jets.h
@@ -6,107 +6,107 @@
 #include "../../jets.h"
 
 /* Jets for the Elements application of Simplicity. */
-bool version(frameItem* dst, frameItem src, const txEnv* env);
-bool lock_time(frameItem* dst, frameItem src, const txEnv* env);
-bool input_pegin(frameItem* dst, frameItem src, const txEnv* env);
-bool input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env);
-bool input_asset(frameItem* dst, frameItem src, const txEnv* env);
-bool input_amount(frameItem* dst, frameItem src, const txEnv* env);
-bool input_script_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_sequence(frameItem* dst, frameItem src, const txEnv* env);
-bool input_annex_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env);
-bool new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env);
-bool reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env);
-bool output_asset(frameItem* dst, frameItem src, const txEnv* env);
-bool output_amount(frameItem* dst, frameItem src, const txEnv* env);
-bool output_nonce(frameItem* dst, frameItem src, const txEnv* env);
-bool output_script_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool output_null_datum(frameItem* dst, frameItem src, const txEnv* env);
-bool output_is_fee(frameItem* dst, frameItem src, const txEnv* env);
-bool output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env);
-bool output_range_proof(frameItem* dst, frameItem src, const txEnv* env);
-bool total_fee(frameItem* dst, frameItem src, const txEnv* env);
-bool genesis_block_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool script_cmr(frameItem* dst, frameItem src, const txEnv* env);
-bool transaction_id(frameItem* dst, frameItem src, const txEnv* env);
-bool current_index(frameItem* dst, frameItem src, const txEnv* env);
-bool current_pegin(frameItem* dst, frameItem src, const txEnv* env);
-bool current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env);
-bool current_asset(frameItem* dst, frameItem src, const txEnv* env);
-bool current_amount(frameItem* dst, frameItem src, const txEnv* env);
-bool current_script_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool current_sequence(frameItem* dst, frameItem src, const txEnv* env);
-bool current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env);
-bool current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env);
-bool current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env);
-bool current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env);
-bool current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env);
-bool current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env);
-bool current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env);
-bool current_annex_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool tapleaf_version(frameItem* dst, frameItem src, const txEnv* env);
-bool tappath(frameItem* dst, frameItem src, const txEnv* env);
-bool internal_key(frameItem* dst, frameItem src, const txEnv* env);
-bool num_inputs(frameItem* dst, frameItem src, const txEnv* env);
-bool num_outputs(frameItem* dst, frameItem src, const txEnv* env);
-bool tx_is_final(frameItem* dst, frameItem src, const txEnv* env);
-bool tx_lock_height(frameItem* dst, frameItem src, const txEnv* env);
-bool tx_lock_time(frameItem* dst, frameItem src, const txEnv* env);
-bool tx_lock_distance(frameItem* dst, frameItem src, const txEnv* env);
-bool tx_lock_duration(frameItem* dst, frameItem src, const txEnv* env);
-bool check_lock_height(frameItem* dst, frameItem src, const txEnv* env);
-bool check_lock_time(frameItem* dst, frameItem src, const txEnv* env);
-bool check_lock_distance(frameItem* dst, frameItem src, const txEnv* env);
-bool check_lock_duration(frameItem* dst, frameItem src, const txEnv* env);
-bool calculate_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env);
-bool calculate_asset(frameItem* dst, frameItem src, const txEnv* env);
-bool calculate_explicit_token(frameItem* dst, frameItem src, const txEnv* env);
-bool calculate_confidential_token(frameItem* dst, frameItem src, const txEnv* env);
-bool lbtc_asset(frameItem* dst, frameItem src, const txEnv* env);
-bool build_tapleaf_simplicity(frameItem* dst, frameItem src, const txEnv* env);
-bool build_tapbranch(frameItem* dst, frameItem src, const txEnv* env);
-bool outpoint_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool nonce_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool annex_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_entropy(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_asset(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_token(frameItem* dst, frameItem src, const txEnv* env);
-bool output_amounts_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool output_nonces_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool output_scripts_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool output_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool output_surjection_proofs_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool outputs_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool output_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_outpoints_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_amounts_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_scripts_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_utxos_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_sequences_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_annexes_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_script_sigs_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool inputs_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool input_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_asset_amounts_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_token_amounts_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_blinding_entropy_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool issuances_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool issuance_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool tx_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool tapleaf_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool tappath_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool tap_env_hash(frameItem* dst, frameItem src, const txEnv* env);
-bool sig_all_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_version(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_lock_time(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_pegin(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_asset(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_amount(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_script_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_sequence(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_annex_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_asset(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_amount(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_nonce(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_script_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_null_datum(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_is_fee(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_surjection_proof(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_range_proof(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_total_fee(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_genesis_block_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_script_cmr(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_transaction_id(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_index(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_pegin(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_prev_outpoint(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_asset(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_amount(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_script_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_sequence(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_reissuance_blinding(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_new_issuance_contract(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_reissuance_entropy(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_issuance_asset_amount(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_issuance_token_amount(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_issuance_asset_proof(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_issuance_token_proof(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_annex_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_current_script_sig_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tapleaf_version(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tappath(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_internal_key(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_num_inputs(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_num_outputs(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tx_is_final(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tx_lock_height(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tx_lock_time(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tx_lock_distance(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tx_lock_duration(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_check_lock_height(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_check_lock_time(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_check_lock_distance(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_check_lock_duration(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_calculate_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_calculate_asset(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_calculate_explicit_token(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_calculate_confidential_token(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_lbtc_asset(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_build_tapleaf_simplicity(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_build_tapbranch(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_outpoint_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_asset_amount_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_nonce_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_annex_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_entropy(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_asset(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_token(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_amounts_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_nonces_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_scripts_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_surjection_proofs_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_outputs_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_output_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_outpoints_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_amounts_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_scripts_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_utxos_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_utxo_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_sequences_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_annexes_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_script_sigs_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_inputs_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_input_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_asset_amounts_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_token_amounts_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_range_proofs_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_blinding_entropy_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuances_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_issuance_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tx_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tapleaf_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tappath_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_tap_env_hash(frameItem* dst, frameItem src, const txEnv* env);
+bool simplicity_sig_all_hash(frameItem* dst, frameItem src, const txEnv* env);
 
 #endif
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/ops.c b/simplicity-sys/depend/simplicity/primitive/elements/ops.c
index 1610002d..2c334ac9 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/ops.c
+++ b/simplicity-sys/depend/simplicity/primitive/elements/ops.c
@@ -9,7 +9,7 @@
  * Precondition: NULL != ctx;
  *               NULL != conf;
  */
-void sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha256_context* ctx, const confidential* conf) {
+void simplicity_sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha256_context* ctx, const confidential* conf) {
   switch (conf->prefix) {
    case NONE: sha256_uchar(ctx, 0x00); return;
    case EXPLICIT: sha256_uchar(ctx, 0x01); break;
@@ -24,8 +24,8 @@ void sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha2
  * Precondition: NULL != ctx;
  *               NULL != asset;
  */
-void sha256_confAsset(sha256_context* ctx, const confidential* asset) {
-  sha256_confidential(0x0a, 0x0b, ctx, asset);
+void simplicity_sha256_confAsset(sha256_context* ctx, const confidential* asset) {
+  simplicity_sha256_confidential(0x0a, 0x0b, ctx, asset);
 }
 
 /* Add an 'confidential' nonce to be consumed by an ongoing SHA-256 evaluation.
@@ -33,8 +33,8 @@ void sha256_confAsset(sha256_context* ctx, const confidential* asset) {
  * Precondition: NULL != ctx;
  *               NULL != nonce;
  */
-void sha256_confNonce(sha256_context* ctx, const confidential* nonce) {
-  sha256_confidential(0x02, 0x03, ctx, nonce);
+void simplicity_sha256_confNonce(sha256_context* ctx, const confidential* nonce) {
+  simplicity_sha256_confidential(0x02, 0x03, ctx, nonce);
 }
 
 /* Add an 'confidential' amount to be consumed by an ongoing SHA-256 evaluation.
@@ -42,7 +42,7 @@ void sha256_confNonce(sha256_context* ctx, const confidential* nonce) {
  * Precondition: NULL != ctx;
  *               NULL != amt;
  */
-void sha256_confAmt(sha256_context* ctx, const confAmount* amt) {
+void simplicity_sha256_confAmt(sha256_context* ctx, const confAmount* amt) {
   switch (amt->prefix) {
    case NONE: SIMPLICITY_UNREACHABLE;
    case EXPLICIT:
@@ -63,7 +63,7 @@ void sha256_confAmt(sha256_context* ctx, const confAmount* amt) {
  * Precondition: NULL != op;
  *               NULL != contract;
  */
-sha256_midstate generateIssuanceEntropy(const outpoint* op, const sha256_midstate* contract) {
+sha256_midstate simplicity_generateIssuanceEntropy(const outpoint* op, const sha256_midstate* contract) {
   uint32_t block[16];
   unsigned char buf[32];
   sha256_midstate result;
@@ -86,7 +86,7 @@ sha256_midstate generateIssuanceEntropy(const outpoint* op, const sha256_midstat
 
   memcpy(&block[8], contract->s, sizeof(contract->s));
   sha256_iv(result.s);
-  sha256_compression(result.s, block);
+  simplicity_sha256_compression(result.s, block);
 
   return result;
 }
@@ -96,13 +96,13 @@ sha256_midstate generateIssuanceEntropy(const outpoint* op, const sha256_midstat
  *
  * Precondition: NULL != entropy;
  */
-sha256_midstate calculateAsset(const sha256_midstate* entropy) {
+sha256_midstate simplicity_calculateAsset(const sha256_midstate* entropy) {
   uint32_t block[16] = {0};
   sha256_midstate result;
 
   memcpy(&block[0], entropy->s, sizeof(entropy->s));
   sha256_iv(result.s);
-  sha256_compression(result.s, block);
+  simplicity_sha256_compression(result.s, block);
 
   return result;
 }
@@ -112,14 +112,14 @@ sha256_midstate calculateAsset(const sha256_midstate* entropy) {
  *
  * Precondition: NULL != entropy;
  */
-sha256_midstate calculateToken(const sha256_midstate* entropy, confPrefix prefix) {
+sha256_midstate simplicity_calculateToken(const sha256_midstate* entropy, confPrefix prefix) {
   uint32_t block[16] = {0};
   sha256_midstate result;
 
   memcpy(&block[0], entropy->s, sizeof(entropy->s));
   block[8] = is_confidential(prefix) ? 0x02000000 : 0x01000000;
   sha256_iv(result.s);
-  sha256_compression(result.s, block);
+  simplicity_sha256_compression(result.s, block);
 
   return result;
 }
@@ -130,7 +130,7 @@ sha256_midstate calculateToken(const sha256_midstate* entropy, confPrefix prefix
  *
  * Precondition: NULL != cmr;
  */
-sha256_midstate make_tapleaf(unsigned char version, const sha256_midstate* cmr) {
+sha256_midstate simplicity_make_tapleaf(unsigned char version, const sha256_midstate* cmr) {
   sha256_midstate result;
   sha256_midstate tapleafTag;
   {
@@ -155,7 +155,7 @@ sha256_midstate make_tapleaf(unsigned char version, const sha256_midstate* cmr)
  * Precondition: NULL != a;
  *               NULL != b;
  */
-sha256_midstate make_tapbranch(const sha256_midstate* a, const sha256_midstate* b) {
+sha256_midstate simplicity_make_tapbranch(const sha256_midstate* a, const sha256_midstate* b) {
   sha256_midstate result;
   sha256_midstate tapbranchTag;
   {
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/ops.h b/simplicity-sys/depend/simplicity/primitive/elements/ops.h
index 8e1878b5..87e9fb3a 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/ops.h
+++ b/simplicity-sys/depend/simplicity/primitive/elements/ops.h
@@ -15,28 +15,28 @@
  * Precondition: NULL != ctx;
  *               NULL != conf;
  */
-void sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha256_context* ctx, const confidential* conf);
+void simplicity_sha256_confidential(unsigned char evenPrefix, unsigned char oddPrefix, sha256_context* ctx, const confidential* conf);
 
 /* Add an 'confidential' asset to be consumed by an ongoing SHA-256 evaluation.
  *
  * Precondition: NULL != ctx;
  *               NULL != asset;
  */
-void sha256_confAsset(sha256_context* ctx, const confidential* asset);
+void simplicity_sha256_confAsset(sha256_context* ctx, const confidential* asset);
 
 /* Add an 'confidential' nonce to be consumed by an ongoing SHA-256 evaluation.
  *
  * Precondition: NULL != ctx;
  *               NULL != nonce;
  */
-void sha256_confNonce(sha256_context* ctx, const confidential* nonce);
+void simplicity_sha256_confNonce(sha256_context* ctx, const confidential* nonce);
 
 /* Add an 'confidential' amount to be consumed by an ongoing SHA-256 evaluation.
  *
  * Precondition: NULL != ctx;
  *               NULL != amt;
  */
-void sha256_confAmt(sha256_context* ctx, const confAmount* amt);
+void simplicity_sha256_confAmt(sha256_context* ctx, const confAmount* amt);
 
 /* Compute an Element's entropy value from a prevoutpoint and a contract hash.
  * A reimplementation of GenerateAssetEntropy from Element's 'issuance.cpp'.
@@ -44,21 +44,21 @@ void sha256_confAmt(sha256_context* ctx, const confAmount* amt);
  * Precondition: NULL != op;
  *               NULL != contract;
  */
-sha256_midstate generateIssuanceEntropy(const outpoint* op, const sha256_midstate* contract);
+sha256_midstate simplicity_generateIssuanceEntropy(const outpoint* op, const sha256_midstate* contract);
 
 /* Compute an Element's issuance Asset ID value from an entropy value.
  * A reimplementation of CalculateAsset from Element's 'issuance.cpp'.
  *
  * Precondition: NULL != entropy;
  */
-sha256_midstate calculateAsset(const sha256_midstate* entropy);
+sha256_midstate simplicity_calculateAsset(const sha256_midstate* entropy);
 
 /* Compute an Element's issuance Token ID value from an entropy value and an amount prefix.
  * A reimplementation of CalculateReissuanceToken from Element's 'issuance.cpp'.
  *
  * Precondition: NULL != entropy;
  */
-sha256_midstate calculateToken(const sha256_midstate* entropy, confPrefix prefix);
+sha256_midstate simplicity_calculateToken(const sha256_midstate* entropy, confPrefix prefix);
 
 /* Compute an Element's tapleaf hash from a tapleaf version and a 256-bit script value.
  * A reimplementation of ComputeTapleafHash from Element's 'interpreter.cpp'.
@@ -66,13 +66,13 @@ sha256_midstate calculateToken(const sha256_midstate* entropy, confPrefix prefix
  *
  * Precondition: NULL != cmr;
  */
-sha256_midstate make_tapleaf(unsigned char version, const sha256_midstate* cmr);
+sha256_midstate simplicity_make_tapleaf(unsigned char version, const sha256_midstate* cmr);
 
 /* Compute an Element's tapbrach hash from two branches.
  *
  * Precondition: NULL != a;
  *               NULL != b;
  */
-sha256_midstate make_tapbranch(const sha256_midstate* a, const sha256_midstate* b);
+sha256_midstate simplicity_make_tapbranch(const sha256_midstate* a, const sha256_midstate* b);
 
 #endif
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/primitive.c b/simplicity-sys/depend/simplicity/primitive/elements/primitive.c
index 3f0e5513..62cf5e15 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/primitive.c
+++ b/simplicity-sys/depend/simplicity/primitive/elements/primitive.c
@@ -33,7 +33,7 @@ enum TypeNamesForJets {
  *                      '(*bound_var)[i]' is bound to 'A' and '(*bound_var)[j]' is bound to 'B'
  *                   and, '*word256_ix < *extra_var_start' and '(*bound_var)[*word256_ix]' is bound the type 'TWO^256'
  */
-size_t mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* extra_var_start, size_t extra_var_len) {
+size_t simplicity_mallocBoundVars(unification_var** bound_var, size_t* word256_ix, size_t* extra_var_start, size_t extra_var_len) {
   static_assert(1 <= NumberOfTypeNames, "Missing TypeNamesForJets.");
   static_assert(NumberOfTypeNames <= NUMBER_OF_TYPENAMES_MAX, "Too many TypeNamesForJets.");
   static_assert(DAG_LEN_MAX <= (SIZE_MAX - NumberOfTypeNames) / 6, "NumberOfTypeNames + 6*DAG_LEN_MAX doesn't fit in size_t");
@@ -72,19 +72,19 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
   if (bit < 0) return (simplicity_err)bit;
   if (!bit) {
     /* Core jets */
-    int32_t code = decodeUptoMaxInt(stream);
+    int32_t code = simplicity_decodeUptoMaxInt(stream);
     int32_t code2;
     if (code < 0) return (simplicity_err)code;
 
     switch (code) {
      case 1: /* Word jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: /* Verify */
         *result = VERIFY; return SIMPLICITY_NO_ERROR;
        case 2: /* Low */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = LOW_1; return SIMPLICITY_NO_ERROR;
@@ -95,7 +95,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 3: /* High */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = HIGH_1; return SIMPLICITY_NO_ERROR;
@@ -106,7 +106,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 4: /* Complement */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = COMPLEMENT_1; return SIMPLICITY_NO_ERROR;
@@ -117,7 +117,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 5: /* And */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = AND_1; return SIMPLICITY_NO_ERROR;
@@ -128,7 +128,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 6: /* Or */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = OR_1; return SIMPLICITY_NO_ERROR;
@@ -139,7 +139,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 7: /* Xor */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = XOR_1; return SIMPLICITY_NO_ERROR;
@@ -150,7 +150,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 8: /* Maj */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = MAJ_1; return SIMPLICITY_NO_ERROR;
@@ -161,7 +161,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 9: /* Xor_Xor */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = XOR_XOR_1; return SIMPLICITY_NO_ERROR;
@@ -172,7 +172,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 10: /* Ch */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = CH_1; return SIMPLICITY_NO_ERROR;
@@ -183,7 +183,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 11: /* Some */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = SOME_1; return SIMPLICITY_NO_ERROR;
@@ -194,7 +194,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 12: /* All */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = ALL_8; return SIMPLICITY_NO_ERROR;
@@ -204,7 +204,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 13: /* Eq */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = EQ_1; return SIMPLICITY_NO_ERROR;
@@ -216,9 +216,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 14: /* FullLeftShift */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -266,9 +266,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 15: /* FullRightShift */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -316,9 +316,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 16: /* Leftmost */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -366,9 +366,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 17: /* Rightmost */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -416,9 +416,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 18: /* LeftPadLow */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -450,9 +450,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 19: /* LeftPadHigh */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -484,9 +484,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 20: /* LeftExtend */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -518,9 +518,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 21: /* RightPadLow */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -552,9 +552,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 22: /* RightPadHigh */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 1:
@@ -586,9 +586,9 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 23: /* RightExtend */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
-        code2 = decodeUptoMaxInt(stream);
+        code2 = simplicity_decodeUptoMaxInt(stream);
         if (code2 < 0) return (simplicity_err)code2;
         switch (code) {
          case 4:
@@ -612,7 +612,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 24: /* LeftShiftWith */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
         case 3: *result = LEFT_SHIFT_WITH_8; return SIMPLICITY_NO_ERROR;
@@ -622,7 +622,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 25: /* RightShiftWith */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = RIGHT_SHIFT_WITH_8; return SIMPLICITY_NO_ERROR;
@@ -632,7 +632,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 26: /* LeftShift */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
         case 3: *result = LEFT_SHIFT_8; return SIMPLICITY_NO_ERROR;
@@ -642,7 +642,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 27: /* RightShift */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = RIGHT_SHIFT_8; return SIMPLICITY_NO_ERROR;
@@ -652,7 +652,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 28: /* LeftRotate */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = LEFT_ROTATE_8; return SIMPLICITY_NO_ERROR;
@@ -662,7 +662,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 29: /* RightRotate */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = RIGHT_ROTATE_8; return SIMPLICITY_NO_ERROR;
@@ -674,12 +674,12 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
       }
       break;
      case 2: /* Arith jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
 
       switch (code) {
        case 1: /* One */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = ONE_8; return SIMPLICITY_NO_ERROR;
@@ -689,7 +689,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 2: /* FullAdd */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = FULL_ADD_8; return SIMPLICITY_NO_ERROR;
@@ -699,7 +699,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 3: /* Add */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = ADD_8; return SIMPLICITY_NO_ERROR;
@@ -709,7 +709,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 4: /* FullIncrement */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = FULL_INCREMENT_8; return SIMPLICITY_NO_ERROR;
@@ -719,7 +719,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 5: /* Increment */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = INCREMENT_8; return SIMPLICITY_NO_ERROR;
@@ -729,7 +729,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 7: /* FullSubtract */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = FULL_SUBTRACT_8; return SIMPLICITY_NO_ERROR;
@@ -739,7 +739,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 8: /* Subtract */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = SUBTRACT_8; return SIMPLICITY_NO_ERROR;
@@ -749,7 +749,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 9: /* Negate */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = NEGATE_8; return SIMPLICITY_NO_ERROR;
@@ -759,7 +759,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 10: /* FullDecrement */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = FULL_DECREMENT_8; return SIMPLICITY_NO_ERROR;
@@ -769,7 +769,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 11: /* Decrement */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = DECREMENT_8; return SIMPLICITY_NO_ERROR;
@@ -779,7 +779,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 12: /* FullMultiply */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = FULL_MULTIPLY_8; return SIMPLICITY_NO_ERROR;
@@ -789,7 +789,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 13: /* Multiply */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = MULTIPLY_8; return SIMPLICITY_NO_ERROR;
@@ -799,7 +799,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 14: /* IsZero */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = IS_ZERO_8; return SIMPLICITY_NO_ERROR;
@@ -809,7 +809,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 15: /* IsOne */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = IS_ONE_8; return SIMPLICITY_NO_ERROR;
@@ -819,7 +819,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 16: /* Le */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = LE_8; return SIMPLICITY_NO_ERROR;
@@ -829,7 +829,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 17: /* Lt */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = LT_8; return SIMPLICITY_NO_ERROR;
@@ -839,7 +839,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 18: /* Min */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = MIN_8; return SIMPLICITY_NO_ERROR;
@@ -849,7 +849,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 19: /* Max */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = MAX_8; return SIMPLICITY_NO_ERROR;
@@ -859,7 +859,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 20: /* Median */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = MEDIAN_8; return SIMPLICITY_NO_ERROR;
@@ -869,14 +869,14 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 21: /* Div2n1n */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 6: *result = DIV_MOD_128_64; return SIMPLICITY_NO_ERROR;
         }
         break;
        case 22: /* DivMod */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = DIV_MOD_8; return SIMPLICITY_NO_ERROR;
@@ -886,7 +886,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 23: /* Divide */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = DIVIDE_8; return SIMPLICITY_NO_ERROR;
@@ -896,7 +896,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 24: /* Modulo */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = MODULO_8; return SIMPLICITY_NO_ERROR;
@@ -906,7 +906,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         }
         break;
        case 25: /* Divides */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 3: *result = DIVIDES_8; return SIMPLICITY_NO_ERROR;
@@ -918,17 +918,17 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
       }
       break;
      case 3: /* Hash jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: /* SHA-256 section */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = SHA_256_BLOCK; return SIMPLICITY_NO_ERROR;
          case 2: *result = SHA_256_IV; return SIMPLICITY_NO_ERROR;
          case 3: /* SHA-256-CTX-8-ADD-n subsection */
-           code = decodeUptoMaxInt(stream);
+           code = simplicity_decodeUptoMaxInt(stream);
            if (code < 0) return (simplicity_err)code;
            switch (code) {
              case 1: *result = SHA_256_CTX_8_ADD_1; return SIMPLICITY_NO_ERROR;
@@ -951,11 +951,11 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
       }
       break;
      case 4: /* Secp256k1 jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: /* point-verify */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = POINT_VERIFY_1; return SIMPLICITY_NO_ERROR;
@@ -963,14 +963,14 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
         break;
        case 2: *result = DECOMPRESS; return SIMPLICITY_NO_ERROR;
        case 3: /* linear-verify */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = LINEAR_VERIFY_1; return SIMPLICITY_NO_ERROR;
         }
         break;
        case 4: /* linear-combination */
-        code = decodeUptoMaxInt(stream);
+        code = simplicity_decodeUptoMaxInt(stream);
         if (code < 0) return (simplicity_err)code;
         switch (code) {
          case 1: *result = LINEAR_COMBINATION_1; return SIMPLICITY_NO_ERROR;
@@ -1019,7 +1019,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
       }
       break;
      case 5: /* Signature jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: *result = CHECK_SIG_VERIFY; return SIMPLICITY_NO_ERROR;
@@ -1027,7 +1027,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
       }
       break;
      case 7: /* Bitcoin jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: *result = PARSE_LOCK; return SIMPLICITY_NO_ERROR;
@@ -1038,11 +1038,11 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
     return SIMPLICITY_ERR_DATA_OUT_OF_RANGE;
   } else {
     /* Elements jets */
-    int32_t code = decodeUptoMaxInt(stream);
+    int32_t code = simplicity_decodeUptoMaxInt(stream);
     if (code < 0) return (simplicity_err)code;
     switch (code) {
      case 1: /* SigHash jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: *result = SIG_ALL_HASH; return SIMPLICITY_NO_ERROR;
@@ -1082,7 +1082,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
       }
       break;
      case 2: /* Timelock jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: *result = CHECK_LOCK_HEIGHT; return SIMPLICITY_NO_ERROR;
@@ -1097,7 +1097,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
       }
       break;
      case 3: /* Issuance jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: *result = ISSUANCE; return SIMPLICITY_NO_ERROR;
@@ -1112,7 +1112,7 @@ static simplicity_err decodePrimitive(jetName* result, bitstream* stream) {
       }
       break;
      case 4: /* Transaction jets chapter */
-      code = decodeUptoMaxInt(stream);
+      code = simplicity_decodeUptoMaxInt(stream);
       if (code < 0) return (simplicity_err)code;
       switch (code) {
        case 1: *result = SCRIPT_CMR; return SIMPLICITY_NO_ERROR;
@@ -1191,7 +1191,7 @@ static dag_node jetNode(jetName name) {
  * Precondition: NULL != node
  *               NULL != stream
  */
-simplicity_err decodeJet(dag_node* node, bitstream* stream) {
+simplicity_err simplicity_decodeJet(dag_node* node, bitstream* stream) {
   jetName name;
   simplicity_err error = decodePrimitive(&name, stream);
   if (!IS_OK(error)) return error;
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/primitive.h b/simplicity-sys/depend/simplicity/primitive/elements/primitive.h
index 2db6672b..d3788145 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/primitive.h
+++ b/simplicity-sys/depend/simplicity/primitive/elements/primitive.h
@@ -271,6 +271,6 @@ typedef struct txEnv {
  *               NULL != genesisHash
  *               ix < tx->numInputs
  */
-txEnv build_txEnv(const transaction* tx, const tapEnv* taproot, const sha256_midstate* genesisHash, uint_fast32_t ix);
+txEnv simplicity_build_txEnv(const transaction* tx, const tapEnv* taproot, const sha256_midstate* genesisHash, uint_fast32_t ix);
 
 #endif
diff --git a/simplicity-sys/depend/simplicity/primitive/elements/primitiveJetNode.inc b/simplicity-sys/depend/simplicity/primitive/elements/primitiveJetNode.inc
index 636f966d..a28d7299 100644
--- a/simplicity-sys/depend/simplicity/primitive/elements/primitiveJetNode.inc
+++ b/simplicity-sys/depend/simplicity/primitive/elements/primitiveJetNode.inc
@@ -1,255 +1,255 @@
 /* This file has been automatically generated. */
 [ADD_16] =
 { .tag = JET
-, .jet = add_16
-, .cmr = {{0x90e5c302u, 0xc2a102f7u, 0x6cc20bcdu, 0xddc0622bu, 0xf3b8a544u, 0x6ab68d1bu, 0x2a03395eu, 0x6fae9250u}}
+, .jet = simplicity_add_16
+, .cmr = {{0xc4dd8c30u, 0x97f95bf9u, 0x229af0c3u, 0x48317032u, 0x3aa270afu, 0x428a7257u, 0x18143bb5u, 0xfc80811cu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_pbw16
-, .cost = 226 /* milli weight units */
+, .cost = 108 /* milli weight units */
 }
 ,[ADD_32] =
 { .tag = JET
-, .jet = add_32
-, .cmr = {{0x6d7830d6u, 0x5e69f27du, 0x551c4bb3u, 0x718da935u, 0x222faec4u, 0xaf7f49e9u, 0x5e9833edu, 0x2f84c106u}}
+, .jet = simplicity_add_32
+, .cmr = {{0xd98c0f69u, 0xf6b1d435u, 0x294d9783u, 0x5eac9401u, 0x77a2feafu, 0x0a6e9e47u, 0x34c91204u, 0x8e9eee42u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_pbw32
-, .cost = 183 /* milli weight units */
+, .cost = 117 /* milli weight units */
 }
 ,[ADD_64] =
 { .tag = JET
-, .jet = add_64
-, .cmr = {{0x9eeebea8u, 0x47388e14u, 0xc7c9e7cau, 0x147c7071u, 0x4de144ebu, 0xab398a53u, 0xf4f58a34u, 0x930cc45cu}}
+, .jet = simplicity_add_64
+, .cmr = {{0xe613eb03u, 0x10a44c22u, 0xa694ee55u, 0x490da4eau, 0xe38811bfu, 0xf84aa021u, 0x31d98f49u, 0x9d261e71u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_pbw64
-, .cost = 221 /* milli weight units */
+, .cost = 109 /* milli weight units */
 }
 ,[ADD_8] =
 { .tag = JET
-, .jet = add_8
-, .cmr = {{0x3759b040u, 0x6aa2c4e1u, 0x152621e0u, 0x11e4efdbu, 0x555c6ab6u, 0xd91ae9ebu, 0xf1d6315bu, 0x4382a6c4u}}
+, .jet = simplicity_add_8
+, .cmr = {{0x4a1f509eu, 0x5de5c398u, 0x5f76a0dbu, 0x65b04e06u, 0x03bd0c1du, 0x9c5bbcb9u, 0xa3ec8e53u, 0xa0ba3297u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_pbw8
-, .cost = 150 /* milli weight units */
+, .cost = 112 /* milli weight units */
 }
 ,[ALL_16] =
 { .tag = JET
-, .jet = all_16
-, .cmr = {{0x3e7e953du, 0x28a6dc5eu, 0xd7dfbd4cu, 0x63f2e080u, 0x47c71bb9u, 0xc437e8c7u, 0x1ee0147au, 0x60f78beeu}}
+, .jet = simplicity_all_16
+, .cmr = {{0x13f6ebb8u, 0xda740db8u, 0x25920468u, 0x802c4cf4u, 0x1245016bu, 0xdf2fa054u, 0x8c86f415u, 0x83866c73u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 110 /* milli weight units */
+, .cost = 62 /* milli weight units */
 }
 ,[ALL_32] =
 { .tag = JET
-, .jet = all_32
-, .cmr = {{0x5dd08516u, 0x26036cb6u, 0xa42aa952u, 0x93dbb8f3u, 0x6efe5e0eu, 0xa57a3108u, 0x27fa6d79u, 0x2f46e0c1u}}
+, .jet = simplicity_all_32
+, .cmr = {{0xbb515d4au, 0x22f3245eu, 0xcf575035u, 0xed187a03u, 0x8614524bu, 0x35aed644u, 0x824689deu, 0x38a4a1e0u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 136 /* milli weight units */
+, .cost = 65 /* milli weight units */
 }
 ,[ALL_64] =
 { .tag = JET
-, .jet = all_64
-, .cmr = {{0xbad02fd1u, 0x58908a1bu, 0xe068725eu, 0xb05276deu, 0xfa411207u, 0xd0c8a91bu, 0xbe6fa57du, 0x2cda29dfu}}
+, .jet = simplicity_all_64
+, .cmr = {{0xcd151de9u, 0x17575655u, 0xa7a0f35du, 0xa9cdaf6eu, 0x2bbf8a8du, 0x4fceac68u, 0xcee4b008u, 0xe665bfc3u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 165 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[ALL_8] =
 { .tag = JET
-, .jet = all_8
-, .cmr = {{0xdc098854u, 0xdd06ae1eu, 0x6e3e73a4u, 0xae94d0b2u, 0xacce5cb3u, 0xecc12e8cu, 0xb8167f7bu, 0x6eaa4069u}}
+, .jet = simplicity_all_8
+, .cmr = {{0x0d3cbfc2u, 0xcc2a9a06u, 0x28a2ff8au, 0xfc0a5f93u, 0x173ede4cu, 0x234c5721u, 0x4c5d74afu, 0x6b873ce9u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_b
-, .cost = 113 /* milli weight units */
+, .cost = 76 /* milli weight units */
 }
 ,[AND_1] =
 { .tag = JET
-, .jet = and_1
-, .cmr = {{0x2dc2dbccu, 0x69c12c78u, 0x30df1170u, 0xd9e93a35u, 0xd8284cc8u, 0x15916aebu, 0x3b1b95efu, 0xdaa92c26u}}
+, .jet = simplicity_and_1
+, .cmr = {{0x56d1d4d6u, 0xc1e11f60u, 0xd29660b1u, 0x81a1335au, 0x4f511d3bu, 0x9c04a333u, 0xe9e01418u, 0xb0d1818fu}}
 , .sourceIx = ty_w2
 , .targetIx = ty_b
-, .cost = 159 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[AND_16] =
 { .tag = JET
-, .jet = and_16
-, .cmr = {{0x4f42c688u, 0xcc3ceb76u, 0x1f662a0bu, 0x8e77b196u, 0x42dab540u, 0x7d9a873cu, 0xd9c18609u, 0x977ebd91u}}
+, .jet = simplicity_and_16
+, .cmr = {{0xd77a1144u, 0xc52ed2b7u, 0x6988df9bu, 0x29cd5397u, 0x8c44c6d5u, 0x40f4bc54u, 0x56d0b3b5u, 0x3cd400e5u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 195 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[AND_32] =
 { .tag = JET
-, .jet = and_32
-, .cmr = {{0x1680cfd2u, 0x643ad389u, 0x6bfb45e9u, 0x6fc62dc2u, 0xbb0cc0acu, 0x486fa833u, 0x30a8890cu, 0x09ee969bu}}
+, .jet = simplicity_and_32
+, .cmr = {{0x4382f934u, 0x3379d442u, 0x2e2a0151u, 0x04cf55dcu, 0x54a8f71eu, 0xefb06229u, 0x26d64b6cu, 0xe22bea11u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 175 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[AND_64] =
 { .tag = JET
-, .jet = and_64
-, .cmr = {{0xa2dd3d49u, 0xf12cd442u, 0xcea7c832u, 0x3868be3cu, 0xe6e9af67u, 0x6f725110u, 0xf3ce494eu, 0xdd6a5a4au}}
+, .jet = simplicity_and_64
+, .cmr = {{0x3eb8b42du, 0x815f0fc3u, 0x9a3499b0u, 0x354efd05u, 0xa603f5efu, 0x5e511766u, 0xc0112cc1u, 0x48e21155u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w64
-, .cost = 221 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[AND_8] =
 { .tag = JET
-, .jet = and_8
-, .cmr = {{0x27554178u, 0x198658f5u, 0xbfb5b041u, 0x30898742u, 0xbf82db60u, 0x39dcbb17u, 0x266dfe03u, 0x0cc12075u}}
+, .jet = simplicity_and_8
+, .cmr = {{0x0e0ee07cu, 0x749a3fa7u, 0x1296b9d4u, 0x59b06a0au, 0x4bffb7f5u, 0xbb99a925u, 0x4a7d13a8u, 0xce444cd7u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 159 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[ANNEX_HASH] =
 { .tag = JET
-, .jet = annex_hash
-, .cmr = {{0xca1beda0u, 0x4f1fe8cbu, 0xb08cd69fu, 0x3959d442u, 0xfe5ab015u, 0xc6923e17u, 0x1d8d0686u, 0xef31488fu}}
+, .jet = simplicity_annex_hash
+, .cmr = {{0x07eebc33u, 0xfde1ad63u, 0xef136901u, 0xbaaea6fdu, 0xe7228d7cu, 0x60d179b9u, 0x47bd5de5u, 0xe07ab785u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256mw256
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 3065 /* milli weight units */
+, .cost = 241 /* milli weight units */
 }
 ,[ASSET_AMOUNT_HASH] =
 { .tag = JET
-, .jet = asset_amount_hash
-, .cmr = {{0x4ff7e73cu, 0xe7fbbfa1u, 0xc577e6feu, 0x1dab70b8u, 0xf10bb4dfu, 0x319c0f6du, 0x67994f6fu, 0xdb224258u}}
+, .jet = simplicity_asset_amount_hash
+, .cmr = {{0x1baadad6u, 0x9de62137u, 0x77046cc1u, 0xb353a703u, 0x50a95801u, 0x52876c8eu, 0xf712d474u, 0x4c4f4e30u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256pspbw256w256spbw256w64
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 3177 /* milli weight units */
+, .cost = 308 /* milli weight units */
 }
 ,[BIP_0340_VERIFY] =
 { .tag = JET
-, .jet = bip_0340_verify
-, .cmr = {{0x3a196ec1u, 0x9d8f3fccu, 0x67b0ad8fu, 0x611e762du, 0xc1189a72u, 0x2faa745bu, 0x694d292cu, 0x47373f53u}}
+, .jet = simplicity_bip_0340_verify
+, .cmr = {{0x0873c4d7u, 0xb8998b2bu, 0x6b8e43eeu, 0x4ac0c2c7u, 0xad25b360u, 0x0e342b20u, 0x1d46001bu, 0x76c0567fu}}
 , .sourceIx = ty_w1Ki
 , .targetIx = ty_u
-, .cost = 49671 /* milli weight units */
+, .cost = 49087 /* milli weight units */
 }
 ,[BUILD_TAPBRANCH] =
 { .tag = JET
-, .jet = build_tapbranch
-, .cmr = {{0xd4b31312u, 0x786cb33bu, 0x43b062d4u, 0x8e0be039u, 0xc7de2b8du, 0x67ce9eeau, 0x5f5225f1u, 0x97ef7774u}}
+, .jet = simplicity_build_tapbranch
+, .cmr = {{0x773dc3b7u, 0xcf6a2592u, 0xa35d5319u, 0x53094915u, 0xe857037au, 0xb5b7cdd2u, 0xa734e289u, 0xc95e2a3eu}}
 , .sourceIx = ty_w512
 , .targetIx = ty_w256
-, .cost = 4804 /* milli weight units */
+, .cost = 2563 /* milli weight units */
 }
 ,[BUILD_TAPLEAF_SIMPLICITY] =
 { .tag = JET
-, .jet = build_tapleaf_simplicity
-, .cmr = {{0x136f16e4u, 0x4ae55b7eu, 0x6330d656u, 0xa282cbe5u, 0xaf966e74u, 0x1f576c9du, 0x0acd7749u, 0x467fd505u}}
+, .jet = simplicity_build_tapleaf_simplicity
+, .cmr = {{0x2b90ae75u, 0xbb76de68u, 0xde10d1e0u, 0xaeea6407u, 0x1a06f13au, 0x9776efa6u, 0xec8ee3e3u, 0xbc86289au}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 3670 /* milli weight units */
+, .cost = 1843 /* milli weight units */
 }
 ,[CALCULATE_ASSET] =
 { .tag = JET
-, .jet = calculate_asset
-, .cmr = {{0x2eaae24du, 0xccce3c94u, 0x4beb8e38u, 0xac6a52eau, 0x434420fbu, 0x56a9a9b4u, 0xfb841583u, 0x48087421u}}
+, .jet = simplicity_calculate_asset
+, .cmr = {{0xe971896bu, 0x77fffbe0u, 0xe1036547u, 0xcdc6ddffu, 0x38e8bd75u, 0x427abb7cu, 0x76183028u, 0xfbcf9882u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 1516 /* milli weight units */
+, .cost = 807 /* milli weight units */
 }
 ,[CALCULATE_CONFIDENTIAL_TOKEN] =
 { .tag = JET
-, .jet = calculate_confidential_token
-, .cmr = {{0x3c5bf08au, 0xba5aa33eu, 0xba87efb0u, 0x99bdf1c4u, 0x64e7722au, 0xece1a221u, 0x3dc8eb25u, 0x54f0b56bu}}
+, .jet = simplicity_calculate_confidential_token
+, .cmr = {{0x02683208u, 0xa9db6770u, 0x807689cau, 0x4e2bdcafu, 0x00b75e1cu, 0x5d7e3aecu, 0xa75019e9u, 0xfb70a4cdu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 1727 /* milli weight units */
+, .cost = 707 /* milli weight units */
 }
 ,[CALCULATE_EXPLICIT_TOKEN] =
 { .tag = JET
-, .jet = calculate_explicit_token
-, .cmr = {{0xbef44e2eu, 0x52ccbfbau, 0xc88fd4d0u, 0xbdad51a4u, 0x69b484c7u, 0x585b7825u, 0x8ad4a79bu, 0xc9e4803bu}}
+, .jet = simplicity_calculate_explicit_token
+, .cmr = {{0x620d8d03u, 0xf042dd95u, 0xdc49b8aeu, 0x35a881f4u, 0xdbd62199u, 0x662eeaecu, 0x13e5713eu, 0x34d296ddu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 1610 /* milli weight units */
+, .cost = 771 /* milli weight units */
 }
 ,[CALCULATE_ISSUANCE_ENTROPY] =
 { .tag = JET
-, .jet = calculate_issuance_entropy
-, .cmr = {{0xca162c8au, 0xab8f94ddu, 0xe208dd87u, 0x1306b4ccu, 0x917ef2d8u, 0x1b8df75fu, 0xb23a916eu, 0xb3be197eu}}
+, .jet = simplicity_calculate_issuance_entropy
+, .cmr = {{0xf6595190u, 0xd4008c66u, 0x5b694aacu, 0xb8d96a76u, 0x26e06ac6u, 0x2b28d009u, 0xd75192bcu, 0x9cae5156u}}
 , .sourceIx = ty_ppw256w32w256
 , .targetIx = ty_w256
-, .cost = 3453 /* milli weight units */
+, .cost = 2095 /* milli weight units */
 }
 ,[CH_1] =
 { .tag = JET
-, .jet = ch_1
-, .cmr = {{0xc2323612u, 0x4da01f3du, 0x8eb742c2u, 0xed47953fu, 0x66c8b084u, 0xd95a10c6u, 0x0cae69bau, 0x9842ae96u}}
+, .jet = simplicity_ch_1
+, .cmr = {{0x297c251au, 0xfe741b19u, 0x22a212e3u, 0x93d3d3b1u, 0xc32e6b33u, 0xee2cfd5eu, 0xfae3fb1au, 0xbe595113u}}
 , .sourceIx = ty_pbw2
 , .targetIx = ty_b
-, .cost = 240 /* milli weight units */
+, .cost = 78 /* milli weight units */
 }
 ,[CH_16] =
 { .tag = JET
-, .jet = ch_16
-, .cmr = {{0xdccde6a9u, 0x545875c5u, 0xcb46e72cu, 0x7b04ceebu, 0x920c203du, 0x1c042aecu, 0x91241dbeu, 0xca23f435u}}
+, .jet = simplicity_ch_16
+, .cmr = {{0x81d33886u, 0xb525e7f2u, 0x8019d444u, 0xd4d4b422u, 0x76d33fa9u, 0x7b917adbu, 0xef4a8811u, 0x3ea6711eu}}
 , .sourceIx = ty_pw16w32
 , .targetIx = ty_w16
-, .cost = 245 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[CH_32] =
 { .tag = JET
-, .jet = ch_32
-, .cmr = {{0x8c0a87eeu, 0x8e1dfca3u, 0x4bdff421u, 0x2ba1af75u, 0x44d2de6fu, 0x4acb7618u, 0x08231a5fu, 0x57788e62u}}
+, .jet = simplicity_ch_32
+, .cmr = {{0x77002200u, 0xecac62e7u, 0x65c055b5u, 0x0bd225a8u, 0x54cda318u, 0x071b2e70u, 0xea30de9du, 0x1e3219aau}}
 , .sourceIx = ty_pw32w64
 , .targetIx = ty_w32
-, .cost = 238 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[CH_64] =
 { .tag = JET
-, .jet = ch_64
-, .cmr = {{0x5d5ae57du, 0x7647f01eu, 0xc3fd797eu, 0xd89d62beu, 0x5fe585fbu, 0xb9fdb6c3u, 0x208b2c08u, 0x579b9e2cu}}
+, .jet = simplicity_ch_64
+, .cmr = {{0xe97cdd2au, 0x47acf40bu, 0xe6872a57u, 0x4bbadb5du, 0xb51bac1au, 0xd9cf63e7u, 0xd84c3b2fu, 0xb9ab6ddbu}}
 , .sourceIx = ty_pw64w128
 , .targetIx = ty_w64
-, .cost = 274 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[CH_8] =
 { .tag = JET
-, .jet = ch_8
-, .cmr = {{0xdfc578f2u, 0x5cb31402u, 0xe22a810eu, 0x98950ae1u, 0x7b190896u, 0x364cdee8u, 0xeea300cfu, 0x79d87801u}}
+, .jet = simplicity_ch_8
+, .cmr = {{0x5bc67708u, 0x751e9679u, 0x13fb75fcu, 0x2576a080u, 0x700c67f1u, 0x2c363ba0u, 0x1917513eu, 0x6c781457u}}
 , .sourceIx = ty_pw8w16
 , .targetIx = ty_w8
-, .cost = 240 /* milli weight units */
+, .cost = 77 /* milli weight units */
 }
 ,[CHECK_LOCK_DISTANCE] =
 { .tag = JET
-, .jet = check_lock_distance
-, .cmr = {{0xc510cd9au, 0xf3ead171u, 0xe189f9e1u, 0x0c95463du, 0x331b1673u, 0x941de384u, 0xe846ab71u, 0x57538ee6u}}
+, .jet = simplicity_check_lock_distance
+, .cmr = {{0x4461194au, 0x7b0a7905u, 0x16913c70u, 0xf7fdd61eu, 0x2aac4317u, 0xbc4f7ee2u, 0x7bcf55feu, 0xe9b1c2f1u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_u
-, .cost = 198 /* milli weight units */
+, .cost = 105 /* milli weight units */
 }
 ,[CHECK_LOCK_DURATION] =
 { .tag = JET
-, .jet = check_lock_duration
-, .cmr = {{0x4a64700cu, 0x730c6351u, 0x94cced20u, 0x471b0a69u, 0xc6dea271u, 0xb04a41aau, 0x8c76437bu, 0x74628ddbu}}
+, .jet = simplicity_check_lock_duration
+, .cmr = {{0x3ce5aff9u, 0x1a7e352du, 0x0369015fu, 0xd4e2d9f1u, 0xe000c39au, 0xd1b7d760u, 0xb8503588u, 0x120bb8b3u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_u
-, .cost = 201 /* milli weight units */
+, .cost = 102 /* milli weight units */
 }
 ,[CHECK_LOCK_HEIGHT] =
 { .tag = JET
-, .jet = check_lock_height
-, .cmr = {{0x00dd5316u, 0x8f951773u, 0x818c1ea6u, 0x9797ed00u, 0xcccd3762u, 0xd2edb6d9u, 0x5feb7670u, 0x9805d49fu}}
+, .jet = simplicity_check_lock_height
+, .cmr = {{0xdf3a0f07u, 0x680433aeu, 0x5ee855ddu, 0x774c2ae4u, 0x1194ac8fu, 0xa118b506u, 0xa09eb6d3u, 0xa52e167au}}
 , .sourceIx = ty_w32
 , .targetIx = ty_u
-, .cost = 239 /* milli weight units */
+, .cost = 77 /* milli weight units */
 }
 ,[CHECK_LOCK_TIME] =
 { .tag = JET
-, .jet = check_lock_time
-, .cmr = {{0xdea6df2au, 0x1980028fu, 0x423b6a49u, 0x042e1ee5u, 0x361760e9u, 0x42f0ea68u, 0xf9bf9dcau, 0xab57de53u}}
+, .jet = simplicity_check_lock_time
+, .cmr = {{0x667ece1fu, 0xfd807b61u, 0x357c9150u, 0x630af013u, 0x9e9f1fcdu, 0xf987dfa7u, 0xce20a1e2u, 0x16ed75e3u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_u
-, .cost = 232 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[CHECK_SIG_VERIFY] =
 { .tag = JET
-, .jet = check_sig_verify
+, .jet = simplicity_check_sig_verify
 , .cmr = {{0xa516dd5cu, 0x9cabd041u, 0x120ea368u, 0xab4ccd92u, 0x31255ef5u, 0x79968558u, 0xc1aa6a21u, 0x2f168329u}}
 , .sourceIx = ty_ppw256w512w512
 , .targetIx = ty_u
@@ -257,3497 +257,3497 @@
 }
 ,[COMPLEMENT_1] =
 { .tag = JET
-, .jet = complement_1
-, .cmr = {{0x7e714813u, 0x2e289282u, 0x3fcf2a26u, 0xc6220beeu, 0x039ff6c5u, 0xd7c1b4e4u, 0xca213ad8u, 0x37ab4774u}}
+, .jet = simplicity_complement_1
+, .cmr = {{0x9ea1ebfbu, 0xbf073bf0u, 0xc3126603u, 0x749c6c1fu, 0x1505039eu, 0xab4f2664u, 0x3f0330d4u, 0x8bd68494u}}
 , .sourceIx = ty_b
 , .targetIx = ty_b
-, .cost = 139 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[COMPLEMENT_16] =
 { .tag = JET
-, .jet = complement_16
-, .cmr = {{0x7f16d124u, 0x15998768u, 0x347f43a9u, 0xb91c8987u, 0x591dfec1u, 0xcf7850b4u, 0x23fea33au, 0x3726f463u}}
+, .jet = simplicity_complement_16
+, .cmr = {{0x7da0cc5eu, 0x1f55036cu, 0x08646dbbu, 0x37557ad9u, 0x03386305u, 0x9dfbf34au, 0x19f228e8u, 0x96d64c0fu}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w16
-, .cost = 146 /* milli weight units */
+, .cost = 75 /* milli weight units */
 }
 ,[COMPLEMENT_32] =
 { .tag = JET
-, .jet = complement_32
-, .cmr = {{0xe65a4f75u, 0x5411b480u, 0xb80585fdu, 0xc02ee24cu, 0xbbd9502au, 0x48a7347au, 0x710294e7u, 0x82acffbau}}
+, .jet = simplicity_complement_32
+, .cmr = {{0x5418c464u, 0xe4949721u, 0x63a3353bu, 0x8117e6e7u, 0x67491348u, 0xc0763f96u, 0x22744a83u, 0x082ef841u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w32
-, .cost = 161 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[COMPLEMENT_64] =
 { .tag = JET
-, .jet = complement_64
-, .cmr = {{0xd5c65713u, 0x8a6cf553u, 0x22c36e6fu, 0x3c4a0f9fu, 0xb63988a1u, 0x120d6eebu, 0x03fc427cu, 0xad971869u}}
+, .jet = simplicity_complement_64
+, .cmr = {{0x004eb9edu, 0x9c10a4a5u, 0xa897948eu, 0x541d36dcu, 0x1fb650c8u, 0xda726f8du, 0xd197ce8cu, 0x7441f708u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w64
-, .cost = 174 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[COMPLEMENT_8] =
 { .tag = JET
-, .jet = complement_8
-, .cmr = {{0x1f5c6ab4u, 0x1d406badu, 0xfc9d5a2cu, 0x76bef7e3u, 0x287aabeeu, 0x19d0850fu, 0x09389846u, 0xeabf458eu}}
+, .jet = simplicity_complement_8
+, .cmr = {{0x9476d51du, 0x6b1be44du, 0xcff21947u, 0xd5bf540au, 0x66616ff7u, 0xb9328a67u, 0xf5b83a2fu, 0x6f06f02cu}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w8
-, .cost = 139 /* milli weight units */
+, .cost = 80 /* milli weight units */
 }
 ,[CURRENT_AMOUNT] =
 { .tag = JET
-, .jet = current_amount
-, .cmr = {{0x7631944bu, 0x936d0b7fu, 0xa92a868du, 0xd76e4d47u, 0x2936cf42u, 0x5cd86e5bu, 0x90936fbdu, 0x8d54e202u}}
+, .jet = simplicity_current_amount
+, .cmr = {{0xb8e324c6u, 0x45dce60eu, 0x15d0af7au, 0x67cbba87u, 0xc3c934bbu, 0xcb7c1cbau, 0x8468cf1eu, 0x4134dc21u}}
 , .sourceIx = ty_u
 , .targetIx = ty_pspbw256w256spbw256w64
-, .cost = 400 /* milli weight units */
+, .cost = 225 /* milli weight units */
 }
 ,[CURRENT_ANNEX_HASH] =
 { .tag = JET
-, .jet = current_annex_hash
-, .cmr = {{0x45ca8294u, 0xef4d6120u, 0xe9ef59ebu, 0xeb8c51d2u, 0xc4e816f5u, 0x2d148f64u, 0x250eb8a3u, 0xaa050e18u}}
+, .jet = simplicity_current_annex_hash
+, .cmr = {{0x1257df7bu, 0xa03db3d8u, 0xb33d439bu, 0xb1c837cdu, 0xeb34807eu, 0x2199a150u, 0x328edd88u, 0xea3b7e54u}}
 , .sourceIx = ty_u
 , .targetIx = ty_mw256
-, .cost = 137 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[CURRENT_ASSET] =
 { .tag = JET
-, .jet = current_asset
-, .cmr = {{0x38f14f83u, 0xc6a0474cu, 0x3bc22cabu, 0x540faf66u, 0xbb06d67eu, 0xa12c0048u, 0xf475980du, 0x5c2b7c5eu}}
+, .jet = simplicity_current_asset
+, .cmr = {{0x35e6662cu, 0x1241ad10u, 0xf05b8012u, 0xd6dcb25cu, 0x0eaf8c4au, 0x49837927u, 0x129a84ddu, 0x0b5edcf8u}}
 , .sourceIx = ty_u
 , .targetIx = ty_spbw256w256
-, .cost = 320 /* milli weight units */
+, .cost = 171 /* milli weight units */
 }
 ,[CURRENT_INDEX] =
 { .tag = JET
-, .jet = current_index
-, .cmr = {{0x755022edu, 0xc3fab4bcu, 0x656eedc4u, 0x617ea37du, 0x132b2c46u, 0x1740a62du, 0xcad472eau, 0x23de629eu}}
+, .jet = simplicity_current_index
+, .cmr = {{0x42f307e8u, 0x7117dbcdu, 0x9efd101fu, 0x994c297cu, 0xc6c39b4fu, 0x494c6259u, 0x31ead7b6u, 0x98712e3fu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 137 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[CURRENT_ISSUANCE_ASSET_AMOUNT] =
 { .tag = JET
-, .jet = current_issuance_asset_amount
-, .cmr = {{0xeac74d4cu, 0x7de43514u, 0x164fe5aeu, 0x76016045u, 0xa68358cfu, 0x1c74241bu, 0x152ed063u, 0xac9f5e29u}}
+, .jet = simplicity_current_issuance_asset_amount
+, .cmr = {{0x97f69fdeu, 0xe36e7a5au, 0xea9a1648u, 0x764658afu, 0x050691a7u, 0x599db6feu, 0x8fc7d31eu, 0x003c07bcu}}
 , .sourceIx = ty_u
 , .targetIx = ty_mspbw256w64
-, .cost = 317 /* milli weight units */
+, .cost = 165 /* milli weight units */
 }
 ,[CURRENT_ISSUANCE_ASSET_PROOF] =
 { .tag = JET
-, .jet = current_issuance_asset_proof
-, .cmr = {{0x362dfa80u, 0xda8410c5u, 0xf5066647u, 0xab642f0du, 0x6b7286acu, 0x2608b954u, 0xc3a15cdfu, 0x0f55555eu}}
+, .jet = simplicity_current_issuance_asset_proof
+, .cmr = {{0xb1f6334cu, 0xf068aee9u, 0xba39e0e9u, 0xce91c30bu, 0xdbb97d8cu, 0x3eb43f84u, 0xf0f484d4u, 0xde5aacfcu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 301 /* milli weight units */
+, .cost = 140 /* milli weight units */
 }
 ,[CURRENT_ISSUANCE_TOKEN_AMOUNT] =
 { .tag = JET
-, .jet = current_issuance_token_amount
-, .cmr = {{0x859241c0u, 0x4b8f0dc7u, 0x3072aed7u, 0x838067fau, 0x70a4ca52u, 0x16f39713u, 0xf12f5fc5u, 0xa4aead7du}}
+, .jet = simplicity_current_issuance_token_amount
+, .cmr = {{0x9894c429u, 0x55f03d83u, 0x17649b6au, 0xfd7057d7u, 0xb3c4bcefu, 0x152ac9a0u, 0x084d0d21u, 0x6afb11feu}}
 , .sourceIx = ty_u
 , .targetIx = ty_mspbw256w64
-, .cost = 326 /* milli weight units */
+, .cost = 188 /* milli weight units */
 }
 ,[CURRENT_ISSUANCE_TOKEN_PROOF] =
 { .tag = JET
-, .jet = current_issuance_token_proof
-, .cmr = {{0x1b7ea16fu, 0x032f37dcu, 0x2ae103e6u, 0x962c5a90u, 0x42af295bu, 0x4a703a3cu, 0x842e6295u, 0x15ad24cbu}}
+, .jet = simplicity_current_issuance_token_proof
+, .cmr = {{0x3f54b3cfu, 0xb89278b0u, 0xea7780ccu, 0x32d6e386u, 0x2ed463d4u, 0x5162ad96u, 0xce5709fau, 0x6fc16fb6u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 288 /* milli weight units */
+, .cost = 144 /* milli weight units */
 }
 ,[CURRENT_NEW_ISSUANCE_CONTRACT] =
 { .tag = JET
-, .jet = current_new_issuance_contract
-, .cmr = {{0x0baa8735u, 0xa3029084u, 0x857cc974u, 0x9bbc7f19u, 0x851bc78fu, 0xbecdce1fu, 0x0dd6757bu, 0x7b8f3f30u}}
+, .jet = simplicity_current_new_issuance_contract
+, .cmr = {{0xc5f159dcu, 0xdb5a40b9u, 0x4d068d35u, 0x97af82afu, 0x53d17175u, 0x83f75cebu, 0x1051875du, 0x08cd262fu}}
 , .sourceIx = ty_u
 , .targetIx = ty_mw256
-, .cost = 293 /* milli weight units */
+, .cost = 145 /* milli weight units */
 }
 ,[CURRENT_PEGIN] =
 { .tag = JET
-, .jet = current_pegin
-, .cmr = {{0x9807ac5eu, 0xb07ba24fu, 0xb021b74au, 0xe6874f3bu, 0xc9b393c6u, 0x6c4f5d22u, 0xf05546e2u, 0xea08d760u}}
+, .jet = simplicity_current_pegin
+, .cmr = {{0xfb2bec4fu, 0x68964d0au, 0x3f5f6934u, 0x7ca56f20u, 0x4090c8abu, 0x33ad7af4u, 0xf405890du, 0x4b9fdd12u}}
 , .sourceIx = ty_u
 , .targetIx = ty_mw256
-, .cost = 303 /* milli weight units */
+, .cost = 147 /* milli weight units */
 }
 ,[CURRENT_PREV_OUTPOINT] =
 { .tag = JET
-, .jet = current_prev_outpoint
-, .cmr = {{0x0877b36fu, 0x656c2489u, 0x13254415u, 0x92df56e2u, 0xbbecf24du, 0x0acd0b78u, 0xfc9438b7u, 0x773a9eb4u}}
+, .jet = simplicity_current_prev_outpoint
+, .cmr = {{0x53f48945u, 0x6a6b161cu, 0xd903ba19u, 0x6ea154d8u, 0x3cb26568u, 0x9c815f61u, 0x030e72fdu, 0x6c26dc55u}}
 , .sourceIx = ty_u
 , .targetIx = ty_pw256w32
-, .cost = 312 /* milli weight units */
+, .cost = 156 /* milli weight units */
 }
 ,[CURRENT_REISSUANCE_BLINDING] =
 { .tag = JET
-, .jet = current_reissuance_blinding
-, .cmr = {{0xc8d3e808u, 0x87505aa7u, 0xf583ac6bu, 0xe47182ecu, 0xbc685cc3u, 0xc4a6acaau, 0x8e2c1329u, 0xe35d2930u}}
+, .jet = simplicity_current_reissuance_blinding
+, .cmr = {{0x07ee51b2u, 0x4b56e0e2u, 0x58d7e730u, 0x407d65edu, 0xf99dcaddu, 0x9d7c5af0u, 0x2ded9249u, 0x9a06feabu}}
 , .sourceIx = ty_u
 , .targetIx = ty_mw256
-, .cost = 148 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[CURRENT_REISSUANCE_ENTROPY] =
 { .tag = JET
-, .jet = current_reissuance_entropy
-, .cmr = {{0x4f241095u, 0x401ceea8u, 0x312d2f42u, 0xbeae8d88u, 0x0acfe189u, 0x33630d7bu, 0x8216c537u, 0x623e2af7u}}
+, .jet = simplicity_current_reissuance_entropy
+, .cmr = {{0x5038969eu, 0x77862fbdu, 0x4d493919u, 0x159fc102u, 0xd3e282dbu, 0x64057248u, 0x466d7cdcu, 0x3f0ca9b5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_mw256
-, .cost = 139 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[CURRENT_SCRIPT_HASH] =
 { .tag = JET
-, .jet = current_script_hash
-, .cmr = {{0xcd5ea7fbu, 0x0910f76eu, 0x76c6ea68u, 0xd0e2cad1u, 0x34cbb642u, 0x823bc43cu, 0x0423852fu, 0x37b7e25au}}
+, .jet = simplicity_current_script_hash
+, .cmr = {{0xf5e8d2a3u, 0x2839259du, 0x1c3d0946u, 0x51bd4fe6u, 0xdc80ee89u, 0x3b72bb68u, 0x3a8540feu, 0x7630cbe9u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 305 /* milli weight units */
+, .cost = 134 /* milli weight units */
 }
 ,[CURRENT_SCRIPT_SIG_HASH] =
 { .tag = JET
-, .jet = current_script_sig_hash
-, .cmr = {{0x17ad01cau, 0xe293427bu, 0xe2505af2u, 0xfe4c3e65u, 0x125fc3ddu, 0xe27a1143u, 0x788fa136u, 0x0f1c3751u}}
+, .jet = simplicity_current_script_sig_hash
+, .cmr = {{0x6aa9bb64u, 0x101ee0b9u, 0xb9dc454cu, 0xf1ee1aa8u, 0x326d6411u, 0x95e5a0aau, 0x6c811b3du, 0xbfe3ef2bu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 298 /* milli weight units */
+, .cost = 139 /* milli weight units */
 }
 ,[CURRENT_SEQUENCE] =
 { .tag = JET
-, .jet = current_sequence
-, .cmr = {{0x79ce41eeu, 0x05c97335u, 0xdc73515cu, 0x2934c91cu, 0x2e2dca6eu, 0x73c335eau, 0x4f43e0fau, 0x88de00f6u}}
+, .jet = simplicity_current_sequence
+, .cmr = {{0x99c0da7eu, 0xb25783abu, 0x3a24a54cu, 0xda8f8a87u, 0x5ac5a994u, 0x5f24e3fcu, 0x01960c26u, 0x64c5b78du}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 138 /* milli weight units */
+, .cost = 89 /* milli weight units */
 }
 ,[DECOMPRESS] =
 { .tag = JET
-, .jet = decompress
-, .cmr = {{0xa43c3926u, 0x7facd1e2u, 0xb6d42c76u, 0x15ad3f28u, 0x68637572u, 0xf46e1879u, 0x4e3475b9u, 0xb2eaef84u}}
+, .jet = simplicity_decompress
+, .cmr = {{0xcabe595cu, 0xb7bbb3a1u, 0x39a7796eu, 0x433ad0b6u, 0xc74d073fu, 0x001e8c08u, 0x0c800a78u, 0x2c7e7904u}}
 , .sourceIx = ty_pbw256
 , .targetIx = ty_mw512
-, .cost = 10956 /* milli weight units */
+, .cost = 10861 /* milli weight units */
 }
 ,[DECREMENT_16] =
 { .tag = JET
-, .jet = decrement_16
-, .cmr = {{0x196b2dc6u, 0x32e6c5d0u, 0x94ff9d34u, 0xa2092b80u, 0x5e4b94d0u, 0x36ba4826u, 0xacefed60u, 0x3a489dc7u}}
+, .jet = simplicity_decrement_16
+, .cmr = {{0x2504101bu, 0x7da5ce31u, 0x1743cf5bu, 0x3a7a6bb9u, 0xd57c24aeu, 0xbbb67662u, 0xd53cda2cu, 0x9ac2700cu}}
 , .sourceIx = ty_w16
 , .targetIx = ty_pbw16
-, .cost = 116 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[DECREMENT_32] =
 { .tag = JET
-, .jet = decrement_32
-, .cmr = {{0x29b31592u, 0x66e9f608u, 0x80884f6eu, 0xb2816f19u, 0xa207291cu, 0x829fd139u, 0xfb0d78a3u, 0x9e08d0c5u}}
+, .jet = simplicity_decrement_32
+, .cmr = {{0x4aec4105u, 0x531f2457u, 0x10acb3c3u, 0x30ad25fbu, 0x2901b354u, 0x83efbdcau, 0x52e19179u, 0xa4262c5bu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_pbw32
-, .cost = 159 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[DECREMENT_64] =
 { .tag = JET
-, .jet = decrement_64
-, .cmr = {{0x67175a67u, 0x6dc1780au, 0x20faf5e5u, 0xaad582ecu, 0x797baea5u, 0x5f2905ecu, 0xad2aaa1au, 0xe76be943u}}
+, .jet = simplicity_decrement_64
+, .cmr = {{0x983acb90u, 0x6de7bbf8u, 0x31dea562u, 0x75f085fdu, 0x5acddc51u, 0x9b648f3eu, 0x10e3212du, 0x0d6dcd74u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_pbw64
-, .cost = 160 /* milli weight units */
+, .cost = 89 /* milli weight units */
 }
 ,[DECREMENT_8] =
 { .tag = JET
-, .jet = decrement_8
-, .cmr = {{0x2b5911e6u, 0x67e696f9u, 0xcd03e9dfu, 0x7d400a55u, 0x45e7e974u, 0x4afbf92eu, 0x0ba87f6cu, 0x7cc44287u}}
+, .jet = simplicity_decrement_8
+, .cmr = {{0xa75b1c5du, 0x93fe91e2u, 0xc9efd324u, 0x240c84feu, 0xe47332d1u, 0x214239c8u, 0x7f5afbcbu, 0x69128c31u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_pbw8
-, .cost = 195 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[DIV_MOD_128_64] =
 { .tag = JET
-, .jet = div_mod_128_64
-, .cmr = {{0x1ee3e60fu, 0x5c9e4f0du, 0x3ec9ebeau, 0x3698eca8u, 0xbd32ac16u, 0x7e69b296u, 0xab9c1836u, 0xb6101d04u}}
+, .jet = simplicity_div_mod_128_64
+, .cmr = {{0xe1fb881fu, 0x23bdc57fu, 0x8423c61cu, 0xfe622391u, 0x5c76eb2fu, 0x525c41e2u, 0xa2221c78u, 0xb7ffafb7u}}
 , .sourceIx = ty_pw128w64
 , .targetIx = ty_w128
-, .cost = 220 /* milli weight units */
+, .cost = 208 /* milli weight units */
 }
 ,[DIV_MOD_16] =
 { .tag = JET
-, .jet = div_mod_16
-, .cmr = {{0x1585d1bfu, 0xe952f71bu, 0x1cfebbefu, 0x292ced56u, 0x60915723u, 0x05182720u, 0x625a1ac0u, 0x0881a489u}}
+, .jet = simplicity_div_mod_16
+, .cmr = {{0x6e04ad32u, 0x8fba2d24u, 0xefad2cb4u, 0x0bcad824u, 0x42ce35b1u, 0x2fcf6f80u, 0x022f52fau, 0x7718a0fau}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w32
-, .cost = 223 /* milli weight units */
+, .cost = 118 /* milli weight units */
 }
 ,[DIV_MOD_32] =
 { .tag = JET
-, .jet = div_mod_32
-, .cmr = {{0xbab7bc9au, 0x9f644edcu, 0xba73e330u, 0xc1a50543u, 0x67f5fb86u, 0x78c1236au, 0xb6e7f4d7u, 0x1860e002u}}
+, .jet = simplicity_div_mod_32
+, .cmr = {{0x5a5cc94fu, 0x74b313c2u, 0x60a10e2au, 0x28db2ea0u, 0xf8c34156u, 0x23dac212u, 0xdfe0ef9du, 0x195f9d05u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w64
-, .cost = 198 /* milli weight units */
+, .cost = 115 /* milli weight units */
 }
 ,[DIV_MOD_64] =
 { .tag = JET
-, .jet = div_mod_64
-, .cmr = {{0x8db4664du, 0x99e8c878u, 0xef31ebf1u, 0xaca6a876u, 0x4b58495du, 0xa0ecc032u, 0xb3c9b489u, 0xaaa0ff90u}}
+, .jet = simplicity_div_mod_64
+, .cmr = {{0xefb5af40u, 0x154a2d63u, 0xda285f2au, 0x2b5ad085u, 0xd9a2fa63u, 0x3f2a7362u, 0x83404854u, 0x306cef50u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w128
-, .cost = 220 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[DIV_MOD_8] =
 { .tag = JET
-, .jet = div_mod_8
-, .cmr = {{0x25f3694bu, 0x752e4df1u, 0xb0cc8c51u, 0xbf9917efu, 0x6e11c52eu, 0xa777353eu, 0x9507e819u, 0xa8066295u}}
+, .jet = simplicity_div_mod_8
+, .cmr = {{0xaffb7ab0u, 0x1d9adf1au, 0xf45c9a0eu, 0x598d54a5u, 0xeb29a6d6u, 0x3f0594dcu, 0x624f8e44u, 0x6f42a45du}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w16
-, .cost = 141 /* milli weight units */
+, .cost = 128 /* milli weight units */
 }
 ,[DIVIDE_16] =
 { .tag = JET
-, .jet = divide_16
-, .cmr = {{0x2dc3e9a9u, 0xc61dc88du, 0xd744f16bu, 0xe1aed4b7u, 0x2ab47949u, 0x0e414226u, 0x58b97219u, 0xdf49957cu}}
+, .jet = simplicity_divide_16
+, .cmr = {{0x98f1f926u, 0x0df1d9e9u, 0x729d037du, 0x8f30537eu, 0xde609c5au, 0xb9463270u, 0x70892cc4u, 0x0d420aaau}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 188 /* milli weight units */
+, .cost = 98 /* milli weight units */
 }
 ,[DIVIDE_32] =
 { .tag = JET
-, .jet = divide_32
-, .cmr = {{0xf6dcf4bdu, 0x8d9b5effu, 0x751e9b01u, 0x47a98e0fu, 0xc4c8872cu, 0x1ab782d1u, 0xebec6383u, 0xa09b780au}}
+, .jet = simplicity_divide_32
+, .cmr = {{0x20180303u, 0x0cc9877du, 0x3496e9e1u, 0xbfd5ae32u, 0x8a5062e3u, 0xc0237003u, 0x1ae1addfu, 0xef938155u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 225 /* milli weight units */
+, .cost = 100 /* milli weight units */
 }
 ,[DIVIDE_64] =
 { .tag = JET
-, .jet = divide_64
-, .cmr = {{0x8a94518bu, 0x9b76179au, 0x9d5c1e31u, 0x6e690062u, 0x7f5b6e3eu, 0xcc668fe2u, 0xd0c5d562u, 0x38e33ea3u}}
+, .jet = simplicity_divide_64
+, .cmr = {{0x02bf0b2au, 0x31796c47u, 0x5af1fd0fu, 0xb8edafedu, 0x4f4e7ae1u, 0xecf8cec9u, 0xf422964eu, 0x0903036fu}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w64
-, .cost = 202 /* milli weight units */
+, .cost = 101 /* milli weight units */
 }
 ,[DIVIDE_8] =
 { .tag = JET
-, .jet = divide_8
-, .cmr = {{0xd716000cu, 0xe7e57278u, 0x84a6d797u, 0x6a32c0f6u, 0xbdb881d0u, 0x0fe8dbb2u, 0x8dea3701u, 0x03769e2du}}
+, .jet = simplicity_divide_8
+, .cmr = {{0xc02ec480u, 0xbf0b5958u, 0x6e394adbu, 0x2c91cadau, 0x14ed79a7u, 0x9e0e3919u, 0xe7667492u, 0xcbf24738u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 125 /* milli weight units */
+, .cost = 108 /* milli weight units */
 }
 ,[DIVIDES_16] =
 { .tag = JET
-, .jet = divides_16
-, .cmr = {{0x8f4184a5u, 0x82674e00u, 0x3b37401bu, 0x13c9b8c3u, 0x7c683b88u, 0xdf633a22u, 0x719a23e1u, 0x94bda6f3u}}
+, .jet = simplicity_divides_16
+, .cmr = {{0xde9a8e43u, 0x53a40d70u, 0x78119647u, 0x05906273u, 0x0cf836f5u, 0x47a0952du, 0x070a2748u, 0x0c7439b1u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 173 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[DIVIDES_32] =
 { .tag = JET
-, .jet = divides_32
-, .cmr = {{0xe89ecdc3u, 0x7cd10466u, 0xb00f0137u, 0xe20b09b9u, 0xc5948d07u, 0x312d053fu, 0xed63c491u, 0xbb5c4c6au}}
+, .jet = simplicity_divides_32
+, .cmr = {{0x72c7148bu, 0xc0014a1bu, 0xbf0e2b7du, 0xc9aba4d0u, 0x62041738u, 0x36718813u, 0x203e55a0u, 0x7f4ca37du}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 175 /* milli weight units */
+, .cost = 87 /* milli weight units */
 }
 ,[DIVIDES_64] =
 { .tag = JET
-, .jet = divides_64
-, .cmr = {{0xb43198d5u, 0x74419057u, 0xe76bc069u, 0xd7d3e2cbu, 0x04f7072bu, 0x80696d3du, 0xb92c8a72u, 0xc78a5cfcu}}
+, .jet = simplicity_divides_64
+, .cmr = {{0xdb1c8cb5u, 0x3ac1ea8cu, 0xcf646d03u, 0xe3d59bdeu, 0x2775f58du, 0x95bfe71au, 0x870d678du, 0xd8dbc931u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_b
-, .cost = 246 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[DIVIDES_8] =
 { .tag = JET
-, .jet = divides_8
-, .cmr = {{0x3fc3b9b4u, 0x968e1674u, 0xda9ec457u, 0xb1ca8a66u, 0x29a37b4bu, 0xefdcd7ccu, 0x55886080u, 0xaef68af8u}}
+, .jet = simplicity_divides_8
+, .cmr = {{0xc54a5bf8u, 0x33afaba3u, 0x1a3489bdu, 0x8de8ff81u, 0xe7dc11fcu, 0xbde82a0du, 0x28e10922u, 0x4294b837u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 142 /* milli weight units */
+, .cost = 98 /* milli weight units */
 }
 ,[EQ_1] =
 { .tag = JET
-, .jet = eq_1
-, .cmr = {{0x4249c5bdu, 0xec540a06u, 0x957dcdabu, 0x045a445eu, 0xb91891c0u, 0x6c3f8f96u, 0xc888e9ddu, 0xd2fbaa28u}}
+, .jet = simplicity_eq_1
+, .cmr = {{0x8ce146afu, 0xbc2b64cbu, 0x549b160cu, 0x2cf7c949u, 0x64ab931au, 0xd9c39276u, 0xc7f204eeu, 0x34a51e65u}}
 , .sourceIx = ty_w2
 , .targetIx = ty_b
-, .cost = 120 /* milli weight units */
+, .cost = 74 /* milli weight units */
 }
 ,[EQ_16] =
 { .tag = JET
-, .jet = eq_16
-, .cmr = {{0xab31a797u, 0x4acbf72au, 0xb2f21bf5u, 0x3fec346au, 0x28e6e65eu, 0x4c05e3e7u, 0x843e1473u, 0xb1fd3ff9u}}
+, .jet = simplicity_eq_16
+, .cmr = {{0x24f1acb6u, 0xd16b3be5u, 0xde47fe83u, 0x4328fb51u, 0x0495fbbau, 0x72cd1dc8u, 0x9a33983fu, 0x8c8733edu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 174 /* milli weight units */
+, .cost = 84 /* milli weight units */
 }
 ,[EQ_256] =
 { .tag = JET
-, .jet = eq_256
-, .cmr = {{0xf7df29edu, 0x2d007822u, 0x7e719b7du, 0x1337dbeau, 0x3a710f58u, 0x4a4b07f0u, 0xf2654a44u, 0x6554f2beu}}
+, .jet = simplicity_eq_256
+, .cmr = {{0xf32e9b6cu, 0x912c50ddu, 0x9a2410c8u, 0x024b4548u, 0x0707d9b3u, 0x714b5249u, 0xc5f301f2u, 0x1db3e62bu}}
 , .sourceIx = ty_w512
 , .targetIx = ty_b
-, .cost = 431 /* milli weight units */
+, .cost = 225 /* milli weight units */
 }
 ,[EQ_32] =
 { .tag = JET
-, .jet = eq_32
-, .cmr = {{0x76791f0du, 0xddab9dc7u, 0x7a14a68cu, 0xc67787c9u, 0x84493faeu, 0xbbdbb6d6u, 0xd493352eu, 0x114720d5u}}
+, .jet = simplicity_eq_32
+, .cmr = {{0x03435756u, 0xec244c99u, 0xff733221u, 0x57c26c36u, 0x6bf52efbu, 0x314dce0cu, 0x2361dd53u, 0x491aa4beu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 233 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[EQ_64] =
 { .tag = JET
-, .jet = eq_64
-, .cmr = {{0x011b5f4cu, 0xb31f34bau, 0x158a6822u, 0x3b34445eu, 0x93f3dc18u, 0x91b53390u, 0x04923dcfu, 0xabe034c1u}}
+, .jet = simplicity_eq_64
+, .cmr = {{0x7da46758u, 0x80609366u, 0xd74d530cu, 0xa164a0e0u, 0x9ac9ce76u, 0xf4f9e943u, 0x22063cb3u, 0x26fef6bbu}}
 , .sourceIx = ty_w128
 , .targetIx = ty_b
-, .cost = 202 /* milli weight units */
+, .cost = 100 /* milli weight units */
 }
 ,[EQ_8] =
 { .tag = JET
-, .jet = eq_8
-, .cmr = {{0x0f8b1fdeu, 0x1949bebdu, 0x47d2554au, 0x4807fd8du, 0xcaef8730u, 0x1838d60eu, 0x84c73814u, 0x42da7eceu}}
+, .jet = simplicity_eq_8
+, .cmr = {{0x9b50fe9du, 0x35b10a3du, 0xb866311cu, 0x537135d0u, 0x80e46143u, 0x68db2884u, 0x33d8bc64u, 0x9b9f8662u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 120 /* milli weight units */
+, .cost = 95 /* milli weight units */
 }
 ,[FE_ADD] =
 { .tag = JET
-, .jet = fe_add
-, .cmr = {{0xa5e921d4u, 0xd2959af7u, 0x833df930u, 0x83689857u, 0x32ab0f33u, 0xbad8aa34u, 0x5b39f303u, 0x032be7aeu}}
+, .jet = simplicity_fe_add
+, .cmr = {{0xacadfcf4u, 0x805626e3u, 0x74590f33u, 0xcad7a983u, 0xa7320ac8u, 0x1ced3d02u, 0x54dc97e3u, 0xa2535a82u}}
 , .sourceIx = ty_w512
 , .targetIx = ty_w256
-, .cost = 908 /* milli weight units */
+, .cost = 755 /* milli weight units */
 }
 ,[FE_INVERT] =
 { .tag = JET
-, .jet = fe_invert
-, .cmr = {{0x21f42956u, 0x9d78e09fu, 0xb29013efu, 0x8a16c755u, 0x0edc4e19u, 0x0525715au, 0xbfb0c19bu, 0x21cfd9c2u}}
+, .jet = simplicity_fe_invert
+, .cmr = {{0x2ea76f67u, 0x975fcea3u, 0xbd46fbb1u, 0x4de81f49u, 0xfd08efcbu, 0xc0875ab2u, 0x1dc98976u, 0xa5309322u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 3375 /* milli weight units */
+, .cost = 3175 /* milli weight units */
 }
 ,[FE_IS_ODD] =
 { .tag = JET
-, .jet = fe_is_odd
-, .cmr = {{0x21d35d0au, 0x657f5defu, 0xacde6da3u, 0xfdb48d67u, 0x56f30690u, 0xb40270f0u, 0x1017e7e3u, 0x48d7585du}}
+, .jet = simplicity_fe_is_odd
+, .cmr = {{0x7edef020u, 0x5d4b8041u, 0x82369c31u, 0xc2190246u, 0x9b0f7a5bu, 0x29b5df90u, 0xc33f4bdau, 0xa05d7c03u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_b
-, .cost = 544 /* milli weight units */
+, .cost = 290 /* milli weight units */
 }
 ,[FE_IS_ZERO] =
 { .tag = JET
-, .jet = fe_is_zero
-, .cmr = {{0xf5716282u, 0xba0d26bdu, 0x0671cdfeu, 0x1f118f45u, 0xbae79d10u, 0x9a6d9f39u, 0x7a4c4554u, 0x6f62af00u}}
+, .jet = simplicity_fe_is_zero
+, .cmr = {{0xa9430364u, 0x2e1a0f47u, 0x7915a2d2u, 0x51f8455cu, 0x56877ecau, 0x79ba40adu, 0xc382268cu, 0xab2d63b7u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_b
-, .cost = 521 /* milli weight units */
+, .cost = 268 /* milli weight units */
 }
 ,[FE_MULTIPLY] =
 { .tag = JET
-, .jet = fe_multiply
-, .cmr = {{0xc176969cu, 0x337fbc6bu, 0x5ac8ed3eu, 0xa28ab3fdu, 0x94782064u, 0x3195d73bu, 0x862018f7u, 0x08487d23u}}
+, .jet = simplicity_fe_multiply
+, .cmr = {{0xac64d534u, 0x72aba489u, 0xa8acf3acu, 0x8ac79e8bu, 0x1182433eu, 0x5350c4c3u, 0x782d45adu, 0xf1c56dcbu}}
 , .sourceIx = ty_w512
 , .targetIx = ty_w256
-, .cost = 975 /* milli weight units */
+, .cost = 808 /* milli weight units */
 }
 ,[FE_MULTIPLY_BETA] =
 { .tag = JET
-, .jet = fe_multiply_beta
-, .cmr = {{0xc0fc7666u, 0x8d99d407u, 0x3f399344u, 0x3a68980bu, 0xa96e9760u, 0x1ed1a919u, 0xc4a23305u, 0x7b66fe23u}}
+, .jet = simplicity_fe_multiply_beta
+, .cmr = {{0xca2ea797u, 0xbe89e41du, 0xb51586eau, 0xdde33638u, 0x11d01d5du, 0x4c6142f5u, 0x7e1b99f2u, 0xae03061cu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 824 /* milli weight units */
+, .cost = 579 /* milli weight units */
 }
 ,[FE_NEGATE] =
 { .tag = JET
-, .jet = fe_negate
-, .cmr = {{0xd6ef8fc2u, 0x275ddf70u, 0x58b5e499u, 0xf10dd284u, 0x66f57b72u, 0x53a54407u, 0x798a4772u, 0x592184b9u}}
+, .jet = simplicity_fe_negate
+, .cmr = {{0x0142ba1au, 0x10131357u, 0x813b09f9u, 0xce18c06bu, 0x4bab742cu, 0xb485d179u, 0x8b4a313au, 0x9293fa7eu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 846 /* milli weight units */
+, .cost = 531 /* milli weight units */
 }
 ,[FE_NORMALIZE] =
 { .tag = JET
-, .jet = fe_normalize
-, .cmr = {{0xf498bcdfu, 0xf3506788u, 0x1bd96ee1u, 0xc91f4367u, 0x1e79186eu, 0x700ec4dau, 0x2dc0296au, 0x2dea91c7u}}
+, .jet = simplicity_fe_normalize
+, .cmr = {{0x70e55707u, 0x9639411du, 0xab31b3e4u, 0xf4b5605au, 0x4b15593au, 0x1af79bbdu, 0xd9f9a110u, 0xa85b2581u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 813 /* milli weight units */
+, .cost = 521 /* milli weight units */
 }
 ,[FE_SQUARE] =
 { .tag = JET
-, .jet = fe_square
-, .cmr = {{0x168a11b1u, 0x9c0fb97fu, 0x1099f863u, 0xa4c8e2f8u, 0x12425fbdu, 0x3d01bdedu, 0x3f460cb3u, 0x59bfdd89u}}
+, .jet = simplicity_fe_square
+, .cmr = {{0xcfa02a6au, 0x95091b14u, 0x970007b9u, 0x1a01ba12u, 0x57fe3b84u, 0x9563cf42u, 0xd06494c3u, 0xb8d04f9du}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 829 /* milli weight units */
+, .cost = 556 /* milli weight units */
 }
 ,[FE_SQUARE_ROOT] =
 { .tag = JET
-, .jet = fe_square_root
-, .cmr = {{0x3b46cde3u, 0x0674b777u, 0x16f2c8f6u, 0x14adbd16u, 0x61985d82u, 0xc55304d5u, 0x6e53ef5cu, 0x74c83e83u}}
+, .jet = simplicity_fe_square_root
+, .cmr = {{0xf51d5ed2u, 0x19bc8941u, 0xb2412957u, 0x2e84baf8u, 0x1a8cd2feu, 0x0e4ef238u, 0x869cb2dau, 0x296b0fa8u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_mw256
-, .cost = 10698 /* milli weight units */
+, .cost = 10275 /* milli weight units */
 }
 ,[FULL_ADD_16] =
 { .tag = JET
-, .jet = full_add_16
-, .cmr = {{0xf454a632u, 0xfd1928cdu, 0x6f070df6u, 0x8014288eu, 0x97b3e582u, 0xe7f03e98u, 0xed3234b6u, 0x282d0294u}}
+, .jet = simplicity_full_add_16
+, .cmr = {{0xd3992e38u, 0xab1ef2c3u, 0x83813041u, 0xdb1369ddu, 0xd5c3aa81u, 0xae9024c5u, 0xea266119u, 0x6bd11f01u}}
 , .sourceIx = ty_pbw32
 , .targetIx = ty_pbw16
-, .cost = 193 /* milli weight units */
+, .cost = 121 /* milli weight units */
 }
 ,[FULL_ADD_32] =
 { .tag = JET
-, .jet = full_add_32
-, .cmr = {{0x9606b9e6u, 0x541e0356u, 0xed7608d5u, 0xbc6f9d4eu, 0xf68e0a3du, 0x235168d9u, 0xe75cae66u, 0x52dd0634u}}
+, .jet = simplicity_full_add_32
+, .cmr = {{0x462b9c3bu, 0xa6576c11u, 0x14553377u, 0x5bdf955bu, 0x60482e6eu, 0x3080a819u, 0xf5cc73a5u, 0xca6830c1u}}
 , .sourceIx = ty_pbw64
 , .targetIx = ty_pbw32
-, .cost = 197 /* milli weight units */
+, .cost = 119 /* milli weight units */
 }
 ,[FULL_ADD_64] =
 { .tag = JET
-, .jet = full_add_64
-, .cmr = {{0xf0f79532u, 0x001c02afu, 0xac650a62u, 0x801932afu, 0xc2c1b286u, 0xa31fef7au, 0xe08a47eau, 0x1e71387du}}
+, .jet = simplicity_full_add_64
+, .cmr = {{0xc0fc7999u, 0xd91ca6f7u, 0xb5f872eeu, 0x6a8e08eau, 0x2a11af7bu, 0x92e7de60u, 0x251719d7u, 0x85b5f3e2u}}
 , .sourceIx = ty_pbw128
 , .targetIx = ty_pbw64
-, .cost = 225 /* milli weight units */
+, .cost = 121 /* milli weight units */
 }
 ,[FULL_ADD_8] =
 { .tag = JET
-, .jet = full_add_8
-, .cmr = {{0xcdd080fdu, 0x8612e7d1u, 0x4ada3491u, 0x64a6d5afu, 0x6054d673u, 0x77e17665u, 0xc4722040u, 0x28bc2125u}}
+, .jet = simplicity_full_add_8
+, .cmr = {{0x2714ecbbu, 0x324fb9fbu, 0x719e0971u, 0x6bdbdfb5u, 0x6466cb4fu, 0x41f901b1u, 0x6678b002u, 0x161741afu}}
 , .sourceIx = ty_pbw16
 , .targetIx = ty_pbw8
-, .cost = 190 /* milli weight units */
+, .cost = 127 /* milli weight units */
 }
 ,[FULL_DECREMENT_16] =
 { .tag = JET
-, .jet = full_decrement_16
-, .cmr = {{0xa7d1b9a6u, 0x09dcd367u, 0x66a167a3u, 0x7aa0e649u, 0xfbdd75f6u, 0x4691a9fbu, 0x6bf1663du, 0x329282a8u}}
+, .jet = simplicity_full_decrement_16
+, .cmr = {{0xbd0dd691u, 0xf8554447u, 0x04d9bbc2u, 0xeaf029c6u, 0xca5b45cfu, 0x92441f7fu, 0x68b478b6u, 0x11b59728u}}
 , .sourceIx = ty_pbw16
 , .targetIx = ty_pbw16
-, .cost = 107 /* milli weight units */
+, .cost = 92 /* milli weight units */
 }
 ,[FULL_DECREMENT_32] =
 { .tag = JET
-, .jet = full_decrement_32
-, .cmr = {{0xcbcfd7cau, 0x7372b2b1u, 0x80008e51u, 0x589880d3u, 0xb5399bd9u, 0xa8ddb9bcu, 0xda6132c2u, 0x2c777e0fu}}
+, .jet = simplicity_full_decrement_32
+, .cmr = {{0x2788c3a0u, 0x1735a64cu, 0x0c361903u, 0xd71e21ceu, 0x1005ce35u, 0x74e69a2au, 0x680b873eu, 0x5f73766au}}
 , .sourceIx = ty_pbw32
 , .targetIx = ty_pbw32
-, .cost = 153 /* milli weight units */
+, .cost = 107 /* milli weight units */
 }
 ,[FULL_DECREMENT_64] =
 { .tag = JET
-, .jet = full_decrement_64
-, .cmr = {{0x42df92d2u, 0xe7f42e57u, 0x9bd4c430u, 0x8cd2db6eu, 0x76774695u, 0xd6a56950u, 0xc5cf9203u, 0x002d41aau}}
+, .jet = simplicity_full_decrement_64
+, .cmr = {{0x144bf9feu, 0x04ba8c93u, 0xa7835b16u, 0x36ae8f7du, 0x505c0508u, 0x92ddbcc8u, 0xf9725f6bu, 0x09c3e47cu}}
 , .sourceIx = ty_pbw64
 , .targetIx = ty_pbw64
-, .cost = 151 /* milli weight units */
+, .cost = 81 /* milli weight units */
 }
 ,[FULL_DECREMENT_8] =
 { .tag = JET
-, .jet = full_decrement_8
-, .cmr = {{0xff58dd01u, 0x62bce9fbu, 0x73ed015bu, 0x7e5d3d1du, 0xc11b505cu, 0x932d490cu, 0xaadc1b5du, 0x893d1fadu}}
+, .jet = simplicity_full_decrement_8
+, .cmr = {{0x3b0d4c9au, 0x02bdd903u, 0xb12f49b8u, 0xcad0e3f0u, 0x6cb9bcb6u, 0xc8b19895u, 0x6dffce48u, 0x908a63f1u}}
 , .sourceIx = ty_pbw8
 , .targetIx = ty_pbw8
-, .cost = 218 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[FULL_INCREMENT_16] =
 { .tag = JET
-, .jet = full_increment_16
-, .cmr = {{0x5453608eu, 0xeff967afu, 0xef4ae583u, 0x1aa7a9fcu, 0x75c2ba57u, 0xe1ac412au, 0xb5464d4du, 0xe93af4f9u}}
+, .jet = simplicity_full_increment_16
+, .cmr = {{0x91818a49u, 0xe95e228cu, 0x3b51c730u, 0x9b3dc685u, 0xccc2bda1u, 0xfb3cddc0u, 0xcf24a5c5u, 0x9d77e7eau}}
 , .sourceIx = ty_pbw16
 , .targetIx = ty_pbw16
-, .cost = 108 /* milli weight units */
+, .cost = 89 /* milli weight units */
 }
 ,[FULL_INCREMENT_32] =
 { .tag = JET
-, .jet = full_increment_32
-, .cmr = {{0x36323321u, 0x58f90ba4u, 0xdf623f08u, 0x6808d1d3u, 0x39f36d9au, 0x6f922723u, 0x3416f234u, 0xcdd25d98u}}
+, .jet = simplicity_full_increment_32
+, .cmr = {{0x704704c6u, 0xd7f757eeu, 0xe9f88b2bu, 0x327bc117u, 0x43cbd9a7u, 0x5deca2e9u, 0x6d628d53u, 0x13e61630u}}
 , .sourceIx = ty_pbw32
 , .targetIx = ty_pbw32
-, .cost = 171 /* milli weight units */
+, .cost = 104 /* milli weight units */
 }
 ,[FULL_INCREMENT_64] =
 { .tag = JET
-, .jet = full_increment_64
-, .cmr = {{0x0637fcc5u, 0x52f62a8au, 0x08c6d070u, 0x667ed80eu, 0x47ba707cu, 0x120c4d65u, 0x6604a343u, 0x3bfc40a6u}}
+, .jet = simplicity_full_increment_64
+, .cmr = {{0x999cadeau, 0x9cf0bddau, 0xab12a398u, 0xcf52d18eu, 0x08fb5c18u, 0x5dca00f3u, 0x5ede6327u, 0x7e9bac4eu}}
 , .sourceIx = ty_pbw64
 , .targetIx = ty_pbw64
-, .cost = 161 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[FULL_INCREMENT_8] =
 { .tag = JET
-, .jet = full_increment_8
-, .cmr = {{0x291524e1u, 0x70d523fdu, 0x35c2577bu, 0x8ea3f447u, 0x8ec63206u, 0xc98fb5ccu, 0xcf77c209u, 0xbebd29efu}}
+, .jet = simplicity_full_increment_8
+, .cmr = {{0x2d645cb4u, 0x778da17au, 0x0dad326fu, 0xfedc2b04u, 0xf62d027du, 0x7b40560du, 0x16cd649fu, 0xd5a4d72au}}
 , .sourceIx = ty_pbw8
 , .targetIx = ty_pbw8
-, .cost = 204 /* milli weight units */
+, .cost = 72 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_16_1] =
 { .tag = JET
-, .jet = full_left_shift_16_1
-, .cmr = {{0x740e2381u, 0x1b3e62d4u, 0x91510fc9u, 0xedc4cb0au, 0x0eecfadfu, 0xd21bb27fu, 0x33e220b1u, 0xd87d14d7u}}
+, .jet = simplicity_full_left_shift_16_1
+, .cmr = {{0x32d06f29u, 0x4652b364u, 0x9058a466u, 0x673f04f0u, 0x8880aaa1u, 0x926f908au, 0x9256a99eu, 0x1e2e0bdcu}}
 , .sourceIx = ty_pw16b
 , .targetIx = ty_pbw16
-, .cost = 150 /* milli weight units */
+, .cost = 83 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_16_2] =
 { .tag = JET
-, .jet = full_left_shift_16_2
-, .cmr = {{0xc26e8ac3u, 0xff9cc518u, 0x719d4d7fu, 0xd149d802u, 0xf23f0b02u, 0x4999ed5du, 0xaf369210u, 0xacbe3345u}}
+, .jet = simplicity_full_left_shift_16_2
+, .cmr = {{0xd1a5fb91u, 0xaa70445du, 0x29fdb169u, 0x4037a95du, 0x84e6571bu, 0x3e7773fcu, 0x16f56eb8u, 0x8b676439u}}
 , .sourceIx = ty_pw16w2
 , .targetIx = ty_pw2w16
-, .cost = 150 /* milli weight units */
+, .cost = 83 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_16_4] =
 { .tag = JET
-, .jet = full_left_shift_16_4
-, .cmr = {{0x5e570cbeu, 0x4c7ca94bu, 0xe0fc7b3eu, 0xe579bdd7u, 0x8426f0b7u, 0x67f48517u, 0x17bbfeaeu, 0xde91fe30u}}
+, .jet = simplicity_full_left_shift_16_4
+, .cmr = {{0x9452a9b6u, 0x7549178fu, 0x93c7bb34u, 0x36be0631u, 0x4b4adae5u, 0xde0e3153u, 0xcbd32d55u, 0x9df6f428u}}
 , .sourceIx = ty_pw16w4
 , .targetIx = ty_pw4w16
-, .cost = 150 /* milli weight units */
+, .cost = 89 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_16_8] =
 { .tag = JET
-, .jet = full_left_shift_16_8
-, .cmr = {{0x65adc553u, 0x48383b28u, 0xe8797f81u, 0xa9282d91u, 0x1b3f8fa6u, 0x13927251u, 0xd88e0c38u, 0xb029b705u}}
+, .jet = simplicity_full_left_shift_16_8
+, .cmr = {{0xcdb88c96u, 0x01732a76u, 0x665ac928u, 0x21683bafu, 0xf1844b67u, 0x0bff6639u, 0x17c8913bu, 0xa51c0f08u}}
 , .sourceIx = ty_pw16w8
 , .targetIx = ty_pw8w16
-, .cost = 150 /* milli weight units */
+, .cost = 65 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_32_1] =
 { .tag = JET
-, .jet = full_left_shift_32_1
-, .cmr = {{0x72e0104eu, 0xfaf1dee4u, 0x1198ec3bu, 0x790373f6u, 0x48f13f5eu, 0xe06552fbu, 0x020bafb5u, 0x8497c25cu}}
+, .jet = simplicity_full_left_shift_32_1
+, .cmr = {{0xef4706cau, 0x44a8c55fu, 0x465fa9b3u, 0x9c3c69c8u, 0x12efe3d9u, 0xdfb6c9a5u, 0xc05092b5u, 0x7fc3c153u}}
 , .sourceIx = ty_pw32b
 , .targetIx = ty_pbw32
-, .cost = 150 /* milli weight units */
+, .cost = 84 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_32_16] =
 { .tag = JET
-, .jet = full_left_shift_32_16
-, .cmr = {{0xb9fb2169u, 0x908d9144u, 0xcc73e68fu, 0x753536f4u, 0x3cb2b74cu, 0xb62c6408u, 0x810670deu, 0x84ab09bdu}}
+, .jet = simplicity_full_left_shift_32_16
+, .cmr = {{0x130405b9u, 0x90dfa181u, 0xa76bb296u, 0x5f6b706du, 0xe5b04647u, 0x438a5cabu, 0x6ec3dfb6u, 0xae21fa8au}}
 , .sourceIx = ty_pw32w16
 , .targetIx = ty_pw16w32
-, .cost = 150 /* milli weight units */
+, .cost = 81 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_32_2] =
 { .tag = JET
-, .jet = full_left_shift_32_2
-, .cmr = {{0x11efdb81u, 0xb0c4dedau, 0x4d4f9847u, 0x5d7878efu, 0xa338694fu, 0xa0fd613eu, 0x1293225au, 0x4f462f7cu}}
+, .jet = simplicity_full_left_shift_32_2
+, .cmr = {{0xcc4b9498u, 0xee412385u, 0xc23bff77u, 0xdf137ad2u, 0x96a5b830u, 0x31c1518du, 0xbf4fdf6au, 0xbb567c2au}}
 , .sourceIx = ty_pw32w2
 , .targetIx = ty_pw2w32
-, .cost = 150 /* milli weight units */
+, .cost = 67 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_32_4] =
 { .tag = JET
-, .jet = full_left_shift_32_4
-, .cmr = {{0x77e399d7u, 0xd83f7d11u, 0x44991dafu, 0xa3cc9811u, 0xc1632c29u, 0xe493a8afu, 0x98e98fbcu, 0x1d635fb4u}}
+, .jet = simplicity_full_left_shift_32_4
+, .cmr = {{0xbfadc953u, 0x410047d9u, 0xef398bd3u, 0x3a02aad0u, 0xd48cbd7bu, 0x6ae2de8du, 0xc1f76b0cu, 0xe44f80ecu}}
 , .sourceIx = ty_pw32w4
 , .targetIx = ty_pw4w32
-, .cost = 150 /* milli weight units */
+, .cost = 84 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_32_8] =
 { .tag = JET
-, .jet = full_left_shift_32_8
-, .cmr = {{0xba664cb1u, 0xc42eda17u, 0x9191ebc2u, 0xa110396du, 0xae58f906u, 0xa64106b3u, 0x0667790au, 0xc2f2382du}}
+, .jet = simplicity_full_left_shift_32_8
+, .cmr = {{0xac934c70u, 0xaab810f0u, 0xae527bc0u, 0x749e96ceu, 0x0068e237u, 0xcee2a866u, 0x483ddfaau, 0x2116d931u}}
 , .sourceIx = ty_pw32w8
 , .targetIx = ty_pw8w32
-, .cost = 150 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_64_1] =
 { .tag = JET
-, .jet = full_left_shift_64_1
-, .cmr = {{0x79d38fe0u, 0x75839b22u, 0x7cffd92au, 0x8cdb5c8cu, 0x3522bcb4u, 0xd1e03beeu, 0xb6db6ab6u, 0x4ed4721fu}}
+, .jet = simplicity_full_left_shift_64_1
+, .cmr = {{0xbf32d9dbu, 0xb239e988u, 0x014920ccu, 0x4df2e435u, 0xc712017bu, 0x6a940e77u, 0xc203713du, 0xbfb0fe53u}}
 , .sourceIx = ty_pw64b
 , .targetIx = ty_pbw64
-, .cost = 150 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_64_16] =
 { .tag = JET
-, .jet = full_left_shift_64_16
-, .cmr = {{0x21435662u, 0x45f5a1b9u, 0xdfeb0c75u, 0x878e21dbu, 0xe13804c2u, 0x6935ee47u, 0xcac9ad82u, 0x2d6dedb2u}}
+, .jet = simplicity_full_left_shift_64_16
+, .cmr = {{0x13de9678u, 0x5bd97f6fu, 0x78ec2a37u, 0xf552d4d7u, 0xdae5768eu, 0x39b4bebdu, 0xf3bc7cebu, 0x723c5947u}}
 , .sourceIx = ty_pw64w16
 , .targetIx = ty_pw16w64
-, .cost = 150 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_64_2] =
 { .tag = JET
-, .jet = full_left_shift_64_2
-, .cmr = {{0x9c921649u, 0x15af0b15u, 0x4e1df564u, 0xd4dc9be9u, 0x80b39883u, 0x5c9988bbu, 0xb108d0cdu, 0x8145b330u}}
+, .jet = simplicity_full_left_shift_64_2
+, .cmr = {{0x19d3b141u, 0xcb156cceu, 0x2ac5937au, 0x27a28436u, 0xdc325dd7u, 0xce42476eu, 0xe2cab35fu, 0xb40110e0u}}
 , .sourceIx = ty_pw64w2
 , .targetIx = ty_pw2w64
-, .cost = 150 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_64_32] =
 { .tag = JET
-, .jet = full_left_shift_64_32
-, .cmr = {{0xd0d016e9u, 0xc78cd112u, 0xb4dd91a8u, 0x359f805cu, 0x68415b85u, 0x7a799b00u, 0x394954dcu, 0xd290acbcu}}
+, .jet = simplicity_full_left_shift_64_32
+, .cmr = {{0x6a207615u, 0xbc669d3fu, 0xc17413a4u, 0x2b13a04au, 0x404bb5d4u, 0x036de37fu, 0xe0a56b33u, 0x6a5ff5a6u}}
 , .sourceIx = ty_pw64w32
 , .targetIx = ty_pw32w64
-, .cost = 150 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_64_4] =
 { .tag = JET
-, .jet = full_left_shift_64_4
-, .cmr = {{0x0f1f7d37u, 0x4e82868du, 0x71e7e7c0u, 0x3221b150u, 0x594b6304u, 0x45b1b163u, 0x56cf3545u, 0xbd939263u}}
+, .jet = simplicity_full_left_shift_64_4
+, .cmr = {{0x57f596cfu, 0xe67af58au, 0xe6bc27a1u, 0x2cafe53au, 0x1d5e6aceu, 0x4e54051au, 0x3ae41c1eu, 0xb325f53bu}}
 , .sourceIx = ty_pw64w4
 , .targetIx = ty_pw4w64
-, .cost = 150 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_64_8] =
 { .tag = JET
-, .jet = full_left_shift_64_8
-, .cmr = {{0xad7b4438u, 0xb73f6f9eu, 0x42f64c70u, 0x530475eeu, 0x08936e47u, 0x63e5b73eu, 0xa4bc8383u, 0xa2b963d5u}}
+, .jet = simplicity_full_left_shift_64_8
+, .cmr = {{0x05857a00u, 0x9d2031beu, 0x6df1d87eu, 0x26e11118u, 0xabd06b0fu, 0xf0c878c3u, 0x36f9a076u, 0x11daa8d4u}}
 , .sourceIx = ty_pw64w8
 , .targetIx = ty_pw8w64
-, .cost = 150 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_8_1] =
 { .tag = JET
-, .jet = full_left_shift_8_1
-, .cmr = {{0x2113681au, 0x11624e60u, 0x6030c470u, 0xd68f6061u, 0x232f71cfu, 0xabc50571u, 0x92c6c8bdu, 0x1d73b7e1u}}
+, .jet = simplicity_full_left_shift_8_1
+, .cmr = {{0x4fdc522au, 0x239f2584u, 0x8c28d45bu, 0x39246391u, 0xbe6a2814u, 0xb893cf19u, 0x79ce31b6u, 0x07cf174eu}}
 , .sourceIx = ty_pw8b
 , .targetIx = ty_pbw8
-, .cost = 150 /* milli weight units */
+, .cost = 96 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_8_2] =
 { .tag = JET
-, .jet = full_left_shift_8_2
-, .cmr = {{0x368368c9u, 0x4b040e81u, 0xb948d737u, 0xc193c042u, 0x83ec80a2u, 0x8fd3a021u, 0xb0b8c1abu, 0xcf5edcd3u}}
+, .jet = simplicity_full_left_shift_8_2
+, .cmr = {{0xdcf6333du, 0x5e28bfaau, 0xfee6f20au, 0x855cefb0u, 0x05f0ef32u, 0x8bdccea6u, 0x4a8f2446u, 0xf966a6f2u}}
 , .sourceIx = ty_pw8w2
 , .targetIx = ty_pw2w8
-, .cost = 150 /* milli weight units */
+, .cost = 96 /* milli weight units */
 }
 ,[FULL_LEFT_SHIFT_8_4] =
 { .tag = JET
-, .jet = full_left_shift_8_4
-, .cmr = {{0x8f854d58u, 0xf968b4beu, 0x3b2021fbu, 0x22142dd3u, 0xe68aa819u, 0x7b5475b7u, 0x050b02e1u, 0xe5caee47u}}
+, .jet = simplicity_full_left_shift_8_4
+, .cmr = {{0xf7ed36ebu, 0xd7b4ee3eu, 0x7782d074u, 0x4c47ba1eu, 0xf8fa56dbu, 0x7060e226u, 0xe4e92629u, 0x926f436cu}}
 , .sourceIx = ty_pw8w4
 , .targetIx = ty_pw4w8
-, .cost = 150 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[FULL_MULTIPLY_16] =
 { .tag = JET
-, .jet = full_multiply_16
-, .cmr = {{0x32cf7f50u, 0x894ea2c4u, 0x61a05466u, 0xbbfa1e4eu, 0x1b049957u, 0x523f6493u, 0x7a8b5427u, 0x3dd31b37u}}
+, .jet = simplicity_full_multiply_16
+, .cmr = {{0xc0d736cau, 0x684f8272u, 0xdcfbe38du, 0xcc5429b3u, 0x03a68232u, 0xe5fcd285u, 0x14e22c0bu, 0xe1f470f6u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 208 /* milli weight units */
+, .cost = 112 /* milli weight units */
 }
 ,[FULL_MULTIPLY_32] =
 { .tag = JET
-, .jet = full_multiply_32
-, .cmr = {{0xdea1afc6u, 0xfd546c75u, 0xe0b2d8e4u, 0x18f26179u, 0xd6dbe905u, 0x8b079aa9u, 0xab80eaa6u, 0xc05f39cbu}}
+, .jet = simplicity_full_multiply_32
+, .cmr = {{0xe7205897u, 0x97f6ca4au, 0xd74771f8u, 0xf6c7b6aau, 0xd78bce91u, 0x9fd76d69u, 0xfff599a4u, 0x02e35240u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w64
-, .cost = 213 /* milli weight units */
+, .cost = 96 /* milli weight units */
 }
 ,[FULL_MULTIPLY_64] =
 { .tag = JET
-, .jet = full_multiply_64
-, .cmr = {{0x813d74d6u, 0xc3064cf7u, 0xc5db2ddau, 0x964ed0e2u, 0xd5a2491bu, 0x89432921u, 0x9237cb1au, 0x91ee0934u}}
+, .jet = simplicity_full_multiply_64
+, .cmr = {{0xd9669186u, 0x214487fbu, 0xaabc0852u, 0x15eb01c6u, 0x2b3a28deu, 0x411919bcu, 0x4f37fe43u, 0xc2d00521u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w128
-, .cost = 209 /* milli weight units */
+, .cost = 127 /* milli weight units */
 }
 ,[FULL_MULTIPLY_8] =
 { .tag = JET
-, .jet = full_multiply_8
-, .cmr = {{0xf7f39d95u, 0xdab57308u, 0x52e9cc7eu, 0x74c0743bu, 0x8fb3f754u, 0x87120ba3u, 0x26ff600au, 0xd8b1f3e6u}}
+, .jet = simplicity_full_multiply_8
+, .cmr = {{0x728ac8aau, 0xdb37a0f2u, 0x23eef98cu, 0xf278483du, 0xf194869bu, 0x2e3773f1u, 0x27329eeau, 0xb54c62cau}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 190 /* milli weight units */
+, .cost = 109 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_16_1] =
 { .tag = JET
-, .jet = full_right_shift_16_1
-, .cmr = {{0xb8074423u, 0xe6748a6au, 0xa54ec574u, 0x1feef25au, 0x262fdecbu, 0xfce39124u, 0xe610238au, 0x3b0a23fcu}}
+, .jet = simplicity_full_right_shift_16_1
+, .cmr = {{0x28437c34u, 0x7a0f316eu, 0x99f3444fu, 0x32d949c6u, 0xd1a570d6u, 0xe1f9e47fu, 0x7ea2c498u, 0x7fecb0b4u}}
 , .sourceIx = ty_pbw16
 , .targetIx = ty_pw16b
-, .cost = 150 /* milli weight units */
+, .cost = 80 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_16_2] =
 { .tag = JET
-, .jet = full_right_shift_16_2
-, .cmr = {{0x3fcf985eu, 0xe0c72ca4u, 0x1ddf6c89u, 0xd0f0f69du, 0x5065876eu, 0x3b6020ecu, 0xc9bf059eu, 0x8f9719c6u}}
+, .jet = simplicity_full_right_shift_16_2
+, .cmr = {{0x7b2d0dd3u, 0xecf79ecfu, 0xc0bf923au, 0x92a43ac6u, 0x514bbfc2u, 0x9f6773d7u, 0xb363c3acu, 0xf6f672c4u}}
 , .sourceIx = ty_pw2w16
 , .targetIx = ty_pw16w2
-, .cost = 150 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_16_4] =
 { .tag = JET
-, .jet = full_right_shift_16_4
-, .cmr = {{0xa30c7c29u, 0xd0eeac29u, 0x5258b2b6u, 0x1d0b5413u, 0x46f407c0u, 0x848d448eu, 0x13e9774cu, 0x1c969679u}}
+, .jet = simplicity_full_right_shift_16_4
+, .cmr = {{0xec59de5cu, 0x9c887775u, 0xe4bc556bu, 0x9cf1a772u, 0x3bbeb614u, 0x75d5a5a4u, 0xedf10b61u, 0x2bf9a680u}}
 , .sourceIx = ty_pw4w16
 , .targetIx = ty_pw16w4
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_16_8] =
 { .tag = JET
-, .jet = full_right_shift_16_8
-, .cmr = {{0x5b8808cau, 0xda5587b3u, 0x6d1a6fadu, 0x66ae4da0u, 0x8d412364u, 0x4c0bdd59u, 0x772a70aau, 0x7432e715u}}
+, .jet = simplicity_full_right_shift_16_8
+, .cmr = {{0x264f2a31u, 0xf07bcc54u, 0x7427faffu, 0x0d09c266u, 0x5b30ed30u, 0xf9f8a6c5u, 0x65018400u, 0x144a4d6au}}
 , .sourceIx = ty_pw8w16
 , .targetIx = ty_pw16w8
-, .cost = 150 /* milli weight units */
+, .cost = 57 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_32_1] =
 { .tag = JET
-, .jet = full_right_shift_32_1
-, .cmr = {{0x32afd0efu, 0x94df51b7u, 0xd35c00e5u, 0x61a8390cu, 0x5cf50f93u, 0x0b30d786u, 0x8804b580u, 0x49375840u}}
+, .jet = simplicity_full_right_shift_32_1
+, .cmr = {{0x19d78cceu, 0x30f71eacu, 0xf59a8cf0u, 0xf6028b28u, 0x4d4aa964u, 0xc0c16ad4u, 0xafc7ea47u, 0x5165cba0u}}
 , .sourceIx = ty_pbw32
 , .targetIx = ty_pw32b
-, .cost = 150 /* milli weight units */
+, .cost = 74 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_32_16] =
 { .tag = JET
-, .jet = full_right_shift_32_16
-, .cmr = {{0x44d179a8u, 0x90f7812fu, 0x151331b5u, 0x5fc07eb4u, 0xe4d7814eu, 0xb683da28u, 0x8f8fe7cdu, 0x55b43906u}}
+, .jet = simplicity_full_right_shift_32_16
+, .cmr = {{0x88767415u, 0x79924af6u, 0xd46fbd79u, 0x534a0907u, 0x7bf0ecbcu, 0x971008c7u, 0xdec65d4cu, 0x96e5d831u}}
 , .sourceIx = ty_pw16w32
 , .targetIx = ty_pw32w16
-, .cost = 150 /* milli weight units */
+, .cost = 64 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_32_2] =
 { .tag = JET
-, .jet = full_right_shift_32_2
-, .cmr = {{0x33c661dfu, 0x3a32cae5u, 0x5b52a5f2u, 0x632154ccu, 0x85b65913u, 0x87bc2b34u, 0x8330c870u, 0xa6f6706fu}}
+, .jet = simplicity_full_right_shift_32_2
+, .cmr = {{0x5d3e119du, 0x40e624c5u, 0xc56a7bbdu, 0xf8bb86fbu, 0x6889dc01u, 0x72487c35u, 0x8a531af2u, 0xfcc51dc7u}}
 , .sourceIx = ty_pw2w32
 , .targetIx = ty_pw32w2
-, .cost = 150 /* milli weight units */
+, .cost = 63 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_32_4] =
 { .tag = JET
-, .jet = full_right_shift_32_4
-, .cmr = {{0xe4bebf16u, 0x935f67beu, 0x7d8c86bcu, 0x588adbcfu, 0x8e597539u, 0x257fddabu, 0x9fb04372u, 0xc77012d3u}}
+, .jet = simplicity_full_right_shift_32_4
+, .cmr = {{0x583ac698u, 0x39d235d9u, 0xc06139f5u, 0xb798d2d5u, 0xa349edc2u, 0x0bbd62bau, 0xd1d81285u, 0xd6ad22e3u}}
 , .sourceIx = ty_pw4w32
 , .targetIx = ty_pw32w4
-, .cost = 150 /* milli weight units */
+, .cost = 71 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_32_8] =
 { .tag = JET
-, .jet = full_right_shift_32_8
-, .cmr = {{0xabcffb08u, 0x4a239642u, 0x16d56273u, 0x305c0c8bu, 0x03bdabdau, 0xd69ff7e9u, 0x42f0d2cfu, 0x080febccu}}
+, .jet = simplicity_full_right_shift_32_8
+, .cmr = {{0x0d9cc09bu, 0xbc80e4cdu, 0x764f13bbu, 0x2f7fb9c5u, 0x92120f92u, 0x18d60cacu, 0x8eeac599u, 0x25dbf75du}}
 , .sourceIx = ty_pw8w32
 , .targetIx = ty_pw32w8
-, .cost = 150 /* milli weight units */
+, .cost = 84 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_64_1] =
 { .tag = JET
-, .jet = full_right_shift_64_1
-, .cmr = {{0x37688260u, 0xc53af06bu, 0x856d9022u, 0xca5d87f8u, 0xa687ee53u, 0xfaca1866u, 0xec842a7cu, 0x890a4b70u}}
+, .jet = simplicity_full_right_shift_64_1
+, .cmr = {{0x2ebc1c95u, 0x5d265648u, 0xa8b91b6fu, 0x5ece5f23u, 0xfa9c2c6cu, 0x88de7cbeu, 0x3f7cc838u, 0x5b219117u}}
 , .sourceIx = ty_pbw64
 , .targetIx = ty_pw64b
-, .cost = 150 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_64_16] =
 { .tag = JET
-, .jet = full_right_shift_64_16
-, .cmr = {{0x417bfb71u, 0x5a20b10du, 0x4881f5c3u, 0x496c63efu, 0xee4ab500u, 0x3dfd0a16u, 0xb85f94f8u, 0xe5b0667cu}}
+, .jet = simplicity_full_right_shift_64_16
+, .cmr = {{0x4658dd0cu, 0x37f3ec6bu, 0xe5224173u, 0xd2ff9b7cu, 0x9101742fu, 0x690f15a7u, 0x2e666c87u, 0x0e1d9055u}}
 , .sourceIx = ty_pw16w64
 , .targetIx = ty_pw64w16
-, .cost = 150 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_64_2] =
 { .tag = JET
-, .jet = full_right_shift_64_2
-, .cmr = {{0xceca2567u, 0xb91a63e9u, 0xca44035eu, 0xb59e2f22u, 0xd81e37e1u, 0x96595a74u, 0x8cea4a46u, 0x84a215b0u}}
+, .jet = simplicity_full_right_shift_64_2
+, .cmr = {{0x889f8b7bu, 0xc11e9b74u, 0xea93374fu, 0xfed11464u, 0xe7837deeu, 0x181981cbu, 0xe4786f57u, 0xa265c34fu}}
 , .sourceIx = ty_pw2w64
 , .targetIx = ty_pw64w2
-, .cost = 150 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_64_32] =
 { .tag = JET
-, .jet = full_right_shift_64_32
-, .cmr = {{0x03969937u, 0x84023d47u, 0xe8514b45u, 0x9298198du, 0x33bd71e6u, 0xf756d08eu, 0xdf462a8fu, 0x62a21b80u}}
+, .jet = simplicity_full_right_shift_64_32
+, .cmr = {{0x062467cdu, 0x194bb4feu, 0x1dd5ede5u, 0x7bc65180u, 0x948ebac9u, 0x878b2c04u, 0x2be356f2u, 0xf422c2ecu}}
 , .sourceIx = ty_pw32w64
 , .targetIx = ty_pw64w32
-, .cost = 150 /* milli weight units */
+, .cost = 73 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_64_4] =
 { .tag = JET
-, .jet = full_right_shift_64_4
-, .cmr = {{0xdee4dad6u, 0x7a5ddcc3u, 0x5da1a790u, 0x63ca975fu, 0x8134c8eau, 0xc56a9f55u, 0x5d2b0e13u, 0xda10994du}}
+, .jet = simplicity_full_right_shift_64_4
+, .cmr = {{0x99457213u, 0x88483743u, 0x7e8ab636u, 0xd7f3513au, 0x24d94e74u, 0xe5990c2cu, 0x24e8dfe1u, 0x4cf9986fu}}
 , .sourceIx = ty_pw4w64
 , .targetIx = ty_pw64w4
-, .cost = 150 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_64_8] =
 { .tag = JET
-, .jet = full_right_shift_64_8
-, .cmr = {{0x9cd77803u, 0xfc389c94u, 0xfff286dau, 0x0b374b89u, 0xfeeb3daau, 0x38ce67cau, 0xb0220dabu, 0xeefe23a2u}}
+, .jet = simplicity_full_right_shift_64_8
+, .cmr = {{0x008d5b6au, 0x26a0e13fu, 0x17a924a9u, 0xe00f5b07u, 0xc8123b59u, 0x7e63cdf9u, 0x481dd16fu, 0x4332e6dfu}}
 , .sourceIx = ty_pw8w64
 , .targetIx = ty_pw64w8
-, .cost = 150 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_8_1] =
 { .tag = JET
-, .jet = full_right_shift_8_1
-, .cmr = {{0xee23fff0u, 0x7de53cc3u, 0x7109a47fu, 0x9fde3c74u, 0x447ae831u, 0xcee9ac4du, 0xb790cde8u, 0xb15323b2u}}
+, .jet = simplicity_full_right_shift_8_1
+, .cmr = {{0x591adee6u, 0xd4a3ddf3u, 0x947b4861u, 0x5b7f6ecdu, 0xf1165736u, 0x4c3aeecfu, 0xad43f28eu, 0x11a75e56u}}
 , .sourceIx = ty_pbw8
 , .targetIx = ty_pw8b
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_8_2] =
 { .tag = JET
-, .jet = full_right_shift_8_2
-, .cmr = {{0x25e1dea1u, 0x08c5f89cu, 0xce5b3d5bu, 0x0e0792beu, 0x37901a5au, 0x65def904u, 0xdd51710au, 0x355ab55fu}}
+, .jet = simplicity_full_right_shift_8_2
+, .cmr = {{0xbf18af96u, 0x4c49b62eu, 0xe79921fdu, 0xe0eb3252u, 0xf4163867u, 0x77173ca6u, 0xf6ead689u, 0xb190fb2fu}}
 , .sourceIx = ty_pw2w8
 , .targetIx = ty_pw8w2
-, .cost = 150 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[FULL_RIGHT_SHIFT_8_4] =
 { .tag = JET
-, .jet = full_right_shift_8_4
-, .cmr = {{0xd7f0a83cu, 0x4104543eu, 0xc75b5ee7u, 0x5bf5f791u, 0x5d65fa50u, 0xc2095de2u, 0xa35670a5u, 0x05be129au}}
+, .jet = simplicity_full_right_shift_8_4
+, .cmr = {{0x8d05a281u, 0xbe220a8cu, 0xa3ebd9a8u, 0x626708f9u, 0x1f286da4u, 0x2222c7a5u, 0x518e179cu, 0x09e5a02fu}}
 , .sourceIx = ty_pw4w8
 , .targetIx = ty_pw8w4
-, .cost = 150 /* milli weight units */
+, .cost = 89 /* milli weight units */
 }
 ,[FULL_SUBTRACT_16] =
 { .tag = JET
-, .jet = full_subtract_16
-, .cmr = {{0x95ea5e54u, 0xc5603f2fu, 0x78acf6b8u, 0xa87a63b3u, 0xacc7b65fu, 0x2b87b690u, 0x4b9830fau, 0x91212c8cu}}
+, .jet = simplicity_full_subtract_16
+, .cmr = {{0x7955126eu, 0x2c3d862cu, 0x1e449ef6u, 0xe435df3eu, 0xd5a64c20u, 0x1143578eu, 0xcfd3f51bu, 0xaf2be235u}}
 , .sourceIx = ty_pbw32
 , .targetIx = ty_pbw16
-, .cost = 201 /* milli weight units */
+, .cost = 121 /* milli weight units */
 }
 ,[FULL_SUBTRACT_32] =
 { .tag = JET
-, .jet = full_subtract_32
-, .cmr = {{0x32963526u, 0xfc6089f5u, 0xec7da584u, 0xfbee3237u, 0x631c9b12u, 0x81f6f446u, 0xd99c9b50u, 0xc80c76dbu}}
+, .jet = simplicity_full_subtract_32
+, .cmr = {{0x2618a411u, 0x47c79f69u, 0x09a651b4u, 0x92b54ed3u, 0xc4057a2eu, 0xc039f91cu, 0x20105454u, 0xac610379u}}
 , .sourceIx = ty_pbw64
 , .targetIx = ty_pbw32
-, .cost = 170 /* milli weight units */
+, .cost = 116 /* milli weight units */
 }
 ,[FULL_SUBTRACT_64] =
 { .tag = JET
-, .jet = full_subtract_64
-, .cmr = {{0x15d48a43u, 0x2479b451u, 0xa6e2c18fu, 0x43fb0dfcu, 0x9aeb6fceu, 0x04035027u, 0xb033aa99u, 0xfb143447u}}
+, .jet = simplicity_full_subtract_64
+, .cmr = {{0x5e05b10au, 0xcf51c2f2u, 0xb7f8726du, 0x3f414aeau, 0x2fb6311fu, 0x6dd67245u, 0xbd4a35b1u, 0x6953af13u}}
 , .sourceIx = ty_pbw128
 , .targetIx = ty_pbw64
-, .cost = 231 /* milli weight units */
+, .cost = 98 /* milli weight units */
 }
 ,[FULL_SUBTRACT_8] =
 { .tag = JET
-, .jet = full_subtract_8
-, .cmr = {{0x2bd4f0b3u, 0xa0a758acu, 0x39f1581bu, 0x2c34d7f4u, 0x14db4d8eu, 0x1bc119d7u, 0xf8929135u, 0x480e9affu}}
+, .jet = simplicity_full_subtract_8
+, .cmr = {{0x68d279e1u, 0x6fe84ba5u, 0xe744cdbau, 0x86eff3a3u, 0xe0da0554u, 0x7efa9817u, 0xdfb99fdeu, 0x702146acu}}
 , .sourceIx = ty_pbw16
 , .targetIx = ty_pbw8
-, .cost = 141 /* milli weight units */
+, .cost = 126 /* milli weight units */
 }
 ,[GE_IS_ON_CURVE] =
 { .tag = JET
-, .jet = ge_is_on_curve
-, .cmr = {{0x0572aef3u, 0x6300508cu, 0x96eda4a4u, 0xfec8579du, 0x8d8a43bdu, 0x540cb6ddu, 0xecc82a49u, 0xe668f7deu}}
+, .jet = simplicity_ge_is_on_curve
+, .cmr = {{0xf513c594u, 0x615a9f2fu, 0xcf356055u, 0xe2f77488u, 0x16a3d4bau, 0x5415bf12u, 0xca17a5cau, 0xe9ac725au}}
 , .sourceIx = ty_w512
 , .targetIx = ty_b
-, .cost = 763 /* milli weight units */
+, .cost = 642 /* milli weight units */
 }
 ,[GE_NEGATE] =
 { .tag = JET
-, .jet = ge_negate
-, .cmr = {{0x90f33d91u, 0x0f858f9bu, 0x3b840ddbu, 0xc03d8a39u, 0xaf810214u, 0x853bad3cu, 0x905f1829u, 0x6fdfcb58u}}
+, .jet = simplicity_ge_negate
+, .cmr = {{0xc43f47b1u, 0x1cdbc9cau, 0x85b68805u, 0xa4a70b82u, 0xbf938c1cu, 0x0b2c1b27u, 0x71a86bfdu, 0x993734a7u}}
 , .sourceIx = ty_w512
 , .targetIx = ty_w512
-, .cost = 1278 /* milli weight units */
+, .cost = 945 /* milli weight units */
 }
 ,[GEJ_ADD] =
 { .tag = JET
-, .jet = gej_add
-, .cmr = {{0x00871c07u, 0x66286a50u, 0x0acea05fu, 0x7a1fd98cu, 0x3e5246c1u, 0x946771e4u, 0x738e7582u, 0x091cca0du}}
+, .jet = simplicity_gej_add
+, .cmr = {{0xf56435e4u, 0xad5aa956u, 0x27aaa2f5u, 0xf2bad4e4u, 0x5ef62e4au, 0x8a83c08eu, 0x31e81009u, 0x5ce343b2u}}
 , .sourceIx = ty_ppw512w256pw512w256
 , .targetIx = ty_pw512w256
-, .cost = 3292 /* milli weight units */
+, .cost = 2897 /* milli weight units */
 }
 ,[GEJ_DOUBLE] =
 { .tag = JET
-, .jet = gej_double
-, .cmr = {{0x5fc480c5u, 0x05b67dddu, 0xb9ce84b0u, 0xa8ee5a7eu, 0x4ef0e936u, 0x59d44521u, 0xe6a664acu, 0x5d6556f8u}}
+, .jet = simplicity_gej_double
+, .cmr = {{0xa08ea39eu, 0xeb490b60u, 0x49c72ab9u, 0x215d6105u, 0x8ed1ee33u, 0x77942184u, 0x0d3e3d43u, 0xe63719fcu}}
 , .sourceIx = ty_pw512w256
 , .targetIx = ty_pw512w256
-, .cost = 2103 /* milli weight units */
+, .cost = 1764 /* milli weight units */
 }
 ,[GEJ_EQUIV] =
 { .tag = JET
-, .jet = gej_equiv
-, .cmr = {{0xe87f98d9u, 0x1d9ebdecu, 0x167aba00u, 0xf8e8fc6du, 0xab8079c7u, 0x6b4d9c3du, 0x88f1f84cu, 0x8e6cd274u}}
+, .jet = simplicity_gej_equiv
+, .cmr = {{0x9ca3676bu, 0xccc544edu, 0x7aa3f751u, 0x75e9f23eu, 0x030cd64fu, 0xb6a5898du, 0x90d23e0du, 0xc2aeedd1u}}
 , .sourceIx = ty_ppw512w256pw512w256
 , .targetIx = ty_b
-, .cost = 1270 /* milli weight units */
+, .cost = 2220 /* milli weight units */
 }
 ,[GEJ_GE_ADD] =
 { .tag = JET
-, .jet = gej_ge_add
-, .cmr = {{0xa24d049fu, 0xf1e4cf37u, 0x84c1b7d6u, 0xd1ba09fdu, 0x17fecfebu, 0x5580eab5u, 0xf11e8f8eu, 0xb9d9adefu}}
+, .jet = simplicity_gej_ge_add
+, .cmr = {{0xc8f3d86du, 0x131e35eau, 0x67b250a0u, 0x8edbf58cu, 0x6f05439cu, 0x41fcbd32u, 0x908dc86au, 0xe8ce5df7u}}
 , .sourceIx = ty_ppw512w256w512
 , .targetIx = ty_pw512w256
-, .cost = 2890 /* milli weight units */
+, .cost = 2477 /* milli weight units */
 }
 ,[GEJ_GE_ADD_EX] =
 { .tag = JET
-, .jet = gej_ge_add_ex
-, .cmr = {{0x1e0e26d0u, 0xb29ae63du, 0x41e6767eu, 0x016e7e24u, 0x86e4f5d8u, 0xdc2cf665u, 0x02220316u, 0x40f1733au}}
+, .jet = simplicity_gej_ge_add_ex
+, .cmr = {{0x8bcf3ccbu, 0x4bf69197u, 0x4989fc4eu, 0x86996c66u, 0xbaf1b0abu, 0xa8c96465u, 0x862a8184u, 0xa129a0aeu}}
 , .sourceIx = ty_ppw512w256w512
 , .targetIx = ty_pw256pw512w256
-, .cost = 3114 /* milli weight units */
+, .cost = 2719 /* milli weight units */
 }
 ,[GEJ_GE_EQUIV] =
 { .tag = JET
-, .jet = gej_ge_equiv
-, .cmr = {{0x3b51dacdu, 0x29ff5cd3u, 0xc320455fu, 0xc3fa1ae9u, 0x612129aau, 0x8c8e2374u, 0x60c3ca2au, 0xd54e8f58u}}
+, .jet = simplicity_gej_ge_equiv
+, .cmr = {{0x67b28f43u, 0xbf1eb5c0u, 0x4f245659u, 0x7eab776eu, 0x48d498fdu, 0x8ae5284du, 0xb352a73du, 0x1bdd285bu}}
 , .sourceIx = ty_ppw512w256w512
 , .targetIx = ty_b
-, .cost = 1270 /* milli weight units */
+, .cost = 1765 /* milli weight units */
 }
 ,[GEJ_INFINITY] =
 { .tag = JET
-, .jet = gej_infinity
-, .cmr = {{0x88d4642cu, 0xfc2b52d0u, 0x90ce6e89u, 0x5c20da2eu, 0xfb0df6feu, 0x84f22722u, 0xbc46111cu, 0xc6be5cdau}}
+, .jet = simplicity_gej_infinity
+, .cmr = {{0xc9ccee79u, 0xe6fd3271u, 0xfbb38456u, 0x88742495u, 0x3b254b9eu, 0x90b7b779u, 0xfd578968u, 0x45410c66u}}
 , .sourceIx = ty_u
 , .targetIx = ty_pw512w256
-, .cost = 971 /* milli weight units */
+, .cost = 716 /* milli weight units */
 }
 ,[GEJ_IS_INFINITY] =
 { .tag = JET
-, .jet = gej_is_infinity
-, .cmr = {{0x80f528e5u, 0xd85672dcu, 0x8d9c264fu, 0x67c7b727u, 0x00faad89u, 0x972a7e1du, 0x27d049c9u, 0x474b6cd9u}}
+, .jet = simplicity_gej_is_infinity
+, .cmr = {{0x99d398d5u, 0xf238c055u, 0xee32a975u, 0xdd445fbcu, 0x5ece599fu, 0x74a3190au, 0x636ddd5du, 0xd111f587u}}
 , .sourceIx = ty_pw512w256
 , .targetIx = ty_b
-, .cost = 923 /* milli weight units */
+, .cost = 666 /* milli weight units */
 }
 ,[GEJ_IS_ON_CURVE] =
 { .tag = JET
-, .jet = gej_is_on_curve
-, .cmr = {{0x70ce4ffcu, 0xe2497cc6u, 0x2f170c57u, 0x14ff2cfeu, 0xce90b4cbu, 0x89a6a22fu, 0xac26b1b5u, 0xc66faa10u}}
+, .jet = simplicity_gej_is_on_curve
+, .cmr = {{0x6c73c219u, 0xa7e9228fu, 0x6f482c11u, 0x1743311cu, 0x498bacd0u, 0xc1fc00acu, 0x3ce41f49u, 0x735ba2ffu}}
 , .sourceIx = ty_pw512w256
 , .targetIx = ty_b
-, .cost = 1106 /* milli weight units */
+, .cost = 1016 /* milli weight units */
 }
 ,[GEJ_NEGATE] =
 { .tag = JET
-, .jet = gej_negate
-, .cmr = {{0xad53f179u, 0x3fe07b8du, 0x672d9f7bu, 0x0741e9edu, 0x61557effu, 0x5b7296c5u, 0x68e09b3du, 0x19cf7124u}}
+, .jet = simplicity_gej_negate
+, .cmr = {{0xb1ec2b7bu, 0x3a34294du, 0xf8991291u, 0x1d351fe0u, 0xef233fdcu, 0x60115876u, 0xbdcf611du, 0x590b08d6u}}
 , .sourceIx = ty_pw512w256
 , .targetIx = ty_pw512w256
-, .cost = 1823 /* milli weight units */
+, .cost = 1381 /* milli weight units */
 }
 ,[GEJ_NORMALIZE] =
 { .tag = JET
-, .jet = gej_normalize
-, .cmr = {{0x0333df98u, 0xa8060c93u, 0x15c5fdb8u, 0x3ebffe34u, 0x07bf9c33u, 0x6bf4bb92u, 0x2df58588u, 0x7e1acdc7u}}
+, .jet = simplicity_gej_normalize
+, .cmr = {{0x3cc6cf4cu, 0xed323ea6u, 0xdcf41844u, 0xdb4953aau, 0x3db29d08u, 0xfffc186fu, 0x538a387au, 0x6cbf7227u}}
 , .sourceIx = ty_pw512w256
 , .targetIx = ty_mw512
-, .cost = 4337 /* milli weight units */
+, .cost = 4099 /* milli weight units */
 }
 ,[GEJ_RESCALE] =
 { .tag = JET
-, .jet = gej_rescale
-, .cmr = {{0xf00ad18fu, 0xb4928cfau, 0xd02c5b9du, 0x8b6fd4b0u, 0x5d7cb549u, 0xee65984du, 0x022a6df9u, 0x8712b6d9u}}
+, .jet = simplicity_gej_rescale
+, .cmr = {{0xd1a88777u, 0xd2201bf8u, 0x4c94e585u, 0xc612cd18u, 0xe1aa4a18u, 0x624cca5du, 0xe5fbe441u, 0xc368b190u}}
 , .sourceIx = ty_ppw512w256w256
 , .targetIx = ty_pw512w256
-, .cost = 2315 /* milli weight units */
+, .cost = 1908 /* milli weight units */
 }
 ,[GEJ_X_EQUIV] =
 { .tag = JET
-, .jet = gej_x_equiv
-, .cmr = {{0xe31c0f2cu, 0x5d08139bu, 0x4feb0985u, 0x2c06b6aau, 0x00b1d13eu, 0x62babd99u, 0x828212dcu, 0xff82217cu}}
+, .jet = simplicity_gej_x_equiv
+, .cmr = {{0xb9fe21a5u, 0xed60694du, 0x042ba21cu, 0xadfcd944u, 0x3c6ff728u, 0xf68e51d7u, 0xd55e05a9u, 0xbb7a1d1bu}}
 , .sourceIx = ty_pw256pw512w256
 , .targetIx = ty_b
-, .cost = 1270 /* milli weight units */
+, .cost = 1047 /* milli weight units */
 }
 ,[GEJ_Y_IS_ODD] =
 { .tag = JET
-, .jet = gej_y_is_odd
-, .cmr = {{0xe34c867du, 0xe16b2f65u, 0x6109a738u, 0x72b0b5bau, 0x55ca3c2du, 0xbea9c2c6u, 0xe4cb19adu, 0x18c06f56u}}
+, .jet = simplicity_gej_y_is_odd
+, .cmr = {{0xaf252524u, 0xfb38c44fu, 0xa7ca6f0du, 0x693ee343u, 0x06a31ed9u, 0x21f9311cu, 0x91726389u, 0xb1f68376u}}
 , .sourceIx = ty_pw512w256
 , .targetIx = ty_b
-, .cost = 3665 /* milli weight units */
+, .cost = 3651 /* milli weight units */
 }
 ,[GENERATE] =
 { .tag = JET
-, .jet = generate
-, .cmr = {{0xa3c55befu, 0x32a350d9u, 0x0d5c3dacu, 0x24767a03u, 0x867faf7au, 0x73277703u, 0x895a27cbu, 0x6b44252du}}
+, .jet = simplicity_generate
+, .cmr = {{0xe5872bc9u, 0xf0c1f855u, 0x4de01784u, 0x38a9f649u, 0x9476cac8u, 0xc580f3d0u, 0xb60d8548u, 0x85184cb6u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_pw512w256
-, .cost = 51706 /* milli weight units */
+, .cost = 50071 /* milli weight units */
 }
 ,[GENESIS_BLOCK_HASH] =
 { .tag = JET
-, .jet = genesis_block_hash
-, .cmr = {{0x336ff73du, 0x002f3754u, 0x9c481fd4u, 0xaaf15a58u, 0x60779df2u, 0x83344871u, 0x41f409b4u, 0xb29efb65u}}
+, .jet = simplicity_genesis_block_hash
+, .cmr = {{0xa29f2444u, 0x62fb280eu, 0x83b2ec41u, 0x94694a6du, 0x0d728955u, 0xb225ac02u, 0xdeff4740u, 0xe5014a99u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 395 /* milli weight units */
+, .cost = 148 /* milli weight units */
 }
 ,[HASH_TO_CURVE] =
 { .tag = JET
-, .jet = hash_to_curve
-, .cmr = {{0x4dc3eb6au, 0x6fbe374bu, 0xa7696472u, 0x63a695a4u, 0x5d092113u, 0x8a17f003u, 0xc4abb758u, 0xd838b133u}}
+, .jet = simplicity_hash_to_curve
+, .cmr = {{0xa17b59e3u, 0xf014b158u, 0xad47b5bbu, 0x4290f17bu, 0x5bb70bc6u, 0x471d3be6u, 0xd38698e5u, 0x234ab6f2u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w512
-, .cost = 10956 /* milli weight units */
+, .cost = 68094 /* milli weight units */
 }
 ,[HIGH_1] =
 { .tag = JET
-, .jet = high_1
-, .cmr = {{0x97a143f0u, 0x4cb603f6u, 0x5f84a80du, 0x31c3364fu, 0x8fda2297u, 0x3a9ae695u, 0xa58189c3u, 0x1463a8bfu}}
+, .jet = simplicity_high_1
+, .cmr = {{0x72188756u, 0xe064fef6u, 0x073d8253u, 0x0e95ee3au, 0x04889c6bu, 0xf9e44e05u, 0x9622404eu, 0xa17c694au}}
 , .sourceIx = ty_u
 , .targetIx = ty_b
-, .cost = 169 /* milli weight units */
+, .cost = 57 /* milli weight units */
 }
 ,[HIGH_16] =
 { .tag = JET
-, .jet = high_16
-, .cmr = {{0x6210ac71u, 0x36586c73u, 0xa09c9421u, 0xa40e308cu, 0x4491eaceu, 0x9b5b3695u, 0xd61f4c81u, 0x96a69dc8u}}
+, .jet = simplicity_high_16
+, .cmr = {{0x0e414a0cu, 0xe6814785u, 0xe019f14du, 0x47714076u, 0xe87b123eu, 0x9a2122b1u, 0x643cc066u, 0x8c6ece09u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w16
-, .cost = 159 /* milli weight units */
+, .cost = 66 /* milli weight units */
 }
 ,[HIGH_32] =
 { .tag = JET
-, .jet = high_32
-, .cmr = {{0x719424b1u, 0xacd35b13u, 0x73580690u, 0xa7ec0b8fu, 0xb486145cu, 0x9cde728du, 0xa7984693u, 0xe95fc7c0u}}
+, .jet = simplicity_high_32
+, .cmr = {{0x0803297au, 0xc5fbea98u, 0x5ef619a0u, 0x38bed068u, 0xf860b230u, 0x95260e92u, 0x6af7d89du, 0xd0cc9321u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 121 /* milli weight units */
+, .cost = 58 /* milli weight units */
 }
 ,[HIGH_64] =
 { .tag = JET
-, .jet = high_64
-, .cmr = {{0x8c5d4409u, 0x34dfdcf2u, 0x75a21cf0u, 0x87ac127du, 0xa75715b5u, 0xdac9c693u, 0xc2afd7c7u, 0x18dc0ffbu}}
+, .jet = simplicity_high_64
+, .cmr = {{0x471ce7d2u, 0xd1bccbccu, 0xb18abde3u, 0xe5347953u, 0xbc7e63c8u, 0xb43f1a7cu, 0xee955338u, 0x2c6b8d21u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w64
-, .cost = 110 /* milli weight units */
+, .cost = 68 /* milli weight units */
 }
 ,[HIGH_8] =
 { .tag = JET
-, .jet = high_8
-, .cmr = {{0x3a5ce00eu, 0x15e31808u, 0x51c20021u, 0x1f1c82dau, 0xa33ec876u, 0x38248a4bu, 0xf113407cu, 0x6b16ac4fu}}
+, .jet = simplicity_high_8
+, .cmr = {{0x60c669bbu, 0x56aca88du, 0xa13e0930u, 0x11a7bbedu, 0x55079ea9u, 0xbcdb8438u, 0xf3dc53e1u, 0x2c20409du}}
 , .sourceIx = ty_u
 , .targetIx = ty_w8
-, .cost = 169 /* milli weight units */
+, .cost = 59 /* milli weight units */
 }
 ,[INCREMENT_16] =
 { .tag = JET
-, .jet = increment_16
-, .cmr = {{0x80f6cbbcu, 0x09b78ceau, 0x76c81390u, 0xd3ed989bu, 0x70e43916u, 0x1effaf9au, 0x62c64b1bu, 0x959cd030u}}
+, .jet = simplicity_increment_16
+, .cmr = {{0x49c629dbu, 0x7265d6a8u, 0xd26e83f6u, 0x5d62e738u, 0x54b9ddb2u, 0x1d2aa9c1u, 0xbd946e4du, 0xa0b27932u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_pbw16
-, .cost = 129 /* milli weight units */
+, .cost = 69 /* milli weight units */
 }
 ,[INCREMENT_32] =
 { .tag = JET
-, .jet = increment_32
-, .cmr = {{0x5a963ca4u, 0xada6619au, 0x805346e8u, 0x099503e4u, 0x7825be5cu, 0xf3c9a89bu, 0xfdbe2f19u, 0x1c32a2e0u}}
+, .jet = simplicity_increment_32
+, .cmr = {{0x957edec0u, 0xdc98cf13u, 0xfda5b219u, 0x31f087e3u, 0x648ef2d7u, 0xc6bec8c5u, 0x16e3244fu, 0x1bbc359du}}
 , .sourceIx = ty_w32
 , .targetIx = ty_pbw32
-, .cost = 195 /* milli weight units */
+, .cost = 92 /* milli weight units */
 }
 ,[INCREMENT_64] =
 { .tag = JET
-, .jet = increment_64
-, .cmr = {{0x86575236u, 0x83c2a05cu, 0x0e0998cdu, 0xa7b94e8bu, 0x0365ee83u, 0x22a14c5au, 0x3722b515u, 0xbb681f74u}}
+, .jet = simplicity_increment_64
+, .cmr = {{0x48b1927cu, 0x68404ab0u, 0x1be89fdau, 0xccb164ebu, 0xee4d6944u, 0xca8ef039u, 0x99b27629u, 0x75d22ff8u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_pbw64
-, .cost = 187 /* milli weight units */
+, .cost = 87 /* milli weight units */
 }
 ,[INCREMENT_8] =
 { .tag = JET
-, .jet = increment_8
-, .cmr = {{0xd1db8a9eu, 0xced17e21u, 0x996526bcu, 0x73be8e57u, 0x98688da3u, 0xc2ef8b8du, 0x5ba255d1u, 0x1ed8183eu}}
+, .jet = simplicity_increment_8
+, .cmr = {{0xe0796c02u, 0x7bf4b079u, 0x47ff991bu, 0x278207d3u, 0x26bae074u, 0xa4583b56u, 0x42df0443u, 0x297c901au}}
 , .sourceIx = ty_w8
 , .targetIx = ty_pbw8
-, .cost = 155 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[INPUT_AMOUNT] =
 { .tag = JET
-, .jet = input_amount
-, .cmr = {{0xbe740f91u, 0xe4d7b4b7u, 0xe62cd14au, 0x61cc00a2u, 0x4c3a1fb7u, 0x6c62f77bu, 0x9c1f92a2u, 0x77f55ff0u}}
+, .jet = simplicity_input_amount
+, .cmr = {{0x8ac2a67eu, 0x160c73d5u, 0x3dc2ec44u, 0x252ff7bbu, 0x6da89546u, 0xb4d1a97au, 0xefae1b94u, 0x4dac27c6u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mpspbw256w256spbw256w64
-, .cost = 359 /* milli weight units */
+, .cost = 285 /* milli weight units */
 }
 ,[INPUT_AMOUNTS_HASH] =
 { .tag = JET
-, .jet = input_amounts_hash
-, .cmr = {{0x5a06d0b9u, 0xf11a19fdu, 0x32e83e9du, 0x28111bd2u, 0x5f46528bu, 0x65404504u, 0xc4c6e68eu, 0x645bb04eu}}
+, .jet = simplicity_input_amounts_hash
+, .cmr = {{0x91d3b0a3u, 0x0219e0b3u, 0x0d26ce2bu, 0x064b3e1au, 0x5ad480ceu, 0xb22f50e6u, 0xd9647093u, 0x97571029u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 280 /* milli weight units */
+, .cost = 140 /* milli weight units */
 }
 ,[INPUT_ANNEX_HASH] =
 { .tag = JET
-, .jet = input_annex_hash
-, .cmr = {{0x21769e4fu, 0x92825d7au, 0x82155e10u, 0x2e10605au, 0x8285530fu, 0xfdf75baau, 0x2a8cded3u, 0x628db316u}}
+, .jet = simplicity_input_annex_hash
+, .cmr = {{0xeedb9670u, 0x6949b732u, 0x2d5e8045u, 0x7c03d640u, 0x69ae099du, 0x004baaa2u, 0x232a9153u, 0x61485624u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmw256
-, .cost = 122 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[INPUT_ANNEXES_HASH] =
 { .tag = JET
-, .jet = input_annexes_hash
-, .cmr = {{0x260dc71du, 0x414eb859u, 0xc4a2cb33u, 0xca7406cfu, 0x067bc3c2u, 0x1c339903u, 0x5febafd4u, 0x0e9029c9u}}
+, .jet = simplicity_input_annexes_hash
+, .cmr = {{0xe3595ea7u, 0x7e4810f9u, 0x447d1aa7u, 0x3d5f5336u, 0x0e3e8dc2u, 0x09e2c6d1u, 0xcda4728fu, 0x1b0dbbffu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 290 /* milli weight units */
+, .cost = 155 /* milli weight units */
 }
 ,[INPUT_ASSET] =
 { .tag = JET
-, .jet = input_asset
-, .cmr = {{0x6072d81bu, 0x12015ab2u, 0x97efa1e8u, 0xa7713804u, 0x26ef0a12u, 0xf90d61e1u, 0xd419d082u, 0xe67b7565u}}
+, .jet = simplicity_input_asset
+, .cmr = {{0xa44a2991u, 0x1cb8d65au, 0x91328796u, 0x245eb915u, 0x507937b7u, 0xa7f3be76u, 0x60a8c380u, 0x47ad1ecbu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mspbw256w256
-, .cost = 220 /* milli weight units */
+, .cost = 162 /* milli weight units */
 }
 ,[INPUT_HASH] =
 { .tag = JET
-, .jet = input_hash
-, .cmr = {{0xb5d0d777u, 0x851e89d1u, 0x41d3cda1u, 0xb0f251e9u, 0xc31011d1u, 0xb01c2939u, 0x77119662u, 0xc349959eu}}
+, .jet = simplicity_input_hash
+, .cmr = {{0xba63cae3u, 0xee4a22e2u, 0x5fdd56bbu, 0x843cde5du, 0xe94e774bu, 0xb0db1113u, 0x0cd53997u, 0xd611452au}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 289 /* milli weight units */
+, .cost = 965 /* milli weight units */
 }
 ,[INPUT_OUTPOINTS_HASH] =
 { .tag = JET
-, .jet = input_outpoints_hash
-, .cmr = {{0xdad26093u, 0x0c5f4d23u, 0x8d83565au, 0x6757e147u, 0x0030cb29u, 0xe0fd1e18u, 0xfc46edf3u, 0x1e650557u}}
+, .jet = simplicity_input_outpoints_hash
+, .cmr = {{0x7ff3b3d4u, 0x38864135u, 0xb9a0bb49u, 0xa3001a0eu, 0x4bd38c21u, 0xd2c6a7adu, 0x761bd6a5u, 0x846d44acu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 408 /* milli weight units */
+, .cost = 142 /* milli weight units */
 }
 ,[INPUT_PEGIN] =
 { .tag = JET
-, .jet = input_pegin
-, .cmr = {{0x98f0575au, 0x0a978d26u, 0x626b79c8u, 0x424b4a5du, 0x16d94244u, 0xca606c8au, 0x63bee7e4u, 0xb0509122u}}
+, .jet = simplicity_input_pegin
+, .cmr = {{0x0f2275ecu, 0x2404a92au, 0x0054a214u, 0xf1edafd5u, 0x92a41419u, 0xabacc5b4u, 0x6ae14b92u, 0xf75ea6fau}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmw256
-, .cost = 235 /* milli weight units */
+, .cost = 151 /* milli weight units */
 }
 ,[INPUT_PREV_OUTPOINT] =
 { .tag = JET
-, .jet = input_prev_outpoint
-, .cmr = {{0x7ad26d34u, 0x37c5aebau, 0x3b3d6b54u, 0x128d4d5eu, 0x9b99e9edu, 0x50fe7e07u, 0x674cc734u, 0x8055d895u}}
+, .jet = simplicity_input_prev_outpoint
+, .cmr = {{0xa5199407u, 0x251c98f7u, 0xcfcdf5b6u, 0x709c2d4bu, 0xa5692a42u, 0x3c280c2bu, 0x63be2ae1u, 0x37b1b900u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mpw256w32
-, .cost = 326 /* milli weight units */
+, .cost = 160 /* milli weight units */
 }
 ,[INPUT_SCRIPT_HASH] =
 { .tag = JET
-, .jet = input_script_hash
-, .cmr = {{0xa004c23cu, 0x28e3c938u, 0x9c2a7de1u, 0xf5091364u, 0x3a7ec259u, 0x77a31bd9u, 0x12e148d6u, 0x7b82b6dau}}
+, .jet = simplicity_input_script_hash
+, .cmr = {{0xdc68bd41u, 0x6caf5f7au, 0x77add202u, 0xb2bd4d91u, 0x5b2dcbcbu, 0xb79471f9u, 0xe14b7ca6u, 0xb8502064u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 285 /* milli weight units */
+, .cost = 147 /* milli weight units */
 }
 ,[INPUT_SCRIPT_SIG_HASH] =
 { .tag = JET
-, .jet = input_script_sig_hash
-, .cmr = {{0x25a59e2au, 0xed6be14cu, 0xc0b08f91u, 0xf81ce371u, 0xe396fe38u, 0xd719c33du, 0x38502866u, 0x8ae2eb87u}}
+, .jet = simplicity_input_script_sig_hash
+, .cmr = {{0xabdf166au, 0x06df3209u, 0x807bbeadu, 0x533cfa8bu, 0x1790afc1u, 0x603310e4u, 0xd010a49fu, 0xaa4131d8u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 231 /* milli weight units */
+, .cost = 153 /* milli weight units */
 }
 ,[INPUT_SCRIPT_SIGS_HASH] =
 { .tag = JET
-, .jet = input_script_sigs_hash
-, .cmr = {{0xc47dc33eu, 0x1f780263u, 0x4928f1f5u, 0xd638558bu, 0x8f417eb2u, 0xbff69f54u, 0x2e8ceb98u, 0xbe1f02cdu}}
+, .jet = simplicity_input_script_sigs_hash
+, .cmr = {{0x5e8746c0u, 0xcc04e8f2u, 0x6116b386u, 0x23bfe3b6u, 0x843e3fc0u, 0x93dda409u, 0xd86e4db7u, 0x5c90aa61u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 283 /* milli weight units */
+, .cost = 138 /* milli weight units */
 }
 ,[INPUT_SCRIPTS_HASH] =
 { .tag = JET
-, .jet = input_scripts_hash
-, .cmr = {{0xcfa056e1u, 0x249e8eb1u, 0xcdb7fee1u, 0x2383efa6u, 0x62028e7au, 0xdfcefa4fu, 0x8aa519f6u, 0x51cab9beu}}
+, .jet = simplicity_input_scripts_hash
+, .cmr = {{0x9d5fa7e0u, 0xd8f77460u, 0x8ebcfffcu, 0x3f3c6b70u, 0xf023629bu, 0xc3492d11u, 0xec72598eu, 0x8688dbd4u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 280 /* milli weight units */
+, .cost = 137 /* milli weight units */
 }
 ,[INPUT_SEQUENCE] =
 { .tag = JET
-, .jet = input_sequence
-, .cmr = {{0x9f7a6694u, 0xe5991343u, 0x57c5ee0bu, 0x1ee6d0aeu, 0x5f954d5cu, 0xd1b10e09u, 0x20197a33u, 0xec877a4cu}}
+, .jet = simplicity_input_sequence
+, .cmr = {{0xdb04ac58u, 0x0435cacdu, 0xd2e4ab32u, 0x4ec70187u, 0xb26a6686u, 0xd8618bcbu, 0xb25d1d4eu, 0xcaa932ceu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw32
-, .cost = 144 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[INPUT_SEQUENCES_HASH] =
 { .tag = JET
-, .jet = input_sequences_hash
-, .cmr = {{0x4b8b17e2u, 0x5e918156u, 0xd5625586u, 0x019aa0f7u, 0x6b79a53au, 0x24495de3u, 0xe39c48bbu, 0x03722edau}}
+, .jet = simplicity_input_sequences_hash
+, .cmr = {{0xd2538ef1u, 0x5f5cf602u, 0x49f92c2cu, 0x02f25507u, 0x2c1b4e4fu, 0x1ba2861eu, 0x5daa500du, 0x5e78e3a5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 292 /* milli weight units */
+, .cost = 142 /* milli weight units */
 }
 ,[INPUT_UTXO_HASH] =
 { .tag = JET
-, .jet = input_utxo_hash
-, .cmr = {{0xd6453aeeu, 0xb2b18b4cu, 0x1bb02b33u, 0x51ce5135u, 0x45cb7f10u, 0x62f2a3fau, 0xc680d0bbu, 0xcac63e86u}}
+, .jet = simplicity_input_utxo_hash
+, .cmr = {{0x364c4df7u, 0x765f7d30u, 0x4234a1f3u, 0xb62b3870u, 0xa7a050f4u, 0x824ad8c9u, 0x71c8fdc4u, 0x0c98155du}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 409 /* milli weight units */
+, .cost = 1996 /* milli weight units */
 }
 ,[INPUT_UTXOS_HASH] =
 { .tag = JET
-, .jet = input_utxos_hash
-, .cmr = {{0xde24825fu, 0xdb9d56dau, 0x3638bd48u, 0x0005c3dbu, 0x574fdf11u, 0xc15303b2u, 0x42e29bdbu, 0xc51df389u}}
+, .jet = simplicity_input_utxos_hash
+, .cmr = {{0xd2c1ff7fu, 0xd1623044u, 0xcea58920u, 0x8bb26e18u, 0xe67d6f75u, 0x851c26beu, 0x5b2bafc0u, 0x40ceff83u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 409 /* milli weight units */
+, .cost = 140 /* milli weight units */
 }
 ,[INPUTS_HASH] =
 { .tag = JET
-, .jet = inputs_hash
-, .cmr = {{0x5678275eu, 0xde8721f1u, 0xabda5cb4u, 0x60b30238u, 0x11d23e47u, 0xcc1f11c1u, 0xf4458035u, 0xcdc3d7ecu}}
+, .jet = simplicity_inputs_hash
+, .cmr = {{0xb46c91acu, 0x9cfa6b9fu, 0x086c3833u, 0x591be31au, 0xa85e951bu, 0x2ce21af1u, 0x179d2859u, 0xf71142b9u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 289 /* milli weight units */
+, .cost = 154 /* milli weight units */
 }
 ,[INTERNAL_KEY] =
 { .tag = JET
-, .jet = internal_key
-, .cmr = {{0x6e048732u, 0x5df1ac05u, 0xd2d7decbu, 0xee3fc1f5u, 0xd63df047u, 0xf69c22b4u, 0xd93bc47cu, 0xbab44941u}}
+, .jet = simplicity_internal_key
+, .cmr = {{0xd74def82u, 0x874fe2fdu, 0x21aa3998u, 0xf65aa1afu, 0x33f72a5bu, 0x1b3f47b7u, 0x3adc39ebu, 0xfb3a4e9bu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 272 /* milli weight units */
+, .cost = 152 /* milli weight units */
 }
 ,[IS_ONE_16] =
 { .tag = JET
-, .jet = is_one_16
-, .cmr = {{0x877cd001u, 0xd5e7b74eu, 0xdd1a4a5cu, 0x965641d4u, 0xfb53682du, 0x7fefae50u, 0xb5141218u, 0xc04be5afu}}
+, .jet = simplicity_is_one_16
+, .cmr = {{0xa686b25cu, 0x80a21f78u, 0xfb3074c0u, 0xf976dc0bu, 0x8fe106c1u, 0x3dca01cbu, 0xd6b4aef6u, 0xd04f2643u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 117 /* milli weight units */
+, .cost = 82 /* milli weight units */
 }
 ,[IS_ONE_32] =
 { .tag = JET
-, .jet = is_one_32
-, .cmr = {{0x83354e97u, 0xd614600au, 0x49894ec2u, 0xc9d1980fu, 0x9c4c928cu, 0x1561eecau, 0xc99c1681u, 0x9c2b0791u}}
+, .jet = simplicity_is_one_32
+, .cmr = {{0xfcfadf11u, 0xd7b1bb23u, 0x9f29d1cau, 0x9fdcf35bu, 0x728a1a62u, 0x2376071du, 0x3c4d88a1u, 0x3b122684u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 136 /* milli weight units */
+, .cost = 65 /* milli weight units */
 }
 ,[IS_ONE_64] =
 { .tag = JET
-, .jet = is_one_64
-, .cmr = {{0xb355f602u, 0xec76c4c4u, 0xce707720u, 0xfd543432u, 0x22a7c8cfu, 0xca439451u, 0xf23f9854u, 0x395078bau}}
+, .jet = simplicity_is_one_64
+, .cmr = {{0xcf691072u, 0x3754ba79u, 0x4395da5du, 0x58d61c19u, 0x003e45eeu, 0xcfbfc90du, 0x49fe657fu, 0x607c451cu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 163 /* milli weight units */
+, .cost = 83 /* milli weight units */
 }
 ,[IS_ONE_8] =
 { .tag = JET
-, .jet = is_one_8
-, .cmr = {{0xf2459cf3u, 0x5b972029u, 0xfbb22e82u, 0x191ace11u, 0x732b1e08u, 0x346e21cfu, 0x0d305b41u, 0xfae87990u}}
+, .jet = simplicity_is_one_8
+, .cmr = {{0x56a22d0eu, 0xcb2086d4u, 0x3d52fd1du, 0x46698ad4u, 0x426f9235u, 0x6a14ce06u, 0x50941e52u, 0x072c96a8u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_b
-, .cost = 160 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[IS_ZERO_16] =
 { .tag = JET
-, .jet = is_zero_16
-, .cmr = {{0x6ed03325u, 0x6fe645b5u, 0xec3f5950u, 0x8c60192au, 0xc8763008u, 0x915c8115u, 0xe929330cu, 0x0fcd4838u}}
+, .jet = simplicity_is_zero_16
+, .cmr = {{0xf49abdbdu, 0x6a3f17c8u, 0x7dbabd40u, 0xe6611c47u, 0x7d431771u, 0x905645efu, 0xd3b22d37u, 0x91abe6bdu}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 143 /* milli weight units */
+, .cost = 75 /* milli weight units */
 }
 ,[IS_ZERO_32] =
 { .tag = JET
-, .jet = is_zero_32
-, .cmr = {{0x1af358a0u, 0x6be93ac6u, 0xf37cbb7du, 0x254d7bf9u, 0xd7187738u, 0xbaf1f25du, 0x0b67c9ffu, 0xe00f6a62u}}
+, .jet = simplicity_is_zero_32
+, .cmr = {{0x935d13dau, 0x64190a36u, 0x04735af8u, 0x4021bc12u, 0x503497eeu, 0x4b0ff4b7u, 0x38fc847eu, 0x9d341921u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 135 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[IS_ZERO_64] =
 { .tag = JET
-, .jet = is_zero_64
-, .cmr = {{0xc1100cfcu, 0x16203ca4u, 0x44f16082u, 0x645b724du, 0x3ecd23dfu, 0x5d0ccf91u, 0xf35c5d9bu, 0x5a02a2f2u}}
+, .jet = simplicity_is_zero_64
+, .cmr = {{0xe9b57475u, 0x1330f9feu, 0xaea52ae4u, 0xcdd3a2e4u, 0x6a999c4fu, 0x41c8b524u, 0x002c6805u, 0x66584621u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 136 /* milli weight units */
+, .cost = 80 /* milli weight units */
 }
 ,[IS_ZERO_8] =
 { .tag = JET
-, .jet = is_zero_8
-, .cmr = {{0x4d58680du, 0x8e1e8618u, 0xc43ce525u, 0xf78661a3u, 0x01486758u, 0x61a612d1u, 0xbfcfe3bbu, 0x5fa4ca95u}}
+, .jet = simplicity_is_zero_8
+, .cmr = {{0xfd7fc505u, 0xc224e8bcu, 0x02087f9eu, 0xebc485e9u, 0x97ca1537u, 0x48c78112u, 0x2e1b9ac0u, 0xfd94b932u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_b
-, .cost = 163 /* milli weight units */
+, .cost = 77 /* milli weight units */
 }
 ,[ISSUANCE] =
 { .tag = JET
-, .jet = issuance
-, .cmr = {{0x1dd033d3u, 0x2cd8e890u, 0x2f5ecb18u, 0x3385ec2bu, 0x0c27da38u, 0xae8e7b59u, 0x3f68f9b1u, 0xa4e62051u}}
+, .jet = simplicity_issuance
+, .cmr = {{0x911e8739u, 0x8f08b9acu, 0x8351c8efu, 0x62c1a114u, 0x8ca6ffc7u, 0x7a4bc378u, 0x3b8e0739u, 0xebb6194eu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmb
-, .cost = 116 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[ISSUANCE_ASSET] =
 { .tag = JET
-, .jet = issuance_asset
-, .cmr = {{0x7a3699d0u, 0x71030b58u, 0xd9f41ae1u, 0x1c637bacu, 0x977849f6u, 0x9a0487b1u, 0x9d2336d1u, 0xa7c6b705u}}
+, .jet = simplicity_issuance_asset
+, .cmr = {{0xc3d642dau, 0x7092da2au, 0x37a2d5b6u, 0x397f6b04u, 0x7702e354u, 0x6e898738u, 0x46587912u, 0xd709ddbcu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmw256
-, .cost = 241 /* milli weight units */
+, .cost = 151 /* milli weight units */
 }
 ,[ISSUANCE_ASSET_AMOUNT] =
 { .tag = JET
-, .jet = issuance_asset_amount
-, .cmr = {{0x75bd9955u, 0x9c022dbfu, 0x5d5cf951u, 0xcb33ea37u, 0x05058bf8u, 0x1fbc74d5u, 0x9bbfba9eu, 0x37a1be0du}}
+, .jet = simplicity_issuance_asset_amount
+, .cmr = {{0x25c572dbu, 0x81b0ac54u, 0x58804ac3u, 0x3a57c00du, 0x11c72a10u, 0x4c0d9cf7u, 0x4226e444u, 0x049bcc83u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmspbw256w64
-, .cost = 261 /* milli weight units */
+, .cost = 162 /* milli weight units */
 }
 ,[ISSUANCE_ASSET_AMOUNTS_HASH] =
 { .tag = JET
-, .jet = issuance_asset_amounts_hash
-, .cmr = {{0x8c090d1au, 0x32b32b27u, 0x1fa376a3u, 0xba303616u, 0x8c0f62f9u, 0xa446ace2u, 0x9b3545c9u, 0xe51f3e47u}}
+, .jet = simplicity_issuance_asset_amounts_hash
+, .cmr = {{0x379a9f69u, 0x9aed347au, 0xc13699cfu, 0x8c13e497u, 0x8a0e0525u, 0xfa09ab3cu, 0x46d54c3bu, 0xb848913cu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 276 /* milli weight units */
+, .cost = 139 /* milli weight units */
 }
 ,[ISSUANCE_ASSET_PROOF] =
 { .tag = JET
-, .jet = issuance_asset_proof
-, .cmr = {{0xc0482071u, 0x1dc25ab0u, 0x61da6de8u, 0x32788d6du, 0xbfb54cfeu, 0xeafddb7eu, 0x1eae6085u, 0x0a766ee9u}}
+, .jet = simplicity_issuance_asset_proof
+, .cmr = {{0xe2ac38bcu, 0x9445fadcu, 0x55c9841eu, 0xc6f84282u, 0x3066f647u, 0x776eaa03u, 0xbff58d14u, 0x3171117cu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 229 /* milli weight units */
+, .cost = 150 /* milli weight units */
 }
 ,[ISSUANCE_BLINDING_ENTROPY_HASH] =
 { .tag = JET
-, .jet = issuance_blinding_entropy_hash
-, .cmr = {{0x3c429fa6u, 0x28e12ccfu, 0x9f167a07u, 0xe26f70afu, 0x36cb3459u, 0x964dbc14u, 0x2b524d40u, 0x9db1699bu}}
+, .jet = simplicity_issuance_blinding_entropy_hash
+, .cmr = {{0x53321092u, 0xa0251a3bu, 0x57c58ac4u, 0x479191e3u, 0x1dbb1239u, 0x247b3c1eu, 0xb5761b48u, 0x22b3bb57u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 278 /* milli weight units */
+, .cost = 129 /* milli weight units */
 }
 ,[ISSUANCE_ENTROPY] =
 { .tag = JET
-, .jet = issuance_entropy
-, .cmr = {{0x61f31455u, 0xd9982801u, 0x25df98e5u, 0x983d72f5u, 0xfbfdd65cu, 0x6369a0e7u, 0x8d07702fu, 0x28e2ff5eu}}
+, .jet = simplicity_issuance_entropy
+, .cmr = {{0xbc88dc73u, 0xc27d9395u, 0xd3b44c2eu, 0x389fa1c5u, 0x46a8fe78u, 0x22607e26u, 0xa6c4c5c8u, 0xbfcad628u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmw256
-, .cost = 437 /* milli weight units */
+, .cost = 153 /* milli weight units */
 }
 ,[ISSUANCE_HASH] =
 { .tag = JET
-, .jet = issuance_hash
-, .cmr = {{0x3a7c8ea2u, 0xde579879u, 0x275bf1beu, 0xa7be5279u, 0xe703a36du, 0xc5f4e488u, 0x53a3af9bu, 0x0c501b66u}}
+, .jet = simplicity_issuance_hash
+, .cmr = {{0xb0f1f85au, 0x33eb4065u, 0xb41b5e14u, 0xa817a21du, 0xea01230cu, 0x534c634du, 0x0f6f62b2u, 0x79374692u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 281 /* milli weight units */
+, .cost = 3738 /* milli weight units */
 }
 ,[ISSUANCE_RANGE_PROOFS_HASH] =
 { .tag = JET
-, .jet = issuance_range_proofs_hash
-, .cmr = {{0xe05a29d1u, 0x7161105eu, 0x3b5221f4u, 0xebae702bu, 0x0c4c72b6u, 0xcb70dfdeu, 0xe2dc607bu, 0xa8a8cf72u}}
+, .jet = simplicity_issuance_range_proofs_hash
+, .cmr = {{0x46c80e30u, 0x1a3d76d4u, 0xd36ab017u, 0xbd0eca7eu, 0x4b5ff244u, 0x706e73a1u, 0xd415c958u, 0x578cd9d1u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 280 /* milli weight units */
+, .cost = 129 /* milli weight units */
 }
 ,[ISSUANCE_TOKEN] =
 { .tag = JET
-, .jet = issuance_token
-, .cmr = {{0x0c7e9b99u, 0xf9ec40f6u, 0x7020f83eu, 0x7367db45u, 0x88038ecdu, 0x1b3124b9u, 0x5be98267u, 0xd5f348c8u}}
+, .jet = simplicity_issuance_token
+, .cmr = {{0x356e77c8u, 0x952740aeu, 0xfa9315a2u, 0xc4e08799u, 0x129f9a43u, 0xf976e0feu, 0xaf7a60c3u, 0x9d9807ccu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmw256
-, .cost = 253 /* milli weight units */
+, .cost = 149 /* milli weight units */
 }
 ,[ISSUANCE_TOKEN_AMOUNT] =
 { .tag = JET
-, .jet = issuance_token_amount
-, .cmr = {{0x9554ccd2u, 0x417ed6b3u, 0x75b17883u, 0xf7e98557u, 0xe448d804u, 0xccec8dc6u, 0xa3a38c60u, 0xf2f4097au}}
+, .jet = simplicity_issuance_token_amount
+, .cmr = {{0x826f0c44u, 0x4827f604u, 0x2fac0c3eu, 0xd34ff623u, 0x6da3a525u, 0xf68d5f2cu, 0xd1be55f4u, 0xa2d59531u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmspbw256w64
-, .cost = 240 /* milli weight units */
+, .cost = 196 /* milli weight units */
 }
 ,[ISSUANCE_TOKEN_AMOUNTS_HASH] =
 { .tag = JET
-, .jet = issuance_token_amounts_hash
-, .cmr = {{0x195e7666u, 0x1a78bc69u, 0x1ef0139eu, 0x1f366a96u, 0x6f75584au, 0xb7768dc7u, 0x8fffabdeu, 0x155601f6u}}
+, .jet = simplicity_issuance_token_amounts_hash
+, .cmr = {{0x144dfd45u, 0xfba32109u, 0xf5deae01u, 0x8b61cd66u, 0x3782d9bcu, 0xe6b38258u, 0xa405d204u, 0x9c5d4af9u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 289 /* milli weight units */
+, .cost = 138 /* milli weight units */
 }
 ,[ISSUANCE_TOKEN_PROOF] =
 { .tag = JET
-, .jet = issuance_token_proof
-, .cmr = {{0x9bd45c77u, 0x4d41d208u, 0x968d9adeu, 0x7d280debu, 0x05c2699au, 0xb2b870ebu, 0xe6f44ac3u, 0xb52ec8feu}}
+, .jet = simplicity_issuance_token_proof
+, .cmr = {{0x8a254d11u, 0x89f12df8u, 0x4f15fed9u, 0x5ac294d5u, 0xd956268eu, 0x80bbdfbbu, 0x4ca2d598u, 0xa15349a4u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 233 /* milli weight units */
+, .cost = 150 /* milli weight units */
 }
 ,[ISSUANCES_HASH] =
 { .tag = JET
-, .jet = issuances_hash
-, .cmr = {{0x9ab9fd03u, 0xff1c6958u, 0x6174bc26u, 0xa88764f0u, 0xdf9cc7ddu, 0x6e61f3dcu, 0x3e426660u, 0xf0912230u}}
+, .jet = simplicity_issuances_hash
+, .cmr = {{0xeebbeb65u, 0xb70c6110u, 0xc8a22b4du, 0x3197b6d2u, 0x110d2376u, 0x9a084923u, 0x8abc65d4u, 0x10cf04f0u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 281 /* milli weight units */
+, .cost = 141 /* milli weight units */
 }
 ,[LBTC_ASSET] =
 { .tag = JET
-, .jet = lbtc_asset
-, .cmr = {{0x495dd0a1u, 0xcb39ee84u, 0xff45e1dfu, 0x3db4b69du, 0xe27c37c3u, 0x6d69b312u, 0x976c43f5u, 0x0e5d941au}}
+, .jet = simplicity_lbtc_asset
+, .cmr = {{0xdf9bcd3fu, 0x9de3d246u, 0x4658db84u, 0x9038692eu, 0x3389bf22u, 0x86de8e17u, 0xa567ea11u, 0xc02e9aacu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 3065 /* milli weight units */
+, .cost = 145 /* milli weight units */
 }
 ,[LE_16] =
 { .tag = JET
-, .jet = le_16
-, .cmr = {{0xd617feeau, 0xfd6ffc23u, 0xfeffbe70u, 0x12ce3a03u, 0x02d4d111u, 0x665822b3u, 0x04b79adbu, 0xcc9a16d7u}}
+, .jet = simplicity_le_16
+, .cmr = {{0x98af70d8u, 0x94f3d439u, 0xbe0601e2u, 0x4a33f065u, 0x0d2365bcu, 0xf0230288u, 0x62ebfda4u, 0xd50a2dcau}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 166 /* milli weight units */
+, .cost = 112 /* milli weight units */
 }
 ,[LE_32] =
 { .tag = JET
-, .jet = le_32
-, .cmr = {{0x45745c5bu, 0xc7f8978fu, 0x85b1b14du, 0x494af21au, 0x8a51ccd8u, 0x7f3fede9u, 0x59749591u, 0x32aef9ceu}}
+, .jet = simplicity_le_32
+, .cmr = {{0x04a8351au, 0x4c97d3b5u, 0xde4f91b2u, 0xe9739d9bu, 0x3cc6ad49u, 0xca07109cu, 0x2cc4918fu, 0xafac66b5u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 216 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[LE_64] =
 { .tag = JET
-, .jet = le_64
-, .cmr = {{0x3a8f0870u, 0x900af71du, 0x4242fe26u, 0xad4dfbedu, 0x92f30bb7u, 0x9b72737du, 0xbcab9ac5u, 0xc070abe5u}}
+, .jet = simplicity_le_64
+, .cmr = {{0x194c01d8u, 0xaa689517u, 0x11e61514u, 0x0e2b5aceu, 0x426dacd1u, 0xfd6d86c7u, 0xa72f3aaau, 0x089c2467u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_b
-, .cost = 173 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[LE_8] =
 { .tag = JET
-, .jet = le_8
-, .cmr = {{0x5ecc9b33u, 0x25446749u, 0xafa40965u, 0xea21e011u, 0x18fb8c1au, 0xdcdc1121u, 0x9793cb2au, 0xfc4a7e8cu}}
+, .jet = simplicity_le_8
+, .cmr = {{0xb133ad2du, 0x1a6178b1u, 0x9894c9dcu, 0xe5924c19u, 0x9a045fabu, 0x4e388f16u, 0x9ae1d869u, 0x81149a8bu}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 143 /* milli weight units */
+, .cost = 109 /* milli weight units */
 }
 ,[LEFT_EXTEND_16_32] =
 { .tag = JET
-, .jet = left_extend_16_32
-, .cmr = {{0x8c990435u, 0xb135de74u, 0x57c2690du, 0x2dc8744au, 0x506641b8u, 0x81f41e5cu, 0x17027765u, 0xc352ddcbu}}
+, .jet = simplicity_left_extend_16_32
+, .cmr = {{0x9dbb9d79u, 0x97c1b1fau, 0x59131e79u, 0xaad16b9fu, 0xca81c468u, 0x322d56ccu, 0x0e71fa05u, 0xdd80c96cu}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[LEFT_EXTEND_16_64] =
 { .tag = JET
-, .jet = left_extend_16_64
-, .cmr = {{0x9b9ff9ccu, 0x27139319u, 0xb224b7b2u, 0xb816c913u, 0xa568bfd0u, 0x0be1f383u, 0xc026bcffu, 0xe9bfe712u}}
+, .jet = simplicity_left_extend_16_64
+, .cmr = {{0x5d3329d2u, 0xc29be104u, 0xde74ddafu, 0xc9b22ff6u, 0x5d268ba2u, 0xccdda677u, 0xe8fbfc65u, 0x0130a371u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 89 /* milli weight units */
 }
 ,[LEFT_EXTEND_1_16] =
 { .tag = JET
-, .jet = left_extend_1_16
-, .cmr = {{0xb8ff8dc1u, 0xa04ca716u, 0x4917f4c4u, 0x50688c83u, 0xdd416cefu, 0x7b0fabddu, 0x1692fae6u, 0xbff7b4a6u}}
+, .jet = simplicity_left_extend_1_16
+, .cmr = {{0x74ee5a71u, 0x889e97c0u, 0x3d9b904cu, 0x679ff7f2u, 0xe8c7410eu, 0x6dc748e0u, 0xb548ebfdu, 0x9603d1adu}}
 , .sourceIx = ty_b
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 67 /* milli weight units */
 }
 ,[LEFT_EXTEND_1_32] =
 { .tag = JET
-, .jet = left_extend_1_32
-, .cmr = {{0x2253a452u, 0xb99902abu, 0xcf15496du, 0xf19d3112u, 0xa1cef59bu, 0x9adcee20u, 0x6c0d8dceu, 0xa628d073u}}
+, .jet = simplicity_left_extend_1_32
+, .cmr = {{0x97ac6403u, 0xdf61c784u, 0x1396c93eu, 0x141fafc2u, 0xa0966e3eu, 0x4974877bu, 0x9e942be5u, 0x9c78c800u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 60 /* milli weight units */
 }
 ,[LEFT_EXTEND_1_64] =
 { .tag = JET
-, .jet = left_extend_1_64
-, .cmr = {{0xc8599c85u, 0x75edb7c2u, 0x60402ef2u, 0xf26dd491u, 0xcb5e4d38u, 0x18ff2e95u, 0x85c8d3e7u, 0x812db5aau}}
+, .jet = simplicity_left_extend_1_64
+, .cmr = {{0x548aeb2bu, 0x27b9ef2au, 0x0bec50b6u, 0x3852fe24u, 0x549e60a7u, 0x43b9789eu, 0xc98ad4f8u, 0x737713edu}}
 , .sourceIx = ty_b
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 76 /* milli weight units */
 }
 ,[LEFT_EXTEND_1_8] =
 { .tag = JET
-, .jet = left_extend_1_8
-, .cmr = {{0xcfe02200u, 0x5f6bad4bu, 0x25b51e9eu, 0xbe929424u, 0x373ff197u, 0xceca62b9u, 0xe069ab08u, 0xda9f38f2u}}
+, .jet = simplicity_left_extend_1_8
+, .cmr = {{0x7488da61u, 0x1cfcdfa4u, 0xff3d63f8u, 0xc36d5a62u, 0x9c587e92u, 0x20bd989bu, 0xda720678u, 0xa9c97bf7u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 65 /* milli weight units */
 }
 ,[LEFT_EXTEND_32_64] =
 { .tag = JET
-, .jet = left_extend_32_64
-, .cmr = {{0x3f668404u, 0x7edafb76u, 0xf11fbf59u, 0x5499c5abu, 0xa9c4ba55u, 0xcab587cdu, 0xfebad457u, 0xb55bf5bbu}}
+, .jet = simplicity_left_extend_32_64
+, .cmr = {{0x3433509au, 0x5de5695du, 0x92cab925u, 0x5143d606u, 0x670568c1u, 0x47f474d1u, 0x3593f539u, 0x5b9ad2c1u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 63 /* milli weight units */
 }
 ,[LEFT_EXTEND_8_16] =
 { .tag = JET
-, .jet = left_extend_8_16
-, .cmr = {{0xdbd55f41u, 0x70153853u, 0xbad0e084u, 0xf9e1a7e7u, 0x5a7a0dc9u, 0xd8920775u, 0x575b0d48u, 0xe507af2fu}}
+, .jet = simplicity_left_extend_8_16
+, .cmr = {{0x420d0a56u, 0x99b8875au, 0xcc2d18fdu, 0xa90c8a72u, 0x746d3e5eu, 0x0cd8c181u, 0x897a814cu, 0x4c433969u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[LEFT_EXTEND_8_32] =
 { .tag = JET
-, .jet = left_extend_8_32
-, .cmr = {{0x5b5b4567u, 0x6a7503eeu, 0xd0855738u, 0x69dbc580u, 0x0b35029du, 0x140290acu, 0x20891489u, 0xbd2aa7d5u}}
+, .jet = simplicity_left_extend_8_32
+, .cmr = {{0xc30e475du, 0x4650abe4u, 0xae15c327u, 0x4ae8838du, 0xd51588d1u, 0x5bd0c6dcu, 0xacf982aau, 0x467bea62u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[LEFT_EXTEND_8_64] =
 { .tag = JET
-, .jet = left_extend_8_64
-, .cmr = {{0x7b9ea148u, 0xa30f2af4u, 0xd4001d4fu, 0x25b0bf4fu, 0xdd67c7d0u, 0xf134d7efu, 0x3f678f72u, 0x19002bcfu}}
+, .jet = simplicity_left_extend_8_64
+, .cmr = {{0xa63a6e66u, 0x72e1b6c7u, 0x56549a3eu, 0xee01948eu, 0x711994feu, 0x18d7caedu, 0xf10915c1u, 0x60d7a80du}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 107 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_16_32] =
 { .tag = JET
-, .jet = left_pad_high_16_32
-, .cmr = {{0xe8c2d85au, 0x7b7b2a8eu, 0xbb5b0f21u, 0x2fc8450du, 0xc1d3a468u, 0x22fb21e8u, 0x6e3fee02u, 0x0af9738fu}}
+, .jet = simplicity_left_pad_high_16_32
+, .cmr = {{0x72eca5c1u, 0x13743ef0u, 0xb60255ceu, 0x56787772u, 0xc7e75eecu, 0xb0e3b91eu, 0x1a847d75u, 0xf4851487u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_16_64] =
 { .tag = JET
-, .jet = left_pad_high_16_64
-, .cmr = {{0x613b85d2u, 0xa751b3e5u, 0x1fbc59a1u, 0xdedd1fc7u, 0x93365e40u, 0x71dc1e01u, 0x4108d892u, 0x0d41d470u}}
+, .jet = simplicity_left_pad_high_16_64
+, .cmr = {{0xf6af32bfu, 0xe6697611u, 0x57ceb1e8u, 0x30277d61u, 0x0e124f15u, 0xd508685eu, 0x4037f8fbu, 0x388fbda9u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 110 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_1_16] =
 { .tag = JET
-, .jet = left_pad_high_1_16
-, .cmr = {{0xe82b00efu, 0xd7dcc34eu, 0x96e8f3e5u, 0x1ead12d3u, 0x845f6c77u, 0x85e4438bu, 0x05457d95u, 0x326e59e3u}}
+, .jet = simplicity_left_pad_high_1_16
+, .cmr = {{0xa7ef7fc5u, 0x2d9a0321u, 0xf92214c5u, 0x87689c12u, 0x696e4c46u, 0x02bf5395u, 0x81afaaebu, 0xd77945d6u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 141 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_1_32] =
 { .tag = JET
-, .jet = left_pad_high_1_32
-, .cmr = {{0x88585b8cu, 0x4592d5d0u, 0x83dff68eu, 0xb5c230d0u, 0x6c37995au, 0x6fede22cu, 0x26e661a7u, 0x516e5bf4u}}
+, .jet = simplicity_left_pad_high_1_32
+, .cmr = {{0xb5482636u, 0xc7af61f6u, 0x88f12b4du, 0xce209fcbu, 0x1a732c49u, 0x0abb236eu, 0x73968a01u, 0xd4d9351eu}}
 , .sourceIx = ty_b
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 263 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_1_64] =
 { .tag = JET
-, .jet = left_pad_high_1_64
-, .cmr = {{0xc27e3d02u, 0x94922058u, 0x890d5c8bu, 0x676c1daeu, 0xfdde6531u, 0xe8ae6d79u, 0x37539272u, 0x3ead9c03u}}
+, .jet = simplicity_left_pad_high_1_64
+, .cmr = {{0x6a9f2a1fu, 0xf5d46c8eu, 0x6b7c3b81u, 0x01afa073u, 0x55c4f653u, 0xc1467e45u, 0xcd25cc09u, 0x2e3a11fau}}
 , .sourceIx = ty_b
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 422 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_1_8] =
 { .tag = JET
-, .jet = left_pad_high_1_8
-, .cmr = {{0x143e1239u, 0x2b8f2e73u, 0x5371fed0u, 0xb4b6d623u, 0xffa4f660u, 0xe5390c00u, 0xe567cf21u, 0xa1c92078u}}
+, .jet = simplicity_left_pad_high_1_8
+, .cmr = {{0xd775a88au, 0x248004bdu, 0x821fa080u, 0x18521fe8u, 0x8171e842u, 0x84e0daffu, 0x4bc9e6cau, 0x1d8f8de4u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_32_64] =
 { .tag = JET
-, .jet = left_pad_high_32_64
-, .cmr = {{0xf4847c67u, 0x5667b3c6u, 0xa890fd5au, 0x6adb0927u, 0x557ee80cu, 0xd6e65af9u, 0xb1b47295u, 0x72cd8661u}}
+, .jet = simplicity_left_pad_high_32_64
+, .cmr = {{0x0bf4894bu, 0xa0e54360u, 0x18f7ddd1u, 0xe1a12ca7u, 0xcd73096fu, 0xef066ad4u, 0xb778cc24u, 0x1957fafcu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_8_16] =
 { .tag = JET
-, .jet = left_pad_high_8_16
-, .cmr = {{0x7618058au, 0x4e08eb52u, 0x43dad205u, 0xcc7e8d25u, 0x47380da0u, 0x5ec5411eu, 0xfc372baau, 0x2bb12da6u}}
+, .jet = simplicity_left_pad_high_8_16
+, .cmr = {{0x06daf4f8u, 0xd5944f1fu, 0x86dfbc37u, 0x0587b44du, 0x8871612bu, 0x7a96b054u, 0x756192dbu, 0x8fac19b7u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_8_32] =
 { .tag = JET
-, .jet = left_pad_high_8_32
-, .cmr = {{0x3dfed5c0u, 0xa9b26b8fu, 0x4a8eabd6u, 0xfbed87beu, 0x450de795u, 0xf541953eu, 0xec16a6d5u, 0xaa825a56u}}
+, .jet = simplicity_left_pad_high_8_32
+, .cmr = {{0xbc207c1eu, 0x1eae88cdu, 0x1bb4f94cu, 0x61dbd850u, 0xbbfa64a6u, 0x20ebc04fu, 0x0c86928eu, 0xad2c3212u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 103 /* milli weight units */
 }
 ,[LEFT_PAD_HIGH_8_64] =
 { .tag = JET
-, .jet = left_pad_high_8_64
-, .cmr = {{0xce7c407eu, 0x4b561721u, 0xd66c1bb0u, 0xd17ee841u, 0xb4d504b4u, 0xc4c07200u, 0x2237140bu, 0x8909769fu}}
+, .jet = simplicity_left_pad_high_8_64
+, .cmr = {{0xfa0c41c8u, 0xce560964u, 0x4c74fa32u, 0x8d64c1dcu, 0xa28050d5u, 0x3dfea6a1u, 0xe6dfb420u, 0xd9b47467u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 136 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_16_32] =
 { .tag = JET
-, .jet = left_pad_low_16_32
-, .cmr = {{0xa28c7924u, 0xa47b46ecu, 0x73bcff6eu, 0x1328d439u, 0xaa903acfu, 0x103e9aa8u, 0x0b65ba76u, 0xd2a08e75u}}
+, .jet = simplicity_left_pad_low_16_32
+, .cmr = {{0x23f74796u, 0xb83020ebu, 0xbf5aa5b6u, 0x9aa1f3d7u, 0x3df9b1c2u, 0x67e0124cu, 0x5ffe182au, 0x63cd2022u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 69 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_16_64] =
 { .tag = JET
-, .jet = left_pad_low_16_64
-, .cmr = {{0xb6258acdu, 0xa2110ed9u, 0x8c17bca8u, 0x2712e3eau, 0x60866f7du, 0x4004c83eu, 0x8ae524b7u, 0xba44008bu}}
+, .jet = simplicity_left_pad_low_16_64
+, .cmr = {{0xe5d6461au, 0xf1331cebu, 0xa45585e5u, 0x6ae6e128u, 0xdc7daa0eu, 0x070861cau, 0x6d19d854u, 0x33883dc4u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 106 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_1_16] =
 { .tag = JET
-, .jet = left_pad_low_1_16
-, .cmr = {{0x1e1f6cc4u, 0x24648375u, 0x49b97d30u, 0x7e28a9c2u, 0x3680914cu, 0xd86d65c3u, 0x04679312u, 0x7b54fe82u}}
+, .jet = simplicity_left_pad_low_1_16
+, .cmr = {{0x09dbcc20u, 0x32828855u, 0x2aa9e942u, 0x6c5cee24u, 0xdfceba87u, 0x2274aed5u, 0x5a832046u, 0x0a1791b2u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 65 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_1_32] =
 { .tag = JET
-, .jet = left_pad_low_1_32
-, .cmr = {{0xc338a195u, 0x5e99820du, 0x0ed31a5au, 0xfedd1358u, 0xc1744402u, 0x3e3f2b47u, 0x33d9f68cu, 0xb7b40cd9u}}
+, .jet = simplicity_left_pad_low_1_32
+, .cmr = {{0x1d2763f2u, 0x60d47289u, 0x6c881c72u, 0xfb22b9a1u, 0x19258e12u, 0x996109d9u, 0xc949ca61u, 0xf937da0cu}}
 , .sourceIx = ty_b
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 63 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_1_64] =
 { .tag = JET
-, .jet = left_pad_low_1_64
-, .cmr = {{0x689ed569u, 0xc201521eu, 0xc1954f0du, 0xc7d2128eu, 0x465a5204u, 0x99190549u, 0x858de9edu, 0x231a5d69u}}
+, .jet = simplicity_left_pad_low_1_64
+, .cmr = {{0xa376878du, 0xfe352047u, 0x29f91cdfu, 0x5be658abu, 0xc5e7025au, 0xd96284c7u, 0xf6310e9fu, 0x9b1a5a3eu}}
 , .sourceIx = ty_b
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 61 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_1_8] =
 { .tag = JET
-, .jet = left_pad_low_1_8
-, .cmr = {{0x5b519053u, 0xfd2bb758u, 0x473af8e3u, 0x910baef3u, 0x3cc801c0u, 0xb1420aafu, 0x814a7e72u, 0x54ea78f0u}}
+, .jet = simplicity_left_pad_low_1_8
+, .cmr = {{0x74c2061bu, 0x87f5190fu, 0xe74322eau, 0xc2422b38u, 0xe37e9fccu, 0x4d6097ebu, 0x5ca4e30bu, 0x129b7a12u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 56 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_32_64] =
 { .tag = JET
-, .jet = left_pad_low_32_64
-, .cmr = {{0xac00a34fu, 0xb6a58e57u, 0xad223950u, 0x0e657137u, 0x5dfda0ceu, 0xa1175fe9u, 0x9d875cd8u, 0x718105e9u}}
+, .jet = simplicity_left_pad_low_32_64
+, .cmr = {{0xf31ae284u, 0x313fdf37u, 0x73e3ee43u, 0x967dc8c6u, 0x7b73b780u, 0x06696671u, 0xd90dd259u, 0xd9a80613u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_8_16] =
 { .tag = JET
-, .jet = left_pad_low_8_16
-, .cmr = {{0xb6f6334cu, 0xc660e306u, 0x9f7e1437u, 0xa1943f61u, 0x0fc5a5abu, 0x8aa5105bu, 0xfcecd3dau, 0x0c59633cu}}
+, .jet = simplicity_left_pad_low_8_16
+, .cmr = {{0x190499a4u, 0x9f873732u, 0xbfeb6d24u, 0x3afb3b66u, 0xdb07dce3u, 0x3ffe7173u, 0x28416708u, 0x701700d4u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 66 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_8_32] =
 { .tag = JET
-, .jet = left_pad_low_8_32
-, .cmr = {{0x8aee9f42u, 0xda9b842eu, 0x41189596u, 0x594756bau, 0xd9bab295u, 0x3deae668u, 0x56b9cb60u, 0x1d7ac548u}}
+, .jet = simplicity_left_pad_low_8_32
+, .cmr = {{0xb2cd3ff0u, 0xb4de890eu, 0x28b42796u, 0x41652fa0u, 0x8f2a8987u, 0x94f6ee6bu, 0x1282a798u, 0x26448d4au}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 61 /* milli weight units */
 }
 ,[LEFT_PAD_LOW_8_64] =
 { .tag = JET
-, .jet = left_pad_low_8_64
-, .cmr = {{0x611d64ceu, 0x94f882fdu, 0xa24c97adu, 0xd1905421u, 0x2f46b3b9u, 0x8ef2ae22u, 0x79364539u, 0xb93e2b8bu}}
+, .jet = simplicity_left_pad_low_8_64
+, .cmr = {{0x6e728908u, 0x254e09f4u, 0xd1a62caeu, 0x8d8a5996u, 0xe02bd728u, 0x0d496744u, 0x402ff322u, 0xcd12028fu}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 112 /* milli weight units */
 }
 ,[LEFT_ROTATE_16] =
 { .tag = JET
-, .jet = left_rotate_16
-, .cmr = {{0x25e2d4ecu, 0xc03f8765u, 0x5e965b35u, 0x7d6fd0c2u, 0xea36d112u, 0x068c9633u, 0x39de467eu, 0x5c8e7d8eu}}
+, .jet = simplicity_left_rotate_16
+, .cmr = {{0x2ce267c9u, 0xf8e44e32u, 0x65b0299eu, 0x55742976u, 0xcceceb3au, 0x9c410617u, 0x6fbf17e6u, 0x3d48d06cu}}
 , .sourceIx = ty_pw4w16
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 77 /* milli weight units */
 }
 ,[LEFT_ROTATE_32] =
 { .tag = JET
-, .jet = left_rotate_32
-, .cmr = {{0x2d4189b3u, 0x12e8cedau, 0xaa3853a4u, 0x5a12986eu, 0xe262fb60u, 0x5f0d592du, 0xcbb9618fu, 0xe67a250bu}}
+, .jet = simplicity_left_rotate_32
+, .cmr = {{0x0bef6b5fu, 0x771ecc6eu, 0x6f5c26f6u, 0x622de862u, 0x4e443497u, 0x599514f5u, 0xbc68f687u, 0x4880e07au}}
 , .sourceIx = ty_pw8w32
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 106 /* milli weight units */
 }
 ,[LEFT_ROTATE_64] =
 { .tag = JET
-, .jet = left_rotate_64
-, .cmr = {{0xb8e68e0au, 0xd682b967u, 0xf24c0984u, 0xf7d5f809u, 0xa28597a0u, 0x434618c8u, 0x949fa808u, 0xe3be7614u}}
+, .jet = simplicity_left_rotate_64
+, .cmr = {{0xcc914219u, 0xd14fe5d2u, 0x20e2aa9bu, 0x64f24b47u, 0x5d80f2cau, 0xfb7531d4u, 0x2640967cu, 0x085f9ca4u}}
 , .sourceIx = ty_pw8w64
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 98 /* milli weight units */
 }
 ,[LEFT_ROTATE_8] =
 { .tag = JET
-, .jet = left_rotate_8
-, .cmr = {{0x956a653au, 0xe0b8f8c3u, 0xf29fd8f3u, 0x3119168fu, 0xcbe64f5du, 0x765fa9ffu, 0x6b8e3b0du, 0x961a1629u}}
+, .jet = simplicity_left_rotate_8
+, .cmr = {{0xbd7119ceu, 0xb23e56a0u, 0x759cdaadu, 0x8fd66517u, 0x46f2969cu, 0x5ea7c570u, 0x6c492ee0u, 0xcda652c2u}}
 , .sourceIx = ty_pw4w8
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[LEFT_SHIFT_16] =
 { .tag = JET
-, .jet = left_shift_16
-, .cmr = {{0x9bbce29eu, 0x695be2e4u, 0x830c7a93u, 0xa0d2151bu, 0x664fc272u, 0x06eed7e5u, 0x0fcef602u, 0xd345ce0du}}
+, .jet = simplicity_left_shift_16
+, .cmr = {{0xfd9b6d05u, 0xadbdb99bu, 0xc74aab73u, 0x3384724eu, 0x3072d2a2u, 0xc2dfeb34u, 0x5e24b507u, 0x4b527859u}}
 , .sourceIx = ty_pw4w16
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 72 /* milli weight units */
 }
 ,[LEFT_SHIFT_32] =
 { .tag = JET
-, .jet = left_shift_32
-, .cmr = {{0xf9c4bf07u, 0xd3e72e85u, 0xb1d455f7u, 0x34cf1b11u, 0xbea58e25u, 0x3b854a1au, 0x097bab1eu, 0xc2c62e1fu}}
+, .jet = simplicity_left_shift_32
+, .cmr = {{0xa4b3b3fcu, 0x7345d38fu, 0xce543f40u, 0x1ae6bd07u, 0xba2742c3u, 0x3d9afab3u, 0xb3cca3a0u, 0x25973c98u}}
 , .sourceIx = ty_pw8w32
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 78 /* milli weight units */
 }
 ,[LEFT_SHIFT_64] =
 { .tag = JET
-, .jet = left_shift_64
-, .cmr = {{0x8cfa741au, 0xa41d828au, 0x41083bb7u, 0xcbdd1f4eu, 0xda5dccacu, 0x529b247du, 0x188495b4u, 0x9bb38c2bu}}
+, .jet = simplicity_left_shift_64
+, .cmr = {{0x62b711e8u, 0x4b67648du, 0x3472ace1u, 0x86291eb6u, 0xd773ddc0u, 0xb8a3fbc2u, 0x08a275e9u, 0xdb91ddddu}}
 , .sourceIx = ty_pw8w64
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 82 /* milli weight units */
 }
 ,[LEFT_SHIFT_8] =
 { .tag = JET
-, .jet = left_shift_8
-, .cmr = {{0x95663e07u, 0x7cadca31u, 0xb9596b09u, 0x706cdb4fu, 0xa703870fu, 0x792a4635u, 0x852b5e24u, 0x69e6fdbau}}
+, .jet = simplicity_left_shift_8
+, .cmr = {{0x187bba8eu, 0x4163bdd0u, 0xddb548ffu, 0x6efa6b7eu, 0x2f3d0982u, 0x97d2533eu, 0x77e8a76bu, 0x6f2dd324u}}
 , .sourceIx = ty_pw4w8
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[LEFT_SHIFT_WITH_16] =
 { .tag = JET
-, .jet = left_shift_with_16
-, .cmr = {{0x6214c456u, 0x25d704ceu, 0xc987b796u, 0x676f1566u, 0x1a6bf5dcu, 0x0f6a51cbu, 0x865a0e71u, 0xd66fbf95u}}
+, .jet = simplicity_left_shift_with_16
+, .cmr = {{0x2dd41ac4u, 0xf1d6d968u, 0x70ff4966u, 0x31d40a4fu, 0xf7edeb13u, 0x7d63dafeu, 0xe002fa2du, 0xda29a757u}}
 , .sourceIx = ty_pbpw4w16
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 83 /* milli weight units */
 }
 ,[LEFT_SHIFT_WITH_32] =
 { .tag = JET
-, .jet = left_shift_with_32
-, .cmr = {{0x1b452fc7u, 0xab5c7147u, 0x454af4d5u, 0x595481ffu, 0xac42dea1u, 0x06032b3bu, 0x9f375bedu, 0xcda6f4d6u}}
+, .jet = simplicity_left_shift_with_32
+, .cmr = {{0x9bfb2490u, 0xbba1eb3bu, 0x7e256a26u, 0x0966dc90u, 0x9e73fd12u, 0x591ee140u, 0x673718f9u, 0xf10fc49fu}}
 , .sourceIx = ty_pbpw8w32
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 95 /* milli weight units */
 }
 ,[LEFT_SHIFT_WITH_64] =
 { .tag = JET
-, .jet = left_shift_with_64
-, .cmr = {{0xc38b02abu, 0xcff514d9u, 0x6191a7feu, 0xfba1ac16u, 0xe9c150a1u, 0x8ce1c5bcu, 0xf09d6755u, 0xe0369905u}}
+, .jet = simplicity_left_shift_with_64
+, .cmr = {{0x85774693u, 0x7de2c4c5u, 0xa55a90f3u, 0x160eb991u, 0xddbb6074u, 0xf8a7c7c5u, 0x8e8b2e38u, 0x2218a9fau}}
 , .sourceIx = ty_pbpw8w64
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 103 /* milli weight units */
 }
 ,[LEFT_SHIFT_WITH_8] =
 { .tag = JET
-, .jet = left_shift_with_8
-, .cmr = {{0x217ad6dcu, 0x1292aa42u, 0xdbd84dbdu, 0x971c118fu, 0x02a9740au, 0x7cb5661eu, 0x90d42dd5u, 0xca8ca4d9u}}
+, .jet = simplicity_left_shift_with_8
+, .cmr = {{0xf6f5bc6fu, 0x43f661e2u, 0x727c9ec8u, 0x196388bcu, 0xc42b2036u, 0x06a778d5u, 0x53a4ea35u, 0x3ffc4be6u}}
 , .sourceIx = ty_pbpw4w8
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 107 /* milli weight units */
 }
 ,[LEFTMOST_16_1] =
 { .tag = JET
-, .jet = leftmost_16_1
-, .cmr = {{0x3ea89e43u, 0x2077940du, 0x0bbf9ed2u, 0xcf16ba63u, 0x1110e7abu, 0x9f19eef3u, 0xea925a69u, 0x9f60c60cu}}
+, .jet = simplicity_leftmost_16_1
+, .cmr = {{0x7faf549eu, 0xf620d0d8u, 0xf90b6d08u, 0x420cf5e9u, 0x8e9384eau, 0x716b82d7u, 0xd8e197a8u, 0xc46e33ceu}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 150 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[LEFTMOST_16_2] =
 { .tag = JET
-, .jet = leftmost_16_2
-, .cmr = {{0x5ce2bd7au, 0xc35a7c33u, 0x73c3dd60u, 0x7f48e5d4u, 0xc7aaa6c6u, 0x9fc4930eu, 0xca14049fu, 0x5d39ffabu}}
+, .jet = simplicity_leftmost_16_2
+, .cmr = {{0xf2ac7c05u, 0x964a699cu, 0xe595fb21u, 0xeec161e8u, 0x7a11b651u, 0x630d9a28u, 0x93094ea3u, 0xf3317243u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w2
-, .cost = 150 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[LEFTMOST_16_4] =
 { .tag = JET
-, .jet = leftmost_16_4
-, .cmr = {{0x1012a139u, 0x3ed0f91du, 0x75ad5912u, 0x2853893au, 0x7f25cd35u, 0xc8036c7fu, 0xa195682cu, 0xa1458c4au}}
+, .jet = simplicity_leftmost_16_4
+, .cmr = {{0x5a5ec503u, 0x9aa3aa0eu, 0x58f7ce64u, 0xefd03ac2u, 0x97410f2cu, 0xf45817afu, 0x54efa6a0u, 0x076b6f70u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w4
-, .cost = 150 /* milli weight units */
+, .cost = 75 /* milli weight units */
 }
 ,[LEFTMOST_16_8] =
 { .tag = JET
-, .jet = leftmost_16_8
-, .cmr = {{0xccd31e9eu, 0xb1a1bbdeu, 0x555c0f73u, 0x1af2d3d4u, 0xff5388fau, 0x1461826au, 0xa9c89342u, 0x42ac753fu}}
+, .jet = simplicity_leftmost_16_8
+, .cmr = {{0xe22543f8u, 0xfe861dbau, 0xee744b0bu, 0x8f58b47bu, 0x9d13fb35u, 0xa950863au, 0x59097cf4u, 0xd42724b9u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 71 /* milli weight units */
 }
 ,[LEFTMOST_32_1] =
 { .tag = JET
-, .jet = leftmost_32_1
-, .cmr = {{0xb714ad74u, 0xae045af7u, 0x5680778au, 0x032761a4u, 0xc726d7b6u, 0xd977bc93u, 0xa4125654u, 0x3cae8d3du}}
+, .jet = simplicity_leftmost_32_1
+, .cmr = {{0xb36db059u, 0xdd42d707u, 0xbfa839f8u, 0x3bc2ed1du, 0xb501b23au, 0xf9af713fu, 0x41ff755fu, 0xe2b3e989u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 150 /* milli weight units */
+, .cost = 77 /* milli weight units */
 }
 ,[LEFTMOST_32_16] =
 { .tag = JET
-, .jet = leftmost_32_16
-, .cmr = {{0x1b20634fu, 0xb43eb83au, 0x968c3c81u, 0xc0087c63u, 0xd5d4f8cau, 0xcdbd3e0eu, 0x9f9a3d75u, 0x91c3ef62u}}
+, .jet = simplicity_leftmost_32_16
+, .cmr = {{0xf13ee37bu, 0xe612e9dfu, 0xf4907ec3u, 0xf1dde86cu, 0x58fed4b1u, 0x1a93b3bbu, 0x2c795800u, 0x4997922eu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 102 /* milli weight units */
 }
 ,[LEFTMOST_32_2] =
 { .tag = JET
-, .jet = leftmost_32_2
-, .cmr = {{0x752dda08u, 0xe40faea0u, 0xf6c4ee3du, 0x344b7c4eu, 0xa11b971du, 0xcec55592u, 0xb822ee56u, 0x271ca5dfu}}
+, .jet = simplicity_leftmost_32_2
+, .cmr = {{0x57d0251au, 0xb566a3d2u, 0x48ec6e7cu, 0xd1e3e9c7u, 0x1b1dde0cu, 0xf2844a8cu, 0x8ae748bdu, 0x18d3735cu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w2
-, .cost = 150 /* milli weight units */
+, .cost = 66 /* milli weight units */
 }
 ,[LEFTMOST_32_4] =
 { .tag = JET
-, .jet = leftmost_32_4
-, .cmr = {{0x44e9f779u, 0xa029ecfcu, 0x9762b8b6u, 0xcbaf0922u, 0xd935fea5u, 0x150a546au, 0x5fc1fdb8u, 0xb9534134u}}
+, .jet = simplicity_leftmost_32_4
+, .cmr = {{0x66689bd5u, 0xeb6a6dd5u, 0xfc6b52feu, 0x90c174efu, 0x0fa8b517u, 0x993085c9u, 0x01c5702bu, 0xbd1face7u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w4
-, .cost = 150 /* milli weight units */
+, .cost = 52 /* milli weight units */
 }
 ,[LEFTMOST_32_8] =
 { .tag = JET
-, .jet = leftmost_32_8
-, .cmr = {{0x54801eb5u, 0xe778cf6cu, 0xda95ccf5u, 0x70286d81u, 0x6d3a1ff1u, 0xdd39db5au, 0xb6136f0eu, 0xc3b72dc6u}}
+, .jet = simplicity_leftmost_32_8
+, .cmr = {{0xc8851ff6u, 0x2206e865u, 0xc3b26641u, 0x981d0ae1u, 0x60d3d443u, 0x7a980062u, 0x79dbb3a2u, 0x5776698eu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 103 /* milli weight units */
 }
 ,[LEFTMOST_64_1] =
 { .tag = JET
-, .jet = leftmost_64_1
-, .cmr = {{0xb316af24u, 0xc86b3961u, 0x3d4fd1b3u, 0x926a8413u, 0x0eb7ab12u, 0xfdef6233u, 0x17ab48f7u, 0x7cb62145u}}
+, .jet = simplicity_leftmost_64_1
+, .cmr = {{0xe05ea19du, 0x39ee235du, 0xde58e31eu, 0x4b9534b6u, 0xcb399b1fu, 0x2fa18148u, 0x8cedc203u, 0xcd95962au}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 150 /* milli weight units */
+, .cost = 78 /* milli weight units */
 }
 ,[LEFTMOST_64_16] =
 { .tag = JET
-, .jet = leftmost_64_16
-, .cmr = {{0x8cf85481u, 0xe0f00838u, 0xb5239bbfu, 0xad1382f0u, 0x7bd03c12u, 0x1d5d8aafu, 0xa6d98341u, 0x6de45c32u}}
+, .jet = simplicity_leftmost_64_16
+, .cmr = {{0xc3ddb079u, 0xc112925du, 0x423bbd30u, 0xd902261eu, 0x68a41c3du, 0xe4381166u, 0xe1400502u, 0x8ba84b98u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[LEFTMOST_64_2] =
 { .tag = JET
-, .jet = leftmost_64_2
-, .cmr = {{0xda40c89bu, 0x15c9e86bu, 0x028ce9ecu, 0x07b7f699u, 0x5a5ddda4u, 0x850a91afu, 0x8c60e02bu, 0xf991fb0cu}}
+, .jet = simplicity_leftmost_64_2
+, .cmr = {{0x264db123u, 0x78dfadc1u, 0xad6ff8d5u, 0x78ec4da1u, 0x8532a1e6u, 0xbdab7c17u, 0x569fdd7bu, 0xf406fb20u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w2
-, .cost = 150 /* milli weight units */
+, .cost = 71 /* milli weight units */
 }
 ,[LEFTMOST_64_32] =
 { .tag = JET
-, .jet = leftmost_64_32
-, .cmr = {{0x95f46db9u, 0xd906f050u, 0x53455e95u, 0x34eb9b08u, 0xb09e38bcu, 0x0fc698a1u, 0x6f4b2a62u, 0x710759d1u}}
+, .jet = simplicity_leftmost_64_32
+, .cmr = {{0x19a5d53fu, 0xe6b30be0u, 0x2b91bafcu, 0x63cbe550u, 0x5598c142u, 0x55d89e33u, 0x4856db5bu, 0x5ba20dedu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[LEFTMOST_64_4] =
 { .tag = JET
-, .jet = leftmost_64_4
-, .cmr = {{0xf501f905u, 0xfb8baba1u, 0xa7e8a6bfu, 0x68d3ae6au, 0x0add9195u, 0x1b56629du, 0x59f42873u, 0x9e7e41a2u}}
+, .jet = simplicity_leftmost_64_4
+, .cmr = {{0x4c6fc8a0u, 0x65468e47u, 0x51844aefu, 0xb6cc4957u, 0x5864f567u, 0xc5628665u, 0x4c43b3f8u, 0x33303231u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w4
-, .cost = 150 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[LEFTMOST_64_8] =
 { .tag = JET
-, .jet = leftmost_64_8
-, .cmr = {{0xb37f0ba2u, 0xfcbd4ae3u, 0x316a4fe4u, 0xf58aa1a5u, 0x41740cdeu, 0x60ed87f3u, 0x3862a2ffu, 0xecad442fu}}
+, .jet = simplicity_leftmost_64_8
+, .cmr = {{0x98b5e016u, 0xbd414577u, 0x8dfc6317u, 0xdc65d6c7u, 0x5fef2857u, 0x96b59deau, 0xf14aa031u, 0x99f94896u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[LEFTMOST_8_1] =
 { .tag = JET
-, .jet = leftmost_8_1
-, .cmr = {{0x5fdcfa9bu, 0x9a4b65c7u, 0x207471e5u, 0x33928d6au, 0x24f4b6ffu, 0x9b345ef7u, 0x61b1480au, 0x8a05e3d7u}}
+, .jet = simplicity_leftmost_8_1
+, .cmr = {{0x38e3985fu, 0x1f99eab1u, 0xa787e720u, 0x0c30cd9bu, 0x95631f95u, 0xb419fd76u, 0xece19967u, 0xd1b03069u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_b
-, .cost = 150 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[LEFTMOST_8_2] =
 { .tag = JET
-, .jet = leftmost_8_2
-, .cmr = {{0x624221e9u, 0xf8a91691u, 0x26c73347u, 0x9648c73bu, 0x68c6b8ebu, 0xbb60c72au, 0xf1e6fc65u, 0xe7d30723u}}
+, .jet = simplicity_leftmost_8_2
+, .cmr = {{0x51dbcaebu, 0xc3ac1643u, 0xe5b08ca2u, 0x5529f0e2u, 0xb0bd9bdfu, 0xa041fd4du, 0xb77029d0u, 0xc5ff15b9u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w2
-, .cost = 150 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[LEFTMOST_8_4] =
 { .tag = JET
-, .jet = leftmost_8_4
-, .cmr = {{0x1a4843c4u, 0x08e1d46cu, 0x9c938946u, 0x34495f8au, 0xd6a680e3u, 0x2dd6f25bu, 0xa19dbc60u, 0xa60d1897u}}
+, .jet = simplicity_leftmost_8_4
+, .cmr = {{0xb394209cu, 0x9b34284du, 0xde65ea97u, 0x35e4eb0cu, 0xdf01ce87u, 0x10e58c5eu, 0xd20e8b94u, 0x6bf3f6eau}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w4
-, .cost = 150 /* milli weight units */
+, .cost = 87 /* milli weight units */
 }
 ,[LINEAR_COMBINATION_1] =
 { .tag = JET
-, .jet = linear_combination_1
-, .cmr = {{0x00bef144u, 0xda3f5163u, 0x318c01ebu, 0x66cc681fu, 0x29ccb987u, 0xea2a88d0u, 0x83345a1cu, 0xaa082ce3u}}
+, .jet = simplicity_linear_combination_1
+, .cmr = {{0xfdd47ca5u, 0xc3b8bed9u, 0xf5f82732u, 0x9af7c08bu, 0x88d35421u, 0xd3d02f3du, 0x6cae3e5bu, 0x49dcbea3u}}
 , .sourceIx = ty_ppw256pw512w256w256
 , .targetIx = ty_pw512w256
-, .cost = 86722 /* milli weight units */
+, .cost = 84674 /* milli weight units */
 }
 ,[LINEAR_VERIFY_1] =
 { .tag = JET
-, .jet = linear_verify_1
-, .cmr = {{0x0c9fae64u, 0xa64cd63cu, 0xa85beba7u, 0x5c9f2c6eu, 0x85343b74u, 0xf28634eau, 0x85f70fc3u, 0x41ccaff3u}}
+, .jet = simplicity_linear_verify_1
+, .cmr = {{0x7be5d046u, 0x728464b8u, 0x301d89d9u, 0xd0de8e19u, 0x675df4d9u, 0x10047b25u, 0xb372d2c4u, 0x166b3a0du}}
 , .sourceIx = ty_pppw256w512w256w512
 , .targetIx = ty_u
-, .cost = 43063 /* milli weight units */
+, .cost = 43364 /* milli weight units */
 }
 ,[LOCK_TIME] =
 { .tag = JET
-, .jet = lock_time
-, .cmr = {{0xee87a025u, 0xd7338a3cu, 0x8f251be4u, 0x19efb7eeu, 0x7177cb73u, 0x8f42e8c0u, 0x03fc4658u, 0xcc0e5b8bu}}
+, .jet = simplicity_lock_time
+, .cmr = {{0x7bdc8194u, 0x1f8c9c7fu, 0xa94061a5u, 0x9fbdfc03u, 0xa3f5c267u, 0xdcde1b23u, 0xd3be3a90u, 0xf0e9a7f5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 132 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[LOW_1] =
 { .tag = JET
-, .jet = low_1
-, .cmr = {{0xdb4a424au, 0x20aeefa4u, 0xe742d51du, 0x84929218u, 0xcbf73472u, 0x6176dc4fu, 0xf9f8bf13u, 0xde10ca2bu}}
+, .jet = simplicity_low_1
+, .cmr = {{0xf3d10b07u, 0x49332cddu, 0xae0a49ccu, 0x02657b02u, 0x58e0a5a7u, 0x05958100u, 0x22c5a64eu, 0x904088b0u}}
 , .sourceIx = ty_u
 , .targetIx = ty_b
-, .cost = 173 /* milli weight units */
+, .cost = 38 /* milli weight units */
 }
 ,[LOW_16] =
 { .tag = JET
-, .jet = low_16
-, .cmr = {{0xa114e958u, 0x0de07d8bu, 0x077eb889u, 0x98755a0au, 0x62bfe085u, 0xfb23404cu, 0xd1e87868u, 0xcd56d5bdu}}
+, .jet = simplicity_low_16
+, .cmr = {{0x670d1cf0u, 0x8d655f40u, 0xfda2277au, 0xa9155414u, 0xa3b4d80eu, 0x97f6b867u, 0xd4e562e3u, 0xa05b4645u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w16
-, .cost = 172 /* milli weight units */
+, .cost = 69 /* milli weight units */
 }
 ,[LOW_32] =
 { .tag = JET
-, .jet = low_32
-, .cmr = {{0xa717610eu, 0x8c577125u, 0x5140d620u, 0x7fff3bddu, 0x3464acffu, 0x5998e129u, 0xaf8b9f4cu, 0x0e21b23du}}
+, .jet = simplicity_low_32
+, .cmr = {{0xd9bf78c4u, 0x9f8d6b7au, 0xe4b4b084u, 0xf0d364f7u, 0x2b0462ffu, 0x39c321c0u, 0x2d92b542u, 0x6086d0b5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 170 /* milli weight units */
+, .cost = 62 /* milli weight units */
 }
 ,[LOW_64] =
 { .tag = JET
-, .jet = low_64
-, .cmr = {{0x9a6f4a0au, 0xd2fb72c5u, 0x79424c72u, 0xe17daae6u, 0x2b366695u, 0xcd1a2685u, 0xfb0ab02eu, 0x4c2cc0f5u}}
+, .jet = simplicity_low_64
+, .cmr = {{0x364da086u, 0xebe3011bu, 0x1b585f5cu, 0xb9abc87eu, 0xe57b5637u, 0xcb95ecf3u, 0x12938df2u, 0x8630fda4u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w64
-, .cost = 162 /* milli weight units */
+, .cost = 47 /* milli weight units */
 }
 ,[LOW_8] =
 { .tag = JET
-, .jet = low_8
-, .cmr = {{0x69c9b9cau, 0xb9f44cffu, 0xaedf1c84u, 0x3146bcc0u, 0xb03b0f0cu, 0x134866afu, 0xd23a614fu, 0x01a70a24u}}
+, .jet = simplicity_low_8
+, .cmr = {{0xd4244f7cu, 0x17b04904u, 0x8ac58b4du, 0xa578169du, 0x0ed65149u, 0x408ea9b0u, 0x33b3d8b7u, 0x7d76c687u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w8
-, .cost = 173 /* milli weight units */
+, .cost = 47 /* milli weight units */
 }
 ,[LT_16] =
 { .tag = JET
-, .jet = lt_16
-, .cmr = {{0x4f465a49u, 0xa963acceu, 0x93f6b6f8u, 0x23eb9472u, 0xb4cc21f6u, 0xe58b7657u, 0x0508babdu, 0xf44a8c97u}}
+, .jet = simplicity_lt_16
+, .cmr = {{0x32602844u, 0xfb68eb7au, 0xf6f7f1bdu, 0xa350e229u, 0x2c3fc287u, 0xf81eca17u, 0xf068f4fau, 0x942d402au}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 188 /* milli weight units */
+, .cost = 123 /* milli weight units */
 }
 ,[LT_32] =
 { .tag = JET
-, .jet = lt_32
-, .cmr = {{0xd3421dfcu, 0x84671cd7u, 0x445082a9u, 0x86df1628u, 0xedcacbf4u, 0x29a3c809u, 0xd2365497u, 0xe1170bfdu}}
+, .jet = simplicity_lt_32
+, .cmr = {{0xb703d35du, 0xeed96ce3u, 0x9df8ad21u, 0x4f74898au, 0x1765aa14u, 0x06bce4bfu, 0x9afc5c63u, 0xa8382d9eu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 215 /* milli weight units */
+, .cost = 107 /* milli weight units */
 }
 ,[LT_64] =
 { .tag = JET
-, .jet = lt_64
-, .cmr = {{0x7c67aa89u, 0x93fcda59u, 0x30f79db2u, 0x008aa6d7u, 0xbe5f3bedu, 0x5aca5e03u, 0x2dcccf0bu, 0xe84f62d1u}}
+, .jet = simplicity_lt_64
+, .cmr = {{0x94f1e48du, 0x7c87c180u, 0x83841ec1u, 0x2467942bu, 0x76a893fau, 0x08e94123u, 0xb4fe8020u, 0xd5f1d9afu}}
 , .sourceIx = ty_w128
 , .targetIx = ty_b
-, .cost = 195 /* milli weight units */
+, .cost = 76 /* milli weight units */
 }
 ,[LT_8] =
 { .tag = JET
-, .jet = lt_8
-, .cmr = {{0x98763f78u, 0x21690954u, 0xcf508102u, 0x09df6e15u, 0x570316bbu, 0xa89ffa9au, 0xe556a915u, 0xf37b640bu}}
+, .jet = simplicity_lt_8
+, .cmr = {{0xf40a8cfau, 0x7839939cu, 0xa4dd3d01u, 0x22d4b56cu, 0xc3c654e3u, 0x5e2af2d3u, 0x511fc944u, 0x6cf0f8afu}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 130 /* milli weight units */
+, .cost = 107 /* milli weight units */
 }
 ,[MAJ_1] =
 { .tag = JET
-, .jet = maj_1
-, .cmr = {{0xae8b912eu, 0x3ad47f68u, 0x8bbb46c8u, 0xcb6d5333u, 0x69f5109au, 0x2730471eu, 0xab6efe98u, 0xe9ea5e78u}}
+, .jet = simplicity_maj_1
+, .cmr = {{0x79d185f5u, 0x3d2e2fabu, 0x8754c1b9u, 0x58a5a1b5u, 0xb9dfa50du, 0x900ce43au, 0xd73561b4u, 0x4a887822u}}
 , .sourceIx = ty_pbw2
 , .targetIx = ty_b
-, .cost = 241 /* milli weight units */
+, .cost = 62 /* milli weight units */
 }
 ,[MAJ_16] =
 { .tag = JET
-, .jet = maj_16
-, .cmr = {{0xf5a41da0u, 0x377fe688u, 0xac2fcdf3u, 0x5b6b7a47u, 0x2e78ea69u, 0xfd2b17f7u, 0x56342baau, 0x1f8b9fddu}}
+, .jet = simplicity_maj_16
+, .cmr = {{0xa17f14f2u, 0x9ce64cc0u, 0xa3410706u, 0x747a4832u, 0x190af23cu, 0x03cac164u, 0xa47fc127u, 0xb48f3428u}}
 , .sourceIx = ty_pw16w32
 , .targetIx = ty_w16
-, .cost = 273 /* milli weight units */
+, .cost = 80 /* milli weight units */
 }
 ,[MAJ_32] =
 { .tag = JET
-, .jet = maj_32
-, .cmr = {{0xf1d93b04u, 0x6b0285f6u, 0xe520467fu, 0x265f6a6au, 0xe3491f16u, 0x78c8a826u, 0xa0099b9cu, 0xd41599d4u}}
+, .jet = simplicity_maj_32
+, .cmr = {{0xe19fadfau, 0xc6c785b8u, 0x9829a91eu, 0xc0215935u, 0xc49fbc9du, 0x20c6be78u, 0xde9a6355u, 0xe8181356u}}
 , .sourceIx = ty_pw32w64
 , .targetIx = ty_w32
-, .cost = 289 /* milli weight units */
+, .cost = 96 /* milli weight units */
 }
 ,[MAJ_64] =
 { .tag = JET
-, .jet = maj_64
-, .cmr = {{0x5e996c51u, 0x51d7aceeu, 0x4a7d9e22u, 0x95ef8f2cu, 0x75548884u, 0x4bfde25du, 0x5acdfea2u, 0x9844435au}}
+, .jet = simplicity_maj_64
+, .cmr = {{0xf119b2f2u, 0x383b9fe6u, 0xdd768e5eu, 0xe27db4f5u, 0x783868cfu, 0x9b9e1385u, 0x41003990u, 0x1d17c230u}}
 , .sourceIx = ty_pw64w128
 , .targetIx = ty_w64
-, .cost = 293 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[MAJ_8] =
 { .tag = JET
-, .jet = maj_8
-, .cmr = {{0xab6c4c41u, 0xab67ebf7u, 0xea60870cu, 0x9b2d9310u, 0x01742961u, 0x8d2ab902u, 0x68b5c5c2u, 0xb5377f3bu}}
+, .jet = simplicity_maj_8
+, .cmr = {{0x415621cbu, 0x9e428f72u, 0xeb2956e4u, 0x696f7065u, 0xdee6a8dau, 0x5eedde32u, 0x362b8124u, 0xa195dd50u}}
 , .sourceIx = ty_pw8w16
 , .targetIx = ty_w8
-, .cost = 241 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[MAX_16] =
 { .tag = JET
-, .jet = max_16
-, .cmr = {{0xcddd8169u, 0x5522971bu, 0x529eb0bbu, 0x53818fe2u, 0x2858ac6bu, 0x037c3810u, 0xec268b53u, 0xb817a38du}}
+, .jet = simplicity_max_16
+, .cmr = {{0xceb71d05u, 0xf95518d3u, 0xd40925e7u, 0x3ca29b7cu, 0x3ec62b92u, 0xaf478804u, 0x8f7be806u, 0x52f6ba2bu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 164 /* milli weight units */
+, .cost = 114 /* milli weight units */
 }
 ,[MAX_32] =
 { .tag = JET
-, .jet = max_32
-, .cmr = {{0xd916f34bu, 0xd785b938u, 0x08b67c62u, 0x284f94aau, 0x5df47919u, 0x59b49b85u, 0x82b0582bu, 0x82853883u}}
+, .jet = simplicity_max_32
+, .cmr = {{0x679f51ceu, 0xca3e7bfcu, 0x4b8b8c14u, 0x5fbe0647u, 0x3f653b21u, 0xfb8f5838u, 0x39fc9f9eu, 0x221a99e7u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 162 /* milli weight units */
+, .cost = 92 /* milli weight units */
 }
 ,[MAX_64] =
 { .tag = JET
-, .jet = max_64
-, .cmr = {{0x99ef5abfu, 0xf78700bdu, 0x93d1c977u, 0xfd686f31u, 0x210fd1ceu, 0x1d094d23u, 0x048c026cu, 0x19fc984au}}
+, .jet = simplicity_max_64
+, .cmr = {{0x6aeb602cu, 0x1f2de20eu, 0x6aee7e23u, 0x3b29db2eu, 0xe533a0c1u, 0x1e3363fcu, 0x67b30d6cu, 0x78338352u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w64
-, .cost = 193 /* milli weight units */
+, .cost = 104 /* milli weight units */
 }
 ,[MAX_8] =
 { .tag = JET
-, .jet = max_8
-, .cmr = {{0x3acbf773u, 0x3fd8ef4fu, 0x51967aa2u, 0x45558b28u, 0x374d54c6u, 0x32a9f46au, 0xab6b2b1eu, 0xc2d5139au}}
+, .jet = simplicity_max_8
+, .cmr = {{0x5c1f369au, 0xfaac6b74u, 0xb57edf3cu, 0xecfb61f2u, 0x07e05939u, 0xb1c6fc73u, 0x5b07836fu, 0x3973d904u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 142 /* milli weight units */
+, .cost = 96 /* milli weight units */
 }
 ,[MEDIAN_16] =
 { .tag = JET
-, .jet = median_16
-, .cmr = {{0xd6463e89u, 0xdfe2c334u, 0xb01f9097u, 0xb01a75c4u, 0x75fb0f0fu, 0x167cb6b7u, 0x4976f197u, 0xbd4c76e1u}}
+, .jet = simplicity_median_16
+, .cmr = {{0xc09a300bu, 0x6d023ca4u, 0x09279e42u, 0x27470dd8u, 0xbd52f168u, 0xf1f8bfa9u, 0x38779f03u, 0xc86ef152u}}
 , .sourceIx = ty_pw16w32
 , .targetIx = ty_w16
-, .cost = 270 /* milli weight units */
+, .cost = 123 /* milli weight units */
 }
 ,[MEDIAN_32] =
 { .tag = JET
-, .jet = median_32
-, .cmr = {{0x01dca1edu, 0xe5b29d88u, 0x480bc4dcu, 0x43be4e04u, 0xf2d209eeu, 0x32f6cf3eu, 0xc7050da1u, 0x07359063u}}
+, .jet = simplicity_median_32
+, .cmr = {{0x84810059u, 0x86f42948u, 0x051a364au, 0xd418702eu, 0xbc76fa36u, 0x5344aa2eu, 0xa1a63005u, 0xe61fe8bbu}}
 , .sourceIx = ty_pw32w64
 , .targetIx = ty_w32
-, .cost = 256 /* milli weight units */
+, .cost = 101 /* milli weight units */
 }
 ,[MEDIAN_64] =
 { .tag = JET
-, .jet = median_64
-, .cmr = {{0x707a6fa8u, 0xc15495a2u, 0xc4822263u, 0xddcea5e0u, 0xf0e850a9u, 0x4b1cf4ecu, 0xc0652fafu, 0xeef130e9u}}
+, .jet = simplicity_median_64
+, .cmr = {{0xccbaa900u, 0x0f3c0c9eu, 0xc71bc0dbu, 0x5da85283u, 0x6fa91228u, 0xb373f56bu, 0xcef0b225u, 0x85d470ffu}}
 , .sourceIx = ty_pw64w128
 , .targetIx = ty_w64
-, .cost = 336 /* milli weight units */
+, .cost = 109 /* milli weight units */
 }
 ,[MEDIAN_8] =
 { .tag = JET
-, .jet = median_8
-, .cmr = {{0x26bfcb7bu, 0xabcf26c9u, 0x7a841675u, 0x45746276u, 0x59279af8u, 0x09554882u, 0x400ef874u, 0xdf1c1a31u}}
+, .jet = simplicity_median_8
+, .cmr = {{0xc5b2c001u, 0xdc504ff4u, 0xc2e05286u, 0x56d4dabfu, 0x33fb4142u, 0xd026ab61u, 0x374c2389u, 0x0bda1f18u}}
 , .sourceIx = ty_pw8w16
 , .targetIx = ty_w8
-, .cost = 256 /* milli weight units */
+, .cost = 122 /* milli weight units */
 }
 ,[MIN_16] =
 { .tag = JET
-, .jet = min_16
-, .cmr = {{0x63bbc0e5u, 0xdb1ce080u, 0x97d3f5bcu, 0xc5be1d72u, 0x090bab4au, 0x87c10c80u, 0x0549ca84u, 0xefbfe5e3u}}
+, .jet = simplicity_min_16
+, .cmr = {{0xb2265869u, 0xea190bbau, 0x730cd7d7u, 0xcd0524d1u, 0x3ebf767eu, 0x1b125c44u, 0x1b1bab0eu, 0x3dbeef26u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 164 /* milli weight units */
+, .cost = 97 /* milli weight units */
 }
 ,[MIN_32] =
 { .tag = JET
-, .jet = min_32
-, .cmr = {{0xaf4d6184u, 0x2f479032u, 0x5c614556u, 0xc7776eeau, 0x457513cau, 0x422f305bu, 0x463f8f7du, 0x8bda0c3cu}}
+, .jet = simplicity_min_32
+, .cmr = {{0x6d921bfbu, 0xaf935063u, 0xbd4b4e48u, 0xd6d13664u, 0xbd5d0ac2u, 0x5f5ee30eu, 0xbe518e79u, 0x1151750au}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 181 /* milli weight units */
+, .cost = 113 /* milli weight units */
 }
 ,[MIN_64] =
 { .tag = JET
-, .jet = min_64
-, .cmr = {{0xf0a3170fu, 0xb3065090u, 0x71b21432u, 0x309c0086u, 0x5d8fb675u, 0x2de6ec41u, 0x0abb6ce3u, 0x5b4ffa9cu}}
+, .jet = simplicity_min_64
+, .cmr = {{0x05d9c0a2u, 0xa71f887du, 0x7646e415u, 0x827230cfu, 0xbecc0d82u, 0x36c562f2u, 0xdfda3dcdu, 0xe13b2f03u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 102 /* milli weight units */
 }
 ,[MIN_8] =
 { .tag = JET
-, .jet = min_8
-, .cmr = {{0x8aa71d09u, 0x3e838ad3u, 0x6aa6fe16u, 0xfd1dde9fu, 0xb5772ac4u, 0x5d6bb8e4u, 0x2c8883a2u, 0xa9f100e2u}}
+, .jet = simplicity_min_8
+, .cmr = {{0x57ba257du, 0xc70a975eu, 0xfb22d7e0u, 0xa998aea9u, 0xd57f208au, 0x74565a68u, 0xf2ac8b50u, 0x1e220dc0u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 135 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[MODULO_16] =
 { .tag = JET
-, .jet = modulo_16
-, .cmr = {{0x0ea89859u, 0x79209d31u, 0x94c55912u, 0xf21a6577u, 0xda30c517u, 0xe008f851u, 0xc352085bu, 0xb067a0f1u}}
+, .jet = simplicity_modulo_16
+, .cmr = {{0x7abde1dcu, 0xab9d23eau, 0xe1d0a0a6u, 0xb384fb39u, 0xdf21c383u, 0x16c0bbccu, 0x6c706d7bu, 0x5f3d68bbu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 188 /* milli weight units */
+, .cost = 103 /* milli weight units */
 }
 ,[MODULO_32] =
 { .tag = JET
-, .jet = modulo_32
-, .cmr = {{0x223fb583u, 0x2b9559cau, 0x8651726au, 0xb7956e58u, 0xe53a402du, 0xf9603486u, 0x181807a2u, 0xfcaed487u}}
+, .jet = simplicity_modulo_32
+, .cmr = {{0x7d127866u, 0xceb003ecu, 0x84a2702au, 0xff4059a7u, 0xc6fb00a5u, 0xa5bace90u, 0xb9d9c020u, 0xb5dc0297u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 207 /* milli weight units */
+, .cost = 102 /* milli weight units */
 }
 ,[MODULO_64] =
 { .tag = JET
-, .jet = modulo_64
-, .cmr = {{0x8259a2e3u, 0xb0789c9du, 0x31eabc49u, 0x39d31bc5u, 0x254c5665u, 0xc412052cu, 0x12d72ecdu, 0xfbed5225u}}
+, .jet = simplicity_modulo_64
+, .cmr = {{0xaafed9e3u, 0x7b3d3ed4u, 0x1db17116u, 0x7b0fa23cu, 0x8b823addu, 0x9a48addeu, 0x24ba20f9u, 0x194b079cu}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w64
-, .cost = 191 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[MODULO_8] =
 { .tag = JET
-, .jet = modulo_8
-, .cmr = {{0xf8fd7c21u, 0xc15ebc5au, 0x04b3d3bcu, 0x0ad647e2u, 0x1d89f800u, 0x8ddddffeu, 0xbb003e35u, 0x52bdb570u}}
+, .jet = simplicity_modulo_8
+, .cmr = {{0x90f3acebu, 0x58477139u, 0x06d2f8efu, 0x7cb4b66bu, 0x0892810eu, 0xa801bfa9u, 0xd746da1au, 0xd6d98009u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 158 /* milli weight units */
+, .cost = 102 /* milli weight units */
 }
 ,[MULTIPLY_16] =
 { .tag = JET
-, .jet = multiply_16
-, .cmr = {{0xd66b0ad2u, 0x1cdbe601u, 0x4f2619f4u, 0x40d935f6u, 0x42e97c59u, 0x4e3b441fu, 0x01980eeau, 0x08c48591u}}
+, .jet = simplicity_multiply_16
+, .cmr = {{0x6868a85du, 0x9f76c958u, 0xffda8478u, 0x05f5ebc0u, 0x9f43bddbu, 0xc140952au, 0xbb2a4cc0u, 0x1927ebddu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w32
-, .cost = 154 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[MULTIPLY_32] =
 { .tag = JET
-, .jet = multiply_32
-, .cmr = {{0xc67f65afu, 0xae79108cu, 0xe5f724f4u, 0x01817aa1u, 0xb4a7608au, 0x4e18ee74u, 0x826b37f7u, 0x949c77d6u}}
+, .jet = simplicity_multiply_32
+, .cmr = {{0x69f91b99u, 0x4d8340e4u, 0x8c0f1124u, 0x990de03bu, 0x512adcecu, 0xd7bdeb29u, 0xe409a351u, 0x19f11facu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w64
-, .cost = 165 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[MULTIPLY_64] =
 { .tag = JET
-, .jet = multiply_64
-, .cmr = {{0x16ac08feu, 0xc9d96652u, 0x7f80c39cu, 0x64a4fc10u, 0x82b150bdu, 0xbb05f7f6u, 0xc4b9a00eu, 0xbd894dbau}}
+, .jet = simplicity_multiply_64
+, .cmr = {{0xd1f148f2u, 0xd450e803u, 0x474343e5u, 0x9d2e0c4du, 0xa7d6b097u, 0x2cfa251cu, 0x9a822ab4u, 0x4263e162u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w128
-, .cost = 185 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[MULTIPLY_8] =
 { .tag = JET
-, .jet = multiply_8
-, .cmr = {{0xcec3d5c3u, 0x2dee352eu, 0x754f141cu, 0x02ef2b60u, 0xf86e27d2u, 0xcbe27326u, 0x060dec9eu, 0x7bcc206bu}}
+, .jet = simplicity_multiply_8
+, .cmr = {{0x2a8c0363u, 0x2ecc5e61u, 0xe3f1203au, 0x912b1a77u, 0x3eb6bf63u, 0x4b6bdf56u, 0x63b8431du, 0xb6f55be3u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w16
-, .cost = 126 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[NEGATE_16] =
 { .tag = JET
-, .jet = negate_16
-, .cmr = {{0x81f3ef08u, 0x2b199d2eu, 0x474535fbu, 0x84282f21u, 0x111c1a04u, 0x97a91695u, 0xe72c4d51u, 0xaf1cb057u}}
+, .jet = simplicity_negate_16
+, .cmr = {{0xf1a22428u, 0x06aadfc4u, 0xdc11de65u, 0xe877b0d8u, 0x73b5d565u, 0xeee3f848u, 0xa7442831u, 0xe52c630au}}
 , .sourceIx = ty_w16
 , .targetIx = ty_pbw16
-, .cost = 121 /* milli weight units */
+, .cost = 70 /* milli weight units */
 }
 ,[NEGATE_32] =
 { .tag = JET
-, .jet = negate_32
-, .cmr = {{0xba173bdeu, 0xf24e637fu, 0x4a5a0c6fu, 0xed4bbc22u, 0xc7d08bccu, 0x20fdca61u, 0x70363d25u, 0x26955836u}}
+, .jet = simplicity_negate_32
+, .cmr = {{0xdb75ba2cu, 0x60952e76u, 0x5d7a5ce4u, 0xaaa31264u, 0x990fccacu, 0x750a80adu, 0xc678787fu, 0x5f72bfddu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_pbw32
-, .cost = 185 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[NEGATE_64] =
 { .tag = JET
-, .jet = negate_64
-, .cmr = {{0xe713272du, 0x6d9a6d69u, 0x6c46889du, 0xfb270475u, 0xe9238d17u, 0x72abf916u, 0x5b093c79u, 0x98ee8070u}}
+, .jet = simplicity_negate_64
+, .cmr = {{0xc91bcdb7u, 0x1d196a3bu, 0xf65ca83fu, 0x225a5e1bu, 0xbb73bd2eu, 0x3575cf16u, 0x5e5a4717u, 0xe94737ebu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_pbw64
-, .cost = 162 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[NEGATE_8] =
 { .tag = JET
-, .jet = negate_8
-, .cmr = {{0x8be87139u, 0x3e18c063u, 0x69161fb1u, 0xc0ad2b92u, 0x0622974eu, 0x3fdfca90u, 0x567e6da4u, 0x29fd9842u}}
+, .jet = simplicity_negate_8
+, .cmr = {{0x8afffab3u, 0x6bbca0e9u, 0x3fff2c67u, 0x2724e4b7u, 0xbc24f638u, 0xe4048912u, 0x664788f0u, 0x38c995cfu}}
 , .sourceIx = ty_w8
 , .targetIx = ty_pbw8
-, .cost = 152 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[NEW_ISSUANCE_CONTRACT] =
 { .tag = JET
-, .jet = new_issuance_contract
-, .cmr = {{0x59e2a74cu, 0x997a07aau, 0xfd5c280eu, 0x4649e7afu, 0x2b3cc4dcu, 0x9b72a81cu, 0x722548ffu, 0x8c1313bfu}}
+, .jet = simplicity_new_issuance_contract
+, .cmr = {{0x4d86ad92u, 0x93951343u, 0xc9d70310u, 0x48127b20u, 0x74566afau, 0xd660a930u, 0x2346e6cau, 0x9626857bu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmw256
-, .cost = 214 /* milli weight units */
+, .cost = 157 /* milli weight units */
 }
 ,[NONCE_HASH] =
 { .tag = JET
-, .jet = nonce_hash
-, .cmr = {{0xca4a66d7u, 0xf8e982a9u, 0xee042504u, 0x0d2b0d1du, 0x3dc6207fu, 0x93856458u, 0xe24e7a26u, 0xe95c56f8u}}
+, .jet = simplicity_nonce_hash
+, .cmr = {{0xee34738bu, 0x801ec5f2u, 0x6cf24436u, 0x7e2af0a0u, 0x5a2dc618u, 0x430a4a36u, 0x2e275003u, 0xcf05c8adu}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256mspbw256w256
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 2727 /* milli weight units */
+, .cost = 317 /* milli weight units */
 }
 ,[NUM_INPUTS] =
 { .tag = JET
-, .jet = num_inputs
-, .cmr = {{0xd7b46628u, 0x7ef4e59cu, 0x02be3389u, 0xeafb4347u, 0xb7d1a2a1u, 0x5c144918u, 0xb7ad3443u, 0xb14fae03u}}
+, .jet = simplicity_num_inputs
+, .cmr = {{0x3bca34d7u, 0xde3555e1u, 0x2d085d92u, 0xbae6e52cu, 0x6adc7186u, 0xde52f0acu, 0x351c96e6u, 0x64d9e31fu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 139 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[NUM_OUTPUTS] =
 { .tag = JET
-, .jet = num_outputs
-, .cmr = {{0x67df4debu, 0x3ff0c26au, 0xe3123047u, 0xcc734ae3u, 0xb61ffcefu, 0x511fcf42u, 0x813c3f48u, 0x1920ee48u}}
+, .jet = simplicity_num_outputs
+, .cmr = {{0x29dc3190u, 0xd3bbafb5u, 0xe30b1c6eu, 0x6c5af030u, 0x7a9d35d3u, 0x117fd1c2u, 0xbdcc14d8u, 0xc4fade70u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 134 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[ONE_16] =
 { .tag = JET
-, .jet = one_16
-, .cmr = {{0x7629792bu, 0xa1a44114u, 0xe59e64b5u, 0x1d187af6u, 0xd965d966u, 0x20dca262u, 0x7507b7d3u, 0x88d9353cu}}
+, .jet = simplicity_one_16
+, .cmr = {{0xebe53162u, 0x8242d117u, 0x7fa94ecfu, 0x469221beu, 0x15905e07u, 0xf3c8fa15u, 0xd3d9d4aau, 0x6a815c8du}}
 , .sourceIx = ty_u
 , .targetIx = ty_w16
-, .cost = 126 /* milli weight units */
+, .cost = 60 /* milli weight units */
 }
 ,[ONE_32] =
 { .tag = JET
-, .jet = one_32
-, .cmr = {{0x0ba004ceu, 0xa250fe95u, 0x3ac74e6eu, 0xcd3620e8u, 0x02841fdau, 0x795208deu, 0xc66d626eu, 0x06aa29b2u}}
+, .jet = simplicity_one_32
+, .cmr = {{0x991f9e3au, 0xcb6ff78fu, 0x03f57803u, 0x541096beu, 0x7944c918u, 0xc2af3d68u, 0xa3210d0bu, 0x9f990ec2u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 122 /* milli weight units */
+, .cost = 59 /* milli weight units */
 }
 ,[ONE_64] =
 { .tag = JET
-, .jet = one_64
-, .cmr = {{0xba3478c1u, 0x08740a83u, 0xf0ca0eaeu, 0x86c31b4au, 0xfac830dfu, 0x093467ccu, 0x08ea1c04u, 0x15efef6du}}
+, .jet = simplicity_one_64
+, .cmr = {{0xfe308d3fu, 0x6897cdceu, 0xedc02cedu, 0x1630e55eu, 0x87bdcfecu, 0xd4aec3ceu, 0x54948f57u, 0xdfe18e27u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w64
-, .cost = 123 /* milli weight units */
+, .cost = 59 /* milli weight units */
 }
 ,[ONE_8] =
 { .tag = JET
-, .jet = one_8
-, .cmr = {{0x15ca77a4u, 0xb7022568u, 0x37f90ff7u, 0x8ca7740au, 0x40fece71u, 0x91301d00u, 0xe517d8d3u, 0x4f46c250u}}
+, .jet = simplicity_one_8
+, .cmr = {{0x68248261u, 0x8bee00bbu, 0x85db83e3u, 0x9dc40c28u, 0x51f64c00u, 0x6953440fu, 0x43b973afu, 0x7a7232c9u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w8
-, .cost = 127 /* milli weight units */
+, .cost = 62 /* milli weight units */
 }
 ,[OR_1] =
 { .tag = JET
-, .jet = or_1
-, .cmr = {{0x93522230u, 0x1700987du, 0xe12cb426u, 0x17218153u, 0xfd7ccd63u, 0x174a1749u, 0xfc880c39u, 0xe3e7239cu}}
+, .jet = simplicity_or_1
+, .cmr = {{0xa9a6a736u, 0x9f3fd77eu, 0xfd36b8a4u, 0x1dadd70cu, 0x1a4ede70u, 0x623b140au, 0x8d50dec7u, 0x4dd4912du}}
 , .sourceIx = ty_w2
 , .targetIx = ty_b
-, .cost = 147 /* milli weight units */
+, .cost = 77 /* milli weight units */
 }
 ,[OR_16] =
 { .tag = JET
-, .jet = or_16
-, .cmr = {{0xdfead0bau, 0x93e49155u, 0xc40cb372u, 0xca5ef617u, 0x9741c61fu, 0x2b3cc279u, 0x7ef162c8u, 0xd2fc1f9au}}
+, .jet = simplicity_or_16
+, .cmr = {{0xda96d833u, 0x2155c363u, 0x8cf2a620u, 0x40b224c1u, 0x3c1baeeeu, 0x91321853u, 0x3defed9eu, 0x166a6483u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 204 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[OR_32] =
 { .tag = JET
-, .jet = or_32
-, .cmr = {{0x67ac6945u, 0xcdc006d2u, 0x5e5bbe6cu, 0x4fe81ca1u, 0x6741ffabu, 0x3d23960eu, 0xeb49850fu, 0x92732cbbu}}
+, .jet = simplicity_or_32
+, .cmr = {{0xb672b0f7u, 0xc9297497u, 0xa0c9cc84u, 0xd7f7dde2u, 0x6d6de5e4u, 0xbec14b20u, 0xe010cee1u, 0xccc08f09u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 197 /* milli weight units */
+, .cost = 105 /* milli weight units */
 }
 ,[OR_64] =
 { .tag = JET
-, .jet = or_64
-, .cmr = {{0x1eb952e4u, 0x6116e271u, 0xdc489e67u, 0x22a90185u, 0xebf5fb77u, 0x5b778160u, 0x6dbf5e89u, 0xccd7c250u}}
+, .jet = simplicity_or_64
+, .cmr = {{0x133d505cu, 0xe503fbebu, 0x1329580fu, 0x5b96a0d9u, 0x7f3a5abau, 0x79d71bbdu, 0x85884a12u, 0x8139c008u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w64
-, .cost = 214 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[OR_8] =
 { .tag = JET
-, .jet = or_8
-, .cmr = {{0x378f7abeu, 0x8b081fafu, 0x5b3a2578u, 0xef1979feu, 0x80bccb07u, 0x91156a49u, 0x3f8a3f6eu, 0x0bb2fc84u}}
+, .jet = simplicity_or_8
+, .cmr = {{0x8ef1c6a1u, 0xcae07403u, 0xdacd8c13u, 0x2e8899c1u, 0x858745c8u, 0x6d1fdd4cu, 0x9fda6362u, 0x510048b3u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 147 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[OUTPOINT_HASH] =
 { .tag = JET
-, .jet = outpoint_hash
-, .cmr = {{0xe31d339du, 0x86e6d76bu, 0xadc3d6d6u, 0xcf1be706u, 0x53e03442u, 0x73449cecu, 0xf521d366u, 0x2bd8fc2bu}}
+, .jet = simplicity_outpoint_hash
+, .cmr = {{0x89f8dc9bu, 0xd0e90591u, 0xd9c12224u, 0xb3614293u, 0xda1a2384u, 0xf5559be1u, 0xcf3ebd1eu, 0x7a326da3u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256pmw256pw256w32
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 5256 /* milli weight units */
+, .cost = 319 /* milli weight units */
 }
 ,[OUTPUT_AMOUNT] =
 { .tag = JET
-, .jet = output_amount
-, .cmr = {{0x52db68c6u, 0xc7be32bfu, 0xaa426970u, 0xeb4197ceu, 0x1ce3f453u, 0x0e1a2cffu, 0x8e17db47u, 0x229207b3u}}
+, .jet = simplicity_output_amount
+, .cmr = {{0x1ef0e908u, 0x6491c7b8u, 0xf25a0545u, 0x5dee8ff3u, 0x0b850885u, 0x65094b47u, 0x520b5944u, 0x72f8cc14u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mpspbw256w256spbw256w64
-, .cost = 709 /* milli weight units */
+, .cost = 298 /* milli weight units */
 }
 ,[OUTPUT_AMOUNTS_HASH] =
 { .tag = JET
-, .jet = output_amounts_hash
-, .cmr = {{0xbccbee78u, 0x1ee297fau, 0xbfbe38c0u, 0x079ad374u, 0x258c0b1eu, 0xbe223457u, 0x099a284au, 0x1b4338a2u}}
+, .jet = simplicity_output_amounts_hash
+, .cmr = {{0x25fde639u, 0xb3e13ecau, 0x04de5e8fu, 0x1a1b0c84u, 0x8c67bef3u, 0x3966ecbau, 0x975420b4u, 0x7be7229du}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 404 /* milli weight units */
+, .cost = 140 /* milli weight units */
 }
 ,[OUTPUT_ASSET] =
 { .tag = JET
-, .jet = output_asset
-, .cmr = {{0xca89b5c4u, 0x5a9a247du, 0x39086cdfu, 0xbe2ba1dfu, 0x025e37dbu, 0x9b6a2abbu, 0x74d97066u, 0xa69bf3a0u}}
+, .jet = simplicity_output_asset
+, .cmr = {{0x2b6fbd7cu, 0x07617b9eu, 0x71c91207u, 0xd240add8u, 0x3157650cu, 0x89ea8049u, 0x961fa8b3u, 0x42dfd6d1u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mspbw256w256
-, .cost = 621 /* milli weight units */
+, .cost = 170 /* milli weight units */
 }
 ,[OUTPUT_HASH] =
 { .tag = JET
-, .jet = output_hash
-, .cmr = {{0x7875cc33u, 0x2cf1b49cu, 0xdcf11e70u, 0x18dc8119u, 0x3ee4b19eu, 0xa142fc0au, 0xe7dbddb3u, 0x36e2fbfau}}
+, .jet = simplicity_output_hash
+, .cmr = {{0xbec30efeu, 0x4443aa3au, 0x1beba611u, 0x51217cc6u, 0x73ba7201u, 0xc51ff23au, 0x2c2f6d43u, 0xfa50441au}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 296 /* milli weight units */
+, .cost = 2849 /* milli weight units */
 }
 ,[OUTPUT_IS_FEE] =
 { .tag = JET
-, .jet = output_is_fee
-, .cmr = {{0xf70eb068u, 0xd200b7bcu, 0x5aaaaba1u, 0x2928e819u, 0x2b2948cdu, 0xe7e8f314u, 0x1c6b4311u, 0x38e5de3cu}}
+, .jet = simplicity_output_is_fee
+, .cmr = {{0x068dbed8u, 0x41d55f6cu, 0xd424c9f2u, 0xe07f0c18u, 0x38fb6de8u, 0xe5853fb3u, 0x22e299e0u, 0x17dd92e3u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mb
-, .cost = 270 /* milli weight units */
+, .cost = 92 /* milli weight units */
 }
 ,[OUTPUT_NONCE] =
 { .tag = JET
-, .jet = output_nonce
-, .cmr = {{0xedab1241u, 0xd297f274u, 0x7ad378a8u, 0x1a56143du, 0x741bc4eeu, 0x4c30b32fu, 0x8bc1aeb5u, 0x2cc4814cu}}
+, .jet = simplicity_output_nonce
+, .cmr = {{0x8ec54108u, 0xee02aefeu, 0x5300917eu, 0xf6a25f84u, 0xb41b5a1au, 0x101a6b72u, 0xf3c18ae1u, 0xce291239u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmspbw256w256
-, .cost = 396 /* milli weight units */
+, .cost = 196 /* milli weight units */
 }
 ,[OUTPUT_NONCES_HASH] =
 { .tag = JET
-, .jet = output_nonces_hash
-, .cmr = {{0xf07fe7e9u, 0x7396865du, 0x50c1ac94u, 0x77ad9f95u, 0x062f11edu, 0x01c97de7u, 0xfa4affa0u, 0x8cd10531u}}
+, .jet = simplicity_output_nonces_hash
+, .cmr = {{0x10c40dbcu, 0xf70335d6u, 0x552eff11u, 0xc1e2d543u, 0x630f108fu, 0x7234402au, 0x1b0b3d6eu, 0x5fdae03fu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 387 /* milli weight units */
+, .cost = 151 /* milli weight units */
 }
 ,[OUTPUT_NULL_DATUM] =
 { .tag = JET
-, .jet = output_null_datum
-, .cmr = {{0x964c4deeu, 0x8fe4a866u, 0xcc3ea494u, 0x7884814cu, 0xccd60269u, 0x2e378ba0u, 0xe935fa03u, 0xf95e3de1u}}
+, .jet = simplicity_output_null_datum
+, .cmr = {{0x24afc595u, 0x7e521ea7u, 0x32b29ca3u, 0x28bc8c07u, 0x276ae4dau, 0xf9d864a3u, 0xa5149f89u, 0x31aee6f5u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_mmspw2w256sbw4
-, .cost = 249 /* milli weight units */
+, .cost = 87 /* milli weight units */
 }
 ,[OUTPUT_RANGE_PROOF] =
 { .tag = JET
-, .jet = output_range_proof
-, .cmr = {{0xa00418e4u, 0xabc4bed5u, 0x373fc222u, 0xce1f960bu, 0x6435eaa8u, 0xf14fe66cu, 0xa42c52ddu, 0x9ae226b8u}}
+, .jet = simplicity_output_range_proof
+, .cmr = {{0x33d1163fu, 0x6709e659u, 0x49c391f0u, 0xa73e1051u, 0x9c1997cfu, 0xcd13cabcu, 0x93001ed6u, 0xa23a2ca3u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 452 /* milli weight units */
+, .cost = 154 /* milli weight units */
 }
 ,[OUTPUT_RANGE_PROOFS_HASH] =
 { .tag = JET
-, .jet = output_range_proofs_hash
-, .cmr = {{0xebe626e2u, 0x854e7000u, 0x75eadeeeu, 0xad5fe0bdu, 0xd69c1b0fu, 0xadf108d3u, 0x68c1293fu, 0x86585fb1u}}
+, .jet = simplicity_output_range_proofs_hash
+, .cmr = {{0xfa892470u, 0xd9a171c6u, 0xd5a2a125u, 0xe9814652u, 0x57a5681cu, 0xecb2b529u, 0x7408d7f1u, 0x5c93d2eeu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 397 /* milli weight units */
+, .cost = 136 /* milli weight units */
 }
 ,[OUTPUT_SCRIPT_HASH] =
 { .tag = JET
-, .jet = output_script_hash
-, .cmr = {{0xecf673e5u, 0xfcaf7b7eu, 0x6e37b628u, 0x095e5a9eu, 0xf981e6c4u, 0xc339ebdfu, 0x3eb1e6bfu, 0x4505f534u}}
+, .jet = simplicity_output_script_hash
+, .cmr = {{0x8437730bu, 0x2702e4e6u, 0x3aee3af0u, 0x84519107u, 0x7ffd18d0u, 0x10af4a73u, 0xa7d5f0c0u, 0xfbc06483u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 437 /* milli weight units */
+, .cost = 151 /* milli weight units */
 }
 ,[OUTPUT_SCRIPTS_HASH] =
 { .tag = JET
-, .jet = output_scripts_hash
-, .cmr = {{0xc0489e87u, 0x8cd89ca5u, 0x109a5316u, 0x7a61a845u, 0x4ed6dc2au, 0xcef9191au, 0xd53bbfb3u, 0xb0ea72dfu}}
+, .jet = simplicity_output_scripts_hash
+, .cmr = {{0x868dec36u, 0x5ba04627u, 0xdd90d56eu, 0x28553b57u, 0xf2d193c4u, 0x64cccd76u, 0xb1663efbu, 0xc3873889u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 416 /* milli weight units */
+, .cost = 142 /* milli weight units */
 }
 ,[OUTPUT_SURJECTION_PROOF] =
 { .tag = JET
-, .jet = output_surjection_proof
-, .cmr = {{0x1de8addbu, 0xf8b697c2u, 0xb3d192bdu, 0xe2c2c55fu, 0x5e6709c5u, 0xbd8631e3u, 0x8d8378ddu, 0x3dce49ccu}}
+, .jet = simplicity_output_surjection_proof
+, .cmr = {{0x9b6c4e8du, 0x5652e2abu, 0xd6c49f02u, 0xde6de6c3u, 0x3096d17cu, 0x38e8626au, 0x4f83b19bu, 0x04409d48u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mw256
-, .cost = 453 /* milli weight units */
+, .cost = 151 /* milli weight units */
 }
 ,[OUTPUT_SURJECTION_PROOFS_HASH] =
 { .tag = JET
-, .jet = output_surjection_proofs_hash
-, .cmr = {{0x743eb2d9u, 0x8e2c69c4u, 0x03aba3c3u, 0x3dcb8351u, 0xde8224c9u, 0xe04da507u, 0x1c8dfd7au, 0x935070acu}}
+, .jet = simplicity_output_surjection_proofs_hash
+, .cmr = {{0xa92e384eu, 0xf30fbac8u, 0xf52455c0u, 0x959e42a1u, 0xf7b5866eu, 0x368305b0u, 0xb2d420dau, 0xe0d191d5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 419 /* milli weight units */
+, .cost = 138 /* milli weight units */
 }
 ,[OUTPUTS_HASH] =
 { .tag = JET
-, .jet = outputs_hash
-, .cmr = {{0x12af1e5cu, 0x32da7512u, 0xfcd43259u, 0xd1bc8472u, 0xa915ce21u, 0xc6d306e4u, 0x85f1dbbcu, 0x07a1cfdbu}}
+, .jet = simplicity_outputs_hash
+, .cmr = {{0x1fa311d6u, 0x359b3d97u, 0xf64d0dbdu, 0x7e23f517u, 0x1d200cd4u, 0x9bc81d99u, 0xccbf1b27u, 0xeff79ad5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 296 /* milli weight units */
+, .cost = 135 /* milli weight units */
 }
 ,[PARSE_LOCK] =
 { .tag = JET
-, .jet = parse_lock
-, .cmr = {{0x4571ca04u, 0x52577cfau, 0xf8a85f5eu, 0x329d602cu, 0x8dcad127u, 0x6a974e2cu, 0x75d2ec04u, 0x657bc425u}}
+, .jet = simplicity_parse_lock
+, .cmr = {{0xce03e195u, 0xff841f93u, 0x09ee277du, 0xc854f9c3u, 0xd4cb6554u, 0x20e92113u, 0x59e1f204u, 0x641a23a6u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_sw32w32
-, .cost = 177 /* milli weight units */
+, .cost = 97 /* milli weight units */
 }
 ,[PARSE_SEQUENCE] =
 { .tag = JET
-, .jet = parse_sequence
-, .cmr = {{0x55c90366u, 0x0c8c92b1u, 0x429f63e2u, 0x7471acd5u, 0x9c3a26aau, 0x7a59221du, 0x7a6d52b6u, 0x2ebaf94au}}
+, .jet = simplicity_parse_sequence
+, .cmr = {{0xc8a1cb4eu, 0xadf2a8dau, 0x312c0d27u, 0x35cf97deu, 0xe0dbae4du, 0x731109cau, 0x0194521eu, 0x707d445bu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_msw16w16
-, .cost = 261 /* milli weight units */
+, .cost = 116 /* milli weight units */
 }
 ,[POINT_VERIFY_1] =
 { .tag = JET
-, .jet = point_verify_1
-, .cmr = {{0xb6009cecu, 0x8be8b14au, 0x1d313299u, 0xd66761d6u, 0x59adfff8u, 0x232899abu, 0x7db4097fu, 0x52c7d0beu}}
+, .jet = simplicity_point_verify_1
+, .cmr = {{0xd63ff0e5u, 0xa5008594u, 0xd555a615u, 0xe81fd2a6u, 0x9a481b4fu, 0x457f42f4u, 0x8283de2bu, 0x522384e0u}}
 , .sourceIx = ty_pppw256pbw256w256pbw256
 , .targetIx = ty_u
-, .cost = 50604 /* milli weight units */
+, .cost = 41494 /* milli weight units */
 }
 ,[REISSUANCE_BLINDING] =
 { .tag = JET
-, .jet = reissuance_blinding
-, .cmr = {{0x0b9a0aafu, 0xedb102a1u, 0x64061419u, 0xa789ea84u, 0x326cd589u, 0xf17c0ea0u, 0x192dd637u, 0x2ecb5ebfu}}
+, .jet = simplicity_reissuance_blinding
+, .cmr = {{0x808bf451u, 0xa2c8047bu, 0x307e21adu, 0x20213caeu, 0x55e102bau, 0x7283b8fdu, 0xec21db78u, 0x8c787fedu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmw256
-, .cost = 153 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[REISSUANCE_ENTROPY] =
 { .tag = JET
-, .jet = reissuance_entropy
-, .cmr = {{0xce84f983u, 0xa3bd3394u, 0x3d4dcb44u, 0x861c4a69u, 0xa2a5e8a5u, 0x22b5d5ebu, 0xf2515f51u, 0x1ac6a9b2u}}
+, .jet = simplicity_reissuance_entropy
+, .cmr = {{0x242f5c4fu, 0x19655a51u, 0x7134dcdbu, 0x07490582u, 0xad880134u, 0x9456714eu, 0x4b2ebe1au, 0x40d53676u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_mmw256
-, .cost = 126 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[RIGHT_EXTEND_16_32] =
 { .tag = JET
-, .jet = right_extend_16_32
-, .cmr = {{0x36423c16u, 0xd48d6c7cu, 0x91ed4416u, 0x11be3072u, 0xdfa5dd38u, 0xe4d27da8u, 0xdaed2978u, 0x8fc95208u}}
+, .jet = simplicity_right_extend_16_32
+, .cmr = {{0x1fe05d19u, 0x7ee6f15eu, 0xfb175452u, 0x36efeb38u, 0xc16e7a5au, 0xdc828b9au, 0xa04a3f6eu, 0x4678b5bau}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 74 /* milli weight units */
 }
 ,[RIGHT_EXTEND_16_64] =
 { .tag = JET
-, .jet = right_extend_16_64
-, .cmr = {{0x4b8a47b9u, 0x067073a1u, 0xfb68300fu, 0xacd6c506u, 0x9890abdbu, 0x7eaacb62u, 0x2ad7309au, 0x87f4d34du}}
+, .jet = simplicity_right_extend_16_64
+, .cmr = {{0x7cb9cc78u, 0x655285a1u, 0x62ffd80cu, 0x6d59f828u, 0xecdb75cbu, 0x64b08274u, 0xf89d2010u, 0x7c2be443u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 82 /* milli weight units */
 }
 ,[RIGHT_EXTEND_32_64] =
 { .tag = JET
-, .jet = right_extend_32_64
-, .cmr = {{0xdd6af1c8u, 0x01d26c0bu, 0x2edf83ceu, 0x67b172dfu, 0x6757d07fu, 0xb7c85468u, 0x6f42e576u, 0x8adcc9e7u}}
+, .jet = simplicity_right_extend_32_64
+, .cmr = {{0x325d1dffu, 0x737383f4u, 0x313dcb23u, 0xadf91e2au, 0xa4423038u, 0x8462832fu, 0xa15fe433u, 0x3633d930u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[RIGHT_EXTEND_8_16] =
 { .tag = JET
-, .jet = right_extend_8_16
-, .cmr = {{0x1de201a8u, 0x6470a02bu, 0x2dfe48c6u, 0x6afe0673u, 0x5b475e88u, 0xd325cbf1u, 0x6042a910u, 0x24d2bed9u}}
+, .jet = simplicity_right_extend_8_16
+, .cmr = {{0x5346f15du, 0x349bfebfu, 0x2b5b4b45u, 0xf9c0fc39u, 0x392067dcu, 0x6f979751u, 0xa15966b5u, 0xd17efb9fu}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 76 /* milli weight units */
 }
 ,[RIGHT_EXTEND_8_32] =
 { .tag = JET
-, .jet = right_extend_8_32
-, .cmr = {{0x7e9c5cb3u, 0x5419ab06u, 0xe1220023u, 0x102be46au, 0xb6d96995u, 0xc423c6b1u, 0x4b9a6602u, 0x8aec5d75u}}
+, .jet = simplicity_right_extend_8_32
+, .cmr = {{0xd5aee510u, 0xdfd50acau, 0xbd8ac329u, 0xd29748a6u, 0xf59408c2u, 0x6863ab62u, 0x4befc244u, 0x7ec26a44u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 106 /* milli weight units */
 }
 ,[RIGHT_EXTEND_8_64] =
 { .tag = JET
-, .jet = right_extend_8_64
-, .cmr = {{0x49d246c2u, 0xa61cd39du, 0x7820dcd7u, 0x5eee847bu, 0xf057c01au, 0x63a3acbcu, 0xc9463e44u, 0xbc1e0b6cu}}
+, .jet = simplicity_right_extend_8_64
+, .cmr = {{0xa843a315u, 0xf6dcd9bcu, 0xff586859u, 0xed6c31d8u, 0xcb986907u, 0x1b45b679u, 0x57ed15aeu, 0xd2e0ae5du}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 124 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_16_32] =
 { .tag = JET
-, .jet = right_pad_high_16_32
-, .cmr = {{0xfe901fb4u, 0xf6ebdc4eu, 0xa2961998u, 0x9922b80fu, 0xa9ce2412u, 0x87fa5408u, 0x64362cccu, 0xe9f54b3bu}}
+, .jet = simplicity_right_pad_high_16_32
+, .cmr = {{0x75bec300u, 0x6c04ce01u, 0x8f4a6110u, 0xaab3c55cu, 0xad453248u, 0xc1e7eb04u, 0x2c8257e6u, 0xb99ccd05u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 70 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_16_64] =
 { .tag = JET
-, .jet = right_pad_high_16_64
-, .cmr = {{0xda90add3u, 0x1067ccfdu, 0xbee4cbfbu, 0x21de8e6au, 0xa4f93e00u, 0x2200711fu, 0x9984af6fu, 0xc01e2700u}}
+, .jet = simplicity_right_pad_high_16_64
+, .cmr = {{0x93605928u, 0xb849b0f8u, 0xdfbc62a1u, 0x2590bb1au, 0x920ba59du, 0x5bdc49dfu, 0x0faab6a3u, 0x351a9661u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_1_16] =
 { .tag = JET
-, .jet = right_pad_high_1_16
-, .cmr = {{0xe4cf116cu, 0x0880f73fu, 0x9952f700u, 0x81788498u, 0xe5084cbbu, 0x72cf841bu, 0xcd9167a6u, 0xeea264dcu}}
+, .jet = simplicity_right_pad_high_1_16
+, .cmr = {{0x34c108aeu, 0x8a54e2c6u, 0x499bfec5u, 0xd6932815u, 0xf887149cu, 0x1149b789u, 0x94603f40u, 0xf1ffd2e7u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 143 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_1_32] =
 { .tag = JET
-, .jet = right_pad_high_1_32
-, .cmr = {{0x1276036bu, 0xb94cfd92u, 0x0ab73164u, 0x3b76b119u, 0x72dd2654u, 0x3853444eu, 0x18d7f63fu, 0xcac091a3u}}
+, .jet = simplicity_right_pad_high_1_32
+, .cmr = {{0x5b4a76edu, 0x0a50ace5u, 0x2b791ab9u, 0xa5c5ebcbu, 0x3cbba0dau, 0x3a95ac40u, 0x51eba9abu, 0x150fd0dcu}}
 , .sourceIx = ty_b
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 223 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_1_64] =
 { .tag = JET
-, .jet = right_pad_high_1_64
-, .cmr = {{0x38c99980u, 0xb1a99810u, 0x5111c56bu, 0xf8246509u, 0x65a509c4u, 0x7e1c76d9u, 0x00750a1fu, 0xee45c964u}}
+, .jet = simplicity_right_pad_high_1_64
+, .cmr = {{0xd499b4bcu, 0xf5df6a71u, 0xc8664f96u, 0xb7b964aeu, 0x2bbbda55u, 0x219797ecu, 0x6b9d2df4u, 0xa5a5e8bau}}
 , .sourceIx = ty_b
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 476 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_1_8] =
 { .tag = JET
-, .jet = right_pad_high_1_8
-, .cmr = {{0xca72ceedu, 0x2d98dccdu, 0x81aa21f0u, 0xba21d1a0u, 0x87b6f252u, 0x07c24a58u, 0x0ada7e60u, 0x5f7982dfu}}
+, .jet = simplicity_right_pad_high_1_8
+, .cmr = {{0x5ee6a838u, 0x2f9bbdc0u, 0xc581036eu, 0x51f1d927u, 0x6996722au, 0x182413a1u, 0x03cb98e9u, 0xa898f91eu}}
 , .sourceIx = ty_b
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 107 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_32_64] =
 { .tag = JET
-, .jet = right_pad_high_32_64
-, .cmr = {{0x17eb5911u, 0xf8549576u, 0x68eef463u, 0xb0cbae72u, 0x08529134u, 0xef5e56cdu, 0x33fbbc29u, 0xc28bbe92u}}
+, .jet = simplicity_right_pad_high_32_64
+, .cmr = {{0x062e02f4u, 0x8797787bu, 0xef0eab59u, 0x67580511u, 0xdcbcd744u, 0xbe65c4f6u, 0xc31b89e5u, 0x47e2e1d5u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 94 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_8_16] =
 { .tag = JET
-, .jet = right_pad_high_8_16
-, .cmr = {{0xd26f0cc5u, 0xb261eb83u, 0x0e02df12u, 0xcc574425u, 0x9b4a43d9u, 0x75bd2e3du, 0x7c782811u, 0x761ff1d1u}}
+, .jet = simplicity_right_pad_high_8_16
+, .cmr = {{0xa5c985e8u, 0xaea842fau, 0xdf9a748bu, 0x964ca515u, 0x04e9ebb4u, 0xac494552u, 0x648f3a67u, 0xa160c4c5u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 89 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_8_32] =
 { .tag = JET
-, .jet = right_pad_high_8_32
-, .cmr = {{0xbd2e5c92u, 0x60bf6f32u, 0x4d2b1f40u, 0xcbb12240u, 0x2f30d52fu, 0x6434e39fu, 0x8a09b839u, 0x7bc32e94u}}
+, .jet = simplicity_right_pad_high_8_32
+, .cmr = {{0xbf92f39fu, 0xdcdee4c4u, 0x96121870u, 0x7530cb10u, 0x08adf755u, 0x89d250cau, 0xffb370b3u, 0x3ebae238u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 110 /* milli weight units */
 }
 ,[RIGHT_PAD_HIGH_8_64] =
 { .tag = JET
-, .jet = right_pad_high_8_64
-, .cmr = {{0x941bf442u, 0xdbcf4f20u, 0x04a4b18bu, 0xeeb2adacu, 0x9f209feau, 0x4c4bd48cu, 0xede8dafau, 0xcf8843b7u}}
+, .jet = simplicity_right_pad_high_8_64
+, .cmr = {{0xce7e8a0eu, 0x4a9b0401u, 0x5cc24f26u, 0x990f68dcu, 0x93b67b3fu, 0x676fbfeau, 0xa17fd74cu, 0xd60357c1u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 107 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_16_32] =
 { .tag = JET
-, .jet = right_pad_low_16_32
-, .cmr = {{0xbb387c29u, 0x2d59d713u, 0xad76f6ceu, 0xd5b596cfu, 0xd8385892u, 0x4f725f7du, 0x116b2807u, 0x5821925au}}
+, .jet = simplicity_right_pad_low_16_32
+, .cmr = {{0xb0f7151du, 0x0a79de08u, 0xf233806du, 0x4f7e1f88u, 0xc329b964u, 0x625e8e02u, 0xf0a0a62cu, 0x31d0e600u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 71 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_16_64] =
 { .tag = JET
-, .jet = right_pad_low_16_64
-, .cmr = {{0x0232326eu, 0xe1b206adu, 0x26349b55u, 0x3d7f2462u, 0x287320d6u, 0x30e42932u, 0x0740cbd3u, 0xeb4ef9beu}}
+, .jet = simplicity_right_pad_low_16_64
+, .cmr = {{0x6d141cd9u, 0xc8dcfcefu, 0xb1cf853bu, 0xf37278edu, 0xe8ef3c55u, 0x8f39edebu, 0xbcafe44bu, 0x54007150u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 96 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_1_16] =
 { .tag = JET
-, .jet = right_pad_low_1_16
-, .cmr = {{0xd913f602u, 0xb35958d5u, 0x2abb20b0u, 0x2ce68961u, 0x6ffa66e0u, 0x2d73867du, 0x29181e11u, 0x93c9d243u}}
+, .jet = simplicity_right_pad_low_1_16
+, .cmr = {{0x33101e54u, 0x87dd66c2u, 0x45e8754du, 0xfa166a06u, 0xce53c5b5u, 0x4fc6d810u, 0x0e2aec6cu, 0xfe939bc9u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 81 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_1_32] =
 { .tag = JET
-, .jet = right_pad_low_1_32
-, .cmr = {{0x6b4033d9u, 0xfc6c876bu, 0x2e75d582u, 0xbb9b3c04u, 0xfa29dfb2u, 0x2c9e1a48u, 0x8e837c2fu, 0x39aa6160u}}
+, .jet = simplicity_right_pad_low_1_32
+, .cmr = {{0x5fa498c3u, 0xb7c6d348u, 0xa422b8cau, 0x4f47d069u, 0x552adbe2u, 0xbc6559dfu, 0x18684343u, 0x874843d3u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 75 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_1_64] =
 { .tag = JET
-, .jet = right_pad_low_1_64
-, .cmr = {{0x4e2b20ddu, 0x9d91857au, 0x49c820d0u, 0x6f435dd3u, 0xca791f17u, 0x7eeaf34au, 0xec36c454u, 0x19d16965u}}
+, .jet = simplicity_right_pad_low_1_64
+, .cmr = {{0x07bb6d70u, 0xc5354f44u, 0x51fb061bu, 0x37e9efdau, 0x7e836efdu, 0x45061405u, 0xa5ea1a2fu, 0xf3158306u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 73 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_1_8] =
 { .tag = JET
-, .jet = right_pad_low_1_8
-, .cmr = {{0x24eee451u, 0xb26ba39du, 0x6bcc588bu, 0x720faf22u, 0x32767912u, 0xf67db329u, 0x060d90b7u, 0x1417b6c3u}}
+, .jet = simplicity_right_pad_low_1_8
+, .cmr = {{0xcd7215d3u, 0x9b80b18bu, 0x6e78ec56u, 0x8b488258u, 0x9f827104u, 0xd685b0d4u, 0xec689d10u, 0x59757122u}}
 , .sourceIx = ty_b
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 68 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_32_64] =
 { .tag = JET
-, .jet = right_pad_low_32_64
-, .cmr = {{0x52fb8bbcu, 0xef903231u, 0xa5b76791u, 0xe4652b38u, 0xbed8977fu, 0x5dab1795u, 0x55998db2u, 0x4d1d7c98u}}
+, .jet = simplicity_right_pad_low_32_64
+, .cmr = {{0x0078a07cu, 0x1a2ba848u, 0x6f1605d7u, 0xfa54b377u, 0xe84cb6ddu, 0xc5e4c03du, 0xaf98fba9u, 0x0fd2f662u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 80 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_8_16] =
 { .tag = JET
-, .jet = right_pad_low_8_16
-, .cmr = {{0x1719b279u, 0x74e84380u, 0x50882530u, 0xa1a42ed7u, 0xab3ca28du, 0x254adc37u, 0xfe5666fdu, 0x2f70b4e4u}}
+, .jet = simplicity_right_pad_low_8_16
+, .cmr = {{0xc9048e29u, 0xacd72674u, 0x0300c9a6u, 0xcff117c0u, 0xec77090du, 0xa5aeedf9u, 0x703f9affu, 0xc91d9ab7u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 75 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_8_32] =
 { .tag = JET
-, .jet = right_pad_low_8_32
-, .cmr = {{0xee2a8230u, 0xf283dc08u, 0x3b8e1944u, 0x8ba32497u, 0xe9318b4eu, 0x9e1bd4ebu, 0xe1bec524u, 0x476ab86du}}
+, .jet = simplicity_right_pad_low_8_32
+, .cmr = {{0x51e7f934u, 0xf06ec1c9u, 0x499186bau, 0xa5180a9du, 0xed566d58u, 0xb42ab2f7u, 0x0ff36a4eu, 0x88ba0978u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 77 /* milli weight units */
 }
 ,[RIGHT_PAD_LOW_8_64] =
 { .tag = JET
-, .jet = right_pad_low_8_64
-, .cmr = {{0x97da90d8u, 0x428e6b94u, 0xe6c13514u, 0x60dc0112u, 0x3e479c4au, 0xafbbd14cu, 0x78ad2fadu, 0x0a895ef3u}}
+, .jet = simplicity_right_pad_low_8_64
+, .cmr = {{0x48cd20c3u, 0x8c1ea9a0u, 0xab74d51du, 0xf485ef63u, 0x904b8f9au, 0x09effd98u, 0xfebacd17u, 0x17f18ad8u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 82 /* milli weight units */
 }
 ,[RIGHT_ROTATE_16] =
 { .tag = JET
-, .jet = right_rotate_16
-, .cmr = {{0xee7d1c1fu, 0x3d82da56u, 0x81dd8b50u, 0x69d537d8u, 0x9f2293aau, 0x605332ceu, 0x10c1c422u, 0x4a53ceeau}}
+, .jet = simplicity_right_rotate_16
+, .cmr = {{0x65ad755eu, 0xe809c727u, 0x6bc09de1u, 0x9b67d196u, 0x9de32c53u, 0xb3a10121u, 0xaf905656u, 0x6a3ce8efu}}
 , .sourceIx = ty_pw4w16
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 99 /* milli weight units */
 }
 ,[RIGHT_ROTATE_32] =
 { .tag = JET
-, .jet = right_rotate_32
-, .cmr = {{0x892a28dbu, 0x324cd93cu, 0xf7f69c30u, 0x72a7b222u, 0xb88c818eu, 0xe0e5a1b8u, 0x97e50c58u, 0x1f2a2962u}}
+, .jet = simplicity_right_rotate_32
+, .cmr = {{0xd813637cu, 0xba61094eu, 0xb5dc58f9u, 0x3259ac3bu, 0xda0af29cu, 0x3dcb0551u, 0xe145203eu, 0x0b8dfe20u}}
 , .sourceIx = ty_pw8w32
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 92 /* milli weight units */
 }
 ,[RIGHT_ROTATE_64] =
 { .tag = JET
-, .jet = right_rotate_64
-, .cmr = {{0x64314ff1u, 0x9040a376u, 0xf9fcf02eu, 0x7574149cu, 0x123f99c3u, 0x9071cd37u, 0x851f8f8cu, 0xdf0eed42u}}
+, .jet = simplicity_right_rotate_64
+, .cmr = {{0x7b8df8b8u, 0x857ecfb4u, 0xacc183a3u, 0x55d3630au, 0x9c645f9du, 0xc405e887u, 0x066193cbu, 0xcda44a2eu}}
 , .sourceIx = ty_pw8w64
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[RIGHT_ROTATE_8] =
 { .tag = JET
-, .jet = right_rotate_8
-, .cmr = {{0x1581e0cau, 0x09f13684u, 0xfe3135c1u, 0xc6b6f9c4u, 0x89d7dd1eu, 0xf0a5f770u, 0x83bb0ed0u, 0x0b4df28fu}}
+, .jet = simplicity_right_rotate_8
+, .cmr = {{0x89282b3eu, 0x430bbad5u, 0xae7b1ad7u, 0x4d10614cu, 0xedfdc801u, 0xbfa3ce17u, 0x5f9e08bfu, 0x4031dd8eu}}
 , .sourceIx = ty_pw4w8
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 75 /* milli weight units */
 }
 ,[RIGHT_SHIFT_16] =
 { .tag = JET
-, .jet = right_shift_16
-, .cmr = {{0x5b4ec462u, 0xd4e2ed89u, 0xffe3fd40u, 0x5932c797u, 0x80286120u, 0x3ecb61d5u, 0xb59a73b0u, 0xfbfc4e84u}}
+, .jet = simplicity_right_shift_16
+, .cmr = {{0x86040b4bu, 0xdf11807fu, 0xb10dc7cau, 0x98f83e53u, 0x02c584c9u, 0x2671d9a8u, 0xcaddf778u, 0x0bd6085fu}}
 , .sourceIx = ty_pw4w16
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 84 /* milli weight units */
 }
 ,[RIGHT_SHIFT_32] =
 { .tag = JET
-, .jet = right_shift_32
-, .cmr = {{0xb2861a48u, 0xb2054176u, 0x91b6347fu, 0xe75ebea5u, 0x4560cf81u, 0x3814ac31u, 0x639170dbu, 0x92b947d6u}}
+, .jet = simplicity_right_shift_32
+, .cmr = {{0xd1d0ccdbu, 0xcc11a0e0u, 0x0af93e7au, 0xe5bbe27fu, 0x9d7fa7f2u, 0xc251f603u, 0x35245fa0u, 0x0c5ab9fcu}}
 , .sourceIx = ty_pw8w32
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[RIGHT_SHIFT_64] =
 { .tag = JET
-, .jet = right_shift_64
-, .cmr = {{0xd33942bfu, 0x18618a10u, 0x4a570754u, 0x7f78ab72u, 0x941f4ee8u, 0x13216c0cu, 0xe520f356u, 0x60fdbf81u}}
+, .jet = simplicity_right_shift_64
+, .cmr = {{0x517ba7ccu, 0xb3ab802cu, 0x83d7068cu, 0x3c871c17u, 0xe204ff0eu, 0xea02ab42u, 0x0181733cu, 0x79a42bb6u}}
 , .sourceIx = ty_pw8w64
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[RIGHT_SHIFT_8] =
 { .tag = JET
-, .jet = right_shift_8
-, .cmr = {{0x737912aeu, 0x323250c0u, 0x4e516e39u, 0x66ce947eu, 0x65326f47u, 0x468ac931u, 0xc163c3b0u, 0x2de41245u}}
+, .jet = simplicity_right_shift_8
+, .cmr = {{0x0f298a1au, 0x90d1f384u, 0xc245af0bu, 0xf172642cu, 0x51f51d47u, 0x5a4147dcu, 0xe8c72168u, 0xe77f0cb2u}}
 , .sourceIx = ty_pw4w8
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 88 /* milli weight units */
 }
 ,[RIGHT_SHIFT_WITH_16] =
 { .tag = JET
-, .jet = right_shift_with_16
-, .cmr = {{0x1e181c33u, 0x1693594cu, 0x6e0e8fdeu, 0xb40a81a3u, 0xaf8f56b7u, 0xa560de64u, 0x41303f65u, 0xf4fc937cu}}
+, .jet = simplicity_right_shift_with_16
+, .cmr = {{0xcf05f842u, 0x110f9819u, 0xa5345c23u, 0x2beb472bu, 0x9c976984u, 0xa41470beu, 0xfc0b025du, 0x46d04271u}}
 , .sourceIx = ty_pbpw4w16
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 105 /* milli weight units */
 }
 ,[RIGHT_SHIFT_WITH_32] =
 { .tag = JET
-, .jet = right_shift_with_32
-, .cmr = {{0x69dbe190u, 0xd72d77d0u, 0xd0dcf325u, 0xde965922u, 0x14581f11u, 0xe9edca93u, 0xe2f92848u, 0x2b5e77a7u}}
+, .jet = simplicity_right_shift_with_32
+, .cmr = {{0x04044195u, 0x69d57fe3u, 0x893230dbu, 0x5fa0d8f9u, 0x473023a4u, 0x2e01c204u, 0x931cd734u, 0xfb44a9f8u}}
 , .sourceIx = ty_pbpw8w32
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 92 /* milli weight units */
 }
 ,[RIGHT_SHIFT_WITH_64] =
 { .tag = JET
-, .jet = right_shift_with_64
-, .cmr = {{0x2d0ab883u, 0x0469280eu, 0x2a28993cu, 0x5a05f56bu, 0x91a8aeb0u, 0x34ccebe0u, 0x9c50f13eu, 0xa78ddafcu}}
+, .jet = simplicity_right_shift_with_64
+, .cmr = {{0x77267b05u, 0x1e5a1039u, 0x1185903bu, 0x1a98de32u, 0xfcf24e6au, 0xe6871c6fu, 0x15b68652u, 0xb24a66c4u}}
 , .sourceIx = ty_pbpw8w64
 , .targetIx = ty_w64
-, .cost = 150 /* milli weight units */
+, .cost = 97 /* milli weight units */
 }
 ,[RIGHT_SHIFT_WITH_8] =
 { .tag = JET
-, .jet = right_shift_with_8
-, .cmr = {{0x1bdbdc8du, 0x8b749ba3u, 0xda757558u, 0x7d999300u, 0x72603f27u, 0x5f7bd2f3u, 0x24a34951u, 0xd4461b21u}}
+, .jet = simplicity_right_shift_with_8
+, .cmr = {{0xa9cb6614u, 0xef326a66u, 0x4774d6dcu, 0xe653e1d6u, 0xc0895834u, 0x43ae917fu, 0x0fb4c5c2u, 0x2b9ab444u}}
 , .sourceIx = ty_pbpw4w8
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 103 /* milli weight units */
 }
 ,[RIGHTMOST_16_1] =
 { .tag = JET
-, .jet = rightmost_16_1
-, .cmr = {{0xe129a8aeu, 0x880f51cau, 0x2a94db44u, 0xedeca1c3u, 0xa766b73eu, 0x98970b11u, 0x98ade216u, 0xae69cd2du}}
+, .jet = simplicity_rightmost_16_1
+, .cmr = {{0x648b9a0fu, 0x903228bau, 0x27d95941u, 0xfd54e92eu, 0xa7b35feeu, 0xb28a7986u, 0xb62da92du, 0x7d512470u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 150 /* milli weight units */
+, .cost = 70 /* milli weight units */
 }
 ,[RIGHTMOST_16_2] =
 { .tag = JET
-, .jet = rightmost_16_2
-, .cmr = {{0x8d0f68dau, 0xdf546c5eu, 0xd36f3470u, 0x5802b0ceu, 0x839a63e5u, 0x74497785u, 0x243008abu, 0x427e456bu}}
+, .jet = simplicity_rightmost_16_2
+, .cmr = {{0x27622f1cu, 0x01736231u, 0x09f920f8u, 0xcd8766bbu, 0xf60d306au, 0xd1983fdbu, 0xc1461d23u, 0xa41fa944u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w2
-, .cost = 150 /* milli weight units */
+, .cost = 82 /* milli weight units */
 }
 ,[RIGHTMOST_16_4] =
 { .tag = JET
-, .jet = rightmost_16_4
-, .cmr = {{0xb0d41395u, 0x41ecab2cu, 0x16fc1a87u, 0x989bdd04u, 0x5322efb1u, 0xe70bc1f7u, 0xb04d43b2u, 0x8bb349ffu}}
+, .jet = simplicity_rightmost_16_4
+, .cmr = {{0x7987868fu, 0xf3fe7f44u, 0x68a3150eu, 0x3a42cd0fu, 0x325d4892u, 0x8189a485u, 0xaa62c013u, 0x94c4e834u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w4
-, .cost = 150 /* milli weight units */
+, .cost = 76 /* milli weight units */
 }
 ,[RIGHTMOST_16_8] =
 { .tag = JET
-, .jet = rightmost_16_8
-, .cmr = {{0x0f03fa0fu, 0xa6ceb55du, 0xf99b20d9u, 0xefcf3710u, 0xa708a284u, 0xa95c334cu, 0x1da3cbfeu, 0x02fb9467u}}
+, .jet = simplicity_rightmost_16_8
+, .cmr = {{0xef85cf36u, 0xb79d9cfau, 0xed2c633du, 0x751e2e38u, 0xeaae5ac0u, 0x21050b13u, 0x4729b9dbu, 0x51bd55a3u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 69 /* milli weight units */
 }
 ,[RIGHTMOST_32_1] =
 { .tag = JET
-, .jet = rightmost_32_1
-, .cmr = {{0x8f5e5263u, 0xbb8ef800u, 0xc99d0c23u, 0xfcbaa319u, 0x8a6abdf0u, 0x08581e8cu, 0x891052b4u, 0x0ca7f7a4u}}
+, .jet = simplicity_rightmost_32_1
+, .cmr = {{0x0738e69eu, 0xbfcf85d8u, 0xe0db9066u, 0xc20afc0au, 0x0a62d54du, 0xb8ec357au, 0xce45ba4du, 0x4155d049u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 150 /* milli weight units */
+, .cost = 90 /* milli weight units */
 }
 ,[RIGHTMOST_32_16] =
 { .tag = JET
-, .jet = rightmost_32_16
-, .cmr = {{0xb9a23e1bu, 0xf7c68143u, 0x513074c9u, 0x39bd73c9u, 0xbf8eb5aau, 0xce8415ffu, 0x01022fcau, 0x65b3a342u}}
+, .jet = simplicity_rightmost_32_16
+, .cmr = {{0x08c12ff6u, 0x30906cdcu, 0x05d31716u, 0x045d962au, 0x6cb3952cu, 0x89aeb6c7u, 0x1e47fba6u, 0x845a4d8au}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 64 /* milli weight units */
 }
 ,[RIGHTMOST_32_2] =
 { .tag = JET
-, .jet = rightmost_32_2
-, .cmr = {{0xabf3238du, 0x3cbf0bf3u, 0x5a83961fu, 0xb9f904b5u, 0x6d3a9e0eu, 0x35c89df8u, 0x72c9c938u, 0xd344a54au}}
+, .jet = simplicity_rightmost_32_2
+, .cmr = {{0xf755df38u, 0x9722ae31u, 0x23884d9fu, 0x03f260f1u, 0x2ab22a35u, 0x3203d3cdu, 0xfe198308u, 0x2181034bu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w2
-, .cost = 150 /* milli weight units */
+, .cost = 74 /* milli weight units */
 }
 ,[RIGHTMOST_32_4] =
 { .tag = JET
-, .jet = rightmost_32_4
-, .cmr = {{0xf7eed2ecu, 0x805906feu, 0xb3ac27f2u, 0xdee53b58u, 0xc3b13e40u, 0xe2bc3e8bu, 0x10632ed9u, 0xc0e7ca5fu}}
+, .jet = simplicity_rightmost_32_4
+, .cmr = {{0x396004e0u, 0xf72cc247u, 0x585a6bf9u, 0x17f7781au, 0xaeb1b62au, 0x87762058u, 0x72267e4fu, 0x18f0a775u}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w4
-, .cost = 150 /* milli weight units */
+, .cost = 92 /* milli weight units */
 }
 ,[RIGHTMOST_32_8] =
 { .tag = JET
-, .jet = rightmost_32_8
-, .cmr = {{0xf3e439edu, 0x9883c6a6u, 0xb9072053u, 0x2eb4e043u, 0xe89a35f0u, 0xb5295fd5u, 0x02a0b0b2u, 0x436bd213u}}
+, .jet = simplicity_rightmost_32_8
+, .cmr = {{0x41936ea9u, 0x769de1f7u, 0x866cd5d0u, 0x68ac6c2eu, 0xa7470a39u, 0x39c2f17du, 0x34fe91afu, 0xc68b1f3au}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 78 /* milli weight units */
 }
 ,[RIGHTMOST_64_1] =
 { .tag = JET
-, .jet = rightmost_64_1
-, .cmr = {{0xc96be3e3u, 0x3548258eu, 0x30717b30u, 0x817e440fu, 0x0af4b189u, 0x0edfcf7fu, 0xdcb39cb9u, 0xefff471du}}
+, .jet = simplicity_rightmost_64_1
+, .cmr = {{0x4506f204u, 0xb3d8c9a6u, 0x25fa9e8fu, 0xe6cc14bau, 0xe71d61a2u, 0x3cc46ad5u, 0xca25c67au, 0x019d9d4bu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 150 /* milli weight units */
+, .cost = 77 /* milli weight units */
 }
 ,[RIGHTMOST_64_16] =
 { .tag = JET
-, .jet = rightmost_64_16
-, .cmr = {{0x5d555f83u, 0xe48087dbu, 0x0c415dadu, 0x17f081d4u, 0xf6b760e9u, 0x95f272bbu, 0xb6e4cb42u, 0xd0f50325u}}
+, .jet = simplicity_rightmost_64_16
+, .cmr = {{0x8af70d2bu, 0x92a7d004u, 0xdb8d796eu, 0xc12b75e4u, 0xe44d9262u, 0x823257cau, 0xb3cb45fbu, 0x722a9b9bu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w16
-, .cost = 150 /* milli weight units */
+, .cost = 86 /* milli weight units */
 }
 ,[RIGHTMOST_64_2] =
 { .tag = JET
-, .jet = rightmost_64_2
-, .cmr = {{0xa9cb1343u, 0xdbd522b9u, 0x1b6482e4u, 0xbae62b0eu, 0x5f829868u, 0x7e642333u, 0x5c6df506u, 0xdc425b90u}}
+, .jet = simplicity_rightmost_64_2
+, .cmr = {{0xb6cbcad7u, 0x76fca4f7u, 0x7d5a7cf0u, 0x8500ceb2u, 0xcafcdce1u, 0xe33fae08u, 0x7529f5a1u, 0x5541bd98u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w2
-, .cost = 150 /* milli weight units */
+, .cost = 74 /* milli weight units */
 }
 ,[RIGHTMOST_64_32] =
 { .tag = JET
-, .jet = rightmost_64_32
-, .cmr = {{0x4733b192u, 0x59800964u, 0x99b7877cu, 0x04e001bau, 0xd3325b2eu, 0xcab348e5u, 0xadd720d0u, 0x7b1b4a3au}}
+, .jet = simplicity_rightmost_64_32
+, .cmr = {{0x7fb08518u, 0xd5cc0c38u, 0x0ea455bfu, 0xb2f45f2bu, 0x55f53468u, 0x109c365eu, 0xacff1f09u, 0x522c6d51u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 150 /* milli weight units */
+, .cost = 76 /* milli weight units */
 }
 ,[RIGHTMOST_64_4] =
 { .tag = JET
-, .jet = rightmost_64_4
-, .cmr = {{0x89daf7beu, 0x2cde58f0u, 0x4e8dee58u, 0xa4391091u, 0x2c096e95u, 0xe146c19bu, 0x00f54fe8u, 0x74700740u}}
+, .jet = simplicity_rightmost_64_4
+, .cmr = {{0xdb61fde7u, 0xa41cbc68u, 0x77d2e64eu, 0x5c5f86e2u, 0x67ce843cu, 0xc2ab52f9u, 0x1a4a6d4cu, 0x64c6f4bfu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w4
-, .cost = 150 /* milli weight units */
+, .cost = 70 /* milli weight units */
 }
 ,[RIGHTMOST_64_8] =
 { .tag = JET
-, .jet = rightmost_64_8
-, .cmr = {{0x1dfb2befu, 0x4cae4507u, 0x922708e5u, 0xa5709949u, 0x3fbe2115u, 0x98eec0bfu, 0xe0e77b3du, 0x41ec89abu}}
+, .jet = simplicity_rightmost_64_8
+, .cmr = {{0x056665d9u, 0x3fbe67e7u, 0x137d40e7u, 0x5000828du, 0xe254757du, 0x47e754c5u, 0x7e2e2927u, 0x46b3d6e3u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w8
-, .cost = 150 /* milli weight units */
+, .cost = 69 /* milli weight units */
 }
 ,[RIGHTMOST_8_1] =
 { .tag = JET
-, .jet = rightmost_8_1
-, .cmr = {{0xceabd5cau, 0x9fd9162fu, 0x995e3735u, 0x77047aa4u, 0xba71f807u, 0xc711f60bu, 0x08eb6a1cu, 0xfc381c9cu}}
+, .jet = simplicity_rightmost_8_1
+, .cmr = {{0x3d31ef3du, 0x18b6af64u, 0x1046d0dfu, 0xe458b6dau, 0x9213ab54u, 0xaad8ab1fu, 0x480233e9u, 0x30cc774bu}}
 , .sourceIx = ty_w8
 , .targetIx = ty_b
-, .cost = 150 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[RIGHTMOST_8_2] =
 { .tag = JET
-, .jet = rightmost_8_2
-, .cmr = {{0x39b2f037u, 0xb6a08186u, 0x115065f3u, 0x85057af3u, 0xde3b9f0au, 0x9bda6833u, 0x71462259u, 0x413028ecu}}
+, .jet = simplicity_rightmost_8_2
+, .cmr = {{0x25c2a1beu, 0xbc03aa9du, 0x1e26610eu, 0x5877ad7au, 0xb2f7a4a2u, 0x4be7686cu, 0x4978e5bdu, 0x2197e8bdu}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w2
-, .cost = 150 /* milli weight units */
+, .cost = 98 /* milli weight units */
 }
 ,[RIGHTMOST_8_4] =
 { .tag = JET
-, .jet = rightmost_8_4
-, .cmr = {{0xa7a94949u, 0x0d1a00deu, 0xfe5f6151u, 0x2923850fu, 0x51e347c0u, 0x6a8d76a0u, 0xcdab87eeu, 0xe29a5defu}}
+, .jet = simplicity_rightmost_8_4
+, .cmr = {{0x43cc17f6u, 0xad5d4220u, 0x53f3519eu, 0x0aa226eeu, 0x06c57cedu, 0x8d0531ecu, 0x8394af29u, 0x05c144a0u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_w4
-, .cost = 150 /* milli weight units */
+, .cost = 98 /* milli weight units */
 }
 ,[SCALAR_ADD] =
 { .tag = JET
-, .jet = scalar_add
-, .cmr = {{0x4ee9a96cu, 0xef496cf4u, 0xa8fc4e8au, 0x8bc0d159u, 0xca5ffb87u, 0x53643a8au, 0xdf638ae8u, 0x9bbbb345u}}
+, .jet = simplicity_scalar_add
+, .cmr = {{0x21d03b80u, 0x630a825au, 0x2acc133du, 0x2408fdc7u, 0x718e4252u, 0x13a92f95u, 0xff9762b8u, 0xc5e93f64u}}
 , .sourceIx = ty_w512
 , .targetIx = ty_w256
-, .cost = 962 /* milli weight units */
+, .cost = 739 /* milli weight units */
 }
 ,[SCALAR_INVERT] =
 { .tag = JET
-, .jet = scalar_invert
-, .cmr = {{0x12b855e5u, 0xebaa7f8bu, 0xb44fee26u, 0x16a051adu, 0x00499f9du, 0xf2a2adf7u, 0x9973e9dbu, 0x8185759cu}}
+, .jet = simplicity_scalar_invert
+, .cmr = {{0x32774c56u, 0x7a8aefeeu, 0xd0efa74cu, 0xbbb6af27u, 0x34a2b11bu, 0x146abe92u, 0x067c9fabu, 0xa690b685u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 4025 /* milli weight units */
+, .cost = 3193 /* milli weight units */
 }
 ,[SCALAR_IS_ZERO] =
 { .tag = JET
-, .jet = scalar_is_zero
-, .cmr = {{0x4d252803u, 0x457b83b8u, 0x5b987f04u, 0x8733fbeeu, 0xdeaa8d25u, 0x9d320507u, 0x450019c6u, 0x22034f26u}}
+, .jet = simplicity_scalar_is_zero
+, .cmr = {{0x7b9be766u, 0x49089091u, 0x68e3ea60u, 0xbd1061ecu, 0x9a31e9a1u, 0xd47688bau, 0x127a39c1u, 0xc58de4fbu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_b
-, .cost = 569 /* milli weight units */
+, .cost = 271 /* milli weight units */
 }
 ,[SCALAR_MULTIPLY] =
 { .tag = JET
-, .jet = scalar_multiply
-, .cmr = {{0x8756f2dcu, 0x310cdeb6u, 0x4045c44cu, 0x2366e14bu, 0xc1fafa17u, 0x159f2d7bu, 0x489bd945u, 0x3ee37ea0u}}
+, .jet = simplicity_scalar_multiply
+, .cmr = {{0x25efe640u, 0x186bc5eau, 0x9f0e5dc8u, 0x02d6d2feu, 0x1c77750fu, 0xaa024e07u, 0x1bd832dbu, 0xe679024bu}}
 , .sourceIx = ty_w512
 , .targetIx = ty_w256
-, .cost = 1230 /* milli weight units */
+, .cost = 774 /* milli weight units */
 }
 ,[SCALAR_MULTIPLY_LAMBDA] =
 { .tag = JET
-, .jet = scalar_multiply_lambda
-, .cmr = {{0x2b31d39eu, 0xc4ff3723u, 0x1a1b3ebeu, 0x759d41e0u, 0xf5ce3449u, 0x2d4bd3c2u, 0x0988c3f2u, 0xf7c53edcu}}
+, .jet = simplicity_scalar_multiply_lambda
+, .cmr = {{0x232b9fcfu, 0x9d85c1a5u, 0x1162a3eau, 0x55081631u, 0x5c8e77e4u, 0x6403acffu, 0xa7fe6dbbu, 0x1f25011au}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 984 /* milli weight units */
+, .cost = 557 /* milli weight units */
 }
 ,[SCALAR_NEGATE] =
 { .tag = JET
-, .jet = scalar_negate
-, .cmr = {{0xfc2ed187u, 0x50a22181u, 0xaf5b8141u, 0x969273cau, 0xaf72cc11u, 0x31e1082cu, 0xf008f5cau, 0x0909c216u}}
+, .jet = simplicity_scalar_negate
+, .cmr = {{0x3a63329du, 0x6645a7c0u, 0x4e7f99d9u, 0xca76292cu, 0xb57bea2fu, 0x9f9084f3u, 0x05e0583eu, 0x455b82eeu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 851 /* milli weight units */
+, .cost = 490 /* milli weight units */
 }
 ,[SCALAR_NORMALIZE] =
 { .tag = JET
-, .jet = scalar_normalize
-, .cmr = {{0x797cffa8u, 0x0859cab7u, 0xcdbf3b9du, 0xe6e0a8b7u, 0x91484eaau, 0xbacbdfbau, 0xeb01e238u, 0x95e96199u}}
+, .jet = simplicity_scalar_normalize
+, .cmr = {{0x27ef9f9cu, 0x0a5ed2fcu, 0xd7a284d1u, 0x4c5116afu, 0xab70e489u, 0x0f381cc2u, 0xda88a5f3u, 0xb50e43c9u}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 808 /* milli weight units */
+, .cost = 472 /* milli weight units */
 }
 ,[SCALAR_SQUARE] =
 { .tag = JET
-, .jet = scalar_square
-, .cmr = {{0x77b43c60u, 0x38ad80b4u, 0x6d3a76e2u, 0x12b3a8c0u, 0xd2f06307u, 0xbc456e40u, 0xb5d6f4a3u, 0xa50e264du}}
+, .jet = simplicity_scalar_square
+, .cmr = {{0xd9de1919u, 0xcd12d211u, 0x703fbbd0u, 0x4e2001d5u, 0x0d293606u, 0x786412a8u, 0xd6df36dcu, 0x1f97e3beu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w256
-, .cost = 947 /* milli weight units */
+, .cost = 575 /* milli weight units */
 }
 ,[SCALE] =
 { .tag = JET
-, .jet = scale
-, .cmr = {{0x574ce760u, 0x24a5f011u, 0xa2d0bcebu, 0xb0f81a15u, 0xe0f9d06bu, 0x34f20994u, 0x33cb114fu, 0x53468d4fu}}
+, .jet = simplicity_scale
+, .cmr = {{0xbd695be1u, 0x8ef775f1u, 0x2d6ee8e8u, 0xe08bbb6bu, 0xa9fbffc8u, 0x75247072u, 0x5e8b0611u, 0x0d8c5a56u}}
 , .sourceIx = ty_pw256pw512w256
 , .targetIx = ty_pw512w256
-, .cost = 75377 /* milli weight units */
+, .cost = 72675 /* milli weight units */
 }
 ,[SCRIPT_CMR] =
 { .tag = JET
-, .jet = script_cmr
-, .cmr = {{0xb8ad3723u, 0x7699301fu, 0xb33e6928u, 0xa4101f93u, 0x169ad1f4u, 0x128b9e1eu, 0x86bdbb6cu, 0xdc274c38u}}
+, .jet = simplicity_script_cmr
+, .cmr = {{0x62dd2b74u, 0xa4190ac3u, 0xc4ef4ebdu, 0xb2b85475u, 0xc884f42du, 0x46a1533bu, 0x26ad878fu, 0x4ef80512u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 281 /* milli weight units */
+, .cost = 136 /* milli weight units */
 }
 ,[SHA_256_BLOCK] =
 { .tag = JET
-, .jet = sha_256_block
-, .cmr = {{0x94a36a40u, 0x83309e0bu, 0x86de77d0u, 0xfb48d9d3u, 0x31e2d2f1u, 0x67740b60u, 0x6e60574au, 0xf438cd86u}}
+, .jet = simplicity_sha_256_block
+, .cmr = {{0x97bb59b7u, 0x93ae9ce4u, 0x9dc07813u, 0x4b6a9e85u, 0x5acc6d50u, 0xc0e5bd3fu, 0xa671cebeu, 0xeab07ae2u}}
 , .sourceIx = ty_pw256w512
 , .targetIx = ty_w256
-, .cost = 986 /* milli weight units */
+, .cost = 771 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_1] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_1
-, .cmr = {{0x8a1d2570u, 0x87b32ccdu, 0xc3320037u, 0x4e6e95c8u, 0x75a05e54u, 0x8122323fu, 0x6b7ab9c0u, 0x7eb9b6eeu}}
+, .jet = simplicity_sha_256_ctx_8_add_1
+, .cmr = {{0x027b6eecu, 0xd2b38229u, 0x2c5ea465u, 0x29408b01u, 0xb2d4c739u, 0xd911601du, 0x02c6bf3au, 0x186bb7dfu}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w8
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 1600 /* milli weight units */
+, .cost = 642 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_128] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_128
-, .cmr = {{0xe7772cb9u, 0xc0ec421au, 0xb8a789d4u, 0x5cd64661u, 0xf433dd7du, 0x3d2c94dcu, 0x1f1c4f3au, 0xf8c780abu}}
+, .jet = simplicity_sha_256_ctx_8_add_128
+, .cmr = {{0xe7e5e3b3u, 0x944a311bu, 0xd41a060du, 0x55e17b08u, 0xb5ff7502u, 0x0852e66bu, 0xda62b6dfu, 0x943bb8d4u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w1Ki
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 3921 /* milli weight units */
+, .cost = 1779 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_16] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_16
-, .cmr = {{0xf0f4cf99u, 0xad58a038u, 0x5e16b87du, 0xbf3271c4u, 0x7524defdu, 0x78f11bbcu, 0x7471fe4du, 0xa94aebadu}}
+, .jet = simplicity_sha_256_ctx_8_add_16
+, .cmr = {{0x77872234u, 0x3b78cfb7u, 0x7fd5e7d5u, 0xb19e9312u, 0xe997bba3u, 0x52eecb39u, 0xa3c332ffu, 0x4809aa14u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w128
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 2275 /* milli weight units */
+, .cost = 747 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_2] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_2
-, .cmr = {{0x7998c7c2u, 0xbd814b0cu, 0x0f403f58u, 0xc576ea56u, 0x407d25eeu, 0x229fae62u, 0x5bcab0c6u, 0x20a2a29cu}}
+, .jet = simplicity_sha_256_ctx_8_add_2
+, .cmr = {{0x72aa6de3u, 0x4c2072e6u, 0x923b2280u, 0xb7cf521eu, 0x1e057d6bu, 0xecdda775u, 0x9a79ac18u, 0x8a262e32u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w16
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 3772 /* milli weight units */
+, .cost = 661 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_256] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_256
-, .cmr = {{0xa8749961u, 0xb31afe2fu, 0xb553b70bu, 0x4cea787du, 0xca472584u, 0x54d583dcu, 0x45a0780du, 0x5e2a2a50u}}
+, .jet = simplicity_sha_256_ctx_8_add_256
+, .cmr = {{0xa488eb1eu, 0x7585cd02u, 0x27adbbc8u, 0x549c9febu, 0x6587f78bu, 0x43922b57u, 0x44015f1bu, 0xb621daa0u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w2Ki
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 6211 /* milli weight units */
+, .cost = 2912 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_32] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_32
-, .cmr = {{0xf22068b7u, 0x76a3787fu, 0x9d52ec2au, 0x9591951fu, 0x8a73f009u, 0x60091235u, 0x8a2a1e15u, 0x864e80b2u}}
+, .jet = simplicity_sha_256_ctx_8_add_32
+, .cmr = {{0x5038335eu, 0xd76956f3u, 0x451e6878u, 0x1002e963u, 0xa84dd655u, 0xcbf2b841u, 0x63269114u, 0x77ae3ca2u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w256
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 4599 /* milli weight units */
+, .cost = 896 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_4] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_4
-, .cmr = {{0x40e66decu, 0xa132f5aeu, 0x0c54937bu, 0x95ccaca1u, 0x1267a4adu, 0xca702887u, 0xb6e408edu, 0x761530bcu}}
+, .jet = simplicity_sha_256_ctx_8_add_4
+, .cmr = {{0x23b69b90u, 0xe69ee50fu, 0x9167046eu, 0x8999e3b9u, 0x10c654a7u, 0x9791d3bdu, 0x0e0e7f81u, 0x542b9d36u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w32
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 3515 /* milli weight units */
+, .cost = 645 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_512] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_512
-, .cmr = {{0x5a96ee66u, 0x8b52f63fu, 0x7bdbaae3u, 0xcc38e393u, 0xef24b3a9u, 0x67856f2cu, 0xd89d83bau, 0x4ccbda8du}}
+, .jet = simplicity_sha_256_ctx_8_add_512
+, .cmr = {{0xf757d69au, 0x8db2c4bau, 0x7446f96au, 0x814d7461u, 0xf4b3d087u, 0xc0e42546u, 0x8d723d14u, 0x85bc851bu}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w4Ki
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 10936 /* milli weight units */
+, .cost = 5299 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_64] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_64
-, .cmr = {{0x36ede6b6u, 0x8ab6e4dbu, 0x31efc7a7u, 0xeae7ec3fu, 0x7ceead93u, 0x91103b8du, 0xcb406091u, 0x57fb8702u}}
+, .jet = simplicity_sha_256_ctx_8_add_64
+, .cmr = {{0x9a179bbdu, 0x8a032937u, 0xe590ffbdu, 0xb31a2847u, 0xa6f69f9bu, 0xb4ddcd2eu, 0x606edd45u, 0x4ad84031u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w512
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 3111 /* milli weight units */
+, .cost = 1187 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_8] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_8
-, .cmr = {{0xac1ff0fbu, 0x0cf71d71u, 0x13db42aau, 0x1ddb8955u, 0x96e645d7u, 0x63b8df5eu, 0x8725f514u, 0x4c399588u}}
+, .jet = simplicity_sha_256_ctx_8_add_8
+, .cmr = {{0x77b2eb5eu, 0x6fa03aacu, 0x098607c8u, 0x3d106176u, 0xbdf33c8cu, 0xbba7b92du, 0x27e0352au, 0x2f1ed3beu}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256w64
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 1625 /* milli weight units */
+, .cost = 674 /* milli weight units */
 }
 ,[SHA_256_CTX_8_ADD_BUFFER_511] =
 { .tag = JET
-, .jet = sha_256_ctx_8_add_buffer_511
-, .cmr = {{0x6901ac0eu, 0x30fd59ceu, 0xc879d169u, 0x3b267959u, 0x35690784u, 0x4b577edcu, 0x3ce0e3f7u, 0x14a8ef31u}}
+, .jet = simplicity_sha_256_ctx_8_add_buffer_511
+, .cmr = {{0xd47bb1cbu, 0x4caaff17u, 0x412a730du, 0xd912dbb3u, 0x7dccc90bu, 0x27d395c4u, 0xf8459008u, 0xa5f244c7u}}
 , .sourceIx = ty_pppmw256pmw128pmw64pmw32pmw16mw8pw64w256pmw2Kipmw1Kipmw512pmw256pmw128pmw64pmw32pmw16mw8
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 14290 /* milli weight units */
+, .cost = 5060 /* milli weight units */
 }
 ,[SHA_256_CTX_8_FINALIZE] =
 { .tag = JET
-, .jet = sha_256_ctx_8_finalize
-, .cmr = {{0x84615954u, 0x007ed823u, 0xd60546d7u, 0x5b04b909u, 0xbc909206u, 0x371473dau, 0xc70e1268u, 0x047708cbu}}
+, .jet = simplicity_sha_256_ctx_8_finalize
+, .cmr = {{0x716580c1u, 0xe00d6a66u, 0x1fd9be6bu, 0x61de5befu, 0x63a84a4eu, 0x675beb0bu, 0x0a471973u, 0x5ea3a285u}}
 , .sourceIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
 , .targetIx = ty_w256
-, .cost = 2111 /* milli weight units */
+, .cost = 835 /* milli weight units */
 }
 ,[SHA_256_CTX_8_INIT] =
 { .tag = JET
-, .jet = sha_256_ctx_8_init
-, .cmr = {{0x6adda7d7u, 0x339f7dceu, 0x4d62ff82u, 0x2816da8du, 0xf56af624u, 0x3fa073a2u, 0x5c4c7cb5u, 0x7e0112b3u}}
+, .jet = simplicity_sha_256_ctx_8_init
+, .cmr = {{0x82bb12feu, 0x688d2ae3u, 0x7e301893u, 0xa3f0d307u, 0x5cbf9934u, 0xd075f73cu, 0x2b364af3u, 0xd112102au}}
 , .sourceIx = ty_u
 , .targetIx = ty_ppmw256pmw128pmw64pmw32pmw16mw8pw64w256
-, .cost = 184 /* milli weight units */
+, .cost = 118 /* milli weight units */
 }
 ,[SHA_256_IV] =
 { .tag = JET
-, .jet = sha_256_iv
-, .cmr = {{0x6a18e6e7u, 0x64af800du, 0xc6faeb07u, 0x54bf0b17u, 0x329f9828u, 0x1d13f515u, 0x7700fa6au, 0x1d6d5d42u}}
+, .jet = simplicity_sha_256_iv
+, .cmr = {{0xd2bb5720u, 0x0dadd3a6u, 0x7378db79u, 0x6610f59cu, 0x33d9a40du, 0x2dfcc99fu, 0x03b08b71u, 0x55fbbbeau}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 129 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[SIG_ALL_HASH] =
 { .tag = JET
-, .jet = sig_all_hash
-, .cmr = {{0x0dc3f10bu, 0xbbbf9aa4u, 0x91bb8814u, 0x631d3b6du, 0x4195f82cu, 0x9773bbcbu, 0x2da3ef0cu, 0xf0cd94d2u}}
+, .jet = simplicity_sig_all_hash
+, .cmr = {{0x6cff2c4eu, 0x87f14debu, 0x06af893au, 0x74af6a1cu, 0x5c06db52u, 0x645b1f67u, 0xee0fdf7eu, 0xa776d55cu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 265 /* milli weight units */
+, .cost = 133 /* milli weight units */
 }
 ,[SOME_1] =
 { .tag = JET
-, .jet = some_1
-, .cmr = {{0x0b9cb7b4u, 0x7deb4f9du, 0x95d5c020u, 0x001fd009u, 0xa2f10ce5u, 0xd918d818u, 0x1e259315u, 0xfe8eac53u}}
+, .jet = simplicity_some_1
+, .cmr = {{0x151bcb76u, 0xc231ab25u, 0xe3710928u, 0xd9b3b7a2u, 0xe17f84d7u, 0xcf8da884u, 0x5cf87a40u, 0x816f3168u}}
 , .sourceIx = ty_b
 , .targetIx = ty_b
-, .cost = 104 /* milli weight units */
+, .cost = 70 /* milli weight units */
 }
 ,[SOME_16] =
 { .tag = JET
-, .jet = some_16
-, .cmr = {{0x30d814ffu, 0xb49278b4u, 0x25007b9du, 0xe279f76fu, 0x4a6da4c0u, 0x34634abbu, 0x87110ecbu, 0xea2ce429u}}
+, .jet = simplicity_some_16
+, .cmr = {{0x87295e8au, 0x0f0299f3u, 0xa7cb738du, 0xd5f8ddecu, 0xc3e48d18u, 0x74a55a0cu, 0xcf7c2d30u, 0xaad07987u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_b
-, .cost = 129 /* milli weight units */
+, .cost = 63 /* milli weight units */
 }
 ,[SOME_32] =
 { .tag = JET
-, .jet = some_32
-, .cmr = {{0x69279190u, 0x3be7d9e4u, 0xc54772bau, 0x88a48615u, 0x46361218u, 0xdd8a26ceu, 0xed699bcfu, 0x77c09909u}}
+, .jet = simplicity_some_32
+, .cmr = {{0x852f5e22u, 0x246677c4u, 0x9a6c68ecu, 0x3973cb53u, 0x008265cfu, 0x17d46f60u, 0x005941bau, 0x57d4947eu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_b
-, .cost = 183 /* milli weight units */
+, .cost = 64 /* milli weight units */
 }
 ,[SOME_64] =
 { .tag = JET
-, .jet = some_64
-, .cmr = {{0xfa9b0160u, 0xc72715ffu, 0xfd1d94dau, 0x19978828u, 0x09b462bbu, 0x144acecbu, 0x43054468u, 0xe63786b5u}}
+, .jet = simplicity_some_64
+, .cmr = {{0xfe9b3a25u, 0xc9571749u, 0xe2a563f4u, 0x10a5650fu, 0x41174e23u, 0x2691072bu, 0x2d5474f9u, 0x3c7a22c0u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_b
-, .cost = 139 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[SOME_8] =
 { .tag = JET
-, .jet = some_8
-, .cmr = {{0x0bd7ab43u, 0x80c8f45au, 0xca7cac97u, 0x2886ceefu, 0x23ba8421u, 0x0c5c4d96u, 0x9b1f59b1u, 0x832c1d36u}}
+, .jet = simplicity_some_8
+, .cmr = {{0x49dc2420u, 0x4c5644eau, 0x98b0d8a8u, 0xa1f15f20u, 0x8b4afad5u, 0x9d8995abu, 0x96c4498du, 0x1cd410a0u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_b
-, .cost = 104 /* milli weight units */
+, .cost = 75 /* milli weight units */
 }
 ,[SUBTRACT_16] =
 { .tag = JET
-, .jet = subtract_16
-, .cmr = {{0x0cd3ab73u, 0xe5ce2a44u, 0xf2d1c332u, 0xa1ed5aefu, 0x5bcb604fu, 0x721b15b8u, 0x010dd54fu, 0x40c6aca7u}}
+, .jet = simplicity_subtract_16
+, .cmr = {{0x512b7c68u, 0x81bf8d8fu, 0xa5d935e5u, 0x2564e286u, 0x751f77e6u, 0x3375637du, 0xf2d72275u, 0x68c6947fu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_pbw16
-, .cost = 237 /* milli weight units */
+, .cost = 113 /* milli weight units */
 }
 ,[SUBTRACT_32] =
 { .tag = JET
-, .jet = subtract_32
-, .cmr = {{0xe0de6876u, 0x259d5a00u, 0x4b3016d3u, 0x5815db41u, 0xbcecdbfau, 0x18d37d99u, 0x204e4957u, 0xad2c4d0eu}}
+, .jet = simplicity_subtract_32
+, .cmr = {{0xf53f3e87u, 0x1a7da3f0u, 0x9e562697u, 0x835e1ce1u, 0x0df8ee14u, 0x1163ad93u, 0xb57c8e6du, 0x74382bbcu}}
 , .sourceIx = ty_w64
 , .targetIx = ty_pbw32
-, .cost = 186 /* milli weight units */
+, .cost = 118 /* milli weight units */
 }
 ,[SUBTRACT_64] =
 { .tag = JET
-, .jet = subtract_64
-, .cmr = {{0xffe673eeu, 0x8edc729au, 0x47eced3au, 0x677f85b1u, 0xdae714a5u, 0x100c4949u, 0x73abcb32u, 0x59a3c756u}}
+, .jet = simplicity_subtract_64
+, .cmr = {{0x5f08f740u, 0x53b2f019u, 0xb62a1bb8u, 0x28b799e0u, 0x91e8217eu, 0xc889dd4du, 0x376e012cu, 0x9579b981u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_pbw64
-, .cost = 315 /* milli weight units */
+, .cost = 115 /* milli weight units */
 }
 ,[SUBTRACT_8] =
 { .tag = JET
-, .jet = subtract_8
-, .cmr = {{0xbda59813u, 0x96478eb3u, 0x6f8592a7u, 0x509fa487u, 0x7c50b2bfu, 0x9165e5b7u, 0x9635bf8bu, 0xcb84d442u}}
+, .jet = simplicity_subtract_8
+, .cmr = {{0x778649f8u, 0x3935cd3fu, 0xfc04f6c6u, 0x620a3396u, 0x5d0ef1ddu, 0x17e7b50fu, 0xa41076d8u, 0xad876b1du}}
 , .sourceIx = ty_w16
 , .targetIx = ty_pbw8
-, .cost = 149 /* milli weight units */
+, .cost = 109 /* milli weight units */
 }
 ,[SWU] =
 { .tag = JET
-, .jet = swu
-, .cmr = {{0x69459b6du, 0xd10a63dfu, 0x37dedf18u, 0x6cb4d208u, 0xd8c03961u, 0x1cecdd09u, 0xcfe07ac9u, 0x1d01422fu}}
+, .jet = simplicity_swu
+, .cmr = {{0x2049d46cu, 0x4c4d6f85u, 0x6e04f7aeu, 0x20287336u, 0xc2f2a6b8u, 0xc1e29d7eu, 0xbba3af2fu, 0xd3a8809bu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w512
-, .cost = 10956 /* milli weight units */
+, .cost = 32120 /* milli weight units */
 }
 ,[TAP_ENV_HASH] =
 { .tag = JET
-, .jet = tap_env_hash
-, .cmr = {{0x59e04eeeu, 0x36883dd5u, 0xe7c2695du, 0x7c9938c0u, 0x6d983fbau, 0x88dc2a04u, 0x843ab80bu, 0x68f199ecu}}
+, .jet = simplicity_tap_env_hash
+, .cmr = {{0x92474a50u, 0x308214d3u, 0x2240c4ecu, 0x2829e688u, 0xb73382ceu, 0x0c37c796u, 0x28b7394cu, 0xa61ee7f5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 301 /* milli weight units */
+, .cost = 162 /* milli weight units */
 }
 ,[TAPLEAF_HASH] =
 { .tag = JET
-, .jet = tapleaf_hash
-, .cmr = {{0xea815658u, 0xff9a2716u, 0x420d4591u, 0x5d66070bu, 0xe4116c1cu, 0x707e2694u, 0xd3665845u, 0x20c22469u}}
+, .jet = simplicity_tapleaf_hash
+, .cmr = {{0x59fd2996u, 0xcc5e2b5eu, 0x19707467u, 0x267645e8u, 0x1865d147u, 0x4a0b28c2u, 0xcff4edf1u, 0xbdead91bu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 279 /* milli weight units */
+, .cost = 136 /* milli weight units */
 }
 ,[TAPLEAF_VERSION] =
 { .tag = JET
-, .jet = tapleaf_version
-, .cmr = {{0x303ef4deu, 0x618e7f08u, 0x67794828u, 0x2dd42d57u, 0xd644c41cu, 0x18c11c13u, 0x0a1be5a6u, 0xe254e3e9u}}
+, .jet = simplicity_tapleaf_version
+, .cmr = {{0x43b82c3au, 0x31402dafu, 0x42707b88u, 0x70e4dba4u, 0xb6831943u, 0x0f2b5d11u, 0x4ea58c5du, 0x89973d8fu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w8
-, .cost = 141 /* milli weight units */
+, .cost = 105 /* milli weight units */
 }
 ,[TAPPATH] =
 { .tag = JET
-, .jet = tappath
-, .cmr = {{0x5fd71c6fu, 0xf67ba426u, 0x3c8256feu, 0xcee1e2ecu, 0x1dcf45a8u, 0xb3845062u, 0x70151780u, 0xaacf1c32u}}
+, .jet = simplicity_tappath
+, .cmr = {{0x2b61ba3cu, 0xcae82063u, 0xb7122746u, 0xbbf180b7u, 0x1146b752u, 0x11242533u, 0x53fe5f7du, 0x9659b918u}}
 , .sourceIx = ty_w8
 , .targetIx = ty_mw256
-, .cost = 143 /* milli weight units */
+, .cost = 83 /* milli weight units */
 }
 ,[TAPPATH_HASH] =
 { .tag = JET
-, .jet = tappath_hash
-, .cmr = {{0x62af75f4u, 0xf37c0ff2u, 0x7537e054u, 0x3a134802u, 0x66a5ad12u, 0xce53df1fu, 0xbac111eau, 0xa93d277cu}}
+, .jet = simplicity_tappath_hash
+, .cmr = {{0x82598604u, 0x31f7fcd6u, 0xe8c9845bu, 0x7152bbdau, 0xb69281f6u, 0x5b642c63u, 0x4efaa3fdu, 0x2d7353a5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 282 /* milli weight units */
+, .cost = 143 /* milli weight units */
 }
 ,[TOTAL_FEE] =
 { .tag = JET
-, .jet = total_fee
-, .cmr = {{0xcc69d24cu, 0x5dd852cdu, 0xefcaa74du, 0x3140467fu, 0xbe8d08a7u, 0x709422eeu, 0xc28ed632u, 0xb28aba63u}}
+, .jet = simplicity_total_fee
+, .cmr = {{0xffa37956u, 0x8b4a88f1u, 0x71391524u, 0x10ecf140u, 0x72ac4c95u, 0xc0b682ebu, 0xd91a9e02u, 0xd330c3ceu}}
 , .sourceIx = ty_w256
 , .targetIx = ty_w64
-, .cost = 397 /* milli weight units */
+, .cost = 230 /* milli weight units */
 }
 ,[TRANSACTION_ID] =
 { .tag = JET
-, .jet = transaction_id
-, .cmr = {{0xab4bf478u, 0x2d358cd3u, 0x1f22e066u, 0x64167078u, 0x457c76e3u, 0xfa8e421cu, 0x7929de11u, 0x310b07d9u}}
+, .jet = simplicity_transaction_id
+, .cmr = {{0x9c9feb81u, 0x0e753cd5u, 0xb88e0fefu, 0xa283b374u, 0x30cd16eeu, 0xecbc5670u, 0xdd70c312u, 0x84a9db2cu}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 281 /* milli weight units */
+, .cost = 139 /* milli weight units */
 }
 ,[TX_HASH] =
 { .tag = JET
-, .jet = tx_hash
-, .cmr = {{0xb7e0a2dcu, 0x5ca11ce5u, 0x82a7aa29u, 0x9a51b23eu, 0x66efe623u, 0x602a7b7du, 0x434eec51u, 0xaf245a07u}}
+, .jet = simplicity_tx_hash
+, .cmr = {{0xa113b12eu, 0x50218701u, 0x3faf7fabu, 0x0e78a93eu, 0x85fe88fcu, 0xfcfbd129u, 0x4698c7b7u, 0x65d8d28du}}
 , .sourceIx = ty_u
 , .targetIx = ty_w256
-, .cost = 290 /* milli weight units */
+, .cost = 143 /* milli weight units */
 }
 ,[TX_IS_FINAL] =
 { .tag = JET
-, .jet = tx_is_final
-, .cmr = {{0xeb8e83d1u, 0xe02c3ce7u, 0xaf2d28f0u, 0xcec04314u, 0x80dc2f38u, 0x85c9913au, 0x50727e43u, 0xd0bdaf88u}}
+, .jet = simplicity_tx_is_final
+, .cmr = {{0xe818210bu, 0x1de9661du, 0xc8ff4a48u, 0x63a7d89bu, 0x4cd9d2e7u, 0xc6a6e50au, 0x813cffd5u, 0x63174fdcu}}
 , .sourceIx = ty_u
 , .targetIx = ty_b
-, .cost = 128 /* milli weight units */
+, .cost = 71 /* milli weight units */
 }
 ,[TX_LOCK_DISTANCE] =
 { .tag = JET
-, .jet = tx_lock_distance
-, .cmr = {{0xa37893c9u, 0x7c9b950eu, 0x0f7f1045u, 0xc8d8473au, 0xc8336aaeu, 0xe9ea1fadu, 0x6b2a4061u, 0x729149c6u}}
+, .jet = simplicity_tx_lock_distance
+, .cmr = {{0x530fd789u, 0x32240720u, 0xf88de846u, 0x883992f8u, 0x12a5bf3eu, 0xea6809a4u, 0xa94c9076u, 0xca190979u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w16
-, .cost = 133 /* milli weight units */
+, .cost = 91 /* milli weight units */
 }
 ,[TX_LOCK_DURATION] =
 { .tag = JET
-, .jet = tx_lock_duration
-, .cmr = {{0x4d6987ddu, 0x45f78d5eu, 0x43f93851u, 0x64a0bd08u, 0x80752ab8u, 0x11b38bd2u, 0x97da0016u, 0x1526a9cau}}
+, .jet = simplicity_tx_lock_duration
+, .cmr = {{0xc07bcf03u, 0xef8293fcu, 0x40eca57cu, 0x8606a4eeu, 0x207fa44du, 0x22e41c98u, 0x041dfdd0u, 0xd5444940u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w16
-, .cost = 146 /* milli weight units */
+, .cost = 84 /* milli weight units */
 }
 ,[TX_LOCK_HEIGHT] =
 { .tag = JET
-, .jet = tx_lock_height
-, .cmr = {{0x16ab830fu, 0xace51fe4u, 0xe18089ecu, 0xa1b55234u, 0x36aa45efu, 0x84132182u, 0xc7cc6583u, 0x6fd1342cu}}
+, .jet = simplicity_tx_lock_height
+, .cmr = {{0x4c045acau, 0x0061e36au, 0x8c5925e7u, 0xf9cb395bu, 0x8a7021e4u, 0xde019132u, 0x31c4d763u, 0x50f843a4u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 132 /* milli weight units */
+, .cost = 80 /* milli weight units */
 }
 ,[TX_LOCK_TIME] =
 { .tag = JET
-, .jet = tx_lock_time
-, .cmr = {{0xaf112fc8u, 0xeed3c33bu, 0xc7b5ea04u, 0xccab8699u, 0x1953f2a2u, 0xaaf3d87du, 0x6c2c4314u, 0x3d426f56u}}
+, .jet = simplicity_tx_lock_time
+, .cmr = {{0x48408cd0u, 0x63e24be7u, 0x36623232u, 0x07590cccu, 0x083a8f44u, 0x98978847u, 0x430757e2u, 0xf55521a5u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 136 /* milli weight units */
+, .cost = 80 /* milli weight units */
 }
 ,[VERIFY] =
 { .tag = JET
-, .jet = verify
-, .cmr = {{0xf11c9481u, 0xe71863a2u, 0x4453c3e2u, 0x13046499u, 0xa03a9a0fu, 0x993be3c4u, 0x8e9d1f40u, 0x5d97947cu}}
+, .jet = simplicity_verify
+, .cmr = {{0x22c0e362u, 0x34190af6u, 0xc8161e41u, 0xf9e00013u, 0xb243c896u, 0x77691a62u, 0xe79872fau, 0x03bfa677u}}
 , .sourceIx = ty_b
 , .targetIx = ty_u
-, .cost = 144 /* milli weight units */
+, .cost = 57 /* milli weight units */
 }
 ,[VERSION] =
 { .tag = JET
-, .jet = version
-, .cmr = {{0x22215300u, 0x9f0863dau, 0x5cec8ffau, 0xa4a017d8u, 0xe4ff2566u, 0xfa9c03e7u, 0x431a0902u, 0xd56a24dcu}}
+, .jet = simplicity_version
+, .cmr = {{0x56713842u, 0x24333dc7u, 0x841d63c3u, 0x176a1590u, 0xaded820eu, 0x29e461c3u, 0x4adafa9cu, 0x5efd4201u}}
 , .sourceIx = ty_u
 , .targetIx = ty_w32
-, .cost = 188 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[XOR_1] =
 { .tag = JET
-, .jet = xor_1
-, .cmr = {{0x77b714e6u, 0x89c9d6a4u, 0x8fd1add8u, 0x6522823du, 0xebc70df6u, 0xa7fe4bf2u, 0xb85de549u, 0xe0cd0a05u}}
+, .jet = simplicity_xor_1
+, .cmr = {{0x7b760ee0u, 0xc7896ab7u, 0x38cc50efu, 0x7d63f6d2u, 0xbf5961a9u, 0x286447ceu, 0x064ec18du, 0x5ede6f6cu}}
 , .sourceIx = ty_w2
 , .targetIx = ty_b
-, .cost = 135 /* milli weight units */
+, .cost = 67 /* milli weight units */
 }
 ,[XOR_16] =
 { .tag = JET
-, .jet = xor_16
-, .cmr = {{0xca363551u, 0x35a86a11u, 0x686c01aau, 0x35f25b97u, 0xfaeedabfu, 0xdec8df08u, 0xd2c0f665u, 0x0833f93fu}}
+, .jet = simplicity_xor_16
+, .cmr = {{0xef2d8a0fu, 0x669d20aau, 0xfe11a6c3u, 0x39063692u, 0x3ad37614u, 0x0d3ea694u, 0xd0872fa4u, 0xd54b90efu}}
 , .sourceIx = ty_w32
 , .targetIx = ty_w16
-, .cost = 188 /* milli weight units */
+, .cost = 83 /* milli weight units */
 }
 ,[XOR_32] =
 { .tag = JET
-, .jet = xor_32
-, .cmr = {{0xffe2c8eeu, 0x96d55797u, 0x81c43662u, 0x88d95071u, 0x85e461ccu, 0xc40a45bbu, 0xcc559489u, 0xd3c69612u}}
+, .jet = simplicity_xor_32
+, .cmr = {{0x219b1dd6u, 0xe72b7775u, 0x1951916eu, 0xe4ddfd56u, 0xacf0ce7au, 0x30a4cd73u, 0x9c51bd99u, 0x42a2eb07u}}
 , .sourceIx = ty_w64
 , .targetIx = ty_w32
-, .cost = 204 /* milli weight units */
+, .cost = 92 /* milli weight units */
 }
 ,[XOR_64] =
 { .tag = JET
-, .jet = xor_64
-, .cmr = {{0x5b3bb7b1u, 0x8c7098f4u, 0xe5cd1497u, 0x22ac7309u, 0xce66a3e2u, 0x19c61b33u, 0x3f313358u, 0x3a7b572du}}
+, .jet = simplicity_xor_64
+, .cmr = {{0x0bbb850au, 0xd03f9c96u, 0xa5d467c4u, 0x6112f104u, 0x6a7a9227u, 0x3f2bb01du, 0x20ca4db6u, 0xba753e79u}}
 , .sourceIx = ty_w128
 , .targetIx = ty_w64
-, .cost = 207 /* milli weight units */
+, .cost = 95 /* milli weight units */
 }
 ,[XOR_8] =
 { .tag = JET
-, .jet = xor_8
-, .cmr = {{0xff3e5262u, 0x02ff89cfu, 0xf7bbe70fu, 0xdbf9f97du, 0x23c12f6eu, 0x2bb8bbe8u, 0x304ac70fu, 0x61c1cf2cu}}
+, .jet = simplicity_xor_8
+, .cmr = {{0x950b6531u, 0x6236e83eu, 0xd14bd171u, 0xe34d55afu, 0x0a3f637cu, 0xc47dc717u, 0xf77fdb4bu, 0x30df0157u}}
 , .sourceIx = ty_w16
 , .targetIx = ty_w8
-, .cost = 135 /* milli weight units */
+, .cost = 85 /* milli weight units */
 }
 ,[XOR_XOR_1] =
 { .tag = JET
-, .jet = xor_xor_1
-, .cmr = {{0x2252a986u, 0x08d20bd4u, 0x11317a20u, 0x15c15698u, 0x70a62c95u, 0x3a6165fbu, 0xe977b40du, 0x6ccea495u}}
+, .jet = simplicity_xor_xor_1
+, .cmr = {{0x3f30f959u, 0x870de1d1u, 0x33374e14u, 0x09fdc34du, 0xe4929170u, 0x6830b83du, 0xac9d4e67u, 0xc4eb6048u}}
 , .sourceIx = ty_pbw2
 , .targetIx = ty_b
-, .cost = 258 /* milli weight units */
+, .cost = 72 /* milli weight units */
 }
 ,[XOR_XOR_16] =
 { .tag = JET
-, .jet = xor_xor_16
-, .cmr = {{0xa1f2d633u, 0xbf9889a0u, 0x8a42512au, 0x7893a679u, 0x9dc47aa8u, 0x29ff8f57u, 0x7c5bc975u, 0x66c4d3feu}}
+, .jet = simplicity_xor_xor_16
+, .cmr = {{0x2e1a09e3u, 0xcba27566u, 0x02e87b86u, 0xf2b07f2du, 0x237bfcacu, 0x5b1b8ab7u, 0xb529af42u, 0xd3110294u}}
 , .sourceIx = ty_pw16w32
 , .targetIx = ty_w16
-, .cost = 235 /* milli weight units */
+, .cost = 79 /* milli weight units */
 }
 ,[XOR_XOR_32] =
 { .tag = JET
-, .jet = xor_xor_32
-, .cmr = {{0x0d5ff581u, 0x23ba0daeu, 0x3b3240a6u, 0x31052af2u, 0xe87b52b6u, 0x37a2cbd3u, 0x37d22593u, 0x70628741u}}
+, .jet = simplicity_xor_xor_32
+, .cmr = {{0x85a379a1u, 0xe5db4572u, 0x37df27f4u, 0xcfcdc875u, 0x60ffd373u, 0x8ebec825u, 0x52e73bceu, 0x89bc0b37u}}
 , .sourceIx = ty_pw32w64
 , .targetIx = ty_w32
-, .cost = 251 /* milli weight units */
+, .cost = 96 /* milli weight units */
 }
 ,[XOR_XOR_64] =
 { .tag = JET
-, .jet = xor_xor_64
-, .cmr = {{0x783f49a1u, 0x9d4f4aaeu, 0x4d3c1d6cu, 0xcf83156du, 0xc55d0b5cu, 0x08cf5923u, 0x36584cb1u, 0x3167c6cau}}
+, .jet = simplicity_xor_xor_64
+, .cmr = {{0x4c1268c5u, 0x75425089u, 0xbe42472eu, 0x972b2ae0u, 0x0ede5834u, 0xc984d96du, 0xcd59a0c2u, 0x21152f93u}}
 , .sourceIx = ty_pw64w128
 , .targetIx = ty_w64
-, .cost = 285 /* milli weight units */
+, .cost = 93 /* milli weight units */
 }
 ,[XOR_XOR_8] =
 { .tag = JET
-, .jet = xor_xor_8
-, .cmr = {{0x83a980ccu, 0x61068524u, 0x88105d3cu, 0xee10f351u, 0x13b8c9f7u, 0x4664e7ceu, 0x6d4ec091u, 0x2bc29bc7u}}
+, .jet = simplicity_xor_xor_8
+, .cmr = {{0x61f2747fu, 0x8d83b6a5u, 0xadaa42f5u, 0xc0408c9bu, 0xd4e99e92u, 0x70a75871u, 0x406cec44u, 0x89a5fbe7u}}
 , .sourceIx = ty_pw8w16
 , .targetIx = ty_w8
-, .cost = 258 /* milli weight units */
+, .cost = 98 /* milli weight units */
 }
diff --git a/simplicity-sys/depend/simplicity/rsort.c b/simplicity-sys/depend/simplicity/rsort.c
index ce38e619..5a2dd5e3 100644
--- a/simplicity-sys/depend/simplicity/rsort.c
+++ b/simplicity-sys/depend/simplicity/rsort.c
@@ -246,7 +246,7 @@ static void rsort_ex(const sha256_midstate** a, uint_fast32_t len, const sha256_
  *
  * Precondition: For all 0 <= i < len, NULL != a[i];
  */
-bool rsort(const sha256_midstate** a, uint_fast32_t len) {
+bool simplicity_rsort(const sha256_midstate** a, uint_fast32_t len) {
   uint32_t *stack = simplicity_malloc(((CHAR_COUNT - 1)*(sizeof((*a)->s)) + 1) * sizeof(uint32_t));
   if (!stack) return false;
   rsort_ex(a, len, NULL, stack);
@@ -262,12 +262,12 @@ bool rsort(const sha256_midstate** a, uint_fast32_t len) {
  * Precondition: const sha256_midstate a[len];
  *               len <= DAG_LEN_MAX;
  */
-int hasDuplicates(const sha256_midstate* a, uint_fast32_t len) {
+int simplicity_hasDuplicates(const sha256_midstate* a, uint_fast32_t len) {
   if (len < 2) return 0;
   static_assert(sizeof(a->s) * CHAR_BIT == 256, "sha256_midstate.s has unnamed padding.");
   static_assert(DAG_LEN_MAX <= UINT32_MAX, "DAG_LEN_MAX does not fit in uint32_t.");
   static_assert(DAG_LEN_MAX <= SIZE_MAX / sizeof(const sha256_midstate*), "perm array too large.");
-  simplicity_assert(len <= SIZE_MAX / sizeof(const sha256_midstate*));
+  simplicity_assert((size_t)len <= SIZE_MAX / sizeof(const sha256_midstate*));
   const sha256_midstate **perm = simplicity_malloc(len * sizeof(const sha256_midstate*));
   uint32_t *stack = simplicity_malloc(((CHAR_COUNT - 1)*(sizeof((*perm)->s)) + 1) * sizeof(uint32_t));
   int result = perm && stack ? 0 : -1;
diff --git a/simplicity-sys/depend/simplicity/rsort.h b/simplicity-sys/depend/simplicity/rsort.h
index a9e39fbe..709576fa 100644
--- a/simplicity-sys/depend/simplicity/rsort.h
+++ b/simplicity-sys/depend/simplicity/rsort.h
@@ -22,7 +22,7 @@
  *
  * Precondition: For all 0 <= i < len, NULL != a[i];
  */
-bool rsort(const sha256_midstate** a, uint_fast32_t len);
+bool simplicity_rsort(const sha256_midstate** a, uint_fast32_t len);
 
 /* Searches for duplicates in an array of 'sha256_midstate's.
  * If malloc fails, returns -1.
@@ -32,6 +32,6 @@ bool rsort(const sha256_midstate** a, uint_fast32_t len);
  * Precondition: const sha256_midstate a[len];
  *               len <= DAG_LEN_MAX;
  */
-int hasDuplicates(const sha256_midstate* a, uint_fast32_t len);
+int simplicity_hasDuplicates(const sha256_midstate* a, uint_fast32_t len);
 
 #endif
diff --git a/simplicity-sys/depend/simplicity/schnorr0.c b/simplicity-sys/depend/simplicity/schnorr0.c
index 1ad9f73a..769bc1ef 100644
--- a/simplicity-sys/depend/simplicity/schnorr0.c
+++ b/simplicity-sys/depend/simplicity/schnorr0.c
@@ -26,18 +26,18 @@ const size_t sizeof_schnorr0_witness = sizeof(schnorr0_witness);
 
 /* The commitment Merkle root of the above schnorr0 Simplicity expression. */
 const uint32_t schnorr0_cmr[] = {
-  0x70a617f3u, 0x2098132fu, 0xe01ad5ffu, 0x6748d3b9u, 0x4f803f4du, 0x851dd576u, 0x4d99437cu, 0x1b8dd7e8u
+  0xe3b25e13u, 0xf91fcbf9u, 0x5407f126u, 0xb3aed5b4u, 0x543399cbu, 0x9c3d426fu, 0xe98a10f8u, 0xd33ef6c3u
 };
 
 /* The identity Merkle root of the above schnorr0 Simplicity expression. */
 const uint32_t schnorr0_imr[] = {
-  0xfd9423e5u, 0xca51d3efu, 0xea27596bu, 0x65a61792u, 0x497a6835u, 0x1ee43f23u, 0x5e6edfc3u, 0x44cf4951u
+  0x6b18b11fu, 0x6367528au, 0xfbe1abafu, 0x41553ce6u, 0x8bb417dau, 0x2dcdd283u, 0x29643991u, 0x48548ac7u
 };
 
 /* The annotated Merkle root of the above schnorr0 Simplicity expression. */
 const uint32_t schnorr0_amr[] = {
-  0xf9ab63b6u, 0xea2a9cc1u, 0xdf9cc1e1u, 0xbc96c945u, 0xb655ec84u, 0x3eb6967du, 0x4429a1a0u, 0xc8519633u
+  0x9049bcdau, 0x62ffe6b7u, 0x146b91afu, 0x7a4522adu, 0xbb93f0cdu, 0x50dd390du, 0x12b9fe12u, 0xae836c8cu
 };
 
 /* The cost of the above schnorr0 Simplicity expression in milli weight units. */
-const ubounded schnorr0_cost = 52219;
+const ubounded schnorr0_cost = 51635;
diff --git a/simplicity-sys/depend/simplicity/schnorr6.c b/simplicity-sys/depend/simplicity/schnorr6.c
index 77449a46..28144f00 100644
--- a/simplicity-sys/depend/simplicity/schnorr6.c
+++ b/simplicity-sys/depend/simplicity/schnorr6.c
@@ -26,18 +26,18 @@ const size_t sizeof_schnorr6_witness = sizeof(schnorr6_witness);
 
 /* The commitment Merkle root of the above schnorr6 Simplicity expression. */
 const uint32_t schnorr6_cmr[] = {
-  0xc5d4e54fu, 0x4507f3d9u, 0x907e2ac4u, 0x554a8647u, 0x22e2fdd8u, 0x4da0f9eau, 0x9df7b8dau, 0x69f88e45u
+  0x9147875bu, 0x9fa06e14u, 0x74478477u, 0xbf56c2d2u, 0xdda7ec76u, 0x9c45591fu, 0x773527dfu, 0x863b9f8au
 };
 
 /* The identity Merkle root of the above schnorr6 Simplicity expression. */
 const uint32_t schnorr6_imr[] = {
-  0x9cffb490u, 0xbd19d2b0u, 0x0ed557f7u, 0xb4c10527u, 0xa53021d4u, 0x79c607b1u, 0x24f95daau, 0xf8268f9du
+  0x1fd4f643u, 0xb9488b2cu, 0x48bb6423u, 0xf7997c18u, 0xc31e158fu, 0x9086da39u, 0xa69dc76au, 0xea005579u
 };
 
 /* The annotated Merkle root of the above schnorr6 Simplicity expression. */
 const uint32_t schnorr6_amr[] = {
-  0x30487388u, 0x5e7b26bau, 0x1fb5b6b8u, 0x0557ecddu, 0x27a24599u, 0xdb952e4cu, 0xb9f930fcu, 0x53469638u
+  0x9be4fc10u, 0xb617b7ceu, 0xc25d0c19u, 0x64736846u, 0x31f7ccfdu, 0xdcf169cau, 0xec2195b5u, 0x70e2c097u
 };
 
 /* The cost of the above schnorr6 Simplicity expression in milli weight units. */
-const ubounded schnorr6_cost = 52219;
+const ubounded schnorr6_cost = 51635;
diff --git a/simplicity-sys/depend/simplicity/secp256k1/util.h b/simplicity-sys/depend/simplicity/secp256k1/util.h
index ffaba8a0..e0619b9c 100644
--- a/simplicity-sys/depend/simplicity/secp256k1/util.h
+++ b/simplicity-sys/depend/simplicity/secp256k1/util.h
@@ -170,7 +170,7 @@ static SECP256K1_INLINE int secp256k1_ctz64_var(uint64_t x) {
 #if (__has_builtin(__builtin_ctzl) || SECP256K1_GNUC_PREREQ(3,4))
     /* If the unsigned long type is sufficient to represent the largest uint64_t, consider __builtin_ctzl. */
     if (((unsigned long)UINT64_MAX) == UINT64_MAX) {
-        return __builtin_ctzl(x);
+        return __builtin_ctzl((unsigned long)x);
     }
 #endif
 #if (__has_builtin(__builtin_ctzll) || SECP256K1_GNUC_PREREQ(3,4))
diff --git a/simplicity-sys/depend/simplicity/sha256.c b/simplicity-sys/depend/simplicity/sha256.c
index 71c75b3c..52af1cf3 100644
--- a/simplicity-sys/depend/simplicity/sha256.c
+++ b/simplicity-sys/depend/simplicity/sha256.c
@@ -120,14 +120,14 @@ static void sha256_compression_portable(uint32_t* s, const uint32_t* chunk) {
     s[7] = 1U * s[7] + h;
 }
 
-void (*sha256_compression)(uint32_t* midstate, const uint32_t* block) = sha256_compression_portable;
+void (*simplicity_sha256_compression)(uint32_t* midstate, const uint32_t* block) = sha256_compression_portable;
 
 /* For information purposes only.
  * Returns true if the sha256_compression implemenation has been optimized for the CPU.
  * Otherwise returns false.
  */
-bool sha256_compression_is_optimized(void) {
-  return sha256_compression_portable != sha256_compression;
+bool simplicity_sha256_compression_is_optimized(void) {
+  return sha256_compression_portable != simplicity_sha256_compression;
 };
 
 /* Given a SHA-256 midstate, 'h', of 'len / 512' blocks, and
@@ -140,12 +140,12 @@ bool sha256_compression_is_optimized(void) {
 static void sha256_end(uint32_t* h, uint32_t* block, const uint_fast64_t len) {
   block[len / 32 % 16] |= (uint32_t)1 << (31 - len % 32);
   if (448 <= len % 512) {
-    sha256_compression(h, block);
+    simplicity_sha256_compression(h, block);
     memset(block, 0, sizeof(uint32_t[14]));
   }
   block[14] = (uint32_t)(len >> 32);
   block[15] = (uint32_t)len;
-  sha256_compression(h, block);
+  simplicity_sha256_compression(h, block);
 }
 
 /* Compute the SHA-256 hash, 'h', of the bitstring represented by 's'.
@@ -154,7 +154,7 @@ static void sha256_end(uint32_t* h, uint32_t* block, const uint_fast64_t len) {
  *               '*s' is a valid bitstring;
  *               's->len < 2^64;
  */
-void sha256_bitstring(uint32_t* h, const bitstring* s) {
+void simplicity_sha256_bitstring(uint32_t* h, const bitstring* s) {
   /* This static assert should never fail if uint32_t exists.
    * But for more certainty, we note that the correctness of this implementation depends on CHAR_BIT being no more than 32.
    */
@@ -190,7 +190,7 @@ void sha256_bitstring(uint32_t* h, const bitstring* s) {
         /* The next character from s->arr straddles (or almost straddles) the boundary of two elements of the block array. */
         block[count / 32 % 16] |= (uint32_t)((uint_fast32_t)ch >> (count + CHAR_BIT) % 32);
         if (count / 512 != (count + delta) / 512) {
-          sha256_compression(h, block);
+          simplicity_sha256_compression(h, block);
           memset(block, 0, sizeof(uint32_t[16]));
         }
       }
diff --git a/simplicity-sys/depend/simplicity/sha256.h b/simplicity-sys/depend/simplicity/sha256.h
index d2f1245e..a9f29231 100644
--- a/simplicity-sys/depend/simplicity/sha256.h
+++ b/simplicity-sys/depend/simplicity/sha256.h
@@ -127,20 +127,20 @@ static inline void sha256_iv(uint32_t* iv) {
  * Precondition: uint32_t midstate[8];
  *               uint32_t block[16]
  */
-extern void (*sha256_compression)(uint32_t* midstate, const uint32_t* block);
+extern void (*simplicity_sha256_compression)(uint32_t* midstate, const uint32_t* block);
 
 /* For information purposes only.
  * Returns true if the sha256_compression implemenation has been optimized for the CPU.
  * Otherwise returns false.
  */
-bool sha256_compression_is_optimized(void);
+bool simplicity_sha256_compression_is_optimized(void);
 
 /* Compute the SHA-256 hash, 'h', of the bitstring represented by 's'.
  *
  * Precondition: uint32_t h[8];
  *               '*s' is a valid bitstring;
  */
-void sha256_bitstring(uint32_t* h, const bitstring* s);
+void simplicity_sha256_bitstring(uint32_t* h, const bitstring* s);
 
 /* Given a 256-bit 's' and a 512-bit 'chunk', then 's' becomes the value of the SHA-256 compression function ("added" to the original 's' value).
  *
@@ -148,7 +148,7 @@ void sha256_bitstring(uint32_t* h, const bitstring* s);
  *               unsigned char chunk[64]
  */
 static void sha256_compression_uchar(uint32_t* s, const unsigned char* chunk) {
-  sha256_compression(s, (const uint32_t[16])
+  simplicity_sha256_compression(s, (const uint32_t[16])
     { ReadBE32(chunk + 4*0)
     , ReadBE32(chunk + 4*1)
     , ReadBE32(chunk + 4*2)
diff --git a/simplicity-sys/depend/simplicity/sha256_x86.inc b/simplicity-sys/depend/simplicity/sha256_x86.inc
index d4d9bfdd..a62e55de 100644
--- a/simplicity-sys/depend/simplicity/sha256_x86.inc
+++ b/simplicity-sys/depend/simplicity/sha256_x86.inc
@@ -168,7 +168,7 @@ static void sha256_compression_x86_sha_ni(uint32_t* midstate, const uint32_t* bl
 extern void simplicity_sha256_cpu_optimize_not_thread_safe(void) __attribute__((constructor));
 extern void simplicity_sha256_cpu_optimize_not_thread_safe(void) {
   if (cpu_has_sha_ni()) {
-    sha256_compression = sha256_compression_x86_sha_ni;
+    simplicity_sha256_compression = sha256_compression_x86_sha_ni;
   }
 }
 
diff --git a/simplicity-sys/depend/simplicity/test.c b/simplicity-sys/depend/simplicity/test.c
index 63417457..0e7fc96f 100644
--- a/simplicity-sys/depend/simplicity/test.c
+++ b/simplicity-sys/depend/simplicity/test.c
@@ -1,3 +1,4 @@
+#include <inttypes.h>
 #include <limits.h>
 #include <stdlib.h>
 #include <string.h>
@@ -59,7 +60,7 @@ static void test_decodeUptoMaxInt(void) {
 
   bitstream stream = initializeBitstream(buf, sizeof(buf));
   for (size_t i = 0; i < sizeof(expected)/sizeof(expected[0]); ++i) {
-    int32_t result = decodeUptoMaxInt(&stream);
+    int32_t result = simplicity_decodeUptoMaxInt(&stream);
     if (expected[i] == result) {
       successes++;
     } else {
@@ -73,17 +74,19 @@ static void test_hashBlock(void) {
   printf("Test hashBlock\n");
   dag_node* dag;
   combinator_counters census;
-  int32_t len;
+  int_fast32_t len;
   simplicity_err error;
   {
     bitstream stream = initializeBitstream(hashBlock, sizeof_hashBlock);
-    len = decodeMallocDag(&dag, &census, &stream);
+    len = simplicity_decodeMallocDag(&dag, &census, &stream);
     if (!dag) {
-      error = len;
+      simplicity_assert(len < 0);
+      error = (simplicity_err)len;
       failures++;
       printf("Error parsing dag: %d\n", error);
     } else {
-      error = closeBitstream(&stream);
+      simplicity_assert(0 < len);
+      error = simplicity_closeBitstream(&stream);
       if (!IS_OK(error)) {
         failures++;
         printf("Error closing dag stream for hashblock\n");
@@ -102,20 +105,20 @@ static void test_hashBlock(void) {
 
     type* type_dag;
     bitstream witness = initializeBitstream(hashBlock_witness, sizeof_hashBlock_witness);
-    if (!IS_OK(mallocTypeInference(&type_dag, dag, (size_t)len, &census)) || !type_dag ||
+    if (!IS_OK(simplicity_mallocTypeInference(&type_dag, dag, (uint_fast32_t)len, &census)) || !type_dag ||
         type_dag[dag[len-1].sourceType].bitSize != 768 || type_dag[dag[len-1].targetType].bitSize != 256) {
       failures++;
       printf("Unexpected failure of type inference for hashblock\n");
-    } else if (!IS_OK(fillWitnessData(dag, type_dag, (size_t)len, &witness))) {
+    } else if (!IS_OK(simplicity_fillWitnessData(dag, type_dag, (uint_fast32_t)len, &witness))) {
       failures++;
       printf("Unexpected failure of fillWitnessData for hashblock\n");
-    } else if (!IS_OK(closeBitstream(&witness))) {
+    } else if (!IS_OK(simplicity_closeBitstream(&witness))) {
       failures++;
       printf("Unexpected failure of witness stream for hashblock\n");
     } else {
       {
         analyses analysis[len];
-        computeAnnotatedMerkleRoot(analysis, dag, type_dag, (size_t)len);
+        simplicity_computeAnnotatedMerkleRoot(analysis, dag, type_dag, (uint_fast32_t)len);
         if (0 == memcmp(hashBlock_amr, analysis[len-1].annotatedMerkleRoot.s, sizeof(uint32_t[8]))) {
           successes++;
         } else {
@@ -125,7 +128,7 @@ static void test_hashBlock(void) {
       }
       {
         sha256_midstate imr;
-        if (IS_OK(verifyNoDuplicateIdentityRoots(&imr, dag, type_dag, (size_t)len)) &&
+        if (IS_OK(simplicity_verifyNoDuplicateIdentityRoots(&imr, dag, type_dag, (uint_fast32_t)len)) &&
             0 == memcmp(hashBlock_imr, imr.s, sizeof(uint32_t[8]))) {
           successes++;
         } else {
@@ -149,7 +152,7 @@ static void test_hashBlock(void) {
       }
       {
         ubounded cellsBound, UWORDBound, frameBound, costBound;
-        if (IS_OK(analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, UBOUNDED_MAX, dag, type_dag, (size_t)len))
+        if (IS_OK(simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, UBOUNDED_MAX, dag, type_dag, (uint_fast32_t)len))
             && hashBlock_cost == costBound) {
           successes++;
         } else {
@@ -157,7 +160,7 @@ static void test_hashBlock(void) {
           printf("Expected %d for cost, but got %d instead.\n", hashBlock_cost, costBound);
         }
       }
-      simplicity_err err = evalTCOExpression(CHECK_NONE, output, input, dag, type_dag, (size_t)len, NULL, NULL);
+      simplicity_err err = simplicity_evalTCOExpression(CHECK_NONE, output, input, dag, type_dag, (uint_fast32_t)len, NULL, NULL);
       if (IS_OK(err)) {
         /* The expected result is the value 'SHA256("abc")'. */
         const uint32_t expectedHash[8] = { 0xba7816bful, 0x8f01cfeaul, 0x414140deul, 0x5dae2223ul
@@ -188,17 +191,19 @@ static void test_program(char* name, const unsigned char* program, size_t progra
   printf("Test %s\n", name);
   dag_node* dag;
   combinator_counters census;
-  int32_t len;
+  int_fast32_t len;
   simplicity_err error;
   {
     bitstream stream = initializeBitstream(program, program_len);
-    len = decodeMallocDag(&dag, &census, &stream);
+    len = simplicity_decodeMallocDag(&dag, &census, &stream);
     if (!dag) {
-      error = len;
+      simplicity_assert(len < 0);
+      error = (simplicity_err)len;
       failures++;
       printf("Error parsing dag: %d\n", error);
     } else {
-      error = closeBitstream(&stream);
+      simplicity_assert(0 < len);
+      error = simplicity_closeBitstream(&stream);
       if (!IS_OK(error)) {
         if (expectedResult == error) {
           successes++;
@@ -226,20 +231,20 @@ static void test_program(char* name, const unsigned char* program, size_t progra
     }
     type* type_dag;
     bitstream witness_stream = initializeBitstream(witness, witness_len);
-    if (!IS_OK(mallocTypeInference(&type_dag, dag, (size_t)len, &census)) || !type_dag ||
+    if (!IS_OK(simplicity_mallocTypeInference(&type_dag, dag, (uint_fast32_t)len, &census)) || !type_dag ||
         dag[len-1].sourceType != 0 || dag[len-1].targetType != 0) {
       failures++;
       printf("Unexpected failure of type inference.\n");
-    } else if (!IS_OK(fillWitnessData(dag, type_dag, (size_t)len, &witness_stream))) {
+    } else if (!IS_OK(simplicity_fillWitnessData(dag, type_dag, (uint_fast32_t)len, &witness_stream))) {
       failures++;
       printf("Unexpected failure of fillWitnessData.\n");
-    } else if (!IS_OK(closeBitstream(&witness_stream))) {
+    } else if (!IS_OK(simplicity_closeBitstream(&witness_stream))) {
       failures++;
       printf("Unexpected failure closing witness_stream\n");
     } else {
       if (expectedAMR) {
         analyses analysis[len];
-        computeAnnotatedMerkleRoot(analysis, dag, type_dag, (size_t)len);
+        simplicity_computeAnnotatedMerkleRoot(analysis, dag, type_dag, (uint_fast32_t)len);
         if (0 == memcmp(expectedAMR, analysis[len-1].annotatedMerkleRoot.s, sizeof(uint32_t[8]))) {
           successes++;
         } else {
@@ -249,7 +254,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra
       }
       {
         sha256_midstate imr;
-        if (IS_OK(verifyNoDuplicateIdentityRoots(&imr, dag, type_dag, (size_t)len)) &&
+        if (IS_OK(simplicity_verifyNoDuplicateIdentityRoots(&imr, dag, type_dag, (uint_fast32_t)len)) &&
             (!expectedIMR || 0 == memcmp(expectedIMR, imr.s, sizeof(uint32_t[8])))) {
           successes++;
         } else {
@@ -259,7 +264,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra
       }
       if (expectedCost) {
         ubounded cellsBound, UWORDBound, frameBound, costBound;
-        if (IS_OK(analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, UBOUNDED_MAX, dag, type_dag, (size_t)len))
+        if (IS_OK(simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, UBOUNDED_MAX, dag, type_dag, (uint_fast32_t)len))
            && *expectedCost == costBound) {
           successes++;
         } else {
@@ -267,7 +272,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra
           printf("Expected %u for cost, but got %u instead.\n", *expectedCost, costBound);
         }
         /* Analysis should pass when computed bounds are used. */
-        if (IS_OK(analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, cellsBound, costBound, dag, type_dag, (size_t)len))) {
+        if (IS_OK(simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, cellsBound, costBound, dag, type_dag, (uint_fast32_t)len))) {
           successes++;
         } else {
           failures++;
@@ -275,7 +280,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra
         }
         /* if cellsBound is non-zero, analysis should fail when smaller cellsBound is used. */
         if (0 < cellsBound) {
-          if (SIMPLICITY_ERR_EXEC_MEMORY == analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, cellsBound-1, UBOUNDED_MAX, dag, type_dag, (size_t)len)) {
+          if (SIMPLICITY_ERR_EXEC_MEMORY == simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, cellsBound-1, UBOUNDED_MAX, dag, type_dag, (uint_fast32_t)len)) {
             successes++;
           } else {
             failures++;
@@ -284,7 +289,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra
         }
         /* Analysis should fail when smaller costBound is used. */
         if (0 < *expectedCost &&
-            SIMPLICITY_ERR_EXEC_BUDGET == analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, *expectedCost-1, dag, type_dag, (size_t)len)
+            SIMPLICITY_ERR_EXEC_BUDGET == simplicity_analyseBounds(&cellsBound, &UWORDBound, &frameBound, &costBound, UBOUNDED_MAX, *expectedCost-1, dag, type_dag, (uint_fast32_t)len)
            ) {
           successes++;
         } else {
@@ -292,7 +297,7 @@ static void test_program(char* name, const unsigned char* program, size_t progra
           printf("Analysis with too small cost bounds failed.\n");
         }
       }
-      simplicity_err actualResult = evalTCOProgram(dag, type_dag, (size_t)len, NULL, NULL);
+      simplicity_err actualResult = evalTCOProgram(dag, type_dag, (uint_fast32_t)len, NULL, NULL);
       if (expectedResult == actualResult) {
         successes++;
       } else {
@@ -311,16 +316,18 @@ static void test_occursCheck(void) {
   const unsigned char buf[] = { 0xc1, 0x07, 0x20, 0x30 };
   dag_node* dag;
   combinator_counters census;
-  int32_t len;
+  int_fast32_t len;
   {
     bitstream stream = initializeBitstream(buf, sizeof(buf));
-    len = decodeMallocDag(&dag, &census, &stream);
+    len = simplicity_decodeMallocDag(&dag, &census, &stream);
   }
   if (!dag) {
-    printf("Error parsing dag: %d\n", len);
+    simplicity_assert(len < 0);
+    printf("Error parsing dag: %" PRIdFAST32 "\n", len);
   } else {
     type* type_dag;
-    if (SIMPLICITY_ERR_TYPE_INFERENCE_OCCURS_CHECK == mallocTypeInference(&type_dag, dag, (size_t)len, &census) &&
+    simplicity_assert(0 < len);
+    if (SIMPLICITY_ERR_TYPE_INFERENCE_OCCURS_CHECK == simplicity_mallocTypeInference(&type_dag, dag, (uint_fast32_t)len, &census) &&
         !type_dag) {
       successes++;
     } else {
@@ -343,7 +350,7 @@ static void test_elements(void) {
     , .pathLen = 0
     , .scriptCMR = cmr
     };
-  tapEnv* taproot = elements_simplicity_mallocTapEnv(&rawTaproot);
+  tapEnv* taproot = simplicity_elements_mallocTapEnv(&rawTaproot);
 
   printf("Test elements\n");
   {
@@ -378,7 +385,7 @@ static void test_elements(void) {
       , .version = 0x00000002
       , .lockTime = 0x00000000
       };
-    transaction* tx1 = elements_simplicity_mallocTransaction(&testTx1);
+    transaction* tx1 = simplicity_elements_mallocTransaction(&testTx1);
     if (tx1) {
       successes++;
       simplicity_err execResult;
@@ -398,7 +405,7 @@ static void test_elements(void) {
       }
       {
         unsigned char imrResult[32];
-        if (elements_simplicity_execSimplicity(&execResult, imrResult, tx1, 0, taproot, genesisHash, (elementsCheckSigHashAllTx1_cost + 999)/1000, amr, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && IS_OK(execResult)) {
+        if (simplicity_elements_execSimplicity(&execResult, imrResult, tx1, 0, taproot, genesisHash, (elementsCheckSigHashAllTx1_cost + 999)/1000, amr, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && IS_OK(execResult)) {
           sha256_midstate imr;
           sha256_toMidstate(imr.s, imrResult);
           if (0 == memcmp(imr.s, elementsCheckSigHashAllTx1_imr, sizeof(uint32_t[8]))) {
@@ -414,7 +421,7 @@ static void test_elements(void) {
         if (elementsCheckSigHashAllTx1_cost){
           /* test the same transaction without adequate budget. */
           simplicity_assert(elementsCheckSigHashAllTx1_cost);
-          if (elements_simplicity_execSimplicity(&execResult, imrResult, tx1, 0, taproot, genesisHash, (elementsCheckSigHashAllTx1_cost - 1)/1000, amr, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_BUDGET == execResult) {
+          if (simplicity_elements_execSimplicity(&execResult, imrResult, tx1, 0, taproot, genesisHash, (elementsCheckSigHashAllTx1_cost - 1)/1000, amr, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_BUDGET == execResult) {
             successes++;
           } else {
             failures++;
@@ -427,7 +434,7 @@ static void test_elements(void) {
         unsigned char brokenSig[sizeof_elementsCheckSigHashAllTx1_witness];
         memcpy(brokenSig, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness);
         brokenSig[sizeof_elementsCheckSigHashAllTx1_witness - 1] ^= 0x80;
-        if (elements_simplicity_execSimplicity(&execResult, NULL, tx1, 0, taproot, genesisHash, BUDGET_MAX, NULL, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, brokenSig, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_JET == execResult) {
+        if (simplicity_elements_execSimplicity(&execResult, NULL, tx1, 0, taproot, genesisHash, BUDGET_MAX, NULL, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, brokenSig, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_JET == execResult) {
           successes++;
         } else {
           failures++;
@@ -471,12 +478,12 @@ static void test_elements(void) {
       , .version = 0x00000002
       , .lockTime = 0x00000000
       };
-    transaction* tx2 = elements_simplicity_mallocTransaction(&testTx2);
+    transaction* tx2 = simplicity_elements_mallocTransaction(&testTx2);
     if (tx2) {
       successes++;
       simplicity_err execResult;
       {
-        if (elements_simplicity_execSimplicity(&execResult, NULL, tx2, 0, taproot, genesisHash, BUDGET_MAX, NULL, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_JET == execResult) {
+        if (simplicity_elements_execSimplicity(&execResult, NULL, tx2, 0, taproot, genesisHash, BUDGET_MAX, NULL, elementsCheckSigHashAllTx1, sizeof_elementsCheckSigHashAllTx1, elementsCheckSigHashAllTx1_witness, sizeof_elementsCheckSigHashAllTx1_witness) && SIMPLICITY_ERR_EXEC_JET == execResult) {
           successes++;
         } else {
           failures++;
@@ -501,38 +508,38 @@ static sha256_midstate hashint(uint_fast32_t n) {
   return result;
 }
 
-static sha256_midstate rsort_no_duplicates(size_t i) {
+static sha256_midstate rsort_no_duplicates(uint_fast32_t i) {
   return hashint(i);
 }
 
-static sha256_midstate rsort_all_duplicates(size_t i) {
+static sha256_midstate rsort_all_duplicates(uint_fast32_t i) {
   (void)i;
   return hashint(0);
 }
 
-static sha256_midstate rsort_one_duplicate(size_t i) {
+static sha256_midstate rsort_one_duplicate(uint_fast32_t i) {
   return hashint(i ? i : 1);
 }
 
 /* Tests a worst-case conditions for stack usage in rsort. */
-static sha256_midstate rsort_diagonal(size_t i) {
+static sha256_midstate rsort_diagonal(uint_fast32_t i) {
   sha256_midstate result = {0};
   unsigned char *alias = (unsigned char *)(result.s);
-  for (size_t j = 0; j < sizeof(result.s); ++j) {
+  for (uint_fast32_t j = 0; j < sizeof(result.s); ++j) {
     alias[j] = j == i ? 0 : 0xff;
   }
   return result;
 }
 
-static void test_hasDuplicates(const char* name, int expected, sha256_midstate (*f)(size_t), size_t n) {
+static void test_hasDuplicates(const char* name, int expected, sha256_midstate (*f)(uint_fast32_t), uint_fast32_t n) {
   sha256_midstate hashes[n];
 
   printf("Test %s\n", name);
-  for(size_t i = 0; i < n; ++i) {
+  for(uint_fast32_t i = 0; i < n; ++i) {
     hashes[i] = f(i);
   }
 
-  int actual = hasDuplicates(hashes, n);
+  int actual = simplicity_hasDuplicates(hashes, n);
   if (expected == actual) {
     successes++;
   } else if (actual < 0) {
@@ -632,7 +639,7 @@ int main(int argc, char **argv) {
     if (0 == opt_result) continue;
     exit(EXIT_FAILURE);
   }
-  if (sha256_compression_is_optimized()) {
+  if (simplicity_sha256_compression_is_optimized()) {
     printf("Sha optimization enabled.\n");
     if (timing_flag) {
       printf("Timings are checked.\n");
diff --git a/simplicity-sys/depend/simplicity/type.c b/simplicity-sys/depend/simplicity/type.c
index 7c572305..3127ac3c 100644
--- a/simplicity-sys/depend/simplicity/type.c
+++ b/simplicity-sys/depend/simplicity/type.c
@@ -33,7 +33,7 @@ static sha256_midstate tmrIV(typeName kind) {
  *
  * Precondition: type type_dag[len] and 'type_dag' is well-formed.
  */
-void computeTypeAnalyses(type* type_dag, const size_t len) {
+void simplicity_computeTypeAnalyses(type* type_dag, const size_t len) {
   for (size_t i = 0; i < len; ++i) {
     type_dag[i].skip = i;
     switch (type_dag[i].kind) {
@@ -62,7 +62,7 @@ void computeTypeAnalyses(type* type_dag, const size_t len) {
      case PRODUCT:
       memcpy(block, type_dag[type_dag[i].typeArg[0]].typeMerkleRoot.s, sizeof(uint32_t[8]));
       memcpy(block + 8, type_dag[type_dag[i].typeArg[1]].typeMerkleRoot.s, sizeof(uint32_t[8]));
-      sha256_compression(type_dag[i].typeMerkleRoot.s, block);
+      simplicity_sha256_compression(type_dag[i].typeMerkleRoot.s, block);
     }
   }
 }
diff --git a/simplicity-sys/depend/simplicity/type.h b/simplicity-sys/depend/simplicity/type.h
index 8e467c62..ff0684a4 100644
--- a/simplicity-sys/depend/simplicity/type.h
+++ b/simplicity-sys/depend/simplicity/type.h
@@ -63,7 +63,7 @@ typedef struct type {
  *
  * Precondition: type type_dag[len] and 'type_dag' is well-formed.
  */
-void computeTypeAnalyses(type* type_dag, size_t len);
+void simplicity_computeTypeAnalyses(type* type_dag, size_t len);
 
 /* Return the index of the largest subexpression of 'type_dag[i]' (possibly 'i' itself) that is either
  * (1) a 'SUM' type;
diff --git a/simplicity-sys/depend/simplicity/typeInference.c b/simplicity-sys/depend/simplicity/typeInference.c
index 256b08d0..89f09232 100644
--- a/simplicity-sys/depend/simplicity/typeInference.c
+++ b/simplicity-sys/depend/simplicity/typeInference.c
@@ -265,10 +265,10 @@ static size_t max_extra_vars(const combinator_counters* census) {
  *                    that are accessible from the 'arrow' array and 'bound_var' array.
  *                  and 'arrow' is a graph of bindings that satisfies the typing constraints of imposed by 'dag'.
  */
-static simplicity_err typeInference( unification_arrow* arrow, const dag_node* dag, const size_t len,
+static simplicity_err typeInference( unification_arrow* arrow, const dag_node* dag, const uint_fast32_t len,
                                      unification_var* extra_var, unification_var* bound_var, size_t word256_ix, size_t* bindings_used
                                    ) {
-  for (size_t i = 0; i < len; ++i) {
+  for (uint_fast32_t i = 0; i < len; ++i) {
     switch (dag[i].tag) {
       #define UNIFY(a, b) { if (!unify((a), (b), bindings_used)) return SIMPLICITY_ERR_TYPE_INFERENCE_UNIFICATION; }
       #define APPLY_BINDING(a, b) { if (!applyBinding((a), (b), bindings_used)) return SIMPLICITY_ERR_TYPE_INFERENCE_UNIFICATION; }
@@ -534,7 +534,7 @@ static simplicity_err freezeTypes(type* type_dag, dag_node* dag, unification_arr
     }
   }
 
-  computeTypeAnalyses(type_dag, type_dag_used);
+  simplicity_computeTypeAnalyses(type_dag, type_dag_used);
 
   return SIMPLICITY_NO_ERROR;
 }
@@ -559,7 +559,7 @@ static simplicity_err freezeTypes(type* type_dag, dag_node* dag, unification_arr
  *                     or 'dag' is well-typed with '*type_dag' and without witness values
  *                if the return value is not 'SIMPLICITY_NO_ERROR' then 'NULL == *type_dag'
  */
-simplicity_err mallocTypeInference(type** type_dag, dag_node* dag, const size_t len, const combinator_counters* census) {
+simplicity_err simplicity_mallocTypeInference(type** type_dag, dag_node* dag, const uint_fast32_t len, const combinator_counters* census) {
   *type_dag = NULL;
   static_assert(DAG_LEN_MAX <= SIZE_MAX / sizeof(unification_arrow), "arrow array too large.");
   static_assert(1 <= DAG_LEN_MAX, "DAG_LEN_MAX is zero.");
@@ -569,7 +569,7 @@ simplicity_err mallocTypeInference(type** type_dag, dag_node* dag, const size_t
   unification_arrow* arrow = simplicity_malloc(len * sizeof(unification_arrow));
   unification_var* bound_var = NULL;
   size_t word256_ix, extra_var_start;
-  const size_t orig_bindings_used = mallocBoundVars(&bound_var, &word256_ix, &extra_var_start, max_extra_vars(census));
+  const size_t orig_bindings_used = simplicity_mallocBoundVars(&bound_var, &word256_ix, &extra_var_start, max_extra_vars(census));
   size_t bindings_used = orig_bindings_used;
 
   static_assert(1 <= NUMBER_OF_TYPENAMES_MAX, "NUMBER_OF_TYPENAMES_MAX is zero.");
diff --git a/simplicity-sys/depend/simplicity/typeInference.h b/simplicity-sys/depend/simplicity/typeInference.h
index 4cbec5b2..dd8ccf35 100644
--- a/simplicity-sys/depend/simplicity/typeInference.h
+++ b/simplicity-sys/depend/simplicity/typeInference.h
@@ -91,6 +91,6 @@ struct unification_var {
  *                     or 'dag' is well-typed with '*type_dag' and without witness values
  *                if the return value is not 'SIMPLICITY_NO_ERROR' then 'NULL == *type_dag'
  */
-simplicity_err mallocTypeInference(type** type_dag, dag_node* dag, const size_t len, const combinator_counters* census);
+simplicity_err simplicity_mallocTypeInference(type** type_dag, dag_node* dag, const uint_fast32_t len, const combinator_counters* census);
 
 #endif
diff --git a/simplicity-sys/depend/wrapper.h b/simplicity-sys/depend/wrapper.h
index 16cc6dae..3ac16820 100644
--- a/simplicity-sys/depend/wrapper.h
+++ b/simplicity-sys/depend/wrapper.h
@@ -3,7 +3,7 @@
 
 #define WRAP_(jet) \
 bool c_##jet(frameItem* dst, const frameItem* src, const txEnv* env) { \
-  bool result = jet(dst, *src, env); \
+  bool result = simplicity_##jet(dst, *src, env); \
   simplicity_assert(!result || 0 == dst->offset); \
   return result; \
 }
diff --git a/simplicity-sys/src/c_jets/c_env.rs b/simplicity-sys/src/c_jets/c_env.rs
index 3af0602a..f7513044 100644
--- a/simplicity-sys/src/c_jets/c_env.rs
+++ b/simplicity-sys/src/c_jets/c_env.rs
@@ -192,8 +192,8 @@ extern "C" {
         genesisHash: *const c_uchar,
         ix: c_uint,
     );
-    pub fn elements_simplicity_mallocTapEnv(rawEnv: *const CRawTapEnv) -> *mut CTapEnv;
-    pub fn elements_simplicity_mallocTransaction(
+    pub fn simplicity_elements_mallocTapEnv(rawEnv: *const CRawTapEnv) -> *mut CTapEnv;
+    pub fn simplicity_elements_mallocTransaction(
         rawTx: *const CRawTransaction,
     ) -> *mut CTransaction;
     pub fn c_free_transaction(tx: *mut CTransaction);
diff --git a/simplicity-sys/src/tests/ffi.rs b/simplicity-sys/src/tests/ffi.rs
index 63f9acc9..16fa4adf 100644
--- a/simplicity-sys/src/tests/ffi.rs
+++ b/simplicity-sys/src/tests/ffi.rs
@@ -135,10 +135,14 @@ pub mod bitstream {
         pub static c_sizeof_bitstream: c_size_t;
         pub static c_alignof_bitstream: c_size_t;
 
-        pub fn closeBitstream(stream: *mut CBitstream) -> i32;
-        pub fn readNBits(n: c_int, stream: *mut CBitstream) -> i32;
-        pub fn decodeUptoMaxInt(stream: *mut CBitstream) -> i32;
-        pub fn readBitstring(result: *mut CBitstring, n: c_size_t, stream: *mut CBitstream) -> i32;
+        pub fn simplicity_closeBitstream(stream: *mut CBitstream) -> i32;
+        pub fn simplicity_readNBits(n: c_int, stream: *mut CBitstream) -> i32;
+        pub fn simplicity_decodeUptoMaxInt(stream: *mut CBitstream) -> i32;
+        pub fn simplicity_readBitstring(
+            result: *mut CBitstring,
+            n: c_size_t,
+            stream: *mut CBitstream,
+        ) -> i32;
     }
 }
 
@@ -278,14 +282,14 @@ pub mod dag {
 
         /// Compute the CMR of a jet of scribe(v) : ONE |- TWO^(2^n) that outputs a given
         /// bitstring
-        pub fn computeWordCMR(value: *const CBitstring, n: c_size_t) -> CSha256Midstate;
+        pub fn simplicity_computeWordCMR(value: *const CBitstring, n: c_size_t) -> CSha256Midstate;
 
         /// Given a well-formed dag\[i + 1\], set the `cmr` field of every node in `dag`
-        pub fn computeCommitmentMerkleRoot(dag: *mut CDagNode, i: c_size_t);
+        pub fn simplicity_computeCommitmentMerkleRoot(dag: *mut CDagNode, i: c_size_t);
 
         /// Given a well-typed dag representing a Simplicity expression, compute
         /// the annotated Merkle roots of all subexpressions.
-        pub fn computeAnnotatedMerkleRoot(
+        pub fn simplicity_computeAnnotatedMerkleRoot(
             analyses: *mut CAnalyses,
             dag: *const CDagNode,
             ty: *const CType,
@@ -294,10 +298,10 @@ pub mod dag {
 
         /// Verifies that the 'dag' is in canonical order, meaning that nodes
         /// under the left branches have lower indices than nodes under
-        pub fn verifyCanonicalOrder(dag: *mut CDagNode, len: c_size_t) -> SimplicityErr;
+        pub fn simplicity_verifyCanonicalOrder(dag: *mut CDagNode, len: c_size_t) -> SimplicityErr;
 
         /// Fills in the 'WITNESS' nodes of a 'dag' with the data from 'witness'
-        pub fn fillWitnessData(
+        pub fn simplicity_fillWitnessData(
             dag: *mut CDagNode,
             type_dag: *mut CType,
             len: c_size_t,
@@ -305,7 +309,7 @@ pub mod dag {
         ) -> SimplicityErr;
 
         /// Computes the identity Merkle roots of every subexpression in a well-typed 'dag' with witnesses    .
-        pub fn verifyNoDuplicateIdentityRoots(
+        pub fn simplicity_verifyNoDuplicateIdentityRoots(
             imr: *mut CSha256Midstate,
             dag: *const CDagNode,
             type_dag: *const CType,
@@ -319,7 +323,7 @@ pub mod deserialize {
     use crate::tests::ffi::dag::{CCombinatorCounters, CDagNode};
 
     extern "C" {
-        pub fn decodeMallocDag(
+        pub fn simplicity_decodeMallocDag(
             dag: *mut *mut CDagNode,
             combinator_counters: *mut CCombinatorCounters,
             stream: *mut CBitstream,
@@ -343,7 +347,7 @@ pub mod eval {
 
     extern "C" {
         /// Run the Bit Machine on the well-typed Simplicity expression 'dag\[len\]'.
-        pub fn evalTCOExpression(
+        pub fn simplicity_evalTCOExpression(
             anti_dos_checks: c_uchar,
             output: *mut UWORD,
             input: *const UWORD,
@@ -358,7 +362,7 @@ pub mod eval {
         /// compute the memory and CPU requirements for evaluation.
         ///
         /// Refer to C documentation for preconditions.
-        pub fn analyseBounds(
+        pub fn simplicity_analyseBounds(
             cell_bound: *mut ubounded,
             UWORD_bound: *mut ubounded,
             frame_bound: *mut ubounded,
@@ -373,21 +377,21 @@ pub mod eval {
 
     /// Run the Bit Machine on the well-typed Simplicity program 'dag\[len\]'.
     ///
-    /// Defined insine in eval.h; since it is a 1-liner we just copy it into Rust.
+    /// Defined inline in eval.h; since it is a 1-liner we just copy it into Rust.
     ///
     /// # Safety
     ///
     /// This function directly wraps `evalTCOExpression`; see the documentation for
     /// that function in the C source code for preconditions.
     #[allow(non_snake_case)]
-    pub unsafe fn evalTCOProgram(
+    pub unsafe fn simplicity_evalTCOProgram(
         dag: *const CDagNode,
         type_dag: *mut CType,
         len: c_size_t,
         budget: *const ubounded,
         env: *const CElementsTxEnv,
     ) -> SimplicityErr {
-        evalTCOExpression(
+        simplicity_evalTCOExpression(
             CHECK_ALL,
             ptr::null_mut(),
             ptr::null(),
@@ -442,7 +446,7 @@ pub mod ty {
         pub static c_alignof_type: c_size_t;
 
         /// Given a well-formed 'type_dag', compute the bitSizes, skips, and type Merkle roots of all subexpressions.
-        pub fn computeTypeAnalyses(type_dag: *mut CType, len: c_size_t);
+        pub fn simplicity_computeTypeAnalyses(type_dag: *mut CType, len: c_size_t);
     }
 }
 
@@ -456,7 +460,7 @@ pub mod type_inference {
         /// If the Simplicity DAG, 'dag', has a principal type (including constraints
         /// due to sharing of subexpressions), then allocate a well-formed type DAG
         /// containing all the types needed for all the subexpressions of 'dag'.
-        pub fn mallocTypeInference(
+        pub fn simplicity_mallocTypeInference(
             type_dag: *mut *mut CType,
             dag: *mut CDagNode,
             len: c_size_t,
diff --git a/simplicity-sys/src/tests/mod.rs b/simplicity-sys/src/tests/mod.rs
index 3cb38cba..c69758c9 100644
--- a/simplicity-sys/src/tests/mod.rs
+++ b/simplicity-sys/src/tests/mod.rs
@@ -6,14 +6,14 @@ use std::ptr;
 
 use crate::ffi::{c_size_t, sha256::CSha256Midstate, ubounded, UBOUNDED_MAX};
 use crate::tests::ffi::{
-    bitstream::{closeBitstream, CBitstream},
+    bitstream::{simplicity_closeBitstream, CBitstream},
     dag::{
-        computeAnnotatedMerkleRoot, fillWitnessData, verifyNoDuplicateIdentityRoots, CAnalyses,
-        CCombinatorCounters,
+        simplicity_computeAnnotatedMerkleRoot, simplicity_fillWitnessData,
+        simplicity_verifyNoDuplicateIdentityRoots, CAnalyses, CCombinatorCounters,
     },
-    deserialize::decodeMallocDag,
-    eval::{analyseBounds, evalTCOProgram},
-    type_inference::mallocTypeInference,
+    deserialize::simplicity_decodeMallocDag,
+    eval::{simplicity_analyseBounds, simplicity_evalTCOProgram},
+    type_inference::simplicity_mallocTypeInference,
     SimplicityErr,
 };
 
@@ -129,11 +129,14 @@ pub fn run_program(
     unsafe {
         // 1. Parse DAG.
         let mut dag = ptr::null_mut();
-        let len = SimplicityErr::from_i32(decodeMallocDag(&mut dag, &mut census, &mut prog_stream))?
-            as usize;
+        let len = SimplicityErr::from_i32(simplicity_decodeMallocDag(
+            &mut dag,
+            &mut census,
+            &mut prog_stream,
+        ))? as usize;
         assert!(!dag.is_null());
         let _d1 = FreeOnDrop(dag as *mut u8);
-        SimplicityErr::from_i32(closeBitstream(&mut prog_stream))?;
+        SimplicityErr::from_i32(simplicity_closeBitstream(&mut prog_stream))?;
         if test_up_to <= TestUpTo::DecodeProgram {
             return Ok(result);
         }
@@ -143,7 +146,7 @@ pub fn run_program(
 
         // 3. Do type inference.
         let mut type_dag = ptr::null_mut();
-        mallocTypeInference(&mut type_dag, dag, len, &census).into_result()?;
+        simplicity_mallocTypeInference(&mut type_dag, dag, len, &census).into_result()?;
         assert!(!type_dag.is_null());
         let _d2 = FreeOnDrop(type_dag as *mut u8);
         if test_up_to <= TestUpTo::TypeInference {
@@ -151,22 +154,24 @@ pub fn run_program(
         }
 
         // 4. Fill witness data, now that we know the types
-        fillWitnessData(dag, type_dag, len as c_size_t, &mut wit_stream).into_result()?;
-        SimplicityErr::from_i32(closeBitstream(&mut wit_stream))?;
+        simplicity_fillWitnessData(dag, type_dag, len as c_size_t, &mut wit_stream)
+            .into_result()?;
+        SimplicityErr::from_i32(simplicity_closeBitstream(&mut wit_stream))?;
         if test_up_to <= TestUpTo::FillWitnessData {
             return Ok(result);
         }
 
         // 5. Check AMR
         let mut analyses = vec![CAnalyses::default(); len];
-        computeAnnotatedMerkleRoot(analyses.as_mut_ptr(), dag, type_dag, len);
+        simplicity_computeAnnotatedMerkleRoot(analyses.as_mut_ptr(), dag, type_dag, len);
         result.amr = analyses[len - 1].annotated_merkle_root;
         if test_up_to <= TestUpTo::ComputeAmr {
             return Ok(result);
         }
 
         // 6. Check IMR
-        verifyNoDuplicateIdentityRoots(&mut result.imr, dag, type_dag, len).into_result()?;
+        simplicity_verifyNoDuplicateIdentityRoots(&mut result.imr, dag, type_dag, len)
+            .into_result()?;
         if test_up_to <= TestUpTo::ComputeImr {
             return Ok(result);
         }
@@ -177,7 +182,7 @@ pub fn run_program(
         let mut frame_bound: ubounded = 0;
         let mut cost_bound: ubounded = 0;
         // 7a. Analysis when cost is unbounded
-        analyseBounds(
+        simplicity_analyseBounds(
             &mut cell_bound,
             &mut word_bound,
             &mut frame_bound,
@@ -194,7 +199,7 @@ pub fn run_program(
             return Ok(result);
         }
         // 7b. analysis with strict bounds
-        analyseBounds(
+        simplicity_analyseBounds(
             &mut cell_bound,
             &mut word_bound,
             &mut frame_bound,
@@ -211,7 +216,7 @@ pub fn run_program(
         }
         // 7c. analysis with strict cell bounds
         if 0 < cell_bound {
-            let res = analyseBounds(
+            let res = simplicity_analyseBounds(
                 &mut cell_bound,
                 &mut word_bound,
                 &mut frame_bound,
@@ -231,7 +236,7 @@ pub fn run_program(
         }
         // 7d. analysis with strict cost bounds
         if 0 < cost_bound {
-            let res = analyseBounds(
+            let res = simplicity_analyseBounds(
                 &mut cell_bound,
                 &mut word_bound,
                 &mut frame_bound,
@@ -261,7 +266,8 @@ pub fn run_program(
         }
 
         // 9. Run the program
-        result.eval_result = evalTCOProgram(dag, type_dag, len, ptr::null(), ptr::null());
+        result.eval_result =
+            simplicity_evalTCOProgram(dag, type_dag, len, ptr::null(), ptr::null());
     }
 
     Ok(result)
diff --git a/src/bit_machine/mod.rs b/src/bit_machine/mod.rs
index 4edf10b4..d17d0c53 100644
--- a/src/bit_machine/mod.rs
+++ b/src/bit_machine/mod.rs
@@ -608,9 +608,9 @@ mod tests {
         let res = run_program_elements(
             &[0xcf, 0xe1, 0x8f, 0xb4, 0x40, 0x28, 0x87, 0x04, 0x00],
             &[],
-            "ec48102095c13fcdc1d539de2848ae287acdea249e2cda6f0d8f34bccd292294",
-            "abd217b5ea14d7da249a03e16dd047b136a2efec4b82c1b60675297d782b51ad",
-            "dea130f31a0754ea2f82ad570f7a4882c9e465b6bdd6f8be4d6d68342a57dff3",
+            "615034594b26f261f89485f71b705ebf2e5b27233130d9c41c49c214dcbf0a7f",
+            "3e2c6ae87f6578e52d51510b476fd2e1dd400ce4f4f6e8a9174574434dc93d7d",
+            "ffc4aa8b46fd3c25f765f7ad1f44474bd936f9edeb4a90e8b198215c3b743f17",
         );
         assert_eq!(res.unwrap(), Value::unit());
     }
diff --git a/src/human_encoding/parse/mod.rs b/src/human_encoding/parse/mod.rs
index c88d34cc..cef245d0 100644
--- a/src/human_encoding/parse/mod.rs
+++ b/src/human_encoding/parse/mod.rs
@@ -676,7 +676,7 @@ mod tests {
                 wits_are_equal := comp (pair wit1 wit2) jet_eq_32 : 1 -> 2
                 main := comp wits_are_equal jet_verify            : 1 -> 1
             ",
-            "2d170e731b6d6856e69f3c6ee04b368302f7f71b2270a26276d98ea494bbebd7",
+            "e398797db2b1c742dfa69a3925583e55e55a81a1e5150a0241a8d9e85e112475",
             &witness,
             &(),
         );
@@ -735,7 +735,7 @@ mod tests {
 
                 main := comp pr1 jt2       : 1 -> 1               -- 3f6422da
             ",
-           "70a617f32098132fe01ad5ff6748d3b94f803f4d851dd5764d99437c1b8dd7e8",
+           "e3b25e13f91fcbf95407f126b3aed5b4543399cb9c3d426fe98a10f8d33ef6c3",
             &signature,
             &dummy
         );
diff --git a/src/jet/elements/c_env.rs b/src/jet/elements/c_env.rs
index b5e8b342..23f3044d 100644
--- a/src/jet/elements/c_env.rs
+++ b/src/jet/elements/c_env.rs
@@ -14,7 +14,7 @@ use elements::{
 };
 use simplicity_sys::c_jets::c_env::{
     c_set_rawInput, c_set_rawOutput, c_set_rawTapEnv, c_set_rawTransaction, c_set_txEnv,
-    elements_simplicity_mallocTapEnv, elements_simplicity_mallocTransaction, CElementsTxEnv,
+    simplicity_elements_mallocTapEnv, simplicity_elements_mallocTransaction, CElementsTxEnv,
     CRawBuffer, CRawInput, CRawOutput, CRawTapEnv, CRawTransaction, CTapEnv, CTransaction,
     RawInputData, RawOutputData, RawTransactionData,
 };
@@ -152,7 +152,7 @@ pub(super) fn new_tx(tx: &elements::Transaction, in_utxos: &[ElementsUtxo]) -> *
             tx.lock_time.to_consensus_u32() as c_uint,
         );
         let raw_tx = raw_tx.assume_init();
-        elements_simplicity_mallocTransaction(&raw_tx)
+        simplicity_elements_mallocTransaction(&raw_tx)
     }
 }
 
@@ -167,7 +167,7 @@ pub(super) fn new_tap_env(control_block: &ControlBlock, script_cmr: Cmr) -> *mut
             script_cmr.as_ref().as_ptr(),
         );
         let raw_tap_env = raw_tap_env.assume_init();
-        elements_simplicity_mallocTapEnv(&raw_tap_env)
+        simplicity_elements_mallocTapEnv(&raw_tap_env)
     }
 }
 
diff --git a/src/jet/init/core.rs b/src/jet/init/core.rs
index 8d67d8ef..659d6dfc 100644
--- a/src/jet/init/core.rs
+++ b/src/jet/init/core.rs
@@ -395,99 +395,99 @@ impl Jet for Core {
     fn cmr(&self) -> Cmr {
         let bytes = match self {
             Core::Add16 => [
-                0x90, 0xe5, 0xc3, 0x02, 0xc2, 0xa1, 0x02, 0xf7, 0x6c, 0xc2, 0x0b, 0xcd, 0xdd, 0xc0,
-                0x62, 0x2b, 0xf3, 0xb8, 0xa5, 0x44, 0x6a, 0xb6, 0x8d, 0x1b, 0x2a, 0x03, 0x39, 0x5e,
-                0x6f, 0xae, 0x92, 0x50,
+                0xc4, 0xdd, 0x8c, 0x30, 0x97, 0xf9, 0x5b, 0xf9, 0x22, 0x9a, 0xf0, 0xc3, 0x48, 0x31,
+                0x70, 0x32, 0x3a, 0xa2, 0x70, 0xaf, 0x42, 0x8a, 0x72, 0x57, 0x18, 0x14, 0x3b, 0xb5,
+                0xfc, 0x80, 0x81, 0x1c,
             ],
             Core::Add32 => [
-                0x6d, 0x78, 0x30, 0xd6, 0x5e, 0x69, 0xf2, 0x7d, 0x55, 0x1c, 0x4b, 0xb3, 0x71, 0x8d,
-                0xa9, 0x35, 0x22, 0x2f, 0xae, 0xc4, 0xaf, 0x7f, 0x49, 0xe9, 0x5e, 0x98, 0x33, 0xed,
-                0x2f, 0x84, 0xc1, 0x06,
+                0xd9, 0x8c, 0x0f, 0x69, 0xf6, 0xb1, 0xd4, 0x35, 0x29, 0x4d, 0x97, 0x83, 0x5e, 0xac,
+                0x94, 0x01, 0x77, 0xa2, 0xfe, 0xaf, 0x0a, 0x6e, 0x9e, 0x47, 0x34, 0xc9, 0x12, 0x04,
+                0x8e, 0x9e, 0xee, 0x42,
             ],
             Core::Add64 => [
-                0x9e, 0xee, 0xbe, 0xa8, 0x47, 0x38, 0x8e, 0x14, 0xc7, 0xc9, 0xe7, 0xca, 0x14, 0x7c,
-                0x70, 0x71, 0x4d, 0xe1, 0x44, 0xeb, 0xab, 0x39, 0x8a, 0x53, 0xf4, 0xf5, 0x8a, 0x34,
-                0x93, 0x0c, 0xc4, 0x5c,
+                0xe6, 0x13, 0xeb, 0x03, 0x10, 0xa4, 0x4c, 0x22, 0xa6, 0x94, 0xee, 0x55, 0x49, 0x0d,
+                0xa4, 0xea, 0xe3, 0x88, 0x11, 0xbf, 0xf8, 0x4a, 0xa0, 0x21, 0x31, 0xd9, 0x8f, 0x49,
+                0x9d, 0x26, 0x1e, 0x71,
             ],
             Core::Add8 => [
-                0x37, 0x59, 0xb0, 0x40, 0x6a, 0xa2, 0xc4, 0xe1, 0x15, 0x26, 0x21, 0xe0, 0x11, 0xe4,
-                0xef, 0xdb, 0x55, 0x5c, 0x6a, 0xb6, 0xd9, 0x1a, 0xe9, 0xeb, 0xf1, 0xd6, 0x31, 0x5b,
-                0x43, 0x82, 0xa6, 0xc4,
+                0x4a, 0x1f, 0x50, 0x9e, 0x5d, 0xe5, 0xc3, 0x98, 0x5f, 0x76, 0xa0, 0xdb, 0x65, 0xb0,
+                0x4e, 0x06, 0x03, 0xbd, 0x0c, 0x1d, 0x9c, 0x5b, 0xbc, 0xb9, 0xa3, 0xec, 0x8e, 0x53,
+                0xa0, 0xba, 0x32, 0x97,
             ],
             Core::All16 => [
-                0x3e, 0x7e, 0x95, 0x3d, 0x28, 0xa6, 0xdc, 0x5e, 0xd7, 0xdf, 0xbd, 0x4c, 0x63, 0xf2,
-                0xe0, 0x80, 0x47, 0xc7, 0x1b, 0xb9, 0xc4, 0x37, 0xe8, 0xc7, 0x1e, 0xe0, 0x14, 0x7a,
-                0x60, 0xf7, 0x8b, 0xee,
+                0x13, 0xf6, 0xeb, 0xb8, 0xda, 0x74, 0x0d, 0xb8, 0x25, 0x92, 0x04, 0x68, 0x80, 0x2c,
+                0x4c, 0xf4, 0x12, 0x45, 0x01, 0x6b, 0xdf, 0x2f, 0xa0, 0x54, 0x8c, 0x86, 0xf4, 0x15,
+                0x83, 0x86, 0x6c, 0x73,
             ],
             Core::All32 => [
-                0x5d, 0xd0, 0x85, 0x16, 0x26, 0x03, 0x6c, 0xb6, 0xa4, 0x2a, 0xa9, 0x52, 0x93, 0xdb,
-                0xb8, 0xf3, 0x6e, 0xfe, 0x5e, 0x0e, 0xa5, 0x7a, 0x31, 0x08, 0x27, 0xfa, 0x6d, 0x79,
-                0x2f, 0x46, 0xe0, 0xc1,
+                0xbb, 0x51, 0x5d, 0x4a, 0x22, 0xf3, 0x24, 0x5e, 0xcf, 0x57, 0x50, 0x35, 0xed, 0x18,
+                0x7a, 0x03, 0x86, 0x14, 0x52, 0x4b, 0x35, 0xae, 0xd6, 0x44, 0x82, 0x46, 0x89, 0xde,
+                0x38, 0xa4, 0xa1, 0xe0,
             ],
             Core::All64 => [
-                0xba, 0xd0, 0x2f, 0xd1, 0x58, 0x90, 0x8a, 0x1b, 0xe0, 0x68, 0x72, 0x5e, 0xb0, 0x52,
-                0x76, 0xde, 0xfa, 0x41, 0x12, 0x07, 0xd0, 0xc8, 0xa9, 0x1b, 0xbe, 0x6f, 0xa5, 0x7d,
-                0x2c, 0xda, 0x29, 0xdf,
+                0xcd, 0x15, 0x1d, 0xe9, 0x17, 0x57, 0x56, 0x55, 0xa7, 0xa0, 0xf3, 0x5d, 0xa9, 0xcd,
+                0xaf, 0x6e, 0x2b, 0xbf, 0x8a, 0x8d, 0x4f, 0xce, 0xac, 0x68, 0xce, 0xe4, 0xb0, 0x08,
+                0xe6, 0x65, 0xbf, 0xc3,
             ],
             Core::All8 => [
-                0xdc, 0x09, 0x88, 0x54, 0xdd, 0x06, 0xae, 0x1e, 0x6e, 0x3e, 0x73, 0xa4, 0xae, 0x94,
-                0xd0, 0xb2, 0xac, 0xce, 0x5c, 0xb3, 0xec, 0xc1, 0x2e, 0x8c, 0xb8, 0x16, 0x7f, 0x7b,
-                0x6e, 0xaa, 0x40, 0x69,
+                0x0d, 0x3c, 0xbf, 0xc2, 0xcc, 0x2a, 0x9a, 0x06, 0x28, 0xa2, 0xff, 0x8a, 0xfc, 0x0a,
+                0x5f, 0x93, 0x17, 0x3e, 0xde, 0x4c, 0x23, 0x4c, 0x57, 0x21, 0x4c, 0x5d, 0x74, 0xaf,
+                0x6b, 0x87, 0x3c, 0xe9,
             ],
             Core::And1 => [
-                0x2d, 0xc2, 0xdb, 0xcc, 0x69, 0xc1, 0x2c, 0x78, 0x30, 0xdf, 0x11, 0x70, 0xd9, 0xe9,
-                0x3a, 0x35, 0xd8, 0x28, 0x4c, 0xc8, 0x15, 0x91, 0x6a, 0xeb, 0x3b, 0x1b, 0x95, 0xef,
-                0xda, 0xa9, 0x2c, 0x26,
+                0x56, 0xd1, 0xd4, 0xd6, 0xc1, 0xe1, 0x1f, 0x60, 0xd2, 0x96, 0x60, 0xb1, 0x81, 0xa1,
+                0x33, 0x5a, 0x4f, 0x51, 0x1d, 0x3b, 0x9c, 0x04, 0xa3, 0x33, 0xe9, 0xe0, 0x14, 0x18,
+                0xb0, 0xd1, 0x81, 0x8f,
             ],
             Core::And16 => [
-                0x4f, 0x42, 0xc6, 0x88, 0xcc, 0x3c, 0xeb, 0x76, 0x1f, 0x66, 0x2a, 0x0b, 0x8e, 0x77,
-                0xb1, 0x96, 0x42, 0xda, 0xb5, 0x40, 0x7d, 0x9a, 0x87, 0x3c, 0xd9, 0xc1, 0x86, 0x09,
-                0x97, 0x7e, 0xbd, 0x91,
+                0xd7, 0x7a, 0x11, 0x44, 0xc5, 0x2e, 0xd2, 0xb7, 0x69, 0x88, 0xdf, 0x9b, 0x29, 0xcd,
+                0x53, 0x97, 0x8c, 0x44, 0xc6, 0xd5, 0x40, 0xf4, 0xbc, 0x54, 0x56, 0xd0, 0xb3, 0xb5,
+                0x3c, 0xd4, 0x00, 0xe5,
             ],
             Core::And32 => [
-                0x16, 0x80, 0xcf, 0xd2, 0x64, 0x3a, 0xd3, 0x89, 0x6b, 0xfb, 0x45, 0xe9, 0x6f, 0xc6,
-                0x2d, 0xc2, 0xbb, 0x0c, 0xc0, 0xac, 0x48, 0x6f, 0xa8, 0x33, 0x30, 0xa8, 0x89, 0x0c,
-                0x09, 0xee, 0x96, 0x9b,
+                0x43, 0x82, 0xf9, 0x34, 0x33, 0x79, 0xd4, 0x42, 0x2e, 0x2a, 0x01, 0x51, 0x04, 0xcf,
+                0x55, 0xdc, 0x54, 0xa8, 0xf7, 0x1e, 0xef, 0xb0, 0x62, 0x29, 0x26, 0xd6, 0x4b, 0x6c,
+                0xe2, 0x2b, 0xea, 0x11,
             ],
             Core::And64 => [
-                0xa2, 0xdd, 0x3d, 0x49, 0xf1, 0x2c, 0xd4, 0x42, 0xce, 0xa7, 0xc8, 0x32, 0x38, 0x68,
-                0xbe, 0x3c, 0xe6, 0xe9, 0xaf, 0x67, 0x6f, 0x72, 0x51, 0x10, 0xf3, 0xce, 0x49, 0x4e,
-                0xdd, 0x6a, 0x5a, 0x4a,
+                0x3e, 0xb8, 0xb4, 0x2d, 0x81, 0x5f, 0x0f, 0xc3, 0x9a, 0x34, 0x99, 0xb0, 0x35, 0x4e,
+                0xfd, 0x05, 0xa6, 0x03, 0xf5, 0xef, 0x5e, 0x51, 0x17, 0x66, 0xc0, 0x11, 0x2c, 0xc1,
+                0x48, 0xe2, 0x11, 0x55,
             ],
             Core::And8 => [
-                0x27, 0x55, 0x41, 0x78, 0x19, 0x86, 0x58, 0xf5, 0xbf, 0xb5, 0xb0, 0x41, 0x30, 0x89,
-                0x87, 0x42, 0xbf, 0x82, 0xdb, 0x60, 0x39, 0xdc, 0xbb, 0x17, 0x26, 0x6d, 0xfe, 0x03,
-                0x0c, 0xc1, 0x20, 0x75,
+                0x0e, 0x0e, 0xe0, 0x7c, 0x74, 0x9a, 0x3f, 0xa7, 0x12, 0x96, 0xb9, 0xd4, 0x59, 0xb0,
+                0x6a, 0x0a, 0x4b, 0xff, 0xb7, 0xf5, 0xbb, 0x99, 0xa9, 0x25, 0x4a, 0x7d, 0x13, 0xa8,
+                0xce, 0x44, 0x4c, 0xd7,
             ],
             Core::Bip0340Verify => [
-                0x3a, 0x19, 0x6e, 0xc1, 0x9d, 0x8f, 0x3f, 0xcc, 0x67, 0xb0, 0xad, 0x8f, 0x61, 0x1e,
-                0x76, 0x2d, 0xc1, 0x18, 0x9a, 0x72, 0x2f, 0xaa, 0x74, 0x5b, 0x69, 0x4d, 0x29, 0x2c,
-                0x47, 0x37, 0x3f, 0x53,
+                0x08, 0x73, 0xc4, 0xd7, 0xb8, 0x99, 0x8b, 0x2b, 0x6b, 0x8e, 0x43, 0xee, 0x4a, 0xc0,
+                0xc2, 0xc7, 0xad, 0x25, 0xb3, 0x60, 0x0e, 0x34, 0x2b, 0x20, 0x1d, 0x46, 0x00, 0x1b,
+                0x76, 0xc0, 0x56, 0x7f,
             ],
             Core::Ch1 => [
-                0xc2, 0x32, 0x36, 0x12, 0x4d, 0xa0, 0x1f, 0x3d, 0x8e, 0xb7, 0x42, 0xc2, 0xed, 0x47,
-                0x95, 0x3f, 0x66, 0xc8, 0xb0, 0x84, 0xd9, 0x5a, 0x10, 0xc6, 0x0c, 0xae, 0x69, 0xba,
-                0x98, 0x42, 0xae, 0x96,
+                0x29, 0x7c, 0x25, 0x1a, 0xfe, 0x74, 0x1b, 0x19, 0x22, 0xa2, 0x12, 0xe3, 0x93, 0xd3,
+                0xd3, 0xb1, 0xc3, 0x2e, 0x6b, 0x33, 0xee, 0x2c, 0xfd, 0x5e, 0xfa, 0xe3, 0xfb, 0x1a,
+                0xbe, 0x59, 0x51, 0x13,
             ],
             Core::Ch16 => [
-                0xdc, 0xcd, 0xe6, 0xa9, 0x54, 0x58, 0x75, 0xc5, 0xcb, 0x46, 0xe7, 0x2c, 0x7b, 0x04,
-                0xce, 0xeb, 0x92, 0x0c, 0x20, 0x3d, 0x1c, 0x04, 0x2a, 0xec, 0x91, 0x24, 0x1d, 0xbe,
-                0xca, 0x23, 0xf4, 0x35,
+                0x81, 0xd3, 0x38, 0x86, 0xb5, 0x25, 0xe7, 0xf2, 0x80, 0x19, 0xd4, 0x44, 0xd4, 0xd4,
+                0xb4, 0x22, 0x76, 0xd3, 0x3f, 0xa9, 0x7b, 0x91, 0x7a, 0xdb, 0xef, 0x4a, 0x88, 0x11,
+                0x3e, 0xa6, 0x71, 0x1e,
             ],
             Core::Ch32 => [
-                0x8c, 0x0a, 0x87, 0xee, 0x8e, 0x1d, 0xfc, 0xa3, 0x4b, 0xdf, 0xf4, 0x21, 0x2b, 0xa1,
-                0xaf, 0x75, 0x44, 0xd2, 0xde, 0x6f, 0x4a, 0xcb, 0x76, 0x18, 0x08, 0x23, 0x1a, 0x5f,
-                0x57, 0x78, 0x8e, 0x62,
+                0x77, 0x00, 0x22, 0x00, 0xec, 0xac, 0x62, 0xe7, 0x65, 0xc0, 0x55, 0xb5, 0x0b, 0xd2,
+                0x25, 0xa8, 0x54, 0xcd, 0xa3, 0x18, 0x07, 0x1b, 0x2e, 0x70, 0xea, 0x30, 0xde, 0x9d,
+                0x1e, 0x32, 0x19, 0xaa,
             ],
             Core::Ch64 => [
-                0x5d, 0x5a, 0xe5, 0x7d, 0x76, 0x47, 0xf0, 0x1e, 0xc3, 0xfd, 0x79, 0x7e, 0xd8, 0x9d,
-                0x62, 0xbe, 0x5f, 0xe5, 0x85, 0xfb, 0xb9, 0xfd, 0xb6, 0xc3, 0x20, 0x8b, 0x2c, 0x08,
-                0x57, 0x9b, 0x9e, 0x2c,
+                0xe9, 0x7c, 0xdd, 0x2a, 0x47, 0xac, 0xf4, 0x0b, 0xe6, 0x87, 0x2a, 0x57, 0x4b, 0xba,
+                0xdb, 0x5d, 0xb5, 0x1b, 0xac, 0x1a, 0xd9, 0xcf, 0x63, 0xe7, 0xd8, 0x4c, 0x3b, 0x2f,
+                0xb9, 0xab, 0x6d, 0xdb,
             ],
             Core::Ch8 => [
-                0xdf, 0xc5, 0x78, 0xf2, 0x5c, 0xb3, 0x14, 0x02, 0xe2, 0x2a, 0x81, 0x0e, 0x98, 0x95,
-                0x0a, 0xe1, 0x7b, 0x19, 0x08, 0x96, 0x36, 0x4c, 0xde, 0xe8, 0xee, 0xa3, 0x00, 0xcf,
-                0x79, 0xd8, 0x78, 0x01,
+                0x5b, 0xc6, 0x77, 0x08, 0x75, 0x1e, 0x96, 0x79, 0x13, 0xfb, 0x75, 0xfc, 0x25, 0x76,
+                0xa0, 0x80, 0x70, 0x0c, 0x67, 0xf1, 0x2c, 0x36, 0x3b, 0xa0, 0x19, 0x17, 0x51, 0x3e,
+                0x6c, 0x78, 0x14, 0x57,
             ],
             Core::CheckSigVerify => [
                 0xa5, 0x16, 0xdd, 0x5c, 0x9c, 0xab, 0xd0, 0x41, 0x12, 0x0e, 0xa3, 0x68, 0xab, 0x4c,
@@ -495,1739 +495,1739 @@ impl Jet for Core {
                 0x2f, 0x16, 0x83, 0x29,
             ],
             Core::Complement1 => [
-                0x7e, 0x71, 0x48, 0x13, 0x2e, 0x28, 0x92, 0x82, 0x3f, 0xcf, 0x2a, 0x26, 0xc6, 0x22,
-                0x0b, 0xee, 0x03, 0x9f, 0xf6, 0xc5, 0xd7, 0xc1, 0xb4, 0xe4, 0xca, 0x21, 0x3a, 0xd8,
-                0x37, 0xab, 0x47, 0x74,
+                0x9e, 0xa1, 0xeb, 0xfb, 0xbf, 0x07, 0x3b, 0xf0, 0xc3, 0x12, 0x66, 0x03, 0x74, 0x9c,
+                0x6c, 0x1f, 0x15, 0x05, 0x03, 0x9e, 0xab, 0x4f, 0x26, 0x64, 0x3f, 0x03, 0x30, 0xd4,
+                0x8b, 0xd6, 0x84, 0x94,
             ],
             Core::Complement16 => [
-                0x7f, 0x16, 0xd1, 0x24, 0x15, 0x99, 0x87, 0x68, 0x34, 0x7f, 0x43, 0xa9, 0xb9, 0x1c,
-                0x89, 0x87, 0x59, 0x1d, 0xfe, 0xc1, 0xcf, 0x78, 0x50, 0xb4, 0x23, 0xfe, 0xa3, 0x3a,
-                0x37, 0x26, 0xf4, 0x63,
+                0x7d, 0xa0, 0xcc, 0x5e, 0x1f, 0x55, 0x03, 0x6c, 0x08, 0x64, 0x6d, 0xbb, 0x37, 0x55,
+                0x7a, 0xd9, 0x03, 0x38, 0x63, 0x05, 0x9d, 0xfb, 0xf3, 0x4a, 0x19, 0xf2, 0x28, 0xe8,
+                0x96, 0xd6, 0x4c, 0x0f,
             ],
             Core::Complement32 => [
-                0xe6, 0x5a, 0x4f, 0x75, 0x54, 0x11, 0xb4, 0x80, 0xb8, 0x05, 0x85, 0xfd, 0xc0, 0x2e,
-                0xe2, 0x4c, 0xbb, 0xd9, 0x50, 0x2a, 0x48, 0xa7, 0x34, 0x7a, 0x71, 0x02, 0x94, 0xe7,
-                0x82, 0xac, 0xff, 0xba,
+                0x54, 0x18, 0xc4, 0x64, 0xe4, 0x94, 0x97, 0x21, 0x63, 0xa3, 0x35, 0x3b, 0x81, 0x17,
+                0xe6, 0xe7, 0x67, 0x49, 0x13, 0x48, 0xc0, 0x76, 0x3f, 0x96, 0x22, 0x74, 0x4a, 0x83,
+                0x08, 0x2e, 0xf8, 0x41,
             ],
             Core::Complement64 => [
-                0xd5, 0xc6, 0x57, 0x13, 0x8a, 0x6c, 0xf5, 0x53, 0x22, 0xc3, 0x6e, 0x6f, 0x3c, 0x4a,
-                0x0f, 0x9f, 0xb6, 0x39, 0x88, 0xa1, 0x12, 0x0d, 0x6e, 0xeb, 0x03, 0xfc, 0x42, 0x7c,
-                0xad, 0x97, 0x18, 0x69,
+                0x00, 0x4e, 0xb9, 0xed, 0x9c, 0x10, 0xa4, 0xa5, 0xa8, 0x97, 0x94, 0x8e, 0x54, 0x1d,
+                0x36, 0xdc, 0x1f, 0xb6, 0x50, 0xc8, 0xda, 0x72, 0x6f, 0x8d, 0xd1, 0x97, 0xce, 0x8c,
+                0x74, 0x41, 0xf7, 0x08,
             ],
             Core::Complement8 => [
-                0x1f, 0x5c, 0x6a, 0xb4, 0x1d, 0x40, 0x6b, 0xad, 0xfc, 0x9d, 0x5a, 0x2c, 0x76, 0xbe,
-                0xf7, 0xe3, 0x28, 0x7a, 0xab, 0xee, 0x19, 0xd0, 0x85, 0x0f, 0x09, 0x38, 0x98, 0x46,
-                0xea, 0xbf, 0x45, 0x8e,
+                0x94, 0x76, 0xd5, 0x1d, 0x6b, 0x1b, 0xe4, 0x4d, 0xcf, 0xf2, 0x19, 0x47, 0xd5, 0xbf,
+                0x54, 0x0a, 0x66, 0x61, 0x6f, 0xf7, 0xb9, 0x32, 0x8a, 0x67, 0xf5, 0xb8, 0x3a, 0x2f,
+                0x6f, 0x06, 0xf0, 0x2c,
             ],
             Core::Decompress => [
-                0xa4, 0x3c, 0x39, 0x26, 0x7f, 0xac, 0xd1, 0xe2, 0xb6, 0xd4, 0x2c, 0x76, 0x15, 0xad,
-                0x3f, 0x28, 0x68, 0x63, 0x75, 0x72, 0xf4, 0x6e, 0x18, 0x79, 0x4e, 0x34, 0x75, 0xb9,
-                0xb2, 0xea, 0xef, 0x84,
+                0xca, 0xbe, 0x59, 0x5c, 0xb7, 0xbb, 0xb3, 0xa1, 0x39, 0xa7, 0x79, 0x6e, 0x43, 0x3a,
+                0xd0, 0xb6, 0xc7, 0x4d, 0x07, 0x3f, 0x00, 0x1e, 0x8c, 0x08, 0x0c, 0x80, 0x0a, 0x78,
+                0x2c, 0x7e, 0x79, 0x04,
             ],
             Core::Decrement16 => [
-                0x19, 0x6b, 0x2d, 0xc6, 0x32, 0xe6, 0xc5, 0xd0, 0x94, 0xff, 0x9d, 0x34, 0xa2, 0x09,
-                0x2b, 0x80, 0x5e, 0x4b, 0x94, 0xd0, 0x36, 0xba, 0x48, 0x26, 0xac, 0xef, 0xed, 0x60,
-                0x3a, 0x48, 0x9d, 0xc7,
+                0x25, 0x04, 0x10, 0x1b, 0x7d, 0xa5, 0xce, 0x31, 0x17, 0x43, 0xcf, 0x5b, 0x3a, 0x7a,
+                0x6b, 0xb9, 0xd5, 0x7c, 0x24, 0xae, 0xbb, 0xb6, 0x76, 0x62, 0xd5, 0x3c, 0xda, 0x2c,
+                0x9a, 0xc2, 0x70, 0x0c,
             ],
             Core::Decrement32 => [
-                0x29, 0xb3, 0x15, 0x92, 0x66, 0xe9, 0xf6, 0x08, 0x80, 0x88, 0x4f, 0x6e, 0xb2, 0x81,
-                0x6f, 0x19, 0xa2, 0x07, 0x29, 0x1c, 0x82, 0x9f, 0xd1, 0x39, 0xfb, 0x0d, 0x78, 0xa3,
-                0x9e, 0x08, 0xd0, 0xc5,
+                0x4a, 0xec, 0x41, 0x05, 0x53, 0x1f, 0x24, 0x57, 0x10, 0xac, 0xb3, 0xc3, 0x30, 0xad,
+                0x25, 0xfb, 0x29, 0x01, 0xb3, 0x54, 0x83, 0xef, 0xbd, 0xca, 0x52, 0xe1, 0x91, 0x79,
+                0xa4, 0x26, 0x2c, 0x5b,
             ],
             Core::Decrement64 => [
-                0x67, 0x17, 0x5a, 0x67, 0x6d, 0xc1, 0x78, 0x0a, 0x20, 0xfa, 0xf5, 0xe5, 0xaa, 0xd5,
-                0x82, 0xec, 0x79, 0x7b, 0xae, 0xa5, 0x5f, 0x29, 0x05, 0xec, 0xad, 0x2a, 0xaa, 0x1a,
-                0xe7, 0x6b, 0xe9, 0x43,
+                0x98, 0x3a, 0xcb, 0x90, 0x6d, 0xe7, 0xbb, 0xf8, 0x31, 0xde, 0xa5, 0x62, 0x75, 0xf0,
+                0x85, 0xfd, 0x5a, 0xcd, 0xdc, 0x51, 0x9b, 0x64, 0x8f, 0x3e, 0x10, 0xe3, 0x21, 0x2d,
+                0x0d, 0x6d, 0xcd, 0x74,
             ],
             Core::Decrement8 => [
-                0x2b, 0x59, 0x11, 0xe6, 0x67, 0xe6, 0x96, 0xf9, 0xcd, 0x03, 0xe9, 0xdf, 0x7d, 0x40,
-                0x0a, 0x55, 0x45, 0xe7, 0xe9, 0x74, 0x4a, 0xfb, 0xf9, 0x2e, 0x0b, 0xa8, 0x7f, 0x6c,
-                0x7c, 0xc4, 0x42, 0x87,
+                0xa7, 0x5b, 0x1c, 0x5d, 0x93, 0xfe, 0x91, 0xe2, 0xc9, 0xef, 0xd3, 0x24, 0x24, 0x0c,
+                0x84, 0xfe, 0xe4, 0x73, 0x32, 0xd1, 0x21, 0x42, 0x39, 0xc8, 0x7f, 0x5a, 0xfb, 0xcb,
+                0x69, 0x12, 0x8c, 0x31,
             ],
             Core::DivMod128_64 => [
-                0x1e, 0xe3, 0xe6, 0x0f, 0x5c, 0x9e, 0x4f, 0x0d, 0x3e, 0xc9, 0xeb, 0xea, 0x36, 0x98,
-                0xec, 0xa8, 0xbd, 0x32, 0xac, 0x16, 0x7e, 0x69, 0xb2, 0x96, 0xab, 0x9c, 0x18, 0x36,
-                0xb6, 0x10, 0x1d, 0x04,
+                0xe1, 0xfb, 0x88, 0x1f, 0x23, 0xbd, 0xc5, 0x7f, 0x84, 0x23, 0xc6, 0x1c, 0xfe, 0x62,
+                0x23, 0x91, 0x5c, 0x76, 0xeb, 0x2f, 0x52, 0x5c, 0x41, 0xe2, 0xa2, 0x22, 0x1c, 0x78,
+                0xb7, 0xff, 0xaf, 0xb7,
             ],
             Core::DivMod16 => [
-                0x15, 0x85, 0xd1, 0xbf, 0xe9, 0x52, 0xf7, 0x1b, 0x1c, 0xfe, 0xbb, 0xef, 0x29, 0x2c,
-                0xed, 0x56, 0x60, 0x91, 0x57, 0x23, 0x05, 0x18, 0x27, 0x20, 0x62, 0x5a, 0x1a, 0xc0,
-                0x08, 0x81, 0xa4, 0x89,
+                0x6e, 0x04, 0xad, 0x32, 0x8f, 0xba, 0x2d, 0x24, 0xef, 0xad, 0x2c, 0xb4, 0x0b, 0xca,
+                0xd8, 0x24, 0x42, 0xce, 0x35, 0xb1, 0x2f, 0xcf, 0x6f, 0x80, 0x02, 0x2f, 0x52, 0xfa,
+                0x77, 0x18, 0xa0, 0xfa,
             ],
             Core::DivMod32 => [
-                0xba, 0xb7, 0xbc, 0x9a, 0x9f, 0x64, 0x4e, 0xdc, 0xba, 0x73, 0xe3, 0x30, 0xc1, 0xa5,
-                0x05, 0x43, 0x67, 0xf5, 0xfb, 0x86, 0x78, 0xc1, 0x23, 0x6a, 0xb6, 0xe7, 0xf4, 0xd7,
-                0x18, 0x60, 0xe0, 0x02,
+                0x5a, 0x5c, 0xc9, 0x4f, 0x74, 0xb3, 0x13, 0xc2, 0x60, 0xa1, 0x0e, 0x2a, 0x28, 0xdb,
+                0x2e, 0xa0, 0xf8, 0xc3, 0x41, 0x56, 0x23, 0xda, 0xc2, 0x12, 0xdf, 0xe0, 0xef, 0x9d,
+                0x19, 0x5f, 0x9d, 0x05,
             ],
             Core::DivMod64 => [
-                0x8d, 0xb4, 0x66, 0x4d, 0x99, 0xe8, 0xc8, 0x78, 0xef, 0x31, 0xeb, 0xf1, 0xac, 0xa6,
-                0xa8, 0x76, 0x4b, 0x58, 0x49, 0x5d, 0xa0, 0xec, 0xc0, 0x32, 0xb3, 0xc9, 0xb4, 0x89,
-                0xaa, 0xa0, 0xff, 0x90,
+                0xef, 0xb5, 0xaf, 0x40, 0x15, 0x4a, 0x2d, 0x63, 0xda, 0x28, 0x5f, 0x2a, 0x2b, 0x5a,
+                0xd0, 0x85, 0xd9, 0xa2, 0xfa, 0x63, 0x3f, 0x2a, 0x73, 0x62, 0x83, 0x40, 0x48, 0x54,
+                0x30, 0x6c, 0xef, 0x50,
             ],
             Core::DivMod8 => [
-                0x25, 0xf3, 0x69, 0x4b, 0x75, 0x2e, 0x4d, 0xf1, 0xb0, 0xcc, 0x8c, 0x51, 0xbf, 0x99,
-                0x17, 0xef, 0x6e, 0x11, 0xc5, 0x2e, 0xa7, 0x77, 0x35, 0x3e, 0x95, 0x07, 0xe8, 0x19,
-                0xa8, 0x06, 0x62, 0x95,
+                0xaf, 0xfb, 0x7a, 0xb0, 0x1d, 0x9a, 0xdf, 0x1a, 0xf4, 0x5c, 0x9a, 0x0e, 0x59, 0x8d,
+                0x54, 0xa5, 0xeb, 0x29, 0xa6, 0xd6, 0x3f, 0x05, 0x94, 0xdc, 0x62, 0x4f, 0x8e, 0x44,
+                0x6f, 0x42, 0xa4, 0x5d,
             ],
             Core::Divide16 => [
-                0x2d, 0xc3, 0xe9, 0xa9, 0xc6, 0x1d, 0xc8, 0x8d, 0xd7, 0x44, 0xf1, 0x6b, 0xe1, 0xae,
-                0xd4, 0xb7, 0x2a, 0xb4, 0x79, 0x49, 0x0e, 0x41, 0x42, 0x26, 0x58, 0xb9, 0x72, 0x19,
-                0xdf, 0x49, 0x95, 0x7c,
+                0x98, 0xf1, 0xf9, 0x26, 0x0d, 0xf1, 0xd9, 0xe9, 0x72, 0x9d, 0x03, 0x7d, 0x8f, 0x30,
+                0x53, 0x7e, 0xde, 0x60, 0x9c, 0x5a, 0xb9, 0x46, 0x32, 0x70, 0x70, 0x89, 0x2c, 0xc4,
+                0x0d, 0x42, 0x0a, 0xaa,
             ],
             Core::Divide32 => [
-                0xf6, 0xdc, 0xf4, 0xbd, 0x8d, 0x9b, 0x5e, 0xff, 0x75, 0x1e, 0x9b, 0x01, 0x47, 0xa9,
-                0x8e, 0x0f, 0xc4, 0xc8, 0x87, 0x2c, 0x1a, 0xb7, 0x82, 0xd1, 0xeb, 0xec, 0x63, 0x83,
-                0xa0, 0x9b, 0x78, 0x0a,
+                0x20, 0x18, 0x03, 0x03, 0x0c, 0xc9, 0x87, 0x7d, 0x34, 0x96, 0xe9, 0xe1, 0xbf, 0xd5,
+                0xae, 0x32, 0x8a, 0x50, 0x62, 0xe3, 0xc0, 0x23, 0x70, 0x03, 0x1a, 0xe1, 0xad, 0xdf,
+                0xef, 0x93, 0x81, 0x55,
             ],
             Core::Divide64 => [
-                0x8a, 0x94, 0x51, 0x8b, 0x9b, 0x76, 0x17, 0x9a, 0x9d, 0x5c, 0x1e, 0x31, 0x6e, 0x69,
-                0x00, 0x62, 0x7f, 0x5b, 0x6e, 0x3e, 0xcc, 0x66, 0x8f, 0xe2, 0xd0, 0xc5, 0xd5, 0x62,
-                0x38, 0xe3, 0x3e, 0xa3,
+                0x02, 0xbf, 0x0b, 0x2a, 0x31, 0x79, 0x6c, 0x47, 0x5a, 0xf1, 0xfd, 0x0f, 0xb8, 0xed,
+                0xaf, 0xed, 0x4f, 0x4e, 0x7a, 0xe1, 0xec, 0xf8, 0xce, 0xc9, 0xf4, 0x22, 0x96, 0x4e,
+                0x09, 0x03, 0x03, 0x6f,
             ],
             Core::Divide8 => [
-                0xd7, 0x16, 0x00, 0x0c, 0xe7, 0xe5, 0x72, 0x78, 0x84, 0xa6, 0xd7, 0x97, 0x6a, 0x32,
-                0xc0, 0xf6, 0xbd, 0xb8, 0x81, 0xd0, 0x0f, 0xe8, 0xdb, 0xb2, 0x8d, 0xea, 0x37, 0x01,
-                0x03, 0x76, 0x9e, 0x2d,
+                0xc0, 0x2e, 0xc4, 0x80, 0xbf, 0x0b, 0x59, 0x58, 0x6e, 0x39, 0x4a, 0xdb, 0x2c, 0x91,
+                0xca, 0xda, 0x14, 0xed, 0x79, 0xa7, 0x9e, 0x0e, 0x39, 0x19, 0xe7, 0x66, 0x74, 0x92,
+                0xcb, 0xf2, 0x47, 0x38,
             ],
             Core::Divides16 => [
-                0x8f, 0x41, 0x84, 0xa5, 0x82, 0x67, 0x4e, 0x00, 0x3b, 0x37, 0x40, 0x1b, 0x13, 0xc9,
-                0xb8, 0xc3, 0x7c, 0x68, 0x3b, 0x88, 0xdf, 0x63, 0x3a, 0x22, 0x71, 0x9a, 0x23, 0xe1,
-                0x94, 0xbd, 0xa6, 0xf3,
+                0xde, 0x9a, 0x8e, 0x43, 0x53, 0xa4, 0x0d, 0x70, 0x78, 0x11, 0x96, 0x47, 0x05, 0x90,
+                0x62, 0x73, 0x0c, 0xf8, 0x36, 0xf5, 0x47, 0xa0, 0x95, 0x2d, 0x07, 0x0a, 0x27, 0x48,
+                0x0c, 0x74, 0x39, 0xb1,
             ],
             Core::Divides32 => [
-                0xe8, 0x9e, 0xcd, 0xc3, 0x7c, 0xd1, 0x04, 0x66, 0xb0, 0x0f, 0x01, 0x37, 0xe2, 0x0b,
-                0x09, 0xb9, 0xc5, 0x94, 0x8d, 0x07, 0x31, 0x2d, 0x05, 0x3f, 0xed, 0x63, 0xc4, 0x91,
-                0xbb, 0x5c, 0x4c, 0x6a,
+                0x72, 0xc7, 0x14, 0x8b, 0xc0, 0x01, 0x4a, 0x1b, 0xbf, 0x0e, 0x2b, 0x7d, 0xc9, 0xab,
+                0xa4, 0xd0, 0x62, 0x04, 0x17, 0x38, 0x36, 0x71, 0x88, 0x13, 0x20, 0x3e, 0x55, 0xa0,
+                0x7f, 0x4c, 0xa3, 0x7d,
             ],
             Core::Divides64 => [
-                0xb4, 0x31, 0x98, 0xd5, 0x74, 0x41, 0x90, 0x57, 0xe7, 0x6b, 0xc0, 0x69, 0xd7, 0xd3,
-                0xe2, 0xcb, 0x04, 0xf7, 0x07, 0x2b, 0x80, 0x69, 0x6d, 0x3d, 0xb9, 0x2c, 0x8a, 0x72,
-                0xc7, 0x8a, 0x5c, 0xfc,
+                0xdb, 0x1c, 0x8c, 0xb5, 0x3a, 0xc1, 0xea, 0x8c, 0xcf, 0x64, 0x6d, 0x03, 0xe3, 0xd5,
+                0x9b, 0xde, 0x27, 0x75, 0xf5, 0x8d, 0x95, 0xbf, 0xe7, 0x1a, 0x87, 0x0d, 0x67, 0x8d,
+                0xd8, 0xdb, 0xc9, 0x31,
             ],
             Core::Divides8 => [
-                0x3f, 0xc3, 0xb9, 0xb4, 0x96, 0x8e, 0x16, 0x74, 0xda, 0x9e, 0xc4, 0x57, 0xb1, 0xca,
-                0x8a, 0x66, 0x29, 0xa3, 0x7b, 0x4b, 0xef, 0xdc, 0xd7, 0xcc, 0x55, 0x88, 0x60, 0x80,
-                0xae, 0xf6, 0x8a, 0xf8,
+                0xc5, 0x4a, 0x5b, 0xf8, 0x33, 0xaf, 0xab, 0xa3, 0x1a, 0x34, 0x89, 0xbd, 0x8d, 0xe8,
+                0xff, 0x81, 0xe7, 0xdc, 0x11, 0xfc, 0xbd, 0xe8, 0x2a, 0x0d, 0x28, 0xe1, 0x09, 0x22,
+                0x42, 0x94, 0xb8, 0x37,
             ],
             Core::Eq1 => [
-                0x42, 0x49, 0xc5, 0xbd, 0xec, 0x54, 0x0a, 0x06, 0x95, 0x7d, 0xcd, 0xab, 0x04, 0x5a,
-                0x44, 0x5e, 0xb9, 0x18, 0x91, 0xc0, 0x6c, 0x3f, 0x8f, 0x96, 0xc8, 0x88, 0xe9, 0xdd,
-                0xd2, 0xfb, 0xaa, 0x28,
+                0x8c, 0xe1, 0x46, 0xaf, 0xbc, 0x2b, 0x64, 0xcb, 0x54, 0x9b, 0x16, 0x0c, 0x2c, 0xf7,
+                0xc9, 0x49, 0x64, 0xab, 0x93, 0x1a, 0xd9, 0xc3, 0x92, 0x76, 0xc7, 0xf2, 0x04, 0xee,
+                0x34, 0xa5, 0x1e, 0x65,
             ],
             Core::Eq16 => [
-                0xab, 0x31, 0xa7, 0x97, 0x4a, 0xcb, 0xf7, 0x2a, 0xb2, 0xf2, 0x1b, 0xf5, 0x3f, 0xec,
-                0x34, 0x6a, 0x28, 0xe6, 0xe6, 0x5e, 0x4c, 0x05, 0xe3, 0xe7, 0x84, 0x3e, 0x14, 0x73,
-                0xb1, 0xfd, 0x3f, 0xf9,
+                0x24, 0xf1, 0xac, 0xb6, 0xd1, 0x6b, 0x3b, 0xe5, 0xde, 0x47, 0xfe, 0x83, 0x43, 0x28,
+                0xfb, 0x51, 0x04, 0x95, 0xfb, 0xba, 0x72, 0xcd, 0x1d, 0xc8, 0x9a, 0x33, 0x98, 0x3f,
+                0x8c, 0x87, 0x33, 0xed,
             ],
             Core::Eq256 => [
-                0xf7, 0xdf, 0x29, 0xed, 0x2d, 0x00, 0x78, 0x22, 0x7e, 0x71, 0x9b, 0x7d, 0x13, 0x37,
-                0xdb, 0xea, 0x3a, 0x71, 0x0f, 0x58, 0x4a, 0x4b, 0x07, 0xf0, 0xf2, 0x65, 0x4a, 0x44,
-                0x65, 0x54, 0xf2, 0xbe,
+                0xf3, 0x2e, 0x9b, 0x6c, 0x91, 0x2c, 0x50, 0xdd, 0x9a, 0x24, 0x10, 0xc8, 0x02, 0x4b,
+                0x45, 0x48, 0x07, 0x07, 0xd9, 0xb3, 0x71, 0x4b, 0x52, 0x49, 0xc5, 0xf3, 0x01, 0xf2,
+                0x1d, 0xb3, 0xe6, 0x2b,
             ],
             Core::Eq32 => [
-                0x76, 0x79, 0x1f, 0x0d, 0xdd, 0xab, 0x9d, 0xc7, 0x7a, 0x14, 0xa6, 0x8c, 0xc6, 0x77,
-                0x87, 0xc9, 0x84, 0x49, 0x3f, 0xae, 0xbb, 0xdb, 0xb6, 0xd6, 0xd4, 0x93, 0x35, 0x2e,
-                0x11, 0x47, 0x20, 0xd5,
+                0x03, 0x43, 0x57, 0x56, 0xec, 0x24, 0x4c, 0x99, 0xff, 0x73, 0x32, 0x21, 0x57, 0xc2,
+                0x6c, 0x36, 0x6b, 0xf5, 0x2e, 0xfb, 0x31, 0x4d, 0xce, 0x0c, 0x23, 0x61, 0xdd, 0x53,
+                0x49, 0x1a, 0xa4, 0xbe,
             ],
             Core::Eq64 => [
-                0x01, 0x1b, 0x5f, 0x4c, 0xb3, 0x1f, 0x34, 0xba, 0x15, 0x8a, 0x68, 0x22, 0x3b, 0x34,
-                0x44, 0x5e, 0x93, 0xf3, 0xdc, 0x18, 0x91, 0xb5, 0x33, 0x90, 0x04, 0x92, 0x3d, 0xcf,
-                0xab, 0xe0, 0x34, 0xc1,
+                0x7d, 0xa4, 0x67, 0x58, 0x80, 0x60, 0x93, 0x66, 0xd7, 0x4d, 0x53, 0x0c, 0xa1, 0x64,
+                0xa0, 0xe0, 0x9a, 0xc9, 0xce, 0x76, 0xf4, 0xf9, 0xe9, 0x43, 0x22, 0x06, 0x3c, 0xb3,
+                0x26, 0xfe, 0xf6, 0xbb,
             ],
             Core::Eq8 => [
-                0x0f, 0x8b, 0x1f, 0xde, 0x19, 0x49, 0xbe, 0xbd, 0x47, 0xd2, 0x55, 0x4a, 0x48, 0x07,
-                0xfd, 0x8d, 0xca, 0xef, 0x87, 0x30, 0x18, 0x38, 0xd6, 0x0e, 0x84, 0xc7, 0x38, 0x14,
-                0x42, 0xda, 0x7e, 0xce,
+                0x9b, 0x50, 0xfe, 0x9d, 0x35, 0xb1, 0x0a, 0x3d, 0xb8, 0x66, 0x31, 0x1c, 0x53, 0x71,
+                0x35, 0xd0, 0x80, 0xe4, 0x61, 0x43, 0x68, 0xdb, 0x28, 0x84, 0x33, 0xd8, 0xbc, 0x64,
+                0x9b, 0x9f, 0x86, 0x62,
             ],
             Core::FeAdd => [
-                0xa5, 0xe9, 0x21, 0xd4, 0xd2, 0x95, 0x9a, 0xf7, 0x83, 0x3d, 0xf9, 0x30, 0x83, 0x68,
-                0x98, 0x57, 0x32, 0xab, 0x0f, 0x33, 0xba, 0xd8, 0xaa, 0x34, 0x5b, 0x39, 0xf3, 0x03,
-                0x03, 0x2b, 0xe7, 0xae,
+                0xac, 0xad, 0xfc, 0xf4, 0x80, 0x56, 0x26, 0xe3, 0x74, 0x59, 0x0f, 0x33, 0xca, 0xd7,
+                0xa9, 0x83, 0xa7, 0x32, 0x0a, 0xc8, 0x1c, 0xed, 0x3d, 0x02, 0x54, 0xdc, 0x97, 0xe3,
+                0xa2, 0x53, 0x5a, 0x82,
             ],
             Core::FeInvert => [
-                0x21, 0xf4, 0x29, 0x56, 0x9d, 0x78, 0xe0, 0x9f, 0xb2, 0x90, 0x13, 0xef, 0x8a, 0x16,
-                0xc7, 0x55, 0x0e, 0xdc, 0x4e, 0x19, 0x05, 0x25, 0x71, 0x5a, 0xbf, 0xb0, 0xc1, 0x9b,
-                0x21, 0xcf, 0xd9, 0xc2,
+                0x2e, 0xa7, 0x6f, 0x67, 0x97, 0x5f, 0xce, 0xa3, 0xbd, 0x46, 0xfb, 0xb1, 0x4d, 0xe8,
+                0x1f, 0x49, 0xfd, 0x08, 0xef, 0xcb, 0xc0, 0x87, 0x5a, 0xb2, 0x1d, 0xc9, 0x89, 0x76,
+                0xa5, 0x30, 0x93, 0x22,
             ],
             Core::FeIsOdd => [
-                0x21, 0xd3, 0x5d, 0x0a, 0x65, 0x7f, 0x5d, 0xef, 0xac, 0xde, 0x6d, 0xa3, 0xfd, 0xb4,
-                0x8d, 0x67, 0x56, 0xf3, 0x06, 0x90, 0xb4, 0x02, 0x70, 0xf0, 0x10, 0x17, 0xe7, 0xe3,
-                0x48, 0xd7, 0x58, 0x5d,
+                0x7e, 0xde, 0xf0, 0x20, 0x5d, 0x4b, 0x80, 0x41, 0x82, 0x36, 0x9c, 0x31, 0xc2, 0x19,
+                0x02, 0x46, 0x9b, 0x0f, 0x7a, 0x5b, 0x29, 0xb5, 0xdf, 0x90, 0xc3, 0x3f, 0x4b, 0xda,
+                0xa0, 0x5d, 0x7c, 0x03,
             ],
             Core::FeIsZero => [
-                0xf5, 0x71, 0x62, 0x82, 0xba, 0x0d, 0x26, 0xbd, 0x06, 0x71, 0xcd, 0xfe, 0x1f, 0x11,
-                0x8f, 0x45, 0xba, 0xe7, 0x9d, 0x10, 0x9a, 0x6d, 0x9f, 0x39, 0x7a, 0x4c, 0x45, 0x54,
-                0x6f, 0x62, 0xaf, 0x00,
+                0xa9, 0x43, 0x03, 0x64, 0x2e, 0x1a, 0x0f, 0x47, 0x79, 0x15, 0xa2, 0xd2, 0x51, 0xf8,
+                0x45, 0x5c, 0x56, 0x87, 0x7e, 0xca, 0x79, 0xba, 0x40, 0xad, 0xc3, 0x82, 0x26, 0x8c,
+                0xab, 0x2d, 0x63, 0xb7,
             ],
             Core::FeMultiply => [
-                0xc1, 0x76, 0x96, 0x9c, 0x33, 0x7f, 0xbc, 0x6b, 0x5a, 0xc8, 0xed, 0x3e, 0xa2, 0x8a,
-                0xb3, 0xfd, 0x94, 0x78, 0x20, 0x64, 0x31, 0x95, 0xd7, 0x3b, 0x86, 0x20, 0x18, 0xf7,
-                0x08, 0x48, 0x7d, 0x23,
+                0xac, 0x64, 0xd5, 0x34, 0x72, 0xab, 0xa4, 0x89, 0xa8, 0xac, 0xf3, 0xac, 0x8a, 0xc7,
+                0x9e, 0x8b, 0x11, 0x82, 0x43, 0x3e, 0x53, 0x50, 0xc4, 0xc3, 0x78, 0x2d, 0x45, 0xad,
+                0xf1, 0xc5, 0x6d, 0xcb,
             ],
             Core::FeMultiplyBeta => [
-                0xc0, 0xfc, 0x76, 0x66, 0x8d, 0x99, 0xd4, 0x07, 0x3f, 0x39, 0x93, 0x44, 0x3a, 0x68,
-                0x98, 0x0b, 0xa9, 0x6e, 0x97, 0x60, 0x1e, 0xd1, 0xa9, 0x19, 0xc4, 0xa2, 0x33, 0x05,
-                0x7b, 0x66, 0xfe, 0x23,
+                0xca, 0x2e, 0xa7, 0x97, 0xbe, 0x89, 0xe4, 0x1d, 0xb5, 0x15, 0x86, 0xea, 0xdd, 0xe3,
+                0x36, 0x38, 0x11, 0xd0, 0x1d, 0x5d, 0x4c, 0x61, 0x42, 0xf5, 0x7e, 0x1b, 0x99, 0xf2,
+                0xae, 0x03, 0x06, 0x1c,
             ],
             Core::FeNegate => [
-                0xd6, 0xef, 0x8f, 0xc2, 0x27, 0x5d, 0xdf, 0x70, 0x58, 0xb5, 0xe4, 0x99, 0xf1, 0x0d,
-                0xd2, 0x84, 0x66, 0xf5, 0x7b, 0x72, 0x53, 0xa5, 0x44, 0x07, 0x79, 0x8a, 0x47, 0x72,
-                0x59, 0x21, 0x84, 0xb9,
+                0x01, 0x42, 0xba, 0x1a, 0x10, 0x13, 0x13, 0x57, 0x81, 0x3b, 0x09, 0xf9, 0xce, 0x18,
+                0xc0, 0x6b, 0x4b, 0xab, 0x74, 0x2c, 0xb4, 0x85, 0xd1, 0x79, 0x8b, 0x4a, 0x31, 0x3a,
+                0x92, 0x93, 0xfa, 0x7e,
             ],
             Core::FeNormalize => [
-                0xf4, 0x98, 0xbc, 0xdf, 0xf3, 0x50, 0x67, 0x88, 0x1b, 0xd9, 0x6e, 0xe1, 0xc9, 0x1f,
-                0x43, 0x67, 0x1e, 0x79, 0x18, 0x6e, 0x70, 0x0e, 0xc4, 0xda, 0x2d, 0xc0, 0x29, 0x6a,
-                0x2d, 0xea, 0x91, 0xc7,
+                0x70, 0xe5, 0x57, 0x07, 0x96, 0x39, 0x41, 0x1d, 0xab, 0x31, 0xb3, 0xe4, 0xf4, 0xb5,
+                0x60, 0x5a, 0x4b, 0x15, 0x59, 0x3a, 0x1a, 0xf7, 0x9b, 0xbd, 0xd9, 0xf9, 0xa1, 0x10,
+                0xa8, 0x5b, 0x25, 0x81,
             ],
             Core::FeSquare => [
-                0x16, 0x8a, 0x11, 0xb1, 0x9c, 0x0f, 0xb9, 0x7f, 0x10, 0x99, 0xf8, 0x63, 0xa4, 0xc8,
-                0xe2, 0xf8, 0x12, 0x42, 0x5f, 0xbd, 0x3d, 0x01, 0xbd, 0xed, 0x3f, 0x46, 0x0c, 0xb3,
-                0x59, 0xbf, 0xdd, 0x89,
+                0xcf, 0xa0, 0x2a, 0x6a, 0x95, 0x09, 0x1b, 0x14, 0x97, 0x00, 0x07, 0xb9, 0x1a, 0x01,
+                0xba, 0x12, 0x57, 0xfe, 0x3b, 0x84, 0x95, 0x63, 0xcf, 0x42, 0xd0, 0x64, 0x94, 0xc3,
+                0xb8, 0xd0, 0x4f, 0x9d,
             ],
             Core::FeSquareRoot => [
-                0x3b, 0x46, 0xcd, 0xe3, 0x06, 0x74, 0xb7, 0x77, 0x16, 0xf2, 0xc8, 0xf6, 0x14, 0xad,
-                0xbd, 0x16, 0x61, 0x98, 0x5d, 0x82, 0xc5, 0x53, 0x04, 0xd5, 0x6e, 0x53, 0xef, 0x5c,
-                0x74, 0xc8, 0x3e, 0x83,
+                0xf5, 0x1d, 0x5e, 0xd2, 0x19, 0xbc, 0x89, 0x41, 0xb2, 0x41, 0x29, 0x57, 0x2e, 0x84,
+                0xba, 0xf8, 0x1a, 0x8c, 0xd2, 0xfe, 0x0e, 0x4e, 0xf2, 0x38, 0x86, 0x9c, 0xb2, 0xda,
+                0x29, 0x6b, 0x0f, 0xa8,
             ],
             Core::FullAdd16 => [
-                0xf4, 0x54, 0xa6, 0x32, 0xfd, 0x19, 0x28, 0xcd, 0x6f, 0x07, 0x0d, 0xf6, 0x80, 0x14,
-                0x28, 0x8e, 0x97, 0xb3, 0xe5, 0x82, 0xe7, 0xf0, 0x3e, 0x98, 0xed, 0x32, 0x34, 0xb6,
-                0x28, 0x2d, 0x02, 0x94,
+                0xd3, 0x99, 0x2e, 0x38, 0xab, 0x1e, 0xf2, 0xc3, 0x83, 0x81, 0x30, 0x41, 0xdb, 0x13,
+                0x69, 0xdd, 0xd5, 0xc3, 0xaa, 0x81, 0xae, 0x90, 0x24, 0xc5, 0xea, 0x26, 0x61, 0x19,
+                0x6b, 0xd1, 0x1f, 0x01,
             ],
             Core::FullAdd32 => [
-                0x96, 0x06, 0xb9, 0xe6, 0x54, 0x1e, 0x03, 0x56, 0xed, 0x76, 0x08, 0xd5, 0xbc, 0x6f,
-                0x9d, 0x4e, 0xf6, 0x8e, 0x0a, 0x3d, 0x23, 0x51, 0x68, 0xd9, 0xe7, 0x5c, 0xae, 0x66,
-                0x52, 0xdd, 0x06, 0x34,
+                0x46, 0x2b, 0x9c, 0x3b, 0xa6, 0x57, 0x6c, 0x11, 0x14, 0x55, 0x33, 0x77, 0x5b, 0xdf,
+                0x95, 0x5b, 0x60, 0x48, 0x2e, 0x6e, 0x30, 0x80, 0xa8, 0x19, 0xf5, 0xcc, 0x73, 0xa5,
+                0xca, 0x68, 0x30, 0xc1,
             ],
             Core::FullAdd64 => [
-                0xf0, 0xf7, 0x95, 0x32, 0x00, 0x1c, 0x02, 0xaf, 0xac, 0x65, 0x0a, 0x62, 0x80, 0x19,
-                0x32, 0xaf, 0xc2, 0xc1, 0xb2, 0x86, 0xa3, 0x1f, 0xef, 0x7a, 0xe0, 0x8a, 0x47, 0xea,
-                0x1e, 0x71, 0x38, 0x7d,
+                0xc0, 0xfc, 0x79, 0x99, 0xd9, 0x1c, 0xa6, 0xf7, 0xb5, 0xf8, 0x72, 0xee, 0x6a, 0x8e,
+                0x08, 0xea, 0x2a, 0x11, 0xaf, 0x7b, 0x92, 0xe7, 0xde, 0x60, 0x25, 0x17, 0x19, 0xd7,
+                0x85, 0xb5, 0xf3, 0xe2,
             ],
             Core::FullAdd8 => [
-                0xcd, 0xd0, 0x80, 0xfd, 0x86, 0x12, 0xe7, 0xd1, 0x4a, 0xda, 0x34, 0x91, 0x64, 0xa6,
-                0xd5, 0xaf, 0x60, 0x54, 0xd6, 0x73, 0x77, 0xe1, 0x76, 0x65, 0xc4, 0x72, 0x20, 0x40,
-                0x28, 0xbc, 0x21, 0x25,
+                0x27, 0x14, 0xec, 0xbb, 0x32, 0x4f, 0xb9, 0xfb, 0x71, 0x9e, 0x09, 0x71, 0x6b, 0xdb,
+                0xdf, 0xb5, 0x64, 0x66, 0xcb, 0x4f, 0x41, 0xf9, 0x01, 0xb1, 0x66, 0x78, 0xb0, 0x02,
+                0x16, 0x17, 0x41, 0xaf,
             ],
             Core::FullDecrement16 => [
-                0xa7, 0xd1, 0xb9, 0xa6, 0x09, 0xdc, 0xd3, 0x67, 0x66, 0xa1, 0x67, 0xa3, 0x7a, 0xa0,
-                0xe6, 0x49, 0xfb, 0xdd, 0x75, 0xf6, 0x46, 0x91, 0xa9, 0xfb, 0x6b, 0xf1, 0x66, 0x3d,
-                0x32, 0x92, 0x82, 0xa8,
+                0xbd, 0x0d, 0xd6, 0x91, 0xf8, 0x55, 0x44, 0x47, 0x04, 0xd9, 0xbb, 0xc2, 0xea, 0xf0,
+                0x29, 0xc6, 0xca, 0x5b, 0x45, 0xcf, 0x92, 0x44, 0x1f, 0x7f, 0x68, 0xb4, 0x78, 0xb6,
+                0x11, 0xb5, 0x97, 0x28,
             ],
             Core::FullDecrement32 => [
-                0xcb, 0xcf, 0xd7, 0xca, 0x73, 0x72, 0xb2, 0xb1, 0x80, 0x00, 0x8e, 0x51, 0x58, 0x98,
-                0x80, 0xd3, 0xb5, 0x39, 0x9b, 0xd9, 0xa8, 0xdd, 0xb9, 0xbc, 0xda, 0x61, 0x32, 0xc2,
-                0x2c, 0x77, 0x7e, 0x0f,
+                0x27, 0x88, 0xc3, 0xa0, 0x17, 0x35, 0xa6, 0x4c, 0x0c, 0x36, 0x19, 0x03, 0xd7, 0x1e,
+                0x21, 0xce, 0x10, 0x05, 0xce, 0x35, 0x74, 0xe6, 0x9a, 0x2a, 0x68, 0x0b, 0x87, 0x3e,
+                0x5f, 0x73, 0x76, 0x6a,
             ],
             Core::FullDecrement64 => [
-                0x42, 0xdf, 0x92, 0xd2, 0xe7, 0xf4, 0x2e, 0x57, 0x9b, 0xd4, 0xc4, 0x30, 0x8c, 0xd2,
-                0xdb, 0x6e, 0x76, 0x77, 0x46, 0x95, 0xd6, 0xa5, 0x69, 0x50, 0xc5, 0xcf, 0x92, 0x03,
-                0x00, 0x2d, 0x41, 0xaa,
+                0x14, 0x4b, 0xf9, 0xfe, 0x04, 0xba, 0x8c, 0x93, 0xa7, 0x83, 0x5b, 0x16, 0x36, 0xae,
+                0x8f, 0x7d, 0x50, 0x5c, 0x05, 0x08, 0x92, 0xdd, 0xbc, 0xc8, 0xf9, 0x72, 0x5f, 0x6b,
+                0x09, 0xc3, 0xe4, 0x7c,
             ],
             Core::FullDecrement8 => [
-                0xff, 0x58, 0xdd, 0x01, 0x62, 0xbc, 0xe9, 0xfb, 0x73, 0xed, 0x01, 0x5b, 0x7e, 0x5d,
-                0x3d, 0x1d, 0xc1, 0x1b, 0x50, 0x5c, 0x93, 0x2d, 0x49, 0x0c, 0xaa, 0xdc, 0x1b, 0x5d,
-                0x89, 0x3d, 0x1f, 0xad,
+                0x3b, 0x0d, 0x4c, 0x9a, 0x02, 0xbd, 0xd9, 0x03, 0xb1, 0x2f, 0x49, 0xb8, 0xca, 0xd0,
+                0xe3, 0xf0, 0x6c, 0xb9, 0xbc, 0xb6, 0xc8, 0xb1, 0x98, 0x95, 0x6d, 0xff, 0xce, 0x48,
+                0x90, 0x8a, 0x63, 0xf1,
             ],
             Core::FullIncrement16 => [
-                0x54, 0x53, 0x60, 0x8e, 0xef, 0xf9, 0x67, 0xaf, 0xef, 0x4a, 0xe5, 0x83, 0x1a, 0xa7,
-                0xa9, 0xfc, 0x75, 0xc2, 0xba, 0x57, 0xe1, 0xac, 0x41, 0x2a, 0xb5, 0x46, 0x4d, 0x4d,
-                0xe9, 0x3a, 0xf4, 0xf9,
+                0x91, 0x81, 0x8a, 0x49, 0xe9, 0x5e, 0x22, 0x8c, 0x3b, 0x51, 0xc7, 0x30, 0x9b, 0x3d,
+                0xc6, 0x85, 0xcc, 0xc2, 0xbd, 0xa1, 0xfb, 0x3c, 0xdd, 0xc0, 0xcf, 0x24, 0xa5, 0xc5,
+                0x9d, 0x77, 0xe7, 0xea,
             ],
             Core::FullIncrement32 => [
-                0x36, 0x32, 0x33, 0x21, 0x58, 0xf9, 0x0b, 0xa4, 0xdf, 0x62, 0x3f, 0x08, 0x68, 0x08,
-                0xd1, 0xd3, 0x39, 0xf3, 0x6d, 0x9a, 0x6f, 0x92, 0x27, 0x23, 0x34, 0x16, 0xf2, 0x34,
-                0xcd, 0xd2, 0x5d, 0x98,
+                0x70, 0x47, 0x04, 0xc6, 0xd7, 0xf7, 0x57, 0xee, 0xe9, 0xf8, 0x8b, 0x2b, 0x32, 0x7b,
+                0xc1, 0x17, 0x43, 0xcb, 0xd9, 0xa7, 0x5d, 0xec, 0xa2, 0xe9, 0x6d, 0x62, 0x8d, 0x53,
+                0x13, 0xe6, 0x16, 0x30,
             ],
             Core::FullIncrement64 => [
-                0x06, 0x37, 0xfc, 0xc5, 0x52, 0xf6, 0x2a, 0x8a, 0x08, 0xc6, 0xd0, 0x70, 0x66, 0x7e,
-                0xd8, 0x0e, 0x47, 0xba, 0x70, 0x7c, 0x12, 0x0c, 0x4d, 0x65, 0x66, 0x04, 0xa3, 0x43,
-                0x3b, 0xfc, 0x40, 0xa6,
+                0x99, 0x9c, 0xad, 0xea, 0x9c, 0xf0, 0xbd, 0xda, 0xab, 0x12, 0xa3, 0x98, 0xcf, 0x52,
+                0xd1, 0x8e, 0x08, 0xfb, 0x5c, 0x18, 0x5d, 0xca, 0x00, 0xf3, 0x5e, 0xde, 0x63, 0x27,
+                0x7e, 0x9b, 0xac, 0x4e,
             ],
             Core::FullIncrement8 => [
-                0x29, 0x15, 0x24, 0xe1, 0x70, 0xd5, 0x23, 0xfd, 0x35, 0xc2, 0x57, 0x7b, 0x8e, 0xa3,
-                0xf4, 0x47, 0x8e, 0xc6, 0x32, 0x06, 0xc9, 0x8f, 0xb5, 0xcc, 0xcf, 0x77, 0xc2, 0x09,
-                0xbe, 0xbd, 0x29, 0xef,
+                0x2d, 0x64, 0x5c, 0xb4, 0x77, 0x8d, 0xa1, 0x7a, 0x0d, 0xad, 0x32, 0x6f, 0xfe, 0xdc,
+                0x2b, 0x04, 0xf6, 0x2d, 0x02, 0x7d, 0x7b, 0x40, 0x56, 0x0d, 0x16, 0xcd, 0x64, 0x9f,
+                0xd5, 0xa4, 0xd7, 0x2a,
             ],
             Core::FullLeftShift16_1 => [
-                0x74, 0x0e, 0x23, 0x81, 0x1b, 0x3e, 0x62, 0xd4, 0x91, 0x51, 0x0f, 0xc9, 0xed, 0xc4,
-                0xcb, 0x0a, 0x0e, 0xec, 0xfa, 0xdf, 0xd2, 0x1b, 0xb2, 0x7f, 0x33, 0xe2, 0x20, 0xb1,
-                0xd8, 0x7d, 0x14, 0xd7,
+                0x32, 0xd0, 0x6f, 0x29, 0x46, 0x52, 0xb3, 0x64, 0x90, 0x58, 0xa4, 0x66, 0x67, 0x3f,
+                0x04, 0xf0, 0x88, 0x80, 0xaa, 0xa1, 0x92, 0x6f, 0x90, 0x8a, 0x92, 0x56, 0xa9, 0x9e,
+                0x1e, 0x2e, 0x0b, 0xdc,
             ],
             Core::FullLeftShift16_2 => [
-                0xc2, 0x6e, 0x8a, 0xc3, 0xff, 0x9c, 0xc5, 0x18, 0x71, 0x9d, 0x4d, 0x7f, 0xd1, 0x49,
-                0xd8, 0x02, 0xf2, 0x3f, 0x0b, 0x02, 0x49, 0x99, 0xed, 0x5d, 0xaf, 0x36, 0x92, 0x10,
-                0xac, 0xbe, 0x33, 0x45,
+                0xd1, 0xa5, 0xfb, 0x91, 0xaa, 0x70, 0x44, 0x5d, 0x29, 0xfd, 0xb1, 0x69, 0x40, 0x37,
+                0xa9, 0x5d, 0x84, 0xe6, 0x57, 0x1b, 0x3e, 0x77, 0x73, 0xfc, 0x16, 0xf5, 0x6e, 0xb8,
+                0x8b, 0x67, 0x64, 0x39,
             ],
             Core::FullLeftShift16_4 => [
-                0x5e, 0x57, 0x0c, 0xbe, 0x4c, 0x7c, 0xa9, 0x4b, 0xe0, 0xfc, 0x7b, 0x3e, 0xe5, 0x79,
-                0xbd, 0xd7, 0x84, 0x26, 0xf0, 0xb7, 0x67, 0xf4, 0x85, 0x17, 0x17, 0xbb, 0xfe, 0xae,
-                0xde, 0x91, 0xfe, 0x30,
+                0x94, 0x52, 0xa9, 0xb6, 0x75, 0x49, 0x17, 0x8f, 0x93, 0xc7, 0xbb, 0x34, 0x36, 0xbe,
+                0x06, 0x31, 0x4b, 0x4a, 0xda, 0xe5, 0xde, 0x0e, 0x31, 0x53, 0xcb, 0xd3, 0x2d, 0x55,
+                0x9d, 0xf6, 0xf4, 0x28,
             ],
             Core::FullLeftShift16_8 => [
-                0x65, 0xad, 0xc5, 0x53, 0x48, 0x38, 0x3b, 0x28, 0xe8, 0x79, 0x7f, 0x81, 0xa9, 0x28,
-                0x2d, 0x91, 0x1b, 0x3f, 0x8f, 0xa6, 0x13, 0x92, 0x72, 0x51, 0xd8, 0x8e, 0x0c, 0x38,
-                0xb0, 0x29, 0xb7, 0x05,
+                0xcd, 0xb8, 0x8c, 0x96, 0x01, 0x73, 0x2a, 0x76, 0x66, 0x5a, 0xc9, 0x28, 0x21, 0x68,
+                0x3b, 0xaf, 0xf1, 0x84, 0x4b, 0x67, 0x0b, 0xff, 0x66, 0x39, 0x17, 0xc8, 0x91, 0x3b,
+                0xa5, 0x1c, 0x0f, 0x08,
             ],
             Core::FullLeftShift32_1 => [
-                0x72, 0xe0, 0x10, 0x4e, 0xfa, 0xf1, 0xde, 0xe4, 0x11, 0x98, 0xec, 0x3b, 0x79, 0x03,
-                0x73, 0xf6, 0x48, 0xf1, 0x3f, 0x5e, 0xe0, 0x65, 0x52, 0xfb, 0x02, 0x0b, 0xaf, 0xb5,
-                0x84, 0x97, 0xc2, 0x5c,
+                0xef, 0x47, 0x06, 0xca, 0x44, 0xa8, 0xc5, 0x5f, 0x46, 0x5f, 0xa9, 0xb3, 0x9c, 0x3c,
+                0x69, 0xc8, 0x12, 0xef, 0xe3, 0xd9, 0xdf, 0xb6, 0xc9, 0xa5, 0xc0, 0x50, 0x92, 0xb5,
+                0x7f, 0xc3, 0xc1, 0x53,
             ],
             Core::FullLeftShift32_16 => [
-                0xb9, 0xfb, 0x21, 0x69, 0x90, 0x8d, 0x91, 0x44, 0xcc, 0x73, 0xe6, 0x8f, 0x75, 0x35,
-                0x36, 0xf4, 0x3c, 0xb2, 0xb7, 0x4c, 0xb6, 0x2c, 0x64, 0x08, 0x81, 0x06, 0x70, 0xde,
-                0x84, 0xab, 0x09, 0xbd,
+                0x13, 0x04, 0x05, 0xb9, 0x90, 0xdf, 0xa1, 0x81, 0xa7, 0x6b, 0xb2, 0x96, 0x5f, 0x6b,
+                0x70, 0x6d, 0xe5, 0xb0, 0x46, 0x47, 0x43, 0x8a, 0x5c, 0xab, 0x6e, 0xc3, 0xdf, 0xb6,
+                0xae, 0x21, 0xfa, 0x8a,
             ],
             Core::FullLeftShift32_2 => [
-                0x11, 0xef, 0xdb, 0x81, 0xb0, 0xc4, 0xde, 0xda, 0x4d, 0x4f, 0x98, 0x47, 0x5d, 0x78,
-                0x78, 0xef, 0xa3, 0x38, 0x69, 0x4f, 0xa0, 0xfd, 0x61, 0x3e, 0x12, 0x93, 0x22, 0x5a,
-                0x4f, 0x46, 0x2f, 0x7c,
+                0xcc, 0x4b, 0x94, 0x98, 0xee, 0x41, 0x23, 0x85, 0xc2, 0x3b, 0xff, 0x77, 0xdf, 0x13,
+                0x7a, 0xd2, 0x96, 0xa5, 0xb8, 0x30, 0x31, 0xc1, 0x51, 0x8d, 0xbf, 0x4f, 0xdf, 0x6a,
+                0xbb, 0x56, 0x7c, 0x2a,
             ],
             Core::FullLeftShift32_4 => [
-                0x77, 0xe3, 0x99, 0xd7, 0xd8, 0x3f, 0x7d, 0x11, 0x44, 0x99, 0x1d, 0xaf, 0xa3, 0xcc,
-                0x98, 0x11, 0xc1, 0x63, 0x2c, 0x29, 0xe4, 0x93, 0xa8, 0xaf, 0x98, 0xe9, 0x8f, 0xbc,
-                0x1d, 0x63, 0x5f, 0xb4,
+                0xbf, 0xad, 0xc9, 0x53, 0x41, 0x00, 0x47, 0xd9, 0xef, 0x39, 0x8b, 0xd3, 0x3a, 0x02,
+                0xaa, 0xd0, 0xd4, 0x8c, 0xbd, 0x7b, 0x6a, 0xe2, 0xde, 0x8d, 0xc1, 0xf7, 0x6b, 0x0c,
+                0xe4, 0x4f, 0x80, 0xec,
             ],
             Core::FullLeftShift32_8 => [
-                0xba, 0x66, 0x4c, 0xb1, 0xc4, 0x2e, 0xda, 0x17, 0x91, 0x91, 0xeb, 0xc2, 0xa1, 0x10,
-                0x39, 0x6d, 0xae, 0x58, 0xf9, 0x06, 0xa6, 0x41, 0x06, 0xb3, 0x06, 0x67, 0x79, 0x0a,
-                0xc2, 0xf2, 0x38, 0x2d,
+                0xac, 0x93, 0x4c, 0x70, 0xaa, 0xb8, 0x10, 0xf0, 0xae, 0x52, 0x7b, 0xc0, 0x74, 0x9e,
+                0x96, 0xce, 0x00, 0x68, 0xe2, 0x37, 0xce, 0xe2, 0xa8, 0x66, 0x48, 0x3d, 0xdf, 0xaa,
+                0x21, 0x16, 0xd9, 0x31,
             ],
             Core::FullLeftShift64_1 => [
-                0x79, 0xd3, 0x8f, 0xe0, 0x75, 0x83, 0x9b, 0x22, 0x7c, 0xff, 0xd9, 0x2a, 0x8c, 0xdb,
-                0x5c, 0x8c, 0x35, 0x22, 0xbc, 0xb4, 0xd1, 0xe0, 0x3b, 0xee, 0xb6, 0xdb, 0x6a, 0xb6,
-                0x4e, 0xd4, 0x72, 0x1f,
+                0xbf, 0x32, 0xd9, 0xdb, 0xb2, 0x39, 0xe9, 0x88, 0x01, 0x49, 0x20, 0xcc, 0x4d, 0xf2,
+                0xe4, 0x35, 0xc7, 0x12, 0x01, 0x7b, 0x6a, 0x94, 0x0e, 0x77, 0xc2, 0x03, 0x71, 0x3d,
+                0xbf, 0xb0, 0xfe, 0x53,
             ],
             Core::FullLeftShift64_16 => [
-                0x21, 0x43, 0x56, 0x62, 0x45, 0xf5, 0xa1, 0xb9, 0xdf, 0xeb, 0x0c, 0x75, 0x87, 0x8e,
-                0x21, 0xdb, 0xe1, 0x38, 0x04, 0xc2, 0x69, 0x35, 0xee, 0x47, 0xca, 0xc9, 0xad, 0x82,
-                0x2d, 0x6d, 0xed, 0xb2,
+                0x13, 0xde, 0x96, 0x78, 0x5b, 0xd9, 0x7f, 0x6f, 0x78, 0xec, 0x2a, 0x37, 0xf5, 0x52,
+                0xd4, 0xd7, 0xda, 0xe5, 0x76, 0x8e, 0x39, 0xb4, 0xbe, 0xbd, 0xf3, 0xbc, 0x7c, 0xeb,
+                0x72, 0x3c, 0x59, 0x47,
             ],
             Core::FullLeftShift64_2 => [
-                0x9c, 0x92, 0x16, 0x49, 0x15, 0xaf, 0x0b, 0x15, 0x4e, 0x1d, 0xf5, 0x64, 0xd4, 0xdc,
-                0x9b, 0xe9, 0x80, 0xb3, 0x98, 0x83, 0x5c, 0x99, 0x88, 0xbb, 0xb1, 0x08, 0xd0, 0xcd,
-                0x81, 0x45, 0xb3, 0x30,
+                0x19, 0xd3, 0xb1, 0x41, 0xcb, 0x15, 0x6c, 0xce, 0x2a, 0xc5, 0x93, 0x7a, 0x27, 0xa2,
+                0x84, 0x36, 0xdc, 0x32, 0x5d, 0xd7, 0xce, 0x42, 0x47, 0x6e, 0xe2, 0xca, 0xb3, 0x5f,
+                0xb4, 0x01, 0x10, 0xe0,
             ],
             Core::FullLeftShift64_32 => [
-                0xd0, 0xd0, 0x16, 0xe9, 0xc7, 0x8c, 0xd1, 0x12, 0xb4, 0xdd, 0x91, 0xa8, 0x35, 0x9f,
-                0x80, 0x5c, 0x68, 0x41, 0x5b, 0x85, 0x7a, 0x79, 0x9b, 0x00, 0x39, 0x49, 0x54, 0xdc,
-                0xd2, 0x90, 0xac, 0xbc,
+                0x6a, 0x20, 0x76, 0x15, 0xbc, 0x66, 0x9d, 0x3f, 0xc1, 0x74, 0x13, 0xa4, 0x2b, 0x13,
+                0xa0, 0x4a, 0x40, 0x4b, 0xb5, 0xd4, 0x03, 0x6d, 0xe3, 0x7f, 0xe0, 0xa5, 0x6b, 0x33,
+                0x6a, 0x5f, 0xf5, 0xa6,
             ],
             Core::FullLeftShift64_4 => [
-                0x0f, 0x1f, 0x7d, 0x37, 0x4e, 0x82, 0x86, 0x8d, 0x71, 0xe7, 0xe7, 0xc0, 0x32, 0x21,
-                0xb1, 0x50, 0x59, 0x4b, 0x63, 0x04, 0x45, 0xb1, 0xb1, 0x63, 0x56, 0xcf, 0x35, 0x45,
-                0xbd, 0x93, 0x92, 0x63,
+                0x57, 0xf5, 0x96, 0xcf, 0xe6, 0x7a, 0xf5, 0x8a, 0xe6, 0xbc, 0x27, 0xa1, 0x2c, 0xaf,
+                0xe5, 0x3a, 0x1d, 0x5e, 0x6a, 0xce, 0x4e, 0x54, 0x05, 0x1a, 0x3a, 0xe4, 0x1c, 0x1e,
+                0xb3, 0x25, 0xf5, 0x3b,
             ],
             Core::FullLeftShift64_8 => [
-                0xad, 0x7b, 0x44, 0x38, 0xb7, 0x3f, 0x6f, 0x9e, 0x42, 0xf6, 0x4c, 0x70, 0x53, 0x04,
-                0x75, 0xee, 0x08, 0x93, 0x6e, 0x47, 0x63, 0xe5, 0xb7, 0x3e, 0xa4, 0xbc, 0x83, 0x83,
-                0xa2, 0xb9, 0x63, 0xd5,
+                0x05, 0x85, 0x7a, 0x00, 0x9d, 0x20, 0x31, 0xbe, 0x6d, 0xf1, 0xd8, 0x7e, 0x26, 0xe1,
+                0x11, 0x18, 0xab, 0xd0, 0x6b, 0x0f, 0xf0, 0xc8, 0x78, 0xc3, 0x36, 0xf9, 0xa0, 0x76,
+                0x11, 0xda, 0xa8, 0xd4,
             ],
             Core::FullLeftShift8_1 => [
-                0x21, 0x13, 0x68, 0x1a, 0x11, 0x62, 0x4e, 0x60, 0x60, 0x30, 0xc4, 0x70, 0xd6, 0x8f,
-                0x60, 0x61, 0x23, 0x2f, 0x71, 0xcf, 0xab, 0xc5, 0x05, 0x71, 0x92, 0xc6, 0xc8, 0xbd,
-                0x1d, 0x73, 0xb7, 0xe1,
+                0x4f, 0xdc, 0x52, 0x2a, 0x23, 0x9f, 0x25, 0x84, 0x8c, 0x28, 0xd4, 0x5b, 0x39, 0x24,
+                0x63, 0x91, 0xbe, 0x6a, 0x28, 0x14, 0xb8, 0x93, 0xcf, 0x19, 0x79, 0xce, 0x31, 0xb6,
+                0x07, 0xcf, 0x17, 0x4e,
             ],
             Core::FullLeftShift8_2 => [
-                0x36, 0x83, 0x68, 0xc9, 0x4b, 0x04, 0x0e, 0x81, 0xb9, 0x48, 0xd7, 0x37, 0xc1, 0x93,
-                0xc0, 0x42, 0x83, 0xec, 0x80, 0xa2, 0x8f, 0xd3, 0xa0, 0x21, 0xb0, 0xb8, 0xc1, 0xab,
-                0xcf, 0x5e, 0xdc, 0xd3,
+                0xdc, 0xf6, 0x33, 0x3d, 0x5e, 0x28, 0xbf, 0xaa, 0xfe, 0xe6, 0xf2, 0x0a, 0x85, 0x5c,
+                0xef, 0xb0, 0x05, 0xf0, 0xef, 0x32, 0x8b, 0xdc, 0xce, 0xa6, 0x4a, 0x8f, 0x24, 0x46,
+                0xf9, 0x66, 0xa6, 0xf2,
             ],
             Core::FullLeftShift8_4 => [
-                0x8f, 0x85, 0x4d, 0x58, 0xf9, 0x68, 0xb4, 0xbe, 0x3b, 0x20, 0x21, 0xfb, 0x22, 0x14,
-                0x2d, 0xd3, 0xe6, 0x8a, 0xa8, 0x19, 0x7b, 0x54, 0x75, 0xb7, 0x05, 0x0b, 0x02, 0xe1,
-                0xe5, 0xca, 0xee, 0x47,
+                0xf7, 0xed, 0x36, 0xeb, 0xd7, 0xb4, 0xee, 0x3e, 0x77, 0x82, 0xd0, 0x74, 0x4c, 0x47,
+                0xba, 0x1e, 0xf8, 0xfa, 0x56, 0xdb, 0x70, 0x60, 0xe2, 0x26, 0xe4, 0xe9, 0x26, 0x29,
+                0x92, 0x6f, 0x43, 0x6c,
             ],
             Core::FullMultiply16 => [
-                0x32, 0xcf, 0x7f, 0x50, 0x89, 0x4e, 0xa2, 0xc4, 0x61, 0xa0, 0x54, 0x66, 0xbb, 0xfa,
-                0x1e, 0x4e, 0x1b, 0x04, 0x99, 0x57, 0x52, 0x3f, 0x64, 0x93, 0x7a, 0x8b, 0x54, 0x27,
-                0x3d, 0xd3, 0x1b, 0x37,
+                0xc0, 0xd7, 0x36, 0xca, 0x68, 0x4f, 0x82, 0x72, 0xdc, 0xfb, 0xe3, 0x8d, 0xcc, 0x54,
+                0x29, 0xb3, 0x03, 0xa6, 0x82, 0x32, 0xe5, 0xfc, 0xd2, 0x85, 0x14, 0xe2, 0x2c, 0x0b,
+                0xe1, 0xf4, 0x70, 0xf6,
             ],
             Core::FullMultiply32 => [
-                0xde, 0xa1, 0xaf, 0xc6, 0xfd, 0x54, 0x6c, 0x75, 0xe0, 0xb2, 0xd8, 0xe4, 0x18, 0xf2,
-                0x61, 0x79, 0xd6, 0xdb, 0xe9, 0x05, 0x8b, 0x07, 0x9a, 0xa9, 0xab, 0x80, 0xea, 0xa6,
-                0xc0, 0x5f, 0x39, 0xcb,
+                0xe7, 0x20, 0x58, 0x97, 0x97, 0xf6, 0xca, 0x4a, 0xd7, 0x47, 0x71, 0xf8, 0xf6, 0xc7,
+                0xb6, 0xaa, 0xd7, 0x8b, 0xce, 0x91, 0x9f, 0xd7, 0x6d, 0x69, 0xff, 0xf5, 0x99, 0xa4,
+                0x02, 0xe3, 0x52, 0x40,
             ],
             Core::FullMultiply64 => [
-                0x81, 0x3d, 0x74, 0xd6, 0xc3, 0x06, 0x4c, 0xf7, 0xc5, 0xdb, 0x2d, 0xda, 0x96, 0x4e,
-                0xd0, 0xe2, 0xd5, 0xa2, 0x49, 0x1b, 0x89, 0x43, 0x29, 0x21, 0x92, 0x37, 0xcb, 0x1a,
-                0x91, 0xee, 0x09, 0x34,
+                0xd9, 0x66, 0x91, 0x86, 0x21, 0x44, 0x87, 0xfb, 0xaa, 0xbc, 0x08, 0x52, 0x15, 0xeb,
+                0x01, 0xc6, 0x2b, 0x3a, 0x28, 0xde, 0x41, 0x19, 0x19, 0xbc, 0x4f, 0x37, 0xfe, 0x43,
+                0xc2, 0xd0, 0x05, 0x21,
             ],
             Core::FullMultiply8 => [
-                0xf7, 0xf3, 0x9d, 0x95, 0xda, 0xb5, 0x73, 0x08, 0x52, 0xe9, 0xcc, 0x7e, 0x74, 0xc0,
-                0x74, 0x3b, 0x8f, 0xb3, 0xf7, 0x54, 0x87, 0x12, 0x0b, 0xa3, 0x26, 0xff, 0x60, 0x0a,
-                0xd8, 0xb1, 0xf3, 0xe6,
+                0x72, 0x8a, 0xc8, 0xaa, 0xdb, 0x37, 0xa0, 0xf2, 0x23, 0xee, 0xf9, 0x8c, 0xf2, 0x78,
+                0x48, 0x3d, 0xf1, 0x94, 0x86, 0x9b, 0x2e, 0x37, 0x73, 0xf1, 0x27, 0x32, 0x9e, 0xea,
+                0xb5, 0x4c, 0x62, 0xca,
             ],
             Core::FullRightShift16_1 => [
-                0xb8, 0x07, 0x44, 0x23, 0xe6, 0x74, 0x8a, 0x6a, 0xa5, 0x4e, 0xc5, 0x74, 0x1f, 0xee,
-                0xf2, 0x5a, 0x26, 0x2f, 0xde, 0xcb, 0xfc, 0xe3, 0x91, 0x24, 0xe6, 0x10, 0x23, 0x8a,
-                0x3b, 0x0a, 0x23, 0xfc,
+                0x28, 0x43, 0x7c, 0x34, 0x7a, 0x0f, 0x31, 0x6e, 0x99, 0xf3, 0x44, 0x4f, 0x32, 0xd9,
+                0x49, 0xc6, 0xd1, 0xa5, 0x70, 0xd6, 0xe1, 0xf9, 0xe4, 0x7f, 0x7e, 0xa2, 0xc4, 0x98,
+                0x7f, 0xec, 0xb0, 0xb4,
             ],
             Core::FullRightShift16_2 => [
-                0x3f, 0xcf, 0x98, 0x5e, 0xe0, 0xc7, 0x2c, 0xa4, 0x1d, 0xdf, 0x6c, 0x89, 0xd0, 0xf0,
-                0xf6, 0x9d, 0x50, 0x65, 0x87, 0x6e, 0x3b, 0x60, 0x20, 0xec, 0xc9, 0xbf, 0x05, 0x9e,
-                0x8f, 0x97, 0x19, 0xc6,
+                0x7b, 0x2d, 0x0d, 0xd3, 0xec, 0xf7, 0x9e, 0xcf, 0xc0, 0xbf, 0x92, 0x3a, 0x92, 0xa4,
+                0x3a, 0xc6, 0x51, 0x4b, 0xbf, 0xc2, 0x9f, 0x67, 0x73, 0xd7, 0xb3, 0x63, 0xc3, 0xac,
+                0xf6, 0xf6, 0x72, 0xc4,
             ],
             Core::FullRightShift16_4 => [
-                0xa3, 0x0c, 0x7c, 0x29, 0xd0, 0xee, 0xac, 0x29, 0x52, 0x58, 0xb2, 0xb6, 0x1d, 0x0b,
-                0x54, 0x13, 0x46, 0xf4, 0x07, 0xc0, 0x84, 0x8d, 0x44, 0x8e, 0x13, 0xe9, 0x77, 0x4c,
-                0x1c, 0x96, 0x96, 0x79,
+                0xec, 0x59, 0xde, 0x5c, 0x9c, 0x88, 0x77, 0x75, 0xe4, 0xbc, 0x55, 0x6b, 0x9c, 0xf1,
+                0xa7, 0x72, 0x3b, 0xbe, 0xb6, 0x14, 0x75, 0xd5, 0xa5, 0xa4, 0xed, 0xf1, 0x0b, 0x61,
+                0x2b, 0xf9, 0xa6, 0x80,
             ],
             Core::FullRightShift16_8 => [
-                0x5b, 0x88, 0x08, 0xca, 0xda, 0x55, 0x87, 0xb3, 0x6d, 0x1a, 0x6f, 0xad, 0x66, 0xae,
-                0x4d, 0xa0, 0x8d, 0x41, 0x23, 0x64, 0x4c, 0x0b, 0xdd, 0x59, 0x77, 0x2a, 0x70, 0xaa,
-                0x74, 0x32, 0xe7, 0x15,
+                0x26, 0x4f, 0x2a, 0x31, 0xf0, 0x7b, 0xcc, 0x54, 0x74, 0x27, 0xfa, 0xff, 0x0d, 0x09,
+                0xc2, 0x66, 0x5b, 0x30, 0xed, 0x30, 0xf9, 0xf8, 0xa6, 0xc5, 0x65, 0x01, 0x84, 0x00,
+                0x14, 0x4a, 0x4d, 0x6a,
             ],
             Core::FullRightShift32_1 => [
-                0x32, 0xaf, 0xd0, 0xef, 0x94, 0xdf, 0x51, 0xb7, 0xd3, 0x5c, 0x00, 0xe5, 0x61, 0xa8,
-                0x39, 0x0c, 0x5c, 0xf5, 0x0f, 0x93, 0x0b, 0x30, 0xd7, 0x86, 0x88, 0x04, 0xb5, 0x80,
-                0x49, 0x37, 0x58, 0x40,
+                0x19, 0xd7, 0x8c, 0xce, 0x30, 0xf7, 0x1e, 0xac, 0xf5, 0x9a, 0x8c, 0xf0, 0xf6, 0x02,
+                0x8b, 0x28, 0x4d, 0x4a, 0xa9, 0x64, 0xc0, 0xc1, 0x6a, 0xd4, 0xaf, 0xc7, 0xea, 0x47,
+                0x51, 0x65, 0xcb, 0xa0,
             ],
             Core::FullRightShift32_16 => [
-                0x44, 0xd1, 0x79, 0xa8, 0x90, 0xf7, 0x81, 0x2f, 0x15, 0x13, 0x31, 0xb5, 0x5f, 0xc0,
-                0x7e, 0xb4, 0xe4, 0xd7, 0x81, 0x4e, 0xb6, 0x83, 0xda, 0x28, 0x8f, 0x8f, 0xe7, 0xcd,
-                0x55, 0xb4, 0x39, 0x06,
+                0x88, 0x76, 0x74, 0x15, 0x79, 0x92, 0x4a, 0xf6, 0xd4, 0x6f, 0xbd, 0x79, 0x53, 0x4a,
+                0x09, 0x07, 0x7b, 0xf0, 0xec, 0xbc, 0x97, 0x10, 0x08, 0xc7, 0xde, 0xc6, 0x5d, 0x4c,
+                0x96, 0xe5, 0xd8, 0x31,
             ],
             Core::FullRightShift32_2 => [
-                0x33, 0xc6, 0x61, 0xdf, 0x3a, 0x32, 0xca, 0xe5, 0x5b, 0x52, 0xa5, 0xf2, 0x63, 0x21,
-                0x54, 0xcc, 0x85, 0xb6, 0x59, 0x13, 0x87, 0xbc, 0x2b, 0x34, 0x83, 0x30, 0xc8, 0x70,
-                0xa6, 0xf6, 0x70, 0x6f,
+                0x5d, 0x3e, 0x11, 0x9d, 0x40, 0xe6, 0x24, 0xc5, 0xc5, 0x6a, 0x7b, 0xbd, 0xf8, 0xbb,
+                0x86, 0xfb, 0x68, 0x89, 0xdc, 0x01, 0x72, 0x48, 0x7c, 0x35, 0x8a, 0x53, 0x1a, 0xf2,
+                0xfc, 0xc5, 0x1d, 0xc7,
             ],
             Core::FullRightShift32_4 => [
-                0xe4, 0xbe, 0xbf, 0x16, 0x93, 0x5f, 0x67, 0xbe, 0x7d, 0x8c, 0x86, 0xbc, 0x58, 0x8a,
-                0xdb, 0xcf, 0x8e, 0x59, 0x75, 0x39, 0x25, 0x7f, 0xdd, 0xab, 0x9f, 0xb0, 0x43, 0x72,
-                0xc7, 0x70, 0x12, 0xd3,
+                0x58, 0x3a, 0xc6, 0x98, 0x39, 0xd2, 0x35, 0xd9, 0xc0, 0x61, 0x39, 0xf5, 0xb7, 0x98,
+                0xd2, 0xd5, 0xa3, 0x49, 0xed, 0xc2, 0x0b, 0xbd, 0x62, 0xba, 0xd1, 0xd8, 0x12, 0x85,
+                0xd6, 0xad, 0x22, 0xe3,
             ],
             Core::FullRightShift32_8 => [
-                0xab, 0xcf, 0xfb, 0x08, 0x4a, 0x23, 0x96, 0x42, 0x16, 0xd5, 0x62, 0x73, 0x30, 0x5c,
-                0x0c, 0x8b, 0x03, 0xbd, 0xab, 0xda, 0xd6, 0x9f, 0xf7, 0xe9, 0x42, 0xf0, 0xd2, 0xcf,
-                0x08, 0x0f, 0xeb, 0xcc,
+                0x0d, 0x9c, 0xc0, 0x9b, 0xbc, 0x80, 0xe4, 0xcd, 0x76, 0x4f, 0x13, 0xbb, 0x2f, 0x7f,
+                0xb9, 0xc5, 0x92, 0x12, 0x0f, 0x92, 0x18, 0xd6, 0x0c, 0xac, 0x8e, 0xea, 0xc5, 0x99,
+                0x25, 0xdb, 0xf7, 0x5d,
             ],
             Core::FullRightShift64_1 => [
-                0x37, 0x68, 0x82, 0x60, 0xc5, 0x3a, 0xf0, 0x6b, 0x85, 0x6d, 0x90, 0x22, 0xca, 0x5d,
-                0x87, 0xf8, 0xa6, 0x87, 0xee, 0x53, 0xfa, 0xca, 0x18, 0x66, 0xec, 0x84, 0x2a, 0x7c,
-                0x89, 0x0a, 0x4b, 0x70,
+                0x2e, 0xbc, 0x1c, 0x95, 0x5d, 0x26, 0x56, 0x48, 0xa8, 0xb9, 0x1b, 0x6f, 0x5e, 0xce,
+                0x5f, 0x23, 0xfa, 0x9c, 0x2c, 0x6c, 0x88, 0xde, 0x7c, 0xbe, 0x3f, 0x7c, 0xc8, 0x38,
+                0x5b, 0x21, 0x91, 0x17,
             ],
             Core::FullRightShift64_16 => [
-                0x41, 0x7b, 0xfb, 0x71, 0x5a, 0x20, 0xb1, 0x0d, 0x48, 0x81, 0xf5, 0xc3, 0x49, 0x6c,
-                0x63, 0xef, 0xee, 0x4a, 0xb5, 0x00, 0x3d, 0xfd, 0x0a, 0x16, 0xb8, 0x5f, 0x94, 0xf8,
-                0xe5, 0xb0, 0x66, 0x7c,
+                0x46, 0x58, 0xdd, 0x0c, 0x37, 0xf3, 0xec, 0x6b, 0xe5, 0x22, 0x41, 0x73, 0xd2, 0xff,
+                0x9b, 0x7c, 0x91, 0x01, 0x74, 0x2f, 0x69, 0x0f, 0x15, 0xa7, 0x2e, 0x66, 0x6c, 0x87,
+                0x0e, 0x1d, 0x90, 0x55,
             ],
             Core::FullRightShift64_2 => [
-                0xce, 0xca, 0x25, 0x67, 0xb9, 0x1a, 0x63, 0xe9, 0xca, 0x44, 0x03, 0x5e, 0xb5, 0x9e,
-                0x2f, 0x22, 0xd8, 0x1e, 0x37, 0xe1, 0x96, 0x59, 0x5a, 0x74, 0x8c, 0xea, 0x4a, 0x46,
-                0x84, 0xa2, 0x15, 0xb0,
+                0x88, 0x9f, 0x8b, 0x7b, 0xc1, 0x1e, 0x9b, 0x74, 0xea, 0x93, 0x37, 0x4f, 0xfe, 0xd1,
+                0x14, 0x64, 0xe7, 0x83, 0x7d, 0xee, 0x18, 0x19, 0x81, 0xcb, 0xe4, 0x78, 0x6f, 0x57,
+                0xa2, 0x65, 0xc3, 0x4f,
             ],
             Core::FullRightShift64_32 => [
-                0x03, 0x96, 0x99, 0x37, 0x84, 0x02, 0x3d, 0x47, 0xe8, 0x51, 0x4b, 0x45, 0x92, 0x98,
-                0x19, 0x8d, 0x33, 0xbd, 0x71, 0xe6, 0xf7, 0x56, 0xd0, 0x8e, 0xdf, 0x46, 0x2a, 0x8f,
-                0x62, 0xa2, 0x1b, 0x80,
+                0x06, 0x24, 0x67, 0xcd, 0x19, 0x4b, 0xb4, 0xfe, 0x1d, 0xd5, 0xed, 0xe5, 0x7b, 0xc6,
+                0x51, 0x80, 0x94, 0x8e, 0xba, 0xc9, 0x87, 0x8b, 0x2c, 0x04, 0x2b, 0xe3, 0x56, 0xf2,
+                0xf4, 0x22, 0xc2, 0xec,
             ],
             Core::FullRightShift64_4 => [
-                0xde, 0xe4, 0xda, 0xd6, 0x7a, 0x5d, 0xdc, 0xc3, 0x5d, 0xa1, 0xa7, 0x90, 0x63, 0xca,
-                0x97, 0x5f, 0x81, 0x34, 0xc8, 0xea, 0xc5, 0x6a, 0x9f, 0x55, 0x5d, 0x2b, 0x0e, 0x13,
-                0xda, 0x10, 0x99, 0x4d,
+                0x99, 0x45, 0x72, 0x13, 0x88, 0x48, 0x37, 0x43, 0x7e, 0x8a, 0xb6, 0x36, 0xd7, 0xf3,
+                0x51, 0x3a, 0x24, 0xd9, 0x4e, 0x74, 0xe5, 0x99, 0x0c, 0x2c, 0x24, 0xe8, 0xdf, 0xe1,
+                0x4c, 0xf9, 0x98, 0x6f,
             ],
             Core::FullRightShift64_8 => [
-                0x9c, 0xd7, 0x78, 0x03, 0xfc, 0x38, 0x9c, 0x94, 0xff, 0xf2, 0x86, 0xda, 0x0b, 0x37,
-                0x4b, 0x89, 0xfe, 0xeb, 0x3d, 0xaa, 0x38, 0xce, 0x67, 0xca, 0xb0, 0x22, 0x0d, 0xab,
-                0xee, 0xfe, 0x23, 0xa2,
+                0x00, 0x8d, 0x5b, 0x6a, 0x26, 0xa0, 0xe1, 0x3f, 0x17, 0xa9, 0x24, 0xa9, 0xe0, 0x0f,
+                0x5b, 0x07, 0xc8, 0x12, 0x3b, 0x59, 0x7e, 0x63, 0xcd, 0xf9, 0x48, 0x1d, 0xd1, 0x6f,
+                0x43, 0x32, 0xe6, 0xdf,
             ],
             Core::FullRightShift8_1 => [
-                0xee, 0x23, 0xff, 0xf0, 0x7d, 0xe5, 0x3c, 0xc3, 0x71, 0x09, 0xa4, 0x7f, 0x9f, 0xde,
-                0x3c, 0x74, 0x44, 0x7a, 0xe8, 0x31, 0xce, 0xe9, 0xac, 0x4d, 0xb7, 0x90, 0xcd, 0xe8,
-                0xb1, 0x53, 0x23, 0xb2,
+                0x59, 0x1a, 0xde, 0xe6, 0xd4, 0xa3, 0xdd, 0xf3, 0x94, 0x7b, 0x48, 0x61, 0x5b, 0x7f,
+                0x6e, 0xcd, 0xf1, 0x16, 0x57, 0x36, 0x4c, 0x3a, 0xee, 0xcf, 0xad, 0x43, 0xf2, 0x8e,
+                0x11, 0xa7, 0x5e, 0x56,
             ],
             Core::FullRightShift8_2 => [
-                0x25, 0xe1, 0xde, 0xa1, 0x08, 0xc5, 0xf8, 0x9c, 0xce, 0x5b, 0x3d, 0x5b, 0x0e, 0x07,
-                0x92, 0xbe, 0x37, 0x90, 0x1a, 0x5a, 0x65, 0xde, 0xf9, 0x04, 0xdd, 0x51, 0x71, 0x0a,
-                0x35, 0x5a, 0xb5, 0x5f,
+                0xbf, 0x18, 0xaf, 0x96, 0x4c, 0x49, 0xb6, 0x2e, 0xe7, 0x99, 0x21, 0xfd, 0xe0, 0xeb,
+                0x32, 0x52, 0xf4, 0x16, 0x38, 0x67, 0x77, 0x17, 0x3c, 0xa6, 0xf6, 0xea, 0xd6, 0x89,
+                0xb1, 0x90, 0xfb, 0x2f,
             ],
             Core::FullRightShift8_4 => [
-                0xd7, 0xf0, 0xa8, 0x3c, 0x41, 0x04, 0x54, 0x3e, 0xc7, 0x5b, 0x5e, 0xe7, 0x5b, 0xf5,
-                0xf7, 0x91, 0x5d, 0x65, 0xfa, 0x50, 0xc2, 0x09, 0x5d, 0xe2, 0xa3, 0x56, 0x70, 0xa5,
-                0x05, 0xbe, 0x12, 0x9a,
+                0x8d, 0x05, 0xa2, 0x81, 0xbe, 0x22, 0x0a, 0x8c, 0xa3, 0xeb, 0xd9, 0xa8, 0x62, 0x67,
+                0x08, 0xf9, 0x1f, 0x28, 0x6d, 0xa4, 0x22, 0x22, 0xc7, 0xa5, 0x51, 0x8e, 0x17, 0x9c,
+                0x09, 0xe5, 0xa0, 0x2f,
             ],
             Core::FullSubtract16 => [
-                0x95, 0xea, 0x5e, 0x54, 0xc5, 0x60, 0x3f, 0x2f, 0x78, 0xac, 0xf6, 0xb8, 0xa8, 0x7a,
-                0x63, 0xb3, 0xac, 0xc7, 0xb6, 0x5f, 0x2b, 0x87, 0xb6, 0x90, 0x4b, 0x98, 0x30, 0xfa,
-                0x91, 0x21, 0x2c, 0x8c,
+                0x79, 0x55, 0x12, 0x6e, 0x2c, 0x3d, 0x86, 0x2c, 0x1e, 0x44, 0x9e, 0xf6, 0xe4, 0x35,
+                0xdf, 0x3e, 0xd5, 0xa6, 0x4c, 0x20, 0x11, 0x43, 0x57, 0x8e, 0xcf, 0xd3, 0xf5, 0x1b,
+                0xaf, 0x2b, 0xe2, 0x35,
             ],
             Core::FullSubtract32 => [
-                0x32, 0x96, 0x35, 0x26, 0xfc, 0x60, 0x89, 0xf5, 0xec, 0x7d, 0xa5, 0x84, 0xfb, 0xee,
-                0x32, 0x37, 0x63, 0x1c, 0x9b, 0x12, 0x81, 0xf6, 0xf4, 0x46, 0xd9, 0x9c, 0x9b, 0x50,
-                0xc8, 0x0c, 0x76, 0xdb,
+                0x26, 0x18, 0xa4, 0x11, 0x47, 0xc7, 0x9f, 0x69, 0x09, 0xa6, 0x51, 0xb4, 0x92, 0xb5,
+                0x4e, 0xd3, 0xc4, 0x05, 0x7a, 0x2e, 0xc0, 0x39, 0xf9, 0x1c, 0x20, 0x10, 0x54, 0x54,
+                0xac, 0x61, 0x03, 0x79,
             ],
             Core::FullSubtract64 => [
-                0x15, 0xd4, 0x8a, 0x43, 0x24, 0x79, 0xb4, 0x51, 0xa6, 0xe2, 0xc1, 0x8f, 0x43, 0xfb,
-                0x0d, 0xfc, 0x9a, 0xeb, 0x6f, 0xce, 0x04, 0x03, 0x50, 0x27, 0xb0, 0x33, 0xaa, 0x99,
-                0xfb, 0x14, 0x34, 0x47,
+                0x5e, 0x05, 0xb1, 0x0a, 0xcf, 0x51, 0xc2, 0xf2, 0xb7, 0xf8, 0x72, 0x6d, 0x3f, 0x41,
+                0x4a, 0xea, 0x2f, 0xb6, 0x31, 0x1f, 0x6d, 0xd6, 0x72, 0x45, 0xbd, 0x4a, 0x35, 0xb1,
+                0x69, 0x53, 0xaf, 0x13,
             ],
             Core::FullSubtract8 => [
-                0x2b, 0xd4, 0xf0, 0xb3, 0xa0, 0xa7, 0x58, 0xac, 0x39, 0xf1, 0x58, 0x1b, 0x2c, 0x34,
-                0xd7, 0xf4, 0x14, 0xdb, 0x4d, 0x8e, 0x1b, 0xc1, 0x19, 0xd7, 0xf8, 0x92, 0x91, 0x35,
-                0x48, 0x0e, 0x9a, 0xff,
+                0x68, 0xd2, 0x79, 0xe1, 0x6f, 0xe8, 0x4b, 0xa5, 0xe7, 0x44, 0xcd, 0xba, 0x86, 0xef,
+                0xf3, 0xa3, 0xe0, 0xda, 0x05, 0x54, 0x7e, 0xfa, 0x98, 0x17, 0xdf, 0xb9, 0x9f, 0xde,
+                0x70, 0x21, 0x46, 0xac,
             ],
             Core::GeIsOnCurve => [
-                0x05, 0x72, 0xae, 0xf3, 0x63, 0x00, 0x50, 0x8c, 0x96, 0xed, 0xa4, 0xa4, 0xfe, 0xc8,
-                0x57, 0x9d, 0x8d, 0x8a, 0x43, 0xbd, 0x54, 0x0c, 0xb6, 0xdd, 0xec, 0xc8, 0x2a, 0x49,
-                0xe6, 0x68, 0xf7, 0xde,
+                0xf5, 0x13, 0xc5, 0x94, 0x61, 0x5a, 0x9f, 0x2f, 0xcf, 0x35, 0x60, 0x55, 0xe2, 0xf7,
+                0x74, 0x88, 0x16, 0xa3, 0xd4, 0xba, 0x54, 0x15, 0xbf, 0x12, 0xca, 0x17, 0xa5, 0xca,
+                0xe9, 0xac, 0x72, 0x5a,
             ],
             Core::GeNegate => [
-                0x90, 0xf3, 0x3d, 0x91, 0x0f, 0x85, 0x8f, 0x9b, 0x3b, 0x84, 0x0d, 0xdb, 0xc0, 0x3d,
-                0x8a, 0x39, 0xaf, 0x81, 0x02, 0x14, 0x85, 0x3b, 0xad, 0x3c, 0x90, 0x5f, 0x18, 0x29,
-                0x6f, 0xdf, 0xcb, 0x58,
+                0xc4, 0x3f, 0x47, 0xb1, 0x1c, 0xdb, 0xc9, 0xca, 0x85, 0xb6, 0x88, 0x05, 0xa4, 0xa7,
+                0x0b, 0x82, 0xbf, 0x93, 0x8c, 0x1c, 0x0b, 0x2c, 0x1b, 0x27, 0x71, 0xa8, 0x6b, 0xfd,
+                0x99, 0x37, 0x34, 0xa7,
             ],
             Core::GejAdd => [
-                0x00, 0x87, 0x1c, 0x07, 0x66, 0x28, 0x6a, 0x50, 0x0a, 0xce, 0xa0, 0x5f, 0x7a, 0x1f,
-                0xd9, 0x8c, 0x3e, 0x52, 0x46, 0xc1, 0x94, 0x67, 0x71, 0xe4, 0x73, 0x8e, 0x75, 0x82,
-                0x09, 0x1c, 0xca, 0x0d,
+                0xf5, 0x64, 0x35, 0xe4, 0xad, 0x5a, 0xa9, 0x56, 0x27, 0xaa, 0xa2, 0xf5, 0xf2, 0xba,
+                0xd4, 0xe4, 0x5e, 0xf6, 0x2e, 0x4a, 0x8a, 0x83, 0xc0, 0x8e, 0x31, 0xe8, 0x10, 0x09,
+                0x5c, 0xe3, 0x43, 0xb2,
             ],
             Core::GejDouble => [
-                0x5f, 0xc4, 0x80, 0xc5, 0x05, 0xb6, 0x7d, 0xdd, 0xb9, 0xce, 0x84, 0xb0, 0xa8, 0xee,
-                0x5a, 0x7e, 0x4e, 0xf0, 0xe9, 0x36, 0x59, 0xd4, 0x45, 0x21, 0xe6, 0xa6, 0x64, 0xac,
-                0x5d, 0x65, 0x56, 0xf8,
+                0xa0, 0x8e, 0xa3, 0x9e, 0xeb, 0x49, 0x0b, 0x60, 0x49, 0xc7, 0x2a, 0xb9, 0x21, 0x5d,
+                0x61, 0x05, 0x8e, 0xd1, 0xee, 0x33, 0x77, 0x94, 0x21, 0x84, 0x0d, 0x3e, 0x3d, 0x43,
+                0xe6, 0x37, 0x19, 0xfc,
             ],
             Core::GejEquiv => [
-                0xe8, 0x7f, 0x98, 0xd9, 0x1d, 0x9e, 0xbd, 0xec, 0x16, 0x7a, 0xba, 0x00, 0xf8, 0xe8,
-                0xfc, 0x6d, 0xab, 0x80, 0x79, 0xc7, 0x6b, 0x4d, 0x9c, 0x3d, 0x88, 0xf1, 0xf8, 0x4c,
-                0x8e, 0x6c, 0xd2, 0x74,
+                0x9c, 0xa3, 0x67, 0x6b, 0xcc, 0xc5, 0x44, 0xed, 0x7a, 0xa3, 0xf7, 0x51, 0x75, 0xe9,
+                0xf2, 0x3e, 0x03, 0x0c, 0xd6, 0x4f, 0xb6, 0xa5, 0x89, 0x8d, 0x90, 0xd2, 0x3e, 0x0d,
+                0xc2, 0xae, 0xed, 0xd1,
             ],
             Core::GejGeAdd => [
-                0xa2, 0x4d, 0x04, 0x9f, 0xf1, 0xe4, 0xcf, 0x37, 0x84, 0xc1, 0xb7, 0xd6, 0xd1, 0xba,
-                0x09, 0xfd, 0x17, 0xfe, 0xcf, 0xeb, 0x55, 0x80, 0xea, 0xb5, 0xf1, 0x1e, 0x8f, 0x8e,
-                0xb9, 0xd9, 0xad, 0xef,
+                0xc8, 0xf3, 0xd8, 0x6d, 0x13, 0x1e, 0x35, 0xea, 0x67, 0xb2, 0x50, 0xa0, 0x8e, 0xdb,
+                0xf5, 0x8c, 0x6f, 0x05, 0x43, 0x9c, 0x41, 0xfc, 0xbd, 0x32, 0x90, 0x8d, 0xc8, 0x6a,
+                0xe8, 0xce, 0x5d, 0xf7,
             ],
             Core::GejGeAddEx => [
-                0x1e, 0x0e, 0x26, 0xd0, 0xb2, 0x9a, 0xe6, 0x3d, 0x41, 0xe6, 0x76, 0x7e, 0x01, 0x6e,
-                0x7e, 0x24, 0x86, 0xe4, 0xf5, 0xd8, 0xdc, 0x2c, 0xf6, 0x65, 0x02, 0x22, 0x03, 0x16,
-                0x40, 0xf1, 0x73, 0x3a,
+                0x8b, 0xcf, 0x3c, 0xcb, 0x4b, 0xf6, 0x91, 0x97, 0x49, 0x89, 0xfc, 0x4e, 0x86, 0x99,
+                0x6c, 0x66, 0xba, 0xf1, 0xb0, 0xab, 0xa8, 0xc9, 0x64, 0x65, 0x86, 0x2a, 0x81, 0x84,
+                0xa1, 0x29, 0xa0, 0xae,
             ],
             Core::GejGeEquiv => [
-                0x3b, 0x51, 0xda, 0xcd, 0x29, 0xff, 0x5c, 0xd3, 0xc3, 0x20, 0x45, 0x5f, 0xc3, 0xfa,
-                0x1a, 0xe9, 0x61, 0x21, 0x29, 0xaa, 0x8c, 0x8e, 0x23, 0x74, 0x60, 0xc3, 0xca, 0x2a,
-                0xd5, 0x4e, 0x8f, 0x58,
+                0x67, 0xb2, 0x8f, 0x43, 0xbf, 0x1e, 0xb5, 0xc0, 0x4f, 0x24, 0x56, 0x59, 0x7e, 0xab,
+                0x77, 0x6e, 0x48, 0xd4, 0x98, 0xfd, 0x8a, 0xe5, 0x28, 0x4d, 0xb3, 0x52, 0xa7, 0x3d,
+                0x1b, 0xdd, 0x28, 0x5b,
             ],
             Core::GejInfinity => [
-                0x88, 0xd4, 0x64, 0x2c, 0xfc, 0x2b, 0x52, 0xd0, 0x90, 0xce, 0x6e, 0x89, 0x5c, 0x20,
-                0xda, 0x2e, 0xfb, 0x0d, 0xf6, 0xfe, 0x84, 0xf2, 0x27, 0x22, 0xbc, 0x46, 0x11, 0x1c,
-                0xc6, 0xbe, 0x5c, 0xda,
+                0xc9, 0xcc, 0xee, 0x79, 0xe6, 0xfd, 0x32, 0x71, 0xfb, 0xb3, 0x84, 0x56, 0x88, 0x74,
+                0x24, 0x95, 0x3b, 0x25, 0x4b, 0x9e, 0x90, 0xb7, 0xb7, 0x79, 0xfd, 0x57, 0x89, 0x68,
+                0x45, 0x41, 0x0c, 0x66,
             ],
             Core::GejIsInfinity => [
-                0x80, 0xf5, 0x28, 0xe5, 0xd8, 0x56, 0x72, 0xdc, 0x8d, 0x9c, 0x26, 0x4f, 0x67, 0xc7,
-                0xb7, 0x27, 0x00, 0xfa, 0xad, 0x89, 0x97, 0x2a, 0x7e, 0x1d, 0x27, 0xd0, 0x49, 0xc9,
-                0x47, 0x4b, 0x6c, 0xd9,
+                0x99, 0xd3, 0x98, 0xd5, 0xf2, 0x38, 0xc0, 0x55, 0xee, 0x32, 0xa9, 0x75, 0xdd, 0x44,
+                0x5f, 0xbc, 0x5e, 0xce, 0x59, 0x9f, 0x74, 0xa3, 0x19, 0x0a, 0x63, 0x6d, 0xdd, 0x5d,
+                0xd1, 0x11, 0xf5, 0x87,
             ],
             Core::GejIsOnCurve => [
-                0x70, 0xce, 0x4f, 0xfc, 0xe2, 0x49, 0x7c, 0xc6, 0x2f, 0x17, 0x0c, 0x57, 0x14, 0xff,
-                0x2c, 0xfe, 0xce, 0x90, 0xb4, 0xcb, 0x89, 0xa6, 0xa2, 0x2f, 0xac, 0x26, 0xb1, 0xb5,
-                0xc6, 0x6f, 0xaa, 0x10,
+                0x6c, 0x73, 0xc2, 0x19, 0xa7, 0xe9, 0x22, 0x8f, 0x6f, 0x48, 0x2c, 0x11, 0x17, 0x43,
+                0x31, 0x1c, 0x49, 0x8b, 0xac, 0xd0, 0xc1, 0xfc, 0x00, 0xac, 0x3c, 0xe4, 0x1f, 0x49,
+                0x73, 0x5b, 0xa2, 0xff,
             ],
             Core::GejNegate => [
-                0xad, 0x53, 0xf1, 0x79, 0x3f, 0xe0, 0x7b, 0x8d, 0x67, 0x2d, 0x9f, 0x7b, 0x07, 0x41,
-                0xe9, 0xed, 0x61, 0x55, 0x7e, 0xff, 0x5b, 0x72, 0x96, 0xc5, 0x68, 0xe0, 0x9b, 0x3d,
-                0x19, 0xcf, 0x71, 0x24,
+                0xb1, 0xec, 0x2b, 0x7b, 0x3a, 0x34, 0x29, 0x4d, 0xf8, 0x99, 0x12, 0x91, 0x1d, 0x35,
+                0x1f, 0xe0, 0xef, 0x23, 0x3f, 0xdc, 0x60, 0x11, 0x58, 0x76, 0xbd, 0xcf, 0x61, 0x1d,
+                0x59, 0x0b, 0x08, 0xd6,
             ],
             Core::GejNormalize => [
-                0x03, 0x33, 0xdf, 0x98, 0xa8, 0x06, 0x0c, 0x93, 0x15, 0xc5, 0xfd, 0xb8, 0x3e, 0xbf,
-                0xfe, 0x34, 0x07, 0xbf, 0x9c, 0x33, 0x6b, 0xf4, 0xbb, 0x92, 0x2d, 0xf5, 0x85, 0x88,
-                0x7e, 0x1a, 0xcd, 0xc7,
+                0x3c, 0xc6, 0xcf, 0x4c, 0xed, 0x32, 0x3e, 0xa6, 0xdc, 0xf4, 0x18, 0x44, 0xdb, 0x49,
+                0x53, 0xaa, 0x3d, 0xb2, 0x9d, 0x08, 0xff, 0xfc, 0x18, 0x6f, 0x53, 0x8a, 0x38, 0x7a,
+                0x6c, 0xbf, 0x72, 0x27,
             ],
             Core::GejRescale => [
-                0xf0, 0x0a, 0xd1, 0x8f, 0xb4, 0x92, 0x8c, 0xfa, 0xd0, 0x2c, 0x5b, 0x9d, 0x8b, 0x6f,
-                0xd4, 0xb0, 0x5d, 0x7c, 0xb5, 0x49, 0xee, 0x65, 0x98, 0x4d, 0x02, 0x2a, 0x6d, 0xf9,
-                0x87, 0x12, 0xb6, 0xd9,
+                0xd1, 0xa8, 0x87, 0x77, 0xd2, 0x20, 0x1b, 0xf8, 0x4c, 0x94, 0xe5, 0x85, 0xc6, 0x12,
+                0xcd, 0x18, 0xe1, 0xaa, 0x4a, 0x18, 0x62, 0x4c, 0xca, 0x5d, 0xe5, 0xfb, 0xe4, 0x41,
+                0xc3, 0x68, 0xb1, 0x90,
             ],
             Core::GejXEquiv => [
-                0xe3, 0x1c, 0x0f, 0x2c, 0x5d, 0x08, 0x13, 0x9b, 0x4f, 0xeb, 0x09, 0x85, 0x2c, 0x06,
-                0xb6, 0xaa, 0x00, 0xb1, 0xd1, 0x3e, 0x62, 0xba, 0xbd, 0x99, 0x82, 0x82, 0x12, 0xdc,
-                0xff, 0x82, 0x21, 0x7c,
+                0xb9, 0xfe, 0x21, 0xa5, 0xed, 0x60, 0x69, 0x4d, 0x04, 0x2b, 0xa2, 0x1c, 0xad, 0xfc,
+                0xd9, 0x44, 0x3c, 0x6f, 0xf7, 0x28, 0xf6, 0x8e, 0x51, 0xd7, 0xd5, 0x5e, 0x05, 0xa9,
+                0xbb, 0x7a, 0x1d, 0x1b,
             ],
             Core::GejYIsOdd => [
-                0xe3, 0x4c, 0x86, 0x7d, 0xe1, 0x6b, 0x2f, 0x65, 0x61, 0x09, 0xa7, 0x38, 0x72, 0xb0,
-                0xb5, 0xba, 0x55, 0xca, 0x3c, 0x2d, 0xbe, 0xa9, 0xc2, 0xc6, 0xe4, 0xcb, 0x19, 0xad,
-                0x18, 0xc0, 0x6f, 0x56,
+                0xaf, 0x25, 0x25, 0x24, 0xfb, 0x38, 0xc4, 0x4f, 0xa7, 0xca, 0x6f, 0x0d, 0x69, 0x3e,
+                0xe3, 0x43, 0x06, 0xa3, 0x1e, 0xd9, 0x21, 0xf9, 0x31, 0x1c, 0x91, 0x72, 0x63, 0x89,
+                0xb1, 0xf6, 0x83, 0x76,
             ],
             Core::Generate => [
-                0xa3, 0xc5, 0x5b, 0xef, 0x32, 0xa3, 0x50, 0xd9, 0x0d, 0x5c, 0x3d, 0xac, 0x24, 0x76,
-                0x7a, 0x03, 0x86, 0x7f, 0xaf, 0x7a, 0x73, 0x27, 0x77, 0x03, 0x89, 0x5a, 0x27, 0xcb,
-                0x6b, 0x44, 0x25, 0x2d,
+                0xe5, 0x87, 0x2b, 0xc9, 0xf0, 0xc1, 0xf8, 0x55, 0x4d, 0xe0, 0x17, 0x84, 0x38, 0xa9,
+                0xf6, 0x49, 0x94, 0x76, 0xca, 0xc8, 0xc5, 0x80, 0xf3, 0xd0, 0xb6, 0x0d, 0x85, 0x48,
+                0x85, 0x18, 0x4c, 0xb6,
             ],
             Core::HashToCurve => [
-                0x4d, 0xc3, 0xeb, 0x6a, 0x6f, 0xbe, 0x37, 0x4b, 0xa7, 0x69, 0x64, 0x72, 0x63, 0xa6,
-                0x95, 0xa4, 0x5d, 0x09, 0x21, 0x13, 0x8a, 0x17, 0xf0, 0x03, 0xc4, 0xab, 0xb7, 0x58,
-                0xd8, 0x38, 0xb1, 0x33,
+                0xa1, 0x7b, 0x59, 0xe3, 0xf0, 0x14, 0xb1, 0x58, 0xad, 0x47, 0xb5, 0xbb, 0x42, 0x90,
+                0xf1, 0x7b, 0x5b, 0xb7, 0x0b, 0xc6, 0x47, 0x1d, 0x3b, 0xe6, 0xd3, 0x86, 0x98, 0xe5,
+                0x23, 0x4a, 0xb6, 0xf2,
             ],
             Core::High1 => [
-                0x97, 0xa1, 0x43, 0xf0, 0x4c, 0xb6, 0x03, 0xf6, 0x5f, 0x84, 0xa8, 0x0d, 0x31, 0xc3,
-                0x36, 0x4f, 0x8f, 0xda, 0x22, 0x97, 0x3a, 0x9a, 0xe6, 0x95, 0xa5, 0x81, 0x89, 0xc3,
-                0x14, 0x63, 0xa8, 0xbf,
+                0x72, 0x18, 0x87, 0x56, 0xe0, 0x64, 0xfe, 0xf6, 0x07, 0x3d, 0x82, 0x53, 0x0e, 0x95,
+                0xee, 0x3a, 0x04, 0x88, 0x9c, 0x6b, 0xf9, 0xe4, 0x4e, 0x05, 0x96, 0x22, 0x40, 0x4e,
+                0xa1, 0x7c, 0x69, 0x4a,
             ],
             Core::High16 => [
-                0x62, 0x10, 0xac, 0x71, 0x36, 0x58, 0x6c, 0x73, 0xa0, 0x9c, 0x94, 0x21, 0xa4, 0x0e,
-                0x30, 0x8c, 0x44, 0x91, 0xea, 0xce, 0x9b, 0x5b, 0x36, 0x95, 0xd6, 0x1f, 0x4c, 0x81,
-                0x96, 0xa6, 0x9d, 0xc8,
+                0x0e, 0x41, 0x4a, 0x0c, 0xe6, 0x81, 0x47, 0x85, 0xe0, 0x19, 0xf1, 0x4d, 0x47, 0x71,
+                0x40, 0x76, 0xe8, 0x7b, 0x12, 0x3e, 0x9a, 0x21, 0x22, 0xb1, 0x64, 0x3c, 0xc0, 0x66,
+                0x8c, 0x6e, 0xce, 0x09,
             ],
             Core::High32 => [
-                0x71, 0x94, 0x24, 0xb1, 0xac, 0xd3, 0x5b, 0x13, 0x73, 0x58, 0x06, 0x90, 0xa7, 0xec,
-                0x0b, 0x8f, 0xb4, 0x86, 0x14, 0x5c, 0x9c, 0xde, 0x72, 0x8d, 0xa7, 0x98, 0x46, 0x93,
-                0xe9, 0x5f, 0xc7, 0xc0,
+                0x08, 0x03, 0x29, 0x7a, 0xc5, 0xfb, 0xea, 0x98, 0x5e, 0xf6, 0x19, 0xa0, 0x38, 0xbe,
+                0xd0, 0x68, 0xf8, 0x60, 0xb2, 0x30, 0x95, 0x26, 0x0e, 0x92, 0x6a, 0xf7, 0xd8, 0x9d,
+                0xd0, 0xcc, 0x93, 0x21,
             ],
             Core::High64 => [
-                0x8c, 0x5d, 0x44, 0x09, 0x34, 0xdf, 0xdc, 0xf2, 0x75, 0xa2, 0x1c, 0xf0, 0x87, 0xac,
-                0x12, 0x7d, 0xa7, 0x57, 0x15, 0xb5, 0xda, 0xc9, 0xc6, 0x93, 0xc2, 0xaf, 0xd7, 0xc7,
-                0x18, 0xdc, 0x0f, 0xfb,
+                0x47, 0x1c, 0xe7, 0xd2, 0xd1, 0xbc, 0xcb, 0xcc, 0xb1, 0x8a, 0xbd, 0xe3, 0xe5, 0x34,
+                0x79, 0x53, 0xbc, 0x7e, 0x63, 0xc8, 0xb4, 0x3f, 0x1a, 0x7c, 0xee, 0x95, 0x53, 0x38,
+                0x2c, 0x6b, 0x8d, 0x21,
             ],
             Core::High8 => [
-                0x3a, 0x5c, 0xe0, 0x0e, 0x15, 0xe3, 0x18, 0x08, 0x51, 0xc2, 0x00, 0x21, 0x1f, 0x1c,
-                0x82, 0xda, 0xa3, 0x3e, 0xc8, 0x76, 0x38, 0x24, 0x8a, 0x4b, 0xf1, 0x13, 0x40, 0x7c,
-                0x6b, 0x16, 0xac, 0x4f,
+                0x60, 0xc6, 0x69, 0xbb, 0x56, 0xac, 0xa8, 0x8d, 0xa1, 0x3e, 0x09, 0x30, 0x11, 0xa7,
+                0xbb, 0xed, 0x55, 0x07, 0x9e, 0xa9, 0xbc, 0xdb, 0x84, 0x38, 0xf3, 0xdc, 0x53, 0xe1,
+                0x2c, 0x20, 0x40, 0x9d,
             ],
             Core::Increment16 => [
-                0x80, 0xf6, 0xcb, 0xbc, 0x09, 0xb7, 0x8c, 0xea, 0x76, 0xc8, 0x13, 0x90, 0xd3, 0xed,
-                0x98, 0x9b, 0x70, 0xe4, 0x39, 0x16, 0x1e, 0xff, 0xaf, 0x9a, 0x62, 0xc6, 0x4b, 0x1b,
-                0x95, 0x9c, 0xd0, 0x30,
+                0x49, 0xc6, 0x29, 0xdb, 0x72, 0x65, 0xd6, 0xa8, 0xd2, 0x6e, 0x83, 0xf6, 0x5d, 0x62,
+                0xe7, 0x38, 0x54, 0xb9, 0xdd, 0xb2, 0x1d, 0x2a, 0xa9, 0xc1, 0xbd, 0x94, 0x6e, 0x4d,
+                0xa0, 0xb2, 0x79, 0x32,
             ],
             Core::Increment32 => [
-                0x5a, 0x96, 0x3c, 0xa4, 0xad, 0xa6, 0x61, 0x9a, 0x80, 0x53, 0x46, 0xe8, 0x09, 0x95,
-                0x03, 0xe4, 0x78, 0x25, 0xbe, 0x5c, 0xf3, 0xc9, 0xa8, 0x9b, 0xfd, 0xbe, 0x2f, 0x19,
-                0x1c, 0x32, 0xa2, 0xe0,
+                0x95, 0x7e, 0xde, 0xc0, 0xdc, 0x98, 0xcf, 0x13, 0xfd, 0xa5, 0xb2, 0x19, 0x31, 0xf0,
+                0x87, 0xe3, 0x64, 0x8e, 0xf2, 0xd7, 0xc6, 0xbe, 0xc8, 0xc5, 0x16, 0xe3, 0x24, 0x4f,
+                0x1b, 0xbc, 0x35, 0x9d,
             ],
             Core::Increment64 => [
-                0x86, 0x57, 0x52, 0x36, 0x83, 0xc2, 0xa0, 0x5c, 0x0e, 0x09, 0x98, 0xcd, 0xa7, 0xb9,
-                0x4e, 0x8b, 0x03, 0x65, 0xee, 0x83, 0x22, 0xa1, 0x4c, 0x5a, 0x37, 0x22, 0xb5, 0x15,
-                0xbb, 0x68, 0x1f, 0x74,
+                0x48, 0xb1, 0x92, 0x7c, 0x68, 0x40, 0x4a, 0xb0, 0x1b, 0xe8, 0x9f, 0xda, 0xcc, 0xb1,
+                0x64, 0xeb, 0xee, 0x4d, 0x69, 0x44, 0xca, 0x8e, 0xf0, 0x39, 0x99, 0xb2, 0x76, 0x29,
+                0x75, 0xd2, 0x2f, 0xf8,
             ],
             Core::Increment8 => [
-                0xd1, 0xdb, 0x8a, 0x9e, 0xce, 0xd1, 0x7e, 0x21, 0x99, 0x65, 0x26, 0xbc, 0x73, 0xbe,
-                0x8e, 0x57, 0x98, 0x68, 0x8d, 0xa3, 0xc2, 0xef, 0x8b, 0x8d, 0x5b, 0xa2, 0x55, 0xd1,
-                0x1e, 0xd8, 0x18, 0x3e,
+                0xe0, 0x79, 0x6c, 0x02, 0x7b, 0xf4, 0xb0, 0x79, 0x47, 0xff, 0x99, 0x1b, 0x27, 0x82,
+                0x07, 0xd3, 0x26, 0xba, 0xe0, 0x74, 0xa4, 0x58, 0x3b, 0x56, 0x42, 0xdf, 0x04, 0x43,
+                0x29, 0x7c, 0x90, 0x1a,
             ],
             Core::IsOne16 => [
-                0x87, 0x7c, 0xd0, 0x01, 0xd5, 0xe7, 0xb7, 0x4e, 0xdd, 0x1a, 0x4a, 0x5c, 0x96, 0x56,
-                0x41, 0xd4, 0xfb, 0x53, 0x68, 0x2d, 0x7f, 0xef, 0xae, 0x50, 0xb5, 0x14, 0x12, 0x18,
-                0xc0, 0x4b, 0xe5, 0xaf,
+                0xa6, 0x86, 0xb2, 0x5c, 0x80, 0xa2, 0x1f, 0x78, 0xfb, 0x30, 0x74, 0xc0, 0xf9, 0x76,
+                0xdc, 0x0b, 0x8f, 0xe1, 0x06, 0xc1, 0x3d, 0xca, 0x01, 0xcb, 0xd6, 0xb4, 0xae, 0xf6,
+                0xd0, 0x4f, 0x26, 0x43,
             ],
             Core::IsOne32 => [
-                0x83, 0x35, 0x4e, 0x97, 0xd6, 0x14, 0x60, 0x0a, 0x49, 0x89, 0x4e, 0xc2, 0xc9, 0xd1,
-                0x98, 0x0f, 0x9c, 0x4c, 0x92, 0x8c, 0x15, 0x61, 0xee, 0xca, 0xc9, 0x9c, 0x16, 0x81,
-                0x9c, 0x2b, 0x07, 0x91,
+                0xfc, 0xfa, 0xdf, 0x11, 0xd7, 0xb1, 0xbb, 0x23, 0x9f, 0x29, 0xd1, 0xca, 0x9f, 0xdc,
+                0xf3, 0x5b, 0x72, 0x8a, 0x1a, 0x62, 0x23, 0x76, 0x07, 0x1d, 0x3c, 0x4d, 0x88, 0xa1,
+                0x3b, 0x12, 0x26, 0x84,
             ],
             Core::IsOne64 => [
-                0xb3, 0x55, 0xf6, 0x02, 0xec, 0x76, 0xc4, 0xc4, 0xce, 0x70, 0x77, 0x20, 0xfd, 0x54,
-                0x34, 0x32, 0x22, 0xa7, 0xc8, 0xcf, 0xca, 0x43, 0x94, 0x51, 0xf2, 0x3f, 0x98, 0x54,
-                0x39, 0x50, 0x78, 0xba,
+                0xcf, 0x69, 0x10, 0x72, 0x37, 0x54, 0xba, 0x79, 0x43, 0x95, 0xda, 0x5d, 0x58, 0xd6,
+                0x1c, 0x19, 0x00, 0x3e, 0x45, 0xee, 0xcf, 0xbf, 0xc9, 0x0d, 0x49, 0xfe, 0x65, 0x7f,
+                0x60, 0x7c, 0x45, 0x1c,
             ],
             Core::IsOne8 => [
-                0xf2, 0x45, 0x9c, 0xf3, 0x5b, 0x97, 0x20, 0x29, 0xfb, 0xb2, 0x2e, 0x82, 0x19, 0x1a,
-                0xce, 0x11, 0x73, 0x2b, 0x1e, 0x08, 0x34, 0x6e, 0x21, 0xcf, 0x0d, 0x30, 0x5b, 0x41,
-                0xfa, 0xe8, 0x79, 0x90,
+                0x56, 0xa2, 0x2d, 0x0e, 0xcb, 0x20, 0x86, 0xd4, 0x3d, 0x52, 0xfd, 0x1d, 0x46, 0x69,
+                0x8a, 0xd4, 0x42, 0x6f, 0x92, 0x35, 0x6a, 0x14, 0xce, 0x06, 0x50, 0x94, 0x1e, 0x52,
+                0x07, 0x2c, 0x96, 0xa8,
             ],
             Core::IsZero16 => [
-                0x6e, 0xd0, 0x33, 0x25, 0x6f, 0xe6, 0x45, 0xb5, 0xec, 0x3f, 0x59, 0x50, 0x8c, 0x60,
-                0x19, 0x2a, 0xc8, 0x76, 0x30, 0x08, 0x91, 0x5c, 0x81, 0x15, 0xe9, 0x29, 0x33, 0x0c,
-                0x0f, 0xcd, 0x48, 0x38,
+                0xf4, 0x9a, 0xbd, 0xbd, 0x6a, 0x3f, 0x17, 0xc8, 0x7d, 0xba, 0xbd, 0x40, 0xe6, 0x61,
+                0x1c, 0x47, 0x7d, 0x43, 0x17, 0x71, 0x90, 0x56, 0x45, 0xef, 0xd3, 0xb2, 0x2d, 0x37,
+                0x91, 0xab, 0xe6, 0xbd,
             ],
             Core::IsZero32 => [
-                0x1a, 0xf3, 0x58, 0xa0, 0x6b, 0xe9, 0x3a, 0xc6, 0xf3, 0x7c, 0xbb, 0x7d, 0x25, 0x4d,
-                0x7b, 0xf9, 0xd7, 0x18, 0x77, 0x38, 0xba, 0xf1, 0xf2, 0x5d, 0x0b, 0x67, 0xc9, 0xff,
-                0xe0, 0x0f, 0x6a, 0x62,
+                0x93, 0x5d, 0x13, 0xda, 0x64, 0x19, 0x0a, 0x36, 0x04, 0x73, 0x5a, 0xf8, 0x40, 0x21,
+                0xbc, 0x12, 0x50, 0x34, 0x97, 0xee, 0x4b, 0x0f, 0xf4, 0xb7, 0x38, 0xfc, 0x84, 0x7e,
+                0x9d, 0x34, 0x19, 0x21,
             ],
             Core::IsZero64 => [
-                0xc1, 0x10, 0x0c, 0xfc, 0x16, 0x20, 0x3c, 0xa4, 0x44, 0xf1, 0x60, 0x82, 0x64, 0x5b,
-                0x72, 0x4d, 0x3e, 0xcd, 0x23, 0xdf, 0x5d, 0x0c, 0xcf, 0x91, 0xf3, 0x5c, 0x5d, 0x9b,
-                0x5a, 0x02, 0xa2, 0xf2,
+                0xe9, 0xb5, 0x74, 0x75, 0x13, 0x30, 0xf9, 0xfe, 0xae, 0xa5, 0x2a, 0xe4, 0xcd, 0xd3,
+                0xa2, 0xe4, 0x6a, 0x99, 0x9c, 0x4f, 0x41, 0xc8, 0xb5, 0x24, 0x00, 0x2c, 0x68, 0x05,
+                0x66, 0x58, 0x46, 0x21,
             ],
             Core::IsZero8 => [
-                0x4d, 0x58, 0x68, 0x0d, 0x8e, 0x1e, 0x86, 0x18, 0xc4, 0x3c, 0xe5, 0x25, 0xf7, 0x86,
-                0x61, 0xa3, 0x01, 0x48, 0x67, 0x58, 0x61, 0xa6, 0x12, 0xd1, 0xbf, 0xcf, 0xe3, 0xbb,
-                0x5f, 0xa4, 0xca, 0x95,
+                0xfd, 0x7f, 0xc5, 0x05, 0xc2, 0x24, 0xe8, 0xbc, 0x02, 0x08, 0x7f, 0x9e, 0xeb, 0xc4,
+                0x85, 0xe9, 0x97, 0xca, 0x15, 0x37, 0x48, 0xc7, 0x81, 0x12, 0x2e, 0x1b, 0x9a, 0xc0,
+                0xfd, 0x94, 0xb9, 0x32,
             ],
             Core::Le16 => [
-                0xd6, 0x17, 0xfe, 0xea, 0xfd, 0x6f, 0xfc, 0x23, 0xfe, 0xff, 0xbe, 0x70, 0x12, 0xce,
-                0x3a, 0x03, 0x02, 0xd4, 0xd1, 0x11, 0x66, 0x58, 0x22, 0xb3, 0x04, 0xb7, 0x9a, 0xdb,
-                0xcc, 0x9a, 0x16, 0xd7,
+                0x98, 0xaf, 0x70, 0xd8, 0x94, 0xf3, 0xd4, 0x39, 0xbe, 0x06, 0x01, 0xe2, 0x4a, 0x33,
+                0xf0, 0x65, 0x0d, 0x23, 0x65, 0xbc, 0xf0, 0x23, 0x02, 0x88, 0x62, 0xeb, 0xfd, 0xa4,
+                0xd5, 0x0a, 0x2d, 0xca,
             ],
             Core::Le32 => [
-                0x45, 0x74, 0x5c, 0x5b, 0xc7, 0xf8, 0x97, 0x8f, 0x85, 0xb1, 0xb1, 0x4d, 0x49, 0x4a,
-                0xf2, 0x1a, 0x8a, 0x51, 0xcc, 0xd8, 0x7f, 0x3f, 0xed, 0xe9, 0x59, 0x74, 0x95, 0x91,
-                0x32, 0xae, 0xf9, 0xce,
+                0x04, 0xa8, 0x35, 0x1a, 0x4c, 0x97, 0xd3, 0xb5, 0xde, 0x4f, 0x91, 0xb2, 0xe9, 0x73,
+                0x9d, 0x9b, 0x3c, 0xc6, 0xad, 0x49, 0xca, 0x07, 0x10, 0x9c, 0x2c, 0xc4, 0x91, 0x8f,
+                0xaf, 0xac, 0x66, 0xb5,
             ],
             Core::Le64 => [
-                0x3a, 0x8f, 0x08, 0x70, 0x90, 0x0a, 0xf7, 0x1d, 0x42, 0x42, 0xfe, 0x26, 0xad, 0x4d,
-                0xfb, 0xed, 0x92, 0xf3, 0x0b, 0xb7, 0x9b, 0x72, 0x73, 0x7d, 0xbc, 0xab, 0x9a, 0xc5,
-                0xc0, 0x70, 0xab, 0xe5,
+                0x19, 0x4c, 0x01, 0xd8, 0xaa, 0x68, 0x95, 0x17, 0x11, 0xe6, 0x15, 0x14, 0x0e, 0x2b,
+                0x5a, 0xce, 0x42, 0x6d, 0xac, 0xd1, 0xfd, 0x6d, 0x86, 0xc7, 0xa7, 0x2f, 0x3a, 0xaa,
+                0x08, 0x9c, 0x24, 0x67,
             ],
             Core::Le8 => [
-                0x5e, 0xcc, 0x9b, 0x33, 0x25, 0x44, 0x67, 0x49, 0xaf, 0xa4, 0x09, 0x65, 0xea, 0x21,
-                0xe0, 0x11, 0x18, 0xfb, 0x8c, 0x1a, 0xdc, 0xdc, 0x11, 0x21, 0x97, 0x93, 0xcb, 0x2a,
-                0xfc, 0x4a, 0x7e, 0x8c,
+                0xb1, 0x33, 0xad, 0x2d, 0x1a, 0x61, 0x78, 0xb1, 0x98, 0x94, 0xc9, 0xdc, 0xe5, 0x92,
+                0x4c, 0x19, 0x9a, 0x04, 0x5f, 0xab, 0x4e, 0x38, 0x8f, 0x16, 0x9a, 0xe1, 0xd8, 0x69,
+                0x81, 0x14, 0x9a, 0x8b,
             ],
             Core::LeftExtend16_32 => [
-                0x8c, 0x99, 0x04, 0x35, 0xb1, 0x35, 0xde, 0x74, 0x57, 0xc2, 0x69, 0x0d, 0x2d, 0xc8,
-                0x74, 0x4a, 0x50, 0x66, 0x41, 0xb8, 0x81, 0xf4, 0x1e, 0x5c, 0x17, 0x02, 0x77, 0x65,
-                0xc3, 0x52, 0xdd, 0xcb,
+                0x9d, 0xbb, 0x9d, 0x79, 0x97, 0xc1, 0xb1, 0xfa, 0x59, 0x13, 0x1e, 0x79, 0xaa, 0xd1,
+                0x6b, 0x9f, 0xca, 0x81, 0xc4, 0x68, 0x32, 0x2d, 0x56, 0xcc, 0x0e, 0x71, 0xfa, 0x05,
+                0xdd, 0x80, 0xc9, 0x6c,
             ],
             Core::LeftExtend16_64 => [
-                0x9b, 0x9f, 0xf9, 0xcc, 0x27, 0x13, 0x93, 0x19, 0xb2, 0x24, 0xb7, 0xb2, 0xb8, 0x16,
-                0xc9, 0x13, 0xa5, 0x68, 0xbf, 0xd0, 0x0b, 0xe1, 0xf3, 0x83, 0xc0, 0x26, 0xbc, 0xff,
-                0xe9, 0xbf, 0xe7, 0x12,
+                0x5d, 0x33, 0x29, 0xd2, 0xc2, 0x9b, 0xe1, 0x04, 0xde, 0x74, 0xdd, 0xaf, 0xc9, 0xb2,
+                0x2f, 0xf6, 0x5d, 0x26, 0x8b, 0xa2, 0xcc, 0xdd, 0xa6, 0x77, 0xe8, 0xfb, 0xfc, 0x65,
+                0x01, 0x30, 0xa3, 0x71,
             ],
             Core::LeftExtend1_16 => [
-                0xb8, 0xff, 0x8d, 0xc1, 0xa0, 0x4c, 0xa7, 0x16, 0x49, 0x17, 0xf4, 0xc4, 0x50, 0x68,
-                0x8c, 0x83, 0xdd, 0x41, 0x6c, 0xef, 0x7b, 0x0f, 0xab, 0xdd, 0x16, 0x92, 0xfa, 0xe6,
-                0xbf, 0xf7, 0xb4, 0xa6,
+                0x74, 0xee, 0x5a, 0x71, 0x88, 0x9e, 0x97, 0xc0, 0x3d, 0x9b, 0x90, 0x4c, 0x67, 0x9f,
+                0xf7, 0xf2, 0xe8, 0xc7, 0x41, 0x0e, 0x6d, 0xc7, 0x48, 0xe0, 0xb5, 0x48, 0xeb, 0xfd,
+                0x96, 0x03, 0xd1, 0xad,
             ],
             Core::LeftExtend1_32 => [
-                0x22, 0x53, 0xa4, 0x52, 0xb9, 0x99, 0x02, 0xab, 0xcf, 0x15, 0x49, 0x6d, 0xf1, 0x9d,
-                0x31, 0x12, 0xa1, 0xce, 0xf5, 0x9b, 0x9a, 0xdc, 0xee, 0x20, 0x6c, 0x0d, 0x8d, 0xce,
-                0xa6, 0x28, 0xd0, 0x73,
+                0x97, 0xac, 0x64, 0x03, 0xdf, 0x61, 0xc7, 0x84, 0x13, 0x96, 0xc9, 0x3e, 0x14, 0x1f,
+                0xaf, 0xc2, 0xa0, 0x96, 0x6e, 0x3e, 0x49, 0x74, 0x87, 0x7b, 0x9e, 0x94, 0x2b, 0xe5,
+                0x9c, 0x78, 0xc8, 0x00,
             ],
             Core::LeftExtend1_64 => [
-                0xc8, 0x59, 0x9c, 0x85, 0x75, 0xed, 0xb7, 0xc2, 0x60, 0x40, 0x2e, 0xf2, 0xf2, 0x6d,
-                0xd4, 0x91, 0xcb, 0x5e, 0x4d, 0x38, 0x18, 0xff, 0x2e, 0x95, 0x85, 0xc8, 0xd3, 0xe7,
-                0x81, 0x2d, 0xb5, 0xaa,
+                0x54, 0x8a, 0xeb, 0x2b, 0x27, 0xb9, 0xef, 0x2a, 0x0b, 0xec, 0x50, 0xb6, 0x38, 0x52,
+                0xfe, 0x24, 0x54, 0x9e, 0x60, 0xa7, 0x43, 0xb9, 0x78, 0x9e, 0xc9, 0x8a, 0xd4, 0xf8,
+                0x73, 0x77, 0x13, 0xed,
             ],
             Core::LeftExtend1_8 => [
-                0xcf, 0xe0, 0x22, 0x00, 0x5f, 0x6b, 0xad, 0x4b, 0x25, 0xb5, 0x1e, 0x9e, 0xbe, 0x92,
-                0x94, 0x24, 0x37, 0x3f, 0xf1, 0x97, 0xce, 0xca, 0x62, 0xb9, 0xe0, 0x69, 0xab, 0x08,
-                0xda, 0x9f, 0x38, 0xf2,
+                0x74, 0x88, 0xda, 0x61, 0x1c, 0xfc, 0xdf, 0xa4, 0xff, 0x3d, 0x63, 0xf8, 0xc3, 0x6d,
+                0x5a, 0x62, 0x9c, 0x58, 0x7e, 0x92, 0x20, 0xbd, 0x98, 0x9b, 0xda, 0x72, 0x06, 0x78,
+                0xa9, 0xc9, 0x7b, 0xf7,
             ],
             Core::LeftExtend32_64 => [
-                0x3f, 0x66, 0x84, 0x04, 0x7e, 0xda, 0xfb, 0x76, 0xf1, 0x1f, 0xbf, 0x59, 0x54, 0x99,
-                0xc5, 0xab, 0xa9, 0xc4, 0xba, 0x55, 0xca, 0xb5, 0x87, 0xcd, 0xfe, 0xba, 0xd4, 0x57,
-                0xb5, 0x5b, 0xf5, 0xbb,
+                0x34, 0x33, 0x50, 0x9a, 0x5d, 0xe5, 0x69, 0x5d, 0x92, 0xca, 0xb9, 0x25, 0x51, 0x43,
+                0xd6, 0x06, 0x67, 0x05, 0x68, 0xc1, 0x47, 0xf4, 0x74, 0xd1, 0x35, 0x93, 0xf5, 0x39,
+                0x5b, 0x9a, 0xd2, 0xc1,
             ],
             Core::LeftExtend8_16 => [
-                0xdb, 0xd5, 0x5f, 0x41, 0x70, 0x15, 0x38, 0x53, 0xba, 0xd0, 0xe0, 0x84, 0xf9, 0xe1,
-                0xa7, 0xe7, 0x5a, 0x7a, 0x0d, 0xc9, 0xd8, 0x92, 0x07, 0x75, 0x57, 0x5b, 0x0d, 0x48,
-                0xe5, 0x07, 0xaf, 0x2f,
+                0x42, 0x0d, 0x0a, 0x56, 0x99, 0xb8, 0x87, 0x5a, 0xcc, 0x2d, 0x18, 0xfd, 0xa9, 0x0c,
+                0x8a, 0x72, 0x74, 0x6d, 0x3e, 0x5e, 0x0c, 0xd8, 0xc1, 0x81, 0x89, 0x7a, 0x81, 0x4c,
+                0x4c, 0x43, 0x39, 0x69,
             ],
             Core::LeftExtend8_32 => [
-                0x5b, 0x5b, 0x45, 0x67, 0x6a, 0x75, 0x03, 0xee, 0xd0, 0x85, 0x57, 0x38, 0x69, 0xdb,
-                0xc5, 0x80, 0x0b, 0x35, 0x02, 0x9d, 0x14, 0x02, 0x90, 0xac, 0x20, 0x89, 0x14, 0x89,
-                0xbd, 0x2a, 0xa7, 0xd5,
+                0xc3, 0x0e, 0x47, 0x5d, 0x46, 0x50, 0xab, 0xe4, 0xae, 0x15, 0xc3, 0x27, 0x4a, 0xe8,
+                0x83, 0x8d, 0xd5, 0x15, 0x88, 0xd1, 0x5b, 0xd0, 0xc6, 0xdc, 0xac, 0xf9, 0x82, 0xaa,
+                0x46, 0x7b, 0xea, 0x62,
             ],
             Core::LeftExtend8_64 => [
-                0x7b, 0x9e, 0xa1, 0x48, 0xa3, 0x0f, 0x2a, 0xf4, 0xd4, 0x00, 0x1d, 0x4f, 0x25, 0xb0,
-                0xbf, 0x4f, 0xdd, 0x67, 0xc7, 0xd0, 0xf1, 0x34, 0xd7, 0xef, 0x3f, 0x67, 0x8f, 0x72,
-                0x19, 0x00, 0x2b, 0xcf,
+                0xa6, 0x3a, 0x6e, 0x66, 0x72, 0xe1, 0xb6, 0xc7, 0x56, 0x54, 0x9a, 0x3e, 0xee, 0x01,
+                0x94, 0x8e, 0x71, 0x19, 0x94, 0xfe, 0x18, 0xd7, 0xca, 0xed, 0xf1, 0x09, 0x15, 0xc1,
+                0x60, 0xd7, 0xa8, 0x0d,
             ],
             Core::LeftPadHigh16_32 => [
-                0xe8, 0xc2, 0xd8, 0x5a, 0x7b, 0x7b, 0x2a, 0x8e, 0xbb, 0x5b, 0x0f, 0x21, 0x2f, 0xc8,
-                0x45, 0x0d, 0xc1, 0xd3, 0xa4, 0x68, 0x22, 0xfb, 0x21, 0xe8, 0x6e, 0x3f, 0xee, 0x02,
-                0x0a, 0xf9, 0x73, 0x8f,
+                0x72, 0xec, 0xa5, 0xc1, 0x13, 0x74, 0x3e, 0xf0, 0xb6, 0x02, 0x55, 0xce, 0x56, 0x78,
+                0x77, 0x72, 0xc7, 0xe7, 0x5e, 0xec, 0xb0, 0xe3, 0xb9, 0x1e, 0x1a, 0x84, 0x7d, 0x75,
+                0xf4, 0x85, 0x14, 0x87,
             ],
             Core::LeftPadHigh16_64 => [
-                0x61, 0x3b, 0x85, 0xd2, 0xa7, 0x51, 0xb3, 0xe5, 0x1f, 0xbc, 0x59, 0xa1, 0xde, 0xdd,
-                0x1f, 0xc7, 0x93, 0x36, 0x5e, 0x40, 0x71, 0xdc, 0x1e, 0x01, 0x41, 0x08, 0xd8, 0x92,
-                0x0d, 0x41, 0xd4, 0x70,
+                0xf6, 0xaf, 0x32, 0xbf, 0xe6, 0x69, 0x76, 0x11, 0x57, 0xce, 0xb1, 0xe8, 0x30, 0x27,
+                0x7d, 0x61, 0x0e, 0x12, 0x4f, 0x15, 0xd5, 0x08, 0x68, 0x5e, 0x40, 0x37, 0xf8, 0xfb,
+                0x38, 0x8f, 0xbd, 0xa9,
             ],
             Core::LeftPadHigh1_16 => [
-                0xe8, 0x2b, 0x00, 0xef, 0xd7, 0xdc, 0xc3, 0x4e, 0x96, 0xe8, 0xf3, 0xe5, 0x1e, 0xad,
-                0x12, 0xd3, 0x84, 0x5f, 0x6c, 0x77, 0x85, 0xe4, 0x43, 0x8b, 0x05, 0x45, 0x7d, 0x95,
-                0x32, 0x6e, 0x59, 0xe3,
+                0xa7, 0xef, 0x7f, 0xc5, 0x2d, 0x9a, 0x03, 0x21, 0xf9, 0x22, 0x14, 0xc5, 0x87, 0x68,
+                0x9c, 0x12, 0x69, 0x6e, 0x4c, 0x46, 0x02, 0xbf, 0x53, 0x95, 0x81, 0xaf, 0xaa, 0xeb,
+                0xd7, 0x79, 0x45, 0xd6,
             ],
             Core::LeftPadHigh1_32 => [
-                0x88, 0x58, 0x5b, 0x8c, 0x45, 0x92, 0xd5, 0xd0, 0x83, 0xdf, 0xf6, 0x8e, 0xb5, 0xc2,
-                0x30, 0xd0, 0x6c, 0x37, 0x99, 0x5a, 0x6f, 0xed, 0xe2, 0x2c, 0x26, 0xe6, 0x61, 0xa7,
-                0x51, 0x6e, 0x5b, 0xf4,
+                0xb5, 0x48, 0x26, 0x36, 0xc7, 0xaf, 0x61, 0xf6, 0x88, 0xf1, 0x2b, 0x4d, 0xce, 0x20,
+                0x9f, 0xcb, 0x1a, 0x73, 0x2c, 0x49, 0x0a, 0xbb, 0x23, 0x6e, 0x73, 0x96, 0x8a, 0x01,
+                0xd4, 0xd9, 0x35, 0x1e,
             ],
             Core::LeftPadHigh1_64 => [
-                0xc2, 0x7e, 0x3d, 0x02, 0x94, 0x92, 0x20, 0x58, 0x89, 0x0d, 0x5c, 0x8b, 0x67, 0x6c,
-                0x1d, 0xae, 0xfd, 0xde, 0x65, 0x31, 0xe8, 0xae, 0x6d, 0x79, 0x37, 0x53, 0x92, 0x72,
-                0x3e, 0xad, 0x9c, 0x03,
+                0x6a, 0x9f, 0x2a, 0x1f, 0xf5, 0xd4, 0x6c, 0x8e, 0x6b, 0x7c, 0x3b, 0x81, 0x01, 0xaf,
+                0xa0, 0x73, 0x55, 0xc4, 0xf6, 0x53, 0xc1, 0x46, 0x7e, 0x45, 0xcd, 0x25, 0xcc, 0x09,
+                0x2e, 0x3a, 0x11, 0xfa,
             ],
             Core::LeftPadHigh1_8 => [
-                0x14, 0x3e, 0x12, 0x39, 0x2b, 0x8f, 0x2e, 0x73, 0x53, 0x71, 0xfe, 0xd0, 0xb4, 0xb6,
-                0xd6, 0x23, 0xff, 0xa4, 0xf6, 0x60, 0xe5, 0x39, 0x0c, 0x00, 0xe5, 0x67, 0xcf, 0x21,
-                0xa1, 0xc9, 0x20, 0x78,
+                0xd7, 0x75, 0xa8, 0x8a, 0x24, 0x80, 0x04, 0xbd, 0x82, 0x1f, 0xa0, 0x80, 0x18, 0x52,
+                0x1f, 0xe8, 0x81, 0x71, 0xe8, 0x42, 0x84, 0xe0, 0xda, 0xff, 0x4b, 0xc9, 0xe6, 0xca,
+                0x1d, 0x8f, 0x8d, 0xe4,
             ],
             Core::LeftPadHigh32_64 => [
-                0xf4, 0x84, 0x7c, 0x67, 0x56, 0x67, 0xb3, 0xc6, 0xa8, 0x90, 0xfd, 0x5a, 0x6a, 0xdb,
-                0x09, 0x27, 0x55, 0x7e, 0xe8, 0x0c, 0xd6, 0xe6, 0x5a, 0xf9, 0xb1, 0xb4, 0x72, 0x95,
-                0x72, 0xcd, 0x86, 0x61,
+                0x0b, 0xf4, 0x89, 0x4b, 0xa0, 0xe5, 0x43, 0x60, 0x18, 0xf7, 0xdd, 0xd1, 0xe1, 0xa1,
+                0x2c, 0xa7, 0xcd, 0x73, 0x09, 0x6f, 0xef, 0x06, 0x6a, 0xd4, 0xb7, 0x78, 0xcc, 0x24,
+                0x19, 0x57, 0xfa, 0xfc,
             ],
             Core::LeftPadHigh8_16 => [
-                0x76, 0x18, 0x05, 0x8a, 0x4e, 0x08, 0xeb, 0x52, 0x43, 0xda, 0xd2, 0x05, 0xcc, 0x7e,
-                0x8d, 0x25, 0x47, 0x38, 0x0d, 0xa0, 0x5e, 0xc5, 0x41, 0x1e, 0xfc, 0x37, 0x2b, 0xaa,
-                0x2b, 0xb1, 0x2d, 0xa6,
+                0x06, 0xda, 0xf4, 0xf8, 0xd5, 0x94, 0x4f, 0x1f, 0x86, 0xdf, 0xbc, 0x37, 0x05, 0x87,
+                0xb4, 0x4d, 0x88, 0x71, 0x61, 0x2b, 0x7a, 0x96, 0xb0, 0x54, 0x75, 0x61, 0x92, 0xdb,
+                0x8f, 0xac, 0x19, 0xb7,
             ],
             Core::LeftPadHigh8_32 => [
-                0x3d, 0xfe, 0xd5, 0xc0, 0xa9, 0xb2, 0x6b, 0x8f, 0x4a, 0x8e, 0xab, 0xd6, 0xfb, 0xed,
-                0x87, 0xbe, 0x45, 0x0d, 0xe7, 0x95, 0xf5, 0x41, 0x95, 0x3e, 0xec, 0x16, 0xa6, 0xd5,
-                0xaa, 0x82, 0x5a, 0x56,
+                0xbc, 0x20, 0x7c, 0x1e, 0x1e, 0xae, 0x88, 0xcd, 0x1b, 0xb4, 0xf9, 0x4c, 0x61, 0xdb,
+                0xd8, 0x50, 0xbb, 0xfa, 0x64, 0xa6, 0x20, 0xeb, 0xc0, 0x4f, 0x0c, 0x86, 0x92, 0x8e,
+                0xad, 0x2c, 0x32, 0x12,
             ],
             Core::LeftPadHigh8_64 => [
-                0xce, 0x7c, 0x40, 0x7e, 0x4b, 0x56, 0x17, 0x21, 0xd6, 0x6c, 0x1b, 0xb0, 0xd1, 0x7e,
-                0xe8, 0x41, 0xb4, 0xd5, 0x04, 0xb4, 0xc4, 0xc0, 0x72, 0x00, 0x22, 0x37, 0x14, 0x0b,
-                0x89, 0x09, 0x76, 0x9f,
+                0xfa, 0x0c, 0x41, 0xc8, 0xce, 0x56, 0x09, 0x64, 0x4c, 0x74, 0xfa, 0x32, 0x8d, 0x64,
+                0xc1, 0xdc, 0xa2, 0x80, 0x50, 0xd5, 0x3d, 0xfe, 0xa6, 0xa1, 0xe6, 0xdf, 0xb4, 0x20,
+                0xd9, 0xb4, 0x74, 0x67,
             ],
             Core::LeftPadLow16_32 => [
-                0xa2, 0x8c, 0x79, 0x24, 0xa4, 0x7b, 0x46, 0xec, 0x73, 0xbc, 0xff, 0x6e, 0x13, 0x28,
-                0xd4, 0x39, 0xaa, 0x90, 0x3a, 0xcf, 0x10, 0x3e, 0x9a, 0xa8, 0x0b, 0x65, 0xba, 0x76,
-                0xd2, 0xa0, 0x8e, 0x75,
+                0x23, 0xf7, 0x47, 0x96, 0xb8, 0x30, 0x20, 0xeb, 0xbf, 0x5a, 0xa5, 0xb6, 0x9a, 0xa1,
+                0xf3, 0xd7, 0x3d, 0xf9, 0xb1, 0xc2, 0x67, 0xe0, 0x12, 0x4c, 0x5f, 0xfe, 0x18, 0x2a,
+                0x63, 0xcd, 0x20, 0x22,
             ],
             Core::LeftPadLow16_64 => [
-                0xb6, 0x25, 0x8a, 0xcd, 0xa2, 0x11, 0x0e, 0xd9, 0x8c, 0x17, 0xbc, 0xa8, 0x27, 0x12,
-                0xe3, 0xea, 0x60, 0x86, 0x6f, 0x7d, 0x40, 0x04, 0xc8, 0x3e, 0x8a, 0xe5, 0x24, 0xb7,
-                0xba, 0x44, 0x00, 0x8b,
+                0xe5, 0xd6, 0x46, 0x1a, 0xf1, 0x33, 0x1c, 0xeb, 0xa4, 0x55, 0x85, 0xe5, 0x6a, 0xe6,
+                0xe1, 0x28, 0xdc, 0x7d, 0xaa, 0x0e, 0x07, 0x08, 0x61, 0xca, 0x6d, 0x19, 0xd8, 0x54,
+                0x33, 0x88, 0x3d, 0xc4,
             ],
             Core::LeftPadLow1_16 => [
-                0x1e, 0x1f, 0x6c, 0xc4, 0x24, 0x64, 0x83, 0x75, 0x49, 0xb9, 0x7d, 0x30, 0x7e, 0x28,
-                0xa9, 0xc2, 0x36, 0x80, 0x91, 0x4c, 0xd8, 0x6d, 0x65, 0xc3, 0x04, 0x67, 0x93, 0x12,
-                0x7b, 0x54, 0xfe, 0x82,
+                0x09, 0xdb, 0xcc, 0x20, 0x32, 0x82, 0x88, 0x55, 0x2a, 0xa9, 0xe9, 0x42, 0x6c, 0x5c,
+                0xee, 0x24, 0xdf, 0xce, 0xba, 0x87, 0x22, 0x74, 0xae, 0xd5, 0x5a, 0x83, 0x20, 0x46,
+                0x0a, 0x17, 0x91, 0xb2,
             ],
             Core::LeftPadLow1_32 => [
-                0xc3, 0x38, 0xa1, 0x95, 0x5e, 0x99, 0x82, 0x0d, 0x0e, 0xd3, 0x1a, 0x5a, 0xfe, 0xdd,
-                0x13, 0x58, 0xc1, 0x74, 0x44, 0x02, 0x3e, 0x3f, 0x2b, 0x47, 0x33, 0xd9, 0xf6, 0x8c,
-                0xb7, 0xb4, 0x0c, 0xd9,
+                0x1d, 0x27, 0x63, 0xf2, 0x60, 0xd4, 0x72, 0x89, 0x6c, 0x88, 0x1c, 0x72, 0xfb, 0x22,
+                0xb9, 0xa1, 0x19, 0x25, 0x8e, 0x12, 0x99, 0x61, 0x09, 0xd9, 0xc9, 0x49, 0xca, 0x61,
+                0xf9, 0x37, 0xda, 0x0c,
             ],
             Core::LeftPadLow1_64 => [
-                0x68, 0x9e, 0xd5, 0x69, 0xc2, 0x01, 0x52, 0x1e, 0xc1, 0x95, 0x4f, 0x0d, 0xc7, 0xd2,
-                0x12, 0x8e, 0x46, 0x5a, 0x52, 0x04, 0x99, 0x19, 0x05, 0x49, 0x85, 0x8d, 0xe9, 0xed,
-                0x23, 0x1a, 0x5d, 0x69,
+                0xa3, 0x76, 0x87, 0x8d, 0xfe, 0x35, 0x20, 0x47, 0x29, 0xf9, 0x1c, 0xdf, 0x5b, 0xe6,
+                0x58, 0xab, 0xc5, 0xe7, 0x02, 0x5a, 0xd9, 0x62, 0x84, 0xc7, 0xf6, 0x31, 0x0e, 0x9f,
+                0x9b, 0x1a, 0x5a, 0x3e,
             ],
             Core::LeftPadLow1_8 => [
-                0x5b, 0x51, 0x90, 0x53, 0xfd, 0x2b, 0xb7, 0x58, 0x47, 0x3a, 0xf8, 0xe3, 0x91, 0x0b,
-                0xae, 0xf3, 0x3c, 0xc8, 0x01, 0xc0, 0xb1, 0x42, 0x0a, 0xaf, 0x81, 0x4a, 0x7e, 0x72,
-                0x54, 0xea, 0x78, 0xf0,
+                0x74, 0xc2, 0x06, 0x1b, 0x87, 0xf5, 0x19, 0x0f, 0xe7, 0x43, 0x22, 0xea, 0xc2, 0x42,
+                0x2b, 0x38, 0xe3, 0x7e, 0x9f, 0xcc, 0x4d, 0x60, 0x97, 0xeb, 0x5c, 0xa4, 0xe3, 0x0b,
+                0x12, 0x9b, 0x7a, 0x12,
             ],
             Core::LeftPadLow32_64 => [
-                0xac, 0x00, 0xa3, 0x4f, 0xb6, 0xa5, 0x8e, 0x57, 0xad, 0x22, 0x39, 0x50, 0x0e, 0x65,
-                0x71, 0x37, 0x5d, 0xfd, 0xa0, 0xce, 0xa1, 0x17, 0x5f, 0xe9, 0x9d, 0x87, 0x5c, 0xd8,
-                0x71, 0x81, 0x05, 0xe9,
+                0xf3, 0x1a, 0xe2, 0x84, 0x31, 0x3f, 0xdf, 0x37, 0x73, 0xe3, 0xee, 0x43, 0x96, 0x7d,
+                0xc8, 0xc6, 0x7b, 0x73, 0xb7, 0x80, 0x06, 0x69, 0x66, 0x71, 0xd9, 0x0d, 0xd2, 0x59,
+                0xd9, 0xa8, 0x06, 0x13,
             ],
             Core::LeftPadLow8_16 => [
-                0xb6, 0xf6, 0x33, 0x4c, 0xc6, 0x60, 0xe3, 0x06, 0x9f, 0x7e, 0x14, 0x37, 0xa1, 0x94,
-                0x3f, 0x61, 0x0f, 0xc5, 0xa5, 0xab, 0x8a, 0xa5, 0x10, 0x5b, 0xfc, 0xec, 0xd3, 0xda,
-                0x0c, 0x59, 0x63, 0x3c,
+                0x19, 0x04, 0x99, 0xa4, 0x9f, 0x87, 0x37, 0x32, 0xbf, 0xeb, 0x6d, 0x24, 0x3a, 0xfb,
+                0x3b, 0x66, 0xdb, 0x07, 0xdc, 0xe3, 0x3f, 0xfe, 0x71, 0x73, 0x28, 0x41, 0x67, 0x08,
+                0x70, 0x17, 0x00, 0xd4,
             ],
             Core::LeftPadLow8_32 => [
-                0x8a, 0xee, 0x9f, 0x42, 0xda, 0x9b, 0x84, 0x2e, 0x41, 0x18, 0x95, 0x96, 0x59, 0x47,
-                0x56, 0xba, 0xd9, 0xba, 0xb2, 0x95, 0x3d, 0xea, 0xe6, 0x68, 0x56, 0xb9, 0xcb, 0x60,
-                0x1d, 0x7a, 0xc5, 0x48,
+                0xb2, 0xcd, 0x3f, 0xf0, 0xb4, 0xde, 0x89, 0x0e, 0x28, 0xb4, 0x27, 0x96, 0x41, 0x65,
+                0x2f, 0xa0, 0x8f, 0x2a, 0x89, 0x87, 0x94, 0xf6, 0xee, 0x6b, 0x12, 0x82, 0xa7, 0x98,
+                0x26, 0x44, 0x8d, 0x4a,
             ],
             Core::LeftPadLow8_64 => [
-                0x61, 0x1d, 0x64, 0xce, 0x94, 0xf8, 0x82, 0xfd, 0xa2, 0x4c, 0x97, 0xad, 0xd1, 0x90,
-                0x54, 0x21, 0x2f, 0x46, 0xb3, 0xb9, 0x8e, 0xf2, 0xae, 0x22, 0x79, 0x36, 0x45, 0x39,
-                0xb9, 0x3e, 0x2b, 0x8b,
+                0x6e, 0x72, 0x89, 0x08, 0x25, 0x4e, 0x09, 0xf4, 0xd1, 0xa6, 0x2c, 0xae, 0x8d, 0x8a,
+                0x59, 0x96, 0xe0, 0x2b, 0xd7, 0x28, 0x0d, 0x49, 0x67, 0x44, 0x40, 0x2f, 0xf3, 0x22,
+                0xcd, 0x12, 0x02, 0x8f,
             ],
             Core::LeftRotate16 => [
-                0x25, 0xe2, 0xd4, 0xec, 0xc0, 0x3f, 0x87, 0x65, 0x5e, 0x96, 0x5b, 0x35, 0x7d, 0x6f,
-                0xd0, 0xc2, 0xea, 0x36, 0xd1, 0x12, 0x06, 0x8c, 0x96, 0x33, 0x39, 0xde, 0x46, 0x7e,
-                0x5c, 0x8e, 0x7d, 0x8e,
+                0x2c, 0xe2, 0x67, 0xc9, 0xf8, 0xe4, 0x4e, 0x32, 0x65, 0xb0, 0x29, 0x9e, 0x55, 0x74,
+                0x29, 0x76, 0xcc, 0xec, 0xeb, 0x3a, 0x9c, 0x41, 0x06, 0x17, 0x6f, 0xbf, 0x17, 0xe6,
+                0x3d, 0x48, 0xd0, 0x6c,
             ],
             Core::LeftRotate32 => [
-                0x2d, 0x41, 0x89, 0xb3, 0x12, 0xe8, 0xce, 0xda, 0xaa, 0x38, 0x53, 0xa4, 0x5a, 0x12,
-                0x98, 0x6e, 0xe2, 0x62, 0xfb, 0x60, 0x5f, 0x0d, 0x59, 0x2d, 0xcb, 0xb9, 0x61, 0x8f,
-                0xe6, 0x7a, 0x25, 0x0b,
+                0x0b, 0xef, 0x6b, 0x5f, 0x77, 0x1e, 0xcc, 0x6e, 0x6f, 0x5c, 0x26, 0xf6, 0x62, 0x2d,
+                0xe8, 0x62, 0x4e, 0x44, 0x34, 0x97, 0x59, 0x95, 0x14, 0xf5, 0xbc, 0x68, 0xf6, 0x87,
+                0x48, 0x80, 0xe0, 0x7a,
             ],
             Core::LeftRotate64 => [
-                0xb8, 0xe6, 0x8e, 0x0a, 0xd6, 0x82, 0xb9, 0x67, 0xf2, 0x4c, 0x09, 0x84, 0xf7, 0xd5,
-                0xf8, 0x09, 0xa2, 0x85, 0x97, 0xa0, 0x43, 0x46, 0x18, 0xc8, 0x94, 0x9f, 0xa8, 0x08,
-                0xe3, 0xbe, 0x76, 0x14,
+                0xcc, 0x91, 0x42, 0x19, 0xd1, 0x4f, 0xe5, 0xd2, 0x20, 0xe2, 0xaa, 0x9b, 0x64, 0xf2,
+                0x4b, 0x47, 0x5d, 0x80, 0xf2, 0xca, 0xfb, 0x75, 0x31, 0xd4, 0x26, 0x40, 0x96, 0x7c,
+                0x08, 0x5f, 0x9c, 0xa4,
             ],
             Core::LeftRotate8 => [
-                0x95, 0x6a, 0x65, 0x3a, 0xe0, 0xb8, 0xf8, 0xc3, 0xf2, 0x9f, 0xd8, 0xf3, 0x31, 0x19,
-                0x16, 0x8f, 0xcb, 0xe6, 0x4f, 0x5d, 0x76, 0x5f, 0xa9, 0xff, 0x6b, 0x8e, 0x3b, 0x0d,
-                0x96, 0x1a, 0x16, 0x29,
+                0xbd, 0x71, 0x19, 0xce, 0xb2, 0x3e, 0x56, 0xa0, 0x75, 0x9c, 0xda, 0xad, 0x8f, 0xd6,
+                0x65, 0x17, 0x46, 0xf2, 0x96, 0x9c, 0x5e, 0xa7, 0xc5, 0x70, 0x6c, 0x49, 0x2e, 0xe0,
+                0xcd, 0xa6, 0x52, 0xc2,
             ],
             Core::LeftShift16 => [
-                0x9b, 0xbc, 0xe2, 0x9e, 0x69, 0x5b, 0xe2, 0xe4, 0x83, 0x0c, 0x7a, 0x93, 0xa0, 0xd2,
-                0x15, 0x1b, 0x66, 0x4f, 0xc2, 0x72, 0x06, 0xee, 0xd7, 0xe5, 0x0f, 0xce, 0xf6, 0x02,
-                0xd3, 0x45, 0xce, 0x0d,
+                0xfd, 0x9b, 0x6d, 0x05, 0xad, 0xbd, 0xb9, 0x9b, 0xc7, 0x4a, 0xab, 0x73, 0x33, 0x84,
+                0x72, 0x4e, 0x30, 0x72, 0xd2, 0xa2, 0xc2, 0xdf, 0xeb, 0x34, 0x5e, 0x24, 0xb5, 0x07,
+                0x4b, 0x52, 0x78, 0x59,
             ],
             Core::LeftShift32 => [
-                0xf9, 0xc4, 0xbf, 0x07, 0xd3, 0xe7, 0x2e, 0x85, 0xb1, 0xd4, 0x55, 0xf7, 0x34, 0xcf,
-                0x1b, 0x11, 0xbe, 0xa5, 0x8e, 0x25, 0x3b, 0x85, 0x4a, 0x1a, 0x09, 0x7b, 0xab, 0x1e,
-                0xc2, 0xc6, 0x2e, 0x1f,
+                0xa4, 0xb3, 0xb3, 0xfc, 0x73, 0x45, 0xd3, 0x8f, 0xce, 0x54, 0x3f, 0x40, 0x1a, 0xe6,
+                0xbd, 0x07, 0xba, 0x27, 0x42, 0xc3, 0x3d, 0x9a, 0xfa, 0xb3, 0xb3, 0xcc, 0xa3, 0xa0,
+                0x25, 0x97, 0x3c, 0x98,
             ],
             Core::LeftShift64 => [
-                0x8c, 0xfa, 0x74, 0x1a, 0xa4, 0x1d, 0x82, 0x8a, 0x41, 0x08, 0x3b, 0xb7, 0xcb, 0xdd,
-                0x1f, 0x4e, 0xda, 0x5d, 0xcc, 0xac, 0x52, 0x9b, 0x24, 0x7d, 0x18, 0x84, 0x95, 0xb4,
-                0x9b, 0xb3, 0x8c, 0x2b,
+                0x62, 0xb7, 0x11, 0xe8, 0x4b, 0x67, 0x64, 0x8d, 0x34, 0x72, 0xac, 0xe1, 0x86, 0x29,
+                0x1e, 0xb6, 0xd7, 0x73, 0xdd, 0xc0, 0xb8, 0xa3, 0xfb, 0xc2, 0x08, 0xa2, 0x75, 0xe9,
+                0xdb, 0x91, 0xdd, 0xdd,
             ],
             Core::LeftShift8 => [
-                0x95, 0x66, 0x3e, 0x07, 0x7c, 0xad, 0xca, 0x31, 0xb9, 0x59, 0x6b, 0x09, 0x70, 0x6c,
-                0xdb, 0x4f, 0xa7, 0x03, 0x87, 0x0f, 0x79, 0x2a, 0x46, 0x35, 0x85, 0x2b, 0x5e, 0x24,
-                0x69, 0xe6, 0xfd, 0xba,
+                0x18, 0x7b, 0xba, 0x8e, 0x41, 0x63, 0xbd, 0xd0, 0xdd, 0xb5, 0x48, 0xff, 0x6e, 0xfa,
+                0x6b, 0x7e, 0x2f, 0x3d, 0x09, 0x82, 0x97, 0xd2, 0x53, 0x3e, 0x77, 0xe8, 0xa7, 0x6b,
+                0x6f, 0x2d, 0xd3, 0x24,
             ],
             Core::LeftShiftWith16 => [
-                0x62, 0x14, 0xc4, 0x56, 0x25, 0xd7, 0x04, 0xce, 0xc9, 0x87, 0xb7, 0x96, 0x67, 0x6f,
-                0x15, 0x66, 0x1a, 0x6b, 0xf5, 0xdc, 0x0f, 0x6a, 0x51, 0xcb, 0x86, 0x5a, 0x0e, 0x71,
-                0xd6, 0x6f, 0xbf, 0x95,
+                0x2d, 0xd4, 0x1a, 0xc4, 0xf1, 0xd6, 0xd9, 0x68, 0x70, 0xff, 0x49, 0x66, 0x31, 0xd4,
+                0x0a, 0x4f, 0xf7, 0xed, 0xeb, 0x13, 0x7d, 0x63, 0xda, 0xfe, 0xe0, 0x02, 0xfa, 0x2d,
+                0xda, 0x29, 0xa7, 0x57,
             ],
             Core::LeftShiftWith32 => [
-                0x1b, 0x45, 0x2f, 0xc7, 0xab, 0x5c, 0x71, 0x47, 0x45, 0x4a, 0xf4, 0xd5, 0x59, 0x54,
-                0x81, 0xff, 0xac, 0x42, 0xde, 0xa1, 0x06, 0x03, 0x2b, 0x3b, 0x9f, 0x37, 0x5b, 0xed,
-                0xcd, 0xa6, 0xf4, 0xd6,
+                0x9b, 0xfb, 0x24, 0x90, 0xbb, 0xa1, 0xeb, 0x3b, 0x7e, 0x25, 0x6a, 0x26, 0x09, 0x66,
+                0xdc, 0x90, 0x9e, 0x73, 0xfd, 0x12, 0x59, 0x1e, 0xe1, 0x40, 0x67, 0x37, 0x18, 0xf9,
+                0xf1, 0x0f, 0xc4, 0x9f,
             ],
             Core::LeftShiftWith64 => [
-                0xc3, 0x8b, 0x02, 0xab, 0xcf, 0xf5, 0x14, 0xd9, 0x61, 0x91, 0xa7, 0xfe, 0xfb, 0xa1,
-                0xac, 0x16, 0xe9, 0xc1, 0x50, 0xa1, 0x8c, 0xe1, 0xc5, 0xbc, 0xf0, 0x9d, 0x67, 0x55,
-                0xe0, 0x36, 0x99, 0x05,
+                0x85, 0x77, 0x46, 0x93, 0x7d, 0xe2, 0xc4, 0xc5, 0xa5, 0x5a, 0x90, 0xf3, 0x16, 0x0e,
+                0xb9, 0x91, 0xdd, 0xbb, 0x60, 0x74, 0xf8, 0xa7, 0xc7, 0xc5, 0x8e, 0x8b, 0x2e, 0x38,
+                0x22, 0x18, 0xa9, 0xfa,
             ],
             Core::LeftShiftWith8 => [
-                0x21, 0x7a, 0xd6, 0xdc, 0x12, 0x92, 0xaa, 0x42, 0xdb, 0xd8, 0x4d, 0xbd, 0x97, 0x1c,
-                0x11, 0x8f, 0x02, 0xa9, 0x74, 0x0a, 0x7c, 0xb5, 0x66, 0x1e, 0x90, 0xd4, 0x2d, 0xd5,
-                0xca, 0x8c, 0xa4, 0xd9,
+                0xf6, 0xf5, 0xbc, 0x6f, 0x43, 0xf6, 0x61, 0xe2, 0x72, 0x7c, 0x9e, 0xc8, 0x19, 0x63,
+                0x88, 0xbc, 0xc4, 0x2b, 0x20, 0x36, 0x06, 0xa7, 0x78, 0xd5, 0x53, 0xa4, 0xea, 0x35,
+                0x3f, 0xfc, 0x4b, 0xe6,
             ],
             Core::Leftmost16_1 => [
-                0x3e, 0xa8, 0x9e, 0x43, 0x20, 0x77, 0x94, 0x0d, 0x0b, 0xbf, 0x9e, 0xd2, 0xcf, 0x16,
-                0xba, 0x63, 0x11, 0x10, 0xe7, 0xab, 0x9f, 0x19, 0xee, 0xf3, 0xea, 0x92, 0x5a, 0x69,
-                0x9f, 0x60, 0xc6, 0x0c,
+                0x7f, 0xaf, 0x54, 0x9e, 0xf6, 0x20, 0xd0, 0xd8, 0xf9, 0x0b, 0x6d, 0x08, 0x42, 0x0c,
+                0xf5, 0xe9, 0x8e, 0x93, 0x84, 0xea, 0x71, 0x6b, 0x82, 0xd7, 0xd8, 0xe1, 0x97, 0xa8,
+                0xc4, 0x6e, 0x33, 0xce,
             ],
             Core::Leftmost16_2 => [
-                0x5c, 0xe2, 0xbd, 0x7a, 0xc3, 0x5a, 0x7c, 0x33, 0x73, 0xc3, 0xdd, 0x60, 0x7f, 0x48,
-                0xe5, 0xd4, 0xc7, 0xaa, 0xa6, 0xc6, 0x9f, 0xc4, 0x93, 0x0e, 0xca, 0x14, 0x04, 0x9f,
-                0x5d, 0x39, 0xff, 0xab,
+                0xf2, 0xac, 0x7c, 0x05, 0x96, 0x4a, 0x69, 0x9c, 0xe5, 0x95, 0xfb, 0x21, 0xee, 0xc1,
+                0x61, 0xe8, 0x7a, 0x11, 0xb6, 0x51, 0x63, 0x0d, 0x9a, 0x28, 0x93, 0x09, 0x4e, 0xa3,
+                0xf3, 0x31, 0x72, 0x43,
             ],
             Core::Leftmost16_4 => [
-                0x10, 0x12, 0xa1, 0x39, 0x3e, 0xd0, 0xf9, 0x1d, 0x75, 0xad, 0x59, 0x12, 0x28, 0x53,
-                0x89, 0x3a, 0x7f, 0x25, 0xcd, 0x35, 0xc8, 0x03, 0x6c, 0x7f, 0xa1, 0x95, 0x68, 0x2c,
-                0xa1, 0x45, 0x8c, 0x4a,
+                0x5a, 0x5e, 0xc5, 0x03, 0x9a, 0xa3, 0xaa, 0x0e, 0x58, 0xf7, 0xce, 0x64, 0xef, 0xd0,
+                0x3a, 0xc2, 0x97, 0x41, 0x0f, 0x2c, 0xf4, 0x58, 0x17, 0xaf, 0x54, 0xef, 0xa6, 0xa0,
+                0x07, 0x6b, 0x6f, 0x70,
             ],
             Core::Leftmost16_8 => [
-                0xcc, 0xd3, 0x1e, 0x9e, 0xb1, 0xa1, 0xbb, 0xde, 0x55, 0x5c, 0x0f, 0x73, 0x1a, 0xf2,
-                0xd3, 0xd4, 0xff, 0x53, 0x88, 0xfa, 0x14, 0x61, 0x82, 0x6a, 0xa9, 0xc8, 0x93, 0x42,
-                0x42, 0xac, 0x75, 0x3f,
+                0xe2, 0x25, 0x43, 0xf8, 0xfe, 0x86, 0x1d, 0xba, 0xee, 0x74, 0x4b, 0x0b, 0x8f, 0x58,
+                0xb4, 0x7b, 0x9d, 0x13, 0xfb, 0x35, 0xa9, 0x50, 0x86, 0x3a, 0x59, 0x09, 0x7c, 0xf4,
+                0xd4, 0x27, 0x24, 0xb9,
             ],
             Core::Leftmost32_1 => [
-                0xb7, 0x14, 0xad, 0x74, 0xae, 0x04, 0x5a, 0xf7, 0x56, 0x80, 0x77, 0x8a, 0x03, 0x27,
-                0x61, 0xa4, 0xc7, 0x26, 0xd7, 0xb6, 0xd9, 0x77, 0xbc, 0x93, 0xa4, 0x12, 0x56, 0x54,
-                0x3c, 0xae, 0x8d, 0x3d,
+                0xb3, 0x6d, 0xb0, 0x59, 0xdd, 0x42, 0xd7, 0x07, 0xbf, 0xa8, 0x39, 0xf8, 0x3b, 0xc2,
+                0xed, 0x1d, 0xb5, 0x01, 0xb2, 0x3a, 0xf9, 0xaf, 0x71, 0x3f, 0x41, 0xff, 0x75, 0x5f,
+                0xe2, 0xb3, 0xe9, 0x89,
             ],
             Core::Leftmost32_16 => [
-                0x1b, 0x20, 0x63, 0x4f, 0xb4, 0x3e, 0xb8, 0x3a, 0x96, 0x8c, 0x3c, 0x81, 0xc0, 0x08,
-                0x7c, 0x63, 0xd5, 0xd4, 0xf8, 0xca, 0xcd, 0xbd, 0x3e, 0x0e, 0x9f, 0x9a, 0x3d, 0x75,
-                0x91, 0xc3, 0xef, 0x62,
+                0xf1, 0x3e, 0xe3, 0x7b, 0xe6, 0x12, 0xe9, 0xdf, 0xf4, 0x90, 0x7e, 0xc3, 0xf1, 0xdd,
+                0xe8, 0x6c, 0x58, 0xfe, 0xd4, 0xb1, 0x1a, 0x93, 0xb3, 0xbb, 0x2c, 0x79, 0x58, 0x00,
+                0x49, 0x97, 0x92, 0x2e,
             ],
             Core::Leftmost32_2 => [
-                0x75, 0x2d, 0xda, 0x08, 0xe4, 0x0f, 0xae, 0xa0, 0xf6, 0xc4, 0xee, 0x3d, 0x34, 0x4b,
-                0x7c, 0x4e, 0xa1, 0x1b, 0x97, 0x1d, 0xce, 0xc5, 0x55, 0x92, 0xb8, 0x22, 0xee, 0x56,
-                0x27, 0x1c, 0xa5, 0xdf,
+                0x57, 0xd0, 0x25, 0x1a, 0xb5, 0x66, 0xa3, 0xd2, 0x48, 0xec, 0x6e, 0x7c, 0xd1, 0xe3,
+                0xe9, 0xc7, 0x1b, 0x1d, 0xde, 0x0c, 0xf2, 0x84, 0x4a, 0x8c, 0x8a, 0xe7, 0x48, 0xbd,
+                0x18, 0xd3, 0x73, 0x5c,
             ],
             Core::Leftmost32_4 => [
-                0x44, 0xe9, 0xf7, 0x79, 0xa0, 0x29, 0xec, 0xfc, 0x97, 0x62, 0xb8, 0xb6, 0xcb, 0xaf,
-                0x09, 0x22, 0xd9, 0x35, 0xfe, 0xa5, 0x15, 0x0a, 0x54, 0x6a, 0x5f, 0xc1, 0xfd, 0xb8,
-                0xb9, 0x53, 0x41, 0x34,
+                0x66, 0x68, 0x9b, 0xd5, 0xeb, 0x6a, 0x6d, 0xd5, 0xfc, 0x6b, 0x52, 0xfe, 0x90, 0xc1,
+                0x74, 0xef, 0x0f, 0xa8, 0xb5, 0x17, 0x99, 0x30, 0x85, 0xc9, 0x01, 0xc5, 0x70, 0x2b,
+                0xbd, 0x1f, 0xac, 0xe7,
             ],
             Core::Leftmost32_8 => [
-                0x54, 0x80, 0x1e, 0xb5, 0xe7, 0x78, 0xcf, 0x6c, 0xda, 0x95, 0xcc, 0xf5, 0x70, 0x28,
-                0x6d, 0x81, 0x6d, 0x3a, 0x1f, 0xf1, 0xdd, 0x39, 0xdb, 0x5a, 0xb6, 0x13, 0x6f, 0x0e,
-                0xc3, 0xb7, 0x2d, 0xc6,
+                0xc8, 0x85, 0x1f, 0xf6, 0x22, 0x06, 0xe8, 0x65, 0xc3, 0xb2, 0x66, 0x41, 0x98, 0x1d,
+                0x0a, 0xe1, 0x60, 0xd3, 0xd4, 0x43, 0x7a, 0x98, 0x00, 0x62, 0x79, 0xdb, 0xb3, 0xa2,
+                0x57, 0x76, 0x69, 0x8e,
             ],
             Core::Leftmost64_1 => [
-                0xb3, 0x16, 0xaf, 0x24, 0xc8, 0x6b, 0x39, 0x61, 0x3d, 0x4f, 0xd1, 0xb3, 0x92, 0x6a,
-                0x84, 0x13, 0x0e, 0xb7, 0xab, 0x12, 0xfd, 0xef, 0x62, 0x33, 0x17, 0xab, 0x48, 0xf7,
-                0x7c, 0xb6, 0x21, 0x45,
+                0xe0, 0x5e, 0xa1, 0x9d, 0x39, 0xee, 0x23, 0x5d, 0xde, 0x58, 0xe3, 0x1e, 0x4b, 0x95,
+                0x34, 0xb6, 0xcb, 0x39, 0x9b, 0x1f, 0x2f, 0xa1, 0x81, 0x48, 0x8c, 0xed, 0xc2, 0x03,
+                0xcd, 0x95, 0x96, 0x2a,
             ],
             Core::Leftmost64_16 => [
-                0x8c, 0xf8, 0x54, 0x81, 0xe0, 0xf0, 0x08, 0x38, 0xb5, 0x23, 0x9b, 0xbf, 0xad, 0x13,
-                0x82, 0xf0, 0x7b, 0xd0, 0x3c, 0x12, 0x1d, 0x5d, 0x8a, 0xaf, 0xa6, 0xd9, 0x83, 0x41,
-                0x6d, 0xe4, 0x5c, 0x32,
+                0xc3, 0xdd, 0xb0, 0x79, 0xc1, 0x12, 0x92, 0x5d, 0x42, 0x3b, 0xbd, 0x30, 0xd9, 0x02,
+                0x26, 0x1e, 0x68, 0xa4, 0x1c, 0x3d, 0xe4, 0x38, 0x11, 0x66, 0xe1, 0x40, 0x05, 0x02,
+                0x8b, 0xa8, 0x4b, 0x98,
             ],
             Core::Leftmost64_2 => [
-                0xda, 0x40, 0xc8, 0x9b, 0x15, 0xc9, 0xe8, 0x6b, 0x02, 0x8c, 0xe9, 0xec, 0x07, 0xb7,
-                0xf6, 0x99, 0x5a, 0x5d, 0xdd, 0xa4, 0x85, 0x0a, 0x91, 0xaf, 0x8c, 0x60, 0xe0, 0x2b,
-                0xf9, 0x91, 0xfb, 0x0c,
+                0x26, 0x4d, 0xb1, 0x23, 0x78, 0xdf, 0xad, 0xc1, 0xad, 0x6f, 0xf8, 0xd5, 0x78, 0xec,
+                0x4d, 0xa1, 0x85, 0x32, 0xa1, 0xe6, 0xbd, 0xab, 0x7c, 0x17, 0x56, 0x9f, 0xdd, 0x7b,
+                0xf4, 0x06, 0xfb, 0x20,
             ],
             Core::Leftmost64_32 => [
-                0x95, 0xf4, 0x6d, 0xb9, 0xd9, 0x06, 0xf0, 0x50, 0x53, 0x45, 0x5e, 0x95, 0x34, 0xeb,
-                0x9b, 0x08, 0xb0, 0x9e, 0x38, 0xbc, 0x0f, 0xc6, 0x98, 0xa1, 0x6f, 0x4b, 0x2a, 0x62,
-                0x71, 0x07, 0x59, 0xd1,
+                0x19, 0xa5, 0xd5, 0x3f, 0xe6, 0xb3, 0x0b, 0xe0, 0x2b, 0x91, 0xba, 0xfc, 0x63, 0xcb,
+                0xe5, 0x50, 0x55, 0x98, 0xc1, 0x42, 0x55, 0xd8, 0x9e, 0x33, 0x48, 0x56, 0xdb, 0x5b,
+                0x5b, 0xa2, 0x0d, 0xed,
             ],
             Core::Leftmost64_4 => [
-                0xf5, 0x01, 0xf9, 0x05, 0xfb, 0x8b, 0xab, 0xa1, 0xa7, 0xe8, 0xa6, 0xbf, 0x68, 0xd3,
-                0xae, 0x6a, 0x0a, 0xdd, 0x91, 0x95, 0x1b, 0x56, 0x62, 0x9d, 0x59, 0xf4, 0x28, 0x73,
-                0x9e, 0x7e, 0x41, 0xa2,
+                0x4c, 0x6f, 0xc8, 0xa0, 0x65, 0x46, 0x8e, 0x47, 0x51, 0x84, 0x4a, 0xef, 0xb6, 0xcc,
+                0x49, 0x57, 0x58, 0x64, 0xf5, 0x67, 0xc5, 0x62, 0x86, 0x65, 0x4c, 0x43, 0xb3, 0xf8,
+                0x33, 0x30, 0x32, 0x31,
             ],
             Core::Leftmost64_8 => [
-                0xb3, 0x7f, 0x0b, 0xa2, 0xfc, 0xbd, 0x4a, 0xe3, 0x31, 0x6a, 0x4f, 0xe4, 0xf5, 0x8a,
-                0xa1, 0xa5, 0x41, 0x74, 0x0c, 0xde, 0x60, 0xed, 0x87, 0xf3, 0x38, 0x62, 0xa2, 0xff,
-                0xec, 0xad, 0x44, 0x2f,
+                0x98, 0xb5, 0xe0, 0x16, 0xbd, 0x41, 0x45, 0x77, 0x8d, 0xfc, 0x63, 0x17, 0xdc, 0x65,
+                0xd6, 0xc7, 0x5f, 0xef, 0x28, 0x57, 0x96, 0xb5, 0x9d, 0xea, 0xf1, 0x4a, 0xa0, 0x31,
+                0x99, 0xf9, 0x48, 0x96,
             ],
             Core::Leftmost8_1 => [
-                0x5f, 0xdc, 0xfa, 0x9b, 0x9a, 0x4b, 0x65, 0xc7, 0x20, 0x74, 0x71, 0xe5, 0x33, 0x92,
-                0x8d, 0x6a, 0x24, 0xf4, 0xb6, 0xff, 0x9b, 0x34, 0x5e, 0xf7, 0x61, 0xb1, 0x48, 0x0a,
-                0x8a, 0x05, 0xe3, 0xd7,
+                0x38, 0xe3, 0x98, 0x5f, 0x1f, 0x99, 0xea, 0xb1, 0xa7, 0x87, 0xe7, 0x20, 0x0c, 0x30,
+                0xcd, 0x9b, 0x95, 0x63, 0x1f, 0x95, 0xb4, 0x19, 0xfd, 0x76, 0xec, 0xe1, 0x99, 0x67,
+                0xd1, 0xb0, 0x30, 0x69,
             ],
             Core::Leftmost8_2 => [
-                0x62, 0x42, 0x21, 0xe9, 0xf8, 0xa9, 0x16, 0x91, 0x26, 0xc7, 0x33, 0x47, 0x96, 0x48,
-                0xc7, 0x3b, 0x68, 0xc6, 0xb8, 0xeb, 0xbb, 0x60, 0xc7, 0x2a, 0xf1, 0xe6, 0xfc, 0x65,
-                0xe7, 0xd3, 0x07, 0x23,
+                0x51, 0xdb, 0xca, 0xeb, 0xc3, 0xac, 0x16, 0x43, 0xe5, 0xb0, 0x8c, 0xa2, 0x55, 0x29,
+                0xf0, 0xe2, 0xb0, 0xbd, 0x9b, 0xdf, 0xa0, 0x41, 0xfd, 0x4d, 0xb7, 0x70, 0x29, 0xd0,
+                0xc5, 0xff, 0x15, 0xb9,
             ],
             Core::Leftmost8_4 => [
-                0x1a, 0x48, 0x43, 0xc4, 0x08, 0xe1, 0xd4, 0x6c, 0x9c, 0x93, 0x89, 0x46, 0x34, 0x49,
-                0x5f, 0x8a, 0xd6, 0xa6, 0x80, 0xe3, 0x2d, 0xd6, 0xf2, 0x5b, 0xa1, 0x9d, 0xbc, 0x60,
-                0xa6, 0x0d, 0x18, 0x97,
+                0xb3, 0x94, 0x20, 0x9c, 0x9b, 0x34, 0x28, 0x4d, 0xde, 0x65, 0xea, 0x97, 0x35, 0xe4,
+                0xeb, 0x0c, 0xdf, 0x01, 0xce, 0x87, 0x10, 0xe5, 0x8c, 0x5e, 0xd2, 0x0e, 0x8b, 0x94,
+                0x6b, 0xf3, 0xf6, 0xea,
             ],
             Core::LinearCombination1 => [
-                0x00, 0xbe, 0xf1, 0x44, 0xda, 0x3f, 0x51, 0x63, 0x31, 0x8c, 0x01, 0xeb, 0x66, 0xcc,
-                0x68, 0x1f, 0x29, 0xcc, 0xb9, 0x87, 0xea, 0x2a, 0x88, 0xd0, 0x83, 0x34, 0x5a, 0x1c,
-                0xaa, 0x08, 0x2c, 0xe3,
+                0xfd, 0xd4, 0x7c, 0xa5, 0xc3, 0xb8, 0xbe, 0xd9, 0xf5, 0xf8, 0x27, 0x32, 0x9a, 0xf7,
+                0xc0, 0x8b, 0x88, 0xd3, 0x54, 0x21, 0xd3, 0xd0, 0x2f, 0x3d, 0x6c, 0xae, 0x3e, 0x5b,
+                0x49, 0xdc, 0xbe, 0xa3,
             ],
             Core::LinearVerify1 => [
-                0x0c, 0x9f, 0xae, 0x64, 0xa6, 0x4c, 0xd6, 0x3c, 0xa8, 0x5b, 0xeb, 0xa7, 0x5c, 0x9f,
-                0x2c, 0x6e, 0x85, 0x34, 0x3b, 0x74, 0xf2, 0x86, 0x34, 0xea, 0x85, 0xf7, 0x0f, 0xc3,
-                0x41, 0xcc, 0xaf, 0xf3,
+                0x7b, 0xe5, 0xd0, 0x46, 0x72, 0x84, 0x64, 0xb8, 0x30, 0x1d, 0x89, 0xd9, 0xd0, 0xde,
+                0x8e, 0x19, 0x67, 0x5d, 0xf4, 0xd9, 0x10, 0x04, 0x7b, 0x25, 0xb3, 0x72, 0xd2, 0xc4,
+                0x16, 0x6b, 0x3a, 0x0d,
             ],
             Core::Low1 => [
-                0xdb, 0x4a, 0x42, 0x4a, 0x20, 0xae, 0xef, 0xa4, 0xe7, 0x42, 0xd5, 0x1d, 0x84, 0x92,
-                0x92, 0x18, 0xcb, 0xf7, 0x34, 0x72, 0x61, 0x76, 0xdc, 0x4f, 0xf9, 0xf8, 0xbf, 0x13,
-                0xde, 0x10, 0xca, 0x2b,
+                0xf3, 0xd1, 0x0b, 0x07, 0x49, 0x33, 0x2c, 0xdd, 0xae, 0x0a, 0x49, 0xcc, 0x02, 0x65,
+                0x7b, 0x02, 0x58, 0xe0, 0xa5, 0xa7, 0x05, 0x95, 0x81, 0x00, 0x22, 0xc5, 0xa6, 0x4e,
+                0x90, 0x40, 0x88, 0xb0,
             ],
             Core::Low16 => [
-                0xa1, 0x14, 0xe9, 0x58, 0x0d, 0xe0, 0x7d, 0x8b, 0x07, 0x7e, 0xb8, 0x89, 0x98, 0x75,
-                0x5a, 0x0a, 0x62, 0xbf, 0xe0, 0x85, 0xfb, 0x23, 0x40, 0x4c, 0xd1, 0xe8, 0x78, 0x68,
-                0xcd, 0x56, 0xd5, 0xbd,
+                0x67, 0x0d, 0x1c, 0xf0, 0x8d, 0x65, 0x5f, 0x40, 0xfd, 0xa2, 0x27, 0x7a, 0xa9, 0x15,
+                0x54, 0x14, 0xa3, 0xb4, 0xd8, 0x0e, 0x97, 0xf6, 0xb8, 0x67, 0xd4, 0xe5, 0x62, 0xe3,
+                0xa0, 0x5b, 0x46, 0x45,
             ],
             Core::Low32 => [
-                0xa7, 0x17, 0x61, 0x0e, 0x8c, 0x57, 0x71, 0x25, 0x51, 0x40, 0xd6, 0x20, 0x7f, 0xff,
-                0x3b, 0xdd, 0x34, 0x64, 0xac, 0xff, 0x59, 0x98, 0xe1, 0x29, 0xaf, 0x8b, 0x9f, 0x4c,
-                0x0e, 0x21, 0xb2, 0x3d,
+                0xd9, 0xbf, 0x78, 0xc4, 0x9f, 0x8d, 0x6b, 0x7a, 0xe4, 0xb4, 0xb0, 0x84, 0xf0, 0xd3,
+                0x64, 0xf7, 0x2b, 0x04, 0x62, 0xff, 0x39, 0xc3, 0x21, 0xc0, 0x2d, 0x92, 0xb5, 0x42,
+                0x60, 0x86, 0xd0, 0xb5,
             ],
             Core::Low64 => [
-                0x9a, 0x6f, 0x4a, 0x0a, 0xd2, 0xfb, 0x72, 0xc5, 0x79, 0x42, 0x4c, 0x72, 0xe1, 0x7d,
-                0xaa, 0xe6, 0x2b, 0x36, 0x66, 0x95, 0xcd, 0x1a, 0x26, 0x85, 0xfb, 0x0a, 0xb0, 0x2e,
-                0x4c, 0x2c, 0xc0, 0xf5,
+                0x36, 0x4d, 0xa0, 0x86, 0xeb, 0xe3, 0x01, 0x1b, 0x1b, 0x58, 0x5f, 0x5c, 0xb9, 0xab,
+                0xc8, 0x7e, 0xe5, 0x7b, 0x56, 0x37, 0xcb, 0x95, 0xec, 0xf3, 0x12, 0x93, 0x8d, 0xf2,
+                0x86, 0x30, 0xfd, 0xa4,
             ],
             Core::Low8 => [
-                0x69, 0xc9, 0xb9, 0xca, 0xb9, 0xf4, 0x4c, 0xff, 0xae, 0xdf, 0x1c, 0x84, 0x31, 0x46,
-                0xbc, 0xc0, 0xb0, 0x3b, 0x0f, 0x0c, 0x13, 0x48, 0x66, 0xaf, 0xd2, 0x3a, 0x61, 0x4f,
-                0x01, 0xa7, 0x0a, 0x24,
+                0xd4, 0x24, 0x4f, 0x7c, 0x17, 0xb0, 0x49, 0x04, 0x8a, 0xc5, 0x8b, 0x4d, 0xa5, 0x78,
+                0x16, 0x9d, 0x0e, 0xd6, 0x51, 0x49, 0x40, 0x8e, 0xa9, 0xb0, 0x33, 0xb3, 0xd8, 0xb7,
+                0x7d, 0x76, 0xc6, 0x87,
             ],
             Core::Lt16 => [
-                0x4f, 0x46, 0x5a, 0x49, 0xa9, 0x63, 0xac, 0xce, 0x93, 0xf6, 0xb6, 0xf8, 0x23, 0xeb,
-                0x94, 0x72, 0xb4, 0xcc, 0x21, 0xf6, 0xe5, 0x8b, 0x76, 0x57, 0x05, 0x08, 0xba, 0xbd,
-                0xf4, 0x4a, 0x8c, 0x97,
+                0x32, 0x60, 0x28, 0x44, 0xfb, 0x68, 0xeb, 0x7a, 0xf6, 0xf7, 0xf1, 0xbd, 0xa3, 0x50,
+                0xe2, 0x29, 0x2c, 0x3f, 0xc2, 0x87, 0xf8, 0x1e, 0xca, 0x17, 0xf0, 0x68, 0xf4, 0xfa,
+                0x94, 0x2d, 0x40, 0x2a,
             ],
             Core::Lt32 => [
-                0xd3, 0x42, 0x1d, 0xfc, 0x84, 0x67, 0x1c, 0xd7, 0x44, 0x50, 0x82, 0xa9, 0x86, 0xdf,
-                0x16, 0x28, 0xed, 0xca, 0xcb, 0xf4, 0x29, 0xa3, 0xc8, 0x09, 0xd2, 0x36, 0x54, 0x97,
-                0xe1, 0x17, 0x0b, 0xfd,
+                0xb7, 0x03, 0xd3, 0x5d, 0xee, 0xd9, 0x6c, 0xe3, 0x9d, 0xf8, 0xad, 0x21, 0x4f, 0x74,
+                0x89, 0x8a, 0x17, 0x65, 0xaa, 0x14, 0x06, 0xbc, 0xe4, 0xbf, 0x9a, 0xfc, 0x5c, 0x63,
+                0xa8, 0x38, 0x2d, 0x9e,
             ],
             Core::Lt64 => [
-                0x7c, 0x67, 0xaa, 0x89, 0x93, 0xfc, 0xda, 0x59, 0x30, 0xf7, 0x9d, 0xb2, 0x00, 0x8a,
-                0xa6, 0xd7, 0xbe, 0x5f, 0x3b, 0xed, 0x5a, 0xca, 0x5e, 0x03, 0x2d, 0xcc, 0xcf, 0x0b,
-                0xe8, 0x4f, 0x62, 0xd1,
+                0x94, 0xf1, 0xe4, 0x8d, 0x7c, 0x87, 0xc1, 0x80, 0x83, 0x84, 0x1e, 0xc1, 0x24, 0x67,
+                0x94, 0x2b, 0x76, 0xa8, 0x93, 0xfa, 0x08, 0xe9, 0x41, 0x23, 0xb4, 0xfe, 0x80, 0x20,
+                0xd5, 0xf1, 0xd9, 0xaf,
             ],
             Core::Lt8 => [
-                0x98, 0x76, 0x3f, 0x78, 0x21, 0x69, 0x09, 0x54, 0xcf, 0x50, 0x81, 0x02, 0x09, 0xdf,
-                0x6e, 0x15, 0x57, 0x03, 0x16, 0xbb, 0xa8, 0x9f, 0xfa, 0x9a, 0xe5, 0x56, 0xa9, 0x15,
-                0xf3, 0x7b, 0x64, 0x0b,
+                0xf4, 0x0a, 0x8c, 0xfa, 0x78, 0x39, 0x93, 0x9c, 0xa4, 0xdd, 0x3d, 0x01, 0x22, 0xd4,
+                0xb5, 0x6c, 0xc3, 0xc6, 0x54, 0xe3, 0x5e, 0x2a, 0xf2, 0xd3, 0x51, 0x1f, 0xc9, 0x44,
+                0x6c, 0xf0, 0xf8, 0xaf,
             ],
             Core::Maj1 => [
-                0xae, 0x8b, 0x91, 0x2e, 0x3a, 0xd4, 0x7f, 0x68, 0x8b, 0xbb, 0x46, 0xc8, 0xcb, 0x6d,
-                0x53, 0x33, 0x69, 0xf5, 0x10, 0x9a, 0x27, 0x30, 0x47, 0x1e, 0xab, 0x6e, 0xfe, 0x98,
-                0xe9, 0xea, 0x5e, 0x78,
+                0x79, 0xd1, 0x85, 0xf5, 0x3d, 0x2e, 0x2f, 0xab, 0x87, 0x54, 0xc1, 0xb9, 0x58, 0xa5,
+                0xa1, 0xb5, 0xb9, 0xdf, 0xa5, 0x0d, 0x90, 0x0c, 0xe4, 0x3a, 0xd7, 0x35, 0x61, 0xb4,
+                0x4a, 0x88, 0x78, 0x22,
             ],
             Core::Maj16 => [
-                0xf5, 0xa4, 0x1d, 0xa0, 0x37, 0x7f, 0xe6, 0x88, 0xac, 0x2f, 0xcd, 0xf3, 0x5b, 0x6b,
-                0x7a, 0x47, 0x2e, 0x78, 0xea, 0x69, 0xfd, 0x2b, 0x17, 0xf7, 0x56, 0x34, 0x2b, 0xaa,
-                0x1f, 0x8b, 0x9f, 0xdd,
+                0xa1, 0x7f, 0x14, 0xf2, 0x9c, 0xe6, 0x4c, 0xc0, 0xa3, 0x41, 0x07, 0x06, 0x74, 0x7a,
+                0x48, 0x32, 0x19, 0x0a, 0xf2, 0x3c, 0x03, 0xca, 0xc1, 0x64, 0xa4, 0x7f, 0xc1, 0x27,
+                0xb4, 0x8f, 0x34, 0x28,
             ],
             Core::Maj32 => [
-                0xf1, 0xd9, 0x3b, 0x04, 0x6b, 0x02, 0x85, 0xf6, 0xe5, 0x20, 0x46, 0x7f, 0x26, 0x5f,
-                0x6a, 0x6a, 0xe3, 0x49, 0x1f, 0x16, 0x78, 0xc8, 0xa8, 0x26, 0xa0, 0x09, 0x9b, 0x9c,
-                0xd4, 0x15, 0x99, 0xd4,
+                0xe1, 0x9f, 0xad, 0xfa, 0xc6, 0xc7, 0x85, 0xb8, 0x98, 0x29, 0xa9, 0x1e, 0xc0, 0x21,
+                0x59, 0x35, 0xc4, 0x9f, 0xbc, 0x9d, 0x20, 0xc6, 0xbe, 0x78, 0xde, 0x9a, 0x63, 0x55,
+                0xe8, 0x18, 0x13, 0x56,
             ],
             Core::Maj64 => [
-                0x5e, 0x99, 0x6c, 0x51, 0x51, 0xd7, 0xac, 0xee, 0x4a, 0x7d, 0x9e, 0x22, 0x95, 0xef,
-                0x8f, 0x2c, 0x75, 0x54, 0x88, 0x84, 0x4b, 0xfd, 0xe2, 0x5d, 0x5a, 0xcd, 0xfe, 0xa2,
-                0x98, 0x44, 0x43, 0x5a,
+                0xf1, 0x19, 0xb2, 0xf2, 0x38, 0x3b, 0x9f, 0xe6, 0xdd, 0x76, 0x8e, 0x5e, 0xe2, 0x7d,
+                0xb4, 0xf5, 0x78, 0x38, 0x68, 0xcf, 0x9b, 0x9e, 0x13, 0x85, 0x41, 0x00, 0x39, 0x90,
+                0x1d, 0x17, 0xc2, 0x30,
             ],
             Core::Maj8 => [
-                0xab, 0x6c, 0x4c, 0x41, 0xab, 0x67, 0xeb, 0xf7, 0xea, 0x60, 0x87, 0x0c, 0x9b, 0x2d,
-                0x93, 0x10, 0x01, 0x74, 0x29, 0x61, 0x8d, 0x2a, 0xb9, 0x02, 0x68, 0xb5, 0xc5, 0xc2,
-                0xb5, 0x37, 0x7f, 0x3b,
+                0x41, 0x56, 0x21, 0xcb, 0x9e, 0x42, 0x8f, 0x72, 0xeb, 0x29, 0x56, 0xe4, 0x69, 0x6f,
+                0x70, 0x65, 0xde, 0xe6, 0xa8, 0xda, 0x5e, 0xed, 0xde, 0x32, 0x36, 0x2b, 0x81, 0x24,
+                0xa1, 0x95, 0xdd, 0x50,
             ],
             Core::Max16 => [
-                0xcd, 0xdd, 0x81, 0x69, 0x55, 0x22, 0x97, 0x1b, 0x52, 0x9e, 0xb0, 0xbb, 0x53, 0x81,
-                0x8f, 0xe2, 0x28, 0x58, 0xac, 0x6b, 0x03, 0x7c, 0x38, 0x10, 0xec, 0x26, 0x8b, 0x53,
-                0xb8, 0x17, 0xa3, 0x8d,
+                0xce, 0xb7, 0x1d, 0x05, 0xf9, 0x55, 0x18, 0xd3, 0xd4, 0x09, 0x25, 0xe7, 0x3c, 0xa2,
+                0x9b, 0x7c, 0x3e, 0xc6, 0x2b, 0x92, 0xaf, 0x47, 0x88, 0x04, 0x8f, 0x7b, 0xe8, 0x06,
+                0x52, 0xf6, 0xba, 0x2b,
             ],
             Core::Max32 => [
-                0xd9, 0x16, 0xf3, 0x4b, 0xd7, 0x85, 0xb9, 0x38, 0x08, 0xb6, 0x7c, 0x62, 0x28, 0x4f,
-                0x94, 0xaa, 0x5d, 0xf4, 0x79, 0x19, 0x59, 0xb4, 0x9b, 0x85, 0x82, 0xb0, 0x58, 0x2b,
-                0x82, 0x85, 0x38, 0x83,
+                0x67, 0x9f, 0x51, 0xce, 0xca, 0x3e, 0x7b, 0xfc, 0x4b, 0x8b, 0x8c, 0x14, 0x5f, 0xbe,
+                0x06, 0x47, 0x3f, 0x65, 0x3b, 0x21, 0xfb, 0x8f, 0x58, 0x38, 0x39, 0xfc, 0x9f, 0x9e,
+                0x22, 0x1a, 0x99, 0xe7,
             ],
             Core::Max64 => [
-                0x99, 0xef, 0x5a, 0xbf, 0xf7, 0x87, 0x00, 0xbd, 0x93, 0xd1, 0xc9, 0x77, 0xfd, 0x68,
-                0x6f, 0x31, 0x21, 0x0f, 0xd1, 0xce, 0x1d, 0x09, 0x4d, 0x23, 0x04, 0x8c, 0x02, 0x6c,
-                0x19, 0xfc, 0x98, 0x4a,
+                0x6a, 0xeb, 0x60, 0x2c, 0x1f, 0x2d, 0xe2, 0x0e, 0x6a, 0xee, 0x7e, 0x23, 0x3b, 0x29,
+                0xdb, 0x2e, 0xe5, 0x33, 0xa0, 0xc1, 0x1e, 0x33, 0x63, 0xfc, 0x67, 0xb3, 0x0d, 0x6c,
+                0x78, 0x33, 0x83, 0x52,
             ],
             Core::Max8 => [
-                0x3a, 0xcb, 0xf7, 0x73, 0x3f, 0xd8, 0xef, 0x4f, 0x51, 0x96, 0x7a, 0xa2, 0x45, 0x55,
-                0x8b, 0x28, 0x37, 0x4d, 0x54, 0xc6, 0x32, 0xa9, 0xf4, 0x6a, 0xab, 0x6b, 0x2b, 0x1e,
-                0xc2, 0xd5, 0x13, 0x9a,
+                0x5c, 0x1f, 0x36, 0x9a, 0xfa, 0xac, 0x6b, 0x74, 0xb5, 0x7e, 0xdf, 0x3c, 0xec, 0xfb,
+                0x61, 0xf2, 0x07, 0xe0, 0x59, 0x39, 0xb1, 0xc6, 0xfc, 0x73, 0x5b, 0x07, 0x83, 0x6f,
+                0x39, 0x73, 0xd9, 0x04,
             ],
             Core::Median16 => [
-                0xd6, 0x46, 0x3e, 0x89, 0xdf, 0xe2, 0xc3, 0x34, 0xb0, 0x1f, 0x90, 0x97, 0xb0, 0x1a,
-                0x75, 0xc4, 0x75, 0xfb, 0x0f, 0x0f, 0x16, 0x7c, 0xb6, 0xb7, 0x49, 0x76, 0xf1, 0x97,
-                0xbd, 0x4c, 0x76, 0xe1,
+                0xc0, 0x9a, 0x30, 0x0b, 0x6d, 0x02, 0x3c, 0xa4, 0x09, 0x27, 0x9e, 0x42, 0x27, 0x47,
+                0x0d, 0xd8, 0xbd, 0x52, 0xf1, 0x68, 0xf1, 0xf8, 0xbf, 0xa9, 0x38, 0x77, 0x9f, 0x03,
+                0xc8, 0x6e, 0xf1, 0x52,
             ],
             Core::Median32 => [
-                0x01, 0xdc, 0xa1, 0xed, 0xe5, 0xb2, 0x9d, 0x88, 0x48, 0x0b, 0xc4, 0xdc, 0x43, 0xbe,
-                0x4e, 0x04, 0xf2, 0xd2, 0x09, 0xee, 0x32, 0xf6, 0xcf, 0x3e, 0xc7, 0x05, 0x0d, 0xa1,
-                0x07, 0x35, 0x90, 0x63,
+                0x84, 0x81, 0x00, 0x59, 0x86, 0xf4, 0x29, 0x48, 0x05, 0x1a, 0x36, 0x4a, 0xd4, 0x18,
+                0x70, 0x2e, 0xbc, 0x76, 0xfa, 0x36, 0x53, 0x44, 0xaa, 0x2e, 0xa1, 0xa6, 0x30, 0x05,
+                0xe6, 0x1f, 0xe8, 0xbb,
             ],
             Core::Median64 => [
-                0x70, 0x7a, 0x6f, 0xa8, 0xc1, 0x54, 0x95, 0xa2, 0xc4, 0x82, 0x22, 0x63, 0xdd, 0xce,
-                0xa5, 0xe0, 0xf0, 0xe8, 0x50, 0xa9, 0x4b, 0x1c, 0xf4, 0xec, 0xc0, 0x65, 0x2f, 0xaf,
-                0xee, 0xf1, 0x30, 0xe9,
+                0xcc, 0xba, 0xa9, 0x00, 0x0f, 0x3c, 0x0c, 0x9e, 0xc7, 0x1b, 0xc0, 0xdb, 0x5d, 0xa8,
+                0x52, 0x83, 0x6f, 0xa9, 0x12, 0x28, 0xb3, 0x73, 0xf5, 0x6b, 0xce, 0xf0, 0xb2, 0x25,
+                0x85, 0xd4, 0x70, 0xff,
             ],
             Core::Median8 => [
-                0x26, 0xbf, 0xcb, 0x7b, 0xab, 0xcf, 0x26, 0xc9, 0x7a, 0x84, 0x16, 0x75, 0x45, 0x74,
-                0x62, 0x76, 0x59, 0x27, 0x9a, 0xf8, 0x09, 0x55, 0x48, 0x82, 0x40, 0x0e, 0xf8, 0x74,
-                0xdf, 0x1c, 0x1a, 0x31,
+                0xc5, 0xb2, 0xc0, 0x01, 0xdc, 0x50, 0x4f, 0xf4, 0xc2, 0xe0, 0x52, 0x86, 0x56, 0xd4,
+                0xda, 0xbf, 0x33, 0xfb, 0x41, 0x42, 0xd0, 0x26, 0xab, 0x61, 0x37, 0x4c, 0x23, 0x89,
+                0x0b, 0xda, 0x1f, 0x18,
             ],
             Core::Min16 => [
-                0x63, 0xbb, 0xc0, 0xe5, 0xdb, 0x1c, 0xe0, 0x80, 0x97, 0xd3, 0xf5, 0xbc, 0xc5, 0xbe,
-                0x1d, 0x72, 0x09, 0x0b, 0xab, 0x4a, 0x87, 0xc1, 0x0c, 0x80, 0x05, 0x49, 0xca, 0x84,
-                0xef, 0xbf, 0xe5, 0xe3,
+                0xb2, 0x26, 0x58, 0x69, 0xea, 0x19, 0x0b, 0xba, 0x73, 0x0c, 0xd7, 0xd7, 0xcd, 0x05,
+                0x24, 0xd1, 0x3e, 0xbf, 0x76, 0x7e, 0x1b, 0x12, 0x5c, 0x44, 0x1b, 0x1b, 0xab, 0x0e,
+                0x3d, 0xbe, 0xef, 0x26,
             ],
             Core::Min32 => [
-                0xaf, 0x4d, 0x61, 0x84, 0x2f, 0x47, 0x90, 0x32, 0x5c, 0x61, 0x45, 0x56, 0xc7, 0x77,
-                0x6e, 0xea, 0x45, 0x75, 0x13, 0xca, 0x42, 0x2f, 0x30, 0x5b, 0x46, 0x3f, 0x8f, 0x7d,
-                0x8b, 0xda, 0x0c, 0x3c,
+                0x6d, 0x92, 0x1b, 0xfb, 0xaf, 0x93, 0x50, 0x63, 0xbd, 0x4b, 0x4e, 0x48, 0xd6, 0xd1,
+                0x36, 0x64, 0xbd, 0x5d, 0x0a, 0xc2, 0x5f, 0x5e, 0xe3, 0x0e, 0xbe, 0x51, 0x8e, 0x79,
+                0x11, 0x51, 0x75, 0x0a,
             ],
             Core::Min64 => [
-                0xf0, 0xa3, 0x17, 0x0f, 0xb3, 0x06, 0x50, 0x90, 0x71, 0xb2, 0x14, 0x32, 0x30, 0x9c,
-                0x00, 0x86, 0x5d, 0x8f, 0xb6, 0x75, 0x2d, 0xe6, 0xec, 0x41, 0x0a, 0xbb, 0x6c, 0xe3,
-                0x5b, 0x4f, 0xfa, 0x9c,
+                0x05, 0xd9, 0xc0, 0xa2, 0xa7, 0x1f, 0x88, 0x7d, 0x76, 0x46, 0xe4, 0x15, 0x82, 0x72,
+                0x30, 0xcf, 0xbe, 0xcc, 0x0d, 0x82, 0x36, 0xc5, 0x62, 0xf2, 0xdf, 0xda, 0x3d, 0xcd,
+                0xe1, 0x3b, 0x2f, 0x03,
             ],
             Core::Min8 => [
-                0x8a, 0xa7, 0x1d, 0x09, 0x3e, 0x83, 0x8a, 0xd3, 0x6a, 0xa6, 0xfe, 0x16, 0xfd, 0x1d,
-                0xde, 0x9f, 0xb5, 0x77, 0x2a, 0xc4, 0x5d, 0x6b, 0xb8, 0xe4, 0x2c, 0x88, 0x83, 0xa2,
-                0xa9, 0xf1, 0x00, 0xe2,
+                0x57, 0xba, 0x25, 0x7d, 0xc7, 0x0a, 0x97, 0x5e, 0xfb, 0x22, 0xd7, 0xe0, 0xa9, 0x98,
+                0xae, 0xa9, 0xd5, 0x7f, 0x20, 0x8a, 0x74, 0x56, 0x5a, 0x68, 0xf2, 0xac, 0x8b, 0x50,
+                0x1e, 0x22, 0x0d, 0xc0,
             ],
             Core::Modulo16 => [
-                0x0e, 0xa8, 0x98, 0x59, 0x79, 0x20, 0x9d, 0x31, 0x94, 0xc5, 0x59, 0x12, 0xf2, 0x1a,
-                0x65, 0x77, 0xda, 0x30, 0xc5, 0x17, 0xe0, 0x08, 0xf8, 0x51, 0xc3, 0x52, 0x08, 0x5b,
-                0xb0, 0x67, 0xa0, 0xf1,
+                0x7a, 0xbd, 0xe1, 0xdc, 0xab, 0x9d, 0x23, 0xea, 0xe1, 0xd0, 0xa0, 0xa6, 0xb3, 0x84,
+                0xfb, 0x39, 0xdf, 0x21, 0xc3, 0x83, 0x16, 0xc0, 0xbb, 0xcc, 0x6c, 0x70, 0x6d, 0x7b,
+                0x5f, 0x3d, 0x68, 0xbb,
             ],
             Core::Modulo32 => [
-                0x22, 0x3f, 0xb5, 0x83, 0x2b, 0x95, 0x59, 0xca, 0x86, 0x51, 0x72, 0x6a, 0xb7, 0x95,
-                0x6e, 0x58, 0xe5, 0x3a, 0x40, 0x2d, 0xf9, 0x60, 0x34, 0x86, 0x18, 0x18, 0x07, 0xa2,
-                0xfc, 0xae, 0xd4, 0x87,
+                0x7d, 0x12, 0x78, 0x66, 0xce, 0xb0, 0x03, 0xec, 0x84, 0xa2, 0x70, 0x2a, 0xff, 0x40,
+                0x59, 0xa7, 0xc6, 0xfb, 0x00, 0xa5, 0xa5, 0xba, 0xce, 0x90, 0xb9, 0xd9, 0xc0, 0x20,
+                0xb5, 0xdc, 0x02, 0x97,
             ],
             Core::Modulo64 => [
-                0x82, 0x59, 0xa2, 0xe3, 0xb0, 0x78, 0x9c, 0x9d, 0x31, 0xea, 0xbc, 0x49, 0x39, 0xd3,
-                0x1b, 0xc5, 0x25, 0x4c, 0x56, 0x65, 0xc4, 0x12, 0x05, 0x2c, 0x12, 0xd7, 0x2e, 0xcd,
-                0xfb, 0xed, 0x52, 0x25,
+                0xaa, 0xfe, 0xd9, 0xe3, 0x7b, 0x3d, 0x3e, 0xd4, 0x1d, 0xb1, 0x71, 0x16, 0x7b, 0x0f,
+                0xa2, 0x3c, 0x8b, 0x82, 0x3a, 0xdd, 0x9a, 0x48, 0xad, 0xde, 0x24, 0xba, 0x20, 0xf9,
+                0x19, 0x4b, 0x07, 0x9c,
             ],
             Core::Modulo8 => [
-                0xf8, 0xfd, 0x7c, 0x21, 0xc1, 0x5e, 0xbc, 0x5a, 0x04, 0xb3, 0xd3, 0xbc, 0x0a, 0xd6,
-                0x47, 0xe2, 0x1d, 0x89, 0xf8, 0x00, 0x8d, 0xdd, 0xdf, 0xfe, 0xbb, 0x00, 0x3e, 0x35,
-                0x52, 0xbd, 0xb5, 0x70,
+                0x90, 0xf3, 0xac, 0xeb, 0x58, 0x47, 0x71, 0x39, 0x06, 0xd2, 0xf8, 0xef, 0x7c, 0xb4,
+                0xb6, 0x6b, 0x08, 0x92, 0x81, 0x0e, 0xa8, 0x01, 0xbf, 0xa9, 0xd7, 0x46, 0xda, 0x1a,
+                0xd6, 0xd9, 0x80, 0x09,
             ],
             Core::Multiply16 => [
-                0xd6, 0x6b, 0x0a, 0xd2, 0x1c, 0xdb, 0xe6, 0x01, 0x4f, 0x26, 0x19, 0xf4, 0x40, 0xd9,
-                0x35, 0xf6, 0x42, 0xe9, 0x7c, 0x59, 0x4e, 0x3b, 0x44, 0x1f, 0x01, 0x98, 0x0e, 0xea,
-                0x08, 0xc4, 0x85, 0x91,
+                0x68, 0x68, 0xa8, 0x5d, 0x9f, 0x76, 0xc9, 0x58, 0xff, 0xda, 0x84, 0x78, 0x05, 0xf5,
+                0xeb, 0xc0, 0x9f, 0x43, 0xbd, 0xdb, 0xc1, 0x40, 0x95, 0x2a, 0xbb, 0x2a, 0x4c, 0xc0,
+                0x19, 0x27, 0xeb, 0xdd,
             ],
             Core::Multiply32 => [
-                0xc6, 0x7f, 0x65, 0xaf, 0xae, 0x79, 0x10, 0x8c, 0xe5, 0xf7, 0x24, 0xf4, 0x01, 0x81,
-                0x7a, 0xa1, 0xb4, 0xa7, 0x60, 0x8a, 0x4e, 0x18, 0xee, 0x74, 0x82, 0x6b, 0x37, 0xf7,
-                0x94, 0x9c, 0x77, 0xd6,
+                0x69, 0xf9, 0x1b, 0x99, 0x4d, 0x83, 0x40, 0xe4, 0x8c, 0x0f, 0x11, 0x24, 0x99, 0x0d,
+                0xe0, 0x3b, 0x51, 0x2a, 0xdc, 0xec, 0xd7, 0xbd, 0xeb, 0x29, 0xe4, 0x09, 0xa3, 0x51,
+                0x19, 0xf1, 0x1f, 0xac,
             ],
             Core::Multiply64 => [
-                0x16, 0xac, 0x08, 0xfe, 0xc9, 0xd9, 0x66, 0x52, 0x7f, 0x80, 0xc3, 0x9c, 0x64, 0xa4,
-                0xfc, 0x10, 0x82, 0xb1, 0x50, 0xbd, 0xbb, 0x05, 0xf7, 0xf6, 0xc4, 0xb9, 0xa0, 0x0e,
-                0xbd, 0x89, 0x4d, 0xba,
+                0xd1, 0xf1, 0x48, 0xf2, 0xd4, 0x50, 0xe8, 0x03, 0x47, 0x43, 0x43, 0xe5, 0x9d, 0x2e,
+                0x0c, 0x4d, 0xa7, 0xd6, 0xb0, 0x97, 0x2c, 0xfa, 0x25, 0x1c, 0x9a, 0x82, 0x2a, 0xb4,
+                0x42, 0x63, 0xe1, 0x62,
             ],
             Core::Multiply8 => [
-                0xce, 0xc3, 0xd5, 0xc3, 0x2d, 0xee, 0x35, 0x2e, 0x75, 0x4f, 0x14, 0x1c, 0x02, 0xef,
-                0x2b, 0x60, 0xf8, 0x6e, 0x27, 0xd2, 0xcb, 0xe2, 0x73, 0x26, 0x06, 0x0d, 0xec, 0x9e,
-                0x7b, 0xcc, 0x20, 0x6b,
+                0x2a, 0x8c, 0x03, 0x63, 0x2e, 0xcc, 0x5e, 0x61, 0xe3, 0xf1, 0x20, 0x3a, 0x91, 0x2b,
+                0x1a, 0x77, 0x3e, 0xb6, 0xbf, 0x63, 0x4b, 0x6b, 0xdf, 0x56, 0x63, 0xb8, 0x43, 0x1d,
+                0xb6, 0xf5, 0x5b, 0xe3,
             ],
             Core::Negate16 => [
-                0x81, 0xf3, 0xef, 0x08, 0x2b, 0x19, 0x9d, 0x2e, 0x47, 0x45, 0x35, 0xfb, 0x84, 0x28,
-                0x2f, 0x21, 0x11, 0x1c, 0x1a, 0x04, 0x97, 0xa9, 0x16, 0x95, 0xe7, 0x2c, 0x4d, 0x51,
-                0xaf, 0x1c, 0xb0, 0x57,
+                0xf1, 0xa2, 0x24, 0x28, 0x06, 0xaa, 0xdf, 0xc4, 0xdc, 0x11, 0xde, 0x65, 0xe8, 0x77,
+                0xb0, 0xd8, 0x73, 0xb5, 0xd5, 0x65, 0xee, 0xe3, 0xf8, 0x48, 0xa7, 0x44, 0x28, 0x31,
+                0xe5, 0x2c, 0x63, 0x0a,
             ],
             Core::Negate32 => [
-                0xba, 0x17, 0x3b, 0xde, 0xf2, 0x4e, 0x63, 0x7f, 0x4a, 0x5a, 0x0c, 0x6f, 0xed, 0x4b,
-                0xbc, 0x22, 0xc7, 0xd0, 0x8b, 0xcc, 0x20, 0xfd, 0xca, 0x61, 0x70, 0x36, 0x3d, 0x25,
-                0x26, 0x95, 0x58, 0x36,
+                0xdb, 0x75, 0xba, 0x2c, 0x60, 0x95, 0x2e, 0x76, 0x5d, 0x7a, 0x5c, 0xe4, 0xaa, 0xa3,
+                0x12, 0x64, 0x99, 0x0f, 0xcc, 0xac, 0x75, 0x0a, 0x80, 0xad, 0xc6, 0x78, 0x78, 0x7f,
+                0x5f, 0x72, 0xbf, 0xdd,
             ],
             Core::Negate64 => [
-                0xe7, 0x13, 0x27, 0x2d, 0x6d, 0x9a, 0x6d, 0x69, 0x6c, 0x46, 0x88, 0x9d, 0xfb, 0x27,
-                0x04, 0x75, 0xe9, 0x23, 0x8d, 0x17, 0x72, 0xab, 0xf9, 0x16, 0x5b, 0x09, 0x3c, 0x79,
-                0x98, 0xee, 0x80, 0x70,
+                0xc9, 0x1b, 0xcd, 0xb7, 0x1d, 0x19, 0x6a, 0x3b, 0xf6, 0x5c, 0xa8, 0x3f, 0x22, 0x5a,
+                0x5e, 0x1b, 0xbb, 0x73, 0xbd, 0x2e, 0x35, 0x75, 0xcf, 0x16, 0x5e, 0x5a, 0x47, 0x17,
+                0xe9, 0x47, 0x37, 0xeb,
             ],
             Core::Negate8 => [
-                0x8b, 0xe8, 0x71, 0x39, 0x3e, 0x18, 0xc0, 0x63, 0x69, 0x16, 0x1f, 0xb1, 0xc0, 0xad,
-                0x2b, 0x92, 0x06, 0x22, 0x97, 0x4e, 0x3f, 0xdf, 0xca, 0x90, 0x56, 0x7e, 0x6d, 0xa4,
-                0x29, 0xfd, 0x98, 0x42,
+                0x8a, 0xff, 0xfa, 0xb3, 0x6b, 0xbc, 0xa0, 0xe9, 0x3f, 0xff, 0x2c, 0x67, 0x27, 0x24,
+                0xe4, 0xb7, 0xbc, 0x24, 0xf6, 0x38, 0xe4, 0x04, 0x89, 0x12, 0x66, 0x47, 0x88, 0xf0,
+                0x38, 0xc9, 0x95, 0xcf,
             ],
             Core::One16 => [
-                0x76, 0x29, 0x79, 0x2b, 0xa1, 0xa4, 0x41, 0x14, 0xe5, 0x9e, 0x64, 0xb5, 0x1d, 0x18,
-                0x7a, 0xf6, 0xd9, 0x65, 0xd9, 0x66, 0x20, 0xdc, 0xa2, 0x62, 0x75, 0x07, 0xb7, 0xd3,
-                0x88, 0xd9, 0x35, 0x3c,
+                0xeb, 0xe5, 0x31, 0x62, 0x82, 0x42, 0xd1, 0x17, 0x7f, 0xa9, 0x4e, 0xcf, 0x46, 0x92,
+                0x21, 0xbe, 0x15, 0x90, 0x5e, 0x07, 0xf3, 0xc8, 0xfa, 0x15, 0xd3, 0xd9, 0xd4, 0xaa,
+                0x6a, 0x81, 0x5c, 0x8d,
             ],
             Core::One32 => [
-                0x0b, 0xa0, 0x04, 0xce, 0xa2, 0x50, 0xfe, 0x95, 0x3a, 0xc7, 0x4e, 0x6e, 0xcd, 0x36,
-                0x20, 0xe8, 0x02, 0x84, 0x1f, 0xda, 0x79, 0x52, 0x08, 0xde, 0xc6, 0x6d, 0x62, 0x6e,
-                0x06, 0xaa, 0x29, 0xb2,
+                0x99, 0x1f, 0x9e, 0x3a, 0xcb, 0x6f, 0xf7, 0x8f, 0x03, 0xf5, 0x78, 0x03, 0x54, 0x10,
+                0x96, 0xbe, 0x79, 0x44, 0xc9, 0x18, 0xc2, 0xaf, 0x3d, 0x68, 0xa3, 0x21, 0x0d, 0x0b,
+                0x9f, 0x99, 0x0e, 0xc2,
             ],
             Core::One64 => [
-                0xba, 0x34, 0x78, 0xc1, 0x08, 0x74, 0x0a, 0x83, 0xf0, 0xca, 0x0e, 0xae, 0x86, 0xc3,
-                0x1b, 0x4a, 0xfa, 0xc8, 0x30, 0xdf, 0x09, 0x34, 0x67, 0xcc, 0x08, 0xea, 0x1c, 0x04,
-                0x15, 0xef, 0xef, 0x6d,
+                0xfe, 0x30, 0x8d, 0x3f, 0x68, 0x97, 0xcd, 0xce, 0xed, 0xc0, 0x2c, 0xed, 0x16, 0x30,
+                0xe5, 0x5e, 0x87, 0xbd, 0xcf, 0xec, 0xd4, 0xae, 0xc3, 0xce, 0x54, 0x94, 0x8f, 0x57,
+                0xdf, 0xe1, 0x8e, 0x27,
             ],
             Core::One8 => [
-                0x15, 0xca, 0x77, 0xa4, 0xb7, 0x02, 0x25, 0x68, 0x37, 0xf9, 0x0f, 0xf7, 0x8c, 0xa7,
-                0x74, 0x0a, 0x40, 0xfe, 0xce, 0x71, 0x91, 0x30, 0x1d, 0x00, 0xe5, 0x17, 0xd8, 0xd3,
-                0x4f, 0x46, 0xc2, 0x50,
+                0x68, 0x24, 0x82, 0x61, 0x8b, 0xee, 0x00, 0xbb, 0x85, 0xdb, 0x83, 0xe3, 0x9d, 0xc4,
+                0x0c, 0x28, 0x51, 0xf6, 0x4c, 0x00, 0x69, 0x53, 0x44, 0x0f, 0x43, 0xb9, 0x73, 0xaf,
+                0x7a, 0x72, 0x32, 0xc9,
             ],
             Core::Or1 => [
-                0x93, 0x52, 0x22, 0x30, 0x17, 0x00, 0x98, 0x7d, 0xe1, 0x2c, 0xb4, 0x26, 0x17, 0x21,
-                0x81, 0x53, 0xfd, 0x7c, 0xcd, 0x63, 0x17, 0x4a, 0x17, 0x49, 0xfc, 0x88, 0x0c, 0x39,
-                0xe3, 0xe7, 0x23, 0x9c,
+                0xa9, 0xa6, 0xa7, 0x36, 0x9f, 0x3f, 0xd7, 0x7e, 0xfd, 0x36, 0xb8, 0xa4, 0x1d, 0xad,
+                0xd7, 0x0c, 0x1a, 0x4e, 0xde, 0x70, 0x62, 0x3b, 0x14, 0x0a, 0x8d, 0x50, 0xde, 0xc7,
+                0x4d, 0xd4, 0x91, 0x2d,
             ],
             Core::Or16 => [
-                0xdf, 0xea, 0xd0, 0xba, 0x93, 0xe4, 0x91, 0x55, 0xc4, 0x0c, 0xb3, 0x72, 0xca, 0x5e,
-                0xf6, 0x17, 0x97, 0x41, 0xc6, 0x1f, 0x2b, 0x3c, 0xc2, 0x79, 0x7e, 0xf1, 0x62, 0xc8,
-                0xd2, 0xfc, 0x1f, 0x9a,
+                0xda, 0x96, 0xd8, 0x33, 0x21, 0x55, 0xc3, 0x63, 0x8c, 0xf2, 0xa6, 0x20, 0x40, 0xb2,
+                0x24, 0xc1, 0x3c, 0x1b, 0xae, 0xee, 0x91, 0x32, 0x18, 0x53, 0x3d, 0xef, 0xed, 0x9e,
+                0x16, 0x6a, 0x64, 0x83,
             ],
             Core::Or32 => [
-                0x67, 0xac, 0x69, 0x45, 0xcd, 0xc0, 0x06, 0xd2, 0x5e, 0x5b, 0xbe, 0x6c, 0x4f, 0xe8,
-                0x1c, 0xa1, 0x67, 0x41, 0xff, 0xab, 0x3d, 0x23, 0x96, 0x0e, 0xeb, 0x49, 0x85, 0x0f,
-                0x92, 0x73, 0x2c, 0xbb,
+                0xb6, 0x72, 0xb0, 0xf7, 0xc9, 0x29, 0x74, 0x97, 0xa0, 0xc9, 0xcc, 0x84, 0xd7, 0xf7,
+                0xdd, 0xe2, 0x6d, 0x6d, 0xe5, 0xe4, 0xbe, 0xc1, 0x4b, 0x20, 0xe0, 0x10, 0xce, 0xe1,
+                0xcc, 0xc0, 0x8f, 0x09,
             ],
             Core::Or64 => [
-                0x1e, 0xb9, 0x52, 0xe4, 0x61, 0x16, 0xe2, 0x71, 0xdc, 0x48, 0x9e, 0x67, 0x22, 0xa9,
-                0x01, 0x85, 0xeb, 0xf5, 0xfb, 0x77, 0x5b, 0x77, 0x81, 0x60, 0x6d, 0xbf, 0x5e, 0x89,
-                0xcc, 0xd7, 0xc2, 0x50,
+                0x13, 0x3d, 0x50, 0x5c, 0xe5, 0x03, 0xfb, 0xeb, 0x13, 0x29, 0x58, 0x0f, 0x5b, 0x96,
+                0xa0, 0xd9, 0x7f, 0x3a, 0x5a, 0xba, 0x79, 0xd7, 0x1b, 0xbd, 0x85, 0x88, 0x4a, 0x12,
+                0x81, 0x39, 0xc0, 0x08,
             ],
             Core::Or8 => [
-                0x37, 0x8f, 0x7a, 0xbe, 0x8b, 0x08, 0x1f, 0xaf, 0x5b, 0x3a, 0x25, 0x78, 0xef, 0x19,
-                0x79, 0xfe, 0x80, 0xbc, 0xcb, 0x07, 0x91, 0x15, 0x6a, 0x49, 0x3f, 0x8a, 0x3f, 0x6e,
-                0x0b, 0xb2, 0xfc, 0x84,
+                0x8e, 0xf1, 0xc6, 0xa1, 0xca, 0xe0, 0x74, 0x03, 0xda, 0xcd, 0x8c, 0x13, 0x2e, 0x88,
+                0x99, 0xc1, 0x85, 0x87, 0x45, 0xc8, 0x6d, 0x1f, 0xdd, 0x4c, 0x9f, 0xda, 0x63, 0x62,
+                0x51, 0x00, 0x48, 0xb3,
             ],
             Core::ParseLock => [
-                0x45, 0x71, 0xca, 0x04, 0x52, 0x57, 0x7c, 0xfa, 0xf8, 0xa8, 0x5f, 0x5e, 0x32, 0x9d,
-                0x60, 0x2c, 0x8d, 0xca, 0xd1, 0x27, 0x6a, 0x97, 0x4e, 0x2c, 0x75, 0xd2, 0xec, 0x04,
-                0x65, 0x7b, 0xc4, 0x25,
+                0xce, 0x03, 0xe1, 0x95, 0xff, 0x84, 0x1f, 0x93, 0x09, 0xee, 0x27, 0x7d, 0xc8, 0x54,
+                0xf9, 0xc3, 0xd4, 0xcb, 0x65, 0x54, 0x20, 0xe9, 0x21, 0x13, 0x59, 0xe1, 0xf2, 0x04,
+                0x64, 0x1a, 0x23, 0xa6,
             ],
             Core::ParseSequence => [
-                0x55, 0xc9, 0x03, 0x66, 0x0c, 0x8c, 0x92, 0xb1, 0x42, 0x9f, 0x63, 0xe2, 0x74, 0x71,
-                0xac, 0xd5, 0x9c, 0x3a, 0x26, 0xaa, 0x7a, 0x59, 0x22, 0x1d, 0x7a, 0x6d, 0x52, 0xb6,
-                0x2e, 0xba, 0xf9, 0x4a,
+                0xc8, 0xa1, 0xcb, 0x4e, 0xad, 0xf2, 0xa8, 0xda, 0x31, 0x2c, 0x0d, 0x27, 0x35, 0xcf,
+                0x97, 0xde, 0xe0, 0xdb, 0xae, 0x4d, 0x73, 0x11, 0x09, 0xca, 0x01, 0x94, 0x52, 0x1e,
+                0x70, 0x7d, 0x44, 0x5b,
             ],
             Core::PointVerify1 => [
-                0xb6, 0x00, 0x9c, 0xec, 0x8b, 0xe8, 0xb1, 0x4a, 0x1d, 0x31, 0x32, 0x99, 0xd6, 0x67,
-                0x61, 0xd6, 0x59, 0xad, 0xff, 0xf8, 0x23, 0x28, 0x99, 0xab, 0x7d, 0xb4, 0x09, 0x7f,
-                0x52, 0xc7, 0xd0, 0xbe,
+                0xd6, 0x3f, 0xf0, 0xe5, 0xa5, 0x00, 0x85, 0x94, 0xd5, 0x55, 0xa6, 0x15, 0xe8, 0x1f,
+                0xd2, 0xa6, 0x9a, 0x48, 0x1b, 0x4f, 0x45, 0x7f, 0x42, 0xf4, 0x82, 0x83, 0xde, 0x2b,
+                0x52, 0x23, 0x84, 0xe0,
             ],
             Core::RightExtend16_32 => [
-                0x36, 0x42, 0x3c, 0x16, 0xd4, 0x8d, 0x6c, 0x7c, 0x91, 0xed, 0x44, 0x16, 0x11, 0xbe,
-                0x30, 0x72, 0xdf, 0xa5, 0xdd, 0x38, 0xe4, 0xd2, 0x7d, 0xa8, 0xda, 0xed, 0x29, 0x78,
-                0x8f, 0xc9, 0x52, 0x08,
+                0x1f, 0xe0, 0x5d, 0x19, 0x7e, 0xe6, 0xf1, 0x5e, 0xfb, 0x17, 0x54, 0x52, 0x36, 0xef,
+                0xeb, 0x38, 0xc1, 0x6e, 0x7a, 0x5a, 0xdc, 0x82, 0x8b, 0x9a, 0xa0, 0x4a, 0x3f, 0x6e,
+                0x46, 0x78, 0xb5, 0xba,
             ],
             Core::RightExtend16_64 => [
-                0x4b, 0x8a, 0x47, 0xb9, 0x06, 0x70, 0x73, 0xa1, 0xfb, 0x68, 0x30, 0x0f, 0xac, 0xd6,
-                0xc5, 0x06, 0x98, 0x90, 0xab, 0xdb, 0x7e, 0xaa, 0xcb, 0x62, 0x2a, 0xd7, 0x30, 0x9a,
-                0x87, 0xf4, 0xd3, 0x4d,
+                0x7c, 0xb9, 0xcc, 0x78, 0x65, 0x52, 0x85, 0xa1, 0x62, 0xff, 0xd8, 0x0c, 0x6d, 0x59,
+                0xf8, 0x28, 0xec, 0xdb, 0x75, 0xcb, 0x64, 0xb0, 0x82, 0x74, 0xf8, 0x9d, 0x20, 0x10,
+                0x7c, 0x2b, 0xe4, 0x43,
             ],
             Core::RightExtend32_64 => [
-                0xdd, 0x6a, 0xf1, 0xc8, 0x01, 0xd2, 0x6c, 0x0b, 0x2e, 0xdf, 0x83, 0xce, 0x67, 0xb1,
-                0x72, 0xdf, 0x67, 0x57, 0xd0, 0x7f, 0xb7, 0xc8, 0x54, 0x68, 0x6f, 0x42, 0xe5, 0x76,
-                0x8a, 0xdc, 0xc9, 0xe7,
+                0x32, 0x5d, 0x1d, 0xff, 0x73, 0x73, 0x83, 0xf4, 0x31, 0x3d, 0xcb, 0x23, 0xad, 0xf9,
+                0x1e, 0x2a, 0xa4, 0x42, 0x30, 0x38, 0x84, 0x62, 0x83, 0x2f, 0xa1, 0x5f, 0xe4, 0x33,
+                0x36, 0x33, 0xd9, 0x30,
             ],
             Core::RightExtend8_16 => [
-                0x1d, 0xe2, 0x01, 0xa8, 0x64, 0x70, 0xa0, 0x2b, 0x2d, 0xfe, 0x48, 0xc6, 0x6a, 0xfe,
-                0x06, 0x73, 0x5b, 0x47, 0x5e, 0x88, 0xd3, 0x25, 0xcb, 0xf1, 0x60, 0x42, 0xa9, 0x10,
-                0x24, 0xd2, 0xbe, 0xd9,
+                0x53, 0x46, 0xf1, 0x5d, 0x34, 0x9b, 0xfe, 0xbf, 0x2b, 0x5b, 0x4b, 0x45, 0xf9, 0xc0,
+                0xfc, 0x39, 0x39, 0x20, 0x67, 0xdc, 0x6f, 0x97, 0x97, 0x51, 0xa1, 0x59, 0x66, 0xb5,
+                0xd1, 0x7e, 0xfb, 0x9f,
             ],
             Core::RightExtend8_32 => [
-                0x7e, 0x9c, 0x5c, 0xb3, 0x54, 0x19, 0xab, 0x06, 0xe1, 0x22, 0x00, 0x23, 0x10, 0x2b,
-                0xe4, 0x6a, 0xb6, 0xd9, 0x69, 0x95, 0xc4, 0x23, 0xc6, 0xb1, 0x4b, 0x9a, 0x66, 0x02,
-                0x8a, 0xec, 0x5d, 0x75,
+                0xd5, 0xae, 0xe5, 0x10, 0xdf, 0xd5, 0x0a, 0xca, 0xbd, 0x8a, 0xc3, 0x29, 0xd2, 0x97,
+                0x48, 0xa6, 0xf5, 0x94, 0x08, 0xc2, 0x68, 0x63, 0xab, 0x62, 0x4b, 0xef, 0xc2, 0x44,
+                0x7e, 0xc2, 0x6a, 0x44,
             ],
             Core::RightExtend8_64 => [
-                0x49, 0xd2, 0x46, 0xc2, 0xa6, 0x1c, 0xd3, 0x9d, 0x78, 0x20, 0xdc, 0xd7, 0x5e, 0xee,
-                0x84, 0x7b, 0xf0, 0x57, 0xc0, 0x1a, 0x63, 0xa3, 0xac, 0xbc, 0xc9, 0x46, 0x3e, 0x44,
-                0xbc, 0x1e, 0x0b, 0x6c,
+                0xa8, 0x43, 0xa3, 0x15, 0xf6, 0xdc, 0xd9, 0xbc, 0xff, 0x58, 0x68, 0x59, 0xed, 0x6c,
+                0x31, 0xd8, 0xcb, 0x98, 0x69, 0x07, 0x1b, 0x45, 0xb6, 0x79, 0x57, 0xed, 0x15, 0xae,
+                0xd2, 0xe0, 0xae, 0x5d,
             ],
             Core::RightPadHigh16_32 => [
-                0xfe, 0x90, 0x1f, 0xb4, 0xf6, 0xeb, 0xdc, 0x4e, 0xa2, 0x96, 0x19, 0x98, 0x99, 0x22,
-                0xb8, 0x0f, 0xa9, 0xce, 0x24, 0x12, 0x87, 0xfa, 0x54, 0x08, 0x64, 0x36, 0x2c, 0xcc,
-                0xe9, 0xf5, 0x4b, 0x3b,
+                0x75, 0xbe, 0xc3, 0x00, 0x6c, 0x04, 0xce, 0x01, 0x8f, 0x4a, 0x61, 0x10, 0xaa, 0xb3,
+                0xc5, 0x5c, 0xad, 0x45, 0x32, 0x48, 0xc1, 0xe7, 0xeb, 0x04, 0x2c, 0x82, 0x57, 0xe6,
+                0xb9, 0x9c, 0xcd, 0x05,
             ],
             Core::RightPadHigh16_64 => [
-                0xda, 0x90, 0xad, 0xd3, 0x10, 0x67, 0xcc, 0xfd, 0xbe, 0xe4, 0xcb, 0xfb, 0x21, 0xde,
-                0x8e, 0x6a, 0xa4, 0xf9, 0x3e, 0x00, 0x22, 0x00, 0x71, 0x1f, 0x99, 0x84, 0xaf, 0x6f,
-                0xc0, 0x1e, 0x27, 0x00,
+                0x93, 0x60, 0x59, 0x28, 0xb8, 0x49, 0xb0, 0xf8, 0xdf, 0xbc, 0x62, 0xa1, 0x25, 0x90,
+                0xbb, 0x1a, 0x92, 0x0b, 0xa5, 0x9d, 0x5b, 0xdc, 0x49, 0xdf, 0x0f, 0xaa, 0xb6, 0xa3,
+                0x35, 0x1a, 0x96, 0x61,
             ],
             Core::RightPadHigh1_16 => [
-                0xe4, 0xcf, 0x11, 0x6c, 0x08, 0x80, 0xf7, 0x3f, 0x99, 0x52, 0xf7, 0x00, 0x81, 0x78,
-                0x84, 0x98, 0xe5, 0x08, 0x4c, 0xbb, 0x72, 0xcf, 0x84, 0x1b, 0xcd, 0x91, 0x67, 0xa6,
-                0xee, 0xa2, 0x64, 0xdc,
+                0x34, 0xc1, 0x08, 0xae, 0x8a, 0x54, 0xe2, 0xc6, 0x49, 0x9b, 0xfe, 0xc5, 0xd6, 0x93,
+                0x28, 0x15, 0xf8, 0x87, 0x14, 0x9c, 0x11, 0x49, 0xb7, 0x89, 0x94, 0x60, 0x3f, 0x40,
+                0xf1, 0xff, 0xd2, 0xe7,
             ],
             Core::RightPadHigh1_32 => [
-                0x12, 0x76, 0x03, 0x6b, 0xb9, 0x4c, 0xfd, 0x92, 0x0a, 0xb7, 0x31, 0x64, 0x3b, 0x76,
-                0xb1, 0x19, 0x72, 0xdd, 0x26, 0x54, 0x38, 0x53, 0x44, 0x4e, 0x18, 0xd7, 0xf6, 0x3f,
-                0xca, 0xc0, 0x91, 0xa3,
+                0x5b, 0x4a, 0x76, 0xed, 0x0a, 0x50, 0xac, 0xe5, 0x2b, 0x79, 0x1a, 0xb9, 0xa5, 0xc5,
+                0xeb, 0xcb, 0x3c, 0xbb, 0xa0, 0xda, 0x3a, 0x95, 0xac, 0x40, 0x51, 0xeb, 0xa9, 0xab,
+                0x15, 0x0f, 0xd0, 0xdc,
             ],
             Core::RightPadHigh1_64 => [
-                0x38, 0xc9, 0x99, 0x80, 0xb1, 0xa9, 0x98, 0x10, 0x51, 0x11, 0xc5, 0x6b, 0xf8, 0x24,
-                0x65, 0x09, 0x65, 0xa5, 0x09, 0xc4, 0x7e, 0x1c, 0x76, 0xd9, 0x00, 0x75, 0x0a, 0x1f,
-                0xee, 0x45, 0xc9, 0x64,
+                0xd4, 0x99, 0xb4, 0xbc, 0xf5, 0xdf, 0x6a, 0x71, 0xc8, 0x66, 0x4f, 0x96, 0xb7, 0xb9,
+                0x64, 0xae, 0x2b, 0xbb, 0xda, 0x55, 0x21, 0x97, 0x97, 0xec, 0x6b, 0x9d, 0x2d, 0xf4,
+                0xa5, 0xa5, 0xe8, 0xba,
             ],
             Core::RightPadHigh1_8 => [
-                0xca, 0x72, 0xce, 0xed, 0x2d, 0x98, 0xdc, 0xcd, 0x81, 0xaa, 0x21, 0xf0, 0xba, 0x21,
-                0xd1, 0xa0, 0x87, 0xb6, 0xf2, 0x52, 0x07, 0xc2, 0x4a, 0x58, 0x0a, 0xda, 0x7e, 0x60,
-                0x5f, 0x79, 0x82, 0xdf,
+                0x5e, 0xe6, 0xa8, 0x38, 0x2f, 0x9b, 0xbd, 0xc0, 0xc5, 0x81, 0x03, 0x6e, 0x51, 0xf1,
+                0xd9, 0x27, 0x69, 0x96, 0x72, 0x2a, 0x18, 0x24, 0x13, 0xa1, 0x03, 0xcb, 0x98, 0xe9,
+                0xa8, 0x98, 0xf9, 0x1e,
             ],
             Core::RightPadHigh32_64 => [
-                0x17, 0xeb, 0x59, 0x11, 0xf8, 0x54, 0x95, 0x76, 0x68, 0xee, 0xf4, 0x63, 0xb0, 0xcb,
-                0xae, 0x72, 0x08, 0x52, 0x91, 0x34, 0xef, 0x5e, 0x56, 0xcd, 0x33, 0xfb, 0xbc, 0x29,
-                0xc2, 0x8b, 0xbe, 0x92,
+                0x06, 0x2e, 0x02, 0xf4, 0x87, 0x97, 0x78, 0x7b, 0xef, 0x0e, 0xab, 0x59, 0x67, 0x58,
+                0x05, 0x11, 0xdc, 0xbc, 0xd7, 0x44, 0xbe, 0x65, 0xc4, 0xf6, 0xc3, 0x1b, 0x89, 0xe5,
+                0x47, 0xe2, 0xe1, 0xd5,
             ],
             Core::RightPadHigh8_16 => [
-                0xd2, 0x6f, 0x0c, 0xc5, 0xb2, 0x61, 0xeb, 0x83, 0x0e, 0x02, 0xdf, 0x12, 0xcc, 0x57,
-                0x44, 0x25, 0x9b, 0x4a, 0x43, 0xd9, 0x75, 0xbd, 0x2e, 0x3d, 0x7c, 0x78, 0x28, 0x11,
-                0x76, 0x1f, 0xf1, 0xd1,
+                0xa5, 0xc9, 0x85, 0xe8, 0xae, 0xa8, 0x42, 0xfa, 0xdf, 0x9a, 0x74, 0x8b, 0x96, 0x4c,
+                0xa5, 0x15, 0x04, 0xe9, 0xeb, 0xb4, 0xac, 0x49, 0x45, 0x52, 0x64, 0x8f, 0x3a, 0x67,
+                0xa1, 0x60, 0xc4, 0xc5,
             ],
             Core::RightPadHigh8_32 => [
-                0xbd, 0x2e, 0x5c, 0x92, 0x60, 0xbf, 0x6f, 0x32, 0x4d, 0x2b, 0x1f, 0x40, 0xcb, 0xb1,
-                0x22, 0x40, 0x2f, 0x30, 0xd5, 0x2f, 0x64, 0x34, 0xe3, 0x9f, 0x8a, 0x09, 0xb8, 0x39,
-                0x7b, 0xc3, 0x2e, 0x94,
+                0xbf, 0x92, 0xf3, 0x9f, 0xdc, 0xde, 0xe4, 0xc4, 0x96, 0x12, 0x18, 0x70, 0x75, 0x30,
+                0xcb, 0x10, 0x08, 0xad, 0xf7, 0x55, 0x89, 0xd2, 0x50, 0xca, 0xff, 0xb3, 0x70, 0xb3,
+                0x3e, 0xba, 0xe2, 0x38,
             ],
             Core::RightPadHigh8_64 => [
-                0x94, 0x1b, 0xf4, 0x42, 0xdb, 0xcf, 0x4f, 0x20, 0x04, 0xa4, 0xb1, 0x8b, 0xee, 0xb2,
-                0xad, 0xac, 0x9f, 0x20, 0x9f, 0xea, 0x4c, 0x4b, 0xd4, 0x8c, 0xed, 0xe8, 0xda, 0xfa,
-                0xcf, 0x88, 0x43, 0xb7,
+                0xce, 0x7e, 0x8a, 0x0e, 0x4a, 0x9b, 0x04, 0x01, 0x5c, 0xc2, 0x4f, 0x26, 0x99, 0x0f,
+                0x68, 0xdc, 0x93, 0xb6, 0x7b, 0x3f, 0x67, 0x6f, 0xbf, 0xea, 0xa1, 0x7f, 0xd7, 0x4c,
+                0xd6, 0x03, 0x57, 0xc1,
             ],
             Core::RightPadLow16_32 => [
-                0xbb, 0x38, 0x7c, 0x29, 0x2d, 0x59, 0xd7, 0x13, 0xad, 0x76, 0xf6, 0xce, 0xd5, 0xb5,
-                0x96, 0xcf, 0xd8, 0x38, 0x58, 0x92, 0x4f, 0x72, 0x5f, 0x7d, 0x11, 0x6b, 0x28, 0x07,
-                0x58, 0x21, 0x92, 0x5a,
+                0xb0, 0xf7, 0x15, 0x1d, 0x0a, 0x79, 0xde, 0x08, 0xf2, 0x33, 0x80, 0x6d, 0x4f, 0x7e,
+                0x1f, 0x88, 0xc3, 0x29, 0xb9, 0x64, 0x62, 0x5e, 0x8e, 0x02, 0xf0, 0xa0, 0xa6, 0x2c,
+                0x31, 0xd0, 0xe6, 0x00,
             ],
             Core::RightPadLow16_64 => [
-                0x02, 0x32, 0x32, 0x6e, 0xe1, 0xb2, 0x06, 0xad, 0x26, 0x34, 0x9b, 0x55, 0x3d, 0x7f,
-                0x24, 0x62, 0x28, 0x73, 0x20, 0xd6, 0x30, 0xe4, 0x29, 0x32, 0x07, 0x40, 0xcb, 0xd3,
-                0xeb, 0x4e, 0xf9, 0xbe,
+                0x6d, 0x14, 0x1c, 0xd9, 0xc8, 0xdc, 0xfc, 0xef, 0xb1, 0xcf, 0x85, 0x3b, 0xf3, 0x72,
+                0x78, 0xed, 0xe8, 0xef, 0x3c, 0x55, 0x8f, 0x39, 0xed, 0xeb, 0xbc, 0xaf, 0xe4, 0x4b,
+                0x54, 0x00, 0x71, 0x50,
             ],
             Core::RightPadLow1_16 => [
-                0xd9, 0x13, 0xf6, 0x02, 0xb3, 0x59, 0x58, 0xd5, 0x2a, 0xbb, 0x20, 0xb0, 0x2c, 0xe6,
-                0x89, 0x61, 0x6f, 0xfa, 0x66, 0xe0, 0x2d, 0x73, 0x86, 0x7d, 0x29, 0x18, 0x1e, 0x11,
-                0x93, 0xc9, 0xd2, 0x43,
+                0x33, 0x10, 0x1e, 0x54, 0x87, 0xdd, 0x66, 0xc2, 0x45, 0xe8, 0x75, 0x4d, 0xfa, 0x16,
+                0x6a, 0x06, 0xce, 0x53, 0xc5, 0xb5, 0x4f, 0xc6, 0xd8, 0x10, 0x0e, 0x2a, 0xec, 0x6c,
+                0xfe, 0x93, 0x9b, 0xc9,
             ],
             Core::RightPadLow1_32 => [
-                0x6b, 0x40, 0x33, 0xd9, 0xfc, 0x6c, 0x87, 0x6b, 0x2e, 0x75, 0xd5, 0x82, 0xbb, 0x9b,
-                0x3c, 0x04, 0xfa, 0x29, 0xdf, 0xb2, 0x2c, 0x9e, 0x1a, 0x48, 0x8e, 0x83, 0x7c, 0x2f,
-                0x39, 0xaa, 0x61, 0x60,
+                0x5f, 0xa4, 0x98, 0xc3, 0xb7, 0xc6, 0xd3, 0x48, 0xa4, 0x22, 0xb8, 0xca, 0x4f, 0x47,
+                0xd0, 0x69, 0x55, 0x2a, 0xdb, 0xe2, 0xbc, 0x65, 0x59, 0xdf, 0x18, 0x68, 0x43, 0x43,
+                0x87, 0x48, 0x43, 0xd3,
             ],
             Core::RightPadLow1_64 => [
-                0x4e, 0x2b, 0x20, 0xdd, 0x9d, 0x91, 0x85, 0x7a, 0x49, 0xc8, 0x20, 0xd0, 0x6f, 0x43,
-                0x5d, 0xd3, 0xca, 0x79, 0x1f, 0x17, 0x7e, 0xea, 0xf3, 0x4a, 0xec, 0x36, 0xc4, 0x54,
-                0x19, 0xd1, 0x69, 0x65,
+                0x07, 0xbb, 0x6d, 0x70, 0xc5, 0x35, 0x4f, 0x44, 0x51, 0xfb, 0x06, 0x1b, 0x37, 0xe9,
+                0xef, 0xda, 0x7e, 0x83, 0x6e, 0xfd, 0x45, 0x06, 0x14, 0x05, 0xa5, 0xea, 0x1a, 0x2f,
+                0xf3, 0x15, 0x83, 0x06,
             ],
             Core::RightPadLow1_8 => [
-                0x24, 0xee, 0xe4, 0x51, 0xb2, 0x6b, 0xa3, 0x9d, 0x6b, 0xcc, 0x58, 0x8b, 0x72, 0x0f,
-                0xaf, 0x22, 0x32, 0x76, 0x79, 0x12, 0xf6, 0x7d, 0xb3, 0x29, 0x06, 0x0d, 0x90, 0xb7,
-                0x14, 0x17, 0xb6, 0xc3,
+                0xcd, 0x72, 0x15, 0xd3, 0x9b, 0x80, 0xb1, 0x8b, 0x6e, 0x78, 0xec, 0x56, 0x8b, 0x48,
+                0x82, 0x58, 0x9f, 0x82, 0x71, 0x04, 0xd6, 0x85, 0xb0, 0xd4, 0xec, 0x68, 0x9d, 0x10,
+                0x59, 0x75, 0x71, 0x22,
             ],
             Core::RightPadLow32_64 => [
-                0x52, 0xfb, 0x8b, 0xbc, 0xef, 0x90, 0x32, 0x31, 0xa5, 0xb7, 0x67, 0x91, 0xe4, 0x65,
-                0x2b, 0x38, 0xbe, 0xd8, 0x97, 0x7f, 0x5d, 0xab, 0x17, 0x95, 0x55, 0x99, 0x8d, 0xb2,
-                0x4d, 0x1d, 0x7c, 0x98,
+                0x00, 0x78, 0xa0, 0x7c, 0x1a, 0x2b, 0xa8, 0x48, 0x6f, 0x16, 0x05, 0xd7, 0xfa, 0x54,
+                0xb3, 0x77, 0xe8, 0x4c, 0xb6, 0xdd, 0xc5, 0xe4, 0xc0, 0x3d, 0xaf, 0x98, 0xfb, 0xa9,
+                0x0f, 0xd2, 0xf6, 0x62,
             ],
             Core::RightPadLow8_16 => [
-                0x17, 0x19, 0xb2, 0x79, 0x74, 0xe8, 0x43, 0x80, 0x50, 0x88, 0x25, 0x30, 0xa1, 0xa4,
-                0x2e, 0xd7, 0xab, 0x3c, 0xa2, 0x8d, 0x25, 0x4a, 0xdc, 0x37, 0xfe, 0x56, 0x66, 0xfd,
-                0x2f, 0x70, 0xb4, 0xe4,
+                0xc9, 0x04, 0x8e, 0x29, 0xac, 0xd7, 0x26, 0x74, 0x03, 0x00, 0xc9, 0xa6, 0xcf, 0xf1,
+                0x17, 0xc0, 0xec, 0x77, 0x09, 0x0d, 0xa5, 0xae, 0xed, 0xf9, 0x70, 0x3f, 0x9a, 0xff,
+                0xc9, 0x1d, 0x9a, 0xb7,
             ],
             Core::RightPadLow8_32 => [
-                0xee, 0x2a, 0x82, 0x30, 0xf2, 0x83, 0xdc, 0x08, 0x3b, 0x8e, 0x19, 0x44, 0x8b, 0xa3,
-                0x24, 0x97, 0xe9, 0x31, 0x8b, 0x4e, 0x9e, 0x1b, 0xd4, 0xeb, 0xe1, 0xbe, 0xc5, 0x24,
-                0x47, 0x6a, 0xb8, 0x6d,
+                0x51, 0xe7, 0xf9, 0x34, 0xf0, 0x6e, 0xc1, 0xc9, 0x49, 0x91, 0x86, 0xba, 0xa5, 0x18,
+                0x0a, 0x9d, 0xed, 0x56, 0x6d, 0x58, 0xb4, 0x2a, 0xb2, 0xf7, 0x0f, 0xf3, 0x6a, 0x4e,
+                0x88, 0xba, 0x09, 0x78,
             ],
             Core::RightPadLow8_64 => [
-                0x97, 0xda, 0x90, 0xd8, 0x42, 0x8e, 0x6b, 0x94, 0xe6, 0xc1, 0x35, 0x14, 0x60, 0xdc,
-                0x01, 0x12, 0x3e, 0x47, 0x9c, 0x4a, 0xaf, 0xbb, 0xd1, 0x4c, 0x78, 0xad, 0x2f, 0xad,
-                0x0a, 0x89, 0x5e, 0xf3,
+                0x48, 0xcd, 0x20, 0xc3, 0x8c, 0x1e, 0xa9, 0xa0, 0xab, 0x74, 0xd5, 0x1d, 0xf4, 0x85,
+                0xef, 0x63, 0x90, 0x4b, 0x8f, 0x9a, 0x09, 0xef, 0xfd, 0x98, 0xfe, 0xba, 0xcd, 0x17,
+                0x17, 0xf1, 0x8a, 0xd8,
             ],
             Core::RightRotate16 => [
-                0xee, 0x7d, 0x1c, 0x1f, 0x3d, 0x82, 0xda, 0x56, 0x81, 0xdd, 0x8b, 0x50, 0x69, 0xd5,
-                0x37, 0xd8, 0x9f, 0x22, 0x93, 0xaa, 0x60, 0x53, 0x32, 0xce, 0x10, 0xc1, 0xc4, 0x22,
-                0x4a, 0x53, 0xce, 0xea,
+                0x65, 0xad, 0x75, 0x5e, 0xe8, 0x09, 0xc7, 0x27, 0x6b, 0xc0, 0x9d, 0xe1, 0x9b, 0x67,
+                0xd1, 0x96, 0x9d, 0xe3, 0x2c, 0x53, 0xb3, 0xa1, 0x01, 0x21, 0xaf, 0x90, 0x56, 0x56,
+                0x6a, 0x3c, 0xe8, 0xef,
             ],
             Core::RightRotate32 => [
-                0x89, 0x2a, 0x28, 0xdb, 0x32, 0x4c, 0xd9, 0x3c, 0xf7, 0xf6, 0x9c, 0x30, 0x72, 0xa7,
-                0xb2, 0x22, 0xb8, 0x8c, 0x81, 0x8e, 0xe0, 0xe5, 0xa1, 0xb8, 0x97, 0xe5, 0x0c, 0x58,
-                0x1f, 0x2a, 0x29, 0x62,
+                0xd8, 0x13, 0x63, 0x7c, 0xba, 0x61, 0x09, 0x4e, 0xb5, 0xdc, 0x58, 0xf9, 0x32, 0x59,
+                0xac, 0x3b, 0xda, 0x0a, 0xf2, 0x9c, 0x3d, 0xcb, 0x05, 0x51, 0xe1, 0x45, 0x20, 0x3e,
+                0x0b, 0x8d, 0xfe, 0x20,
             ],
             Core::RightRotate64 => [
-                0x64, 0x31, 0x4f, 0xf1, 0x90, 0x40, 0xa3, 0x76, 0xf9, 0xfc, 0xf0, 0x2e, 0x75, 0x74,
-                0x14, 0x9c, 0x12, 0x3f, 0x99, 0xc3, 0x90, 0x71, 0xcd, 0x37, 0x85, 0x1f, 0x8f, 0x8c,
-                0xdf, 0x0e, 0xed, 0x42,
+                0x7b, 0x8d, 0xf8, 0xb8, 0x85, 0x7e, 0xcf, 0xb4, 0xac, 0xc1, 0x83, 0xa3, 0x55, 0xd3,
+                0x63, 0x0a, 0x9c, 0x64, 0x5f, 0x9d, 0xc4, 0x05, 0xe8, 0x87, 0x06, 0x61, 0x93, 0xcb,
+                0xcd, 0xa4, 0x4a, 0x2e,
             ],
             Core::RightRotate8 => [
-                0x15, 0x81, 0xe0, 0xca, 0x09, 0xf1, 0x36, 0x84, 0xfe, 0x31, 0x35, 0xc1, 0xc6, 0xb6,
-                0xf9, 0xc4, 0x89, 0xd7, 0xdd, 0x1e, 0xf0, 0xa5, 0xf7, 0x70, 0x83, 0xbb, 0x0e, 0xd0,
-                0x0b, 0x4d, 0xf2, 0x8f,
+                0x89, 0x28, 0x2b, 0x3e, 0x43, 0x0b, 0xba, 0xd5, 0xae, 0x7b, 0x1a, 0xd7, 0x4d, 0x10,
+                0x61, 0x4c, 0xed, 0xfd, 0xc8, 0x01, 0xbf, 0xa3, 0xce, 0x17, 0x5f, 0x9e, 0x08, 0xbf,
+                0x40, 0x31, 0xdd, 0x8e,
             ],
             Core::RightShift16 => [
-                0x5b, 0x4e, 0xc4, 0x62, 0xd4, 0xe2, 0xed, 0x89, 0xff, 0xe3, 0xfd, 0x40, 0x59, 0x32,
-                0xc7, 0x97, 0x80, 0x28, 0x61, 0x20, 0x3e, 0xcb, 0x61, 0xd5, 0xb5, 0x9a, 0x73, 0xb0,
-                0xfb, 0xfc, 0x4e, 0x84,
+                0x86, 0x04, 0x0b, 0x4b, 0xdf, 0x11, 0x80, 0x7f, 0xb1, 0x0d, 0xc7, 0xca, 0x98, 0xf8,
+                0x3e, 0x53, 0x02, 0xc5, 0x84, 0xc9, 0x26, 0x71, 0xd9, 0xa8, 0xca, 0xdd, 0xf7, 0x78,
+                0x0b, 0xd6, 0x08, 0x5f,
             ],
             Core::RightShift32 => [
-                0xb2, 0x86, 0x1a, 0x48, 0xb2, 0x05, 0x41, 0x76, 0x91, 0xb6, 0x34, 0x7f, 0xe7, 0x5e,
-                0xbe, 0xa5, 0x45, 0x60, 0xcf, 0x81, 0x38, 0x14, 0xac, 0x31, 0x63, 0x91, 0x70, 0xdb,
-                0x92, 0xb9, 0x47, 0xd6,
+                0xd1, 0xd0, 0xcc, 0xdb, 0xcc, 0x11, 0xa0, 0xe0, 0x0a, 0xf9, 0x3e, 0x7a, 0xe5, 0xbb,
+                0xe2, 0x7f, 0x9d, 0x7f, 0xa7, 0xf2, 0xc2, 0x51, 0xf6, 0x03, 0x35, 0x24, 0x5f, 0xa0,
+                0x0c, 0x5a, 0xb9, 0xfc,
             ],
             Core::RightShift64 => [
-                0xd3, 0x39, 0x42, 0xbf, 0x18, 0x61, 0x8a, 0x10, 0x4a, 0x57, 0x07, 0x54, 0x7f, 0x78,
-                0xab, 0x72, 0x94, 0x1f, 0x4e, 0xe8, 0x13, 0x21, 0x6c, 0x0c, 0xe5, 0x20, 0xf3, 0x56,
-                0x60, 0xfd, 0xbf, 0x81,
+                0x51, 0x7b, 0xa7, 0xcc, 0xb3, 0xab, 0x80, 0x2c, 0x83, 0xd7, 0x06, 0x8c, 0x3c, 0x87,
+                0x1c, 0x17, 0xe2, 0x04, 0xff, 0x0e, 0xea, 0x02, 0xab, 0x42, 0x01, 0x81, 0x73, 0x3c,
+                0x79, 0xa4, 0x2b, 0xb6,
             ],
             Core::RightShift8 => [
-                0x73, 0x79, 0x12, 0xae, 0x32, 0x32, 0x50, 0xc0, 0x4e, 0x51, 0x6e, 0x39, 0x66, 0xce,
-                0x94, 0x7e, 0x65, 0x32, 0x6f, 0x47, 0x46, 0x8a, 0xc9, 0x31, 0xc1, 0x63, 0xc3, 0xb0,
-                0x2d, 0xe4, 0x12, 0x45,
+                0x0f, 0x29, 0x8a, 0x1a, 0x90, 0xd1, 0xf3, 0x84, 0xc2, 0x45, 0xaf, 0x0b, 0xf1, 0x72,
+                0x64, 0x2c, 0x51, 0xf5, 0x1d, 0x47, 0x5a, 0x41, 0x47, 0xdc, 0xe8, 0xc7, 0x21, 0x68,
+                0xe7, 0x7f, 0x0c, 0xb2,
             ],
             Core::RightShiftWith16 => [
-                0x1e, 0x18, 0x1c, 0x33, 0x16, 0x93, 0x59, 0x4c, 0x6e, 0x0e, 0x8f, 0xde, 0xb4, 0x0a,
-                0x81, 0xa3, 0xaf, 0x8f, 0x56, 0xb7, 0xa5, 0x60, 0xde, 0x64, 0x41, 0x30, 0x3f, 0x65,
-                0xf4, 0xfc, 0x93, 0x7c,
+                0xcf, 0x05, 0xf8, 0x42, 0x11, 0x0f, 0x98, 0x19, 0xa5, 0x34, 0x5c, 0x23, 0x2b, 0xeb,
+                0x47, 0x2b, 0x9c, 0x97, 0x69, 0x84, 0xa4, 0x14, 0x70, 0xbe, 0xfc, 0x0b, 0x02, 0x5d,
+                0x46, 0xd0, 0x42, 0x71,
             ],
             Core::RightShiftWith32 => [
-                0x69, 0xdb, 0xe1, 0x90, 0xd7, 0x2d, 0x77, 0xd0, 0xd0, 0xdc, 0xf3, 0x25, 0xde, 0x96,
-                0x59, 0x22, 0x14, 0x58, 0x1f, 0x11, 0xe9, 0xed, 0xca, 0x93, 0xe2, 0xf9, 0x28, 0x48,
-                0x2b, 0x5e, 0x77, 0xa7,
+                0x04, 0x04, 0x41, 0x95, 0x69, 0xd5, 0x7f, 0xe3, 0x89, 0x32, 0x30, 0xdb, 0x5f, 0xa0,
+                0xd8, 0xf9, 0x47, 0x30, 0x23, 0xa4, 0x2e, 0x01, 0xc2, 0x04, 0x93, 0x1c, 0xd7, 0x34,
+                0xfb, 0x44, 0xa9, 0xf8,
             ],
             Core::RightShiftWith64 => [
-                0x2d, 0x0a, 0xb8, 0x83, 0x04, 0x69, 0x28, 0x0e, 0x2a, 0x28, 0x99, 0x3c, 0x5a, 0x05,
-                0xf5, 0x6b, 0x91, 0xa8, 0xae, 0xb0, 0x34, 0xcc, 0xeb, 0xe0, 0x9c, 0x50, 0xf1, 0x3e,
-                0xa7, 0x8d, 0xda, 0xfc,
+                0x77, 0x26, 0x7b, 0x05, 0x1e, 0x5a, 0x10, 0x39, 0x11, 0x85, 0x90, 0x3b, 0x1a, 0x98,
+                0xde, 0x32, 0xfc, 0xf2, 0x4e, 0x6a, 0xe6, 0x87, 0x1c, 0x6f, 0x15, 0xb6, 0x86, 0x52,
+                0xb2, 0x4a, 0x66, 0xc4,
             ],
             Core::RightShiftWith8 => [
-                0x1b, 0xdb, 0xdc, 0x8d, 0x8b, 0x74, 0x9b, 0xa3, 0xda, 0x75, 0x75, 0x58, 0x7d, 0x99,
-                0x93, 0x00, 0x72, 0x60, 0x3f, 0x27, 0x5f, 0x7b, 0xd2, 0xf3, 0x24, 0xa3, 0x49, 0x51,
-                0xd4, 0x46, 0x1b, 0x21,
+                0xa9, 0xcb, 0x66, 0x14, 0xef, 0x32, 0x6a, 0x66, 0x47, 0x74, 0xd6, 0xdc, 0xe6, 0x53,
+                0xe1, 0xd6, 0xc0, 0x89, 0x58, 0x34, 0x43, 0xae, 0x91, 0x7f, 0x0f, 0xb4, 0xc5, 0xc2,
+                0x2b, 0x9a, 0xb4, 0x44,
             ],
             Core::Rightmost16_1 => [
-                0xe1, 0x29, 0xa8, 0xae, 0x88, 0x0f, 0x51, 0xca, 0x2a, 0x94, 0xdb, 0x44, 0xed, 0xec,
-                0xa1, 0xc3, 0xa7, 0x66, 0xb7, 0x3e, 0x98, 0x97, 0x0b, 0x11, 0x98, 0xad, 0xe2, 0x16,
-                0xae, 0x69, 0xcd, 0x2d,
+                0x64, 0x8b, 0x9a, 0x0f, 0x90, 0x32, 0x28, 0xba, 0x27, 0xd9, 0x59, 0x41, 0xfd, 0x54,
+                0xe9, 0x2e, 0xa7, 0xb3, 0x5f, 0xee, 0xb2, 0x8a, 0x79, 0x86, 0xb6, 0x2d, 0xa9, 0x2d,
+                0x7d, 0x51, 0x24, 0x70,
             ],
             Core::Rightmost16_2 => [
-                0x8d, 0x0f, 0x68, 0xda, 0xdf, 0x54, 0x6c, 0x5e, 0xd3, 0x6f, 0x34, 0x70, 0x58, 0x02,
-                0xb0, 0xce, 0x83, 0x9a, 0x63, 0xe5, 0x74, 0x49, 0x77, 0x85, 0x24, 0x30, 0x08, 0xab,
-                0x42, 0x7e, 0x45, 0x6b,
+                0x27, 0x62, 0x2f, 0x1c, 0x01, 0x73, 0x62, 0x31, 0x09, 0xf9, 0x20, 0xf8, 0xcd, 0x87,
+                0x66, 0xbb, 0xf6, 0x0d, 0x30, 0x6a, 0xd1, 0x98, 0x3f, 0xdb, 0xc1, 0x46, 0x1d, 0x23,
+                0xa4, 0x1f, 0xa9, 0x44,
             ],
             Core::Rightmost16_4 => [
-                0xb0, 0xd4, 0x13, 0x95, 0x41, 0xec, 0xab, 0x2c, 0x16, 0xfc, 0x1a, 0x87, 0x98, 0x9b,
-                0xdd, 0x04, 0x53, 0x22, 0xef, 0xb1, 0xe7, 0x0b, 0xc1, 0xf7, 0xb0, 0x4d, 0x43, 0xb2,
-                0x8b, 0xb3, 0x49, 0xff,
+                0x79, 0x87, 0x86, 0x8f, 0xf3, 0xfe, 0x7f, 0x44, 0x68, 0xa3, 0x15, 0x0e, 0x3a, 0x42,
+                0xcd, 0x0f, 0x32, 0x5d, 0x48, 0x92, 0x81, 0x89, 0xa4, 0x85, 0xaa, 0x62, 0xc0, 0x13,
+                0x94, 0xc4, 0xe8, 0x34,
             ],
             Core::Rightmost16_8 => [
-                0x0f, 0x03, 0xfa, 0x0f, 0xa6, 0xce, 0xb5, 0x5d, 0xf9, 0x9b, 0x20, 0xd9, 0xef, 0xcf,
-                0x37, 0x10, 0xa7, 0x08, 0xa2, 0x84, 0xa9, 0x5c, 0x33, 0x4c, 0x1d, 0xa3, 0xcb, 0xfe,
-                0x02, 0xfb, 0x94, 0x67,
+                0xef, 0x85, 0xcf, 0x36, 0xb7, 0x9d, 0x9c, 0xfa, 0xed, 0x2c, 0x63, 0x3d, 0x75, 0x1e,
+                0x2e, 0x38, 0xea, 0xae, 0x5a, 0xc0, 0x21, 0x05, 0x0b, 0x13, 0x47, 0x29, 0xb9, 0xdb,
+                0x51, 0xbd, 0x55, 0xa3,
             ],
             Core::Rightmost32_1 => [
-                0x8f, 0x5e, 0x52, 0x63, 0xbb, 0x8e, 0xf8, 0x00, 0xc9, 0x9d, 0x0c, 0x23, 0xfc, 0xba,
-                0xa3, 0x19, 0x8a, 0x6a, 0xbd, 0xf0, 0x08, 0x58, 0x1e, 0x8c, 0x89, 0x10, 0x52, 0xb4,
-                0x0c, 0xa7, 0xf7, 0xa4,
+                0x07, 0x38, 0xe6, 0x9e, 0xbf, 0xcf, 0x85, 0xd8, 0xe0, 0xdb, 0x90, 0x66, 0xc2, 0x0a,
+                0xfc, 0x0a, 0x0a, 0x62, 0xd5, 0x4d, 0xb8, 0xec, 0x35, 0x7a, 0xce, 0x45, 0xba, 0x4d,
+                0x41, 0x55, 0xd0, 0x49,
             ],
             Core::Rightmost32_16 => [
-                0xb9, 0xa2, 0x3e, 0x1b, 0xf7, 0xc6, 0x81, 0x43, 0x51, 0x30, 0x74, 0xc9, 0x39, 0xbd,
-                0x73, 0xc9, 0xbf, 0x8e, 0xb5, 0xaa, 0xce, 0x84, 0x15, 0xff, 0x01, 0x02, 0x2f, 0xca,
-                0x65, 0xb3, 0xa3, 0x42,
+                0x08, 0xc1, 0x2f, 0xf6, 0x30, 0x90, 0x6c, 0xdc, 0x05, 0xd3, 0x17, 0x16, 0x04, 0x5d,
+                0x96, 0x2a, 0x6c, 0xb3, 0x95, 0x2c, 0x89, 0xae, 0xb6, 0xc7, 0x1e, 0x47, 0xfb, 0xa6,
+                0x84, 0x5a, 0x4d, 0x8a,
             ],
             Core::Rightmost32_2 => [
-                0xab, 0xf3, 0x23, 0x8d, 0x3c, 0xbf, 0x0b, 0xf3, 0x5a, 0x83, 0x96, 0x1f, 0xb9, 0xf9,
-                0x04, 0xb5, 0x6d, 0x3a, 0x9e, 0x0e, 0x35, 0xc8, 0x9d, 0xf8, 0x72, 0xc9, 0xc9, 0x38,
-                0xd3, 0x44, 0xa5, 0x4a,
+                0xf7, 0x55, 0xdf, 0x38, 0x97, 0x22, 0xae, 0x31, 0x23, 0x88, 0x4d, 0x9f, 0x03, 0xf2,
+                0x60, 0xf1, 0x2a, 0xb2, 0x2a, 0x35, 0x32, 0x03, 0xd3, 0xcd, 0xfe, 0x19, 0x83, 0x08,
+                0x21, 0x81, 0x03, 0x4b,
             ],
             Core::Rightmost32_4 => [
-                0xf7, 0xee, 0xd2, 0xec, 0x80, 0x59, 0x06, 0xfe, 0xb3, 0xac, 0x27, 0xf2, 0xde, 0xe5,
-                0x3b, 0x58, 0xc3, 0xb1, 0x3e, 0x40, 0xe2, 0xbc, 0x3e, 0x8b, 0x10, 0x63, 0x2e, 0xd9,
-                0xc0, 0xe7, 0xca, 0x5f,
+                0x39, 0x60, 0x04, 0xe0, 0xf7, 0x2c, 0xc2, 0x47, 0x58, 0x5a, 0x6b, 0xf9, 0x17, 0xf7,
+                0x78, 0x1a, 0xae, 0xb1, 0xb6, 0x2a, 0x87, 0x76, 0x20, 0x58, 0x72, 0x26, 0x7e, 0x4f,
+                0x18, 0xf0, 0xa7, 0x75,
             ],
             Core::Rightmost32_8 => [
-                0xf3, 0xe4, 0x39, 0xed, 0x98, 0x83, 0xc6, 0xa6, 0xb9, 0x07, 0x20, 0x53, 0x2e, 0xb4,
-                0xe0, 0x43, 0xe8, 0x9a, 0x35, 0xf0, 0xb5, 0x29, 0x5f, 0xd5, 0x02, 0xa0, 0xb0, 0xb2,
-                0x43, 0x6b, 0xd2, 0x13,
+                0x41, 0x93, 0x6e, 0xa9, 0x76, 0x9d, 0xe1, 0xf7, 0x86, 0x6c, 0xd5, 0xd0, 0x68, 0xac,
+                0x6c, 0x2e, 0xa7, 0x47, 0x0a, 0x39, 0x39, 0xc2, 0xf1, 0x7d, 0x34, 0xfe, 0x91, 0xaf,
+                0xc6, 0x8b, 0x1f, 0x3a,
             ],
             Core::Rightmost64_1 => [
-                0xc9, 0x6b, 0xe3, 0xe3, 0x35, 0x48, 0x25, 0x8e, 0x30, 0x71, 0x7b, 0x30, 0x81, 0x7e,
-                0x44, 0x0f, 0x0a, 0xf4, 0xb1, 0x89, 0x0e, 0xdf, 0xcf, 0x7f, 0xdc, 0xb3, 0x9c, 0xb9,
-                0xef, 0xff, 0x47, 0x1d,
+                0x45, 0x06, 0xf2, 0x04, 0xb3, 0xd8, 0xc9, 0xa6, 0x25, 0xfa, 0x9e, 0x8f, 0xe6, 0xcc,
+                0x14, 0xba, 0xe7, 0x1d, 0x61, 0xa2, 0x3c, 0xc4, 0x6a, 0xd5, 0xca, 0x25, 0xc6, 0x7a,
+                0x01, 0x9d, 0x9d, 0x4b,
             ],
             Core::Rightmost64_16 => [
-                0x5d, 0x55, 0x5f, 0x83, 0xe4, 0x80, 0x87, 0xdb, 0x0c, 0x41, 0x5d, 0xad, 0x17, 0xf0,
-                0x81, 0xd4, 0xf6, 0xb7, 0x60, 0xe9, 0x95, 0xf2, 0x72, 0xbb, 0xb6, 0xe4, 0xcb, 0x42,
-                0xd0, 0xf5, 0x03, 0x25,
+                0x8a, 0xf7, 0x0d, 0x2b, 0x92, 0xa7, 0xd0, 0x04, 0xdb, 0x8d, 0x79, 0x6e, 0xc1, 0x2b,
+                0x75, 0xe4, 0xe4, 0x4d, 0x92, 0x62, 0x82, 0x32, 0x57, 0xca, 0xb3, 0xcb, 0x45, 0xfb,
+                0x72, 0x2a, 0x9b, 0x9b,
             ],
             Core::Rightmost64_2 => [
-                0xa9, 0xcb, 0x13, 0x43, 0xdb, 0xd5, 0x22, 0xb9, 0x1b, 0x64, 0x82, 0xe4, 0xba, 0xe6,
-                0x2b, 0x0e, 0x5f, 0x82, 0x98, 0x68, 0x7e, 0x64, 0x23, 0x33, 0x5c, 0x6d, 0xf5, 0x06,
-                0xdc, 0x42, 0x5b, 0x90,
+                0xb6, 0xcb, 0xca, 0xd7, 0x76, 0xfc, 0xa4, 0xf7, 0x7d, 0x5a, 0x7c, 0xf0, 0x85, 0x00,
+                0xce, 0xb2, 0xca, 0xfc, 0xdc, 0xe1, 0xe3, 0x3f, 0xae, 0x08, 0x75, 0x29, 0xf5, 0xa1,
+                0x55, 0x41, 0xbd, 0x98,
             ],
             Core::Rightmost64_32 => [
-                0x47, 0x33, 0xb1, 0x92, 0x59, 0x80, 0x09, 0x64, 0x99, 0xb7, 0x87, 0x7c, 0x04, 0xe0,
-                0x01, 0xba, 0xd3, 0x32, 0x5b, 0x2e, 0xca, 0xb3, 0x48, 0xe5, 0xad, 0xd7, 0x20, 0xd0,
-                0x7b, 0x1b, 0x4a, 0x3a,
+                0x7f, 0xb0, 0x85, 0x18, 0xd5, 0xcc, 0x0c, 0x38, 0x0e, 0xa4, 0x55, 0xbf, 0xb2, 0xf4,
+                0x5f, 0x2b, 0x55, 0xf5, 0x34, 0x68, 0x10, 0x9c, 0x36, 0x5e, 0xac, 0xff, 0x1f, 0x09,
+                0x52, 0x2c, 0x6d, 0x51,
             ],
             Core::Rightmost64_4 => [
-                0x89, 0xda, 0xf7, 0xbe, 0x2c, 0xde, 0x58, 0xf0, 0x4e, 0x8d, 0xee, 0x58, 0xa4, 0x39,
-                0x10, 0x91, 0x2c, 0x09, 0x6e, 0x95, 0xe1, 0x46, 0xc1, 0x9b, 0x00, 0xf5, 0x4f, 0xe8,
-                0x74, 0x70, 0x07, 0x40,
+                0xdb, 0x61, 0xfd, 0xe7, 0xa4, 0x1c, 0xbc, 0x68, 0x77, 0xd2, 0xe6, 0x4e, 0x5c, 0x5f,
+                0x86, 0xe2, 0x67, 0xce, 0x84, 0x3c, 0xc2, 0xab, 0x52, 0xf9, 0x1a, 0x4a, 0x6d, 0x4c,
+                0x64, 0xc6, 0xf4, 0xbf,
             ],
             Core::Rightmost64_8 => [
-                0x1d, 0xfb, 0x2b, 0xef, 0x4c, 0xae, 0x45, 0x07, 0x92, 0x27, 0x08, 0xe5, 0xa5, 0x70,
-                0x99, 0x49, 0x3f, 0xbe, 0x21, 0x15, 0x98, 0xee, 0xc0, 0xbf, 0xe0, 0xe7, 0x7b, 0x3d,
-                0x41, 0xec, 0x89, 0xab,
+                0x05, 0x66, 0x65, 0xd9, 0x3f, 0xbe, 0x67, 0xe7, 0x13, 0x7d, 0x40, 0xe7, 0x50, 0x00,
+                0x82, 0x8d, 0xe2, 0x54, 0x75, 0x7d, 0x47, 0xe7, 0x54, 0xc5, 0x7e, 0x2e, 0x29, 0x27,
+                0x46, 0xb3, 0xd6, 0xe3,
             ],
             Core::Rightmost8_1 => [
-                0xce, 0xab, 0xd5, 0xca, 0x9f, 0xd9, 0x16, 0x2f, 0x99, 0x5e, 0x37, 0x35, 0x77, 0x04,
-                0x7a, 0xa4, 0xba, 0x71, 0xf8, 0x07, 0xc7, 0x11, 0xf6, 0x0b, 0x08, 0xeb, 0x6a, 0x1c,
-                0xfc, 0x38, 0x1c, 0x9c,
+                0x3d, 0x31, 0xef, 0x3d, 0x18, 0xb6, 0xaf, 0x64, 0x10, 0x46, 0xd0, 0xdf, 0xe4, 0x58,
+                0xb6, 0xda, 0x92, 0x13, 0xab, 0x54, 0xaa, 0xd8, 0xab, 0x1f, 0x48, 0x02, 0x33, 0xe9,
+                0x30, 0xcc, 0x77, 0x4b,
             ],
             Core::Rightmost8_2 => [
-                0x39, 0xb2, 0xf0, 0x37, 0xb6, 0xa0, 0x81, 0x86, 0x11, 0x50, 0x65, 0xf3, 0x85, 0x05,
-                0x7a, 0xf3, 0xde, 0x3b, 0x9f, 0x0a, 0x9b, 0xda, 0x68, 0x33, 0x71, 0x46, 0x22, 0x59,
-                0x41, 0x30, 0x28, 0xec,
+                0x25, 0xc2, 0xa1, 0xbe, 0xbc, 0x03, 0xaa, 0x9d, 0x1e, 0x26, 0x61, 0x0e, 0x58, 0x77,
+                0xad, 0x7a, 0xb2, 0xf7, 0xa4, 0xa2, 0x4b, 0xe7, 0x68, 0x6c, 0x49, 0x78, 0xe5, 0xbd,
+                0x21, 0x97, 0xe8, 0xbd,
             ],
             Core::Rightmost8_4 => [
-                0xa7, 0xa9, 0x49, 0x49, 0x0d, 0x1a, 0x00, 0xde, 0xfe, 0x5f, 0x61, 0x51, 0x29, 0x23,
-                0x85, 0x0f, 0x51, 0xe3, 0x47, 0xc0, 0x6a, 0x8d, 0x76, 0xa0, 0xcd, 0xab, 0x87, 0xee,
-                0xe2, 0x9a, 0x5d, 0xef,
+                0x43, 0xcc, 0x17, 0xf6, 0xad, 0x5d, 0x42, 0x20, 0x53, 0xf3, 0x51, 0x9e, 0x0a, 0xa2,
+                0x26, 0xee, 0x06, 0xc5, 0x7c, 0xed, 0x8d, 0x05, 0x31, 0xec, 0x83, 0x94, 0xaf, 0x29,
+                0x05, 0xc1, 0x44, 0xa0,
             ],
             Core::ScalarAdd => [
-                0x4e, 0xe9, 0xa9, 0x6c, 0xef, 0x49, 0x6c, 0xf4, 0xa8, 0xfc, 0x4e, 0x8a, 0x8b, 0xc0,
-                0xd1, 0x59, 0xca, 0x5f, 0xfb, 0x87, 0x53, 0x64, 0x3a, 0x8a, 0xdf, 0x63, 0x8a, 0xe8,
-                0x9b, 0xbb, 0xb3, 0x45,
+                0x21, 0xd0, 0x3b, 0x80, 0x63, 0x0a, 0x82, 0x5a, 0x2a, 0xcc, 0x13, 0x3d, 0x24, 0x08,
+                0xfd, 0xc7, 0x71, 0x8e, 0x42, 0x52, 0x13, 0xa9, 0x2f, 0x95, 0xff, 0x97, 0x62, 0xb8,
+                0xc5, 0xe9, 0x3f, 0x64,
             ],
             Core::ScalarInvert => [
-                0x12, 0xb8, 0x55, 0xe5, 0xeb, 0xaa, 0x7f, 0x8b, 0xb4, 0x4f, 0xee, 0x26, 0x16, 0xa0,
-                0x51, 0xad, 0x00, 0x49, 0x9f, 0x9d, 0xf2, 0xa2, 0xad, 0xf7, 0x99, 0x73, 0xe9, 0xdb,
-                0x81, 0x85, 0x75, 0x9c,
+                0x32, 0x77, 0x4c, 0x56, 0x7a, 0x8a, 0xef, 0xee, 0xd0, 0xef, 0xa7, 0x4c, 0xbb, 0xb6,
+                0xaf, 0x27, 0x34, 0xa2, 0xb1, 0x1b, 0x14, 0x6a, 0xbe, 0x92, 0x06, 0x7c, 0x9f, 0xab,
+                0xa6, 0x90, 0xb6, 0x85,
             ],
             Core::ScalarIsZero => [
-                0x4d, 0x25, 0x28, 0x03, 0x45, 0x7b, 0x83, 0xb8, 0x5b, 0x98, 0x7f, 0x04, 0x87, 0x33,
-                0xfb, 0xee, 0xde, 0xaa, 0x8d, 0x25, 0x9d, 0x32, 0x05, 0x07, 0x45, 0x00, 0x19, 0xc6,
-                0x22, 0x03, 0x4f, 0x26,
+                0x7b, 0x9b, 0xe7, 0x66, 0x49, 0x08, 0x90, 0x91, 0x68, 0xe3, 0xea, 0x60, 0xbd, 0x10,
+                0x61, 0xec, 0x9a, 0x31, 0xe9, 0xa1, 0xd4, 0x76, 0x88, 0xba, 0x12, 0x7a, 0x39, 0xc1,
+                0xc5, 0x8d, 0xe4, 0xfb,
             ],
             Core::ScalarMultiply => [
-                0x87, 0x56, 0xf2, 0xdc, 0x31, 0x0c, 0xde, 0xb6, 0x40, 0x45, 0xc4, 0x4c, 0x23, 0x66,
-                0xe1, 0x4b, 0xc1, 0xfa, 0xfa, 0x17, 0x15, 0x9f, 0x2d, 0x7b, 0x48, 0x9b, 0xd9, 0x45,
-                0x3e, 0xe3, 0x7e, 0xa0,
+                0x25, 0xef, 0xe6, 0x40, 0x18, 0x6b, 0xc5, 0xea, 0x9f, 0x0e, 0x5d, 0xc8, 0x02, 0xd6,
+                0xd2, 0xfe, 0x1c, 0x77, 0x75, 0x0f, 0xaa, 0x02, 0x4e, 0x07, 0x1b, 0xd8, 0x32, 0xdb,
+                0xe6, 0x79, 0x02, 0x4b,
             ],
             Core::ScalarMultiplyLambda => [
-                0x2b, 0x31, 0xd3, 0x9e, 0xc4, 0xff, 0x37, 0x23, 0x1a, 0x1b, 0x3e, 0xbe, 0x75, 0x9d,
-                0x41, 0xe0, 0xf5, 0xce, 0x34, 0x49, 0x2d, 0x4b, 0xd3, 0xc2, 0x09, 0x88, 0xc3, 0xf2,
-                0xf7, 0xc5, 0x3e, 0xdc,
+                0x23, 0x2b, 0x9f, 0xcf, 0x9d, 0x85, 0xc1, 0xa5, 0x11, 0x62, 0xa3, 0xea, 0x55, 0x08,
+                0x16, 0x31, 0x5c, 0x8e, 0x77, 0xe4, 0x64, 0x03, 0xac, 0xff, 0xa7, 0xfe, 0x6d, 0xbb,
+                0x1f, 0x25, 0x01, 0x1a,
             ],
             Core::ScalarNegate => [
-                0xfc, 0x2e, 0xd1, 0x87, 0x50, 0xa2, 0x21, 0x81, 0xaf, 0x5b, 0x81, 0x41, 0x96, 0x92,
-                0x73, 0xca, 0xaf, 0x72, 0xcc, 0x11, 0x31, 0xe1, 0x08, 0x2c, 0xf0, 0x08, 0xf5, 0xca,
-                0x09, 0x09, 0xc2, 0x16,
+                0x3a, 0x63, 0x32, 0x9d, 0x66, 0x45, 0xa7, 0xc0, 0x4e, 0x7f, 0x99, 0xd9, 0xca, 0x76,
+                0x29, 0x2c, 0xb5, 0x7b, 0xea, 0x2f, 0x9f, 0x90, 0x84, 0xf3, 0x05, 0xe0, 0x58, 0x3e,
+                0x45, 0x5b, 0x82, 0xee,
             ],
             Core::ScalarNormalize => [
-                0x79, 0x7c, 0xff, 0xa8, 0x08, 0x59, 0xca, 0xb7, 0xcd, 0xbf, 0x3b, 0x9d, 0xe6, 0xe0,
-                0xa8, 0xb7, 0x91, 0x48, 0x4e, 0xaa, 0xba, 0xcb, 0xdf, 0xba, 0xeb, 0x01, 0xe2, 0x38,
-                0x95, 0xe9, 0x61, 0x99,
+                0x27, 0xef, 0x9f, 0x9c, 0x0a, 0x5e, 0xd2, 0xfc, 0xd7, 0xa2, 0x84, 0xd1, 0x4c, 0x51,
+                0x16, 0xaf, 0xab, 0x70, 0xe4, 0x89, 0x0f, 0x38, 0x1c, 0xc2, 0xda, 0x88, 0xa5, 0xf3,
+                0xb5, 0x0e, 0x43, 0xc9,
             ],
             Core::ScalarSquare => [
-                0x77, 0xb4, 0x3c, 0x60, 0x38, 0xad, 0x80, 0xb4, 0x6d, 0x3a, 0x76, 0xe2, 0x12, 0xb3,
-                0xa8, 0xc0, 0xd2, 0xf0, 0x63, 0x07, 0xbc, 0x45, 0x6e, 0x40, 0xb5, 0xd6, 0xf4, 0xa3,
-                0xa5, 0x0e, 0x26, 0x4d,
+                0xd9, 0xde, 0x19, 0x19, 0xcd, 0x12, 0xd2, 0x11, 0x70, 0x3f, 0xbb, 0xd0, 0x4e, 0x20,
+                0x01, 0xd5, 0x0d, 0x29, 0x36, 0x06, 0x78, 0x64, 0x12, 0xa8, 0xd6, 0xdf, 0x36, 0xdc,
+                0x1f, 0x97, 0xe3, 0xbe,
             ],
             Core::Scale => [
-                0x57, 0x4c, 0xe7, 0x60, 0x24, 0xa5, 0xf0, 0x11, 0xa2, 0xd0, 0xbc, 0xeb, 0xb0, 0xf8,
-                0x1a, 0x15, 0xe0, 0xf9, 0xd0, 0x6b, 0x34, 0xf2, 0x09, 0x94, 0x33, 0xcb, 0x11, 0x4f,
-                0x53, 0x46, 0x8d, 0x4f,
+                0xbd, 0x69, 0x5b, 0xe1, 0x8e, 0xf7, 0x75, 0xf1, 0x2d, 0x6e, 0xe8, 0xe8, 0xe0, 0x8b,
+                0xbb, 0x6b, 0xa9, 0xfb, 0xff, 0xc8, 0x75, 0x24, 0x70, 0x72, 0x5e, 0x8b, 0x06, 0x11,
+                0x0d, 0x8c, 0x5a, 0x56,
             ],
             Core::Sha256Block => [
-                0x94, 0xa3, 0x6a, 0x40, 0x83, 0x30, 0x9e, 0x0b, 0x86, 0xde, 0x77, 0xd0, 0xfb, 0x48,
-                0xd9, 0xd3, 0x31, 0xe2, 0xd2, 0xf1, 0x67, 0x74, 0x0b, 0x60, 0x6e, 0x60, 0x57, 0x4a,
-                0xf4, 0x38, 0xcd, 0x86,
+                0x97, 0xbb, 0x59, 0xb7, 0x93, 0xae, 0x9c, 0xe4, 0x9d, 0xc0, 0x78, 0x13, 0x4b, 0x6a,
+                0x9e, 0x85, 0x5a, 0xcc, 0x6d, 0x50, 0xc0, 0xe5, 0xbd, 0x3f, 0xa6, 0x71, 0xce, 0xbe,
+                0xea, 0xb0, 0x7a, 0xe2,
             ],
             Core::Sha256Ctx8Add1 => [
-                0x8a, 0x1d, 0x25, 0x70, 0x87, 0xb3, 0x2c, 0xcd, 0xc3, 0x32, 0x00, 0x37, 0x4e, 0x6e,
-                0x95, 0xc8, 0x75, 0xa0, 0x5e, 0x54, 0x81, 0x22, 0x32, 0x3f, 0x6b, 0x7a, 0xb9, 0xc0,
-                0x7e, 0xb9, 0xb6, 0xee,
+                0x02, 0x7b, 0x6e, 0xec, 0xd2, 0xb3, 0x82, 0x29, 0x2c, 0x5e, 0xa4, 0x65, 0x29, 0x40,
+                0x8b, 0x01, 0xb2, 0xd4, 0xc7, 0x39, 0xd9, 0x11, 0x60, 0x1d, 0x02, 0xc6, 0xbf, 0x3a,
+                0x18, 0x6b, 0xb7, 0xdf,
             ],
             Core::Sha256Ctx8Add128 => [
-                0xe7, 0x77, 0x2c, 0xb9, 0xc0, 0xec, 0x42, 0x1a, 0xb8, 0xa7, 0x89, 0xd4, 0x5c, 0xd6,
-                0x46, 0x61, 0xf4, 0x33, 0xdd, 0x7d, 0x3d, 0x2c, 0x94, 0xdc, 0x1f, 0x1c, 0x4f, 0x3a,
-                0xf8, 0xc7, 0x80, 0xab,
+                0xe7, 0xe5, 0xe3, 0xb3, 0x94, 0x4a, 0x31, 0x1b, 0xd4, 0x1a, 0x06, 0x0d, 0x55, 0xe1,
+                0x7b, 0x08, 0xb5, 0xff, 0x75, 0x02, 0x08, 0x52, 0xe6, 0x6b, 0xda, 0x62, 0xb6, 0xdf,
+                0x94, 0x3b, 0xb8, 0xd4,
             ],
             Core::Sha256Ctx8Add16 => [
-                0xf0, 0xf4, 0xcf, 0x99, 0xad, 0x58, 0xa0, 0x38, 0x5e, 0x16, 0xb8, 0x7d, 0xbf, 0x32,
-                0x71, 0xc4, 0x75, 0x24, 0xde, 0xfd, 0x78, 0xf1, 0x1b, 0xbc, 0x74, 0x71, 0xfe, 0x4d,
-                0xa9, 0x4a, 0xeb, 0xad,
+                0x77, 0x87, 0x22, 0x34, 0x3b, 0x78, 0xcf, 0xb7, 0x7f, 0xd5, 0xe7, 0xd5, 0xb1, 0x9e,
+                0x93, 0x12, 0xe9, 0x97, 0xbb, 0xa3, 0x52, 0xee, 0xcb, 0x39, 0xa3, 0xc3, 0x32, 0xff,
+                0x48, 0x09, 0xaa, 0x14,
             ],
             Core::Sha256Ctx8Add2 => [
-                0x79, 0x98, 0xc7, 0xc2, 0xbd, 0x81, 0x4b, 0x0c, 0x0f, 0x40, 0x3f, 0x58, 0xc5, 0x76,
-                0xea, 0x56, 0x40, 0x7d, 0x25, 0xee, 0x22, 0x9f, 0xae, 0x62, 0x5b, 0xca, 0xb0, 0xc6,
-                0x20, 0xa2, 0xa2, 0x9c,
+                0x72, 0xaa, 0x6d, 0xe3, 0x4c, 0x20, 0x72, 0xe6, 0x92, 0x3b, 0x22, 0x80, 0xb7, 0xcf,
+                0x52, 0x1e, 0x1e, 0x05, 0x7d, 0x6b, 0xec, 0xdd, 0xa7, 0x75, 0x9a, 0x79, 0xac, 0x18,
+                0x8a, 0x26, 0x2e, 0x32,
             ],
             Core::Sha256Ctx8Add256 => [
-                0xa8, 0x74, 0x99, 0x61, 0xb3, 0x1a, 0xfe, 0x2f, 0xb5, 0x53, 0xb7, 0x0b, 0x4c, 0xea,
-                0x78, 0x7d, 0xca, 0x47, 0x25, 0x84, 0x54, 0xd5, 0x83, 0xdc, 0x45, 0xa0, 0x78, 0x0d,
-                0x5e, 0x2a, 0x2a, 0x50,
+                0xa4, 0x88, 0xeb, 0x1e, 0x75, 0x85, 0xcd, 0x02, 0x27, 0xad, 0xbb, 0xc8, 0x54, 0x9c,
+                0x9f, 0xeb, 0x65, 0x87, 0xf7, 0x8b, 0x43, 0x92, 0x2b, 0x57, 0x44, 0x01, 0x5f, 0x1b,
+                0xb6, 0x21, 0xda, 0xa0,
             ],
             Core::Sha256Ctx8Add32 => [
-                0xf2, 0x20, 0x68, 0xb7, 0x76, 0xa3, 0x78, 0x7f, 0x9d, 0x52, 0xec, 0x2a, 0x95, 0x91,
-                0x95, 0x1f, 0x8a, 0x73, 0xf0, 0x09, 0x60, 0x09, 0x12, 0x35, 0x8a, 0x2a, 0x1e, 0x15,
-                0x86, 0x4e, 0x80, 0xb2,
+                0x50, 0x38, 0x33, 0x5e, 0xd7, 0x69, 0x56, 0xf3, 0x45, 0x1e, 0x68, 0x78, 0x10, 0x02,
+                0xe9, 0x63, 0xa8, 0x4d, 0xd6, 0x55, 0xcb, 0xf2, 0xb8, 0x41, 0x63, 0x26, 0x91, 0x14,
+                0x77, 0xae, 0x3c, 0xa2,
             ],
             Core::Sha256Ctx8Add4 => [
-                0x40, 0xe6, 0x6d, 0xec, 0xa1, 0x32, 0xf5, 0xae, 0x0c, 0x54, 0x93, 0x7b, 0x95, 0xcc,
-                0xac, 0xa1, 0x12, 0x67, 0xa4, 0xad, 0xca, 0x70, 0x28, 0x87, 0xb6, 0xe4, 0x08, 0xed,
-                0x76, 0x15, 0x30, 0xbc,
+                0x23, 0xb6, 0x9b, 0x90, 0xe6, 0x9e, 0xe5, 0x0f, 0x91, 0x67, 0x04, 0x6e, 0x89, 0x99,
+                0xe3, 0xb9, 0x10, 0xc6, 0x54, 0xa7, 0x97, 0x91, 0xd3, 0xbd, 0x0e, 0x0e, 0x7f, 0x81,
+                0x54, 0x2b, 0x9d, 0x36,
             ],
             Core::Sha256Ctx8Add512 => [
-                0x5a, 0x96, 0xee, 0x66, 0x8b, 0x52, 0xf6, 0x3f, 0x7b, 0xdb, 0xaa, 0xe3, 0xcc, 0x38,
-                0xe3, 0x93, 0xef, 0x24, 0xb3, 0xa9, 0x67, 0x85, 0x6f, 0x2c, 0xd8, 0x9d, 0x83, 0xba,
-                0x4c, 0xcb, 0xda, 0x8d,
+                0xf7, 0x57, 0xd6, 0x9a, 0x8d, 0xb2, 0xc4, 0xba, 0x74, 0x46, 0xf9, 0x6a, 0x81, 0x4d,
+                0x74, 0x61, 0xf4, 0xb3, 0xd0, 0x87, 0xc0, 0xe4, 0x25, 0x46, 0x8d, 0x72, 0x3d, 0x14,
+                0x85, 0xbc, 0x85, 0x1b,
             ],
             Core::Sha256Ctx8Add64 => [
-                0x36, 0xed, 0xe6, 0xb6, 0x8a, 0xb6, 0xe4, 0xdb, 0x31, 0xef, 0xc7, 0xa7, 0xea, 0xe7,
-                0xec, 0x3f, 0x7c, 0xee, 0xad, 0x93, 0x91, 0x10, 0x3b, 0x8d, 0xcb, 0x40, 0x60, 0x91,
-                0x57, 0xfb, 0x87, 0x02,
+                0x9a, 0x17, 0x9b, 0xbd, 0x8a, 0x03, 0x29, 0x37, 0xe5, 0x90, 0xff, 0xbd, 0xb3, 0x1a,
+                0x28, 0x47, 0xa6, 0xf6, 0x9f, 0x9b, 0xb4, 0xdd, 0xcd, 0x2e, 0x60, 0x6e, 0xdd, 0x45,
+                0x4a, 0xd8, 0x40, 0x31,
             ],
             Core::Sha256Ctx8Add8 => [
-                0xac, 0x1f, 0xf0, 0xfb, 0x0c, 0xf7, 0x1d, 0x71, 0x13, 0xdb, 0x42, 0xaa, 0x1d, 0xdb,
-                0x89, 0x55, 0x96, 0xe6, 0x45, 0xd7, 0x63, 0xb8, 0xdf, 0x5e, 0x87, 0x25, 0xf5, 0x14,
-                0x4c, 0x39, 0x95, 0x88,
+                0x77, 0xb2, 0xeb, 0x5e, 0x6f, 0xa0, 0x3a, 0xac, 0x09, 0x86, 0x07, 0xc8, 0x3d, 0x10,
+                0x61, 0x76, 0xbd, 0xf3, 0x3c, 0x8c, 0xbb, 0xa7, 0xb9, 0x2d, 0x27, 0xe0, 0x35, 0x2a,
+                0x2f, 0x1e, 0xd3, 0xbe,
             ],
             Core::Sha256Ctx8AddBuffer511 => [
-                0x69, 0x01, 0xac, 0x0e, 0x30, 0xfd, 0x59, 0xce, 0xc8, 0x79, 0xd1, 0x69, 0x3b, 0x26,
-                0x79, 0x59, 0x35, 0x69, 0x07, 0x84, 0x4b, 0x57, 0x7e, 0xdc, 0x3c, 0xe0, 0xe3, 0xf7,
-                0x14, 0xa8, 0xef, 0x31,
+                0xd4, 0x7b, 0xb1, 0xcb, 0x4c, 0xaa, 0xff, 0x17, 0x41, 0x2a, 0x73, 0x0d, 0xd9, 0x12,
+                0xdb, 0xb3, 0x7d, 0xcc, 0xc9, 0x0b, 0x27, 0xd3, 0x95, 0xc4, 0xf8, 0x45, 0x90, 0x08,
+                0xa5, 0xf2, 0x44, 0xc7,
             ],
             Core::Sha256Ctx8Finalize => [
-                0x84, 0x61, 0x59, 0x54, 0x00, 0x7e, 0xd8, 0x23, 0xd6, 0x05, 0x46, 0xd7, 0x5b, 0x04,
-                0xb9, 0x09, 0xbc, 0x90, 0x92, 0x06, 0x37, 0x14, 0x73, 0xda, 0xc7, 0x0e, 0x12, 0x68,
-                0x04, 0x77, 0x08, 0xcb,
+                0x71, 0x65, 0x80, 0xc1, 0xe0, 0x0d, 0x6a, 0x66, 0x1f, 0xd9, 0xbe, 0x6b, 0x61, 0xde,
+                0x5b, 0xef, 0x63, 0xa8, 0x4a, 0x4e, 0x67, 0x5b, 0xeb, 0x0b, 0x0a, 0x47, 0x19, 0x73,
+                0x5e, 0xa3, 0xa2, 0x85,
             ],
             Core::Sha256Ctx8Init => [
-                0x6a, 0xdd, 0xa7, 0xd7, 0x33, 0x9f, 0x7d, 0xce, 0x4d, 0x62, 0xff, 0x82, 0x28, 0x16,
-                0xda, 0x8d, 0xf5, 0x6a, 0xf6, 0x24, 0x3f, 0xa0, 0x73, 0xa2, 0x5c, 0x4c, 0x7c, 0xb5,
-                0x7e, 0x01, 0x12, 0xb3,
+                0x82, 0xbb, 0x12, 0xfe, 0x68, 0x8d, 0x2a, 0xe3, 0x7e, 0x30, 0x18, 0x93, 0xa3, 0xf0,
+                0xd3, 0x07, 0x5c, 0xbf, 0x99, 0x34, 0xd0, 0x75, 0xf7, 0x3c, 0x2b, 0x36, 0x4a, 0xf3,
+                0xd1, 0x12, 0x10, 0x2a,
             ],
             Core::Sha256Iv => [
-                0x6a, 0x18, 0xe6, 0xe7, 0x64, 0xaf, 0x80, 0x0d, 0xc6, 0xfa, 0xeb, 0x07, 0x54, 0xbf,
-                0x0b, 0x17, 0x32, 0x9f, 0x98, 0x28, 0x1d, 0x13, 0xf5, 0x15, 0x77, 0x00, 0xfa, 0x6a,
-                0x1d, 0x6d, 0x5d, 0x42,
+                0xd2, 0xbb, 0x57, 0x20, 0x0d, 0xad, 0xd3, 0xa6, 0x73, 0x78, 0xdb, 0x79, 0x66, 0x10,
+                0xf5, 0x9c, 0x33, 0xd9, 0xa4, 0x0d, 0x2d, 0xfc, 0xc9, 0x9f, 0x03, 0xb0, 0x8b, 0x71,
+                0x55, 0xfb, 0xbb, 0xea,
             ],
             Core::Some1 => [
-                0x0b, 0x9c, 0xb7, 0xb4, 0x7d, 0xeb, 0x4f, 0x9d, 0x95, 0xd5, 0xc0, 0x20, 0x00, 0x1f,
-                0xd0, 0x09, 0xa2, 0xf1, 0x0c, 0xe5, 0xd9, 0x18, 0xd8, 0x18, 0x1e, 0x25, 0x93, 0x15,
-                0xfe, 0x8e, 0xac, 0x53,
+                0x15, 0x1b, 0xcb, 0x76, 0xc2, 0x31, 0xab, 0x25, 0xe3, 0x71, 0x09, 0x28, 0xd9, 0xb3,
+                0xb7, 0xa2, 0xe1, 0x7f, 0x84, 0xd7, 0xcf, 0x8d, 0xa8, 0x84, 0x5c, 0xf8, 0x7a, 0x40,
+                0x81, 0x6f, 0x31, 0x68,
             ],
             Core::Some16 => [
-                0x30, 0xd8, 0x14, 0xff, 0xb4, 0x92, 0x78, 0xb4, 0x25, 0x00, 0x7b, 0x9d, 0xe2, 0x79,
-                0xf7, 0x6f, 0x4a, 0x6d, 0xa4, 0xc0, 0x34, 0x63, 0x4a, 0xbb, 0x87, 0x11, 0x0e, 0xcb,
-                0xea, 0x2c, 0xe4, 0x29,
+                0x87, 0x29, 0x5e, 0x8a, 0x0f, 0x02, 0x99, 0xf3, 0xa7, 0xcb, 0x73, 0x8d, 0xd5, 0xf8,
+                0xdd, 0xec, 0xc3, 0xe4, 0x8d, 0x18, 0x74, 0xa5, 0x5a, 0x0c, 0xcf, 0x7c, 0x2d, 0x30,
+                0xaa, 0xd0, 0x79, 0x87,
             ],
             Core::Some32 => [
-                0x69, 0x27, 0x91, 0x90, 0x3b, 0xe7, 0xd9, 0xe4, 0xc5, 0x47, 0x72, 0xba, 0x88, 0xa4,
-                0x86, 0x15, 0x46, 0x36, 0x12, 0x18, 0xdd, 0x8a, 0x26, 0xce, 0xed, 0x69, 0x9b, 0xcf,
-                0x77, 0xc0, 0x99, 0x09,
+                0x85, 0x2f, 0x5e, 0x22, 0x24, 0x66, 0x77, 0xc4, 0x9a, 0x6c, 0x68, 0xec, 0x39, 0x73,
+                0xcb, 0x53, 0x00, 0x82, 0x65, 0xcf, 0x17, 0xd4, 0x6f, 0x60, 0x00, 0x59, 0x41, 0xba,
+                0x57, 0xd4, 0x94, 0x7e,
             ],
             Core::Some64 => [
-                0xfa, 0x9b, 0x01, 0x60, 0xc7, 0x27, 0x15, 0xff, 0xfd, 0x1d, 0x94, 0xda, 0x19, 0x97,
-                0x88, 0x28, 0x09, 0xb4, 0x62, 0xbb, 0x14, 0x4a, 0xce, 0xcb, 0x43, 0x05, 0x44, 0x68,
-                0xe6, 0x37, 0x86, 0xb5,
+                0xfe, 0x9b, 0x3a, 0x25, 0xc9, 0x57, 0x17, 0x49, 0xe2, 0xa5, 0x63, 0xf4, 0x10, 0xa5,
+                0x65, 0x0f, 0x41, 0x17, 0x4e, 0x23, 0x26, 0x91, 0x07, 0x2b, 0x2d, 0x54, 0x74, 0xf9,
+                0x3c, 0x7a, 0x22, 0xc0,
             ],
             Core::Some8 => [
-                0x0b, 0xd7, 0xab, 0x43, 0x80, 0xc8, 0xf4, 0x5a, 0xca, 0x7c, 0xac, 0x97, 0x28, 0x86,
-                0xce, 0xef, 0x23, 0xba, 0x84, 0x21, 0x0c, 0x5c, 0x4d, 0x96, 0x9b, 0x1f, 0x59, 0xb1,
-                0x83, 0x2c, 0x1d, 0x36,
+                0x49, 0xdc, 0x24, 0x20, 0x4c, 0x56, 0x44, 0xea, 0x98, 0xb0, 0xd8, 0xa8, 0xa1, 0xf1,
+                0x5f, 0x20, 0x8b, 0x4a, 0xfa, 0xd5, 0x9d, 0x89, 0x95, 0xab, 0x96, 0xc4, 0x49, 0x8d,
+                0x1c, 0xd4, 0x10, 0xa0,
             ],
             Core::Subtract16 => [
-                0x0c, 0xd3, 0xab, 0x73, 0xe5, 0xce, 0x2a, 0x44, 0xf2, 0xd1, 0xc3, 0x32, 0xa1, 0xed,
-                0x5a, 0xef, 0x5b, 0xcb, 0x60, 0x4f, 0x72, 0x1b, 0x15, 0xb8, 0x01, 0x0d, 0xd5, 0x4f,
-                0x40, 0xc6, 0xac, 0xa7,
+                0x51, 0x2b, 0x7c, 0x68, 0x81, 0xbf, 0x8d, 0x8f, 0xa5, 0xd9, 0x35, 0xe5, 0x25, 0x64,
+                0xe2, 0x86, 0x75, 0x1f, 0x77, 0xe6, 0x33, 0x75, 0x63, 0x7d, 0xf2, 0xd7, 0x22, 0x75,
+                0x68, 0xc6, 0x94, 0x7f,
             ],
             Core::Subtract32 => [
-                0xe0, 0xde, 0x68, 0x76, 0x25, 0x9d, 0x5a, 0x00, 0x4b, 0x30, 0x16, 0xd3, 0x58, 0x15,
-                0xdb, 0x41, 0xbc, 0xec, 0xdb, 0xfa, 0x18, 0xd3, 0x7d, 0x99, 0x20, 0x4e, 0x49, 0x57,
-                0xad, 0x2c, 0x4d, 0x0e,
+                0xf5, 0x3f, 0x3e, 0x87, 0x1a, 0x7d, 0xa3, 0xf0, 0x9e, 0x56, 0x26, 0x97, 0x83, 0x5e,
+                0x1c, 0xe1, 0x0d, 0xf8, 0xee, 0x14, 0x11, 0x63, 0xad, 0x93, 0xb5, 0x7c, 0x8e, 0x6d,
+                0x74, 0x38, 0x2b, 0xbc,
             ],
             Core::Subtract64 => [
-                0xff, 0xe6, 0x73, 0xee, 0x8e, 0xdc, 0x72, 0x9a, 0x47, 0xec, 0xed, 0x3a, 0x67, 0x7f,
-                0x85, 0xb1, 0xda, 0xe7, 0x14, 0xa5, 0x10, 0x0c, 0x49, 0x49, 0x73, 0xab, 0xcb, 0x32,
-                0x59, 0xa3, 0xc7, 0x56,
+                0x5f, 0x08, 0xf7, 0x40, 0x53, 0xb2, 0xf0, 0x19, 0xb6, 0x2a, 0x1b, 0xb8, 0x28, 0xb7,
+                0x99, 0xe0, 0x91, 0xe8, 0x21, 0x7e, 0xc8, 0x89, 0xdd, 0x4d, 0x37, 0x6e, 0x01, 0x2c,
+                0x95, 0x79, 0xb9, 0x81,
             ],
             Core::Subtract8 => [
-                0xbd, 0xa5, 0x98, 0x13, 0x96, 0x47, 0x8e, 0xb3, 0x6f, 0x85, 0x92, 0xa7, 0x50, 0x9f,
-                0xa4, 0x87, 0x7c, 0x50, 0xb2, 0xbf, 0x91, 0x65, 0xe5, 0xb7, 0x96, 0x35, 0xbf, 0x8b,
-                0xcb, 0x84, 0xd4, 0x42,
+                0x77, 0x86, 0x49, 0xf8, 0x39, 0x35, 0xcd, 0x3f, 0xfc, 0x04, 0xf6, 0xc6, 0x62, 0x0a,
+                0x33, 0x96, 0x5d, 0x0e, 0xf1, 0xdd, 0x17, 0xe7, 0xb5, 0x0f, 0xa4, 0x10, 0x76, 0xd8,
+                0xad, 0x87, 0x6b, 0x1d,
             ],
             Core::Swu => [
-                0x69, 0x45, 0x9b, 0x6d, 0xd1, 0x0a, 0x63, 0xdf, 0x37, 0xde, 0xdf, 0x18, 0x6c, 0xb4,
-                0xd2, 0x08, 0xd8, 0xc0, 0x39, 0x61, 0x1c, 0xec, 0xdd, 0x09, 0xcf, 0xe0, 0x7a, 0xc9,
-                0x1d, 0x01, 0x42, 0x2f,
+                0x20, 0x49, 0xd4, 0x6c, 0x4c, 0x4d, 0x6f, 0x85, 0x6e, 0x04, 0xf7, 0xae, 0x20, 0x28,
+                0x73, 0x36, 0xc2, 0xf2, 0xa6, 0xb8, 0xc1, 0xe2, 0x9d, 0x7e, 0xbb, 0xa3, 0xaf, 0x2f,
+                0xd3, 0xa8, 0x80, 0x9b,
             ],
             Core::Verify => [
-                0xf1, 0x1c, 0x94, 0x81, 0xe7, 0x18, 0x63, 0xa2, 0x44, 0x53, 0xc3, 0xe2, 0x13, 0x04,
-                0x64, 0x99, 0xa0, 0x3a, 0x9a, 0x0f, 0x99, 0x3b, 0xe3, 0xc4, 0x8e, 0x9d, 0x1f, 0x40,
-                0x5d, 0x97, 0x94, 0x7c,
+                0x22, 0xc0, 0xe3, 0x62, 0x34, 0x19, 0x0a, 0xf6, 0xc8, 0x16, 0x1e, 0x41, 0xf9, 0xe0,
+                0x00, 0x13, 0xb2, 0x43, 0xc8, 0x96, 0x77, 0x69, 0x1a, 0x62, 0xe7, 0x98, 0x72, 0xfa,
+                0x03, 0xbf, 0xa6, 0x77,
             ],
             Core::Xor1 => [
-                0x77, 0xb7, 0x14, 0xe6, 0x89, 0xc9, 0xd6, 0xa4, 0x8f, 0xd1, 0xad, 0xd8, 0x65, 0x22,
-                0x82, 0x3d, 0xeb, 0xc7, 0x0d, 0xf6, 0xa7, 0xfe, 0x4b, 0xf2, 0xb8, 0x5d, 0xe5, 0x49,
-                0xe0, 0xcd, 0x0a, 0x05,
+                0x7b, 0x76, 0x0e, 0xe0, 0xc7, 0x89, 0x6a, 0xb7, 0x38, 0xcc, 0x50, 0xef, 0x7d, 0x63,
+                0xf6, 0xd2, 0xbf, 0x59, 0x61, 0xa9, 0x28, 0x64, 0x47, 0xce, 0x06, 0x4e, 0xc1, 0x8d,
+                0x5e, 0xde, 0x6f, 0x6c,
             ],
             Core::Xor16 => [
-                0xca, 0x36, 0x35, 0x51, 0x35, 0xa8, 0x6a, 0x11, 0x68, 0x6c, 0x01, 0xaa, 0x35, 0xf2,
-                0x5b, 0x97, 0xfa, 0xee, 0xda, 0xbf, 0xde, 0xc8, 0xdf, 0x08, 0xd2, 0xc0, 0xf6, 0x65,
-                0x08, 0x33, 0xf9, 0x3f,
+                0xef, 0x2d, 0x8a, 0x0f, 0x66, 0x9d, 0x20, 0xaa, 0xfe, 0x11, 0xa6, 0xc3, 0x39, 0x06,
+                0x36, 0x92, 0x3a, 0xd3, 0x76, 0x14, 0x0d, 0x3e, 0xa6, 0x94, 0xd0, 0x87, 0x2f, 0xa4,
+                0xd5, 0x4b, 0x90, 0xef,
             ],
             Core::Xor32 => [
-                0xff, 0xe2, 0xc8, 0xee, 0x96, 0xd5, 0x57, 0x97, 0x81, 0xc4, 0x36, 0x62, 0x88, 0xd9,
-                0x50, 0x71, 0x85, 0xe4, 0x61, 0xcc, 0xc4, 0x0a, 0x45, 0xbb, 0xcc, 0x55, 0x94, 0x89,
-                0xd3, 0xc6, 0x96, 0x12,
+                0x21, 0x9b, 0x1d, 0xd6, 0xe7, 0x2b, 0x77, 0x75, 0x19, 0x51, 0x91, 0x6e, 0xe4, 0xdd,
+                0xfd, 0x56, 0xac, 0xf0, 0xce, 0x7a, 0x30, 0xa4, 0xcd, 0x73, 0x9c, 0x51, 0xbd, 0x99,
+                0x42, 0xa2, 0xeb, 0x07,
             ],
             Core::Xor64 => [
-                0x5b, 0x3b, 0xb7, 0xb1, 0x8c, 0x70, 0x98, 0xf4, 0xe5, 0xcd, 0x14, 0x97, 0x22, 0xac,
-                0x73, 0x09, 0xce, 0x66, 0xa3, 0xe2, 0x19, 0xc6, 0x1b, 0x33, 0x3f, 0x31, 0x33, 0x58,
-                0x3a, 0x7b, 0x57, 0x2d,
+                0x0b, 0xbb, 0x85, 0x0a, 0xd0, 0x3f, 0x9c, 0x96, 0xa5, 0xd4, 0x67, 0xc4, 0x61, 0x12,
+                0xf1, 0x04, 0x6a, 0x7a, 0x92, 0x27, 0x3f, 0x2b, 0xb0, 0x1d, 0x20, 0xca, 0x4d, 0xb6,
+                0xba, 0x75, 0x3e, 0x79,
             ],
             Core::Xor8 => [
-                0xff, 0x3e, 0x52, 0x62, 0x02, 0xff, 0x89, 0xcf, 0xf7, 0xbb, 0xe7, 0x0f, 0xdb, 0xf9,
-                0xf9, 0x7d, 0x23, 0xc1, 0x2f, 0x6e, 0x2b, 0xb8, 0xbb, 0xe8, 0x30, 0x4a, 0xc7, 0x0f,
-                0x61, 0xc1, 0xcf, 0x2c,
+                0x95, 0x0b, 0x65, 0x31, 0x62, 0x36, 0xe8, 0x3e, 0xd1, 0x4b, 0xd1, 0x71, 0xe3, 0x4d,
+                0x55, 0xaf, 0x0a, 0x3f, 0x63, 0x7c, 0xc4, 0x7d, 0xc7, 0x17, 0xf7, 0x7f, 0xdb, 0x4b,
+                0x30, 0xdf, 0x01, 0x57,
             ],
             Core::XorXor1 => [
-                0x22, 0x52, 0xa9, 0x86, 0x08, 0xd2, 0x0b, 0xd4, 0x11, 0x31, 0x7a, 0x20, 0x15, 0xc1,
-                0x56, 0x98, 0x70, 0xa6, 0x2c, 0x95, 0x3a, 0x61, 0x65, 0xfb, 0xe9, 0x77, 0xb4, 0x0d,
-                0x6c, 0xce, 0xa4, 0x95,
+                0x3f, 0x30, 0xf9, 0x59, 0x87, 0x0d, 0xe1, 0xd1, 0x33, 0x37, 0x4e, 0x14, 0x09, 0xfd,
+                0xc3, 0x4d, 0xe4, 0x92, 0x91, 0x70, 0x68, 0x30, 0xb8, 0x3d, 0xac, 0x9d, 0x4e, 0x67,
+                0xc4, 0xeb, 0x60, 0x48,
             ],
             Core::XorXor16 => [
-                0xa1, 0xf2, 0xd6, 0x33, 0xbf, 0x98, 0x89, 0xa0, 0x8a, 0x42, 0x51, 0x2a, 0x78, 0x93,
-                0xa6, 0x79, 0x9d, 0xc4, 0x7a, 0xa8, 0x29, 0xff, 0x8f, 0x57, 0x7c, 0x5b, 0xc9, 0x75,
-                0x66, 0xc4, 0xd3, 0xfe,
+                0x2e, 0x1a, 0x09, 0xe3, 0xcb, 0xa2, 0x75, 0x66, 0x02, 0xe8, 0x7b, 0x86, 0xf2, 0xb0,
+                0x7f, 0x2d, 0x23, 0x7b, 0xfc, 0xac, 0x5b, 0x1b, 0x8a, 0xb7, 0xb5, 0x29, 0xaf, 0x42,
+                0xd3, 0x11, 0x02, 0x94,
             ],
             Core::XorXor32 => [
-                0x0d, 0x5f, 0xf5, 0x81, 0x23, 0xba, 0x0d, 0xae, 0x3b, 0x32, 0x40, 0xa6, 0x31, 0x05,
-                0x2a, 0xf2, 0xe8, 0x7b, 0x52, 0xb6, 0x37, 0xa2, 0xcb, 0xd3, 0x37, 0xd2, 0x25, 0x93,
-                0x70, 0x62, 0x87, 0x41,
+                0x85, 0xa3, 0x79, 0xa1, 0xe5, 0xdb, 0x45, 0x72, 0x37, 0xdf, 0x27, 0xf4, 0xcf, 0xcd,
+                0xc8, 0x75, 0x60, 0xff, 0xd3, 0x73, 0x8e, 0xbe, 0xc8, 0x25, 0x52, 0xe7, 0x3b, 0xce,
+                0x89, 0xbc, 0x0b, 0x37,
             ],
             Core::XorXor64 => [
-                0x78, 0x3f, 0x49, 0xa1, 0x9d, 0x4f, 0x4a, 0xae, 0x4d, 0x3c, 0x1d, 0x6c, 0xcf, 0x83,
-                0x15, 0x6d, 0xc5, 0x5d, 0x0b, 0x5c, 0x08, 0xcf, 0x59, 0x23, 0x36, 0x58, 0x4c, 0xb1,
-                0x31, 0x67, 0xc6, 0xca,
+                0x4c, 0x12, 0x68, 0xc5, 0x75, 0x42, 0x50, 0x89, 0xbe, 0x42, 0x47, 0x2e, 0x97, 0x2b,
+                0x2a, 0xe0, 0x0e, 0xde, 0x58, 0x34, 0xc9, 0x84, 0xd9, 0x6d, 0xcd, 0x59, 0xa0, 0xc2,
+                0x21, 0x15, 0x2f, 0x93,
             ],
             Core::XorXor8 => [
-                0x83, 0xa9, 0x80, 0xcc, 0x61, 0x06, 0x85, 0x24, 0x88, 0x10, 0x5d, 0x3c, 0xee, 0x10,
-                0xf3, 0x51, 0x13, 0xb8, 0xc9, 0xf7, 0x46, 0x64, 0xe7, 0xce, 0x6d, 0x4e, 0xc0, 0x91,
-                0x2b, 0xc2, 0x9b, 0xc7,
+                0x61, 0xf2, 0x74, 0x7f, 0x8d, 0x83, 0xb6, 0xa5, 0xad, 0xaa, 0x42, 0xf5, 0xc0, 0x40,
+                0x8c, 0x9b, 0xd4, 0xe9, 0x9e, 0x92, 0x70, 0xa7, 0x58, 0x71, 0x40, 0x6c, 0xec, 0x44,
+                0x89, 0xa5, 0xfb, 0xe7,
             ],
         };
 
@@ -6011,373 +6011,373 @@ impl Jet for Core {
 
     fn cost(&self) -> Cost {
         match self {
-            Core::Add16 => Cost::from_milliweight(226),
-            Core::Add32 => Cost::from_milliweight(183),
-            Core::Add64 => Cost::from_milliweight(221),
-            Core::Add8 => Cost::from_milliweight(150),
-            Core::All16 => Cost::from_milliweight(110),
-            Core::All32 => Cost::from_milliweight(136),
-            Core::All64 => Cost::from_milliweight(165),
-            Core::All8 => Cost::from_milliweight(113),
-            Core::And1 => Cost::from_milliweight(159),
-            Core::And16 => Cost::from_milliweight(195),
-            Core::And32 => Cost::from_milliweight(175),
-            Core::And64 => Cost::from_milliweight(221),
-            Core::And8 => Cost::from_milliweight(159),
-            Core::Bip0340Verify => Cost::from_milliweight(49671),
-            Core::Ch1 => Cost::from_milliweight(240),
-            Core::Ch16 => Cost::from_milliweight(245),
-            Core::Ch32 => Cost::from_milliweight(238),
-            Core::Ch64 => Cost::from_milliweight(274),
-            Core::Ch8 => Cost::from_milliweight(240),
+            Core::Add16 => Cost::from_milliweight(108),
+            Core::Add32 => Cost::from_milliweight(117),
+            Core::Add64 => Cost::from_milliweight(109),
+            Core::Add8 => Cost::from_milliweight(112),
+            Core::All16 => Cost::from_milliweight(62),
+            Core::All32 => Cost::from_milliweight(65),
+            Core::All64 => Cost::from_milliweight(79),
+            Core::All8 => Cost::from_milliweight(76),
+            Core::And1 => Cost::from_milliweight(79),
+            Core::And16 => Cost::from_milliweight(88),
+            Core::And32 => Cost::from_milliweight(94),
+            Core::And64 => Cost::from_milliweight(93),
+            Core::And8 => Cost::from_milliweight(91),
+            Core::Bip0340Verify => Cost::from_milliweight(49087),
+            Core::Ch1 => Cost::from_milliweight(78),
+            Core::Ch16 => Cost::from_milliweight(94),
+            Core::Ch32 => Cost::from_milliweight(91),
+            Core::Ch64 => Cost::from_milliweight(91),
+            Core::Ch8 => Cost::from_milliweight(77),
             Core::CheckSigVerify => Cost::from_milliweight(50000),
-            Core::Complement1 => Cost::from_milliweight(139),
-            Core::Complement16 => Cost::from_milliweight(146),
-            Core::Complement32 => Cost::from_milliweight(161),
-            Core::Complement64 => Cost::from_milliweight(174),
-            Core::Complement8 => Cost::from_milliweight(139),
-            Core::Decompress => Cost::from_milliweight(10956),
-            Core::Decrement16 => Cost::from_milliweight(116),
-            Core::Decrement32 => Cost::from_milliweight(159),
-            Core::Decrement64 => Cost::from_milliweight(160),
-            Core::Decrement8 => Cost::from_milliweight(195),
-            Core::DivMod128_64 => Cost::from_milliweight(220),
-            Core::DivMod16 => Cost::from_milliweight(223),
-            Core::DivMod32 => Cost::from_milliweight(198),
-            Core::DivMod64 => Cost::from_milliweight(220),
-            Core::DivMod8 => Cost::from_milliweight(141),
-            Core::Divide16 => Cost::from_milliweight(188),
-            Core::Divide32 => Cost::from_milliweight(225),
-            Core::Divide64 => Cost::from_milliweight(202),
-            Core::Divide8 => Cost::from_milliweight(125),
-            Core::Divides16 => Cost::from_milliweight(173),
-            Core::Divides32 => Cost::from_milliweight(175),
-            Core::Divides64 => Cost::from_milliweight(246),
-            Core::Divides8 => Cost::from_milliweight(142),
-            Core::Eq1 => Cost::from_milliweight(120),
-            Core::Eq16 => Cost::from_milliweight(174),
-            Core::Eq256 => Cost::from_milliweight(431),
-            Core::Eq32 => Cost::from_milliweight(233),
-            Core::Eq64 => Cost::from_milliweight(202),
-            Core::Eq8 => Cost::from_milliweight(120),
-            Core::FeAdd => Cost::from_milliweight(908),
-            Core::FeInvert => Cost::from_milliweight(3375),
-            Core::FeIsOdd => Cost::from_milliweight(544),
-            Core::FeIsZero => Cost::from_milliweight(521),
-            Core::FeMultiply => Cost::from_milliweight(975),
-            Core::FeMultiplyBeta => Cost::from_milliweight(824),
-            Core::FeNegate => Cost::from_milliweight(846),
-            Core::FeNormalize => Cost::from_milliweight(813),
-            Core::FeSquare => Cost::from_milliweight(829),
-            Core::FeSquareRoot => Cost::from_milliweight(10698),
-            Core::FullAdd16 => Cost::from_milliweight(193),
-            Core::FullAdd32 => Cost::from_milliweight(197),
-            Core::FullAdd64 => Cost::from_milliweight(225),
-            Core::FullAdd8 => Cost::from_milliweight(190),
-            Core::FullDecrement16 => Cost::from_milliweight(107),
-            Core::FullDecrement32 => Cost::from_milliweight(153),
-            Core::FullDecrement64 => Cost::from_milliweight(151),
-            Core::FullDecrement8 => Cost::from_milliweight(218),
-            Core::FullIncrement16 => Cost::from_milliweight(108),
-            Core::FullIncrement32 => Cost::from_milliweight(171),
-            Core::FullIncrement64 => Cost::from_milliweight(161),
-            Core::FullIncrement8 => Cost::from_milliweight(204),
-            Core::FullLeftShift16_1 => Cost::from_milliweight(150),
-            Core::FullLeftShift16_2 => Cost::from_milliweight(150),
-            Core::FullLeftShift16_4 => Cost::from_milliweight(150),
-            Core::FullLeftShift16_8 => Cost::from_milliweight(150),
-            Core::FullLeftShift32_1 => Cost::from_milliweight(150),
-            Core::FullLeftShift32_16 => Cost::from_milliweight(150),
-            Core::FullLeftShift32_2 => Cost::from_milliweight(150),
-            Core::FullLeftShift32_4 => Cost::from_milliweight(150),
-            Core::FullLeftShift32_8 => Cost::from_milliweight(150),
-            Core::FullLeftShift64_1 => Cost::from_milliweight(150),
-            Core::FullLeftShift64_16 => Cost::from_milliweight(150),
-            Core::FullLeftShift64_2 => Cost::from_milliweight(150),
-            Core::FullLeftShift64_32 => Cost::from_milliweight(150),
-            Core::FullLeftShift64_4 => Cost::from_milliweight(150),
-            Core::FullLeftShift64_8 => Cost::from_milliweight(150),
-            Core::FullLeftShift8_1 => Cost::from_milliweight(150),
-            Core::FullLeftShift8_2 => Cost::from_milliweight(150),
-            Core::FullLeftShift8_4 => Cost::from_milliweight(150),
-            Core::FullMultiply16 => Cost::from_milliweight(208),
-            Core::FullMultiply32 => Cost::from_milliweight(213),
-            Core::FullMultiply64 => Cost::from_milliweight(209),
-            Core::FullMultiply8 => Cost::from_milliweight(190),
-            Core::FullRightShift16_1 => Cost::from_milliweight(150),
-            Core::FullRightShift16_2 => Cost::from_milliweight(150),
-            Core::FullRightShift16_4 => Cost::from_milliweight(150),
-            Core::FullRightShift16_8 => Cost::from_milliweight(150),
-            Core::FullRightShift32_1 => Cost::from_milliweight(150),
-            Core::FullRightShift32_16 => Cost::from_milliweight(150),
-            Core::FullRightShift32_2 => Cost::from_milliweight(150),
-            Core::FullRightShift32_4 => Cost::from_milliweight(150),
-            Core::FullRightShift32_8 => Cost::from_milliweight(150),
-            Core::FullRightShift64_1 => Cost::from_milliweight(150),
-            Core::FullRightShift64_16 => Cost::from_milliweight(150),
-            Core::FullRightShift64_2 => Cost::from_milliweight(150),
-            Core::FullRightShift64_32 => Cost::from_milliweight(150),
-            Core::FullRightShift64_4 => Cost::from_milliweight(150),
-            Core::FullRightShift64_8 => Cost::from_milliweight(150),
-            Core::FullRightShift8_1 => Cost::from_milliweight(150),
-            Core::FullRightShift8_2 => Cost::from_milliweight(150),
-            Core::FullRightShift8_4 => Cost::from_milliweight(150),
-            Core::FullSubtract16 => Cost::from_milliweight(201),
-            Core::FullSubtract32 => Cost::from_milliweight(170),
-            Core::FullSubtract64 => Cost::from_milliweight(231),
-            Core::FullSubtract8 => Cost::from_milliweight(141),
-            Core::GeIsOnCurve => Cost::from_milliweight(763),
-            Core::GeNegate => Cost::from_milliweight(1278),
-            Core::GejAdd => Cost::from_milliweight(3292),
-            Core::GejDouble => Cost::from_milliweight(2103),
-            Core::GejEquiv => Cost::from_milliweight(1270),
-            Core::GejGeAdd => Cost::from_milliweight(2890),
-            Core::GejGeAddEx => Cost::from_milliweight(3114),
-            Core::GejGeEquiv => Cost::from_milliweight(1270),
-            Core::GejInfinity => Cost::from_milliweight(971),
-            Core::GejIsInfinity => Cost::from_milliweight(923),
-            Core::GejIsOnCurve => Cost::from_milliweight(1106),
-            Core::GejNegate => Cost::from_milliweight(1823),
-            Core::GejNormalize => Cost::from_milliweight(4337),
-            Core::GejRescale => Cost::from_milliweight(2315),
-            Core::GejXEquiv => Cost::from_milliweight(1270),
-            Core::GejYIsOdd => Cost::from_milliweight(3665),
-            Core::Generate => Cost::from_milliweight(51706),
-            Core::HashToCurve => Cost::from_milliweight(10956),
-            Core::High1 => Cost::from_milliweight(169),
-            Core::High16 => Cost::from_milliweight(159),
-            Core::High32 => Cost::from_milliweight(121),
-            Core::High64 => Cost::from_milliweight(110),
-            Core::High8 => Cost::from_milliweight(169),
-            Core::Increment16 => Cost::from_milliweight(129),
-            Core::Increment32 => Cost::from_milliweight(195),
-            Core::Increment64 => Cost::from_milliweight(187),
-            Core::Increment8 => Cost::from_milliweight(155),
-            Core::IsOne16 => Cost::from_milliweight(117),
-            Core::IsOne32 => Cost::from_milliweight(136),
-            Core::IsOne64 => Cost::from_milliweight(163),
-            Core::IsOne8 => Cost::from_milliweight(160),
-            Core::IsZero16 => Cost::from_milliweight(143),
-            Core::IsZero32 => Cost::from_milliweight(135),
-            Core::IsZero64 => Cost::from_milliweight(136),
-            Core::IsZero8 => Cost::from_milliweight(163),
-            Core::Le16 => Cost::from_milliweight(166),
-            Core::Le32 => Cost::from_milliweight(216),
-            Core::Le64 => Cost::from_milliweight(173),
-            Core::Le8 => Cost::from_milliweight(143),
-            Core::LeftExtend16_32 => Cost::from_milliweight(150),
-            Core::LeftExtend16_64 => Cost::from_milliweight(150),
-            Core::LeftExtend1_16 => Cost::from_milliweight(150),
-            Core::LeftExtend1_32 => Cost::from_milliweight(150),
-            Core::LeftExtend1_64 => Cost::from_milliweight(150),
-            Core::LeftExtend1_8 => Cost::from_milliweight(150),
-            Core::LeftExtend32_64 => Cost::from_milliweight(150),
-            Core::LeftExtend8_16 => Cost::from_milliweight(150),
-            Core::LeftExtend8_32 => Cost::from_milliweight(150),
-            Core::LeftExtend8_64 => Cost::from_milliweight(150),
-            Core::LeftPadHigh16_32 => Cost::from_milliweight(150),
-            Core::LeftPadHigh16_64 => Cost::from_milliweight(150),
-            Core::LeftPadHigh1_16 => Cost::from_milliweight(150),
-            Core::LeftPadHigh1_32 => Cost::from_milliweight(150),
-            Core::LeftPadHigh1_64 => Cost::from_milliweight(150),
-            Core::LeftPadHigh1_8 => Cost::from_milliweight(150),
-            Core::LeftPadHigh32_64 => Cost::from_milliweight(150),
-            Core::LeftPadHigh8_16 => Cost::from_milliweight(150),
-            Core::LeftPadHigh8_32 => Cost::from_milliweight(150),
-            Core::LeftPadHigh8_64 => Cost::from_milliweight(150),
-            Core::LeftPadLow16_32 => Cost::from_milliweight(150),
-            Core::LeftPadLow16_64 => Cost::from_milliweight(150),
-            Core::LeftPadLow1_16 => Cost::from_milliweight(150),
-            Core::LeftPadLow1_32 => Cost::from_milliweight(150),
-            Core::LeftPadLow1_64 => Cost::from_milliweight(150),
-            Core::LeftPadLow1_8 => Cost::from_milliweight(150),
-            Core::LeftPadLow32_64 => Cost::from_milliweight(150),
-            Core::LeftPadLow8_16 => Cost::from_milliweight(150),
-            Core::LeftPadLow8_32 => Cost::from_milliweight(150),
-            Core::LeftPadLow8_64 => Cost::from_milliweight(150),
-            Core::LeftRotate16 => Cost::from_milliweight(150),
-            Core::LeftRotate32 => Cost::from_milliweight(150),
-            Core::LeftRotate64 => Cost::from_milliweight(150),
-            Core::LeftRotate8 => Cost::from_milliweight(150),
-            Core::LeftShift16 => Cost::from_milliweight(150),
-            Core::LeftShift32 => Cost::from_milliweight(150),
-            Core::LeftShift64 => Cost::from_milliweight(150),
-            Core::LeftShift8 => Cost::from_milliweight(150),
-            Core::LeftShiftWith16 => Cost::from_milliweight(150),
-            Core::LeftShiftWith32 => Cost::from_milliweight(150),
-            Core::LeftShiftWith64 => Cost::from_milliweight(150),
-            Core::LeftShiftWith8 => Cost::from_milliweight(150),
-            Core::Leftmost16_1 => Cost::from_milliweight(150),
-            Core::Leftmost16_2 => Cost::from_milliweight(150),
-            Core::Leftmost16_4 => Cost::from_milliweight(150),
-            Core::Leftmost16_8 => Cost::from_milliweight(150),
-            Core::Leftmost32_1 => Cost::from_milliweight(150),
-            Core::Leftmost32_16 => Cost::from_milliweight(150),
-            Core::Leftmost32_2 => Cost::from_milliweight(150),
-            Core::Leftmost32_4 => Cost::from_milliweight(150),
-            Core::Leftmost32_8 => Cost::from_milliweight(150),
-            Core::Leftmost64_1 => Cost::from_milliweight(150),
-            Core::Leftmost64_16 => Cost::from_milliweight(150),
-            Core::Leftmost64_2 => Cost::from_milliweight(150),
-            Core::Leftmost64_32 => Cost::from_milliweight(150),
-            Core::Leftmost64_4 => Cost::from_milliweight(150),
-            Core::Leftmost64_8 => Cost::from_milliweight(150),
-            Core::Leftmost8_1 => Cost::from_milliweight(150),
-            Core::Leftmost8_2 => Cost::from_milliweight(150),
-            Core::Leftmost8_4 => Cost::from_milliweight(150),
-            Core::LinearCombination1 => Cost::from_milliweight(86722),
-            Core::LinearVerify1 => Cost::from_milliweight(43063),
-            Core::Low1 => Cost::from_milliweight(173),
-            Core::Low16 => Cost::from_milliweight(172),
-            Core::Low32 => Cost::from_milliweight(170),
-            Core::Low64 => Cost::from_milliweight(162),
-            Core::Low8 => Cost::from_milliweight(173),
-            Core::Lt16 => Cost::from_milliweight(188),
-            Core::Lt32 => Cost::from_milliweight(215),
-            Core::Lt64 => Cost::from_milliweight(195),
-            Core::Lt8 => Cost::from_milliweight(130),
-            Core::Maj1 => Cost::from_milliweight(241),
-            Core::Maj16 => Cost::from_milliweight(273),
-            Core::Maj32 => Cost::from_milliweight(289),
-            Core::Maj64 => Cost::from_milliweight(293),
-            Core::Maj8 => Cost::from_milliweight(241),
-            Core::Max16 => Cost::from_milliweight(164),
-            Core::Max32 => Cost::from_milliweight(162),
-            Core::Max64 => Cost::from_milliweight(193),
-            Core::Max8 => Cost::from_milliweight(142),
-            Core::Median16 => Cost::from_milliweight(270),
-            Core::Median32 => Cost::from_milliweight(256),
-            Core::Median64 => Cost::from_milliweight(336),
-            Core::Median8 => Cost::from_milliweight(256),
-            Core::Min16 => Cost::from_milliweight(164),
-            Core::Min32 => Cost::from_milliweight(181),
-            Core::Min64 => Cost::from_milliweight(150),
-            Core::Min8 => Cost::from_milliweight(135),
-            Core::Modulo16 => Cost::from_milliweight(188),
-            Core::Modulo32 => Cost::from_milliweight(207),
-            Core::Modulo64 => Cost::from_milliweight(191),
-            Core::Modulo8 => Cost::from_milliweight(158),
-            Core::Multiply16 => Cost::from_milliweight(154),
-            Core::Multiply32 => Cost::from_milliweight(165),
-            Core::Multiply64 => Cost::from_milliweight(185),
-            Core::Multiply8 => Cost::from_milliweight(126),
-            Core::Negate16 => Cost::from_milliweight(121),
-            Core::Negate32 => Cost::from_milliweight(185),
-            Core::Negate64 => Cost::from_milliweight(162),
-            Core::Negate8 => Cost::from_milliweight(152),
-            Core::One16 => Cost::from_milliweight(126),
-            Core::One32 => Cost::from_milliweight(122),
-            Core::One64 => Cost::from_milliweight(123),
-            Core::One8 => Cost::from_milliweight(127),
-            Core::Or1 => Cost::from_milliweight(147),
-            Core::Or16 => Cost::from_milliweight(204),
-            Core::Or32 => Cost::from_milliweight(197),
-            Core::Or64 => Cost::from_milliweight(214),
-            Core::Or8 => Cost::from_milliweight(147),
-            Core::ParseLock => Cost::from_milliweight(177),
-            Core::ParseSequence => Cost::from_milliweight(261),
-            Core::PointVerify1 => Cost::from_milliweight(50604),
-            Core::RightExtend16_32 => Cost::from_milliweight(150),
-            Core::RightExtend16_64 => Cost::from_milliweight(150),
-            Core::RightExtend32_64 => Cost::from_milliweight(150),
-            Core::RightExtend8_16 => Cost::from_milliweight(150),
-            Core::RightExtend8_32 => Cost::from_milliweight(150),
-            Core::RightExtend8_64 => Cost::from_milliweight(150),
-            Core::RightPadHigh16_32 => Cost::from_milliweight(150),
-            Core::RightPadHigh16_64 => Cost::from_milliweight(150),
-            Core::RightPadHigh1_16 => Cost::from_milliweight(150),
-            Core::RightPadHigh1_32 => Cost::from_milliweight(150),
-            Core::RightPadHigh1_64 => Cost::from_milliweight(150),
-            Core::RightPadHigh1_8 => Cost::from_milliweight(150),
-            Core::RightPadHigh32_64 => Cost::from_milliweight(150),
-            Core::RightPadHigh8_16 => Cost::from_milliweight(150),
-            Core::RightPadHigh8_32 => Cost::from_milliweight(150),
-            Core::RightPadHigh8_64 => Cost::from_milliweight(150),
-            Core::RightPadLow16_32 => Cost::from_milliweight(150),
-            Core::RightPadLow16_64 => Cost::from_milliweight(150),
-            Core::RightPadLow1_16 => Cost::from_milliweight(150),
-            Core::RightPadLow1_32 => Cost::from_milliweight(150),
-            Core::RightPadLow1_64 => Cost::from_milliweight(150),
-            Core::RightPadLow1_8 => Cost::from_milliweight(150),
-            Core::RightPadLow32_64 => Cost::from_milliweight(150),
-            Core::RightPadLow8_16 => Cost::from_milliweight(150),
-            Core::RightPadLow8_32 => Cost::from_milliweight(150),
-            Core::RightPadLow8_64 => Cost::from_milliweight(150),
-            Core::RightRotate16 => Cost::from_milliweight(150),
-            Core::RightRotate32 => Cost::from_milliweight(150),
-            Core::RightRotate64 => Cost::from_milliweight(150),
-            Core::RightRotate8 => Cost::from_milliweight(150),
-            Core::RightShift16 => Cost::from_milliweight(150),
-            Core::RightShift32 => Cost::from_milliweight(150),
-            Core::RightShift64 => Cost::from_milliweight(150),
-            Core::RightShift8 => Cost::from_milliweight(150),
-            Core::RightShiftWith16 => Cost::from_milliweight(150),
-            Core::RightShiftWith32 => Cost::from_milliweight(150),
-            Core::RightShiftWith64 => Cost::from_milliweight(150),
-            Core::RightShiftWith8 => Cost::from_milliweight(150),
-            Core::Rightmost16_1 => Cost::from_milliweight(150),
-            Core::Rightmost16_2 => Cost::from_milliweight(150),
-            Core::Rightmost16_4 => Cost::from_milliweight(150),
-            Core::Rightmost16_8 => Cost::from_milliweight(150),
-            Core::Rightmost32_1 => Cost::from_milliweight(150),
-            Core::Rightmost32_16 => Cost::from_milliweight(150),
-            Core::Rightmost32_2 => Cost::from_milliweight(150),
-            Core::Rightmost32_4 => Cost::from_milliweight(150),
-            Core::Rightmost32_8 => Cost::from_milliweight(150),
-            Core::Rightmost64_1 => Cost::from_milliweight(150),
-            Core::Rightmost64_16 => Cost::from_milliweight(150),
-            Core::Rightmost64_2 => Cost::from_milliweight(150),
-            Core::Rightmost64_32 => Cost::from_milliweight(150),
-            Core::Rightmost64_4 => Cost::from_milliweight(150),
-            Core::Rightmost64_8 => Cost::from_milliweight(150),
-            Core::Rightmost8_1 => Cost::from_milliweight(150),
-            Core::Rightmost8_2 => Cost::from_milliweight(150),
-            Core::Rightmost8_4 => Cost::from_milliweight(150),
-            Core::ScalarAdd => Cost::from_milliweight(962),
-            Core::ScalarInvert => Cost::from_milliweight(4025),
-            Core::ScalarIsZero => Cost::from_milliweight(569),
-            Core::ScalarMultiply => Cost::from_milliweight(1230),
-            Core::ScalarMultiplyLambda => Cost::from_milliweight(984),
-            Core::ScalarNegate => Cost::from_milliweight(851),
-            Core::ScalarNormalize => Cost::from_milliweight(808),
-            Core::ScalarSquare => Cost::from_milliweight(947),
-            Core::Scale => Cost::from_milliweight(75377),
-            Core::Sha256Block => Cost::from_milliweight(986),
-            Core::Sha256Ctx8Add1 => Cost::from_milliweight(1600),
-            Core::Sha256Ctx8Add128 => Cost::from_milliweight(3921),
-            Core::Sha256Ctx8Add16 => Cost::from_milliweight(2275),
-            Core::Sha256Ctx8Add2 => Cost::from_milliweight(3772),
-            Core::Sha256Ctx8Add256 => Cost::from_milliweight(6211),
-            Core::Sha256Ctx8Add32 => Cost::from_milliweight(4599),
-            Core::Sha256Ctx8Add4 => Cost::from_milliweight(3515),
-            Core::Sha256Ctx8Add512 => Cost::from_milliweight(10936),
-            Core::Sha256Ctx8Add64 => Cost::from_milliweight(3111),
-            Core::Sha256Ctx8Add8 => Cost::from_milliweight(1625),
-            Core::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(14290),
-            Core::Sha256Ctx8Finalize => Cost::from_milliweight(2111),
-            Core::Sha256Ctx8Init => Cost::from_milliweight(184),
-            Core::Sha256Iv => Cost::from_milliweight(129),
-            Core::Some1 => Cost::from_milliweight(104),
-            Core::Some16 => Cost::from_milliweight(129),
-            Core::Some32 => Cost::from_milliweight(183),
-            Core::Some64 => Cost::from_milliweight(139),
-            Core::Some8 => Cost::from_milliweight(104),
-            Core::Subtract16 => Cost::from_milliweight(237),
-            Core::Subtract32 => Cost::from_milliweight(186),
-            Core::Subtract64 => Cost::from_milliweight(315),
-            Core::Subtract8 => Cost::from_milliweight(149),
-            Core::Swu => Cost::from_milliweight(10956),
-            Core::Verify => Cost::from_milliweight(144),
-            Core::Xor1 => Cost::from_milliweight(135),
-            Core::Xor16 => Cost::from_milliweight(188),
-            Core::Xor32 => Cost::from_milliweight(204),
-            Core::Xor64 => Cost::from_milliweight(207),
-            Core::Xor8 => Cost::from_milliweight(135),
-            Core::XorXor1 => Cost::from_milliweight(258),
-            Core::XorXor16 => Cost::from_milliweight(235),
-            Core::XorXor32 => Cost::from_milliweight(251),
-            Core::XorXor64 => Cost::from_milliweight(285),
-            Core::XorXor8 => Cost::from_milliweight(258),
+            Core::Complement1 => Cost::from_milliweight(79),
+            Core::Complement16 => Cost::from_milliweight(75),
+            Core::Complement32 => Cost::from_milliweight(93),
+            Core::Complement64 => Cost::from_milliweight(88),
+            Core::Complement8 => Cost::from_milliweight(80),
+            Core::Decompress => Cost::from_milliweight(10861),
+            Core::Decrement16 => Cost::from_milliweight(85),
+            Core::Decrement32 => Cost::from_milliweight(91),
+            Core::Decrement64 => Cost::from_milliweight(89),
+            Core::Decrement8 => Cost::from_milliweight(79),
+            Core::DivMod128_64 => Cost::from_milliweight(208),
+            Core::DivMod16 => Cost::from_milliweight(118),
+            Core::DivMod32 => Cost::from_milliweight(115),
+            Core::DivMod64 => Cost::from_milliweight(86),
+            Core::DivMod8 => Cost::from_milliweight(128),
+            Core::Divide16 => Cost::from_milliweight(98),
+            Core::Divide32 => Cost::from_milliweight(100),
+            Core::Divide64 => Cost::from_milliweight(101),
+            Core::Divide8 => Cost::from_milliweight(108),
+            Core::Divides16 => Cost::from_milliweight(93),
+            Core::Divides32 => Cost::from_milliweight(87),
+            Core::Divides64 => Cost::from_milliweight(91),
+            Core::Divides8 => Cost::from_milliweight(98),
+            Core::Eq1 => Cost::from_milliweight(74),
+            Core::Eq16 => Cost::from_milliweight(84),
+            Core::Eq256 => Cost::from_milliweight(225),
+            Core::Eq32 => Cost::from_milliweight(88),
+            Core::Eq64 => Cost::from_milliweight(100),
+            Core::Eq8 => Cost::from_milliweight(95),
+            Core::FeAdd => Cost::from_milliweight(755),
+            Core::FeInvert => Cost::from_milliweight(3175),
+            Core::FeIsOdd => Cost::from_milliweight(290),
+            Core::FeIsZero => Cost::from_milliweight(268),
+            Core::FeMultiply => Cost::from_milliweight(808),
+            Core::FeMultiplyBeta => Cost::from_milliweight(579),
+            Core::FeNegate => Cost::from_milliweight(531),
+            Core::FeNormalize => Cost::from_milliweight(521),
+            Core::FeSquare => Cost::from_milliweight(556),
+            Core::FeSquareRoot => Cost::from_milliweight(10275),
+            Core::FullAdd16 => Cost::from_milliweight(121),
+            Core::FullAdd32 => Cost::from_milliweight(119),
+            Core::FullAdd64 => Cost::from_milliweight(121),
+            Core::FullAdd8 => Cost::from_milliweight(127),
+            Core::FullDecrement16 => Cost::from_milliweight(92),
+            Core::FullDecrement32 => Cost::from_milliweight(107),
+            Core::FullDecrement64 => Cost::from_milliweight(81),
+            Core::FullDecrement8 => Cost::from_milliweight(91),
+            Core::FullIncrement16 => Cost::from_milliweight(89),
+            Core::FullIncrement32 => Cost::from_milliweight(104),
+            Core::FullIncrement64 => Cost::from_milliweight(99),
+            Core::FullIncrement8 => Cost::from_milliweight(72),
+            Core::FullLeftShift16_1 => Cost::from_milliweight(83),
+            Core::FullLeftShift16_2 => Cost::from_milliweight(83),
+            Core::FullLeftShift16_4 => Cost::from_milliweight(89),
+            Core::FullLeftShift16_8 => Cost::from_milliweight(65),
+            Core::FullLeftShift32_1 => Cost::from_milliweight(84),
+            Core::FullLeftShift32_16 => Cost::from_milliweight(81),
+            Core::FullLeftShift32_2 => Cost::from_milliweight(67),
+            Core::FullLeftShift32_4 => Cost::from_milliweight(84),
+            Core::FullLeftShift32_8 => Cost::from_milliweight(91),
+            Core::FullLeftShift64_1 => Cost::from_milliweight(99),
+            Core::FullLeftShift64_16 => Cost::from_milliweight(90),
+            Core::FullLeftShift64_2 => Cost::from_milliweight(94),
+            Core::FullLeftShift64_32 => Cost::from_milliweight(86),
+            Core::FullLeftShift64_4 => Cost::from_milliweight(94),
+            Core::FullLeftShift64_8 => Cost::from_milliweight(86),
+            Core::FullLeftShift8_1 => Cost::from_milliweight(96),
+            Core::FullLeftShift8_2 => Cost::from_milliweight(96),
+            Core::FullLeftShift8_4 => Cost::from_milliweight(85),
+            Core::FullMultiply16 => Cost::from_milliweight(112),
+            Core::FullMultiply32 => Cost::from_milliweight(96),
+            Core::FullMultiply64 => Cost::from_milliweight(127),
+            Core::FullMultiply8 => Cost::from_milliweight(109),
+            Core::FullRightShift16_1 => Cost::from_milliweight(80),
+            Core::FullRightShift16_2 => Cost::from_milliweight(79),
+            Core::FullRightShift16_4 => Cost::from_milliweight(88),
+            Core::FullRightShift16_8 => Cost::from_milliweight(57),
+            Core::FullRightShift32_1 => Cost::from_milliweight(74),
+            Core::FullRightShift32_16 => Cost::from_milliweight(64),
+            Core::FullRightShift32_2 => Cost::from_milliweight(63),
+            Core::FullRightShift32_4 => Cost::from_milliweight(71),
+            Core::FullRightShift32_8 => Cost::from_milliweight(84),
+            Core::FullRightShift64_1 => Cost::from_milliweight(99),
+            Core::FullRightShift64_16 => Cost::from_milliweight(86),
+            Core::FullRightShift64_2 => Cost::from_milliweight(86),
+            Core::FullRightShift64_32 => Cost::from_milliweight(73),
+            Core::FullRightShift64_4 => Cost::from_milliweight(93),
+            Core::FullRightShift64_8 => Cost::from_milliweight(99),
+            Core::FullRightShift8_1 => Cost::from_milliweight(88),
+            Core::FullRightShift8_2 => Cost::from_milliweight(86),
+            Core::FullRightShift8_4 => Cost::from_milliweight(89),
+            Core::FullSubtract16 => Cost::from_milliweight(121),
+            Core::FullSubtract32 => Cost::from_milliweight(116),
+            Core::FullSubtract64 => Cost::from_milliweight(98),
+            Core::FullSubtract8 => Cost::from_milliweight(126),
+            Core::GeIsOnCurve => Cost::from_milliweight(642),
+            Core::GeNegate => Cost::from_milliweight(945),
+            Core::GejAdd => Cost::from_milliweight(2897),
+            Core::GejDouble => Cost::from_milliweight(1764),
+            Core::GejEquiv => Cost::from_milliweight(2220),
+            Core::GejGeAdd => Cost::from_milliweight(2477),
+            Core::GejGeAddEx => Cost::from_milliweight(2719),
+            Core::GejGeEquiv => Cost::from_milliweight(1765),
+            Core::GejInfinity => Cost::from_milliweight(716),
+            Core::GejIsInfinity => Cost::from_milliweight(666),
+            Core::GejIsOnCurve => Cost::from_milliweight(1016),
+            Core::GejNegate => Cost::from_milliweight(1381),
+            Core::GejNormalize => Cost::from_milliweight(4099),
+            Core::GejRescale => Cost::from_milliweight(1908),
+            Core::GejXEquiv => Cost::from_milliweight(1047),
+            Core::GejYIsOdd => Cost::from_milliweight(3651),
+            Core::Generate => Cost::from_milliweight(50071),
+            Core::HashToCurve => Cost::from_milliweight(68094),
+            Core::High1 => Cost::from_milliweight(57),
+            Core::High16 => Cost::from_milliweight(66),
+            Core::High32 => Cost::from_milliweight(58),
+            Core::High64 => Cost::from_milliweight(68),
+            Core::High8 => Cost::from_milliweight(59),
+            Core::Increment16 => Cost::from_milliweight(69),
+            Core::Increment32 => Cost::from_milliweight(92),
+            Core::Increment64 => Cost::from_milliweight(87),
+            Core::Increment8 => Cost::from_milliweight(85),
+            Core::IsOne16 => Cost::from_milliweight(82),
+            Core::IsOne32 => Cost::from_milliweight(65),
+            Core::IsOne64 => Cost::from_milliweight(83),
+            Core::IsOne8 => Cost::from_milliweight(91),
+            Core::IsZero16 => Cost::from_milliweight(75),
+            Core::IsZero32 => Cost::from_milliweight(85),
+            Core::IsZero64 => Cost::from_milliweight(80),
+            Core::IsZero8 => Cost::from_milliweight(77),
+            Core::Le16 => Cost::from_milliweight(112),
+            Core::Le32 => Cost::from_milliweight(93),
+            Core::Le64 => Cost::from_milliweight(93),
+            Core::Le8 => Cost::from_milliweight(109),
+            Core::LeftExtend16_32 => Cost::from_milliweight(86),
+            Core::LeftExtend16_64 => Cost::from_milliweight(89),
+            Core::LeftExtend1_16 => Cost::from_milliweight(67),
+            Core::LeftExtend1_32 => Cost::from_milliweight(60),
+            Core::LeftExtend1_64 => Cost::from_milliweight(76),
+            Core::LeftExtend1_8 => Cost::from_milliweight(65),
+            Core::LeftExtend32_64 => Cost::from_milliweight(63),
+            Core::LeftExtend8_16 => Cost::from_milliweight(88),
+            Core::LeftExtend8_32 => Cost::from_milliweight(90),
+            Core::LeftExtend8_64 => Cost::from_milliweight(107),
+            Core::LeftPadHigh16_32 => Cost::from_milliweight(91),
+            Core::LeftPadHigh16_64 => Cost::from_milliweight(110),
+            Core::LeftPadHigh1_16 => Cost::from_milliweight(141),
+            Core::LeftPadHigh1_32 => Cost::from_milliweight(263),
+            Core::LeftPadHigh1_64 => Cost::from_milliweight(422),
+            Core::LeftPadHigh1_8 => Cost::from_milliweight(99),
+            Core::LeftPadHigh32_64 => Cost::from_milliweight(93),
+            Core::LeftPadHigh8_16 => Cost::from_milliweight(88),
+            Core::LeftPadHigh8_32 => Cost::from_milliweight(103),
+            Core::LeftPadHigh8_64 => Cost::from_milliweight(136),
+            Core::LeftPadLow16_32 => Cost::from_milliweight(69),
+            Core::LeftPadLow16_64 => Cost::from_milliweight(106),
+            Core::LeftPadLow1_16 => Cost::from_milliweight(65),
+            Core::LeftPadLow1_32 => Cost::from_milliweight(63),
+            Core::LeftPadLow1_64 => Cost::from_milliweight(61),
+            Core::LeftPadLow1_8 => Cost::from_milliweight(56),
+            Core::LeftPadLow32_64 => Cost::from_milliweight(91),
+            Core::LeftPadLow8_16 => Cost::from_milliweight(66),
+            Core::LeftPadLow8_32 => Cost::from_milliweight(61),
+            Core::LeftPadLow8_64 => Cost::from_milliweight(112),
+            Core::LeftRotate16 => Cost::from_milliweight(77),
+            Core::LeftRotate32 => Cost::from_milliweight(106),
+            Core::LeftRotate64 => Cost::from_milliweight(98),
+            Core::LeftRotate8 => Cost::from_milliweight(88),
+            Core::LeftShift16 => Cost::from_milliweight(72),
+            Core::LeftShift32 => Cost::from_milliweight(78),
+            Core::LeftShift64 => Cost::from_milliweight(82),
+            Core::LeftShift8 => Cost::from_milliweight(91),
+            Core::LeftShiftWith16 => Cost::from_milliweight(83),
+            Core::LeftShiftWith32 => Cost::from_milliweight(95),
+            Core::LeftShiftWith64 => Cost::from_milliweight(103),
+            Core::LeftShiftWith8 => Cost::from_milliweight(107),
+            Core::Leftmost16_1 => Cost::from_milliweight(93),
+            Core::Leftmost16_2 => Cost::from_milliweight(90),
+            Core::Leftmost16_4 => Cost::from_milliweight(75),
+            Core::Leftmost16_8 => Cost::from_milliweight(71),
+            Core::Leftmost32_1 => Cost::from_milliweight(77),
+            Core::Leftmost32_16 => Cost::from_milliweight(102),
+            Core::Leftmost32_2 => Cost::from_milliweight(66),
+            Core::Leftmost32_4 => Cost::from_milliweight(52),
+            Core::Leftmost32_8 => Cost::from_milliweight(103),
+            Core::Leftmost64_1 => Cost::from_milliweight(78),
+            Core::Leftmost64_16 => Cost::from_milliweight(88),
+            Core::Leftmost64_2 => Cost::from_milliweight(71),
+            Core::Leftmost64_32 => Cost::from_milliweight(90),
+            Core::Leftmost64_4 => Cost::from_milliweight(79),
+            Core::Leftmost64_8 => Cost::from_milliweight(86),
+            Core::Leftmost8_1 => Cost::from_milliweight(90),
+            Core::Leftmost8_2 => Cost::from_milliweight(90),
+            Core::Leftmost8_4 => Cost::from_milliweight(87),
+            Core::LinearCombination1 => Cost::from_milliweight(84674),
+            Core::LinearVerify1 => Cost::from_milliweight(43364),
+            Core::Low1 => Cost::from_milliweight(38),
+            Core::Low16 => Cost::from_milliweight(69),
+            Core::Low32 => Cost::from_milliweight(62),
+            Core::Low64 => Cost::from_milliweight(47),
+            Core::Low8 => Cost::from_milliweight(47),
+            Core::Lt16 => Cost::from_milliweight(123),
+            Core::Lt32 => Cost::from_milliweight(107),
+            Core::Lt64 => Cost::from_milliweight(76),
+            Core::Lt8 => Cost::from_milliweight(107),
+            Core::Maj1 => Cost::from_milliweight(62),
+            Core::Maj16 => Cost::from_milliweight(80),
+            Core::Maj32 => Cost::from_milliweight(96),
+            Core::Maj64 => Cost::from_milliweight(93),
+            Core::Maj8 => Cost::from_milliweight(94),
+            Core::Max16 => Cost::from_milliweight(114),
+            Core::Max32 => Cost::from_milliweight(92),
+            Core::Max64 => Cost::from_milliweight(104),
+            Core::Max8 => Cost::from_milliweight(96),
+            Core::Median16 => Cost::from_milliweight(123),
+            Core::Median32 => Cost::from_milliweight(101),
+            Core::Median64 => Cost::from_milliweight(109),
+            Core::Median8 => Cost::from_milliweight(122),
+            Core::Min16 => Cost::from_milliweight(97),
+            Core::Min32 => Cost::from_milliweight(113),
+            Core::Min64 => Cost::from_milliweight(102),
+            Core::Min8 => Cost::from_milliweight(99),
+            Core::Modulo16 => Cost::from_milliweight(103),
+            Core::Modulo32 => Cost::from_milliweight(102),
+            Core::Modulo64 => Cost::from_milliweight(85),
+            Core::Modulo8 => Cost::from_milliweight(102),
+            Core::Multiply16 => Cost::from_milliweight(90),
+            Core::Multiply32 => Cost::from_milliweight(90),
+            Core::Multiply64 => Cost::from_milliweight(85),
+            Core::Multiply8 => Cost::from_milliweight(93),
+            Core::Negate16 => Cost::from_milliweight(70),
+            Core::Negate32 => Cost::from_milliweight(85),
+            Core::Negate64 => Cost::from_milliweight(94),
+            Core::Negate8 => Cost::from_milliweight(91),
+            Core::One16 => Cost::from_milliweight(60),
+            Core::One32 => Cost::from_milliweight(59),
+            Core::One64 => Cost::from_milliweight(59),
+            Core::One8 => Cost::from_milliweight(62),
+            Core::Or1 => Cost::from_milliweight(77),
+            Core::Or16 => Cost::from_milliweight(94),
+            Core::Or32 => Cost::from_milliweight(105),
+            Core::Or64 => Cost::from_milliweight(99),
+            Core::Or8 => Cost::from_milliweight(93),
+            Core::ParseLock => Cost::from_milliweight(97),
+            Core::ParseSequence => Cost::from_milliweight(116),
+            Core::PointVerify1 => Cost::from_milliweight(41494),
+            Core::RightExtend16_32 => Cost::from_milliweight(74),
+            Core::RightExtend16_64 => Cost::from_milliweight(82),
+            Core::RightExtend32_64 => Cost::from_milliweight(94),
+            Core::RightExtend8_16 => Cost::from_milliweight(76),
+            Core::RightExtend8_32 => Cost::from_milliweight(106),
+            Core::RightExtend8_64 => Cost::from_milliweight(124),
+            Core::RightPadHigh16_32 => Cost::from_milliweight(70),
+            Core::RightPadHigh16_64 => Cost::from_milliweight(88),
+            Core::RightPadHigh1_16 => Cost::from_milliweight(143),
+            Core::RightPadHigh1_32 => Cost::from_milliweight(223),
+            Core::RightPadHigh1_64 => Cost::from_milliweight(476),
+            Core::RightPadHigh1_8 => Cost::from_milliweight(107),
+            Core::RightPadHigh32_64 => Cost::from_milliweight(94),
+            Core::RightPadHigh8_16 => Cost::from_milliweight(89),
+            Core::RightPadHigh8_32 => Cost::from_milliweight(110),
+            Core::RightPadHigh8_64 => Cost::from_milliweight(107),
+            Core::RightPadLow16_32 => Cost::from_milliweight(71),
+            Core::RightPadLow16_64 => Cost::from_milliweight(96),
+            Core::RightPadLow1_16 => Cost::from_milliweight(81),
+            Core::RightPadLow1_32 => Cost::from_milliweight(75),
+            Core::RightPadLow1_64 => Cost::from_milliweight(73),
+            Core::RightPadLow1_8 => Cost::from_milliweight(68),
+            Core::RightPadLow32_64 => Cost::from_milliweight(80),
+            Core::RightPadLow8_16 => Cost::from_milliweight(75),
+            Core::RightPadLow8_32 => Cost::from_milliweight(77),
+            Core::RightPadLow8_64 => Cost::from_milliweight(82),
+            Core::RightRotate16 => Cost::from_milliweight(99),
+            Core::RightRotate32 => Cost::from_milliweight(92),
+            Core::RightRotate64 => Cost::from_milliweight(93),
+            Core::RightRotate8 => Cost::from_milliweight(75),
+            Core::RightShift16 => Cost::from_milliweight(84),
+            Core::RightShift32 => Cost::from_milliweight(88),
+            Core::RightShift64 => Cost::from_milliweight(91),
+            Core::RightShift8 => Cost::from_milliweight(88),
+            Core::RightShiftWith16 => Cost::from_milliweight(105),
+            Core::RightShiftWith32 => Cost::from_milliweight(92),
+            Core::RightShiftWith64 => Cost::from_milliweight(97),
+            Core::RightShiftWith8 => Cost::from_milliweight(103),
+            Core::Rightmost16_1 => Cost::from_milliweight(70),
+            Core::Rightmost16_2 => Cost::from_milliweight(82),
+            Core::Rightmost16_4 => Cost::from_milliweight(76),
+            Core::Rightmost16_8 => Cost::from_milliweight(69),
+            Core::Rightmost32_1 => Cost::from_milliweight(90),
+            Core::Rightmost32_16 => Cost::from_milliweight(64),
+            Core::Rightmost32_2 => Cost::from_milliweight(74),
+            Core::Rightmost32_4 => Cost::from_milliweight(92),
+            Core::Rightmost32_8 => Cost::from_milliweight(78),
+            Core::Rightmost64_1 => Cost::from_milliweight(77),
+            Core::Rightmost64_16 => Cost::from_milliweight(86),
+            Core::Rightmost64_2 => Cost::from_milliweight(74),
+            Core::Rightmost64_32 => Cost::from_milliweight(76),
+            Core::Rightmost64_4 => Cost::from_milliweight(70),
+            Core::Rightmost64_8 => Cost::from_milliweight(69),
+            Core::Rightmost8_1 => Cost::from_milliweight(79),
+            Core::Rightmost8_2 => Cost::from_milliweight(98),
+            Core::Rightmost8_4 => Cost::from_milliweight(98),
+            Core::ScalarAdd => Cost::from_milliweight(739),
+            Core::ScalarInvert => Cost::from_milliweight(3193),
+            Core::ScalarIsZero => Cost::from_milliweight(271),
+            Core::ScalarMultiply => Cost::from_milliweight(774),
+            Core::ScalarMultiplyLambda => Cost::from_milliweight(557),
+            Core::ScalarNegate => Cost::from_milliweight(490),
+            Core::ScalarNormalize => Cost::from_milliweight(472),
+            Core::ScalarSquare => Cost::from_milliweight(575),
+            Core::Scale => Cost::from_milliweight(72675),
+            Core::Sha256Block => Cost::from_milliweight(771),
+            Core::Sha256Ctx8Add1 => Cost::from_milliweight(642),
+            Core::Sha256Ctx8Add128 => Cost::from_milliweight(1779),
+            Core::Sha256Ctx8Add16 => Cost::from_milliweight(747),
+            Core::Sha256Ctx8Add2 => Cost::from_milliweight(661),
+            Core::Sha256Ctx8Add256 => Cost::from_milliweight(2912),
+            Core::Sha256Ctx8Add32 => Cost::from_milliweight(896),
+            Core::Sha256Ctx8Add4 => Cost::from_milliweight(645),
+            Core::Sha256Ctx8Add512 => Cost::from_milliweight(5299),
+            Core::Sha256Ctx8Add64 => Cost::from_milliweight(1187),
+            Core::Sha256Ctx8Add8 => Cost::from_milliweight(674),
+            Core::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(5060),
+            Core::Sha256Ctx8Finalize => Cost::from_milliweight(835),
+            Core::Sha256Ctx8Init => Cost::from_milliweight(118),
+            Core::Sha256Iv => Cost::from_milliweight(93),
+            Core::Some1 => Cost::from_milliweight(70),
+            Core::Some16 => Cost::from_milliweight(63),
+            Core::Some32 => Cost::from_milliweight(64),
+            Core::Some64 => Cost::from_milliweight(93),
+            Core::Some8 => Cost::from_milliweight(75),
+            Core::Subtract16 => Cost::from_milliweight(113),
+            Core::Subtract32 => Cost::from_milliweight(118),
+            Core::Subtract64 => Cost::from_milliweight(115),
+            Core::Subtract8 => Cost::from_milliweight(109),
+            Core::Swu => Cost::from_milliweight(32120),
+            Core::Verify => Cost::from_milliweight(57),
+            Core::Xor1 => Cost::from_milliweight(67),
+            Core::Xor16 => Cost::from_milliweight(83),
+            Core::Xor32 => Cost::from_milliweight(92),
+            Core::Xor64 => Cost::from_milliweight(95),
+            Core::Xor8 => Cost::from_milliweight(85),
+            Core::XorXor1 => Cost::from_milliweight(72),
+            Core::XorXor16 => Cost::from_milliweight(79),
+            Core::XorXor32 => Cost::from_milliweight(96),
+            Core::XorXor64 => Cost::from_milliweight(93),
+            Core::XorXor8 => Cost::from_milliweight(98),
         }
     }
 }
diff --git a/src/jet/init/elements.rs b/src/jet/init/elements.rs
index beded8b2..30a7332a 100644
--- a/src/jet/init/elements.rs
+++ b/src/jet/init/elements.rs
@@ -499,159 +499,159 @@ impl Jet for Elements {
     fn cmr(&self) -> Cmr {
         let bytes = match self {
             Elements::Add16 => [
-                0x90, 0xe5, 0xc3, 0x02, 0xc2, 0xa1, 0x02, 0xf7, 0x6c, 0xc2, 0x0b, 0xcd, 0xdd, 0xc0,
-                0x62, 0x2b, 0xf3, 0xb8, 0xa5, 0x44, 0x6a, 0xb6, 0x8d, 0x1b, 0x2a, 0x03, 0x39, 0x5e,
-                0x6f, 0xae, 0x92, 0x50,
+                0xc4, 0xdd, 0x8c, 0x30, 0x97, 0xf9, 0x5b, 0xf9, 0x22, 0x9a, 0xf0, 0xc3, 0x48, 0x31,
+                0x70, 0x32, 0x3a, 0xa2, 0x70, 0xaf, 0x42, 0x8a, 0x72, 0x57, 0x18, 0x14, 0x3b, 0xb5,
+                0xfc, 0x80, 0x81, 0x1c,
             ],
             Elements::Add32 => [
-                0x6d, 0x78, 0x30, 0xd6, 0x5e, 0x69, 0xf2, 0x7d, 0x55, 0x1c, 0x4b, 0xb3, 0x71, 0x8d,
-                0xa9, 0x35, 0x22, 0x2f, 0xae, 0xc4, 0xaf, 0x7f, 0x49, 0xe9, 0x5e, 0x98, 0x33, 0xed,
-                0x2f, 0x84, 0xc1, 0x06,
+                0xd9, 0x8c, 0x0f, 0x69, 0xf6, 0xb1, 0xd4, 0x35, 0x29, 0x4d, 0x97, 0x83, 0x5e, 0xac,
+                0x94, 0x01, 0x77, 0xa2, 0xfe, 0xaf, 0x0a, 0x6e, 0x9e, 0x47, 0x34, 0xc9, 0x12, 0x04,
+                0x8e, 0x9e, 0xee, 0x42,
             ],
             Elements::Add64 => [
-                0x9e, 0xee, 0xbe, 0xa8, 0x47, 0x38, 0x8e, 0x14, 0xc7, 0xc9, 0xe7, 0xca, 0x14, 0x7c,
-                0x70, 0x71, 0x4d, 0xe1, 0x44, 0xeb, 0xab, 0x39, 0x8a, 0x53, 0xf4, 0xf5, 0x8a, 0x34,
-                0x93, 0x0c, 0xc4, 0x5c,
+                0xe6, 0x13, 0xeb, 0x03, 0x10, 0xa4, 0x4c, 0x22, 0xa6, 0x94, 0xee, 0x55, 0x49, 0x0d,
+                0xa4, 0xea, 0xe3, 0x88, 0x11, 0xbf, 0xf8, 0x4a, 0xa0, 0x21, 0x31, 0xd9, 0x8f, 0x49,
+                0x9d, 0x26, 0x1e, 0x71,
             ],
             Elements::Add8 => [
-                0x37, 0x59, 0xb0, 0x40, 0x6a, 0xa2, 0xc4, 0xe1, 0x15, 0x26, 0x21, 0xe0, 0x11, 0xe4,
-                0xef, 0xdb, 0x55, 0x5c, 0x6a, 0xb6, 0xd9, 0x1a, 0xe9, 0xeb, 0xf1, 0xd6, 0x31, 0x5b,
-                0x43, 0x82, 0xa6, 0xc4,
+                0x4a, 0x1f, 0x50, 0x9e, 0x5d, 0xe5, 0xc3, 0x98, 0x5f, 0x76, 0xa0, 0xdb, 0x65, 0xb0,
+                0x4e, 0x06, 0x03, 0xbd, 0x0c, 0x1d, 0x9c, 0x5b, 0xbc, 0xb9, 0xa3, 0xec, 0x8e, 0x53,
+                0xa0, 0xba, 0x32, 0x97,
             ],
             Elements::All16 => [
-                0x3e, 0x7e, 0x95, 0x3d, 0x28, 0xa6, 0xdc, 0x5e, 0xd7, 0xdf, 0xbd, 0x4c, 0x63, 0xf2,
-                0xe0, 0x80, 0x47, 0xc7, 0x1b, 0xb9, 0xc4, 0x37, 0xe8, 0xc7, 0x1e, 0xe0, 0x14, 0x7a,
-                0x60, 0xf7, 0x8b, 0xee,
+                0x13, 0xf6, 0xeb, 0xb8, 0xda, 0x74, 0x0d, 0xb8, 0x25, 0x92, 0x04, 0x68, 0x80, 0x2c,
+                0x4c, 0xf4, 0x12, 0x45, 0x01, 0x6b, 0xdf, 0x2f, 0xa0, 0x54, 0x8c, 0x86, 0xf4, 0x15,
+                0x83, 0x86, 0x6c, 0x73,
             ],
             Elements::All32 => [
-                0x5d, 0xd0, 0x85, 0x16, 0x26, 0x03, 0x6c, 0xb6, 0xa4, 0x2a, 0xa9, 0x52, 0x93, 0xdb,
-                0xb8, 0xf3, 0x6e, 0xfe, 0x5e, 0x0e, 0xa5, 0x7a, 0x31, 0x08, 0x27, 0xfa, 0x6d, 0x79,
-                0x2f, 0x46, 0xe0, 0xc1,
+                0xbb, 0x51, 0x5d, 0x4a, 0x22, 0xf3, 0x24, 0x5e, 0xcf, 0x57, 0x50, 0x35, 0xed, 0x18,
+                0x7a, 0x03, 0x86, 0x14, 0x52, 0x4b, 0x35, 0xae, 0xd6, 0x44, 0x82, 0x46, 0x89, 0xde,
+                0x38, 0xa4, 0xa1, 0xe0,
             ],
             Elements::All64 => [
-                0xba, 0xd0, 0x2f, 0xd1, 0x58, 0x90, 0x8a, 0x1b, 0xe0, 0x68, 0x72, 0x5e, 0xb0, 0x52,
-                0x76, 0xde, 0xfa, 0x41, 0x12, 0x07, 0xd0, 0xc8, 0xa9, 0x1b, 0xbe, 0x6f, 0xa5, 0x7d,
-                0x2c, 0xda, 0x29, 0xdf,
+                0xcd, 0x15, 0x1d, 0xe9, 0x17, 0x57, 0x56, 0x55, 0xa7, 0xa0, 0xf3, 0x5d, 0xa9, 0xcd,
+                0xaf, 0x6e, 0x2b, 0xbf, 0x8a, 0x8d, 0x4f, 0xce, 0xac, 0x68, 0xce, 0xe4, 0xb0, 0x08,
+                0xe6, 0x65, 0xbf, 0xc3,
             ],
             Elements::All8 => [
-                0xdc, 0x09, 0x88, 0x54, 0xdd, 0x06, 0xae, 0x1e, 0x6e, 0x3e, 0x73, 0xa4, 0xae, 0x94,
-                0xd0, 0xb2, 0xac, 0xce, 0x5c, 0xb3, 0xec, 0xc1, 0x2e, 0x8c, 0xb8, 0x16, 0x7f, 0x7b,
-                0x6e, 0xaa, 0x40, 0x69,
+                0x0d, 0x3c, 0xbf, 0xc2, 0xcc, 0x2a, 0x9a, 0x06, 0x28, 0xa2, 0xff, 0x8a, 0xfc, 0x0a,
+                0x5f, 0x93, 0x17, 0x3e, 0xde, 0x4c, 0x23, 0x4c, 0x57, 0x21, 0x4c, 0x5d, 0x74, 0xaf,
+                0x6b, 0x87, 0x3c, 0xe9,
             ],
             Elements::And1 => [
-                0x2d, 0xc2, 0xdb, 0xcc, 0x69, 0xc1, 0x2c, 0x78, 0x30, 0xdf, 0x11, 0x70, 0xd9, 0xe9,
-                0x3a, 0x35, 0xd8, 0x28, 0x4c, 0xc8, 0x15, 0x91, 0x6a, 0xeb, 0x3b, 0x1b, 0x95, 0xef,
-                0xda, 0xa9, 0x2c, 0x26,
+                0x56, 0xd1, 0xd4, 0xd6, 0xc1, 0xe1, 0x1f, 0x60, 0xd2, 0x96, 0x60, 0xb1, 0x81, 0xa1,
+                0x33, 0x5a, 0x4f, 0x51, 0x1d, 0x3b, 0x9c, 0x04, 0xa3, 0x33, 0xe9, 0xe0, 0x14, 0x18,
+                0xb0, 0xd1, 0x81, 0x8f,
             ],
             Elements::And16 => [
-                0x4f, 0x42, 0xc6, 0x88, 0xcc, 0x3c, 0xeb, 0x76, 0x1f, 0x66, 0x2a, 0x0b, 0x8e, 0x77,
-                0xb1, 0x96, 0x42, 0xda, 0xb5, 0x40, 0x7d, 0x9a, 0x87, 0x3c, 0xd9, 0xc1, 0x86, 0x09,
-                0x97, 0x7e, 0xbd, 0x91,
+                0xd7, 0x7a, 0x11, 0x44, 0xc5, 0x2e, 0xd2, 0xb7, 0x69, 0x88, 0xdf, 0x9b, 0x29, 0xcd,
+                0x53, 0x97, 0x8c, 0x44, 0xc6, 0xd5, 0x40, 0xf4, 0xbc, 0x54, 0x56, 0xd0, 0xb3, 0xb5,
+                0x3c, 0xd4, 0x00, 0xe5,
             ],
             Elements::And32 => [
-                0x16, 0x80, 0xcf, 0xd2, 0x64, 0x3a, 0xd3, 0x89, 0x6b, 0xfb, 0x45, 0xe9, 0x6f, 0xc6,
-                0x2d, 0xc2, 0xbb, 0x0c, 0xc0, 0xac, 0x48, 0x6f, 0xa8, 0x33, 0x30, 0xa8, 0x89, 0x0c,
-                0x09, 0xee, 0x96, 0x9b,
+                0x43, 0x82, 0xf9, 0x34, 0x33, 0x79, 0xd4, 0x42, 0x2e, 0x2a, 0x01, 0x51, 0x04, 0xcf,
+                0x55, 0xdc, 0x54, 0xa8, 0xf7, 0x1e, 0xef, 0xb0, 0x62, 0x29, 0x26, 0xd6, 0x4b, 0x6c,
+                0xe2, 0x2b, 0xea, 0x11,
             ],
             Elements::And64 => [
-                0xa2, 0xdd, 0x3d, 0x49, 0xf1, 0x2c, 0xd4, 0x42, 0xce, 0xa7, 0xc8, 0x32, 0x38, 0x68,
-                0xbe, 0x3c, 0xe6, 0xe9, 0xaf, 0x67, 0x6f, 0x72, 0x51, 0x10, 0xf3, 0xce, 0x49, 0x4e,
-                0xdd, 0x6a, 0x5a, 0x4a,
+                0x3e, 0xb8, 0xb4, 0x2d, 0x81, 0x5f, 0x0f, 0xc3, 0x9a, 0x34, 0x99, 0xb0, 0x35, 0x4e,
+                0xfd, 0x05, 0xa6, 0x03, 0xf5, 0xef, 0x5e, 0x51, 0x17, 0x66, 0xc0, 0x11, 0x2c, 0xc1,
+                0x48, 0xe2, 0x11, 0x55,
             ],
             Elements::And8 => [
-                0x27, 0x55, 0x41, 0x78, 0x19, 0x86, 0x58, 0xf5, 0xbf, 0xb5, 0xb0, 0x41, 0x30, 0x89,
-                0x87, 0x42, 0xbf, 0x82, 0xdb, 0x60, 0x39, 0xdc, 0xbb, 0x17, 0x26, 0x6d, 0xfe, 0x03,
-                0x0c, 0xc1, 0x20, 0x75,
+                0x0e, 0x0e, 0xe0, 0x7c, 0x74, 0x9a, 0x3f, 0xa7, 0x12, 0x96, 0xb9, 0xd4, 0x59, 0xb0,
+                0x6a, 0x0a, 0x4b, 0xff, 0xb7, 0xf5, 0xbb, 0x99, 0xa9, 0x25, 0x4a, 0x7d, 0x13, 0xa8,
+                0xce, 0x44, 0x4c, 0xd7,
             ],
             Elements::AnnexHash => [
-                0xca, 0x1b, 0xed, 0xa0, 0x4f, 0x1f, 0xe8, 0xcb, 0xb0, 0x8c, 0xd6, 0x9f, 0x39, 0x59,
-                0xd4, 0x42, 0xfe, 0x5a, 0xb0, 0x15, 0xc6, 0x92, 0x3e, 0x17, 0x1d, 0x8d, 0x06, 0x86,
-                0xef, 0x31, 0x48, 0x8f,
+                0x07, 0xee, 0xbc, 0x33, 0xfd, 0xe1, 0xad, 0x63, 0xef, 0x13, 0x69, 0x01, 0xba, 0xae,
+                0xa6, 0xfd, 0xe7, 0x22, 0x8d, 0x7c, 0x60, 0xd1, 0x79, 0xb9, 0x47, 0xbd, 0x5d, 0xe5,
+                0xe0, 0x7a, 0xb7, 0x85,
             ],
             Elements::AssetAmountHash => [
-                0x4f, 0xf7, 0xe7, 0x3c, 0xe7, 0xfb, 0xbf, 0xa1, 0xc5, 0x77, 0xe6, 0xfe, 0x1d, 0xab,
-                0x70, 0xb8, 0xf1, 0x0b, 0xb4, 0xdf, 0x31, 0x9c, 0x0f, 0x6d, 0x67, 0x99, 0x4f, 0x6f,
-                0xdb, 0x22, 0x42, 0x58,
+                0x1b, 0xaa, 0xda, 0xd6, 0x9d, 0xe6, 0x21, 0x37, 0x77, 0x04, 0x6c, 0xc1, 0xb3, 0x53,
+                0xa7, 0x03, 0x50, 0xa9, 0x58, 0x01, 0x52, 0x87, 0x6c, 0x8e, 0xf7, 0x12, 0xd4, 0x74,
+                0x4c, 0x4f, 0x4e, 0x30,
             ],
             Elements::Bip0340Verify => [
-                0x3a, 0x19, 0x6e, 0xc1, 0x9d, 0x8f, 0x3f, 0xcc, 0x67, 0xb0, 0xad, 0x8f, 0x61, 0x1e,
-                0x76, 0x2d, 0xc1, 0x18, 0x9a, 0x72, 0x2f, 0xaa, 0x74, 0x5b, 0x69, 0x4d, 0x29, 0x2c,
-                0x47, 0x37, 0x3f, 0x53,
+                0x08, 0x73, 0xc4, 0xd7, 0xb8, 0x99, 0x8b, 0x2b, 0x6b, 0x8e, 0x43, 0xee, 0x4a, 0xc0,
+                0xc2, 0xc7, 0xad, 0x25, 0xb3, 0x60, 0x0e, 0x34, 0x2b, 0x20, 0x1d, 0x46, 0x00, 0x1b,
+                0x76, 0xc0, 0x56, 0x7f,
             ],
             Elements::BuildTapbranch => [
-                0xd4, 0xb3, 0x13, 0x12, 0x78, 0x6c, 0xb3, 0x3b, 0x43, 0xb0, 0x62, 0xd4, 0x8e, 0x0b,
-                0xe0, 0x39, 0xc7, 0xde, 0x2b, 0x8d, 0x67, 0xce, 0x9e, 0xea, 0x5f, 0x52, 0x25, 0xf1,
-                0x97, 0xef, 0x77, 0x74,
+                0x77, 0x3d, 0xc3, 0xb7, 0xcf, 0x6a, 0x25, 0x92, 0xa3, 0x5d, 0x53, 0x19, 0x53, 0x09,
+                0x49, 0x15, 0xe8, 0x57, 0x03, 0x7a, 0xb5, 0xb7, 0xcd, 0xd2, 0xa7, 0x34, 0xe2, 0x89,
+                0xc9, 0x5e, 0x2a, 0x3e,
             ],
             Elements::BuildTapleafSimplicity => [
-                0x13, 0x6f, 0x16, 0xe4, 0x4a, 0xe5, 0x5b, 0x7e, 0x63, 0x30, 0xd6, 0x56, 0xa2, 0x82,
-                0xcb, 0xe5, 0xaf, 0x96, 0x6e, 0x74, 0x1f, 0x57, 0x6c, 0x9d, 0x0a, 0xcd, 0x77, 0x49,
-                0x46, 0x7f, 0xd5, 0x05,
+                0x2b, 0x90, 0xae, 0x75, 0xbb, 0x76, 0xde, 0x68, 0xde, 0x10, 0xd1, 0xe0, 0xae, 0xea,
+                0x64, 0x07, 0x1a, 0x06, 0xf1, 0x3a, 0x97, 0x76, 0xef, 0xa6, 0xec, 0x8e, 0xe3, 0xe3,
+                0xbc, 0x86, 0x28, 0x9a,
             ],
             Elements::CalculateAsset => [
-                0x2e, 0xaa, 0xe2, 0x4d, 0xcc, 0xce, 0x3c, 0x94, 0x4b, 0xeb, 0x8e, 0x38, 0xac, 0x6a,
-                0x52, 0xea, 0x43, 0x44, 0x20, 0xfb, 0x56, 0xa9, 0xa9, 0xb4, 0xfb, 0x84, 0x15, 0x83,
-                0x48, 0x08, 0x74, 0x21,
+                0xe9, 0x71, 0x89, 0x6b, 0x77, 0xff, 0xfb, 0xe0, 0xe1, 0x03, 0x65, 0x47, 0xcd, 0xc6,
+                0xdd, 0xff, 0x38, 0xe8, 0xbd, 0x75, 0x42, 0x7a, 0xbb, 0x7c, 0x76, 0x18, 0x30, 0x28,
+                0xfb, 0xcf, 0x98, 0x82,
             ],
             Elements::CalculateConfidentialToken => [
-                0x3c, 0x5b, 0xf0, 0x8a, 0xba, 0x5a, 0xa3, 0x3e, 0xba, 0x87, 0xef, 0xb0, 0x99, 0xbd,
-                0xf1, 0xc4, 0x64, 0xe7, 0x72, 0x2a, 0xec, 0xe1, 0xa2, 0x21, 0x3d, 0xc8, 0xeb, 0x25,
-                0x54, 0xf0, 0xb5, 0x6b,
+                0x02, 0x68, 0x32, 0x08, 0xa9, 0xdb, 0x67, 0x70, 0x80, 0x76, 0x89, 0xca, 0x4e, 0x2b,
+                0xdc, 0xaf, 0x00, 0xb7, 0x5e, 0x1c, 0x5d, 0x7e, 0x3a, 0xec, 0xa7, 0x50, 0x19, 0xe9,
+                0xfb, 0x70, 0xa4, 0xcd,
             ],
             Elements::CalculateExplicitToken => [
-                0xbe, 0xf4, 0x4e, 0x2e, 0x52, 0xcc, 0xbf, 0xba, 0xc8, 0x8f, 0xd4, 0xd0, 0xbd, 0xad,
-                0x51, 0xa4, 0x69, 0xb4, 0x84, 0xc7, 0x58, 0x5b, 0x78, 0x25, 0x8a, 0xd4, 0xa7, 0x9b,
-                0xc9, 0xe4, 0x80, 0x3b,
+                0x62, 0x0d, 0x8d, 0x03, 0xf0, 0x42, 0xdd, 0x95, 0xdc, 0x49, 0xb8, 0xae, 0x35, 0xa8,
+                0x81, 0xf4, 0xdb, 0xd6, 0x21, 0x99, 0x66, 0x2e, 0xea, 0xec, 0x13, 0xe5, 0x71, 0x3e,
+                0x34, 0xd2, 0x96, 0xdd,
             ],
             Elements::CalculateIssuanceEntropy => [
-                0xca, 0x16, 0x2c, 0x8a, 0xab, 0x8f, 0x94, 0xdd, 0xe2, 0x08, 0xdd, 0x87, 0x13, 0x06,
-                0xb4, 0xcc, 0x91, 0x7e, 0xf2, 0xd8, 0x1b, 0x8d, 0xf7, 0x5f, 0xb2, 0x3a, 0x91, 0x6e,
-                0xb3, 0xbe, 0x19, 0x7e,
+                0xf6, 0x59, 0x51, 0x90, 0xd4, 0x00, 0x8c, 0x66, 0x5b, 0x69, 0x4a, 0xac, 0xb8, 0xd9,
+                0x6a, 0x76, 0x26, 0xe0, 0x6a, 0xc6, 0x2b, 0x28, 0xd0, 0x09, 0xd7, 0x51, 0x92, 0xbc,
+                0x9c, 0xae, 0x51, 0x56,
             ],
             Elements::Ch1 => [
-                0xc2, 0x32, 0x36, 0x12, 0x4d, 0xa0, 0x1f, 0x3d, 0x8e, 0xb7, 0x42, 0xc2, 0xed, 0x47,
-                0x95, 0x3f, 0x66, 0xc8, 0xb0, 0x84, 0xd9, 0x5a, 0x10, 0xc6, 0x0c, 0xae, 0x69, 0xba,
-                0x98, 0x42, 0xae, 0x96,
+                0x29, 0x7c, 0x25, 0x1a, 0xfe, 0x74, 0x1b, 0x19, 0x22, 0xa2, 0x12, 0xe3, 0x93, 0xd3,
+                0xd3, 0xb1, 0xc3, 0x2e, 0x6b, 0x33, 0xee, 0x2c, 0xfd, 0x5e, 0xfa, 0xe3, 0xfb, 0x1a,
+                0xbe, 0x59, 0x51, 0x13,
             ],
             Elements::Ch16 => [
-                0xdc, 0xcd, 0xe6, 0xa9, 0x54, 0x58, 0x75, 0xc5, 0xcb, 0x46, 0xe7, 0x2c, 0x7b, 0x04,
-                0xce, 0xeb, 0x92, 0x0c, 0x20, 0x3d, 0x1c, 0x04, 0x2a, 0xec, 0x91, 0x24, 0x1d, 0xbe,
-                0xca, 0x23, 0xf4, 0x35,
+                0x81, 0xd3, 0x38, 0x86, 0xb5, 0x25, 0xe7, 0xf2, 0x80, 0x19, 0xd4, 0x44, 0xd4, 0xd4,
+                0xb4, 0x22, 0x76, 0xd3, 0x3f, 0xa9, 0x7b, 0x91, 0x7a, 0xdb, 0xef, 0x4a, 0x88, 0x11,
+                0x3e, 0xa6, 0x71, 0x1e,
             ],
             Elements::Ch32 => [
-                0x8c, 0x0a, 0x87, 0xee, 0x8e, 0x1d, 0xfc, 0xa3, 0x4b, 0xdf, 0xf4, 0x21, 0x2b, 0xa1,
-                0xaf, 0x75, 0x44, 0xd2, 0xde, 0x6f, 0x4a, 0xcb, 0x76, 0x18, 0x08, 0x23, 0x1a, 0x5f,
-                0x57, 0x78, 0x8e, 0x62,
+                0x77, 0x00, 0x22, 0x00, 0xec, 0xac, 0x62, 0xe7, 0x65, 0xc0, 0x55, 0xb5, 0x0b, 0xd2,
+                0x25, 0xa8, 0x54, 0xcd, 0xa3, 0x18, 0x07, 0x1b, 0x2e, 0x70, 0xea, 0x30, 0xde, 0x9d,
+                0x1e, 0x32, 0x19, 0xaa,
             ],
             Elements::Ch64 => [
-                0x5d, 0x5a, 0xe5, 0x7d, 0x76, 0x47, 0xf0, 0x1e, 0xc3, 0xfd, 0x79, 0x7e, 0xd8, 0x9d,
-                0x62, 0xbe, 0x5f, 0xe5, 0x85, 0xfb, 0xb9, 0xfd, 0xb6, 0xc3, 0x20, 0x8b, 0x2c, 0x08,
-                0x57, 0x9b, 0x9e, 0x2c,
+                0xe9, 0x7c, 0xdd, 0x2a, 0x47, 0xac, 0xf4, 0x0b, 0xe6, 0x87, 0x2a, 0x57, 0x4b, 0xba,
+                0xdb, 0x5d, 0xb5, 0x1b, 0xac, 0x1a, 0xd9, 0xcf, 0x63, 0xe7, 0xd8, 0x4c, 0x3b, 0x2f,
+                0xb9, 0xab, 0x6d, 0xdb,
             ],
             Elements::Ch8 => [
-                0xdf, 0xc5, 0x78, 0xf2, 0x5c, 0xb3, 0x14, 0x02, 0xe2, 0x2a, 0x81, 0x0e, 0x98, 0x95,
-                0x0a, 0xe1, 0x7b, 0x19, 0x08, 0x96, 0x36, 0x4c, 0xde, 0xe8, 0xee, 0xa3, 0x00, 0xcf,
-                0x79, 0xd8, 0x78, 0x01,
+                0x5b, 0xc6, 0x77, 0x08, 0x75, 0x1e, 0x96, 0x79, 0x13, 0xfb, 0x75, 0xfc, 0x25, 0x76,
+                0xa0, 0x80, 0x70, 0x0c, 0x67, 0xf1, 0x2c, 0x36, 0x3b, 0xa0, 0x19, 0x17, 0x51, 0x3e,
+                0x6c, 0x78, 0x14, 0x57,
             ],
             Elements::CheckLockDistance => [
-                0xc5, 0x10, 0xcd, 0x9a, 0xf3, 0xea, 0xd1, 0x71, 0xe1, 0x89, 0xf9, 0xe1, 0x0c, 0x95,
-                0x46, 0x3d, 0x33, 0x1b, 0x16, 0x73, 0x94, 0x1d, 0xe3, 0x84, 0xe8, 0x46, 0xab, 0x71,
-                0x57, 0x53, 0x8e, 0xe6,
+                0x44, 0x61, 0x19, 0x4a, 0x7b, 0x0a, 0x79, 0x05, 0x16, 0x91, 0x3c, 0x70, 0xf7, 0xfd,
+                0xd6, 0x1e, 0x2a, 0xac, 0x43, 0x17, 0xbc, 0x4f, 0x7e, 0xe2, 0x7b, 0xcf, 0x55, 0xfe,
+                0xe9, 0xb1, 0xc2, 0xf1,
             ],
             Elements::CheckLockDuration => [
-                0x4a, 0x64, 0x70, 0x0c, 0x73, 0x0c, 0x63, 0x51, 0x94, 0xcc, 0xed, 0x20, 0x47, 0x1b,
-                0x0a, 0x69, 0xc6, 0xde, 0xa2, 0x71, 0xb0, 0x4a, 0x41, 0xaa, 0x8c, 0x76, 0x43, 0x7b,
-                0x74, 0x62, 0x8d, 0xdb,
+                0x3c, 0xe5, 0xaf, 0xf9, 0x1a, 0x7e, 0x35, 0x2d, 0x03, 0x69, 0x01, 0x5f, 0xd4, 0xe2,
+                0xd9, 0xf1, 0xe0, 0x00, 0xc3, 0x9a, 0xd1, 0xb7, 0xd7, 0x60, 0xb8, 0x50, 0x35, 0x88,
+                0x12, 0x0b, 0xb8, 0xb3,
             ],
             Elements::CheckLockHeight => [
-                0x00, 0xdd, 0x53, 0x16, 0x8f, 0x95, 0x17, 0x73, 0x81, 0x8c, 0x1e, 0xa6, 0x97, 0x97,
-                0xed, 0x00, 0xcc, 0xcd, 0x37, 0x62, 0xd2, 0xed, 0xb6, 0xd9, 0x5f, 0xeb, 0x76, 0x70,
-                0x98, 0x05, 0xd4, 0x9f,
+                0xdf, 0x3a, 0x0f, 0x07, 0x68, 0x04, 0x33, 0xae, 0x5e, 0xe8, 0x55, 0xdd, 0x77, 0x4c,
+                0x2a, 0xe4, 0x11, 0x94, 0xac, 0x8f, 0xa1, 0x18, 0xb5, 0x06, 0xa0, 0x9e, 0xb6, 0xd3,
+                0xa5, 0x2e, 0x16, 0x7a,
             ],
             Elements::CheckLockTime => [
-                0xde, 0xa6, 0xdf, 0x2a, 0x19, 0x80, 0x02, 0x8f, 0x42, 0x3b, 0x6a, 0x49, 0x04, 0x2e,
-                0x1e, 0xe5, 0x36, 0x17, 0x60, 0xe9, 0x42, 0xf0, 0xea, 0x68, 0xf9, 0xbf, 0x9d, 0xca,
-                0xab, 0x57, 0xde, 0x53,
+                0x66, 0x7e, 0xce, 0x1f, 0xfd, 0x80, 0x7b, 0x61, 0x35, 0x7c, 0x91, 0x50, 0x63, 0x0a,
+                0xf0, 0x13, 0x9e, 0x9f, 0x1f, 0xcd, 0xf9, 0x87, 0xdf, 0xa7, 0xce, 0x20, 0xa1, 0xe2,
+                0x16, 0xed, 0x75, 0xe3,
             ],
             Elements::CheckSigVerify => [
                 0xa5, 0x16, 0xdd, 0x5c, 0x9c, 0xab, 0xd0, 0x41, 0x12, 0x0e, 0xa3, 0x68, 0xab, 0x4c,
@@ -659,2189 +659,2189 @@ impl Jet for Elements {
                 0x2f, 0x16, 0x83, 0x29,
             ],
             Elements::Complement1 => [
-                0x7e, 0x71, 0x48, 0x13, 0x2e, 0x28, 0x92, 0x82, 0x3f, 0xcf, 0x2a, 0x26, 0xc6, 0x22,
-                0x0b, 0xee, 0x03, 0x9f, 0xf6, 0xc5, 0xd7, 0xc1, 0xb4, 0xe4, 0xca, 0x21, 0x3a, 0xd8,
-                0x37, 0xab, 0x47, 0x74,
+                0x9e, 0xa1, 0xeb, 0xfb, 0xbf, 0x07, 0x3b, 0xf0, 0xc3, 0x12, 0x66, 0x03, 0x74, 0x9c,
+                0x6c, 0x1f, 0x15, 0x05, 0x03, 0x9e, 0xab, 0x4f, 0x26, 0x64, 0x3f, 0x03, 0x30, 0xd4,
+                0x8b, 0xd6, 0x84, 0x94,
             ],
             Elements::Complement16 => [
-                0x7f, 0x16, 0xd1, 0x24, 0x15, 0x99, 0x87, 0x68, 0x34, 0x7f, 0x43, 0xa9, 0xb9, 0x1c,
-                0x89, 0x87, 0x59, 0x1d, 0xfe, 0xc1, 0xcf, 0x78, 0x50, 0xb4, 0x23, 0xfe, 0xa3, 0x3a,
-                0x37, 0x26, 0xf4, 0x63,
+                0x7d, 0xa0, 0xcc, 0x5e, 0x1f, 0x55, 0x03, 0x6c, 0x08, 0x64, 0x6d, 0xbb, 0x37, 0x55,
+                0x7a, 0xd9, 0x03, 0x38, 0x63, 0x05, 0x9d, 0xfb, 0xf3, 0x4a, 0x19, 0xf2, 0x28, 0xe8,
+                0x96, 0xd6, 0x4c, 0x0f,
             ],
             Elements::Complement32 => [
-                0xe6, 0x5a, 0x4f, 0x75, 0x54, 0x11, 0xb4, 0x80, 0xb8, 0x05, 0x85, 0xfd, 0xc0, 0x2e,
-                0xe2, 0x4c, 0xbb, 0xd9, 0x50, 0x2a, 0x48, 0xa7, 0x34, 0x7a, 0x71, 0x02, 0x94, 0xe7,
-                0x82, 0xac, 0xff, 0xba,
+                0x54, 0x18, 0xc4, 0x64, 0xe4, 0x94, 0x97, 0x21, 0x63, 0xa3, 0x35, 0x3b, 0x81, 0x17,
+                0xe6, 0xe7, 0x67, 0x49, 0x13, 0x48, 0xc0, 0x76, 0x3f, 0x96, 0x22, 0x74, 0x4a, 0x83,
+                0x08, 0x2e, 0xf8, 0x41,
             ],
             Elements::Complement64 => [
-                0xd5, 0xc6, 0x57, 0x13, 0x8a, 0x6c, 0xf5, 0x53, 0x22, 0xc3, 0x6e, 0x6f, 0x3c, 0x4a,
-                0x0f, 0x9f, 0xb6, 0x39, 0x88, 0xa1, 0x12, 0x0d, 0x6e, 0xeb, 0x03, 0xfc, 0x42, 0x7c,
-                0xad, 0x97, 0x18, 0x69,
+                0x00, 0x4e, 0xb9, 0xed, 0x9c, 0x10, 0xa4, 0xa5, 0xa8, 0x97, 0x94, 0x8e, 0x54, 0x1d,
+                0x36, 0xdc, 0x1f, 0xb6, 0x50, 0xc8, 0xda, 0x72, 0x6f, 0x8d, 0xd1, 0x97, 0xce, 0x8c,
+                0x74, 0x41, 0xf7, 0x08,
             ],
             Elements::Complement8 => [
-                0x1f, 0x5c, 0x6a, 0xb4, 0x1d, 0x40, 0x6b, 0xad, 0xfc, 0x9d, 0x5a, 0x2c, 0x76, 0xbe,
-                0xf7, 0xe3, 0x28, 0x7a, 0xab, 0xee, 0x19, 0xd0, 0x85, 0x0f, 0x09, 0x38, 0x98, 0x46,
-                0xea, 0xbf, 0x45, 0x8e,
+                0x94, 0x76, 0xd5, 0x1d, 0x6b, 0x1b, 0xe4, 0x4d, 0xcf, 0xf2, 0x19, 0x47, 0xd5, 0xbf,
+                0x54, 0x0a, 0x66, 0x61, 0x6f, 0xf7, 0xb9, 0x32, 0x8a, 0x67, 0xf5, 0xb8, 0x3a, 0x2f,
+                0x6f, 0x06, 0xf0, 0x2c,
             ],
             Elements::CurrentAmount => [
-                0x76, 0x31, 0x94, 0x4b, 0x93, 0x6d, 0x0b, 0x7f, 0xa9, 0x2a, 0x86, 0x8d, 0xd7, 0x6e,
-                0x4d, 0x47, 0x29, 0x36, 0xcf, 0x42, 0x5c, 0xd8, 0x6e, 0x5b, 0x90, 0x93, 0x6f, 0xbd,
-                0x8d, 0x54, 0xe2, 0x02,
+                0xb8, 0xe3, 0x24, 0xc6, 0x45, 0xdc, 0xe6, 0x0e, 0x15, 0xd0, 0xaf, 0x7a, 0x67, 0xcb,
+                0xba, 0x87, 0xc3, 0xc9, 0x34, 0xbb, 0xcb, 0x7c, 0x1c, 0xba, 0x84, 0x68, 0xcf, 0x1e,
+                0x41, 0x34, 0xdc, 0x21,
             ],
             Elements::CurrentAnnexHash => [
-                0x45, 0xca, 0x82, 0x94, 0xef, 0x4d, 0x61, 0x20, 0xe9, 0xef, 0x59, 0xeb, 0xeb, 0x8c,
-                0x51, 0xd2, 0xc4, 0xe8, 0x16, 0xf5, 0x2d, 0x14, 0x8f, 0x64, 0x25, 0x0e, 0xb8, 0xa3,
-                0xaa, 0x05, 0x0e, 0x18,
+                0x12, 0x57, 0xdf, 0x7b, 0xa0, 0x3d, 0xb3, 0xd8, 0xb3, 0x3d, 0x43, 0x9b, 0xb1, 0xc8,
+                0x37, 0xcd, 0xeb, 0x34, 0x80, 0x7e, 0x21, 0x99, 0xa1, 0x50, 0x32, 0x8e, 0xdd, 0x88,
+                0xea, 0x3b, 0x7e, 0x54,
             ],
             Elements::CurrentAsset => [
-                0x38, 0xf1, 0x4f, 0x83, 0xc6, 0xa0, 0x47, 0x4c, 0x3b, 0xc2, 0x2c, 0xab, 0x54, 0x0f,
-                0xaf, 0x66, 0xbb, 0x06, 0xd6, 0x7e, 0xa1, 0x2c, 0x00, 0x48, 0xf4, 0x75, 0x98, 0x0d,
-                0x5c, 0x2b, 0x7c, 0x5e,
+                0x35, 0xe6, 0x66, 0x2c, 0x12, 0x41, 0xad, 0x10, 0xf0, 0x5b, 0x80, 0x12, 0xd6, 0xdc,
+                0xb2, 0x5c, 0x0e, 0xaf, 0x8c, 0x4a, 0x49, 0x83, 0x79, 0x27, 0x12, 0x9a, 0x84, 0xdd,
+                0x0b, 0x5e, 0xdc, 0xf8,
             ],
             Elements::CurrentIndex => [
-                0x75, 0x50, 0x22, 0xed, 0xc3, 0xfa, 0xb4, 0xbc, 0x65, 0x6e, 0xed, 0xc4, 0x61, 0x7e,
-                0xa3, 0x7d, 0x13, 0x2b, 0x2c, 0x46, 0x17, 0x40, 0xa6, 0x2d, 0xca, 0xd4, 0x72, 0xea,
-                0x23, 0xde, 0x62, 0x9e,
+                0x42, 0xf3, 0x07, 0xe8, 0x71, 0x17, 0xdb, 0xcd, 0x9e, 0xfd, 0x10, 0x1f, 0x99, 0x4c,
+                0x29, 0x7c, 0xc6, 0xc3, 0x9b, 0x4f, 0x49, 0x4c, 0x62, 0x59, 0x31, 0xea, 0xd7, 0xb6,
+                0x98, 0x71, 0x2e, 0x3f,
             ],
             Elements::CurrentIssuanceAssetAmount => [
-                0xea, 0xc7, 0x4d, 0x4c, 0x7d, 0xe4, 0x35, 0x14, 0x16, 0x4f, 0xe5, 0xae, 0x76, 0x01,
-                0x60, 0x45, 0xa6, 0x83, 0x58, 0xcf, 0x1c, 0x74, 0x24, 0x1b, 0x15, 0x2e, 0xd0, 0x63,
-                0xac, 0x9f, 0x5e, 0x29,
+                0x97, 0xf6, 0x9f, 0xde, 0xe3, 0x6e, 0x7a, 0x5a, 0xea, 0x9a, 0x16, 0x48, 0x76, 0x46,
+                0x58, 0xaf, 0x05, 0x06, 0x91, 0xa7, 0x59, 0x9d, 0xb6, 0xfe, 0x8f, 0xc7, 0xd3, 0x1e,
+                0x00, 0x3c, 0x07, 0xbc,
             ],
             Elements::CurrentIssuanceAssetProof => [
-                0x36, 0x2d, 0xfa, 0x80, 0xda, 0x84, 0x10, 0xc5, 0xf5, 0x06, 0x66, 0x47, 0xab, 0x64,
-                0x2f, 0x0d, 0x6b, 0x72, 0x86, 0xac, 0x26, 0x08, 0xb9, 0x54, 0xc3, 0xa1, 0x5c, 0xdf,
-                0x0f, 0x55, 0x55, 0x5e,
+                0xb1, 0xf6, 0x33, 0x4c, 0xf0, 0x68, 0xae, 0xe9, 0xba, 0x39, 0xe0, 0xe9, 0xce, 0x91,
+                0xc3, 0x0b, 0xdb, 0xb9, 0x7d, 0x8c, 0x3e, 0xb4, 0x3f, 0x84, 0xf0, 0xf4, 0x84, 0xd4,
+                0xde, 0x5a, 0xac, 0xfc,
             ],
             Elements::CurrentIssuanceTokenAmount => [
-                0x85, 0x92, 0x41, 0xc0, 0x4b, 0x8f, 0x0d, 0xc7, 0x30, 0x72, 0xae, 0xd7, 0x83, 0x80,
-                0x67, 0xfa, 0x70, 0xa4, 0xca, 0x52, 0x16, 0xf3, 0x97, 0x13, 0xf1, 0x2f, 0x5f, 0xc5,
-                0xa4, 0xae, 0xad, 0x7d,
+                0x98, 0x94, 0xc4, 0x29, 0x55, 0xf0, 0x3d, 0x83, 0x17, 0x64, 0x9b, 0x6a, 0xfd, 0x70,
+                0x57, 0xd7, 0xb3, 0xc4, 0xbc, 0xef, 0x15, 0x2a, 0xc9, 0xa0, 0x08, 0x4d, 0x0d, 0x21,
+                0x6a, 0xfb, 0x11, 0xfe,
             ],
             Elements::CurrentIssuanceTokenProof => [
-                0x1b, 0x7e, 0xa1, 0x6f, 0x03, 0x2f, 0x37, 0xdc, 0x2a, 0xe1, 0x03, 0xe6, 0x96, 0x2c,
-                0x5a, 0x90, 0x42, 0xaf, 0x29, 0x5b, 0x4a, 0x70, 0x3a, 0x3c, 0x84, 0x2e, 0x62, 0x95,
-                0x15, 0xad, 0x24, 0xcb,
+                0x3f, 0x54, 0xb3, 0xcf, 0xb8, 0x92, 0x78, 0xb0, 0xea, 0x77, 0x80, 0xcc, 0x32, 0xd6,
+                0xe3, 0x86, 0x2e, 0xd4, 0x63, 0xd4, 0x51, 0x62, 0xad, 0x96, 0xce, 0x57, 0x09, 0xfa,
+                0x6f, 0xc1, 0x6f, 0xb6,
             ],
             Elements::CurrentNewIssuanceContract => [
-                0x0b, 0xaa, 0x87, 0x35, 0xa3, 0x02, 0x90, 0x84, 0x85, 0x7c, 0xc9, 0x74, 0x9b, 0xbc,
-                0x7f, 0x19, 0x85, 0x1b, 0xc7, 0x8f, 0xbe, 0xcd, 0xce, 0x1f, 0x0d, 0xd6, 0x75, 0x7b,
-                0x7b, 0x8f, 0x3f, 0x30,
+                0xc5, 0xf1, 0x59, 0xdc, 0xdb, 0x5a, 0x40, 0xb9, 0x4d, 0x06, 0x8d, 0x35, 0x97, 0xaf,
+                0x82, 0xaf, 0x53, 0xd1, 0x71, 0x75, 0x83, 0xf7, 0x5c, 0xeb, 0x10, 0x51, 0x87, 0x5d,
+                0x08, 0xcd, 0x26, 0x2f,
             ],
             Elements::CurrentPegin => [
-                0x98, 0x07, 0xac, 0x5e, 0xb0, 0x7b, 0xa2, 0x4f, 0xb0, 0x21, 0xb7, 0x4a, 0xe6, 0x87,
-                0x4f, 0x3b, 0xc9, 0xb3, 0x93, 0xc6, 0x6c, 0x4f, 0x5d, 0x22, 0xf0, 0x55, 0x46, 0xe2,
-                0xea, 0x08, 0xd7, 0x60,
+                0xfb, 0x2b, 0xec, 0x4f, 0x68, 0x96, 0x4d, 0x0a, 0x3f, 0x5f, 0x69, 0x34, 0x7c, 0xa5,
+                0x6f, 0x20, 0x40, 0x90, 0xc8, 0xab, 0x33, 0xad, 0x7a, 0xf4, 0xf4, 0x05, 0x89, 0x0d,
+                0x4b, 0x9f, 0xdd, 0x12,
             ],
             Elements::CurrentPrevOutpoint => [
-                0x08, 0x77, 0xb3, 0x6f, 0x65, 0x6c, 0x24, 0x89, 0x13, 0x25, 0x44, 0x15, 0x92, 0xdf,
-                0x56, 0xe2, 0xbb, 0xec, 0xf2, 0x4d, 0x0a, 0xcd, 0x0b, 0x78, 0xfc, 0x94, 0x38, 0xb7,
-                0x77, 0x3a, 0x9e, 0xb4,
+                0x53, 0xf4, 0x89, 0x45, 0x6a, 0x6b, 0x16, 0x1c, 0xd9, 0x03, 0xba, 0x19, 0x6e, 0xa1,
+                0x54, 0xd8, 0x3c, 0xb2, 0x65, 0x68, 0x9c, 0x81, 0x5f, 0x61, 0x03, 0x0e, 0x72, 0xfd,
+                0x6c, 0x26, 0xdc, 0x55,
             ],
             Elements::CurrentReissuanceBlinding => [
-                0xc8, 0xd3, 0xe8, 0x08, 0x87, 0x50, 0x5a, 0xa7, 0xf5, 0x83, 0xac, 0x6b, 0xe4, 0x71,
-                0x82, 0xec, 0xbc, 0x68, 0x5c, 0xc3, 0xc4, 0xa6, 0xac, 0xaa, 0x8e, 0x2c, 0x13, 0x29,
-                0xe3, 0x5d, 0x29, 0x30,
+                0x07, 0xee, 0x51, 0xb2, 0x4b, 0x56, 0xe0, 0xe2, 0x58, 0xd7, 0xe7, 0x30, 0x40, 0x7d,
+                0x65, 0xed, 0xf9, 0x9d, 0xca, 0xdd, 0x9d, 0x7c, 0x5a, 0xf0, 0x2d, 0xed, 0x92, 0x49,
+                0x9a, 0x06, 0xfe, 0xab,
             ],
             Elements::CurrentReissuanceEntropy => [
-                0x4f, 0x24, 0x10, 0x95, 0x40, 0x1c, 0xee, 0xa8, 0x31, 0x2d, 0x2f, 0x42, 0xbe, 0xae,
-                0x8d, 0x88, 0x0a, 0xcf, 0xe1, 0x89, 0x33, 0x63, 0x0d, 0x7b, 0x82, 0x16, 0xc5, 0x37,
-                0x62, 0x3e, 0x2a, 0xf7,
+                0x50, 0x38, 0x96, 0x9e, 0x77, 0x86, 0x2f, 0xbd, 0x4d, 0x49, 0x39, 0x19, 0x15, 0x9f,
+                0xc1, 0x02, 0xd3, 0xe2, 0x82, 0xdb, 0x64, 0x05, 0x72, 0x48, 0x46, 0x6d, 0x7c, 0xdc,
+                0x3f, 0x0c, 0xa9, 0xb5,
             ],
             Elements::CurrentScriptHash => [
-                0xcd, 0x5e, 0xa7, 0xfb, 0x09, 0x10, 0xf7, 0x6e, 0x76, 0xc6, 0xea, 0x68, 0xd0, 0xe2,
-                0xca, 0xd1, 0x34, 0xcb, 0xb6, 0x42, 0x82, 0x3b, 0xc4, 0x3c, 0x04, 0x23, 0x85, 0x2f,
-                0x37, 0xb7, 0xe2, 0x5a,
+                0xf5, 0xe8, 0xd2, 0xa3, 0x28, 0x39, 0x25, 0x9d, 0x1c, 0x3d, 0x09, 0x46, 0x51, 0xbd,
+                0x4f, 0xe6, 0xdc, 0x80, 0xee, 0x89, 0x3b, 0x72, 0xbb, 0x68, 0x3a, 0x85, 0x40, 0xfe,
+                0x76, 0x30, 0xcb, 0xe9,
             ],
             Elements::CurrentScriptSigHash => [
-                0x17, 0xad, 0x01, 0xca, 0xe2, 0x93, 0x42, 0x7b, 0xe2, 0x50, 0x5a, 0xf2, 0xfe, 0x4c,
-                0x3e, 0x65, 0x12, 0x5f, 0xc3, 0xdd, 0xe2, 0x7a, 0x11, 0x43, 0x78, 0x8f, 0xa1, 0x36,
-                0x0f, 0x1c, 0x37, 0x51,
+                0x6a, 0xa9, 0xbb, 0x64, 0x10, 0x1e, 0xe0, 0xb9, 0xb9, 0xdc, 0x45, 0x4c, 0xf1, 0xee,
+                0x1a, 0xa8, 0x32, 0x6d, 0x64, 0x11, 0x95, 0xe5, 0xa0, 0xaa, 0x6c, 0x81, 0x1b, 0x3d,
+                0xbf, 0xe3, 0xef, 0x2b,
             ],
             Elements::CurrentSequence => [
-                0x79, 0xce, 0x41, 0xee, 0x05, 0xc9, 0x73, 0x35, 0xdc, 0x73, 0x51, 0x5c, 0x29, 0x34,
-                0xc9, 0x1c, 0x2e, 0x2d, 0xca, 0x6e, 0x73, 0xc3, 0x35, 0xea, 0x4f, 0x43, 0xe0, 0xfa,
-                0x88, 0xde, 0x00, 0xf6,
+                0x99, 0xc0, 0xda, 0x7e, 0xb2, 0x57, 0x83, 0xab, 0x3a, 0x24, 0xa5, 0x4c, 0xda, 0x8f,
+                0x8a, 0x87, 0x5a, 0xc5, 0xa9, 0x94, 0x5f, 0x24, 0xe3, 0xfc, 0x01, 0x96, 0x0c, 0x26,
+                0x64, 0xc5, 0xb7, 0x8d,
             ],
             Elements::Decompress => [
-                0xa4, 0x3c, 0x39, 0x26, 0x7f, 0xac, 0xd1, 0xe2, 0xb6, 0xd4, 0x2c, 0x76, 0x15, 0xad,
-                0x3f, 0x28, 0x68, 0x63, 0x75, 0x72, 0xf4, 0x6e, 0x18, 0x79, 0x4e, 0x34, 0x75, 0xb9,
-                0xb2, 0xea, 0xef, 0x84,
+                0xca, 0xbe, 0x59, 0x5c, 0xb7, 0xbb, 0xb3, 0xa1, 0x39, 0xa7, 0x79, 0x6e, 0x43, 0x3a,
+                0xd0, 0xb6, 0xc7, 0x4d, 0x07, 0x3f, 0x00, 0x1e, 0x8c, 0x08, 0x0c, 0x80, 0x0a, 0x78,
+                0x2c, 0x7e, 0x79, 0x04,
             ],
             Elements::Decrement16 => [
-                0x19, 0x6b, 0x2d, 0xc6, 0x32, 0xe6, 0xc5, 0xd0, 0x94, 0xff, 0x9d, 0x34, 0xa2, 0x09,
-                0x2b, 0x80, 0x5e, 0x4b, 0x94, 0xd0, 0x36, 0xba, 0x48, 0x26, 0xac, 0xef, 0xed, 0x60,
-                0x3a, 0x48, 0x9d, 0xc7,
+                0x25, 0x04, 0x10, 0x1b, 0x7d, 0xa5, 0xce, 0x31, 0x17, 0x43, 0xcf, 0x5b, 0x3a, 0x7a,
+                0x6b, 0xb9, 0xd5, 0x7c, 0x24, 0xae, 0xbb, 0xb6, 0x76, 0x62, 0xd5, 0x3c, 0xda, 0x2c,
+                0x9a, 0xc2, 0x70, 0x0c,
             ],
             Elements::Decrement32 => [
-                0x29, 0xb3, 0x15, 0x92, 0x66, 0xe9, 0xf6, 0x08, 0x80, 0x88, 0x4f, 0x6e, 0xb2, 0x81,
-                0x6f, 0x19, 0xa2, 0x07, 0x29, 0x1c, 0x82, 0x9f, 0xd1, 0x39, 0xfb, 0x0d, 0x78, 0xa3,
-                0x9e, 0x08, 0xd0, 0xc5,
+                0x4a, 0xec, 0x41, 0x05, 0x53, 0x1f, 0x24, 0x57, 0x10, 0xac, 0xb3, 0xc3, 0x30, 0xad,
+                0x25, 0xfb, 0x29, 0x01, 0xb3, 0x54, 0x83, 0xef, 0xbd, 0xca, 0x52, 0xe1, 0x91, 0x79,
+                0xa4, 0x26, 0x2c, 0x5b,
             ],
             Elements::Decrement64 => [
-                0x67, 0x17, 0x5a, 0x67, 0x6d, 0xc1, 0x78, 0x0a, 0x20, 0xfa, 0xf5, 0xe5, 0xaa, 0xd5,
-                0x82, 0xec, 0x79, 0x7b, 0xae, 0xa5, 0x5f, 0x29, 0x05, 0xec, 0xad, 0x2a, 0xaa, 0x1a,
-                0xe7, 0x6b, 0xe9, 0x43,
+                0x98, 0x3a, 0xcb, 0x90, 0x6d, 0xe7, 0xbb, 0xf8, 0x31, 0xde, 0xa5, 0x62, 0x75, 0xf0,
+                0x85, 0xfd, 0x5a, 0xcd, 0xdc, 0x51, 0x9b, 0x64, 0x8f, 0x3e, 0x10, 0xe3, 0x21, 0x2d,
+                0x0d, 0x6d, 0xcd, 0x74,
             ],
             Elements::Decrement8 => [
-                0x2b, 0x59, 0x11, 0xe6, 0x67, 0xe6, 0x96, 0xf9, 0xcd, 0x03, 0xe9, 0xdf, 0x7d, 0x40,
-                0x0a, 0x55, 0x45, 0xe7, 0xe9, 0x74, 0x4a, 0xfb, 0xf9, 0x2e, 0x0b, 0xa8, 0x7f, 0x6c,
-                0x7c, 0xc4, 0x42, 0x87,
+                0xa7, 0x5b, 0x1c, 0x5d, 0x93, 0xfe, 0x91, 0xe2, 0xc9, 0xef, 0xd3, 0x24, 0x24, 0x0c,
+                0x84, 0xfe, 0xe4, 0x73, 0x32, 0xd1, 0x21, 0x42, 0x39, 0xc8, 0x7f, 0x5a, 0xfb, 0xcb,
+                0x69, 0x12, 0x8c, 0x31,
             ],
             Elements::DivMod128_64 => [
-                0x1e, 0xe3, 0xe6, 0x0f, 0x5c, 0x9e, 0x4f, 0x0d, 0x3e, 0xc9, 0xeb, 0xea, 0x36, 0x98,
-                0xec, 0xa8, 0xbd, 0x32, 0xac, 0x16, 0x7e, 0x69, 0xb2, 0x96, 0xab, 0x9c, 0x18, 0x36,
-                0xb6, 0x10, 0x1d, 0x04,
+                0xe1, 0xfb, 0x88, 0x1f, 0x23, 0xbd, 0xc5, 0x7f, 0x84, 0x23, 0xc6, 0x1c, 0xfe, 0x62,
+                0x23, 0x91, 0x5c, 0x76, 0xeb, 0x2f, 0x52, 0x5c, 0x41, 0xe2, 0xa2, 0x22, 0x1c, 0x78,
+                0xb7, 0xff, 0xaf, 0xb7,
             ],
             Elements::DivMod16 => [
-                0x15, 0x85, 0xd1, 0xbf, 0xe9, 0x52, 0xf7, 0x1b, 0x1c, 0xfe, 0xbb, 0xef, 0x29, 0x2c,
-                0xed, 0x56, 0x60, 0x91, 0x57, 0x23, 0x05, 0x18, 0x27, 0x20, 0x62, 0x5a, 0x1a, 0xc0,
-                0x08, 0x81, 0xa4, 0x89,
+                0x6e, 0x04, 0xad, 0x32, 0x8f, 0xba, 0x2d, 0x24, 0xef, 0xad, 0x2c, 0xb4, 0x0b, 0xca,
+                0xd8, 0x24, 0x42, 0xce, 0x35, 0xb1, 0x2f, 0xcf, 0x6f, 0x80, 0x02, 0x2f, 0x52, 0xfa,
+                0x77, 0x18, 0xa0, 0xfa,
             ],
             Elements::DivMod32 => [
-                0xba, 0xb7, 0xbc, 0x9a, 0x9f, 0x64, 0x4e, 0xdc, 0xba, 0x73, 0xe3, 0x30, 0xc1, 0xa5,
-                0x05, 0x43, 0x67, 0xf5, 0xfb, 0x86, 0x78, 0xc1, 0x23, 0x6a, 0xb6, 0xe7, 0xf4, 0xd7,
-                0x18, 0x60, 0xe0, 0x02,
+                0x5a, 0x5c, 0xc9, 0x4f, 0x74, 0xb3, 0x13, 0xc2, 0x60, 0xa1, 0x0e, 0x2a, 0x28, 0xdb,
+                0x2e, 0xa0, 0xf8, 0xc3, 0x41, 0x56, 0x23, 0xda, 0xc2, 0x12, 0xdf, 0xe0, 0xef, 0x9d,
+                0x19, 0x5f, 0x9d, 0x05,
             ],
             Elements::DivMod64 => [
-                0x8d, 0xb4, 0x66, 0x4d, 0x99, 0xe8, 0xc8, 0x78, 0xef, 0x31, 0xeb, 0xf1, 0xac, 0xa6,
-                0xa8, 0x76, 0x4b, 0x58, 0x49, 0x5d, 0xa0, 0xec, 0xc0, 0x32, 0xb3, 0xc9, 0xb4, 0x89,
-                0xaa, 0xa0, 0xff, 0x90,
+                0xef, 0xb5, 0xaf, 0x40, 0x15, 0x4a, 0x2d, 0x63, 0xda, 0x28, 0x5f, 0x2a, 0x2b, 0x5a,
+                0xd0, 0x85, 0xd9, 0xa2, 0xfa, 0x63, 0x3f, 0x2a, 0x73, 0x62, 0x83, 0x40, 0x48, 0x54,
+                0x30, 0x6c, 0xef, 0x50,
             ],
             Elements::DivMod8 => [
-                0x25, 0xf3, 0x69, 0x4b, 0x75, 0x2e, 0x4d, 0xf1, 0xb0, 0xcc, 0x8c, 0x51, 0xbf, 0x99,
-                0x17, 0xef, 0x6e, 0x11, 0xc5, 0x2e, 0xa7, 0x77, 0x35, 0x3e, 0x95, 0x07, 0xe8, 0x19,
-                0xa8, 0x06, 0x62, 0x95,
+                0xaf, 0xfb, 0x7a, 0xb0, 0x1d, 0x9a, 0xdf, 0x1a, 0xf4, 0x5c, 0x9a, 0x0e, 0x59, 0x8d,
+                0x54, 0xa5, 0xeb, 0x29, 0xa6, 0xd6, 0x3f, 0x05, 0x94, 0xdc, 0x62, 0x4f, 0x8e, 0x44,
+                0x6f, 0x42, 0xa4, 0x5d,
             ],
             Elements::Divide16 => [
-                0x2d, 0xc3, 0xe9, 0xa9, 0xc6, 0x1d, 0xc8, 0x8d, 0xd7, 0x44, 0xf1, 0x6b, 0xe1, 0xae,
-                0xd4, 0xb7, 0x2a, 0xb4, 0x79, 0x49, 0x0e, 0x41, 0x42, 0x26, 0x58, 0xb9, 0x72, 0x19,
-                0xdf, 0x49, 0x95, 0x7c,
+                0x98, 0xf1, 0xf9, 0x26, 0x0d, 0xf1, 0xd9, 0xe9, 0x72, 0x9d, 0x03, 0x7d, 0x8f, 0x30,
+                0x53, 0x7e, 0xde, 0x60, 0x9c, 0x5a, 0xb9, 0x46, 0x32, 0x70, 0x70, 0x89, 0x2c, 0xc4,
+                0x0d, 0x42, 0x0a, 0xaa,
             ],
             Elements::Divide32 => [
-                0xf6, 0xdc, 0xf4, 0xbd, 0x8d, 0x9b, 0x5e, 0xff, 0x75, 0x1e, 0x9b, 0x01, 0x47, 0xa9,
-                0x8e, 0x0f, 0xc4, 0xc8, 0x87, 0x2c, 0x1a, 0xb7, 0x82, 0xd1, 0xeb, 0xec, 0x63, 0x83,
-                0xa0, 0x9b, 0x78, 0x0a,
+                0x20, 0x18, 0x03, 0x03, 0x0c, 0xc9, 0x87, 0x7d, 0x34, 0x96, 0xe9, 0xe1, 0xbf, 0xd5,
+                0xae, 0x32, 0x8a, 0x50, 0x62, 0xe3, 0xc0, 0x23, 0x70, 0x03, 0x1a, 0xe1, 0xad, 0xdf,
+                0xef, 0x93, 0x81, 0x55,
             ],
             Elements::Divide64 => [
-                0x8a, 0x94, 0x51, 0x8b, 0x9b, 0x76, 0x17, 0x9a, 0x9d, 0x5c, 0x1e, 0x31, 0x6e, 0x69,
-                0x00, 0x62, 0x7f, 0x5b, 0x6e, 0x3e, 0xcc, 0x66, 0x8f, 0xe2, 0xd0, 0xc5, 0xd5, 0x62,
-                0x38, 0xe3, 0x3e, 0xa3,
+                0x02, 0xbf, 0x0b, 0x2a, 0x31, 0x79, 0x6c, 0x47, 0x5a, 0xf1, 0xfd, 0x0f, 0xb8, 0xed,
+                0xaf, 0xed, 0x4f, 0x4e, 0x7a, 0xe1, 0xec, 0xf8, 0xce, 0xc9, 0xf4, 0x22, 0x96, 0x4e,
+                0x09, 0x03, 0x03, 0x6f,
             ],
             Elements::Divide8 => [
-                0xd7, 0x16, 0x00, 0x0c, 0xe7, 0xe5, 0x72, 0x78, 0x84, 0xa6, 0xd7, 0x97, 0x6a, 0x32,
-                0xc0, 0xf6, 0xbd, 0xb8, 0x81, 0xd0, 0x0f, 0xe8, 0xdb, 0xb2, 0x8d, 0xea, 0x37, 0x01,
-                0x03, 0x76, 0x9e, 0x2d,
+                0xc0, 0x2e, 0xc4, 0x80, 0xbf, 0x0b, 0x59, 0x58, 0x6e, 0x39, 0x4a, 0xdb, 0x2c, 0x91,
+                0xca, 0xda, 0x14, 0xed, 0x79, 0xa7, 0x9e, 0x0e, 0x39, 0x19, 0xe7, 0x66, 0x74, 0x92,
+                0xcb, 0xf2, 0x47, 0x38,
             ],
             Elements::Divides16 => [
-                0x8f, 0x41, 0x84, 0xa5, 0x82, 0x67, 0x4e, 0x00, 0x3b, 0x37, 0x40, 0x1b, 0x13, 0xc9,
-                0xb8, 0xc3, 0x7c, 0x68, 0x3b, 0x88, 0xdf, 0x63, 0x3a, 0x22, 0x71, 0x9a, 0x23, 0xe1,
-                0x94, 0xbd, 0xa6, 0xf3,
+                0xde, 0x9a, 0x8e, 0x43, 0x53, 0xa4, 0x0d, 0x70, 0x78, 0x11, 0x96, 0x47, 0x05, 0x90,
+                0x62, 0x73, 0x0c, 0xf8, 0x36, 0xf5, 0x47, 0xa0, 0x95, 0x2d, 0x07, 0x0a, 0x27, 0x48,
+                0x0c, 0x74, 0x39, 0xb1,
             ],
             Elements::Divides32 => [
-                0xe8, 0x9e, 0xcd, 0xc3, 0x7c, 0xd1, 0x04, 0x66, 0xb0, 0x0f, 0x01, 0x37, 0xe2, 0x0b,
-                0x09, 0xb9, 0xc5, 0x94, 0x8d, 0x07, 0x31, 0x2d, 0x05, 0x3f, 0xed, 0x63, 0xc4, 0x91,
-                0xbb, 0x5c, 0x4c, 0x6a,
+                0x72, 0xc7, 0x14, 0x8b, 0xc0, 0x01, 0x4a, 0x1b, 0xbf, 0x0e, 0x2b, 0x7d, 0xc9, 0xab,
+                0xa4, 0xd0, 0x62, 0x04, 0x17, 0x38, 0x36, 0x71, 0x88, 0x13, 0x20, 0x3e, 0x55, 0xa0,
+                0x7f, 0x4c, 0xa3, 0x7d,
             ],
             Elements::Divides64 => [
-                0xb4, 0x31, 0x98, 0xd5, 0x74, 0x41, 0x90, 0x57, 0xe7, 0x6b, 0xc0, 0x69, 0xd7, 0xd3,
-                0xe2, 0xcb, 0x04, 0xf7, 0x07, 0x2b, 0x80, 0x69, 0x6d, 0x3d, 0xb9, 0x2c, 0x8a, 0x72,
-                0xc7, 0x8a, 0x5c, 0xfc,
+                0xdb, 0x1c, 0x8c, 0xb5, 0x3a, 0xc1, 0xea, 0x8c, 0xcf, 0x64, 0x6d, 0x03, 0xe3, 0xd5,
+                0x9b, 0xde, 0x27, 0x75, 0xf5, 0x8d, 0x95, 0xbf, 0xe7, 0x1a, 0x87, 0x0d, 0x67, 0x8d,
+                0xd8, 0xdb, 0xc9, 0x31,
             ],
             Elements::Divides8 => [
-                0x3f, 0xc3, 0xb9, 0xb4, 0x96, 0x8e, 0x16, 0x74, 0xda, 0x9e, 0xc4, 0x57, 0xb1, 0xca,
-                0x8a, 0x66, 0x29, 0xa3, 0x7b, 0x4b, 0xef, 0xdc, 0xd7, 0xcc, 0x55, 0x88, 0x60, 0x80,
-                0xae, 0xf6, 0x8a, 0xf8,
+                0xc5, 0x4a, 0x5b, 0xf8, 0x33, 0xaf, 0xab, 0xa3, 0x1a, 0x34, 0x89, 0xbd, 0x8d, 0xe8,
+                0xff, 0x81, 0xe7, 0xdc, 0x11, 0xfc, 0xbd, 0xe8, 0x2a, 0x0d, 0x28, 0xe1, 0x09, 0x22,
+                0x42, 0x94, 0xb8, 0x37,
             ],
             Elements::Eq1 => [
-                0x42, 0x49, 0xc5, 0xbd, 0xec, 0x54, 0x0a, 0x06, 0x95, 0x7d, 0xcd, 0xab, 0x04, 0x5a,
-                0x44, 0x5e, 0xb9, 0x18, 0x91, 0xc0, 0x6c, 0x3f, 0x8f, 0x96, 0xc8, 0x88, 0xe9, 0xdd,
-                0xd2, 0xfb, 0xaa, 0x28,
+                0x8c, 0xe1, 0x46, 0xaf, 0xbc, 0x2b, 0x64, 0xcb, 0x54, 0x9b, 0x16, 0x0c, 0x2c, 0xf7,
+                0xc9, 0x49, 0x64, 0xab, 0x93, 0x1a, 0xd9, 0xc3, 0x92, 0x76, 0xc7, 0xf2, 0x04, 0xee,
+                0x34, 0xa5, 0x1e, 0x65,
             ],
             Elements::Eq16 => [
-                0xab, 0x31, 0xa7, 0x97, 0x4a, 0xcb, 0xf7, 0x2a, 0xb2, 0xf2, 0x1b, 0xf5, 0x3f, 0xec,
-                0x34, 0x6a, 0x28, 0xe6, 0xe6, 0x5e, 0x4c, 0x05, 0xe3, 0xe7, 0x84, 0x3e, 0x14, 0x73,
-                0xb1, 0xfd, 0x3f, 0xf9,
+                0x24, 0xf1, 0xac, 0xb6, 0xd1, 0x6b, 0x3b, 0xe5, 0xde, 0x47, 0xfe, 0x83, 0x43, 0x28,
+                0xfb, 0x51, 0x04, 0x95, 0xfb, 0xba, 0x72, 0xcd, 0x1d, 0xc8, 0x9a, 0x33, 0x98, 0x3f,
+                0x8c, 0x87, 0x33, 0xed,
             ],
             Elements::Eq256 => [
-                0xf7, 0xdf, 0x29, 0xed, 0x2d, 0x00, 0x78, 0x22, 0x7e, 0x71, 0x9b, 0x7d, 0x13, 0x37,
-                0xdb, 0xea, 0x3a, 0x71, 0x0f, 0x58, 0x4a, 0x4b, 0x07, 0xf0, 0xf2, 0x65, 0x4a, 0x44,
-                0x65, 0x54, 0xf2, 0xbe,
+                0xf3, 0x2e, 0x9b, 0x6c, 0x91, 0x2c, 0x50, 0xdd, 0x9a, 0x24, 0x10, 0xc8, 0x02, 0x4b,
+                0x45, 0x48, 0x07, 0x07, 0xd9, 0xb3, 0x71, 0x4b, 0x52, 0x49, 0xc5, 0xf3, 0x01, 0xf2,
+                0x1d, 0xb3, 0xe6, 0x2b,
             ],
             Elements::Eq32 => [
-                0x76, 0x79, 0x1f, 0x0d, 0xdd, 0xab, 0x9d, 0xc7, 0x7a, 0x14, 0xa6, 0x8c, 0xc6, 0x77,
-                0x87, 0xc9, 0x84, 0x49, 0x3f, 0xae, 0xbb, 0xdb, 0xb6, 0xd6, 0xd4, 0x93, 0x35, 0x2e,
-                0x11, 0x47, 0x20, 0xd5,
+                0x03, 0x43, 0x57, 0x56, 0xec, 0x24, 0x4c, 0x99, 0xff, 0x73, 0x32, 0x21, 0x57, 0xc2,
+                0x6c, 0x36, 0x6b, 0xf5, 0x2e, 0xfb, 0x31, 0x4d, 0xce, 0x0c, 0x23, 0x61, 0xdd, 0x53,
+                0x49, 0x1a, 0xa4, 0xbe,
             ],
             Elements::Eq64 => [
-                0x01, 0x1b, 0x5f, 0x4c, 0xb3, 0x1f, 0x34, 0xba, 0x15, 0x8a, 0x68, 0x22, 0x3b, 0x34,
-                0x44, 0x5e, 0x93, 0xf3, 0xdc, 0x18, 0x91, 0xb5, 0x33, 0x90, 0x04, 0x92, 0x3d, 0xcf,
-                0xab, 0xe0, 0x34, 0xc1,
+                0x7d, 0xa4, 0x67, 0x58, 0x80, 0x60, 0x93, 0x66, 0xd7, 0x4d, 0x53, 0x0c, 0xa1, 0x64,
+                0xa0, 0xe0, 0x9a, 0xc9, 0xce, 0x76, 0xf4, 0xf9, 0xe9, 0x43, 0x22, 0x06, 0x3c, 0xb3,
+                0x26, 0xfe, 0xf6, 0xbb,
             ],
             Elements::Eq8 => [
-                0x0f, 0x8b, 0x1f, 0xde, 0x19, 0x49, 0xbe, 0xbd, 0x47, 0xd2, 0x55, 0x4a, 0x48, 0x07,
-                0xfd, 0x8d, 0xca, 0xef, 0x87, 0x30, 0x18, 0x38, 0xd6, 0x0e, 0x84, 0xc7, 0x38, 0x14,
-                0x42, 0xda, 0x7e, 0xce,
+                0x9b, 0x50, 0xfe, 0x9d, 0x35, 0xb1, 0x0a, 0x3d, 0xb8, 0x66, 0x31, 0x1c, 0x53, 0x71,
+                0x35, 0xd0, 0x80, 0xe4, 0x61, 0x43, 0x68, 0xdb, 0x28, 0x84, 0x33, 0xd8, 0xbc, 0x64,
+                0x9b, 0x9f, 0x86, 0x62,
             ],
             Elements::FeAdd => [
-                0xa5, 0xe9, 0x21, 0xd4, 0xd2, 0x95, 0x9a, 0xf7, 0x83, 0x3d, 0xf9, 0x30, 0x83, 0x68,
-                0x98, 0x57, 0x32, 0xab, 0x0f, 0x33, 0xba, 0xd8, 0xaa, 0x34, 0x5b, 0x39, 0xf3, 0x03,
-                0x03, 0x2b, 0xe7, 0xae,
+                0xac, 0xad, 0xfc, 0xf4, 0x80, 0x56, 0x26, 0xe3, 0x74, 0x59, 0x0f, 0x33, 0xca, 0xd7,
+                0xa9, 0x83, 0xa7, 0x32, 0x0a, 0xc8, 0x1c, 0xed, 0x3d, 0x02, 0x54, 0xdc, 0x97, 0xe3,
+                0xa2, 0x53, 0x5a, 0x82,
             ],
             Elements::FeInvert => [
-                0x21, 0xf4, 0x29, 0x56, 0x9d, 0x78, 0xe0, 0x9f, 0xb2, 0x90, 0x13, 0xef, 0x8a, 0x16,
-                0xc7, 0x55, 0x0e, 0xdc, 0x4e, 0x19, 0x05, 0x25, 0x71, 0x5a, 0xbf, 0xb0, 0xc1, 0x9b,
-                0x21, 0xcf, 0xd9, 0xc2,
+                0x2e, 0xa7, 0x6f, 0x67, 0x97, 0x5f, 0xce, 0xa3, 0xbd, 0x46, 0xfb, 0xb1, 0x4d, 0xe8,
+                0x1f, 0x49, 0xfd, 0x08, 0xef, 0xcb, 0xc0, 0x87, 0x5a, 0xb2, 0x1d, 0xc9, 0x89, 0x76,
+                0xa5, 0x30, 0x93, 0x22,
             ],
             Elements::FeIsOdd => [
-                0x21, 0xd3, 0x5d, 0x0a, 0x65, 0x7f, 0x5d, 0xef, 0xac, 0xde, 0x6d, 0xa3, 0xfd, 0xb4,
-                0x8d, 0x67, 0x56, 0xf3, 0x06, 0x90, 0xb4, 0x02, 0x70, 0xf0, 0x10, 0x17, 0xe7, 0xe3,
-                0x48, 0xd7, 0x58, 0x5d,
+                0x7e, 0xde, 0xf0, 0x20, 0x5d, 0x4b, 0x80, 0x41, 0x82, 0x36, 0x9c, 0x31, 0xc2, 0x19,
+                0x02, 0x46, 0x9b, 0x0f, 0x7a, 0x5b, 0x29, 0xb5, 0xdf, 0x90, 0xc3, 0x3f, 0x4b, 0xda,
+                0xa0, 0x5d, 0x7c, 0x03,
             ],
             Elements::FeIsZero => [
-                0xf5, 0x71, 0x62, 0x82, 0xba, 0x0d, 0x26, 0xbd, 0x06, 0x71, 0xcd, 0xfe, 0x1f, 0x11,
-                0x8f, 0x45, 0xba, 0xe7, 0x9d, 0x10, 0x9a, 0x6d, 0x9f, 0x39, 0x7a, 0x4c, 0x45, 0x54,
-                0x6f, 0x62, 0xaf, 0x00,
+                0xa9, 0x43, 0x03, 0x64, 0x2e, 0x1a, 0x0f, 0x47, 0x79, 0x15, 0xa2, 0xd2, 0x51, 0xf8,
+                0x45, 0x5c, 0x56, 0x87, 0x7e, 0xca, 0x79, 0xba, 0x40, 0xad, 0xc3, 0x82, 0x26, 0x8c,
+                0xab, 0x2d, 0x63, 0xb7,
             ],
             Elements::FeMultiply => [
-                0xc1, 0x76, 0x96, 0x9c, 0x33, 0x7f, 0xbc, 0x6b, 0x5a, 0xc8, 0xed, 0x3e, 0xa2, 0x8a,
-                0xb3, 0xfd, 0x94, 0x78, 0x20, 0x64, 0x31, 0x95, 0xd7, 0x3b, 0x86, 0x20, 0x18, 0xf7,
-                0x08, 0x48, 0x7d, 0x23,
+                0xac, 0x64, 0xd5, 0x34, 0x72, 0xab, 0xa4, 0x89, 0xa8, 0xac, 0xf3, 0xac, 0x8a, 0xc7,
+                0x9e, 0x8b, 0x11, 0x82, 0x43, 0x3e, 0x53, 0x50, 0xc4, 0xc3, 0x78, 0x2d, 0x45, 0xad,
+                0xf1, 0xc5, 0x6d, 0xcb,
             ],
             Elements::FeMultiplyBeta => [
-                0xc0, 0xfc, 0x76, 0x66, 0x8d, 0x99, 0xd4, 0x07, 0x3f, 0x39, 0x93, 0x44, 0x3a, 0x68,
-                0x98, 0x0b, 0xa9, 0x6e, 0x97, 0x60, 0x1e, 0xd1, 0xa9, 0x19, 0xc4, 0xa2, 0x33, 0x05,
-                0x7b, 0x66, 0xfe, 0x23,
+                0xca, 0x2e, 0xa7, 0x97, 0xbe, 0x89, 0xe4, 0x1d, 0xb5, 0x15, 0x86, 0xea, 0xdd, 0xe3,
+                0x36, 0x38, 0x11, 0xd0, 0x1d, 0x5d, 0x4c, 0x61, 0x42, 0xf5, 0x7e, 0x1b, 0x99, 0xf2,
+                0xae, 0x03, 0x06, 0x1c,
             ],
             Elements::FeNegate => [
-                0xd6, 0xef, 0x8f, 0xc2, 0x27, 0x5d, 0xdf, 0x70, 0x58, 0xb5, 0xe4, 0x99, 0xf1, 0x0d,
-                0xd2, 0x84, 0x66, 0xf5, 0x7b, 0x72, 0x53, 0xa5, 0x44, 0x07, 0x79, 0x8a, 0x47, 0x72,
-                0x59, 0x21, 0x84, 0xb9,
+                0x01, 0x42, 0xba, 0x1a, 0x10, 0x13, 0x13, 0x57, 0x81, 0x3b, 0x09, 0xf9, 0xce, 0x18,
+                0xc0, 0x6b, 0x4b, 0xab, 0x74, 0x2c, 0xb4, 0x85, 0xd1, 0x79, 0x8b, 0x4a, 0x31, 0x3a,
+                0x92, 0x93, 0xfa, 0x7e,
             ],
             Elements::FeNormalize => [
-                0xf4, 0x98, 0xbc, 0xdf, 0xf3, 0x50, 0x67, 0x88, 0x1b, 0xd9, 0x6e, 0xe1, 0xc9, 0x1f,
-                0x43, 0x67, 0x1e, 0x79, 0x18, 0x6e, 0x70, 0x0e, 0xc4, 0xda, 0x2d, 0xc0, 0x29, 0x6a,
-                0x2d, 0xea, 0x91, 0xc7,
+                0x70, 0xe5, 0x57, 0x07, 0x96, 0x39, 0x41, 0x1d, 0xab, 0x31, 0xb3, 0xe4, 0xf4, 0xb5,
+                0x60, 0x5a, 0x4b, 0x15, 0x59, 0x3a, 0x1a, 0xf7, 0x9b, 0xbd, 0xd9, 0xf9, 0xa1, 0x10,
+                0xa8, 0x5b, 0x25, 0x81,
             ],
             Elements::FeSquare => [
-                0x16, 0x8a, 0x11, 0xb1, 0x9c, 0x0f, 0xb9, 0x7f, 0x10, 0x99, 0xf8, 0x63, 0xa4, 0xc8,
-                0xe2, 0xf8, 0x12, 0x42, 0x5f, 0xbd, 0x3d, 0x01, 0xbd, 0xed, 0x3f, 0x46, 0x0c, 0xb3,
-                0x59, 0xbf, 0xdd, 0x89,
+                0xcf, 0xa0, 0x2a, 0x6a, 0x95, 0x09, 0x1b, 0x14, 0x97, 0x00, 0x07, 0xb9, 0x1a, 0x01,
+                0xba, 0x12, 0x57, 0xfe, 0x3b, 0x84, 0x95, 0x63, 0xcf, 0x42, 0xd0, 0x64, 0x94, 0xc3,
+                0xb8, 0xd0, 0x4f, 0x9d,
             ],
             Elements::FeSquareRoot => [
-                0x3b, 0x46, 0xcd, 0xe3, 0x06, 0x74, 0xb7, 0x77, 0x16, 0xf2, 0xc8, 0xf6, 0x14, 0xad,
-                0xbd, 0x16, 0x61, 0x98, 0x5d, 0x82, 0xc5, 0x53, 0x04, 0xd5, 0x6e, 0x53, 0xef, 0x5c,
-                0x74, 0xc8, 0x3e, 0x83,
+                0xf5, 0x1d, 0x5e, 0xd2, 0x19, 0xbc, 0x89, 0x41, 0xb2, 0x41, 0x29, 0x57, 0x2e, 0x84,
+                0xba, 0xf8, 0x1a, 0x8c, 0xd2, 0xfe, 0x0e, 0x4e, 0xf2, 0x38, 0x86, 0x9c, 0xb2, 0xda,
+                0x29, 0x6b, 0x0f, 0xa8,
             ],
             Elements::FullAdd16 => [
-                0xf4, 0x54, 0xa6, 0x32, 0xfd, 0x19, 0x28, 0xcd, 0x6f, 0x07, 0x0d, 0xf6, 0x80, 0x14,
-                0x28, 0x8e, 0x97, 0xb3, 0xe5, 0x82, 0xe7, 0xf0, 0x3e, 0x98, 0xed, 0x32, 0x34, 0xb6,
-                0x28, 0x2d, 0x02, 0x94,
+                0xd3, 0x99, 0x2e, 0x38, 0xab, 0x1e, 0xf2, 0xc3, 0x83, 0x81, 0x30, 0x41, 0xdb, 0x13,
+                0x69, 0xdd, 0xd5, 0xc3, 0xaa, 0x81, 0xae, 0x90, 0x24, 0xc5, 0xea, 0x26, 0x61, 0x19,
+                0x6b, 0xd1, 0x1f, 0x01,
             ],
             Elements::FullAdd32 => [
-                0x96, 0x06, 0xb9, 0xe6, 0x54, 0x1e, 0x03, 0x56, 0xed, 0x76, 0x08, 0xd5, 0xbc, 0x6f,
-                0x9d, 0x4e, 0xf6, 0x8e, 0x0a, 0x3d, 0x23, 0x51, 0x68, 0xd9, 0xe7, 0x5c, 0xae, 0x66,
-                0x52, 0xdd, 0x06, 0x34,
+                0x46, 0x2b, 0x9c, 0x3b, 0xa6, 0x57, 0x6c, 0x11, 0x14, 0x55, 0x33, 0x77, 0x5b, 0xdf,
+                0x95, 0x5b, 0x60, 0x48, 0x2e, 0x6e, 0x30, 0x80, 0xa8, 0x19, 0xf5, 0xcc, 0x73, 0xa5,
+                0xca, 0x68, 0x30, 0xc1,
             ],
             Elements::FullAdd64 => [
-                0xf0, 0xf7, 0x95, 0x32, 0x00, 0x1c, 0x02, 0xaf, 0xac, 0x65, 0x0a, 0x62, 0x80, 0x19,
-                0x32, 0xaf, 0xc2, 0xc1, 0xb2, 0x86, 0xa3, 0x1f, 0xef, 0x7a, 0xe0, 0x8a, 0x47, 0xea,
-                0x1e, 0x71, 0x38, 0x7d,
+                0xc0, 0xfc, 0x79, 0x99, 0xd9, 0x1c, 0xa6, 0xf7, 0xb5, 0xf8, 0x72, 0xee, 0x6a, 0x8e,
+                0x08, 0xea, 0x2a, 0x11, 0xaf, 0x7b, 0x92, 0xe7, 0xde, 0x60, 0x25, 0x17, 0x19, 0xd7,
+                0x85, 0xb5, 0xf3, 0xe2,
             ],
             Elements::FullAdd8 => [
-                0xcd, 0xd0, 0x80, 0xfd, 0x86, 0x12, 0xe7, 0xd1, 0x4a, 0xda, 0x34, 0x91, 0x64, 0xa6,
-                0xd5, 0xaf, 0x60, 0x54, 0xd6, 0x73, 0x77, 0xe1, 0x76, 0x65, 0xc4, 0x72, 0x20, 0x40,
-                0x28, 0xbc, 0x21, 0x25,
+                0x27, 0x14, 0xec, 0xbb, 0x32, 0x4f, 0xb9, 0xfb, 0x71, 0x9e, 0x09, 0x71, 0x6b, 0xdb,
+                0xdf, 0xb5, 0x64, 0x66, 0xcb, 0x4f, 0x41, 0xf9, 0x01, 0xb1, 0x66, 0x78, 0xb0, 0x02,
+                0x16, 0x17, 0x41, 0xaf,
             ],
             Elements::FullDecrement16 => [
-                0xa7, 0xd1, 0xb9, 0xa6, 0x09, 0xdc, 0xd3, 0x67, 0x66, 0xa1, 0x67, 0xa3, 0x7a, 0xa0,
-                0xe6, 0x49, 0xfb, 0xdd, 0x75, 0xf6, 0x46, 0x91, 0xa9, 0xfb, 0x6b, 0xf1, 0x66, 0x3d,
-                0x32, 0x92, 0x82, 0xa8,
+                0xbd, 0x0d, 0xd6, 0x91, 0xf8, 0x55, 0x44, 0x47, 0x04, 0xd9, 0xbb, 0xc2, 0xea, 0xf0,
+                0x29, 0xc6, 0xca, 0x5b, 0x45, 0xcf, 0x92, 0x44, 0x1f, 0x7f, 0x68, 0xb4, 0x78, 0xb6,
+                0x11, 0xb5, 0x97, 0x28,
             ],
             Elements::FullDecrement32 => [
-                0xcb, 0xcf, 0xd7, 0xca, 0x73, 0x72, 0xb2, 0xb1, 0x80, 0x00, 0x8e, 0x51, 0x58, 0x98,
-                0x80, 0xd3, 0xb5, 0x39, 0x9b, 0xd9, 0xa8, 0xdd, 0xb9, 0xbc, 0xda, 0x61, 0x32, 0xc2,
-                0x2c, 0x77, 0x7e, 0x0f,
+                0x27, 0x88, 0xc3, 0xa0, 0x17, 0x35, 0xa6, 0x4c, 0x0c, 0x36, 0x19, 0x03, 0xd7, 0x1e,
+                0x21, 0xce, 0x10, 0x05, 0xce, 0x35, 0x74, 0xe6, 0x9a, 0x2a, 0x68, 0x0b, 0x87, 0x3e,
+                0x5f, 0x73, 0x76, 0x6a,
             ],
             Elements::FullDecrement64 => [
-                0x42, 0xdf, 0x92, 0xd2, 0xe7, 0xf4, 0x2e, 0x57, 0x9b, 0xd4, 0xc4, 0x30, 0x8c, 0xd2,
-                0xdb, 0x6e, 0x76, 0x77, 0x46, 0x95, 0xd6, 0xa5, 0x69, 0x50, 0xc5, 0xcf, 0x92, 0x03,
-                0x00, 0x2d, 0x41, 0xaa,
+                0x14, 0x4b, 0xf9, 0xfe, 0x04, 0xba, 0x8c, 0x93, 0xa7, 0x83, 0x5b, 0x16, 0x36, 0xae,
+                0x8f, 0x7d, 0x50, 0x5c, 0x05, 0x08, 0x92, 0xdd, 0xbc, 0xc8, 0xf9, 0x72, 0x5f, 0x6b,
+                0x09, 0xc3, 0xe4, 0x7c,
             ],
             Elements::FullDecrement8 => [
-                0xff, 0x58, 0xdd, 0x01, 0x62, 0xbc, 0xe9, 0xfb, 0x73, 0xed, 0x01, 0x5b, 0x7e, 0x5d,
-                0x3d, 0x1d, 0xc1, 0x1b, 0x50, 0x5c, 0x93, 0x2d, 0x49, 0x0c, 0xaa, 0xdc, 0x1b, 0x5d,
-                0x89, 0x3d, 0x1f, 0xad,
+                0x3b, 0x0d, 0x4c, 0x9a, 0x02, 0xbd, 0xd9, 0x03, 0xb1, 0x2f, 0x49, 0xb8, 0xca, 0xd0,
+                0xe3, 0xf0, 0x6c, 0xb9, 0xbc, 0xb6, 0xc8, 0xb1, 0x98, 0x95, 0x6d, 0xff, 0xce, 0x48,
+                0x90, 0x8a, 0x63, 0xf1,
             ],
             Elements::FullIncrement16 => [
-                0x54, 0x53, 0x60, 0x8e, 0xef, 0xf9, 0x67, 0xaf, 0xef, 0x4a, 0xe5, 0x83, 0x1a, 0xa7,
-                0xa9, 0xfc, 0x75, 0xc2, 0xba, 0x57, 0xe1, 0xac, 0x41, 0x2a, 0xb5, 0x46, 0x4d, 0x4d,
-                0xe9, 0x3a, 0xf4, 0xf9,
+                0x91, 0x81, 0x8a, 0x49, 0xe9, 0x5e, 0x22, 0x8c, 0x3b, 0x51, 0xc7, 0x30, 0x9b, 0x3d,
+                0xc6, 0x85, 0xcc, 0xc2, 0xbd, 0xa1, 0xfb, 0x3c, 0xdd, 0xc0, 0xcf, 0x24, 0xa5, 0xc5,
+                0x9d, 0x77, 0xe7, 0xea,
             ],
             Elements::FullIncrement32 => [
-                0x36, 0x32, 0x33, 0x21, 0x58, 0xf9, 0x0b, 0xa4, 0xdf, 0x62, 0x3f, 0x08, 0x68, 0x08,
-                0xd1, 0xd3, 0x39, 0xf3, 0x6d, 0x9a, 0x6f, 0x92, 0x27, 0x23, 0x34, 0x16, 0xf2, 0x34,
-                0xcd, 0xd2, 0x5d, 0x98,
+                0x70, 0x47, 0x04, 0xc6, 0xd7, 0xf7, 0x57, 0xee, 0xe9, 0xf8, 0x8b, 0x2b, 0x32, 0x7b,
+                0xc1, 0x17, 0x43, 0xcb, 0xd9, 0xa7, 0x5d, 0xec, 0xa2, 0xe9, 0x6d, 0x62, 0x8d, 0x53,
+                0x13, 0xe6, 0x16, 0x30,
             ],
             Elements::FullIncrement64 => [
-                0x06, 0x37, 0xfc, 0xc5, 0x52, 0xf6, 0x2a, 0x8a, 0x08, 0xc6, 0xd0, 0x70, 0x66, 0x7e,
-                0xd8, 0x0e, 0x47, 0xba, 0x70, 0x7c, 0x12, 0x0c, 0x4d, 0x65, 0x66, 0x04, 0xa3, 0x43,
-                0x3b, 0xfc, 0x40, 0xa6,
+                0x99, 0x9c, 0xad, 0xea, 0x9c, 0xf0, 0xbd, 0xda, 0xab, 0x12, 0xa3, 0x98, 0xcf, 0x52,
+                0xd1, 0x8e, 0x08, 0xfb, 0x5c, 0x18, 0x5d, 0xca, 0x00, 0xf3, 0x5e, 0xde, 0x63, 0x27,
+                0x7e, 0x9b, 0xac, 0x4e,
             ],
             Elements::FullIncrement8 => [
-                0x29, 0x15, 0x24, 0xe1, 0x70, 0xd5, 0x23, 0xfd, 0x35, 0xc2, 0x57, 0x7b, 0x8e, 0xa3,
-                0xf4, 0x47, 0x8e, 0xc6, 0x32, 0x06, 0xc9, 0x8f, 0xb5, 0xcc, 0xcf, 0x77, 0xc2, 0x09,
-                0xbe, 0xbd, 0x29, 0xef,
+                0x2d, 0x64, 0x5c, 0xb4, 0x77, 0x8d, 0xa1, 0x7a, 0x0d, 0xad, 0x32, 0x6f, 0xfe, 0xdc,
+                0x2b, 0x04, 0xf6, 0x2d, 0x02, 0x7d, 0x7b, 0x40, 0x56, 0x0d, 0x16, 0xcd, 0x64, 0x9f,
+                0xd5, 0xa4, 0xd7, 0x2a,
             ],
             Elements::FullLeftShift16_1 => [
-                0x74, 0x0e, 0x23, 0x81, 0x1b, 0x3e, 0x62, 0xd4, 0x91, 0x51, 0x0f, 0xc9, 0xed, 0xc4,
-                0xcb, 0x0a, 0x0e, 0xec, 0xfa, 0xdf, 0xd2, 0x1b, 0xb2, 0x7f, 0x33, 0xe2, 0x20, 0xb1,
-                0xd8, 0x7d, 0x14, 0xd7,
+                0x32, 0xd0, 0x6f, 0x29, 0x46, 0x52, 0xb3, 0x64, 0x90, 0x58, 0xa4, 0x66, 0x67, 0x3f,
+                0x04, 0xf0, 0x88, 0x80, 0xaa, 0xa1, 0x92, 0x6f, 0x90, 0x8a, 0x92, 0x56, 0xa9, 0x9e,
+                0x1e, 0x2e, 0x0b, 0xdc,
             ],
             Elements::FullLeftShift16_2 => [
-                0xc2, 0x6e, 0x8a, 0xc3, 0xff, 0x9c, 0xc5, 0x18, 0x71, 0x9d, 0x4d, 0x7f, 0xd1, 0x49,
-                0xd8, 0x02, 0xf2, 0x3f, 0x0b, 0x02, 0x49, 0x99, 0xed, 0x5d, 0xaf, 0x36, 0x92, 0x10,
-                0xac, 0xbe, 0x33, 0x45,
+                0xd1, 0xa5, 0xfb, 0x91, 0xaa, 0x70, 0x44, 0x5d, 0x29, 0xfd, 0xb1, 0x69, 0x40, 0x37,
+                0xa9, 0x5d, 0x84, 0xe6, 0x57, 0x1b, 0x3e, 0x77, 0x73, 0xfc, 0x16, 0xf5, 0x6e, 0xb8,
+                0x8b, 0x67, 0x64, 0x39,
             ],
             Elements::FullLeftShift16_4 => [
-                0x5e, 0x57, 0x0c, 0xbe, 0x4c, 0x7c, 0xa9, 0x4b, 0xe0, 0xfc, 0x7b, 0x3e, 0xe5, 0x79,
-                0xbd, 0xd7, 0x84, 0x26, 0xf0, 0xb7, 0x67, 0xf4, 0x85, 0x17, 0x17, 0xbb, 0xfe, 0xae,
-                0xde, 0x91, 0xfe, 0x30,
+                0x94, 0x52, 0xa9, 0xb6, 0x75, 0x49, 0x17, 0x8f, 0x93, 0xc7, 0xbb, 0x34, 0x36, 0xbe,
+                0x06, 0x31, 0x4b, 0x4a, 0xda, 0xe5, 0xde, 0x0e, 0x31, 0x53, 0xcb, 0xd3, 0x2d, 0x55,
+                0x9d, 0xf6, 0xf4, 0x28,
             ],
             Elements::FullLeftShift16_8 => [
-                0x65, 0xad, 0xc5, 0x53, 0x48, 0x38, 0x3b, 0x28, 0xe8, 0x79, 0x7f, 0x81, 0xa9, 0x28,
-                0x2d, 0x91, 0x1b, 0x3f, 0x8f, 0xa6, 0x13, 0x92, 0x72, 0x51, 0xd8, 0x8e, 0x0c, 0x38,
-                0xb0, 0x29, 0xb7, 0x05,
+                0xcd, 0xb8, 0x8c, 0x96, 0x01, 0x73, 0x2a, 0x76, 0x66, 0x5a, 0xc9, 0x28, 0x21, 0x68,
+                0x3b, 0xaf, 0xf1, 0x84, 0x4b, 0x67, 0x0b, 0xff, 0x66, 0x39, 0x17, 0xc8, 0x91, 0x3b,
+                0xa5, 0x1c, 0x0f, 0x08,
             ],
             Elements::FullLeftShift32_1 => [
-                0x72, 0xe0, 0x10, 0x4e, 0xfa, 0xf1, 0xde, 0xe4, 0x11, 0x98, 0xec, 0x3b, 0x79, 0x03,
-                0x73, 0xf6, 0x48, 0xf1, 0x3f, 0x5e, 0xe0, 0x65, 0x52, 0xfb, 0x02, 0x0b, 0xaf, 0xb5,
-                0x84, 0x97, 0xc2, 0x5c,
+                0xef, 0x47, 0x06, 0xca, 0x44, 0xa8, 0xc5, 0x5f, 0x46, 0x5f, 0xa9, 0xb3, 0x9c, 0x3c,
+                0x69, 0xc8, 0x12, 0xef, 0xe3, 0xd9, 0xdf, 0xb6, 0xc9, 0xa5, 0xc0, 0x50, 0x92, 0xb5,
+                0x7f, 0xc3, 0xc1, 0x53,
             ],
             Elements::FullLeftShift32_16 => [
-                0xb9, 0xfb, 0x21, 0x69, 0x90, 0x8d, 0x91, 0x44, 0xcc, 0x73, 0xe6, 0x8f, 0x75, 0x35,
-                0x36, 0xf4, 0x3c, 0xb2, 0xb7, 0x4c, 0xb6, 0x2c, 0x64, 0x08, 0x81, 0x06, 0x70, 0xde,
-                0x84, 0xab, 0x09, 0xbd,
+                0x13, 0x04, 0x05, 0xb9, 0x90, 0xdf, 0xa1, 0x81, 0xa7, 0x6b, 0xb2, 0x96, 0x5f, 0x6b,
+                0x70, 0x6d, 0xe5, 0xb0, 0x46, 0x47, 0x43, 0x8a, 0x5c, 0xab, 0x6e, 0xc3, 0xdf, 0xb6,
+                0xae, 0x21, 0xfa, 0x8a,
             ],
             Elements::FullLeftShift32_2 => [
-                0x11, 0xef, 0xdb, 0x81, 0xb0, 0xc4, 0xde, 0xda, 0x4d, 0x4f, 0x98, 0x47, 0x5d, 0x78,
-                0x78, 0xef, 0xa3, 0x38, 0x69, 0x4f, 0xa0, 0xfd, 0x61, 0x3e, 0x12, 0x93, 0x22, 0x5a,
-                0x4f, 0x46, 0x2f, 0x7c,
+                0xcc, 0x4b, 0x94, 0x98, 0xee, 0x41, 0x23, 0x85, 0xc2, 0x3b, 0xff, 0x77, 0xdf, 0x13,
+                0x7a, 0xd2, 0x96, 0xa5, 0xb8, 0x30, 0x31, 0xc1, 0x51, 0x8d, 0xbf, 0x4f, 0xdf, 0x6a,
+                0xbb, 0x56, 0x7c, 0x2a,
             ],
             Elements::FullLeftShift32_4 => [
-                0x77, 0xe3, 0x99, 0xd7, 0xd8, 0x3f, 0x7d, 0x11, 0x44, 0x99, 0x1d, 0xaf, 0xa3, 0xcc,
-                0x98, 0x11, 0xc1, 0x63, 0x2c, 0x29, 0xe4, 0x93, 0xa8, 0xaf, 0x98, 0xe9, 0x8f, 0xbc,
-                0x1d, 0x63, 0x5f, 0xb4,
+                0xbf, 0xad, 0xc9, 0x53, 0x41, 0x00, 0x47, 0xd9, 0xef, 0x39, 0x8b, 0xd3, 0x3a, 0x02,
+                0xaa, 0xd0, 0xd4, 0x8c, 0xbd, 0x7b, 0x6a, 0xe2, 0xde, 0x8d, 0xc1, 0xf7, 0x6b, 0x0c,
+                0xe4, 0x4f, 0x80, 0xec,
             ],
             Elements::FullLeftShift32_8 => [
-                0xba, 0x66, 0x4c, 0xb1, 0xc4, 0x2e, 0xda, 0x17, 0x91, 0x91, 0xeb, 0xc2, 0xa1, 0x10,
-                0x39, 0x6d, 0xae, 0x58, 0xf9, 0x06, 0xa6, 0x41, 0x06, 0xb3, 0x06, 0x67, 0x79, 0x0a,
-                0xc2, 0xf2, 0x38, 0x2d,
+                0xac, 0x93, 0x4c, 0x70, 0xaa, 0xb8, 0x10, 0xf0, 0xae, 0x52, 0x7b, 0xc0, 0x74, 0x9e,
+                0x96, 0xce, 0x00, 0x68, 0xe2, 0x37, 0xce, 0xe2, 0xa8, 0x66, 0x48, 0x3d, 0xdf, 0xaa,
+                0x21, 0x16, 0xd9, 0x31,
             ],
             Elements::FullLeftShift64_1 => [
-                0x79, 0xd3, 0x8f, 0xe0, 0x75, 0x83, 0x9b, 0x22, 0x7c, 0xff, 0xd9, 0x2a, 0x8c, 0xdb,
-                0x5c, 0x8c, 0x35, 0x22, 0xbc, 0xb4, 0xd1, 0xe0, 0x3b, 0xee, 0xb6, 0xdb, 0x6a, 0xb6,
-                0x4e, 0xd4, 0x72, 0x1f,
+                0xbf, 0x32, 0xd9, 0xdb, 0xb2, 0x39, 0xe9, 0x88, 0x01, 0x49, 0x20, 0xcc, 0x4d, 0xf2,
+                0xe4, 0x35, 0xc7, 0x12, 0x01, 0x7b, 0x6a, 0x94, 0x0e, 0x77, 0xc2, 0x03, 0x71, 0x3d,
+                0xbf, 0xb0, 0xfe, 0x53,
             ],
             Elements::FullLeftShift64_16 => [
-                0x21, 0x43, 0x56, 0x62, 0x45, 0xf5, 0xa1, 0xb9, 0xdf, 0xeb, 0x0c, 0x75, 0x87, 0x8e,
-                0x21, 0xdb, 0xe1, 0x38, 0x04, 0xc2, 0x69, 0x35, 0xee, 0x47, 0xca, 0xc9, 0xad, 0x82,
-                0x2d, 0x6d, 0xed, 0xb2,
+                0x13, 0xde, 0x96, 0x78, 0x5b, 0xd9, 0x7f, 0x6f, 0x78, 0xec, 0x2a, 0x37, 0xf5, 0x52,
+                0xd4, 0xd7, 0xda, 0xe5, 0x76, 0x8e, 0x39, 0xb4, 0xbe, 0xbd, 0xf3, 0xbc, 0x7c, 0xeb,
+                0x72, 0x3c, 0x59, 0x47,
             ],
             Elements::FullLeftShift64_2 => [
-                0x9c, 0x92, 0x16, 0x49, 0x15, 0xaf, 0x0b, 0x15, 0x4e, 0x1d, 0xf5, 0x64, 0xd4, 0xdc,
-                0x9b, 0xe9, 0x80, 0xb3, 0x98, 0x83, 0x5c, 0x99, 0x88, 0xbb, 0xb1, 0x08, 0xd0, 0xcd,
-                0x81, 0x45, 0xb3, 0x30,
+                0x19, 0xd3, 0xb1, 0x41, 0xcb, 0x15, 0x6c, 0xce, 0x2a, 0xc5, 0x93, 0x7a, 0x27, 0xa2,
+                0x84, 0x36, 0xdc, 0x32, 0x5d, 0xd7, 0xce, 0x42, 0x47, 0x6e, 0xe2, 0xca, 0xb3, 0x5f,
+                0xb4, 0x01, 0x10, 0xe0,
             ],
             Elements::FullLeftShift64_32 => [
-                0xd0, 0xd0, 0x16, 0xe9, 0xc7, 0x8c, 0xd1, 0x12, 0xb4, 0xdd, 0x91, 0xa8, 0x35, 0x9f,
-                0x80, 0x5c, 0x68, 0x41, 0x5b, 0x85, 0x7a, 0x79, 0x9b, 0x00, 0x39, 0x49, 0x54, 0xdc,
-                0xd2, 0x90, 0xac, 0xbc,
+                0x6a, 0x20, 0x76, 0x15, 0xbc, 0x66, 0x9d, 0x3f, 0xc1, 0x74, 0x13, 0xa4, 0x2b, 0x13,
+                0xa0, 0x4a, 0x40, 0x4b, 0xb5, 0xd4, 0x03, 0x6d, 0xe3, 0x7f, 0xe0, 0xa5, 0x6b, 0x33,
+                0x6a, 0x5f, 0xf5, 0xa6,
             ],
             Elements::FullLeftShift64_4 => [
-                0x0f, 0x1f, 0x7d, 0x37, 0x4e, 0x82, 0x86, 0x8d, 0x71, 0xe7, 0xe7, 0xc0, 0x32, 0x21,
-                0xb1, 0x50, 0x59, 0x4b, 0x63, 0x04, 0x45, 0xb1, 0xb1, 0x63, 0x56, 0xcf, 0x35, 0x45,
-                0xbd, 0x93, 0x92, 0x63,
+                0x57, 0xf5, 0x96, 0xcf, 0xe6, 0x7a, 0xf5, 0x8a, 0xe6, 0xbc, 0x27, 0xa1, 0x2c, 0xaf,
+                0xe5, 0x3a, 0x1d, 0x5e, 0x6a, 0xce, 0x4e, 0x54, 0x05, 0x1a, 0x3a, 0xe4, 0x1c, 0x1e,
+                0xb3, 0x25, 0xf5, 0x3b,
             ],
             Elements::FullLeftShift64_8 => [
-                0xad, 0x7b, 0x44, 0x38, 0xb7, 0x3f, 0x6f, 0x9e, 0x42, 0xf6, 0x4c, 0x70, 0x53, 0x04,
-                0x75, 0xee, 0x08, 0x93, 0x6e, 0x47, 0x63, 0xe5, 0xb7, 0x3e, 0xa4, 0xbc, 0x83, 0x83,
-                0xa2, 0xb9, 0x63, 0xd5,
+                0x05, 0x85, 0x7a, 0x00, 0x9d, 0x20, 0x31, 0xbe, 0x6d, 0xf1, 0xd8, 0x7e, 0x26, 0xe1,
+                0x11, 0x18, 0xab, 0xd0, 0x6b, 0x0f, 0xf0, 0xc8, 0x78, 0xc3, 0x36, 0xf9, 0xa0, 0x76,
+                0x11, 0xda, 0xa8, 0xd4,
             ],
             Elements::FullLeftShift8_1 => [
-                0x21, 0x13, 0x68, 0x1a, 0x11, 0x62, 0x4e, 0x60, 0x60, 0x30, 0xc4, 0x70, 0xd6, 0x8f,
-                0x60, 0x61, 0x23, 0x2f, 0x71, 0xcf, 0xab, 0xc5, 0x05, 0x71, 0x92, 0xc6, 0xc8, 0xbd,
-                0x1d, 0x73, 0xb7, 0xe1,
+                0x4f, 0xdc, 0x52, 0x2a, 0x23, 0x9f, 0x25, 0x84, 0x8c, 0x28, 0xd4, 0x5b, 0x39, 0x24,
+                0x63, 0x91, 0xbe, 0x6a, 0x28, 0x14, 0xb8, 0x93, 0xcf, 0x19, 0x79, 0xce, 0x31, 0xb6,
+                0x07, 0xcf, 0x17, 0x4e,
             ],
             Elements::FullLeftShift8_2 => [
-                0x36, 0x83, 0x68, 0xc9, 0x4b, 0x04, 0x0e, 0x81, 0xb9, 0x48, 0xd7, 0x37, 0xc1, 0x93,
-                0xc0, 0x42, 0x83, 0xec, 0x80, 0xa2, 0x8f, 0xd3, 0xa0, 0x21, 0xb0, 0xb8, 0xc1, 0xab,
-                0xcf, 0x5e, 0xdc, 0xd3,
+                0xdc, 0xf6, 0x33, 0x3d, 0x5e, 0x28, 0xbf, 0xaa, 0xfe, 0xe6, 0xf2, 0x0a, 0x85, 0x5c,
+                0xef, 0xb0, 0x05, 0xf0, 0xef, 0x32, 0x8b, 0xdc, 0xce, 0xa6, 0x4a, 0x8f, 0x24, 0x46,
+                0xf9, 0x66, 0xa6, 0xf2,
             ],
             Elements::FullLeftShift8_4 => [
-                0x8f, 0x85, 0x4d, 0x58, 0xf9, 0x68, 0xb4, 0xbe, 0x3b, 0x20, 0x21, 0xfb, 0x22, 0x14,
-                0x2d, 0xd3, 0xe6, 0x8a, 0xa8, 0x19, 0x7b, 0x54, 0x75, 0xb7, 0x05, 0x0b, 0x02, 0xe1,
-                0xe5, 0xca, 0xee, 0x47,
+                0xf7, 0xed, 0x36, 0xeb, 0xd7, 0xb4, 0xee, 0x3e, 0x77, 0x82, 0xd0, 0x74, 0x4c, 0x47,
+                0xba, 0x1e, 0xf8, 0xfa, 0x56, 0xdb, 0x70, 0x60, 0xe2, 0x26, 0xe4, 0xe9, 0x26, 0x29,
+                0x92, 0x6f, 0x43, 0x6c,
             ],
             Elements::FullMultiply16 => [
-                0x32, 0xcf, 0x7f, 0x50, 0x89, 0x4e, 0xa2, 0xc4, 0x61, 0xa0, 0x54, 0x66, 0xbb, 0xfa,
-                0x1e, 0x4e, 0x1b, 0x04, 0x99, 0x57, 0x52, 0x3f, 0x64, 0x93, 0x7a, 0x8b, 0x54, 0x27,
-                0x3d, 0xd3, 0x1b, 0x37,
+                0xc0, 0xd7, 0x36, 0xca, 0x68, 0x4f, 0x82, 0x72, 0xdc, 0xfb, 0xe3, 0x8d, 0xcc, 0x54,
+                0x29, 0xb3, 0x03, 0xa6, 0x82, 0x32, 0xe5, 0xfc, 0xd2, 0x85, 0x14, 0xe2, 0x2c, 0x0b,
+                0xe1, 0xf4, 0x70, 0xf6,
             ],
             Elements::FullMultiply32 => [
-                0xde, 0xa1, 0xaf, 0xc6, 0xfd, 0x54, 0x6c, 0x75, 0xe0, 0xb2, 0xd8, 0xe4, 0x18, 0xf2,
-                0x61, 0x79, 0xd6, 0xdb, 0xe9, 0x05, 0x8b, 0x07, 0x9a, 0xa9, 0xab, 0x80, 0xea, 0xa6,
-                0xc0, 0x5f, 0x39, 0xcb,
+                0xe7, 0x20, 0x58, 0x97, 0x97, 0xf6, 0xca, 0x4a, 0xd7, 0x47, 0x71, 0xf8, 0xf6, 0xc7,
+                0xb6, 0xaa, 0xd7, 0x8b, 0xce, 0x91, 0x9f, 0xd7, 0x6d, 0x69, 0xff, 0xf5, 0x99, 0xa4,
+                0x02, 0xe3, 0x52, 0x40,
             ],
             Elements::FullMultiply64 => [
-                0x81, 0x3d, 0x74, 0xd6, 0xc3, 0x06, 0x4c, 0xf7, 0xc5, 0xdb, 0x2d, 0xda, 0x96, 0x4e,
-                0xd0, 0xe2, 0xd5, 0xa2, 0x49, 0x1b, 0x89, 0x43, 0x29, 0x21, 0x92, 0x37, 0xcb, 0x1a,
-                0x91, 0xee, 0x09, 0x34,
+                0xd9, 0x66, 0x91, 0x86, 0x21, 0x44, 0x87, 0xfb, 0xaa, 0xbc, 0x08, 0x52, 0x15, 0xeb,
+                0x01, 0xc6, 0x2b, 0x3a, 0x28, 0xde, 0x41, 0x19, 0x19, 0xbc, 0x4f, 0x37, 0xfe, 0x43,
+                0xc2, 0xd0, 0x05, 0x21,
             ],
             Elements::FullMultiply8 => [
-                0xf7, 0xf3, 0x9d, 0x95, 0xda, 0xb5, 0x73, 0x08, 0x52, 0xe9, 0xcc, 0x7e, 0x74, 0xc0,
-                0x74, 0x3b, 0x8f, 0xb3, 0xf7, 0x54, 0x87, 0x12, 0x0b, 0xa3, 0x26, 0xff, 0x60, 0x0a,
-                0xd8, 0xb1, 0xf3, 0xe6,
+                0x72, 0x8a, 0xc8, 0xaa, 0xdb, 0x37, 0xa0, 0xf2, 0x23, 0xee, 0xf9, 0x8c, 0xf2, 0x78,
+                0x48, 0x3d, 0xf1, 0x94, 0x86, 0x9b, 0x2e, 0x37, 0x73, 0xf1, 0x27, 0x32, 0x9e, 0xea,
+                0xb5, 0x4c, 0x62, 0xca,
             ],
             Elements::FullRightShift16_1 => [
-                0xb8, 0x07, 0x44, 0x23, 0xe6, 0x74, 0x8a, 0x6a, 0xa5, 0x4e, 0xc5, 0x74, 0x1f, 0xee,
-                0xf2, 0x5a, 0x26, 0x2f, 0xde, 0xcb, 0xfc, 0xe3, 0x91, 0x24, 0xe6, 0x10, 0x23, 0x8a,
-                0x3b, 0x0a, 0x23, 0xfc,
+                0x28, 0x43, 0x7c, 0x34, 0x7a, 0x0f, 0x31, 0x6e, 0x99, 0xf3, 0x44, 0x4f, 0x32, 0xd9,
+                0x49, 0xc6, 0xd1, 0xa5, 0x70, 0xd6, 0xe1, 0xf9, 0xe4, 0x7f, 0x7e, 0xa2, 0xc4, 0x98,
+                0x7f, 0xec, 0xb0, 0xb4,
             ],
             Elements::FullRightShift16_2 => [
-                0x3f, 0xcf, 0x98, 0x5e, 0xe0, 0xc7, 0x2c, 0xa4, 0x1d, 0xdf, 0x6c, 0x89, 0xd0, 0xf0,
-                0xf6, 0x9d, 0x50, 0x65, 0x87, 0x6e, 0x3b, 0x60, 0x20, 0xec, 0xc9, 0xbf, 0x05, 0x9e,
-                0x8f, 0x97, 0x19, 0xc6,
+                0x7b, 0x2d, 0x0d, 0xd3, 0xec, 0xf7, 0x9e, 0xcf, 0xc0, 0xbf, 0x92, 0x3a, 0x92, 0xa4,
+                0x3a, 0xc6, 0x51, 0x4b, 0xbf, 0xc2, 0x9f, 0x67, 0x73, 0xd7, 0xb3, 0x63, 0xc3, 0xac,
+                0xf6, 0xf6, 0x72, 0xc4,
             ],
             Elements::FullRightShift16_4 => [
-                0xa3, 0x0c, 0x7c, 0x29, 0xd0, 0xee, 0xac, 0x29, 0x52, 0x58, 0xb2, 0xb6, 0x1d, 0x0b,
-                0x54, 0x13, 0x46, 0xf4, 0x07, 0xc0, 0x84, 0x8d, 0x44, 0x8e, 0x13, 0xe9, 0x77, 0x4c,
-                0x1c, 0x96, 0x96, 0x79,
+                0xec, 0x59, 0xde, 0x5c, 0x9c, 0x88, 0x77, 0x75, 0xe4, 0xbc, 0x55, 0x6b, 0x9c, 0xf1,
+                0xa7, 0x72, 0x3b, 0xbe, 0xb6, 0x14, 0x75, 0xd5, 0xa5, 0xa4, 0xed, 0xf1, 0x0b, 0x61,
+                0x2b, 0xf9, 0xa6, 0x80,
             ],
             Elements::FullRightShift16_8 => [
-                0x5b, 0x88, 0x08, 0xca, 0xda, 0x55, 0x87, 0xb3, 0x6d, 0x1a, 0x6f, 0xad, 0x66, 0xae,
-                0x4d, 0xa0, 0x8d, 0x41, 0x23, 0x64, 0x4c, 0x0b, 0xdd, 0x59, 0x77, 0x2a, 0x70, 0xaa,
-                0x74, 0x32, 0xe7, 0x15,
+                0x26, 0x4f, 0x2a, 0x31, 0xf0, 0x7b, 0xcc, 0x54, 0x74, 0x27, 0xfa, 0xff, 0x0d, 0x09,
+                0xc2, 0x66, 0x5b, 0x30, 0xed, 0x30, 0xf9, 0xf8, 0xa6, 0xc5, 0x65, 0x01, 0x84, 0x00,
+                0x14, 0x4a, 0x4d, 0x6a,
             ],
             Elements::FullRightShift32_1 => [
-                0x32, 0xaf, 0xd0, 0xef, 0x94, 0xdf, 0x51, 0xb7, 0xd3, 0x5c, 0x00, 0xe5, 0x61, 0xa8,
-                0x39, 0x0c, 0x5c, 0xf5, 0x0f, 0x93, 0x0b, 0x30, 0xd7, 0x86, 0x88, 0x04, 0xb5, 0x80,
-                0x49, 0x37, 0x58, 0x40,
+                0x19, 0xd7, 0x8c, 0xce, 0x30, 0xf7, 0x1e, 0xac, 0xf5, 0x9a, 0x8c, 0xf0, 0xf6, 0x02,
+                0x8b, 0x28, 0x4d, 0x4a, 0xa9, 0x64, 0xc0, 0xc1, 0x6a, 0xd4, 0xaf, 0xc7, 0xea, 0x47,
+                0x51, 0x65, 0xcb, 0xa0,
             ],
             Elements::FullRightShift32_16 => [
-                0x44, 0xd1, 0x79, 0xa8, 0x90, 0xf7, 0x81, 0x2f, 0x15, 0x13, 0x31, 0xb5, 0x5f, 0xc0,
-                0x7e, 0xb4, 0xe4, 0xd7, 0x81, 0x4e, 0xb6, 0x83, 0xda, 0x28, 0x8f, 0x8f, 0xe7, 0xcd,
-                0x55, 0xb4, 0x39, 0x06,
+                0x88, 0x76, 0x74, 0x15, 0x79, 0x92, 0x4a, 0xf6, 0xd4, 0x6f, 0xbd, 0x79, 0x53, 0x4a,
+                0x09, 0x07, 0x7b, 0xf0, 0xec, 0xbc, 0x97, 0x10, 0x08, 0xc7, 0xde, 0xc6, 0x5d, 0x4c,
+                0x96, 0xe5, 0xd8, 0x31,
             ],
             Elements::FullRightShift32_2 => [
-                0x33, 0xc6, 0x61, 0xdf, 0x3a, 0x32, 0xca, 0xe5, 0x5b, 0x52, 0xa5, 0xf2, 0x63, 0x21,
-                0x54, 0xcc, 0x85, 0xb6, 0x59, 0x13, 0x87, 0xbc, 0x2b, 0x34, 0x83, 0x30, 0xc8, 0x70,
-                0xa6, 0xf6, 0x70, 0x6f,
+                0x5d, 0x3e, 0x11, 0x9d, 0x40, 0xe6, 0x24, 0xc5, 0xc5, 0x6a, 0x7b, 0xbd, 0xf8, 0xbb,
+                0x86, 0xfb, 0x68, 0x89, 0xdc, 0x01, 0x72, 0x48, 0x7c, 0x35, 0x8a, 0x53, 0x1a, 0xf2,
+                0xfc, 0xc5, 0x1d, 0xc7,
             ],
             Elements::FullRightShift32_4 => [
-                0xe4, 0xbe, 0xbf, 0x16, 0x93, 0x5f, 0x67, 0xbe, 0x7d, 0x8c, 0x86, 0xbc, 0x58, 0x8a,
-                0xdb, 0xcf, 0x8e, 0x59, 0x75, 0x39, 0x25, 0x7f, 0xdd, 0xab, 0x9f, 0xb0, 0x43, 0x72,
-                0xc7, 0x70, 0x12, 0xd3,
+                0x58, 0x3a, 0xc6, 0x98, 0x39, 0xd2, 0x35, 0xd9, 0xc0, 0x61, 0x39, 0xf5, 0xb7, 0x98,
+                0xd2, 0xd5, 0xa3, 0x49, 0xed, 0xc2, 0x0b, 0xbd, 0x62, 0xba, 0xd1, 0xd8, 0x12, 0x85,
+                0xd6, 0xad, 0x22, 0xe3,
             ],
             Elements::FullRightShift32_8 => [
-                0xab, 0xcf, 0xfb, 0x08, 0x4a, 0x23, 0x96, 0x42, 0x16, 0xd5, 0x62, 0x73, 0x30, 0x5c,
-                0x0c, 0x8b, 0x03, 0xbd, 0xab, 0xda, 0xd6, 0x9f, 0xf7, 0xe9, 0x42, 0xf0, 0xd2, 0xcf,
-                0x08, 0x0f, 0xeb, 0xcc,
+                0x0d, 0x9c, 0xc0, 0x9b, 0xbc, 0x80, 0xe4, 0xcd, 0x76, 0x4f, 0x13, 0xbb, 0x2f, 0x7f,
+                0xb9, 0xc5, 0x92, 0x12, 0x0f, 0x92, 0x18, 0xd6, 0x0c, 0xac, 0x8e, 0xea, 0xc5, 0x99,
+                0x25, 0xdb, 0xf7, 0x5d,
             ],
             Elements::FullRightShift64_1 => [
-                0x37, 0x68, 0x82, 0x60, 0xc5, 0x3a, 0xf0, 0x6b, 0x85, 0x6d, 0x90, 0x22, 0xca, 0x5d,
-                0x87, 0xf8, 0xa6, 0x87, 0xee, 0x53, 0xfa, 0xca, 0x18, 0x66, 0xec, 0x84, 0x2a, 0x7c,
-                0x89, 0x0a, 0x4b, 0x70,
+                0x2e, 0xbc, 0x1c, 0x95, 0x5d, 0x26, 0x56, 0x48, 0xa8, 0xb9, 0x1b, 0x6f, 0x5e, 0xce,
+                0x5f, 0x23, 0xfa, 0x9c, 0x2c, 0x6c, 0x88, 0xde, 0x7c, 0xbe, 0x3f, 0x7c, 0xc8, 0x38,
+                0x5b, 0x21, 0x91, 0x17,
             ],
             Elements::FullRightShift64_16 => [
-                0x41, 0x7b, 0xfb, 0x71, 0x5a, 0x20, 0xb1, 0x0d, 0x48, 0x81, 0xf5, 0xc3, 0x49, 0x6c,
-                0x63, 0xef, 0xee, 0x4a, 0xb5, 0x00, 0x3d, 0xfd, 0x0a, 0x16, 0xb8, 0x5f, 0x94, 0xf8,
-                0xe5, 0xb0, 0x66, 0x7c,
+                0x46, 0x58, 0xdd, 0x0c, 0x37, 0xf3, 0xec, 0x6b, 0xe5, 0x22, 0x41, 0x73, 0xd2, 0xff,
+                0x9b, 0x7c, 0x91, 0x01, 0x74, 0x2f, 0x69, 0x0f, 0x15, 0xa7, 0x2e, 0x66, 0x6c, 0x87,
+                0x0e, 0x1d, 0x90, 0x55,
             ],
             Elements::FullRightShift64_2 => [
-                0xce, 0xca, 0x25, 0x67, 0xb9, 0x1a, 0x63, 0xe9, 0xca, 0x44, 0x03, 0x5e, 0xb5, 0x9e,
-                0x2f, 0x22, 0xd8, 0x1e, 0x37, 0xe1, 0x96, 0x59, 0x5a, 0x74, 0x8c, 0xea, 0x4a, 0x46,
-                0x84, 0xa2, 0x15, 0xb0,
+                0x88, 0x9f, 0x8b, 0x7b, 0xc1, 0x1e, 0x9b, 0x74, 0xea, 0x93, 0x37, 0x4f, 0xfe, 0xd1,
+                0x14, 0x64, 0xe7, 0x83, 0x7d, 0xee, 0x18, 0x19, 0x81, 0xcb, 0xe4, 0x78, 0x6f, 0x57,
+                0xa2, 0x65, 0xc3, 0x4f,
             ],
             Elements::FullRightShift64_32 => [
-                0x03, 0x96, 0x99, 0x37, 0x84, 0x02, 0x3d, 0x47, 0xe8, 0x51, 0x4b, 0x45, 0x92, 0x98,
-                0x19, 0x8d, 0x33, 0xbd, 0x71, 0xe6, 0xf7, 0x56, 0xd0, 0x8e, 0xdf, 0x46, 0x2a, 0x8f,
-                0x62, 0xa2, 0x1b, 0x80,
+                0x06, 0x24, 0x67, 0xcd, 0x19, 0x4b, 0xb4, 0xfe, 0x1d, 0xd5, 0xed, 0xe5, 0x7b, 0xc6,
+                0x51, 0x80, 0x94, 0x8e, 0xba, 0xc9, 0x87, 0x8b, 0x2c, 0x04, 0x2b, 0xe3, 0x56, 0xf2,
+                0xf4, 0x22, 0xc2, 0xec,
             ],
             Elements::FullRightShift64_4 => [
-                0xde, 0xe4, 0xda, 0xd6, 0x7a, 0x5d, 0xdc, 0xc3, 0x5d, 0xa1, 0xa7, 0x90, 0x63, 0xca,
-                0x97, 0x5f, 0x81, 0x34, 0xc8, 0xea, 0xc5, 0x6a, 0x9f, 0x55, 0x5d, 0x2b, 0x0e, 0x13,
-                0xda, 0x10, 0x99, 0x4d,
+                0x99, 0x45, 0x72, 0x13, 0x88, 0x48, 0x37, 0x43, 0x7e, 0x8a, 0xb6, 0x36, 0xd7, 0xf3,
+                0x51, 0x3a, 0x24, 0xd9, 0x4e, 0x74, 0xe5, 0x99, 0x0c, 0x2c, 0x24, 0xe8, 0xdf, 0xe1,
+                0x4c, 0xf9, 0x98, 0x6f,
             ],
             Elements::FullRightShift64_8 => [
-                0x9c, 0xd7, 0x78, 0x03, 0xfc, 0x38, 0x9c, 0x94, 0xff, 0xf2, 0x86, 0xda, 0x0b, 0x37,
-                0x4b, 0x89, 0xfe, 0xeb, 0x3d, 0xaa, 0x38, 0xce, 0x67, 0xca, 0xb0, 0x22, 0x0d, 0xab,
-                0xee, 0xfe, 0x23, 0xa2,
+                0x00, 0x8d, 0x5b, 0x6a, 0x26, 0xa0, 0xe1, 0x3f, 0x17, 0xa9, 0x24, 0xa9, 0xe0, 0x0f,
+                0x5b, 0x07, 0xc8, 0x12, 0x3b, 0x59, 0x7e, 0x63, 0xcd, 0xf9, 0x48, 0x1d, 0xd1, 0x6f,
+                0x43, 0x32, 0xe6, 0xdf,
             ],
             Elements::FullRightShift8_1 => [
-                0xee, 0x23, 0xff, 0xf0, 0x7d, 0xe5, 0x3c, 0xc3, 0x71, 0x09, 0xa4, 0x7f, 0x9f, 0xde,
-                0x3c, 0x74, 0x44, 0x7a, 0xe8, 0x31, 0xce, 0xe9, 0xac, 0x4d, 0xb7, 0x90, 0xcd, 0xe8,
-                0xb1, 0x53, 0x23, 0xb2,
+                0x59, 0x1a, 0xde, 0xe6, 0xd4, 0xa3, 0xdd, 0xf3, 0x94, 0x7b, 0x48, 0x61, 0x5b, 0x7f,
+                0x6e, 0xcd, 0xf1, 0x16, 0x57, 0x36, 0x4c, 0x3a, 0xee, 0xcf, 0xad, 0x43, 0xf2, 0x8e,
+                0x11, 0xa7, 0x5e, 0x56,
             ],
             Elements::FullRightShift8_2 => [
-                0x25, 0xe1, 0xde, 0xa1, 0x08, 0xc5, 0xf8, 0x9c, 0xce, 0x5b, 0x3d, 0x5b, 0x0e, 0x07,
-                0x92, 0xbe, 0x37, 0x90, 0x1a, 0x5a, 0x65, 0xde, 0xf9, 0x04, 0xdd, 0x51, 0x71, 0x0a,
-                0x35, 0x5a, 0xb5, 0x5f,
+                0xbf, 0x18, 0xaf, 0x96, 0x4c, 0x49, 0xb6, 0x2e, 0xe7, 0x99, 0x21, 0xfd, 0xe0, 0xeb,
+                0x32, 0x52, 0xf4, 0x16, 0x38, 0x67, 0x77, 0x17, 0x3c, 0xa6, 0xf6, 0xea, 0xd6, 0x89,
+                0xb1, 0x90, 0xfb, 0x2f,
             ],
             Elements::FullRightShift8_4 => [
-                0xd7, 0xf0, 0xa8, 0x3c, 0x41, 0x04, 0x54, 0x3e, 0xc7, 0x5b, 0x5e, 0xe7, 0x5b, 0xf5,
-                0xf7, 0x91, 0x5d, 0x65, 0xfa, 0x50, 0xc2, 0x09, 0x5d, 0xe2, 0xa3, 0x56, 0x70, 0xa5,
-                0x05, 0xbe, 0x12, 0x9a,
+                0x8d, 0x05, 0xa2, 0x81, 0xbe, 0x22, 0x0a, 0x8c, 0xa3, 0xeb, 0xd9, 0xa8, 0x62, 0x67,
+                0x08, 0xf9, 0x1f, 0x28, 0x6d, 0xa4, 0x22, 0x22, 0xc7, 0xa5, 0x51, 0x8e, 0x17, 0x9c,
+                0x09, 0xe5, 0xa0, 0x2f,
             ],
             Elements::FullSubtract16 => [
-                0x95, 0xea, 0x5e, 0x54, 0xc5, 0x60, 0x3f, 0x2f, 0x78, 0xac, 0xf6, 0xb8, 0xa8, 0x7a,
-                0x63, 0xb3, 0xac, 0xc7, 0xb6, 0x5f, 0x2b, 0x87, 0xb6, 0x90, 0x4b, 0x98, 0x30, 0xfa,
-                0x91, 0x21, 0x2c, 0x8c,
+                0x79, 0x55, 0x12, 0x6e, 0x2c, 0x3d, 0x86, 0x2c, 0x1e, 0x44, 0x9e, 0xf6, 0xe4, 0x35,
+                0xdf, 0x3e, 0xd5, 0xa6, 0x4c, 0x20, 0x11, 0x43, 0x57, 0x8e, 0xcf, 0xd3, 0xf5, 0x1b,
+                0xaf, 0x2b, 0xe2, 0x35,
             ],
             Elements::FullSubtract32 => [
-                0x32, 0x96, 0x35, 0x26, 0xfc, 0x60, 0x89, 0xf5, 0xec, 0x7d, 0xa5, 0x84, 0xfb, 0xee,
-                0x32, 0x37, 0x63, 0x1c, 0x9b, 0x12, 0x81, 0xf6, 0xf4, 0x46, 0xd9, 0x9c, 0x9b, 0x50,
-                0xc8, 0x0c, 0x76, 0xdb,
+                0x26, 0x18, 0xa4, 0x11, 0x47, 0xc7, 0x9f, 0x69, 0x09, 0xa6, 0x51, 0xb4, 0x92, 0xb5,
+                0x4e, 0xd3, 0xc4, 0x05, 0x7a, 0x2e, 0xc0, 0x39, 0xf9, 0x1c, 0x20, 0x10, 0x54, 0x54,
+                0xac, 0x61, 0x03, 0x79,
             ],
             Elements::FullSubtract64 => [
-                0x15, 0xd4, 0x8a, 0x43, 0x24, 0x79, 0xb4, 0x51, 0xa6, 0xe2, 0xc1, 0x8f, 0x43, 0xfb,
-                0x0d, 0xfc, 0x9a, 0xeb, 0x6f, 0xce, 0x04, 0x03, 0x50, 0x27, 0xb0, 0x33, 0xaa, 0x99,
-                0xfb, 0x14, 0x34, 0x47,
+                0x5e, 0x05, 0xb1, 0x0a, 0xcf, 0x51, 0xc2, 0xf2, 0xb7, 0xf8, 0x72, 0x6d, 0x3f, 0x41,
+                0x4a, 0xea, 0x2f, 0xb6, 0x31, 0x1f, 0x6d, 0xd6, 0x72, 0x45, 0xbd, 0x4a, 0x35, 0xb1,
+                0x69, 0x53, 0xaf, 0x13,
             ],
             Elements::FullSubtract8 => [
-                0x2b, 0xd4, 0xf0, 0xb3, 0xa0, 0xa7, 0x58, 0xac, 0x39, 0xf1, 0x58, 0x1b, 0x2c, 0x34,
-                0xd7, 0xf4, 0x14, 0xdb, 0x4d, 0x8e, 0x1b, 0xc1, 0x19, 0xd7, 0xf8, 0x92, 0x91, 0x35,
-                0x48, 0x0e, 0x9a, 0xff,
+                0x68, 0xd2, 0x79, 0xe1, 0x6f, 0xe8, 0x4b, 0xa5, 0xe7, 0x44, 0xcd, 0xba, 0x86, 0xef,
+                0xf3, 0xa3, 0xe0, 0xda, 0x05, 0x54, 0x7e, 0xfa, 0x98, 0x17, 0xdf, 0xb9, 0x9f, 0xde,
+                0x70, 0x21, 0x46, 0xac,
             ],
             Elements::GeIsOnCurve => [
-                0x05, 0x72, 0xae, 0xf3, 0x63, 0x00, 0x50, 0x8c, 0x96, 0xed, 0xa4, 0xa4, 0xfe, 0xc8,
-                0x57, 0x9d, 0x8d, 0x8a, 0x43, 0xbd, 0x54, 0x0c, 0xb6, 0xdd, 0xec, 0xc8, 0x2a, 0x49,
-                0xe6, 0x68, 0xf7, 0xde,
+                0xf5, 0x13, 0xc5, 0x94, 0x61, 0x5a, 0x9f, 0x2f, 0xcf, 0x35, 0x60, 0x55, 0xe2, 0xf7,
+                0x74, 0x88, 0x16, 0xa3, 0xd4, 0xba, 0x54, 0x15, 0xbf, 0x12, 0xca, 0x17, 0xa5, 0xca,
+                0xe9, 0xac, 0x72, 0x5a,
             ],
             Elements::GeNegate => [
-                0x90, 0xf3, 0x3d, 0x91, 0x0f, 0x85, 0x8f, 0x9b, 0x3b, 0x84, 0x0d, 0xdb, 0xc0, 0x3d,
-                0x8a, 0x39, 0xaf, 0x81, 0x02, 0x14, 0x85, 0x3b, 0xad, 0x3c, 0x90, 0x5f, 0x18, 0x29,
-                0x6f, 0xdf, 0xcb, 0x58,
+                0xc4, 0x3f, 0x47, 0xb1, 0x1c, 0xdb, 0xc9, 0xca, 0x85, 0xb6, 0x88, 0x05, 0xa4, 0xa7,
+                0x0b, 0x82, 0xbf, 0x93, 0x8c, 0x1c, 0x0b, 0x2c, 0x1b, 0x27, 0x71, 0xa8, 0x6b, 0xfd,
+                0x99, 0x37, 0x34, 0xa7,
             ],
             Elements::GejAdd => [
-                0x00, 0x87, 0x1c, 0x07, 0x66, 0x28, 0x6a, 0x50, 0x0a, 0xce, 0xa0, 0x5f, 0x7a, 0x1f,
-                0xd9, 0x8c, 0x3e, 0x52, 0x46, 0xc1, 0x94, 0x67, 0x71, 0xe4, 0x73, 0x8e, 0x75, 0x82,
-                0x09, 0x1c, 0xca, 0x0d,
+                0xf5, 0x64, 0x35, 0xe4, 0xad, 0x5a, 0xa9, 0x56, 0x27, 0xaa, 0xa2, 0xf5, 0xf2, 0xba,
+                0xd4, 0xe4, 0x5e, 0xf6, 0x2e, 0x4a, 0x8a, 0x83, 0xc0, 0x8e, 0x31, 0xe8, 0x10, 0x09,
+                0x5c, 0xe3, 0x43, 0xb2,
             ],
             Elements::GejDouble => [
-                0x5f, 0xc4, 0x80, 0xc5, 0x05, 0xb6, 0x7d, 0xdd, 0xb9, 0xce, 0x84, 0xb0, 0xa8, 0xee,
-                0x5a, 0x7e, 0x4e, 0xf0, 0xe9, 0x36, 0x59, 0xd4, 0x45, 0x21, 0xe6, 0xa6, 0x64, 0xac,
-                0x5d, 0x65, 0x56, 0xf8,
+                0xa0, 0x8e, 0xa3, 0x9e, 0xeb, 0x49, 0x0b, 0x60, 0x49, 0xc7, 0x2a, 0xb9, 0x21, 0x5d,
+                0x61, 0x05, 0x8e, 0xd1, 0xee, 0x33, 0x77, 0x94, 0x21, 0x84, 0x0d, 0x3e, 0x3d, 0x43,
+                0xe6, 0x37, 0x19, 0xfc,
             ],
             Elements::GejEquiv => [
-                0xe8, 0x7f, 0x98, 0xd9, 0x1d, 0x9e, 0xbd, 0xec, 0x16, 0x7a, 0xba, 0x00, 0xf8, 0xe8,
-                0xfc, 0x6d, 0xab, 0x80, 0x79, 0xc7, 0x6b, 0x4d, 0x9c, 0x3d, 0x88, 0xf1, 0xf8, 0x4c,
-                0x8e, 0x6c, 0xd2, 0x74,
+                0x9c, 0xa3, 0x67, 0x6b, 0xcc, 0xc5, 0x44, 0xed, 0x7a, 0xa3, 0xf7, 0x51, 0x75, 0xe9,
+                0xf2, 0x3e, 0x03, 0x0c, 0xd6, 0x4f, 0xb6, 0xa5, 0x89, 0x8d, 0x90, 0xd2, 0x3e, 0x0d,
+                0xc2, 0xae, 0xed, 0xd1,
             ],
             Elements::GejGeAdd => [
-                0xa2, 0x4d, 0x04, 0x9f, 0xf1, 0xe4, 0xcf, 0x37, 0x84, 0xc1, 0xb7, 0xd6, 0xd1, 0xba,
-                0x09, 0xfd, 0x17, 0xfe, 0xcf, 0xeb, 0x55, 0x80, 0xea, 0xb5, 0xf1, 0x1e, 0x8f, 0x8e,
-                0xb9, 0xd9, 0xad, 0xef,
+                0xc8, 0xf3, 0xd8, 0x6d, 0x13, 0x1e, 0x35, 0xea, 0x67, 0xb2, 0x50, 0xa0, 0x8e, 0xdb,
+                0xf5, 0x8c, 0x6f, 0x05, 0x43, 0x9c, 0x41, 0xfc, 0xbd, 0x32, 0x90, 0x8d, 0xc8, 0x6a,
+                0xe8, 0xce, 0x5d, 0xf7,
             ],
             Elements::GejGeAddEx => [
-                0x1e, 0x0e, 0x26, 0xd0, 0xb2, 0x9a, 0xe6, 0x3d, 0x41, 0xe6, 0x76, 0x7e, 0x01, 0x6e,
-                0x7e, 0x24, 0x86, 0xe4, 0xf5, 0xd8, 0xdc, 0x2c, 0xf6, 0x65, 0x02, 0x22, 0x03, 0x16,
-                0x40, 0xf1, 0x73, 0x3a,
+                0x8b, 0xcf, 0x3c, 0xcb, 0x4b, 0xf6, 0x91, 0x97, 0x49, 0x89, 0xfc, 0x4e, 0x86, 0x99,
+                0x6c, 0x66, 0xba, 0xf1, 0xb0, 0xab, 0xa8, 0xc9, 0x64, 0x65, 0x86, 0x2a, 0x81, 0x84,
+                0xa1, 0x29, 0xa0, 0xae,
             ],
             Elements::GejGeEquiv => [
-                0x3b, 0x51, 0xda, 0xcd, 0x29, 0xff, 0x5c, 0xd3, 0xc3, 0x20, 0x45, 0x5f, 0xc3, 0xfa,
-                0x1a, 0xe9, 0x61, 0x21, 0x29, 0xaa, 0x8c, 0x8e, 0x23, 0x74, 0x60, 0xc3, 0xca, 0x2a,
-                0xd5, 0x4e, 0x8f, 0x58,
+                0x67, 0xb2, 0x8f, 0x43, 0xbf, 0x1e, 0xb5, 0xc0, 0x4f, 0x24, 0x56, 0x59, 0x7e, 0xab,
+                0x77, 0x6e, 0x48, 0xd4, 0x98, 0xfd, 0x8a, 0xe5, 0x28, 0x4d, 0xb3, 0x52, 0xa7, 0x3d,
+                0x1b, 0xdd, 0x28, 0x5b,
             ],
             Elements::GejInfinity => [
-                0x88, 0xd4, 0x64, 0x2c, 0xfc, 0x2b, 0x52, 0xd0, 0x90, 0xce, 0x6e, 0x89, 0x5c, 0x20,
-                0xda, 0x2e, 0xfb, 0x0d, 0xf6, 0xfe, 0x84, 0xf2, 0x27, 0x22, 0xbc, 0x46, 0x11, 0x1c,
-                0xc6, 0xbe, 0x5c, 0xda,
+                0xc9, 0xcc, 0xee, 0x79, 0xe6, 0xfd, 0x32, 0x71, 0xfb, 0xb3, 0x84, 0x56, 0x88, 0x74,
+                0x24, 0x95, 0x3b, 0x25, 0x4b, 0x9e, 0x90, 0xb7, 0xb7, 0x79, 0xfd, 0x57, 0x89, 0x68,
+                0x45, 0x41, 0x0c, 0x66,
             ],
             Elements::GejIsInfinity => [
-                0x80, 0xf5, 0x28, 0xe5, 0xd8, 0x56, 0x72, 0xdc, 0x8d, 0x9c, 0x26, 0x4f, 0x67, 0xc7,
-                0xb7, 0x27, 0x00, 0xfa, 0xad, 0x89, 0x97, 0x2a, 0x7e, 0x1d, 0x27, 0xd0, 0x49, 0xc9,
-                0x47, 0x4b, 0x6c, 0xd9,
+                0x99, 0xd3, 0x98, 0xd5, 0xf2, 0x38, 0xc0, 0x55, 0xee, 0x32, 0xa9, 0x75, 0xdd, 0x44,
+                0x5f, 0xbc, 0x5e, 0xce, 0x59, 0x9f, 0x74, 0xa3, 0x19, 0x0a, 0x63, 0x6d, 0xdd, 0x5d,
+                0xd1, 0x11, 0xf5, 0x87,
             ],
             Elements::GejIsOnCurve => [
-                0x70, 0xce, 0x4f, 0xfc, 0xe2, 0x49, 0x7c, 0xc6, 0x2f, 0x17, 0x0c, 0x57, 0x14, 0xff,
-                0x2c, 0xfe, 0xce, 0x90, 0xb4, 0xcb, 0x89, 0xa6, 0xa2, 0x2f, 0xac, 0x26, 0xb1, 0xb5,
-                0xc6, 0x6f, 0xaa, 0x10,
+                0x6c, 0x73, 0xc2, 0x19, 0xa7, 0xe9, 0x22, 0x8f, 0x6f, 0x48, 0x2c, 0x11, 0x17, 0x43,
+                0x31, 0x1c, 0x49, 0x8b, 0xac, 0xd0, 0xc1, 0xfc, 0x00, 0xac, 0x3c, 0xe4, 0x1f, 0x49,
+                0x73, 0x5b, 0xa2, 0xff,
             ],
             Elements::GejNegate => [
-                0xad, 0x53, 0xf1, 0x79, 0x3f, 0xe0, 0x7b, 0x8d, 0x67, 0x2d, 0x9f, 0x7b, 0x07, 0x41,
-                0xe9, 0xed, 0x61, 0x55, 0x7e, 0xff, 0x5b, 0x72, 0x96, 0xc5, 0x68, 0xe0, 0x9b, 0x3d,
-                0x19, 0xcf, 0x71, 0x24,
+                0xb1, 0xec, 0x2b, 0x7b, 0x3a, 0x34, 0x29, 0x4d, 0xf8, 0x99, 0x12, 0x91, 0x1d, 0x35,
+                0x1f, 0xe0, 0xef, 0x23, 0x3f, 0xdc, 0x60, 0x11, 0x58, 0x76, 0xbd, 0xcf, 0x61, 0x1d,
+                0x59, 0x0b, 0x08, 0xd6,
             ],
             Elements::GejNormalize => [
-                0x03, 0x33, 0xdf, 0x98, 0xa8, 0x06, 0x0c, 0x93, 0x15, 0xc5, 0xfd, 0xb8, 0x3e, 0xbf,
-                0xfe, 0x34, 0x07, 0xbf, 0x9c, 0x33, 0x6b, 0xf4, 0xbb, 0x92, 0x2d, 0xf5, 0x85, 0x88,
-                0x7e, 0x1a, 0xcd, 0xc7,
+                0x3c, 0xc6, 0xcf, 0x4c, 0xed, 0x32, 0x3e, 0xa6, 0xdc, 0xf4, 0x18, 0x44, 0xdb, 0x49,
+                0x53, 0xaa, 0x3d, 0xb2, 0x9d, 0x08, 0xff, 0xfc, 0x18, 0x6f, 0x53, 0x8a, 0x38, 0x7a,
+                0x6c, 0xbf, 0x72, 0x27,
             ],
             Elements::GejRescale => [
-                0xf0, 0x0a, 0xd1, 0x8f, 0xb4, 0x92, 0x8c, 0xfa, 0xd0, 0x2c, 0x5b, 0x9d, 0x8b, 0x6f,
-                0xd4, 0xb0, 0x5d, 0x7c, 0xb5, 0x49, 0xee, 0x65, 0x98, 0x4d, 0x02, 0x2a, 0x6d, 0xf9,
-                0x87, 0x12, 0xb6, 0xd9,
+                0xd1, 0xa8, 0x87, 0x77, 0xd2, 0x20, 0x1b, 0xf8, 0x4c, 0x94, 0xe5, 0x85, 0xc6, 0x12,
+                0xcd, 0x18, 0xe1, 0xaa, 0x4a, 0x18, 0x62, 0x4c, 0xca, 0x5d, 0xe5, 0xfb, 0xe4, 0x41,
+                0xc3, 0x68, 0xb1, 0x90,
             ],
             Elements::GejXEquiv => [
-                0xe3, 0x1c, 0x0f, 0x2c, 0x5d, 0x08, 0x13, 0x9b, 0x4f, 0xeb, 0x09, 0x85, 0x2c, 0x06,
-                0xb6, 0xaa, 0x00, 0xb1, 0xd1, 0x3e, 0x62, 0xba, 0xbd, 0x99, 0x82, 0x82, 0x12, 0xdc,
-                0xff, 0x82, 0x21, 0x7c,
+                0xb9, 0xfe, 0x21, 0xa5, 0xed, 0x60, 0x69, 0x4d, 0x04, 0x2b, 0xa2, 0x1c, 0xad, 0xfc,
+                0xd9, 0x44, 0x3c, 0x6f, 0xf7, 0x28, 0xf6, 0x8e, 0x51, 0xd7, 0xd5, 0x5e, 0x05, 0xa9,
+                0xbb, 0x7a, 0x1d, 0x1b,
             ],
             Elements::GejYIsOdd => [
-                0xe3, 0x4c, 0x86, 0x7d, 0xe1, 0x6b, 0x2f, 0x65, 0x61, 0x09, 0xa7, 0x38, 0x72, 0xb0,
-                0xb5, 0xba, 0x55, 0xca, 0x3c, 0x2d, 0xbe, 0xa9, 0xc2, 0xc6, 0xe4, 0xcb, 0x19, 0xad,
-                0x18, 0xc0, 0x6f, 0x56,
+                0xaf, 0x25, 0x25, 0x24, 0xfb, 0x38, 0xc4, 0x4f, 0xa7, 0xca, 0x6f, 0x0d, 0x69, 0x3e,
+                0xe3, 0x43, 0x06, 0xa3, 0x1e, 0xd9, 0x21, 0xf9, 0x31, 0x1c, 0x91, 0x72, 0x63, 0x89,
+                0xb1, 0xf6, 0x83, 0x76,
             ],
             Elements::Generate => [
-                0xa3, 0xc5, 0x5b, 0xef, 0x32, 0xa3, 0x50, 0xd9, 0x0d, 0x5c, 0x3d, 0xac, 0x24, 0x76,
-                0x7a, 0x03, 0x86, 0x7f, 0xaf, 0x7a, 0x73, 0x27, 0x77, 0x03, 0x89, 0x5a, 0x27, 0xcb,
-                0x6b, 0x44, 0x25, 0x2d,
+                0xe5, 0x87, 0x2b, 0xc9, 0xf0, 0xc1, 0xf8, 0x55, 0x4d, 0xe0, 0x17, 0x84, 0x38, 0xa9,
+                0xf6, 0x49, 0x94, 0x76, 0xca, 0xc8, 0xc5, 0x80, 0xf3, 0xd0, 0xb6, 0x0d, 0x85, 0x48,
+                0x85, 0x18, 0x4c, 0xb6,
             ],
             Elements::GenesisBlockHash => [
-                0x33, 0x6f, 0xf7, 0x3d, 0x00, 0x2f, 0x37, 0x54, 0x9c, 0x48, 0x1f, 0xd4, 0xaa, 0xf1,
-                0x5a, 0x58, 0x60, 0x77, 0x9d, 0xf2, 0x83, 0x34, 0x48, 0x71, 0x41, 0xf4, 0x09, 0xb4,
-                0xb2, 0x9e, 0xfb, 0x65,
+                0xa2, 0x9f, 0x24, 0x44, 0x62, 0xfb, 0x28, 0x0e, 0x83, 0xb2, 0xec, 0x41, 0x94, 0x69,
+                0x4a, 0x6d, 0x0d, 0x72, 0x89, 0x55, 0xb2, 0x25, 0xac, 0x02, 0xde, 0xff, 0x47, 0x40,
+                0xe5, 0x01, 0x4a, 0x99,
             ],
             Elements::HashToCurve => [
-                0x4d, 0xc3, 0xeb, 0x6a, 0x6f, 0xbe, 0x37, 0x4b, 0xa7, 0x69, 0x64, 0x72, 0x63, 0xa6,
-                0x95, 0xa4, 0x5d, 0x09, 0x21, 0x13, 0x8a, 0x17, 0xf0, 0x03, 0xc4, 0xab, 0xb7, 0x58,
-                0xd8, 0x38, 0xb1, 0x33,
+                0xa1, 0x7b, 0x59, 0xe3, 0xf0, 0x14, 0xb1, 0x58, 0xad, 0x47, 0xb5, 0xbb, 0x42, 0x90,
+                0xf1, 0x7b, 0x5b, 0xb7, 0x0b, 0xc6, 0x47, 0x1d, 0x3b, 0xe6, 0xd3, 0x86, 0x98, 0xe5,
+                0x23, 0x4a, 0xb6, 0xf2,
             ],
             Elements::High1 => [
-                0x97, 0xa1, 0x43, 0xf0, 0x4c, 0xb6, 0x03, 0xf6, 0x5f, 0x84, 0xa8, 0x0d, 0x31, 0xc3,
-                0x36, 0x4f, 0x8f, 0xda, 0x22, 0x97, 0x3a, 0x9a, 0xe6, 0x95, 0xa5, 0x81, 0x89, 0xc3,
-                0x14, 0x63, 0xa8, 0xbf,
+                0x72, 0x18, 0x87, 0x56, 0xe0, 0x64, 0xfe, 0xf6, 0x07, 0x3d, 0x82, 0x53, 0x0e, 0x95,
+                0xee, 0x3a, 0x04, 0x88, 0x9c, 0x6b, 0xf9, 0xe4, 0x4e, 0x05, 0x96, 0x22, 0x40, 0x4e,
+                0xa1, 0x7c, 0x69, 0x4a,
             ],
             Elements::High16 => [
-                0x62, 0x10, 0xac, 0x71, 0x36, 0x58, 0x6c, 0x73, 0xa0, 0x9c, 0x94, 0x21, 0xa4, 0x0e,
-                0x30, 0x8c, 0x44, 0x91, 0xea, 0xce, 0x9b, 0x5b, 0x36, 0x95, 0xd6, 0x1f, 0x4c, 0x81,
-                0x96, 0xa6, 0x9d, 0xc8,
+                0x0e, 0x41, 0x4a, 0x0c, 0xe6, 0x81, 0x47, 0x85, 0xe0, 0x19, 0xf1, 0x4d, 0x47, 0x71,
+                0x40, 0x76, 0xe8, 0x7b, 0x12, 0x3e, 0x9a, 0x21, 0x22, 0xb1, 0x64, 0x3c, 0xc0, 0x66,
+                0x8c, 0x6e, 0xce, 0x09,
             ],
             Elements::High32 => [
-                0x71, 0x94, 0x24, 0xb1, 0xac, 0xd3, 0x5b, 0x13, 0x73, 0x58, 0x06, 0x90, 0xa7, 0xec,
-                0x0b, 0x8f, 0xb4, 0x86, 0x14, 0x5c, 0x9c, 0xde, 0x72, 0x8d, 0xa7, 0x98, 0x46, 0x93,
-                0xe9, 0x5f, 0xc7, 0xc0,
+                0x08, 0x03, 0x29, 0x7a, 0xc5, 0xfb, 0xea, 0x98, 0x5e, 0xf6, 0x19, 0xa0, 0x38, 0xbe,
+                0xd0, 0x68, 0xf8, 0x60, 0xb2, 0x30, 0x95, 0x26, 0x0e, 0x92, 0x6a, 0xf7, 0xd8, 0x9d,
+                0xd0, 0xcc, 0x93, 0x21,
             ],
             Elements::High64 => [
-                0x8c, 0x5d, 0x44, 0x09, 0x34, 0xdf, 0xdc, 0xf2, 0x75, 0xa2, 0x1c, 0xf0, 0x87, 0xac,
-                0x12, 0x7d, 0xa7, 0x57, 0x15, 0xb5, 0xda, 0xc9, 0xc6, 0x93, 0xc2, 0xaf, 0xd7, 0xc7,
-                0x18, 0xdc, 0x0f, 0xfb,
+                0x47, 0x1c, 0xe7, 0xd2, 0xd1, 0xbc, 0xcb, 0xcc, 0xb1, 0x8a, 0xbd, 0xe3, 0xe5, 0x34,
+                0x79, 0x53, 0xbc, 0x7e, 0x63, 0xc8, 0xb4, 0x3f, 0x1a, 0x7c, 0xee, 0x95, 0x53, 0x38,
+                0x2c, 0x6b, 0x8d, 0x21,
             ],
             Elements::High8 => [
-                0x3a, 0x5c, 0xe0, 0x0e, 0x15, 0xe3, 0x18, 0x08, 0x51, 0xc2, 0x00, 0x21, 0x1f, 0x1c,
-                0x82, 0xda, 0xa3, 0x3e, 0xc8, 0x76, 0x38, 0x24, 0x8a, 0x4b, 0xf1, 0x13, 0x40, 0x7c,
-                0x6b, 0x16, 0xac, 0x4f,
+                0x60, 0xc6, 0x69, 0xbb, 0x56, 0xac, 0xa8, 0x8d, 0xa1, 0x3e, 0x09, 0x30, 0x11, 0xa7,
+                0xbb, 0xed, 0x55, 0x07, 0x9e, 0xa9, 0xbc, 0xdb, 0x84, 0x38, 0xf3, 0xdc, 0x53, 0xe1,
+                0x2c, 0x20, 0x40, 0x9d,
             ],
             Elements::Increment16 => [
-                0x80, 0xf6, 0xcb, 0xbc, 0x09, 0xb7, 0x8c, 0xea, 0x76, 0xc8, 0x13, 0x90, 0xd3, 0xed,
-                0x98, 0x9b, 0x70, 0xe4, 0x39, 0x16, 0x1e, 0xff, 0xaf, 0x9a, 0x62, 0xc6, 0x4b, 0x1b,
-                0x95, 0x9c, 0xd0, 0x30,
+                0x49, 0xc6, 0x29, 0xdb, 0x72, 0x65, 0xd6, 0xa8, 0xd2, 0x6e, 0x83, 0xf6, 0x5d, 0x62,
+                0xe7, 0x38, 0x54, 0xb9, 0xdd, 0xb2, 0x1d, 0x2a, 0xa9, 0xc1, 0xbd, 0x94, 0x6e, 0x4d,
+                0xa0, 0xb2, 0x79, 0x32,
             ],
             Elements::Increment32 => [
-                0x5a, 0x96, 0x3c, 0xa4, 0xad, 0xa6, 0x61, 0x9a, 0x80, 0x53, 0x46, 0xe8, 0x09, 0x95,
-                0x03, 0xe4, 0x78, 0x25, 0xbe, 0x5c, 0xf3, 0xc9, 0xa8, 0x9b, 0xfd, 0xbe, 0x2f, 0x19,
-                0x1c, 0x32, 0xa2, 0xe0,
+                0x95, 0x7e, 0xde, 0xc0, 0xdc, 0x98, 0xcf, 0x13, 0xfd, 0xa5, 0xb2, 0x19, 0x31, 0xf0,
+                0x87, 0xe3, 0x64, 0x8e, 0xf2, 0xd7, 0xc6, 0xbe, 0xc8, 0xc5, 0x16, 0xe3, 0x24, 0x4f,
+                0x1b, 0xbc, 0x35, 0x9d,
             ],
             Elements::Increment64 => [
-                0x86, 0x57, 0x52, 0x36, 0x83, 0xc2, 0xa0, 0x5c, 0x0e, 0x09, 0x98, 0xcd, 0xa7, 0xb9,
-                0x4e, 0x8b, 0x03, 0x65, 0xee, 0x83, 0x22, 0xa1, 0x4c, 0x5a, 0x37, 0x22, 0xb5, 0x15,
-                0xbb, 0x68, 0x1f, 0x74,
+                0x48, 0xb1, 0x92, 0x7c, 0x68, 0x40, 0x4a, 0xb0, 0x1b, 0xe8, 0x9f, 0xda, 0xcc, 0xb1,
+                0x64, 0xeb, 0xee, 0x4d, 0x69, 0x44, 0xca, 0x8e, 0xf0, 0x39, 0x99, 0xb2, 0x76, 0x29,
+                0x75, 0xd2, 0x2f, 0xf8,
             ],
             Elements::Increment8 => [
-                0xd1, 0xdb, 0x8a, 0x9e, 0xce, 0xd1, 0x7e, 0x21, 0x99, 0x65, 0x26, 0xbc, 0x73, 0xbe,
-                0x8e, 0x57, 0x98, 0x68, 0x8d, 0xa3, 0xc2, 0xef, 0x8b, 0x8d, 0x5b, 0xa2, 0x55, 0xd1,
-                0x1e, 0xd8, 0x18, 0x3e,
+                0xe0, 0x79, 0x6c, 0x02, 0x7b, 0xf4, 0xb0, 0x79, 0x47, 0xff, 0x99, 0x1b, 0x27, 0x82,
+                0x07, 0xd3, 0x26, 0xba, 0xe0, 0x74, 0xa4, 0x58, 0x3b, 0x56, 0x42, 0xdf, 0x04, 0x43,
+                0x29, 0x7c, 0x90, 0x1a,
             ],
             Elements::InputAmount => [
-                0xbe, 0x74, 0x0f, 0x91, 0xe4, 0xd7, 0xb4, 0xb7, 0xe6, 0x2c, 0xd1, 0x4a, 0x61, 0xcc,
-                0x00, 0xa2, 0x4c, 0x3a, 0x1f, 0xb7, 0x6c, 0x62, 0xf7, 0x7b, 0x9c, 0x1f, 0x92, 0xa2,
-                0x77, 0xf5, 0x5f, 0xf0,
+                0x8a, 0xc2, 0xa6, 0x7e, 0x16, 0x0c, 0x73, 0xd5, 0x3d, 0xc2, 0xec, 0x44, 0x25, 0x2f,
+                0xf7, 0xbb, 0x6d, 0xa8, 0x95, 0x46, 0xb4, 0xd1, 0xa9, 0x7a, 0xef, 0xae, 0x1b, 0x94,
+                0x4d, 0xac, 0x27, 0xc6,
             ],
             Elements::InputAmountsHash => [
-                0x5a, 0x06, 0xd0, 0xb9, 0xf1, 0x1a, 0x19, 0xfd, 0x32, 0xe8, 0x3e, 0x9d, 0x28, 0x11,
-                0x1b, 0xd2, 0x5f, 0x46, 0x52, 0x8b, 0x65, 0x40, 0x45, 0x04, 0xc4, 0xc6, 0xe6, 0x8e,
-                0x64, 0x5b, 0xb0, 0x4e,
+                0x91, 0xd3, 0xb0, 0xa3, 0x02, 0x19, 0xe0, 0xb3, 0x0d, 0x26, 0xce, 0x2b, 0x06, 0x4b,
+                0x3e, 0x1a, 0x5a, 0xd4, 0x80, 0xce, 0xb2, 0x2f, 0x50, 0xe6, 0xd9, 0x64, 0x70, 0x93,
+                0x97, 0x57, 0x10, 0x29,
             ],
             Elements::InputAnnexHash => [
-                0x21, 0x76, 0x9e, 0x4f, 0x92, 0x82, 0x5d, 0x7a, 0x82, 0x15, 0x5e, 0x10, 0x2e, 0x10,
-                0x60, 0x5a, 0x82, 0x85, 0x53, 0x0f, 0xfd, 0xf7, 0x5b, 0xaa, 0x2a, 0x8c, 0xde, 0xd3,
-                0x62, 0x8d, 0xb3, 0x16,
+                0xee, 0xdb, 0x96, 0x70, 0x69, 0x49, 0xb7, 0x32, 0x2d, 0x5e, 0x80, 0x45, 0x7c, 0x03,
+                0xd6, 0x40, 0x69, 0xae, 0x09, 0x9d, 0x00, 0x4b, 0xaa, 0xa2, 0x23, 0x2a, 0x91, 0x53,
+                0x61, 0x48, 0x56, 0x24,
             ],
             Elements::InputAnnexesHash => [
-                0x26, 0x0d, 0xc7, 0x1d, 0x41, 0x4e, 0xb8, 0x59, 0xc4, 0xa2, 0xcb, 0x33, 0xca, 0x74,
-                0x06, 0xcf, 0x06, 0x7b, 0xc3, 0xc2, 0x1c, 0x33, 0x99, 0x03, 0x5f, 0xeb, 0xaf, 0xd4,
-                0x0e, 0x90, 0x29, 0xc9,
+                0xe3, 0x59, 0x5e, 0xa7, 0x7e, 0x48, 0x10, 0xf9, 0x44, 0x7d, 0x1a, 0xa7, 0x3d, 0x5f,
+                0x53, 0x36, 0x0e, 0x3e, 0x8d, 0xc2, 0x09, 0xe2, 0xc6, 0xd1, 0xcd, 0xa4, 0x72, 0x8f,
+                0x1b, 0x0d, 0xbb, 0xff,
             ],
             Elements::InputAsset => [
-                0x60, 0x72, 0xd8, 0x1b, 0x12, 0x01, 0x5a, 0xb2, 0x97, 0xef, 0xa1, 0xe8, 0xa7, 0x71,
-                0x38, 0x04, 0x26, 0xef, 0x0a, 0x12, 0xf9, 0x0d, 0x61, 0xe1, 0xd4, 0x19, 0xd0, 0x82,
-                0xe6, 0x7b, 0x75, 0x65,
+                0xa4, 0x4a, 0x29, 0x91, 0x1c, 0xb8, 0xd6, 0x5a, 0x91, 0x32, 0x87, 0x96, 0x24, 0x5e,
+                0xb9, 0x15, 0x50, 0x79, 0x37, 0xb7, 0xa7, 0xf3, 0xbe, 0x76, 0x60, 0xa8, 0xc3, 0x80,
+                0x47, 0xad, 0x1e, 0xcb,
             ],
             Elements::InputHash => [
-                0xb5, 0xd0, 0xd7, 0x77, 0x85, 0x1e, 0x89, 0xd1, 0x41, 0xd3, 0xcd, 0xa1, 0xb0, 0xf2,
-                0x51, 0xe9, 0xc3, 0x10, 0x11, 0xd1, 0xb0, 0x1c, 0x29, 0x39, 0x77, 0x11, 0x96, 0x62,
-                0xc3, 0x49, 0x95, 0x9e,
+                0xba, 0x63, 0xca, 0xe3, 0xee, 0x4a, 0x22, 0xe2, 0x5f, 0xdd, 0x56, 0xbb, 0x84, 0x3c,
+                0xde, 0x5d, 0xe9, 0x4e, 0x77, 0x4b, 0xb0, 0xdb, 0x11, 0x13, 0x0c, 0xd5, 0x39, 0x97,
+                0xd6, 0x11, 0x45, 0x2a,
             ],
             Elements::InputOutpointsHash => [
-                0xda, 0xd2, 0x60, 0x93, 0x0c, 0x5f, 0x4d, 0x23, 0x8d, 0x83, 0x56, 0x5a, 0x67, 0x57,
-                0xe1, 0x47, 0x00, 0x30, 0xcb, 0x29, 0xe0, 0xfd, 0x1e, 0x18, 0xfc, 0x46, 0xed, 0xf3,
-                0x1e, 0x65, 0x05, 0x57,
+                0x7f, 0xf3, 0xb3, 0xd4, 0x38, 0x86, 0x41, 0x35, 0xb9, 0xa0, 0xbb, 0x49, 0xa3, 0x00,
+                0x1a, 0x0e, 0x4b, 0xd3, 0x8c, 0x21, 0xd2, 0xc6, 0xa7, 0xad, 0x76, 0x1b, 0xd6, 0xa5,
+                0x84, 0x6d, 0x44, 0xac,
             ],
             Elements::InputPegin => [
-                0x98, 0xf0, 0x57, 0x5a, 0x0a, 0x97, 0x8d, 0x26, 0x62, 0x6b, 0x79, 0xc8, 0x42, 0x4b,
-                0x4a, 0x5d, 0x16, 0xd9, 0x42, 0x44, 0xca, 0x60, 0x6c, 0x8a, 0x63, 0xbe, 0xe7, 0xe4,
-                0xb0, 0x50, 0x91, 0x22,
+                0x0f, 0x22, 0x75, 0xec, 0x24, 0x04, 0xa9, 0x2a, 0x00, 0x54, 0xa2, 0x14, 0xf1, 0xed,
+                0xaf, 0xd5, 0x92, 0xa4, 0x14, 0x19, 0xab, 0xac, 0xc5, 0xb4, 0x6a, 0xe1, 0x4b, 0x92,
+                0xf7, 0x5e, 0xa6, 0xfa,
             ],
             Elements::InputPrevOutpoint => [
-                0x7a, 0xd2, 0x6d, 0x34, 0x37, 0xc5, 0xae, 0xba, 0x3b, 0x3d, 0x6b, 0x54, 0x12, 0x8d,
-                0x4d, 0x5e, 0x9b, 0x99, 0xe9, 0xed, 0x50, 0xfe, 0x7e, 0x07, 0x67, 0x4c, 0xc7, 0x34,
-                0x80, 0x55, 0xd8, 0x95,
+                0xa5, 0x19, 0x94, 0x07, 0x25, 0x1c, 0x98, 0xf7, 0xcf, 0xcd, 0xf5, 0xb6, 0x70, 0x9c,
+                0x2d, 0x4b, 0xa5, 0x69, 0x2a, 0x42, 0x3c, 0x28, 0x0c, 0x2b, 0x63, 0xbe, 0x2a, 0xe1,
+                0x37, 0xb1, 0xb9, 0x00,
             ],
             Elements::InputScriptHash => [
-                0xa0, 0x04, 0xc2, 0x3c, 0x28, 0xe3, 0xc9, 0x38, 0x9c, 0x2a, 0x7d, 0xe1, 0xf5, 0x09,
-                0x13, 0x64, 0x3a, 0x7e, 0xc2, 0x59, 0x77, 0xa3, 0x1b, 0xd9, 0x12, 0xe1, 0x48, 0xd6,
-                0x7b, 0x82, 0xb6, 0xda,
+                0xdc, 0x68, 0xbd, 0x41, 0x6c, 0xaf, 0x5f, 0x7a, 0x77, 0xad, 0xd2, 0x02, 0xb2, 0xbd,
+                0x4d, 0x91, 0x5b, 0x2d, 0xcb, 0xcb, 0xb7, 0x94, 0x71, 0xf9, 0xe1, 0x4b, 0x7c, 0xa6,
+                0xb8, 0x50, 0x20, 0x64,
             ],
             Elements::InputScriptSigHash => [
-                0x25, 0xa5, 0x9e, 0x2a, 0xed, 0x6b, 0xe1, 0x4c, 0xc0, 0xb0, 0x8f, 0x91, 0xf8, 0x1c,
-                0xe3, 0x71, 0xe3, 0x96, 0xfe, 0x38, 0xd7, 0x19, 0xc3, 0x3d, 0x38, 0x50, 0x28, 0x66,
-                0x8a, 0xe2, 0xeb, 0x87,
+                0xab, 0xdf, 0x16, 0x6a, 0x06, 0xdf, 0x32, 0x09, 0x80, 0x7b, 0xbe, 0xad, 0x53, 0x3c,
+                0xfa, 0x8b, 0x17, 0x90, 0xaf, 0xc1, 0x60, 0x33, 0x10, 0xe4, 0xd0, 0x10, 0xa4, 0x9f,
+                0xaa, 0x41, 0x31, 0xd8,
             ],
             Elements::InputScriptSigsHash => [
-                0xc4, 0x7d, 0xc3, 0x3e, 0x1f, 0x78, 0x02, 0x63, 0x49, 0x28, 0xf1, 0xf5, 0xd6, 0x38,
-                0x55, 0x8b, 0x8f, 0x41, 0x7e, 0xb2, 0xbf, 0xf6, 0x9f, 0x54, 0x2e, 0x8c, 0xeb, 0x98,
-                0xbe, 0x1f, 0x02, 0xcd,
+                0x5e, 0x87, 0x46, 0xc0, 0xcc, 0x04, 0xe8, 0xf2, 0x61, 0x16, 0xb3, 0x86, 0x23, 0xbf,
+                0xe3, 0xb6, 0x84, 0x3e, 0x3f, 0xc0, 0x93, 0xdd, 0xa4, 0x09, 0xd8, 0x6e, 0x4d, 0xb7,
+                0x5c, 0x90, 0xaa, 0x61,
             ],
             Elements::InputScriptsHash => [
-                0xcf, 0xa0, 0x56, 0xe1, 0x24, 0x9e, 0x8e, 0xb1, 0xcd, 0xb7, 0xfe, 0xe1, 0x23, 0x83,
-                0xef, 0xa6, 0x62, 0x02, 0x8e, 0x7a, 0xdf, 0xce, 0xfa, 0x4f, 0x8a, 0xa5, 0x19, 0xf6,
-                0x51, 0xca, 0xb9, 0xbe,
+                0x9d, 0x5f, 0xa7, 0xe0, 0xd8, 0xf7, 0x74, 0x60, 0x8e, 0xbc, 0xff, 0xfc, 0x3f, 0x3c,
+                0x6b, 0x70, 0xf0, 0x23, 0x62, 0x9b, 0xc3, 0x49, 0x2d, 0x11, 0xec, 0x72, 0x59, 0x8e,
+                0x86, 0x88, 0xdb, 0xd4,
             ],
             Elements::InputSequence => [
-                0x9f, 0x7a, 0x66, 0x94, 0xe5, 0x99, 0x13, 0x43, 0x57, 0xc5, 0xee, 0x0b, 0x1e, 0xe6,
-                0xd0, 0xae, 0x5f, 0x95, 0x4d, 0x5c, 0xd1, 0xb1, 0x0e, 0x09, 0x20, 0x19, 0x7a, 0x33,
-                0xec, 0x87, 0x7a, 0x4c,
+                0xdb, 0x04, 0xac, 0x58, 0x04, 0x35, 0xca, 0xcd, 0xd2, 0xe4, 0xab, 0x32, 0x4e, 0xc7,
+                0x01, 0x87, 0xb2, 0x6a, 0x66, 0x86, 0xd8, 0x61, 0x8b, 0xcb, 0xb2, 0x5d, 0x1d, 0x4e,
+                0xca, 0xa9, 0x32, 0xce,
             ],
             Elements::InputSequencesHash => [
-                0x4b, 0x8b, 0x17, 0xe2, 0x5e, 0x91, 0x81, 0x56, 0xd5, 0x62, 0x55, 0x86, 0x01, 0x9a,
-                0xa0, 0xf7, 0x6b, 0x79, 0xa5, 0x3a, 0x24, 0x49, 0x5d, 0xe3, 0xe3, 0x9c, 0x48, 0xbb,
-                0x03, 0x72, 0x2e, 0xda,
+                0xd2, 0x53, 0x8e, 0xf1, 0x5f, 0x5c, 0xf6, 0x02, 0x49, 0xf9, 0x2c, 0x2c, 0x02, 0xf2,
+                0x55, 0x07, 0x2c, 0x1b, 0x4e, 0x4f, 0x1b, 0xa2, 0x86, 0x1e, 0x5d, 0xaa, 0x50, 0x0d,
+                0x5e, 0x78, 0xe3, 0xa5,
             ],
             Elements::InputUtxoHash => [
-                0xd6, 0x45, 0x3a, 0xee, 0xb2, 0xb1, 0x8b, 0x4c, 0x1b, 0xb0, 0x2b, 0x33, 0x51, 0xce,
-                0x51, 0x35, 0x45, 0xcb, 0x7f, 0x10, 0x62, 0xf2, 0xa3, 0xfa, 0xc6, 0x80, 0xd0, 0xbb,
-                0xca, 0xc6, 0x3e, 0x86,
+                0x36, 0x4c, 0x4d, 0xf7, 0x76, 0x5f, 0x7d, 0x30, 0x42, 0x34, 0xa1, 0xf3, 0xb6, 0x2b,
+                0x38, 0x70, 0xa7, 0xa0, 0x50, 0xf4, 0x82, 0x4a, 0xd8, 0xc9, 0x71, 0xc8, 0xfd, 0xc4,
+                0x0c, 0x98, 0x15, 0x5d,
             ],
             Elements::InputUtxosHash => [
-                0xde, 0x24, 0x82, 0x5f, 0xdb, 0x9d, 0x56, 0xda, 0x36, 0x38, 0xbd, 0x48, 0x00, 0x05,
-                0xc3, 0xdb, 0x57, 0x4f, 0xdf, 0x11, 0xc1, 0x53, 0x03, 0xb2, 0x42, 0xe2, 0x9b, 0xdb,
-                0xc5, 0x1d, 0xf3, 0x89,
+                0xd2, 0xc1, 0xff, 0x7f, 0xd1, 0x62, 0x30, 0x44, 0xce, 0xa5, 0x89, 0x20, 0x8b, 0xb2,
+                0x6e, 0x18, 0xe6, 0x7d, 0x6f, 0x75, 0x85, 0x1c, 0x26, 0xbe, 0x5b, 0x2b, 0xaf, 0xc0,
+                0x40, 0xce, 0xff, 0x83,
             ],
             Elements::InputsHash => [
-                0x56, 0x78, 0x27, 0x5e, 0xde, 0x87, 0x21, 0xf1, 0xab, 0xda, 0x5c, 0xb4, 0x60, 0xb3,
-                0x02, 0x38, 0x11, 0xd2, 0x3e, 0x47, 0xcc, 0x1f, 0x11, 0xc1, 0xf4, 0x45, 0x80, 0x35,
-                0xcd, 0xc3, 0xd7, 0xec,
+                0xb4, 0x6c, 0x91, 0xac, 0x9c, 0xfa, 0x6b, 0x9f, 0x08, 0x6c, 0x38, 0x33, 0x59, 0x1b,
+                0xe3, 0x1a, 0xa8, 0x5e, 0x95, 0x1b, 0x2c, 0xe2, 0x1a, 0xf1, 0x17, 0x9d, 0x28, 0x59,
+                0xf7, 0x11, 0x42, 0xb9,
             ],
             Elements::InternalKey => [
-                0x6e, 0x04, 0x87, 0x32, 0x5d, 0xf1, 0xac, 0x05, 0xd2, 0xd7, 0xde, 0xcb, 0xee, 0x3f,
-                0xc1, 0xf5, 0xd6, 0x3d, 0xf0, 0x47, 0xf6, 0x9c, 0x22, 0xb4, 0xd9, 0x3b, 0xc4, 0x7c,
-                0xba, 0xb4, 0x49, 0x41,
+                0xd7, 0x4d, 0xef, 0x82, 0x87, 0x4f, 0xe2, 0xfd, 0x21, 0xaa, 0x39, 0x98, 0xf6, 0x5a,
+                0xa1, 0xaf, 0x33, 0xf7, 0x2a, 0x5b, 0x1b, 0x3f, 0x47, 0xb7, 0x3a, 0xdc, 0x39, 0xeb,
+                0xfb, 0x3a, 0x4e, 0x9b,
             ],
             Elements::IsOne16 => [
-                0x87, 0x7c, 0xd0, 0x01, 0xd5, 0xe7, 0xb7, 0x4e, 0xdd, 0x1a, 0x4a, 0x5c, 0x96, 0x56,
-                0x41, 0xd4, 0xfb, 0x53, 0x68, 0x2d, 0x7f, 0xef, 0xae, 0x50, 0xb5, 0x14, 0x12, 0x18,
-                0xc0, 0x4b, 0xe5, 0xaf,
+                0xa6, 0x86, 0xb2, 0x5c, 0x80, 0xa2, 0x1f, 0x78, 0xfb, 0x30, 0x74, 0xc0, 0xf9, 0x76,
+                0xdc, 0x0b, 0x8f, 0xe1, 0x06, 0xc1, 0x3d, 0xca, 0x01, 0xcb, 0xd6, 0xb4, 0xae, 0xf6,
+                0xd0, 0x4f, 0x26, 0x43,
             ],
             Elements::IsOne32 => [
-                0x83, 0x35, 0x4e, 0x97, 0xd6, 0x14, 0x60, 0x0a, 0x49, 0x89, 0x4e, 0xc2, 0xc9, 0xd1,
-                0x98, 0x0f, 0x9c, 0x4c, 0x92, 0x8c, 0x15, 0x61, 0xee, 0xca, 0xc9, 0x9c, 0x16, 0x81,
-                0x9c, 0x2b, 0x07, 0x91,
+                0xfc, 0xfa, 0xdf, 0x11, 0xd7, 0xb1, 0xbb, 0x23, 0x9f, 0x29, 0xd1, 0xca, 0x9f, 0xdc,
+                0xf3, 0x5b, 0x72, 0x8a, 0x1a, 0x62, 0x23, 0x76, 0x07, 0x1d, 0x3c, 0x4d, 0x88, 0xa1,
+                0x3b, 0x12, 0x26, 0x84,
             ],
             Elements::IsOne64 => [
-                0xb3, 0x55, 0xf6, 0x02, 0xec, 0x76, 0xc4, 0xc4, 0xce, 0x70, 0x77, 0x20, 0xfd, 0x54,
-                0x34, 0x32, 0x22, 0xa7, 0xc8, 0xcf, 0xca, 0x43, 0x94, 0x51, 0xf2, 0x3f, 0x98, 0x54,
-                0x39, 0x50, 0x78, 0xba,
+                0xcf, 0x69, 0x10, 0x72, 0x37, 0x54, 0xba, 0x79, 0x43, 0x95, 0xda, 0x5d, 0x58, 0xd6,
+                0x1c, 0x19, 0x00, 0x3e, 0x45, 0xee, 0xcf, 0xbf, 0xc9, 0x0d, 0x49, 0xfe, 0x65, 0x7f,
+                0x60, 0x7c, 0x45, 0x1c,
             ],
             Elements::IsOne8 => [
-                0xf2, 0x45, 0x9c, 0xf3, 0x5b, 0x97, 0x20, 0x29, 0xfb, 0xb2, 0x2e, 0x82, 0x19, 0x1a,
-                0xce, 0x11, 0x73, 0x2b, 0x1e, 0x08, 0x34, 0x6e, 0x21, 0xcf, 0x0d, 0x30, 0x5b, 0x41,
-                0xfa, 0xe8, 0x79, 0x90,
+                0x56, 0xa2, 0x2d, 0x0e, 0xcb, 0x20, 0x86, 0xd4, 0x3d, 0x52, 0xfd, 0x1d, 0x46, 0x69,
+                0x8a, 0xd4, 0x42, 0x6f, 0x92, 0x35, 0x6a, 0x14, 0xce, 0x06, 0x50, 0x94, 0x1e, 0x52,
+                0x07, 0x2c, 0x96, 0xa8,
             ],
             Elements::IsZero16 => [
-                0x6e, 0xd0, 0x33, 0x25, 0x6f, 0xe6, 0x45, 0xb5, 0xec, 0x3f, 0x59, 0x50, 0x8c, 0x60,
-                0x19, 0x2a, 0xc8, 0x76, 0x30, 0x08, 0x91, 0x5c, 0x81, 0x15, 0xe9, 0x29, 0x33, 0x0c,
-                0x0f, 0xcd, 0x48, 0x38,
+                0xf4, 0x9a, 0xbd, 0xbd, 0x6a, 0x3f, 0x17, 0xc8, 0x7d, 0xba, 0xbd, 0x40, 0xe6, 0x61,
+                0x1c, 0x47, 0x7d, 0x43, 0x17, 0x71, 0x90, 0x56, 0x45, 0xef, 0xd3, 0xb2, 0x2d, 0x37,
+                0x91, 0xab, 0xe6, 0xbd,
             ],
             Elements::IsZero32 => [
-                0x1a, 0xf3, 0x58, 0xa0, 0x6b, 0xe9, 0x3a, 0xc6, 0xf3, 0x7c, 0xbb, 0x7d, 0x25, 0x4d,
-                0x7b, 0xf9, 0xd7, 0x18, 0x77, 0x38, 0xba, 0xf1, 0xf2, 0x5d, 0x0b, 0x67, 0xc9, 0xff,
-                0xe0, 0x0f, 0x6a, 0x62,
+                0x93, 0x5d, 0x13, 0xda, 0x64, 0x19, 0x0a, 0x36, 0x04, 0x73, 0x5a, 0xf8, 0x40, 0x21,
+                0xbc, 0x12, 0x50, 0x34, 0x97, 0xee, 0x4b, 0x0f, 0xf4, 0xb7, 0x38, 0xfc, 0x84, 0x7e,
+                0x9d, 0x34, 0x19, 0x21,
             ],
             Elements::IsZero64 => [
-                0xc1, 0x10, 0x0c, 0xfc, 0x16, 0x20, 0x3c, 0xa4, 0x44, 0xf1, 0x60, 0x82, 0x64, 0x5b,
-                0x72, 0x4d, 0x3e, 0xcd, 0x23, 0xdf, 0x5d, 0x0c, 0xcf, 0x91, 0xf3, 0x5c, 0x5d, 0x9b,
-                0x5a, 0x02, 0xa2, 0xf2,
+                0xe9, 0xb5, 0x74, 0x75, 0x13, 0x30, 0xf9, 0xfe, 0xae, 0xa5, 0x2a, 0xe4, 0xcd, 0xd3,
+                0xa2, 0xe4, 0x6a, 0x99, 0x9c, 0x4f, 0x41, 0xc8, 0xb5, 0x24, 0x00, 0x2c, 0x68, 0x05,
+                0x66, 0x58, 0x46, 0x21,
             ],
             Elements::IsZero8 => [
-                0x4d, 0x58, 0x68, 0x0d, 0x8e, 0x1e, 0x86, 0x18, 0xc4, 0x3c, 0xe5, 0x25, 0xf7, 0x86,
-                0x61, 0xa3, 0x01, 0x48, 0x67, 0x58, 0x61, 0xa6, 0x12, 0xd1, 0xbf, 0xcf, 0xe3, 0xbb,
-                0x5f, 0xa4, 0xca, 0x95,
+                0xfd, 0x7f, 0xc5, 0x05, 0xc2, 0x24, 0xe8, 0xbc, 0x02, 0x08, 0x7f, 0x9e, 0xeb, 0xc4,
+                0x85, 0xe9, 0x97, 0xca, 0x15, 0x37, 0x48, 0xc7, 0x81, 0x12, 0x2e, 0x1b, 0x9a, 0xc0,
+                0xfd, 0x94, 0xb9, 0x32,
             ],
             Elements::Issuance => [
-                0x1d, 0xd0, 0x33, 0xd3, 0x2c, 0xd8, 0xe8, 0x90, 0x2f, 0x5e, 0xcb, 0x18, 0x33, 0x85,
-                0xec, 0x2b, 0x0c, 0x27, 0xda, 0x38, 0xae, 0x8e, 0x7b, 0x59, 0x3f, 0x68, 0xf9, 0xb1,
-                0xa4, 0xe6, 0x20, 0x51,
+                0x91, 0x1e, 0x87, 0x39, 0x8f, 0x08, 0xb9, 0xac, 0x83, 0x51, 0xc8, 0xef, 0x62, 0xc1,
+                0xa1, 0x14, 0x8c, 0xa6, 0xff, 0xc7, 0x7a, 0x4b, 0xc3, 0x78, 0x3b, 0x8e, 0x07, 0x39,
+                0xeb, 0xb6, 0x19, 0x4e,
             ],
             Elements::IssuanceAsset => [
-                0x7a, 0x36, 0x99, 0xd0, 0x71, 0x03, 0x0b, 0x58, 0xd9, 0xf4, 0x1a, 0xe1, 0x1c, 0x63,
-                0x7b, 0xac, 0x97, 0x78, 0x49, 0xf6, 0x9a, 0x04, 0x87, 0xb1, 0x9d, 0x23, 0x36, 0xd1,
-                0xa7, 0xc6, 0xb7, 0x05,
+                0xc3, 0xd6, 0x42, 0xda, 0x70, 0x92, 0xda, 0x2a, 0x37, 0xa2, 0xd5, 0xb6, 0x39, 0x7f,
+                0x6b, 0x04, 0x77, 0x02, 0xe3, 0x54, 0x6e, 0x89, 0x87, 0x38, 0x46, 0x58, 0x79, 0x12,
+                0xd7, 0x09, 0xdd, 0xbc,
             ],
             Elements::IssuanceAssetAmount => [
-                0x75, 0xbd, 0x99, 0x55, 0x9c, 0x02, 0x2d, 0xbf, 0x5d, 0x5c, 0xf9, 0x51, 0xcb, 0x33,
-                0xea, 0x37, 0x05, 0x05, 0x8b, 0xf8, 0x1f, 0xbc, 0x74, 0xd5, 0x9b, 0xbf, 0xba, 0x9e,
-                0x37, 0xa1, 0xbe, 0x0d,
+                0x25, 0xc5, 0x72, 0xdb, 0x81, 0xb0, 0xac, 0x54, 0x58, 0x80, 0x4a, 0xc3, 0x3a, 0x57,
+                0xc0, 0x0d, 0x11, 0xc7, 0x2a, 0x10, 0x4c, 0x0d, 0x9c, 0xf7, 0x42, 0x26, 0xe4, 0x44,
+                0x04, 0x9b, 0xcc, 0x83,
             ],
             Elements::IssuanceAssetAmountsHash => [
-                0x8c, 0x09, 0x0d, 0x1a, 0x32, 0xb3, 0x2b, 0x27, 0x1f, 0xa3, 0x76, 0xa3, 0xba, 0x30,
-                0x36, 0x16, 0x8c, 0x0f, 0x62, 0xf9, 0xa4, 0x46, 0xac, 0xe2, 0x9b, 0x35, 0x45, 0xc9,
-                0xe5, 0x1f, 0x3e, 0x47,
+                0x37, 0x9a, 0x9f, 0x69, 0x9a, 0xed, 0x34, 0x7a, 0xc1, 0x36, 0x99, 0xcf, 0x8c, 0x13,
+                0xe4, 0x97, 0x8a, 0x0e, 0x05, 0x25, 0xfa, 0x09, 0xab, 0x3c, 0x46, 0xd5, 0x4c, 0x3b,
+                0xb8, 0x48, 0x91, 0x3c,
             ],
             Elements::IssuanceAssetProof => [
-                0xc0, 0x48, 0x20, 0x71, 0x1d, 0xc2, 0x5a, 0xb0, 0x61, 0xda, 0x6d, 0xe8, 0x32, 0x78,
-                0x8d, 0x6d, 0xbf, 0xb5, 0x4c, 0xfe, 0xea, 0xfd, 0xdb, 0x7e, 0x1e, 0xae, 0x60, 0x85,
-                0x0a, 0x76, 0x6e, 0xe9,
+                0xe2, 0xac, 0x38, 0xbc, 0x94, 0x45, 0xfa, 0xdc, 0x55, 0xc9, 0x84, 0x1e, 0xc6, 0xf8,
+                0x42, 0x82, 0x30, 0x66, 0xf6, 0x47, 0x77, 0x6e, 0xaa, 0x03, 0xbf, 0xf5, 0x8d, 0x14,
+                0x31, 0x71, 0x11, 0x7c,
             ],
             Elements::IssuanceBlindingEntropyHash => [
-                0x3c, 0x42, 0x9f, 0xa6, 0x28, 0xe1, 0x2c, 0xcf, 0x9f, 0x16, 0x7a, 0x07, 0xe2, 0x6f,
-                0x70, 0xaf, 0x36, 0xcb, 0x34, 0x59, 0x96, 0x4d, 0xbc, 0x14, 0x2b, 0x52, 0x4d, 0x40,
-                0x9d, 0xb1, 0x69, 0x9b,
+                0x53, 0x32, 0x10, 0x92, 0xa0, 0x25, 0x1a, 0x3b, 0x57, 0xc5, 0x8a, 0xc4, 0x47, 0x91,
+                0x91, 0xe3, 0x1d, 0xbb, 0x12, 0x39, 0x24, 0x7b, 0x3c, 0x1e, 0xb5, 0x76, 0x1b, 0x48,
+                0x22, 0xb3, 0xbb, 0x57,
             ],
             Elements::IssuanceEntropy => [
-                0x61, 0xf3, 0x14, 0x55, 0xd9, 0x98, 0x28, 0x01, 0x25, 0xdf, 0x98, 0xe5, 0x98, 0x3d,
-                0x72, 0xf5, 0xfb, 0xfd, 0xd6, 0x5c, 0x63, 0x69, 0xa0, 0xe7, 0x8d, 0x07, 0x70, 0x2f,
-                0x28, 0xe2, 0xff, 0x5e,
+                0xbc, 0x88, 0xdc, 0x73, 0xc2, 0x7d, 0x93, 0x95, 0xd3, 0xb4, 0x4c, 0x2e, 0x38, 0x9f,
+                0xa1, 0xc5, 0x46, 0xa8, 0xfe, 0x78, 0x22, 0x60, 0x7e, 0x26, 0xa6, 0xc4, 0xc5, 0xc8,
+                0xbf, 0xca, 0xd6, 0x28,
             ],
             Elements::IssuanceHash => [
-                0x3a, 0x7c, 0x8e, 0xa2, 0xde, 0x57, 0x98, 0x79, 0x27, 0x5b, 0xf1, 0xbe, 0xa7, 0xbe,
-                0x52, 0x79, 0xe7, 0x03, 0xa3, 0x6d, 0xc5, 0xf4, 0xe4, 0x88, 0x53, 0xa3, 0xaf, 0x9b,
-                0x0c, 0x50, 0x1b, 0x66,
+                0xb0, 0xf1, 0xf8, 0x5a, 0x33, 0xeb, 0x40, 0x65, 0xb4, 0x1b, 0x5e, 0x14, 0xa8, 0x17,
+                0xa2, 0x1d, 0xea, 0x01, 0x23, 0x0c, 0x53, 0x4c, 0x63, 0x4d, 0x0f, 0x6f, 0x62, 0xb2,
+                0x79, 0x37, 0x46, 0x92,
             ],
             Elements::IssuanceRangeProofsHash => [
-                0xe0, 0x5a, 0x29, 0xd1, 0x71, 0x61, 0x10, 0x5e, 0x3b, 0x52, 0x21, 0xf4, 0xeb, 0xae,
-                0x70, 0x2b, 0x0c, 0x4c, 0x72, 0xb6, 0xcb, 0x70, 0xdf, 0xde, 0xe2, 0xdc, 0x60, 0x7b,
-                0xa8, 0xa8, 0xcf, 0x72,
+                0x46, 0xc8, 0x0e, 0x30, 0x1a, 0x3d, 0x76, 0xd4, 0xd3, 0x6a, 0xb0, 0x17, 0xbd, 0x0e,
+                0xca, 0x7e, 0x4b, 0x5f, 0xf2, 0x44, 0x70, 0x6e, 0x73, 0xa1, 0xd4, 0x15, 0xc9, 0x58,
+                0x57, 0x8c, 0xd9, 0xd1,
             ],
             Elements::IssuanceToken => [
-                0x0c, 0x7e, 0x9b, 0x99, 0xf9, 0xec, 0x40, 0xf6, 0x70, 0x20, 0xf8, 0x3e, 0x73, 0x67,
-                0xdb, 0x45, 0x88, 0x03, 0x8e, 0xcd, 0x1b, 0x31, 0x24, 0xb9, 0x5b, 0xe9, 0x82, 0x67,
-                0xd5, 0xf3, 0x48, 0xc8,
+                0x35, 0x6e, 0x77, 0xc8, 0x95, 0x27, 0x40, 0xae, 0xfa, 0x93, 0x15, 0xa2, 0xc4, 0xe0,
+                0x87, 0x99, 0x12, 0x9f, 0x9a, 0x43, 0xf9, 0x76, 0xe0, 0xfe, 0xaf, 0x7a, 0x60, 0xc3,
+                0x9d, 0x98, 0x07, 0xcc,
             ],
             Elements::IssuanceTokenAmount => [
-                0x95, 0x54, 0xcc, 0xd2, 0x41, 0x7e, 0xd6, 0xb3, 0x75, 0xb1, 0x78, 0x83, 0xf7, 0xe9,
-                0x85, 0x57, 0xe4, 0x48, 0xd8, 0x04, 0xcc, 0xec, 0x8d, 0xc6, 0xa3, 0xa3, 0x8c, 0x60,
-                0xf2, 0xf4, 0x09, 0x7a,
+                0x82, 0x6f, 0x0c, 0x44, 0x48, 0x27, 0xf6, 0x04, 0x2f, 0xac, 0x0c, 0x3e, 0xd3, 0x4f,
+                0xf6, 0x23, 0x6d, 0xa3, 0xa5, 0x25, 0xf6, 0x8d, 0x5f, 0x2c, 0xd1, 0xbe, 0x55, 0xf4,
+                0xa2, 0xd5, 0x95, 0x31,
             ],
             Elements::IssuanceTokenAmountsHash => [
-                0x19, 0x5e, 0x76, 0x66, 0x1a, 0x78, 0xbc, 0x69, 0x1e, 0xf0, 0x13, 0x9e, 0x1f, 0x36,
-                0x6a, 0x96, 0x6f, 0x75, 0x58, 0x4a, 0xb7, 0x76, 0x8d, 0xc7, 0x8f, 0xff, 0xab, 0xde,
-                0x15, 0x56, 0x01, 0xf6,
+                0x14, 0x4d, 0xfd, 0x45, 0xfb, 0xa3, 0x21, 0x09, 0xf5, 0xde, 0xae, 0x01, 0x8b, 0x61,
+                0xcd, 0x66, 0x37, 0x82, 0xd9, 0xbc, 0xe6, 0xb3, 0x82, 0x58, 0xa4, 0x05, 0xd2, 0x04,
+                0x9c, 0x5d, 0x4a, 0xf9,
             ],
             Elements::IssuanceTokenProof => [
-                0x9b, 0xd4, 0x5c, 0x77, 0x4d, 0x41, 0xd2, 0x08, 0x96, 0x8d, 0x9a, 0xde, 0x7d, 0x28,
-                0x0d, 0xeb, 0x05, 0xc2, 0x69, 0x9a, 0xb2, 0xb8, 0x70, 0xeb, 0xe6, 0xf4, 0x4a, 0xc3,
-                0xb5, 0x2e, 0xc8, 0xfe,
+                0x8a, 0x25, 0x4d, 0x11, 0x89, 0xf1, 0x2d, 0xf8, 0x4f, 0x15, 0xfe, 0xd9, 0x5a, 0xc2,
+                0x94, 0xd5, 0xd9, 0x56, 0x26, 0x8e, 0x80, 0xbb, 0xdf, 0xbb, 0x4c, 0xa2, 0xd5, 0x98,
+                0xa1, 0x53, 0x49, 0xa4,
             ],
             Elements::IssuancesHash => [
-                0x9a, 0xb9, 0xfd, 0x03, 0xff, 0x1c, 0x69, 0x58, 0x61, 0x74, 0xbc, 0x26, 0xa8, 0x87,
-                0x64, 0xf0, 0xdf, 0x9c, 0xc7, 0xdd, 0x6e, 0x61, 0xf3, 0xdc, 0x3e, 0x42, 0x66, 0x60,
-                0xf0, 0x91, 0x22, 0x30,
+                0xee, 0xbb, 0xeb, 0x65, 0xb7, 0x0c, 0x61, 0x10, 0xc8, 0xa2, 0x2b, 0x4d, 0x31, 0x97,
+                0xb6, 0xd2, 0x11, 0x0d, 0x23, 0x76, 0x9a, 0x08, 0x49, 0x23, 0x8a, 0xbc, 0x65, 0xd4,
+                0x10, 0xcf, 0x04, 0xf0,
             ],
             Elements::LbtcAsset => [
-                0x49, 0x5d, 0xd0, 0xa1, 0xcb, 0x39, 0xee, 0x84, 0xff, 0x45, 0xe1, 0xdf, 0x3d, 0xb4,
-                0xb6, 0x9d, 0xe2, 0x7c, 0x37, 0xc3, 0x6d, 0x69, 0xb3, 0x12, 0x97, 0x6c, 0x43, 0xf5,
-                0x0e, 0x5d, 0x94, 0x1a,
+                0xdf, 0x9b, 0xcd, 0x3f, 0x9d, 0xe3, 0xd2, 0x46, 0x46, 0x58, 0xdb, 0x84, 0x90, 0x38,
+                0x69, 0x2e, 0x33, 0x89, 0xbf, 0x22, 0x86, 0xde, 0x8e, 0x17, 0xa5, 0x67, 0xea, 0x11,
+                0xc0, 0x2e, 0x9a, 0xac,
             ],
             Elements::Le16 => [
-                0xd6, 0x17, 0xfe, 0xea, 0xfd, 0x6f, 0xfc, 0x23, 0xfe, 0xff, 0xbe, 0x70, 0x12, 0xce,
-                0x3a, 0x03, 0x02, 0xd4, 0xd1, 0x11, 0x66, 0x58, 0x22, 0xb3, 0x04, 0xb7, 0x9a, 0xdb,
-                0xcc, 0x9a, 0x16, 0xd7,
+                0x98, 0xaf, 0x70, 0xd8, 0x94, 0xf3, 0xd4, 0x39, 0xbe, 0x06, 0x01, 0xe2, 0x4a, 0x33,
+                0xf0, 0x65, 0x0d, 0x23, 0x65, 0xbc, 0xf0, 0x23, 0x02, 0x88, 0x62, 0xeb, 0xfd, 0xa4,
+                0xd5, 0x0a, 0x2d, 0xca,
             ],
             Elements::Le32 => [
-                0x45, 0x74, 0x5c, 0x5b, 0xc7, 0xf8, 0x97, 0x8f, 0x85, 0xb1, 0xb1, 0x4d, 0x49, 0x4a,
-                0xf2, 0x1a, 0x8a, 0x51, 0xcc, 0xd8, 0x7f, 0x3f, 0xed, 0xe9, 0x59, 0x74, 0x95, 0x91,
-                0x32, 0xae, 0xf9, 0xce,
+                0x04, 0xa8, 0x35, 0x1a, 0x4c, 0x97, 0xd3, 0xb5, 0xde, 0x4f, 0x91, 0xb2, 0xe9, 0x73,
+                0x9d, 0x9b, 0x3c, 0xc6, 0xad, 0x49, 0xca, 0x07, 0x10, 0x9c, 0x2c, 0xc4, 0x91, 0x8f,
+                0xaf, 0xac, 0x66, 0xb5,
             ],
             Elements::Le64 => [
-                0x3a, 0x8f, 0x08, 0x70, 0x90, 0x0a, 0xf7, 0x1d, 0x42, 0x42, 0xfe, 0x26, 0xad, 0x4d,
-                0xfb, 0xed, 0x92, 0xf3, 0x0b, 0xb7, 0x9b, 0x72, 0x73, 0x7d, 0xbc, 0xab, 0x9a, 0xc5,
-                0xc0, 0x70, 0xab, 0xe5,
+                0x19, 0x4c, 0x01, 0xd8, 0xaa, 0x68, 0x95, 0x17, 0x11, 0xe6, 0x15, 0x14, 0x0e, 0x2b,
+                0x5a, 0xce, 0x42, 0x6d, 0xac, 0xd1, 0xfd, 0x6d, 0x86, 0xc7, 0xa7, 0x2f, 0x3a, 0xaa,
+                0x08, 0x9c, 0x24, 0x67,
             ],
             Elements::Le8 => [
-                0x5e, 0xcc, 0x9b, 0x33, 0x25, 0x44, 0x67, 0x49, 0xaf, 0xa4, 0x09, 0x65, 0xea, 0x21,
-                0xe0, 0x11, 0x18, 0xfb, 0x8c, 0x1a, 0xdc, 0xdc, 0x11, 0x21, 0x97, 0x93, 0xcb, 0x2a,
-                0xfc, 0x4a, 0x7e, 0x8c,
+                0xb1, 0x33, 0xad, 0x2d, 0x1a, 0x61, 0x78, 0xb1, 0x98, 0x94, 0xc9, 0xdc, 0xe5, 0x92,
+                0x4c, 0x19, 0x9a, 0x04, 0x5f, 0xab, 0x4e, 0x38, 0x8f, 0x16, 0x9a, 0xe1, 0xd8, 0x69,
+                0x81, 0x14, 0x9a, 0x8b,
             ],
             Elements::LeftExtend16_32 => [
-                0x8c, 0x99, 0x04, 0x35, 0xb1, 0x35, 0xde, 0x74, 0x57, 0xc2, 0x69, 0x0d, 0x2d, 0xc8,
-                0x74, 0x4a, 0x50, 0x66, 0x41, 0xb8, 0x81, 0xf4, 0x1e, 0x5c, 0x17, 0x02, 0x77, 0x65,
-                0xc3, 0x52, 0xdd, 0xcb,
+                0x9d, 0xbb, 0x9d, 0x79, 0x97, 0xc1, 0xb1, 0xfa, 0x59, 0x13, 0x1e, 0x79, 0xaa, 0xd1,
+                0x6b, 0x9f, 0xca, 0x81, 0xc4, 0x68, 0x32, 0x2d, 0x56, 0xcc, 0x0e, 0x71, 0xfa, 0x05,
+                0xdd, 0x80, 0xc9, 0x6c,
             ],
             Elements::LeftExtend16_64 => [
-                0x9b, 0x9f, 0xf9, 0xcc, 0x27, 0x13, 0x93, 0x19, 0xb2, 0x24, 0xb7, 0xb2, 0xb8, 0x16,
-                0xc9, 0x13, 0xa5, 0x68, 0xbf, 0xd0, 0x0b, 0xe1, 0xf3, 0x83, 0xc0, 0x26, 0xbc, 0xff,
-                0xe9, 0xbf, 0xe7, 0x12,
+                0x5d, 0x33, 0x29, 0xd2, 0xc2, 0x9b, 0xe1, 0x04, 0xde, 0x74, 0xdd, 0xaf, 0xc9, 0xb2,
+                0x2f, 0xf6, 0x5d, 0x26, 0x8b, 0xa2, 0xcc, 0xdd, 0xa6, 0x77, 0xe8, 0xfb, 0xfc, 0x65,
+                0x01, 0x30, 0xa3, 0x71,
             ],
             Elements::LeftExtend1_16 => [
-                0xb8, 0xff, 0x8d, 0xc1, 0xa0, 0x4c, 0xa7, 0x16, 0x49, 0x17, 0xf4, 0xc4, 0x50, 0x68,
-                0x8c, 0x83, 0xdd, 0x41, 0x6c, 0xef, 0x7b, 0x0f, 0xab, 0xdd, 0x16, 0x92, 0xfa, 0xe6,
-                0xbf, 0xf7, 0xb4, 0xa6,
+                0x74, 0xee, 0x5a, 0x71, 0x88, 0x9e, 0x97, 0xc0, 0x3d, 0x9b, 0x90, 0x4c, 0x67, 0x9f,
+                0xf7, 0xf2, 0xe8, 0xc7, 0x41, 0x0e, 0x6d, 0xc7, 0x48, 0xe0, 0xb5, 0x48, 0xeb, 0xfd,
+                0x96, 0x03, 0xd1, 0xad,
             ],
             Elements::LeftExtend1_32 => [
-                0x22, 0x53, 0xa4, 0x52, 0xb9, 0x99, 0x02, 0xab, 0xcf, 0x15, 0x49, 0x6d, 0xf1, 0x9d,
-                0x31, 0x12, 0xa1, 0xce, 0xf5, 0x9b, 0x9a, 0xdc, 0xee, 0x20, 0x6c, 0x0d, 0x8d, 0xce,
-                0xa6, 0x28, 0xd0, 0x73,
+                0x97, 0xac, 0x64, 0x03, 0xdf, 0x61, 0xc7, 0x84, 0x13, 0x96, 0xc9, 0x3e, 0x14, 0x1f,
+                0xaf, 0xc2, 0xa0, 0x96, 0x6e, 0x3e, 0x49, 0x74, 0x87, 0x7b, 0x9e, 0x94, 0x2b, 0xe5,
+                0x9c, 0x78, 0xc8, 0x00,
             ],
             Elements::LeftExtend1_64 => [
-                0xc8, 0x59, 0x9c, 0x85, 0x75, 0xed, 0xb7, 0xc2, 0x60, 0x40, 0x2e, 0xf2, 0xf2, 0x6d,
-                0xd4, 0x91, 0xcb, 0x5e, 0x4d, 0x38, 0x18, 0xff, 0x2e, 0x95, 0x85, 0xc8, 0xd3, 0xe7,
-                0x81, 0x2d, 0xb5, 0xaa,
+                0x54, 0x8a, 0xeb, 0x2b, 0x27, 0xb9, 0xef, 0x2a, 0x0b, 0xec, 0x50, 0xb6, 0x38, 0x52,
+                0xfe, 0x24, 0x54, 0x9e, 0x60, 0xa7, 0x43, 0xb9, 0x78, 0x9e, 0xc9, 0x8a, 0xd4, 0xf8,
+                0x73, 0x77, 0x13, 0xed,
             ],
             Elements::LeftExtend1_8 => [
-                0xcf, 0xe0, 0x22, 0x00, 0x5f, 0x6b, 0xad, 0x4b, 0x25, 0xb5, 0x1e, 0x9e, 0xbe, 0x92,
-                0x94, 0x24, 0x37, 0x3f, 0xf1, 0x97, 0xce, 0xca, 0x62, 0xb9, 0xe0, 0x69, 0xab, 0x08,
-                0xda, 0x9f, 0x38, 0xf2,
+                0x74, 0x88, 0xda, 0x61, 0x1c, 0xfc, 0xdf, 0xa4, 0xff, 0x3d, 0x63, 0xf8, 0xc3, 0x6d,
+                0x5a, 0x62, 0x9c, 0x58, 0x7e, 0x92, 0x20, 0xbd, 0x98, 0x9b, 0xda, 0x72, 0x06, 0x78,
+                0xa9, 0xc9, 0x7b, 0xf7,
             ],
             Elements::LeftExtend32_64 => [
-                0x3f, 0x66, 0x84, 0x04, 0x7e, 0xda, 0xfb, 0x76, 0xf1, 0x1f, 0xbf, 0x59, 0x54, 0x99,
-                0xc5, 0xab, 0xa9, 0xc4, 0xba, 0x55, 0xca, 0xb5, 0x87, 0xcd, 0xfe, 0xba, 0xd4, 0x57,
-                0xb5, 0x5b, 0xf5, 0xbb,
+                0x34, 0x33, 0x50, 0x9a, 0x5d, 0xe5, 0x69, 0x5d, 0x92, 0xca, 0xb9, 0x25, 0x51, 0x43,
+                0xd6, 0x06, 0x67, 0x05, 0x68, 0xc1, 0x47, 0xf4, 0x74, 0xd1, 0x35, 0x93, 0xf5, 0x39,
+                0x5b, 0x9a, 0xd2, 0xc1,
             ],
             Elements::LeftExtend8_16 => [
-                0xdb, 0xd5, 0x5f, 0x41, 0x70, 0x15, 0x38, 0x53, 0xba, 0xd0, 0xe0, 0x84, 0xf9, 0xe1,
-                0xa7, 0xe7, 0x5a, 0x7a, 0x0d, 0xc9, 0xd8, 0x92, 0x07, 0x75, 0x57, 0x5b, 0x0d, 0x48,
-                0xe5, 0x07, 0xaf, 0x2f,
+                0x42, 0x0d, 0x0a, 0x56, 0x99, 0xb8, 0x87, 0x5a, 0xcc, 0x2d, 0x18, 0xfd, 0xa9, 0x0c,
+                0x8a, 0x72, 0x74, 0x6d, 0x3e, 0x5e, 0x0c, 0xd8, 0xc1, 0x81, 0x89, 0x7a, 0x81, 0x4c,
+                0x4c, 0x43, 0x39, 0x69,
             ],
             Elements::LeftExtend8_32 => [
-                0x5b, 0x5b, 0x45, 0x67, 0x6a, 0x75, 0x03, 0xee, 0xd0, 0x85, 0x57, 0x38, 0x69, 0xdb,
-                0xc5, 0x80, 0x0b, 0x35, 0x02, 0x9d, 0x14, 0x02, 0x90, 0xac, 0x20, 0x89, 0x14, 0x89,
-                0xbd, 0x2a, 0xa7, 0xd5,
+                0xc3, 0x0e, 0x47, 0x5d, 0x46, 0x50, 0xab, 0xe4, 0xae, 0x15, 0xc3, 0x27, 0x4a, 0xe8,
+                0x83, 0x8d, 0xd5, 0x15, 0x88, 0xd1, 0x5b, 0xd0, 0xc6, 0xdc, 0xac, 0xf9, 0x82, 0xaa,
+                0x46, 0x7b, 0xea, 0x62,
             ],
             Elements::LeftExtend8_64 => [
-                0x7b, 0x9e, 0xa1, 0x48, 0xa3, 0x0f, 0x2a, 0xf4, 0xd4, 0x00, 0x1d, 0x4f, 0x25, 0xb0,
-                0xbf, 0x4f, 0xdd, 0x67, 0xc7, 0xd0, 0xf1, 0x34, 0xd7, 0xef, 0x3f, 0x67, 0x8f, 0x72,
-                0x19, 0x00, 0x2b, 0xcf,
+                0xa6, 0x3a, 0x6e, 0x66, 0x72, 0xe1, 0xb6, 0xc7, 0x56, 0x54, 0x9a, 0x3e, 0xee, 0x01,
+                0x94, 0x8e, 0x71, 0x19, 0x94, 0xfe, 0x18, 0xd7, 0xca, 0xed, 0xf1, 0x09, 0x15, 0xc1,
+                0x60, 0xd7, 0xa8, 0x0d,
             ],
             Elements::LeftPadHigh16_32 => [
-                0xe8, 0xc2, 0xd8, 0x5a, 0x7b, 0x7b, 0x2a, 0x8e, 0xbb, 0x5b, 0x0f, 0x21, 0x2f, 0xc8,
-                0x45, 0x0d, 0xc1, 0xd3, 0xa4, 0x68, 0x22, 0xfb, 0x21, 0xe8, 0x6e, 0x3f, 0xee, 0x02,
-                0x0a, 0xf9, 0x73, 0x8f,
+                0x72, 0xec, 0xa5, 0xc1, 0x13, 0x74, 0x3e, 0xf0, 0xb6, 0x02, 0x55, 0xce, 0x56, 0x78,
+                0x77, 0x72, 0xc7, 0xe7, 0x5e, 0xec, 0xb0, 0xe3, 0xb9, 0x1e, 0x1a, 0x84, 0x7d, 0x75,
+                0xf4, 0x85, 0x14, 0x87,
             ],
             Elements::LeftPadHigh16_64 => [
-                0x61, 0x3b, 0x85, 0xd2, 0xa7, 0x51, 0xb3, 0xe5, 0x1f, 0xbc, 0x59, 0xa1, 0xde, 0xdd,
-                0x1f, 0xc7, 0x93, 0x36, 0x5e, 0x40, 0x71, 0xdc, 0x1e, 0x01, 0x41, 0x08, 0xd8, 0x92,
-                0x0d, 0x41, 0xd4, 0x70,
+                0xf6, 0xaf, 0x32, 0xbf, 0xe6, 0x69, 0x76, 0x11, 0x57, 0xce, 0xb1, 0xe8, 0x30, 0x27,
+                0x7d, 0x61, 0x0e, 0x12, 0x4f, 0x15, 0xd5, 0x08, 0x68, 0x5e, 0x40, 0x37, 0xf8, 0xfb,
+                0x38, 0x8f, 0xbd, 0xa9,
             ],
             Elements::LeftPadHigh1_16 => [
-                0xe8, 0x2b, 0x00, 0xef, 0xd7, 0xdc, 0xc3, 0x4e, 0x96, 0xe8, 0xf3, 0xe5, 0x1e, 0xad,
-                0x12, 0xd3, 0x84, 0x5f, 0x6c, 0x77, 0x85, 0xe4, 0x43, 0x8b, 0x05, 0x45, 0x7d, 0x95,
-                0x32, 0x6e, 0x59, 0xe3,
+                0xa7, 0xef, 0x7f, 0xc5, 0x2d, 0x9a, 0x03, 0x21, 0xf9, 0x22, 0x14, 0xc5, 0x87, 0x68,
+                0x9c, 0x12, 0x69, 0x6e, 0x4c, 0x46, 0x02, 0xbf, 0x53, 0x95, 0x81, 0xaf, 0xaa, 0xeb,
+                0xd7, 0x79, 0x45, 0xd6,
             ],
             Elements::LeftPadHigh1_32 => [
-                0x88, 0x58, 0x5b, 0x8c, 0x45, 0x92, 0xd5, 0xd0, 0x83, 0xdf, 0xf6, 0x8e, 0xb5, 0xc2,
-                0x30, 0xd0, 0x6c, 0x37, 0x99, 0x5a, 0x6f, 0xed, 0xe2, 0x2c, 0x26, 0xe6, 0x61, 0xa7,
-                0x51, 0x6e, 0x5b, 0xf4,
+                0xb5, 0x48, 0x26, 0x36, 0xc7, 0xaf, 0x61, 0xf6, 0x88, 0xf1, 0x2b, 0x4d, 0xce, 0x20,
+                0x9f, 0xcb, 0x1a, 0x73, 0x2c, 0x49, 0x0a, 0xbb, 0x23, 0x6e, 0x73, 0x96, 0x8a, 0x01,
+                0xd4, 0xd9, 0x35, 0x1e,
             ],
             Elements::LeftPadHigh1_64 => [
-                0xc2, 0x7e, 0x3d, 0x02, 0x94, 0x92, 0x20, 0x58, 0x89, 0x0d, 0x5c, 0x8b, 0x67, 0x6c,
-                0x1d, 0xae, 0xfd, 0xde, 0x65, 0x31, 0xe8, 0xae, 0x6d, 0x79, 0x37, 0x53, 0x92, 0x72,
-                0x3e, 0xad, 0x9c, 0x03,
+                0x6a, 0x9f, 0x2a, 0x1f, 0xf5, 0xd4, 0x6c, 0x8e, 0x6b, 0x7c, 0x3b, 0x81, 0x01, 0xaf,
+                0xa0, 0x73, 0x55, 0xc4, 0xf6, 0x53, 0xc1, 0x46, 0x7e, 0x45, 0xcd, 0x25, 0xcc, 0x09,
+                0x2e, 0x3a, 0x11, 0xfa,
             ],
             Elements::LeftPadHigh1_8 => [
-                0x14, 0x3e, 0x12, 0x39, 0x2b, 0x8f, 0x2e, 0x73, 0x53, 0x71, 0xfe, 0xd0, 0xb4, 0xb6,
-                0xd6, 0x23, 0xff, 0xa4, 0xf6, 0x60, 0xe5, 0x39, 0x0c, 0x00, 0xe5, 0x67, 0xcf, 0x21,
-                0xa1, 0xc9, 0x20, 0x78,
+                0xd7, 0x75, 0xa8, 0x8a, 0x24, 0x80, 0x04, 0xbd, 0x82, 0x1f, 0xa0, 0x80, 0x18, 0x52,
+                0x1f, 0xe8, 0x81, 0x71, 0xe8, 0x42, 0x84, 0xe0, 0xda, 0xff, 0x4b, 0xc9, 0xe6, 0xca,
+                0x1d, 0x8f, 0x8d, 0xe4,
             ],
             Elements::LeftPadHigh32_64 => [
-                0xf4, 0x84, 0x7c, 0x67, 0x56, 0x67, 0xb3, 0xc6, 0xa8, 0x90, 0xfd, 0x5a, 0x6a, 0xdb,
-                0x09, 0x27, 0x55, 0x7e, 0xe8, 0x0c, 0xd6, 0xe6, 0x5a, 0xf9, 0xb1, 0xb4, 0x72, 0x95,
-                0x72, 0xcd, 0x86, 0x61,
+                0x0b, 0xf4, 0x89, 0x4b, 0xa0, 0xe5, 0x43, 0x60, 0x18, 0xf7, 0xdd, 0xd1, 0xe1, 0xa1,
+                0x2c, 0xa7, 0xcd, 0x73, 0x09, 0x6f, 0xef, 0x06, 0x6a, 0xd4, 0xb7, 0x78, 0xcc, 0x24,
+                0x19, 0x57, 0xfa, 0xfc,
             ],
             Elements::LeftPadHigh8_16 => [
-                0x76, 0x18, 0x05, 0x8a, 0x4e, 0x08, 0xeb, 0x52, 0x43, 0xda, 0xd2, 0x05, 0xcc, 0x7e,
-                0x8d, 0x25, 0x47, 0x38, 0x0d, 0xa0, 0x5e, 0xc5, 0x41, 0x1e, 0xfc, 0x37, 0x2b, 0xaa,
-                0x2b, 0xb1, 0x2d, 0xa6,
+                0x06, 0xda, 0xf4, 0xf8, 0xd5, 0x94, 0x4f, 0x1f, 0x86, 0xdf, 0xbc, 0x37, 0x05, 0x87,
+                0xb4, 0x4d, 0x88, 0x71, 0x61, 0x2b, 0x7a, 0x96, 0xb0, 0x54, 0x75, 0x61, 0x92, 0xdb,
+                0x8f, 0xac, 0x19, 0xb7,
             ],
             Elements::LeftPadHigh8_32 => [
-                0x3d, 0xfe, 0xd5, 0xc0, 0xa9, 0xb2, 0x6b, 0x8f, 0x4a, 0x8e, 0xab, 0xd6, 0xfb, 0xed,
-                0x87, 0xbe, 0x45, 0x0d, 0xe7, 0x95, 0xf5, 0x41, 0x95, 0x3e, 0xec, 0x16, 0xa6, 0xd5,
-                0xaa, 0x82, 0x5a, 0x56,
+                0xbc, 0x20, 0x7c, 0x1e, 0x1e, 0xae, 0x88, 0xcd, 0x1b, 0xb4, 0xf9, 0x4c, 0x61, 0xdb,
+                0xd8, 0x50, 0xbb, 0xfa, 0x64, 0xa6, 0x20, 0xeb, 0xc0, 0x4f, 0x0c, 0x86, 0x92, 0x8e,
+                0xad, 0x2c, 0x32, 0x12,
             ],
             Elements::LeftPadHigh8_64 => [
-                0xce, 0x7c, 0x40, 0x7e, 0x4b, 0x56, 0x17, 0x21, 0xd6, 0x6c, 0x1b, 0xb0, 0xd1, 0x7e,
-                0xe8, 0x41, 0xb4, 0xd5, 0x04, 0xb4, 0xc4, 0xc0, 0x72, 0x00, 0x22, 0x37, 0x14, 0x0b,
-                0x89, 0x09, 0x76, 0x9f,
+                0xfa, 0x0c, 0x41, 0xc8, 0xce, 0x56, 0x09, 0x64, 0x4c, 0x74, 0xfa, 0x32, 0x8d, 0x64,
+                0xc1, 0xdc, 0xa2, 0x80, 0x50, 0xd5, 0x3d, 0xfe, 0xa6, 0xa1, 0xe6, 0xdf, 0xb4, 0x20,
+                0xd9, 0xb4, 0x74, 0x67,
             ],
             Elements::LeftPadLow16_32 => [
-                0xa2, 0x8c, 0x79, 0x24, 0xa4, 0x7b, 0x46, 0xec, 0x73, 0xbc, 0xff, 0x6e, 0x13, 0x28,
-                0xd4, 0x39, 0xaa, 0x90, 0x3a, 0xcf, 0x10, 0x3e, 0x9a, 0xa8, 0x0b, 0x65, 0xba, 0x76,
-                0xd2, 0xa0, 0x8e, 0x75,
+                0x23, 0xf7, 0x47, 0x96, 0xb8, 0x30, 0x20, 0xeb, 0xbf, 0x5a, 0xa5, 0xb6, 0x9a, 0xa1,
+                0xf3, 0xd7, 0x3d, 0xf9, 0xb1, 0xc2, 0x67, 0xe0, 0x12, 0x4c, 0x5f, 0xfe, 0x18, 0x2a,
+                0x63, 0xcd, 0x20, 0x22,
             ],
             Elements::LeftPadLow16_64 => [
-                0xb6, 0x25, 0x8a, 0xcd, 0xa2, 0x11, 0x0e, 0xd9, 0x8c, 0x17, 0xbc, 0xa8, 0x27, 0x12,
-                0xe3, 0xea, 0x60, 0x86, 0x6f, 0x7d, 0x40, 0x04, 0xc8, 0x3e, 0x8a, 0xe5, 0x24, 0xb7,
-                0xba, 0x44, 0x00, 0x8b,
+                0xe5, 0xd6, 0x46, 0x1a, 0xf1, 0x33, 0x1c, 0xeb, 0xa4, 0x55, 0x85, 0xe5, 0x6a, 0xe6,
+                0xe1, 0x28, 0xdc, 0x7d, 0xaa, 0x0e, 0x07, 0x08, 0x61, 0xca, 0x6d, 0x19, 0xd8, 0x54,
+                0x33, 0x88, 0x3d, 0xc4,
             ],
             Elements::LeftPadLow1_16 => [
-                0x1e, 0x1f, 0x6c, 0xc4, 0x24, 0x64, 0x83, 0x75, 0x49, 0xb9, 0x7d, 0x30, 0x7e, 0x28,
-                0xa9, 0xc2, 0x36, 0x80, 0x91, 0x4c, 0xd8, 0x6d, 0x65, 0xc3, 0x04, 0x67, 0x93, 0x12,
-                0x7b, 0x54, 0xfe, 0x82,
+                0x09, 0xdb, 0xcc, 0x20, 0x32, 0x82, 0x88, 0x55, 0x2a, 0xa9, 0xe9, 0x42, 0x6c, 0x5c,
+                0xee, 0x24, 0xdf, 0xce, 0xba, 0x87, 0x22, 0x74, 0xae, 0xd5, 0x5a, 0x83, 0x20, 0x46,
+                0x0a, 0x17, 0x91, 0xb2,
             ],
             Elements::LeftPadLow1_32 => [
-                0xc3, 0x38, 0xa1, 0x95, 0x5e, 0x99, 0x82, 0x0d, 0x0e, 0xd3, 0x1a, 0x5a, 0xfe, 0xdd,
-                0x13, 0x58, 0xc1, 0x74, 0x44, 0x02, 0x3e, 0x3f, 0x2b, 0x47, 0x33, 0xd9, 0xf6, 0x8c,
-                0xb7, 0xb4, 0x0c, 0xd9,
+                0x1d, 0x27, 0x63, 0xf2, 0x60, 0xd4, 0x72, 0x89, 0x6c, 0x88, 0x1c, 0x72, 0xfb, 0x22,
+                0xb9, 0xa1, 0x19, 0x25, 0x8e, 0x12, 0x99, 0x61, 0x09, 0xd9, 0xc9, 0x49, 0xca, 0x61,
+                0xf9, 0x37, 0xda, 0x0c,
             ],
             Elements::LeftPadLow1_64 => [
-                0x68, 0x9e, 0xd5, 0x69, 0xc2, 0x01, 0x52, 0x1e, 0xc1, 0x95, 0x4f, 0x0d, 0xc7, 0xd2,
-                0x12, 0x8e, 0x46, 0x5a, 0x52, 0x04, 0x99, 0x19, 0x05, 0x49, 0x85, 0x8d, 0xe9, 0xed,
-                0x23, 0x1a, 0x5d, 0x69,
+                0xa3, 0x76, 0x87, 0x8d, 0xfe, 0x35, 0x20, 0x47, 0x29, 0xf9, 0x1c, 0xdf, 0x5b, 0xe6,
+                0x58, 0xab, 0xc5, 0xe7, 0x02, 0x5a, 0xd9, 0x62, 0x84, 0xc7, 0xf6, 0x31, 0x0e, 0x9f,
+                0x9b, 0x1a, 0x5a, 0x3e,
             ],
             Elements::LeftPadLow1_8 => [
-                0x5b, 0x51, 0x90, 0x53, 0xfd, 0x2b, 0xb7, 0x58, 0x47, 0x3a, 0xf8, 0xe3, 0x91, 0x0b,
-                0xae, 0xf3, 0x3c, 0xc8, 0x01, 0xc0, 0xb1, 0x42, 0x0a, 0xaf, 0x81, 0x4a, 0x7e, 0x72,
-                0x54, 0xea, 0x78, 0xf0,
+                0x74, 0xc2, 0x06, 0x1b, 0x87, 0xf5, 0x19, 0x0f, 0xe7, 0x43, 0x22, 0xea, 0xc2, 0x42,
+                0x2b, 0x38, 0xe3, 0x7e, 0x9f, 0xcc, 0x4d, 0x60, 0x97, 0xeb, 0x5c, 0xa4, 0xe3, 0x0b,
+                0x12, 0x9b, 0x7a, 0x12,
             ],
             Elements::LeftPadLow32_64 => [
-                0xac, 0x00, 0xa3, 0x4f, 0xb6, 0xa5, 0x8e, 0x57, 0xad, 0x22, 0x39, 0x50, 0x0e, 0x65,
-                0x71, 0x37, 0x5d, 0xfd, 0xa0, 0xce, 0xa1, 0x17, 0x5f, 0xe9, 0x9d, 0x87, 0x5c, 0xd8,
-                0x71, 0x81, 0x05, 0xe9,
+                0xf3, 0x1a, 0xe2, 0x84, 0x31, 0x3f, 0xdf, 0x37, 0x73, 0xe3, 0xee, 0x43, 0x96, 0x7d,
+                0xc8, 0xc6, 0x7b, 0x73, 0xb7, 0x80, 0x06, 0x69, 0x66, 0x71, 0xd9, 0x0d, 0xd2, 0x59,
+                0xd9, 0xa8, 0x06, 0x13,
             ],
             Elements::LeftPadLow8_16 => [
-                0xb6, 0xf6, 0x33, 0x4c, 0xc6, 0x60, 0xe3, 0x06, 0x9f, 0x7e, 0x14, 0x37, 0xa1, 0x94,
-                0x3f, 0x61, 0x0f, 0xc5, 0xa5, 0xab, 0x8a, 0xa5, 0x10, 0x5b, 0xfc, 0xec, 0xd3, 0xda,
-                0x0c, 0x59, 0x63, 0x3c,
+                0x19, 0x04, 0x99, 0xa4, 0x9f, 0x87, 0x37, 0x32, 0xbf, 0xeb, 0x6d, 0x24, 0x3a, 0xfb,
+                0x3b, 0x66, 0xdb, 0x07, 0xdc, 0xe3, 0x3f, 0xfe, 0x71, 0x73, 0x28, 0x41, 0x67, 0x08,
+                0x70, 0x17, 0x00, 0xd4,
             ],
             Elements::LeftPadLow8_32 => [
-                0x8a, 0xee, 0x9f, 0x42, 0xda, 0x9b, 0x84, 0x2e, 0x41, 0x18, 0x95, 0x96, 0x59, 0x47,
-                0x56, 0xba, 0xd9, 0xba, 0xb2, 0x95, 0x3d, 0xea, 0xe6, 0x68, 0x56, 0xb9, 0xcb, 0x60,
-                0x1d, 0x7a, 0xc5, 0x48,
+                0xb2, 0xcd, 0x3f, 0xf0, 0xb4, 0xde, 0x89, 0x0e, 0x28, 0xb4, 0x27, 0x96, 0x41, 0x65,
+                0x2f, 0xa0, 0x8f, 0x2a, 0x89, 0x87, 0x94, 0xf6, 0xee, 0x6b, 0x12, 0x82, 0xa7, 0x98,
+                0x26, 0x44, 0x8d, 0x4a,
             ],
             Elements::LeftPadLow8_64 => [
-                0x61, 0x1d, 0x64, 0xce, 0x94, 0xf8, 0x82, 0xfd, 0xa2, 0x4c, 0x97, 0xad, 0xd1, 0x90,
-                0x54, 0x21, 0x2f, 0x46, 0xb3, 0xb9, 0x8e, 0xf2, 0xae, 0x22, 0x79, 0x36, 0x45, 0x39,
-                0xb9, 0x3e, 0x2b, 0x8b,
+                0x6e, 0x72, 0x89, 0x08, 0x25, 0x4e, 0x09, 0xf4, 0xd1, 0xa6, 0x2c, 0xae, 0x8d, 0x8a,
+                0x59, 0x96, 0xe0, 0x2b, 0xd7, 0x28, 0x0d, 0x49, 0x67, 0x44, 0x40, 0x2f, 0xf3, 0x22,
+                0xcd, 0x12, 0x02, 0x8f,
             ],
             Elements::LeftRotate16 => [
-                0x25, 0xe2, 0xd4, 0xec, 0xc0, 0x3f, 0x87, 0x65, 0x5e, 0x96, 0x5b, 0x35, 0x7d, 0x6f,
-                0xd0, 0xc2, 0xea, 0x36, 0xd1, 0x12, 0x06, 0x8c, 0x96, 0x33, 0x39, 0xde, 0x46, 0x7e,
-                0x5c, 0x8e, 0x7d, 0x8e,
+                0x2c, 0xe2, 0x67, 0xc9, 0xf8, 0xe4, 0x4e, 0x32, 0x65, 0xb0, 0x29, 0x9e, 0x55, 0x74,
+                0x29, 0x76, 0xcc, 0xec, 0xeb, 0x3a, 0x9c, 0x41, 0x06, 0x17, 0x6f, 0xbf, 0x17, 0xe6,
+                0x3d, 0x48, 0xd0, 0x6c,
             ],
             Elements::LeftRotate32 => [
-                0x2d, 0x41, 0x89, 0xb3, 0x12, 0xe8, 0xce, 0xda, 0xaa, 0x38, 0x53, 0xa4, 0x5a, 0x12,
-                0x98, 0x6e, 0xe2, 0x62, 0xfb, 0x60, 0x5f, 0x0d, 0x59, 0x2d, 0xcb, 0xb9, 0x61, 0x8f,
-                0xe6, 0x7a, 0x25, 0x0b,
+                0x0b, 0xef, 0x6b, 0x5f, 0x77, 0x1e, 0xcc, 0x6e, 0x6f, 0x5c, 0x26, 0xf6, 0x62, 0x2d,
+                0xe8, 0x62, 0x4e, 0x44, 0x34, 0x97, 0x59, 0x95, 0x14, 0xf5, 0xbc, 0x68, 0xf6, 0x87,
+                0x48, 0x80, 0xe0, 0x7a,
             ],
             Elements::LeftRotate64 => [
-                0xb8, 0xe6, 0x8e, 0x0a, 0xd6, 0x82, 0xb9, 0x67, 0xf2, 0x4c, 0x09, 0x84, 0xf7, 0xd5,
-                0xf8, 0x09, 0xa2, 0x85, 0x97, 0xa0, 0x43, 0x46, 0x18, 0xc8, 0x94, 0x9f, 0xa8, 0x08,
-                0xe3, 0xbe, 0x76, 0x14,
+                0xcc, 0x91, 0x42, 0x19, 0xd1, 0x4f, 0xe5, 0xd2, 0x20, 0xe2, 0xaa, 0x9b, 0x64, 0xf2,
+                0x4b, 0x47, 0x5d, 0x80, 0xf2, 0xca, 0xfb, 0x75, 0x31, 0xd4, 0x26, 0x40, 0x96, 0x7c,
+                0x08, 0x5f, 0x9c, 0xa4,
             ],
             Elements::LeftRotate8 => [
-                0x95, 0x6a, 0x65, 0x3a, 0xe0, 0xb8, 0xf8, 0xc3, 0xf2, 0x9f, 0xd8, 0xf3, 0x31, 0x19,
-                0x16, 0x8f, 0xcb, 0xe6, 0x4f, 0x5d, 0x76, 0x5f, 0xa9, 0xff, 0x6b, 0x8e, 0x3b, 0x0d,
-                0x96, 0x1a, 0x16, 0x29,
+                0xbd, 0x71, 0x19, 0xce, 0xb2, 0x3e, 0x56, 0xa0, 0x75, 0x9c, 0xda, 0xad, 0x8f, 0xd6,
+                0x65, 0x17, 0x46, 0xf2, 0x96, 0x9c, 0x5e, 0xa7, 0xc5, 0x70, 0x6c, 0x49, 0x2e, 0xe0,
+                0xcd, 0xa6, 0x52, 0xc2,
             ],
             Elements::LeftShift16 => [
-                0x9b, 0xbc, 0xe2, 0x9e, 0x69, 0x5b, 0xe2, 0xe4, 0x83, 0x0c, 0x7a, 0x93, 0xa0, 0xd2,
-                0x15, 0x1b, 0x66, 0x4f, 0xc2, 0x72, 0x06, 0xee, 0xd7, 0xe5, 0x0f, 0xce, 0xf6, 0x02,
-                0xd3, 0x45, 0xce, 0x0d,
+                0xfd, 0x9b, 0x6d, 0x05, 0xad, 0xbd, 0xb9, 0x9b, 0xc7, 0x4a, 0xab, 0x73, 0x33, 0x84,
+                0x72, 0x4e, 0x30, 0x72, 0xd2, 0xa2, 0xc2, 0xdf, 0xeb, 0x34, 0x5e, 0x24, 0xb5, 0x07,
+                0x4b, 0x52, 0x78, 0x59,
             ],
             Elements::LeftShift32 => [
-                0xf9, 0xc4, 0xbf, 0x07, 0xd3, 0xe7, 0x2e, 0x85, 0xb1, 0xd4, 0x55, 0xf7, 0x34, 0xcf,
-                0x1b, 0x11, 0xbe, 0xa5, 0x8e, 0x25, 0x3b, 0x85, 0x4a, 0x1a, 0x09, 0x7b, 0xab, 0x1e,
-                0xc2, 0xc6, 0x2e, 0x1f,
+                0xa4, 0xb3, 0xb3, 0xfc, 0x73, 0x45, 0xd3, 0x8f, 0xce, 0x54, 0x3f, 0x40, 0x1a, 0xe6,
+                0xbd, 0x07, 0xba, 0x27, 0x42, 0xc3, 0x3d, 0x9a, 0xfa, 0xb3, 0xb3, 0xcc, 0xa3, 0xa0,
+                0x25, 0x97, 0x3c, 0x98,
             ],
             Elements::LeftShift64 => [
-                0x8c, 0xfa, 0x74, 0x1a, 0xa4, 0x1d, 0x82, 0x8a, 0x41, 0x08, 0x3b, 0xb7, 0xcb, 0xdd,
-                0x1f, 0x4e, 0xda, 0x5d, 0xcc, 0xac, 0x52, 0x9b, 0x24, 0x7d, 0x18, 0x84, 0x95, 0xb4,
-                0x9b, 0xb3, 0x8c, 0x2b,
+                0x62, 0xb7, 0x11, 0xe8, 0x4b, 0x67, 0x64, 0x8d, 0x34, 0x72, 0xac, 0xe1, 0x86, 0x29,
+                0x1e, 0xb6, 0xd7, 0x73, 0xdd, 0xc0, 0xb8, 0xa3, 0xfb, 0xc2, 0x08, 0xa2, 0x75, 0xe9,
+                0xdb, 0x91, 0xdd, 0xdd,
             ],
             Elements::LeftShift8 => [
-                0x95, 0x66, 0x3e, 0x07, 0x7c, 0xad, 0xca, 0x31, 0xb9, 0x59, 0x6b, 0x09, 0x70, 0x6c,
-                0xdb, 0x4f, 0xa7, 0x03, 0x87, 0x0f, 0x79, 0x2a, 0x46, 0x35, 0x85, 0x2b, 0x5e, 0x24,
-                0x69, 0xe6, 0xfd, 0xba,
+                0x18, 0x7b, 0xba, 0x8e, 0x41, 0x63, 0xbd, 0xd0, 0xdd, 0xb5, 0x48, 0xff, 0x6e, 0xfa,
+                0x6b, 0x7e, 0x2f, 0x3d, 0x09, 0x82, 0x97, 0xd2, 0x53, 0x3e, 0x77, 0xe8, 0xa7, 0x6b,
+                0x6f, 0x2d, 0xd3, 0x24,
             ],
             Elements::LeftShiftWith16 => [
-                0x62, 0x14, 0xc4, 0x56, 0x25, 0xd7, 0x04, 0xce, 0xc9, 0x87, 0xb7, 0x96, 0x67, 0x6f,
-                0x15, 0x66, 0x1a, 0x6b, 0xf5, 0xdc, 0x0f, 0x6a, 0x51, 0xcb, 0x86, 0x5a, 0x0e, 0x71,
-                0xd6, 0x6f, 0xbf, 0x95,
+                0x2d, 0xd4, 0x1a, 0xc4, 0xf1, 0xd6, 0xd9, 0x68, 0x70, 0xff, 0x49, 0x66, 0x31, 0xd4,
+                0x0a, 0x4f, 0xf7, 0xed, 0xeb, 0x13, 0x7d, 0x63, 0xda, 0xfe, 0xe0, 0x02, 0xfa, 0x2d,
+                0xda, 0x29, 0xa7, 0x57,
             ],
             Elements::LeftShiftWith32 => [
-                0x1b, 0x45, 0x2f, 0xc7, 0xab, 0x5c, 0x71, 0x47, 0x45, 0x4a, 0xf4, 0xd5, 0x59, 0x54,
-                0x81, 0xff, 0xac, 0x42, 0xde, 0xa1, 0x06, 0x03, 0x2b, 0x3b, 0x9f, 0x37, 0x5b, 0xed,
-                0xcd, 0xa6, 0xf4, 0xd6,
+                0x9b, 0xfb, 0x24, 0x90, 0xbb, 0xa1, 0xeb, 0x3b, 0x7e, 0x25, 0x6a, 0x26, 0x09, 0x66,
+                0xdc, 0x90, 0x9e, 0x73, 0xfd, 0x12, 0x59, 0x1e, 0xe1, 0x40, 0x67, 0x37, 0x18, 0xf9,
+                0xf1, 0x0f, 0xc4, 0x9f,
             ],
             Elements::LeftShiftWith64 => [
-                0xc3, 0x8b, 0x02, 0xab, 0xcf, 0xf5, 0x14, 0xd9, 0x61, 0x91, 0xa7, 0xfe, 0xfb, 0xa1,
-                0xac, 0x16, 0xe9, 0xc1, 0x50, 0xa1, 0x8c, 0xe1, 0xc5, 0xbc, 0xf0, 0x9d, 0x67, 0x55,
-                0xe0, 0x36, 0x99, 0x05,
+                0x85, 0x77, 0x46, 0x93, 0x7d, 0xe2, 0xc4, 0xc5, 0xa5, 0x5a, 0x90, 0xf3, 0x16, 0x0e,
+                0xb9, 0x91, 0xdd, 0xbb, 0x60, 0x74, 0xf8, 0xa7, 0xc7, 0xc5, 0x8e, 0x8b, 0x2e, 0x38,
+                0x22, 0x18, 0xa9, 0xfa,
             ],
             Elements::LeftShiftWith8 => [
-                0x21, 0x7a, 0xd6, 0xdc, 0x12, 0x92, 0xaa, 0x42, 0xdb, 0xd8, 0x4d, 0xbd, 0x97, 0x1c,
-                0x11, 0x8f, 0x02, 0xa9, 0x74, 0x0a, 0x7c, 0xb5, 0x66, 0x1e, 0x90, 0xd4, 0x2d, 0xd5,
-                0xca, 0x8c, 0xa4, 0xd9,
+                0xf6, 0xf5, 0xbc, 0x6f, 0x43, 0xf6, 0x61, 0xe2, 0x72, 0x7c, 0x9e, 0xc8, 0x19, 0x63,
+                0x88, 0xbc, 0xc4, 0x2b, 0x20, 0x36, 0x06, 0xa7, 0x78, 0xd5, 0x53, 0xa4, 0xea, 0x35,
+                0x3f, 0xfc, 0x4b, 0xe6,
             ],
             Elements::Leftmost16_1 => [
-                0x3e, 0xa8, 0x9e, 0x43, 0x20, 0x77, 0x94, 0x0d, 0x0b, 0xbf, 0x9e, 0xd2, 0xcf, 0x16,
-                0xba, 0x63, 0x11, 0x10, 0xe7, 0xab, 0x9f, 0x19, 0xee, 0xf3, 0xea, 0x92, 0x5a, 0x69,
-                0x9f, 0x60, 0xc6, 0x0c,
+                0x7f, 0xaf, 0x54, 0x9e, 0xf6, 0x20, 0xd0, 0xd8, 0xf9, 0x0b, 0x6d, 0x08, 0x42, 0x0c,
+                0xf5, 0xe9, 0x8e, 0x93, 0x84, 0xea, 0x71, 0x6b, 0x82, 0xd7, 0xd8, 0xe1, 0x97, 0xa8,
+                0xc4, 0x6e, 0x33, 0xce,
             ],
             Elements::Leftmost16_2 => [
-                0x5c, 0xe2, 0xbd, 0x7a, 0xc3, 0x5a, 0x7c, 0x33, 0x73, 0xc3, 0xdd, 0x60, 0x7f, 0x48,
-                0xe5, 0xd4, 0xc7, 0xaa, 0xa6, 0xc6, 0x9f, 0xc4, 0x93, 0x0e, 0xca, 0x14, 0x04, 0x9f,
-                0x5d, 0x39, 0xff, 0xab,
+                0xf2, 0xac, 0x7c, 0x05, 0x96, 0x4a, 0x69, 0x9c, 0xe5, 0x95, 0xfb, 0x21, 0xee, 0xc1,
+                0x61, 0xe8, 0x7a, 0x11, 0xb6, 0x51, 0x63, 0x0d, 0x9a, 0x28, 0x93, 0x09, 0x4e, 0xa3,
+                0xf3, 0x31, 0x72, 0x43,
             ],
             Elements::Leftmost16_4 => [
-                0x10, 0x12, 0xa1, 0x39, 0x3e, 0xd0, 0xf9, 0x1d, 0x75, 0xad, 0x59, 0x12, 0x28, 0x53,
-                0x89, 0x3a, 0x7f, 0x25, 0xcd, 0x35, 0xc8, 0x03, 0x6c, 0x7f, 0xa1, 0x95, 0x68, 0x2c,
-                0xa1, 0x45, 0x8c, 0x4a,
+                0x5a, 0x5e, 0xc5, 0x03, 0x9a, 0xa3, 0xaa, 0x0e, 0x58, 0xf7, 0xce, 0x64, 0xef, 0xd0,
+                0x3a, 0xc2, 0x97, 0x41, 0x0f, 0x2c, 0xf4, 0x58, 0x17, 0xaf, 0x54, 0xef, 0xa6, 0xa0,
+                0x07, 0x6b, 0x6f, 0x70,
             ],
             Elements::Leftmost16_8 => [
-                0xcc, 0xd3, 0x1e, 0x9e, 0xb1, 0xa1, 0xbb, 0xde, 0x55, 0x5c, 0x0f, 0x73, 0x1a, 0xf2,
-                0xd3, 0xd4, 0xff, 0x53, 0x88, 0xfa, 0x14, 0x61, 0x82, 0x6a, 0xa9, 0xc8, 0x93, 0x42,
-                0x42, 0xac, 0x75, 0x3f,
+                0xe2, 0x25, 0x43, 0xf8, 0xfe, 0x86, 0x1d, 0xba, 0xee, 0x74, 0x4b, 0x0b, 0x8f, 0x58,
+                0xb4, 0x7b, 0x9d, 0x13, 0xfb, 0x35, 0xa9, 0x50, 0x86, 0x3a, 0x59, 0x09, 0x7c, 0xf4,
+                0xd4, 0x27, 0x24, 0xb9,
             ],
             Elements::Leftmost32_1 => [
-                0xb7, 0x14, 0xad, 0x74, 0xae, 0x04, 0x5a, 0xf7, 0x56, 0x80, 0x77, 0x8a, 0x03, 0x27,
-                0x61, 0xa4, 0xc7, 0x26, 0xd7, 0xb6, 0xd9, 0x77, 0xbc, 0x93, 0xa4, 0x12, 0x56, 0x54,
-                0x3c, 0xae, 0x8d, 0x3d,
+                0xb3, 0x6d, 0xb0, 0x59, 0xdd, 0x42, 0xd7, 0x07, 0xbf, 0xa8, 0x39, 0xf8, 0x3b, 0xc2,
+                0xed, 0x1d, 0xb5, 0x01, 0xb2, 0x3a, 0xf9, 0xaf, 0x71, 0x3f, 0x41, 0xff, 0x75, 0x5f,
+                0xe2, 0xb3, 0xe9, 0x89,
             ],
             Elements::Leftmost32_16 => [
-                0x1b, 0x20, 0x63, 0x4f, 0xb4, 0x3e, 0xb8, 0x3a, 0x96, 0x8c, 0x3c, 0x81, 0xc0, 0x08,
-                0x7c, 0x63, 0xd5, 0xd4, 0xf8, 0xca, 0xcd, 0xbd, 0x3e, 0x0e, 0x9f, 0x9a, 0x3d, 0x75,
-                0x91, 0xc3, 0xef, 0x62,
+                0xf1, 0x3e, 0xe3, 0x7b, 0xe6, 0x12, 0xe9, 0xdf, 0xf4, 0x90, 0x7e, 0xc3, 0xf1, 0xdd,
+                0xe8, 0x6c, 0x58, 0xfe, 0xd4, 0xb1, 0x1a, 0x93, 0xb3, 0xbb, 0x2c, 0x79, 0x58, 0x00,
+                0x49, 0x97, 0x92, 0x2e,
             ],
             Elements::Leftmost32_2 => [
-                0x75, 0x2d, 0xda, 0x08, 0xe4, 0x0f, 0xae, 0xa0, 0xf6, 0xc4, 0xee, 0x3d, 0x34, 0x4b,
-                0x7c, 0x4e, 0xa1, 0x1b, 0x97, 0x1d, 0xce, 0xc5, 0x55, 0x92, 0xb8, 0x22, 0xee, 0x56,
-                0x27, 0x1c, 0xa5, 0xdf,
+                0x57, 0xd0, 0x25, 0x1a, 0xb5, 0x66, 0xa3, 0xd2, 0x48, 0xec, 0x6e, 0x7c, 0xd1, 0xe3,
+                0xe9, 0xc7, 0x1b, 0x1d, 0xde, 0x0c, 0xf2, 0x84, 0x4a, 0x8c, 0x8a, 0xe7, 0x48, 0xbd,
+                0x18, 0xd3, 0x73, 0x5c,
             ],
             Elements::Leftmost32_4 => [
-                0x44, 0xe9, 0xf7, 0x79, 0xa0, 0x29, 0xec, 0xfc, 0x97, 0x62, 0xb8, 0xb6, 0xcb, 0xaf,
-                0x09, 0x22, 0xd9, 0x35, 0xfe, 0xa5, 0x15, 0x0a, 0x54, 0x6a, 0x5f, 0xc1, 0xfd, 0xb8,
-                0xb9, 0x53, 0x41, 0x34,
+                0x66, 0x68, 0x9b, 0xd5, 0xeb, 0x6a, 0x6d, 0xd5, 0xfc, 0x6b, 0x52, 0xfe, 0x90, 0xc1,
+                0x74, 0xef, 0x0f, 0xa8, 0xb5, 0x17, 0x99, 0x30, 0x85, 0xc9, 0x01, 0xc5, 0x70, 0x2b,
+                0xbd, 0x1f, 0xac, 0xe7,
             ],
             Elements::Leftmost32_8 => [
-                0x54, 0x80, 0x1e, 0xb5, 0xe7, 0x78, 0xcf, 0x6c, 0xda, 0x95, 0xcc, 0xf5, 0x70, 0x28,
-                0x6d, 0x81, 0x6d, 0x3a, 0x1f, 0xf1, 0xdd, 0x39, 0xdb, 0x5a, 0xb6, 0x13, 0x6f, 0x0e,
-                0xc3, 0xb7, 0x2d, 0xc6,
+                0xc8, 0x85, 0x1f, 0xf6, 0x22, 0x06, 0xe8, 0x65, 0xc3, 0xb2, 0x66, 0x41, 0x98, 0x1d,
+                0x0a, 0xe1, 0x60, 0xd3, 0xd4, 0x43, 0x7a, 0x98, 0x00, 0x62, 0x79, 0xdb, 0xb3, 0xa2,
+                0x57, 0x76, 0x69, 0x8e,
             ],
             Elements::Leftmost64_1 => [
-                0xb3, 0x16, 0xaf, 0x24, 0xc8, 0x6b, 0x39, 0x61, 0x3d, 0x4f, 0xd1, 0xb3, 0x92, 0x6a,
-                0x84, 0x13, 0x0e, 0xb7, 0xab, 0x12, 0xfd, 0xef, 0x62, 0x33, 0x17, 0xab, 0x48, 0xf7,
-                0x7c, 0xb6, 0x21, 0x45,
+                0xe0, 0x5e, 0xa1, 0x9d, 0x39, 0xee, 0x23, 0x5d, 0xde, 0x58, 0xe3, 0x1e, 0x4b, 0x95,
+                0x34, 0xb6, 0xcb, 0x39, 0x9b, 0x1f, 0x2f, 0xa1, 0x81, 0x48, 0x8c, 0xed, 0xc2, 0x03,
+                0xcd, 0x95, 0x96, 0x2a,
             ],
             Elements::Leftmost64_16 => [
-                0x8c, 0xf8, 0x54, 0x81, 0xe0, 0xf0, 0x08, 0x38, 0xb5, 0x23, 0x9b, 0xbf, 0xad, 0x13,
-                0x82, 0xf0, 0x7b, 0xd0, 0x3c, 0x12, 0x1d, 0x5d, 0x8a, 0xaf, 0xa6, 0xd9, 0x83, 0x41,
-                0x6d, 0xe4, 0x5c, 0x32,
+                0xc3, 0xdd, 0xb0, 0x79, 0xc1, 0x12, 0x92, 0x5d, 0x42, 0x3b, 0xbd, 0x30, 0xd9, 0x02,
+                0x26, 0x1e, 0x68, 0xa4, 0x1c, 0x3d, 0xe4, 0x38, 0x11, 0x66, 0xe1, 0x40, 0x05, 0x02,
+                0x8b, 0xa8, 0x4b, 0x98,
             ],
             Elements::Leftmost64_2 => [
-                0xda, 0x40, 0xc8, 0x9b, 0x15, 0xc9, 0xe8, 0x6b, 0x02, 0x8c, 0xe9, 0xec, 0x07, 0xb7,
-                0xf6, 0x99, 0x5a, 0x5d, 0xdd, 0xa4, 0x85, 0x0a, 0x91, 0xaf, 0x8c, 0x60, 0xe0, 0x2b,
-                0xf9, 0x91, 0xfb, 0x0c,
+                0x26, 0x4d, 0xb1, 0x23, 0x78, 0xdf, 0xad, 0xc1, 0xad, 0x6f, 0xf8, 0xd5, 0x78, 0xec,
+                0x4d, 0xa1, 0x85, 0x32, 0xa1, 0xe6, 0xbd, 0xab, 0x7c, 0x17, 0x56, 0x9f, 0xdd, 0x7b,
+                0xf4, 0x06, 0xfb, 0x20,
             ],
             Elements::Leftmost64_32 => [
-                0x95, 0xf4, 0x6d, 0xb9, 0xd9, 0x06, 0xf0, 0x50, 0x53, 0x45, 0x5e, 0x95, 0x34, 0xeb,
-                0x9b, 0x08, 0xb0, 0x9e, 0x38, 0xbc, 0x0f, 0xc6, 0x98, 0xa1, 0x6f, 0x4b, 0x2a, 0x62,
-                0x71, 0x07, 0x59, 0xd1,
+                0x19, 0xa5, 0xd5, 0x3f, 0xe6, 0xb3, 0x0b, 0xe0, 0x2b, 0x91, 0xba, 0xfc, 0x63, 0xcb,
+                0xe5, 0x50, 0x55, 0x98, 0xc1, 0x42, 0x55, 0xd8, 0x9e, 0x33, 0x48, 0x56, 0xdb, 0x5b,
+                0x5b, 0xa2, 0x0d, 0xed,
             ],
             Elements::Leftmost64_4 => [
-                0xf5, 0x01, 0xf9, 0x05, 0xfb, 0x8b, 0xab, 0xa1, 0xa7, 0xe8, 0xa6, 0xbf, 0x68, 0xd3,
-                0xae, 0x6a, 0x0a, 0xdd, 0x91, 0x95, 0x1b, 0x56, 0x62, 0x9d, 0x59, 0xf4, 0x28, 0x73,
-                0x9e, 0x7e, 0x41, 0xa2,
+                0x4c, 0x6f, 0xc8, 0xa0, 0x65, 0x46, 0x8e, 0x47, 0x51, 0x84, 0x4a, 0xef, 0xb6, 0xcc,
+                0x49, 0x57, 0x58, 0x64, 0xf5, 0x67, 0xc5, 0x62, 0x86, 0x65, 0x4c, 0x43, 0xb3, 0xf8,
+                0x33, 0x30, 0x32, 0x31,
             ],
             Elements::Leftmost64_8 => [
-                0xb3, 0x7f, 0x0b, 0xa2, 0xfc, 0xbd, 0x4a, 0xe3, 0x31, 0x6a, 0x4f, 0xe4, 0xf5, 0x8a,
-                0xa1, 0xa5, 0x41, 0x74, 0x0c, 0xde, 0x60, 0xed, 0x87, 0xf3, 0x38, 0x62, 0xa2, 0xff,
-                0xec, 0xad, 0x44, 0x2f,
+                0x98, 0xb5, 0xe0, 0x16, 0xbd, 0x41, 0x45, 0x77, 0x8d, 0xfc, 0x63, 0x17, 0xdc, 0x65,
+                0xd6, 0xc7, 0x5f, 0xef, 0x28, 0x57, 0x96, 0xb5, 0x9d, 0xea, 0xf1, 0x4a, 0xa0, 0x31,
+                0x99, 0xf9, 0x48, 0x96,
             ],
             Elements::Leftmost8_1 => [
-                0x5f, 0xdc, 0xfa, 0x9b, 0x9a, 0x4b, 0x65, 0xc7, 0x20, 0x74, 0x71, 0xe5, 0x33, 0x92,
-                0x8d, 0x6a, 0x24, 0xf4, 0xb6, 0xff, 0x9b, 0x34, 0x5e, 0xf7, 0x61, 0xb1, 0x48, 0x0a,
-                0x8a, 0x05, 0xe3, 0xd7,
+                0x38, 0xe3, 0x98, 0x5f, 0x1f, 0x99, 0xea, 0xb1, 0xa7, 0x87, 0xe7, 0x20, 0x0c, 0x30,
+                0xcd, 0x9b, 0x95, 0x63, 0x1f, 0x95, 0xb4, 0x19, 0xfd, 0x76, 0xec, 0xe1, 0x99, 0x67,
+                0xd1, 0xb0, 0x30, 0x69,
             ],
             Elements::Leftmost8_2 => [
-                0x62, 0x42, 0x21, 0xe9, 0xf8, 0xa9, 0x16, 0x91, 0x26, 0xc7, 0x33, 0x47, 0x96, 0x48,
-                0xc7, 0x3b, 0x68, 0xc6, 0xb8, 0xeb, 0xbb, 0x60, 0xc7, 0x2a, 0xf1, 0xe6, 0xfc, 0x65,
-                0xe7, 0xd3, 0x07, 0x23,
+                0x51, 0xdb, 0xca, 0xeb, 0xc3, 0xac, 0x16, 0x43, 0xe5, 0xb0, 0x8c, 0xa2, 0x55, 0x29,
+                0xf0, 0xe2, 0xb0, 0xbd, 0x9b, 0xdf, 0xa0, 0x41, 0xfd, 0x4d, 0xb7, 0x70, 0x29, 0xd0,
+                0xc5, 0xff, 0x15, 0xb9,
             ],
             Elements::Leftmost8_4 => [
-                0x1a, 0x48, 0x43, 0xc4, 0x08, 0xe1, 0xd4, 0x6c, 0x9c, 0x93, 0x89, 0x46, 0x34, 0x49,
-                0x5f, 0x8a, 0xd6, 0xa6, 0x80, 0xe3, 0x2d, 0xd6, 0xf2, 0x5b, 0xa1, 0x9d, 0xbc, 0x60,
-                0xa6, 0x0d, 0x18, 0x97,
+                0xb3, 0x94, 0x20, 0x9c, 0x9b, 0x34, 0x28, 0x4d, 0xde, 0x65, 0xea, 0x97, 0x35, 0xe4,
+                0xeb, 0x0c, 0xdf, 0x01, 0xce, 0x87, 0x10, 0xe5, 0x8c, 0x5e, 0xd2, 0x0e, 0x8b, 0x94,
+                0x6b, 0xf3, 0xf6, 0xea,
             ],
             Elements::LinearCombination1 => [
-                0x00, 0xbe, 0xf1, 0x44, 0xda, 0x3f, 0x51, 0x63, 0x31, 0x8c, 0x01, 0xeb, 0x66, 0xcc,
-                0x68, 0x1f, 0x29, 0xcc, 0xb9, 0x87, 0xea, 0x2a, 0x88, 0xd0, 0x83, 0x34, 0x5a, 0x1c,
-                0xaa, 0x08, 0x2c, 0xe3,
+                0xfd, 0xd4, 0x7c, 0xa5, 0xc3, 0xb8, 0xbe, 0xd9, 0xf5, 0xf8, 0x27, 0x32, 0x9a, 0xf7,
+                0xc0, 0x8b, 0x88, 0xd3, 0x54, 0x21, 0xd3, 0xd0, 0x2f, 0x3d, 0x6c, 0xae, 0x3e, 0x5b,
+                0x49, 0xdc, 0xbe, 0xa3,
             ],
             Elements::LinearVerify1 => [
-                0x0c, 0x9f, 0xae, 0x64, 0xa6, 0x4c, 0xd6, 0x3c, 0xa8, 0x5b, 0xeb, 0xa7, 0x5c, 0x9f,
-                0x2c, 0x6e, 0x85, 0x34, 0x3b, 0x74, 0xf2, 0x86, 0x34, 0xea, 0x85, 0xf7, 0x0f, 0xc3,
-                0x41, 0xcc, 0xaf, 0xf3,
+                0x7b, 0xe5, 0xd0, 0x46, 0x72, 0x84, 0x64, 0xb8, 0x30, 0x1d, 0x89, 0xd9, 0xd0, 0xde,
+                0x8e, 0x19, 0x67, 0x5d, 0xf4, 0xd9, 0x10, 0x04, 0x7b, 0x25, 0xb3, 0x72, 0xd2, 0xc4,
+                0x16, 0x6b, 0x3a, 0x0d,
             ],
             Elements::LockTime => [
-                0xee, 0x87, 0xa0, 0x25, 0xd7, 0x33, 0x8a, 0x3c, 0x8f, 0x25, 0x1b, 0xe4, 0x19, 0xef,
-                0xb7, 0xee, 0x71, 0x77, 0xcb, 0x73, 0x8f, 0x42, 0xe8, 0xc0, 0x03, 0xfc, 0x46, 0x58,
-                0xcc, 0x0e, 0x5b, 0x8b,
+                0x7b, 0xdc, 0x81, 0x94, 0x1f, 0x8c, 0x9c, 0x7f, 0xa9, 0x40, 0x61, 0xa5, 0x9f, 0xbd,
+                0xfc, 0x03, 0xa3, 0xf5, 0xc2, 0x67, 0xdc, 0xde, 0x1b, 0x23, 0xd3, 0xbe, 0x3a, 0x90,
+                0xf0, 0xe9, 0xa7, 0xf5,
             ],
             Elements::Low1 => [
-                0xdb, 0x4a, 0x42, 0x4a, 0x20, 0xae, 0xef, 0xa4, 0xe7, 0x42, 0xd5, 0x1d, 0x84, 0x92,
-                0x92, 0x18, 0xcb, 0xf7, 0x34, 0x72, 0x61, 0x76, 0xdc, 0x4f, 0xf9, 0xf8, 0xbf, 0x13,
-                0xde, 0x10, 0xca, 0x2b,
+                0xf3, 0xd1, 0x0b, 0x07, 0x49, 0x33, 0x2c, 0xdd, 0xae, 0x0a, 0x49, 0xcc, 0x02, 0x65,
+                0x7b, 0x02, 0x58, 0xe0, 0xa5, 0xa7, 0x05, 0x95, 0x81, 0x00, 0x22, 0xc5, 0xa6, 0x4e,
+                0x90, 0x40, 0x88, 0xb0,
             ],
             Elements::Low16 => [
-                0xa1, 0x14, 0xe9, 0x58, 0x0d, 0xe0, 0x7d, 0x8b, 0x07, 0x7e, 0xb8, 0x89, 0x98, 0x75,
-                0x5a, 0x0a, 0x62, 0xbf, 0xe0, 0x85, 0xfb, 0x23, 0x40, 0x4c, 0xd1, 0xe8, 0x78, 0x68,
-                0xcd, 0x56, 0xd5, 0xbd,
+                0x67, 0x0d, 0x1c, 0xf0, 0x8d, 0x65, 0x5f, 0x40, 0xfd, 0xa2, 0x27, 0x7a, 0xa9, 0x15,
+                0x54, 0x14, 0xa3, 0xb4, 0xd8, 0x0e, 0x97, 0xf6, 0xb8, 0x67, 0xd4, 0xe5, 0x62, 0xe3,
+                0xa0, 0x5b, 0x46, 0x45,
             ],
             Elements::Low32 => [
-                0xa7, 0x17, 0x61, 0x0e, 0x8c, 0x57, 0x71, 0x25, 0x51, 0x40, 0xd6, 0x20, 0x7f, 0xff,
-                0x3b, 0xdd, 0x34, 0x64, 0xac, 0xff, 0x59, 0x98, 0xe1, 0x29, 0xaf, 0x8b, 0x9f, 0x4c,
-                0x0e, 0x21, 0xb2, 0x3d,
+                0xd9, 0xbf, 0x78, 0xc4, 0x9f, 0x8d, 0x6b, 0x7a, 0xe4, 0xb4, 0xb0, 0x84, 0xf0, 0xd3,
+                0x64, 0xf7, 0x2b, 0x04, 0x62, 0xff, 0x39, 0xc3, 0x21, 0xc0, 0x2d, 0x92, 0xb5, 0x42,
+                0x60, 0x86, 0xd0, 0xb5,
             ],
             Elements::Low64 => [
-                0x9a, 0x6f, 0x4a, 0x0a, 0xd2, 0xfb, 0x72, 0xc5, 0x79, 0x42, 0x4c, 0x72, 0xe1, 0x7d,
-                0xaa, 0xe6, 0x2b, 0x36, 0x66, 0x95, 0xcd, 0x1a, 0x26, 0x85, 0xfb, 0x0a, 0xb0, 0x2e,
-                0x4c, 0x2c, 0xc0, 0xf5,
+                0x36, 0x4d, 0xa0, 0x86, 0xeb, 0xe3, 0x01, 0x1b, 0x1b, 0x58, 0x5f, 0x5c, 0xb9, 0xab,
+                0xc8, 0x7e, 0xe5, 0x7b, 0x56, 0x37, 0xcb, 0x95, 0xec, 0xf3, 0x12, 0x93, 0x8d, 0xf2,
+                0x86, 0x30, 0xfd, 0xa4,
             ],
             Elements::Low8 => [
-                0x69, 0xc9, 0xb9, 0xca, 0xb9, 0xf4, 0x4c, 0xff, 0xae, 0xdf, 0x1c, 0x84, 0x31, 0x46,
-                0xbc, 0xc0, 0xb0, 0x3b, 0x0f, 0x0c, 0x13, 0x48, 0x66, 0xaf, 0xd2, 0x3a, 0x61, 0x4f,
-                0x01, 0xa7, 0x0a, 0x24,
+                0xd4, 0x24, 0x4f, 0x7c, 0x17, 0xb0, 0x49, 0x04, 0x8a, 0xc5, 0x8b, 0x4d, 0xa5, 0x78,
+                0x16, 0x9d, 0x0e, 0xd6, 0x51, 0x49, 0x40, 0x8e, 0xa9, 0xb0, 0x33, 0xb3, 0xd8, 0xb7,
+                0x7d, 0x76, 0xc6, 0x87,
             ],
             Elements::Lt16 => [
-                0x4f, 0x46, 0x5a, 0x49, 0xa9, 0x63, 0xac, 0xce, 0x93, 0xf6, 0xb6, 0xf8, 0x23, 0xeb,
-                0x94, 0x72, 0xb4, 0xcc, 0x21, 0xf6, 0xe5, 0x8b, 0x76, 0x57, 0x05, 0x08, 0xba, 0xbd,
-                0xf4, 0x4a, 0x8c, 0x97,
+                0x32, 0x60, 0x28, 0x44, 0xfb, 0x68, 0xeb, 0x7a, 0xf6, 0xf7, 0xf1, 0xbd, 0xa3, 0x50,
+                0xe2, 0x29, 0x2c, 0x3f, 0xc2, 0x87, 0xf8, 0x1e, 0xca, 0x17, 0xf0, 0x68, 0xf4, 0xfa,
+                0x94, 0x2d, 0x40, 0x2a,
             ],
             Elements::Lt32 => [
-                0xd3, 0x42, 0x1d, 0xfc, 0x84, 0x67, 0x1c, 0xd7, 0x44, 0x50, 0x82, 0xa9, 0x86, 0xdf,
-                0x16, 0x28, 0xed, 0xca, 0xcb, 0xf4, 0x29, 0xa3, 0xc8, 0x09, 0xd2, 0x36, 0x54, 0x97,
-                0xe1, 0x17, 0x0b, 0xfd,
+                0xb7, 0x03, 0xd3, 0x5d, 0xee, 0xd9, 0x6c, 0xe3, 0x9d, 0xf8, 0xad, 0x21, 0x4f, 0x74,
+                0x89, 0x8a, 0x17, 0x65, 0xaa, 0x14, 0x06, 0xbc, 0xe4, 0xbf, 0x9a, 0xfc, 0x5c, 0x63,
+                0xa8, 0x38, 0x2d, 0x9e,
             ],
             Elements::Lt64 => [
-                0x7c, 0x67, 0xaa, 0x89, 0x93, 0xfc, 0xda, 0x59, 0x30, 0xf7, 0x9d, 0xb2, 0x00, 0x8a,
-                0xa6, 0xd7, 0xbe, 0x5f, 0x3b, 0xed, 0x5a, 0xca, 0x5e, 0x03, 0x2d, 0xcc, 0xcf, 0x0b,
-                0xe8, 0x4f, 0x62, 0xd1,
+                0x94, 0xf1, 0xe4, 0x8d, 0x7c, 0x87, 0xc1, 0x80, 0x83, 0x84, 0x1e, 0xc1, 0x24, 0x67,
+                0x94, 0x2b, 0x76, 0xa8, 0x93, 0xfa, 0x08, 0xe9, 0x41, 0x23, 0xb4, 0xfe, 0x80, 0x20,
+                0xd5, 0xf1, 0xd9, 0xaf,
             ],
             Elements::Lt8 => [
-                0x98, 0x76, 0x3f, 0x78, 0x21, 0x69, 0x09, 0x54, 0xcf, 0x50, 0x81, 0x02, 0x09, 0xdf,
-                0x6e, 0x15, 0x57, 0x03, 0x16, 0xbb, 0xa8, 0x9f, 0xfa, 0x9a, 0xe5, 0x56, 0xa9, 0x15,
-                0xf3, 0x7b, 0x64, 0x0b,
+                0xf4, 0x0a, 0x8c, 0xfa, 0x78, 0x39, 0x93, 0x9c, 0xa4, 0xdd, 0x3d, 0x01, 0x22, 0xd4,
+                0xb5, 0x6c, 0xc3, 0xc6, 0x54, 0xe3, 0x5e, 0x2a, 0xf2, 0xd3, 0x51, 0x1f, 0xc9, 0x44,
+                0x6c, 0xf0, 0xf8, 0xaf,
             ],
             Elements::Maj1 => [
-                0xae, 0x8b, 0x91, 0x2e, 0x3a, 0xd4, 0x7f, 0x68, 0x8b, 0xbb, 0x46, 0xc8, 0xcb, 0x6d,
-                0x53, 0x33, 0x69, 0xf5, 0x10, 0x9a, 0x27, 0x30, 0x47, 0x1e, 0xab, 0x6e, 0xfe, 0x98,
-                0xe9, 0xea, 0x5e, 0x78,
+                0x79, 0xd1, 0x85, 0xf5, 0x3d, 0x2e, 0x2f, 0xab, 0x87, 0x54, 0xc1, 0xb9, 0x58, 0xa5,
+                0xa1, 0xb5, 0xb9, 0xdf, 0xa5, 0x0d, 0x90, 0x0c, 0xe4, 0x3a, 0xd7, 0x35, 0x61, 0xb4,
+                0x4a, 0x88, 0x78, 0x22,
             ],
             Elements::Maj16 => [
-                0xf5, 0xa4, 0x1d, 0xa0, 0x37, 0x7f, 0xe6, 0x88, 0xac, 0x2f, 0xcd, 0xf3, 0x5b, 0x6b,
-                0x7a, 0x47, 0x2e, 0x78, 0xea, 0x69, 0xfd, 0x2b, 0x17, 0xf7, 0x56, 0x34, 0x2b, 0xaa,
-                0x1f, 0x8b, 0x9f, 0xdd,
+                0xa1, 0x7f, 0x14, 0xf2, 0x9c, 0xe6, 0x4c, 0xc0, 0xa3, 0x41, 0x07, 0x06, 0x74, 0x7a,
+                0x48, 0x32, 0x19, 0x0a, 0xf2, 0x3c, 0x03, 0xca, 0xc1, 0x64, 0xa4, 0x7f, 0xc1, 0x27,
+                0xb4, 0x8f, 0x34, 0x28,
             ],
             Elements::Maj32 => [
-                0xf1, 0xd9, 0x3b, 0x04, 0x6b, 0x02, 0x85, 0xf6, 0xe5, 0x20, 0x46, 0x7f, 0x26, 0x5f,
-                0x6a, 0x6a, 0xe3, 0x49, 0x1f, 0x16, 0x78, 0xc8, 0xa8, 0x26, 0xa0, 0x09, 0x9b, 0x9c,
-                0xd4, 0x15, 0x99, 0xd4,
+                0xe1, 0x9f, 0xad, 0xfa, 0xc6, 0xc7, 0x85, 0xb8, 0x98, 0x29, 0xa9, 0x1e, 0xc0, 0x21,
+                0x59, 0x35, 0xc4, 0x9f, 0xbc, 0x9d, 0x20, 0xc6, 0xbe, 0x78, 0xde, 0x9a, 0x63, 0x55,
+                0xe8, 0x18, 0x13, 0x56,
             ],
             Elements::Maj64 => [
-                0x5e, 0x99, 0x6c, 0x51, 0x51, 0xd7, 0xac, 0xee, 0x4a, 0x7d, 0x9e, 0x22, 0x95, 0xef,
-                0x8f, 0x2c, 0x75, 0x54, 0x88, 0x84, 0x4b, 0xfd, 0xe2, 0x5d, 0x5a, 0xcd, 0xfe, 0xa2,
-                0x98, 0x44, 0x43, 0x5a,
+                0xf1, 0x19, 0xb2, 0xf2, 0x38, 0x3b, 0x9f, 0xe6, 0xdd, 0x76, 0x8e, 0x5e, 0xe2, 0x7d,
+                0xb4, 0xf5, 0x78, 0x38, 0x68, 0xcf, 0x9b, 0x9e, 0x13, 0x85, 0x41, 0x00, 0x39, 0x90,
+                0x1d, 0x17, 0xc2, 0x30,
             ],
             Elements::Maj8 => [
-                0xab, 0x6c, 0x4c, 0x41, 0xab, 0x67, 0xeb, 0xf7, 0xea, 0x60, 0x87, 0x0c, 0x9b, 0x2d,
-                0x93, 0x10, 0x01, 0x74, 0x29, 0x61, 0x8d, 0x2a, 0xb9, 0x02, 0x68, 0xb5, 0xc5, 0xc2,
-                0xb5, 0x37, 0x7f, 0x3b,
+                0x41, 0x56, 0x21, 0xcb, 0x9e, 0x42, 0x8f, 0x72, 0xeb, 0x29, 0x56, 0xe4, 0x69, 0x6f,
+                0x70, 0x65, 0xde, 0xe6, 0xa8, 0xda, 0x5e, 0xed, 0xde, 0x32, 0x36, 0x2b, 0x81, 0x24,
+                0xa1, 0x95, 0xdd, 0x50,
             ],
             Elements::Max16 => [
-                0xcd, 0xdd, 0x81, 0x69, 0x55, 0x22, 0x97, 0x1b, 0x52, 0x9e, 0xb0, 0xbb, 0x53, 0x81,
-                0x8f, 0xe2, 0x28, 0x58, 0xac, 0x6b, 0x03, 0x7c, 0x38, 0x10, 0xec, 0x26, 0x8b, 0x53,
-                0xb8, 0x17, 0xa3, 0x8d,
+                0xce, 0xb7, 0x1d, 0x05, 0xf9, 0x55, 0x18, 0xd3, 0xd4, 0x09, 0x25, 0xe7, 0x3c, 0xa2,
+                0x9b, 0x7c, 0x3e, 0xc6, 0x2b, 0x92, 0xaf, 0x47, 0x88, 0x04, 0x8f, 0x7b, 0xe8, 0x06,
+                0x52, 0xf6, 0xba, 0x2b,
             ],
             Elements::Max32 => [
-                0xd9, 0x16, 0xf3, 0x4b, 0xd7, 0x85, 0xb9, 0x38, 0x08, 0xb6, 0x7c, 0x62, 0x28, 0x4f,
-                0x94, 0xaa, 0x5d, 0xf4, 0x79, 0x19, 0x59, 0xb4, 0x9b, 0x85, 0x82, 0xb0, 0x58, 0x2b,
-                0x82, 0x85, 0x38, 0x83,
+                0x67, 0x9f, 0x51, 0xce, 0xca, 0x3e, 0x7b, 0xfc, 0x4b, 0x8b, 0x8c, 0x14, 0x5f, 0xbe,
+                0x06, 0x47, 0x3f, 0x65, 0x3b, 0x21, 0xfb, 0x8f, 0x58, 0x38, 0x39, 0xfc, 0x9f, 0x9e,
+                0x22, 0x1a, 0x99, 0xe7,
             ],
             Elements::Max64 => [
-                0x99, 0xef, 0x5a, 0xbf, 0xf7, 0x87, 0x00, 0xbd, 0x93, 0xd1, 0xc9, 0x77, 0xfd, 0x68,
-                0x6f, 0x31, 0x21, 0x0f, 0xd1, 0xce, 0x1d, 0x09, 0x4d, 0x23, 0x04, 0x8c, 0x02, 0x6c,
-                0x19, 0xfc, 0x98, 0x4a,
+                0x6a, 0xeb, 0x60, 0x2c, 0x1f, 0x2d, 0xe2, 0x0e, 0x6a, 0xee, 0x7e, 0x23, 0x3b, 0x29,
+                0xdb, 0x2e, 0xe5, 0x33, 0xa0, 0xc1, 0x1e, 0x33, 0x63, 0xfc, 0x67, 0xb3, 0x0d, 0x6c,
+                0x78, 0x33, 0x83, 0x52,
             ],
             Elements::Max8 => [
-                0x3a, 0xcb, 0xf7, 0x73, 0x3f, 0xd8, 0xef, 0x4f, 0x51, 0x96, 0x7a, 0xa2, 0x45, 0x55,
-                0x8b, 0x28, 0x37, 0x4d, 0x54, 0xc6, 0x32, 0xa9, 0xf4, 0x6a, 0xab, 0x6b, 0x2b, 0x1e,
-                0xc2, 0xd5, 0x13, 0x9a,
+                0x5c, 0x1f, 0x36, 0x9a, 0xfa, 0xac, 0x6b, 0x74, 0xb5, 0x7e, 0xdf, 0x3c, 0xec, 0xfb,
+                0x61, 0xf2, 0x07, 0xe0, 0x59, 0x39, 0xb1, 0xc6, 0xfc, 0x73, 0x5b, 0x07, 0x83, 0x6f,
+                0x39, 0x73, 0xd9, 0x04,
             ],
             Elements::Median16 => [
-                0xd6, 0x46, 0x3e, 0x89, 0xdf, 0xe2, 0xc3, 0x34, 0xb0, 0x1f, 0x90, 0x97, 0xb0, 0x1a,
-                0x75, 0xc4, 0x75, 0xfb, 0x0f, 0x0f, 0x16, 0x7c, 0xb6, 0xb7, 0x49, 0x76, 0xf1, 0x97,
-                0xbd, 0x4c, 0x76, 0xe1,
+                0xc0, 0x9a, 0x30, 0x0b, 0x6d, 0x02, 0x3c, 0xa4, 0x09, 0x27, 0x9e, 0x42, 0x27, 0x47,
+                0x0d, 0xd8, 0xbd, 0x52, 0xf1, 0x68, 0xf1, 0xf8, 0xbf, 0xa9, 0x38, 0x77, 0x9f, 0x03,
+                0xc8, 0x6e, 0xf1, 0x52,
             ],
             Elements::Median32 => [
-                0x01, 0xdc, 0xa1, 0xed, 0xe5, 0xb2, 0x9d, 0x88, 0x48, 0x0b, 0xc4, 0xdc, 0x43, 0xbe,
-                0x4e, 0x04, 0xf2, 0xd2, 0x09, 0xee, 0x32, 0xf6, 0xcf, 0x3e, 0xc7, 0x05, 0x0d, 0xa1,
-                0x07, 0x35, 0x90, 0x63,
+                0x84, 0x81, 0x00, 0x59, 0x86, 0xf4, 0x29, 0x48, 0x05, 0x1a, 0x36, 0x4a, 0xd4, 0x18,
+                0x70, 0x2e, 0xbc, 0x76, 0xfa, 0x36, 0x53, 0x44, 0xaa, 0x2e, 0xa1, 0xa6, 0x30, 0x05,
+                0xe6, 0x1f, 0xe8, 0xbb,
             ],
             Elements::Median64 => [
-                0x70, 0x7a, 0x6f, 0xa8, 0xc1, 0x54, 0x95, 0xa2, 0xc4, 0x82, 0x22, 0x63, 0xdd, 0xce,
-                0xa5, 0xe0, 0xf0, 0xe8, 0x50, 0xa9, 0x4b, 0x1c, 0xf4, 0xec, 0xc0, 0x65, 0x2f, 0xaf,
-                0xee, 0xf1, 0x30, 0xe9,
+                0xcc, 0xba, 0xa9, 0x00, 0x0f, 0x3c, 0x0c, 0x9e, 0xc7, 0x1b, 0xc0, 0xdb, 0x5d, 0xa8,
+                0x52, 0x83, 0x6f, 0xa9, 0x12, 0x28, 0xb3, 0x73, 0xf5, 0x6b, 0xce, 0xf0, 0xb2, 0x25,
+                0x85, 0xd4, 0x70, 0xff,
             ],
             Elements::Median8 => [
-                0x26, 0xbf, 0xcb, 0x7b, 0xab, 0xcf, 0x26, 0xc9, 0x7a, 0x84, 0x16, 0x75, 0x45, 0x74,
-                0x62, 0x76, 0x59, 0x27, 0x9a, 0xf8, 0x09, 0x55, 0x48, 0x82, 0x40, 0x0e, 0xf8, 0x74,
-                0xdf, 0x1c, 0x1a, 0x31,
+                0xc5, 0xb2, 0xc0, 0x01, 0xdc, 0x50, 0x4f, 0xf4, 0xc2, 0xe0, 0x52, 0x86, 0x56, 0xd4,
+                0xda, 0xbf, 0x33, 0xfb, 0x41, 0x42, 0xd0, 0x26, 0xab, 0x61, 0x37, 0x4c, 0x23, 0x89,
+                0x0b, 0xda, 0x1f, 0x18,
             ],
             Elements::Min16 => [
-                0x63, 0xbb, 0xc0, 0xe5, 0xdb, 0x1c, 0xe0, 0x80, 0x97, 0xd3, 0xf5, 0xbc, 0xc5, 0xbe,
-                0x1d, 0x72, 0x09, 0x0b, 0xab, 0x4a, 0x87, 0xc1, 0x0c, 0x80, 0x05, 0x49, 0xca, 0x84,
-                0xef, 0xbf, 0xe5, 0xe3,
+                0xb2, 0x26, 0x58, 0x69, 0xea, 0x19, 0x0b, 0xba, 0x73, 0x0c, 0xd7, 0xd7, 0xcd, 0x05,
+                0x24, 0xd1, 0x3e, 0xbf, 0x76, 0x7e, 0x1b, 0x12, 0x5c, 0x44, 0x1b, 0x1b, 0xab, 0x0e,
+                0x3d, 0xbe, 0xef, 0x26,
             ],
             Elements::Min32 => [
-                0xaf, 0x4d, 0x61, 0x84, 0x2f, 0x47, 0x90, 0x32, 0x5c, 0x61, 0x45, 0x56, 0xc7, 0x77,
-                0x6e, 0xea, 0x45, 0x75, 0x13, 0xca, 0x42, 0x2f, 0x30, 0x5b, 0x46, 0x3f, 0x8f, 0x7d,
-                0x8b, 0xda, 0x0c, 0x3c,
+                0x6d, 0x92, 0x1b, 0xfb, 0xaf, 0x93, 0x50, 0x63, 0xbd, 0x4b, 0x4e, 0x48, 0xd6, 0xd1,
+                0x36, 0x64, 0xbd, 0x5d, 0x0a, 0xc2, 0x5f, 0x5e, 0xe3, 0x0e, 0xbe, 0x51, 0x8e, 0x79,
+                0x11, 0x51, 0x75, 0x0a,
             ],
             Elements::Min64 => [
-                0xf0, 0xa3, 0x17, 0x0f, 0xb3, 0x06, 0x50, 0x90, 0x71, 0xb2, 0x14, 0x32, 0x30, 0x9c,
-                0x00, 0x86, 0x5d, 0x8f, 0xb6, 0x75, 0x2d, 0xe6, 0xec, 0x41, 0x0a, 0xbb, 0x6c, 0xe3,
-                0x5b, 0x4f, 0xfa, 0x9c,
+                0x05, 0xd9, 0xc0, 0xa2, 0xa7, 0x1f, 0x88, 0x7d, 0x76, 0x46, 0xe4, 0x15, 0x82, 0x72,
+                0x30, 0xcf, 0xbe, 0xcc, 0x0d, 0x82, 0x36, 0xc5, 0x62, 0xf2, 0xdf, 0xda, 0x3d, 0xcd,
+                0xe1, 0x3b, 0x2f, 0x03,
             ],
             Elements::Min8 => [
-                0x8a, 0xa7, 0x1d, 0x09, 0x3e, 0x83, 0x8a, 0xd3, 0x6a, 0xa6, 0xfe, 0x16, 0xfd, 0x1d,
-                0xde, 0x9f, 0xb5, 0x77, 0x2a, 0xc4, 0x5d, 0x6b, 0xb8, 0xe4, 0x2c, 0x88, 0x83, 0xa2,
-                0xa9, 0xf1, 0x00, 0xe2,
+                0x57, 0xba, 0x25, 0x7d, 0xc7, 0x0a, 0x97, 0x5e, 0xfb, 0x22, 0xd7, 0xe0, 0xa9, 0x98,
+                0xae, 0xa9, 0xd5, 0x7f, 0x20, 0x8a, 0x74, 0x56, 0x5a, 0x68, 0xf2, 0xac, 0x8b, 0x50,
+                0x1e, 0x22, 0x0d, 0xc0,
             ],
             Elements::Modulo16 => [
-                0x0e, 0xa8, 0x98, 0x59, 0x79, 0x20, 0x9d, 0x31, 0x94, 0xc5, 0x59, 0x12, 0xf2, 0x1a,
-                0x65, 0x77, 0xda, 0x30, 0xc5, 0x17, 0xe0, 0x08, 0xf8, 0x51, 0xc3, 0x52, 0x08, 0x5b,
-                0xb0, 0x67, 0xa0, 0xf1,
+                0x7a, 0xbd, 0xe1, 0xdc, 0xab, 0x9d, 0x23, 0xea, 0xe1, 0xd0, 0xa0, 0xa6, 0xb3, 0x84,
+                0xfb, 0x39, 0xdf, 0x21, 0xc3, 0x83, 0x16, 0xc0, 0xbb, 0xcc, 0x6c, 0x70, 0x6d, 0x7b,
+                0x5f, 0x3d, 0x68, 0xbb,
             ],
             Elements::Modulo32 => [
-                0x22, 0x3f, 0xb5, 0x83, 0x2b, 0x95, 0x59, 0xca, 0x86, 0x51, 0x72, 0x6a, 0xb7, 0x95,
-                0x6e, 0x58, 0xe5, 0x3a, 0x40, 0x2d, 0xf9, 0x60, 0x34, 0x86, 0x18, 0x18, 0x07, 0xa2,
-                0xfc, 0xae, 0xd4, 0x87,
+                0x7d, 0x12, 0x78, 0x66, 0xce, 0xb0, 0x03, 0xec, 0x84, 0xa2, 0x70, 0x2a, 0xff, 0x40,
+                0x59, 0xa7, 0xc6, 0xfb, 0x00, 0xa5, 0xa5, 0xba, 0xce, 0x90, 0xb9, 0xd9, 0xc0, 0x20,
+                0xb5, 0xdc, 0x02, 0x97,
             ],
             Elements::Modulo64 => [
-                0x82, 0x59, 0xa2, 0xe3, 0xb0, 0x78, 0x9c, 0x9d, 0x31, 0xea, 0xbc, 0x49, 0x39, 0xd3,
-                0x1b, 0xc5, 0x25, 0x4c, 0x56, 0x65, 0xc4, 0x12, 0x05, 0x2c, 0x12, 0xd7, 0x2e, 0xcd,
-                0xfb, 0xed, 0x52, 0x25,
+                0xaa, 0xfe, 0xd9, 0xe3, 0x7b, 0x3d, 0x3e, 0xd4, 0x1d, 0xb1, 0x71, 0x16, 0x7b, 0x0f,
+                0xa2, 0x3c, 0x8b, 0x82, 0x3a, 0xdd, 0x9a, 0x48, 0xad, 0xde, 0x24, 0xba, 0x20, 0xf9,
+                0x19, 0x4b, 0x07, 0x9c,
             ],
             Elements::Modulo8 => [
-                0xf8, 0xfd, 0x7c, 0x21, 0xc1, 0x5e, 0xbc, 0x5a, 0x04, 0xb3, 0xd3, 0xbc, 0x0a, 0xd6,
-                0x47, 0xe2, 0x1d, 0x89, 0xf8, 0x00, 0x8d, 0xdd, 0xdf, 0xfe, 0xbb, 0x00, 0x3e, 0x35,
-                0x52, 0xbd, 0xb5, 0x70,
+                0x90, 0xf3, 0xac, 0xeb, 0x58, 0x47, 0x71, 0x39, 0x06, 0xd2, 0xf8, 0xef, 0x7c, 0xb4,
+                0xb6, 0x6b, 0x08, 0x92, 0x81, 0x0e, 0xa8, 0x01, 0xbf, 0xa9, 0xd7, 0x46, 0xda, 0x1a,
+                0xd6, 0xd9, 0x80, 0x09,
             ],
             Elements::Multiply16 => [
-                0xd6, 0x6b, 0x0a, 0xd2, 0x1c, 0xdb, 0xe6, 0x01, 0x4f, 0x26, 0x19, 0xf4, 0x40, 0xd9,
-                0x35, 0xf6, 0x42, 0xe9, 0x7c, 0x59, 0x4e, 0x3b, 0x44, 0x1f, 0x01, 0x98, 0x0e, 0xea,
-                0x08, 0xc4, 0x85, 0x91,
+                0x68, 0x68, 0xa8, 0x5d, 0x9f, 0x76, 0xc9, 0x58, 0xff, 0xda, 0x84, 0x78, 0x05, 0xf5,
+                0xeb, 0xc0, 0x9f, 0x43, 0xbd, 0xdb, 0xc1, 0x40, 0x95, 0x2a, 0xbb, 0x2a, 0x4c, 0xc0,
+                0x19, 0x27, 0xeb, 0xdd,
             ],
             Elements::Multiply32 => [
-                0xc6, 0x7f, 0x65, 0xaf, 0xae, 0x79, 0x10, 0x8c, 0xe5, 0xf7, 0x24, 0xf4, 0x01, 0x81,
-                0x7a, 0xa1, 0xb4, 0xa7, 0x60, 0x8a, 0x4e, 0x18, 0xee, 0x74, 0x82, 0x6b, 0x37, 0xf7,
-                0x94, 0x9c, 0x77, 0xd6,
+                0x69, 0xf9, 0x1b, 0x99, 0x4d, 0x83, 0x40, 0xe4, 0x8c, 0x0f, 0x11, 0x24, 0x99, 0x0d,
+                0xe0, 0x3b, 0x51, 0x2a, 0xdc, 0xec, 0xd7, 0xbd, 0xeb, 0x29, 0xe4, 0x09, 0xa3, 0x51,
+                0x19, 0xf1, 0x1f, 0xac,
             ],
             Elements::Multiply64 => [
-                0x16, 0xac, 0x08, 0xfe, 0xc9, 0xd9, 0x66, 0x52, 0x7f, 0x80, 0xc3, 0x9c, 0x64, 0xa4,
-                0xfc, 0x10, 0x82, 0xb1, 0x50, 0xbd, 0xbb, 0x05, 0xf7, 0xf6, 0xc4, 0xb9, 0xa0, 0x0e,
-                0xbd, 0x89, 0x4d, 0xba,
+                0xd1, 0xf1, 0x48, 0xf2, 0xd4, 0x50, 0xe8, 0x03, 0x47, 0x43, 0x43, 0xe5, 0x9d, 0x2e,
+                0x0c, 0x4d, 0xa7, 0xd6, 0xb0, 0x97, 0x2c, 0xfa, 0x25, 0x1c, 0x9a, 0x82, 0x2a, 0xb4,
+                0x42, 0x63, 0xe1, 0x62,
             ],
             Elements::Multiply8 => [
-                0xce, 0xc3, 0xd5, 0xc3, 0x2d, 0xee, 0x35, 0x2e, 0x75, 0x4f, 0x14, 0x1c, 0x02, 0xef,
-                0x2b, 0x60, 0xf8, 0x6e, 0x27, 0xd2, 0xcb, 0xe2, 0x73, 0x26, 0x06, 0x0d, 0xec, 0x9e,
-                0x7b, 0xcc, 0x20, 0x6b,
+                0x2a, 0x8c, 0x03, 0x63, 0x2e, 0xcc, 0x5e, 0x61, 0xe3, 0xf1, 0x20, 0x3a, 0x91, 0x2b,
+                0x1a, 0x77, 0x3e, 0xb6, 0xbf, 0x63, 0x4b, 0x6b, 0xdf, 0x56, 0x63, 0xb8, 0x43, 0x1d,
+                0xb6, 0xf5, 0x5b, 0xe3,
             ],
             Elements::Negate16 => [
-                0x81, 0xf3, 0xef, 0x08, 0x2b, 0x19, 0x9d, 0x2e, 0x47, 0x45, 0x35, 0xfb, 0x84, 0x28,
-                0x2f, 0x21, 0x11, 0x1c, 0x1a, 0x04, 0x97, 0xa9, 0x16, 0x95, 0xe7, 0x2c, 0x4d, 0x51,
-                0xaf, 0x1c, 0xb0, 0x57,
+                0xf1, 0xa2, 0x24, 0x28, 0x06, 0xaa, 0xdf, 0xc4, 0xdc, 0x11, 0xde, 0x65, 0xe8, 0x77,
+                0xb0, 0xd8, 0x73, 0xb5, 0xd5, 0x65, 0xee, 0xe3, 0xf8, 0x48, 0xa7, 0x44, 0x28, 0x31,
+                0xe5, 0x2c, 0x63, 0x0a,
             ],
             Elements::Negate32 => [
-                0xba, 0x17, 0x3b, 0xde, 0xf2, 0x4e, 0x63, 0x7f, 0x4a, 0x5a, 0x0c, 0x6f, 0xed, 0x4b,
-                0xbc, 0x22, 0xc7, 0xd0, 0x8b, 0xcc, 0x20, 0xfd, 0xca, 0x61, 0x70, 0x36, 0x3d, 0x25,
-                0x26, 0x95, 0x58, 0x36,
+                0xdb, 0x75, 0xba, 0x2c, 0x60, 0x95, 0x2e, 0x76, 0x5d, 0x7a, 0x5c, 0xe4, 0xaa, 0xa3,
+                0x12, 0x64, 0x99, 0x0f, 0xcc, 0xac, 0x75, 0x0a, 0x80, 0xad, 0xc6, 0x78, 0x78, 0x7f,
+                0x5f, 0x72, 0xbf, 0xdd,
             ],
             Elements::Negate64 => [
-                0xe7, 0x13, 0x27, 0x2d, 0x6d, 0x9a, 0x6d, 0x69, 0x6c, 0x46, 0x88, 0x9d, 0xfb, 0x27,
-                0x04, 0x75, 0xe9, 0x23, 0x8d, 0x17, 0x72, 0xab, 0xf9, 0x16, 0x5b, 0x09, 0x3c, 0x79,
-                0x98, 0xee, 0x80, 0x70,
+                0xc9, 0x1b, 0xcd, 0xb7, 0x1d, 0x19, 0x6a, 0x3b, 0xf6, 0x5c, 0xa8, 0x3f, 0x22, 0x5a,
+                0x5e, 0x1b, 0xbb, 0x73, 0xbd, 0x2e, 0x35, 0x75, 0xcf, 0x16, 0x5e, 0x5a, 0x47, 0x17,
+                0xe9, 0x47, 0x37, 0xeb,
             ],
             Elements::Negate8 => [
-                0x8b, 0xe8, 0x71, 0x39, 0x3e, 0x18, 0xc0, 0x63, 0x69, 0x16, 0x1f, 0xb1, 0xc0, 0xad,
-                0x2b, 0x92, 0x06, 0x22, 0x97, 0x4e, 0x3f, 0xdf, 0xca, 0x90, 0x56, 0x7e, 0x6d, 0xa4,
-                0x29, 0xfd, 0x98, 0x42,
+                0x8a, 0xff, 0xfa, 0xb3, 0x6b, 0xbc, 0xa0, 0xe9, 0x3f, 0xff, 0x2c, 0x67, 0x27, 0x24,
+                0xe4, 0xb7, 0xbc, 0x24, 0xf6, 0x38, 0xe4, 0x04, 0x89, 0x12, 0x66, 0x47, 0x88, 0xf0,
+                0x38, 0xc9, 0x95, 0xcf,
             ],
             Elements::NewIssuanceContract => [
-                0x59, 0xe2, 0xa7, 0x4c, 0x99, 0x7a, 0x07, 0xaa, 0xfd, 0x5c, 0x28, 0x0e, 0x46, 0x49,
-                0xe7, 0xaf, 0x2b, 0x3c, 0xc4, 0xdc, 0x9b, 0x72, 0xa8, 0x1c, 0x72, 0x25, 0x48, 0xff,
-                0x8c, 0x13, 0x13, 0xbf,
+                0x4d, 0x86, 0xad, 0x92, 0x93, 0x95, 0x13, 0x43, 0xc9, 0xd7, 0x03, 0x10, 0x48, 0x12,
+                0x7b, 0x20, 0x74, 0x56, 0x6a, 0xfa, 0xd6, 0x60, 0xa9, 0x30, 0x23, 0x46, 0xe6, 0xca,
+                0x96, 0x26, 0x85, 0x7b,
             ],
             Elements::NonceHash => [
-                0xca, 0x4a, 0x66, 0xd7, 0xf8, 0xe9, 0x82, 0xa9, 0xee, 0x04, 0x25, 0x04, 0x0d, 0x2b,
-                0x0d, 0x1d, 0x3d, 0xc6, 0x20, 0x7f, 0x93, 0x85, 0x64, 0x58, 0xe2, 0x4e, 0x7a, 0x26,
-                0xe9, 0x5c, 0x56, 0xf8,
+                0xee, 0x34, 0x73, 0x8b, 0x80, 0x1e, 0xc5, 0xf2, 0x6c, 0xf2, 0x44, 0x36, 0x7e, 0x2a,
+                0xf0, 0xa0, 0x5a, 0x2d, 0xc6, 0x18, 0x43, 0x0a, 0x4a, 0x36, 0x2e, 0x27, 0x50, 0x03,
+                0xcf, 0x05, 0xc8, 0xad,
             ],
             Elements::NumInputs => [
-                0xd7, 0xb4, 0x66, 0x28, 0x7e, 0xf4, 0xe5, 0x9c, 0x02, 0xbe, 0x33, 0x89, 0xea, 0xfb,
-                0x43, 0x47, 0xb7, 0xd1, 0xa2, 0xa1, 0x5c, 0x14, 0x49, 0x18, 0xb7, 0xad, 0x34, 0x43,
-                0xb1, 0x4f, 0xae, 0x03,
+                0x3b, 0xca, 0x34, 0xd7, 0xde, 0x35, 0x55, 0xe1, 0x2d, 0x08, 0x5d, 0x92, 0xba, 0xe6,
+                0xe5, 0x2c, 0x6a, 0xdc, 0x71, 0x86, 0xde, 0x52, 0xf0, 0xac, 0x35, 0x1c, 0x96, 0xe6,
+                0x64, 0xd9, 0xe3, 0x1f,
             ],
             Elements::NumOutputs => [
-                0x67, 0xdf, 0x4d, 0xeb, 0x3f, 0xf0, 0xc2, 0x6a, 0xe3, 0x12, 0x30, 0x47, 0xcc, 0x73,
-                0x4a, 0xe3, 0xb6, 0x1f, 0xfc, 0xef, 0x51, 0x1f, 0xcf, 0x42, 0x81, 0x3c, 0x3f, 0x48,
-                0x19, 0x20, 0xee, 0x48,
+                0x29, 0xdc, 0x31, 0x90, 0xd3, 0xbb, 0xaf, 0xb5, 0xe3, 0x0b, 0x1c, 0x6e, 0x6c, 0x5a,
+                0xf0, 0x30, 0x7a, 0x9d, 0x35, 0xd3, 0x11, 0x7f, 0xd1, 0xc2, 0xbd, 0xcc, 0x14, 0xd8,
+                0xc4, 0xfa, 0xde, 0x70,
             ],
             Elements::One16 => [
-                0x76, 0x29, 0x79, 0x2b, 0xa1, 0xa4, 0x41, 0x14, 0xe5, 0x9e, 0x64, 0xb5, 0x1d, 0x18,
-                0x7a, 0xf6, 0xd9, 0x65, 0xd9, 0x66, 0x20, 0xdc, 0xa2, 0x62, 0x75, 0x07, 0xb7, 0xd3,
-                0x88, 0xd9, 0x35, 0x3c,
+                0xeb, 0xe5, 0x31, 0x62, 0x82, 0x42, 0xd1, 0x17, 0x7f, 0xa9, 0x4e, 0xcf, 0x46, 0x92,
+                0x21, 0xbe, 0x15, 0x90, 0x5e, 0x07, 0xf3, 0xc8, 0xfa, 0x15, 0xd3, 0xd9, 0xd4, 0xaa,
+                0x6a, 0x81, 0x5c, 0x8d,
             ],
             Elements::One32 => [
-                0x0b, 0xa0, 0x04, 0xce, 0xa2, 0x50, 0xfe, 0x95, 0x3a, 0xc7, 0x4e, 0x6e, 0xcd, 0x36,
-                0x20, 0xe8, 0x02, 0x84, 0x1f, 0xda, 0x79, 0x52, 0x08, 0xde, 0xc6, 0x6d, 0x62, 0x6e,
-                0x06, 0xaa, 0x29, 0xb2,
+                0x99, 0x1f, 0x9e, 0x3a, 0xcb, 0x6f, 0xf7, 0x8f, 0x03, 0xf5, 0x78, 0x03, 0x54, 0x10,
+                0x96, 0xbe, 0x79, 0x44, 0xc9, 0x18, 0xc2, 0xaf, 0x3d, 0x68, 0xa3, 0x21, 0x0d, 0x0b,
+                0x9f, 0x99, 0x0e, 0xc2,
             ],
             Elements::One64 => [
-                0xba, 0x34, 0x78, 0xc1, 0x08, 0x74, 0x0a, 0x83, 0xf0, 0xca, 0x0e, 0xae, 0x86, 0xc3,
-                0x1b, 0x4a, 0xfa, 0xc8, 0x30, 0xdf, 0x09, 0x34, 0x67, 0xcc, 0x08, 0xea, 0x1c, 0x04,
-                0x15, 0xef, 0xef, 0x6d,
+                0xfe, 0x30, 0x8d, 0x3f, 0x68, 0x97, 0xcd, 0xce, 0xed, 0xc0, 0x2c, 0xed, 0x16, 0x30,
+                0xe5, 0x5e, 0x87, 0xbd, 0xcf, 0xec, 0xd4, 0xae, 0xc3, 0xce, 0x54, 0x94, 0x8f, 0x57,
+                0xdf, 0xe1, 0x8e, 0x27,
             ],
             Elements::One8 => [
-                0x15, 0xca, 0x77, 0xa4, 0xb7, 0x02, 0x25, 0x68, 0x37, 0xf9, 0x0f, 0xf7, 0x8c, 0xa7,
-                0x74, 0x0a, 0x40, 0xfe, 0xce, 0x71, 0x91, 0x30, 0x1d, 0x00, 0xe5, 0x17, 0xd8, 0xd3,
-                0x4f, 0x46, 0xc2, 0x50,
+                0x68, 0x24, 0x82, 0x61, 0x8b, 0xee, 0x00, 0xbb, 0x85, 0xdb, 0x83, 0xe3, 0x9d, 0xc4,
+                0x0c, 0x28, 0x51, 0xf6, 0x4c, 0x00, 0x69, 0x53, 0x44, 0x0f, 0x43, 0xb9, 0x73, 0xaf,
+                0x7a, 0x72, 0x32, 0xc9,
             ],
             Elements::Or1 => [
-                0x93, 0x52, 0x22, 0x30, 0x17, 0x00, 0x98, 0x7d, 0xe1, 0x2c, 0xb4, 0x26, 0x17, 0x21,
-                0x81, 0x53, 0xfd, 0x7c, 0xcd, 0x63, 0x17, 0x4a, 0x17, 0x49, 0xfc, 0x88, 0x0c, 0x39,
-                0xe3, 0xe7, 0x23, 0x9c,
+                0xa9, 0xa6, 0xa7, 0x36, 0x9f, 0x3f, 0xd7, 0x7e, 0xfd, 0x36, 0xb8, 0xa4, 0x1d, 0xad,
+                0xd7, 0x0c, 0x1a, 0x4e, 0xde, 0x70, 0x62, 0x3b, 0x14, 0x0a, 0x8d, 0x50, 0xde, 0xc7,
+                0x4d, 0xd4, 0x91, 0x2d,
             ],
             Elements::Or16 => [
-                0xdf, 0xea, 0xd0, 0xba, 0x93, 0xe4, 0x91, 0x55, 0xc4, 0x0c, 0xb3, 0x72, 0xca, 0x5e,
-                0xf6, 0x17, 0x97, 0x41, 0xc6, 0x1f, 0x2b, 0x3c, 0xc2, 0x79, 0x7e, 0xf1, 0x62, 0xc8,
-                0xd2, 0xfc, 0x1f, 0x9a,
+                0xda, 0x96, 0xd8, 0x33, 0x21, 0x55, 0xc3, 0x63, 0x8c, 0xf2, 0xa6, 0x20, 0x40, 0xb2,
+                0x24, 0xc1, 0x3c, 0x1b, 0xae, 0xee, 0x91, 0x32, 0x18, 0x53, 0x3d, 0xef, 0xed, 0x9e,
+                0x16, 0x6a, 0x64, 0x83,
             ],
             Elements::Or32 => [
-                0x67, 0xac, 0x69, 0x45, 0xcd, 0xc0, 0x06, 0xd2, 0x5e, 0x5b, 0xbe, 0x6c, 0x4f, 0xe8,
-                0x1c, 0xa1, 0x67, 0x41, 0xff, 0xab, 0x3d, 0x23, 0x96, 0x0e, 0xeb, 0x49, 0x85, 0x0f,
-                0x92, 0x73, 0x2c, 0xbb,
+                0xb6, 0x72, 0xb0, 0xf7, 0xc9, 0x29, 0x74, 0x97, 0xa0, 0xc9, 0xcc, 0x84, 0xd7, 0xf7,
+                0xdd, 0xe2, 0x6d, 0x6d, 0xe5, 0xe4, 0xbe, 0xc1, 0x4b, 0x20, 0xe0, 0x10, 0xce, 0xe1,
+                0xcc, 0xc0, 0x8f, 0x09,
             ],
             Elements::Or64 => [
-                0x1e, 0xb9, 0x52, 0xe4, 0x61, 0x16, 0xe2, 0x71, 0xdc, 0x48, 0x9e, 0x67, 0x22, 0xa9,
-                0x01, 0x85, 0xeb, 0xf5, 0xfb, 0x77, 0x5b, 0x77, 0x81, 0x60, 0x6d, 0xbf, 0x5e, 0x89,
-                0xcc, 0xd7, 0xc2, 0x50,
+                0x13, 0x3d, 0x50, 0x5c, 0xe5, 0x03, 0xfb, 0xeb, 0x13, 0x29, 0x58, 0x0f, 0x5b, 0x96,
+                0xa0, 0xd9, 0x7f, 0x3a, 0x5a, 0xba, 0x79, 0xd7, 0x1b, 0xbd, 0x85, 0x88, 0x4a, 0x12,
+                0x81, 0x39, 0xc0, 0x08,
             ],
             Elements::Or8 => [
-                0x37, 0x8f, 0x7a, 0xbe, 0x8b, 0x08, 0x1f, 0xaf, 0x5b, 0x3a, 0x25, 0x78, 0xef, 0x19,
-                0x79, 0xfe, 0x80, 0xbc, 0xcb, 0x07, 0x91, 0x15, 0x6a, 0x49, 0x3f, 0x8a, 0x3f, 0x6e,
-                0x0b, 0xb2, 0xfc, 0x84,
+                0x8e, 0xf1, 0xc6, 0xa1, 0xca, 0xe0, 0x74, 0x03, 0xda, 0xcd, 0x8c, 0x13, 0x2e, 0x88,
+                0x99, 0xc1, 0x85, 0x87, 0x45, 0xc8, 0x6d, 0x1f, 0xdd, 0x4c, 0x9f, 0xda, 0x63, 0x62,
+                0x51, 0x00, 0x48, 0xb3,
             ],
             Elements::OutpointHash => [
-                0xe3, 0x1d, 0x33, 0x9d, 0x86, 0xe6, 0xd7, 0x6b, 0xad, 0xc3, 0xd6, 0xd6, 0xcf, 0x1b,
-                0xe7, 0x06, 0x53, 0xe0, 0x34, 0x42, 0x73, 0x44, 0x9c, 0xec, 0xf5, 0x21, 0xd3, 0x66,
-                0x2b, 0xd8, 0xfc, 0x2b,
+                0x89, 0xf8, 0xdc, 0x9b, 0xd0, 0xe9, 0x05, 0x91, 0xd9, 0xc1, 0x22, 0x24, 0xb3, 0x61,
+                0x42, 0x93, 0xda, 0x1a, 0x23, 0x84, 0xf5, 0x55, 0x9b, 0xe1, 0xcf, 0x3e, 0xbd, 0x1e,
+                0x7a, 0x32, 0x6d, 0xa3,
             ],
             Elements::OutputAmount => [
-                0x52, 0xdb, 0x68, 0xc6, 0xc7, 0xbe, 0x32, 0xbf, 0xaa, 0x42, 0x69, 0x70, 0xeb, 0x41,
-                0x97, 0xce, 0x1c, 0xe3, 0xf4, 0x53, 0x0e, 0x1a, 0x2c, 0xff, 0x8e, 0x17, 0xdb, 0x47,
-                0x22, 0x92, 0x07, 0xb3,
+                0x1e, 0xf0, 0xe9, 0x08, 0x64, 0x91, 0xc7, 0xb8, 0xf2, 0x5a, 0x05, 0x45, 0x5d, 0xee,
+                0x8f, 0xf3, 0x0b, 0x85, 0x08, 0x85, 0x65, 0x09, 0x4b, 0x47, 0x52, 0x0b, 0x59, 0x44,
+                0x72, 0xf8, 0xcc, 0x14,
             ],
             Elements::OutputAmountsHash => [
-                0xbc, 0xcb, 0xee, 0x78, 0x1e, 0xe2, 0x97, 0xfa, 0xbf, 0xbe, 0x38, 0xc0, 0x07, 0x9a,
-                0xd3, 0x74, 0x25, 0x8c, 0x0b, 0x1e, 0xbe, 0x22, 0x34, 0x57, 0x09, 0x9a, 0x28, 0x4a,
-                0x1b, 0x43, 0x38, 0xa2,
+                0x25, 0xfd, 0xe6, 0x39, 0xb3, 0xe1, 0x3e, 0xca, 0x04, 0xde, 0x5e, 0x8f, 0x1a, 0x1b,
+                0x0c, 0x84, 0x8c, 0x67, 0xbe, 0xf3, 0x39, 0x66, 0xec, 0xba, 0x97, 0x54, 0x20, 0xb4,
+                0x7b, 0xe7, 0x22, 0x9d,
             ],
             Elements::OutputAsset => [
-                0xca, 0x89, 0xb5, 0xc4, 0x5a, 0x9a, 0x24, 0x7d, 0x39, 0x08, 0x6c, 0xdf, 0xbe, 0x2b,
-                0xa1, 0xdf, 0x02, 0x5e, 0x37, 0xdb, 0x9b, 0x6a, 0x2a, 0xbb, 0x74, 0xd9, 0x70, 0x66,
-                0xa6, 0x9b, 0xf3, 0xa0,
+                0x2b, 0x6f, 0xbd, 0x7c, 0x07, 0x61, 0x7b, 0x9e, 0x71, 0xc9, 0x12, 0x07, 0xd2, 0x40,
+                0xad, 0xd8, 0x31, 0x57, 0x65, 0x0c, 0x89, 0xea, 0x80, 0x49, 0x96, 0x1f, 0xa8, 0xb3,
+                0x42, 0xdf, 0xd6, 0xd1,
             ],
             Elements::OutputHash => [
-                0x78, 0x75, 0xcc, 0x33, 0x2c, 0xf1, 0xb4, 0x9c, 0xdc, 0xf1, 0x1e, 0x70, 0x18, 0xdc,
-                0x81, 0x19, 0x3e, 0xe4, 0xb1, 0x9e, 0xa1, 0x42, 0xfc, 0x0a, 0xe7, 0xdb, 0xdd, 0xb3,
-                0x36, 0xe2, 0xfb, 0xfa,
+                0xbe, 0xc3, 0x0e, 0xfe, 0x44, 0x43, 0xaa, 0x3a, 0x1b, 0xeb, 0xa6, 0x11, 0x51, 0x21,
+                0x7c, 0xc6, 0x73, 0xba, 0x72, 0x01, 0xc5, 0x1f, 0xf2, 0x3a, 0x2c, 0x2f, 0x6d, 0x43,
+                0xfa, 0x50, 0x44, 0x1a,
             ],
             Elements::OutputIsFee => [
-                0xf7, 0x0e, 0xb0, 0x68, 0xd2, 0x00, 0xb7, 0xbc, 0x5a, 0xaa, 0xab, 0xa1, 0x29, 0x28,
-                0xe8, 0x19, 0x2b, 0x29, 0x48, 0xcd, 0xe7, 0xe8, 0xf3, 0x14, 0x1c, 0x6b, 0x43, 0x11,
-                0x38, 0xe5, 0xde, 0x3c,
+                0x06, 0x8d, 0xbe, 0xd8, 0x41, 0xd5, 0x5f, 0x6c, 0xd4, 0x24, 0xc9, 0xf2, 0xe0, 0x7f,
+                0x0c, 0x18, 0x38, 0xfb, 0x6d, 0xe8, 0xe5, 0x85, 0x3f, 0xb3, 0x22, 0xe2, 0x99, 0xe0,
+                0x17, 0xdd, 0x92, 0xe3,
             ],
             Elements::OutputNonce => [
-                0xed, 0xab, 0x12, 0x41, 0xd2, 0x97, 0xf2, 0x74, 0x7a, 0xd3, 0x78, 0xa8, 0x1a, 0x56,
-                0x14, 0x3d, 0x74, 0x1b, 0xc4, 0xee, 0x4c, 0x30, 0xb3, 0x2f, 0x8b, 0xc1, 0xae, 0xb5,
-                0x2c, 0xc4, 0x81, 0x4c,
+                0x8e, 0xc5, 0x41, 0x08, 0xee, 0x02, 0xae, 0xfe, 0x53, 0x00, 0x91, 0x7e, 0xf6, 0xa2,
+                0x5f, 0x84, 0xb4, 0x1b, 0x5a, 0x1a, 0x10, 0x1a, 0x6b, 0x72, 0xf3, 0xc1, 0x8a, 0xe1,
+                0xce, 0x29, 0x12, 0x39,
             ],
             Elements::OutputNoncesHash => [
-                0xf0, 0x7f, 0xe7, 0xe9, 0x73, 0x96, 0x86, 0x5d, 0x50, 0xc1, 0xac, 0x94, 0x77, 0xad,
-                0x9f, 0x95, 0x06, 0x2f, 0x11, 0xed, 0x01, 0xc9, 0x7d, 0xe7, 0xfa, 0x4a, 0xff, 0xa0,
-                0x8c, 0xd1, 0x05, 0x31,
+                0x10, 0xc4, 0x0d, 0xbc, 0xf7, 0x03, 0x35, 0xd6, 0x55, 0x2e, 0xff, 0x11, 0xc1, 0xe2,
+                0xd5, 0x43, 0x63, 0x0f, 0x10, 0x8f, 0x72, 0x34, 0x40, 0x2a, 0x1b, 0x0b, 0x3d, 0x6e,
+                0x5f, 0xda, 0xe0, 0x3f,
             ],
             Elements::OutputNullDatum => [
-                0x96, 0x4c, 0x4d, 0xee, 0x8f, 0xe4, 0xa8, 0x66, 0xcc, 0x3e, 0xa4, 0x94, 0x78, 0x84,
-                0x81, 0x4c, 0xcc, 0xd6, 0x02, 0x69, 0x2e, 0x37, 0x8b, 0xa0, 0xe9, 0x35, 0xfa, 0x03,
-                0xf9, 0x5e, 0x3d, 0xe1,
+                0x24, 0xaf, 0xc5, 0x95, 0x7e, 0x52, 0x1e, 0xa7, 0x32, 0xb2, 0x9c, 0xa3, 0x28, 0xbc,
+                0x8c, 0x07, 0x27, 0x6a, 0xe4, 0xda, 0xf9, 0xd8, 0x64, 0xa3, 0xa5, 0x14, 0x9f, 0x89,
+                0x31, 0xae, 0xe6, 0xf5,
             ],
             Elements::OutputRangeProof => [
-                0xa0, 0x04, 0x18, 0xe4, 0xab, 0xc4, 0xbe, 0xd5, 0x37, 0x3f, 0xc2, 0x22, 0xce, 0x1f,
-                0x96, 0x0b, 0x64, 0x35, 0xea, 0xa8, 0xf1, 0x4f, 0xe6, 0x6c, 0xa4, 0x2c, 0x52, 0xdd,
-                0x9a, 0xe2, 0x26, 0xb8,
+                0x33, 0xd1, 0x16, 0x3f, 0x67, 0x09, 0xe6, 0x59, 0x49, 0xc3, 0x91, 0xf0, 0xa7, 0x3e,
+                0x10, 0x51, 0x9c, 0x19, 0x97, 0xcf, 0xcd, 0x13, 0xca, 0xbc, 0x93, 0x00, 0x1e, 0xd6,
+                0xa2, 0x3a, 0x2c, 0xa3,
             ],
             Elements::OutputRangeProofsHash => [
-                0xeb, 0xe6, 0x26, 0xe2, 0x85, 0x4e, 0x70, 0x00, 0x75, 0xea, 0xde, 0xee, 0xad, 0x5f,
-                0xe0, 0xbd, 0xd6, 0x9c, 0x1b, 0x0f, 0xad, 0xf1, 0x08, 0xd3, 0x68, 0xc1, 0x29, 0x3f,
-                0x86, 0x58, 0x5f, 0xb1,
+                0xfa, 0x89, 0x24, 0x70, 0xd9, 0xa1, 0x71, 0xc6, 0xd5, 0xa2, 0xa1, 0x25, 0xe9, 0x81,
+                0x46, 0x52, 0x57, 0xa5, 0x68, 0x1c, 0xec, 0xb2, 0xb5, 0x29, 0x74, 0x08, 0xd7, 0xf1,
+                0x5c, 0x93, 0xd2, 0xee,
             ],
             Elements::OutputScriptHash => [
-                0xec, 0xf6, 0x73, 0xe5, 0xfc, 0xaf, 0x7b, 0x7e, 0x6e, 0x37, 0xb6, 0x28, 0x09, 0x5e,
-                0x5a, 0x9e, 0xf9, 0x81, 0xe6, 0xc4, 0xc3, 0x39, 0xeb, 0xdf, 0x3e, 0xb1, 0xe6, 0xbf,
-                0x45, 0x05, 0xf5, 0x34,
+                0x84, 0x37, 0x73, 0x0b, 0x27, 0x02, 0xe4, 0xe6, 0x3a, 0xee, 0x3a, 0xf0, 0x84, 0x51,
+                0x91, 0x07, 0x7f, 0xfd, 0x18, 0xd0, 0x10, 0xaf, 0x4a, 0x73, 0xa7, 0xd5, 0xf0, 0xc0,
+                0xfb, 0xc0, 0x64, 0x83,
             ],
             Elements::OutputScriptsHash => [
-                0xc0, 0x48, 0x9e, 0x87, 0x8c, 0xd8, 0x9c, 0xa5, 0x10, 0x9a, 0x53, 0x16, 0x7a, 0x61,
-                0xa8, 0x45, 0x4e, 0xd6, 0xdc, 0x2a, 0xce, 0xf9, 0x19, 0x1a, 0xd5, 0x3b, 0xbf, 0xb3,
-                0xb0, 0xea, 0x72, 0xdf,
+                0x86, 0x8d, 0xec, 0x36, 0x5b, 0xa0, 0x46, 0x27, 0xdd, 0x90, 0xd5, 0x6e, 0x28, 0x55,
+                0x3b, 0x57, 0xf2, 0xd1, 0x93, 0xc4, 0x64, 0xcc, 0xcd, 0x76, 0xb1, 0x66, 0x3e, 0xfb,
+                0xc3, 0x87, 0x38, 0x89,
             ],
             Elements::OutputSurjectionProof => [
-                0x1d, 0xe8, 0xad, 0xdb, 0xf8, 0xb6, 0x97, 0xc2, 0xb3, 0xd1, 0x92, 0xbd, 0xe2, 0xc2,
-                0xc5, 0x5f, 0x5e, 0x67, 0x09, 0xc5, 0xbd, 0x86, 0x31, 0xe3, 0x8d, 0x83, 0x78, 0xdd,
-                0x3d, 0xce, 0x49, 0xcc,
+                0x9b, 0x6c, 0x4e, 0x8d, 0x56, 0x52, 0xe2, 0xab, 0xd6, 0xc4, 0x9f, 0x02, 0xde, 0x6d,
+                0xe6, 0xc3, 0x30, 0x96, 0xd1, 0x7c, 0x38, 0xe8, 0x62, 0x6a, 0x4f, 0x83, 0xb1, 0x9b,
+                0x04, 0x40, 0x9d, 0x48,
             ],
             Elements::OutputSurjectionProofsHash => [
-                0x74, 0x3e, 0xb2, 0xd9, 0x8e, 0x2c, 0x69, 0xc4, 0x03, 0xab, 0xa3, 0xc3, 0x3d, 0xcb,
-                0x83, 0x51, 0xde, 0x82, 0x24, 0xc9, 0xe0, 0x4d, 0xa5, 0x07, 0x1c, 0x8d, 0xfd, 0x7a,
-                0x93, 0x50, 0x70, 0xac,
+                0xa9, 0x2e, 0x38, 0x4e, 0xf3, 0x0f, 0xba, 0xc8, 0xf5, 0x24, 0x55, 0xc0, 0x95, 0x9e,
+                0x42, 0xa1, 0xf7, 0xb5, 0x86, 0x6e, 0x36, 0x83, 0x05, 0xb0, 0xb2, 0xd4, 0x20, 0xda,
+                0xe0, 0xd1, 0x91, 0xd5,
             ],
             Elements::OutputsHash => [
-                0x12, 0xaf, 0x1e, 0x5c, 0x32, 0xda, 0x75, 0x12, 0xfc, 0xd4, 0x32, 0x59, 0xd1, 0xbc,
-                0x84, 0x72, 0xa9, 0x15, 0xce, 0x21, 0xc6, 0xd3, 0x06, 0xe4, 0x85, 0xf1, 0xdb, 0xbc,
-                0x07, 0xa1, 0xcf, 0xdb,
+                0x1f, 0xa3, 0x11, 0xd6, 0x35, 0x9b, 0x3d, 0x97, 0xf6, 0x4d, 0x0d, 0xbd, 0x7e, 0x23,
+                0xf5, 0x17, 0x1d, 0x20, 0x0c, 0xd4, 0x9b, 0xc8, 0x1d, 0x99, 0xcc, 0xbf, 0x1b, 0x27,
+                0xef, 0xf7, 0x9a, 0xd5,
             ],
             Elements::ParseLock => [
-                0x45, 0x71, 0xca, 0x04, 0x52, 0x57, 0x7c, 0xfa, 0xf8, 0xa8, 0x5f, 0x5e, 0x32, 0x9d,
-                0x60, 0x2c, 0x8d, 0xca, 0xd1, 0x27, 0x6a, 0x97, 0x4e, 0x2c, 0x75, 0xd2, 0xec, 0x04,
-                0x65, 0x7b, 0xc4, 0x25,
+                0xce, 0x03, 0xe1, 0x95, 0xff, 0x84, 0x1f, 0x93, 0x09, 0xee, 0x27, 0x7d, 0xc8, 0x54,
+                0xf9, 0xc3, 0xd4, 0xcb, 0x65, 0x54, 0x20, 0xe9, 0x21, 0x13, 0x59, 0xe1, 0xf2, 0x04,
+                0x64, 0x1a, 0x23, 0xa6,
             ],
             Elements::ParseSequence => [
-                0x55, 0xc9, 0x03, 0x66, 0x0c, 0x8c, 0x92, 0xb1, 0x42, 0x9f, 0x63, 0xe2, 0x74, 0x71,
-                0xac, 0xd5, 0x9c, 0x3a, 0x26, 0xaa, 0x7a, 0x59, 0x22, 0x1d, 0x7a, 0x6d, 0x52, 0xb6,
-                0x2e, 0xba, 0xf9, 0x4a,
+                0xc8, 0xa1, 0xcb, 0x4e, 0xad, 0xf2, 0xa8, 0xda, 0x31, 0x2c, 0x0d, 0x27, 0x35, 0xcf,
+                0x97, 0xde, 0xe0, 0xdb, 0xae, 0x4d, 0x73, 0x11, 0x09, 0xca, 0x01, 0x94, 0x52, 0x1e,
+                0x70, 0x7d, 0x44, 0x5b,
             ],
             Elements::PointVerify1 => [
-                0xb6, 0x00, 0x9c, 0xec, 0x8b, 0xe8, 0xb1, 0x4a, 0x1d, 0x31, 0x32, 0x99, 0xd6, 0x67,
-                0x61, 0xd6, 0x59, 0xad, 0xff, 0xf8, 0x23, 0x28, 0x99, 0xab, 0x7d, 0xb4, 0x09, 0x7f,
-                0x52, 0xc7, 0xd0, 0xbe,
+                0xd6, 0x3f, 0xf0, 0xe5, 0xa5, 0x00, 0x85, 0x94, 0xd5, 0x55, 0xa6, 0x15, 0xe8, 0x1f,
+                0xd2, 0xa6, 0x9a, 0x48, 0x1b, 0x4f, 0x45, 0x7f, 0x42, 0xf4, 0x82, 0x83, 0xde, 0x2b,
+                0x52, 0x23, 0x84, 0xe0,
             ],
             Elements::ReissuanceBlinding => [
-                0x0b, 0x9a, 0x0a, 0xaf, 0xed, 0xb1, 0x02, 0xa1, 0x64, 0x06, 0x14, 0x19, 0xa7, 0x89,
-                0xea, 0x84, 0x32, 0x6c, 0xd5, 0x89, 0xf1, 0x7c, 0x0e, 0xa0, 0x19, 0x2d, 0xd6, 0x37,
-                0x2e, 0xcb, 0x5e, 0xbf,
+                0x80, 0x8b, 0xf4, 0x51, 0xa2, 0xc8, 0x04, 0x7b, 0x30, 0x7e, 0x21, 0xad, 0x20, 0x21,
+                0x3c, 0xae, 0x55, 0xe1, 0x02, 0xba, 0x72, 0x83, 0xb8, 0xfd, 0xec, 0x21, 0xdb, 0x78,
+                0x8c, 0x78, 0x7f, 0xed,
             ],
             Elements::ReissuanceEntropy => [
-                0xce, 0x84, 0xf9, 0x83, 0xa3, 0xbd, 0x33, 0x94, 0x3d, 0x4d, 0xcb, 0x44, 0x86, 0x1c,
-                0x4a, 0x69, 0xa2, 0xa5, 0xe8, 0xa5, 0x22, 0xb5, 0xd5, 0xeb, 0xf2, 0x51, 0x5f, 0x51,
-                0x1a, 0xc6, 0xa9, 0xb2,
+                0x24, 0x2f, 0x5c, 0x4f, 0x19, 0x65, 0x5a, 0x51, 0x71, 0x34, 0xdc, 0xdb, 0x07, 0x49,
+                0x05, 0x82, 0xad, 0x88, 0x01, 0x34, 0x94, 0x56, 0x71, 0x4e, 0x4b, 0x2e, 0xbe, 0x1a,
+                0x40, 0xd5, 0x36, 0x76,
             ],
             Elements::RightExtend16_32 => [
-                0x36, 0x42, 0x3c, 0x16, 0xd4, 0x8d, 0x6c, 0x7c, 0x91, 0xed, 0x44, 0x16, 0x11, 0xbe,
-                0x30, 0x72, 0xdf, 0xa5, 0xdd, 0x38, 0xe4, 0xd2, 0x7d, 0xa8, 0xda, 0xed, 0x29, 0x78,
-                0x8f, 0xc9, 0x52, 0x08,
+                0x1f, 0xe0, 0x5d, 0x19, 0x7e, 0xe6, 0xf1, 0x5e, 0xfb, 0x17, 0x54, 0x52, 0x36, 0xef,
+                0xeb, 0x38, 0xc1, 0x6e, 0x7a, 0x5a, 0xdc, 0x82, 0x8b, 0x9a, 0xa0, 0x4a, 0x3f, 0x6e,
+                0x46, 0x78, 0xb5, 0xba,
             ],
             Elements::RightExtend16_64 => [
-                0x4b, 0x8a, 0x47, 0xb9, 0x06, 0x70, 0x73, 0xa1, 0xfb, 0x68, 0x30, 0x0f, 0xac, 0xd6,
-                0xc5, 0x06, 0x98, 0x90, 0xab, 0xdb, 0x7e, 0xaa, 0xcb, 0x62, 0x2a, 0xd7, 0x30, 0x9a,
-                0x87, 0xf4, 0xd3, 0x4d,
+                0x7c, 0xb9, 0xcc, 0x78, 0x65, 0x52, 0x85, 0xa1, 0x62, 0xff, 0xd8, 0x0c, 0x6d, 0x59,
+                0xf8, 0x28, 0xec, 0xdb, 0x75, 0xcb, 0x64, 0xb0, 0x82, 0x74, 0xf8, 0x9d, 0x20, 0x10,
+                0x7c, 0x2b, 0xe4, 0x43,
             ],
             Elements::RightExtend32_64 => [
-                0xdd, 0x6a, 0xf1, 0xc8, 0x01, 0xd2, 0x6c, 0x0b, 0x2e, 0xdf, 0x83, 0xce, 0x67, 0xb1,
-                0x72, 0xdf, 0x67, 0x57, 0xd0, 0x7f, 0xb7, 0xc8, 0x54, 0x68, 0x6f, 0x42, 0xe5, 0x76,
-                0x8a, 0xdc, 0xc9, 0xe7,
+                0x32, 0x5d, 0x1d, 0xff, 0x73, 0x73, 0x83, 0xf4, 0x31, 0x3d, 0xcb, 0x23, 0xad, 0xf9,
+                0x1e, 0x2a, 0xa4, 0x42, 0x30, 0x38, 0x84, 0x62, 0x83, 0x2f, 0xa1, 0x5f, 0xe4, 0x33,
+                0x36, 0x33, 0xd9, 0x30,
             ],
             Elements::RightExtend8_16 => [
-                0x1d, 0xe2, 0x01, 0xa8, 0x64, 0x70, 0xa0, 0x2b, 0x2d, 0xfe, 0x48, 0xc6, 0x6a, 0xfe,
-                0x06, 0x73, 0x5b, 0x47, 0x5e, 0x88, 0xd3, 0x25, 0xcb, 0xf1, 0x60, 0x42, 0xa9, 0x10,
-                0x24, 0xd2, 0xbe, 0xd9,
+                0x53, 0x46, 0xf1, 0x5d, 0x34, 0x9b, 0xfe, 0xbf, 0x2b, 0x5b, 0x4b, 0x45, 0xf9, 0xc0,
+                0xfc, 0x39, 0x39, 0x20, 0x67, 0xdc, 0x6f, 0x97, 0x97, 0x51, 0xa1, 0x59, 0x66, 0xb5,
+                0xd1, 0x7e, 0xfb, 0x9f,
             ],
             Elements::RightExtend8_32 => [
-                0x7e, 0x9c, 0x5c, 0xb3, 0x54, 0x19, 0xab, 0x06, 0xe1, 0x22, 0x00, 0x23, 0x10, 0x2b,
-                0xe4, 0x6a, 0xb6, 0xd9, 0x69, 0x95, 0xc4, 0x23, 0xc6, 0xb1, 0x4b, 0x9a, 0x66, 0x02,
-                0x8a, 0xec, 0x5d, 0x75,
+                0xd5, 0xae, 0xe5, 0x10, 0xdf, 0xd5, 0x0a, 0xca, 0xbd, 0x8a, 0xc3, 0x29, 0xd2, 0x97,
+                0x48, 0xa6, 0xf5, 0x94, 0x08, 0xc2, 0x68, 0x63, 0xab, 0x62, 0x4b, 0xef, 0xc2, 0x44,
+                0x7e, 0xc2, 0x6a, 0x44,
             ],
             Elements::RightExtend8_64 => [
-                0x49, 0xd2, 0x46, 0xc2, 0xa6, 0x1c, 0xd3, 0x9d, 0x78, 0x20, 0xdc, 0xd7, 0x5e, 0xee,
-                0x84, 0x7b, 0xf0, 0x57, 0xc0, 0x1a, 0x63, 0xa3, 0xac, 0xbc, 0xc9, 0x46, 0x3e, 0x44,
-                0xbc, 0x1e, 0x0b, 0x6c,
+                0xa8, 0x43, 0xa3, 0x15, 0xf6, 0xdc, 0xd9, 0xbc, 0xff, 0x58, 0x68, 0x59, 0xed, 0x6c,
+                0x31, 0xd8, 0xcb, 0x98, 0x69, 0x07, 0x1b, 0x45, 0xb6, 0x79, 0x57, 0xed, 0x15, 0xae,
+                0xd2, 0xe0, 0xae, 0x5d,
             ],
             Elements::RightPadHigh16_32 => [
-                0xfe, 0x90, 0x1f, 0xb4, 0xf6, 0xeb, 0xdc, 0x4e, 0xa2, 0x96, 0x19, 0x98, 0x99, 0x22,
-                0xb8, 0x0f, 0xa9, 0xce, 0x24, 0x12, 0x87, 0xfa, 0x54, 0x08, 0x64, 0x36, 0x2c, 0xcc,
-                0xe9, 0xf5, 0x4b, 0x3b,
+                0x75, 0xbe, 0xc3, 0x00, 0x6c, 0x04, 0xce, 0x01, 0x8f, 0x4a, 0x61, 0x10, 0xaa, 0xb3,
+                0xc5, 0x5c, 0xad, 0x45, 0x32, 0x48, 0xc1, 0xe7, 0xeb, 0x04, 0x2c, 0x82, 0x57, 0xe6,
+                0xb9, 0x9c, 0xcd, 0x05,
             ],
             Elements::RightPadHigh16_64 => [
-                0xda, 0x90, 0xad, 0xd3, 0x10, 0x67, 0xcc, 0xfd, 0xbe, 0xe4, 0xcb, 0xfb, 0x21, 0xde,
-                0x8e, 0x6a, 0xa4, 0xf9, 0x3e, 0x00, 0x22, 0x00, 0x71, 0x1f, 0x99, 0x84, 0xaf, 0x6f,
-                0xc0, 0x1e, 0x27, 0x00,
+                0x93, 0x60, 0x59, 0x28, 0xb8, 0x49, 0xb0, 0xf8, 0xdf, 0xbc, 0x62, 0xa1, 0x25, 0x90,
+                0xbb, 0x1a, 0x92, 0x0b, 0xa5, 0x9d, 0x5b, 0xdc, 0x49, 0xdf, 0x0f, 0xaa, 0xb6, 0xa3,
+                0x35, 0x1a, 0x96, 0x61,
             ],
             Elements::RightPadHigh1_16 => [
-                0xe4, 0xcf, 0x11, 0x6c, 0x08, 0x80, 0xf7, 0x3f, 0x99, 0x52, 0xf7, 0x00, 0x81, 0x78,
-                0x84, 0x98, 0xe5, 0x08, 0x4c, 0xbb, 0x72, 0xcf, 0x84, 0x1b, 0xcd, 0x91, 0x67, 0xa6,
-                0xee, 0xa2, 0x64, 0xdc,
+                0x34, 0xc1, 0x08, 0xae, 0x8a, 0x54, 0xe2, 0xc6, 0x49, 0x9b, 0xfe, 0xc5, 0xd6, 0x93,
+                0x28, 0x15, 0xf8, 0x87, 0x14, 0x9c, 0x11, 0x49, 0xb7, 0x89, 0x94, 0x60, 0x3f, 0x40,
+                0xf1, 0xff, 0xd2, 0xe7,
             ],
             Elements::RightPadHigh1_32 => [
-                0x12, 0x76, 0x03, 0x6b, 0xb9, 0x4c, 0xfd, 0x92, 0x0a, 0xb7, 0x31, 0x64, 0x3b, 0x76,
-                0xb1, 0x19, 0x72, 0xdd, 0x26, 0x54, 0x38, 0x53, 0x44, 0x4e, 0x18, 0xd7, 0xf6, 0x3f,
-                0xca, 0xc0, 0x91, 0xa3,
+                0x5b, 0x4a, 0x76, 0xed, 0x0a, 0x50, 0xac, 0xe5, 0x2b, 0x79, 0x1a, 0xb9, 0xa5, 0xc5,
+                0xeb, 0xcb, 0x3c, 0xbb, 0xa0, 0xda, 0x3a, 0x95, 0xac, 0x40, 0x51, 0xeb, 0xa9, 0xab,
+                0x15, 0x0f, 0xd0, 0xdc,
             ],
             Elements::RightPadHigh1_64 => [
-                0x38, 0xc9, 0x99, 0x80, 0xb1, 0xa9, 0x98, 0x10, 0x51, 0x11, 0xc5, 0x6b, 0xf8, 0x24,
-                0x65, 0x09, 0x65, 0xa5, 0x09, 0xc4, 0x7e, 0x1c, 0x76, 0xd9, 0x00, 0x75, 0x0a, 0x1f,
-                0xee, 0x45, 0xc9, 0x64,
+                0xd4, 0x99, 0xb4, 0xbc, 0xf5, 0xdf, 0x6a, 0x71, 0xc8, 0x66, 0x4f, 0x96, 0xb7, 0xb9,
+                0x64, 0xae, 0x2b, 0xbb, 0xda, 0x55, 0x21, 0x97, 0x97, 0xec, 0x6b, 0x9d, 0x2d, 0xf4,
+                0xa5, 0xa5, 0xe8, 0xba,
             ],
             Elements::RightPadHigh1_8 => [
-                0xca, 0x72, 0xce, 0xed, 0x2d, 0x98, 0xdc, 0xcd, 0x81, 0xaa, 0x21, 0xf0, 0xba, 0x21,
-                0xd1, 0xa0, 0x87, 0xb6, 0xf2, 0x52, 0x07, 0xc2, 0x4a, 0x58, 0x0a, 0xda, 0x7e, 0x60,
-                0x5f, 0x79, 0x82, 0xdf,
+                0x5e, 0xe6, 0xa8, 0x38, 0x2f, 0x9b, 0xbd, 0xc0, 0xc5, 0x81, 0x03, 0x6e, 0x51, 0xf1,
+                0xd9, 0x27, 0x69, 0x96, 0x72, 0x2a, 0x18, 0x24, 0x13, 0xa1, 0x03, 0xcb, 0x98, 0xe9,
+                0xa8, 0x98, 0xf9, 0x1e,
             ],
             Elements::RightPadHigh32_64 => [
-                0x17, 0xeb, 0x59, 0x11, 0xf8, 0x54, 0x95, 0x76, 0x68, 0xee, 0xf4, 0x63, 0xb0, 0xcb,
-                0xae, 0x72, 0x08, 0x52, 0x91, 0x34, 0xef, 0x5e, 0x56, 0xcd, 0x33, 0xfb, 0xbc, 0x29,
-                0xc2, 0x8b, 0xbe, 0x92,
+                0x06, 0x2e, 0x02, 0xf4, 0x87, 0x97, 0x78, 0x7b, 0xef, 0x0e, 0xab, 0x59, 0x67, 0x58,
+                0x05, 0x11, 0xdc, 0xbc, 0xd7, 0x44, 0xbe, 0x65, 0xc4, 0xf6, 0xc3, 0x1b, 0x89, 0xe5,
+                0x47, 0xe2, 0xe1, 0xd5,
             ],
             Elements::RightPadHigh8_16 => [
-                0xd2, 0x6f, 0x0c, 0xc5, 0xb2, 0x61, 0xeb, 0x83, 0x0e, 0x02, 0xdf, 0x12, 0xcc, 0x57,
-                0x44, 0x25, 0x9b, 0x4a, 0x43, 0xd9, 0x75, 0xbd, 0x2e, 0x3d, 0x7c, 0x78, 0x28, 0x11,
-                0x76, 0x1f, 0xf1, 0xd1,
+                0xa5, 0xc9, 0x85, 0xe8, 0xae, 0xa8, 0x42, 0xfa, 0xdf, 0x9a, 0x74, 0x8b, 0x96, 0x4c,
+                0xa5, 0x15, 0x04, 0xe9, 0xeb, 0xb4, 0xac, 0x49, 0x45, 0x52, 0x64, 0x8f, 0x3a, 0x67,
+                0xa1, 0x60, 0xc4, 0xc5,
             ],
             Elements::RightPadHigh8_32 => [
-                0xbd, 0x2e, 0x5c, 0x92, 0x60, 0xbf, 0x6f, 0x32, 0x4d, 0x2b, 0x1f, 0x40, 0xcb, 0xb1,
-                0x22, 0x40, 0x2f, 0x30, 0xd5, 0x2f, 0x64, 0x34, 0xe3, 0x9f, 0x8a, 0x09, 0xb8, 0x39,
-                0x7b, 0xc3, 0x2e, 0x94,
+                0xbf, 0x92, 0xf3, 0x9f, 0xdc, 0xde, 0xe4, 0xc4, 0x96, 0x12, 0x18, 0x70, 0x75, 0x30,
+                0xcb, 0x10, 0x08, 0xad, 0xf7, 0x55, 0x89, 0xd2, 0x50, 0xca, 0xff, 0xb3, 0x70, 0xb3,
+                0x3e, 0xba, 0xe2, 0x38,
             ],
             Elements::RightPadHigh8_64 => [
-                0x94, 0x1b, 0xf4, 0x42, 0xdb, 0xcf, 0x4f, 0x20, 0x04, 0xa4, 0xb1, 0x8b, 0xee, 0xb2,
-                0xad, 0xac, 0x9f, 0x20, 0x9f, 0xea, 0x4c, 0x4b, 0xd4, 0x8c, 0xed, 0xe8, 0xda, 0xfa,
-                0xcf, 0x88, 0x43, 0xb7,
+                0xce, 0x7e, 0x8a, 0x0e, 0x4a, 0x9b, 0x04, 0x01, 0x5c, 0xc2, 0x4f, 0x26, 0x99, 0x0f,
+                0x68, 0xdc, 0x93, 0xb6, 0x7b, 0x3f, 0x67, 0x6f, 0xbf, 0xea, 0xa1, 0x7f, 0xd7, 0x4c,
+                0xd6, 0x03, 0x57, 0xc1,
             ],
             Elements::RightPadLow16_32 => [
-                0xbb, 0x38, 0x7c, 0x29, 0x2d, 0x59, 0xd7, 0x13, 0xad, 0x76, 0xf6, 0xce, 0xd5, 0xb5,
-                0x96, 0xcf, 0xd8, 0x38, 0x58, 0x92, 0x4f, 0x72, 0x5f, 0x7d, 0x11, 0x6b, 0x28, 0x07,
-                0x58, 0x21, 0x92, 0x5a,
+                0xb0, 0xf7, 0x15, 0x1d, 0x0a, 0x79, 0xde, 0x08, 0xf2, 0x33, 0x80, 0x6d, 0x4f, 0x7e,
+                0x1f, 0x88, 0xc3, 0x29, 0xb9, 0x64, 0x62, 0x5e, 0x8e, 0x02, 0xf0, 0xa0, 0xa6, 0x2c,
+                0x31, 0xd0, 0xe6, 0x00,
             ],
             Elements::RightPadLow16_64 => [
-                0x02, 0x32, 0x32, 0x6e, 0xe1, 0xb2, 0x06, 0xad, 0x26, 0x34, 0x9b, 0x55, 0x3d, 0x7f,
-                0x24, 0x62, 0x28, 0x73, 0x20, 0xd6, 0x30, 0xe4, 0x29, 0x32, 0x07, 0x40, 0xcb, 0xd3,
-                0xeb, 0x4e, 0xf9, 0xbe,
+                0x6d, 0x14, 0x1c, 0xd9, 0xc8, 0xdc, 0xfc, 0xef, 0xb1, 0xcf, 0x85, 0x3b, 0xf3, 0x72,
+                0x78, 0xed, 0xe8, 0xef, 0x3c, 0x55, 0x8f, 0x39, 0xed, 0xeb, 0xbc, 0xaf, 0xe4, 0x4b,
+                0x54, 0x00, 0x71, 0x50,
             ],
             Elements::RightPadLow1_16 => [
-                0xd9, 0x13, 0xf6, 0x02, 0xb3, 0x59, 0x58, 0xd5, 0x2a, 0xbb, 0x20, 0xb0, 0x2c, 0xe6,
-                0x89, 0x61, 0x6f, 0xfa, 0x66, 0xe0, 0x2d, 0x73, 0x86, 0x7d, 0x29, 0x18, 0x1e, 0x11,
-                0x93, 0xc9, 0xd2, 0x43,
+                0x33, 0x10, 0x1e, 0x54, 0x87, 0xdd, 0x66, 0xc2, 0x45, 0xe8, 0x75, 0x4d, 0xfa, 0x16,
+                0x6a, 0x06, 0xce, 0x53, 0xc5, 0xb5, 0x4f, 0xc6, 0xd8, 0x10, 0x0e, 0x2a, 0xec, 0x6c,
+                0xfe, 0x93, 0x9b, 0xc9,
             ],
             Elements::RightPadLow1_32 => [
-                0x6b, 0x40, 0x33, 0xd9, 0xfc, 0x6c, 0x87, 0x6b, 0x2e, 0x75, 0xd5, 0x82, 0xbb, 0x9b,
-                0x3c, 0x04, 0xfa, 0x29, 0xdf, 0xb2, 0x2c, 0x9e, 0x1a, 0x48, 0x8e, 0x83, 0x7c, 0x2f,
-                0x39, 0xaa, 0x61, 0x60,
+                0x5f, 0xa4, 0x98, 0xc3, 0xb7, 0xc6, 0xd3, 0x48, 0xa4, 0x22, 0xb8, 0xca, 0x4f, 0x47,
+                0xd0, 0x69, 0x55, 0x2a, 0xdb, 0xe2, 0xbc, 0x65, 0x59, 0xdf, 0x18, 0x68, 0x43, 0x43,
+                0x87, 0x48, 0x43, 0xd3,
             ],
             Elements::RightPadLow1_64 => [
-                0x4e, 0x2b, 0x20, 0xdd, 0x9d, 0x91, 0x85, 0x7a, 0x49, 0xc8, 0x20, 0xd0, 0x6f, 0x43,
-                0x5d, 0xd3, 0xca, 0x79, 0x1f, 0x17, 0x7e, 0xea, 0xf3, 0x4a, 0xec, 0x36, 0xc4, 0x54,
-                0x19, 0xd1, 0x69, 0x65,
+                0x07, 0xbb, 0x6d, 0x70, 0xc5, 0x35, 0x4f, 0x44, 0x51, 0xfb, 0x06, 0x1b, 0x37, 0xe9,
+                0xef, 0xda, 0x7e, 0x83, 0x6e, 0xfd, 0x45, 0x06, 0x14, 0x05, 0xa5, 0xea, 0x1a, 0x2f,
+                0xf3, 0x15, 0x83, 0x06,
             ],
             Elements::RightPadLow1_8 => [
-                0x24, 0xee, 0xe4, 0x51, 0xb2, 0x6b, 0xa3, 0x9d, 0x6b, 0xcc, 0x58, 0x8b, 0x72, 0x0f,
-                0xaf, 0x22, 0x32, 0x76, 0x79, 0x12, 0xf6, 0x7d, 0xb3, 0x29, 0x06, 0x0d, 0x90, 0xb7,
-                0x14, 0x17, 0xb6, 0xc3,
+                0xcd, 0x72, 0x15, 0xd3, 0x9b, 0x80, 0xb1, 0x8b, 0x6e, 0x78, 0xec, 0x56, 0x8b, 0x48,
+                0x82, 0x58, 0x9f, 0x82, 0x71, 0x04, 0xd6, 0x85, 0xb0, 0xd4, 0xec, 0x68, 0x9d, 0x10,
+                0x59, 0x75, 0x71, 0x22,
             ],
             Elements::RightPadLow32_64 => [
-                0x52, 0xfb, 0x8b, 0xbc, 0xef, 0x90, 0x32, 0x31, 0xa5, 0xb7, 0x67, 0x91, 0xe4, 0x65,
-                0x2b, 0x38, 0xbe, 0xd8, 0x97, 0x7f, 0x5d, 0xab, 0x17, 0x95, 0x55, 0x99, 0x8d, 0xb2,
-                0x4d, 0x1d, 0x7c, 0x98,
+                0x00, 0x78, 0xa0, 0x7c, 0x1a, 0x2b, 0xa8, 0x48, 0x6f, 0x16, 0x05, 0xd7, 0xfa, 0x54,
+                0xb3, 0x77, 0xe8, 0x4c, 0xb6, 0xdd, 0xc5, 0xe4, 0xc0, 0x3d, 0xaf, 0x98, 0xfb, 0xa9,
+                0x0f, 0xd2, 0xf6, 0x62,
             ],
             Elements::RightPadLow8_16 => [
-                0x17, 0x19, 0xb2, 0x79, 0x74, 0xe8, 0x43, 0x80, 0x50, 0x88, 0x25, 0x30, 0xa1, 0xa4,
-                0x2e, 0xd7, 0xab, 0x3c, 0xa2, 0x8d, 0x25, 0x4a, 0xdc, 0x37, 0xfe, 0x56, 0x66, 0xfd,
-                0x2f, 0x70, 0xb4, 0xe4,
+                0xc9, 0x04, 0x8e, 0x29, 0xac, 0xd7, 0x26, 0x74, 0x03, 0x00, 0xc9, 0xa6, 0xcf, 0xf1,
+                0x17, 0xc0, 0xec, 0x77, 0x09, 0x0d, 0xa5, 0xae, 0xed, 0xf9, 0x70, 0x3f, 0x9a, 0xff,
+                0xc9, 0x1d, 0x9a, 0xb7,
             ],
             Elements::RightPadLow8_32 => [
-                0xee, 0x2a, 0x82, 0x30, 0xf2, 0x83, 0xdc, 0x08, 0x3b, 0x8e, 0x19, 0x44, 0x8b, 0xa3,
-                0x24, 0x97, 0xe9, 0x31, 0x8b, 0x4e, 0x9e, 0x1b, 0xd4, 0xeb, 0xe1, 0xbe, 0xc5, 0x24,
-                0x47, 0x6a, 0xb8, 0x6d,
+                0x51, 0xe7, 0xf9, 0x34, 0xf0, 0x6e, 0xc1, 0xc9, 0x49, 0x91, 0x86, 0xba, 0xa5, 0x18,
+                0x0a, 0x9d, 0xed, 0x56, 0x6d, 0x58, 0xb4, 0x2a, 0xb2, 0xf7, 0x0f, 0xf3, 0x6a, 0x4e,
+                0x88, 0xba, 0x09, 0x78,
             ],
             Elements::RightPadLow8_64 => [
-                0x97, 0xda, 0x90, 0xd8, 0x42, 0x8e, 0x6b, 0x94, 0xe6, 0xc1, 0x35, 0x14, 0x60, 0xdc,
-                0x01, 0x12, 0x3e, 0x47, 0x9c, 0x4a, 0xaf, 0xbb, 0xd1, 0x4c, 0x78, 0xad, 0x2f, 0xad,
-                0x0a, 0x89, 0x5e, 0xf3,
+                0x48, 0xcd, 0x20, 0xc3, 0x8c, 0x1e, 0xa9, 0xa0, 0xab, 0x74, 0xd5, 0x1d, 0xf4, 0x85,
+                0xef, 0x63, 0x90, 0x4b, 0x8f, 0x9a, 0x09, 0xef, 0xfd, 0x98, 0xfe, 0xba, 0xcd, 0x17,
+                0x17, 0xf1, 0x8a, 0xd8,
             ],
             Elements::RightRotate16 => [
-                0xee, 0x7d, 0x1c, 0x1f, 0x3d, 0x82, 0xda, 0x56, 0x81, 0xdd, 0x8b, 0x50, 0x69, 0xd5,
-                0x37, 0xd8, 0x9f, 0x22, 0x93, 0xaa, 0x60, 0x53, 0x32, 0xce, 0x10, 0xc1, 0xc4, 0x22,
-                0x4a, 0x53, 0xce, 0xea,
+                0x65, 0xad, 0x75, 0x5e, 0xe8, 0x09, 0xc7, 0x27, 0x6b, 0xc0, 0x9d, 0xe1, 0x9b, 0x67,
+                0xd1, 0x96, 0x9d, 0xe3, 0x2c, 0x53, 0xb3, 0xa1, 0x01, 0x21, 0xaf, 0x90, 0x56, 0x56,
+                0x6a, 0x3c, 0xe8, 0xef,
             ],
             Elements::RightRotate32 => [
-                0x89, 0x2a, 0x28, 0xdb, 0x32, 0x4c, 0xd9, 0x3c, 0xf7, 0xf6, 0x9c, 0x30, 0x72, 0xa7,
-                0xb2, 0x22, 0xb8, 0x8c, 0x81, 0x8e, 0xe0, 0xe5, 0xa1, 0xb8, 0x97, 0xe5, 0x0c, 0x58,
-                0x1f, 0x2a, 0x29, 0x62,
+                0xd8, 0x13, 0x63, 0x7c, 0xba, 0x61, 0x09, 0x4e, 0xb5, 0xdc, 0x58, 0xf9, 0x32, 0x59,
+                0xac, 0x3b, 0xda, 0x0a, 0xf2, 0x9c, 0x3d, 0xcb, 0x05, 0x51, 0xe1, 0x45, 0x20, 0x3e,
+                0x0b, 0x8d, 0xfe, 0x20,
             ],
             Elements::RightRotate64 => [
-                0x64, 0x31, 0x4f, 0xf1, 0x90, 0x40, 0xa3, 0x76, 0xf9, 0xfc, 0xf0, 0x2e, 0x75, 0x74,
-                0x14, 0x9c, 0x12, 0x3f, 0x99, 0xc3, 0x90, 0x71, 0xcd, 0x37, 0x85, 0x1f, 0x8f, 0x8c,
-                0xdf, 0x0e, 0xed, 0x42,
+                0x7b, 0x8d, 0xf8, 0xb8, 0x85, 0x7e, 0xcf, 0xb4, 0xac, 0xc1, 0x83, 0xa3, 0x55, 0xd3,
+                0x63, 0x0a, 0x9c, 0x64, 0x5f, 0x9d, 0xc4, 0x05, 0xe8, 0x87, 0x06, 0x61, 0x93, 0xcb,
+                0xcd, 0xa4, 0x4a, 0x2e,
             ],
             Elements::RightRotate8 => [
-                0x15, 0x81, 0xe0, 0xca, 0x09, 0xf1, 0x36, 0x84, 0xfe, 0x31, 0x35, 0xc1, 0xc6, 0xb6,
-                0xf9, 0xc4, 0x89, 0xd7, 0xdd, 0x1e, 0xf0, 0xa5, 0xf7, 0x70, 0x83, 0xbb, 0x0e, 0xd0,
-                0x0b, 0x4d, 0xf2, 0x8f,
+                0x89, 0x28, 0x2b, 0x3e, 0x43, 0x0b, 0xba, 0xd5, 0xae, 0x7b, 0x1a, 0xd7, 0x4d, 0x10,
+                0x61, 0x4c, 0xed, 0xfd, 0xc8, 0x01, 0xbf, 0xa3, 0xce, 0x17, 0x5f, 0x9e, 0x08, 0xbf,
+                0x40, 0x31, 0xdd, 0x8e,
             ],
             Elements::RightShift16 => [
-                0x5b, 0x4e, 0xc4, 0x62, 0xd4, 0xe2, 0xed, 0x89, 0xff, 0xe3, 0xfd, 0x40, 0x59, 0x32,
-                0xc7, 0x97, 0x80, 0x28, 0x61, 0x20, 0x3e, 0xcb, 0x61, 0xd5, 0xb5, 0x9a, 0x73, 0xb0,
-                0xfb, 0xfc, 0x4e, 0x84,
+                0x86, 0x04, 0x0b, 0x4b, 0xdf, 0x11, 0x80, 0x7f, 0xb1, 0x0d, 0xc7, 0xca, 0x98, 0xf8,
+                0x3e, 0x53, 0x02, 0xc5, 0x84, 0xc9, 0x26, 0x71, 0xd9, 0xa8, 0xca, 0xdd, 0xf7, 0x78,
+                0x0b, 0xd6, 0x08, 0x5f,
             ],
             Elements::RightShift32 => [
-                0xb2, 0x86, 0x1a, 0x48, 0xb2, 0x05, 0x41, 0x76, 0x91, 0xb6, 0x34, 0x7f, 0xe7, 0x5e,
-                0xbe, 0xa5, 0x45, 0x60, 0xcf, 0x81, 0x38, 0x14, 0xac, 0x31, 0x63, 0x91, 0x70, 0xdb,
-                0x92, 0xb9, 0x47, 0xd6,
+                0xd1, 0xd0, 0xcc, 0xdb, 0xcc, 0x11, 0xa0, 0xe0, 0x0a, 0xf9, 0x3e, 0x7a, 0xe5, 0xbb,
+                0xe2, 0x7f, 0x9d, 0x7f, 0xa7, 0xf2, 0xc2, 0x51, 0xf6, 0x03, 0x35, 0x24, 0x5f, 0xa0,
+                0x0c, 0x5a, 0xb9, 0xfc,
             ],
             Elements::RightShift64 => [
-                0xd3, 0x39, 0x42, 0xbf, 0x18, 0x61, 0x8a, 0x10, 0x4a, 0x57, 0x07, 0x54, 0x7f, 0x78,
-                0xab, 0x72, 0x94, 0x1f, 0x4e, 0xe8, 0x13, 0x21, 0x6c, 0x0c, 0xe5, 0x20, 0xf3, 0x56,
-                0x60, 0xfd, 0xbf, 0x81,
+                0x51, 0x7b, 0xa7, 0xcc, 0xb3, 0xab, 0x80, 0x2c, 0x83, 0xd7, 0x06, 0x8c, 0x3c, 0x87,
+                0x1c, 0x17, 0xe2, 0x04, 0xff, 0x0e, 0xea, 0x02, 0xab, 0x42, 0x01, 0x81, 0x73, 0x3c,
+                0x79, 0xa4, 0x2b, 0xb6,
             ],
             Elements::RightShift8 => [
-                0x73, 0x79, 0x12, 0xae, 0x32, 0x32, 0x50, 0xc0, 0x4e, 0x51, 0x6e, 0x39, 0x66, 0xce,
-                0x94, 0x7e, 0x65, 0x32, 0x6f, 0x47, 0x46, 0x8a, 0xc9, 0x31, 0xc1, 0x63, 0xc3, 0xb0,
-                0x2d, 0xe4, 0x12, 0x45,
+                0x0f, 0x29, 0x8a, 0x1a, 0x90, 0xd1, 0xf3, 0x84, 0xc2, 0x45, 0xaf, 0x0b, 0xf1, 0x72,
+                0x64, 0x2c, 0x51, 0xf5, 0x1d, 0x47, 0x5a, 0x41, 0x47, 0xdc, 0xe8, 0xc7, 0x21, 0x68,
+                0xe7, 0x7f, 0x0c, 0xb2,
             ],
             Elements::RightShiftWith16 => [
-                0x1e, 0x18, 0x1c, 0x33, 0x16, 0x93, 0x59, 0x4c, 0x6e, 0x0e, 0x8f, 0xde, 0xb4, 0x0a,
-                0x81, 0xa3, 0xaf, 0x8f, 0x56, 0xb7, 0xa5, 0x60, 0xde, 0x64, 0x41, 0x30, 0x3f, 0x65,
-                0xf4, 0xfc, 0x93, 0x7c,
+                0xcf, 0x05, 0xf8, 0x42, 0x11, 0x0f, 0x98, 0x19, 0xa5, 0x34, 0x5c, 0x23, 0x2b, 0xeb,
+                0x47, 0x2b, 0x9c, 0x97, 0x69, 0x84, 0xa4, 0x14, 0x70, 0xbe, 0xfc, 0x0b, 0x02, 0x5d,
+                0x46, 0xd0, 0x42, 0x71,
             ],
             Elements::RightShiftWith32 => [
-                0x69, 0xdb, 0xe1, 0x90, 0xd7, 0x2d, 0x77, 0xd0, 0xd0, 0xdc, 0xf3, 0x25, 0xde, 0x96,
-                0x59, 0x22, 0x14, 0x58, 0x1f, 0x11, 0xe9, 0xed, 0xca, 0x93, 0xe2, 0xf9, 0x28, 0x48,
-                0x2b, 0x5e, 0x77, 0xa7,
+                0x04, 0x04, 0x41, 0x95, 0x69, 0xd5, 0x7f, 0xe3, 0x89, 0x32, 0x30, 0xdb, 0x5f, 0xa0,
+                0xd8, 0xf9, 0x47, 0x30, 0x23, 0xa4, 0x2e, 0x01, 0xc2, 0x04, 0x93, 0x1c, 0xd7, 0x34,
+                0xfb, 0x44, 0xa9, 0xf8,
             ],
             Elements::RightShiftWith64 => [
-                0x2d, 0x0a, 0xb8, 0x83, 0x04, 0x69, 0x28, 0x0e, 0x2a, 0x28, 0x99, 0x3c, 0x5a, 0x05,
-                0xf5, 0x6b, 0x91, 0xa8, 0xae, 0xb0, 0x34, 0xcc, 0xeb, 0xe0, 0x9c, 0x50, 0xf1, 0x3e,
-                0xa7, 0x8d, 0xda, 0xfc,
+                0x77, 0x26, 0x7b, 0x05, 0x1e, 0x5a, 0x10, 0x39, 0x11, 0x85, 0x90, 0x3b, 0x1a, 0x98,
+                0xde, 0x32, 0xfc, 0xf2, 0x4e, 0x6a, 0xe6, 0x87, 0x1c, 0x6f, 0x15, 0xb6, 0x86, 0x52,
+                0xb2, 0x4a, 0x66, 0xc4,
             ],
             Elements::RightShiftWith8 => [
-                0x1b, 0xdb, 0xdc, 0x8d, 0x8b, 0x74, 0x9b, 0xa3, 0xda, 0x75, 0x75, 0x58, 0x7d, 0x99,
-                0x93, 0x00, 0x72, 0x60, 0x3f, 0x27, 0x5f, 0x7b, 0xd2, 0xf3, 0x24, 0xa3, 0x49, 0x51,
-                0xd4, 0x46, 0x1b, 0x21,
+                0xa9, 0xcb, 0x66, 0x14, 0xef, 0x32, 0x6a, 0x66, 0x47, 0x74, 0xd6, 0xdc, 0xe6, 0x53,
+                0xe1, 0xd6, 0xc0, 0x89, 0x58, 0x34, 0x43, 0xae, 0x91, 0x7f, 0x0f, 0xb4, 0xc5, 0xc2,
+                0x2b, 0x9a, 0xb4, 0x44,
             ],
             Elements::Rightmost16_1 => [
-                0xe1, 0x29, 0xa8, 0xae, 0x88, 0x0f, 0x51, 0xca, 0x2a, 0x94, 0xdb, 0x44, 0xed, 0xec,
-                0xa1, 0xc3, 0xa7, 0x66, 0xb7, 0x3e, 0x98, 0x97, 0x0b, 0x11, 0x98, 0xad, 0xe2, 0x16,
-                0xae, 0x69, 0xcd, 0x2d,
+                0x64, 0x8b, 0x9a, 0x0f, 0x90, 0x32, 0x28, 0xba, 0x27, 0xd9, 0x59, 0x41, 0xfd, 0x54,
+                0xe9, 0x2e, 0xa7, 0xb3, 0x5f, 0xee, 0xb2, 0x8a, 0x79, 0x86, 0xb6, 0x2d, 0xa9, 0x2d,
+                0x7d, 0x51, 0x24, 0x70,
             ],
             Elements::Rightmost16_2 => [
-                0x8d, 0x0f, 0x68, 0xda, 0xdf, 0x54, 0x6c, 0x5e, 0xd3, 0x6f, 0x34, 0x70, 0x58, 0x02,
-                0xb0, 0xce, 0x83, 0x9a, 0x63, 0xe5, 0x74, 0x49, 0x77, 0x85, 0x24, 0x30, 0x08, 0xab,
-                0x42, 0x7e, 0x45, 0x6b,
+                0x27, 0x62, 0x2f, 0x1c, 0x01, 0x73, 0x62, 0x31, 0x09, 0xf9, 0x20, 0xf8, 0xcd, 0x87,
+                0x66, 0xbb, 0xf6, 0x0d, 0x30, 0x6a, 0xd1, 0x98, 0x3f, 0xdb, 0xc1, 0x46, 0x1d, 0x23,
+                0xa4, 0x1f, 0xa9, 0x44,
             ],
             Elements::Rightmost16_4 => [
-                0xb0, 0xd4, 0x13, 0x95, 0x41, 0xec, 0xab, 0x2c, 0x16, 0xfc, 0x1a, 0x87, 0x98, 0x9b,
-                0xdd, 0x04, 0x53, 0x22, 0xef, 0xb1, 0xe7, 0x0b, 0xc1, 0xf7, 0xb0, 0x4d, 0x43, 0xb2,
-                0x8b, 0xb3, 0x49, 0xff,
+                0x79, 0x87, 0x86, 0x8f, 0xf3, 0xfe, 0x7f, 0x44, 0x68, 0xa3, 0x15, 0x0e, 0x3a, 0x42,
+                0xcd, 0x0f, 0x32, 0x5d, 0x48, 0x92, 0x81, 0x89, 0xa4, 0x85, 0xaa, 0x62, 0xc0, 0x13,
+                0x94, 0xc4, 0xe8, 0x34,
             ],
             Elements::Rightmost16_8 => [
-                0x0f, 0x03, 0xfa, 0x0f, 0xa6, 0xce, 0xb5, 0x5d, 0xf9, 0x9b, 0x20, 0xd9, 0xef, 0xcf,
-                0x37, 0x10, 0xa7, 0x08, 0xa2, 0x84, 0xa9, 0x5c, 0x33, 0x4c, 0x1d, 0xa3, 0xcb, 0xfe,
-                0x02, 0xfb, 0x94, 0x67,
+                0xef, 0x85, 0xcf, 0x36, 0xb7, 0x9d, 0x9c, 0xfa, 0xed, 0x2c, 0x63, 0x3d, 0x75, 0x1e,
+                0x2e, 0x38, 0xea, 0xae, 0x5a, 0xc0, 0x21, 0x05, 0x0b, 0x13, 0x47, 0x29, 0xb9, 0xdb,
+                0x51, 0xbd, 0x55, 0xa3,
             ],
             Elements::Rightmost32_1 => [
-                0x8f, 0x5e, 0x52, 0x63, 0xbb, 0x8e, 0xf8, 0x00, 0xc9, 0x9d, 0x0c, 0x23, 0xfc, 0xba,
-                0xa3, 0x19, 0x8a, 0x6a, 0xbd, 0xf0, 0x08, 0x58, 0x1e, 0x8c, 0x89, 0x10, 0x52, 0xb4,
-                0x0c, 0xa7, 0xf7, 0xa4,
+                0x07, 0x38, 0xe6, 0x9e, 0xbf, 0xcf, 0x85, 0xd8, 0xe0, 0xdb, 0x90, 0x66, 0xc2, 0x0a,
+                0xfc, 0x0a, 0x0a, 0x62, 0xd5, 0x4d, 0xb8, 0xec, 0x35, 0x7a, 0xce, 0x45, 0xba, 0x4d,
+                0x41, 0x55, 0xd0, 0x49,
             ],
             Elements::Rightmost32_16 => [
-                0xb9, 0xa2, 0x3e, 0x1b, 0xf7, 0xc6, 0x81, 0x43, 0x51, 0x30, 0x74, 0xc9, 0x39, 0xbd,
-                0x73, 0xc9, 0xbf, 0x8e, 0xb5, 0xaa, 0xce, 0x84, 0x15, 0xff, 0x01, 0x02, 0x2f, 0xca,
-                0x65, 0xb3, 0xa3, 0x42,
+                0x08, 0xc1, 0x2f, 0xf6, 0x30, 0x90, 0x6c, 0xdc, 0x05, 0xd3, 0x17, 0x16, 0x04, 0x5d,
+                0x96, 0x2a, 0x6c, 0xb3, 0x95, 0x2c, 0x89, 0xae, 0xb6, 0xc7, 0x1e, 0x47, 0xfb, 0xa6,
+                0x84, 0x5a, 0x4d, 0x8a,
             ],
             Elements::Rightmost32_2 => [
-                0xab, 0xf3, 0x23, 0x8d, 0x3c, 0xbf, 0x0b, 0xf3, 0x5a, 0x83, 0x96, 0x1f, 0xb9, 0xf9,
-                0x04, 0xb5, 0x6d, 0x3a, 0x9e, 0x0e, 0x35, 0xc8, 0x9d, 0xf8, 0x72, 0xc9, 0xc9, 0x38,
-                0xd3, 0x44, 0xa5, 0x4a,
+                0xf7, 0x55, 0xdf, 0x38, 0x97, 0x22, 0xae, 0x31, 0x23, 0x88, 0x4d, 0x9f, 0x03, 0xf2,
+                0x60, 0xf1, 0x2a, 0xb2, 0x2a, 0x35, 0x32, 0x03, 0xd3, 0xcd, 0xfe, 0x19, 0x83, 0x08,
+                0x21, 0x81, 0x03, 0x4b,
             ],
             Elements::Rightmost32_4 => [
-                0xf7, 0xee, 0xd2, 0xec, 0x80, 0x59, 0x06, 0xfe, 0xb3, 0xac, 0x27, 0xf2, 0xde, 0xe5,
-                0x3b, 0x58, 0xc3, 0xb1, 0x3e, 0x40, 0xe2, 0xbc, 0x3e, 0x8b, 0x10, 0x63, 0x2e, 0xd9,
-                0xc0, 0xe7, 0xca, 0x5f,
+                0x39, 0x60, 0x04, 0xe0, 0xf7, 0x2c, 0xc2, 0x47, 0x58, 0x5a, 0x6b, 0xf9, 0x17, 0xf7,
+                0x78, 0x1a, 0xae, 0xb1, 0xb6, 0x2a, 0x87, 0x76, 0x20, 0x58, 0x72, 0x26, 0x7e, 0x4f,
+                0x18, 0xf0, 0xa7, 0x75,
             ],
             Elements::Rightmost32_8 => [
-                0xf3, 0xe4, 0x39, 0xed, 0x98, 0x83, 0xc6, 0xa6, 0xb9, 0x07, 0x20, 0x53, 0x2e, 0xb4,
-                0xe0, 0x43, 0xe8, 0x9a, 0x35, 0xf0, 0xb5, 0x29, 0x5f, 0xd5, 0x02, 0xa0, 0xb0, 0xb2,
-                0x43, 0x6b, 0xd2, 0x13,
+                0x41, 0x93, 0x6e, 0xa9, 0x76, 0x9d, 0xe1, 0xf7, 0x86, 0x6c, 0xd5, 0xd0, 0x68, 0xac,
+                0x6c, 0x2e, 0xa7, 0x47, 0x0a, 0x39, 0x39, 0xc2, 0xf1, 0x7d, 0x34, 0xfe, 0x91, 0xaf,
+                0xc6, 0x8b, 0x1f, 0x3a,
             ],
             Elements::Rightmost64_1 => [
-                0xc9, 0x6b, 0xe3, 0xe3, 0x35, 0x48, 0x25, 0x8e, 0x30, 0x71, 0x7b, 0x30, 0x81, 0x7e,
-                0x44, 0x0f, 0x0a, 0xf4, 0xb1, 0x89, 0x0e, 0xdf, 0xcf, 0x7f, 0xdc, 0xb3, 0x9c, 0xb9,
-                0xef, 0xff, 0x47, 0x1d,
+                0x45, 0x06, 0xf2, 0x04, 0xb3, 0xd8, 0xc9, 0xa6, 0x25, 0xfa, 0x9e, 0x8f, 0xe6, 0xcc,
+                0x14, 0xba, 0xe7, 0x1d, 0x61, 0xa2, 0x3c, 0xc4, 0x6a, 0xd5, 0xca, 0x25, 0xc6, 0x7a,
+                0x01, 0x9d, 0x9d, 0x4b,
             ],
             Elements::Rightmost64_16 => [
-                0x5d, 0x55, 0x5f, 0x83, 0xe4, 0x80, 0x87, 0xdb, 0x0c, 0x41, 0x5d, 0xad, 0x17, 0xf0,
-                0x81, 0xd4, 0xf6, 0xb7, 0x60, 0xe9, 0x95, 0xf2, 0x72, 0xbb, 0xb6, 0xe4, 0xcb, 0x42,
-                0xd0, 0xf5, 0x03, 0x25,
+                0x8a, 0xf7, 0x0d, 0x2b, 0x92, 0xa7, 0xd0, 0x04, 0xdb, 0x8d, 0x79, 0x6e, 0xc1, 0x2b,
+                0x75, 0xe4, 0xe4, 0x4d, 0x92, 0x62, 0x82, 0x32, 0x57, 0xca, 0xb3, 0xcb, 0x45, 0xfb,
+                0x72, 0x2a, 0x9b, 0x9b,
             ],
             Elements::Rightmost64_2 => [
-                0xa9, 0xcb, 0x13, 0x43, 0xdb, 0xd5, 0x22, 0xb9, 0x1b, 0x64, 0x82, 0xe4, 0xba, 0xe6,
-                0x2b, 0x0e, 0x5f, 0x82, 0x98, 0x68, 0x7e, 0x64, 0x23, 0x33, 0x5c, 0x6d, 0xf5, 0x06,
-                0xdc, 0x42, 0x5b, 0x90,
+                0xb6, 0xcb, 0xca, 0xd7, 0x76, 0xfc, 0xa4, 0xf7, 0x7d, 0x5a, 0x7c, 0xf0, 0x85, 0x00,
+                0xce, 0xb2, 0xca, 0xfc, 0xdc, 0xe1, 0xe3, 0x3f, 0xae, 0x08, 0x75, 0x29, 0xf5, 0xa1,
+                0x55, 0x41, 0xbd, 0x98,
             ],
             Elements::Rightmost64_32 => [
-                0x47, 0x33, 0xb1, 0x92, 0x59, 0x80, 0x09, 0x64, 0x99, 0xb7, 0x87, 0x7c, 0x04, 0xe0,
-                0x01, 0xba, 0xd3, 0x32, 0x5b, 0x2e, 0xca, 0xb3, 0x48, 0xe5, 0xad, 0xd7, 0x20, 0xd0,
-                0x7b, 0x1b, 0x4a, 0x3a,
+                0x7f, 0xb0, 0x85, 0x18, 0xd5, 0xcc, 0x0c, 0x38, 0x0e, 0xa4, 0x55, 0xbf, 0xb2, 0xf4,
+                0x5f, 0x2b, 0x55, 0xf5, 0x34, 0x68, 0x10, 0x9c, 0x36, 0x5e, 0xac, 0xff, 0x1f, 0x09,
+                0x52, 0x2c, 0x6d, 0x51,
             ],
             Elements::Rightmost64_4 => [
-                0x89, 0xda, 0xf7, 0xbe, 0x2c, 0xde, 0x58, 0xf0, 0x4e, 0x8d, 0xee, 0x58, 0xa4, 0x39,
-                0x10, 0x91, 0x2c, 0x09, 0x6e, 0x95, 0xe1, 0x46, 0xc1, 0x9b, 0x00, 0xf5, 0x4f, 0xe8,
-                0x74, 0x70, 0x07, 0x40,
+                0xdb, 0x61, 0xfd, 0xe7, 0xa4, 0x1c, 0xbc, 0x68, 0x77, 0xd2, 0xe6, 0x4e, 0x5c, 0x5f,
+                0x86, 0xe2, 0x67, 0xce, 0x84, 0x3c, 0xc2, 0xab, 0x52, 0xf9, 0x1a, 0x4a, 0x6d, 0x4c,
+                0x64, 0xc6, 0xf4, 0xbf,
             ],
             Elements::Rightmost64_8 => [
-                0x1d, 0xfb, 0x2b, 0xef, 0x4c, 0xae, 0x45, 0x07, 0x92, 0x27, 0x08, 0xe5, 0xa5, 0x70,
-                0x99, 0x49, 0x3f, 0xbe, 0x21, 0x15, 0x98, 0xee, 0xc0, 0xbf, 0xe0, 0xe7, 0x7b, 0x3d,
-                0x41, 0xec, 0x89, 0xab,
+                0x05, 0x66, 0x65, 0xd9, 0x3f, 0xbe, 0x67, 0xe7, 0x13, 0x7d, 0x40, 0xe7, 0x50, 0x00,
+                0x82, 0x8d, 0xe2, 0x54, 0x75, 0x7d, 0x47, 0xe7, 0x54, 0xc5, 0x7e, 0x2e, 0x29, 0x27,
+                0x46, 0xb3, 0xd6, 0xe3,
             ],
             Elements::Rightmost8_1 => [
-                0xce, 0xab, 0xd5, 0xca, 0x9f, 0xd9, 0x16, 0x2f, 0x99, 0x5e, 0x37, 0x35, 0x77, 0x04,
-                0x7a, 0xa4, 0xba, 0x71, 0xf8, 0x07, 0xc7, 0x11, 0xf6, 0x0b, 0x08, 0xeb, 0x6a, 0x1c,
-                0xfc, 0x38, 0x1c, 0x9c,
+                0x3d, 0x31, 0xef, 0x3d, 0x18, 0xb6, 0xaf, 0x64, 0x10, 0x46, 0xd0, 0xdf, 0xe4, 0x58,
+                0xb6, 0xda, 0x92, 0x13, 0xab, 0x54, 0xaa, 0xd8, 0xab, 0x1f, 0x48, 0x02, 0x33, 0xe9,
+                0x30, 0xcc, 0x77, 0x4b,
             ],
             Elements::Rightmost8_2 => [
-                0x39, 0xb2, 0xf0, 0x37, 0xb6, 0xa0, 0x81, 0x86, 0x11, 0x50, 0x65, 0xf3, 0x85, 0x05,
-                0x7a, 0xf3, 0xde, 0x3b, 0x9f, 0x0a, 0x9b, 0xda, 0x68, 0x33, 0x71, 0x46, 0x22, 0x59,
-                0x41, 0x30, 0x28, 0xec,
+                0x25, 0xc2, 0xa1, 0xbe, 0xbc, 0x03, 0xaa, 0x9d, 0x1e, 0x26, 0x61, 0x0e, 0x58, 0x77,
+                0xad, 0x7a, 0xb2, 0xf7, 0xa4, 0xa2, 0x4b, 0xe7, 0x68, 0x6c, 0x49, 0x78, 0xe5, 0xbd,
+                0x21, 0x97, 0xe8, 0xbd,
             ],
             Elements::Rightmost8_4 => [
-                0xa7, 0xa9, 0x49, 0x49, 0x0d, 0x1a, 0x00, 0xde, 0xfe, 0x5f, 0x61, 0x51, 0x29, 0x23,
-                0x85, 0x0f, 0x51, 0xe3, 0x47, 0xc0, 0x6a, 0x8d, 0x76, 0xa0, 0xcd, 0xab, 0x87, 0xee,
-                0xe2, 0x9a, 0x5d, 0xef,
+                0x43, 0xcc, 0x17, 0xf6, 0xad, 0x5d, 0x42, 0x20, 0x53, 0xf3, 0x51, 0x9e, 0x0a, 0xa2,
+                0x26, 0xee, 0x06, 0xc5, 0x7c, 0xed, 0x8d, 0x05, 0x31, 0xec, 0x83, 0x94, 0xaf, 0x29,
+                0x05, 0xc1, 0x44, 0xa0,
             ],
             Elements::ScalarAdd => [
-                0x4e, 0xe9, 0xa9, 0x6c, 0xef, 0x49, 0x6c, 0xf4, 0xa8, 0xfc, 0x4e, 0x8a, 0x8b, 0xc0,
-                0xd1, 0x59, 0xca, 0x5f, 0xfb, 0x87, 0x53, 0x64, 0x3a, 0x8a, 0xdf, 0x63, 0x8a, 0xe8,
-                0x9b, 0xbb, 0xb3, 0x45,
+                0x21, 0xd0, 0x3b, 0x80, 0x63, 0x0a, 0x82, 0x5a, 0x2a, 0xcc, 0x13, 0x3d, 0x24, 0x08,
+                0xfd, 0xc7, 0x71, 0x8e, 0x42, 0x52, 0x13, 0xa9, 0x2f, 0x95, 0xff, 0x97, 0x62, 0xb8,
+                0xc5, 0xe9, 0x3f, 0x64,
             ],
             Elements::ScalarInvert => [
-                0x12, 0xb8, 0x55, 0xe5, 0xeb, 0xaa, 0x7f, 0x8b, 0xb4, 0x4f, 0xee, 0x26, 0x16, 0xa0,
-                0x51, 0xad, 0x00, 0x49, 0x9f, 0x9d, 0xf2, 0xa2, 0xad, 0xf7, 0x99, 0x73, 0xe9, 0xdb,
-                0x81, 0x85, 0x75, 0x9c,
+                0x32, 0x77, 0x4c, 0x56, 0x7a, 0x8a, 0xef, 0xee, 0xd0, 0xef, 0xa7, 0x4c, 0xbb, 0xb6,
+                0xaf, 0x27, 0x34, 0xa2, 0xb1, 0x1b, 0x14, 0x6a, 0xbe, 0x92, 0x06, 0x7c, 0x9f, 0xab,
+                0xa6, 0x90, 0xb6, 0x85,
             ],
             Elements::ScalarIsZero => [
-                0x4d, 0x25, 0x28, 0x03, 0x45, 0x7b, 0x83, 0xb8, 0x5b, 0x98, 0x7f, 0x04, 0x87, 0x33,
-                0xfb, 0xee, 0xde, 0xaa, 0x8d, 0x25, 0x9d, 0x32, 0x05, 0x07, 0x45, 0x00, 0x19, 0xc6,
-                0x22, 0x03, 0x4f, 0x26,
+                0x7b, 0x9b, 0xe7, 0x66, 0x49, 0x08, 0x90, 0x91, 0x68, 0xe3, 0xea, 0x60, 0xbd, 0x10,
+                0x61, 0xec, 0x9a, 0x31, 0xe9, 0xa1, 0xd4, 0x76, 0x88, 0xba, 0x12, 0x7a, 0x39, 0xc1,
+                0xc5, 0x8d, 0xe4, 0xfb,
             ],
             Elements::ScalarMultiply => [
-                0x87, 0x56, 0xf2, 0xdc, 0x31, 0x0c, 0xde, 0xb6, 0x40, 0x45, 0xc4, 0x4c, 0x23, 0x66,
-                0xe1, 0x4b, 0xc1, 0xfa, 0xfa, 0x17, 0x15, 0x9f, 0x2d, 0x7b, 0x48, 0x9b, 0xd9, 0x45,
-                0x3e, 0xe3, 0x7e, 0xa0,
+                0x25, 0xef, 0xe6, 0x40, 0x18, 0x6b, 0xc5, 0xea, 0x9f, 0x0e, 0x5d, 0xc8, 0x02, 0xd6,
+                0xd2, 0xfe, 0x1c, 0x77, 0x75, 0x0f, 0xaa, 0x02, 0x4e, 0x07, 0x1b, 0xd8, 0x32, 0xdb,
+                0xe6, 0x79, 0x02, 0x4b,
             ],
             Elements::ScalarMultiplyLambda => [
-                0x2b, 0x31, 0xd3, 0x9e, 0xc4, 0xff, 0x37, 0x23, 0x1a, 0x1b, 0x3e, 0xbe, 0x75, 0x9d,
-                0x41, 0xe0, 0xf5, 0xce, 0x34, 0x49, 0x2d, 0x4b, 0xd3, 0xc2, 0x09, 0x88, 0xc3, 0xf2,
-                0xf7, 0xc5, 0x3e, 0xdc,
+                0x23, 0x2b, 0x9f, 0xcf, 0x9d, 0x85, 0xc1, 0xa5, 0x11, 0x62, 0xa3, 0xea, 0x55, 0x08,
+                0x16, 0x31, 0x5c, 0x8e, 0x77, 0xe4, 0x64, 0x03, 0xac, 0xff, 0xa7, 0xfe, 0x6d, 0xbb,
+                0x1f, 0x25, 0x01, 0x1a,
             ],
             Elements::ScalarNegate => [
-                0xfc, 0x2e, 0xd1, 0x87, 0x50, 0xa2, 0x21, 0x81, 0xaf, 0x5b, 0x81, 0x41, 0x96, 0x92,
-                0x73, 0xca, 0xaf, 0x72, 0xcc, 0x11, 0x31, 0xe1, 0x08, 0x2c, 0xf0, 0x08, 0xf5, 0xca,
-                0x09, 0x09, 0xc2, 0x16,
+                0x3a, 0x63, 0x32, 0x9d, 0x66, 0x45, 0xa7, 0xc0, 0x4e, 0x7f, 0x99, 0xd9, 0xca, 0x76,
+                0x29, 0x2c, 0xb5, 0x7b, 0xea, 0x2f, 0x9f, 0x90, 0x84, 0xf3, 0x05, 0xe0, 0x58, 0x3e,
+                0x45, 0x5b, 0x82, 0xee,
             ],
             Elements::ScalarNormalize => [
-                0x79, 0x7c, 0xff, 0xa8, 0x08, 0x59, 0xca, 0xb7, 0xcd, 0xbf, 0x3b, 0x9d, 0xe6, 0xe0,
-                0xa8, 0xb7, 0x91, 0x48, 0x4e, 0xaa, 0xba, 0xcb, 0xdf, 0xba, 0xeb, 0x01, 0xe2, 0x38,
-                0x95, 0xe9, 0x61, 0x99,
+                0x27, 0xef, 0x9f, 0x9c, 0x0a, 0x5e, 0xd2, 0xfc, 0xd7, 0xa2, 0x84, 0xd1, 0x4c, 0x51,
+                0x16, 0xaf, 0xab, 0x70, 0xe4, 0x89, 0x0f, 0x38, 0x1c, 0xc2, 0xda, 0x88, 0xa5, 0xf3,
+                0xb5, 0x0e, 0x43, 0xc9,
             ],
             Elements::ScalarSquare => [
-                0x77, 0xb4, 0x3c, 0x60, 0x38, 0xad, 0x80, 0xb4, 0x6d, 0x3a, 0x76, 0xe2, 0x12, 0xb3,
-                0xa8, 0xc0, 0xd2, 0xf0, 0x63, 0x07, 0xbc, 0x45, 0x6e, 0x40, 0xb5, 0xd6, 0xf4, 0xa3,
-                0xa5, 0x0e, 0x26, 0x4d,
+                0xd9, 0xde, 0x19, 0x19, 0xcd, 0x12, 0xd2, 0x11, 0x70, 0x3f, 0xbb, 0xd0, 0x4e, 0x20,
+                0x01, 0xd5, 0x0d, 0x29, 0x36, 0x06, 0x78, 0x64, 0x12, 0xa8, 0xd6, 0xdf, 0x36, 0xdc,
+                0x1f, 0x97, 0xe3, 0xbe,
             ],
             Elements::Scale => [
-                0x57, 0x4c, 0xe7, 0x60, 0x24, 0xa5, 0xf0, 0x11, 0xa2, 0xd0, 0xbc, 0xeb, 0xb0, 0xf8,
-                0x1a, 0x15, 0xe0, 0xf9, 0xd0, 0x6b, 0x34, 0xf2, 0x09, 0x94, 0x33, 0xcb, 0x11, 0x4f,
-                0x53, 0x46, 0x8d, 0x4f,
+                0xbd, 0x69, 0x5b, 0xe1, 0x8e, 0xf7, 0x75, 0xf1, 0x2d, 0x6e, 0xe8, 0xe8, 0xe0, 0x8b,
+                0xbb, 0x6b, 0xa9, 0xfb, 0xff, 0xc8, 0x75, 0x24, 0x70, 0x72, 0x5e, 0x8b, 0x06, 0x11,
+                0x0d, 0x8c, 0x5a, 0x56,
             ],
             Elements::ScriptCMR => [
-                0xb8, 0xad, 0x37, 0x23, 0x76, 0x99, 0x30, 0x1f, 0xb3, 0x3e, 0x69, 0x28, 0xa4, 0x10,
-                0x1f, 0x93, 0x16, 0x9a, 0xd1, 0xf4, 0x12, 0x8b, 0x9e, 0x1e, 0x86, 0xbd, 0xbb, 0x6c,
-                0xdc, 0x27, 0x4c, 0x38,
+                0x62, 0xdd, 0x2b, 0x74, 0xa4, 0x19, 0x0a, 0xc3, 0xc4, 0xef, 0x4e, 0xbd, 0xb2, 0xb8,
+                0x54, 0x75, 0xc8, 0x84, 0xf4, 0x2d, 0x46, 0xa1, 0x53, 0x3b, 0x26, 0xad, 0x87, 0x8f,
+                0x4e, 0xf8, 0x05, 0x12,
             ],
             Elements::Sha256Block => [
-                0x94, 0xa3, 0x6a, 0x40, 0x83, 0x30, 0x9e, 0x0b, 0x86, 0xde, 0x77, 0xd0, 0xfb, 0x48,
-                0xd9, 0xd3, 0x31, 0xe2, 0xd2, 0xf1, 0x67, 0x74, 0x0b, 0x60, 0x6e, 0x60, 0x57, 0x4a,
-                0xf4, 0x38, 0xcd, 0x86,
+                0x97, 0xbb, 0x59, 0xb7, 0x93, 0xae, 0x9c, 0xe4, 0x9d, 0xc0, 0x78, 0x13, 0x4b, 0x6a,
+                0x9e, 0x85, 0x5a, 0xcc, 0x6d, 0x50, 0xc0, 0xe5, 0xbd, 0x3f, 0xa6, 0x71, 0xce, 0xbe,
+                0xea, 0xb0, 0x7a, 0xe2,
             ],
             Elements::Sha256Ctx8Add1 => [
-                0x8a, 0x1d, 0x25, 0x70, 0x87, 0xb3, 0x2c, 0xcd, 0xc3, 0x32, 0x00, 0x37, 0x4e, 0x6e,
-                0x95, 0xc8, 0x75, 0xa0, 0x5e, 0x54, 0x81, 0x22, 0x32, 0x3f, 0x6b, 0x7a, 0xb9, 0xc0,
-                0x7e, 0xb9, 0xb6, 0xee,
+                0x02, 0x7b, 0x6e, 0xec, 0xd2, 0xb3, 0x82, 0x29, 0x2c, 0x5e, 0xa4, 0x65, 0x29, 0x40,
+                0x8b, 0x01, 0xb2, 0xd4, 0xc7, 0x39, 0xd9, 0x11, 0x60, 0x1d, 0x02, 0xc6, 0xbf, 0x3a,
+                0x18, 0x6b, 0xb7, 0xdf,
             ],
             Elements::Sha256Ctx8Add128 => [
-                0xe7, 0x77, 0x2c, 0xb9, 0xc0, 0xec, 0x42, 0x1a, 0xb8, 0xa7, 0x89, 0xd4, 0x5c, 0xd6,
-                0x46, 0x61, 0xf4, 0x33, 0xdd, 0x7d, 0x3d, 0x2c, 0x94, 0xdc, 0x1f, 0x1c, 0x4f, 0x3a,
-                0xf8, 0xc7, 0x80, 0xab,
+                0xe7, 0xe5, 0xe3, 0xb3, 0x94, 0x4a, 0x31, 0x1b, 0xd4, 0x1a, 0x06, 0x0d, 0x55, 0xe1,
+                0x7b, 0x08, 0xb5, 0xff, 0x75, 0x02, 0x08, 0x52, 0xe6, 0x6b, 0xda, 0x62, 0xb6, 0xdf,
+                0x94, 0x3b, 0xb8, 0xd4,
             ],
             Elements::Sha256Ctx8Add16 => [
-                0xf0, 0xf4, 0xcf, 0x99, 0xad, 0x58, 0xa0, 0x38, 0x5e, 0x16, 0xb8, 0x7d, 0xbf, 0x32,
-                0x71, 0xc4, 0x75, 0x24, 0xde, 0xfd, 0x78, 0xf1, 0x1b, 0xbc, 0x74, 0x71, 0xfe, 0x4d,
-                0xa9, 0x4a, 0xeb, 0xad,
+                0x77, 0x87, 0x22, 0x34, 0x3b, 0x78, 0xcf, 0xb7, 0x7f, 0xd5, 0xe7, 0xd5, 0xb1, 0x9e,
+                0x93, 0x12, 0xe9, 0x97, 0xbb, 0xa3, 0x52, 0xee, 0xcb, 0x39, 0xa3, 0xc3, 0x32, 0xff,
+                0x48, 0x09, 0xaa, 0x14,
             ],
             Elements::Sha256Ctx8Add2 => [
-                0x79, 0x98, 0xc7, 0xc2, 0xbd, 0x81, 0x4b, 0x0c, 0x0f, 0x40, 0x3f, 0x58, 0xc5, 0x76,
-                0xea, 0x56, 0x40, 0x7d, 0x25, 0xee, 0x22, 0x9f, 0xae, 0x62, 0x5b, 0xca, 0xb0, 0xc6,
-                0x20, 0xa2, 0xa2, 0x9c,
+                0x72, 0xaa, 0x6d, 0xe3, 0x4c, 0x20, 0x72, 0xe6, 0x92, 0x3b, 0x22, 0x80, 0xb7, 0xcf,
+                0x52, 0x1e, 0x1e, 0x05, 0x7d, 0x6b, 0xec, 0xdd, 0xa7, 0x75, 0x9a, 0x79, 0xac, 0x18,
+                0x8a, 0x26, 0x2e, 0x32,
             ],
             Elements::Sha256Ctx8Add256 => [
-                0xa8, 0x74, 0x99, 0x61, 0xb3, 0x1a, 0xfe, 0x2f, 0xb5, 0x53, 0xb7, 0x0b, 0x4c, 0xea,
-                0x78, 0x7d, 0xca, 0x47, 0x25, 0x84, 0x54, 0xd5, 0x83, 0xdc, 0x45, 0xa0, 0x78, 0x0d,
-                0x5e, 0x2a, 0x2a, 0x50,
+                0xa4, 0x88, 0xeb, 0x1e, 0x75, 0x85, 0xcd, 0x02, 0x27, 0xad, 0xbb, 0xc8, 0x54, 0x9c,
+                0x9f, 0xeb, 0x65, 0x87, 0xf7, 0x8b, 0x43, 0x92, 0x2b, 0x57, 0x44, 0x01, 0x5f, 0x1b,
+                0xb6, 0x21, 0xda, 0xa0,
             ],
             Elements::Sha256Ctx8Add32 => [
-                0xf2, 0x20, 0x68, 0xb7, 0x76, 0xa3, 0x78, 0x7f, 0x9d, 0x52, 0xec, 0x2a, 0x95, 0x91,
-                0x95, 0x1f, 0x8a, 0x73, 0xf0, 0x09, 0x60, 0x09, 0x12, 0x35, 0x8a, 0x2a, 0x1e, 0x15,
-                0x86, 0x4e, 0x80, 0xb2,
+                0x50, 0x38, 0x33, 0x5e, 0xd7, 0x69, 0x56, 0xf3, 0x45, 0x1e, 0x68, 0x78, 0x10, 0x02,
+                0xe9, 0x63, 0xa8, 0x4d, 0xd6, 0x55, 0xcb, 0xf2, 0xb8, 0x41, 0x63, 0x26, 0x91, 0x14,
+                0x77, 0xae, 0x3c, 0xa2,
             ],
             Elements::Sha256Ctx8Add4 => [
-                0x40, 0xe6, 0x6d, 0xec, 0xa1, 0x32, 0xf5, 0xae, 0x0c, 0x54, 0x93, 0x7b, 0x95, 0xcc,
-                0xac, 0xa1, 0x12, 0x67, 0xa4, 0xad, 0xca, 0x70, 0x28, 0x87, 0xb6, 0xe4, 0x08, 0xed,
-                0x76, 0x15, 0x30, 0xbc,
+                0x23, 0xb6, 0x9b, 0x90, 0xe6, 0x9e, 0xe5, 0x0f, 0x91, 0x67, 0x04, 0x6e, 0x89, 0x99,
+                0xe3, 0xb9, 0x10, 0xc6, 0x54, 0xa7, 0x97, 0x91, 0xd3, 0xbd, 0x0e, 0x0e, 0x7f, 0x81,
+                0x54, 0x2b, 0x9d, 0x36,
             ],
             Elements::Sha256Ctx8Add512 => [
-                0x5a, 0x96, 0xee, 0x66, 0x8b, 0x52, 0xf6, 0x3f, 0x7b, 0xdb, 0xaa, 0xe3, 0xcc, 0x38,
-                0xe3, 0x93, 0xef, 0x24, 0xb3, 0xa9, 0x67, 0x85, 0x6f, 0x2c, 0xd8, 0x9d, 0x83, 0xba,
-                0x4c, 0xcb, 0xda, 0x8d,
+                0xf7, 0x57, 0xd6, 0x9a, 0x8d, 0xb2, 0xc4, 0xba, 0x74, 0x46, 0xf9, 0x6a, 0x81, 0x4d,
+                0x74, 0x61, 0xf4, 0xb3, 0xd0, 0x87, 0xc0, 0xe4, 0x25, 0x46, 0x8d, 0x72, 0x3d, 0x14,
+                0x85, 0xbc, 0x85, 0x1b,
             ],
             Elements::Sha256Ctx8Add64 => [
-                0x36, 0xed, 0xe6, 0xb6, 0x8a, 0xb6, 0xe4, 0xdb, 0x31, 0xef, 0xc7, 0xa7, 0xea, 0xe7,
-                0xec, 0x3f, 0x7c, 0xee, 0xad, 0x93, 0x91, 0x10, 0x3b, 0x8d, 0xcb, 0x40, 0x60, 0x91,
-                0x57, 0xfb, 0x87, 0x02,
+                0x9a, 0x17, 0x9b, 0xbd, 0x8a, 0x03, 0x29, 0x37, 0xe5, 0x90, 0xff, 0xbd, 0xb3, 0x1a,
+                0x28, 0x47, 0xa6, 0xf6, 0x9f, 0x9b, 0xb4, 0xdd, 0xcd, 0x2e, 0x60, 0x6e, 0xdd, 0x45,
+                0x4a, 0xd8, 0x40, 0x31,
             ],
             Elements::Sha256Ctx8Add8 => [
-                0xac, 0x1f, 0xf0, 0xfb, 0x0c, 0xf7, 0x1d, 0x71, 0x13, 0xdb, 0x42, 0xaa, 0x1d, 0xdb,
-                0x89, 0x55, 0x96, 0xe6, 0x45, 0xd7, 0x63, 0xb8, 0xdf, 0x5e, 0x87, 0x25, 0xf5, 0x14,
-                0x4c, 0x39, 0x95, 0x88,
+                0x77, 0xb2, 0xeb, 0x5e, 0x6f, 0xa0, 0x3a, 0xac, 0x09, 0x86, 0x07, 0xc8, 0x3d, 0x10,
+                0x61, 0x76, 0xbd, 0xf3, 0x3c, 0x8c, 0xbb, 0xa7, 0xb9, 0x2d, 0x27, 0xe0, 0x35, 0x2a,
+                0x2f, 0x1e, 0xd3, 0xbe,
             ],
             Elements::Sha256Ctx8AddBuffer511 => [
-                0x69, 0x01, 0xac, 0x0e, 0x30, 0xfd, 0x59, 0xce, 0xc8, 0x79, 0xd1, 0x69, 0x3b, 0x26,
-                0x79, 0x59, 0x35, 0x69, 0x07, 0x84, 0x4b, 0x57, 0x7e, 0xdc, 0x3c, 0xe0, 0xe3, 0xf7,
-                0x14, 0xa8, 0xef, 0x31,
+                0xd4, 0x7b, 0xb1, 0xcb, 0x4c, 0xaa, 0xff, 0x17, 0x41, 0x2a, 0x73, 0x0d, 0xd9, 0x12,
+                0xdb, 0xb3, 0x7d, 0xcc, 0xc9, 0x0b, 0x27, 0xd3, 0x95, 0xc4, 0xf8, 0x45, 0x90, 0x08,
+                0xa5, 0xf2, 0x44, 0xc7,
             ],
             Elements::Sha256Ctx8Finalize => [
-                0x84, 0x61, 0x59, 0x54, 0x00, 0x7e, 0xd8, 0x23, 0xd6, 0x05, 0x46, 0xd7, 0x5b, 0x04,
-                0xb9, 0x09, 0xbc, 0x90, 0x92, 0x06, 0x37, 0x14, 0x73, 0xda, 0xc7, 0x0e, 0x12, 0x68,
-                0x04, 0x77, 0x08, 0xcb,
+                0x71, 0x65, 0x80, 0xc1, 0xe0, 0x0d, 0x6a, 0x66, 0x1f, 0xd9, 0xbe, 0x6b, 0x61, 0xde,
+                0x5b, 0xef, 0x63, 0xa8, 0x4a, 0x4e, 0x67, 0x5b, 0xeb, 0x0b, 0x0a, 0x47, 0x19, 0x73,
+                0x5e, 0xa3, 0xa2, 0x85,
             ],
             Elements::Sha256Ctx8Init => [
-                0x6a, 0xdd, 0xa7, 0xd7, 0x33, 0x9f, 0x7d, 0xce, 0x4d, 0x62, 0xff, 0x82, 0x28, 0x16,
-                0xda, 0x8d, 0xf5, 0x6a, 0xf6, 0x24, 0x3f, 0xa0, 0x73, 0xa2, 0x5c, 0x4c, 0x7c, 0xb5,
-                0x7e, 0x01, 0x12, 0xb3,
+                0x82, 0xbb, 0x12, 0xfe, 0x68, 0x8d, 0x2a, 0xe3, 0x7e, 0x30, 0x18, 0x93, 0xa3, 0xf0,
+                0xd3, 0x07, 0x5c, 0xbf, 0x99, 0x34, 0xd0, 0x75, 0xf7, 0x3c, 0x2b, 0x36, 0x4a, 0xf3,
+                0xd1, 0x12, 0x10, 0x2a,
             ],
             Elements::Sha256Iv => [
-                0x6a, 0x18, 0xe6, 0xe7, 0x64, 0xaf, 0x80, 0x0d, 0xc6, 0xfa, 0xeb, 0x07, 0x54, 0xbf,
-                0x0b, 0x17, 0x32, 0x9f, 0x98, 0x28, 0x1d, 0x13, 0xf5, 0x15, 0x77, 0x00, 0xfa, 0x6a,
-                0x1d, 0x6d, 0x5d, 0x42,
+                0xd2, 0xbb, 0x57, 0x20, 0x0d, 0xad, 0xd3, 0xa6, 0x73, 0x78, 0xdb, 0x79, 0x66, 0x10,
+                0xf5, 0x9c, 0x33, 0xd9, 0xa4, 0x0d, 0x2d, 0xfc, 0xc9, 0x9f, 0x03, 0xb0, 0x8b, 0x71,
+                0x55, 0xfb, 0xbb, 0xea,
             ],
             Elements::SigAllHash => [
-                0x0d, 0xc3, 0xf1, 0x0b, 0xbb, 0xbf, 0x9a, 0xa4, 0x91, 0xbb, 0x88, 0x14, 0x63, 0x1d,
-                0x3b, 0x6d, 0x41, 0x95, 0xf8, 0x2c, 0x97, 0x73, 0xbb, 0xcb, 0x2d, 0xa3, 0xef, 0x0c,
-                0xf0, 0xcd, 0x94, 0xd2,
+                0x6c, 0xff, 0x2c, 0x4e, 0x87, 0xf1, 0x4d, 0xeb, 0x06, 0xaf, 0x89, 0x3a, 0x74, 0xaf,
+                0x6a, 0x1c, 0x5c, 0x06, 0xdb, 0x52, 0x64, 0x5b, 0x1f, 0x67, 0xee, 0x0f, 0xdf, 0x7e,
+                0xa7, 0x76, 0xd5, 0x5c,
             ],
             Elements::Some1 => [
-                0x0b, 0x9c, 0xb7, 0xb4, 0x7d, 0xeb, 0x4f, 0x9d, 0x95, 0xd5, 0xc0, 0x20, 0x00, 0x1f,
-                0xd0, 0x09, 0xa2, 0xf1, 0x0c, 0xe5, 0xd9, 0x18, 0xd8, 0x18, 0x1e, 0x25, 0x93, 0x15,
-                0xfe, 0x8e, 0xac, 0x53,
+                0x15, 0x1b, 0xcb, 0x76, 0xc2, 0x31, 0xab, 0x25, 0xe3, 0x71, 0x09, 0x28, 0xd9, 0xb3,
+                0xb7, 0xa2, 0xe1, 0x7f, 0x84, 0xd7, 0xcf, 0x8d, 0xa8, 0x84, 0x5c, 0xf8, 0x7a, 0x40,
+                0x81, 0x6f, 0x31, 0x68,
             ],
             Elements::Some16 => [
-                0x30, 0xd8, 0x14, 0xff, 0xb4, 0x92, 0x78, 0xb4, 0x25, 0x00, 0x7b, 0x9d, 0xe2, 0x79,
-                0xf7, 0x6f, 0x4a, 0x6d, 0xa4, 0xc0, 0x34, 0x63, 0x4a, 0xbb, 0x87, 0x11, 0x0e, 0xcb,
-                0xea, 0x2c, 0xe4, 0x29,
+                0x87, 0x29, 0x5e, 0x8a, 0x0f, 0x02, 0x99, 0xf3, 0xa7, 0xcb, 0x73, 0x8d, 0xd5, 0xf8,
+                0xdd, 0xec, 0xc3, 0xe4, 0x8d, 0x18, 0x74, 0xa5, 0x5a, 0x0c, 0xcf, 0x7c, 0x2d, 0x30,
+                0xaa, 0xd0, 0x79, 0x87,
             ],
             Elements::Some32 => [
-                0x69, 0x27, 0x91, 0x90, 0x3b, 0xe7, 0xd9, 0xe4, 0xc5, 0x47, 0x72, 0xba, 0x88, 0xa4,
-                0x86, 0x15, 0x46, 0x36, 0x12, 0x18, 0xdd, 0x8a, 0x26, 0xce, 0xed, 0x69, 0x9b, 0xcf,
-                0x77, 0xc0, 0x99, 0x09,
+                0x85, 0x2f, 0x5e, 0x22, 0x24, 0x66, 0x77, 0xc4, 0x9a, 0x6c, 0x68, 0xec, 0x39, 0x73,
+                0xcb, 0x53, 0x00, 0x82, 0x65, 0xcf, 0x17, 0xd4, 0x6f, 0x60, 0x00, 0x59, 0x41, 0xba,
+                0x57, 0xd4, 0x94, 0x7e,
             ],
             Elements::Some64 => [
-                0xfa, 0x9b, 0x01, 0x60, 0xc7, 0x27, 0x15, 0xff, 0xfd, 0x1d, 0x94, 0xda, 0x19, 0x97,
-                0x88, 0x28, 0x09, 0xb4, 0x62, 0xbb, 0x14, 0x4a, 0xce, 0xcb, 0x43, 0x05, 0x44, 0x68,
-                0xe6, 0x37, 0x86, 0xb5,
+                0xfe, 0x9b, 0x3a, 0x25, 0xc9, 0x57, 0x17, 0x49, 0xe2, 0xa5, 0x63, 0xf4, 0x10, 0xa5,
+                0x65, 0x0f, 0x41, 0x17, 0x4e, 0x23, 0x26, 0x91, 0x07, 0x2b, 0x2d, 0x54, 0x74, 0xf9,
+                0x3c, 0x7a, 0x22, 0xc0,
             ],
             Elements::Some8 => [
-                0x0b, 0xd7, 0xab, 0x43, 0x80, 0xc8, 0xf4, 0x5a, 0xca, 0x7c, 0xac, 0x97, 0x28, 0x86,
-                0xce, 0xef, 0x23, 0xba, 0x84, 0x21, 0x0c, 0x5c, 0x4d, 0x96, 0x9b, 0x1f, 0x59, 0xb1,
-                0x83, 0x2c, 0x1d, 0x36,
+                0x49, 0xdc, 0x24, 0x20, 0x4c, 0x56, 0x44, 0xea, 0x98, 0xb0, 0xd8, 0xa8, 0xa1, 0xf1,
+                0x5f, 0x20, 0x8b, 0x4a, 0xfa, 0xd5, 0x9d, 0x89, 0x95, 0xab, 0x96, 0xc4, 0x49, 0x8d,
+                0x1c, 0xd4, 0x10, 0xa0,
             ],
             Elements::Subtract16 => [
-                0x0c, 0xd3, 0xab, 0x73, 0xe5, 0xce, 0x2a, 0x44, 0xf2, 0xd1, 0xc3, 0x32, 0xa1, 0xed,
-                0x5a, 0xef, 0x5b, 0xcb, 0x60, 0x4f, 0x72, 0x1b, 0x15, 0xb8, 0x01, 0x0d, 0xd5, 0x4f,
-                0x40, 0xc6, 0xac, 0xa7,
+                0x51, 0x2b, 0x7c, 0x68, 0x81, 0xbf, 0x8d, 0x8f, 0xa5, 0xd9, 0x35, 0xe5, 0x25, 0x64,
+                0xe2, 0x86, 0x75, 0x1f, 0x77, 0xe6, 0x33, 0x75, 0x63, 0x7d, 0xf2, 0xd7, 0x22, 0x75,
+                0x68, 0xc6, 0x94, 0x7f,
             ],
             Elements::Subtract32 => [
-                0xe0, 0xde, 0x68, 0x76, 0x25, 0x9d, 0x5a, 0x00, 0x4b, 0x30, 0x16, 0xd3, 0x58, 0x15,
-                0xdb, 0x41, 0xbc, 0xec, 0xdb, 0xfa, 0x18, 0xd3, 0x7d, 0x99, 0x20, 0x4e, 0x49, 0x57,
-                0xad, 0x2c, 0x4d, 0x0e,
+                0xf5, 0x3f, 0x3e, 0x87, 0x1a, 0x7d, 0xa3, 0xf0, 0x9e, 0x56, 0x26, 0x97, 0x83, 0x5e,
+                0x1c, 0xe1, 0x0d, 0xf8, 0xee, 0x14, 0x11, 0x63, 0xad, 0x93, 0xb5, 0x7c, 0x8e, 0x6d,
+                0x74, 0x38, 0x2b, 0xbc,
             ],
             Elements::Subtract64 => [
-                0xff, 0xe6, 0x73, 0xee, 0x8e, 0xdc, 0x72, 0x9a, 0x47, 0xec, 0xed, 0x3a, 0x67, 0x7f,
-                0x85, 0xb1, 0xda, 0xe7, 0x14, 0xa5, 0x10, 0x0c, 0x49, 0x49, 0x73, 0xab, 0xcb, 0x32,
-                0x59, 0xa3, 0xc7, 0x56,
+                0x5f, 0x08, 0xf7, 0x40, 0x53, 0xb2, 0xf0, 0x19, 0xb6, 0x2a, 0x1b, 0xb8, 0x28, 0xb7,
+                0x99, 0xe0, 0x91, 0xe8, 0x21, 0x7e, 0xc8, 0x89, 0xdd, 0x4d, 0x37, 0x6e, 0x01, 0x2c,
+                0x95, 0x79, 0xb9, 0x81,
             ],
             Elements::Subtract8 => [
-                0xbd, 0xa5, 0x98, 0x13, 0x96, 0x47, 0x8e, 0xb3, 0x6f, 0x85, 0x92, 0xa7, 0x50, 0x9f,
-                0xa4, 0x87, 0x7c, 0x50, 0xb2, 0xbf, 0x91, 0x65, 0xe5, 0xb7, 0x96, 0x35, 0xbf, 0x8b,
-                0xcb, 0x84, 0xd4, 0x42,
+                0x77, 0x86, 0x49, 0xf8, 0x39, 0x35, 0xcd, 0x3f, 0xfc, 0x04, 0xf6, 0xc6, 0x62, 0x0a,
+                0x33, 0x96, 0x5d, 0x0e, 0xf1, 0xdd, 0x17, 0xe7, 0xb5, 0x0f, 0xa4, 0x10, 0x76, 0xd8,
+                0xad, 0x87, 0x6b, 0x1d,
             ],
             Elements::Swu => [
-                0x69, 0x45, 0x9b, 0x6d, 0xd1, 0x0a, 0x63, 0xdf, 0x37, 0xde, 0xdf, 0x18, 0x6c, 0xb4,
-                0xd2, 0x08, 0xd8, 0xc0, 0x39, 0x61, 0x1c, 0xec, 0xdd, 0x09, 0xcf, 0xe0, 0x7a, 0xc9,
-                0x1d, 0x01, 0x42, 0x2f,
+                0x20, 0x49, 0xd4, 0x6c, 0x4c, 0x4d, 0x6f, 0x85, 0x6e, 0x04, 0xf7, 0xae, 0x20, 0x28,
+                0x73, 0x36, 0xc2, 0xf2, 0xa6, 0xb8, 0xc1, 0xe2, 0x9d, 0x7e, 0xbb, 0xa3, 0xaf, 0x2f,
+                0xd3, 0xa8, 0x80, 0x9b,
             ],
             Elements::TapEnvHash => [
-                0x59, 0xe0, 0x4e, 0xee, 0x36, 0x88, 0x3d, 0xd5, 0xe7, 0xc2, 0x69, 0x5d, 0x7c, 0x99,
-                0x38, 0xc0, 0x6d, 0x98, 0x3f, 0xba, 0x88, 0xdc, 0x2a, 0x04, 0x84, 0x3a, 0xb8, 0x0b,
-                0x68, 0xf1, 0x99, 0xec,
+                0x92, 0x47, 0x4a, 0x50, 0x30, 0x82, 0x14, 0xd3, 0x22, 0x40, 0xc4, 0xec, 0x28, 0x29,
+                0xe6, 0x88, 0xb7, 0x33, 0x82, 0xce, 0x0c, 0x37, 0xc7, 0x96, 0x28, 0xb7, 0x39, 0x4c,
+                0xa6, 0x1e, 0xe7, 0xf5,
             ],
             Elements::TapleafHash => [
-                0xea, 0x81, 0x56, 0x58, 0xff, 0x9a, 0x27, 0x16, 0x42, 0x0d, 0x45, 0x91, 0x5d, 0x66,
-                0x07, 0x0b, 0xe4, 0x11, 0x6c, 0x1c, 0x70, 0x7e, 0x26, 0x94, 0xd3, 0x66, 0x58, 0x45,
-                0x20, 0xc2, 0x24, 0x69,
+                0x59, 0xfd, 0x29, 0x96, 0xcc, 0x5e, 0x2b, 0x5e, 0x19, 0x70, 0x74, 0x67, 0x26, 0x76,
+                0x45, 0xe8, 0x18, 0x65, 0xd1, 0x47, 0x4a, 0x0b, 0x28, 0xc2, 0xcf, 0xf4, 0xed, 0xf1,
+                0xbd, 0xea, 0xd9, 0x1b,
             ],
             Elements::TapleafVersion => [
-                0x30, 0x3e, 0xf4, 0xde, 0x61, 0x8e, 0x7f, 0x08, 0x67, 0x79, 0x48, 0x28, 0x2d, 0xd4,
-                0x2d, 0x57, 0xd6, 0x44, 0xc4, 0x1c, 0x18, 0xc1, 0x1c, 0x13, 0x0a, 0x1b, 0xe5, 0xa6,
-                0xe2, 0x54, 0xe3, 0xe9,
+                0x43, 0xb8, 0x2c, 0x3a, 0x31, 0x40, 0x2d, 0xaf, 0x42, 0x70, 0x7b, 0x88, 0x70, 0xe4,
+                0xdb, 0xa4, 0xb6, 0x83, 0x19, 0x43, 0x0f, 0x2b, 0x5d, 0x11, 0x4e, 0xa5, 0x8c, 0x5d,
+                0x89, 0x97, 0x3d, 0x8f,
             ],
             Elements::Tappath => [
-                0x5f, 0xd7, 0x1c, 0x6f, 0xf6, 0x7b, 0xa4, 0x26, 0x3c, 0x82, 0x56, 0xfe, 0xce, 0xe1,
-                0xe2, 0xec, 0x1d, 0xcf, 0x45, 0xa8, 0xb3, 0x84, 0x50, 0x62, 0x70, 0x15, 0x17, 0x80,
-                0xaa, 0xcf, 0x1c, 0x32,
+                0x2b, 0x61, 0xba, 0x3c, 0xca, 0xe8, 0x20, 0x63, 0xb7, 0x12, 0x27, 0x46, 0xbb, 0xf1,
+                0x80, 0xb7, 0x11, 0x46, 0xb7, 0x52, 0x11, 0x24, 0x25, 0x33, 0x53, 0xfe, 0x5f, 0x7d,
+                0x96, 0x59, 0xb9, 0x18,
             ],
             Elements::TappathHash => [
-                0x62, 0xaf, 0x75, 0xf4, 0xf3, 0x7c, 0x0f, 0xf2, 0x75, 0x37, 0xe0, 0x54, 0x3a, 0x13,
-                0x48, 0x02, 0x66, 0xa5, 0xad, 0x12, 0xce, 0x53, 0xdf, 0x1f, 0xba, 0xc1, 0x11, 0xea,
-                0xa9, 0x3d, 0x27, 0x7c,
+                0x82, 0x59, 0x86, 0x04, 0x31, 0xf7, 0xfc, 0xd6, 0xe8, 0xc9, 0x84, 0x5b, 0x71, 0x52,
+                0xbb, 0xda, 0xb6, 0x92, 0x81, 0xf6, 0x5b, 0x64, 0x2c, 0x63, 0x4e, 0xfa, 0xa3, 0xfd,
+                0x2d, 0x73, 0x53, 0xa5,
             ],
             Elements::TotalFee => [
-                0xcc, 0x69, 0xd2, 0x4c, 0x5d, 0xd8, 0x52, 0xcd, 0xef, 0xca, 0xa7, 0x4d, 0x31, 0x40,
-                0x46, 0x7f, 0xbe, 0x8d, 0x08, 0xa7, 0x70, 0x94, 0x22, 0xee, 0xc2, 0x8e, 0xd6, 0x32,
-                0xb2, 0x8a, 0xba, 0x63,
+                0xff, 0xa3, 0x79, 0x56, 0x8b, 0x4a, 0x88, 0xf1, 0x71, 0x39, 0x15, 0x24, 0x10, 0xec,
+                0xf1, 0x40, 0x72, 0xac, 0x4c, 0x95, 0xc0, 0xb6, 0x82, 0xeb, 0xd9, 0x1a, 0x9e, 0x02,
+                0xd3, 0x30, 0xc3, 0xce,
             ],
             Elements::TransactionId => [
-                0xab, 0x4b, 0xf4, 0x78, 0x2d, 0x35, 0x8c, 0xd3, 0x1f, 0x22, 0xe0, 0x66, 0x64, 0x16,
-                0x70, 0x78, 0x45, 0x7c, 0x76, 0xe3, 0xfa, 0x8e, 0x42, 0x1c, 0x79, 0x29, 0xde, 0x11,
-                0x31, 0x0b, 0x07, 0xd9,
+                0x9c, 0x9f, 0xeb, 0x81, 0x0e, 0x75, 0x3c, 0xd5, 0xb8, 0x8e, 0x0f, 0xef, 0xa2, 0x83,
+                0xb3, 0x74, 0x30, 0xcd, 0x16, 0xee, 0xec, 0xbc, 0x56, 0x70, 0xdd, 0x70, 0xc3, 0x12,
+                0x84, 0xa9, 0xdb, 0x2c,
             ],
             Elements::TxHash => [
-                0xb7, 0xe0, 0xa2, 0xdc, 0x5c, 0xa1, 0x1c, 0xe5, 0x82, 0xa7, 0xaa, 0x29, 0x9a, 0x51,
-                0xb2, 0x3e, 0x66, 0xef, 0xe6, 0x23, 0x60, 0x2a, 0x7b, 0x7d, 0x43, 0x4e, 0xec, 0x51,
-                0xaf, 0x24, 0x5a, 0x07,
+                0xa1, 0x13, 0xb1, 0x2e, 0x50, 0x21, 0x87, 0x01, 0x3f, 0xaf, 0x7f, 0xab, 0x0e, 0x78,
+                0xa9, 0x3e, 0x85, 0xfe, 0x88, 0xfc, 0xfc, 0xfb, 0xd1, 0x29, 0x46, 0x98, 0xc7, 0xb7,
+                0x65, 0xd8, 0xd2, 0x8d,
             ],
             Elements::TxIsFinal => [
-                0xeb, 0x8e, 0x83, 0xd1, 0xe0, 0x2c, 0x3c, 0xe7, 0xaf, 0x2d, 0x28, 0xf0, 0xce, 0xc0,
-                0x43, 0x14, 0x80, 0xdc, 0x2f, 0x38, 0x85, 0xc9, 0x91, 0x3a, 0x50, 0x72, 0x7e, 0x43,
-                0xd0, 0xbd, 0xaf, 0x88,
+                0xe8, 0x18, 0x21, 0x0b, 0x1d, 0xe9, 0x66, 0x1d, 0xc8, 0xff, 0x4a, 0x48, 0x63, 0xa7,
+                0xd8, 0x9b, 0x4c, 0xd9, 0xd2, 0xe7, 0xc6, 0xa6, 0xe5, 0x0a, 0x81, 0x3c, 0xff, 0xd5,
+                0x63, 0x17, 0x4f, 0xdc,
             ],
             Elements::TxLockDistance => [
-                0xa3, 0x78, 0x93, 0xc9, 0x7c, 0x9b, 0x95, 0x0e, 0x0f, 0x7f, 0x10, 0x45, 0xc8, 0xd8,
-                0x47, 0x3a, 0xc8, 0x33, 0x6a, 0xae, 0xe9, 0xea, 0x1f, 0xad, 0x6b, 0x2a, 0x40, 0x61,
-                0x72, 0x91, 0x49, 0xc6,
+                0x53, 0x0f, 0xd7, 0x89, 0x32, 0x24, 0x07, 0x20, 0xf8, 0x8d, 0xe8, 0x46, 0x88, 0x39,
+                0x92, 0xf8, 0x12, 0xa5, 0xbf, 0x3e, 0xea, 0x68, 0x09, 0xa4, 0xa9, 0x4c, 0x90, 0x76,
+                0xca, 0x19, 0x09, 0x79,
             ],
             Elements::TxLockDuration => [
-                0x4d, 0x69, 0x87, 0xdd, 0x45, 0xf7, 0x8d, 0x5e, 0x43, 0xf9, 0x38, 0x51, 0x64, 0xa0,
-                0xbd, 0x08, 0x80, 0x75, 0x2a, 0xb8, 0x11, 0xb3, 0x8b, 0xd2, 0x97, 0xda, 0x00, 0x16,
-                0x15, 0x26, 0xa9, 0xca,
+                0xc0, 0x7b, 0xcf, 0x03, 0xef, 0x82, 0x93, 0xfc, 0x40, 0xec, 0xa5, 0x7c, 0x86, 0x06,
+                0xa4, 0xee, 0x20, 0x7f, 0xa4, 0x4d, 0x22, 0xe4, 0x1c, 0x98, 0x04, 0x1d, 0xfd, 0xd0,
+                0xd5, 0x44, 0x49, 0x40,
             ],
             Elements::TxLockHeight => [
-                0x16, 0xab, 0x83, 0x0f, 0xac, 0xe5, 0x1f, 0xe4, 0xe1, 0x80, 0x89, 0xec, 0xa1, 0xb5,
-                0x52, 0x34, 0x36, 0xaa, 0x45, 0xef, 0x84, 0x13, 0x21, 0x82, 0xc7, 0xcc, 0x65, 0x83,
-                0x6f, 0xd1, 0x34, 0x2c,
+                0x4c, 0x04, 0x5a, 0xca, 0x00, 0x61, 0xe3, 0x6a, 0x8c, 0x59, 0x25, 0xe7, 0xf9, 0xcb,
+                0x39, 0x5b, 0x8a, 0x70, 0x21, 0xe4, 0xde, 0x01, 0x91, 0x32, 0x31, 0xc4, 0xd7, 0x63,
+                0x50, 0xf8, 0x43, 0xa4,
             ],
             Elements::TxLockTime => [
-                0xaf, 0x11, 0x2f, 0xc8, 0xee, 0xd3, 0xc3, 0x3b, 0xc7, 0xb5, 0xea, 0x04, 0xcc, 0xab,
-                0x86, 0x99, 0x19, 0x53, 0xf2, 0xa2, 0xaa, 0xf3, 0xd8, 0x7d, 0x6c, 0x2c, 0x43, 0x14,
-                0x3d, 0x42, 0x6f, 0x56,
+                0x48, 0x40, 0x8c, 0xd0, 0x63, 0xe2, 0x4b, 0xe7, 0x36, 0x62, 0x32, 0x32, 0x07, 0x59,
+                0x0c, 0xcc, 0x08, 0x3a, 0x8f, 0x44, 0x98, 0x97, 0x88, 0x47, 0x43, 0x07, 0x57, 0xe2,
+                0xf5, 0x55, 0x21, 0xa5,
             ],
             Elements::Verify => [
-                0xf1, 0x1c, 0x94, 0x81, 0xe7, 0x18, 0x63, 0xa2, 0x44, 0x53, 0xc3, 0xe2, 0x13, 0x04,
-                0x64, 0x99, 0xa0, 0x3a, 0x9a, 0x0f, 0x99, 0x3b, 0xe3, 0xc4, 0x8e, 0x9d, 0x1f, 0x40,
-                0x5d, 0x97, 0x94, 0x7c,
+                0x22, 0xc0, 0xe3, 0x62, 0x34, 0x19, 0x0a, 0xf6, 0xc8, 0x16, 0x1e, 0x41, 0xf9, 0xe0,
+                0x00, 0x13, 0xb2, 0x43, 0xc8, 0x96, 0x77, 0x69, 0x1a, 0x62, 0xe7, 0x98, 0x72, 0xfa,
+                0x03, 0xbf, 0xa6, 0x77,
             ],
             Elements::Version => [
-                0x22, 0x21, 0x53, 0x00, 0x9f, 0x08, 0x63, 0xda, 0x5c, 0xec, 0x8f, 0xfa, 0xa4, 0xa0,
-                0x17, 0xd8, 0xe4, 0xff, 0x25, 0x66, 0xfa, 0x9c, 0x03, 0xe7, 0x43, 0x1a, 0x09, 0x02,
-                0xd5, 0x6a, 0x24, 0xdc,
+                0x56, 0x71, 0x38, 0x42, 0x24, 0x33, 0x3d, 0xc7, 0x84, 0x1d, 0x63, 0xc3, 0x17, 0x6a,
+                0x15, 0x90, 0xad, 0xed, 0x82, 0x0e, 0x29, 0xe4, 0x61, 0xc3, 0x4a, 0xda, 0xfa, 0x9c,
+                0x5e, 0xfd, 0x42, 0x01,
             ],
             Elements::Xor1 => [
-                0x77, 0xb7, 0x14, 0xe6, 0x89, 0xc9, 0xd6, 0xa4, 0x8f, 0xd1, 0xad, 0xd8, 0x65, 0x22,
-                0x82, 0x3d, 0xeb, 0xc7, 0x0d, 0xf6, 0xa7, 0xfe, 0x4b, 0xf2, 0xb8, 0x5d, 0xe5, 0x49,
-                0xe0, 0xcd, 0x0a, 0x05,
+                0x7b, 0x76, 0x0e, 0xe0, 0xc7, 0x89, 0x6a, 0xb7, 0x38, 0xcc, 0x50, 0xef, 0x7d, 0x63,
+                0xf6, 0xd2, 0xbf, 0x59, 0x61, 0xa9, 0x28, 0x64, 0x47, 0xce, 0x06, 0x4e, 0xc1, 0x8d,
+                0x5e, 0xde, 0x6f, 0x6c,
             ],
             Elements::Xor16 => [
-                0xca, 0x36, 0x35, 0x51, 0x35, 0xa8, 0x6a, 0x11, 0x68, 0x6c, 0x01, 0xaa, 0x35, 0xf2,
-                0x5b, 0x97, 0xfa, 0xee, 0xda, 0xbf, 0xde, 0xc8, 0xdf, 0x08, 0xd2, 0xc0, 0xf6, 0x65,
-                0x08, 0x33, 0xf9, 0x3f,
+                0xef, 0x2d, 0x8a, 0x0f, 0x66, 0x9d, 0x20, 0xaa, 0xfe, 0x11, 0xa6, 0xc3, 0x39, 0x06,
+                0x36, 0x92, 0x3a, 0xd3, 0x76, 0x14, 0x0d, 0x3e, 0xa6, 0x94, 0xd0, 0x87, 0x2f, 0xa4,
+                0xd5, 0x4b, 0x90, 0xef,
             ],
             Elements::Xor32 => [
-                0xff, 0xe2, 0xc8, 0xee, 0x96, 0xd5, 0x57, 0x97, 0x81, 0xc4, 0x36, 0x62, 0x88, 0xd9,
-                0x50, 0x71, 0x85, 0xe4, 0x61, 0xcc, 0xc4, 0x0a, 0x45, 0xbb, 0xcc, 0x55, 0x94, 0x89,
-                0xd3, 0xc6, 0x96, 0x12,
+                0x21, 0x9b, 0x1d, 0xd6, 0xe7, 0x2b, 0x77, 0x75, 0x19, 0x51, 0x91, 0x6e, 0xe4, 0xdd,
+                0xfd, 0x56, 0xac, 0xf0, 0xce, 0x7a, 0x30, 0xa4, 0xcd, 0x73, 0x9c, 0x51, 0xbd, 0x99,
+                0x42, 0xa2, 0xeb, 0x07,
             ],
             Elements::Xor64 => [
-                0x5b, 0x3b, 0xb7, 0xb1, 0x8c, 0x70, 0x98, 0xf4, 0xe5, 0xcd, 0x14, 0x97, 0x22, 0xac,
-                0x73, 0x09, 0xce, 0x66, 0xa3, 0xe2, 0x19, 0xc6, 0x1b, 0x33, 0x3f, 0x31, 0x33, 0x58,
-                0x3a, 0x7b, 0x57, 0x2d,
+                0x0b, 0xbb, 0x85, 0x0a, 0xd0, 0x3f, 0x9c, 0x96, 0xa5, 0xd4, 0x67, 0xc4, 0x61, 0x12,
+                0xf1, 0x04, 0x6a, 0x7a, 0x92, 0x27, 0x3f, 0x2b, 0xb0, 0x1d, 0x20, 0xca, 0x4d, 0xb6,
+                0xba, 0x75, 0x3e, 0x79,
             ],
             Elements::Xor8 => [
-                0xff, 0x3e, 0x52, 0x62, 0x02, 0xff, 0x89, 0xcf, 0xf7, 0xbb, 0xe7, 0x0f, 0xdb, 0xf9,
-                0xf9, 0x7d, 0x23, 0xc1, 0x2f, 0x6e, 0x2b, 0xb8, 0xbb, 0xe8, 0x30, 0x4a, 0xc7, 0x0f,
-                0x61, 0xc1, 0xcf, 0x2c,
+                0x95, 0x0b, 0x65, 0x31, 0x62, 0x36, 0xe8, 0x3e, 0xd1, 0x4b, 0xd1, 0x71, 0xe3, 0x4d,
+                0x55, 0xaf, 0x0a, 0x3f, 0x63, 0x7c, 0xc4, 0x7d, 0xc7, 0x17, 0xf7, 0x7f, 0xdb, 0x4b,
+                0x30, 0xdf, 0x01, 0x57,
             ],
             Elements::XorXor1 => [
-                0x22, 0x52, 0xa9, 0x86, 0x08, 0xd2, 0x0b, 0xd4, 0x11, 0x31, 0x7a, 0x20, 0x15, 0xc1,
-                0x56, 0x98, 0x70, 0xa6, 0x2c, 0x95, 0x3a, 0x61, 0x65, 0xfb, 0xe9, 0x77, 0xb4, 0x0d,
-                0x6c, 0xce, 0xa4, 0x95,
+                0x3f, 0x30, 0xf9, 0x59, 0x87, 0x0d, 0xe1, 0xd1, 0x33, 0x37, 0x4e, 0x14, 0x09, 0xfd,
+                0xc3, 0x4d, 0xe4, 0x92, 0x91, 0x70, 0x68, 0x30, 0xb8, 0x3d, 0xac, 0x9d, 0x4e, 0x67,
+                0xc4, 0xeb, 0x60, 0x48,
             ],
             Elements::XorXor16 => [
-                0xa1, 0xf2, 0xd6, 0x33, 0xbf, 0x98, 0x89, 0xa0, 0x8a, 0x42, 0x51, 0x2a, 0x78, 0x93,
-                0xa6, 0x79, 0x9d, 0xc4, 0x7a, 0xa8, 0x29, 0xff, 0x8f, 0x57, 0x7c, 0x5b, 0xc9, 0x75,
-                0x66, 0xc4, 0xd3, 0xfe,
+                0x2e, 0x1a, 0x09, 0xe3, 0xcb, 0xa2, 0x75, 0x66, 0x02, 0xe8, 0x7b, 0x86, 0xf2, 0xb0,
+                0x7f, 0x2d, 0x23, 0x7b, 0xfc, 0xac, 0x5b, 0x1b, 0x8a, 0xb7, 0xb5, 0x29, 0xaf, 0x42,
+                0xd3, 0x11, 0x02, 0x94,
             ],
             Elements::XorXor32 => [
-                0x0d, 0x5f, 0xf5, 0x81, 0x23, 0xba, 0x0d, 0xae, 0x3b, 0x32, 0x40, 0xa6, 0x31, 0x05,
-                0x2a, 0xf2, 0xe8, 0x7b, 0x52, 0xb6, 0x37, 0xa2, 0xcb, 0xd3, 0x37, 0xd2, 0x25, 0x93,
-                0x70, 0x62, 0x87, 0x41,
+                0x85, 0xa3, 0x79, 0xa1, 0xe5, 0xdb, 0x45, 0x72, 0x37, 0xdf, 0x27, 0xf4, 0xcf, 0xcd,
+                0xc8, 0x75, 0x60, 0xff, 0xd3, 0x73, 0x8e, 0xbe, 0xc8, 0x25, 0x52, 0xe7, 0x3b, 0xce,
+                0x89, 0xbc, 0x0b, 0x37,
             ],
             Elements::XorXor64 => [
-                0x78, 0x3f, 0x49, 0xa1, 0x9d, 0x4f, 0x4a, 0xae, 0x4d, 0x3c, 0x1d, 0x6c, 0xcf, 0x83,
-                0x15, 0x6d, 0xc5, 0x5d, 0x0b, 0x5c, 0x08, 0xcf, 0x59, 0x23, 0x36, 0x58, 0x4c, 0xb1,
-                0x31, 0x67, 0xc6, 0xca,
+                0x4c, 0x12, 0x68, 0xc5, 0x75, 0x42, 0x50, 0x89, 0xbe, 0x42, 0x47, 0x2e, 0x97, 0x2b,
+                0x2a, 0xe0, 0x0e, 0xde, 0x58, 0x34, 0xc9, 0x84, 0xd9, 0x6d, 0xcd, 0x59, 0xa0, 0xc2,
+                0x21, 0x15, 0x2f, 0x93,
             ],
             Elements::XorXor8 => [
-                0x83, 0xa9, 0x80, 0xcc, 0x61, 0x06, 0x85, 0x24, 0x88, 0x10, 0x5d, 0x3c, 0xee, 0x10,
-                0xf3, 0x51, 0x13, 0xb8, 0xc9, 0xf7, 0x46, 0x64, 0xe7, 0xce, 0x6d, 0x4e, 0xc0, 0x91,
-                0x2b, 0xc2, 0x9b, 0xc7,
+                0x61, 0xf2, 0x74, 0x7f, 0x8d, 0x83, 0xb6, 0xa5, 0xad, 0xaa, 0x42, 0xf5, 0xc0, 0x40,
+                0x8c, 0x9b, 0xd4, 0xe9, 0x9e, 0x92, 0x70, 0xa7, 0x58, 0x71, 0x40, 0x6c, 0xec, 0x44,
+                0x89, 0xa5, 0xfb, 0xe7,
             ],
         };
 
@@ -7408,475 +7408,475 @@ impl Jet for Elements {
 
     fn cost(&self) -> Cost {
         match self {
-            Elements::Add16 => Cost::from_milliweight(226),
-            Elements::Add32 => Cost::from_milliweight(183),
-            Elements::Add64 => Cost::from_milliweight(221),
-            Elements::Add8 => Cost::from_milliweight(150),
-            Elements::All16 => Cost::from_milliweight(110),
-            Elements::All32 => Cost::from_milliweight(136),
-            Elements::All64 => Cost::from_milliweight(165),
-            Elements::All8 => Cost::from_milliweight(113),
-            Elements::And1 => Cost::from_milliweight(159),
-            Elements::And16 => Cost::from_milliweight(195),
-            Elements::And32 => Cost::from_milliweight(175),
-            Elements::And64 => Cost::from_milliweight(221),
-            Elements::And8 => Cost::from_milliweight(159),
-            Elements::AnnexHash => Cost::from_milliweight(3065),
-            Elements::AssetAmountHash => Cost::from_milliweight(3177),
-            Elements::Bip0340Verify => Cost::from_milliweight(49671),
-            Elements::BuildTapbranch => Cost::from_milliweight(4804),
-            Elements::BuildTapleafSimplicity => Cost::from_milliweight(3670),
-            Elements::CalculateAsset => Cost::from_milliweight(1516),
-            Elements::CalculateConfidentialToken => Cost::from_milliweight(1727),
-            Elements::CalculateExplicitToken => Cost::from_milliweight(1610),
-            Elements::CalculateIssuanceEntropy => Cost::from_milliweight(3453),
-            Elements::Ch1 => Cost::from_milliweight(240),
-            Elements::Ch16 => Cost::from_milliweight(245),
-            Elements::Ch32 => Cost::from_milliweight(238),
-            Elements::Ch64 => Cost::from_milliweight(274),
-            Elements::Ch8 => Cost::from_milliweight(240),
-            Elements::CheckLockDistance => Cost::from_milliweight(198),
-            Elements::CheckLockDuration => Cost::from_milliweight(201),
-            Elements::CheckLockHeight => Cost::from_milliweight(239),
-            Elements::CheckLockTime => Cost::from_milliweight(232),
+            Elements::Add16 => Cost::from_milliweight(108),
+            Elements::Add32 => Cost::from_milliweight(117),
+            Elements::Add64 => Cost::from_milliweight(109),
+            Elements::Add8 => Cost::from_milliweight(112),
+            Elements::All16 => Cost::from_milliweight(62),
+            Elements::All32 => Cost::from_milliweight(65),
+            Elements::All64 => Cost::from_milliweight(79),
+            Elements::All8 => Cost::from_milliweight(76),
+            Elements::And1 => Cost::from_milliweight(79),
+            Elements::And16 => Cost::from_milliweight(88),
+            Elements::And32 => Cost::from_milliweight(94),
+            Elements::And64 => Cost::from_milliweight(93),
+            Elements::And8 => Cost::from_milliweight(91),
+            Elements::AnnexHash => Cost::from_milliweight(241),
+            Elements::AssetAmountHash => Cost::from_milliweight(308),
+            Elements::Bip0340Verify => Cost::from_milliweight(49087),
+            Elements::BuildTapbranch => Cost::from_milliweight(2563),
+            Elements::BuildTapleafSimplicity => Cost::from_milliweight(1843),
+            Elements::CalculateAsset => Cost::from_milliweight(807),
+            Elements::CalculateConfidentialToken => Cost::from_milliweight(707),
+            Elements::CalculateExplicitToken => Cost::from_milliweight(771),
+            Elements::CalculateIssuanceEntropy => Cost::from_milliweight(2095),
+            Elements::Ch1 => Cost::from_milliweight(78),
+            Elements::Ch16 => Cost::from_milliweight(94),
+            Elements::Ch32 => Cost::from_milliweight(91),
+            Elements::Ch64 => Cost::from_milliweight(91),
+            Elements::Ch8 => Cost::from_milliweight(77),
+            Elements::CheckLockDistance => Cost::from_milliweight(105),
+            Elements::CheckLockDuration => Cost::from_milliweight(102),
+            Elements::CheckLockHeight => Cost::from_milliweight(77),
+            Elements::CheckLockTime => Cost::from_milliweight(93),
             Elements::CheckSigVerify => Cost::from_milliweight(50000),
-            Elements::Complement1 => Cost::from_milliweight(139),
-            Elements::Complement16 => Cost::from_milliweight(146),
-            Elements::Complement32 => Cost::from_milliweight(161),
-            Elements::Complement64 => Cost::from_milliweight(174),
-            Elements::Complement8 => Cost::from_milliweight(139),
-            Elements::CurrentAmount => Cost::from_milliweight(400),
-            Elements::CurrentAnnexHash => Cost::from_milliweight(137),
-            Elements::CurrentAsset => Cost::from_milliweight(320),
-            Elements::CurrentIndex => Cost::from_milliweight(137),
-            Elements::CurrentIssuanceAssetAmount => Cost::from_milliweight(317),
-            Elements::CurrentIssuanceAssetProof => Cost::from_milliweight(301),
-            Elements::CurrentIssuanceTokenAmount => Cost::from_milliweight(326),
-            Elements::CurrentIssuanceTokenProof => Cost::from_milliweight(288),
-            Elements::CurrentNewIssuanceContract => Cost::from_milliweight(293),
-            Elements::CurrentPegin => Cost::from_milliweight(303),
-            Elements::CurrentPrevOutpoint => Cost::from_milliweight(312),
-            Elements::CurrentReissuanceBlinding => Cost::from_milliweight(148),
-            Elements::CurrentReissuanceEntropy => Cost::from_milliweight(139),
-            Elements::CurrentScriptHash => Cost::from_milliweight(305),
-            Elements::CurrentScriptSigHash => Cost::from_milliweight(298),
-            Elements::CurrentSequence => Cost::from_milliweight(138),
-            Elements::Decompress => Cost::from_milliweight(10956),
-            Elements::Decrement16 => Cost::from_milliweight(116),
-            Elements::Decrement32 => Cost::from_milliweight(159),
-            Elements::Decrement64 => Cost::from_milliweight(160),
-            Elements::Decrement8 => Cost::from_milliweight(195),
-            Elements::DivMod128_64 => Cost::from_milliweight(220),
-            Elements::DivMod16 => Cost::from_milliweight(223),
-            Elements::DivMod32 => Cost::from_milliweight(198),
-            Elements::DivMod64 => Cost::from_milliweight(220),
-            Elements::DivMod8 => Cost::from_milliweight(141),
-            Elements::Divide16 => Cost::from_milliweight(188),
-            Elements::Divide32 => Cost::from_milliweight(225),
-            Elements::Divide64 => Cost::from_milliweight(202),
-            Elements::Divide8 => Cost::from_milliweight(125),
-            Elements::Divides16 => Cost::from_milliweight(173),
-            Elements::Divides32 => Cost::from_milliweight(175),
-            Elements::Divides64 => Cost::from_milliweight(246),
-            Elements::Divides8 => Cost::from_milliweight(142),
-            Elements::Eq1 => Cost::from_milliweight(120),
-            Elements::Eq16 => Cost::from_milliweight(174),
-            Elements::Eq256 => Cost::from_milliweight(431),
-            Elements::Eq32 => Cost::from_milliweight(233),
-            Elements::Eq64 => Cost::from_milliweight(202),
-            Elements::Eq8 => Cost::from_milliweight(120),
-            Elements::FeAdd => Cost::from_milliweight(908),
-            Elements::FeInvert => Cost::from_milliweight(3375),
-            Elements::FeIsOdd => Cost::from_milliweight(544),
-            Elements::FeIsZero => Cost::from_milliweight(521),
-            Elements::FeMultiply => Cost::from_milliweight(975),
-            Elements::FeMultiplyBeta => Cost::from_milliweight(824),
-            Elements::FeNegate => Cost::from_milliweight(846),
-            Elements::FeNormalize => Cost::from_milliweight(813),
-            Elements::FeSquare => Cost::from_milliweight(829),
-            Elements::FeSquareRoot => Cost::from_milliweight(10698),
-            Elements::FullAdd16 => Cost::from_milliweight(193),
-            Elements::FullAdd32 => Cost::from_milliweight(197),
-            Elements::FullAdd64 => Cost::from_milliweight(225),
-            Elements::FullAdd8 => Cost::from_milliweight(190),
-            Elements::FullDecrement16 => Cost::from_milliweight(107),
-            Elements::FullDecrement32 => Cost::from_milliweight(153),
-            Elements::FullDecrement64 => Cost::from_milliweight(151),
-            Elements::FullDecrement8 => Cost::from_milliweight(218),
-            Elements::FullIncrement16 => Cost::from_milliweight(108),
-            Elements::FullIncrement32 => Cost::from_milliweight(171),
-            Elements::FullIncrement64 => Cost::from_milliweight(161),
-            Elements::FullIncrement8 => Cost::from_milliweight(204),
-            Elements::FullLeftShift16_1 => Cost::from_milliweight(150),
-            Elements::FullLeftShift16_2 => Cost::from_milliweight(150),
-            Elements::FullLeftShift16_4 => Cost::from_milliweight(150),
-            Elements::FullLeftShift16_8 => Cost::from_milliweight(150),
-            Elements::FullLeftShift32_1 => Cost::from_milliweight(150),
-            Elements::FullLeftShift32_16 => Cost::from_milliweight(150),
-            Elements::FullLeftShift32_2 => Cost::from_milliweight(150),
-            Elements::FullLeftShift32_4 => Cost::from_milliweight(150),
-            Elements::FullLeftShift32_8 => Cost::from_milliweight(150),
-            Elements::FullLeftShift64_1 => Cost::from_milliweight(150),
-            Elements::FullLeftShift64_16 => Cost::from_milliweight(150),
-            Elements::FullLeftShift64_2 => Cost::from_milliweight(150),
-            Elements::FullLeftShift64_32 => Cost::from_milliweight(150),
-            Elements::FullLeftShift64_4 => Cost::from_milliweight(150),
-            Elements::FullLeftShift64_8 => Cost::from_milliweight(150),
-            Elements::FullLeftShift8_1 => Cost::from_milliweight(150),
-            Elements::FullLeftShift8_2 => Cost::from_milliweight(150),
-            Elements::FullLeftShift8_4 => Cost::from_milliweight(150),
-            Elements::FullMultiply16 => Cost::from_milliweight(208),
-            Elements::FullMultiply32 => Cost::from_milliweight(213),
-            Elements::FullMultiply64 => Cost::from_milliweight(209),
-            Elements::FullMultiply8 => Cost::from_milliweight(190),
-            Elements::FullRightShift16_1 => Cost::from_milliweight(150),
-            Elements::FullRightShift16_2 => Cost::from_milliweight(150),
-            Elements::FullRightShift16_4 => Cost::from_milliweight(150),
-            Elements::FullRightShift16_8 => Cost::from_milliweight(150),
-            Elements::FullRightShift32_1 => Cost::from_milliweight(150),
-            Elements::FullRightShift32_16 => Cost::from_milliweight(150),
-            Elements::FullRightShift32_2 => Cost::from_milliweight(150),
-            Elements::FullRightShift32_4 => Cost::from_milliweight(150),
-            Elements::FullRightShift32_8 => Cost::from_milliweight(150),
-            Elements::FullRightShift64_1 => Cost::from_milliweight(150),
-            Elements::FullRightShift64_16 => Cost::from_milliweight(150),
-            Elements::FullRightShift64_2 => Cost::from_milliweight(150),
-            Elements::FullRightShift64_32 => Cost::from_milliweight(150),
-            Elements::FullRightShift64_4 => Cost::from_milliweight(150),
-            Elements::FullRightShift64_8 => Cost::from_milliweight(150),
-            Elements::FullRightShift8_1 => Cost::from_milliweight(150),
-            Elements::FullRightShift8_2 => Cost::from_milliweight(150),
-            Elements::FullRightShift8_4 => Cost::from_milliweight(150),
-            Elements::FullSubtract16 => Cost::from_milliweight(201),
-            Elements::FullSubtract32 => Cost::from_milliweight(170),
-            Elements::FullSubtract64 => Cost::from_milliweight(231),
-            Elements::FullSubtract8 => Cost::from_milliweight(141),
-            Elements::GeIsOnCurve => Cost::from_milliweight(763),
-            Elements::GeNegate => Cost::from_milliweight(1278),
-            Elements::GejAdd => Cost::from_milliweight(3292),
-            Elements::GejDouble => Cost::from_milliweight(2103),
-            Elements::GejEquiv => Cost::from_milliweight(1270),
-            Elements::GejGeAdd => Cost::from_milliweight(2890),
-            Elements::GejGeAddEx => Cost::from_milliweight(3114),
-            Elements::GejGeEquiv => Cost::from_milliweight(1270),
-            Elements::GejInfinity => Cost::from_milliweight(971),
-            Elements::GejIsInfinity => Cost::from_milliweight(923),
-            Elements::GejIsOnCurve => Cost::from_milliweight(1106),
-            Elements::GejNegate => Cost::from_milliweight(1823),
-            Elements::GejNormalize => Cost::from_milliweight(4337),
-            Elements::GejRescale => Cost::from_milliweight(2315),
-            Elements::GejXEquiv => Cost::from_milliweight(1270),
-            Elements::GejYIsOdd => Cost::from_milliweight(3665),
-            Elements::Generate => Cost::from_milliweight(51706),
-            Elements::GenesisBlockHash => Cost::from_milliweight(395),
-            Elements::HashToCurve => Cost::from_milliweight(10956),
-            Elements::High1 => Cost::from_milliweight(169),
-            Elements::High16 => Cost::from_milliweight(159),
-            Elements::High32 => Cost::from_milliweight(121),
-            Elements::High64 => Cost::from_milliweight(110),
-            Elements::High8 => Cost::from_milliweight(169),
-            Elements::Increment16 => Cost::from_milliweight(129),
-            Elements::Increment32 => Cost::from_milliweight(195),
-            Elements::Increment64 => Cost::from_milliweight(187),
-            Elements::Increment8 => Cost::from_milliweight(155),
-            Elements::InputAmount => Cost::from_milliweight(359),
-            Elements::InputAmountsHash => Cost::from_milliweight(280),
-            Elements::InputAnnexHash => Cost::from_milliweight(122),
-            Elements::InputAnnexesHash => Cost::from_milliweight(290),
-            Elements::InputAsset => Cost::from_milliweight(220),
-            Elements::InputHash => Cost::from_milliweight(289),
-            Elements::InputOutpointsHash => Cost::from_milliweight(408),
-            Elements::InputPegin => Cost::from_milliweight(235),
-            Elements::InputPrevOutpoint => Cost::from_milliweight(326),
-            Elements::InputScriptHash => Cost::from_milliweight(285),
-            Elements::InputScriptSigHash => Cost::from_milliweight(231),
-            Elements::InputScriptSigsHash => Cost::from_milliweight(283),
-            Elements::InputScriptsHash => Cost::from_milliweight(280),
-            Elements::InputSequence => Cost::from_milliweight(144),
-            Elements::InputSequencesHash => Cost::from_milliweight(292),
-            Elements::InputUtxoHash => Cost::from_milliweight(409),
-            Elements::InputUtxosHash => Cost::from_milliweight(409),
-            Elements::InputsHash => Cost::from_milliweight(289),
-            Elements::InternalKey => Cost::from_milliweight(272),
-            Elements::IsOne16 => Cost::from_milliweight(117),
-            Elements::IsOne32 => Cost::from_milliweight(136),
-            Elements::IsOne64 => Cost::from_milliweight(163),
-            Elements::IsOne8 => Cost::from_milliweight(160),
-            Elements::IsZero16 => Cost::from_milliweight(143),
-            Elements::IsZero32 => Cost::from_milliweight(135),
-            Elements::IsZero64 => Cost::from_milliweight(136),
-            Elements::IsZero8 => Cost::from_milliweight(163),
-            Elements::Issuance => Cost::from_milliweight(116),
-            Elements::IssuanceAsset => Cost::from_milliweight(241),
-            Elements::IssuanceAssetAmount => Cost::from_milliweight(261),
-            Elements::IssuanceAssetAmountsHash => Cost::from_milliweight(276),
-            Elements::IssuanceAssetProof => Cost::from_milliweight(229),
-            Elements::IssuanceBlindingEntropyHash => Cost::from_milliweight(278),
-            Elements::IssuanceEntropy => Cost::from_milliweight(437),
-            Elements::IssuanceHash => Cost::from_milliweight(281),
-            Elements::IssuanceRangeProofsHash => Cost::from_milliweight(280),
-            Elements::IssuanceToken => Cost::from_milliweight(253),
-            Elements::IssuanceTokenAmount => Cost::from_milliweight(240),
-            Elements::IssuanceTokenAmountsHash => Cost::from_milliweight(289),
-            Elements::IssuanceTokenProof => Cost::from_milliweight(233),
-            Elements::IssuancesHash => Cost::from_milliweight(281),
-            Elements::LbtcAsset => Cost::from_milliweight(3065),
-            Elements::Le16 => Cost::from_milliweight(166),
-            Elements::Le32 => Cost::from_milliweight(216),
-            Elements::Le64 => Cost::from_milliweight(173),
-            Elements::Le8 => Cost::from_milliweight(143),
-            Elements::LeftExtend16_32 => Cost::from_milliweight(150),
-            Elements::LeftExtend16_64 => Cost::from_milliweight(150),
-            Elements::LeftExtend1_16 => Cost::from_milliweight(150),
-            Elements::LeftExtend1_32 => Cost::from_milliweight(150),
-            Elements::LeftExtend1_64 => Cost::from_milliweight(150),
-            Elements::LeftExtend1_8 => Cost::from_milliweight(150),
-            Elements::LeftExtend32_64 => Cost::from_milliweight(150),
-            Elements::LeftExtend8_16 => Cost::from_milliweight(150),
-            Elements::LeftExtend8_32 => Cost::from_milliweight(150),
-            Elements::LeftExtend8_64 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh16_32 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh16_64 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh1_16 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh1_32 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh1_64 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh1_8 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh32_64 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh8_16 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh8_32 => Cost::from_milliweight(150),
-            Elements::LeftPadHigh8_64 => Cost::from_milliweight(150),
-            Elements::LeftPadLow16_32 => Cost::from_milliweight(150),
-            Elements::LeftPadLow16_64 => Cost::from_milliweight(150),
-            Elements::LeftPadLow1_16 => Cost::from_milliweight(150),
-            Elements::LeftPadLow1_32 => Cost::from_milliweight(150),
-            Elements::LeftPadLow1_64 => Cost::from_milliweight(150),
-            Elements::LeftPadLow1_8 => Cost::from_milliweight(150),
-            Elements::LeftPadLow32_64 => Cost::from_milliweight(150),
-            Elements::LeftPadLow8_16 => Cost::from_milliweight(150),
-            Elements::LeftPadLow8_32 => Cost::from_milliweight(150),
-            Elements::LeftPadLow8_64 => Cost::from_milliweight(150),
-            Elements::LeftRotate16 => Cost::from_milliweight(150),
-            Elements::LeftRotate32 => Cost::from_milliweight(150),
-            Elements::LeftRotate64 => Cost::from_milliweight(150),
-            Elements::LeftRotate8 => Cost::from_milliweight(150),
-            Elements::LeftShift16 => Cost::from_milliweight(150),
-            Elements::LeftShift32 => Cost::from_milliweight(150),
-            Elements::LeftShift64 => Cost::from_milliweight(150),
-            Elements::LeftShift8 => Cost::from_milliweight(150),
-            Elements::LeftShiftWith16 => Cost::from_milliweight(150),
-            Elements::LeftShiftWith32 => Cost::from_milliweight(150),
-            Elements::LeftShiftWith64 => Cost::from_milliweight(150),
-            Elements::LeftShiftWith8 => Cost::from_milliweight(150),
-            Elements::Leftmost16_1 => Cost::from_milliweight(150),
-            Elements::Leftmost16_2 => Cost::from_milliweight(150),
-            Elements::Leftmost16_4 => Cost::from_milliweight(150),
-            Elements::Leftmost16_8 => Cost::from_milliweight(150),
-            Elements::Leftmost32_1 => Cost::from_milliweight(150),
-            Elements::Leftmost32_16 => Cost::from_milliweight(150),
-            Elements::Leftmost32_2 => Cost::from_milliweight(150),
-            Elements::Leftmost32_4 => Cost::from_milliweight(150),
-            Elements::Leftmost32_8 => Cost::from_milliweight(150),
-            Elements::Leftmost64_1 => Cost::from_milliweight(150),
-            Elements::Leftmost64_16 => Cost::from_milliweight(150),
-            Elements::Leftmost64_2 => Cost::from_milliweight(150),
-            Elements::Leftmost64_32 => Cost::from_milliweight(150),
-            Elements::Leftmost64_4 => Cost::from_milliweight(150),
-            Elements::Leftmost64_8 => Cost::from_milliweight(150),
-            Elements::Leftmost8_1 => Cost::from_milliweight(150),
-            Elements::Leftmost8_2 => Cost::from_milliweight(150),
-            Elements::Leftmost8_4 => Cost::from_milliweight(150),
-            Elements::LinearCombination1 => Cost::from_milliweight(86722),
-            Elements::LinearVerify1 => Cost::from_milliweight(43063),
-            Elements::LockTime => Cost::from_milliweight(132),
-            Elements::Low1 => Cost::from_milliweight(173),
-            Elements::Low16 => Cost::from_milliweight(172),
-            Elements::Low32 => Cost::from_milliweight(170),
-            Elements::Low64 => Cost::from_milliweight(162),
-            Elements::Low8 => Cost::from_milliweight(173),
-            Elements::Lt16 => Cost::from_milliweight(188),
-            Elements::Lt32 => Cost::from_milliweight(215),
-            Elements::Lt64 => Cost::from_milliweight(195),
-            Elements::Lt8 => Cost::from_milliweight(130),
-            Elements::Maj1 => Cost::from_milliweight(241),
-            Elements::Maj16 => Cost::from_milliweight(273),
-            Elements::Maj32 => Cost::from_milliweight(289),
-            Elements::Maj64 => Cost::from_milliweight(293),
-            Elements::Maj8 => Cost::from_milliweight(241),
-            Elements::Max16 => Cost::from_milliweight(164),
-            Elements::Max32 => Cost::from_milliweight(162),
-            Elements::Max64 => Cost::from_milliweight(193),
-            Elements::Max8 => Cost::from_milliweight(142),
-            Elements::Median16 => Cost::from_milliweight(270),
-            Elements::Median32 => Cost::from_milliweight(256),
-            Elements::Median64 => Cost::from_milliweight(336),
-            Elements::Median8 => Cost::from_milliweight(256),
-            Elements::Min16 => Cost::from_milliweight(164),
-            Elements::Min32 => Cost::from_milliweight(181),
-            Elements::Min64 => Cost::from_milliweight(150),
-            Elements::Min8 => Cost::from_milliweight(135),
-            Elements::Modulo16 => Cost::from_milliweight(188),
-            Elements::Modulo32 => Cost::from_milliweight(207),
-            Elements::Modulo64 => Cost::from_milliweight(191),
-            Elements::Modulo8 => Cost::from_milliweight(158),
-            Elements::Multiply16 => Cost::from_milliweight(154),
-            Elements::Multiply32 => Cost::from_milliweight(165),
-            Elements::Multiply64 => Cost::from_milliweight(185),
-            Elements::Multiply8 => Cost::from_milliweight(126),
-            Elements::Negate16 => Cost::from_milliweight(121),
-            Elements::Negate32 => Cost::from_milliweight(185),
-            Elements::Negate64 => Cost::from_milliweight(162),
-            Elements::Negate8 => Cost::from_milliweight(152),
-            Elements::NewIssuanceContract => Cost::from_milliweight(214),
-            Elements::NonceHash => Cost::from_milliweight(2727),
-            Elements::NumInputs => Cost::from_milliweight(139),
-            Elements::NumOutputs => Cost::from_milliweight(134),
-            Elements::One16 => Cost::from_milliweight(126),
-            Elements::One32 => Cost::from_milliweight(122),
-            Elements::One64 => Cost::from_milliweight(123),
-            Elements::One8 => Cost::from_milliweight(127),
-            Elements::Or1 => Cost::from_milliweight(147),
-            Elements::Or16 => Cost::from_milliweight(204),
-            Elements::Or32 => Cost::from_milliweight(197),
-            Elements::Or64 => Cost::from_milliweight(214),
-            Elements::Or8 => Cost::from_milliweight(147),
-            Elements::OutpointHash => Cost::from_milliweight(5256),
-            Elements::OutputAmount => Cost::from_milliweight(709),
-            Elements::OutputAmountsHash => Cost::from_milliweight(404),
-            Elements::OutputAsset => Cost::from_milliweight(621),
-            Elements::OutputHash => Cost::from_milliweight(296),
-            Elements::OutputIsFee => Cost::from_milliweight(270),
-            Elements::OutputNonce => Cost::from_milliweight(396),
-            Elements::OutputNoncesHash => Cost::from_milliweight(387),
-            Elements::OutputNullDatum => Cost::from_milliweight(249),
-            Elements::OutputRangeProof => Cost::from_milliweight(452),
-            Elements::OutputRangeProofsHash => Cost::from_milliweight(397),
-            Elements::OutputScriptHash => Cost::from_milliweight(437),
-            Elements::OutputScriptsHash => Cost::from_milliweight(416),
-            Elements::OutputSurjectionProof => Cost::from_milliweight(453),
-            Elements::OutputSurjectionProofsHash => Cost::from_milliweight(419),
-            Elements::OutputsHash => Cost::from_milliweight(296),
-            Elements::ParseLock => Cost::from_milliweight(177),
-            Elements::ParseSequence => Cost::from_milliweight(261),
-            Elements::PointVerify1 => Cost::from_milliweight(50604),
-            Elements::ReissuanceBlinding => Cost::from_milliweight(153),
-            Elements::ReissuanceEntropy => Cost::from_milliweight(126),
-            Elements::RightExtend16_32 => Cost::from_milliweight(150),
-            Elements::RightExtend16_64 => Cost::from_milliweight(150),
-            Elements::RightExtend32_64 => Cost::from_milliweight(150),
-            Elements::RightExtend8_16 => Cost::from_milliweight(150),
-            Elements::RightExtend8_32 => Cost::from_milliweight(150),
-            Elements::RightExtend8_64 => Cost::from_milliweight(150),
-            Elements::RightPadHigh16_32 => Cost::from_milliweight(150),
-            Elements::RightPadHigh16_64 => Cost::from_milliweight(150),
-            Elements::RightPadHigh1_16 => Cost::from_milliweight(150),
-            Elements::RightPadHigh1_32 => Cost::from_milliweight(150),
-            Elements::RightPadHigh1_64 => Cost::from_milliweight(150),
-            Elements::RightPadHigh1_8 => Cost::from_milliweight(150),
-            Elements::RightPadHigh32_64 => Cost::from_milliweight(150),
-            Elements::RightPadHigh8_16 => Cost::from_milliweight(150),
-            Elements::RightPadHigh8_32 => Cost::from_milliweight(150),
-            Elements::RightPadHigh8_64 => Cost::from_milliweight(150),
-            Elements::RightPadLow16_32 => Cost::from_milliweight(150),
-            Elements::RightPadLow16_64 => Cost::from_milliweight(150),
-            Elements::RightPadLow1_16 => Cost::from_milliweight(150),
-            Elements::RightPadLow1_32 => Cost::from_milliweight(150),
-            Elements::RightPadLow1_64 => Cost::from_milliweight(150),
-            Elements::RightPadLow1_8 => Cost::from_milliweight(150),
-            Elements::RightPadLow32_64 => Cost::from_milliweight(150),
-            Elements::RightPadLow8_16 => Cost::from_milliweight(150),
-            Elements::RightPadLow8_32 => Cost::from_milliweight(150),
-            Elements::RightPadLow8_64 => Cost::from_milliweight(150),
-            Elements::RightRotate16 => Cost::from_milliweight(150),
-            Elements::RightRotate32 => Cost::from_milliweight(150),
-            Elements::RightRotate64 => Cost::from_milliweight(150),
-            Elements::RightRotate8 => Cost::from_milliweight(150),
-            Elements::RightShift16 => Cost::from_milliweight(150),
-            Elements::RightShift32 => Cost::from_milliweight(150),
-            Elements::RightShift64 => Cost::from_milliweight(150),
-            Elements::RightShift8 => Cost::from_milliweight(150),
-            Elements::RightShiftWith16 => Cost::from_milliweight(150),
-            Elements::RightShiftWith32 => Cost::from_milliweight(150),
-            Elements::RightShiftWith64 => Cost::from_milliweight(150),
-            Elements::RightShiftWith8 => Cost::from_milliweight(150),
-            Elements::Rightmost16_1 => Cost::from_milliweight(150),
-            Elements::Rightmost16_2 => Cost::from_milliweight(150),
-            Elements::Rightmost16_4 => Cost::from_milliweight(150),
-            Elements::Rightmost16_8 => Cost::from_milliweight(150),
-            Elements::Rightmost32_1 => Cost::from_milliweight(150),
-            Elements::Rightmost32_16 => Cost::from_milliweight(150),
-            Elements::Rightmost32_2 => Cost::from_milliweight(150),
-            Elements::Rightmost32_4 => Cost::from_milliweight(150),
-            Elements::Rightmost32_8 => Cost::from_milliweight(150),
-            Elements::Rightmost64_1 => Cost::from_milliweight(150),
-            Elements::Rightmost64_16 => Cost::from_milliweight(150),
-            Elements::Rightmost64_2 => Cost::from_milliweight(150),
-            Elements::Rightmost64_32 => Cost::from_milliweight(150),
-            Elements::Rightmost64_4 => Cost::from_milliweight(150),
-            Elements::Rightmost64_8 => Cost::from_milliweight(150),
-            Elements::Rightmost8_1 => Cost::from_milliweight(150),
-            Elements::Rightmost8_2 => Cost::from_milliweight(150),
-            Elements::Rightmost8_4 => Cost::from_milliweight(150),
-            Elements::ScalarAdd => Cost::from_milliweight(962),
-            Elements::ScalarInvert => Cost::from_milliweight(4025),
-            Elements::ScalarIsZero => Cost::from_milliweight(569),
-            Elements::ScalarMultiply => Cost::from_milliweight(1230),
-            Elements::ScalarMultiplyLambda => Cost::from_milliweight(984),
-            Elements::ScalarNegate => Cost::from_milliweight(851),
-            Elements::ScalarNormalize => Cost::from_milliweight(808),
-            Elements::ScalarSquare => Cost::from_milliweight(947),
-            Elements::Scale => Cost::from_milliweight(75377),
-            Elements::ScriptCMR => Cost::from_milliweight(281),
-            Elements::Sha256Block => Cost::from_milliweight(986),
-            Elements::Sha256Ctx8Add1 => Cost::from_milliweight(1600),
-            Elements::Sha256Ctx8Add128 => Cost::from_milliweight(3921),
-            Elements::Sha256Ctx8Add16 => Cost::from_milliweight(2275),
-            Elements::Sha256Ctx8Add2 => Cost::from_milliweight(3772),
-            Elements::Sha256Ctx8Add256 => Cost::from_milliweight(6211),
-            Elements::Sha256Ctx8Add32 => Cost::from_milliweight(4599),
-            Elements::Sha256Ctx8Add4 => Cost::from_milliweight(3515),
-            Elements::Sha256Ctx8Add512 => Cost::from_milliweight(10936),
-            Elements::Sha256Ctx8Add64 => Cost::from_milliweight(3111),
-            Elements::Sha256Ctx8Add8 => Cost::from_milliweight(1625),
-            Elements::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(14290),
-            Elements::Sha256Ctx8Finalize => Cost::from_milliweight(2111),
-            Elements::Sha256Ctx8Init => Cost::from_milliweight(184),
-            Elements::Sha256Iv => Cost::from_milliweight(129),
-            Elements::SigAllHash => Cost::from_milliweight(265),
-            Elements::Some1 => Cost::from_milliweight(104),
-            Elements::Some16 => Cost::from_milliweight(129),
-            Elements::Some32 => Cost::from_milliweight(183),
-            Elements::Some64 => Cost::from_milliweight(139),
-            Elements::Some8 => Cost::from_milliweight(104),
-            Elements::Subtract16 => Cost::from_milliweight(237),
-            Elements::Subtract32 => Cost::from_milliweight(186),
-            Elements::Subtract64 => Cost::from_milliweight(315),
-            Elements::Subtract8 => Cost::from_milliweight(149),
-            Elements::Swu => Cost::from_milliweight(10956),
-            Elements::TapEnvHash => Cost::from_milliweight(301),
-            Elements::TapleafHash => Cost::from_milliweight(279),
-            Elements::TapleafVersion => Cost::from_milliweight(141),
-            Elements::Tappath => Cost::from_milliweight(143),
-            Elements::TappathHash => Cost::from_milliweight(282),
-            Elements::TotalFee => Cost::from_milliweight(397),
-            Elements::TransactionId => Cost::from_milliweight(281),
-            Elements::TxHash => Cost::from_milliweight(290),
-            Elements::TxIsFinal => Cost::from_milliweight(128),
-            Elements::TxLockDistance => Cost::from_milliweight(133),
-            Elements::TxLockDuration => Cost::from_milliweight(146),
-            Elements::TxLockHeight => Cost::from_milliweight(132),
-            Elements::TxLockTime => Cost::from_milliweight(136),
-            Elements::Verify => Cost::from_milliweight(144),
-            Elements::Version => Cost::from_milliweight(188),
-            Elements::Xor1 => Cost::from_milliweight(135),
-            Elements::Xor16 => Cost::from_milliweight(188),
-            Elements::Xor32 => Cost::from_milliweight(204),
-            Elements::Xor64 => Cost::from_milliweight(207),
-            Elements::Xor8 => Cost::from_milliweight(135),
-            Elements::XorXor1 => Cost::from_milliweight(258),
-            Elements::XorXor16 => Cost::from_milliweight(235),
-            Elements::XorXor32 => Cost::from_milliweight(251),
-            Elements::XorXor64 => Cost::from_milliweight(285),
-            Elements::XorXor8 => Cost::from_milliweight(258),
+            Elements::Complement1 => Cost::from_milliweight(79),
+            Elements::Complement16 => Cost::from_milliweight(75),
+            Elements::Complement32 => Cost::from_milliweight(93),
+            Elements::Complement64 => Cost::from_milliweight(88),
+            Elements::Complement8 => Cost::from_milliweight(80),
+            Elements::CurrentAmount => Cost::from_milliweight(225),
+            Elements::CurrentAnnexHash => Cost::from_milliweight(79),
+            Elements::CurrentAsset => Cost::from_milliweight(171),
+            Elements::CurrentIndex => Cost::from_milliweight(88),
+            Elements::CurrentIssuanceAssetAmount => Cost::from_milliweight(165),
+            Elements::CurrentIssuanceAssetProof => Cost::from_milliweight(140),
+            Elements::CurrentIssuanceTokenAmount => Cost::from_milliweight(188),
+            Elements::CurrentIssuanceTokenProof => Cost::from_milliweight(144),
+            Elements::CurrentNewIssuanceContract => Cost::from_milliweight(145),
+            Elements::CurrentPegin => Cost::from_milliweight(147),
+            Elements::CurrentPrevOutpoint => Cost::from_milliweight(156),
+            Elements::CurrentReissuanceBlinding => Cost::from_milliweight(94),
+            Elements::CurrentReissuanceEntropy => Cost::from_milliweight(85),
+            Elements::CurrentScriptHash => Cost::from_milliweight(134),
+            Elements::CurrentScriptSigHash => Cost::from_milliweight(139),
+            Elements::CurrentSequence => Cost::from_milliweight(89),
+            Elements::Decompress => Cost::from_milliweight(10861),
+            Elements::Decrement16 => Cost::from_milliweight(85),
+            Elements::Decrement32 => Cost::from_milliweight(91),
+            Elements::Decrement64 => Cost::from_milliweight(89),
+            Elements::Decrement8 => Cost::from_milliweight(79),
+            Elements::DivMod128_64 => Cost::from_milliweight(208),
+            Elements::DivMod16 => Cost::from_milliweight(118),
+            Elements::DivMod32 => Cost::from_milliweight(115),
+            Elements::DivMod64 => Cost::from_milliweight(86),
+            Elements::DivMod8 => Cost::from_milliweight(128),
+            Elements::Divide16 => Cost::from_milliweight(98),
+            Elements::Divide32 => Cost::from_milliweight(100),
+            Elements::Divide64 => Cost::from_milliweight(101),
+            Elements::Divide8 => Cost::from_milliweight(108),
+            Elements::Divides16 => Cost::from_milliweight(93),
+            Elements::Divides32 => Cost::from_milliweight(87),
+            Elements::Divides64 => Cost::from_milliweight(91),
+            Elements::Divides8 => Cost::from_milliweight(98),
+            Elements::Eq1 => Cost::from_milliweight(74),
+            Elements::Eq16 => Cost::from_milliweight(84),
+            Elements::Eq256 => Cost::from_milliweight(225),
+            Elements::Eq32 => Cost::from_milliweight(88),
+            Elements::Eq64 => Cost::from_milliweight(100),
+            Elements::Eq8 => Cost::from_milliweight(95),
+            Elements::FeAdd => Cost::from_milliweight(755),
+            Elements::FeInvert => Cost::from_milliweight(3175),
+            Elements::FeIsOdd => Cost::from_milliweight(290),
+            Elements::FeIsZero => Cost::from_milliweight(268),
+            Elements::FeMultiply => Cost::from_milliweight(808),
+            Elements::FeMultiplyBeta => Cost::from_milliweight(579),
+            Elements::FeNegate => Cost::from_milliweight(531),
+            Elements::FeNormalize => Cost::from_milliweight(521),
+            Elements::FeSquare => Cost::from_milliweight(556),
+            Elements::FeSquareRoot => Cost::from_milliweight(10275),
+            Elements::FullAdd16 => Cost::from_milliweight(121),
+            Elements::FullAdd32 => Cost::from_milliweight(119),
+            Elements::FullAdd64 => Cost::from_milliweight(121),
+            Elements::FullAdd8 => Cost::from_milliweight(127),
+            Elements::FullDecrement16 => Cost::from_milliweight(92),
+            Elements::FullDecrement32 => Cost::from_milliweight(107),
+            Elements::FullDecrement64 => Cost::from_milliweight(81),
+            Elements::FullDecrement8 => Cost::from_milliweight(91),
+            Elements::FullIncrement16 => Cost::from_milliweight(89),
+            Elements::FullIncrement32 => Cost::from_milliweight(104),
+            Elements::FullIncrement64 => Cost::from_milliweight(99),
+            Elements::FullIncrement8 => Cost::from_milliweight(72),
+            Elements::FullLeftShift16_1 => Cost::from_milliweight(83),
+            Elements::FullLeftShift16_2 => Cost::from_milliweight(83),
+            Elements::FullLeftShift16_4 => Cost::from_milliweight(89),
+            Elements::FullLeftShift16_8 => Cost::from_milliweight(65),
+            Elements::FullLeftShift32_1 => Cost::from_milliweight(84),
+            Elements::FullLeftShift32_16 => Cost::from_milliweight(81),
+            Elements::FullLeftShift32_2 => Cost::from_milliweight(67),
+            Elements::FullLeftShift32_4 => Cost::from_milliweight(84),
+            Elements::FullLeftShift32_8 => Cost::from_milliweight(91),
+            Elements::FullLeftShift64_1 => Cost::from_milliweight(99),
+            Elements::FullLeftShift64_16 => Cost::from_milliweight(90),
+            Elements::FullLeftShift64_2 => Cost::from_milliweight(94),
+            Elements::FullLeftShift64_32 => Cost::from_milliweight(86),
+            Elements::FullLeftShift64_4 => Cost::from_milliweight(94),
+            Elements::FullLeftShift64_8 => Cost::from_milliweight(86),
+            Elements::FullLeftShift8_1 => Cost::from_milliweight(96),
+            Elements::FullLeftShift8_2 => Cost::from_milliweight(96),
+            Elements::FullLeftShift8_4 => Cost::from_milliweight(85),
+            Elements::FullMultiply16 => Cost::from_milliweight(112),
+            Elements::FullMultiply32 => Cost::from_milliweight(96),
+            Elements::FullMultiply64 => Cost::from_milliweight(127),
+            Elements::FullMultiply8 => Cost::from_milliweight(109),
+            Elements::FullRightShift16_1 => Cost::from_milliweight(80),
+            Elements::FullRightShift16_2 => Cost::from_milliweight(79),
+            Elements::FullRightShift16_4 => Cost::from_milliweight(88),
+            Elements::FullRightShift16_8 => Cost::from_milliweight(57),
+            Elements::FullRightShift32_1 => Cost::from_milliweight(74),
+            Elements::FullRightShift32_16 => Cost::from_milliweight(64),
+            Elements::FullRightShift32_2 => Cost::from_milliweight(63),
+            Elements::FullRightShift32_4 => Cost::from_milliweight(71),
+            Elements::FullRightShift32_8 => Cost::from_milliweight(84),
+            Elements::FullRightShift64_1 => Cost::from_milliweight(99),
+            Elements::FullRightShift64_16 => Cost::from_milliweight(86),
+            Elements::FullRightShift64_2 => Cost::from_milliweight(86),
+            Elements::FullRightShift64_32 => Cost::from_milliweight(73),
+            Elements::FullRightShift64_4 => Cost::from_milliweight(93),
+            Elements::FullRightShift64_8 => Cost::from_milliweight(99),
+            Elements::FullRightShift8_1 => Cost::from_milliweight(88),
+            Elements::FullRightShift8_2 => Cost::from_milliweight(86),
+            Elements::FullRightShift8_4 => Cost::from_milliweight(89),
+            Elements::FullSubtract16 => Cost::from_milliweight(121),
+            Elements::FullSubtract32 => Cost::from_milliweight(116),
+            Elements::FullSubtract64 => Cost::from_milliweight(98),
+            Elements::FullSubtract8 => Cost::from_milliweight(126),
+            Elements::GeIsOnCurve => Cost::from_milliweight(642),
+            Elements::GeNegate => Cost::from_milliweight(945),
+            Elements::GejAdd => Cost::from_milliweight(2897),
+            Elements::GejDouble => Cost::from_milliweight(1764),
+            Elements::GejEquiv => Cost::from_milliweight(2220),
+            Elements::GejGeAdd => Cost::from_milliweight(2477),
+            Elements::GejGeAddEx => Cost::from_milliweight(2719),
+            Elements::GejGeEquiv => Cost::from_milliweight(1765),
+            Elements::GejInfinity => Cost::from_milliweight(716),
+            Elements::GejIsInfinity => Cost::from_milliweight(666),
+            Elements::GejIsOnCurve => Cost::from_milliweight(1016),
+            Elements::GejNegate => Cost::from_milliweight(1381),
+            Elements::GejNormalize => Cost::from_milliweight(4099),
+            Elements::GejRescale => Cost::from_milliweight(1908),
+            Elements::GejXEquiv => Cost::from_milliweight(1047),
+            Elements::GejYIsOdd => Cost::from_milliweight(3651),
+            Elements::Generate => Cost::from_milliweight(50071),
+            Elements::GenesisBlockHash => Cost::from_milliweight(148),
+            Elements::HashToCurve => Cost::from_milliweight(68094),
+            Elements::High1 => Cost::from_milliweight(57),
+            Elements::High16 => Cost::from_milliweight(66),
+            Elements::High32 => Cost::from_milliweight(58),
+            Elements::High64 => Cost::from_milliweight(68),
+            Elements::High8 => Cost::from_milliweight(59),
+            Elements::Increment16 => Cost::from_milliweight(69),
+            Elements::Increment32 => Cost::from_milliweight(92),
+            Elements::Increment64 => Cost::from_milliweight(87),
+            Elements::Increment8 => Cost::from_milliweight(85),
+            Elements::InputAmount => Cost::from_milliweight(285),
+            Elements::InputAmountsHash => Cost::from_milliweight(140),
+            Elements::InputAnnexHash => Cost::from_milliweight(90),
+            Elements::InputAnnexesHash => Cost::from_milliweight(155),
+            Elements::InputAsset => Cost::from_milliweight(162),
+            Elements::InputHash => Cost::from_milliweight(965),
+            Elements::InputOutpointsHash => Cost::from_milliweight(142),
+            Elements::InputPegin => Cost::from_milliweight(151),
+            Elements::InputPrevOutpoint => Cost::from_milliweight(160),
+            Elements::InputScriptHash => Cost::from_milliweight(147),
+            Elements::InputScriptSigHash => Cost::from_milliweight(153),
+            Elements::InputScriptSigsHash => Cost::from_milliweight(138),
+            Elements::InputScriptsHash => Cost::from_milliweight(137),
+            Elements::InputSequence => Cost::from_milliweight(99),
+            Elements::InputSequencesHash => Cost::from_milliweight(142),
+            Elements::InputUtxoHash => Cost::from_milliweight(1996),
+            Elements::InputUtxosHash => Cost::from_milliweight(140),
+            Elements::InputsHash => Cost::from_milliweight(154),
+            Elements::InternalKey => Cost::from_milliweight(152),
+            Elements::IsOne16 => Cost::from_milliweight(82),
+            Elements::IsOne32 => Cost::from_milliweight(65),
+            Elements::IsOne64 => Cost::from_milliweight(83),
+            Elements::IsOne8 => Cost::from_milliweight(91),
+            Elements::IsZero16 => Cost::from_milliweight(75),
+            Elements::IsZero32 => Cost::from_milliweight(85),
+            Elements::IsZero64 => Cost::from_milliweight(80),
+            Elements::IsZero8 => Cost::from_milliweight(77),
+            Elements::Issuance => Cost::from_milliweight(91),
+            Elements::IssuanceAsset => Cost::from_milliweight(151),
+            Elements::IssuanceAssetAmount => Cost::from_milliweight(162),
+            Elements::IssuanceAssetAmountsHash => Cost::from_milliweight(139),
+            Elements::IssuanceAssetProof => Cost::from_milliweight(150),
+            Elements::IssuanceBlindingEntropyHash => Cost::from_milliweight(129),
+            Elements::IssuanceEntropy => Cost::from_milliweight(153),
+            Elements::IssuanceHash => Cost::from_milliweight(3738),
+            Elements::IssuanceRangeProofsHash => Cost::from_milliweight(129),
+            Elements::IssuanceToken => Cost::from_milliweight(149),
+            Elements::IssuanceTokenAmount => Cost::from_milliweight(196),
+            Elements::IssuanceTokenAmountsHash => Cost::from_milliweight(138),
+            Elements::IssuanceTokenProof => Cost::from_milliweight(150),
+            Elements::IssuancesHash => Cost::from_milliweight(141),
+            Elements::LbtcAsset => Cost::from_milliweight(145),
+            Elements::Le16 => Cost::from_milliweight(112),
+            Elements::Le32 => Cost::from_milliweight(93),
+            Elements::Le64 => Cost::from_milliweight(93),
+            Elements::Le8 => Cost::from_milliweight(109),
+            Elements::LeftExtend16_32 => Cost::from_milliweight(86),
+            Elements::LeftExtend16_64 => Cost::from_milliweight(89),
+            Elements::LeftExtend1_16 => Cost::from_milliweight(67),
+            Elements::LeftExtend1_32 => Cost::from_milliweight(60),
+            Elements::LeftExtend1_64 => Cost::from_milliweight(76),
+            Elements::LeftExtend1_8 => Cost::from_milliweight(65),
+            Elements::LeftExtend32_64 => Cost::from_milliweight(63),
+            Elements::LeftExtend8_16 => Cost::from_milliweight(88),
+            Elements::LeftExtend8_32 => Cost::from_milliweight(90),
+            Elements::LeftExtend8_64 => Cost::from_milliweight(107),
+            Elements::LeftPadHigh16_32 => Cost::from_milliweight(91),
+            Elements::LeftPadHigh16_64 => Cost::from_milliweight(110),
+            Elements::LeftPadHigh1_16 => Cost::from_milliweight(141),
+            Elements::LeftPadHigh1_32 => Cost::from_milliweight(263),
+            Elements::LeftPadHigh1_64 => Cost::from_milliweight(422),
+            Elements::LeftPadHigh1_8 => Cost::from_milliweight(99),
+            Elements::LeftPadHigh32_64 => Cost::from_milliweight(93),
+            Elements::LeftPadHigh8_16 => Cost::from_milliweight(88),
+            Elements::LeftPadHigh8_32 => Cost::from_milliweight(103),
+            Elements::LeftPadHigh8_64 => Cost::from_milliweight(136),
+            Elements::LeftPadLow16_32 => Cost::from_milliweight(69),
+            Elements::LeftPadLow16_64 => Cost::from_milliweight(106),
+            Elements::LeftPadLow1_16 => Cost::from_milliweight(65),
+            Elements::LeftPadLow1_32 => Cost::from_milliweight(63),
+            Elements::LeftPadLow1_64 => Cost::from_milliweight(61),
+            Elements::LeftPadLow1_8 => Cost::from_milliweight(56),
+            Elements::LeftPadLow32_64 => Cost::from_milliweight(91),
+            Elements::LeftPadLow8_16 => Cost::from_milliweight(66),
+            Elements::LeftPadLow8_32 => Cost::from_milliweight(61),
+            Elements::LeftPadLow8_64 => Cost::from_milliweight(112),
+            Elements::LeftRotate16 => Cost::from_milliweight(77),
+            Elements::LeftRotate32 => Cost::from_milliweight(106),
+            Elements::LeftRotate64 => Cost::from_milliweight(98),
+            Elements::LeftRotate8 => Cost::from_milliweight(88),
+            Elements::LeftShift16 => Cost::from_milliweight(72),
+            Elements::LeftShift32 => Cost::from_milliweight(78),
+            Elements::LeftShift64 => Cost::from_milliweight(82),
+            Elements::LeftShift8 => Cost::from_milliweight(91),
+            Elements::LeftShiftWith16 => Cost::from_milliweight(83),
+            Elements::LeftShiftWith32 => Cost::from_milliweight(95),
+            Elements::LeftShiftWith64 => Cost::from_milliweight(103),
+            Elements::LeftShiftWith8 => Cost::from_milliweight(107),
+            Elements::Leftmost16_1 => Cost::from_milliweight(93),
+            Elements::Leftmost16_2 => Cost::from_milliweight(90),
+            Elements::Leftmost16_4 => Cost::from_milliweight(75),
+            Elements::Leftmost16_8 => Cost::from_milliweight(71),
+            Elements::Leftmost32_1 => Cost::from_milliweight(77),
+            Elements::Leftmost32_16 => Cost::from_milliweight(102),
+            Elements::Leftmost32_2 => Cost::from_milliweight(66),
+            Elements::Leftmost32_4 => Cost::from_milliweight(52),
+            Elements::Leftmost32_8 => Cost::from_milliweight(103),
+            Elements::Leftmost64_1 => Cost::from_milliweight(78),
+            Elements::Leftmost64_16 => Cost::from_milliweight(88),
+            Elements::Leftmost64_2 => Cost::from_milliweight(71),
+            Elements::Leftmost64_32 => Cost::from_milliweight(90),
+            Elements::Leftmost64_4 => Cost::from_milliweight(79),
+            Elements::Leftmost64_8 => Cost::from_milliweight(86),
+            Elements::Leftmost8_1 => Cost::from_milliweight(90),
+            Elements::Leftmost8_2 => Cost::from_milliweight(90),
+            Elements::Leftmost8_4 => Cost::from_milliweight(87),
+            Elements::LinearCombination1 => Cost::from_milliweight(84674),
+            Elements::LinearVerify1 => Cost::from_milliweight(43364),
+            Elements::LockTime => Cost::from_milliweight(85),
+            Elements::Low1 => Cost::from_milliweight(38),
+            Elements::Low16 => Cost::from_milliweight(69),
+            Elements::Low32 => Cost::from_milliweight(62),
+            Elements::Low64 => Cost::from_milliweight(47),
+            Elements::Low8 => Cost::from_milliweight(47),
+            Elements::Lt16 => Cost::from_milliweight(123),
+            Elements::Lt32 => Cost::from_milliweight(107),
+            Elements::Lt64 => Cost::from_milliweight(76),
+            Elements::Lt8 => Cost::from_milliweight(107),
+            Elements::Maj1 => Cost::from_milliweight(62),
+            Elements::Maj16 => Cost::from_milliweight(80),
+            Elements::Maj32 => Cost::from_milliweight(96),
+            Elements::Maj64 => Cost::from_milliweight(93),
+            Elements::Maj8 => Cost::from_milliweight(94),
+            Elements::Max16 => Cost::from_milliweight(114),
+            Elements::Max32 => Cost::from_milliweight(92),
+            Elements::Max64 => Cost::from_milliweight(104),
+            Elements::Max8 => Cost::from_milliweight(96),
+            Elements::Median16 => Cost::from_milliweight(123),
+            Elements::Median32 => Cost::from_milliweight(101),
+            Elements::Median64 => Cost::from_milliweight(109),
+            Elements::Median8 => Cost::from_milliweight(122),
+            Elements::Min16 => Cost::from_milliweight(97),
+            Elements::Min32 => Cost::from_milliweight(113),
+            Elements::Min64 => Cost::from_milliweight(102),
+            Elements::Min8 => Cost::from_milliweight(99),
+            Elements::Modulo16 => Cost::from_milliweight(103),
+            Elements::Modulo32 => Cost::from_milliweight(102),
+            Elements::Modulo64 => Cost::from_milliweight(85),
+            Elements::Modulo8 => Cost::from_milliweight(102),
+            Elements::Multiply16 => Cost::from_milliweight(90),
+            Elements::Multiply32 => Cost::from_milliweight(90),
+            Elements::Multiply64 => Cost::from_milliweight(85),
+            Elements::Multiply8 => Cost::from_milliweight(93),
+            Elements::Negate16 => Cost::from_milliweight(70),
+            Elements::Negate32 => Cost::from_milliweight(85),
+            Elements::Negate64 => Cost::from_milliweight(94),
+            Elements::Negate8 => Cost::from_milliweight(91),
+            Elements::NewIssuanceContract => Cost::from_milliweight(157),
+            Elements::NonceHash => Cost::from_milliweight(317),
+            Elements::NumInputs => Cost::from_milliweight(86),
+            Elements::NumOutputs => Cost::from_milliweight(79),
+            Elements::One16 => Cost::from_milliweight(60),
+            Elements::One32 => Cost::from_milliweight(59),
+            Elements::One64 => Cost::from_milliweight(59),
+            Elements::One8 => Cost::from_milliweight(62),
+            Elements::Or1 => Cost::from_milliweight(77),
+            Elements::Or16 => Cost::from_milliweight(94),
+            Elements::Or32 => Cost::from_milliweight(105),
+            Elements::Or64 => Cost::from_milliweight(99),
+            Elements::Or8 => Cost::from_milliweight(93),
+            Elements::OutpointHash => Cost::from_milliweight(319),
+            Elements::OutputAmount => Cost::from_milliweight(298),
+            Elements::OutputAmountsHash => Cost::from_milliweight(140),
+            Elements::OutputAsset => Cost::from_milliweight(170),
+            Elements::OutputHash => Cost::from_milliweight(2849),
+            Elements::OutputIsFee => Cost::from_milliweight(92),
+            Elements::OutputNonce => Cost::from_milliweight(196),
+            Elements::OutputNoncesHash => Cost::from_milliweight(151),
+            Elements::OutputNullDatum => Cost::from_milliweight(87),
+            Elements::OutputRangeProof => Cost::from_milliweight(154),
+            Elements::OutputRangeProofsHash => Cost::from_milliweight(136),
+            Elements::OutputScriptHash => Cost::from_milliweight(151),
+            Elements::OutputScriptsHash => Cost::from_milliweight(142),
+            Elements::OutputSurjectionProof => Cost::from_milliweight(151),
+            Elements::OutputSurjectionProofsHash => Cost::from_milliweight(138),
+            Elements::OutputsHash => Cost::from_milliweight(135),
+            Elements::ParseLock => Cost::from_milliweight(97),
+            Elements::ParseSequence => Cost::from_milliweight(116),
+            Elements::PointVerify1 => Cost::from_milliweight(41494),
+            Elements::ReissuanceBlinding => Cost::from_milliweight(91),
+            Elements::ReissuanceEntropy => Cost::from_milliweight(93),
+            Elements::RightExtend16_32 => Cost::from_milliweight(74),
+            Elements::RightExtend16_64 => Cost::from_milliweight(82),
+            Elements::RightExtend32_64 => Cost::from_milliweight(94),
+            Elements::RightExtend8_16 => Cost::from_milliweight(76),
+            Elements::RightExtend8_32 => Cost::from_milliweight(106),
+            Elements::RightExtend8_64 => Cost::from_milliweight(124),
+            Elements::RightPadHigh16_32 => Cost::from_milliweight(70),
+            Elements::RightPadHigh16_64 => Cost::from_milliweight(88),
+            Elements::RightPadHigh1_16 => Cost::from_milliweight(143),
+            Elements::RightPadHigh1_32 => Cost::from_milliweight(223),
+            Elements::RightPadHigh1_64 => Cost::from_milliweight(476),
+            Elements::RightPadHigh1_8 => Cost::from_milliweight(107),
+            Elements::RightPadHigh32_64 => Cost::from_milliweight(94),
+            Elements::RightPadHigh8_16 => Cost::from_milliweight(89),
+            Elements::RightPadHigh8_32 => Cost::from_milliweight(110),
+            Elements::RightPadHigh8_64 => Cost::from_milliweight(107),
+            Elements::RightPadLow16_32 => Cost::from_milliweight(71),
+            Elements::RightPadLow16_64 => Cost::from_milliweight(96),
+            Elements::RightPadLow1_16 => Cost::from_milliweight(81),
+            Elements::RightPadLow1_32 => Cost::from_milliweight(75),
+            Elements::RightPadLow1_64 => Cost::from_milliweight(73),
+            Elements::RightPadLow1_8 => Cost::from_milliweight(68),
+            Elements::RightPadLow32_64 => Cost::from_milliweight(80),
+            Elements::RightPadLow8_16 => Cost::from_milliweight(75),
+            Elements::RightPadLow8_32 => Cost::from_milliweight(77),
+            Elements::RightPadLow8_64 => Cost::from_milliweight(82),
+            Elements::RightRotate16 => Cost::from_milliweight(99),
+            Elements::RightRotate32 => Cost::from_milliweight(92),
+            Elements::RightRotate64 => Cost::from_milliweight(93),
+            Elements::RightRotate8 => Cost::from_milliweight(75),
+            Elements::RightShift16 => Cost::from_milliweight(84),
+            Elements::RightShift32 => Cost::from_milliweight(88),
+            Elements::RightShift64 => Cost::from_milliweight(91),
+            Elements::RightShift8 => Cost::from_milliweight(88),
+            Elements::RightShiftWith16 => Cost::from_milliweight(105),
+            Elements::RightShiftWith32 => Cost::from_milliweight(92),
+            Elements::RightShiftWith64 => Cost::from_milliweight(97),
+            Elements::RightShiftWith8 => Cost::from_milliweight(103),
+            Elements::Rightmost16_1 => Cost::from_milliweight(70),
+            Elements::Rightmost16_2 => Cost::from_milliweight(82),
+            Elements::Rightmost16_4 => Cost::from_milliweight(76),
+            Elements::Rightmost16_8 => Cost::from_milliweight(69),
+            Elements::Rightmost32_1 => Cost::from_milliweight(90),
+            Elements::Rightmost32_16 => Cost::from_milliweight(64),
+            Elements::Rightmost32_2 => Cost::from_milliweight(74),
+            Elements::Rightmost32_4 => Cost::from_milliweight(92),
+            Elements::Rightmost32_8 => Cost::from_milliweight(78),
+            Elements::Rightmost64_1 => Cost::from_milliweight(77),
+            Elements::Rightmost64_16 => Cost::from_milliweight(86),
+            Elements::Rightmost64_2 => Cost::from_milliweight(74),
+            Elements::Rightmost64_32 => Cost::from_milliweight(76),
+            Elements::Rightmost64_4 => Cost::from_milliweight(70),
+            Elements::Rightmost64_8 => Cost::from_milliweight(69),
+            Elements::Rightmost8_1 => Cost::from_milliweight(79),
+            Elements::Rightmost8_2 => Cost::from_milliweight(98),
+            Elements::Rightmost8_4 => Cost::from_milliweight(98),
+            Elements::ScalarAdd => Cost::from_milliweight(739),
+            Elements::ScalarInvert => Cost::from_milliweight(3193),
+            Elements::ScalarIsZero => Cost::from_milliweight(271),
+            Elements::ScalarMultiply => Cost::from_milliweight(774),
+            Elements::ScalarMultiplyLambda => Cost::from_milliweight(557),
+            Elements::ScalarNegate => Cost::from_milliweight(490),
+            Elements::ScalarNormalize => Cost::from_milliweight(472),
+            Elements::ScalarSquare => Cost::from_milliweight(575),
+            Elements::Scale => Cost::from_milliweight(72675),
+            Elements::ScriptCMR => Cost::from_milliweight(136),
+            Elements::Sha256Block => Cost::from_milliweight(771),
+            Elements::Sha256Ctx8Add1 => Cost::from_milliweight(642),
+            Elements::Sha256Ctx8Add128 => Cost::from_milliweight(1779),
+            Elements::Sha256Ctx8Add16 => Cost::from_milliweight(747),
+            Elements::Sha256Ctx8Add2 => Cost::from_milliweight(661),
+            Elements::Sha256Ctx8Add256 => Cost::from_milliweight(2912),
+            Elements::Sha256Ctx8Add32 => Cost::from_milliweight(896),
+            Elements::Sha256Ctx8Add4 => Cost::from_milliweight(645),
+            Elements::Sha256Ctx8Add512 => Cost::from_milliweight(5299),
+            Elements::Sha256Ctx8Add64 => Cost::from_milliweight(1187),
+            Elements::Sha256Ctx8Add8 => Cost::from_milliweight(674),
+            Elements::Sha256Ctx8AddBuffer511 => Cost::from_milliweight(5060),
+            Elements::Sha256Ctx8Finalize => Cost::from_milliweight(835),
+            Elements::Sha256Ctx8Init => Cost::from_milliweight(118),
+            Elements::Sha256Iv => Cost::from_milliweight(93),
+            Elements::SigAllHash => Cost::from_milliweight(133),
+            Elements::Some1 => Cost::from_milliweight(70),
+            Elements::Some16 => Cost::from_milliweight(63),
+            Elements::Some32 => Cost::from_milliweight(64),
+            Elements::Some64 => Cost::from_milliweight(93),
+            Elements::Some8 => Cost::from_milliweight(75),
+            Elements::Subtract16 => Cost::from_milliweight(113),
+            Elements::Subtract32 => Cost::from_milliweight(118),
+            Elements::Subtract64 => Cost::from_milliweight(115),
+            Elements::Subtract8 => Cost::from_milliweight(109),
+            Elements::Swu => Cost::from_milliweight(32120),
+            Elements::TapEnvHash => Cost::from_milliweight(162),
+            Elements::TapleafHash => Cost::from_milliweight(136),
+            Elements::TapleafVersion => Cost::from_milliweight(105),
+            Elements::Tappath => Cost::from_milliweight(83),
+            Elements::TappathHash => Cost::from_milliweight(143),
+            Elements::TotalFee => Cost::from_milliweight(230),
+            Elements::TransactionId => Cost::from_milliweight(139),
+            Elements::TxHash => Cost::from_milliweight(143),
+            Elements::TxIsFinal => Cost::from_milliweight(71),
+            Elements::TxLockDistance => Cost::from_milliweight(91),
+            Elements::TxLockDuration => Cost::from_milliweight(84),
+            Elements::TxLockHeight => Cost::from_milliweight(80),
+            Elements::TxLockTime => Cost::from_milliweight(80),
+            Elements::Verify => Cost::from_milliweight(57),
+            Elements::Version => Cost::from_milliweight(93),
+            Elements::Xor1 => Cost::from_milliweight(67),
+            Elements::Xor16 => Cost::from_milliweight(83),
+            Elements::Xor32 => Cost::from_milliweight(92),
+            Elements::Xor64 => Cost::from_milliweight(95),
+            Elements::Xor8 => Cost::from_milliweight(85),
+            Elements::XorXor1 => Cost::from_milliweight(72),
+            Elements::XorXor16 => Cost::from_milliweight(79),
+            Elements::XorXor32 => Cost::from_milliweight(96),
+            Elements::XorXor64 => Cost::from_milliweight(93),
+            Elements::XorXor8 => Cost::from_milliweight(98),
         }
     }
 }
diff --git a/src/merkle/amr.rs b/src/merkle/amr.rs
index e6d349ae..03d0b86f 100644
--- a/src/merkle/amr.rs
+++ b/src/merkle/amr.rs
@@ -304,7 +304,7 @@ mod tests {
         #[rustfmt::skip]
         assert_eq!(
             &node.amr().unwrap().to_string(),
-            "f11c9481e71863a24453c3e213046499a03a9a0f993be3c48e9d1f405d97947c"
+            "22c0e36234190af6c8161e41f9e00013b243c89677691a62e79872fa03bfa677"
         );
     }
 
diff --git a/src/node/commit.rs b/src/node/commit.rs
index cd42aa31..26998c6f 100644
--- a/src/node/commit.rs
+++ b/src/node/commit.rs
@@ -499,7 +499,7 @@ mod tests {
                     0x00,
                 ],
                 // CMR not checked against C code, since C won't give us any data without witnesses
-                "4c8b47fde3d714dbbbce313dd1bf9fa09fd34e1487339de3904e3af98cef6ff9",
+                "5394be33b8ba4771ede97ada5d035266026e414b4b21053afb986081e84ee3ac",
             ),
             // Same program but with each `witness` replaced by `comp iden witness`.
             (
@@ -520,7 +520,7 @@ mod tests {
                     0xdc, 0x41, 0x18, 0x08,
                 ],
                 // CMR not checked against C code, since C won't give us any data without witnesses
-                "7e9a67dbd14bd06bed9a30e765ffb25e6ac0801ed4aabdde5ea91010b43d88c5",
+                "d7803c07d1803f525a6c6ea5bff8e46e58efeda1130bb6c1b7b6ed60ebd0504b",
             )
         ];
 
diff --git a/src/node/redeem.rs b/src/node/redeem.rs
index e2a689d0..ce63bf42 100644
--- a/src/node/redeem.rs
+++ b/src/node/redeem.rs
@@ -533,9 +533,9 @@ mod tests {
         assert_program_deserializable::<Core>(
             &[0xc9, 0xc4, 0x6d, 0xb8, 0x82, 0x30, 0x10],
             &[0xde, 0xad, 0xbe, 0xef],
-            "2d170e731b6d6856e69f3c6ee04b368302f7f71b2270a26276d98ea494bbebd7",
-            "9bdb88f9a9ef64d5ec507af96e5b88ae3a8b09c042cb3c3563f982cafc572bae",
-            "71cdfd26a3f4dd865e2e92b526fc2083260c964c52dd9773aa52771f253b73e1",
+            "e398797db2b1c742dfa69a3925583e55e55a81a1e5150a0241a8d9e85e112475",
+            "78280372ee1d0e0aaf8b343030f3bbdb2f954b22f0c4f77f6f04dd8ec506fca6",
+            "ef660061d9d3bd87d208fb7ab82ed095141440fd00cc2b3fa7ddeb360769ab6b",
         );
     }
 
@@ -678,8 +678,8 @@ mod tests {
                 0x58, 0xe2, 0xbd, 0xe2, 0xcf, 0xa6, 0x45, 0xa8, 0x95, 0xc1, 0xb4, 0x5d, 0x68, 0xea, 0x24, 0xc0, 
             ],
             "e2a6e4a223c0da97ebbf5f401e2d622535c3ed538e70f344318e9e5e4c2e02af",
-            "dc52a75e2137c0e2c63c0e49e3a226441234f2bb99236eaeee6d87e5a45a71c7",
-            "b6b12e9cd674927fea216e24b81df0daf03aa7b15cc8f9110ce506232be08671",
+            "5cd9d4af96740d2f27ffd94649304923a20939ae42b02828fa7982457fac3c22",
+            "6f9dba991638478e2eec6388e51024410fd442264e8b212344aef802d8ff858b",
         );
     }
 
@@ -726,9 +726,9 @@ mod tests {
         assert_program_deserializable::<crate::jet::Elements>(
             &schnorr0,
             &schnorr0_wit,
-            "70a617f32098132fe01ad5ff6748d3b94f803f4d851dd5764d99437c1b8dd7e8",
-            "f9ab63b6ea2a9cc1df9cc1e1bc96c945b655ec843eb6967d4429a1a0c8519633",
-            "fd9423e5ca51d3efea27596b65a61792497a68351ee43f235e6edfc344cf4951",
+            "e3b25e13f91fcbf95407f126b3aed5b4543399cb9c3d426fe98a10f8d33ef6c3",
+            "9049bcda62ffe6b7146b91af7a4522adbb93f0cd50dd390d12b9fe12ae836c8c",
+            "6b18b11f6367528afbe1abaf41553ce68bb417da2dcdd2832964399148548ac7",
         );
     }
 }