void util_format_signed_encode_rgtc_ubyte(signed char *blkaddr,
                                          signed char srccolors[4][4],
                                          int numxpixels, int numypixels) {
  signed char alphabase[2], alphause[2];
  short alphatest[2] = {0};
  unsigned int alphablockerror1, alphablockerror2, alphablockerror3;
  signed char i, j, aindex, acutValues[7];
  signed char alphaenc1[16], alphaenc2[16], alphaenc3[16];
  int alphaabsmin = 0, alphaabsmax = 0;
  short alphadist;
  alphabase[0] = (signed char)127;
  alphabase[1] = (signed char)-128;
  for (j = 0; j < numypixels; j++) {
    for (i = 0; i < numxpixels; i++) {
      if (srccolors[j][i] == (signed char)-128)
        alphaabsmin = 1;
      else if (srccolors[j][i] == (signed char)127)
        alphaabsmax = 1;
      else {
        if (srccolors[j][i] > alphabase[1])
          alphabase[1] = srccolors[j][i];
        if (srccolors[j][i] < alphabase[0])
          alphabase[0] = srccolors[j][i];
      }
    }
  }
  if (((alphabase[0] > alphabase[1]) && !(alphaabsmin && alphaabsmax)) ||
      (alphabase[0] == alphabase[1] && !alphaabsmin && !alphaabsmax)) {
    *blkaddr++ = srccolors[0][0];
    blkaddr++;
    *blkaddr++ = 0;
    *blkaddr++ = 0;
    *blkaddr++ = 0;
    *blkaddr++ = 0;
    *blkaddr++ = 0;
    *blkaddr++ = 0;
    return;
  }
  alphablockerror1 = 0x0;
  alphablockerror2 = 0xffffffff;
  alphablockerror3 = 0xffffffff;
  if (alphaabsmin)
    alphause[0] = (signed char)-128;
  else
    alphause[0] = alphabase[0];
  if (alphaabsmax)
    alphause[1] = (signed char)127;
  else
    alphause[1] = alphabase[1];
  for (aindex = 0; aindex < 7; aindex++) {
    acutValues[aindex] = (alphause[0] * (2 * aindex + 1) +
                          alphause[1] * (14 - (2 * aindex + 1))) /
                         14;
  }
  for (j = 0; j < numypixels; j++) {
    for (i = 0; i < numxpixels; i++) {
      if (srccolors[j][i] > acutValues[0]) {
        alphaenc1[4 * j + i] = 0;
        alphadist = srccolors[j][i] - alphause[1];
      } else if (srccolors[j][i] > acutValues[1]) {
        alphaenc1[4 * j + i] = 2;
        alphadist = srccolors[j][i] - (alphause[1] * 6 + alphause[0] * 1) / 7;
      } else if (srccolors[j][i] > acutValues[2]) {
        alphaenc1[4 * j + i] = 3;
        alphadist = srccolors[j][i] - (alphause[1] * 5 + alphause[0] * 2) / 7;
      } else if (srccolors[j][i] > acutValues[3]) {
        alphaenc1[4 * j + i] = 4;
        alphadist = srccolors[j][i] - (alphause[1] * 4 + alphause[0] * 3) / 7;
      } else if (srccolors[j][i] > acutValues[4]) {
        alphaenc1[4 * j + i] = 5;
        alphadist = srccolors[j][i] - (alphause[1] * 3 + alphause[0] * 4) / 7;
      } else if (srccolors[j][i] > acutValues[5]) {
        alphaenc1[4 * j + i] = 6;
        alphadist = srccolors[j][i] - (alphause[1] * 2 + alphause[0] * 5) / 7;
      } else if (srccolors[j][i] > acutValues[6]) {
        alphaenc1[4 * j + i] = 7;
        alphadist = srccolors[j][i] - (alphause[1] * 1 + alphause[0] * 6) / 7;
      } else {
        alphaenc1[4 * j + i] = 1;
        alphadist = srccolors[j][i] - alphause[0];
      }
      alphablockerror1 += alphadist * alphadist;
    }
  }
  if (alphablockerror1 >= 32) {
    alphablockerror2 = 0;
    for (aindex = 0; aindex < 5; aindex++) {
      acutValues[aindex] = (alphabase[0] * (10 - (2 * aindex + 1)) +
                            alphabase[1] * (2 * aindex + 1)) /
                           10;
    }
    for (j = 0; j < numypixels; j++) {
      for (i = 0; i < numxpixels; i++) {
        if (srccolors[j][i] == (signed char)-128) {
          alphaenc2[4 * j + i] = 6;
          alphadist = 0;
        } else if (srccolors[j][i] == (signed char)127) {
          alphaenc2[4 * j + i] = 7;
          alphadist = 0;
        } else if (srccolors[j][i] <= acutValues[0]) {
          alphaenc2[4 * j + i] = 0;
          alphadist = srccolors[j][i] - alphabase[0];
        } else if (srccolors[j][i] <= acutValues[1]) {
          alphaenc2[4 * j + i] = 2;
          alphadist =
              srccolors[j][i] - (alphabase[0] * 4 + alphabase[1] * 1) / 5;
        } else if (srccolors[j][i] <= acutValues[2]) {
          alphaenc2[4 * j + i] = 3;
          alphadist =
              srccolors[j][i] - (alphabase[0] * 3 + alphabase[1] * 2) / 5;
        } else if (srccolors[j][i] <= acutValues[3]) {
          alphaenc2[4 * j + i] = 4;
          alphadist =
              srccolors[j][i] - (alphabase[0] * 2 + alphabase[1] * 3) / 5;
        } else if (srccolors[j][i] <= acutValues[4]) {
          alphaenc2[4 * j + i] = 5;
          alphadist =
              srccolors[j][i] - (alphabase[0] * 1 + alphabase[1] * 4) / 5;
        } else {
          alphaenc2[4 * j + i] = 1;
          alphadist = srccolors[j][i] - alphabase[1];
        }
        alphablockerror2 += alphadist * alphadist;
      }
    }
    if ((alphablockerror2 > 96) && (alphablockerror1 > 96)) {
      short blockerrlin1 = 0;
      short blockerrlin2 = 0;
      signed char nralphainrangelow = 0;
      signed char nralphainrangehigh = 0;
      alphatest[0] = (signed char)127;
      alphatest[1] = (signed char)-128;
      for (j = 0; j < numypixels; j++) {
        for (i = 0; i < numxpixels; i++) {
          if ((srccolors[j][i] > alphatest[1]) &&
              (srccolors[j][i] <
               ((signed char)127 - (alphabase[1] - alphabase[0]) / 28)))
            alphatest[1] = srccolors[j][i];
          if ((srccolors[j][i] < alphatest[0]) &&
              (srccolors[j][i] > (alphabase[1] - alphabase[0]) / 28))
            alphatest[0] = srccolors[j][i];
        }
      }
      if (alphatest[1] <= alphatest[0]) {
        alphatest[0] = (signed char)-128 + 1;
        alphatest[1] = (signed char)127 - 1;
      }
      for (aindex = 0; aindex < 5; aindex++) {
        acutValues[aindex] = (alphatest[0] * (10 - (2 * aindex + 1)) +
                              alphatest[1] * (2 * aindex + 1)) /
                             10;
      }
      for (j = 0; j < numypixels; j++) {
        for (i = 0; i < numxpixels; i++) {
          if (srccolors[j][i] <= alphatest[0] / 2) {
          } else if (srccolors[j][i] >
                     (((signed char)127 + alphatest[1]) / 2)) {
          } else if (srccolors[j][i] <= acutValues[0]) {
            blockerrlin1 += (srccolors[j][i] - alphatest[0]);
            nralphainrangelow += 1;
          } else if (srccolors[j][i] <= acutValues[1]) {
            blockerrlin1 +=
                (srccolors[j][i] - (alphatest[0] * 4 + alphatest[1] * 1) / 5);
            blockerrlin2 +=
                (srccolors[j][i] - (alphatest[0] * 4 + alphatest[1] * 1) / 5);
            nralphainrangelow += 1;
            nralphainrangehigh += 1;
          } else if (srccolors[j][i] <= acutValues[2]) {
            blockerrlin1 +=
                (srccolors[j][i] - (alphatest[0] * 3 + alphatest[1] * 2) / 5);
            blockerrlin2 +=
                (srccolors[j][i] - (alphatest[0] * 3 + alphatest[1] * 2) / 5);
            nralphainrangelow += 1;
            nralphainrangehigh += 1;
          } else if (srccolors[j][i] <= acutValues[3]) {
            blockerrlin1 +=
                (srccolors[j][i] - (alphatest[0] * 2 + alphatest[1] * 3) / 5);
            blockerrlin2 +=
                (srccolors[j][i] - (alphatest[0] * 2 + alphatest[1] * 3) / 5);
            nralphainrangelow += 1;
            nralphainrangehigh += 1;
          } else if (srccolors[j][i] <= acutValues[4]) {
            blockerrlin1 +=
                (srccolors[j][i] - (alphatest[0] * 1 + alphatest[1] * 4) / 5);
            blockerrlin2 +=
                (srccolors[j][i] - (alphatest[0] * 1 + alphatest[1] * 4) / 5);
            nralphainrangelow += 1;
            nralphainrangehigh += 1;
          } else {
            blockerrlin2 += (srccolors[j][i] - alphatest[1]);
            nralphainrangehigh += 1;
          }
        }
      }
      if (nralphainrangelow == 0)
        nralphainrangelow = 1;
      if (nralphainrangehigh == 0)
        nralphainrangehigh = 1;
      alphatest[0] = alphatest[0] + (blockerrlin1 / nralphainrangelow);
      if (alphatest[0] < (signed char)-128) {
        alphatest[0] = (signed char)-128;
      }
      alphatest[1] = alphatest[1] + (blockerrlin2 / nralphainrangehigh);
      if (alphatest[1] > (signed char)127) {
        alphatest[1] = (signed char)127;
      }
      alphablockerror3 = 0;
      for (aindex = 0; aindex < 5; aindex++) {
        acutValues[aindex] = (alphatest[0] * (10 - (2 * aindex + 1)) +
                              alphatest[1] * (2 * aindex + 1)) /
                             10;
      }
      for (j = 0; j < numypixels; j++) {
        for (i = 0; i < numxpixels; i++) {
          if (srccolors[j][i] <= alphatest[0] / 2) {
            alphaenc3[4 * j + i] = 6;
            alphadist = srccolors[j][i];
          } else if (srccolors[j][i] >
                     (((signed char)127 + alphatest[1]) / 2)) {
            alphaenc3[4 * j + i] = 7;
            alphadist = (signed char)127 - srccolors[j][i];
          } else if (srccolors[j][i] <= acutValues[0]) {
            alphaenc3[4 * j + i] = 0;
            alphadist = srccolors[j][i] - alphatest[0];
          } else if (srccolors[j][i] <= acutValues[1]) {
            alphaenc3[4 * j + i] = 2;
            alphadist =
                srccolors[j][i] - (alphatest[0] * 4 + alphatest[1] * 1) / 5;
          } else if (srccolors[j][i] <= acutValues[2]) {
            alphaenc3[4 * j + i] = 3;
            alphadist =
                srccolors[j][i] - (alphatest[0] * 3 + alphatest[1] * 2) / 5;
          } else if (srccolors[j][i] <= acutValues[3]) {
            alphaenc3[4 * j + i] = 4;
            alphadist =
                srccolors[j][i] - (alphatest[0] * 2 + alphatest[1] * 3) / 5;
          } else if (srccolors[j][i] <= acutValues[4]) {
            alphaenc3[4 * j + i] = 5;
            alphadist =
                srccolors[j][i] - (alphatest[0] * 1 + alphatest[1] * 4) / 5;
          } else {
            alphaenc3[4 * j + i] = 1;
            alphadist = srccolors[j][i] - alphatest[1];
          }
          alphablockerror3 += alphadist * alphadist;
        }
      }
    }
  }
  if ((alphablockerror1 <= alphablockerror2) &&
      (alphablockerror1 <= alphablockerror3)) {
    util_format_signed_write_rgtc_encoded_channel(blkaddr, alphause[1],
                                                  alphause[0], alphaenc1);
  } else if (alphablockerror2 <= alphablockerror3) {
    util_format_signed_write_rgtc_encoded_channel(blkaddr, alphabase[0],
                                                  alphabase[1], alphaenc2);
  } else {
    util_format_signed_write_rgtc_encoded_channel(
        blkaddr, (signed char)alphatest[0], (signed char)alphatest[1],
        alphaenc3);
  }
}


x86 assembly (clang, -O0):
<util_format_signed_encode_rgtc_ubyte>:
push   %rbp
mov    %rsp,%rbp
sub    $0xe0,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %edx,-0x14(%rbp)
mov    %ecx,-0x18(%rbp)
lea    -0x20(%rbp),%rdi
xor    %esi,%esi
mov    $0x4,%edx
call   1030 <memset@plt>
movl   $0x0,-0x74(%rbp)
movl   $0x0,-0x78(%rbp)
movb   $0x7f,-0x1a(%rbp)
movb   $0x80,-0x19(%rbp)
movb   $0x0,-0x2e(%rbp)
movsbl -0x2e(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    128b <util_format_signed_encode_rgtc_ubyte+0x16b>
movb   $0x0,-0x2d(%rbp)
movsbl -0x2d(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1279 <util_format_signed_encode_rgtc_ubyte+0x159>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0xffffff80,%eax
jne    11af <util_format_signed_encode_rgtc_ubyte+0x8f>
movl   $0x1,-0x74(%rbp)
jmp    1267 <util_format_signed_encode_rgtc_ubyte+0x147>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x7f,%eax
jne    11dd <util_format_signed_encode_rgtc_ubyte+0xbd>
movl   $0x1,-0x78(%rbp)
jmp    1262 <util_format_signed_encode_rgtc_ubyte+0x142>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x19(%rbp),%ecx
cmp    %ecx,%eax
jle    121d <util_format_signed_encode_rgtc_ubyte+0xfd>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,-0x19(%rbp)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x1a(%rbp),%ecx
cmp    %ecx,%eax
jge    125d <util_format_signed_encode_rgtc_ubyte+0x13d>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
mov    (%rax,%rcx,1),%al
mov    %al,-0x1a(%rbp)
jmp    1262 <util_format_signed_encode_rgtc_ubyte+0x142>
jmp    1267 <util_format_signed_encode_rgtc_ubyte+0x147>
jmp    126c <util_format_signed_encode_rgtc_ubyte+0x14c>
mov    -0x2d(%rbp),%al
add    $0x1,%al
mov    %al,-0x2d(%rbp)
jmp    1174 <util_format_signed_encode_rgtc_ubyte+0x54>
jmp    127e <util_format_signed_encode_rgtc_ubyte+0x15e>
mov    -0x2e(%rbp),%al
add    $0x1,%al
mov    %al,-0x2e(%rbp)
jmp    1163 <util_format_signed_encode_rgtc_ubyte+0x43>
movsbl -0x1a(%rbp),%eax
movsbl -0x19(%rbp),%ecx
cmp    %ecx,%eax
jle    12af <util_format_signed_encode_rgtc_ubyte+0x18f>
cmpl   $0x0,-0x74(%rbp)
je     12d3 <util_format_signed_encode_rgtc_ubyte+0x1b3>
cmpl   $0x0,-0x78(%rbp)
je     12d3 <util_format_signed_encode_rgtc_ubyte+0x1b3>
movsbl -0x1a(%rbp),%eax
movsbl -0x19(%rbp),%ecx
cmp    %ecx,%eax
jne    1367 <util_format_signed_encode_rgtc_ubyte+0x247>
cmpl   $0x0,-0x74(%rbp)
jne    1367 <util_format_signed_encode_rgtc_ubyte+0x247>
cmpl   $0x0,-0x78(%rbp)
jne    1367 <util_format_signed_encode_rgtc_ubyte+0x247>
mov    -0x10(%rbp),%rax
mov    (%rax),%cl
mov    -0x8(%rbp),%rax
mov    %rax,%rdx
add    $0x1,%rdx
mov    %rdx,-0x8(%rbp)
mov    %cl,(%rax)
mov    -0x8(%rbp),%rax
add    $0x1,%rax
mov    %rax,-0x8(%rbp)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
movb   $0x0,(%rax)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
movb   $0x0,(%rax)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
movb   $0x0,(%rax)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
movb   $0x0,(%rax)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
movb   $0x0,(%rax)
mov    -0x8(%rbp),%rax
mov    %rax,%rcx
add    $0x1,%rcx
mov    %rcx,-0x8(%rbp)
movb   $0x0,(%rax)
jmp    27f6 <util_format_signed_encode_rgtc_ubyte+0x16d6>
movl   $0x0,-0x24(%rbp)
movl   $0xffffffff,-0x28(%rbp)
movl   $0xffffffff,-0x2c(%rbp)
cmpl   $0x0,-0x74(%rbp)
je     138f <util_format_signed_encode_rgtc_ubyte+0x26f>
movb   $0x80,-0x1c(%rbp)
jmp    1395 <util_format_signed_encode_rgtc_ubyte+0x275>
mov    -0x1a(%rbp),%al
mov    %al,-0x1c(%rbp)
cmpl   $0x0,-0x78(%rbp)
je     13a8 <util_format_signed_encode_rgtc_ubyte+0x288>
movb   $0x7f,-0x1b(%rbp)
jmp    13ae <util_format_signed_encode_rgtc_ubyte+0x28e>
mov    -0x19(%rbp),%al
mov    %al,-0x1b(%rbp)
movb   $0x0,-0x2f(%rbp)
movsbl -0x2f(%rbp),%eax
cmp    $0x7,%eax
jge    140a <util_format_signed_encode_rgtc_ubyte+0x2ea>
movsbl -0x1c(%rbp),%eax
movsbl -0x2f(%rbp),%ecx
shl    $0x1,%ecx
add    $0x1,%ecx
imul   %ecx,%eax
movsbl -0x1b(%rbp),%ecx
movsbl -0x2f(%rbp),%esi
shl    $0x1,%esi
add    $0x1,%esi
mov    $0xe,%edx
sub    %esi,%edx
imul   %edx,%ecx
add    %ecx,%eax
mov    $0xe,%ecx
cltd
idiv   %ecx
mov    %al,%cl
movsbq -0x2f(%rbp),%rax
mov    %cl,-0x36(%rbp,%rax,1)
mov    -0x2f(%rbp),%al
add    $0x1,%al
mov    %al,-0x2f(%rbp)
jmp    13b2 <util_format_signed_encode_rgtc_ubyte+0x292>
movb   $0x0,-0x2e(%rbp)
movsbl -0x2e(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1824 <util_format_signed_encode_rgtc_ubyte+0x704>
movb   $0x0,-0x2d(%rbp)
movsbl -0x2d(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1812 <util_format_signed_encode_rgtc_ubyte+0x6f2>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x36(%rbp),%ecx
cmp    %ecx,%eax
jle    148d <util_format_signed_encode_rgtc_ubyte+0x36d>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x0,-0x50(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x1b(%rbp),%ecx
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    17f4 <util_format_signed_encode_rgtc_ubyte+0x6d4>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x35(%rbp),%ecx
cmp    %ecx,%eax
jle    1510 <util_format_signed_encode_rgtc_ubyte+0x3f0>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x2,-0x50(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0x84(%rbp)
movsbl -0x1b(%rbp),%eax
imul   $0x6,%eax,%eax
movsbl -0x1c(%rbp),%ecx
shl    $0x0,%ecx
add    %ecx,%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x84(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    17ef <util_format_signed_encode_rgtc_ubyte+0x6cf>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x34(%rbp),%ecx
cmp    %ecx,%eax
jle    1593 <util_format_signed_encode_rgtc_ubyte+0x473>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x3,-0x50(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0x88(%rbp)
movsbl -0x1b(%rbp),%eax
imul   $0x5,%eax,%eax
movsbl -0x1c(%rbp),%ecx
shl    $0x1,%ecx
add    %ecx,%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x88(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    17ea <util_format_signed_encode_rgtc_ubyte+0x6ca>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x33(%rbp),%ecx
cmp    %ecx,%eax
jle    1616 <util_format_signed_encode_rgtc_ubyte+0x4f6>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x4,-0x50(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0x8c(%rbp)
movsbl -0x1b(%rbp),%eax
shl    $0x2,%eax
movsbl -0x1c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    %ecx,%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x8c(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    17e5 <util_format_signed_encode_rgtc_ubyte+0x6c5>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x32(%rbp),%ecx
cmp    %ecx,%eax
jle    1699 <util_format_signed_encode_rgtc_ubyte+0x579>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x5,-0x50(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0x90(%rbp)
movsbl -0x1b(%rbp),%eax
imul   $0x3,%eax,%eax
movsbl -0x1c(%rbp),%ecx
shl    $0x2,%ecx
add    %ecx,%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x90(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    17e0 <util_format_signed_encode_rgtc_ubyte+0x6c0>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x31(%rbp),%ecx
cmp    %ecx,%eax
jle    171c <util_format_signed_encode_rgtc_ubyte+0x5fc>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x6,-0x50(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0x94(%rbp)
movsbl -0x1b(%rbp),%eax
shl    $0x1,%eax
movsbl -0x1c(%rbp),%ecx
imul   $0x5,%ecx,%ecx
add    %ecx,%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x94(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    17db <util_format_signed_encode_rgtc_ubyte+0x6bb>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x30(%rbp),%ecx
cmp    %ecx,%eax
jle    179f <util_format_signed_encode_rgtc_ubyte+0x67f>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x7,-0x50(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0x98(%rbp)
movsbl -0x1b(%rbp),%eax
shl    $0x0,%eax
movsbl -0x1c(%rbp),%ecx
imul   $0x6,%ecx,%ecx
add    %ecx,%eax
mov    $0x7,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x98(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    17d6 <util_format_signed_encode_rgtc_ubyte+0x6b6>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x1,-0x50(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x1c(%rbp),%ecx
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    17db <util_format_signed_encode_rgtc_ubyte+0x6bb>
jmp    17e0 <util_format_signed_encode_rgtc_ubyte+0x6c0>
jmp    17e5 <util_format_signed_encode_rgtc_ubyte+0x6c5>
jmp    17ea <util_format_signed_encode_rgtc_ubyte+0x6ca>
jmp    17ef <util_format_signed_encode_rgtc_ubyte+0x6cf>
jmp    17f4 <util_format_signed_encode_rgtc_ubyte+0x6d4>
movswl -0x7a(%rbp),%eax
movswl -0x7a(%rbp),%ecx
imul   %ecx,%eax
add    -0x24(%rbp),%eax
mov    %eax,-0x24(%rbp)
mov    -0x2d(%rbp),%al
add    $0x1,%al
mov    %al,-0x2d(%rbp)
jmp    141f <util_format_signed_encode_rgtc_ubyte+0x2ff>
jmp    1817 <util_format_signed_encode_rgtc_ubyte+0x6f7>
mov    -0x2e(%rbp),%al
add    $0x1,%al
mov    %al,-0x2e(%rbp)
jmp    140e <util_format_signed_encode_rgtc_ubyte+0x2ee>
cmpl   $0x20,-0x24(%rbp)
jb     2778 <util_format_signed_encode_rgtc_ubyte+0x1658>
movl   $0x0,-0x28(%rbp)
movb   $0x0,-0x2f(%rbp)
movsbl -0x2f(%rbp),%eax
cmp    $0x5,%eax
jge    1891 <util_format_signed_encode_rgtc_ubyte+0x771>
movsbl -0x1a(%rbp),%eax
movsbl -0x2f(%rbp),%edx
shl    $0x1,%edx
add    $0x1,%edx
mov    $0xa,%ecx
sub    %edx,%ecx
imul   %ecx,%eax
movsbl -0x19(%rbp),%ecx
movsbl -0x2f(%rbp),%edx
shl    $0x1,%edx
add    $0x1,%edx
imul   %edx,%ecx
add    %ecx,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %al,%cl
movsbq -0x2f(%rbp),%rax
mov    %cl,-0x36(%rbp,%rax,1)
mov    -0x2f(%rbp),%al
add    $0x1,%al
mov    %al,-0x2f(%rbp)
jmp    1839 <util_format_signed_encode_rgtc_ubyte+0x719>
movb   $0x0,-0x2e(%rbp)
movsbl -0x2e(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1c27 <util_format_signed_encode_rgtc_ubyte+0xb07>
movb   $0x0,-0x2d(%rbp)
movsbl -0x2d(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1c15 <util_format_signed_encode_rgtc_ubyte+0xaf5>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0xffffff80,%eax
jne    18f4 <util_format_signed_encode_rgtc_ubyte+0x7d4>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x6,-0x60(%rbp,%rax,1)
movw   $0x0,-0x7a(%rbp)
jmp    1bf7 <util_format_signed_encode_rgtc_ubyte+0xad7>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
cmp    $0x7f,%eax
jne    1935 <util_format_signed_encode_rgtc_ubyte+0x815>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x7,-0x60(%rbp,%rax,1)
movw   $0x0,-0x7a(%rbp)
jmp    1bf2 <util_format_signed_encode_rgtc_ubyte+0xad2>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x36(%rbp),%ecx
cmp    %ecx,%eax
jg     1996 <util_format_signed_encode_rgtc_ubyte+0x876>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x0,-0x60(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x1a(%rbp),%ecx
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    1bed <util_format_signed_encode_rgtc_ubyte+0xacd>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x35(%rbp),%ecx
cmp    %ecx,%eax
jg     1a19 <util_format_signed_encode_rgtc_ubyte+0x8f9>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x2,-0x60(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0x9c(%rbp)
movsbl -0x1a(%rbp),%eax
shl    $0x2,%eax
movsbl -0x19(%rbp),%ecx
shl    $0x0,%ecx
add    %ecx,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x9c(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    1be8 <util_format_signed_encode_rgtc_ubyte+0xac8>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x34(%rbp),%ecx
cmp    %ecx,%eax
jg     1a9c <util_format_signed_encode_rgtc_ubyte+0x97c>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x3,-0x60(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xa0(%rbp)
movsbl -0x1a(%rbp),%eax
imul   $0x3,%eax,%eax
movsbl -0x19(%rbp),%ecx
shl    $0x1,%ecx
add    %ecx,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xa0(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    1be3 <util_format_signed_encode_rgtc_ubyte+0xac3>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x33(%rbp),%ecx
cmp    %ecx,%eax
jg     1b1f <util_format_signed_encode_rgtc_ubyte+0x9ff>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x4,-0x60(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xa4(%rbp)
movsbl -0x1a(%rbp),%eax
shl    $0x1,%eax
movsbl -0x19(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    %ecx,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xa4(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    1bde <util_format_signed_encode_rgtc_ubyte+0xabe>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x32(%rbp),%ecx
cmp    %ecx,%eax
jg     1ba2 <util_format_signed_encode_rgtc_ubyte+0xa82>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x5,-0x60(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xa8(%rbp)
movsbl -0x1a(%rbp),%eax
shl    $0x0,%eax
movsbl -0x19(%rbp),%ecx
shl    $0x2,%ecx
add    %ecx,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xa8(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    1bd9 <util_format_signed_encode_rgtc_ubyte+0xab9>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x1,-0x60(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x19(%rbp),%ecx
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    1bde <util_format_signed_encode_rgtc_ubyte+0xabe>
jmp    1be3 <util_format_signed_encode_rgtc_ubyte+0xac3>
jmp    1be8 <util_format_signed_encode_rgtc_ubyte+0xac8>
jmp    1bed <util_format_signed_encode_rgtc_ubyte+0xacd>
jmp    1bf2 <util_format_signed_encode_rgtc_ubyte+0xad2>
jmp    1bf7 <util_format_signed_encode_rgtc_ubyte+0xad7>
movswl -0x7a(%rbp),%eax
movswl -0x7a(%rbp),%ecx
imul   %ecx,%eax
add    -0x28(%rbp),%eax
mov    %eax,-0x28(%rbp)
mov    -0x2d(%rbp),%al
add    $0x1,%al
mov    %al,-0x2d(%rbp)
jmp    18a6 <util_format_signed_encode_rgtc_ubyte+0x786>
jmp    1c1a <util_format_signed_encode_rgtc_ubyte+0xafa>
mov    -0x2e(%rbp),%al
add    $0x1,%al
mov    %al,-0x2e(%rbp)
jmp    1895 <util_format_signed_encode_rgtc_ubyte+0x775>
cmpl   $0x60,-0x28(%rbp)
jbe    2773 <util_format_signed_encode_rgtc_ubyte+0x1653>
cmpl   $0x60,-0x24(%rbp)
jbe    2773 <util_format_signed_encode_rgtc_ubyte+0x1653>
movw   $0x0,-0x7c(%rbp)
movw   $0x0,-0x7e(%rbp)
movb   $0x0,-0x7f(%rbp)
movb   $0x0,-0x80(%rbp)
movw   $0x7f,-0x20(%rbp)
movw   $0xff80,-0x1e(%rbp)
movb   $0x0,-0x2e(%rbp)
movsbl -0x2e(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    1dae <util_format_signed_encode_rgtc_ubyte+0xc8e>
movb   $0x0,-0x2d(%rbp)
movsbl -0x2d(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    1d9c <util_format_signed_encode_rgtc_ubyte+0xc7c>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movswl -0x1e(%rbp),%ecx
cmp    %ecx,%eax
jle    1d07 <util_format_signed_encode_rgtc_ubyte+0xbe7>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xac(%rbp)
movsbl -0x19(%rbp),%eax
movsbl -0x1a(%rbp),%ecx
sub    %ecx,%eax
mov    $0x1c,%ecx
cltd
idiv   %ecx
mov    %eax,%edx
mov    -0xac(%rbp),%eax
mov    $0x7f,%ecx
sub    %edx,%ecx
cmp    %ecx,%eax
jge    1d07 <util_format_signed_encode_rgtc_ubyte+0xbe7>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %ax,-0x1e(%rbp)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movswl -0x20(%rbp),%ecx
cmp    %ecx,%eax
jge    1d8a <util_format_signed_encode_rgtc_ubyte+0xc6a>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xb0(%rbp)
movsbl -0x19(%rbp),%eax
movsbl -0x1a(%rbp),%ecx
sub    %ecx,%eax
mov    $0x1c,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xb0(%rbp),%eax
cmp    %ecx,%eax
jle    1d8a <util_format_signed_encode_rgtc_ubyte+0xc6a>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %ax,-0x20(%rbp)
jmp    1d8f <util_format_signed_encode_rgtc_ubyte+0xc6f>
mov    -0x2d(%rbp),%al
add    $0x1,%al
mov    %al,-0x2d(%rbp)
jmp    1c70 <util_format_signed_encode_rgtc_ubyte+0xb50>
jmp    1da1 <util_format_signed_encode_rgtc_ubyte+0xc81>
mov    -0x2e(%rbp),%al
add    $0x1,%al
mov    %al,-0x2e(%rbp)
jmp    1c5f <util_format_signed_encode_rgtc_ubyte+0xb3f>
movswl -0x1e(%rbp),%eax
movswl -0x20(%rbp),%ecx
cmp    %ecx,%eax
jg     1dca <util_format_signed_encode_rgtc_ubyte+0xcaa>
movw   $0xff81,-0x20(%rbp)
movw   $0x7e,-0x1e(%rbp)
movb   $0x0,-0x2f(%rbp)
movsbl -0x2f(%rbp),%eax
cmp    $0x5,%eax
jge    1e26 <util_format_signed_encode_rgtc_ubyte+0xd06>
movswl -0x20(%rbp),%eax
movsbl -0x2f(%rbp),%edx
shl    $0x1,%edx
add    $0x1,%edx
mov    $0xa,%ecx
sub    %edx,%ecx
imul   %ecx,%eax
movswl -0x1e(%rbp),%ecx
movsbl -0x2f(%rbp),%edx
shl    $0x1,%edx
add    $0x1,%edx
imul   %edx,%ecx
add    %ecx,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %al,%cl
movsbq -0x2f(%rbp),%rax
mov    %cl,-0x36(%rbp,%rax,1)
mov    -0x2f(%rbp),%al
add    $0x1,%al
mov    %al,-0x2f(%rbp)
jmp    1dce <util_format_signed_encode_rgtc_ubyte+0xcae>
movb   $0x0,-0x2e(%rbp)
movsbl -0x2e(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    227d <util_format_signed_encode_rgtc_ubyte+0x115d>
movb   $0x0,-0x2d(%rbp)
movsbl -0x2d(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    226b <util_format_signed_encode_rgtc_ubyte+0x114b>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xb4(%rbp)
movswl -0x20(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xb4(%rbp),%eax
cmp    %ecx,%eax
jg     1e88 <util_format_signed_encode_rgtc_ubyte+0xd68>
jmp    2259 <util_format_signed_encode_rgtc_ubyte+0x1139>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xb8(%rbp)
movswl -0x1e(%rbp),%eax
add    $0x7f,%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xb8(%rbp),%eax
cmp    %ecx,%eax
jle    1ecb <util_format_signed_encode_rgtc_ubyte+0xdab>
jmp    2254 <util_format_signed_encode_rgtc_ubyte+0x1134>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x36(%rbp),%ecx
cmp    %ecx,%eax
jg     1f28 <util_format_signed_encode_rgtc_ubyte+0xe08>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
sub    %eax,%ecx
movswl -0x7c(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7c(%rbp)
movsbl -0x7f(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x7f(%rbp)
jmp    224f <util_format_signed_encode_rgtc_ubyte+0x112f>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x35(%rbp),%ecx
cmp    %ecx,%eax
jg     1fe0 <util_format_signed_encode_rgtc_ubyte+0xec0>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
shl    $0x2,%eax
movswl -0x1e(%rbp),%edx
shl    $0x0,%edx
add    %edx,%eax
mov    $0x5,%esi
cltd
idiv   %esi
sub    %eax,%ecx
movswl -0x7c(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7c(%rbp)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
shl    $0x2,%eax
movswl -0x1e(%rbp),%edx
shl    $0x0,%edx
add    %edx,%eax
mov    $0x5,%esi
cltd
idiv   %esi
sub    %eax,%ecx
movswl -0x7e(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7e(%rbp)
movsbl -0x7f(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x7f(%rbp)
movsbl -0x80(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x80(%rbp)
jmp    224a <util_format_signed_encode_rgtc_ubyte+0x112a>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x34(%rbp),%ecx
cmp    %ecx,%eax
jg     2098 <util_format_signed_encode_rgtc_ubyte+0xf78>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
imul   $0x3,%eax,%eax
movswl -0x1e(%rbp),%edx
shl    $0x1,%edx
add    %edx,%eax
mov    $0x5,%esi
cltd
idiv   %esi
sub    %eax,%ecx
movswl -0x7c(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7c(%rbp)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
imul   $0x3,%eax,%eax
movswl -0x1e(%rbp),%edx
shl    $0x1,%edx
add    %edx,%eax
mov    $0x5,%esi
cltd
idiv   %esi
sub    %eax,%ecx
movswl -0x7e(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7e(%rbp)
movsbl -0x7f(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x7f(%rbp)
movsbl -0x80(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x80(%rbp)
jmp    2245 <util_format_signed_encode_rgtc_ubyte+0x1125>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x33(%rbp),%ecx
cmp    %ecx,%eax
jg     2150 <util_format_signed_encode_rgtc_ubyte+0x1030>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
shl    $0x1,%eax
movswl -0x1e(%rbp),%edx
imul   $0x3,%edx,%edx
add    %edx,%eax
mov    $0x5,%esi
cltd
idiv   %esi
sub    %eax,%ecx
movswl -0x7c(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7c(%rbp)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
shl    $0x1,%eax
movswl -0x1e(%rbp),%edx
imul   $0x3,%edx,%edx
add    %edx,%eax
mov    $0x5,%esi
cltd
idiv   %esi
sub    %eax,%ecx
movswl -0x7e(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7e(%rbp)
movsbl -0x7f(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x7f(%rbp)
movsbl -0x80(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x80(%rbp)
jmp    2240 <util_format_signed_encode_rgtc_ubyte+0x1120>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x32(%rbp),%ecx
cmp    %ecx,%eax
jg     2208 <util_format_signed_encode_rgtc_ubyte+0x10e8>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
shl    $0x0,%eax
movswl -0x1e(%rbp),%edx
shl    $0x2,%edx
add    %edx,%eax
mov    $0x5,%esi
cltd
idiv   %esi
sub    %eax,%ecx
movswl -0x7c(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7c(%rbp)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x20(%rbp),%eax
shl    $0x0,%eax
movswl -0x1e(%rbp),%edx
shl    $0x2,%edx
add    %edx,%eax
mov    $0x5,%esi
cltd
idiv   %esi
sub    %eax,%ecx
movswl -0x7e(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7e(%rbp)
movsbl -0x7f(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x7f(%rbp)
movsbl -0x80(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x80(%rbp)
jmp    223b <util_format_signed_encode_rgtc_ubyte+0x111b>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
movswl -0x1e(%rbp),%eax
sub    %eax,%ecx
movswl -0x7e(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x7e(%rbp)
movsbl -0x80(%rbp),%eax
add    $0x1,%eax
mov    %al,-0x80(%rbp)
jmp    2240 <util_format_signed_encode_rgtc_ubyte+0x1120>
jmp    2245 <util_format_signed_encode_rgtc_ubyte+0x1125>
jmp    224a <util_format_signed_encode_rgtc_ubyte+0x112a>
jmp    224f <util_format_signed_encode_rgtc_ubyte+0x112f>
jmp    2254 <util_format_signed_encode_rgtc_ubyte+0x1134>
jmp    2259 <util_format_signed_encode_rgtc_ubyte+0x1139>
jmp    225e <util_format_signed_encode_rgtc_ubyte+0x113e>
mov    -0x2d(%rbp),%al
add    $0x1,%al
mov    %al,-0x2d(%rbp)
jmp    1e3b <util_format_signed_encode_rgtc_ubyte+0xd1b>
jmp    2270 <util_format_signed_encode_rgtc_ubyte+0x1150>
mov    -0x2e(%rbp),%al
add    $0x1,%al
mov    %al,-0x2e(%rbp)
jmp    1e2a <util_format_signed_encode_rgtc_ubyte+0xd0a>
movsbl -0x7f(%rbp),%eax
cmp    $0x0,%eax
jne    228e <util_format_signed_encode_rgtc_ubyte+0x116e>
movb   $0x1,-0x7f(%rbp)
movsbl -0x80(%rbp),%eax
cmp    $0x0,%eax
jne    229f <util_format_signed_encode_rgtc_ubyte+0x117f>
movb   $0x1,-0x80(%rbp)
movswl -0x20(%rbp),%eax
mov    %eax,-0xbc(%rbp)
movswl -0x7c(%rbp),%eax
movsbl -0x7f(%rbp),%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xbc(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x20(%rbp)
movswl -0x20(%rbp),%eax
cmp    $0xffffff80,%eax
jge    22d5 <util_format_signed_encode_rgtc_ubyte+0x11b5>
movw   $0xff80,-0x20(%rbp)
movswl -0x1e(%rbp),%eax
mov    %eax,-0xc0(%rbp)
movswl -0x7e(%rbp),%eax
movsbl -0x80(%rbp),%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc0(%rbp),%eax
add    %ecx,%eax
mov    %ax,-0x1e(%rbp)
movswl -0x1e(%rbp),%eax
cmp    $0x7f,%eax
jle    230b <util_format_signed_encode_rgtc_ubyte+0x11eb>
movw   $0x7f,-0x1e(%rbp)
movl   $0x0,-0x2c(%rbp)
movb   $0x0,-0x2f(%rbp)
movsbl -0x2f(%rbp),%eax
cmp    $0x5,%eax
jge    236e <util_format_signed_encode_rgtc_ubyte+0x124e>
movswl -0x20(%rbp),%eax
movsbl -0x2f(%rbp),%edx
shl    $0x1,%edx
add    $0x1,%edx
mov    $0xa,%ecx
sub    %edx,%ecx
imul   %ecx,%eax
movswl -0x1e(%rbp),%ecx
movsbl -0x2f(%rbp),%edx
shl    $0x1,%edx
add    $0x1,%edx
imul   %edx,%ecx
add    %ecx,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %al,%cl
movsbq -0x2f(%rbp),%rax
mov    %cl,-0x36(%rbp,%rax,1)
mov    -0x2f(%rbp),%al
add    $0x1,%al
mov    %al,-0x2f(%rbp)
jmp    2316 <util_format_signed_encode_rgtc_ubyte+0x11f6>
movb   $0x0,-0x2e(%rbp)
movsbl -0x2e(%rbp),%eax
cmp    -0x18(%rbp),%eax
jge    276e <util_format_signed_encode_rgtc_ubyte+0x164e>
movb   $0x0,-0x2d(%rbp)
movsbl -0x2d(%rbp),%eax
cmp    -0x14(%rbp),%eax
jge    275c <util_format_signed_encode_rgtc_ubyte+0x163c>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xc4(%rbp)
movswl -0x20(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc4(%rbp),%eax
cmp    %ecx,%eax
jg     2401 <util_format_signed_encode_rgtc_ubyte+0x12e1>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x6,-0x70(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %ax,-0x7a(%rbp)
jmp    273e <util_format_signed_encode_rgtc_ubyte+0x161e>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xc8(%rbp)
movswl -0x1e(%rbp),%eax
add    $0x7f,%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xc8(%rbp),%eax
cmp    %ecx,%eax
jle    247c <util_format_signed_encode_rgtc_ubyte+0x135c>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x7,-0x70(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%ecx
mov    $0x7f,%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    2739 <util_format_signed_encode_rgtc_ubyte+0x1619>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x36(%rbp),%ecx
cmp    %ecx,%eax
jg     24dd <util_format_signed_encode_rgtc_ubyte+0x13bd>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x0,-0x70(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movswl -0x20(%rbp),%ecx
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    2734 <util_format_signed_encode_rgtc_ubyte+0x1614>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x35(%rbp),%ecx
cmp    %ecx,%eax
jg     2560 <util_format_signed_encode_rgtc_ubyte+0x1440>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x2,-0x70(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xcc(%rbp)
movswl -0x20(%rbp),%eax
shl    $0x2,%eax
movswl -0x1e(%rbp),%ecx
shl    $0x0,%ecx
add    %ecx,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xcc(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    272f <util_format_signed_encode_rgtc_ubyte+0x160f>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x34(%rbp),%ecx
cmp    %ecx,%eax
jg     25e3 <util_format_signed_encode_rgtc_ubyte+0x14c3>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x3,-0x70(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xd0(%rbp)
movswl -0x20(%rbp),%eax
imul   $0x3,%eax,%eax
movswl -0x1e(%rbp),%ecx
shl    $0x1,%ecx
add    %ecx,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xd0(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    272a <util_format_signed_encode_rgtc_ubyte+0x160a>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x33(%rbp),%ecx
cmp    %ecx,%eax
jg     2666 <util_format_signed_encode_rgtc_ubyte+0x1546>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x4,-0x70(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xd4(%rbp)
movswl -0x20(%rbp),%eax
shl    $0x1,%eax
movswl -0x1e(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    %ecx,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xd4(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    2725 <util_format_signed_encode_rgtc_ubyte+0x1605>
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movsbl -0x32(%rbp),%ecx
cmp    %ecx,%eax
jg     26e9 <util_format_signed_encode_rgtc_ubyte+0x15c9>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x5,-0x70(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
mov    %eax,-0xd8(%rbp)
movswl -0x20(%rbp),%eax
shl    $0x0,%eax
movswl -0x1e(%rbp),%ecx
shl    $0x2,%ecx
add    %ecx,%eax
mov    $0x5,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0xd8(%rbp),%eax
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    2720 <util_format_signed_encode_rgtc_ubyte+0x1600>
movsbl -0x2e(%rbp),%eax
shl    $0x2,%eax
movsbl -0x2d(%rbp),%ecx
add    %ecx,%eax
cltq
movb   $0x1,-0x70(%rbp,%rax,1)
mov    -0x10(%rbp),%rax
movsbq -0x2e(%rbp),%rcx
shl    $0x2,%rcx
add    %rcx,%rax
movsbq -0x2d(%rbp),%rcx
movsbl (%rax,%rcx,1),%eax
movswl -0x1e(%rbp),%ecx
sub    %ecx,%eax
mov    %ax,-0x7a(%rbp)
jmp    2725 <util_format_signed_encode_rgtc_ubyte+0x1605>
jmp    272a <util_format_signed_encode_rgtc_ubyte+0x160a>
jmp    272f <util_format_signed_encode_rgtc_ubyte+0x160f>
jmp    2734 <util_format_signed_encode_rgtc_ubyte+0x1614>
jmp    2739 <util_format_signed_encode_rgtc_ubyte+0x1619>
jmp    273e <util_format_signed_encode_rgtc_ubyte+0x161e>
movswl -0x7a(%rbp),%eax
movswl -0x7a(%rbp),%ecx
imul   %ecx,%eax
add    -0x2c(%rbp),%eax
mov    %eax,-0x2c(%rbp)
mov    -0x2d(%rbp),%al
add    $0x1,%al
mov    %al,-0x2d(%rbp)
jmp    2383 <util_format_signed_encode_rgtc_ubyte+0x1263>
jmp    2761 <util_format_signed_encode_rgtc_ubyte+0x1641>
mov    -0x2e(%rbp),%al
add    $0x1,%al
mov    %al,-0x2e(%rbp)
jmp    2372 <util_format_signed_encode_rgtc_ubyte+0x1252>
jmp    2773 <util_format_signed_encode_rgtc_ubyte+0x1653>
jmp    2778 <util_format_signed_encode_rgtc_ubyte+0x1658>
mov    -0x24(%rbp),%eax
cmp    -0x28(%rbp),%eax
ja     27ac <util_format_signed_encode_rgtc_ubyte+0x168c>
mov    -0x24(%rbp),%eax
cmp    -0x2c(%rbp),%eax
ja     27ac <util_format_signed_encode_rgtc_ubyte+0x168c>
mov    -0x8(%rbp),%rdi
movsbl -0x1b(%rbp),%esi
movsbl -0x1c(%rbp),%edx
lea    -0x50(%rbp),%rcx
mov    $0x0,%al
call   1040 <util_format_signed_write_rgtc_encoded_channel@plt>
jmp    27f6 <util_format_signed_encode_rgtc_ubyte+0x16d6>
mov    -0x28(%rbp),%eax
cmp    -0x2c(%rbp),%eax
ja     27d4 <util_format_signed_encode_rgtc_ubyte+0x16b4>
mov    -0x8(%rbp),%rdi
movsbl -0x1a(%rbp),%esi
movsbl -0x19(%rbp),%edx
lea    -0x60(%rbp),%rcx
mov    $0x0,%al
call   1040 <util_format_signed_write_rgtc_encoded_channel@plt>
jmp    27f1 <util_format_signed_encode_rgtc_ubyte+0x16d1>
mov    -0x8(%rbp),%rdi
mov    -0x20(%rbp),%ax
movsbl %al,%esi
mov    -0x1e(%rbp),%ax
movsbl %al,%edx
lea    -0x70(%rbp),%rcx
mov    $0x0,%al
call   1040 <util_format_signed_write_rgtc_encoded_channel@plt>
jmp    27f6 <util_format_signed_encode_rgtc_ubyte+0x16d6>
add    $0xe0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<util_format_signed_encode_rgtc_ubyte>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xc8,%rsp
test   %ecx,%ecx
jle    11c7 <util_format_signed_encode_rgtc_ubyte+0xb7>
mov    %edx,%r8d
mov    $0x80,%r13b
mov    $0x7f,%r14b
xor    %r9d,%r9d
xor    %r10d,%r10d
xor    %r11d,%r11d
jmp    114c <util_format_signed_encode_rgtc_ubyte+0x3c>
nopl   (%rax)
add    $0x1,%r11b
movsbl %r11b,%eax
cmp    %ecx,%eax
jge    11a8 <util_format_signed_encode_rgtc_ubyte+0x98>
test   %r8d,%r8d
jle    1140 <util_format_signed_encode_rgtc_ubyte+0x30>
movsbq %r11b,%rbx
xor    %edx,%edx
jmp    1184 <util_format_signed_encode_rgtc_ubyte+0x74>
nopl   0x0(%rax)
cmp    %r13b,%al
movzbl %r13b,%r13d
movzbl %al,%ebp
cmovg  %ebp,%r13d
cmp    %r14b,%al
movzbl %r14b,%r14d
cmovl  %ebp,%r14d
add    $0x1,%dl
movsbl %dl,%eax
cmp    %r8d,%eax
jge    1140 <util_format_signed_encode_rgtc_ubyte+0x30>
movsbq %dl,%rax
lea    (%rsi,%rbx,4),%rbp
movzbl (%rax,%rbp,1),%eax
cmp    $0x80,%al
je     11a0 <util_format_signed_encode_rgtc_ubyte+0x90>
cmp    $0x7f,%al
jne    1160 <util_format_signed_encode_rgtc_ubyte+0x50>
mov    $0x1,%r9d
jmp    1179 <util_format_signed_encode_rgtc_ubyte+0x69>
mov    $0x1,%r10d
jmp    1179 <util_format_signed_encode_rgtc_ubyte+0x69>
cmp    %r14b,%r13b
jge    11bb <util_format_signed_encode_rgtc_ubyte+0xab>
test   %r10d,%r10d
je     11c7 <util_format_signed_encode_rgtc_ubyte+0xb7>
mov    $0x80,%dl
test   %r9d,%r9d
jne    11f4 <util_format_signed_encode_rgtc_ubyte+0xe4>
jmp    11c7 <util_format_signed_encode_rgtc_ubyte+0xb7>
jne    11dd <util_format_signed_encode_rgtc_ubyte+0xcd>
test   %r10d,%r10d
jne    11dd <util_format_signed_encode_rgtc_ubyte+0xcd>
test   %r9d,%r9d
jne    11dd <util_format_signed_encode_rgtc_ubyte+0xcd>
mov    (%rsi),%al
mov    %al,(%rdi)
movl   $0x0,0x2(%rdi)
movw   $0x0,0x6(%rdi)
jmp    1e1c <util_format_signed_encode_rgtc_ubyte+0xd0c>
test   %r10d,%r10d
movzbl %r14b,%eax
mov    $0x80,%edx
cmove  %eax,%edx
mov    %r13d,%eax
test   %r9d,%r9d
je     11f6 <util_format_signed_encode_rgtc_ubyte+0xe6>
mov    $0x7f,%al
movsbl %dl,%edx
mov    %rdx,0xb0(%rsp)
movsbl %al,%eax
mov    %rax,0xb8(%rsp)
test   %ecx,%ecx
jle    1dfd <util_format_signed_encode_rgtc_ubyte+0xced>
mov    %ecx,0xc(%rsp)
mov    %rdi,0x30(%rsp)
mov    0xb8(%rsp),%rdi
lea    (%rdi,%rdi,2),%r10d
lea    (%rdi,%r10,4),%eax
mov    0xb0(%rsp),%rdx
add    %edx,%eax
imul   $0x4925,%eax,%ebx
mov    %ebx,%eax
shr    $0x1f,%eax
shr    $0x12,%ebx
add    %eax,%ebx
lea    (%rdi,%rdi,4),%eax
lea    (%rdi,%rax,2),%ecx
mov    %rax,%r11
mov    %rax,0x10(%rsp)
lea    (%rdx,%rdx,2),%eax
add    %eax,%ecx
imul   $0x4925,%ecx,%r15d
mov    %r15d,%ecx
shr    $0x1f,%ecx
shr    $0x12,%r15d
add    %ecx,%r15d
lea    (%rdi,%rdi,8),%ebp
lea    (%rdx,%rdx,4),%ecx
add    %ecx,%ebp
imul   $0x4925,%ebp,%r12d
mov    %r12d,%ebp
shr    $0x1f,%ebp
shr    $0x12,%r12d
add    %ebp,%r12d
lea    (%rdi,%rdx,1),%ebp
movzwl %bp,%r9d
shr    $0xf,%r9d
add    %ebp,%r9d
lea    (%rdx,%rdx,8),%ebp
add    %r11d,%ebp
imul   $0x4925,%ebp,%ebp
mov    %ebp,%r11d
shr    $0x1f,%r11d
shr    $0x12,%ebp
add    %r11d,%ebp
mov    %ebp,0x18(%rsp)
lea    (%rdx,%rcx,2),%ebp
add    %r10d,%ebp
imul   $0x4925,%ebp,%ebp
mov    %ebp,%r11d
shr    $0x1f,%r11d
shr    $0x12,%ebp
add    %r11d,%ebp
mov    %ebp,0x20(%rsp)
lea    (%rdx,%rax,4),%ebp
add    %edi,%ebp
imul   $0x4925,%ebp,%ebp
mov    %ebp,%r11d
shr    $0x1f,%r11d
shr    $0x12,%ebp
add    %r11d,%ebp
mov    %ebp,0x48(%rsp)
lea    (%rdx,%rdx,2),%ebp
lea    (%rdi,%rbp,2),%ebp
movswl %bp,%ebp
imul   $0xffffb6db,%ebp,%r11d
mov    %r11d,%ebp
shr    $0x1f,%ebp
sar    $0x11,%r11d
add    %ebp,%r11d
lea    (%rcx,%rdi,2),%ecx
movslq %ecx,%rcx
imul   $0x6db6db6d,%rcx,%rbp
shr    $0x20,%rbp
sub    %ecx,%ebp
mov    %ebp,%ecx
shr    $0x1f,%ecx
sar    $0x2,%ebp
add    %ecx,%ebp
mov    %rbp,0x40(%rsp)
lea    (%r10,%rdx,4),%ecx
movslq %ecx,%rcx
imul   $0x6db6db6d,%rcx,%rbp
shr    $0x20,%rbp
sub    %ecx,%ebp
mov    %ebp,%ecx
shr    $0x1f,%ecx
sar    $0x2,%ebp
add    %ecx,%ebp
mov    %rbp,0x50(%rsp)
lea    (%rax,%rdi,4),%ecx
movslq %ecx,%rcx
imul   $0x6db6db6d,%rcx,%rax
shr    $0x20,%rax
sub    %ecx,%eax
mov    %eax,%ecx
shr    $0x1f,%ecx
sar    $0x2,%eax
add    %ecx,%eax
mov    %rax,0x28(%rsp)
mov    0x10(%rsp),%rax
lea    (%rax,%rdx,2),%ecx
movslq %ecx,%rcx
imul   $0x6db6db6d,%rcx,%rax
shr    $0x20,%rax
sub    %ecx,%eax
mov    %eax,%ecx
shr    $0x1f,%ecx
sar    $0x2,%eax
add    %ecx,%eax
mov    %rax,0x10(%rsp)
lea    (%rdi,%rdi,2),%ecx
lea    (%rdx,%rcx,2),%ecx
movswl %cx,%ecx
imul   $0xffffb6db,%ecx,%ecx
mov    %ecx,%eax
shr    $0x1f,%eax
sar    $0x11,%ecx
add    %eax,%ecx
movsbl %r14b,%eax
mov    %rax,0x68(%rsp)
movsbl %r13b,%eax
mov    %rax,0x60(%rsp)
shr    %r9d
mov    %r9d,%ebp
movzwl %r11w,%eax
mov    %eax,0x38(%rsp)
movzwl %cx,%r11d
xor    %eax,%eax
xor    %r9d,%r9d
jmp    13ef <util_format_signed_encode_rgtc_ubyte+0x2df>
nopl   (%rax)
add    $0x1,%al
movsbl %al,%eax
cmp    0xc(%rsp),%eax
jge    151b <util_format_signed_encode_rgtc_ubyte+0x40b>
test   %r8d,%r8d
jle    13e0 <util_format_signed_encode_rgtc_ubyte+0x2d0>
movsbq %al,%r14
lea    0x0(,%rax,4),%ecx
xor    %r13d,%r13d
jmp    143e <util_format_signed_encode_rgtc_ubyte+0x32e>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
lea    (%rcx,%r13,1),%edx
movslq %edx,%rdx
movb   $0x0,0x90(%rsp,%rdx,1)
sub    0xb8(%rsp),%r10d
movswl %r10w,%edx
imul   %edx,%edx
add    %edx,%r9d
add    $0x1,%r13b
movsbl %r13b,%r13d
cmp    %r8d,%r13d
jge    13e0 <util_format_signed_encode_rgtc_ubyte+0x2d0>
movslq %r13d,%rdi
lea    (%rsi,%r14,4),%rdx
movsbl (%rdi,%rdx,1),%r10d
cmp    %bl,%r10b
jg     1410 <util_format_signed_encode_rgtc_ubyte+0x300>
cmp    %r15b,%r10b
jle    1470 <util_format_signed_encode_rgtc_ubyte+0x360>
lea    (%rcx,%r13,1),%edx
movslq %edx,%rdx
movb   $0x2,0x90(%rsp,%rdx,1)
02
add    %r11d,%r10d
jmp    1427 <util_format_signed_encode_rgtc_ubyte+0x317>
nopl   0x0(%rax,%rax,1)
cmp    %r12b,%r10b
jle    148b <util_format_signed_encode_rgtc_ubyte+0x37b>
lea    (%rcx,%r13,1),%edx
movslq %edx,%rdx
movb   $0x3,0x90(%rsp,%rdx,1)
03
add    0x10(%rsp),%r10d
jmp    1427 <util_format_signed_encode_rgtc_ubyte+0x317>
cmp    %bpl,%r10b
jle    14a6 <util_format_signed_encode_rgtc_ubyte+0x396>
lea    (%rcx,%r13,1),%edx
movslq %edx,%rdx
movb   $0x4,0x90(%rsp,%rdx,1)
04
add    0x28(%rsp),%r10d
jmp    1427 <util_format_signed_encode_rgtc_ubyte+0x317>
cmp    0x18(%rsp),%r10b
jle    14c6 <util_format_signed_encode_rgtc_ubyte+0x3b6>
lea    (%rcx,%r13,1),%edx
movslq %edx,%rdx
movb   $0x5,0x90(%rsp,%rdx,1)
05
add    0x50(%rsp),%r10d
jmp    1427 <util_format_signed_encode_rgtc_ubyte+0x317>
cmp    0x20(%rsp),%r10b
jle    14e6 <util_format_signed_encode_rgtc_ubyte+0x3d6>
lea    (%rcx,%r13,1),%edx
movslq %edx,%rdx
movb   $0x6,0x90(%rsp,%rdx,1)
06
add    0x40(%rsp),%r10d
jmp    1427 <util_format_signed_encode_rgtc_ubyte+0x317>
lea    (%rcx,%r13,1),%edx
movslq %edx,%rdi
cmp    0x48(%rsp),%r10b
jle    1506 <util_format_signed_encode_rgtc_ubyte+0x3f6>
movb   $0x7,0x90(%rsp,%rdi,1)
07
add    0x38(%rsp),%r10d
jmp    1427 <util_format_signed_encode_rgtc_ubyte+0x317>
movb   $0x1,0x90(%rsp,%rdi,1)
01
sub    0xb0(%rsp),%r10d
jmp    1427 <util_format_signed_encode_rgtc_ubyte+0x317>
cmp    $0x20,%r9d
mov    0x30(%rsp),%rdi
mov    0xc(%rsp),%eax
jb     1dfd <util_format_signed_encode_rgtc_ubyte+0xced>
test   %eax,%eax
jle    1e41 <util_format_signed_encode_rgtc_ubyte+0xd31>
mov    0x68(%rsp),%r11
lea    (%r11,%r11,8),%eax
mov    0x60(%rsp),%r10
add    %r10d,%eax
cltq
imul   $0x66666667,%rax,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
shr    $0x22,%rax
add    %ecx,%eax
lea    0x0(,%r11,8),%edx
sub    %r11d,%edx
lea    (%r10,%r10,2),%ecx
add    %ecx,%edx
movslq %edx,%rdx
imul   $0x66666667,%rdx,%rdx
mov    %rdx,%rdi
shr    $0x3f,%rdi
shr    $0x22,%rdx
add    %edi,%edx
lea    (%r11,%r10,1),%edi
mov    %edi,%r14d
shr    $0x1f,%r14d
add    %edi,%r14d
shr    %r14d
lea    (%r11,%r11,2),%edi
lea    0x0(,%r10,8),%ebx
sub    %r10d,%ebx
add    %edi,%ebx
movslq %ebx,%rbx
imul   $0x66666667,%rbx,%rbx
mov    %rbx,%rbp
shr    $0x3f,%rbp
shr    $0x22,%rbx
add    %ebp,%ebx
mov    %rbx,0x10(%rsp)
lea    (%r10,%r10,8),%ebx
add    %r11d,%ebx
movslq %ebx,%rbx
imul   $0x66666667,%rbx,%rbx
mov    %rbx,%rbp
shr    $0x3f,%rbp
shr    $0x22,%rbx
add    %ebp,%ebx
mov    %rbx,0x18(%rsp)
lea    (%r10,%r11,4),%ebx
movslq %ebx,%rbx
imul   $0xffffffff99999999,%rbx,%rbp
mov    %rbp,%rbx
shr    $0x3f,%rbx
sar    $0x21,%rbp
add    %ebx,%ebp
lea    (%rdi,%r10,2),%edi
movslq %edi,%rdi
imul   $0xffffffff99999999,%rdi,%r15
mov    %r15,%rdi
shr    $0x3f,%rdi
sar    $0x21,%r15
add    %edi,%r15d
lea    (%rcx,%r11,2),%ecx
movslq %ecx,%rcx
imul   $0xffffffff99999999,%rcx,%rdi
mov    %rdi,%rcx
shr    $0x3f,%rcx
sar    $0x21,%rdi
add    %ecx,%edi
mov    %rdi,0x28(%rsp)
lea    (%r11,%r10,4),%ecx
movslq %ecx,%rcx
imul   $0xffffffff99999999,%rcx,%rdi
mov    %rdi,%rcx
shr    $0x3f,%rcx
sar    $0x21,%rdi
add    %ecx,%edi
mov    %rdi,0x20(%rsp)
xor    %r13d,%r13d
xor    %r10d,%r10d
jmp    1685 <util_format_signed_encode_rgtc_ubyte+0x575>
cs nopw 0x0(%rax,%rax,1)
nop
add    $0x1,%r13b
movsbl %r13b,%r13d
mov    0xc(%rsp),%ecx
cmp    %ecx,%r13d
jge    1790 <util_format_signed_encode_rgtc_ubyte+0x680>
test   %r8d,%r8d
jle    1670 <util_format_signed_encode_rgtc_ubyte+0x560>
movsbq %r13b,%rcx
lea    0x0(,%r13,4),%r11d
xor    %r12d,%r12d
jmp    16c7 <util_format_signed_encode_rgtc_ubyte+0x5b7>
nopl   0x0(%rax,%rax,1)
lea    (%r12,%r11,1),%edi
movslq %edi,%rdi
movb   $0x7,0x80(%rsp,%rdi,1)
07
xor    %edi,%edi
movswl %di,%edi
imul   %edi,%edi
add    %edi,%r10d
add    $0x1,%r12b
movsbl %r12b,%r12d
cmp    %r8d,%r12d
jge    1670 <util_format_signed_encode_rgtc_ubyte+0x560>
movslq %r12d,%rdi
lea    (%rsi,%rcx,4),%rbx
movsbl (%rdi,%rbx,1),%edi
cmp    $0x7f,%edi
je     16a0 <util_format_signed_encode_rgtc_ubyte+0x590>
cmp    $0x80,%dil
jne    16f0 <util_format_signed_encode_rgtc_ubyte+0x5e0>
lea    (%r12,%r11,1),%edi
movslq %edi,%rdi
movb   $0x6,0x80(%rsp,%rdi,1)
06
jmp    16af <util_format_signed_encode_rgtc_ubyte+0x59f>
xchg   %ax,%ax
cmp    %al,%dil
jle    1722 <util_format_signed_encode_rgtc_ubyte+0x612>
cmp    %dl,%dil
jle    173a <util_format_signed_encode_rgtc_ubyte+0x62a>
cmp    %r14b,%dil
jle    1750 <util_format_signed_encode_rgtc_ubyte+0x640>
cmp    0x10(%rsp),%dil
jle    1767 <util_format_signed_encode_rgtc_ubyte+0x657>
lea    (%r12,%r11,1),%ebx
movslq %ebx,%rbx
cmp    0x18(%rsp),%dil
jle    177f <util_format_signed_encode_rgtc_ubyte+0x66f>
movb   $0x1,0x80(%rsp,%rbx,1)
01
sub    0x60(%rsp),%edi
jmp    16b1 <util_format_signed_encode_rgtc_ubyte+0x5a1>
lea    (%r12,%r11,1),%ebx
movslq %ebx,%rbx
movb   $0x0,0x80(%rsp,%rbx,1)
sub    0x68(%rsp),%edi
jmp    16b1 <util_format_signed_encode_rgtc_ubyte+0x5a1>
lea    (%r12,%r11,1),%ebx
movslq %ebx,%rbx
movb   $0x2,0x80(%rsp,%rbx,1)
02
add    %ebp,%edi
jmp    16b1 <util_format_signed_encode_rgtc_ubyte+0x5a1>
lea    (%r12,%r11,1),%ebx
movslq %ebx,%rbx
movb   $0x3,0x80(%rsp,%rbx,1)
03
add    %r15d,%edi
jmp    16b1 <util_format_signed_encode_rgtc_ubyte+0x5a1>
lea    (%r12,%r11,1),%ebx
movslq %ebx,%rbx
movb   $0x4,0x80(%rsp,%rbx,1)
04
add    0x28(%rsp),%edi
jmp    16b1 <util_format_signed_encode_rgtc_ubyte+0x5a1>
movb   $0x5,0x80(%rsp,%rbx,1)
05
add    0x20(%rsp),%edi
jmp    16b1 <util_format_signed_encode_rgtc_ubyte+0x5a1>
xor    %ebp,%ebp
mov    $0xffffffff,%r14d
cmp    $0x61,%r10d
jb     1879 <util_format_signed_encode_rgtc_ubyte+0x769>
mov    $0x0,%ebx
cmp    $0x61,%r9d
mov    0x30(%rsp),%rdi
jb     1df3 <util_format_signed_encode_rgtc_ubyte+0xce3>
test   %ecx,%ecx
jle    1880 <util_format_signed_encode_rgtc_ubyte+0x770>
mov    0x60(%rsp),%rax
sub    0x68(%rsp),%eax
cltq
imul   $0x6db6db6d,%rax,%rcx
shr    $0x20,%rcx
sub    %eax,%ecx
mov    %ecx,%edx
sar    $0x4,%edx
shr    $0x1f,%ecx
lea    (%rdx,%rcx,1),%r12d
add    $0x7f,%r12d
imul   $0xffffffff92492493,%rax,%r11
shr    $0x20,%r11
add    %eax,%r11d
mov    %r11d,%eax
shr    $0x1f,%eax
sar    $0x4,%r11d
add    %eax,%r11d
mov    $0x7f,%cx
mov    $0xff80,%ax
xor    %r15d,%r15d
jmp    1826 <util_format_signed_encode_rgtc_ubyte+0x716>
xchg   %ax,%ax
mov    %ecx,%edx
mov    %eax,%edi
add    $0x1,%r15b
movsbl %r15b,%ebx
mov    %edi,%eax
mov    %edx,%ecx
cmp    0xc(%rsp),%ebx
jge    1888 <util_format_signed_encode_rgtc_ubyte+0x778>
test   %r8d,%r8d
jle    1810 <util_format_signed_encode_rgtc_ubyte+0x700>
movsbq %r15b,%r14
xor    %ebx,%ebx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
movsbq %bl,%rbx
lea    (%rsi,%r14,4),%rdx
movsbl (%rbx,%rdx,1),%ebp
cmp    %ebp,%r12d
mov    %eax,%edi
cmovg  %ebp,%edi
cmp    %bp,%ax
cmovge %eax,%edi
cmp    %ebp,%r11d
mov    %ebp,%edx
cmovge %ecx,%edx
cmp    %bp,%cx
cmovle %ecx,%edx
add    $0x1,%bl
movsbl %bl,%ebp
mov    %edi,%eax
mov    %edx,%ecx
cmp    %r8d,%ebp
jl     1840 <util_format_signed_encode_rgtc_ubyte+0x730>
jmp    1814 <util_format_signed_encode_rgtc_ubyte+0x704>
xor    %ebx,%ebx
jmp    1dee <util_format_signed_encode_rgtc_ubyte+0xcde>
mov    $0xff80,%di
mov    $0x7f,%dx
cmp    %dx,%di
mov    $0xff81,%eax
cmovg  %edx,%eax
mov    $0x7e,%ecx
cmovg  %edi,%ecx
movswl %ax,%r12d
movswl %cx,%ebx
mov    0xc(%rsp),%r11d
test   %r11d,%r11d
jle    1ae9 <util_format_signed_encode_rgtc_ubyte+0x9d9>
lea    (%r12,%r12,8),%eax
add    %ebx,%eax
cltq
imul   $0x66666667,%rax,%rcx
mov    %rcx,%rax
shr    $0x3f,%rax
shr    $0x22,%rcx
add    %eax,%ecx
mov    %rcx,0x10(%rsp)
lea    0x0(,%r12,8),%ecx
sub    %r12d,%ecx
lea    (%rbx,%rbx,2),%eax
add    %eax,%ecx
movslq %ecx,%rcx
imul   $0x66666667,%rcx,%rdx
mov    %rdx,%rcx
shr    $0x3f,%rcx
shr    $0x22,%rdx
add    %ecx,%edx
mov    %rdx,0x28(%rsp)
lea    (%r12,%rbx,1),%ecx
mov    %ecx,%edx
shr    $0x1f,%edx
add    %ecx,%edx
shr    %edx
mov    %edx,0x20(%rsp)
lea    (%r12,%r12,2),%ecx
lea    0x0(,%rbx,8),%edx
sub    %ebx,%edx
add    %ecx,%edx
movslq %edx,%rdx
imul   $0x66666667,%rdx,%rdi
mov    %rdi,%rdx
shr    $0x3f,%rdx
shr    $0x22,%rdi
add    %edx,%edi
mov    %rdi,0x48(%rsp)
lea    (%rbx,%rbx,8),%edx
add    %r12d,%edx
movslq %edx,%rdx
imul   $0x66666667,%rdx,%rdi
mov    %rdi,%rdx
shr    $0x3f,%rdx
shr    $0x22,%rdi
add    %edx,%edi
mov    %rdi,0x38(%rsp)
movzwl %r12w,%edx
shr    $0xf,%edx
add    %r12d,%edx
movswl %dx,%r11d
shr    %r11d
lea    0x7f(%rbx),%edx
shr    $0x1f,%edx
add    %ebx,%edx
add    $0x7f,%edx
sar    %edx
lea    (%rbx,%r12,4),%edi
movslq %edi,%rdi
imul   $0xffffffff99999999,%rdi,%rdi
mov    %rdi,%rbp
shr    $0x3f,%rbp
sar    $0x21,%rdi
add    %ebp,%edi
mov    %rdi,0x50(%rsp)
lea    (%rcx,%rbx,2),%ecx
movslq %ecx,%rcx
imul   $0xffffffff99999999,%rcx,%rdi
mov    %rdi,%rcx
shr    $0x3f,%rcx
sar    $0x21,%rdi
add    %ecx,%edi
mov    %rdi,0x40(%rsp)
lea    (%rax,%r12,2),%eax
cltq
imul   $0xffffffff99999999,%rax,%rcx
mov    %rcx,%rax
shr    $0x3f,%rax
sar    $0x21,%rcx
add    %eax,%ecx
mov    %rcx,0xa8(%rsp)
mov    %rbx,0x58(%rsp)
mov    %r12,0x18(%rsp)
lea    (%r12,%rbx,4),%eax
cltq
imul   $0xffffffff99999999,%rax,%rcx
mov    %rcx,%rax
shr    $0x3f,%rax
sar    $0x21,%rcx
add    %eax,%ecx
mov    %rcx,0xa0(%rsp)
xor    %ebp,%ebp
xor    %r14d,%r14d
xor    %r15d,%r15d
xor    %r13d,%r13d
xor    %r12d,%r12d
jmp    1a32 <util_format_signed_encode_rgtc_ubyte+0x922>
cs nopw 0x0(%rax,%rax,1)
add    $0x1,%r12b
movsbl %r12b,%eax
cmp    0xc(%rsp),%eax
jge    1ad3 <util_format_signed_encode_rgtc_ubyte+0x9c3>
test   %r8d,%r8d
jle    1a20 <util_format_signed_encode_rgtc_ubyte+0x910>
movsbq %r12b,%rbx
xor    %eax,%eax
jmp    1a56 <util_format_signed_encode_rgtc_ubyte+0x946>
nop
sub    0x18(%rsp),%r13d
add    %ecx,%r13d
add    $0x1,%r14b
add    $0x1,%al
movsbl %al,%ecx
cmp    %r8d,%ecx
jge    1a20 <util_format_signed_encode_rgtc_ubyte+0x910>
movsbq %al,%rcx
lea    (%rsi,%rbx,4),%rdi
movsbl (%rcx,%rdi,1),%edi
cmp    %di,%r11w
jge    1a4c <util_format_signed_encode_rgtc_ubyte+0x93c>
movswl %di,%ecx
cmp    %ecx,%edx
jl     1a4c <util_format_signed_encode_rgtc_ubyte+0x93c>
cmp    0x10(%rsp),%cl
jle    1a40 <util_format_signed_encode_rgtc_ubyte+0x930>
cmp    0x28(%rsp),%dil
jle    1a99 <util_format_signed_encode_rgtc_ubyte+0x989>
cmp    0x20(%rsp),%cl
jle    1a9f <util_format_signed_encode_rgtc_ubyte+0x98f>
cmp    0x48(%rsp),%dil
jle    1aa5 <util_format_signed_encode_rgtc_ubyte+0x995>
cmp    0x38(%rsp),%cl
jle    1aae <util_format_signed_encode_rgtc_ubyte+0x99e>
sub    0x58(%rsp),%r15d
add    %ecx,%r15d
jmp    1aca <util_format_signed_encode_rgtc_ubyte+0x9ba>
add    0x50(%rsp),%ecx
jmp    1ac0 <util_format_signed_encode_rgtc_ubyte+0x9b0>
add    0x40(%rsp),%ecx
jmp    1ac0 <util_format_signed_encode_rgtc_ubyte+0x9b0>
add    0xa8(%rsp),%ecx
jmp    1ac0 <util_format_signed_encode_rgtc_ubyte+0x9b0>
add    0xa0(%rsp),%ecx
cs nopw 0x0(%rax,%rax,1)
nop
add    %ecx,%r13d
add    %ecx,%r15d
add    $0x1,%r14b
add    $0x1,%bpl
jmp    1a4c <util_format_signed_encode_rgtc_ubyte+0x93c>
test   %r14b,%r14b
mov    0xc(%rsp),%r11d
mov    0x58(%rsp),%rbx
mov    0x18(%rsp),%r12
jne    1af4 <util_format_signed_encode_rgtc_ubyte+0x9e4>
jmp    1af1 <util_format_signed_encode_rgtc_ubyte+0x9e1>
xor    %ebp,%ebp
xor    %r15d,%r15d
xor    %r13d,%r13d
mov    $0x1,%r14b
test   %bpl,%bpl
movzbl %bpl,%eax
mov    $0x1,%ecx
cmovne %eax,%ecx
movswl %r13w,%eax
movsbl %r14b,%edi
cltd
idiv   %edi
add    %eax,%r12d
cmp    $0xff81,%r12w
mov    $0xff80,%ebp
cmovge %r12d,%ebp
movswl %r15w,%eax
movsbl %cl,%ecx
cltd
idiv   %ecx
add    %eax,%ebx
cmp    $0x7f,%bx
mov    $0x7f,%eax
cmovge %eax,%ebx
test   %r11d,%r11d
jle    1deb <util_format_signed_encode_rgtc_ubyte+0xcdb>
mov    %ebp,0xc4(%rsp)
movswl %bp,%r14d
mov    %rbx,0x58(%rsp)
movswl %bx,%ecx
lea    (%r14,%r14,8),%eax
add    %ecx,%eax
cltq
imul   $0x66666667,%rax,%rdx
mov    %rdx,%rax
shr    $0x3f,%rax
shr    $0x22,%rdx
add    %eax,%edx
lea    0x0(,%r14,8),%eax
sub    %r14d,%eax
lea    (%rcx,%rcx,2),%r11d
add    %r11d,%eax
cltq
imul   $0x66666667,%rax,%rdi
mov    %rdi,%rax
shr    $0x3f,%rax
shr    $0x22,%rdi
add    %eax,%edi
mov    %rdi,0x18(%rsp)
lea    (%r14,%rcx,1),%eax
mov    %eax,%edi
shr    $0x1f,%edi
add    %eax,%edi
shr    %edi
mov    %edi,0x28(%rsp)
lea    (%r14,%r14,2),%eax
lea    0x0(,%rcx,8),%edi
sub    %ecx,%edi
add    %eax,%edi
movslq %edi,%rdi
imul   $0x66666667,%rdi,%rbx
mov    %rbx,%rdi
shr    $0x3f,%rdi
shr    $0x22,%rbx
add    %edi,%ebx
mov    %rbx,0x50(%rsp)
lea    (%rcx,%rcx,8),%edi
add    %r14d,%edi
movslq %edi,%rdi
imul   $0x66666667,%rdi,%rbx
mov    %rbx,%rdi
shr    $0x3f,%rdi
shr    $0x22,%rbx
add    %edi,%ebx
mov    %rbx,0x40(%rsp)
movzwl %r14w,%ebp
mov    %ebp,%edi
shr    $0xf,%edi
add    %ebp,%edi
movswl %di,%edi
shr    %edi
lea    0x7f(%rcx),%ebp
movzwl %bp,%ebx
mov    %ebx,%ebp
shr    $0xf,%ebp
add    %ebx,%ebp
movswl %bp,%r13d
shr    %r13d
lea    (%rcx,%r14,4),%ebp
movslq %ebp,%rbp
imul   $0xffffffff99999999,%rbp,%rbx
mov    %rbx,%rbp
shr    $0x3f,%rbp
sar    $0x21,%rbx
add    %ebp,%ebx
mov    %rbx,0x20(%rsp)
lea    (%rax,%rcx,2),%eax
cltq
imul   $0xffffffff99999999,%rax,%rbx
mov    %rbx,%rax
shr    $0x3f,%rax
sar    $0x21,%rbx
add    %eax,%ebx
mov    %rbx,0x48(%rsp)
lea    (%r11,%r14,2),%eax
cltq
imul   $0xffffffff99999999,%rax,%rax
mov    %rax,%rbp
shr    $0x3f,%rbp
sar    $0x21,%rax
add    %ebp,%eax
mov    %rax,0x38(%rsp)
mov    %r14,0x10(%rsp)
mov    %rcx,0xa8(%rsp)
lea    (%r14,%rcx,4),%eax
cltq
imul   $0xffffffff99999999,%rax,%rcx
mov    %rcx,%rax
shr    $0x3f,%rax
sar    $0x21,%rcx
add    %eax,%ecx
mov    %rcx,0xa0(%rsp)
xor    %r12d,%r12d
xor    %r14d,%r14d
jmp    1cd3 <util_format_signed_encode_rgtc_ubyte+0xbc3>
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
add    $0x1,%r12b
movsbl %r12b,%r12d
cmp    0xc(%rsp),%r12d
jge    1dd8 <util_format_signed_encode_rgtc_ubyte+0xcc8>
test   %r8d,%r8d
jle    1cc0 <util_format_signed_encode_rgtc_ubyte+0xbb0>
movsbq %r12b,%rbx
lea    0x0(,%r12,4),%ecx
xor    %r15d,%r15d
jmp    1d10 <util_format_signed_encode_rgtc_ubyte+0xc00>
nopl   0x0(%rax)
lea    (%r15,%rcx,1),%ebp
movslq %ebp,%rbp
movb   $0x6,0x70(%rsp,%rbp,1)
cwtl
imul   %eax,%eax
add    %eax,%r14d
add    $0x1,%r15b
movsbl %r15b,%r15d
cmp    %r8d,%r15d
jge    1cc0 <util_format_signed_encode_rgtc_ubyte+0xbb0>
movslq %r15d,%rax
lea    (%rsi,%rbx,4),%rbp
movsbl (%rax,%rbp,1),%eax
cmp    %ax,%di
jge    1cf0 <util_format_signed_encode_rgtc_ubyte+0xbe0>
movswl %ax,%r11d
cmp    %ax,%r13w
jge    1d40 <util_format_signed_encode_rgtc_ubyte+0xc30>
lea    (%r15,%rcx,1),%eax
cltq
movb   $0x7,0x70(%rsp,%rax,1)
mov    $0x7f,%eax
sub    %r11d,%eax
jmp    1cfc <util_format_signed_encode_rgtc_ubyte+0xbec>
nop
cmp    %dl,%al
jle    1d74 <util_format_signed_encode_rgtc_ubyte+0xc64>
cmp    0x18(%rsp),%r11b
jle    1d86 <util_format_signed_encode_rgtc_ubyte+0xc76>
cmp    0x28(%rsp),%al
jle    1d98 <util_format_signed_encode_rgtc_ubyte+0xc88>
cmp    0x50(%rsp),%r11b
jle    1daa <util_format_signed_encode_rgtc_ubyte+0xc9a>
lea    (%r15,%rcx,1),%ebp
movslq %ebp,%rbp
cmp    0x40(%rsp),%al
jle    1dbc <util_format_signed_encode_rgtc_ubyte+0xcac>
movb   $0x1,0x70(%rsp,%rbp,1)
sub    0xa8(%rsp),%r11d
jmp    1dd0 <util_format_signed_encode_rgtc_ubyte+0xcc0>
lea    (%r15,%rcx,1),%eax
cltq
movb   $0x0,0x70(%rsp,%rax,1)
sub    0x10(%rsp),%r11d
jmp    1dd0 <util_format_signed_encode_rgtc_ubyte+0xcc0>
lea    (%r15,%rcx,1),%eax
cltq
movb   $0x2,0x70(%rsp,%rax,1)
add    0x20(%rsp),%r11d
jmp    1dd0 <util_format_signed_encode_rgtc_ubyte+0xcc0>
lea    (%r15,%rcx,1),%eax
cltq
movb   $0x3,0x70(%rsp,%rax,1)
add    0x48(%rsp),%r11d
jmp    1dd0 <util_format_signed_encode_rgtc_ubyte+0xcc0>
lea    (%r15,%rcx,1),%eax
cltq
movb   $0x4,0x70(%rsp,%rax,1)
add    0x38(%rsp),%r11d
jmp    1dd0 <util_format_signed_encode_rgtc_ubyte+0xcc0>
movb   $0x5,0x70(%rsp,%rbp,1)
add    0xa0(%rsp),%r11d
nopl   0x0(%rax)
mov    %r11d,%eax
jmp    1cfc <util_format_signed_encode_rgtc_ubyte+0xbec>
mov    0x30(%rsp),%rdi
mov    0x58(%rsp),%rbx
mov    0xc4(%rsp),%ebp
jmp    1df3 <util_format_signed_encode_rgtc_ubyte+0xce3>
xor    %r14d,%r14d
mov    0x30(%rsp),%rdi
cmp    %r10d,%r9d
ja     1e2e <util_format_signed_encode_rgtc_ubyte+0xd1e>
cmp    %r14d,%r9d
ja     1e2e <util_format_signed_encode_rgtc_ubyte+0xd1e>
lea    0x90(%rsp),%rcx
mov    0xb8(%rsp),%rsi
mov    0xb0(%rsp),%rdx
xor    %eax,%eax
call   1030 <util_format_signed_write_rgtc_encoded_channel@plt>
add    $0xc8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
cmp    %r14d,%r10d
jbe    1e41 <util_format_signed_encode_rgtc_ubyte+0xd31>
movsbl %bpl,%esi
movsbl %bl,%edx
lea    0x70(%rsp),%rcx
jmp    1e15 <util_format_signed_encode_rgtc_ubyte+0xd05>
lea    0x80(%rsp),%rcx
mov    0x68(%rsp),%rsi
mov    0x60(%rsp),%rdx
jmp    1e15 <util_format_signed_encode_rgtc_ubyte+0xd05>

LLVM IR (-O0):
define void @util_format_signed_encode_rgtc_ubyte(i8* %0, [4 x i8]* %1, i32 %2, i32 %3) {
%5 = alloca i8*
%6 = alloca [4 x i8]*
%7 = alloca i32
%8 = alloca i32
%9 = alloca [2 x i8]
%10 = alloca [2 x i8]
%11 = alloca [2 x i16]
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i8
%16 = alloca i8
%17 = alloca i8
%18 = alloca [7 x i8]
%19 = alloca [16 x i8]
%20 = alloca [16 x i8]
%21 = alloca [16 x i8]
%22 = alloca i32
%23 = alloca i32
%24 = alloca i16
%25 = alloca i16
%26 = alloca i16
%27 = alloca i8
%28 = alloca i8
store i8* %0, i8** %5
store [4 x i8]* %1, [4 x i8]** %6
store i32 %2, i32* %7
store i32 %3, i32* %8
%29 = bitcast [2 x i16]* %11 to i8*
store i32 0, i32* %22
store i32 0, i32* %23
%30 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
store i8 127, i8* %30
%31 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
store i8 -128, i8* %31
store i8 0, i8* %16
br label %32
32: ; preds = %122, %4
%33 = load i8, i8* %16
%34 = sext i8 %33 to i32
%35 = load i32, i32* %8
%36 = icmp slt i32 %34, %35
br i1 %36, label %37, label %125
37: ; preds = %32
store i8 0, i8* %15
br label %38
38: ; preds = %118, %37
%39 = load i8, i8* %15
%40 = sext i8 %39 to i32
%41 = load i32, i32* %7
%42 = icmp slt i32 %40, %41
br i1 %42, label %43, label %121
43: ; preds = %38
%44 = load [4 x i8]*, [4 x i8]** %6
%45 = load i8, i8* %16
%46 = sext i8 %45 to i64
%47 = getelementptr inbounds [4 x i8], [4 x i8]* %44, i64 %46
%48 = load i8, i8* %15
%49 = sext i8 %48 to i64
%50 = getelementptr inbounds [4 x i8], [4 x i8]* %47, i64 0, i64 %49
%51 = load i8, i8* %50
%52 = sext i8 %51 to i32
%53 = icmp eq i32 %52, -128
br i1 %53, label %54, label %55
54: ; preds = %43
store i32 1, i32* %22
br label %117
55: ; preds = %43
%56 = load [4 x i8]*, [4 x i8]** %6
%57 = load i8, i8* %16
%58 = sext i8 %57 to i64
%59 = getelementptr inbounds [4 x i8], [4 x i8]* %56, i64 %58
%60 = load i8, i8* %15
%61 = sext i8 %60 to i64
%62 = getelementptr inbounds [4 x i8], [4 x i8]* %59, i64 0, i64 %61
%63 = load i8, i8* %62
%64 = sext i8 %63 to i32
%65 = icmp eq i32 %64, 127
br i1 %65, label %66, label %67
66: ; preds = %55
store i32 1, i32* %23
br label %116
67: ; preds = %55
%68 = load [4 x i8]*, [4 x i8]** %6
%69 = load i8, i8* %16
%70 = sext i8 %69 to i64
%71 = getelementptr inbounds [4 x i8], [4 x i8]* %68, i64 %70
%72 = load i8, i8* %15
%73 = sext i8 %72 to i64
%74 = getelementptr inbounds [4 x i8], [4 x i8]* %71, i64 0, i64 %73
%75 = load i8, i8* %74
%76 = sext i8 %75 to i32
%77 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%78 = load i8, i8* %77
%79 = sext i8 %78 to i32
%80 = icmp sgt i32 %76, %79
br i1 %80, label %81, label %91
81: ; preds = %67
%82 = load [4 x i8]*, [4 x i8]** %6
%83 = load i8, i8* %16
%84 = sext i8 %83 to i64
%85 = getelementptr inbounds [4 x i8], [4 x i8]* %82, i64 %84
%86 = load i8, i8* %15
%87 = sext i8 %86 to i64
%88 = getelementptr inbounds [4 x i8], [4 x i8]* %85, i64 0, i64 %87
%89 = load i8, i8* %88
%90 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
store i8 %89, i8* %90
br label %91
91: ; preds = %81, %67
%92 = load [4 x i8]*, [4 x i8]** %6
%93 = load i8, i8* %16
%94 = sext i8 %93 to i64
%95 = getelementptr inbounds [4 x i8], [4 x i8]* %92, i64 %94
%96 = load i8, i8* %15
%97 = sext i8 %96 to i64
%98 = getelementptr inbounds [4 x i8], [4 x i8]* %95, i64 0, i64 %97
%99 = load i8, i8* %98
%100 = sext i8 %99 to i32
%101 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%102 = load i8, i8* %101
%103 = sext i8 %102 to i32
%104 = icmp slt i32 %100, %103
br i1 %104, label %105, label %115
105: ; preds = %91
%106 = load [4 x i8]*, [4 x i8]** %6
%107 = load i8, i8* %16
%108 = sext i8 %107 to i64
%109 = getelementptr inbounds [4 x i8], [4 x i8]* %106, i64 %108
%110 = load i8, i8* %15
%111 = sext i8 %110 to i64
%112 = getelementptr inbounds [4 x i8], [4 x i8]* %109, i64 0, i64 %111
%113 = load i8, i8* %112
%114 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
store i8 %113, i8* %114
br label %115
115: ; preds = %105, %91
br label %116
116: ; preds = %115, %66
br label %117
117: ; preds = %116, %54
br label %118
118: ; preds = %117
%119 = load i8, i8* %15
%120 = add i8 %119, 1
store i8 %120, i8* %15
br label %38
121: ; preds = %38
br label %122
122: ; preds = %121
%123 = load i8, i8* %16
%124 = add i8 %123, 1
store i8 %124, i8* %16
br label %32
125: ; preds = %32
%126 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%127 = load i8, i8* %126
%128 = sext i8 %127 to i32
%129 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%130 = load i8, i8* %129
%131 = sext i8 %130 to i32
%132 = icmp sgt i32 %128, %131
br i1 %132, label %133, label %139
133: ; preds = %125
%134 = load i32, i32* %22
%135 = icmp ne i32 %134, 0
br i1 %135, label %136, label %153
136: ; preds = %133
%137 = load i32, i32* %23
%138 = icmp ne i32 %137, 0
br i1 %138, label %139, label %153
139: ; preds = %136, %125
%140 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%141 = load i8, i8* %140
%142 = sext i8 %141 to i32
%143 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%144 = load i8, i8* %143
%145 = sext i8 %144 to i32
%146 = icmp eq i32 %142, %145
br i1 %146, label %147, label %174
147: ; preds = %139
%148 = load i32, i32* %22
%149 = icmp ne i32 %148, 0
br i1 %149, label %174, label %150
150: ; preds = %147
%151 = load i32, i32* %23
%152 = icmp ne i32 %151, 0
br i1 %152, label %174, label %153
153: ; preds = %150, %136, %133
%154 = load [4 x i8]*, [4 x i8]** %6
%155 = getelementptr inbounds [4 x i8], [4 x i8]* %154, i64 0
%156 = getelementptr inbounds [4 x i8], [4 x i8]* %155, i64 0, i64 0
%157 = load i8, i8* %156
%158 = load i8*, i8** %5
%159 = getelementptr inbounds i8, i8* %158, i32 1
store i8* %159, i8** %5
store i8 %157, i8* %158
%160 = load i8*, i8** %5
%161 = getelementptr inbounds i8, i8* %160, i32 1
store i8* %161, i8** %5
%162 = load i8*, i8** %5
%163 = getelementptr inbounds i8, i8* %162, i32 1
store i8* %163, i8** %5
store i8 0, i8* %162
%164 = load i8*, i8** %5
%165 = getelementptr inbounds i8, i8* %164, i32 1
store i8* %165, i8** %5
store i8 0, i8* %164
%166 = load i8*, i8** %5
%167 = getelementptr inbounds i8, i8* %166, i32 1
store i8* %167, i8** %5
store i8 0, i8* %166
%168 = load i8*, i8** %5
%169 = getelementptr inbounds i8, i8* %168, i32 1
store i8* %169, i8** %5
store i8 0, i8* %168
%170 = load i8*, i8** %5
%171 = getelementptr inbounds i8, i8* %170, i32 1
store i8* %171, i8** %5
store i8 0, i8* %170
%172 = load i8*, i8** %5
%173 = getelementptr inbounds i8, i8* %172, i32 1
store i8* %173, i8** %5
store i8 0, i8* %172
br label %1949
174: ; preds = %150, %147, %139
store i32 0, i32* %12
store i32 -1, i32* %13
store i32 -1, i32* %14
%175 = load i32, i32* %22
%176 = icmp ne i32 %175, 0
br i1 %176, label %177, label %179
177: ; preds = %174
%178 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
store i8 -128, i8* %178
br label %183
179: ; preds = %174
%180 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%181 = load i8, i8* %180
%182 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
store i8 %181, i8* %182
br label %183
183: ; preds = %179, %177
%184 = load i32, i32* %23
%185 = icmp ne i32 %184, 0
br i1 %185, label %186, label %188
186: ; preds = %183
%187 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
store i8 127, i8* %187
br label %192
188: ; preds = %183
%189 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%190 = load i8, i8* %189
%191 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
store i8 %190, i8* %191
br label %192
192: ; preds = %188, %186
store i8 0, i8* %17
br label %193
193: ; preds = %221, %192
%194 = load i8, i8* %17
%195 = sext i8 %194 to i32
%196 = icmp slt i32 %195, 7
br i1 %196, label %197, label %224
197: ; preds = %193
%198 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%199 = load i8, i8* %198
%200 = sext i8 %199 to i32
%201 = load i8, i8* %17
%202 = sext i8 %201 to i32
%203 = mul nsw i32 2, %202
%204 = add nsw i32 %203, 1
%205 = mul nsw i32 %200, %204
%206 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%207 = load i8, i8* %206
%208 = sext i8 %207 to i32
%209 = load i8, i8* %17
%210 = sext i8 %209 to i32
%211 = mul nsw i32 2, %210
%212 = add nsw i32 %211, 1
%213 = sub nsw i32 14, %212
%214 = mul nsw i32 %208, %213
%215 = add nsw i32 %205, %214
%216 = sdiv i32 %215, 14
%217 = trunc i32 %216 to i8
%218 = load i8, i8* %17
%219 = sext i8 %218 to i64
%220 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 %219
store i8 %217, i8* %220
br label %221
221: ; preds = %197
%222 = load i8, i8* %17
%223 = add i8 %222, 1
store i8 %223, i8* %17
br label %193
224: ; preds = %193
store i8 0, i8* %16
br label %225
225: ; preds = %578, %224
%226 = load i8, i8* %16
%227 = sext i8 %226 to i32
%228 = load i32, i32* %8
%229 = icmp slt i32 %227, %228
br i1 %229, label %230, label %581
230: ; preds = %225
store i8 0, i8* %15
br label %231
231: ; preds = %574, %230
%232 = load i8, i8* %15
%233 = sext i8 %232 to i32
%234 = load i32, i32* %7
%235 = icmp slt i32 %233, %234
br i1 %235, label %236, label %577
236: ; preds = %231
%237 = load [4 x i8]*, [4 x i8]** %6
%238 = load i8, i8* %16
%239 = sext i8 %238 to i64
%240 = getelementptr inbounds [4 x i8], [4 x i8]* %237, i64 %239
%241 = load i8, i8* %15
%242 = sext i8 %241 to i64
%243 = getelementptr inbounds [4 x i8], [4 x i8]* %240, i64 0, i64 %242
%244 = load i8, i8* %243
%245 = sext i8 %244 to i32
%246 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 0
%247 = load i8, i8* %246
%248 = sext i8 %247 to i32
%249 = icmp sgt i32 %245, %248
br i1 %249, label %250, label %273
250: ; preds = %236
%251 = load i8, i8* %16
%252 = sext i8 %251 to i32
%253 = mul nsw i32 4, %252
%254 = load i8, i8* %15
%255 = sext i8 %254 to i32
%256 = add nsw i32 %253, %255
%257 = sext i32 %256 to i64
%258 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 %257
store i8 0, i8* %258
%259 = load [4 x i8]*, [4 x i8]** %6
%260 = load i8, i8* %16
%261 = sext i8 %260 to i64
%262 = getelementptr inbounds [4 x i8], [4 x i8]* %259, i64 %261
%263 = load i8, i8* %15
%264 = sext i8 %263 to i64
%265 = getelementptr inbounds [4 x i8], [4 x i8]* %262, i64 0, i64 %264
%266 = load i8, i8* %265
%267 = sext i8 %266 to i32
%268 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%269 = load i8, i8* %268
%270 = sext i8 %269 to i32
%271 = sub nsw i32 %267, %270
%272 = trunc i32 %271 to i16
store i16 %272, i16* %24
br label %566
273: ; preds = %236
%274 = load [4 x i8]*, [4 x i8]** %6
%275 = load i8, i8* %16
%276 = sext i8 %275 to i64
%277 = getelementptr inbounds [4 x i8], [4 x i8]* %274, i64 %276
%278 = load i8, i8* %15
%279 = sext i8 %278 to i64
%280 = getelementptr inbounds [4 x i8], [4 x i8]* %277, i64 0, i64 %279
%281 = load i8, i8* %280
%282 = sext i8 %281 to i32
%283 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 1
%284 = load i8, i8* %283
%285 = sext i8 %284 to i32
%286 = icmp sgt i32 %282, %285
br i1 %286, label %287, label %317
287: ; preds = %273
%288 = load i8, i8* %16
%289 = sext i8 %288 to i32
%290 = mul nsw i32 4, %289
%291 = load i8, i8* %15
%292 = sext i8 %291 to i32
%293 = add nsw i32 %290, %292
%294 = sext i32 %293 to i64
%295 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 %294
store i8 2, i8* %295
%296 = load [4 x i8]*, [4 x i8]** %6
%297 = load i8, i8* %16
%298 = sext i8 %297 to i64
%299 = getelementptr inbounds [4 x i8], [4 x i8]* %296, i64 %298
%300 = load i8, i8* %15
%301 = sext i8 %300 to i64
%302 = getelementptr inbounds [4 x i8], [4 x i8]* %299, i64 0, i64 %301
%303 = load i8, i8* %302
%304 = sext i8 %303 to i32
%305 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%306 = load i8, i8* %305
%307 = sext i8 %306 to i32
%308 = mul nsw i32 %307, 6
%309 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%310 = load i8, i8* %309
%311 = sext i8 %310 to i32
%312 = mul nsw i32 %311, 1
%313 = add nsw i32 %308, %312
%314 = sdiv i32 %313, 7
%315 = sub nsw i32 %304, %314
%316 = trunc i32 %315 to i16
store i16 %316, i16* %24
br label %565
317: ; preds = %273
%318 = load [4 x i8]*, [4 x i8]** %6
%319 = load i8, i8* %16
%320 = sext i8 %319 to i64
%321 = getelementptr inbounds [4 x i8], [4 x i8]* %318, i64 %320
%322 = load i8, i8* %15
%323 = sext i8 %322 to i64
%324 = getelementptr inbounds [4 x i8], [4 x i8]* %321, i64 0, i64 %323
%325 = load i8, i8* %324
%326 = sext i8 %325 to i32
%327 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 2
%328 = load i8, i8* %327
%329 = sext i8 %328 to i32
%330 = icmp sgt i32 %326, %329
br i1 %330, label %331, label %361
331: ; preds = %317
%332 = load i8, i8* %16
%333 = sext i8 %332 to i32
%334 = mul nsw i32 4, %333
%335 = load i8, i8* %15
%336 = sext i8 %335 to i32
%337 = add nsw i32 %334, %336
%338 = sext i32 %337 to i64
%339 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 %338
store i8 3, i8* %339
%340 = load [4 x i8]*, [4 x i8]** %6
%341 = load i8, i8* %16
%342 = sext i8 %341 to i64
%343 = getelementptr inbounds [4 x i8], [4 x i8]* %340, i64 %342
%344 = load i8, i8* %15
%345 = sext i8 %344 to i64
%346 = getelementptr inbounds [4 x i8], [4 x i8]* %343, i64 0, i64 %345
%347 = load i8, i8* %346
%348 = sext i8 %347 to i32
%349 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%350 = load i8, i8* %349
%351 = sext i8 %350 to i32
%352 = mul nsw i32 %351, 5
%353 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%354 = load i8, i8* %353
%355 = sext i8 %354 to i32
%356 = mul nsw i32 %355, 2
%357 = add nsw i32 %352, %356
%358 = sdiv i32 %357, 7
%359 = sub nsw i32 %348, %358
%360 = trunc i32 %359 to i16
store i16 %360, i16* %24
br label %564
361: ; preds = %317
%362 = load [4 x i8]*, [4 x i8]** %6
%363 = load i8, i8* %16
%364 = sext i8 %363 to i64
%365 = getelementptr inbounds [4 x i8], [4 x i8]* %362, i64 %364
%366 = load i8, i8* %15
%367 = sext i8 %366 to i64
%368 = getelementptr inbounds [4 x i8], [4 x i8]* %365, i64 0, i64 %367
%369 = load i8, i8* %368
%370 = sext i8 %369 to i32
%371 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 3
%372 = load i8, i8* %371
%373 = sext i8 %372 to i32
%374 = icmp sgt i32 %370, %373
br i1 %374, label %375, label %405
375: ; preds = %361
%376 = load i8, i8* %16
%377 = sext i8 %376 to i32
%378 = mul nsw i32 4, %377
%379 = load i8, i8* %15
%380 = sext i8 %379 to i32
%381 = add nsw i32 %378, %380
%382 = sext i32 %381 to i64
%383 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 %382
store i8 4, i8* %383
%384 = load [4 x i8]*, [4 x i8]** %6
%385 = load i8, i8* %16
%386 = sext i8 %385 to i64
%387 = getelementptr inbounds [4 x i8], [4 x i8]* %384, i64 %386
%388 = load i8, i8* %15
%389 = sext i8 %388 to i64
%390 = getelementptr inbounds [4 x i8], [4 x i8]* %387, i64 0, i64 %389
%391 = load i8, i8* %390
%392 = sext i8 %391 to i32
%393 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%394 = load i8, i8* %393
%395 = sext i8 %394 to i32
%396 = mul nsw i32 %395, 4
%397 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%398 = load i8, i8* %397
%399 = sext i8 %398 to i32
%400 = mul nsw i32 %399, 3
%401 = add nsw i32 %396, %400
%402 = sdiv i32 %401, 7
%403 = sub nsw i32 %392, %402
%404 = trunc i32 %403 to i16
store i16 %404, i16* %24
br label %563
405: ; preds = %361
%406 = load [4 x i8]*, [4 x i8]** %6
%407 = load i8, i8* %16
%408 = sext i8 %407 to i64
%409 = getelementptr inbounds [4 x i8], [4 x i8]* %406, i64 %408
%410 = load i8, i8* %15
%411 = sext i8 %410 to i64
%412 = getelementptr inbounds [4 x i8], [4 x i8]* %409, i64 0, i64 %411
%413 = load i8, i8* %412
%414 = sext i8 %413 to i32
%415 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 4
%416 = load i8, i8* %415
%417 = sext i8 %416 to i32
%418 = icmp sgt i32 %414, %417
br i1 %418, label %419, label %449
419: ; preds = %405
%420 = load i8, i8* %16
%421 = sext i8 %420 to i32
%422 = mul nsw i32 4, %421
%423 = load i8, i8* %15
%424 = sext i8 %423 to i32
%425 = add nsw i32 %422, %424
%426 = sext i32 %425 to i64
%427 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 %426
store i8 5, i8* %427
%428 = load [4 x i8]*, [4 x i8]** %6
%429 = load i8, i8* %16
%430 = sext i8 %429 to i64
%431 = getelementptr inbounds [4 x i8], [4 x i8]* %428, i64 %430
%432 = load i8, i8* %15
%433 = sext i8 %432 to i64
%434 = getelementptr inbounds [4 x i8], [4 x i8]* %431, i64 0, i64 %433
%435 = load i8, i8* %434
%436 = sext i8 %435 to i32
%437 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%438 = load i8, i8* %437
%439 = sext i8 %438 to i32
%440 = mul nsw i32 %439, 3
%441 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%442 = load i8, i8* %441
%443 = sext i8 %442 to i32
%444 = mul nsw i32 %443, 4
%445 = add nsw i32 %440, %444
%446 = sdiv i32 %445, 7
%447 = sub nsw i32 %436, %446
%448 = trunc i32 %447 to i16
store i16 %448, i16* %24
br label %562
449: ; preds = %405
%450 = load [4 x i8]*, [4 x i8]** %6
%451 = load i8, i8* %16
%452 = sext i8 %451 to i64
%453 = getelementptr inbounds [4 x i8], [4 x i8]* %450, i64 %452
%454 = load i8, i8* %15
%455 = sext i8 %454 to i64
%456 = getelementptr inbounds [4 x i8], [4 x i8]* %453, i64 0, i64 %455
%457 = load i8, i8* %456
%458 = sext i8 %457 to i32
%459 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 5
%460 = load i8, i8* %459
%461 = sext i8 %460 to i32
%462 = icmp sgt i32 %458, %461
br i1 %462, label %463, label %493
463: ; preds = %449
%464 = load i8, i8* %16
%465 = sext i8 %464 to i32
%466 = mul nsw i32 4, %465
%467 = load i8, i8* %15
%468 = sext i8 %467 to i32
%469 = add nsw i32 %466, %468
%470 = sext i32 %469 to i64
%471 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 %470
store i8 6, i8* %471
%472 = load [4 x i8]*, [4 x i8]** %6
%473 = load i8, i8* %16
%474 = sext i8 %473 to i64
%475 = getelementptr inbounds [4 x i8], [4 x i8]* %472, i64 %474
%476 = load i8, i8* %15
%477 = sext i8 %476 to i64
%478 = getelementptr inbounds [4 x i8], [4 x i8]* %475, i64 0, i64 %477
%479 = load i8, i8* %478
%480 = sext i8 %479 to i32
%481 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%482 = load i8, i8* %481
%483 = sext i8 %482 to i32
%484 = mul nsw i32 %483, 2
%485 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%486 = load i8, i8* %485
%487 = sext i8 %486 to i32
%488 = mul nsw i32 %487, 5
%489 = add nsw i32 %484, %488
%490 = sdiv i32 %489, 7
%491 = sub nsw i32 %480, %490
%492 = trunc i32 %491 to i16
store i16 %492, i16* %24
br label %561
493: ; preds = %449
%494 = load [4 x i8]*, [4 x i8]** %6
%495 = load i8, i8* %16
%496 = sext i8 %495 to i64
%497 = getelementptr inbounds [4 x i8], [4 x i8]* %494, i64 %496
%498 = load i8, i8* %15
%499 = sext i8 %498 to i64
%500 = getelementptr inbounds [4 x i8], [4 x i8]* %497, i64 0, i64 %499
%501 = load i8, i8* %500
%502 = sext i8 %501 to i32
%503 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 6
%504 = load i8, i8* %503
%505 = sext i8 %504 to i32
%506 = icmp sgt i32 %502, %505
br i1 %506, label %507, label %537
507: ; preds = %493
%508 = load i8, i8* %16
%509 = sext i8 %508 to i32
%510 = mul nsw i32 4, %509
%511 = load i8, i8* %15
%512 = sext i8 %511 to i32
%513 = add nsw i32 %510, %512
%514 = sext i32 %513 to i64
%515 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 %514
store i8 7, i8* %515
%516 = load [4 x i8]*, [4 x i8]** %6
%517 = load i8, i8* %16
%518 = sext i8 %517 to i64
%519 = getelementptr inbounds [4 x i8], [4 x i8]* %516, i64 %518
%520 = load i8, i8* %15
%521 = sext i8 %520 to i64
%522 = getelementptr inbounds [4 x i8], [4 x i8]* %519, i64 0, i64 %521
%523 = load i8, i8* %522
%524 = sext i8 %523 to i32
%525 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%526 = load i8, i8* %525
%527 = sext i8 %526 to i32
%528 = mul nsw i32 %527, 1
%529 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%530 = load i8, i8* %529
%531 = sext i8 %530 to i32
%532 = mul nsw i32 %531, 6
%533 = add nsw i32 %528, %532
%534 = sdiv i32 %533, 7
%535 = sub nsw i32 %524, %534
%536 = trunc i32 %535 to i16
store i16 %536, i16* %24
br label %560
537: ; preds = %493
%538 = load i8, i8* %16
%539 = sext i8 %538 to i32
%540 = mul nsw i32 4, %539
%541 = load i8, i8* %15
%542 = sext i8 %541 to i32
%543 = add nsw i32 %540, %542
%544 = sext i32 %543 to i64
%545 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 %544
store i8 1, i8* %545
%546 = load [4 x i8]*, [4 x i8]** %6
%547 = load i8, i8* %16
%548 = sext i8 %547 to i64
%549 = getelementptr inbounds [4 x i8], [4 x i8]* %546, i64 %548
%550 = load i8, i8* %15
%551 = sext i8 %550 to i64
%552 = getelementptr inbounds [4 x i8], [4 x i8]* %549, i64 0, i64 %551
%553 = load i8, i8* %552
%554 = sext i8 %553 to i32
%555 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%556 = load i8, i8* %555
%557 = sext i8 %556 to i32
%558 = sub nsw i32 %554, %557
%559 = trunc i32 %558 to i16
store i16 %559, i16* %24
br label %560
560: ; preds = %537, %507
br label %561
561: ; preds = %560, %463
br label %562
562: ; preds = %561, %419
br label %563
563: ; preds = %562, %375
br label %564
564: ; preds = %563, %331
br label %565
565: ; preds = %564, %287
br label %566
566: ; preds = %565, %250
%567 = load i16, i16* %24
%568 = sext i16 %567 to i32
%569 = load i16, i16* %24
%570 = sext i16 %569 to i32
%571 = mul nsw i32 %568, %570
%572 = load i32, i32* %12
%573 = add i32 %572, %571
store i32 %573, i32* %12
br label %574
574: ; preds = %566
%575 = load i8, i8* %15
%576 = add i8 %575, 1
store i8 %576, i8* %15
br label %231
577: ; preds = %231
br label %578
578: ; preds = %577
%579 = load i8, i8* %16
%580 = add i8 %579, 1
store i8 %580, i8* %16
br label %225
581: ; preds = %225
%582 = load i32, i32* %12
%583 = icmp uge i32 %582, 32
br i1 %583, label %584, label %1904
584: ; preds = %581
store i32 0, i32* %13
store i8 0, i8* %17
br label %585
585: ; preds = %613, %584
%586 = load i8, i8* %17
%587 = sext i8 %586 to i32
%588 = icmp slt i32 %587, 5
br i1 %588, label %589, label %616
589: ; preds = %585
%590 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%591 = load i8, i8* %590
%592 = sext i8 %591 to i32
%593 = load i8, i8* %17
%594 = sext i8 %593 to i32
%595 = mul nsw i32 2, %594
%596 = add nsw i32 %595, 1
%597 = sub nsw i32 10, %596
%598 = mul nsw i32 %592, %597
%599 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%600 = load i8, i8* %599
%601 = sext i8 %600 to i32
%602 = load i8, i8* %17
%603 = sext i8 %602 to i32
%604 = mul nsw i32 2, %603
%605 = add nsw i32 %604, 1
%606 = mul nsw i32 %601, %605
%607 = add nsw i32 %598, %606
%608 = sdiv i32 %607, 10
%609 = trunc i32 %608 to i8
%610 = load i8, i8* %17
%611 = sext i8 %610 to i64
%612 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 %611
store i8 %609, i8* %612
br label %613
613: ; preds = %589
%614 = load i8, i8* %17
%615 = add i8 %614, 1
store i8 %615, i8* %17
br label %585
616: ; preds = %585
store i8 0, i8* %16
br label %617
617: ; preds = %922, %616
%618 = load i8, i8* %16
%619 = sext i8 %618 to i32
%620 = load i32, i32* %8
%621 = icmp slt i32 %619, %620
br i1 %621, label %622, label %925
622: ; preds = %617
store i8 0, i8* %15
br label %623
623: ; preds = %918, %622
%624 = load i8, i8* %15
%625 = sext i8 %624 to i32
%626 = load i32, i32* %7
%627 = icmp slt i32 %625, %626
br i1 %627, label %628, label %921
628: ; preds = %623
%629 = load [4 x i8]*, [4 x i8]** %6
%630 = load i8, i8* %16
%631 = sext i8 %630 to i64
%632 = getelementptr inbounds [4 x i8], [4 x i8]* %629, i64 %631
%633 = load i8, i8* %15
%634 = sext i8 %633 to i64
%635 = getelementptr inbounds [4 x i8], [4 x i8]* %632, i64 0, i64 %634
%636 = load i8, i8* %635
%637 = sext i8 %636 to i32
%638 = icmp eq i32 %637, -128
br i1 %638, label %639, label %648
639: ; preds = %628
%640 = load i8, i8* %16
%641 = sext i8 %640 to i32
%642 = mul nsw i32 4, %641
%643 = load i8, i8* %15
%644 = sext i8 %643 to i32
%645 = add nsw i32 %642, %644
%646 = sext i32 %645 to i64
%647 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 %646
store i8 6, i8* %647
store i16 0, i16* %24
br label %910
648: ; preds = %628
%649 = load [4 x i8]*, [4 x i8]** %6
%650 = load i8, i8* %16
%651 = sext i8 %650 to i64
%652 = getelementptr inbounds [4 x i8], [4 x i8]* %649, i64 %651
%653 = load i8, i8* %15
%654 = sext i8 %653 to i64
%655 = getelementptr inbounds [4 x i8], [4 x i8]* %652, i64 0, i64 %654
%656 = load i8, i8* %655
%657 = sext i8 %656 to i32
%658 = icmp eq i32 %657, 127
br i1 %658, label %659, label %668
659: ; preds = %648
%660 = load i8, i8* %16
%661 = sext i8 %660 to i32
%662 = mul nsw i32 4, %661
%663 = load i8, i8* %15
%664 = sext i8 %663 to i32
%665 = add nsw i32 %662, %664
%666 = sext i32 %665 to i64
%667 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 %666
store i8 7, i8* %667
store i16 0, i16* %24
br label %909
668: ; preds = %648
%669 = load [4 x i8]*, [4 x i8]** %6
%670 = load i8, i8* %16
%671 = sext i8 %670 to i64
%672 = getelementptr inbounds [4 x i8], [4 x i8]* %669, i64 %671
%673 = load i8, i8* %15
%674 = sext i8 %673 to i64
%675 = getelementptr inbounds [4 x i8], [4 x i8]* %672, i64 0, i64 %674
%676 = load i8, i8* %675
%677 = sext i8 %676 to i32
%678 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 0
%679 = load i8, i8* %678
%680 = sext i8 %679 to i32
%681 = icmp sle i32 %677, %680
br i1 %681, label %682, label %705
682: ; preds = %668
%683 = load i8, i8* %16
%684 = sext i8 %683 to i32
%685 = mul nsw i32 4, %684
%686 = load i8, i8* %15
%687 = sext i8 %686 to i32
%688 = add nsw i32 %685, %687
%689 = sext i32 %688 to i64
%690 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 %689
store i8 0, i8* %690
%691 = load [4 x i8]*, [4 x i8]** %6
%692 = load i8, i8* %16
%693 = sext i8 %692 to i64
%694 = getelementptr inbounds [4 x i8], [4 x i8]* %691, i64 %693
%695 = load i8, i8* %15
%696 = sext i8 %695 to i64
%697 = getelementptr inbounds [4 x i8], [4 x i8]* %694, i64 0, i64 %696
%698 = load i8, i8* %697
%699 = sext i8 %698 to i32
%700 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%701 = load i8, i8* %700
%702 = sext i8 %701 to i32
%703 = sub nsw i32 %699, %702
%704 = trunc i32 %703 to i16
store i16 %704, i16* %24
br label %908
705: ; preds = %668
%706 = load [4 x i8]*, [4 x i8]** %6
%707 = load i8, i8* %16
%708 = sext i8 %707 to i64
%709 = getelementptr inbounds [4 x i8], [4 x i8]* %706, i64 %708
%710 = load i8, i8* %15
%711 = sext i8 %710 to i64
%712 = getelementptr inbounds [4 x i8], [4 x i8]* %709, i64 0, i64 %711
%713 = load i8, i8* %712
%714 = sext i8 %713 to i32
%715 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 1
%716 = load i8, i8* %715
%717 = sext i8 %716 to i32
%718 = icmp sle i32 %714, %717
br i1 %718, label %719, label %749
719: ; preds = %705
%720 = load i8, i8* %16
%721 = sext i8 %720 to i32
%722 = mul nsw i32 4, %721
%723 = load i8, i8* %15
%724 = sext i8 %723 to i32
%725 = add nsw i32 %722, %724
%726 = sext i32 %725 to i64
%727 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 %726
store i8 2, i8* %727
%728 = load [4 x i8]*, [4 x i8]** %6
%729 = load i8, i8* %16
%730 = sext i8 %729 to i64
%731 = getelementptr inbounds [4 x i8], [4 x i8]* %728, i64 %730
%732 = load i8, i8* %15
%733 = sext i8 %732 to i64
%734 = getelementptr inbounds [4 x i8], [4 x i8]* %731, i64 0, i64 %733
%735 = load i8, i8* %734
%736 = sext i8 %735 to i32
%737 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%738 = load i8, i8* %737
%739 = sext i8 %738 to i32
%740 = mul nsw i32 %739, 4
%741 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%742 = load i8, i8* %741
%743 = sext i8 %742 to i32
%744 = mul nsw i32 %743, 1
%745 = add nsw i32 %740, %744
%746 = sdiv i32 %745, 5
%747 = sub nsw i32 %736, %746
%748 = trunc i32 %747 to i16
store i16 %748, i16* %24
br label %907
749: ; preds = %705
%750 = load [4 x i8]*, [4 x i8]** %6
%751 = load i8, i8* %16
%752 = sext i8 %751 to i64
%753 = getelementptr inbounds [4 x i8], [4 x i8]* %750, i64 %752
%754 = load i8, i8* %15
%755 = sext i8 %754 to i64
%756 = getelementptr inbounds [4 x i8], [4 x i8]* %753, i64 0, i64 %755
%757 = load i8, i8* %756
%758 = sext i8 %757 to i32
%759 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 2
%760 = load i8, i8* %759
%761 = sext i8 %760 to i32
%762 = icmp sle i32 %758, %761
br i1 %762, label %763, label %793
763: ; preds = %749
%764 = load i8, i8* %16
%765 = sext i8 %764 to i32
%766 = mul nsw i32 4, %765
%767 = load i8, i8* %15
%768 = sext i8 %767 to i32
%769 = add nsw i32 %766, %768
%770 = sext i32 %769 to i64
%771 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 %770
store i8 3, i8* %771
%772 = load [4 x i8]*, [4 x i8]** %6
%773 = load i8, i8* %16
%774 = sext i8 %773 to i64
%775 = getelementptr inbounds [4 x i8], [4 x i8]* %772, i64 %774
%776 = load i8, i8* %15
%777 = sext i8 %776 to i64
%778 = getelementptr inbounds [4 x i8], [4 x i8]* %775, i64 0, i64 %777
%779 = load i8, i8* %778
%780 = sext i8 %779 to i32
%781 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%782 = load i8, i8* %781
%783 = sext i8 %782 to i32
%784 = mul nsw i32 %783, 3
%785 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%786 = load i8, i8* %785
%787 = sext i8 %786 to i32
%788 = mul nsw i32 %787, 2
%789 = add nsw i32 %784, %788
%790 = sdiv i32 %789, 5
%791 = sub nsw i32 %780, %790
%792 = trunc i32 %791 to i16
store i16 %792, i16* %24
br label %906
793: ; preds = %749
%794 = load [4 x i8]*, [4 x i8]** %6
%795 = load i8, i8* %16
%796 = sext i8 %795 to i64
%797 = getelementptr inbounds [4 x i8], [4 x i8]* %794, i64 %796
%798 = load i8, i8* %15
%799 = sext i8 %798 to i64
%800 = getelementptr inbounds [4 x i8], [4 x i8]* %797, i64 0, i64 %799
%801 = load i8, i8* %800
%802 = sext i8 %801 to i32
%803 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 3
%804 = load i8, i8* %803
%805 = sext i8 %804 to i32
%806 = icmp sle i32 %802, %805
br i1 %806, label %807, label %837
807: ; preds = %793
%808 = load i8, i8* %16
%809 = sext i8 %808 to i32
%810 = mul nsw i32 4, %809
%811 = load i8, i8* %15
%812 = sext i8 %811 to i32
%813 = add nsw i32 %810, %812
%814 = sext i32 %813 to i64
%815 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 %814
store i8 4, i8* %815
%816 = load [4 x i8]*, [4 x i8]** %6
%817 = load i8, i8* %16
%818 = sext i8 %817 to i64
%819 = getelementptr inbounds [4 x i8], [4 x i8]* %816, i64 %818
%820 = load i8, i8* %15
%821 = sext i8 %820 to i64
%822 = getelementptr inbounds [4 x i8], [4 x i8]* %819, i64 0, i64 %821
%823 = load i8, i8* %822
%824 = sext i8 %823 to i32
%825 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%826 = load i8, i8* %825
%827 = sext i8 %826 to i32
%828 = mul nsw i32 %827, 2
%829 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%830 = load i8, i8* %829
%831 = sext i8 %830 to i32
%832 = mul nsw i32 %831, 3
%833 = add nsw i32 %828, %832
%834 = sdiv i32 %833, 5
%835 = sub nsw i32 %824, %834
%836 = trunc i32 %835 to i16
store i16 %836, i16* %24
br label %905
837: ; preds = %793
%838 = load [4 x i8]*, [4 x i8]** %6
%839 = load i8, i8* %16
%840 = sext i8 %839 to i64
%841 = getelementptr inbounds [4 x i8], [4 x i8]* %838, i64 %840
%842 = load i8, i8* %15
%843 = sext i8 %842 to i64
%844 = getelementptr inbounds [4 x i8], [4 x i8]* %841, i64 0, i64 %843
%845 = load i8, i8* %844
%846 = sext i8 %845 to i32
%847 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 4
%848 = load i8, i8* %847
%849 = sext i8 %848 to i32
%850 = icmp sle i32 %846, %849
br i1 %850, label %851, label %881
851: ; preds = %837
%852 = load i8, i8* %16
%853 = sext i8 %852 to i32
%854 = mul nsw i32 4, %853
%855 = load i8, i8* %15
%856 = sext i8 %855 to i32
%857 = add nsw i32 %854, %856
%858 = sext i32 %857 to i64
%859 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 %858
store i8 5, i8* %859
%860 = load [4 x i8]*, [4 x i8]** %6
%861 = load i8, i8* %16
%862 = sext i8 %861 to i64
%863 = getelementptr inbounds [4 x i8], [4 x i8]* %860, i64 %862
%864 = load i8, i8* %15
%865 = sext i8 %864 to i64
%866 = getelementptr inbounds [4 x i8], [4 x i8]* %863, i64 0, i64 %865
%867 = load i8, i8* %866
%868 = sext i8 %867 to i32
%869 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%870 = load i8, i8* %869
%871 = sext i8 %870 to i32
%872 = mul nsw i32 %871, 1
%873 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%874 = load i8, i8* %873
%875 = sext i8 %874 to i32
%876 = mul nsw i32 %875, 4
%877 = add nsw i32 %872, %876
%878 = sdiv i32 %877, 5
%879 = sub nsw i32 %868, %878
%880 = trunc i32 %879 to i16
store i16 %880, i16* %24
br label %904
881: ; preds = %837
%882 = load i8, i8* %16
%883 = sext i8 %882 to i32
%884 = mul nsw i32 4, %883
%885 = load i8, i8* %15
%886 = sext i8 %885 to i32
%887 = add nsw i32 %884, %886
%888 = sext i32 %887 to i64
%889 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 %888
store i8 1, i8* %889
%890 = load [4 x i8]*, [4 x i8]** %6
%891 = load i8, i8* %16
%892 = sext i8 %891 to i64
%893 = getelementptr inbounds [4 x i8], [4 x i8]* %890, i64 %892
%894 = load i8, i8* %15
%895 = sext i8 %894 to i64
%896 = getelementptr inbounds [4 x i8], [4 x i8]* %893, i64 0, i64 %895
%897 = load i8, i8* %896
%898 = sext i8 %897 to i32
%899 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%900 = load i8, i8* %899
%901 = sext i8 %900 to i32
%902 = sub nsw i32 %898, %901
%903 = trunc i32 %902 to i16
store i16 %903, i16* %24
br label %904
904: ; preds = %881, %851
br label %905
905: ; preds = %904, %807
br label %906
906: ; preds = %905, %763
br label %907
907: ; preds = %906, %719
br label %908
908: ; preds = %907, %682
br label %909
909: ; preds = %908, %659
br label %910
910: ; preds = %909, %639
%911 = load i16, i16* %24
%912 = sext i16 %911 to i32
%913 = load i16, i16* %24
%914 = sext i16 %913 to i32
%915 = mul nsw i32 %912, %914
%916 = load i32, i32* %13
%917 = add i32 %916, %915
store i32 %917, i32* %13
br label %918
918: ; preds = %910
%919 = load i8, i8* %15
%920 = add i8 %919, 1
store i8 %920, i8* %15
br label %623
921: ; preds = %623
br label %922
922: ; preds = %921
%923 = load i8, i8* %16
%924 = add i8 %923, 1
store i8 %924, i8* %16
br label %617
925: ; preds = %617
%926 = load i32, i32* %13
%927 = icmp ugt i32 %926, 96
br i1 %927, label %928, label %1903
928: ; preds = %925
%929 = load i32, i32* %12
%930 = icmp ugt i32 %929, 96
br i1 %930, label %931, label %1903
931: ; preds = %928
store i16 0, i16* %25
store i16 0, i16* %26
store i8 0, i8* %27
store i8 0, i8* %28
%932 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
store i16 127, i16* %932
%933 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
store i16 -128, i16* %933
store i8 0, i8* %16
br label %934
934: ; preds = %1039, %931
%935 = load i8, i8* %16
%936 = sext i8 %935 to i32
%937 = load i32, i32* %8
%938 = icmp slt i32 %936, %937
br i1 %938, label %939, label %1042
939: ; preds = %934
store i8 0, i8* %15
br label %940
940: ; preds = %1035, %939
%941 = load i8, i8* %15
%942 = sext i8 %941 to i32
%943 = load i32, i32* %7
%944 = icmp slt i32 %942, %943
br i1 %944, label %945, label %1038
945: ; preds = %940
%946 = load [4 x i8]*, [4 x i8]** %6
%947 = load i8, i8* %16
%948 = sext i8 %947 to i64
%949 = getelementptr inbounds [4 x i8], [4 x i8]* %946, i64 %948
%950 = load i8, i8* %15
%951 = sext i8 %950 to i64
%952 = getelementptr inbounds [4 x i8], [4 x i8]* %949, i64 0, i64 %951
%953 = load i8, i8* %952
%954 = sext i8 %953 to i32
%955 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%956 = load i16, i16* %955
%957 = sext i16 %956 to i32
%958 = icmp sgt i32 %954, %957
br i1 %958, label %959, label %990
959: ; preds = %945
%960 = load [4 x i8]*, [4 x i8]** %6
%961 = load i8, i8* %16
%962 = sext i8 %961 to i64
%963 = getelementptr inbounds [4 x i8], [4 x i8]* %960, i64 %962
%964 = load i8, i8* %15
%965 = sext i8 %964 to i64
%966 = getelementptr inbounds [4 x i8], [4 x i8]* %963, i64 0, i64 %965
%967 = load i8, i8* %966
%968 = sext i8 %967 to i32
%969 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%970 = load i8, i8* %969
%971 = sext i8 %970 to i32
%972 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%973 = load i8, i8* %972
%974 = sext i8 %973 to i32
%975 = sub nsw i32 %971, %974
%976 = sdiv i32 %975, 28
%977 = sub nsw i32 127, %976
%978 = icmp slt i32 %968, %977
br i1 %978, label %979, label %990
979: ; preds = %959
%980 = load [4 x i8]*, [4 x i8]** %6
%981 = load i8, i8* %16
%982 = sext i8 %981 to i64
%983 = getelementptr inbounds [4 x i8], [4 x i8]* %980, i64 %982
%984 = load i8, i8* %15
%985 = sext i8 %984 to i64
%986 = getelementptr inbounds [4 x i8], [4 x i8]* %983, i64 0, i64 %985
%987 = load i8, i8* %986
%988 = sext i8 %987 to i16
%989 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
store i16 %988, i16* %989
br label %990
990: ; preds = %979, %959, %945
%991 = load [4 x i8]*, [4 x i8]** %6
%992 = load i8, i8* %16
%993 = sext i8 %992 to i64
%994 = getelementptr inbounds [4 x i8], [4 x i8]* %991, i64 %993
%995 = load i8, i8* %15
%996 = sext i8 %995 to i64
%997 = getelementptr inbounds [4 x i8], [4 x i8]* %994, i64 0, i64 %996
%998 = load i8, i8* %997
%999 = sext i8 %998 to i32
%1000 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1001 = load i16, i16* %1000
%1002 = sext i16 %1001 to i32
%1003 = icmp slt i32 %999, %1002
br i1 %1003, label %1004, label %1034
1004: ; preds = %990
%1005 = load [4 x i8]*, [4 x i8]** %6
%1006 = load i8, i8* %16
%1007 = sext i8 %1006 to i64
%1008 = getelementptr inbounds [4 x i8], [4 x i8]* %1005, i64 %1007
%1009 = load i8, i8* %15
%1010 = sext i8 %1009 to i64
%1011 = getelementptr inbounds [4 x i8], [4 x i8]* %1008, i64 0, i64 %1010
%1012 = load i8, i8* %1011
%1013 = sext i8 %1012 to i32
%1014 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%1015 = load i8, i8* %1014
%1016 = sext i8 %1015 to i32
%1017 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%1018 = load i8, i8* %1017
%1019 = sext i8 %1018 to i32
%1020 = sub nsw i32 %1016, %1019
%1021 = sdiv i32 %1020, 28
%1022 = icmp sgt i32 %1013, %1021
br i1 %1022, label %1023, label %1034
1023: ; preds = %1004
%1024 = load [4 x i8]*, [4 x i8]** %6
%1025 = load i8, i8* %16
%1026 = sext i8 %1025 to i64
%1027 = getelementptr inbounds [4 x i8], [4 x i8]* %1024, i64 %1026
%1028 = load i8, i8* %15
%1029 = sext i8 %1028 to i64
%1030 = getelementptr inbounds [4 x i8], [4 x i8]* %1027, i64 0, i64 %1029
%1031 = load i8, i8* %1030
%1032 = sext i8 %1031 to i16
%1033 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
store i16 %1032, i16* %1033
br label %1034
1034: ; preds = %1023, %1004, %990
br label %1035
1035: ; preds = %1034
%1036 = load i8, i8* %15
%1037 = add i8 %1036, 1
store i8 %1037, i8* %15
br label %940
1038: ; preds = %940
br label %1039
1039: ; preds = %1038
%1040 = load i8, i8* %16
%1041 = add i8 %1040, 1
store i8 %1041, i8* %16
br label %934
1042: ; preds = %934
%1043 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1044 = load i16, i16* %1043
%1045 = sext i16 %1044 to i32
%1046 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1047 = load i16, i16* %1046
%1048 = sext i16 %1047 to i32
%1049 = icmp sle i32 %1045, %1048
br i1 %1049, label %1050, label %1053
1050: ; preds = %1042
%1051 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
store i16 -127, i16* %1051
%1052 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
store i16 126, i16* %1052
br label %1053
1053: ; preds = %1050, %1042
store i8 0, i8* %17
br label %1054
1054: ; preds = %1082, %1053
%1055 = load i8, i8* %17
%1056 = sext i8 %1055 to i32
%1057 = icmp slt i32 %1056, 5
br i1 %1057, label %1058, label %1085
1058: ; preds = %1054
%1059 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1060 = load i16, i16* %1059
%1061 = sext i16 %1060 to i32
%1062 = load i8, i8* %17
%1063 = sext i8 %1062 to i32
%1064 = mul nsw i32 2, %1063
%1065 = add nsw i32 %1064, 1
%1066 = sub nsw i32 10, %1065
%1067 = mul nsw i32 %1061, %1066
%1068 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1069 = load i16, i16* %1068
%1070 = sext i16 %1069 to i32
%1071 = load i8, i8* %17
%1072 = sext i8 %1071 to i32
%1073 = mul nsw i32 2, %1072
%1074 = add nsw i32 %1073, 1
%1075 = mul nsw i32 %1070, %1074
%1076 = add nsw i32 %1067, %1075
%1077 = sdiv i32 %1076, 10
%1078 = trunc i32 %1077 to i8
%1079 = load i8, i8* %17
%1080 = sext i8 %1079 to i64
%1081 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 %1080
store i8 %1078, i8* %1081
br label %1082
1082: ; preds = %1058
%1083 = load i8, i8* %17
%1084 = add i8 %1083, 1
store i8 %1084, i8* %17
br label %1054
1085: ; preds = %1054
store i8 0, i8* %16
br label %1086
1086: ; preds = %1483, %1085
%1087 = load i8, i8* %16
%1088 = sext i8 %1087 to i32
%1089 = load i32, i32* %8
%1090 = icmp slt i32 %1088, %1089
br i1 %1090, label %1091, label %1486
1091: ; preds = %1086
store i8 0, i8* %15
br label %1092
1092: ; preds = %1479, %1091
%1093 = load i8, i8* %15
%1094 = sext i8 %1093 to i32
%1095 = load i32, i32* %7
%1096 = icmp slt i32 %1094, %1095
br i1 %1096, label %1097, label %1482
1097: ; preds = %1092
%1098 = load [4 x i8]*, [4 x i8]** %6
%1099 = load i8, i8* %16
%1100 = sext i8 %1099 to i64
%1101 = getelementptr inbounds [4 x i8], [4 x i8]* %1098, i64 %1100
%1102 = load i8, i8* %15
%1103 = sext i8 %1102 to i64
%1104 = getelementptr inbounds [4 x i8], [4 x i8]* %1101, i64 0, i64 %1103
%1105 = load i8, i8* %1104
%1106 = sext i8 %1105 to i32
%1107 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1108 = load i16, i16* %1107
%1109 = sext i16 %1108 to i32
%1110 = sdiv i32 %1109, 2
%1111 = icmp sle i32 %1106, %1110
br i1 %1111, label %1112, label %1113
1112: ; preds = %1097
br label %1478
1113: ; preds = %1097
%1114 = load [4 x i8]*, [4 x i8]** %6
%1115 = load i8, i8* %16
%1116 = sext i8 %1115 to i64
%1117 = getelementptr inbounds [4 x i8], [4 x i8]* %1114, i64 %1116
%1118 = load i8, i8* %15
%1119 = sext i8 %1118 to i64
%1120 = getelementptr inbounds [4 x i8], [4 x i8]* %1117, i64 0, i64 %1119
%1121 = load i8, i8* %1120
%1122 = sext i8 %1121 to i32
%1123 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1124 = load i16, i16* %1123
%1125 = sext i16 %1124 to i32
%1126 = add nsw i32 127, %1125
%1127 = sdiv i32 %1126, 2
%1128 = icmp sgt i32 %1122, %1127
br i1 %1128, label %1129, label %1130
1129: ; preds = %1113
br label %1477
1130: ; preds = %1113
%1131 = load [4 x i8]*, [4 x i8]** %6
%1132 = load i8, i8* %16
%1133 = sext i8 %1132 to i64
%1134 = getelementptr inbounds [4 x i8], [4 x i8]* %1131, i64 %1133
%1135 = load i8, i8* %15
%1136 = sext i8 %1135 to i64
%1137 = getelementptr inbounds [4 x i8], [4 x i8]* %1134, i64 0, i64 %1136
%1138 = load i8, i8* %1137
%1139 = sext i8 %1138 to i32
%1140 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 0
%1141 = load i8, i8* %1140
%1142 = sext i8 %1141 to i32
%1143 = icmp sle i32 %1139, %1142
br i1 %1143, label %1144, label %1166
1144: ; preds = %1130
%1145 = load [4 x i8]*, [4 x i8]** %6
%1146 = load i8, i8* %16
%1147 = sext i8 %1146 to i64
%1148 = getelementptr inbounds [4 x i8], [4 x i8]* %1145, i64 %1147
%1149 = load i8, i8* %15
%1150 = sext i8 %1149 to i64
%1151 = getelementptr inbounds [4 x i8], [4 x i8]* %1148, i64 0, i64 %1150
%1152 = load i8, i8* %1151
%1153 = sext i8 %1152 to i32
%1154 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1155 = load i16, i16* %1154
%1156 = sext i16 %1155 to i32
%1157 = sub nsw i32 %1153, %1156
%1158 = load i16, i16* %25
%1159 = sext i16 %1158 to i32
%1160 = add nsw i32 %1159, %1157
%1161 = trunc i32 %1160 to i16
store i16 %1161, i16* %25
%1162 = load i8, i8* %27
%1163 = sext i8 %1162 to i32
%1164 = add nsw i32 %1163, 1
%1165 = trunc i32 %1164 to i8
store i8 %1165, i8* %27
br label %1476
1166: ; preds = %1130
%1167 = load [4 x i8]*, [4 x i8]** %6
%1168 = load i8, i8* %16
%1169 = sext i8 %1168 to i64
%1170 = getelementptr inbounds [4 x i8], [4 x i8]* %1167, i64 %1169
%1171 = load i8, i8* %15
%1172 = sext i8 %1171 to i64
%1173 = getelementptr inbounds [4 x i8], [4 x i8]* %1170, i64 0, i64 %1172
%1174 = load i8, i8* %1173
%1175 = sext i8 %1174 to i32
%1176 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 1
%1177 = load i8, i8* %1176
%1178 = sext i8 %1177 to i32
%1179 = icmp sle i32 %1175, %1178
br i1 %1179, label %1180, label %1237
1180: ; preds = %1166
%1181 = load [4 x i8]*, [4 x i8]** %6
%1182 = load i8, i8* %16
%1183 = sext i8 %1182 to i64
%1184 = getelementptr inbounds [4 x i8], [4 x i8]* %1181, i64 %1183
%1185 = load i8, i8* %15
%1186 = sext i8 %1185 to i64
%1187 = getelementptr inbounds [4 x i8], [4 x i8]* %1184, i64 0, i64 %1186
%1188 = load i8, i8* %1187
%1189 = sext i8 %1188 to i32
%1190 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1191 = load i16, i16* %1190
%1192 = sext i16 %1191 to i32
%1193 = mul nsw i32 %1192, 4
%1194 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1195 = load i16, i16* %1194
%1196 = sext i16 %1195 to i32
%1197 = mul nsw i32 %1196, 1
%1198 = add nsw i32 %1193, %1197
%1199 = sdiv i32 %1198, 5
%1200 = sub nsw i32 %1189, %1199
%1201 = load i16, i16* %25
%1202 = sext i16 %1201 to i32
%1203 = add nsw i32 %1202, %1200
%1204 = trunc i32 %1203 to i16
store i16 %1204, i16* %25
%1205 = load [4 x i8]*, [4 x i8]** %6
%1206 = load i8, i8* %16
%1207 = sext i8 %1206 to i64
%1208 = getelementptr inbounds [4 x i8], [4 x i8]* %1205, i64 %1207
%1209 = load i8, i8* %15
%1210 = sext i8 %1209 to i64
%1211 = getelementptr inbounds [4 x i8], [4 x i8]* %1208, i64 0, i64 %1210
%1212 = load i8, i8* %1211
%1213 = sext i8 %1212 to i32
%1214 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1215 = load i16, i16* %1214
%1216 = sext i16 %1215 to i32
%1217 = mul nsw i32 %1216, 4
%1218 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1219 = load i16, i16* %1218
%1220 = sext i16 %1219 to i32
%1221 = mul nsw i32 %1220, 1
%1222 = add nsw i32 %1217, %1221
%1223 = sdiv i32 %1222, 5
%1224 = sub nsw i32 %1213, %1223
%1225 = load i16, i16* %26
%1226 = sext i16 %1225 to i32
%1227 = add nsw i32 %1226, %1224
%1228 = trunc i32 %1227 to i16
store i16 %1228, i16* %26
%1229 = load i8, i8* %27
%1230 = sext i8 %1229 to i32
%1231 = add nsw i32 %1230, 1
%1232 = trunc i32 %1231 to i8
store i8 %1232, i8* %27
%1233 = load i8, i8* %28
%1234 = sext i8 %1233 to i32
%1235 = add nsw i32 %1234, 1
%1236 = trunc i32 %1235 to i8
store i8 %1236, i8* %28
br label %1475
1237: ; preds = %1166
%1238 = load [4 x i8]*, [4 x i8]** %6
%1239 = load i8, i8* %16
%1240 = sext i8 %1239 to i64
%1241 = getelementptr inbounds [4 x i8], [4 x i8]* %1238, i64 %1240
%1242 = load i8, i8* %15
%1243 = sext i8 %1242 to i64
%1244 = getelementptr inbounds [4 x i8], [4 x i8]* %1241, i64 0, i64 %1243
%1245 = load i8, i8* %1244
%1246 = sext i8 %1245 to i32
%1247 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 2
%1248 = load i8, i8* %1247
%1249 = sext i8 %1248 to i32
%1250 = icmp sle i32 %1246, %1249
br i1 %1250, label %1251, label %1308
1251: ; preds = %1237
%1252 = load [4 x i8]*, [4 x i8]** %6
%1253 = load i8, i8* %16
%1254 = sext i8 %1253 to i64
%1255 = getelementptr inbounds [4 x i8], [4 x i8]* %1252, i64 %1254
%1256 = load i8, i8* %15
%1257 = sext i8 %1256 to i64
%1258 = getelementptr inbounds [4 x i8], [4 x i8]* %1255, i64 0, i64 %1257
%1259 = load i8, i8* %1258
%1260 = sext i8 %1259 to i32
%1261 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1262 = load i16, i16* %1261
%1263 = sext i16 %1262 to i32
%1264 = mul nsw i32 %1263, 3
%1265 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1266 = load i16, i16* %1265
%1267 = sext i16 %1266 to i32
%1268 = mul nsw i32 %1267, 2
%1269 = add nsw i32 %1264, %1268
%1270 = sdiv i32 %1269, 5
%1271 = sub nsw i32 %1260, %1270
%1272 = load i16, i16* %25
%1273 = sext i16 %1272 to i32
%1274 = add nsw i32 %1273, %1271
%1275 = trunc i32 %1274 to i16
store i16 %1275, i16* %25
%1276 = load [4 x i8]*, [4 x i8]** %6
%1277 = load i8, i8* %16
%1278 = sext i8 %1277 to i64
%1279 = getelementptr inbounds [4 x i8], [4 x i8]* %1276, i64 %1278
%1280 = load i8, i8* %15
%1281 = sext i8 %1280 to i64
%1282 = getelementptr inbounds [4 x i8], [4 x i8]* %1279, i64 0, i64 %1281
%1283 = load i8, i8* %1282
%1284 = sext i8 %1283 to i32
%1285 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1286 = load i16, i16* %1285
%1287 = sext i16 %1286 to i32
%1288 = mul nsw i32 %1287, 3
%1289 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1290 = load i16, i16* %1289
%1291 = sext i16 %1290 to i32
%1292 = mul nsw i32 %1291, 2
%1293 = add nsw i32 %1288, %1292
%1294 = sdiv i32 %1293, 5
%1295 = sub nsw i32 %1284, %1294
%1296 = load i16, i16* %26
%1297 = sext i16 %1296 to i32
%1298 = add nsw i32 %1297, %1295
%1299 = trunc i32 %1298 to i16
store i16 %1299, i16* %26
%1300 = load i8, i8* %27
%1301 = sext i8 %1300 to i32
%1302 = add nsw i32 %1301, 1
%1303 = trunc i32 %1302 to i8
store i8 %1303, i8* %27
%1304 = load i8, i8* %28
%1305 = sext i8 %1304 to i32
%1306 = add nsw i32 %1305, 1
%1307 = trunc i32 %1306 to i8
store i8 %1307, i8* %28
br label %1474
1308: ; preds = %1237
%1309 = load [4 x i8]*, [4 x i8]** %6
%1310 = load i8, i8* %16
%1311 = sext i8 %1310 to i64
%1312 = getelementptr inbounds [4 x i8], [4 x i8]* %1309, i64 %1311
%1313 = load i8, i8* %15
%1314 = sext i8 %1313 to i64
%1315 = getelementptr inbounds [4 x i8], [4 x i8]* %1312, i64 0, i64 %1314
%1316 = load i8, i8* %1315
%1317 = sext i8 %1316 to i32
%1318 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 3
%1319 = load i8, i8* %1318
%1320 = sext i8 %1319 to i32
%1321 = icmp sle i32 %1317, %1320
br i1 %1321, label %1322, label %1379
1322: ; preds = %1308
%1323 = load [4 x i8]*, [4 x i8]** %6
%1324 = load i8, i8* %16
%1325 = sext i8 %1324 to i64
%1326 = getelementptr inbounds [4 x i8], [4 x i8]* %1323, i64 %1325
%1327 = load i8, i8* %15
%1328 = sext i8 %1327 to i64
%1329 = getelementptr inbounds [4 x i8], [4 x i8]* %1326, i64 0, i64 %1328
%1330 = load i8, i8* %1329
%1331 = sext i8 %1330 to i32
%1332 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1333 = load i16, i16* %1332
%1334 = sext i16 %1333 to i32
%1335 = mul nsw i32 %1334, 2
%1336 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1337 = load i16, i16* %1336
%1338 = sext i16 %1337 to i32
%1339 = mul nsw i32 %1338, 3
%1340 = add nsw i32 %1335, %1339
%1341 = sdiv i32 %1340, 5
%1342 = sub nsw i32 %1331, %1341
%1343 = load i16, i16* %25
%1344 = sext i16 %1343 to i32
%1345 = add nsw i32 %1344, %1342
%1346 = trunc i32 %1345 to i16
store i16 %1346, i16* %25
%1347 = load [4 x i8]*, [4 x i8]** %6
%1348 = load i8, i8* %16
%1349 = sext i8 %1348 to i64
%1350 = getelementptr inbounds [4 x i8], [4 x i8]* %1347, i64 %1349
%1351 = load i8, i8* %15
%1352 = sext i8 %1351 to i64
%1353 = getelementptr inbounds [4 x i8], [4 x i8]* %1350, i64 0, i64 %1352
%1354 = load i8, i8* %1353
%1355 = sext i8 %1354 to i32
%1356 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1357 = load i16, i16* %1356
%1358 = sext i16 %1357 to i32
%1359 = mul nsw i32 %1358, 2
%1360 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1361 = load i16, i16* %1360
%1362 = sext i16 %1361 to i32
%1363 = mul nsw i32 %1362, 3
%1364 = add nsw i32 %1359, %1363
%1365 = sdiv i32 %1364, 5
%1366 = sub nsw i32 %1355, %1365
%1367 = load i16, i16* %26
%1368 = sext i16 %1367 to i32
%1369 = add nsw i32 %1368, %1366
%1370 = trunc i32 %1369 to i16
store i16 %1370, i16* %26
%1371 = load i8, i8* %27
%1372 = sext i8 %1371 to i32
%1373 = add nsw i32 %1372, 1
%1374 = trunc i32 %1373 to i8
store i8 %1374, i8* %27
%1375 = load i8, i8* %28
%1376 = sext i8 %1375 to i32
%1377 = add nsw i32 %1376, 1
%1378 = trunc i32 %1377 to i8
store i8 %1378, i8* %28
br label %1473
1379: ; preds = %1308
%1380 = load [4 x i8]*, [4 x i8]** %6
%1381 = load i8, i8* %16
%1382 = sext i8 %1381 to i64
%1383 = getelementptr inbounds [4 x i8], [4 x i8]* %1380, i64 %1382
%1384 = load i8, i8* %15
%1385 = sext i8 %1384 to i64
%1386 = getelementptr inbounds [4 x i8], [4 x i8]* %1383, i64 0, i64 %1385
%1387 = load i8, i8* %1386
%1388 = sext i8 %1387 to i32
%1389 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 4
%1390 = load i8, i8* %1389
%1391 = sext i8 %1390 to i32
%1392 = icmp sle i32 %1388, %1391
br i1 %1392, label %1393, label %1450
1393: ; preds = %1379
%1394 = load [4 x i8]*, [4 x i8]** %6
%1395 = load i8, i8* %16
%1396 = sext i8 %1395 to i64
%1397 = getelementptr inbounds [4 x i8], [4 x i8]* %1394, i64 %1396
%1398 = load i8, i8* %15
%1399 = sext i8 %1398 to i64
%1400 = getelementptr inbounds [4 x i8], [4 x i8]* %1397, i64 0, i64 %1399
%1401 = load i8, i8* %1400
%1402 = sext i8 %1401 to i32
%1403 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1404 = load i16, i16* %1403
%1405 = sext i16 %1404 to i32
%1406 = mul nsw i32 %1405, 1
%1407 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1408 = load i16, i16* %1407
%1409 = sext i16 %1408 to i32
%1410 = mul nsw i32 %1409, 4
%1411 = add nsw i32 %1406, %1410
%1412 = sdiv i32 %1411, 5
%1413 = sub nsw i32 %1402, %1412
%1414 = load i16, i16* %25
%1415 = sext i16 %1414 to i32
%1416 = add nsw i32 %1415, %1413
%1417 = trunc i32 %1416 to i16
store i16 %1417, i16* %25
%1418 = load [4 x i8]*, [4 x i8]** %6
%1419 = load i8, i8* %16
%1420 = sext i8 %1419 to i64
%1421 = getelementptr inbounds [4 x i8], [4 x i8]* %1418, i64 %1420
%1422 = load i8, i8* %15
%1423 = sext i8 %1422 to i64
%1424 = getelementptr inbounds [4 x i8], [4 x i8]* %1421, i64 0, i64 %1423
%1425 = load i8, i8* %1424
%1426 = sext i8 %1425 to i32
%1427 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1428 = load i16, i16* %1427
%1429 = sext i16 %1428 to i32
%1430 = mul nsw i32 %1429, 1
%1431 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1432 = load i16, i16* %1431
%1433 = sext i16 %1432 to i32
%1434 = mul nsw i32 %1433, 4
%1435 = add nsw i32 %1430, %1434
%1436 = sdiv i32 %1435, 5
%1437 = sub nsw i32 %1426, %1436
%1438 = load i16, i16* %26
%1439 = sext i16 %1438 to i32
%1440 = add nsw i32 %1439, %1437
%1441 = trunc i32 %1440 to i16
store i16 %1441, i16* %26
%1442 = load i8, i8* %27
%1443 = sext i8 %1442 to i32
%1444 = add nsw i32 %1443, 1
%1445 = trunc i32 %1444 to i8
store i8 %1445, i8* %27
%1446 = load i8, i8* %28
%1447 = sext i8 %1446 to i32
%1448 = add nsw i32 %1447, 1
%1449 = trunc i32 %1448 to i8
store i8 %1449, i8* %28
br label %1472
1450: ; preds = %1379
%1451 = load [4 x i8]*, [4 x i8]** %6
%1452 = load i8, i8* %16
%1453 = sext i8 %1452 to i64
%1454 = getelementptr inbounds [4 x i8], [4 x i8]* %1451, i64 %1453
%1455 = load i8, i8* %15
%1456 = sext i8 %1455 to i64
%1457 = getelementptr inbounds [4 x i8], [4 x i8]* %1454, i64 0, i64 %1456
%1458 = load i8, i8* %1457
%1459 = sext i8 %1458 to i32
%1460 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1461 = load i16, i16* %1460
%1462 = sext i16 %1461 to i32
%1463 = sub nsw i32 %1459, %1462
%1464 = load i16, i16* %26
%1465 = sext i16 %1464 to i32
%1466 = add nsw i32 %1465, %1463
%1467 = trunc i32 %1466 to i16
store i16 %1467, i16* %26
%1468 = load i8, i8* %28
%1469 = sext i8 %1468 to i32
%1470 = add nsw i32 %1469, 1
%1471 = trunc i32 %1470 to i8
store i8 %1471, i8* %28
br label %1472
1472: ; preds = %1450, %1393
br label %1473
1473: ; preds = %1472, %1322
br label %1474
1474: ; preds = %1473, %1251
br label %1475
1475: ; preds = %1474, %1180
br label %1476
1476: ; preds = %1475, %1144
br label %1477
1477: ; preds = %1476, %1129
br label %1478
1478: ; preds = %1477, %1112
br label %1479
1479: ; preds = %1478
%1480 = load i8, i8* %15
%1481 = add i8 %1480, 1
store i8 %1481, i8* %15
br label %1092
1482: ; preds = %1092
br label %1483
1483: ; preds = %1482
%1484 = load i8, i8* %16
%1485 = add i8 %1484, 1
store i8 %1485, i8* %16
br label %1086
1486: ; preds = %1086
%1487 = load i8, i8* %27
%1488 = sext i8 %1487 to i32
%1489 = icmp eq i32 %1488, 0
br i1 %1489, label %1490, label %1491
1490: ; preds = %1486
store i8 1, i8* %27
br label %1491
1491: ; preds = %1490, %1486
%1492 = load i8, i8* %28
%1493 = sext i8 %1492 to i32
%1494 = icmp eq i32 %1493, 0
br i1 %1494, label %1495, label %1496
1495: ; preds = %1491
store i8 1, i8* %28
br label %1496
1496: ; preds = %1495, %1491
%1497 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1498 = load i16, i16* %1497
%1499 = sext i16 %1498 to i32
%1500 = load i16, i16* %25
%1501 = sext i16 %1500 to i32
%1502 = load i8, i8* %27
%1503 = sext i8 %1502 to i32
%1504 = sdiv i32 %1501, %1503
%1505 = add nsw i32 %1499, %1504
%1506 = trunc i32 %1505 to i16
%1507 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
store i16 %1506, i16* %1507
%1508 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1509 = load i16, i16* %1508
%1510 = sext i16 %1509 to i32
%1511 = icmp slt i32 %1510, -128
br i1 %1511, label %1512, label %1514
1512: ; preds = %1496
%1513 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
store i16 -128, i16* %1513
br label %1514
1514: ; preds = %1512, %1496
%1515 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1516 = load i16, i16* %1515
%1517 = sext i16 %1516 to i32
%1518 = load i16, i16* %26
%1519 = sext i16 %1518 to i32
%1520 = load i8, i8* %28
%1521 = sext i8 %1520 to i32
%1522 = sdiv i32 %1519, %1521
%1523 = add nsw i32 %1517, %1522
%1524 = trunc i32 %1523 to i16
%1525 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
store i16 %1524, i16* %1525
%1526 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1527 = load i16, i16* %1526
%1528 = sext i16 %1527 to i32
%1529 = icmp sgt i32 %1528, 127
br i1 %1529, label %1530, label %1532
1530: ; preds = %1514
%1531 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
store i16 127, i16* %1531
br label %1532
1532: ; preds = %1530, %1514
store i32 0, i32* %14
store i8 0, i8* %17
br label %1533
1533: ; preds = %1561, %1532
%1534 = load i8, i8* %17
%1535 = sext i8 %1534 to i32
%1536 = icmp slt i32 %1535, 5
br i1 %1536, label %1537, label %1564
1537: ; preds = %1533
%1538 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1539 = load i16, i16* %1538
%1540 = sext i16 %1539 to i32
%1541 = load i8, i8* %17
%1542 = sext i8 %1541 to i32
%1543 = mul nsw i32 2, %1542
%1544 = add nsw i32 %1543, 1
%1545 = sub nsw i32 10, %1544
%1546 = mul nsw i32 %1540, %1545
%1547 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1548 = load i16, i16* %1547
%1549 = sext i16 %1548 to i32
%1550 = load i8, i8* %17
%1551 = sext i8 %1550 to i32
%1552 = mul nsw i32 2, %1551
%1553 = add nsw i32 %1552, 1
%1554 = mul nsw i32 %1549, %1553
%1555 = add nsw i32 %1546, %1554
%1556 = sdiv i32 %1555, 10
%1557 = trunc i32 %1556 to i8
%1558 = load i8, i8* %17
%1559 = sext i8 %1558 to i64
%1560 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 %1559
store i8 %1557, i8* %1560
br label %1561
1561: ; preds = %1537
%1562 = load i8, i8* %17
%1563 = add i8 %1562, 1
store i8 %1563, i8* %17
br label %1533
1564: ; preds = %1533
store i8 0, i8* %16
br label %1565
1565: ; preds = %1899, %1564
%1566 = load i8, i8* %16
%1567 = sext i8 %1566 to i32
%1568 = load i32, i32* %8
%1569 = icmp slt i32 %1567, %1568
br i1 %1569, label %1570, label %1902
1570: ; preds = %1565
store i8 0, i8* %15
br label %1571
1571: ; preds = %1895, %1570
%1572 = load i8, i8* %15
%1573 = sext i8 %1572 to i32
%1574 = load i32, i32* %7
%1575 = icmp slt i32 %1573, %1574
br i1 %1575, label %1576, label %1898
1576: ; preds = %1571
%1577 = load [4 x i8]*, [4 x i8]** %6
%1578 = load i8, i8* %16
%1579 = sext i8 %1578 to i64
%1580 = getelementptr inbounds [4 x i8], [4 x i8]* %1577, i64 %1579
%1581 = load i8, i8* %15
%1582 = sext i8 %1581 to i64
%1583 = getelementptr inbounds [4 x i8], [4 x i8]* %1580, i64 0, i64 %1582
%1584 = load i8, i8* %1583
%1585 = sext i8 %1584 to i32
%1586 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1587 = load i16, i16* %1586
%1588 = sext i16 %1587 to i32
%1589 = sdiv i32 %1588, 2
%1590 = icmp sle i32 %1585, %1589
br i1 %1590, label %1591, label %1609
1591: ; preds = %1576
%1592 = load i8, i8* %16
%1593 = sext i8 %1592 to i32
%1594 = mul nsw i32 4, %1593
%1595 = load i8, i8* %15
%1596 = sext i8 %1595 to i32
%1597 = add nsw i32 %1594, %1596
%1598 = sext i32 %1597 to i64
%1599 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 %1598
store i8 6, i8* %1599
%1600 = load [4 x i8]*, [4 x i8]** %6
%1601 = load i8, i8* %16
%1602 = sext i8 %1601 to i64
%1603 = getelementptr inbounds [4 x i8], [4 x i8]* %1600, i64 %1602
%1604 = load i8, i8* %15
%1605 = sext i8 %1604 to i64
%1606 = getelementptr inbounds [4 x i8], [4 x i8]* %1603, i64 0, i64 %1605
%1607 = load i8, i8* %1606
%1608 = sext i8 %1607 to i16
store i16 %1608, i16* %24
br label %1887
1609: ; preds = %1576
%1610 = load [4 x i8]*, [4 x i8]** %6
%1611 = load i8, i8* %16
%1612 = sext i8 %1611 to i64
%1613 = getelementptr inbounds [4 x i8], [4 x i8]* %1610, i64 %1612
%1614 = load i8, i8* %15
%1615 = sext i8 %1614 to i64
%1616 = getelementptr inbounds [4 x i8], [4 x i8]* %1613, i64 0, i64 %1615
%1617 = load i8, i8* %1616
%1618 = sext i8 %1617 to i32
%1619 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1620 = load i16, i16* %1619
%1621 = sext i16 %1620 to i32
%1622 = add nsw i32 127, %1621
%1623 = sdiv i32 %1622, 2
%1624 = icmp sgt i32 %1618, %1623
br i1 %1624, label %1625, label %1645
1625: ; preds = %1609
%1626 = load i8, i8* %16
%1627 = sext i8 %1626 to i32
%1628 = mul nsw i32 4, %1627
%1629 = load i8, i8* %15
%1630 = sext i8 %1629 to i32
%1631 = add nsw i32 %1628, %1630
%1632 = sext i32 %1631 to i64
%1633 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 %1632
store i8 7, i8* %1633
%1634 = load [4 x i8]*, [4 x i8]** %6
%1635 = load i8, i8* %16
%1636 = sext i8 %1635 to i64
%1637 = getelementptr inbounds [4 x i8], [4 x i8]* %1634, i64 %1636
%1638 = load i8, i8* %15
%1639 = sext i8 %1638 to i64
%1640 = getelementptr inbounds [4 x i8], [4 x i8]* %1637, i64 0, i64 %1639
%1641 = load i8, i8* %1640
%1642 = sext i8 %1641 to i32
%1643 = sub nsw i32 127, %1642
%1644 = trunc i32 %1643 to i16
store i16 %1644, i16* %24
br label %1886
1645: ; preds = %1609
%1646 = load [4 x i8]*, [4 x i8]** %6
%1647 = load i8, i8* %16
%1648 = sext i8 %1647 to i64
%1649 = getelementptr inbounds [4 x i8], [4 x i8]* %1646, i64 %1648
%1650 = load i8, i8* %15
%1651 = sext i8 %1650 to i64
%1652 = getelementptr inbounds [4 x i8], [4 x i8]* %1649, i64 0, i64 %1651
%1653 = load i8, i8* %1652
%1654 = sext i8 %1653 to i32
%1655 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 0
%1656 = load i8, i8* %1655
%1657 = sext i8 %1656 to i32
%1658 = icmp sle i32 %1654, %1657
br i1 %1658, label %1659, label %1682
1659: ; preds = %1645
%1660 = load i8, i8* %16
%1661 = sext i8 %1660 to i32
%1662 = mul nsw i32 4, %1661
%1663 = load i8, i8* %15
%1664 = sext i8 %1663 to i32
%1665 = add nsw i32 %1662, %1664
%1666 = sext i32 %1665 to i64
%1667 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 %1666
store i8 0, i8* %1667
%1668 = load [4 x i8]*, [4 x i8]** %6
%1669 = load i8, i8* %16
%1670 = sext i8 %1669 to i64
%1671 = getelementptr inbounds [4 x i8], [4 x i8]* %1668, i64 %1670
%1672 = load i8, i8* %15
%1673 = sext i8 %1672 to i64
%1674 = getelementptr inbounds [4 x i8], [4 x i8]* %1671, i64 0, i64 %1673
%1675 = load i8, i8* %1674
%1676 = sext i8 %1675 to i32
%1677 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1678 = load i16, i16* %1677
%1679 = sext i16 %1678 to i32
%1680 = sub nsw i32 %1676, %1679
%1681 = trunc i32 %1680 to i16
store i16 %1681, i16* %24
br label %1885
1682: ; preds = %1645
%1683 = load [4 x i8]*, [4 x i8]** %6
%1684 = load i8, i8* %16
%1685 = sext i8 %1684 to i64
%1686 = getelementptr inbounds [4 x i8], [4 x i8]* %1683, i64 %1685
%1687 = load i8, i8* %15
%1688 = sext i8 %1687 to i64
%1689 = getelementptr inbounds [4 x i8], [4 x i8]* %1686, i64 0, i64 %1688
%1690 = load i8, i8* %1689
%1691 = sext i8 %1690 to i32
%1692 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 1
%1693 = load i8, i8* %1692
%1694 = sext i8 %1693 to i32
%1695 = icmp sle i32 %1691, %1694
br i1 %1695, label %1696, label %1726
1696: ; preds = %1682
%1697 = load i8, i8* %16
%1698 = sext i8 %1697 to i32
%1699 = mul nsw i32 4, %1698
%1700 = load i8, i8* %15
%1701 = sext i8 %1700 to i32
%1702 = add nsw i32 %1699, %1701
%1703 = sext i32 %1702 to i64
%1704 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 %1703
store i8 2, i8* %1704
%1705 = load [4 x i8]*, [4 x i8]** %6
%1706 = load i8, i8* %16
%1707 = sext i8 %1706 to i64
%1708 = getelementptr inbounds [4 x i8], [4 x i8]* %1705, i64 %1707
%1709 = load i8, i8* %15
%1710 = sext i8 %1709 to i64
%1711 = getelementptr inbounds [4 x i8], [4 x i8]* %1708, i64 0, i64 %1710
%1712 = load i8, i8* %1711
%1713 = sext i8 %1712 to i32
%1714 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1715 = load i16, i16* %1714
%1716 = sext i16 %1715 to i32
%1717 = mul nsw i32 %1716, 4
%1718 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1719 = load i16, i16* %1718
%1720 = sext i16 %1719 to i32
%1721 = mul nsw i32 %1720, 1
%1722 = add nsw i32 %1717, %1721
%1723 = sdiv i32 %1722, 5
%1724 = sub nsw i32 %1713, %1723
%1725 = trunc i32 %1724 to i16
store i16 %1725, i16* %24
br label %1884
1726: ; preds = %1682
%1727 = load [4 x i8]*, [4 x i8]** %6
%1728 = load i8, i8* %16
%1729 = sext i8 %1728 to i64
%1730 = getelementptr inbounds [4 x i8], [4 x i8]* %1727, i64 %1729
%1731 = load i8, i8* %15
%1732 = sext i8 %1731 to i64
%1733 = getelementptr inbounds [4 x i8], [4 x i8]* %1730, i64 0, i64 %1732
%1734 = load i8, i8* %1733
%1735 = sext i8 %1734 to i32
%1736 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 2
%1737 = load i8, i8* %1736
%1738 = sext i8 %1737 to i32
%1739 = icmp sle i32 %1735, %1738
br i1 %1739, label %1740, label %1770
1740: ; preds = %1726
%1741 = load i8, i8* %16
%1742 = sext i8 %1741 to i32
%1743 = mul nsw i32 4, %1742
%1744 = load i8, i8* %15
%1745 = sext i8 %1744 to i32
%1746 = add nsw i32 %1743, %1745
%1747 = sext i32 %1746 to i64
%1748 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 %1747
store i8 3, i8* %1748
%1749 = load [4 x i8]*, [4 x i8]** %6
%1750 = load i8, i8* %16
%1751 = sext i8 %1750 to i64
%1752 = getelementptr inbounds [4 x i8], [4 x i8]* %1749, i64 %1751
%1753 = load i8, i8* %15
%1754 = sext i8 %1753 to i64
%1755 = getelementptr inbounds [4 x i8], [4 x i8]* %1752, i64 0, i64 %1754
%1756 = load i8, i8* %1755
%1757 = sext i8 %1756 to i32
%1758 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1759 = load i16, i16* %1758
%1760 = sext i16 %1759 to i32
%1761 = mul nsw i32 %1760, 3
%1762 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1763 = load i16, i16* %1762
%1764 = sext i16 %1763 to i32
%1765 = mul nsw i32 %1764, 2
%1766 = add nsw i32 %1761, %1765
%1767 = sdiv i32 %1766, 5
%1768 = sub nsw i32 %1757, %1767
%1769 = trunc i32 %1768 to i16
store i16 %1769, i16* %24
br label %1883
1770: ; preds = %1726
%1771 = load [4 x i8]*, [4 x i8]** %6
%1772 = load i8, i8* %16
%1773 = sext i8 %1772 to i64
%1774 = getelementptr inbounds [4 x i8], [4 x i8]* %1771, i64 %1773
%1775 = load i8, i8* %15
%1776 = sext i8 %1775 to i64
%1777 = getelementptr inbounds [4 x i8], [4 x i8]* %1774, i64 0, i64 %1776
%1778 = load i8, i8* %1777
%1779 = sext i8 %1778 to i32
%1780 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 3
%1781 = load i8, i8* %1780
%1782 = sext i8 %1781 to i32
%1783 = icmp sle i32 %1779, %1782
br i1 %1783, label %1784, label %1814
1784: ; preds = %1770
%1785 = load i8, i8* %16
%1786 = sext i8 %1785 to i32
%1787 = mul nsw i32 4, %1786
%1788 = load i8, i8* %15
%1789 = sext i8 %1788 to i32
%1790 = add nsw i32 %1787, %1789
%1791 = sext i32 %1790 to i64
%1792 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 %1791
store i8 4, i8* %1792
%1793 = load [4 x i8]*, [4 x i8]** %6
%1794 = load i8, i8* %16
%1795 = sext i8 %1794 to i64
%1796 = getelementptr inbounds [4 x i8], [4 x i8]* %1793, i64 %1795
%1797 = load i8, i8* %15
%1798 = sext i8 %1797 to i64
%1799 = getelementptr inbounds [4 x i8], [4 x i8]* %1796, i64 0, i64 %1798
%1800 = load i8, i8* %1799
%1801 = sext i8 %1800 to i32
%1802 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1803 = load i16, i16* %1802
%1804 = sext i16 %1803 to i32
%1805 = mul nsw i32 %1804, 2
%1806 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1807 = load i16, i16* %1806
%1808 = sext i16 %1807 to i32
%1809 = mul nsw i32 %1808, 3
%1810 = add nsw i32 %1805, %1809
%1811 = sdiv i32 %1810, 5
%1812 = sub nsw i32 %1801, %1811
%1813 = trunc i32 %1812 to i16
store i16 %1813, i16* %24
br label %1882
1814: ; preds = %1770
%1815 = load [4 x i8]*, [4 x i8]** %6
%1816 = load i8, i8* %16
%1817 = sext i8 %1816 to i64
%1818 = getelementptr inbounds [4 x i8], [4 x i8]* %1815, i64 %1817
%1819 = load i8, i8* %15
%1820 = sext i8 %1819 to i64
%1821 = getelementptr inbounds [4 x i8], [4 x i8]* %1818, i64 0, i64 %1820
%1822 = load i8, i8* %1821
%1823 = sext i8 %1822 to i32
%1824 = getelementptr inbounds [7 x i8], [7 x i8]* %18, i64 0, i64 4
%1825 = load i8, i8* %1824
%1826 = sext i8 %1825 to i32
%1827 = icmp sle i32 %1823, %1826
br i1 %1827, label %1828, label %1858
1828: ; preds = %1814
%1829 = load i8, i8* %16
%1830 = sext i8 %1829 to i32
%1831 = mul nsw i32 4, %1830
%1832 = load i8, i8* %15
%1833 = sext i8 %1832 to i32
%1834 = add nsw i32 %1831, %1833
%1835 = sext i32 %1834 to i64
%1836 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 %1835
store i8 5, i8* %1836
%1837 = load [4 x i8]*, [4 x i8]** %6
%1838 = load i8, i8* %16
%1839 = sext i8 %1838 to i64
%1840 = getelementptr inbounds [4 x i8], [4 x i8]* %1837, i64 %1839
%1841 = load i8, i8* %15
%1842 = sext i8 %1841 to i64
%1843 = getelementptr inbounds [4 x i8], [4 x i8]* %1840, i64 0, i64 %1842
%1844 = load i8, i8* %1843
%1845 = sext i8 %1844 to i32
%1846 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1847 = load i16, i16* %1846
%1848 = sext i16 %1847 to i32
%1849 = mul nsw i32 %1848, 1
%1850 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1851 = load i16, i16* %1850
%1852 = sext i16 %1851 to i32
%1853 = mul nsw i32 %1852, 4
%1854 = add nsw i32 %1849, %1853
%1855 = sdiv i32 %1854, 5
%1856 = sub nsw i32 %1845, %1855
%1857 = trunc i32 %1856 to i16
store i16 %1857, i16* %24
br label %1881
1858: ; preds = %1814
%1859 = load i8, i8* %16
%1860 = sext i8 %1859 to i32
%1861 = mul nsw i32 4, %1860
%1862 = load i8, i8* %15
%1863 = sext i8 %1862 to i32
%1864 = add nsw i32 %1861, %1863
%1865 = sext i32 %1864 to i64
%1866 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 %1865
store i8 1, i8* %1866
%1867 = load [4 x i8]*, [4 x i8]** %6
%1868 = load i8, i8* %16
%1869 = sext i8 %1868 to i64
%1870 = getelementptr inbounds [4 x i8], [4 x i8]* %1867, i64 %1869
%1871 = load i8, i8* %15
%1872 = sext i8 %1871 to i64
%1873 = getelementptr inbounds [4 x i8], [4 x i8]* %1870, i64 0, i64 %1872
%1874 = load i8, i8* %1873
%1875 = sext i8 %1874 to i32
%1876 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1877 = load i16, i16* %1876
%1878 = sext i16 %1877 to i32
%1879 = sub nsw i32 %1875, %1878
%1880 = trunc i32 %1879 to i16
store i16 %1880, i16* %24
br label %1881
1881: ; preds = %1858, %1828
br label %1882
1882: ; preds = %1881, %1784
br label %1883
1883: ; preds = %1882, %1740
br label %1884
1884: ; preds = %1883, %1696
br label %1885
1885: ; preds = %1884, %1659
br label %1886
1886: ; preds = %1885, %1625
br label %1887
1887: ; preds = %1886, %1591
%1888 = load i16, i16* %24
%1889 = sext i16 %1888 to i32
%1890 = load i16, i16* %24
%1891 = sext i16 %1890 to i32
%1892 = mul nsw i32 %1889, %1891
%1893 = load i32, i32* %14
%1894 = add i32 %1893, %1892
store i32 %1894, i32* %14
br label %1895
1895: ; preds = %1887
%1896 = load i8, i8* %15
%1897 = add i8 %1896, 1
store i8 %1897, i8* %15
br label %1571
1898: ; preds = %1571
br label %1899
1899: ; preds = %1898
%1900 = load i8, i8* %16
%1901 = add i8 %1900, 1
store i8 %1901, i8* %16
br label %1565
1902: ; preds = %1565
br label %1903
1903: ; preds = %1902, %928, %925
br label %1904
1904: ; preds = %1903, %581
%1905 = load i32, i32* %12
%1906 = load i32, i32* %13
%1907 = icmp ule i32 %1905, %1906
br i1 %1907, label %1908, label %1922
1908: ; preds = %1904
%1909 = load i32, i32* %12
%1910 = load i32, i32* %14
%1911 = icmp ule i32 %1909, %1910
br i1 %1911, label %1912, label %1922
1912: ; preds = %1908
%1913 = load i8*, i8** %5
%1914 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 1
%1915 = load i8, i8* %1914
%1916 = sext i8 %1915 to i32
%1917 = getelementptr inbounds [2 x i8], [2 x i8]* %10, i64 0, i64 0
%1918 = load i8, i8* %1917
%1919 = sext i8 %1918 to i32
%1920 = getelementptr inbounds [16 x i8], [16 x i8]* %19, i64 0, i64 0
%1921 = call i32 (i8*, i32, i32, i8*, ...) bitcast (i32 (...)* @util_format_signed_write_rgtc_encoded_channel to i32 (i8*, i32, i32, i8*, ...)*)(i8* %1913, i32 %1916, i32 %1919, i8* %1920)
br label %1949
1922: ; preds = %1908, %1904
%1923 = load i32, i32* %13
%1924 = load i32, i32* %14
%1925 = icmp ule i32 %1923, %1924
br i1 %1925, label %1926, label %1936
1926: ; preds = %1922
%1927 = load i8*, i8** %5
%1928 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 0
%1929 = load i8, i8* %1928
%1930 = sext i8 %1929 to i32
%1931 = getelementptr inbounds [2 x i8], [2 x i8]* %9, i64 0, i64 1
%1932 = load i8, i8* %1931
%1933 = sext i8 %1932 to i32
%1934 = getelementptr inbounds [16 x i8], [16 x i8]* %20, i64 0, i64 0
%1935 = call i32 (i8*, i32, i32, i8*, ...) bitcast (i32 (...)* @util_format_signed_write_rgtc_encoded_channel to i32 (i8*, i32, i32, i8*, ...)*)(i8* %1927, i32 %1930, i32 %1933, i8* %1934)
br label %1948
1936: ; preds = %1922
%1937 = load i8*, i8** %5
%1938 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 0
%1939 = load i16, i16* %1938
%1940 = trunc i16 %1939 to i8
%1941 = sext i8 %1940 to i32
%1942 = getelementptr inbounds [2 x i16], [2 x i16]* %11, i64 0, i64 1
%1943 = load i16, i16* %1942
%1944 = trunc i16 %1943 to i8
%1945 = sext i8 %1944 to i32
%1946 = getelementptr inbounds [16 x i8], [16 x i8]* %21, i64 0, i64 0
%1947 = call i32 (i8*, i32, i32, i8*, ...) bitcast (i32 (...)* @util_format_signed_write_rgtc_encoded_channel to i32 (i8*, i32, i32, i8*, ...)*)(i8* %1937, i32 %1941, i32 %1945, i8* %1946)
br label %1948
1948: ; preds = %1936, %1926
br label %1949
1949: ; preds = %153, %1948, %1912
ret void
}

LLVM IR (-O2):
define void @util_format_signed_encode_rgtc_ubyte(i8* %0, [4 x i8]* nocapture %1, i32 %2, i32 %3) {
%5 = alloca [16 x i8]
%6 = alloca [16 x i8]
%7 = alloca [16 x i8]
%8 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 0
%9 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 0
%10 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 0
%11 = icmp sgt i32 %3, 0
br i1 %11, label %12, label %67
12: ; preds = %4
%13 = icmp sgt i32 %2, 0
br label %14
14: ; preds = %12, %45
%15 = phi i32 [ 0, %12 ], [ %49, %45 ]
%16 = phi i32 [ 0, %12 ], [ %48, %45 ]
%17 = phi i8 [ 0, %12 ], [ %50, %45 ]
%18 = phi i8 [ 127, %12 ], [ %47, %45 ]
%19 = phi i8 [ -128, %12 ], [ %46, %45 ]
br i1 %13, label %20, label %45
20: ; preds = %14
%21 = sext i8 %17 to i64
br label %22
22: ; preds = %20, %37
%23 = phi i32 [ %15, %20 ], [ %41, %37 ]
%24 = phi i32 [ %16, %20 ], [ %40, %37 ]
%25 = phi i8 [ 0, %20 ], [ %42, %37 ]
%26 = phi i8 [ %18, %20 ], [ %39, %37 ]
%27 = phi i8 [ %19, %20 ], [ %38, %37 ]
%28 = sext i8 %25 to i64
%29 = getelementptr inbounds [4 x i8], [4 x i8]* %1, i64 %21, i64 %28
%30 = load i8, i8* %29
switch i8 %30, label %32 [
i8 -128, label %37
i8 127, label %31
]
31: ; preds = %22
br label %37
32: ; preds = %22
%33 = icmp sgt i8 %30, %27
%34 = select i1 %33, i8 %30, i8 %27
%35 = icmp slt i8 %30, %26
%36 = select i1 %35, i8 %30, i8 %26
br label %37
37: ; preds = %32, %22, %31
%38 = phi i8 [ %27, %31 ], [ %27, %22 ], [ %34, %32 ]
%39 = phi i8 [ %26, %31 ], [ %26, %22 ], [ %36, %32 ]
%40 = phi i32 [ %24, %31 ], [ 1, %22 ], [ %24, %32 ]
%41 = phi i32 [ 1, %31 ], [ %23, %22 ], [ %23, %32 ]
%42 = add i8 %25, 1
%43 = sext i8 %42 to i32
%44 = icmp slt i32 %43, %2
br i1 %44, label %22, label %45
45: ; preds = %37, %14
%46 = phi i8 [ %19, %14 ], [ %38, %37 ]
%47 = phi i8 [ %18, %14 ], [ %39, %37 ]
%48 = phi i32 [ %16, %14 ], [ %40, %37 ]
%49 = phi i32 [ %15, %14 ], [ %41, %37 ]
%50 = add i8 %17, 1
%51 = sext i8 %50 to i32
%52 = icmp slt i32 %51, %3
br i1 %52, label %14, label %53
53: ; preds = %45
%54 = sext i8 %47 to i32
%55 = sext i8 %46 to i32
%56 = icmp slt i8 %46, %47
br i1 %56, label %57, label %61
57: ; preds = %53
%58 = icmp ne i32 %48, 0
%59 = icmp ne i32 %49, 0
%60 = select i1 %58, i1 %59, i1 false
br i1 %60, label %73, label %67
61: ; preds = %53
%62 = icmp ne i8 %46, %47
%63 = icmp ne i32 %48, 0
%64 = select i1 %62, i1 true, i1 %63
%65 = icmp ne i32 %49, 0
%66 = select i1 %64, i1 true, i1 %65
br i1 %66, label %71, label %67
67: ; preds = %4, %61, %57
%68 = getelementptr inbounds [4 x i8], [4 x i8]* %1, i64 0, i64 0
%69 = load i8, i8* %68
store i8 %69, i8* %0
%70 = getelementptr inbounds i8, i8* %0, i64 2
br label %695
71: ; preds = %61
%72 = select i1 %63, i8 -128, i8 %47
br i1 %65, label %73, label %75
73: ; preds = %71, %57
%74 = phi i8 [ -128, %57 ], [ %72, %71 ]
br label %75
75: ; preds = %71, %73
%76 = phi i8 [ %74, %73 ], [ %72, %71 ]
%77 = phi i8 [ 127, %73 ], [ %46, %71 ]
%78 = sext i8 %76 to i32
%79 = sext i8 %77 to i32
%80 = mul nsw i32 %79, 13
%81 = add nsw i32 %80, %78
%82 = trunc i32 %81 to i16
%83 = sdiv i16 %82, 14
%84 = trunc i16 %83 to i8
%85 = mul nsw i32 %78, 3
%86 = mul nsw i32 %79, 11
%87 = add nsw i32 %86, %85
%88 = trunc i32 %87 to i16
%89 = sdiv i16 %88, 14
%90 = trunc i16 %89 to i8
%91 = mul nsw i32 %78, 5
%92 = mul nsw i32 %79, 9
%93 = add nsw i32 %92, %91
%94 = trunc i32 %93 to i16
%95 = sdiv i16 %94, 14
%96 = trunc i16 %95 to i8
%97 = add nsw i32 %79, %78
%98 = trunc i32 %97 to i16
%99 = sdiv i16 %98, 2
%100 = trunc i16 %99 to i8
%101 = mul nsw i32 %78, 9
%102 = mul nsw i32 %79, 5
%103 = add nsw i32 %102, %101
%104 = trunc i32 %103 to i16
%105 = sdiv i16 %104, 14
%106 = trunc i16 %105 to i8
%107 = mul nsw i32 %78, 11
%108 = mul nsw i32 %79, 3
%109 = add nsw i32 %108, %107
%110 = trunc i32 %109 to i16
%111 = sdiv i16 %110, 14
%112 = trunc i16 %111 to i8
%113 = mul nsw i32 %78, 13
%114 = add nsw i32 %113, %79
%115 = trunc i32 %114 to i16
%116 = sdiv i16 %115, 14
%117 = trunc i16 %116 to i8
br i1 %11, label %118, label %681
118: ; preds = %75
%119 = icmp sgt i32 %2, 0
%120 = sext i8 %77 to i16
%121 = sext i8 %76 to i16
%122 = mul nsw i16 %121, 6
%123 = add nsw i16 %122, %120
%124 = sdiv i16 %123, -7
%125 = zext i16 %124 to i32
%126 = shl nsw i32 %79, 1
%127 = add nsw i32 %91, %126
%128 = sdiv i32 %127, -7
%129 = shl nsw i32 %78, 2
%130 = add nsw i32 %129, %108
%131 = sdiv i32 %130, -7
%132 = shl nsw i32 %79, 2
%133 = add nsw i32 %85, %132
%134 = sdiv i32 %133, -7
%135 = shl nsw i32 %78, 1
%136 = add nsw i32 %135, %102
%137 = sdiv i32 %136, -7
%138 = mul nsw i16 %120, 6
%139 = add nsw i16 %138, %121
%140 = sdiv i16 %139, -7
%141 = zext i16 %140 to i32
br label %142
142: ; preds = %118, %224
%143 = phi i32 [ 0, %118 ], [ %228, %224 ]
%144 = phi i32 [ 0, %118 ], [ %225, %224 ]
br i1 %119, label %145, label %224
145: ; preds = %142
%146 = zext i32 %143 to i64
%147 = shl i64 %146, 56
%148 = ashr exact i64 %147, 56
%149 = shl nsw i32 %143, 2
br label %150
150: ; preds = %145, %214
%151 = phi i32 [ 0, %145 ], [ %222, %214 ]
%152 = phi i32 [ %144, %145 ], [ %219, %214 ]
%153 = sext i32 %151 to i64
%154 = getelementptr inbounds [4 x i8], [4 x i8]* %1, i64 %148, i64 %153
%155 = load i8, i8* %154
%156 = icmp sgt i8 %155, %84
br i1 %156, label %157, label %163
157: ; preds = %150
%158 = add nsw i32 %151, %149
%159 = sext i32 %158 to i64
%160 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 %159
store i8 0, i8* %160
%161 = sext i8 %155 to i32
%162 = sub nsw i32 %161, %79
br label %214
163: ; preds = %150
%164 = icmp sgt i8 %155, %90
br i1 %164, label %165, label %171
165: ; preds = %163
%166 = add nsw i32 %151, %149
%167 = sext i32 %166 to i64
%168 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 %167
store i8 2, i8* %168
%169 = sext i8 %155 to i32
%170 = add nsw i32 %169, %141
br label %214
171: ; preds = %163
%172 = icmp sgt i8 %155, %96
br i1 %172, label %173, label %179
173: ; preds = %171
%174 = add nsw i32 %151, %149
%175 = sext i32 %174 to i64
%176 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 %175
store i8 3, i8* %176
%177 = sext i8 %155 to i32
%178 = add nsw i32 %137, %177
br label %214
179: ; preds = %171
%180 = icmp sgt i8 %155, %100
br i1 %180, label %181, label %187
181: ; preds = %179
%182 = add nsw i32 %151, %149
%183 = sext i32 %182 to i64
%184 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 %183
store i8 4, i8* %184
%185 = sext i8 %155 to i32
%186 = add nsw i32 %134, %185
br label %214
187: ; preds = %179
%188 = icmp sgt i8 %155, %106
br i1 %188, label %189, label %195
189: ; preds = %187
%190 = add nsw i32 %151, %149
%191 = sext i32 %190 to i64
%192 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 %191
store i8 5, i8* %192
%193 = sext i8 %155 to i32
%194 = add nsw i32 %131, %193
br label %214
195: ; preds = %187
%196 = icmp sgt i8 %155, %112
br i1 %196, label %197, label %203
197: ; preds = %195
%198 = add nsw i32 %151, %149
%199 = sext i32 %198 to i64
%200 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 %199
store i8 6, i8* %200
%201 = sext i8 %155 to i32
%202 = add nsw i32 %128, %201
br label %214
203: ; preds = %195
%204 = icmp sgt i8 %155, %117
%205 = add nsw i32 %151, %149
%206 = sext i32 %205 to i64
%207 = getelementptr inbounds [16 x i8], [16 x i8]* %5, i64 0, i64 %206
br i1 %204, label %208, label %211
208: ; preds = %203
store i8 7, i8* %207
%209 = sext i8 %155 to i32
%210 = add nsw i32 %209, %125
br label %214
211: ; preds = %203
store i8 1, i8* %207
%212 = sext i8 %155 to i32
%213 = sub nsw i32 %212, %78
br label %214
214: ; preds = %165, %181, %197, %211, %208, %189, %173, %157
%215 = phi i32 [ %162, %157 ], [ %170, %165 ], [ %178, %173 ], [ %186, %181 ], [ %194, %189 ], [ %202, %197 ], [ %210, %208 ], [ %213, %211 ]
%216 = shl i32 %215, 16
%217 = ashr exact i32 %216, 16
%218 = mul nsw i32 %217, %217
%219 = add i32 %218, %152
%220 = shl nsw i32 %151, 24
%221 = add i32 %220, 16777216
%222 = ashr exact i32 %221, 24
%223 = icmp slt i32 %222, %2
br i1 %223, label %150, label %224
224: ; preds = %214, %142
%225 = phi i32 [ %144, %142 ], [ %219, %214 ]
%226 = shl nsw i32 %143, 24
%227 = add i32 %226, 16777216
%228 = ashr exact i32 %227, 24
%229 = icmp slt i32 %228, %3
br i1 %229, label %142, label %230
230: ; preds = %224
%231 = icmp ugt i32 %225, 31
br i1 %231, label %232, label %681
232: ; preds = %230
%233 = mul nsw i32 %54, 9
%234 = add nsw i32 %233, %55
%235 = sdiv i32 %234, 10
%236 = trunc i32 %235 to i8
%237 = mul nsw i32 %54, 7
%238 = mul nsw i32 %55, 3
%239 = add nsw i32 %237, %238
%240 = sdiv i32 %239, 10
%241 = trunc i32 %240 to i8
%242 = add nsw i32 %54, %55
%243 = sdiv i32 %242, 2
%244 = trunc i32 %243 to i8
%245 = mul nsw i32 %54, 3
%246 = mul nsw i32 %55, 7
%247 = add nsw i32 %245, %246
%248 = sdiv i32 %247, 10
%249 = trunc i32 %248 to i8
%250 = mul nsw i32 %55, 9
%251 = add nsw i32 %250, %54
%252 = sdiv i32 %251, 10
%253 = trunc i32 %252 to i8
br i1 %11, label %254, label %685
254: ; preds = %232
%255 = icmp sgt i32 %2, 0
%256 = shl nsw i32 %54, 2
%257 = add nsw i32 %256, %55
%258 = sdiv i32 %257, -5
%259 = shl nsw i32 %55, 1
%260 = add nsw i32 %245, %259
%261 = sdiv i32 %260, -5
%262 = shl nsw i32 %54, 1
%263 = add nsw i32 %262, %238
%264 = sdiv i32 %263, -5
%265 = shl nsw i32 %55, 2
%266 = add nsw i32 %265, %54
%267 = sdiv i32 %266, -5
br label %268
268: ; preds = %254, %343
%269 = phi i32 [ 0, %254 ], [ %347, %343 ]
%270 = phi i32 [ 0, %254 ], [ %344, %343 ]
br i1 %255, label %271, label %343
271: ; preds = %268
%272 = zext i32 %269 to i64
%273 = shl i64 %272, 56
%274 = ashr exact i64 %273, 56
%275 = shl nsw i32 %269, 2
br label %276
276: ; preds = %271, %333
%277 = phi i32 [ 0, %271 ], [ %341, %333 ]
%278 = phi i32 [ %270, %271 ], [ %338, %333 ]
%279 = sext i32 %277 to i64
%280 = getelementptr inbounds [4 x i8], [4 x i8]* %1, i64 %274, i64 %279
%281 = load i8, i8* %280
switch i8 %281, label %290 [
i8 -128, label %282
i8 127, label %286
]
282: ; preds = %276
%283 = add nsw i32 %277, %275
%284 = sext i32 %283 to i64
%285 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 %284
store i8 6, i8* %285
br label %333
286: ; preds = %276
%287 = add nsw i32 %277, %275
%288 = sext i32 %287 to i64
%289 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 %288
store i8 7, i8* %289
br label %333
290: ; preds = %276
%291 = icmp sgt i8 %281, %236
br i1 %291, label %298, label %292
292: ; preds = %290
%293 = add nsw i32 %277, %275
%294 = sext i32 %293 to i64
%295 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 %294
store i8 0, i8* %295
%296 = sext i8 %281 to i32
%297 = sub nsw i32 %296, %54
br label %333
298: ; preds = %290
%299 = icmp sgt i8 %281, %241
br i1 %299, label %306, label %300
300: ; preds = %298
%301 = add nsw i32 %277, %275
%302 = sext i32 %301 to i64
%303 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 %302
store i8 2, i8* %303
%304 = sext i8 %281 to i32
%305 = add nsw i32 %258, %304
br label %333
306: ; preds = %298
%307 = icmp sgt i8 %281, %244
br i1 %307, label %314, label %308
308: ; preds = %306
%309 = add nsw i32 %277, %275
%310 = sext i32 %309 to i64
%311 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 %310
store i8 3, i8* %311
%312 = sext i8 %281 to i32
%313 = add nsw i32 %261, %312
br label %333
314: ; preds = %306
%315 = icmp sgt i8 %281, %249
br i1 %315, label %322, label %316
316: ; preds = %314
%317 = add nsw i32 %277, %275
%318 = sext i32 %317 to i64
%319 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 %318
store i8 4, i8* %319
%320 = sext i8 %281 to i32
%321 = add nsw i32 %264, %320
br label %333
322: ; preds = %314
%323 = icmp sgt i8 %281, %253
%324 = add nsw i32 %277, %275
%325 = sext i32 %324 to i64
%326 = getelementptr inbounds [16 x i8], [16 x i8]* %6, i64 0, i64 %325
br i1 %323, label %330, label %327
327: ; preds = %322
store i8 5, i8* %326
%328 = sext i8 %281 to i32
%329 = add nsw i32 %267, %328
br label %333
330: ; preds = %322
store i8 1, i8* %326
%331 = sext i8 %281 to i32
%332 = sub nsw i32 %331, %55
br label %333
333: ; preds = %286, %300, %316, %330, %327, %308, %292, %282
%334 = phi i32 [ 0, %282 ], [ 0, %286 ], [ %297, %292 ], [ %305, %300 ], [ %313, %308 ], [ %321, %316 ], [ %329, %327 ], [ %332, %330 ]
%335 = shl i32 %334, 16
%336 = ashr exact i32 %335, 16
%337 = mul nsw i32 %336, %336
%338 = add i32 %337, %278
%339 = shl nsw i32 %277, 24
%340 = add i32 %339, 16777216
%341 = ashr exact i32 %340, 24
%342 = icmp slt i32 %341, %2
br i1 %342, label %276, label %343
343: ; preds = %333, %268
%344 = phi i32 [ %270, %268 ], [ %338, %333 ]
%345 = shl nsw i32 %269, 24
%346 = add i32 %345, 16777216
%347 = ashr exact i32 %346, 24
%348 = icmp slt i32 %347, %3
br i1 %348, label %268, label %349
349: ; preds = %343
%350 = icmp ugt i32 %344, 96
%351 = icmp ugt i32 %225, 96
%352 = select i1 %350, i1 %351, i1 false
br i1 %352, label %353, label %674
353: ; preds = %349
br i1 %11, label %354, label %392
354: ; preds = %353
%355 = icmp sgt i32 %2, 0
%356 = sub nsw i32 %55, %54
%357 = sdiv i32 %356, -28
%358 = add nsw i32 %357, 127
%359 = sdiv i32 %356, 28
br label %360
360: ; preds = %354, %386
%361 = phi i8 [ 0, %354 ], [ %389, %386 ]
%362 = phi i16 [ -128, %354 ], [ %388, %386 ]
%363 = phi i16 [ 127, %354 ], [ %387, %386 ]
br i1 %355, label %364, label %386
364: ; preds = %360
%365 = sext i8 %361 to i64
br label %366
366: ; preds = %364, %366
%367 = phi i8 [ 0, %364 ], [ %383, %366 ]
%368 = phi i16 [ %362, %364 ], [ %378, %366 ]
%369 = phi i16 [ %363, %364 ], [ %382, %366 ]
%370 = sext i8 %367 to i64
%371 = getelementptr inbounds [4 x i8], [4 x i8]* %1, i64 %365, i64 %370
%372 = load i8, i8* %371
%373 = sext i8 %372 to i16
%374 = icmp slt i16 %368, %373
%375 = sext i8 %372 to i32
%376 = icmp sgt i32 %358, %375
%377 = select i1 %374, i1 %376, i1 false
%378 = select i1 %377, i16 %373, i16 %368
%379 = icmp sgt i16 %369, %373
%380 = icmp slt i32 %359, %375
%381 = select i1 %379, i1 %380, i1 false
%382 = select i1 %381, i16 %373, i16 %369
%383 = add i8 %367, 1
%384 = sext i8 %383 to i32
%385 = icmp slt i32 %384, %2
br i1 %385, label %366, label %386
386: ; preds = %366, %360
%387 = phi i16 [ %363, %360 ], [ %382, %366 ]
%388 = phi i16 [ %362, %360 ], [ %378, %366 ]
%389 = add i8 %361, 1
%390 = sext i8 %389 to i32
%391 = icmp slt i32 %390, %3
br i1 %391, label %360, label %392
392: ; preds = %386, %353
%393 = phi i16 [ 127, %353 ], [ %387, %386 ]
%394 = phi i16 [ -128, %353 ], [ %388, %386 ]
%395 = icmp sgt i16 %394, %393
%396 = select i1 %395, i16 %393, i16 -127
%397 = select i1 %395, i16 %394, i16 126
%398 = sext i16 %396 to i32
%399 = sext i16 %397 to i32
%400 = mul nsw i32 %398, 9
%401 = add nsw i32 %400, %399
%402 = sdiv i32 %401, 10
%403 = trunc i32 %402 to i8
%404 = mul nsw i32 %398, 7
%405 = mul nsw i32 %399, 3
%406 = add nsw i32 %404, %405
%407 = sdiv i32 %406, 10
%408 = trunc i32 %407 to i8
%409 = add nsw i32 %398, %399
%410 = sdiv i32 %409, 2
%411 = trunc i32 %410 to i8
%412 = mul nsw i32 %398, 3
%413 = mul nsw i32 %399, 7
%414 = add nsw i32 %412, %413
%415 = sdiv i32 %414, 10
%416 = trunc i32 %415 to i8
%417 = mul nsw i32 %399, 9
%418 = add nsw i32 %417, %398
%419 = sdiv i32 %418, 10
%420 = trunc i32 %419 to i8
br i1 %11, label %421, label %524
421: ; preds = %392
%422 = icmp sgt i32 %2, 0
%423 = sdiv i16 %396, 2
%424 = add nsw i32 %399, 127
%425 = sdiv i32 %424, 2
%426 = shl nsw i32 %398, 2
%427 = add nsw i32 %426, %399
%428 = sdiv i32 %427, -5
%429 = shl nsw i32 %399, 1
%430 = add nsw i32 %412, %429
%431 = sdiv i32 %430, -5
%432 = shl nsw i32 %398, 1
%433 = add nsw i32 %432, %405
%434 = sdiv i32 %433, -5
%435 = shl nsw i32 %399, 2
%436 = add nsw i32 %435, %398
%437 = sdiv i32 %436, -5
br label %438
438: ; preds = %421, %514
%439 = phi i8 [ 0, %421 ], [ %518, %514 ]
%440 = phi i8 [ 0, %421 ], [ %517, %514 ]
%441 = phi i16 [ 0, %421 ], [ %516, %514 ]
%442 = phi i16 [ 0, %421 ], [ %515, %514 ]
%443 = phi i8 [ 0, %421 ], [ %519, %514 ]
br i1 %422, label %444, label %514
444: ; preds = %438
%445 = sext i8 %443 to i64
br label %446
446: ; preds = %444, %506
%447 = phi i8 [ %439, %444 ], [ %510, %506 ]
%448 = phi i8 [ %440, %444 ], [ %509, %506 ]
%449 = phi i16 [ %441, %444 ], [ %508, %506 ]
%450 = phi i16 [ %442, %444 ], [ %507, %506 ]
%451 = phi i8 [ 0, %444 ], [ %511, %506 ]
%452 = sext i8 %451 to i64
%453 = getelementptr inbounds [4 x i8], [4 x i8]* %1, i64 %445, i64 %452
%454 = load i8, i8* %453
%455 = sext i8 %454 to i32
%456 = sext i8 %454 to i16
%457 = icmp sge i16 %423, %456
%458 = icmp slt i32 %425, %455
%459 = select i1 %457, i1 true, i1 %458
br i1 %459, label %506, label %460
460: ; preds = %446
%461 = icmp sgt i8 %454, %403
br i1 %461, label %466, label %462
462: ; preds = %460
%463 = sub i16 %450, %396
%464 = add i16 %463, %456
%465 = add i8 %448, 1
br label %506
466: ; preds = %460
%467 = icmp sgt i8 %454, %408
br i1 %467, label %475, label %468
468: ; preds = %466
%469 = add nsw i32 %428, %455
%470 = trunc i32 %469 to i16
%471 = add i16 %450, %470
%472 = add i16 %449, %470
%473 = add i8 %448, 1
%474 = add i8 %447, 1
br label %506
475: ; preds = %466
%476 = icmp sgt i8 %454, %411
br i1 %476, label %484, label %477
477: ; preds = %475
%478 = add nsw i32 %431, %455
%479 = trunc i32 %478 to i16
%480 = add i16 %450, %479
%481 = add i16 %449, %479
%482 = add i8 %448, 1
%483 = add i8 %447, 1
br label %506
484: ; preds = %475
%485 = icmp sgt i8 %454, %416
br i1 %485, label %493, label %486
486: ; preds = %484
%487 = add nsw i32 %434, %455
%488 = trunc i32 %487 to i16
%489 = add i16 %450, %488
%490 = add i16 %449, %488
%491 = add i8 %448, 1
%492 = add i8 %447, 1
br label %506
493: ; preds = %484
%494 = icmp sgt i8 %454, %420
br i1 %494, label %502, label %495
495: ; preds = %493
%496 = add nsw i32 %437, %455
%497 = trunc i32 %496 to i16
%498 = add i16 %450, %497
%499 = add i16 %449, %497
%500 = add i8 %448, 1
%501 = add i8 %447, 1
br label %506
502: ; preds = %493
%503 = sub i16 %449, %397
%504 = add i16 %503, %456
%505 = add i8 %447, 1
br label %506
506: ; preds = %446, %462, %477, %495, %502, %486, %468
%507 = phi i16 [ %450, %446 ], [ %464, %462 ], [ %471, %468 ], [ %480, %477 ], [ %489, %486 ], [ %498, %495 ], [ %450, %502 ]
%508 = phi i16 [ %449, %446 ], [ %449, %462 ], [ %472, %468 ], [ %481, %477 ], [ %490, %486 ], [ %499, %495 ], [ %504, %502 ]
%509 = phi i8 [ %448, %446 ], [ %465, %462 ], [ %473, %468 ], [ %482, %477 ], [ %491, %486 ], [ %500, %495 ], [ %448, %502 ]
%510 = phi i8 [ %447, %446 ], [ %447, %462 ], [ %474, %468 ], [ %483, %477 ], [ %492, %486 ], [ %501, %495 ], [ %505, %502 ]
%511 = add i8 %451, 1
%512 = sext i8 %511 to i32
%513 = icmp slt i32 %512, %2
br i1 %513, label %446, label %514
514: ; preds = %506, %438
%515 = phi i16 [ %442, %438 ], [ %507, %506 ]
%516 = phi i16 [ %441, %438 ], [ %508, %506 ]
%517 = phi i8 [ %440, %438 ], [ %509, %506 ]
%518 = phi i8 [ %439, %438 ], [ %510, %506 ]
%519 = add i8 %443, 1
%520 = sext i8 %519 to i32
%521 = icmp slt i32 %520, %3
br i1 %521, label %438, label %522
522: ; preds = %514
%523 = icmp eq i8 %517, 0
br i1 %523, label %524, label %528
524: ; preds = %392, %522
%525 = phi i8 [ %518, %522 ], [ 0, %392 ]
%526 = phi i16 [ %516, %522 ], [ 0, %392 ]
%527 = phi i16 [ %515, %522 ], [ 0, %392 ]
br label %528
528: ; preds = %522, %524
%529 = phi i8 [ %525, %524 ], [ %518, %522 ]
%530 = phi i16 [ %526, %524 ], [ %516, %522 ]
%531 = phi i16 [ %527, %524 ], [ %515, %522 ]
%532 = phi i8 [ 1, %524 ], [ %517, %522 ]
%533 = icmp eq i8 %529, 0
%534 = select i1 %533, i8 1, i8 %529
%535 = sext i16 %531 to i32
%536 = sext i8 %532 to i32
%537 = sdiv i32 %535, %536
%538 = trunc i32 %537 to i16
%539 = add i16 %396, %538
%540 = icmp sgt i16 %539, -128
%541 = select i1 %540, i16 %539, i16 -128
%542 = sext i16 %530 to i32
%543 = sext i8 %534 to i32
%544 = sdiv i32 %542, %543
%545 = trunc i32 %544 to i16
%546 = add i16 %397, %545
%547 = icmp slt i16 %546, 127
%548 = select i1 %547, i16 %546, i16 127
%549 = sext i16 %541 to i32
%550 = sext i16 %548 to i32
%551 = mul nsw i32 %549, 9
%552 = add nsw i32 %551, %550
%553 = sdiv i32 %552, 10
%554 = trunc i32 %553 to i8
%555 = mul nsw i32 %549, 7
%556 = mul nsw i32 %550, 3
%557 = add nsw i32 %555, %556
%558 = sdiv i32 %557, 10
%559 = trunc i32 %558 to i8
%560 = add nsw i32 %549, %550
%561 = sdiv i32 %560, 2
%562 = trunc i32 %561 to i8
%563 = mul nsw i32 %549, 3
%564 = mul nsw i32 %550, 7
%565 = add nsw i32 %563, %564
%566 = sdiv i32 %565, 10
%567 = trunc i32 %566 to i8
%568 = mul nsw i32 %550, 9
%569 = add nsw i32 %568, %549
%570 = sdiv i32 %569, 10
%571 = trunc i32 %570 to i8
br i1 %11, label %572, label %674
572: ; preds = %528
%573 = icmp sgt i32 %2, 0
%574 = sdiv i16 %541, 2
%575 = add nsw i16 %548, 127
%576 = sdiv i16 %575, 2
%577 = shl nsw i32 %549, 2
%578 = add nsw i32 %577, %550
%579 = sdiv i32 %578, -5
%580 = shl nsw i32 %550, 1
%581 = add nsw i32 %580, %563
%582 = sdiv i32 %581, -5
%583 = shl nsw i32 %549, 1
%584 = add nsw i32 %556, %583
%585 = sdiv i32 %584, -5
%586 = shl nsw i32 %550, 2
%587 = add nsw i32 %586, %549
%588 = sdiv i32 %587, -5
br label %589
589: ; preds = %572, %668
%590 = phi i32 [ 0, %572 ], [ %672, %668 ]
%591 = phi i32 [ 0, %572 ], [ %669, %668 ]
br i1 %573, label %592, label %668
592: ; preds = %589
%593 = zext i32 %590 to i64
%594 = shl i64 %593, 56
%595 = ashr exact i64 %594, 56
%596 = shl nsw i32 %590, 2
br label %597
597: ; preds = %592, %659
%598 = phi i32 [ 0, %592 ], [ %666, %659 ]
%599 = phi i32 [ %591, %592 ], [ %663, %659 ]
%600 = sext i32 %598 to i64
%601 = getelementptr inbounds [4 x i8], [4 x i8]* %1, i64 %595, i64 %600
%602 = load i8, i8* %601
%603 = sext i8 %602 to i32
%604 = sext i8 %602 to i16
%605 = icmp slt i16 %574, %604
br i1 %605, label %610, label %606
606: ; preds = %597
%607 = add nsw i32 %598, %596
%608 = sext i32 %607 to i64
%609 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 %608
store i8 6, i8* %609
br label %659
610: ; preds = %597
%611 = sext i8 %602 to i16
%612 = icmp slt i16 %576, %611
br i1 %612, label %613, label %618
613: ; preds = %610
%614 = add nsw i32 %598, %596
%615 = sext i32 %614 to i64
%616 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 %615
store i8 7, i8* %616
%617 = sub nsw i16 127, %604
br label %659
618: ; preds = %610
%619 = icmp sgt i8 %602, %554
br i1 %619, label %625, label %620
620: ; preds = %618
%621 = add nsw i32 %598, %596
%622 = sext i32 %621 to i64
%623 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 %622
store i8 0, i8* %623
%624 = sub i16 %604, %541
br label %659
625: ; preds = %618
%626 = icmp sgt i8 %602, %559
br i1 %626, label %633, label %627
627: ; preds = %625
%628 = add nsw i32 %598, %596
%629 = sext i32 %628 to i64
%630 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 %629
store i8 2, i8* %630
%631 = add nsw i32 %579, %603
%632 = trunc i32 %631 to i16
br label %659
633: ; preds = %625
%634 = icmp sgt i8 %602, %562
br i1 %634, label %641, label %635
635: ; preds = %633
%636 = add nsw i32 %598, %596
%637 = sext i32 %636 to i64
%638 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 %637
store i8 3, i8* %638
%639 = add nsw i32 %582, %603
%640 = trunc i32 %639 to i16
br label %659
641: ; preds = %633
%642 = icmp sgt i8 %602, %567
br i1 %642, label %649, label %643
643: ; preds = %641
%644 = add nsw i32 %598, %596
%645 = sext i32 %644 to i64
%646 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 %645
store i8 4, i8* %646
%647 = add nsw i32 %585, %603
%648 = trunc i32 %647 to i16
br label %659
649: ; preds = %641
%650 = icmp sgt i8 %602, %571
%651 = add nsw i32 %598, %596
%652 = sext i32 %651 to i64
%653 = getelementptr inbounds [16 x i8], [16 x i8]* %7, i64 0, i64 %652
br i1 %650, label %657, label %654
654: ; preds = %649
store i8 5, i8* %653
%655 = add nsw i32 %588, %603
%656 = trunc i32 %655 to i16
br label %659
657: ; preds = %649
store i8 1, i8* %653
%658 = sub i16 %604, %548
br label %659
659: ; preds = %613, %627, %643, %657, %654, %635, %620, %606
%660 = phi i16 [ %604, %606 ], [ %617, %613 ], [ %624, %620 ], [ %632, %627 ], [ %640, %635 ], [ %648, %643 ], [ %656, %654 ], [ %658, %657 ]
%661 = sext i16 %660 to i32
%662 = mul nsw i32 %661, %661
%663 = add i32 %662, %599
%664 = shl nsw i32 %598, 24
%665 = add i32 %664, 16777216
%666 = ashr exact i32 %665, 24
%667 = icmp slt i32 %666, %2
br i1 %667, label %597, label %668
668: ; preds = %659, %589
%669 = phi i32 [ %591, %589 ], [ %663, %659 ]
%670 = shl nsw i32 %590, 24
%671 = add i32 %670, 16777216
%672 = ashr exact i32 %671, 24
%673 = icmp slt i32 %672, %3
br i1 %673, label %589, label %674
674: ; preds = %668, %528, %349
%675 = phi i16 [ 0, %349 ], [ %541, %528 ], [ %541, %668 ]
%676 = phi i16 [ 0, %349 ], [ %548, %528 ], [ %548, %668 ]
%677 = phi i32 [ -1, %349 ], [ 0, %528 ], [ %669, %668 ]
%678 = icmp ugt i32 %225, %344
%679 = icmp ugt i32 %225, %677
%680 = select i1 %678, i1 true, i1 %679
br i1 %680, label %683, label %681
681: ; preds = %75, %230, %674
%682 = call i32 (i8*, i32, i32, i8*, ...) bitcast (i32 (...)* @util_format_signed_write_rgtc_encoded_channel to i32 (i8*, i32, i32, i8*, ...)*)(i8* %0, i32 %79, i32 %78, i8* %8)
br label %695
683: ; preds = %674
%684 = icmp ugt i32 %344, %677
br i1 %684, label %687, label %685
685: ; preds = %232, %683
%686 = call i32 (i8*, i32, i32, i8*, ...) bitcast (i32 (...)* @util_format_signed_write_rgtc_encoded_channel to i32 (i8*, i32, i32, i8*, ...)*)(i8* %0, i32 %54, i32 %55, i8* %9)
br label %695
687: ; preds = %683
%688 = zext i16 %675 to i32
%689 = shl i32 %688, 24
%690 = ashr exact i32 %689, 24
%691 = zext i16 %676 to i32
%692 = shl i32 %691, 24
%693 = ashr exact i32 %692, 24
%694 = call i32 (i8*, i32, i32, i8*, ...) bitcast (i32 (...)* @util_format_signed_write_rgtc_encoded_channel to i32 (i8*, i32, i32, i8*, ...)*)(i8* %0, i32 %690, i32 %693, i8* %10)
br label %695
695: ; preds = %681, %687, %685, %67
ret void
}