_Z7to_charPKh:
   11|  11.8k|char *to_char(const uint8_t *x) {
   12|  11.8k|  return reinterpret_cast<char *>(const_cast<unsigned char *>(x));
   13|  11.8k|}
_Z11check_equalP9bignum_stP6mp_intm:
   22|  15.8k|void check_equal(BIGNUM *b, mp_int *m, size_t max_size) {
   23|  15.8k|  char *bnBc = BN_bn2hex(b);
   24|  15.8k|  char mpiMc[max_size];
   25|  15.8k|  mp_tohex(m, mpiMc);
  ------------------
  |  |  294|  15.8k|#define mp_tohex(M, S) mp_toradix((M), (S), 16)
  ------------------
   26|  15.8k|  std::string bnA(bnBc);
   27|  15.8k|  std::string mpiA(mpiMc);
   28|  15.8k|  OPENSSL_free(bnBc);
   29|       |  // We have to strip leading zeros from bignums, ignoring the sign.
   30|  15.8k|  if (bnA.at(0) != '-') {
  ------------------
  |  Branch (30:7): [True: 15.8k, False: 0]
  ------------------
   31|  15.8k|    bnA.erase(0, std::min(bnA.find_first_not_of('0'), bnA.size() - 1));
   32|  15.8k|  } else if (bnA.at(1) == '0') {
  ------------------
  |  Branch (32:14): [True: 0, False: 0]
  ------------------
   33|      0|    bnA.erase(1, std::min(bnA.find_first_not_of('0', 1) - 1, bnA.size() - 1));
   34|      0|  }
   35|       |
   36|  15.8k|  if (mpiA != bnA) {
  ------------------
  |  Branch (36:7): [True: 0, False: 15.8k]
  ------------------
   37|      0|    std::cout << "openssl: " << std::hex << bnA << std::endl;
   38|      0|    std::cout << "nss:     " << std::hex << mpiA << std::endl;
   39|      0|  }
   40|       |
   41|  15.8k|  assert(mpiA == bnA);
   42|  15.8k|}
_Z11parse_inputPKhmP9bignum_stS2_P6mp_intS4_:
   46|  3.97k|                 mp_int *a, mp_int *b) {
   47|       |  // Note that b might overlap a.
   48|  3.97k|  size_t len = (size_t)size / 2;
   49|  3.97k|  assert(mp_read_raw(a, to_char(data), len) == MP_OKAY);
   50|  3.97k|  assert(mp_read_raw(b, to_char(data) + len, len) == MP_OKAY);
   51|       |  // Force a positive sign.
   52|       |  // TODO: add tests for negatives.
   53|  3.97k|  MP_SIGN(a) = MP_ZPOS;
  ------------------
  |  |  144|  3.97k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
                MP_SIGN(a) = MP_ZPOS;
  ------------------
  |  |   37|  3.97k|#define MP_ZPOS 0
  ------------------
   54|  3.97k|  MP_SIGN(b) = MP_ZPOS;
  ------------------
  |  |  144|  3.97k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
                MP_SIGN(b) = MP_ZPOS;
  ------------------
  |  |   37|  3.97k|#define MP_ZPOS 0
  ------------------
   55|       |
   56|       |  // Skip the first byte as it's interpreted as sign by NSS.
   57|  3.97k|  assert(BN_bin2bn(data + 1, len - 1, A) != nullptr);
   58|  3.97k|  assert(BN_bin2bn(data + len + 1, len - 1, B) != nullptr);
   59|       |
   60|  3.97k|  check_equal(A, a, 2 * size + 1);
   61|  3.97k|  check_equal(B, b, 2 * size + 1);
   62|  3.97k|}
_Z11get_modulusPKhmP10bignum_ctx:
   80|  3.97k|                                         BN_CTX *ctx) {
   81|  3.97k|  BIGNUM *r1 = BN_CTX_get(ctx);
   82|  3.97k|  mp_int r2;
   83|  3.97k|  assert(mp_init(&r2) == MP_OKAY);
   84|       |
   85|  3.97k|  size_t len = static_cast<size_t>(size / 4);
   86|  3.97k|  if (len != 0) {
  ------------------
  |  Branch (86:7): [True: 3.94k, False: 23]
  ------------------
   87|  3.94k|    assert(mp_read_raw(&r2, to_char(data + len), len) == MP_OKAY);
   88|  3.94k|    MP_SIGN(&r2) = MP_ZPOS;
  ------------------
  |  |  144|  3.94k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
                  MP_SIGN(&r2) = MP_ZPOS;
  ------------------
  |  |   37|  3.94k|#define MP_ZPOS 0
  ------------------
   89|       |
   90|  3.94k|    assert(BN_bin2bn(data + len + 1, len - 1, r1) != nullptr);
   91|  3.94k|    check_equal(r1, &r2, 2 * len + 1);
   92|  3.94k|  }
   93|       |
   94|       |  // If we happen to get 0 for the modulus, take a random number.
   95|  3.97k|  if (mp_cmp_z(&r2) == 0 || len == 0) {
  ------------------
  |  Branch (95:7): [True: 596, False: 3.37k]
  |  Branch (95:29): [True: 0, False: 3.37k]
  ------------------
   96|    596|    mp_zero(&r2);
   97|    596|    BN_zero(r1);
   98|    596|    std::mt19937 rng(data[0]);
   99|    596|    std::uniform_int_distribution<mp_digit> dist(1, MP_DIGIT_MAX);
  ------------------
  |  |   74|    596|#define MP_DIGIT_MAX ULONG_MAX
  ------------------
  100|    596|    mp_digit x = dist(rng);
  101|    596|    mp_add_d(&r2, x, &r2);
  102|    596|    BN_add_word(r1, x);
  103|    596|  }
  104|       |
  105|  3.97k|  return std::make_tuple(r1, r2);
  106|  3.97k|}

LLVMFuzzerTestOneInput:
   12|  3.97k|extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
   13|       |  // We require at least size 3 to get two integers from Data.
   14|  3.97k|  if (size < 3) {
  ------------------
  |  Branch (14:7): [True: 2, False: 3.97k]
  ------------------
   15|      2|    return 0;
   16|      2|  }
   17|  19.8k|  INIT_FOUR_NUMBERS
  ------------------
  |  |   31|  3.97k|  mp_int a, b, c, r;                     \
  |  |   32|  3.97k|  mp_int *m1 = nullptr;                  \
  |  |   33|  3.97k|  BN_CTX *ctx = BN_CTX_new();            \
  |  |   34|  3.97k|  BN_CTX_start(ctx);                     \
  |  |   35|  3.97k|  BIGNUM *A = BN_CTX_get(ctx);           \
  |  |   36|  3.97k|  BIGNUM *B = BN_CTX_get(ctx);           \
  |  |   37|  3.97k|  BIGNUM *C = BN_CTX_get(ctx);           \
  |  |   38|  3.97k|  BIGNUM *R = BN_CTX_get(ctx);           \
  |  |   39|  3.97k|  assert(mp_init(&a) == MP_OKAY);        \
  |  |   40|  3.97k|  assert(mp_init(&b) == MP_OKAY);        \
  |  |   41|  3.97k|  assert(mp_init(&c) == MP_OKAY);        \
  |  |   42|  3.97k|  assert(mp_init(&r) == MP_OKAY);        \
  |  |   43|  3.97k|  size_t max_size = 2 * size + 1;        \
  |  |   44|  3.97k|  parse_input(data, size, A, B, &a, &b); \
  |  |   45|  3.97k|  do {                                   \
  |  |   46|  3.97k|    (void)(R);                           \
  |  |   47|  3.97k|  } while (0);
  |  |  ------------------
  |  |  |  Branch (47:12): [Folded - Ignored]
  |  |  ------------------
  ------------------
   18|       |
   19|  19.8k|  auto modulus = get_modulus(data, size, ctx);
   20|       |  // Compare with OpenSSL mul mod
   21|  19.8k|  m1 = &std::get<1>(modulus);
   22|  19.8k|  assert(mp_mulmod(&a, &b, m1, &c) == MP_OKAY);
   23|  3.97k|  (void)BN_mod_mul(C, A, B, std::get<0>(modulus), ctx);
   24|  3.97k|  check_equal(C, &c, max_size);
   25|       |
   26|  3.97k|  CLEANUP_AND_RETURN
  ------------------
  |  |   68|  3.97k|  mp_clear(&a);            \
  |  |   69|  3.97k|  mp_clear(&b);            \
  |  |   70|  3.97k|  mp_clear(&c);            \
  |  |   71|  3.97k|  mp_clear(&r);            \
  |  |   72|  3.97k|  if (m1) {                \
  |  |  ------------------
  |  |  |  Branch (72:7): [True: 3.97k, False: 0]
  |  |  ------------------
  |  |   73|  3.97k|    mp_clear(m1);          \
  |  |   74|  3.97k|  }                        \
  |  |   75|  3.97k|  BN_CTX_end(ctx);         \
  |  |   76|  3.97k|  BN_CTX_free(ctx);        \
  |  |   77|  3.97k|  return 0;
  ------------------
   27|  19.8k|}

s_mp_mul_comba_4:
  142|    175|{
  143|    175|    mp_digit c0, c1, c2, at[8];
  144|       |
  145|    175|    memcpy(at, A->dp, 4 * sizeof(mp_digit));
  146|    175|    memcpy(at + 4, B->dp, 4 * sizeof(mp_digit));
  147|    175|    COMBA_START;
  148|       |
  149|    175|    COMBA_CLEAR;
  ------------------
  |  |   37|    175|    c0 = c1 = c2 = 0;
  ------------------
  150|       |    /* 0 */
  151|    175|    MULADD(at[0], at[4]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  152|    175|    COMBA_STORE(C->dp[0]);
  ------------------
  |  |   67|    175|    x = c0;
  ------------------
  153|       |    /* 1 */
  154|    175|    COMBA_FORWARD;
  ------------------
  |  |   41|    175|    do {              \
  |  |   42|    175|        c0 = c1;      \
  |  |   43|    175|        c1 = c2;      \
  |  |   44|    175|        c2 = 0;       \
  |  |   45|    175|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  155|    175|    MULADD(at[0], at[5]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  156|    175|    MULADD(at[1], at[4]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  157|    175|    COMBA_STORE(C->dp[1]);
  ------------------
  |  |   67|    175|    x = c0;
  ------------------
  158|       |    /* 2 */
  159|    175|    COMBA_FORWARD;
  ------------------
  |  |   41|    175|    do {              \
  |  |   42|    175|        c0 = c1;      \
  |  |   43|    175|        c1 = c2;      \
  |  |   44|    175|        c2 = 0;       \
  |  |   45|    175|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  160|    175|    MULADD(at[0], at[6]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  161|    175|    MULADD(at[1], at[5]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  162|    175|    MULADD(at[2], at[4]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  163|    175|    COMBA_STORE(C->dp[2]);
  ------------------
  |  |   67|    175|    x = c0;
  ------------------
  164|       |    /* 3 */
  165|    175|    COMBA_FORWARD;
  ------------------
  |  |   41|    175|    do {              \
  |  |   42|    175|        c0 = c1;      \
  |  |   43|    175|        c1 = c2;      \
  |  |   44|    175|        c2 = 0;       \
  |  |   45|    175|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  166|    175|    MULADD(at[0], at[7]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  167|    175|    MULADD(at[1], at[6]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  168|    175|    MULADD(at[2], at[5]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  169|    175|    MULADD(at[3], at[4]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  170|    175|    COMBA_STORE(C->dp[3]);
  ------------------
  |  |   67|    175|    x = c0;
  ------------------
  171|       |    /* 4 */
  172|    175|    COMBA_FORWARD;
  ------------------
  |  |   41|    175|    do {              \
  |  |   42|    175|        c0 = c1;      \
  |  |   43|    175|        c1 = c2;      \
  |  |   44|    175|        c2 = 0;       \
  |  |   45|    175|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|    175|    MULADD(at[1], at[7]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  174|    175|    MULADD(at[2], at[6]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  175|    175|    MULADD(at[3], at[5]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  176|    175|    COMBA_STORE(C->dp[4]);
  ------------------
  |  |   67|    175|    x = c0;
  ------------------
  177|       |    /* 5 */
  178|    175|    COMBA_FORWARD;
  ------------------
  |  |   41|    175|    do {              \
  |  |   42|    175|        c0 = c1;      \
  |  |   43|    175|        c1 = c2;      \
  |  |   44|    175|        c2 = 0;       \
  |  |   45|    175|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|    175|    MULADD(at[2], at[7]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  180|    175|    MULADD(at[3], at[6]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  181|    175|    COMBA_STORE(C->dp[5]);
  ------------------
  |  |   67|    175|    x = c0;
  ------------------
  182|       |    /* 6 */
  183|    175|    COMBA_FORWARD;
  ------------------
  |  |   41|    175|    do {              \
  |  |   42|    175|        c0 = c1;      \
  |  |   43|    175|        c1 = c2;      \
  |  |   44|    175|        c2 = 0;       \
  |  |   45|    175|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  184|    175|    MULADD(at[3], at[7]);
  ------------------
  |  |   52|    175|    __asm__(                                        \
  |  |   53|    175|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    175|        "mulq  %7           \n\t"                   \
  |  |   55|    175|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    175|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    175|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    175|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    175|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    175|        : "%rax", "%rdx", "cc");
  ------------------
  185|    175|    COMBA_STORE(C->dp[6]);
  ------------------
  |  |   67|    175|    x = c0;
  ------------------
  186|    175|    COMBA_STORE2(C->dp[7]);
  ------------------
  |  |   70|    175|    x = c1;
  ------------------
  187|    175|    C->used = 8;
  188|    175|    C->sign = A->sign ^ B->sign;
  189|    175|    mp_clamp(C);
  ------------------
  |  |   26|    175|    {                                                    \
  |  |   27|    315|        while ((a)->used && (a)->dp[(a)->used - 1] == 0) \
  |  |  ------------------
  |  |  |  Branch (27:16): [True: 315, False: 0]
  |  |  |  Branch (27:29): [True: 140, False: 175]
  |  |  ------------------
  |  |   28|    175|            --((a)->used);                               \
  |  |   29|    175|        (a)->sign = (a)->used ? (a)->sign : ZPOS;        \
  |  |  ------------------
  |  |  |  |  321|      0|#define ZPOS MP_ZPOS
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    175|#define MP_ZPOS 0
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (29:21): [True: 175, False: 0]
  |  |  ------------------
  |  |   30|    175|    }
  ------------------
  190|    175|    COMBA_FINI;
  191|    175|}
s_mp_mul_comba_8:
  195|    157|{
  196|    157|    mp_digit c0, c1, c2, at[16];
  197|       |
  198|    157|    memcpy(at, A->dp, 8 * sizeof(mp_digit));
  199|    157|    memcpy(at + 8, B->dp, 8 * sizeof(mp_digit));
  200|    157|    COMBA_START;
  201|       |
  202|    157|    COMBA_CLEAR;
  ------------------
  |  |   37|    157|    c0 = c1 = c2 = 0;
  ------------------
  203|       |    /* 0 */
  204|    157|    MULADD(at[0], at[8]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  205|    157|    COMBA_STORE(C->dp[0]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  206|       |    /* 1 */
  207|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  208|    157|    MULADD(at[0], at[9]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  209|    157|    MULADD(at[1], at[8]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  210|    157|    COMBA_STORE(C->dp[1]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  211|       |    /* 2 */
  212|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  213|    157|    MULADD(at[0], at[10]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  214|    157|    MULADD(at[1], at[9]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  215|    157|    MULADD(at[2], at[8]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  216|    157|    COMBA_STORE(C->dp[2]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  217|       |    /* 3 */
  218|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  219|    157|    MULADD(at[0], at[11]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  220|    157|    MULADD(at[1], at[10]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  221|    157|    MULADD(at[2], at[9]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  222|    157|    MULADD(at[3], at[8]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  223|    157|    COMBA_STORE(C->dp[3]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  224|       |    /* 4 */
  225|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  226|    157|    MULADD(at[0], at[12]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  227|    157|    MULADD(at[1], at[11]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  228|    157|    MULADD(at[2], at[10]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  229|    157|    MULADD(at[3], at[9]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  230|    157|    MULADD(at[4], at[8]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  231|    157|    COMBA_STORE(C->dp[4]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  232|       |    /* 5 */
  233|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  234|    157|    MULADD(at[0], at[13]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  235|    157|    MULADD(at[1], at[12]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  236|    157|    MULADD(at[2], at[11]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  237|    157|    MULADD(at[3], at[10]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  238|    157|    MULADD(at[4], at[9]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  239|    157|    MULADD(at[5], at[8]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  240|    157|    COMBA_STORE(C->dp[5]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  241|       |    /* 6 */
  242|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  243|    157|    MULADD(at[0], at[14]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  244|    157|    MULADD(at[1], at[13]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  245|    157|    MULADD(at[2], at[12]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  246|    157|    MULADD(at[3], at[11]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  247|    157|    MULADD(at[4], at[10]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  248|    157|    MULADD(at[5], at[9]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  249|    157|    MULADD(at[6], at[8]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  250|    157|    COMBA_STORE(C->dp[6]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  251|       |    /* 7 */
  252|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  253|    157|    MULADD(at[0], at[15]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  254|    157|    MULADD(at[1], at[14]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  255|    157|    MULADD(at[2], at[13]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  256|    157|    MULADD(at[3], at[12]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  257|    157|    MULADD(at[4], at[11]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  258|    157|    MULADD(at[5], at[10]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  259|    157|    MULADD(at[6], at[9]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  260|    157|    MULADD(at[7], at[8]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  261|    157|    COMBA_STORE(C->dp[7]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  262|       |    /* 8 */
  263|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  264|    157|    MULADD(at[1], at[15]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  265|    157|    MULADD(at[2], at[14]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  266|    157|    MULADD(at[3], at[13]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  267|    157|    MULADD(at[4], at[12]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  268|    157|    MULADD(at[5], at[11]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  269|    157|    MULADD(at[6], at[10]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  270|    157|    MULADD(at[7], at[9]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  271|    157|    COMBA_STORE(C->dp[8]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  272|       |    /* 9 */
  273|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  274|    157|    MULADD(at[2], at[15]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  275|    157|    MULADD(at[3], at[14]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  276|    157|    MULADD(at[4], at[13]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  277|    157|    MULADD(at[5], at[12]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  278|    157|    MULADD(at[6], at[11]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  279|    157|    MULADD(at[7], at[10]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  280|    157|    COMBA_STORE(C->dp[9]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  281|       |    /* 10 */
  282|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  283|    157|    MULADD(at[3], at[15]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  284|    157|    MULADD(at[4], at[14]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  285|    157|    MULADD(at[5], at[13]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  286|    157|    MULADD(at[6], at[12]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  287|    157|    MULADD(at[7], at[11]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  288|    157|    COMBA_STORE(C->dp[10]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  289|       |    /* 11 */
  290|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  291|    157|    MULADD(at[4], at[15]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  292|    157|    MULADD(at[5], at[14]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  293|    157|    MULADD(at[6], at[13]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  294|    157|    MULADD(at[7], at[12]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  295|    157|    COMBA_STORE(C->dp[11]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  296|       |    /* 12 */
  297|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  298|    157|    MULADD(at[5], at[15]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  299|    157|    MULADD(at[6], at[14]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  300|    157|    MULADD(at[7], at[13]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  301|    157|    COMBA_STORE(C->dp[12]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  302|       |    /* 13 */
  303|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  304|    157|    MULADD(at[6], at[15]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  305|    157|    MULADD(at[7], at[14]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  306|    157|    COMBA_STORE(C->dp[13]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  307|       |    /* 14 */
  308|    157|    COMBA_FORWARD;
  ------------------
  |  |   41|    157|    do {              \
  |  |   42|    157|        c0 = c1;      \
  |  |   43|    157|        c1 = c2;      \
  |  |   44|    157|        c2 = 0;       \
  |  |   45|    157|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  309|    157|    MULADD(at[7], at[15]);
  ------------------
  |  |   52|    157|    __asm__(                                        \
  |  |   53|    157|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    157|        "mulq  %7           \n\t"                   \
  |  |   55|    157|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    157|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    157|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    157|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    157|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    157|        : "%rax", "%rdx", "cc");
  ------------------
  310|    157|    COMBA_STORE(C->dp[14]);
  ------------------
  |  |   67|    157|    x = c0;
  ------------------
  311|    157|    COMBA_STORE2(C->dp[15]);
  ------------------
  |  |   70|    157|    x = c1;
  ------------------
  312|    157|    C->used = 16;
  313|    157|    C->sign = A->sign ^ B->sign;
  314|    157|    mp_clamp(C);
  ------------------
  |  |   26|    157|    {                                                    \
  |  |   27|    289|        while ((a)->used && (a)->dp[(a)->used - 1] == 0) \
  |  |  ------------------
  |  |  |  Branch (27:16): [True: 289, False: 0]
  |  |  |  Branch (27:29): [True: 132, False: 157]
  |  |  ------------------
  |  |   28|    157|            --((a)->used);                               \
  |  |   29|    157|        (a)->sign = (a)->used ? (a)->sign : ZPOS;        \
  |  |  ------------------
  |  |  |  |  321|      0|#define ZPOS MP_ZPOS
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    157|#define MP_ZPOS 0
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (29:21): [True: 157, False: 0]
  |  |  ------------------
  |  |   30|    157|    }
  ------------------
  315|    157|    COMBA_FINI;
  316|    157|}
s_mp_mul_comba_16:
  320|    124|{
  321|    124|    mp_digit c0, c1, c2, at[32];
  322|       |
  323|    124|    memcpy(at, A->dp, 16 * sizeof(mp_digit));
  324|    124|    memcpy(at + 16, B->dp, 16 * sizeof(mp_digit));
  325|    124|    COMBA_START;
  326|       |
  327|    124|    COMBA_CLEAR;
  ------------------
  |  |   37|    124|    c0 = c1 = c2 = 0;
  ------------------
  328|       |    /* 0 */
  329|    124|    MULADD(at[0], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  330|    124|    COMBA_STORE(C->dp[0]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  331|       |    /* 1 */
  332|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  333|    124|    MULADD(at[0], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  334|    124|    MULADD(at[1], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  335|    124|    COMBA_STORE(C->dp[1]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  336|       |    /* 2 */
  337|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  338|    124|    MULADD(at[0], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  339|    124|    MULADD(at[1], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  340|    124|    MULADD(at[2], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  341|    124|    COMBA_STORE(C->dp[2]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  342|       |    /* 3 */
  343|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  344|    124|    MULADD(at[0], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  345|    124|    MULADD(at[1], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  346|    124|    MULADD(at[2], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  347|    124|    MULADD(at[3], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  348|    124|    COMBA_STORE(C->dp[3]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  349|       |    /* 4 */
  350|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  351|    124|    MULADD(at[0], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  352|    124|    MULADD(at[1], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  353|    124|    MULADD(at[2], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  354|    124|    MULADD(at[3], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  355|    124|    MULADD(at[4], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  356|    124|    COMBA_STORE(C->dp[4]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  357|       |    /* 5 */
  358|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  359|    124|    MULADD(at[0], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  360|    124|    MULADD(at[1], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  361|    124|    MULADD(at[2], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  362|    124|    MULADD(at[3], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  363|    124|    MULADD(at[4], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  364|    124|    MULADD(at[5], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  365|    124|    COMBA_STORE(C->dp[5]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  366|       |    /* 6 */
  367|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  368|    124|    MULADD(at[0], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  369|    124|    MULADD(at[1], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  370|    124|    MULADD(at[2], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  371|    124|    MULADD(at[3], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  372|    124|    MULADD(at[4], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  373|    124|    MULADD(at[5], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  374|    124|    MULADD(at[6], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  375|    124|    COMBA_STORE(C->dp[6]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  376|       |    /* 7 */
  377|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  378|    124|    MULADD(at[0], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  379|    124|    MULADD(at[1], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  380|    124|    MULADD(at[2], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  381|    124|    MULADD(at[3], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  382|    124|    MULADD(at[4], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  383|    124|    MULADD(at[5], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  384|    124|    MULADD(at[6], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  385|    124|    MULADD(at[7], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  386|    124|    COMBA_STORE(C->dp[7]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  387|       |    /* 8 */
  388|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  389|    124|    MULADD(at[0], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  390|    124|    MULADD(at[1], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  391|    124|    MULADD(at[2], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  392|    124|    MULADD(at[3], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  393|    124|    MULADD(at[4], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  394|    124|    MULADD(at[5], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  395|    124|    MULADD(at[6], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  396|    124|    MULADD(at[7], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  397|    124|    MULADD(at[8], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  398|    124|    COMBA_STORE(C->dp[8]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  399|       |    /* 9 */
  400|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  401|    124|    MULADD(at[0], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  402|    124|    MULADD(at[1], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  403|    124|    MULADD(at[2], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  404|    124|    MULADD(at[3], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  405|    124|    MULADD(at[4], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  406|    124|    MULADD(at[5], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  407|    124|    MULADD(at[6], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  408|    124|    MULADD(at[7], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  409|    124|    MULADD(at[8], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  410|    124|    MULADD(at[9], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  411|    124|    COMBA_STORE(C->dp[9]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  412|       |    /* 10 */
  413|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  414|    124|    MULADD(at[0], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  415|    124|    MULADD(at[1], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  416|    124|    MULADD(at[2], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  417|    124|    MULADD(at[3], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  418|    124|    MULADD(at[4], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  419|    124|    MULADD(at[5], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  420|    124|    MULADD(at[6], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  421|    124|    MULADD(at[7], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  422|    124|    MULADD(at[8], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  423|    124|    MULADD(at[9], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  424|    124|    MULADD(at[10], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  425|    124|    COMBA_STORE(C->dp[10]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  426|       |    /* 11 */
  427|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  428|    124|    MULADD(at[0], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  429|    124|    MULADD(at[1], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  430|    124|    MULADD(at[2], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  431|    124|    MULADD(at[3], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  432|    124|    MULADD(at[4], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  433|    124|    MULADD(at[5], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  434|    124|    MULADD(at[6], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  435|    124|    MULADD(at[7], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  436|    124|    MULADD(at[8], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  437|    124|    MULADD(at[9], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  438|    124|    MULADD(at[10], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  439|    124|    MULADD(at[11], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  440|    124|    COMBA_STORE(C->dp[11]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  441|       |    /* 12 */
  442|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  443|    124|    MULADD(at[0], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  444|    124|    MULADD(at[1], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  445|    124|    MULADD(at[2], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  446|    124|    MULADD(at[3], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  447|    124|    MULADD(at[4], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  448|    124|    MULADD(at[5], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  449|    124|    MULADD(at[6], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  450|    124|    MULADD(at[7], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  451|    124|    MULADD(at[8], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  452|    124|    MULADD(at[9], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  453|    124|    MULADD(at[10], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  454|    124|    MULADD(at[11], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  455|    124|    MULADD(at[12], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  456|    124|    COMBA_STORE(C->dp[12]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  457|       |    /* 13 */
  458|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  459|    124|    MULADD(at[0], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  460|    124|    MULADD(at[1], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  461|    124|    MULADD(at[2], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  462|    124|    MULADD(at[3], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  463|    124|    MULADD(at[4], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  464|    124|    MULADD(at[5], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  465|    124|    MULADD(at[6], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  466|    124|    MULADD(at[7], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  467|    124|    MULADD(at[8], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  468|    124|    MULADD(at[9], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  469|    124|    MULADD(at[10], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  470|    124|    MULADD(at[11], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  471|    124|    MULADD(at[12], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  472|    124|    MULADD(at[13], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  473|    124|    COMBA_STORE(C->dp[13]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  474|       |    /* 14 */
  475|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  476|    124|    MULADD(at[0], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  477|    124|    MULADD(at[1], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  478|    124|    MULADD(at[2], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  479|    124|    MULADD(at[3], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  480|    124|    MULADD(at[4], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  481|    124|    MULADD(at[5], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  482|    124|    MULADD(at[6], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  483|    124|    MULADD(at[7], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  484|    124|    MULADD(at[8], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  485|    124|    MULADD(at[9], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  486|    124|    MULADD(at[10], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  487|    124|    MULADD(at[11], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  488|    124|    MULADD(at[12], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  489|    124|    MULADD(at[13], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  490|    124|    MULADD(at[14], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  491|    124|    COMBA_STORE(C->dp[14]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  492|       |    /* 15 */
  493|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  494|    124|    MULADD(at[0], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  495|    124|    MULADD(at[1], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  496|    124|    MULADD(at[2], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  497|    124|    MULADD(at[3], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  498|    124|    MULADD(at[4], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  499|    124|    MULADD(at[5], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  500|    124|    MULADD(at[6], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  501|    124|    MULADD(at[7], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  502|    124|    MULADD(at[8], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  503|    124|    MULADD(at[9], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  504|    124|    MULADD(at[10], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  505|    124|    MULADD(at[11], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  506|    124|    MULADD(at[12], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  507|    124|    MULADD(at[13], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  508|    124|    MULADD(at[14], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  509|    124|    MULADD(at[15], at[16]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  510|    124|    COMBA_STORE(C->dp[15]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  511|       |    /* 16 */
  512|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  513|    124|    MULADD(at[1], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  514|    124|    MULADD(at[2], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  515|    124|    MULADD(at[3], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  516|    124|    MULADD(at[4], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  517|    124|    MULADD(at[5], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  518|    124|    MULADD(at[6], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  519|    124|    MULADD(at[7], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  520|    124|    MULADD(at[8], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  521|    124|    MULADD(at[9], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  522|    124|    MULADD(at[10], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  523|    124|    MULADD(at[11], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  524|    124|    MULADD(at[12], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  525|    124|    MULADD(at[13], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  526|    124|    MULADD(at[14], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  527|    124|    MULADD(at[15], at[17]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  528|    124|    COMBA_STORE(C->dp[16]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  529|       |    /* 17 */
  530|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  531|    124|    MULADD(at[2], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  532|    124|    MULADD(at[3], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  533|    124|    MULADD(at[4], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  534|    124|    MULADD(at[5], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  535|    124|    MULADD(at[6], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  536|    124|    MULADD(at[7], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  537|    124|    MULADD(at[8], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  538|    124|    MULADD(at[9], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  539|    124|    MULADD(at[10], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  540|    124|    MULADD(at[11], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  541|    124|    MULADD(at[12], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  542|    124|    MULADD(at[13], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  543|    124|    MULADD(at[14], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  544|    124|    MULADD(at[15], at[18]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  545|    124|    COMBA_STORE(C->dp[17]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  546|       |    /* 18 */
  547|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  548|    124|    MULADD(at[3], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  549|    124|    MULADD(at[4], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  550|    124|    MULADD(at[5], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  551|    124|    MULADD(at[6], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  552|    124|    MULADD(at[7], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  553|    124|    MULADD(at[8], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  554|    124|    MULADD(at[9], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  555|    124|    MULADD(at[10], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  556|    124|    MULADD(at[11], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  557|    124|    MULADD(at[12], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  558|    124|    MULADD(at[13], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  559|    124|    MULADD(at[14], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  560|    124|    MULADD(at[15], at[19]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  561|    124|    COMBA_STORE(C->dp[18]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  562|       |    /* 19 */
  563|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  564|    124|    MULADD(at[4], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  565|    124|    MULADD(at[5], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  566|    124|    MULADD(at[6], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  567|    124|    MULADD(at[7], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  568|    124|    MULADD(at[8], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  569|    124|    MULADD(at[9], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  570|    124|    MULADD(at[10], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  571|    124|    MULADD(at[11], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  572|    124|    MULADD(at[12], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  573|    124|    MULADD(at[13], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  574|    124|    MULADD(at[14], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  575|    124|    MULADD(at[15], at[20]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  576|    124|    COMBA_STORE(C->dp[19]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  577|       |    /* 20 */
  578|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  579|    124|    MULADD(at[5], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  580|    124|    MULADD(at[6], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  581|    124|    MULADD(at[7], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  582|    124|    MULADD(at[8], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  583|    124|    MULADD(at[9], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  584|    124|    MULADD(at[10], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  585|    124|    MULADD(at[11], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  586|    124|    MULADD(at[12], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  587|    124|    MULADD(at[13], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  588|    124|    MULADD(at[14], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  589|    124|    MULADD(at[15], at[21]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  590|    124|    COMBA_STORE(C->dp[20]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  591|       |    /* 21 */
  592|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  593|    124|    MULADD(at[6], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  594|    124|    MULADD(at[7], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  595|    124|    MULADD(at[8], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  596|    124|    MULADD(at[9], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  597|    124|    MULADD(at[10], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  598|    124|    MULADD(at[11], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  599|    124|    MULADD(at[12], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  600|    124|    MULADD(at[13], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  601|    124|    MULADD(at[14], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  602|    124|    MULADD(at[15], at[22]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  603|    124|    COMBA_STORE(C->dp[21]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  604|       |    /* 22 */
  605|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  606|    124|    MULADD(at[7], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  607|    124|    MULADD(at[8], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  608|    124|    MULADD(at[9], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  609|    124|    MULADD(at[10], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  610|    124|    MULADD(at[11], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  611|    124|    MULADD(at[12], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  612|    124|    MULADD(at[13], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  613|    124|    MULADD(at[14], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  614|    124|    MULADD(at[15], at[23]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  615|    124|    COMBA_STORE(C->dp[22]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  616|       |    /* 23 */
  617|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  618|    124|    MULADD(at[8], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  619|    124|    MULADD(at[9], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  620|    124|    MULADD(at[10], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  621|    124|    MULADD(at[11], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  622|    124|    MULADD(at[12], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  623|    124|    MULADD(at[13], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  624|    124|    MULADD(at[14], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  625|    124|    MULADD(at[15], at[24]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  626|    124|    COMBA_STORE(C->dp[23]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  627|       |    /* 24 */
  628|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  629|    124|    MULADD(at[9], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  630|    124|    MULADD(at[10], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  631|    124|    MULADD(at[11], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  632|    124|    MULADD(at[12], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  633|    124|    MULADD(at[13], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  634|    124|    MULADD(at[14], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  635|    124|    MULADD(at[15], at[25]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  636|    124|    COMBA_STORE(C->dp[24]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  637|       |    /* 25 */
  638|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  639|    124|    MULADD(at[10], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  640|    124|    MULADD(at[11], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  641|    124|    MULADD(at[12], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  642|    124|    MULADD(at[13], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  643|    124|    MULADD(at[14], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  644|    124|    MULADD(at[15], at[26]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  645|    124|    COMBA_STORE(C->dp[25]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  646|       |    /* 26 */
  647|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  648|    124|    MULADD(at[11], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  649|    124|    MULADD(at[12], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  650|    124|    MULADD(at[13], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  651|    124|    MULADD(at[14], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  652|    124|    MULADD(at[15], at[27]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  653|    124|    COMBA_STORE(C->dp[26]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  654|       |    /* 27 */
  655|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  656|    124|    MULADD(at[12], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  657|    124|    MULADD(at[13], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  658|    124|    MULADD(at[14], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  659|    124|    MULADD(at[15], at[28]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  660|    124|    COMBA_STORE(C->dp[27]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  661|       |    /* 28 */
  662|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  663|    124|    MULADD(at[13], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  664|    124|    MULADD(at[14], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  665|    124|    MULADD(at[15], at[29]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  666|    124|    COMBA_STORE(C->dp[28]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  667|       |    /* 29 */
  668|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  669|    124|    MULADD(at[14], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  670|    124|    MULADD(at[15], at[30]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  671|    124|    COMBA_STORE(C->dp[29]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  672|       |    /* 30 */
  673|    124|    COMBA_FORWARD;
  ------------------
  |  |   41|    124|    do {              \
  |  |   42|    124|        c0 = c1;      \
  |  |   43|    124|        c1 = c2;      \
  |  |   44|    124|        c2 = 0;       \
  |  |   45|    124|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  674|    124|    MULADD(at[15], at[31]);
  ------------------
  |  |   52|    124|    __asm__(                                        \
  |  |   53|    124|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    124|        "mulq  %7           \n\t"                   \
  |  |   55|    124|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    124|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    124|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    124|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    124|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    124|        : "%rax", "%rdx", "cc");
  ------------------
  675|    124|    COMBA_STORE(C->dp[30]);
  ------------------
  |  |   67|    124|    x = c0;
  ------------------
  676|    124|    COMBA_STORE2(C->dp[31]);
  ------------------
  |  |   70|    124|    x = c1;
  ------------------
  677|    124|    C->used = 32;
  678|    124|    C->sign = A->sign ^ B->sign;
  679|    124|    mp_clamp(C);
  ------------------
  |  |   26|    124|    {                                                    \
  |  |   27|    240|        while ((a)->used && (a)->dp[(a)->used - 1] == 0) \
  |  |  ------------------
  |  |  |  Branch (27:16): [True: 240, False: 0]
  |  |  |  Branch (27:29): [True: 116, False: 124]
  |  |  ------------------
  |  |   28|    124|            --((a)->used);                               \
  |  |   29|    124|        (a)->sign = (a)->used ? (a)->sign : ZPOS;        \
  |  |  ------------------
  |  |  |  |  321|      0|#define ZPOS MP_ZPOS
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    124|#define MP_ZPOS 0
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (29:21): [True: 124, False: 0]
  |  |  ------------------
  |  |   30|    124|    }
  ------------------
  680|    124|    COMBA_FINI;
  681|    124|}
s_mp_mul_comba_32:
  685|    126|{
  686|    126|    mp_digit c0, c1, c2, at[64];
  687|       |
  688|    126|    memcpy(at, A->dp, 32 * sizeof(mp_digit));
  689|    126|    memcpy(at + 32, B->dp, 32 * sizeof(mp_digit));
  690|    126|    COMBA_START;
  691|       |
  692|    126|    COMBA_CLEAR;
  ------------------
  |  |   37|    126|    c0 = c1 = c2 = 0;
  ------------------
  693|       |    /* 0 */
  694|    126|    MULADD(at[0], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  695|    126|    COMBA_STORE(C->dp[0]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  696|       |    /* 1 */
  697|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  698|    126|    MULADD(at[0], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  699|    126|    MULADD(at[1], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  700|    126|    COMBA_STORE(C->dp[1]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  701|       |    /* 2 */
  702|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  703|    126|    MULADD(at[0], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  704|    126|    MULADD(at[1], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  705|    126|    MULADD(at[2], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  706|    126|    COMBA_STORE(C->dp[2]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  707|       |    /* 3 */
  708|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  709|    126|    MULADD(at[0], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  710|    126|    MULADD(at[1], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  711|    126|    MULADD(at[2], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  712|    126|    MULADD(at[3], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  713|    126|    COMBA_STORE(C->dp[3]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  714|       |    /* 4 */
  715|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  716|    126|    MULADD(at[0], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  717|    126|    MULADD(at[1], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  718|    126|    MULADD(at[2], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  719|    126|    MULADD(at[3], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  720|    126|    MULADD(at[4], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  721|    126|    COMBA_STORE(C->dp[4]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  722|       |    /* 5 */
  723|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  724|    126|    MULADD(at[0], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  725|    126|    MULADD(at[1], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  726|    126|    MULADD(at[2], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  727|    126|    MULADD(at[3], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  728|    126|    MULADD(at[4], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  729|    126|    MULADD(at[5], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  730|    126|    COMBA_STORE(C->dp[5]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  731|       |    /* 6 */
  732|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  733|    126|    MULADD(at[0], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  734|    126|    MULADD(at[1], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  735|    126|    MULADD(at[2], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  736|    126|    MULADD(at[3], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  737|    126|    MULADD(at[4], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  738|    126|    MULADD(at[5], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  739|    126|    MULADD(at[6], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  740|    126|    COMBA_STORE(C->dp[6]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  741|       |    /* 7 */
  742|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  743|    126|    MULADD(at[0], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  744|    126|    MULADD(at[1], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  745|    126|    MULADD(at[2], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  746|    126|    MULADD(at[3], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  747|    126|    MULADD(at[4], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  748|    126|    MULADD(at[5], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  749|    126|    MULADD(at[6], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  750|    126|    MULADD(at[7], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  751|    126|    COMBA_STORE(C->dp[7]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  752|       |    /* 8 */
  753|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  754|    126|    MULADD(at[0], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  755|    126|    MULADD(at[1], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  756|    126|    MULADD(at[2], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  757|    126|    MULADD(at[3], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  758|    126|    MULADD(at[4], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  759|    126|    MULADD(at[5], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  760|    126|    MULADD(at[6], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  761|    126|    MULADD(at[7], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  762|    126|    MULADD(at[8], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  763|    126|    COMBA_STORE(C->dp[8]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  764|       |    /* 9 */
  765|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  766|    126|    MULADD(at[0], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  767|    126|    MULADD(at[1], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  768|    126|    MULADD(at[2], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  769|    126|    MULADD(at[3], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  770|    126|    MULADD(at[4], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  771|    126|    MULADD(at[5], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  772|    126|    MULADD(at[6], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  773|    126|    MULADD(at[7], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  774|    126|    MULADD(at[8], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  775|    126|    MULADD(at[9], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  776|    126|    COMBA_STORE(C->dp[9]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  777|       |    /* 10 */
  778|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  779|    126|    MULADD(at[0], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  780|    126|    MULADD(at[1], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  781|    126|    MULADD(at[2], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  782|    126|    MULADD(at[3], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  783|    126|    MULADD(at[4], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  784|    126|    MULADD(at[5], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  785|    126|    MULADD(at[6], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  786|    126|    MULADD(at[7], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  787|    126|    MULADD(at[8], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  788|    126|    MULADD(at[9], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  789|    126|    MULADD(at[10], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  790|    126|    COMBA_STORE(C->dp[10]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  791|       |    /* 11 */
  792|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  793|    126|    MULADD(at[0], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  794|    126|    MULADD(at[1], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  795|    126|    MULADD(at[2], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  796|    126|    MULADD(at[3], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  797|    126|    MULADD(at[4], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  798|    126|    MULADD(at[5], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  799|    126|    MULADD(at[6], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  800|    126|    MULADD(at[7], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  801|    126|    MULADD(at[8], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  802|    126|    MULADD(at[9], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  803|    126|    MULADD(at[10], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  804|    126|    MULADD(at[11], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  805|    126|    COMBA_STORE(C->dp[11]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  806|       |    /* 12 */
  807|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  808|    126|    MULADD(at[0], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  809|    126|    MULADD(at[1], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  810|    126|    MULADD(at[2], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  811|    126|    MULADD(at[3], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  812|    126|    MULADD(at[4], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  813|    126|    MULADD(at[5], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  814|    126|    MULADD(at[6], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  815|    126|    MULADD(at[7], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  816|    126|    MULADD(at[8], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  817|    126|    MULADD(at[9], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  818|    126|    MULADD(at[10], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  819|    126|    MULADD(at[11], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  820|    126|    MULADD(at[12], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  821|    126|    COMBA_STORE(C->dp[12]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  822|       |    /* 13 */
  823|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  824|    126|    MULADD(at[0], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  825|    126|    MULADD(at[1], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  826|    126|    MULADD(at[2], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  827|    126|    MULADD(at[3], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  828|    126|    MULADD(at[4], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  829|    126|    MULADD(at[5], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  830|    126|    MULADD(at[6], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  831|    126|    MULADD(at[7], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  832|    126|    MULADD(at[8], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  833|    126|    MULADD(at[9], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  834|    126|    MULADD(at[10], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  835|    126|    MULADD(at[11], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  836|    126|    MULADD(at[12], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  837|    126|    MULADD(at[13], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  838|    126|    COMBA_STORE(C->dp[13]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  839|       |    /* 14 */
  840|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  841|    126|    MULADD(at[0], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  842|    126|    MULADD(at[1], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  843|    126|    MULADD(at[2], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  844|    126|    MULADD(at[3], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  845|    126|    MULADD(at[4], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  846|    126|    MULADD(at[5], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  847|    126|    MULADD(at[6], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  848|    126|    MULADD(at[7], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  849|    126|    MULADD(at[8], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  850|    126|    MULADD(at[9], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  851|    126|    MULADD(at[10], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  852|    126|    MULADD(at[11], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  853|    126|    MULADD(at[12], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  854|    126|    MULADD(at[13], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  855|    126|    MULADD(at[14], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  856|    126|    COMBA_STORE(C->dp[14]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  857|       |    /* 15 */
  858|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  859|    126|    MULADD(at[0], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  860|    126|    MULADD(at[1], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  861|    126|    MULADD(at[2], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  862|    126|    MULADD(at[3], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  863|    126|    MULADD(at[4], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  864|    126|    MULADD(at[5], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  865|    126|    MULADD(at[6], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  866|    126|    MULADD(at[7], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  867|    126|    MULADD(at[8], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  868|    126|    MULADD(at[9], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  869|    126|    MULADD(at[10], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  870|    126|    MULADD(at[11], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  871|    126|    MULADD(at[12], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  872|    126|    MULADD(at[13], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  873|    126|    MULADD(at[14], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  874|    126|    MULADD(at[15], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  875|    126|    COMBA_STORE(C->dp[15]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  876|       |    /* 16 */
  877|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  878|    126|    MULADD(at[0], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  879|    126|    MULADD(at[1], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  880|    126|    MULADD(at[2], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  881|    126|    MULADD(at[3], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  882|    126|    MULADD(at[4], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  883|    126|    MULADD(at[5], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  884|    126|    MULADD(at[6], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  885|    126|    MULADD(at[7], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  886|    126|    MULADD(at[8], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  887|    126|    MULADD(at[9], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  888|    126|    MULADD(at[10], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  889|    126|    MULADD(at[11], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  890|    126|    MULADD(at[12], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  891|    126|    MULADD(at[13], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  892|    126|    MULADD(at[14], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  893|    126|    MULADD(at[15], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  894|    126|    MULADD(at[16], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  895|    126|    COMBA_STORE(C->dp[16]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  896|       |    /* 17 */
  897|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  898|    126|    MULADD(at[0], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  899|    126|    MULADD(at[1], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  900|    126|    MULADD(at[2], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  901|    126|    MULADD(at[3], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  902|    126|    MULADD(at[4], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  903|    126|    MULADD(at[5], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  904|    126|    MULADD(at[6], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  905|    126|    MULADD(at[7], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  906|    126|    MULADD(at[8], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  907|    126|    MULADD(at[9], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  908|    126|    MULADD(at[10], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  909|    126|    MULADD(at[11], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  910|    126|    MULADD(at[12], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  911|    126|    MULADD(at[13], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  912|    126|    MULADD(at[14], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  913|    126|    MULADD(at[15], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  914|    126|    MULADD(at[16], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  915|    126|    MULADD(at[17], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  916|    126|    COMBA_STORE(C->dp[17]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  917|       |    /* 18 */
  918|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  919|    126|    MULADD(at[0], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  920|    126|    MULADD(at[1], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  921|    126|    MULADD(at[2], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  922|    126|    MULADD(at[3], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  923|    126|    MULADD(at[4], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  924|    126|    MULADD(at[5], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  925|    126|    MULADD(at[6], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  926|    126|    MULADD(at[7], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  927|    126|    MULADD(at[8], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  928|    126|    MULADD(at[9], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  929|    126|    MULADD(at[10], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  930|    126|    MULADD(at[11], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  931|    126|    MULADD(at[12], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  932|    126|    MULADD(at[13], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  933|    126|    MULADD(at[14], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  934|    126|    MULADD(at[15], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  935|    126|    MULADD(at[16], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  936|    126|    MULADD(at[17], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  937|    126|    MULADD(at[18], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  938|    126|    COMBA_STORE(C->dp[18]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  939|       |    /* 19 */
  940|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  941|    126|    MULADD(at[0], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  942|    126|    MULADD(at[1], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  943|    126|    MULADD(at[2], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  944|    126|    MULADD(at[3], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  945|    126|    MULADD(at[4], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  946|    126|    MULADD(at[5], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  947|    126|    MULADD(at[6], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  948|    126|    MULADD(at[7], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  949|    126|    MULADD(at[8], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  950|    126|    MULADD(at[9], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  951|    126|    MULADD(at[10], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  952|    126|    MULADD(at[11], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  953|    126|    MULADD(at[12], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  954|    126|    MULADD(at[13], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  955|    126|    MULADD(at[14], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  956|    126|    MULADD(at[15], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  957|    126|    MULADD(at[16], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  958|    126|    MULADD(at[17], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  959|    126|    MULADD(at[18], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  960|    126|    MULADD(at[19], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  961|    126|    COMBA_STORE(C->dp[19]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  962|       |    /* 20 */
  963|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  964|    126|    MULADD(at[0], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  965|    126|    MULADD(at[1], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  966|    126|    MULADD(at[2], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  967|    126|    MULADD(at[3], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  968|    126|    MULADD(at[4], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  969|    126|    MULADD(at[5], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  970|    126|    MULADD(at[6], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  971|    126|    MULADD(at[7], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  972|    126|    MULADD(at[8], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  973|    126|    MULADD(at[9], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  974|    126|    MULADD(at[10], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  975|    126|    MULADD(at[11], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  976|    126|    MULADD(at[12], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  977|    126|    MULADD(at[13], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  978|    126|    MULADD(at[14], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  979|    126|    MULADD(at[15], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  980|    126|    MULADD(at[16], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  981|    126|    MULADD(at[17], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  982|    126|    MULADD(at[18], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  983|    126|    MULADD(at[19], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  984|    126|    MULADD(at[20], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  985|    126|    COMBA_STORE(C->dp[20]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
  986|       |    /* 21 */
  987|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  988|    126|    MULADD(at[0], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  989|    126|    MULADD(at[1], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  990|    126|    MULADD(at[2], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  991|    126|    MULADD(at[3], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  992|    126|    MULADD(at[4], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  993|    126|    MULADD(at[5], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  994|    126|    MULADD(at[6], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  995|    126|    MULADD(at[7], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  996|    126|    MULADD(at[8], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  997|    126|    MULADD(at[9], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  998|    126|    MULADD(at[10], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
  999|    126|    MULADD(at[11], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1000|    126|    MULADD(at[12], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1001|    126|    MULADD(at[13], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1002|    126|    MULADD(at[14], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1003|    126|    MULADD(at[15], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1004|    126|    MULADD(at[16], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1005|    126|    MULADD(at[17], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1006|    126|    MULADD(at[18], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1007|    126|    MULADD(at[19], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1008|    126|    MULADD(at[20], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1009|    126|    MULADD(at[21], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1010|    126|    COMBA_STORE(C->dp[21]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1011|       |    /* 22 */
 1012|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1013|    126|    MULADD(at[0], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1014|    126|    MULADD(at[1], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1015|    126|    MULADD(at[2], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1016|    126|    MULADD(at[3], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1017|    126|    MULADD(at[4], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1018|    126|    MULADD(at[5], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1019|    126|    MULADD(at[6], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1020|    126|    MULADD(at[7], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1021|    126|    MULADD(at[8], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1022|    126|    MULADD(at[9], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1023|    126|    MULADD(at[10], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1024|    126|    MULADD(at[11], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1025|    126|    MULADD(at[12], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1026|    126|    MULADD(at[13], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1027|    126|    MULADD(at[14], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1028|    126|    MULADD(at[15], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1029|    126|    MULADD(at[16], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1030|    126|    MULADD(at[17], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1031|    126|    MULADD(at[18], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1032|    126|    MULADD(at[19], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1033|    126|    MULADD(at[20], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1034|    126|    MULADD(at[21], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1035|    126|    MULADD(at[22], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1036|    126|    COMBA_STORE(C->dp[22]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1037|       |    /* 23 */
 1038|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1039|    126|    MULADD(at[0], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1040|    126|    MULADD(at[1], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1041|    126|    MULADD(at[2], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1042|    126|    MULADD(at[3], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1043|    126|    MULADD(at[4], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1044|    126|    MULADD(at[5], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1045|    126|    MULADD(at[6], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1046|    126|    MULADD(at[7], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1047|    126|    MULADD(at[8], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1048|    126|    MULADD(at[9], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1049|    126|    MULADD(at[10], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1050|    126|    MULADD(at[11], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1051|    126|    MULADD(at[12], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1052|    126|    MULADD(at[13], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1053|    126|    MULADD(at[14], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1054|    126|    MULADD(at[15], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1055|    126|    MULADD(at[16], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1056|    126|    MULADD(at[17], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1057|    126|    MULADD(at[18], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1058|    126|    MULADD(at[19], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1059|    126|    MULADD(at[20], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1060|    126|    MULADD(at[21], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1061|    126|    MULADD(at[22], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1062|    126|    MULADD(at[23], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1063|    126|    COMBA_STORE(C->dp[23]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1064|       |    /* 24 */
 1065|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1066|    126|    MULADD(at[0], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1067|    126|    MULADD(at[1], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1068|    126|    MULADD(at[2], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1069|    126|    MULADD(at[3], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1070|    126|    MULADD(at[4], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1071|    126|    MULADD(at[5], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1072|    126|    MULADD(at[6], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1073|    126|    MULADD(at[7], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1074|    126|    MULADD(at[8], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1075|    126|    MULADD(at[9], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1076|    126|    MULADD(at[10], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1077|    126|    MULADD(at[11], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1078|    126|    MULADD(at[12], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1079|    126|    MULADD(at[13], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1080|    126|    MULADD(at[14], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1081|    126|    MULADD(at[15], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1082|    126|    MULADD(at[16], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1083|    126|    MULADD(at[17], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1084|    126|    MULADD(at[18], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1085|    126|    MULADD(at[19], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1086|    126|    MULADD(at[20], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1087|    126|    MULADD(at[21], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1088|    126|    MULADD(at[22], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1089|    126|    MULADD(at[23], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1090|    126|    MULADD(at[24], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1091|    126|    COMBA_STORE(C->dp[24]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1092|       |    /* 25 */
 1093|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1094|    126|    MULADD(at[0], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1095|    126|    MULADD(at[1], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1096|    126|    MULADD(at[2], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1097|    126|    MULADD(at[3], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1098|    126|    MULADD(at[4], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1099|    126|    MULADD(at[5], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1100|    126|    MULADD(at[6], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1101|    126|    MULADD(at[7], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1102|    126|    MULADD(at[8], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1103|    126|    MULADD(at[9], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1104|    126|    MULADD(at[10], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1105|    126|    MULADD(at[11], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1106|    126|    MULADD(at[12], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1107|    126|    MULADD(at[13], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1108|    126|    MULADD(at[14], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1109|    126|    MULADD(at[15], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1110|    126|    MULADD(at[16], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1111|    126|    MULADD(at[17], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1112|    126|    MULADD(at[18], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1113|    126|    MULADD(at[19], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1114|    126|    MULADD(at[20], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1115|    126|    MULADD(at[21], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1116|    126|    MULADD(at[22], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1117|    126|    MULADD(at[23], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1118|    126|    MULADD(at[24], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1119|    126|    MULADD(at[25], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1120|    126|    COMBA_STORE(C->dp[25]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1121|       |    /* 26 */
 1122|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1123|    126|    MULADD(at[0], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1124|    126|    MULADD(at[1], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1125|    126|    MULADD(at[2], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1126|    126|    MULADD(at[3], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1127|    126|    MULADD(at[4], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1128|    126|    MULADD(at[5], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1129|    126|    MULADD(at[6], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1130|    126|    MULADD(at[7], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1131|    126|    MULADD(at[8], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1132|    126|    MULADD(at[9], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1133|    126|    MULADD(at[10], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1134|    126|    MULADD(at[11], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1135|    126|    MULADD(at[12], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1136|    126|    MULADD(at[13], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1137|    126|    MULADD(at[14], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1138|    126|    MULADD(at[15], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1139|    126|    MULADD(at[16], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1140|    126|    MULADD(at[17], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1141|    126|    MULADD(at[18], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1142|    126|    MULADD(at[19], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1143|    126|    MULADD(at[20], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1144|    126|    MULADD(at[21], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1145|    126|    MULADD(at[22], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1146|    126|    MULADD(at[23], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1147|    126|    MULADD(at[24], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1148|    126|    MULADD(at[25], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1149|    126|    MULADD(at[26], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1150|    126|    COMBA_STORE(C->dp[26]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1151|       |    /* 27 */
 1152|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1153|    126|    MULADD(at[0], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1154|    126|    MULADD(at[1], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1155|    126|    MULADD(at[2], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1156|    126|    MULADD(at[3], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1157|    126|    MULADD(at[4], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1158|    126|    MULADD(at[5], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1159|    126|    MULADD(at[6], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1160|    126|    MULADD(at[7], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1161|    126|    MULADD(at[8], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1162|    126|    MULADD(at[9], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1163|    126|    MULADD(at[10], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1164|    126|    MULADD(at[11], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1165|    126|    MULADD(at[12], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1166|    126|    MULADD(at[13], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1167|    126|    MULADD(at[14], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1168|    126|    MULADD(at[15], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1169|    126|    MULADD(at[16], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1170|    126|    MULADD(at[17], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1171|    126|    MULADD(at[18], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1172|    126|    MULADD(at[19], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1173|    126|    MULADD(at[20], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1174|    126|    MULADD(at[21], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1175|    126|    MULADD(at[22], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1176|    126|    MULADD(at[23], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1177|    126|    MULADD(at[24], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1178|    126|    MULADD(at[25], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1179|    126|    MULADD(at[26], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1180|    126|    MULADD(at[27], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1181|    126|    COMBA_STORE(C->dp[27]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1182|       |    /* 28 */
 1183|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1184|    126|    MULADD(at[0], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1185|    126|    MULADD(at[1], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1186|    126|    MULADD(at[2], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1187|    126|    MULADD(at[3], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1188|    126|    MULADD(at[4], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1189|    126|    MULADD(at[5], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1190|    126|    MULADD(at[6], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1191|    126|    MULADD(at[7], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1192|    126|    MULADD(at[8], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1193|    126|    MULADD(at[9], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1194|    126|    MULADD(at[10], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1195|    126|    MULADD(at[11], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1196|    126|    MULADD(at[12], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1197|    126|    MULADD(at[13], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1198|    126|    MULADD(at[14], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1199|    126|    MULADD(at[15], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1200|    126|    MULADD(at[16], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1201|    126|    MULADD(at[17], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1202|    126|    MULADD(at[18], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1203|    126|    MULADD(at[19], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1204|    126|    MULADD(at[20], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1205|    126|    MULADD(at[21], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1206|    126|    MULADD(at[22], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1207|    126|    MULADD(at[23], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1208|    126|    MULADD(at[24], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1209|    126|    MULADD(at[25], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1210|    126|    MULADD(at[26], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1211|    126|    MULADD(at[27], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1212|    126|    MULADD(at[28], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1213|    126|    COMBA_STORE(C->dp[28]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1214|       |    /* 29 */
 1215|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1216|    126|    MULADD(at[0], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1217|    126|    MULADD(at[1], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1218|    126|    MULADD(at[2], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1219|    126|    MULADD(at[3], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1220|    126|    MULADD(at[4], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1221|    126|    MULADD(at[5], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1222|    126|    MULADD(at[6], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1223|    126|    MULADD(at[7], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1224|    126|    MULADD(at[8], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1225|    126|    MULADD(at[9], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1226|    126|    MULADD(at[10], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1227|    126|    MULADD(at[11], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1228|    126|    MULADD(at[12], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1229|    126|    MULADD(at[13], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1230|    126|    MULADD(at[14], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1231|    126|    MULADD(at[15], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1232|    126|    MULADD(at[16], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1233|    126|    MULADD(at[17], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1234|    126|    MULADD(at[18], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1235|    126|    MULADD(at[19], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1236|    126|    MULADD(at[20], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1237|    126|    MULADD(at[21], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1238|    126|    MULADD(at[22], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1239|    126|    MULADD(at[23], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1240|    126|    MULADD(at[24], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1241|    126|    MULADD(at[25], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1242|    126|    MULADD(at[26], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1243|    126|    MULADD(at[27], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1244|    126|    MULADD(at[28], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1245|    126|    MULADD(at[29], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1246|    126|    COMBA_STORE(C->dp[29]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1247|       |    /* 30 */
 1248|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1249|    126|    MULADD(at[0], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1250|    126|    MULADD(at[1], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1251|    126|    MULADD(at[2], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1252|    126|    MULADD(at[3], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1253|    126|    MULADD(at[4], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1254|    126|    MULADD(at[5], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1255|    126|    MULADD(at[6], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1256|    126|    MULADD(at[7], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1257|    126|    MULADD(at[8], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1258|    126|    MULADD(at[9], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1259|    126|    MULADD(at[10], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1260|    126|    MULADD(at[11], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1261|    126|    MULADD(at[12], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1262|    126|    MULADD(at[13], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1263|    126|    MULADD(at[14], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1264|    126|    MULADD(at[15], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1265|    126|    MULADD(at[16], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1266|    126|    MULADD(at[17], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1267|    126|    MULADD(at[18], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1268|    126|    MULADD(at[19], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1269|    126|    MULADD(at[20], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1270|    126|    MULADD(at[21], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1271|    126|    MULADD(at[22], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1272|    126|    MULADD(at[23], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1273|    126|    MULADD(at[24], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1274|    126|    MULADD(at[25], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1275|    126|    MULADD(at[26], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1276|    126|    MULADD(at[27], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1277|    126|    MULADD(at[28], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1278|    126|    MULADD(at[29], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1279|    126|    MULADD(at[30], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1280|    126|    COMBA_STORE(C->dp[30]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1281|       |    /* 31 */
 1282|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1283|    126|    MULADD(at[0], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1284|    126|    MULADD(at[1], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1285|    126|    MULADD(at[2], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1286|    126|    MULADD(at[3], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1287|    126|    MULADD(at[4], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1288|    126|    MULADD(at[5], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1289|    126|    MULADD(at[6], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1290|    126|    MULADD(at[7], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1291|    126|    MULADD(at[8], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1292|    126|    MULADD(at[9], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1293|    126|    MULADD(at[10], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1294|    126|    MULADD(at[11], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1295|    126|    MULADD(at[12], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1296|    126|    MULADD(at[13], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1297|    126|    MULADD(at[14], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1298|    126|    MULADD(at[15], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1299|    126|    MULADD(at[16], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1300|    126|    MULADD(at[17], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1301|    126|    MULADD(at[18], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1302|    126|    MULADD(at[19], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1303|    126|    MULADD(at[20], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1304|    126|    MULADD(at[21], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1305|    126|    MULADD(at[22], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1306|    126|    MULADD(at[23], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1307|    126|    MULADD(at[24], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1308|    126|    MULADD(at[25], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1309|    126|    MULADD(at[26], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1310|    126|    MULADD(at[27], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1311|    126|    MULADD(at[28], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1312|    126|    MULADD(at[29], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1313|    126|    MULADD(at[30], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1314|    126|    MULADD(at[31], at[32]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1315|    126|    COMBA_STORE(C->dp[31]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1316|       |    /* 32 */
 1317|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1318|    126|    MULADD(at[1], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1319|    126|    MULADD(at[2], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1320|    126|    MULADD(at[3], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1321|    126|    MULADD(at[4], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1322|    126|    MULADD(at[5], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1323|    126|    MULADD(at[6], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1324|    126|    MULADD(at[7], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1325|    126|    MULADD(at[8], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1326|    126|    MULADD(at[9], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1327|    126|    MULADD(at[10], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1328|    126|    MULADD(at[11], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1329|    126|    MULADD(at[12], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1330|    126|    MULADD(at[13], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1331|    126|    MULADD(at[14], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1332|    126|    MULADD(at[15], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1333|    126|    MULADD(at[16], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1334|    126|    MULADD(at[17], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1335|    126|    MULADD(at[18], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1336|    126|    MULADD(at[19], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1337|    126|    MULADD(at[20], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1338|    126|    MULADD(at[21], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1339|    126|    MULADD(at[22], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1340|    126|    MULADD(at[23], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1341|    126|    MULADD(at[24], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1342|    126|    MULADD(at[25], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1343|    126|    MULADD(at[26], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1344|    126|    MULADD(at[27], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1345|    126|    MULADD(at[28], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1346|    126|    MULADD(at[29], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1347|    126|    MULADD(at[30], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1348|    126|    MULADD(at[31], at[33]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1349|    126|    COMBA_STORE(C->dp[32]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1350|       |    /* 33 */
 1351|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1352|    126|    MULADD(at[2], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1353|    126|    MULADD(at[3], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1354|    126|    MULADD(at[4], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1355|    126|    MULADD(at[5], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1356|    126|    MULADD(at[6], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1357|    126|    MULADD(at[7], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1358|    126|    MULADD(at[8], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1359|    126|    MULADD(at[9], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1360|    126|    MULADD(at[10], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1361|    126|    MULADD(at[11], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1362|    126|    MULADD(at[12], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1363|    126|    MULADD(at[13], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1364|    126|    MULADD(at[14], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1365|    126|    MULADD(at[15], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1366|    126|    MULADD(at[16], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1367|    126|    MULADD(at[17], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1368|    126|    MULADD(at[18], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1369|    126|    MULADD(at[19], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1370|    126|    MULADD(at[20], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1371|    126|    MULADD(at[21], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1372|    126|    MULADD(at[22], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1373|    126|    MULADD(at[23], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1374|    126|    MULADD(at[24], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1375|    126|    MULADD(at[25], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1376|    126|    MULADD(at[26], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1377|    126|    MULADD(at[27], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1378|    126|    MULADD(at[28], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1379|    126|    MULADD(at[29], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1380|    126|    MULADD(at[30], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1381|    126|    MULADD(at[31], at[34]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1382|    126|    COMBA_STORE(C->dp[33]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1383|       |    /* 34 */
 1384|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1385|    126|    MULADD(at[3], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1386|    126|    MULADD(at[4], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1387|    126|    MULADD(at[5], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1388|    126|    MULADD(at[6], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1389|    126|    MULADD(at[7], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1390|    126|    MULADD(at[8], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1391|    126|    MULADD(at[9], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1392|    126|    MULADD(at[10], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1393|    126|    MULADD(at[11], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1394|    126|    MULADD(at[12], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1395|    126|    MULADD(at[13], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1396|    126|    MULADD(at[14], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1397|    126|    MULADD(at[15], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1398|    126|    MULADD(at[16], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1399|    126|    MULADD(at[17], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1400|    126|    MULADD(at[18], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1401|    126|    MULADD(at[19], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1402|    126|    MULADD(at[20], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1403|    126|    MULADD(at[21], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1404|    126|    MULADD(at[22], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1405|    126|    MULADD(at[23], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1406|    126|    MULADD(at[24], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1407|    126|    MULADD(at[25], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1408|    126|    MULADD(at[26], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1409|    126|    MULADD(at[27], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1410|    126|    MULADD(at[28], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1411|    126|    MULADD(at[29], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1412|    126|    MULADD(at[30], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1413|    126|    MULADD(at[31], at[35]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1414|    126|    COMBA_STORE(C->dp[34]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1415|       |    /* 35 */
 1416|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1417|    126|    MULADD(at[4], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1418|    126|    MULADD(at[5], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1419|    126|    MULADD(at[6], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1420|    126|    MULADD(at[7], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1421|    126|    MULADD(at[8], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1422|    126|    MULADD(at[9], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1423|    126|    MULADD(at[10], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1424|    126|    MULADD(at[11], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1425|    126|    MULADD(at[12], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1426|    126|    MULADD(at[13], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1427|    126|    MULADD(at[14], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1428|    126|    MULADD(at[15], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1429|    126|    MULADD(at[16], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1430|    126|    MULADD(at[17], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1431|    126|    MULADD(at[18], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1432|    126|    MULADD(at[19], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1433|    126|    MULADD(at[20], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1434|    126|    MULADD(at[21], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1435|    126|    MULADD(at[22], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1436|    126|    MULADD(at[23], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1437|    126|    MULADD(at[24], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1438|    126|    MULADD(at[25], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1439|    126|    MULADD(at[26], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1440|    126|    MULADD(at[27], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1441|    126|    MULADD(at[28], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1442|    126|    MULADD(at[29], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1443|    126|    MULADD(at[30], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1444|    126|    MULADD(at[31], at[36]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1445|    126|    COMBA_STORE(C->dp[35]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1446|       |    /* 36 */
 1447|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1448|    126|    MULADD(at[5], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1449|    126|    MULADD(at[6], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1450|    126|    MULADD(at[7], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1451|    126|    MULADD(at[8], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1452|    126|    MULADD(at[9], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1453|    126|    MULADD(at[10], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1454|    126|    MULADD(at[11], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1455|    126|    MULADD(at[12], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1456|    126|    MULADD(at[13], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1457|    126|    MULADD(at[14], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1458|    126|    MULADD(at[15], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1459|    126|    MULADD(at[16], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1460|    126|    MULADD(at[17], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1461|    126|    MULADD(at[18], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1462|    126|    MULADD(at[19], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1463|    126|    MULADD(at[20], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1464|    126|    MULADD(at[21], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1465|    126|    MULADD(at[22], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1466|    126|    MULADD(at[23], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1467|    126|    MULADD(at[24], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1468|    126|    MULADD(at[25], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1469|    126|    MULADD(at[26], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1470|    126|    MULADD(at[27], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1471|    126|    MULADD(at[28], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1472|    126|    MULADD(at[29], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1473|    126|    MULADD(at[30], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1474|    126|    MULADD(at[31], at[37]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1475|    126|    COMBA_STORE(C->dp[36]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1476|       |    /* 37 */
 1477|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1478|    126|    MULADD(at[6], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1479|    126|    MULADD(at[7], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1480|    126|    MULADD(at[8], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1481|    126|    MULADD(at[9], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1482|    126|    MULADD(at[10], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1483|    126|    MULADD(at[11], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1484|    126|    MULADD(at[12], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1485|    126|    MULADD(at[13], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1486|    126|    MULADD(at[14], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1487|    126|    MULADD(at[15], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1488|    126|    MULADD(at[16], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1489|    126|    MULADD(at[17], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1490|    126|    MULADD(at[18], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1491|    126|    MULADD(at[19], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1492|    126|    MULADD(at[20], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1493|    126|    MULADD(at[21], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1494|    126|    MULADD(at[22], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1495|    126|    MULADD(at[23], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1496|    126|    MULADD(at[24], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1497|    126|    MULADD(at[25], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1498|    126|    MULADD(at[26], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1499|    126|    MULADD(at[27], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1500|    126|    MULADD(at[28], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1501|    126|    MULADD(at[29], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1502|    126|    MULADD(at[30], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1503|    126|    MULADD(at[31], at[38]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1504|    126|    COMBA_STORE(C->dp[37]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1505|       |    /* 38 */
 1506|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1507|    126|    MULADD(at[7], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1508|    126|    MULADD(at[8], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1509|    126|    MULADD(at[9], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1510|    126|    MULADD(at[10], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1511|    126|    MULADD(at[11], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1512|    126|    MULADD(at[12], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1513|    126|    MULADD(at[13], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1514|    126|    MULADD(at[14], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1515|    126|    MULADD(at[15], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1516|    126|    MULADD(at[16], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1517|    126|    MULADD(at[17], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1518|    126|    MULADD(at[18], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1519|    126|    MULADD(at[19], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1520|    126|    MULADD(at[20], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1521|    126|    MULADD(at[21], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1522|    126|    MULADD(at[22], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1523|    126|    MULADD(at[23], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1524|    126|    MULADD(at[24], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1525|    126|    MULADD(at[25], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1526|    126|    MULADD(at[26], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1527|    126|    MULADD(at[27], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1528|    126|    MULADD(at[28], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1529|    126|    MULADD(at[29], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1530|    126|    MULADD(at[30], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1531|    126|    MULADD(at[31], at[39]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1532|    126|    COMBA_STORE(C->dp[38]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1533|       |    /* 39 */
 1534|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1535|    126|    MULADD(at[8], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1536|    126|    MULADD(at[9], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1537|    126|    MULADD(at[10], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1538|    126|    MULADD(at[11], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1539|    126|    MULADD(at[12], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1540|    126|    MULADD(at[13], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1541|    126|    MULADD(at[14], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1542|    126|    MULADD(at[15], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1543|    126|    MULADD(at[16], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1544|    126|    MULADD(at[17], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1545|    126|    MULADD(at[18], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1546|    126|    MULADD(at[19], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1547|    126|    MULADD(at[20], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1548|    126|    MULADD(at[21], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1549|    126|    MULADD(at[22], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1550|    126|    MULADD(at[23], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1551|    126|    MULADD(at[24], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1552|    126|    MULADD(at[25], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1553|    126|    MULADD(at[26], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1554|    126|    MULADD(at[27], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1555|    126|    MULADD(at[28], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1556|    126|    MULADD(at[29], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1557|    126|    MULADD(at[30], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1558|    126|    MULADD(at[31], at[40]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1559|    126|    COMBA_STORE(C->dp[39]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1560|       |    /* 40 */
 1561|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1562|    126|    MULADD(at[9], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1563|    126|    MULADD(at[10], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1564|    126|    MULADD(at[11], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1565|    126|    MULADD(at[12], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1566|    126|    MULADD(at[13], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1567|    126|    MULADD(at[14], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1568|    126|    MULADD(at[15], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1569|    126|    MULADD(at[16], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1570|    126|    MULADD(at[17], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1571|    126|    MULADD(at[18], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1572|    126|    MULADD(at[19], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1573|    126|    MULADD(at[20], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1574|    126|    MULADD(at[21], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1575|    126|    MULADD(at[22], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1576|    126|    MULADD(at[23], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1577|    126|    MULADD(at[24], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1578|    126|    MULADD(at[25], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1579|    126|    MULADD(at[26], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1580|    126|    MULADD(at[27], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1581|    126|    MULADD(at[28], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1582|    126|    MULADD(at[29], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1583|    126|    MULADD(at[30], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1584|    126|    MULADD(at[31], at[41]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1585|    126|    COMBA_STORE(C->dp[40]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1586|       |    /* 41 */
 1587|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1588|    126|    MULADD(at[10], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1589|    126|    MULADD(at[11], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1590|    126|    MULADD(at[12], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1591|    126|    MULADD(at[13], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1592|    126|    MULADD(at[14], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1593|    126|    MULADD(at[15], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1594|    126|    MULADD(at[16], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1595|    126|    MULADD(at[17], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1596|    126|    MULADD(at[18], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1597|    126|    MULADD(at[19], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1598|    126|    MULADD(at[20], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1599|    126|    MULADD(at[21], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1600|    126|    MULADD(at[22], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1601|    126|    MULADD(at[23], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1602|    126|    MULADD(at[24], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1603|    126|    MULADD(at[25], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1604|    126|    MULADD(at[26], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1605|    126|    MULADD(at[27], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1606|    126|    MULADD(at[28], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1607|    126|    MULADD(at[29], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1608|    126|    MULADD(at[30], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1609|    126|    MULADD(at[31], at[42]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1610|    126|    COMBA_STORE(C->dp[41]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1611|       |    /* 42 */
 1612|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1613|    126|    MULADD(at[11], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1614|    126|    MULADD(at[12], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1615|    126|    MULADD(at[13], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1616|    126|    MULADD(at[14], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1617|    126|    MULADD(at[15], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1618|    126|    MULADD(at[16], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1619|    126|    MULADD(at[17], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1620|    126|    MULADD(at[18], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1621|    126|    MULADD(at[19], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1622|    126|    MULADD(at[20], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1623|    126|    MULADD(at[21], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1624|    126|    MULADD(at[22], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1625|    126|    MULADD(at[23], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1626|    126|    MULADD(at[24], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1627|    126|    MULADD(at[25], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1628|    126|    MULADD(at[26], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1629|    126|    MULADD(at[27], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1630|    126|    MULADD(at[28], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1631|    126|    MULADD(at[29], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1632|    126|    MULADD(at[30], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1633|    126|    MULADD(at[31], at[43]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1634|    126|    COMBA_STORE(C->dp[42]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1635|       |    /* 43 */
 1636|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1637|    126|    MULADD(at[12], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1638|    126|    MULADD(at[13], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1639|    126|    MULADD(at[14], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1640|    126|    MULADD(at[15], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1641|    126|    MULADD(at[16], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1642|    126|    MULADD(at[17], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1643|    126|    MULADD(at[18], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1644|    126|    MULADD(at[19], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1645|    126|    MULADD(at[20], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1646|    126|    MULADD(at[21], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1647|    126|    MULADD(at[22], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1648|    126|    MULADD(at[23], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1649|    126|    MULADD(at[24], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1650|    126|    MULADD(at[25], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1651|    126|    MULADD(at[26], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1652|    126|    MULADD(at[27], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1653|    126|    MULADD(at[28], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1654|    126|    MULADD(at[29], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1655|    126|    MULADD(at[30], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1656|    126|    MULADD(at[31], at[44]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1657|    126|    COMBA_STORE(C->dp[43]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1658|       |    /* 44 */
 1659|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1660|    126|    MULADD(at[13], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1661|    126|    MULADD(at[14], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1662|    126|    MULADD(at[15], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1663|    126|    MULADD(at[16], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1664|    126|    MULADD(at[17], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1665|    126|    MULADD(at[18], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1666|    126|    MULADD(at[19], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1667|    126|    MULADD(at[20], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1668|    126|    MULADD(at[21], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1669|    126|    MULADD(at[22], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1670|    126|    MULADD(at[23], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1671|    126|    MULADD(at[24], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1672|    126|    MULADD(at[25], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1673|    126|    MULADD(at[26], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1674|    126|    MULADD(at[27], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1675|    126|    MULADD(at[28], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1676|    126|    MULADD(at[29], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1677|    126|    MULADD(at[30], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1678|    126|    MULADD(at[31], at[45]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1679|    126|    COMBA_STORE(C->dp[44]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1680|       |    /* 45 */
 1681|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1682|    126|    MULADD(at[14], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1683|    126|    MULADD(at[15], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1684|    126|    MULADD(at[16], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1685|    126|    MULADD(at[17], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1686|    126|    MULADD(at[18], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1687|    126|    MULADD(at[19], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1688|    126|    MULADD(at[20], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1689|    126|    MULADD(at[21], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1690|    126|    MULADD(at[22], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1691|    126|    MULADD(at[23], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1692|    126|    MULADD(at[24], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1693|    126|    MULADD(at[25], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1694|    126|    MULADD(at[26], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1695|    126|    MULADD(at[27], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1696|    126|    MULADD(at[28], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1697|    126|    MULADD(at[29], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1698|    126|    MULADD(at[30], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1699|    126|    MULADD(at[31], at[46]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1700|    126|    COMBA_STORE(C->dp[45]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1701|       |    /* 46 */
 1702|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1703|    126|    MULADD(at[15], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1704|    126|    MULADD(at[16], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1705|    126|    MULADD(at[17], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1706|    126|    MULADD(at[18], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1707|    126|    MULADD(at[19], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1708|    126|    MULADD(at[20], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1709|    126|    MULADD(at[21], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1710|    126|    MULADD(at[22], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1711|    126|    MULADD(at[23], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1712|    126|    MULADD(at[24], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1713|    126|    MULADD(at[25], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1714|    126|    MULADD(at[26], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1715|    126|    MULADD(at[27], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1716|    126|    MULADD(at[28], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1717|    126|    MULADD(at[29], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1718|    126|    MULADD(at[30], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1719|    126|    MULADD(at[31], at[47]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1720|    126|    COMBA_STORE(C->dp[46]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1721|       |    /* 47 */
 1722|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1723|    126|    MULADD(at[16], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1724|    126|    MULADD(at[17], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1725|    126|    MULADD(at[18], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1726|    126|    MULADD(at[19], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1727|    126|    MULADD(at[20], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1728|    126|    MULADD(at[21], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1729|    126|    MULADD(at[22], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1730|    126|    MULADD(at[23], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1731|    126|    MULADD(at[24], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1732|    126|    MULADD(at[25], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1733|    126|    MULADD(at[26], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1734|    126|    MULADD(at[27], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1735|    126|    MULADD(at[28], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1736|    126|    MULADD(at[29], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1737|    126|    MULADD(at[30], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1738|    126|    MULADD(at[31], at[48]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1739|    126|    COMBA_STORE(C->dp[47]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1740|       |    /* 48 */
 1741|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1742|    126|    MULADD(at[17], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1743|    126|    MULADD(at[18], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1744|    126|    MULADD(at[19], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1745|    126|    MULADD(at[20], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1746|    126|    MULADD(at[21], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1747|    126|    MULADD(at[22], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1748|    126|    MULADD(at[23], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1749|    126|    MULADD(at[24], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1750|    126|    MULADD(at[25], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1751|    126|    MULADD(at[26], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1752|    126|    MULADD(at[27], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1753|    126|    MULADD(at[28], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1754|    126|    MULADD(at[29], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1755|    126|    MULADD(at[30], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1756|    126|    MULADD(at[31], at[49]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1757|    126|    COMBA_STORE(C->dp[48]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1758|       |    /* 49 */
 1759|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1760|    126|    MULADD(at[18], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1761|    126|    MULADD(at[19], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1762|    126|    MULADD(at[20], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1763|    126|    MULADD(at[21], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1764|    126|    MULADD(at[22], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1765|    126|    MULADD(at[23], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1766|    126|    MULADD(at[24], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1767|    126|    MULADD(at[25], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1768|    126|    MULADD(at[26], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1769|    126|    MULADD(at[27], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1770|    126|    MULADD(at[28], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1771|    126|    MULADD(at[29], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1772|    126|    MULADD(at[30], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1773|    126|    MULADD(at[31], at[50]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1774|    126|    COMBA_STORE(C->dp[49]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1775|       |    /* 50 */
 1776|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1777|    126|    MULADD(at[19], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1778|    126|    MULADD(at[20], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1779|    126|    MULADD(at[21], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1780|    126|    MULADD(at[22], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1781|    126|    MULADD(at[23], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1782|    126|    MULADD(at[24], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1783|    126|    MULADD(at[25], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1784|    126|    MULADD(at[26], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1785|    126|    MULADD(at[27], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1786|    126|    MULADD(at[28], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1787|    126|    MULADD(at[29], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1788|    126|    MULADD(at[30], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1789|    126|    MULADD(at[31], at[51]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1790|    126|    COMBA_STORE(C->dp[50]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1791|       |    /* 51 */
 1792|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1793|    126|    MULADD(at[20], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1794|    126|    MULADD(at[21], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1795|    126|    MULADD(at[22], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1796|    126|    MULADD(at[23], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1797|    126|    MULADD(at[24], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1798|    126|    MULADD(at[25], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1799|    126|    MULADD(at[26], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1800|    126|    MULADD(at[27], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1801|    126|    MULADD(at[28], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1802|    126|    MULADD(at[29], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1803|    126|    MULADD(at[30], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1804|    126|    MULADD(at[31], at[52]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1805|    126|    COMBA_STORE(C->dp[51]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1806|       |    /* 52 */
 1807|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1808|    126|    MULADD(at[21], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1809|    126|    MULADD(at[22], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1810|    126|    MULADD(at[23], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1811|    126|    MULADD(at[24], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1812|    126|    MULADD(at[25], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1813|    126|    MULADD(at[26], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1814|    126|    MULADD(at[27], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1815|    126|    MULADD(at[28], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1816|    126|    MULADD(at[29], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1817|    126|    MULADD(at[30], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1818|    126|    MULADD(at[31], at[53]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1819|    126|    COMBA_STORE(C->dp[52]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1820|       |    /* 53 */
 1821|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1822|    126|    MULADD(at[22], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1823|    126|    MULADD(at[23], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1824|    126|    MULADD(at[24], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1825|    126|    MULADD(at[25], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1826|    126|    MULADD(at[26], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1827|    126|    MULADD(at[27], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1828|    126|    MULADD(at[28], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1829|    126|    MULADD(at[29], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1830|    126|    MULADD(at[30], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1831|    126|    MULADD(at[31], at[54]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1832|    126|    COMBA_STORE(C->dp[53]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1833|       |    /* 54 */
 1834|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1835|    126|    MULADD(at[23], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1836|    126|    MULADD(at[24], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1837|    126|    MULADD(at[25], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1838|    126|    MULADD(at[26], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1839|    126|    MULADD(at[27], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1840|    126|    MULADD(at[28], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1841|    126|    MULADD(at[29], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1842|    126|    MULADD(at[30], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1843|    126|    MULADD(at[31], at[55]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1844|    126|    COMBA_STORE(C->dp[54]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1845|       |    /* 55 */
 1846|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1847|    126|    MULADD(at[24], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1848|    126|    MULADD(at[25], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1849|    126|    MULADD(at[26], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1850|    126|    MULADD(at[27], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1851|    126|    MULADD(at[28], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1852|    126|    MULADD(at[29], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1853|    126|    MULADD(at[30], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1854|    126|    MULADD(at[31], at[56]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1855|    126|    COMBA_STORE(C->dp[55]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1856|       |    /* 56 */
 1857|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1858|    126|    MULADD(at[25], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1859|    126|    MULADD(at[26], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1860|    126|    MULADD(at[27], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1861|    126|    MULADD(at[28], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1862|    126|    MULADD(at[29], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1863|    126|    MULADD(at[30], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1864|    126|    MULADD(at[31], at[57]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1865|    126|    COMBA_STORE(C->dp[56]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1866|       |    /* 57 */
 1867|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1868|    126|    MULADD(at[26], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1869|    126|    MULADD(at[27], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1870|    126|    MULADD(at[28], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1871|    126|    MULADD(at[29], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1872|    126|    MULADD(at[30], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1873|    126|    MULADD(at[31], at[58]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1874|    126|    COMBA_STORE(C->dp[57]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1875|       |    /* 58 */
 1876|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1877|    126|    MULADD(at[27], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1878|    126|    MULADD(at[28], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1879|    126|    MULADD(at[29], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1880|    126|    MULADD(at[30], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1881|    126|    MULADD(at[31], at[59]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1882|    126|    COMBA_STORE(C->dp[58]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1883|       |    /* 59 */
 1884|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1885|    126|    MULADD(at[28], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1886|    126|    MULADD(at[29], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1887|    126|    MULADD(at[30], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1888|    126|    MULADD(at[31], at[60]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1889|    126|    COMBA_STORE(C->dp[59]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1890|       |    /* 60 */
 1891|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1892|    126|    MULADD(at[29], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1893|    126|    MULADD(at[30], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1894|    126|    MULADD(at[31], at[61]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1895|    126|    COMBA_STORE(C->dp[60]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1896|       |    /* 61 */
 1897|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1898|    126|    MULADD(at[30], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1899|    126|    MULADD(at[31], at[62]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1900|    126|    COMBA_STORE(C->dp[61]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1901|       |    /* 62 */
 1902|    126|    COMBA_FORWARD;
  ------------------
  |  |   41|    126|    do {              \
  |  |   42|    126|        c0 = c1;      \
  |  |   43|    126|        c1 = c2;      \
  |  |   44|    126|        c2 = 0;       \
  |  |   45|    126|    } while (0);
  |  |  ------------------
  |  |  |  Branch (45:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1903|    126|    MULADD(at[31], at[63]);
  ------------------
  |  |   52|    126|    __asm__(                                        \
  |  |   53|    126|        "movq  %6,%%rax     \n\t"                   \
  |  |   54|    126|        "mulq  %7           \n\t"                   \
  |  |   55|    126|        "addq  %%rax,%0     \n\t"                   \
  |  |   56|    126|        "adcq  %%rdx,%1     \n\t"                   \
  |  |   57|    126|        "adcq  $0,%2        \n\t"                   \
  |  |   58|    126|        : "=r"(c0), "=r"(c1), "=r"(c2)              \
  |  |   59|    126|        : "0"(c0), "1"(c1), "2"(c2), "g"(i), "g"(j) \
  |  |   60|    126|        : "%rax", "%rdx", "cc");
  ------------------
 1904|    126|    COMBA_STORE(C->dp[62]);
  ------------------
  |  |   67|    126|    x = c0;
  ------------------
 1905|    126|    COMBA_STORE2(C->dp[63]);
  ------------------
  |  |   70|    126|    x = c1;
  ------------------
 1906|    126|    C->used = 64;
 1907|    126|    C->sign = A->sign ^ B->sign;
 1908|    126|    mp_clamp(C);
  ------------------
  |  |   26|    126|    {                                                    \
  |  |   27|    244|        while ((a)->used && (a)->dp[(a)->used - 1] == 0) \
  |  |  ------------------
  |  |  |  Branch (27:16): [True: 244, False: 0]
  |  |  |  Branch (27:29): [True: 118, False: 126]
  |  |  ------------------
  |  |   28|    126|            --((a)->used);                               \
  |  |   29|    126|        (a)->sign = (a)->used ? (a)->sign : ZPOS;        \
  |  |  ------------------
  |  |  |  |  321|      0|#define ZPOS MP_ZPOS
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    126|#define MP_ZPOS 0
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (29:21): [True: 126, False: 0]
  |  |  ------------------
  |  |   30|    126|    }
  ------------------
 1909|    126|    COMBA_FINI;
 1910|    126|}

mp_init:
  121|  19.8k|{
  122|  19.8k|    return mp_init_size(mp, s_mp_defprec);
  123|       |
  124|  19.8k|} /* end mp_init() */
mp_init_size:
  140|  26.8k|{
  141|  26.8k|    ARGCHK(mp != NULL && prec > 0, MP_BADARG);
  ------------------
  |  |  350|  26.8k|#define ARGCHK(X, Y) assert(X)
  ------------------
  142|       |
  143|  26.8k|    prec = MP_ROUNDUP(prec, s_mp_defprec);
  ------------------
  |  |   89|  26.8k|#define MP_ROUNDUP(a, b) (MP_HOWMANY(a, b) * (b))
  |  |  ------------------
  |  |  |  |   88|  26.8k|#define MP_HOWMANY(a, b) (((a) + (b)-1) / (b))
  |  |  ------------------
  ------------------
  144|  26.8k|    if ((DIGITS(mp) = s_mp_alloc(prec, sizeof(mp_digit))) == NULL)
  ------------------
  |  |  330|  26.8k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  26.8k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
  |  Branch (144:9): [True: 0, False: 26.8k]
  ------------------
  145|      0|        return MP_MEM;
  ------------------
  |  |   42|      0|#define MP_MEM -2    /* out of memory         */
  ------------------
  146|       |
  147|  26.8k|    SIGN(mp) = ZPOS;
  ------------------
  |  |  327|  26.8k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  26.8k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                  SIGN(mp) = ZPOS;
  ------------------
  |  |  321|  26.8k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  26.8k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
  148|  26.8k|    USED(mp) = 1;
  ------------------
  |  |  328|  26.8k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  26.8k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  149|  26.8k|    ALLOC(mp) = prec;
  ------------------
  |  |  329|  26.8k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|  26.8k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  150|       |
  151|  26.8k|    return MP_OKAY;
  ------------------
  |  |   39|  26.8k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  152|       |
  153|  26.8k|} /* end mp_init_size() */
mp_init_copy:
  169|   574k|{
  170|   574k|    ARGCHK(mp != NULL && from != NULL, MP_BADARG);
  ------------------
  |  |  350|   574k|#define ARGCHK(X, Y) assert(X)
  ------------------
  171|       |
  172|   574k|    if (mp == from)
  ------------------
  |  Branch (172:9): [True: 0, False: 574k]
  ------------------
  173|      0|        return MP_OKAY;
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  174|       |
  175|   574k|    if ((DIGITS(mp) = s_mp_alloc(ALLOC(from), sizeof(mp_digit))) == NULL)
  ------------------
  |  |  330|   574k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|   574k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                  if ((DIGITS(mp) = s_mp_alloc(ALLOC(from), sizeof(mp_digit))) == NULL)
  ------------------
  |  |  329|   574k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|   574k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  |  Branch (175:9): [True: 0, False: 574k]
  ------------------
  176|      0|        return MP_MEM;
  ------------------
  |  |   42|      0|#define MP_MEM -2    /* out of memory         */
  ------------------
  177|       |
  178|   574k|    s_mp_copy(DIGITS(from), DIGITS(mp), USED(from));
  ------------------
  |  |  330|   574k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|   574k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                  s_mp_copy(DIGITS(from), DIGITS(mp), USED(from));
  ------------------
  |  |  330|   574k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|   574k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                  s_mp_copy(DIGITS(from), DIGITS(mp), USED(from));
  ------------------
  |  |  328|   574k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|   574k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  179|   574k|    USED(mp) = USED(from);
  ------------------
  |  |  328|   574k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|   574k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
                  USED(mp) = USED(from);
  ------------------
  |  |  328|   574k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|   574k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  180|   574k|    ALLOC(mp) = ALLOC(from);
  ------------------
  |  |  329|   574k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|   574k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
                  ALLOC(mp) = ALLOC(from);
  ------------------
  |  |  329|   574k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|   574k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  181|   574k|    SIGN(mp) = SIGN(from);
  ------------------
  |  |  327|   574k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|   574k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                  SIGN(mp) = SIGN(from);
  ------------------
  |  |  327|   574k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|   574k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
  182|       |
  183|   574k|    return MP_OKAY;
  ------------------
  |  |   39|   574k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  184|       |
  185|   574k|} /* end mp_init_copy() */
mp_copy:
  201|  1.72M|{
  202|  1.72M|    ARGCHK(from != NULL && to != NULL, MP_BADARG);
  ------------------
  |  |  350|  1.72M|#define ARGCHK(X, Y) assert(X)
  ------------------
  203|       |
  204|  1.72M|    if (from == to)
  ------------------
  |  Branch (204:9): [True: 1.68M, False: 35.6k]
  ------------------
  205|  1.68M|        return MP_OKAY;
  ------------------
  |  |   39|  1.68M|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  206|       |
  207|  35.6k|    { /* copy */
  208|  35.6k|        mp_digit *tmp;
  209|       |
  210|       |        /*
  211|       |          If the allocated buffer in 'to' already has enough space to hold
  212|       |          all the used digits of 'from', we'll re-use it to avoid hitting
  213|       |          the memory allocater more than necessary; otherwise, we'd have
  214|       |          to grow anyway, so we just allocate a hunk and make the copy as
  215|       |          usual
  216|       |         */
  217|  35.6k|        if (ALLOC(to) >= USED(from)) {
  ------------------
  |  |  329|  35.6k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|  35.6k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
                      if (ALLOC(to) >= USED(from)) {
  ------------------
  |  |  328|  35.6k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  35.6k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  |  Branch (217:13): [True: 35.6k, False: 0]
  ------------------
  218|  35.6k|            s_mp_setz(DIGITS(to) + USED(from), ALLOC(to) - USED(from));
  ------------------
  |  |  330|  35.6k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  35.6k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                          s_mp_setz(DIGITS(to) + USED(from), ALLOC(to) - USED(from));
  ------------------
  |  |  328|  35.6k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  35.6k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
                          s_mp_setz(DIGITS(to) + USED(from), ALLOC(to) - USED(from));
  ------------------
  |  |  329|  35.6k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|  35.6k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
                          s_mp_setz(DIGITS(to) + USED(from), ALLOC(to) - USED(from));
  ------------------
  |  |  328|  35.6k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  35.6k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  219|  35.6k|            s_mp_copy(DIGITS(from), DIGITS(to), USED(from));
  ------------------
  |  |  330|  35.6k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  35.6k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                          s_mp_copy(DIGITS(from), DIGITS(to), USED(from));
  ------------------
  |  |  330|  35.6k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  35.6k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                          s_mp_copy(DIGITS(from), DIGITS(to), USED(from));
  ------------------
  |  |  328|  35.6k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  35.6k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  220|       |
  221|  35.6k|        } else {
  222|      0|            if ((tmp = s_mp_alloc(ALLOC(from), sizeof(mp_digit))) == NULL)
  ------------------
  |  |  329|      0|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|      0|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  |  Branch (222:17): [True: 0, False: 0]
  ------------------
  223|      0|                return MP_MEM;
  ------------------
  |  |   42|      0|#define MP_MEM -2    /* out of memory         */
  ------------------
  224|       |
  225|      0|            s_mp_copy(DIGITS(from), tmp, USED(from));
  ------------------
  |  |  330|      0|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|      0|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                          s_mp_copy(DIGITS(from), tmp, USED(from));
  ------------------
  |  |  328|      0|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|      0|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  226|       |
  227|      0|            if (DIGITS(to) != NULL) {
  ------------------
  |  |  330|      0|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|      0|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
  |  Branch (227:17): [True: 0, False: 0]
  ------------------
  228|      0|                s_mp_setz(DIGITS(to), ALLOC(to));
  ------------------
  |  |  330|      0|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|      0|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                              s_mp_setz(DIGITS(to), ALLOC(to));
  ------------------
  |  |  329|      0|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|      0|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  229|      0|                s_mp_free(DIGITS(to));
  ------------------
  |  |  330|      0|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|      0|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
  230|      0|            }
  231|       |
  232|      0|            DIGITS(to) = tmp;
  ------------------
  |  |  330|      0|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|      0|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
  233|      0|            ALLOC(to) = ALLOC(from);
  ------------------
  |  |  329|      0|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|      0|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
                          ALLOC(to) = ALLOC(from);
  ------------------
  |  |  329|      0|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|      0|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  234|      0|        }
  235|       |
  236|       |        /* Copy the precision and sign from the original */
  237|  35.6k|        USED(to) = USED(from);
  ------------------
  |  |  328|  35.6k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  35.6k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
                      USED(to) = USED(from);
  ------------------
  |  |  328|  35.6k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  35.6k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  238|  35.6k|        SIGN(to) = SIGN(from);
  ------------------
  |  |  327|  35.6k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  35.6k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(to) = SIGN(from);
  ------------------
  |  |  327|  35.6k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  35.6k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
  239|  35.6k|    } /* end copy */
  240|       |
  241|  35.6k|    return MP_OKAY;
  ------------------
  |  |   39|  35.6k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  242|       |
  243|  35.6k|} /* end mp_copy() */
mp_clear:
  285|   605k|{
  286|   605k|    if (mp == NULL)
  ------------------
  |  Branch (286:9): [True: 0, False: 605k]
  ------------------
  287|      0|        return;
  288|       |
  289|   605k|    if (DIGITS(mp) != NULL) {
  ------------------
  |  |  330|   605k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|   605k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
  |  Branch (289:9): [True: 601k, False: 3.97k]
  ------------------
  290|   601k|        s_mp_setz(DIGITS(mp), ALLOC(mp));
  ------------------
  |  |  330|   601k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|   601k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                      s_mp_setz(DIGITS(mp), ALLOC(mp));
  ------------------
  |  |  329|   601k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|   601k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  291|   601k|        s_mp_free(DIGITS(mp));
  ------------------
  |  |  330|   601k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|   601k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
  292|   601k|        DIGITS(mp) = NULL;
  ------------------
  |  |  330|   601k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|   601k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
  293|   601k|    }
  294|       |
  295|   605k|    USED(mp) = 0;
  ------------------
  |  |  328|   605k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|   605k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  296|   605k|    ALLOC(mp) = 0;
  ------------------
  |  |  329|   605k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|   605k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  297|       |
  298|   605k|} /* end mp_clear() */
mp_zero:
  312|  12.4k|{
  313|  12.4k|    if (mp == NULL)
  ------------------
  |  Branch (313:9): [True: 0, False: 12.4k]
  ------------------
  314|      0|        return;
  315|       |
  316|  12.4k|    s_mp_setz(DIGITS(mp), ALLOC(mp));
  ------------------
  |  |  330|  12.4k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  12.4k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                  s_mp_setz(DIGITS(mp), ALLOC(mp));
  ------------------
  |  |  329|  12.4k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|  12.4k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  317|  12.4k|    USED(mp) = 1;
  ------------------
  |  |  328|  12.4k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  12.4k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  318|  12.4k|    SIGN(mp) = ZPOS;
  ------------------
  |  |  327|  12.4k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  12.4k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                  SIGN(mp) = ZPOS;
  ------------------
  |  |  321|  12.4k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  12.4k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
  319|       |
  320|  12.4k|} /* end mp_zero() */
mp_add_d:
  408|   552k|{
  409|   552k|    mp_int tmp;
  410|   552k|    mp_err res;
  411|       |
  412|   552k|    ARGCHK(a != NULL && b != NULL, MP_BADARG);
  ------------------
  |  |  350|   552k|#define ARGCHK(X, Y) assert(X)
  ------------------
  413|       |
  414|   552k|    if ((res = mp_init_copy(&tmp, a)) != MP_OKAY)
  ------------------
  |  |   39|   552k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (414:9): [True: 0, False: 552k]
  ------------------
  415|      0|        return res;
  416|       |
  417|   552k|    if (SIGN(&tmp) == ZPOS) {
  ------------------
  |  |  327|   552k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|   552k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                  if (SIGN(&tmp) == ZPOS) {
  ------------------
  |  |  321|   552k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|   552k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
  |  Branch (417:9): [True: 552k, False: 0]
  ------------------
  418|   552k|        if ((res = s_mp_add_d(&tmp, d)) != MP_OKAY)
  ------------------
  |  |   39|   552k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (418:13): [True: 0, False: 552k]
  ------------------
  419|      0|            goto CLEANUP;
  420|   552k|    } else if (s_mp_cmp_d(&tmp, d) >= 0) {
  ------------------
  |  Branch (420:16): [True: 0, False: 0]
  ------------------
  421|      0|        if ((res = s_mp_sub_d(&tmp, d)) != MP_OKAY)
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (421:13): [True: 0, False: 0]
  ------------------
  422|      0|            goto CLEANUP;
  423|      0|    } else {
  424|      0|        mp_neg(&tmp, &tmp);
  425|       |
  426|      0|        DIGIT(&tmp, 0) = d - DIGIT(&tmp, 0);
  ------------------
  |  |  331|      0|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|      0|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
                      DIGIT(&tmp, 0) = d - DIGIT(&tmp, 0);
  ------------------
  |  |  331|      0|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|      0|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
  427|      0|    }
  428|       |
  429|   552k|    if (s_mp_cmp_d(&tmp, 0) == 0)
  ------------------
  |  Branch (429:9): [True: 58.5k, False: 494k]
  ------------------
  430|  58.5k|        SIGN(&tmp) = ZPOS;
  ------------------
  |  |  327|  58.5k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  58.5k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(&tmp) = ZPOS;
  ------------------
  |  |  321|  58.5k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  58.5k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
  431|       |
  432|   552k|    s_mp_exch(&tmp, b);
  433|       |
  434|   552k|CLEANUP:
  435|   552k|    mp_clear(&tmp);
  436|   552k|    return res;
  437|       |
  438|   552k|} /* end mp_add_d() */
mp_mul_d:
  499|   552k|{
  500|   552k|    mp_err res;
  501|       |
  502|   552k|    ARGCHK(a != NULL && b != NULL, MP_BADARG);
  ------------------
  |  |  350|   552k|#define ARGCHK(X, Y) assert(X)
  ------------------
  503|       |
  504|   552k|    if (d == 0) {
  ------------------
  |  Branch (504:9): [True: 0, False: 552k]
  ------------------
  505|      0|        mp_zero(b);
  506|      0|        return MP_OKAY;
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  507|      0|    }
  508|       |
  509|   552k|    if ((res = mp_copy(a, b)) != MP_OKAY)
  ------------------
  |  |   39|   552k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (509:9): [True: 0, False: 552k]
  ------------------
  510|      0|        return res;
  511|       |
  512|   552k|    res = s_mp_mul_d(b, d);
  513|       |
  514|   552k|    return res;
  515|       |
  516|   552k|} /* end mp_mul_d() */
mp_div_d:
  550|  1.13M|{
  551|  1.13M|    mp_err res;
  552|  1.13M|    mp_int qp;
  553|  1.13M|    mp_digit rem = 0;
  554|  1.13M|    int pow;
  555|       |
  556|  1.13M|    ARGCHK(a != NULL, MP_BADARG);
  ------------------
  |  |  350|  1.13M|#define ARGCHK(X, Y) assert(X)
  ------------------
  557|       |
  558|  1.13M|    if (d == 0)
  ------------------
  |  Branch (558:9): [True: 0, False: 1.13M]
  ------------------
  559|      0|        return MP_RANGE;
  ------------------
  |  |   43|      0|#define MP_RANGE -3  /* argument out of range */
  ------------------
  560|       |
  561|       |    /* Shortcut for powers of two ... */
  562|  1.13M|    if ((pow = s_mp_ispow2d(d)) >= 0) {
  ------------------
  |  Branch (562:9): [True: 1.13M, False: 0]
  ------------------
  563|  1.13M|        mp_digit mask;
  564|       |
  565|  1.13M|        mask = ((mp_digit)1 << pow) - 1;
  566|  1.13M|        rem = DIGIT(a, 0) & mask;
  ------------------
  |  |  331|  1.13M|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|  1.13M|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
  567|       |
  568|  1.13M|        if (q) {
  ------------------
  |  Branch (568:13): [True: 1.13M, False: 0]
  ------------------
  569|  1.13M|            if ((res = mp_copy(a, q)) != MP_OKAY) {
  ------------------
  |  |   39|  1.13M|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (569:17): [True: 0, False: 1.13M]
  ------------------
  570|      0|                return res;
  571|      0|            }
  572|  1.13M|            s_mp_div_2d(q, pow);
  573|  1.13M|        }
  574|       |
  575|  1.13M|        if (r)
  ------------------
  |  Branch (575:13): [True: 1.13M, False: 0]
  ------------------
  576|  1.13M|            *r = rem;
  577|       |
  578|  1.13M|        return MP_OKAY;
  ------------------
  |  |   39|  1.13M|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  579|  1.13M|    }
  580|       |
  581|      0|    if ((res = mp_init_copy(&qp, a)) != MP_OKAY)
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (581:9): [True: 0, False: 0]
  ------------------
  582|      0|        return res;
  583|       |
  584|      0|    res = s_mp_div_d(&qp, d, &rem);
  585|       |
  586|      0|    if (s_mp_cmp_d(&qp, 0) == 0)
  ------------------
  |  Branch (586:9): [True: 0, False: 0]
  ------------------
  587|      0|        SIGN(q) = ZPOS;
  ------------------
  |  |  327|      0|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|      0|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(q) = ZPOS;
  ------------------
  |  |  321|      0|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|      0|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
  588|       |
  589|      0|    if (r) {
  ------------------
  |  Branch (589:9): [True: 0, False: 0]
  ------------------
  590|      0|        *r = rem;
  591|      0|    }
  592|       |
  593|      0|    if (q)
  ------------------
  |  Branch (593:9): [True: 0, False: 0]
  ------------------
  594|      0|        s_mp_exch(&qp, q);
  595|       |
  596|      0|    mp_clear(&qp);
  597|      0|    return res;
  598|       |
  599|      0|} /* end mp_div_d() */
s_mp_mulg:
  819|  3.97k|{
  820|  3.97k|    mp_digit *pb;
  821|  3.97k|    mp_int tmp;
  822|  3.97k|    mp_err res;
  823|  3.97k|    mp_size ib;
  824|  3.97k|    mp_size useda, usedb;
  825|       |
  826|  3.97k|    ARGCHK(a != NULL && b != NULL && c != NULL, MP_BADARG);
  ------------------
  |  |  350|  3.97k|#define ARGCHK(X, Y) assert(X)
  ------------------
  827|       |
  828|  3.97k|    if (a == c) {
  ------------------
  |  Branch (828:9): [True: 0, False: 3.97k]
  ------------------
  829|      0|        if ((res = mp_init_copy(&tmp, a)) != MP_OKAY)
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (829:13): [True: 0, False: 0]
  ------------------
  830|      0|            return res;
  831|      0|        if (a == b)
  ------------------
  |  Branch (831:13): [True: 0, False: 0]
  ------------------
  832|      0|            b = &tmp;
  833|      0|        a = &tmp;
  834|  3.97k|    } else if (b == c) {
  ------------------
  |  Branch (834:16): [True: 0, False: 3.97k]
  ------------------
  835|      0|        if ((res = mp_init_copy(&tmp, b)) != MP_OKAY)
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (835:13): [True: 0, False: 0]
  ------------------
  836|      0|            return res;
  837|      0|        b = &tmp;
  838|  3.97k|    } else {
  839|  3.97k|        MP_DIGITS(&tmp) = 0;
  ------------------
  |  |  147|  3.97k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
  840|  3.97k|    }
  841|       |
  842|  3.97k|    if (MP_USED(a) < MP_USED(b)) {
  ------------------
  |  |  145|  3.97k|#define MP_USED(MP) ((MP)->used)
  ------------------
                  if (MP_USED(a) < MP_USED(b)) {
  ------------------
  |  |  145|  3.97k|#define MP_USED(MP) ((MP)->used)
  ------------------
  |  Branch (842:9): [True: 326, False: 3.64k]
  ------------------
  843|    326|        const mp_int *xch = b; /* switch a and b, to do fewer outer loops */
  844|    326|        b = a;
  845|    326|        a = xch;
  846|    326|    }
  847|       |
  848|  3.97k|    MP_USED(c) = 1;
  ------------------
  |  |  145|  3.97k|#define MP_USED(MP) ((MP)->used)
  ------------------
  849|  3.97k|    MP_DIGIT(c, 0) = 0;
  ------------------
  |  |  148|  3.97k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  ------------------
  850|  3.97k|    if ((res = s_mp_pad(c, USED(a) + USED(b))) != MP_OKAY)
  ------------------
  |  |  328|  3.97k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  3.97k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
                  if ((res = s_mp_pad(c, USED(a) + USED(b))) != MP_OKAY)
  ------------------
  |  |  328|  3.97k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  3.97k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
                  if ((res = s_mp_pad(c, USED(a) + USED(b))) != MP_OKAY)
  ------------------
  |  |   39|  3.97k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (850:9): [True: 0, False: 3.97k]
  ------------------
  851|      0|        goto CLEANUP;
  852|       |
  853|  3.97k|#ifdef NSS_USE_COMBA
  854|       |    /* comba isn't constant time because it clamps! If we cared
  855|       |     * (we needed a constant time version of multiply that was 'faster'
  856|       |     * we could easily pass constantTime down to the comba code and
  857|       |     * get it to skip the clamp... but here are assembler versions
  858|       |     * which add comba to platforms that can't compile the normal
  859|       |     * comba's imbedded assembler which would also need to change, so
  860|       |     * for now we just skip comba when we are running constant time. */
  861|  3.97k|    if (!constantTime && (MP_USED(a) == MP_USED(b)) && IS_POWER_OF_2(MP_USED(b))) {
  ------------------
  |  |  145|  3.97k|#define MP_USED(MP) ((MP)->used)
  ------------------
                  if (!constantTime && (MP_USED(a) == MP_USED(b)) && IS_POWER_OF_2(MP_USED(b))) {
  ------------------
  |  |  145|  3.97k|#define MP_USED(MP) ((MP)->used)
  ------------------
                  if (!constantTime && (MP_USED(a) == MP_USED(b)) && IS_POWER_OF_2(MP_USED(b))) {
  ------------------
  |  |  161|  3.29k|#define IS_POWER_OF_2(a) ((a) && !((a) & ((a)-1)))
  |  |  ------------------
  |  |  |  Branch (161:27): [True: 3.29k, False: 0]
  |  |  |  Branch (161:34): [True: 2.32k, False: 965]
  |  |  ------------------
  ------------------
  |  Branch (861:9): [True: 3.97k, False: 0]
  |  Branch (861:26): [True: 3.29k, False: 682]
  ------------------
  862|  2.32k|        if (MP_USED(a) == 4) {
  ------------------
  |  |  145|  2.32k|#define MP_USED(MP) ((MP)->used)
  ------------------
  |  Branch (862:13): [True: 175, False: 2.15k]
  ------------------
  863|    175|            s_mp_mul_comba_4(a, b, c);
  864|    175|            goto CLEANUP;
  865|    175|        }
  866|  2.15k|        if (MP_USED(a) == 8) {
  ------------------
  |  |  145|  2.15k|#define MP_USED(MP) ((MP)->used)
  ------------------
  |  Branch (866:13): [True: 157, False: 1.99k]
  ------------------
  867|    157|            s_mp_mul_comba_8(a, b, c);
  868|    157|            goto CLEANUP;
  869|    157|        }
  870|  1.99k|        if (MP_USED(a) == 16) {
  ------------------
  |  |  145|  1.99k|#define MP_USED(MP) ((MP)->used)
  ------------------
  |  Branch (870:13): [True: 124, False: 1.86k]
  ------------------
  871|    124|            s_mp_mul_comba_16(a, b, c);
  872|    124|            goto CLEANUP;
  873|    124|        }
  874|  1.86k|        if (MP_USED(a) == 32) {
  ------------------
  |  |  145|  1.86k|#define MP_USED(MP) ((MP)->used)
  ------------------
  |  Branch (874:13): [True: 126, False: 1.74k]
  ------------------
  875|    126|            s_mp_mul_comba_32(a, b, c);
  876|    126|            goto CLEANUP;
  877|    126|        }
  878|  1.86k|    }
  879|  3.39k|#endif
  880|       |
  881|  3.39k|    pb = MP_DIGITS(b);
  ------------------
  |  |  147|  3.39k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
  882|  3.39k|    s_mpv_mul_d(MP_DIGITS(a), MP_USED(a), *pb++, MP_DIGITS(c));
  ------------------
  |  |  189|  3.39k|    ((mp_digit *)c)[a_len] = s_mpv_mul_set_vec64(c, a, a_len, b)
  ------------------
  883|       |
  884|       |    /* Outer loop:  Digits of b */
  885|  3.39k|    useda = MP_USED(a);
  ------------------
  |  |  145|  3.39k|#define MP_USED(MP) ((MP)->used)
  ------------------
  886|  3.39k|    usedb = MP_USED(b);
  ------------------
  |  |  145|  3.39k|#define MP_USED(MP) ((MP)->used)
  ------------------
  887|  18.2k|    for (ib = 1; ib < usedb; ib++) {
  ------------------
  |  Branch (887:18): [True: 14.9k, False: 3.39k]
  ------------------
  888|  14.9k|        mp_digit b_i = *pb++;
  889|       |
  890|       |        /* Inner product:  Digits of a */
  891|  14.9k|        if (constantTime || b_i)
  ------------------
  |  Branch (891:13): [True: 0, False: 14.9k]
  |  Branch (891:29): [True: 11.0k, False: 3.87k]
  ------------------
  892|  11.0k|            s_mpv_mul_d_add(MP_DIGITS(a), useda, b_i, MP_DIGITS(c) + ib);
  ------------------
  |  |  193|  11.0k|    ((mp_digit *)c)[a_len] = s_mpv_mul_add_vec64(c, a, a_len, b)
  ------------------
  893|  3.87k|        else
  894|  3.87k|            MP_DIGIT(c, ib + useda) = b_i;
  ------------------
  |  |  148|  3.87k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  ------------------
  895|  14.9k|    }
  896|       |
  897|  3.39k|    if (!constantTime) {
  ------------------
  |  Branch (897:9): [True: 3.39k, False: 0]
  ------------------
  898|  3.39k|        s_mp_clamp(c);
  899|  3.39k|    }
  900|       |
  901|  3.39k|    if (SIGN(a) == SIGN(b) || s_mp_cmp_d(c, 0) == MP_EQ)
  ------------------
  |  |  327|  3.39k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  3.39k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                  if (SIGN(a) == SIGN(b) || s_mp_cmp_d(c, 0) == MP_EQ)
  ------------------
  |  |  327|  3.39k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  6.78k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                  if (SIGN(a) == SIGN(b) || s_mp_cmp_d(c, 0) == MP_EQ)
  ------------------
  |  |   96|      0|#define MP_EQ 0
  ------------------
  |  Branch (901:9): [True: 3.39k, False: 0]
  |  Branch (901:31): [True: 0, False: 0]
  ------------------
  902|  3.39k|        SIGN(c) = ZPOS;
  ------------------
  |  |  327|  3.39k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  3.39k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(c) = ZPOS;
  ------------------
  |  |  321|  3.39k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  3.39k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
  903|      0|    else
  904|      0|        SIGN(c) = NEG;
  ------------------
  |  |  327|      0|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|      0|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(c) = NEG;
  ------------------
  |  |  320|      0|#define NEG MP_NEG
  |  |  ------------------
  |  |  |  |   36|      0|#define MP_NEG 1
  |  |  ------------------
  ------------------
  905|       |
  906|  3.97k|CLEANUP:
  907|  3.97k|    mp_clear(&tmp);
  908|  3.97k|    return res;
  909|  3.39k|} /* end smp_mulg() */
mp_mul:
  923|  3.97k|{
  924|  3.97k|    return s_mp_mulg(a, b, c, 0);
  925|  3.97k|} /* end mp_mul() */
mp_div:
 1062|  3.73k|{
 1063|  3.73k|    mp_err res;
 1064|  3.73k|    mp_int *pQ, *pR;
 1065|  3.73k|    mp_int qtmp, rtmp, btmp;
 1066|  3.73k|    int cmp;
 1067|  3.73k|    mp_sign signA;
 1068|  3.73k|    mp_sign signB;
 1069|       |
 1070|  3.73k|    ARGCHK(a != NULL && b != NULL, MP_BADARG);
  ------------------
  |  |  350|  3.73k|#define ARGCHK(X, Y) assert(X)
  ------------------
 1071|       |
 1072|  3.73k|    signA = MP_SIGN(a);
  ------------------
  |  |  144|  3.73k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
 1073|  3.73k|    signB = MP_SIGN(b);
  ------------------
  |  |  144|  3.73k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
 1074|       |
 1075|  3.73k|    if (mp_cmp_z(b) == MP_EQ)
  ------------------
  |  |   96|  3.73k|#define MP_EQ 0
  ------------------
  |  Branch (1075:9): [True: 0, False: 3.73k]
  ------------------
 1076|      0|        return MP_RANGE;
  ------------------
  |  |   43|      0|#define MP_RANGE -3  /* argument out of range */
  ------------------
 1077|       |
 1078|  3.73k|    DIGITS(&qtmp) = 0;
  ------------------
  |  |  330|  3.73k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  3.73k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
 1079|  3.73k|    DIGITS(&rtmp) = 0;
  ------------------
  |  |  330|  3.73k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  3.73k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
 1080|  3.73k|    DIGITS(&btmp) = 0;
  ------------------
  |  |  330|  3.73k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  3.73k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
 1081|       |
 1082|       |    /* Set up some temporaries... */
 1083|  3.73k|    if (!r || r == a || r == b) {
  ------------------
  |  Branch (1083:9): [True: 0, False: 3.73k]
  |  Branch (1083:15): [True: 3.73k, False: 0]
  |  Branch (1083:25): [True: 0, False: 0]
  ------------------
 1084|  3.73k|        MP_CHECKOK(mp_init_copy(&rtmp, a));
  ------------------
  |  |  314|  3.73k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  3.73k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 3.73k]
  |  |  ------------------
  |  |  315|  3.73k|    goto CLEANUP
  ------------------
 1085|  3.73k|        pR = &rtmp;
 1086|  3.73k|    } else {
 1087|      0|        MP_CHECKOK(mp_copy(a, r));
  ------------------
  |  |  314|      0|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  315|      0|    goto CLEANUP
  ------------------
 1088|      0|        pR = r;
 1089|      0|    }
 1090|       |
 1091|  3.73k|    if (!q || q == a || q == b) {
  ------------------
  |  Branch (1091:9): [True: 3.73k, False: 0]
  |  Branch (1091:15): [True: 0, False: 0]
  |  Branch (1091:25): [True: 0, False: 0]
  ------------------
 1092|  3.73k|        MP_CHECKOK(mp_init_size(&qtmp, MP_USED(a)));
  ------------------
  |  |  314|  3.73k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  3.73k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 3.73k]
  |  |  ------------------
  |  |  315|  3.73k|    goto CLEANUP
  ------------------
 1093|  3.73k|        pQ = &qtmp;
 1094|  3.73k|    } else {
 1095|      0|        MP_CHECKOK(s_mp_pad(q, MP_USED(a)));
  ------------------
  |  |  314|      0|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  315|      0|    goto CLEANUP
  ------------------
 1096|      0|        pQ = q;
 1097|      0|        mp_zero(pQ);
 1098|      0|    }
 1099|       |
 1100|       |    /*
 1101|       |      If |a| <= |b|, we can compute the solution without division;
 1102|       |      otherwise, we actually do the work required.
 1103|       |     */
 1104|  3.73k|    if ((cmp = s_mp_cmp(a, b)) <= 0) {
  ------------------
  |  Branch (1104:9): [True: 0, False: 3.73k]
  ------------------
 1105|      0|        if (cmp) {
  ------------------
  |  Branch (1105:13): [True: 0, False: 0]
  ------------------
 1106|       |            /* r was set to a above. */
 1107|      0|            mp_zero(pQ);
 1108|      0|        } else {
 1109|      0|            mp_set(pQ, 1);
 1110|      0|            mp_zero(pR);
 1111|      0|        }
 1112|  3.73k|    } else {
 1113|  3.73k|        MP_CHECKOK(mp_init_copy(&btmp, b));
  ------------------
  |  |  314|  3.73k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  3.73k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 3.73k]
  |  |  ------------------
  |  |  315|  3.73k|    goto CLEANUP
  ------------------
 1114|  3.73k|        MP_CHECKOK(s_mp_div(pR, &btmp, pQ));
  ------------------
  |  |  314|  3.73k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  3.73k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 3.73k]
  |  |  ------------------
  |  |  315|  3.73k|    goto CLEANUP
  ------------------
 1115|  3.73k|    }
 1116|       |
 1117|       |    /* Compute the signs for the output  */
 1118|  3.73k|    MP_SIGN(pR) = signA;        /* Sr = Sa              */
  ------------------
  |  |  144|  3.73k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
 1119|       |    /* Sq = ZPOS if Sa == Sb */ /* Sq = NEG if Sa != Sb */
 1120|  3.73k|    MP_SIGN(pQ) = (signA == signB) ? ZPOS : NEG;
  ------------------
  |  |  144|  3.73k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
                  MP_SIGN(pQ) = (signA == signB) ? ZPOS : NEG;
  ------------------
  |  |  321|  3.73k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  3.73k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
                  MP_SIGN(pQ) = (signA == signB) ? ZPOS : NEG;
  ------------------
  |  |  320|      0|#define NEG MP_NEG
  |  |  ------------------
  |  |  |  |   36|  3.73k|#define MP_NEG 1
  |  |  ------------------
  ------------------
  |  Branch (1120:19): [True: 3.73k, False: 0]
  ------------------
 1121|       |
 1122|  3.73k|    if (s_mp_cmp_d(pQ, 0) == MP_EQ)
  ------------------
  |  |   96|  3.73k|#define MP_EQ 0
  ------------------
  |  Branch (1122:9): [True: 0, False: 3.73k]
  ------------------
 1123|      0|        SIGN(pQ) = ZPOS;
  ------------------
  |  |  327|      0|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|      0|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(pQ) = ZPOS;
  ------------------
  |  |  321|      0|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|      0|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 1124|  3.73k|    if (s_mp_cmp_d(pR, 0) == MP_EQ)
  ------------------
  |  |   96|  3.73k|#define MP_EQ 0
  ------------------
  |  Branch (1124:9): [True: 668, False: 3.06k]
  ------------------
 1125|    668|        SIGN(pR) = ZPOS;
  ------------------
  |  |  327|    668|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|    668|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(pR) = ZPOS;
  ------------------
  |  |  321|    668|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|    668|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 1126|       |
 1127|       |    /* Copy output, if it is needed      */
 1128|  3.73k|    if (q && q != pQ)
  ------------------
  |  Branch (1128:9): [True: 0, False: 3.73k]
  |  Branch (1128:14): [True: 0, False: 0]
  ------------------
 1129|      0|        s_mp_exch(pQ, q);
 1130|       |
 1131|  3.73k|    if (r && r != pR)
  ------------------
  |  Branch (1131:9): [True: 3.73k, False: 0]
  |  Branch (1131:14): [True: 3.73k, False: 0]
  ------------------
 1132|  3.73k|        s_mp_exch(pR, r);
 1133|       |
 1134|  3.73k|CLEANUP:
 1135|  3.73k|    mp_clear(&btmp);
 1136|  3.73k|    mp_clear(&rtmp);
 1137|  3.73k|    mp_clear(&qtmp);
 1138|       |
 1139|  3.73k|    return res;
 1140|       |
 1141|  3.73k|} /* end mp_div() */
mp_mod:
 1279|  3.97k|{
 1280|  3.97k|    mp_err res;
 1281|  3.97k|    int mag;
 1282|       |
 1283|  3.97k|    ARGCHK(a != NULL && m != NULL && c != NULL, MP_BADARG);
  ------------------
  |  |  350|  3.97k|#define ARGCHK(X, Y) assert(X)
  ------------------
 1284|       |
 1285|  3.97k|    if (SIGN(m) == NEG)
  ------------------
  |  |  327|  3.97k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  3.97k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                  if (SIGN(m) == NEG)
  ------------------
  |  |  320|  3.97k|#define NEG MP_NEG
  |  |  ------------------
  |  |  |  |   36|  3.97k|#define MP_NEG 1
  |  |  ------------------
  ------------------
  |  Branch (1285:9): [True: 0, False: 3.97k]
  ------------------
 1286|      0|        return MP_RANGE;
  ------------------
  |  |   43|      0|#define MP_RANGE -3  /* argument out of range */
  ------------------
 1287|       |
 1288|       |    /*
 1289|       |     If |a| > m, we need to divide to get the remainder and take the
 1290|       |     absolute value.
 1291|       |
 1292|       |     If |a| < m, we don't need to do any division, just copy and adjust
 1293|       |     the sign (if a is negative).
 1294|       |
 1295|       |     If |a| == m, we can simply set the result to zero.
 1296|       |
 1297|       |     This order is intended to minimize the average path length of the
 1298|       |     comparison chain on common workloads -- the most frequent cases are
 1299|       |     that |a| != m, so we do those first.
 1300|       |     */
 1301|  3.97k|    if ((mag = s_mp_cmp(a, m)) > 0) {
  ------------------
  |  Branch (1301:9): [True: 3.73k, False: 242]
  ------------------
 1302|  3.73k|        if ((res = mp_div(a, m, NULL, c)) != MP_OKAY)
  ------------------
  |  |   39|  3.73k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (1302:13): [True: 0, False: 3.73k]
  ------------------
 1303|      0|            return res;
 1304|       |
 1305|  3.73k|        if (SIGN(c) == NEG) {
  ------------------
  |  |  327|  3.73k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  3.73k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      if (SIGN(c) == NEG) {
  ------------------
  |  |  320|  3.73k|#define NEG MP_NEG
  |  |  ------------------
  |  |  |  |   36|  3.73k|#define MP_NEG 1
  |  |  ------------------
  ------------------
  |  Branch (1305:13): [True: 0, False: 3.73k]
  ------------------
 1306|      0|            if ((res = mp_add(c, m, c)) != MP_OKAY)
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (1306:17): [True: 0, False: 0]
  ------------------
 1307|      0|                return res;
 1308|      0|        }
 1309|       |
 1310|  3.73k|    } else if (mag < 0) {
  ------------------
  |  Branch (1310:16): [True: 232, False: 10]
  ------------------
 1311|    232|        if ((res = mp_copy(a, c)) != MP_OKAY)
  ------------------
  |  |   39|    232|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (1311:13): [True: 0, False: 232]
  ------------------
 1312|      0|            return res;
 1313|       |
 1314|    232|        if (mp_cmp_z(a) < 0) {
  ------------------
  |  Branch (1314:13): [True: 0, False: 232]
  ------------------
 1315|      0|            if ((res = mp_add(c, m, c)) != MP_OKAY)
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (1315:17): [True: 0, False: 0]
  ------------------
 1316|      0|                return res;
 1317|      0|        }
 1318|       |
 1319|    232|    } else {
 1320|     10|        mp_zero(c);
 1321|     10|    }
 1322|       |
 1323|  3.97k|    return MP_OKAY;
  ------------------
  |  |   39|  3.97k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 1324|       |
 1325|  3.97k|} /* end mp_mod() */
mp_mulmod:
 1562|  3.97k|{
 1563|  3.97k|    mp_err res;
 1564|       |
 1565|  3.97k|    ARGCHK(a != NULL && b != NULL && m != NULL && c != NULL, MP_BADARG);
  ------------------
  |  |  350|  3.97k|#define ARGCHK(X, Y) assert(X)
  ------------------
 1566|       |
 1567|  3.97k|    if ((res = mp_mul(a, b, c)) != MP_OKAY)
  ------------------
  |  |   39|  3.97k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (1567:9): [True: 0, False: 3.97k]
  ------------------
 1568|      0|        return res;
 1569|  3.97k|    if ((res = mp_mod(c, m, c)) != MP_OKAY)
  ------------------
  |  |   39|  3.97k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (1569:9): [True: 0, False: 3.97k]
  ------------------
 1570|      0|        return res;
 1571|       |
 1572|  3.97k|    return MP_OKAY;
  ------------------
  |  |   39|  3.97k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 1573|  3.97k|}
mp_cmp_z:
 1790|  1.17M|{
 1791|  1.17M|    ARGMPCHK(a != NULL);
  ------------------
  |  |  349|  1.17M|#define ARGMPCHK(X) assert(X)
  ------------------
 1792|       |
 1793|  1.17M|    if (SIGN(a) == NEG)
  ------------------
  |  |  327|  1.17M|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  1.17M|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                  if (SIGN(a) == NEG)
  ------------------
  |  |  320|  1.17M|#define NEG MP_NEG
  |  |  ------------------
  |  |  |  |   36|  1.17M|#define MP_NEG 1
  |  |  ------------------
  ------------------
  |  Branch (1793:9): [True: 0, False: 1.17M]
  ------------------
 1794|      0|        return MP_LT;
  ------------------
  |  |   95|      0|#define MP_LT -1
  ------------------
 1795|  1.17M|    else if (USED(a) == 1 && DIGIT(a, 0) == 0)
  ------------------
  |  |  328|  1.17M|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  1.17M|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
                  else if (USED(a) == 1 && DIGIT(a, 0) == 0)
  ------------------
  |  |  331|   214k|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|   214k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
  |  Branch (1795:14): [True: 214k, False: 964k]
  |  Branch (1795:30): [True: 16.5k, False: 197k]
  ------------------
 1796|  16.5k|        return MP_EQ;
  ------------------
  |  |   96|  16.5k|#define MP_EQ 0
  ------------------
 1797|  1.16M|    else
 1798|  1.16M|        return MP_GT;
  ------------------
  |  |   97|  1.16M|#define MP_GT 1
  ------------------
 1799|       |
 1800|  1.17M|} /* end mp_cmp_z() */
mp_read_raw:
 2735|  11.8k|{
 2736|  11.8k|    int ix;
 2737|  11.8k|    mp_err res;
 2738|  11.8k|    unsigned char *ustr = (unsigned char *)str;
 2739|       |
 2740|  11.8k|    ARGCHK(mp != NULL && str != NULL && len > 0, MP_BADARG);
  ------------------
  |  |  350|  11.8k|#define ARGCHK(X, Y) assert(X)
  ------------------
 2741|       |
 2742|  11.8k|    mp_zero(mp);
 2743|       |
 2744|       |    /* Read the rest of the digits */
 2745|   564k|    for (ix = 1; ix < len; ix++) {
  ------------------
  |  Branch (2745:18): [True: 552k, False: 11.8k]
  ------------------
 2746|   552k|        if ((res = mp_mul_d(mp, 256, mp)) != MP_OKAY)
  ------------------
  |  |   39|   552k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (2746:13): [True: 0, False: 552k]
  ------------------
 2747|      0|            return res;
 2748|   552k|        if ((res = mp_add_d(mp, ustr[ix], mp)) != MP_OKAY)
  ------------------
  |  |   39|   552k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (2748:13): [True: 0, False: 552k]
  ------------------
 2749|      0|            return res;
 2750|   552k|    }
 2751|       |
 2752|       |    /* Get sign from first byte */
 2753|  11.8k|    if (ustr[0])
  ------------------
  |  Branch (2753:9): [True: 8.50k, False: 3.38k]
  ------------------
 2754|  8.50k|        SIGN(mp) = NEG;
  ------------------
  |  |  327|  8.50k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  8.50k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(mp) = NEG;
  ------------------
  |  |  320|  8.50k|#define NEG MP_NEG
  |  |  ------------------
  |  |  |  |   36|  8.50k|#define MP_NEG 1
  |  |  ------------------
  ------------------
 2755|  3.38k|    else
 2756|  3.38k|        SIGN(mp) = ZPOS;
  ------------------
  |  |  327|  3.38k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  3.38k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(mp) = ZPOS;
  ------------------
  |  |  321|  3.38k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  3.38k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 2757|       |
 2758|  11.8k|    return MP_OKAY;
  ------------------
  |  |   39|  11.8k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 2759|       |
 2760|  11.8k|} /* end mp_read_raw() */
mp_toradix:
 2924|  15.8k|{
 2925|  15.8k|    int ix, pos = 0;
 2926|       |
 2927|  15.8k|    ARGCHK(mp != NULL && str != NULL, MP_BADARG);
  ------------------
  |  |  350|  15.8k|#define ARGCHK(X, Y) assert(X)
  ------------------
 2928|  15.8k|    ARGCHK(radix > 1 && radix <= MAX_RADIX, MP_RANGE);
  ------------------
  |  |  350|  15.8k|#define ARGCHK(X, Y) assert(X)
  ------------------
 2929|       |
 2930|  15.8k|    if (mp_cmp_z(mp) == MP_EQ) {
  ------------------
  |  |   96|  15.8k|#define MP_EQ 0
  ------------------
  |  Branch (2930:9): [True: 1.53k, False: 14.3k]
  ------------------
 2931|  1.53k|        str[0] = '0';
 2932|  1.53k|        str[1] = '\0';
 2933|  14.3k|    } else {
 2934|  14.3k|        mp_err res;
 2935|  14.3k|        mp_int tmp;
 2936|  14.3k|        mp_sign sgn;
 2937|  14.3k|        mp_digit rem, rdx = (mp_digit)radix;
 2938|  14.3k|        char ch;
 2939|       |
 2940|  14.3k|        if ((res = mp_init_copy(&tmp, mp)) != MP_OKAY)
  ------------------
  |  |   39|  14.3k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (2940:13): [True: 0, False: 14.3k]
  ------------------
 2941|      0|            return res;
 2942|       |
 2943|       |        /* Save sign for later, and take absolute value */
 2944|  14.3k|        sgn = SIGN(&tmp);
  ------------------
  |  |  327|  14.3k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  14.3k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
 2945|  14.3k|        SIGN(&tmp) = ZPOS;
  ------------------
  |  |  327|  14.3k|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|  14.3k|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(&tmp) = ZPOS;
  ------------------
  |  |  321|  14.3k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  14.3k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 2946|       |
 2947|       |        /* Generate output digits in reverse order      */
 2948|  1.15M|        while (mp_cmp_z(&tmp) != 0) {
  ------------------
  |  Branch (2948:16): [True: 1.13M, False: 14.3k]
  ------------------
 2949|  1.13M|            if ((res = mp_div_d(&tmp, rdx, &tmp, &rem)) != MP_OKAY) {
  ------------------
  |  |   39|  1.13M|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (2949:17): [True: 0, False: 1.13M]
  ------------------
 2950|      0|                mp_clear(&tmp);
 2951|      0|                return res;
 2952|      0|            }
 2953|       |
 2954|       |            /* Generate digits, use capital letters */
 2955|  1.13M|            ch = s_mp_todigit(rem, radix, 0);
 2956|       |
 2957|  1.13M|            str[pos++] = ch;
 2958|  1.13M|        }
 2959|       |
 2960|       |        /* Add - sign if original value was negative */
 2961|  14.3k|        if (sgn == NEG)
  ------------------
  |  |  320|  14.3k|#define NEG MP_NEG
  |  |  ------------------
  |  |  |  |   36|  14.3k|#define MP_NEG 1
  |  |  ------------------
  ------------------
  |  Branch (2961:13): [True: 0, False: 14.3k]
  ------------------
 2962|      0|            str[pos++] = '-';
 2963|       |
 2964|       |        /* Add trailing NUL to end the string        */
 2965|  14.3k|        str[pos--] = '\0';
 2966|       |
 2967|       |        /* Reverse the digits and sign indicator     */
 2968|  14.3k|        ix = 0;
 2969|   581k|        while (ix < pos) {
  ------------------
  |  Branch (2969:16): [True: 567k, False: 14.3k]
  ------------------
 2970|   567k|            char tmpc = str[ix];
 2971|       |
 2972|   567k|            str[ix] = str[pos];
 2973|   567k|            str[pos] = tmpc;
 2974|   567k|            ++ix;
 2975|   567k|            --pos;
 2976|   567k|        }
 2977|       |
 2978|  14.3k|        mp_clear(&tmp);
 2979|  14.3k|    }
 2980|       |
 2981|  15.8k|    return MP_OKAY;
  ------------------
  |  |   39|  15.8k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 2982|       |
 2983|  15.8k|} /* end mp_toradix() */
s_mp_grow:
 3038|    262|{
 3039|    262|    ARGCHK(mp != NULL, MP_BADARG);
  ------------------
  |  |  350|    262|#define ARGCHK(X, Y) assert(X)
  ------------------
 3040|       |
 3041|    262|    if (min > ALLOC(mp)) {
  ------------------
  |  |  329|    262|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|    262|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  |  Branch (3041:9): [True: 262, False: 0]
  ------------------
 3042|    262|        mp_digit *tmp;
 3043|       |
 3044|       |        /* Set min to next nearest default precision block size */
 3045|    262|        min = MP_ROUNDUP(min, s_mp_defprec);
  ------------------
  |  |   89|    262|#define MP_ROUNDUP(a, b) (MP_HOWMANY(a, b) * (b))
  |  |  ------------------
  |  |  |  |   88|    262|#define MP_HOWMANY(a, b) (((a) + (b)-1) / (b))
  |  |  ------------------
  ------------------
 3046|       |
 3047|    262|        if ((tmp = s_mp_alloc(min, sizeof(mp_digit))) == NULL)
  ------------------
  |  Branch (3047:13): [True: 0, False: 262]
  ------------------
 3048|      0|            return MP_MEM;
  ------------------
  |  |   42|      0|#define MP_MEM -2    /* out of memory         */
  ------------------
 3049|       |
 3050|    262|        s_mp_copy(DIGITS(mp), tmp, USED(mp));
  ------------------
  |  |  330|    262|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|    262|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                      s_mp_copy(DIGITS(mp), tmp, USED(mp));
  ------------------
  |  |  328|    262|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|    262|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
 3051|       |
 3052|    262|        s_mp_setz(DIGITS(mp), ALLOC(mp));
  ------------------
  |  |  330|    262|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|    262|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                      s_mp_setz(DIGITS(mp), ALLOC(mp));
  ------------------
  |  |  329|    262|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|    262|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
 3053|    262|        s_mp_free(DIGITS(mp));
  ------------------
  |  |  330|    262|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|    262|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
 3054|    262|        DIGITS(mp) = tmp;
  ------------------
  |  |  330|    262|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|    262|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
 3055|    262|        ALLOC(mp) = min;
  ------------------
  |  |  329|    262|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|    262|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
 3056|    262|    }
 3057|       |
 3058|    262|    return MP_OKAY;
  ------------------
  |  |   39|    262|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 3059|       |
 3060|    262|} /* end s_mp_grow() */
s_mp_pad:
 3069|   596k|{
 3070|   596k|    ARGCHK(mp != NULL, MP_BADARG);
  ------------------
  |  |  350|   596k|#define ARGCHK(X, Y) assert(X)
  ------------------
 3071|       |
 3072|   596k|    if (min > USED(mp)) {
  ------------------
  |  |  328|   596k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|   596k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  |  Branch (3072:9): [True: 96.8k, False: 499k]
  ------------------
 3073|  96.8k|        mp_err res;
 3074|       |
 3075|       |        /* Make sure there is room to increase precision  */
 3076|  96.8k|        if (min > ALLOC(mp)) {
  ------------------
  |  |  329|  96.8k|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|  96.8k|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
  |  Branch (3076:13): [True: 262, False: 96.5k]
  ------------------
 3077|    262|            if ((res = s_mp_grow(mp, min)) != MP_OKAY)
  ------------------
  |  |   39|    262|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (3077:17): [True: 0, False: 262]
  ------------------
 3078|      0|                return res;
 3079|  96.5k|        } else {
 3080|  96.5k|            s_mp_setz(DIGITS(mp) + USED(mp), min - USED(mp));
  ------------------
  |  |  330|  96.5k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  96.5k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                          s_mp_setz(DIGITS(mp) + USED(mp), min - USED(mp));
  ------------------
  |  |  328|  96.5k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  96.5k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
                          s_mp_setz(DIGITS(mp) + USED(mp), min - USED(mp));
  ------------------
  |  |  328|  96.5k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  96.5k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
 3081|  96.5k|        }
 3082|       |
 3083|       |        /* Increase precision; should already be 0-filled */
 3084|  96.8k|        USED(mp) = min;
  ------------------
  |  |  328|  96.8k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  96.8k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
 3085|  96.8k|    }
 3086|       |
 3087|   596k|    return MP_OKAY;
  ------------------
  |  |   39|   596k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 3088|       |
 3089|   596k|} /* end s_mp_pad() */
s_mp_setz:
 3098|   746k|{
 3099|   746k|    memset(dp, 0, count * sizeof(mp_digit));
 3100|   746k|} /* end s_mp_setz() */
s_mp_copy:
 3109|   610k|{
 3110|   610k|    memcpy(dp, sp, count * sizeof(mp_digit));
 3111|   610k|} /* end s_mp_copy() */
s_mp_alloc:
 3120|   601k|{
 3121|   601k|    return calloc(nb, ni);
 3122|       |
 3123|   601k|} /* end s_mp_alloc() */
s_mp_free:
 3132|   601k|{
 3133|   601k|    if (ptr) {
  ------------------
  |  Branch (3133:9): [True: 601k, False: 0]
  ------------------
 3134|   601k|        free(ptr);
 3135|   601k|    }
 3136|   601k|} /* end s_mp_free() */
s_mp_clamp:
 3145|  1.82M|{
 3146|  1.82M|    mp_size used = MP_USED(mp);
  ------------------
  |  |  145|  1.82M|#define MP_USED(MP) ((MP)->used)
  ------------------
 3147|  2.15M|    while (used > 1 && DIGIT(mp, used - 1) == 0)
  ------------------
  |  |  331|  1.81M|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|  1.81M|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
  |  Branch (3147:12): [True: 1.81M, False: 340k]
  |  Branch (3147:24): [True: 332k, False: 1.48M]
  ------------------
 3148|   332k|        --used;
 3149|  1.82M|    MP_USED(mp) = used;
  ------------------
  |  |  145|  1.82M|#define MP_USED(MP) ((MP)->used)
  ------------------
 3150|  1.82M|    if (used == 1 && DIGIT(mp, 0) == 0)
  ------------------
  |  |  331|   340k|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|   340k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
  |  Branch (3150:9): [True: 340k, False: 1.48M]
  |  Branch (3150:22): [True: 86.0k, False: 254k]
  ------------------
 3151|  86.0k|        MP_SIGN(mp) = ZPOS;
  ------------------
  |  |  144|  86.0k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
                      MP_SIGN(mp) = ZPOS;
  ------------------
  |  |  321|  86.0k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  86.0k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 3152|  1.82M|} /* end s_mp_clamp() */
s_mp_exch:
 3161|   556k|{
 3162|   556k|    mp_int tmp;
 3163|   556k|    if (!a || !b) {
  ------------------
  |  Branch (3163:9): [True: 0, False: 556k]
  |  Branch (3163:15): [True: 0, False: 556k]
  ------------------
 3164|      0|        return;
 3165|      0|    }
 3166|       |
 3167|   556k|    tmp = *a;
 3168|   556k|    *a = *b;
 3169|   556k|    *b = tmp;
 3170|       |
 3171|   556k|} /* end s_mp_exch() */
s_mp_mul_2d:
 3227|   560k|{
 3228|   560k|    mp_err res;
 3229|   560k|    mp_digit dshift, rshift, mask, x, prev = 0;
 3230|   560k|    mp_digit *pa = NULL;
 3231|   560k|    int i;
 3232|       |
 3233|   560k|    ARGCHK(mp != NULL, MP_BADARG);
  ------------------
  |  |  350|   560k|#define ARGCHK(X, Y) assert(X)
  ------------------
 3234|       |
 3235|   560k|    dshift = d / MP_DIGIT_BIT;
  ------------------
  |  |  132|   560k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  ------------------
  |  |  |  |  131|   560k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  ------------------
  ------------------
 3236|   560k|    d %= MP_DIGIT_BIT;
  ------------------
  |  |  132|   560k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  ------------------
  |  |  |  |  131|   560k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  ------------------
  ------------------
 3237|       |    /* mp_digit >> rshift is undefined behavior for rshift >= MP_DIGIT_BIT */
 3238|       |    /* mod and corresponding mask logic avoid that when d = 0 */
 3239|   560k|    rshift = MP_DIGIT_BIT - d;
  ------------------
  |  |  132|   560k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  ------------------
  |  |  |  |  131|   560k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  ------------------
  ------------------
 3240|   560k|    rshift %= MP_DIGIT_BIT;
  ------------------
  |  |  132|   560k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  ------------------
  |  |  |  |  131|   560k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  ------------------
  ------------------
 3241|       |    /* mask = (2**d - 1) * 2**(w-d) mod 2**w */
 3242|   560k|    mask = (DIGIT_MAX << rshift) + 1;
  ------------------
  |  |  322|   560k|#define DIGIT_MAX MP_DIGIT_MAX
  |  |  ------------------
  |  |  |  |   74|   560k|#define MP_DIGIT_MAX ULONG_MAX
  |  |  ------------------
  ------------------
 3243|   560k|    mask &= DIGIT_MAX - 1;
  ------------------
  |  |  322|   560k|#define DIGIT_MAX MP_DIGIT_MAX
  |  |  ------------------
  |  |  |  |   74|   560k|#define MP_DIGIT_MAX ULONG_MAX
  |  |  ------------------
  ------------------
 3244|       |    /* bits to be shifted out of the top word */
 3245|   560k|    x = MP_DIGIT(mp, MP_USED(mp) - 1) & mask;
  ------------------
  |  |  148|   560k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  ------------------
 3246|       |
 3247|   560k|    if (MP_OKAY != (res = s_mp_pad(mp, MP_USED(mp) + dshift + (x != 0))))
  ------------------
  |  |   39|   560k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
                  if (MP_OKAY != (res = s_mp_pad(mp, MP_USED(mp) + dshift + (x != 0))))
  ------------------
  |  |  145|   560k|#define MP_USED(MP) ((MP)->used)
  ------------------
  |  Branch (3247:9): [True: 0, False: 560k]
  ------------------
 3248|      0|        return res;
 3249|       |
 3250|   560k|    if (dshift && MP_OKAY != (res = s_mp_lshd(mp, dshift)))
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (3250:9): [True: 0, False: 560k]
  |  Branch (3250:19): [True: 0, False: 0]
  ------------------
 3251|      0|        return res;
 3252|       |
 3253|   560k|    pa = MP_DIGITS(mp) + dshift;
  ------------------
  |  |  147|   560k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 3254|       |
 3255|  9.68M|    for (i = MP_USED(mp) - dshift; i > 0; i--) {
  ------------------
  |  |  145|   560k|#define MP_USED(MP) ((MP)->used)
  ------------------
  |  Branch (3255:36): [True: 9.11M, False: 560k]
  ------------------
 3256|  9.11M|        x = *pa;
 3257|  9.11M|        *pa++ = (x << d) | prev;
 3258|  9.11M|        prev = (x & mask) >> rshift;
 3259|  9.11M|    }
 3260|       |
 3261|   560k|    s_mp_clamp(mp);
 3262|   560k|    return MP_OKAY;
  ------------------
  |  |   39|   560k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 3263|   560k|} /* end s_mp_mul_2d() */
s_mp_rshd:
 3275|  1.14M|{
 3276|  1.14M|    mp_size ix;
 3277|  1.14M|    mp_digit *src, *dst;
 3278|       |
 3279|  1.14M|    if (p == 0)
  ------------------
  |  Branch (3279:9): [True: 1.13M, False: 224]
  ------------------
 3280|  1.13M|        return;
 3281|       |
 3282|       |    /* Shortcut when all digits are to be shifted off */
 3283|    224|    if (p >= USED(mp)) {
  ------------------
  |  |  328|    224|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|    224|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  |  Branch (3283:9): [True: 0, False: 224]
  ------------------
 3284|      0|        s_mp_setz(DIGITS(mp), ALLOC(mp));
  ------------------
  |  |  330|      0|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|      0|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
                      s_mp_setz(DIGITS(mp), ALLOC(mp));
  ------------------
  |  |  329|      0|#define ALLOC(MP) MP_ALLOC(MP)
  |  |  ------------------
  |  |  |  |  146|      0|#define MP_ALLOC(MP) ((MP)->alloc)
  |  |  ------------------
  ------------------
 3285|      0|        USED(mp) = 1;
  ------------------
  |  |  328|      0|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|      0|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
 3286|      0|        SIGN(mp) = ZPOS;
  ------------------
  |  |  327|      0|#define SIGN(MP) MP_SIGN(MP)
  |  |  ------------------
  |  |  |  |  144|      0|#define MP_SIGN(MP) ((MP)->sign)
  |  |  ------------------
  ------------------
                      SIGN(mp) = ZPOS;
  ------------------
  |  |  321|      0|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|      0|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 3287|      0|        return;
 3288|      0|    }
 3289|       |
 3290|       |    /* Shift all the significant figures over as needed */
 3291|    224|    dst = MP_DIGITS(mp);
  ------------------
  |  |  147|    224|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 3292|    224|    src = dst + p;
 3293|  3.05k|    for (ix = USED(mp) - p; ix > 0; ix--)
  ------------------
  |  |  328|    224|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|    224|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  |  Branch (3293:29): [True: 2.82k, False: 224]
  ------------------
 3294|  2.82k|        *dst++ = *src++;
 3295|       |
 3296|    224|    MP_USED(mp) -= p;
  ------------------
  |  |  145|    224|#define MP_USED(MP) ((MP)->used)
  ------------------
 3297|       |    /* Fill the top digits with zeroes */
 3298|    901|    while (p-- > 0)
  ------------------
  |  Branch (3298:12): [True: 677, False: 224]
  ------------------
 3299|    677|        *dst++ = 0;
 3300|       |
 3301|    224|} /* end s_mp_rshd() */
s_mp_mod_2d:
 3364|    424|{
 3365|    424|    mp_size ndig = (d / DIGIT_BIT), nbit = (d % DIGIT_BIT);
  ------------------
  |  |  323|    424|#define DIGIT_BIT MP_DIGIT_BIT
  |  |  ------------------
  |  |  |  |  132|    424|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|    424|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                  mp_size ndig = (d / DIGIT_BIT), nbit = (d % DIGIT_BIT);
  ------------------
  |  |  323|    424|#define DIGIT_BIT MP_DIGIT_BIT
  |  |  ------------------
  |  |  |  |  132|    424|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|    424|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3366|    424|    mp_size ix;
 3367|    424|    mp_digit dmask;
 3368|       |
 3369|    424|    if (ndig >= USED(mp))
  ------------------
  |  |  328|    424|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|    424|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  |  Branch (3369:9): [True: 0, False: 424]
  ------------------
 3370|      0|        return;
 3371|       |
 3372|       |    /* Flush all the bits above 2^d in its digit */
 3373|    424|    dmask = ((mp_digit)1 << nbit) - 1;
 3374|    424|    DIGIT(mp, ndig) &= dmask;
  ------------------
  |  |  331|    424|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|    424|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
 3375|       |
 3376|       |    /* Flush all digits above the one with 2^d in it */
 3377|  4.42k|    for (ix = ndig + 1; ix < USED(mp); ix++)
  ------------------
  |  |  328|  4.42k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  4.42k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  |  Branch (3377:25): [True: 4.00k, False: 424]
  ------------------
 3378|  4.00k|        DIGIT(mp, ix) = 0;
  ------------------
  |  |  331|  4.00k|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|  4.00k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
 3379|       |
 3380|    424|    s_mp_clamp(mp);
 3381|       |
 3382|    424|} /* end s_mp_mod_2d() */
s_mp_div_2d:
 3395|  1.14M|{
 3396|  1.14M|    int ix;
 3397|  1.14M|    mp_digit save, next, mask, lshift;
 3398|       |
 3399|  1.14M|    s_mp_rshd(mp, d / DIGIT_BIT);
  ------------------
  |  |  323|  1.14M|#define DIGIT_BIT MP_DIGIT_BIT
  |  |  ------------------
  |  |  |  |  132|  1.14M|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  1.14M|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3400|  1.14M|    d %= DIGIT_BIT;
  ------------------
  |  |  323|  1.14M|#define DIGIT_BIT MP_DIGIT_BIT
  |  |  ------------------
  |  |  |  |  132|  1.14M|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  1.14M|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3401|       |    /* mp_digit << lshift is undefined behavior for lshift >= MP_DIGIT_BIT */
 3402|       |    /* mod and corresponding mask logic avoid that when d = 0 */
 3403|  1.14M|    lshift = DIGIT_BIT - d;
  ------------------
  |  |  323|  1.14M|#define DIGIT_BIT MP_DIGIT_BIT
  |  |  ------------------
  |  |  |  |  132|  1.14M|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  1.14M|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3404|  1.14M|    lshift %= DIGIT_BIT;
  ------------------
  |  |  323|  1.14M|#define DIGIT_BIT MP_DIGIT_BIT
  |  |  ------------------
  |  |  |  |  132|  1.14M|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  1.14M|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 3405|  1.14M|    mask = ((mp_digit)1 << d) - 1;
 3406|  1.14M|    save = 0;
 3407|  20.5M|    for (ix = USED(mp) - 1; ix >= 0; ix--) {
  ------------------
  |  |  328|  1.14M|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|  1.14M|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  |  Branch (3407:29): [True: 19.4M, False: 1.14M]
  ------------------
 3408|  19.4M|        next = DIGIT(mp, ix) & mask;
  ------------------
  |  |  331|  19.4M|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|  19.4M|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
 3409|  19.4M|        DIGIT(mp, ix) = (save << lshift) | (DIGIT(mp, ix) >> d);
  ------------------
  |  |  331|  19.4M|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|  19.4M|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
                      DIGIT(mp, ix) = (save << lshift) | (DIGIT(mp, ix) >> d);
  ------------------
  |  |  331|  19.4M|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|  19.4M|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
 3410|  19.4M|        save = next;
 3411|  19.4M|    }
 3412|  1.14M|    s_mp_clamp(mp);
 3413|       |
 3414|  1.14M|} /* end s_mp_div_2d() */
s_mp_norm:
 3433|  3.30k|{
 3434|  3.30k|    mp_digit d;
 3435|  3.30k|    mp_digit mask;
 3436|  3.30k|    mp_digit b_msd;
 3437|  3.30k|    mp_err res = MP_OKAY;
  ------------------
  |  |   39|  3.30k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 3438|       |
 3439|  3.30k|    ARGCHK(a != NULL && b != NULL && pd != NULL, MP_BADARG);
  ------------------
  |  |  350|  3.30k|#define ARGCHK(X, Y) assert(X)
  ------------------
 3440|       |
 3441|  3.30k|    d = 0;
 3442|  3.30k|    mask = DIGIT_MAX & ~(DIGIT_MAX >> 1); /* mask is msb of digit */
  ------------------
  |  |  322|  3.30k|#define DIGIT_MAX MP_DIGIT_MAX
  |  |  ------------------
  |  |  |  |   74|  3.30k|#define MP_DIGIT_MAX ULONG_MAX
  |  |  ------------------
  ------------------
                  mask = DIGIT_MAX & ~(DIGIT_MAX >> 1); /* mask is msb of digit */
  ------------------
  |  |  322|  3.30k|#define DIGIT_MAX MP_DIGIT_MAX
  |  |  ------------------
  |  |  |  |   74|  3.30k|#define MP_DIGIT_MAX ULONG_MAX
  |  |  ------------------
  ------------------
 3443|  3.30k|    b_msd = DIGIT(b, USED(b) - 1);
  ------------------
  |  |  331|  3.30k|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|  3.30k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
 3444|   122k|    while (!(b_msd & mask)) {
  ------------------
  |  Branch (3444:12): [True: 118k, False: 3.30k]
  ------------------
 3445|   118k|        b_msd <<= 1;
 3446|   118k|        ++d;
 3447|   118k|    }
 3448|       |
 3449|  3.30k|    if (d) {
  ------------------
  |  Branch (3449:9): [True: 2.81k, False: 494]
  ------------------
 3450|  2.81k|        MP_CHECKOK(s_mp_mul_2d(a, d));
  ------------------
  |  |  314|  2.81k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  2.81k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 2.81k]
  |  |  ------------------
  |  |  315|  2.81k|    goto CLEANUP
  ------------------
 3451|  2.81k|        MP_CHECKOK(s_mp_mul_2d(b, d));
  ------------------
  |  |  314|  2.81k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  2.81k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 2.81k]
  |  |  ------------------
  |  |  315|  2.81k|    goto CLEANUP
  ------------------
 3452|  2.81k|    }
 3453|       |
 3454|  3.30k|    *pd = d;
 3455|  3.30k|CLEANUP:
 3456|  3.30k|    return res;
 3457|       |
 3458|  3.30k|} /* end s_mp_norm() */
s_mp_add_d:
 3471|   552k|{
 3472|       |#if !defined(MP_NO_MP_WORD) && !defined(MP_NO_ADD_WORD)
 3473|       |    mp_word w, k = 0;
 3474|       |    mp_size ix = 1;
 3475|       |
 3476|       |    w = (mp_word)DIGIT(mp, 0) + d;
 3477|       |    DIGIT(mp, 0) = ACCUM(w);
 3478|       |    k = CARRYOUT(w);
 3479|       |
 3480|       |    while (ix < USED(mp) && k) {
 3481|       |        w = (mp_word)DIGIT(mp, ix) + k;
 3482|       |        DIGIT(mp, ix) = ACCUM(w);
 3483|       |        k = CARRYOUT(w);
 3484|       |        ++ix;
 3485|       |    }
 3486|       |
 3487|       |    if (k != 0) {
 3488|       |        mp_err res;
 3489|       |
 3490|       |        if ((res = s_mp_pad(mp, USED(mp) + 1)) != MP_OKAY)
 3491|       |            return res;
 3492|       |
 3493|       |        DIGIT(mp, ix) = (mp_digit)k;
 3494|       |    }
 3495|       |
 3496|       |    return MP_OKAY;
 3497|       |#else
 3498|   552k|    mp_digit *pmp = MP_DIGITS(mp);
  ------------------
  |  |  147|   552k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 3499|   552k|    mp_digit sum, mp_i, carry = 0;
 3500|   552k|    mp_err res = MP_OKAY;
  ------------------
  |  |   39|   552k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 3501|   552k|    int used = (int)MP_USED(mp);
  ------------------
  |  |  145|   552k|#define MP_USED(MP) ((MP)->used)
  ------------------
 3502|       |
 3503|   552k|    mp_i = *pmp;
 3504|   552k|    *pmp++ = sum = d + mp_i;
 3505|   552k|    carry = (sum < d);
 3506|   552k|    while (carry && --used > 0) {
  ------------------
  |  Branch (3506:12): [True: 0, False: 552k]
  |  Branch (3506:21): [True: 0, False: 0]
  ------------------
 3507|      0|        mp_i = *pmp;
 3508|      0|        *pmp++ = sum = carry + mp_i;
 3509|      0|        carry = !sum;
 3510|      0|    }
 3511|   552k|    if (carry && !used) {
  ------------------
  |  Branch (3511:9): [True: 0, False: 552k]
  |  Branch (3511:18): [True: 0, False: 0]
  ------------------
 3512|       |        /* mp is growing */
 3513|      0|        used = MP_USED(mp);
  ------------------
  |  |  145|      0|#define MP_USED(MP) ((MP)->used)
  ------------------
 3514|      0|        MP_CHECKOK(s_mp_pad(mp, used + 1));
  ------------------
  |  |  314|      0|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  315|      0|    goto CLEANUP
  ------------------
 3515|      0|        MP_DIGIT(mp, used) = carry;
  ------------------
  |  |  148|      0|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  ------------------
 3516|      0|    }
 3517|   552k|CLEANUP:
 3518|   552k|    return res;
 3519|   552k|#endif
 3520|   552k|} /* end s_mp_add_d() */
s_mp_mul_d:
 3580|   587k|{
 3581|   587k|    mp_err res;
 3582|   587k|    mp_size used;
 3583|   587k|    int pow;
 3584|       |
 3585|   587k|    if (!d) {
  ------------------
  |  Branch (3585:9): [True: 0, False: 587k]
  ------------------
 3586|      0|        mp_zero(a);
 3587|      0|        return MP_OKAY;
  ------------------
  |  |   39|      0|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 3588|      0|    }
 3589|   587k|    if (d == 1)
  ------------------
  |  Branch (3589:9): [True: 1.10k, False: 586k]
  ------------------
 3590|  1.10k|        return MP_OKAY;
  ------------------
  |  |   39|  1.10k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 3591|   586k|    if (0 <= (pow = s_mp_ispow2d(d))) {
  ------------------
  |  Branch (3591:9): [True: 554k, False: 31.6k]
  ------------------
 3592|   554k|        return s_mp_mul_2d(a, (mp_digit)pow);
 3593|   554k|    }
 3594|       |
 3595|  31.6k|    used = MP_USED(a);
  ------------------
  |  |  145|  31.6k|#define MP_USED(MP) ((MP)->used)
  ------------------
 3596|  31.6k|    MP_CHECKOK(s_mp_pad(a, used + 1));
  ------------------
  |  |  314|  31.6k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  31.6k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 31.6k]
  |  |  ------------------
  |  |  315|  31.6k|    goto CLEANUP
  ------------------
 3597|       |
 3598|  31.6k|    s_mpv_mul_d(MP_DIGITS(a), used, d, MP_DIGITS(a));
  ------------------
  |  |  189|  31.6k|    ((mp_digit *)c)[a_len] = s_mpv_mul_set_vec64(c, a, a_len, b)
  ------------------
 3599|       |
 3600|  31.6k|    s_mp_clamp(a);
 3601|       |
 3602|  31.6k|CLEANUP:
 3603|  31.6k|    return res;
 3604|       |
 3605|  31.6k|} /* end s_mp_mul_d() */
s_mp_sub:
 4001|  46.9k|{
 4002|  46.9k|    mp_digit *pa, *pb, *limit;
 4003|       |#if !defined(MP_NO_MP_WORD) && !defined(MP_NO_SUB_WORD)
 4004|       |    mp_sword w = 0;
 4005|       |#else
 4006|  46.9k|    mp_digit d, diff, borrow = 0;
 4007|  46.9k|#endif
 4008|       |
 4009|       |    /*
 4010|       |    Subtract and propagate borrow.  Up to the precision of b, this
 4011|       |    accounts for the digits of b; after that, we just make sure the
 4012|       |    carries get to the right place.  This saves having to pad b out to
 4013|       |    the precision of a just to make the loops work right...
 4014|       |   */
 4015|  46.9k|    pa = MP_DIGITS(a);
  ------------------
  |  |  147|  46.9k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 4016|  46.9k|    pb = MP_DIGITS(b);
  ------------------
  |  |  147|  46.9k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 4017|  46.9k|    limit = pb + MP_USED(b);
  ------------------
  |  |  145|  46.9k|#define MP_USED(MP) ((MP)->used)
  ------------------
 4018|   720k|    while (pb < limit) {
  ------------------
  |  Branch (4018:12): [True: 673k, False: 46.9k]
  ------------------
 4019|       |#if !defined(MP_NO_MP_WORD) && !defined(MP_NO_SUB_WORD)
 4020|       |        w = w + *pa - *pb++;
 4021|       |        *pa++ = ACCUM(w);
 4022|       |        w >>= MP_DIGIT_BIT;
 4023|       |#else
 4024|   673k|        d = *pa;
 4025|   673k|        diff = d - *pb++;
 4026|   673k|        d = (diff > d); /* detect borrow */
 4027|   673k|        if (borrow && --diff == MP_DIGIT_MAX)
  ------------------
  |  |   74|   405k|#define MP_DIGIT_MAX ULONG_MAX
  ------------------
  |  Branch (4027:13): [True: 405k, False: 268k]
  |  Branch (4027:23): [True: 89.3k, False: 315k]
  ------------------
 4028|  89.3k|            ++d;
 4029|   673k|        *pa++ = diff;
 4030|   673k|        borrow = d;
 4031|   673k|#endif
 4032|   673k|    }
 4033|  46.9k|    limit = MP_DIGITS(a) + MP_USED(a);
  ------------------
  |  |  147|  46.9k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
                  limit = MP_DIGITS(a) + MP_USED(a);
  ------------------
  |  |  145|  46.9k|#define MP_USED(MP) ((MP)->used)
  ------------------
 4034|       |#if !defined(MP_NO_MP_WORD) && !defined(MP_NO_SUB_WORD)
 4035|       |    while (w && pa < limit) {
 4036|       |        w = w + *pa;
 4037|       |        *pa++ = ACCUM(w);
 4038|       |        w >>= MP_DIGIT_BIT;
 4039|       |    }
 4040|       |#else
 4041|  56.9k|    while (borrow && pa < limit) {
  ------------------
  |  Branch (4041:12): [True: 10.0k, False: 46.9k]
  |  Branch (4041:22): [True: 10.0k, False: 0]
  ------------------
 4042|  10.0k|        d = *pa;
 4043|  10.0k|        *pa++ = diff = d - borrow;
 4044|  10.0k|        borrow = (diff > d);
 4045|  10.0k|    }
 4046|  46.9k|#endif
 4047|       |
 4048|       |    /* Clobber any leading zeroes we created    */
 4049|  46.9k|    s_mp_clamp(a);
 4050|       |
 4051|       |/*
 4052|       |     If there was a borrow out, then |b| > |a| in violation
 4053|       |     of our input invariant.  We've already done the work,
 4054|       |     but we'll at least complain about it...
 4055|       |   */
 4056|       |#if !defined(MP_NO_MP_WORD) && !defined(MP_NO_SUB_WORD)
 4057|       |    return w ? MP_RANGE : MP_OKAY;
 4058|       |#else
 4059|  46.9k|    return borrow ? MP_RANGE : MP_OKAY;
  ------------------
  |  |   43|      0|#define MP_RANGE -3  /* argument out of range */
  ------------------
                  return borrow ? MP_RANGE : MP_OKAY;
  ------------------
  |  |   39|  46.9k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
  |  Branch (4059:12): [True: 0, False: 46.9k]
  ------------------
 4060|  46.9k|#endif
 4061|  46.9k|} /* end s_mp_sub() */
s_mpv_div_2dx1d:
 4446|  31.2k|{
 4447|  31.2k|    mp_digit d1, d0, q1, q0;
 4448|  31.2k|    mp_digit r1, r0, m;
 4449|       |
 4450|  31.2k|    d1 = divisor >> MP_HALF_DIGIT_BIT;
  ------------------
  |  |  136|  31.2k|#define MP_HALF_DIGIT_BIT (MP_DIGIT_BIT / 2)
  |  |  ------------------
  |  |  |  |  132|  31.2k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  31.2k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4451|  31.2k|    d0 = divisor & MP_HALF_DIGIT_MAX;
  ------------------
  |  |   76|  31.2k|#define MP_HALF_DIGIT_MAX UINT_MAX
  ------------------
 4452|  31.2k|    r1 = Nhi % d1;
 4453|  31.2k|    q1 = Nhi / d1;
 4454|  31.2k|    m = q1 * d0;
 4455|  31.2k|    r1 = (r1 << MP_HALF_DIGIT_BIT) | (Nlo >> MP_HALF_DIGIT_BIT);
  ------------------
  |  |  136|  31.2k|#define MP_HALF_DIGIT_BIT (MP_DIGIT_BIT / 2)
  |  |  ------------------
  |  |  |  |  132|  31.2k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  31.2k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                  r1 = (r1 << MP_HALF_DIGIT_BIT) | (Nlo >> MP_HALF_DIGIT_BIT);
  ------------------
  |  |  136|  31.2k|#define MP_HALF_DIGIT_BIT (MP_DIGIT_BIT / 2)
  |  |  ------------------
  |  |  |  |  132|  31.2k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  31.2k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4456|  31.2k|    if (r1 < m) {
  ------------------
  |  Branch (4456:9): [True: 11.5k, False: 19.7k]
  ------------------
 4457|  11.5k|        q1--, r1 += divisor;
 4458|  11.5k|        if (r1 >= divisor && r1 < m) {
  ------------------
  |  Branch (4458:13): [True: 3.58k, False: 7.93k]
  |  Branch (4458:30): [True: 880, False: 2.70k]
  ------------------
 4459|    880|            q1--, r1 += divisor;
 4460|    880|        }
 4461|  11.5k|    }
 4462|  31.2k|    r1 -= m;
 4463|  31.2k|    r0 = r1 % d1;
 4464|  31.2k|    q0 = r1 / d1;
 4465|  31.2k|    m = q0 * d0;
 4466|  31.2k|    r0 = (r0 << MP_HALF_DIGIT_BIT) | (Nlo & MP_HALF_DIGIT_MAX);
  ------------------
  |  |  136|  31.2k|#define MP_HALF_DIGIT_BIT (MP_DIGIT_BIT / 2)
  |  |  ------------------
  |  |  |  |  132|  31.2k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  31.2k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                  r0 = (r0 << MP_HALF_DIGIT_BIT) | (Nlo & MP_HALF_DIGIT_MAX);
  ------------------
  |  |   76|  31.2k|#define MP_HALF_DIGIT_MAX UINT_MAX
  ------------------
 4467|  31.2k|    if (r0 < m) {
  ------------------
  |  Branch (4467:9): [True: 11.6k, False: 19.5k]
  ------------------
 4468|  11.6k|        q0--, r0 += divisor;
 4469|  11.6k|        if (r0 >= divisor && r0 < m) {
  ------------------
  |  Branch (4469:13): [True: 3.55k, False: 8.07k]
  |  Branch (4469:30): [True: 887, False: 2.66k]
  ------------------
 4470|    887|            q0--, r0 += divisor;
 4471|    887|        }
 4472|  11.6k|    }
 4473|  31.2k|    if (qp)
  ------------------
  |  Branch (4473:9): [True: 31.2k, False: 0]
  ------------------
 4474|  31.2k|        *qp = (q1 << MP_HALF_DIGIT_BIT) | q0;
  ------------------
  |  |  136|  31.2k|#define MP_HALF_DIGIT_BIT (MP_DIGIT_BIT / 2)
  |  |  ------------------
  |  |  |  |  132|  31.2k|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  |  |  ------------------
  |  |  |  |  |  |  131|  31.2k|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 4475|  31.2k|    if (rp)
  ------------------
  |  Branch (4475:9): [True: 31.2k, False: 0]
  ------------------
 4476|  31.2k|        *rp = r0 - m;
 4477|  31.2k|    return MP_OKAY;
  ------------------
  |  |   39|  31.2k|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 4478|  31.2k|}
s_mp_div:
 4515|  3.73k|{
 4516|  3.73k|    mp_int part, t;
 4517|  3.73k|    mp_digit q_msd;
 4518|  3.73k|    mp_err res;
 4519|  3.73k|    mp_digit d;
 4520|  3.73k|    mp_digit div_msd;
 4521|  3.73k|    int ix;
 4522|       |
 4523|  3.73k|    if (mp_cmp_z(div) == 0)
  ------------------
  |  Branch (4523:9): [True: 0, False: 3.73k]
  ------------------
 4524|      0|        return MP_RANGE;
  ------------------
  |  |   43|      0|#define MP_RANGE -3  /* argument out of range */
  ------------------
 4525|       |
 4526|  3.73k|    DIGITS(&t) = 0;
  ------------------
  |  |  330|  3.73k|#define DIGITS(MP) MP_DIGITS(MP)
  |  |  ------------------
  |  |  |  |  147|  3.73k|#define MP_DIGITS(MP) ((MP)->dp)
  |  |  ------------------
  ------------------
 4527|       |    /* Shortcut if divisor is power of two */
 4528|  3.73k|    if ((ix = s_mp_ispow2(div)) >= 0) {
  ------------------
  |  Branch (4528:9): [True: 424, False: 3.30k]
  ------------------
 4529|    424|        MP_CHECKOK(mp_copy(rem, quot));
  ------------------
  |  |  314|    424|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|    424|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 424]
  |  |  ------------------
  |  |  315|    424|    goto CLEANUP
  ------------------
 4530|    424|        s_mp_div_2d(quot, (mp_digit)ix);
 4531|    424|        s_mp_mod_2d(rem, (mp_digit)ix);
 4532|       |
 4533|    424|        return MP_OKAY;
  ------------------
  |  |   39|    424|#define MP_OKAY 0    /* no error, all is well */
  ------------------
 4534|    424|    }
 4535|       |
 4536|  3.30k|    MP_SIGN(rem) = ZPOS;
  ------------------
  |  |  144|  3.30k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
                  MP_SIGN(rem) = ZPOS;
  ------------------
  |  |  321|  3.30k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  3.30k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 4537|  3.30k|    MP_SIGN(div) = ZPOS;
  ------------------
  |  |  144|  3.30k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
                  MP_SIGN(div) = ZPOS;
  ------------------
  |  |  321|  3.30k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  3.30k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 4538|  3.30k|    MP_SIGN(&part) = ZPOS;
  ------------------
  |  |  144|  3.30k|#define MP_SIGN(MP) ((MP)->sign)
  ------------------
                  MP_SIGN(&part) = ZPOS;
  ------------------
  |  |  321|  3.30k|#define ZPOS MP_ZPOS
  |  |  ------------------
  |  |  |  |   37|  3.30k|#define MP_ZPOS 0
  |  |  ------------------
  ------------------
 4539|       |
 4540|       |    /* A working temporary for division     */
 4541|  3.30k|    MP_CHECKOK(mp_init_size(&t, MP_ALLOC(rem)));
  ------------------
  |  |  314|  3.30k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  3.30k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 3.30k]
  |  |  ------------------
  |  |  315|  3.30k|    goto CLEANUP
  ------------------
 4542|       |
 4543|       |    /* Normalize to optimize guessing       */
 4544|  3.30k|    MP_CHECKOK(s_mp_norm(rem, div, &d));
  ------------------
  |  |  314|  3.30k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  3.30k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 3.30k]
  |  |  ------------------
  |  |  315|  3.30k|    goto CLEANUP
  ------------------
 4545|       |
 4546|       |    /* Perform the division itself...woo!   */
 4547|  3.30k|    MP_USED(quot) = MP_ALLOC(quot);
  ------------------
  |  |  145|  3.30k|#define MP_USED(MP) ((MP)->used)
  ------------------
                  MP_USED(quot) = MP_ALLOC(quot);
  ------------------
  |  |  146|  3.30k|#define MP_ALLOC(MP) ((MP)->alloc)
  ------------------
 4548|       |
 4549|       |    /* Find a partial substring of rem which is at least div */
 4550|       |    /* If we didn't find one, we're finished dividing    */
 4551|  38.5k|    while (MP_USED(rem) > MP_USED(div) || s_mp_cmp(rem, div) >= 0) {
  ------------------
  |  |  145|  38.5k|#define MP_USED(MP) ((MP)->used)
  ------------------
                  while (MP_USED(rem) > MP_USED(div) || s_mp_cmp(rem, div) >= 0) {
  ------------------
  |  |  145|  77.0k|#define MP_USED(MP) ((MP)->used)
  ------------------
  |  Branch (4551:12): [True: 35.1k, False: 3.42k]
  |  Branch (4551:43): [True: 122, False: 3.30k]
  ------------------
 4552|  35.2k|        int i;
 4553|  35.2k|        int unusedRem;
 4554|  35.2k|        int partExtended = 0; /* set to true if we need to extend part */
 4555|       |
 4556|  35.2k|        unusedRem = MP_USED(rem) - MP_USED(div);
  ------------------
  |  |  145|  35.2k|#define MP_USED(MP) ((MP)->used)
  ------------------
                      unusedRem = MP_USED(rem) - MP_USED(div);
  ------------------
  |  |  145|  35.2k|#define MP_USED(MP) ((MP)->used)
  ------------------
 4557|  35.2k|        MP_DIGITS(&part) = MP_DIGITS(rem) + unusedRem;
  ------------------
  |  |  147|  35.2k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
                      MP_DIGITS(&part) = MP_DIGITS(rem) + unusedRem;
  ------------------
  |  |  147|  35.2k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 4558|  35.2k|        MP_ALLOC(&part) = MP_ALLOC(rem) - unusedRem;
  ------------------
  |  |  146|  35.2k|#define MP_ALLOC(MP) ((MP)->alloc)
  ------------------
                      MP_ALLOC(&part) = MP_ALLOC(rem) - unusedRem;
  ------------------
  |  |  146|  35.2k|#define MP_ALLOC(MP) ((MP)->alloc)
  ------------------
 4559|  35.2k|        MP_USED(&part) = MP_USED(div);
  ------------------
  |  |  145|  35.2k|#define MP_USED(MP) ((MP)->used)
  ------------------
                      MP_USED(&part) = MP_USED(div);
  ------------------
  |  |  145|  35.2k|#define MP_USED(MP) ((MP)->used)
  ------------------
 4560|       |
 4561|       |        /* We have now truncated the part of the remainder to the same length as
 4562|       |         * the divisor. If part is smaller than div, extend part by one digit. */
 4563|  35.2k|        if (s_mp_cmp(&part, div) < 0) {
  ------------------
  |  Branch (4563:13): [True: 34.4k, False: 839]
  ------------------
 4564|  34.4k|            --unusedRem;
 4565|  34.4k|#if MP_ARGCHK == 2
 4566|  34.4k|            assert(unusedRem >= 0);
 4567|  34.4k|#endif
 4568|  34.4k|            --MP_DIGITS(&part);
  ------------------
  |  |  147|  34.4k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 4569|  34.4k|            ++MP_USED(&part);
  ------------------
  |  |  145|  34.4k|#define MP_USED(MP) ((MP)->used)
  ------------------
 4570|  34.4k|            ++MP_ALLOC(&part);
  ------------------
  |  |  146|  34.4k|#define MP_ALLOC(MP) ((MP)->alloc)
  ------------------
 4571|  34.4k|            partExtended = 1;
 4572|  34.4k|        }
 4573|       |
 4574|       |        /* Compute a guess for the next quotient digit       */
 4575|  35.2k|        q_msd = MP_DIGIT(&part, MP_USED(&part) - 1);
  ------------------
  |  |  148|  35.2k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  ------------------
 4576|  35.2k|        div_msd = MP_DIGIT(div, MP_USED(div) - 1);
  ------------------
  |  |  148|  35.2k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  ------------------
 4577|  35.2k|        if (!partExtended) {
  ------------------
  |  Branch (4577:13): [True: 839, False: 34.4k]
  ------------------
 4578|       |            /* In this case, q_msd /= div_msd is always 1. First, since div_msd is
 4579|       |             * normalized to have the high bit set, 2*div_msd > MP_DIGIT_MAX. Since
 4580|       |             * we didn't extend part, q_msd >= div_msd. Therefore we know that
 4581|       |             * div_msd <= q_msd <= MP_DIGIT_MAX < 2*div_msd. Dividing by div_msd we
 4582|       |             * get 1 <= q_msd/div_msd < 2. So q_msd /= div_msd must be 1. */
 4583|    839|            q_msd = 1;
 4584|  34.4k|        } else {
 4585|  34.4k|            if (q_msd == div_msd) {
  ------------------
  |  Branch (4585:17): [True: 3.18k, False: 31.2k]
  ------------------
 4586|  3.18k|                q_msd = MP_DIGIT_MAX;
  ------------------
  |  |   74|  3.18k|#define MP_DIGIT_MAX ULONG_MAX
  ------------------
 4587|  31.2k|            } else {
 4588|  31.2k|                mp_digit r;
 4589|  31.2k|                MP_CHECKOK(s_mpv_div_2dx1d(q_msd, MP_DIGIT(&part, MP_USED(&part) - 2),
  ------------------
  |  |  314|  31.2k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  31.2k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 31.2k]
  |  |  ------------------
  |  |  315|  31.2k|    goto CLEANUP
  ------------------
 4590|  31.2k|                                           div_msd, &q_msd, &r));
 4591|  31.2k|            }
 4592|  34.4k|        }
 4593|  35.2k|#if MP_ARGCHK == 2
 4594|  35.2k|        assert(q_msd > 0); /* This case should never occur any more. */
 4595|  35.2k|#endif
 4596|  35.2k|        if (q_msd <= 0)
  ------------------
  |  Branch (4596:13): [True: 0, False: 35.2k]
  ------------------
 4597|      0|            break;
 4598|       |
 4599|       |        /* See what that multiplies out to                   */
 4600|  35.2k|        mp_copy(div, &t);
 4601|  35.2k|        MP_CHECKOK(s_mp_mul_d(&t, q_msd));
  ------------------
  |  |  314|  35.2k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  35.2k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 35.2k]
  |  |  ------------------
  |  |  315|  35.2k|    goto CLEANUP
  ------------------
 4602|       |
 4603|       |        /*
 4604|       |           If it's too big, back it off.  We should not have to do this
 4605|       |           more than once, or, in rare cases, twice.  Knuth describes a
 4606|       |           method by which this could be reduced to a maximum of once, but
 4607|       |           I didn't implement that here.
 4608|       |           When using s_mpv_div_2dx1d, we may have to do this 3 times.
 4609|       |         */
 4610|  46.9k|        for (i = 4; s_mp_cmp(&t, &part) > 0 && i > 0; --i) {
  ------------------
  |  Branch (4610:21): [True: 11.6k, False: 35.2k]
  |  Branch (4610:48): [True: 11.6k, False: 0]
  ------------------
 4611|  11.6k|            --q_msd;
 4612|  11.6k|            MP_CHECKOK(s_mp_sub(&t, div)); /* t -= div */
  ------------------
  |  |  314|  11.6k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  11.6k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 11.6k]
  |  |  ------------------
  |  |  315|  11.6k|    goto CLEANUP
  ------------------
 4613|  11.6k|        }
 4614|  35.2k|        if (i < 0) {
  ------------------
  |  Branch (4614:13): [True: 0, False: 35.2k]
  ------------------
 4615|      0|            res = MP_RANGE;
  ------------------
  |  |   43|      0|#define MP_RANGE -3  /* argument out of range */
  ------------------
 4616|      0|            goto CLEANUP;
 4617|      0|        }
 4618|       |
 4619|       |        /* At this point, q_msd should be the right next digit   */
 4620|  35.2k|        MP_CHECKOK(s_mp_sub(&part, &t)); /* part -= t */
  ------------------
  |  |  314|  35.2k|    if (MP_OKAY > (res = (x))) \
  |  |  ------------------
  |  |  |  |   39|  35.2k|#define MP_OKAY 0    /* no error, all is well */
  |  |  ------------------
  |  |  |  Branch (314:9): [True: 0, False: 35.2k]
  |  |  ------------------
  |  |  315|  35.2k|    goto CLEANUP
  ------------------
 4621|  35.2k|        s_mp_clamp(rem);
 4622|       |
 4623|       |        /*
 4624|       |          Include the digit in the quotient.  We allocated enough memory
 4625|       |          for any quotient we could ever possibly get, so we should not
 4626|       |          have to check for failures here
 4627|       |         */
 4628|  35.2k|        MP_DIGIT(quot, unusedRem) = q_msd;
  ------------------
  |  |  148|  35.2k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  ------------------
 4629|  35.2k|    }
 4630|       |
 4631|       |    /* Denormalize remainder                */
 4632|  3.30k|    if (d) {
  ------------------
  |  Branch (4632:9): [True: 2.81k, False: 494]
  ------------------
 4633|  2.81k|        s_mp_div_2d(rem, d);
 4634|  2.81k|    }
 4635|       |
 4636|  3.30k|    s_mp_clamp(quot);
 4637|       |
 4638|  3.30k|CLEANUP:
 4639|  3.30k|    mp_clear(&t);
 4640|       |
 4641|  3.30k|    return res;
 4642|       |
 4643|  3.30k|} /* end s_mp_div() */
s_mp_cmp:
 4742|  93.3k|{
 4743|  93.3k|    ARGMPCHK(a != NULL && b != NULL);
  ------------------
  |  |  349|  93.3k|#define ARGMPCHK(X) assert(X)
  ------------------
 4744|       |
 4745|  93.3k|    mp_size used_a = MP_USED(a);
  ------------------
  |  |  145|  93.3k|#define MP_USED(MP) ((MP)->used)
  ------------------
 4746|  93.3k|    {
 4747|  93.3k|        mp_size used_b = MP_USED(b);
  ------------------
  |  |  145|  93.3k|#define MP_USED(MP) ((MP)->used)
  ------------------
 4748|       |
 4749|  93.3k|        if (used_a > used_b)
  ------------------
  |  Branch (4749:13): [True: 6.29k, False: 87.0k]
  ------------------
 4750|  6.29k|            goto IS_GT;
 4751|  87.0k|        if (used_a < used_b)
  ------------------
  |  Branch (4751:13): [True: 590, False: 86.4k]
  ------------------
 4752|    590|            goto IS_LT;
 4753|  87.0k|    }
 4754|  86.4k|    {
 4755|  86.4k|        mp_digit *pa, *pb;
 4756|  86.4k|        mp_digit da = 0, db = 0;
 4757|       |
 4758|  86.4k|#define CMP_AB(n)                     \
 4759|  86.4k|    if ((da = pa[n]) != (db = pb[n])) \
 4760|  86.4k|    goto done
 4761|       |
 4762|  86.4k|        pa = MP_DIGITS(a) + used_a;
  ------------------
  |  |  147|  86.4k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 4763|  86.4k|        pb = MP_DIGITS(b) + used_a;
  ------------------
  |  |  147|  86.4k|#define MP_DIGITS(MP) ((MP)->dp)
  ------------------
 4764|  89.1k|        while (used_a >= 4) {
  ------------------
  |  Branch (4764:16): [True: 61.4k, False: 27.7k]
  ------------------
 4765|  61.4k|            pa -= 4;
 4766|  61.4k|            pb -= 4;
 4767|  61.4k|            used_a -= 4;
 4768|  61.4k|            CMP_AB(3);
  ------------------
  |  | 4759|  61.4k|    if ((da = pa[n]) != (db = pb[n])) \
  |  |  ------------------
  |  |  |  Branch (4759:9): [True: 39.4k, False: 22.0k]
  |  |  ------------------
  |  | 4760|  61.4k|    goto done
  ------------------
 4769|  22.0k|            CMP_AB(2);
  ------------------
  |  | 4759|  22.0k|    if ((da = pa[n]) != (db = pb[n])) \
  |  |  ------------------
  |  |  |  Branch (4759:9): [True: 16.2k, False: 5.76k]
  |  |  ------------------
  |  | 4760|  22.0k|    goto done
  ------------------
 4770|  5.76k|            CMP_AB(1);
  ------------------
  |  | 4759|  5.76k|    if ((da = pa[n]) != (db = pb[n])) \
  |  |  ------------------
  |  |  |  Branch (4759:9): [True: 1.59k, False: 4.16k]
  |  |  ------------------
  |  | 4760|  5.76k|    goto done
  ------------------
 4771|  4.16k|            CMP_AB(0);
  ------------------
  |  | 4759|  4.16k|    if ((da = pa[n]) != (db = pb[n])) \
  |  |  ------------------
  |  |  |  Branch (4759:9): [True: 1.42k, False: 2.74k]
  |  |  ------------------
  |  | 4760|  4.16k|    goto done
  ------------------
 4772|  4.16k|        }
 4773|  35.2k|        while (used_a-- > 0 && ((da = *--pa) == (db = *--pb)))
  ------------------
  |  Branch (4773:16): [True: 34.2k, False: 1.04k]
  |  Branch (4773:32): [True: 7.54k, False: 26.6k]
  ------------------
 4774|  7.54k|            /* do nothing */;
 4775|  86.4k|    done:
 4776|  86.4k|        if (da > db)
  ------------------
  |  Branch (4776:13): [True: 13.5k, False: 72.8k]
  ------------------
 4777|  13.5k|            goto IS_GT;
 4778|  72.8k|        if (da < db)
  ------------------
  |  Branch (4778:13): [True: 71.8k, False: 1.04k]
  ------------------
 4779|  71.8k|            goto IS_LT;
 4780|  72.8k|    }
 4781|  1.04k|    return MP_EQ;
  ------------------
  |  |   96|  1.04k|#define MP_EQ 0
  ------------------
 4782|  72.4k|IS_LT:
 4783|  72.4k|    return MP_LT;
  ------------------
  |  |   95|  72.4k|#define MP_LT -1
  ------------------
 4784|  19.8k|IS_GT:
 4785|  19.8k|    return MP_GT;
  ------------------
  |  |   97|  19.8k|#define MP_GT 1
  ------------------
 4786|  72.8k|} /* end s_mp_cmp() */
s_mp_cmp_d:
 4795|   560k|{
 4796|   560k|    ARGMPCHK(a != NULL);
  ------------------
  |  |  349|   560k|#define ARGMPCHK(X) assert(X)
  ------------------
 4797|       |
 4798|   560k|    if (USED(a) > 1)
  ------------------
  |  |  328|   560k|#define USED(MP) MP_USED(MP)
  |  |  ------------------
  |  |  |  |  145|   560k|#define MP_USED(MP) ((MP)->used)
  |  |  ------------------
  ------------------
  |  Branch (4798:9): [True: 424k, False: 135k]
  ------------------
 4799|   424k|        return MP_GT;
  ------------------
  |  |   97|   424k|#define MP_GT 1
  ------------------
 4800|       |
 4801|   135k|    if (DIGIT(a, 0) < d)
  ------------------
  |  |  331|   135k|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|   135k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
  |  Branch (4801:9): [True: 0, False: 135k]
  ------------------
 4802|      0|        return MP_LT;
  ------------------
  |  |   95|      0|#define MP_LT -1
  ------------------
 4803|   135k|    else if (DIGIT(a, 0) > d)
  ------------------
  |  |  331|   135k|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|   135k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
  |  Branch (4803:14): [True: 76.6k, False: 59.2k]
  ------------------
 4804|  76.6k|        return MP_GT;
  ------------------
  |  |   97|  76.6k|#define MP_GT 1
  ------------------
 4805|  59.2k|    else
 4806|  59.2k|        return MP_EQ;
  ------------------
  |  |   96|  59.2k|#define MP_EQ 0
  ------------------
 4807|       |
 4808|   135k|} /* end s_mp_cmp_d() */
s_mp_ispow2:
 4820|  3.73k|{
 4821|  3.73k|    mp_digit d;
 4822|  3.73k|    int extra = 0, ix;
 4823|       |
 4824|  3.73k|    ARGMPCHK(v != NULL);
  ------------------
  |  |  349|  3.73k|#define ARGMPCHK(X) assert(X)
  ------------------
 4825|       |
 4826|  3.73k|    ix = MP_USED(v) - 1;
  ------------------
  |  |  145|  3.73k|#define MP_USED(MP) ((MP)->used)
  ------------------
 4827|  3.73k|    d = MP_DIGIT(v, ix); /* most significant digit of v */
  ------------------
  |  |  148|  3.73k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  ------------------
 4828|       |
 4829|  3.73k|    extra = s_mp_ispow2d(d);
 4830|  3.73k|    if (extra < 0 || ix == 0)
  ------------------
  |  Branch (4830:9): [True: 3.01k, False: 712]
  |  Branch (4830:22): [True: 200, False: 512]
  ------------------
 4831|  3.21k|        return extra;
 4832|       |
 4833|  1.28k|    while (--ix >= 0) {
  ------------------
  |  Branch (4833:12): [True: 1.06k, False: 224]
  ------------------
 4834|  1.06k|        if (DIGIT(v, ix) != 0)
  ------------------
  |  |  331|  1.06k|#define DIGIT(MP, N) MP_DIGIT(MP, N)
  |  |  ------------------
  |  |  |  |  148|  1.06k|#define MP_DIGIT(MP, N) (MP)->dp[(N)]
  |  |  ------------------
  ------------------
  |  Branch (4834:13): [True: 288, False: 776]
  ------------------
 4835|    288|            return -1; /* not a power of two */
 4836|    776|        extra += MP_DIGIT_BIT;
  ------------------
  |  |  132|    776|#define MP_DIGIT_BIT (CHAR_BIT * MP_DIGIT_SIZE)
  |  |  ------------------
  |  |  |  |  131|    776|#define MP_DIGIT_SIZE sizeof(mp_digit)
  |  |  ------------------
  ------------------
 4837|    776|    }
 4838|       |
 4839|    224|    return extra;
 4840|       |
 4841|    512|} /* end s_mp_ispow2() */
s_mp_ispow2d:
 4849|  1.72M|{
 4850|  1.72M|    if ((d != 0) && ((d & (d - 1)) == 0)) { /* d is a power of 2 */
  ------------------
  |  Branch (4850:9): [True: 1.72M, False: 0]
  |  Branch (4850:21): [True: 1.69M, False: 34.7k]
  ------------------
 4851|  1.69M|        int pow = 0;
 4852|       |#if defined(MP_USE_UINT_DIGIT)
 4853|       |        if (d & 0xffff0000U)
 4854|       |            pow += 16;
 4855|       |        if (d & 0xff00ff00U)
 4856|       |            pow += 8;
 4857|       |        if (d & 0xf0f0f0f0U)
 4858|       |            pow += 4;
 4859|       |        if (d & 0xccccccccU)
 4860|       |            pow += 2;
 4861|       |        if (d & 0xaaaaaaaaU)
 4862|       |            pow += 1;
 4863|       |#elif defined(MP_USE_LONG_LONG_DIGIT)
 4864|       |        if (d & 0xffffffff00000000ULL)
 4865|       |            pow += 32;
 4866|       |        if (d & 0xffff0000ffff0000ULL)
 4867|       |            pow += 16;
 4868|       |        if (d & 0xff00ff00ff00ff00ULL)
 4869|       |            pow += 8;
 4870|       |        if (d & 0xf0f0f0f0f0f0f0f0ULL)
 4871|       |            pow += 4;
 4872|       |        if (d & 0xccccccccccccccccULL)
 4873|       |            pow += 2;
 4874|       |        if (d & 0xaaaaaaaaaaaaaaaaULL)
 4875|       |            pow += 1;
 4876|       |#elif defined(MP_USE_LONG_DIGIT)
 4877|  1.69M|        if (d & 0xffffffff00000000UL)
  ------------------
  |  Branch (4877:13): [True: 764, False: 1.69M]
  ------------------
 4878|    764|            pow += 32;
 4879|  1.69M|        if (d & 0xffff0000ffff0000UL)
  ------------------
  |  Branch (4879:13): [True: 738, False: 1.69M]
  ------------------
 4880|    738|            pow += 16;
 4881|  1.69M|        if (d & 0xff00ff00ff00ff00UL)
  ------------------
  |  Branch (4881:13): [True: 553k, False: 1.13M]
  ------------------
 4882|   553k|            pow += 8;
 4883|  1.69M|        if (d & 0xf0f0f0f0f0f0f0f0UL)
  ------------------
  |  Branch (4883:13): [True: 1.13M, False: 554k]
  ------------------
 4884|  1.13M|            pow += 4;
 4885|  1.69M|        if (d & 0xccccccccccccccccUL)
  ------------------
  |  Branch (4885:13): [True: 1.21k, False: 1.69M]
  ------------------
 4886|  1.21k|            pow += 2;
 4887|  1.69M|        if (d & 0xaaaaaaaaaaaaaaaaUL)
  ------------------
  |  Branch (4887:13): [True: 970, False: 1.69M]
  ------------------
 4888|    970|            pow += 1;
 4889|       |#else
 4890|       |#error "unknown type for mp_digit"
 4891|       |#endif
 4892|  1.69M|        return pow;
 4893|  1.69M|    }
 4894|  34.7k|    return -1;
 4895|       |
 4896|  1.72M|} /* end s_mp_ispow2d() */
s_mp_todigit:
 4959|  1.13M|{
 4960|  1.13M|    char ch;
 4961|       |
 4962|  1.13M|    if (val >= r)
  ------------------
  |  Branch (4962:9): [True: 0, False: 1.13M]
  ------------------
 4963|      0|        return 0;
 4964|       |
 4965|  1.13M|    ch = s_dmap_1[val];
 4966|       |
 4967|  1.13M|    if (r <= 36 && low)
  ------------------
  |  Branch (4967:9): [True: 1.13M, False: 0]
  |  Branch (4967:20): [True: 0, False: 1.13M]
  ------------------
 4968|      0|        ch = tolower(ch);
 4969|       |
 4970|  1.13M|    return ch;
 4971|       |
 4972|  1.13M|} /* end s_mp_todigit() */

