void generate_color_bar(int scale_marking_on, double font_size,
                        int color_bar_style, int mark_0_on,
                        int color_mapping_bar_on, int xr, int yr,
                        double font_color[3], int color_system_type,
                        int color_mapping_style, double *interval_point,
                        int interval_mapping_num, int num_of_scale,
                        double tmincolor, double tmaxcolor, double org_mincolor,
                        double org_maxcolor, double *image) {
  int i, j, k, m;
  int start_x, start_y, end_x, end_y, start_ys, start_xs, scale;
  double value, color[3], delta_y;
  double vv;
  char buf[128];
  int output5[5][5], output7[7][7], type;
  if (scale_marking_on == 1) {
    if ((font_size - (int)font_size) < 0.5 - 0.00000001)
      type = 1;
    else
      type = 2;
  }
  if (color_bar_style == 1) {
    if (scale_marking_on == 0) {
      start_x = 10;
    } else if (scale_marking_on == 1) {
      if (type == 1) {
        start_x = 25;
        if (mark_0_on == 1)
          start_x = 40;
        if (font_size >= 2.0) {
          start_x = 25 + (int)(font_size - 1) * 20;
          if (mark_0_on == 1)
            start_x = 40 + (int)(font_size - 1) * 20;
        }
      } else if (type == 2) {
        start_x = 35;
        if (mark_0_on == 1)
          start_x = 55;
        if (font_size >= 2.0) {
          start_x = 35 + (int)(font_size - 1) * 30;
          if (mark_0_on == 1)
            start_x = 55 + (int)(font_size - 1) * 30;
        }
      }
    }
    start_y = (yr - 20) / 10 + 10;
    end_y = (yr - 20) / 10 * 5 + start_y;
    end_x = start_x + 10;
    delta_y = 1.0 / (double)(end_y - start_y);
    if (color_mapping_bar_on == 1) {
      for (j = start_y; j < end_y; j++) {
        value = delta_y * (double)(j - start_y) * (tmaxcolor - tmincolor) +
                tmincolor;
        value_to_rgb(value, color, tmincolor, tmaxcolor, color_mapping_style,
                     interval_point, interval_mapping_num, color_system_type);
        for (i = start_x; i < end_x; i++)
          for (k = 0; k < 3; k++)
            image[(j * xr + i) * 3 + k] = color[k];
      }
    }
    if (scale_marking_on == 1) {
      scale = (int)font_size;
      for (k = 0; k < 2; k++) {
        if (k == 0) {
          vv = org_mincolor;
          if (type == 1)
            start_ys = start_y - 4 - (int)font_size * 5;
          else if (type == 2)
            start_ys = start_y - 4 - (int)font_size * 7;
        } else if (k == 1) {
          vv = org_maxcolor;
          start_ys = end_y + 4;
        }
        start_xs = 10;
        sprintf(buf, "%10.2E", vv);
        for (m = 0; m < 10; m++) {
          if (type == 1) {
            font5_generate(buf[9 - m], output5);
            for (j = 0; j < 5 * scale; j++)
              for (i = 0; i < 5 * scale; i++) {
                image[((start_ys + j) * xr + start_xs - i) * 3] =
                    (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[0];
                image[((start_ys + j) * xr + start_xs - i) * 3 + 1] =
                    (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[1];
                image[((start_ys + j) * xr + start_xs - i) * 3 + 2] =
                    (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[2];
              }
            start_xs += 5 * scale;
          } else if (type == 2) {
            font7_generate(buf[9 - m], output7);
            for (j = 0; j < 7 * scale; j++)
              for (i = 0; i < 7 * scale; i++) {
                image[((start_ys + j) * xr + start_xs - i) * 3] =
                    (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[0];
                image[((start_ys + j) * xr + start_xs - i) * 3 + 1] =
                    (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[1];
                image[((start_ys + j) * xr + start_xs - i) * 3 + 2] =
                    (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[2];
              }
            start_xs += 7 * scale;
          }
        }
      }
      if (mark_0_on == 1) {
        if ((tmincolor < 0) && (tmaxcolor > 0)) {
          start_ys = (int)((0 - tmincolor) / (tmaxcolor - tmincolor) *
                               (end_y - start_y) +
                           start_y);
          start_xs = 10;
          buf[0] = '0';
          buf[1] = '.';
          buf[2] = '0';
          for (m = 0; m < 3; m++) {
            if (type == 1) {
              font5_generate(buf[2 - m], output5);
              for (j = 0; j < 5 * scale; j++)
                for (i = 0; i < 5 * scale; i++) {
                  image[((start_ys + j) * xr + start_xs - i) * 3] =
                      (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[0];
                  image[((start_ys + j) * xr + start_xs - i) * 3 + 1] =
                      (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[1];
                  image[((start_ys + j) * xr + start_xs - i) * 3 + 2] =
                      (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[2];
                }
              start_xs += 5 * scale;
            } else if (type == 2) {
              font7_generate(buf[2 - m], output7);
              for (j = 0; j < 7 * scale; j++)
                for (i = 0; i < 7 * scale; i++) {
                  image[((start_ys + j) * xr + start_xs - i) * 3] =
                      (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[0];
                  image[((start_ys + j) * xr + start_xs - i) * 3 + 1] =
                      (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[1];
                  image[((start_ys + j) * xr + start_xs - i) * 3 + 2] =
                      (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[2];
                }
              start_xs += 7 * scale;
            }
          }
          for (i = start_xs; i < start_x; i++)
            for (j = 0; j < 3; j++)
              image[(start_ys * xr + i) * 3 + j] = font_color[j];
        }
      }
    }
  } else if (color_bar_style == 2) {
    if (scale_marking_on == 0) {
      start_x = 10;
    } else if (scale_marking_on == 1) {
      scale = (int)font_size;
      if (type == 1)
        start_x = 45 * scale + 15;
      else if (type == 2)
        start_x = 63 * scale + 15;
    }
    start_y = (yr - 20) / 10 + 10;
    end_y = (yr - 20) / 10 * 5 + start_y;
    end_x = start_x + 10;
    delta_y = 1.0 / (double)(end_y - start_y);
    if (color_mapping_bar_on == 1) {
      for (j = start_y; j < end_y; j++) {
        value = ((double)(j - start_y)) / (double)(end_y - start_y);
        value2_to_rgb(value, color, color_system_type);
        for (i = start_x; i < end_x; i++)
          for (k = 0; k < 3; k++)
            image[(j * xr + i) * 3 + k] = color[k];
      }
    }
    if (scale_marking_on == 1) {
      scale = (int)font_size;
      for (k = 0; k < num_of_scale; k++) {
        if ((k != 0) && (k != num_of_scale - 1))
          vv = rgb_to_value(1.0 / (num_of_scale - 1) * k, tmincolor, tmaxcolor,
                            color_mapping_style, interval_point,
                            interval_mapping_num);
        else if (k == 0)
          vv = org_mincolor;
        else if (k == num_of_scale - 1)
          vv = org_maxcolor;
        if (type == 1)
          start_ys = start_y +
                     (int)((double)(end_y - start_y) / (num_of_scale - 1) * k) -
                     (int)5 * scale / 2;
        else if (type == 2)
          start_ys = start_y +
                     (int)((double)(end_y - start_y) / (num_of_scale - 1) * k) -
                     (int)7 * scale / 2;
        start_xs = 10;
        sprintf(buf, "%10.2E", vv);
        for (m = 0; m < 10; m++) {
          if (type == 1) {
            font5_generate(buf[9 - m], output5);
            for (j = 0; j < 5 * scale; j++)
              for (i = 0; i < 5 * scale; i++) {
                image[((start_ys + j) * xr + start_xs - i) * 3] =
                    (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[0];
                image[((start_ys + j) * xr + start_xs - i) * 3 + 1] =
                    (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[1];
                image[((start_ys + j) * xr + start_xs - i) * 3 + 2] =
                    (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[2];
              }
            start_xs += 5 * scale;
            if ((vv >= 0) && (m == 9))
              start_xs -= 5 * scale;
          } else if (type == 2) {
            font7_generate(buf[9 - m], output7);
            for (j = 0; j < 7 * scale; j++)
              for (i = 0; i < 7 * scale; i++) {
                image[((start_ys + j) * xr + start_xs - i) * 3] =
                    (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[0];
                image[((start_ys + j) * xr + start_xs - i) * 3 + 1] =
                    (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[1];
                image[((start_ys + j) * xr + start_xs - i) * 3 + 2] =
                    (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                    font_color[2];
              }
            start_xs += 7 * scale;
            if ((vv >= 0) && (m == 9))
              start_xs -= 7 * scale;
          }
        }
        if ((k != 0) && (k != num_of_scale - 1)) {
          if (type == 1)
            start_ys += (int)5 * scale / 2;
          else if (type == 2)
            start_ys += (int)7 * scale / 2;
          for (i = start_x; i < end_x; i++)
            for (j = 0; j < 3; j++)
              image[(start_ys * xr + i) * 3 + j] = font_color[j];
        }
      }
      if (mark_0_on == 1) {
        if ((tmincolor < 0) && (tmaxcolor > 0)) {
          start_ys = (int)((0 - tmincolor) / (tmaxcolor - tmincolor) *
                               (end_y - start_y) +
                           start_y);
          start_xs = 10;
          sprintf(buf, "%10.2E", 0.0);
          for (m = 0; m < 10; m++) {
            if (type == 1) {
              font5_generate(buf[9 - m], output5);
              for (j = 0; j < 5 * scale; j++)
                for (i = 0; i < 5 * scale; i++) {
                  image[((start_ys + j) * xr + start_xs - i) * 3] =
                      (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[0];
                  image[((start_ys + j) * xr + start_xs - i) * 3 + 1] =
                      (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[1];
                  image[((start_ys + j) * xr + start_xs - i) * 3 + 2] =
                      (double)output5[4 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[2];
                }
              start_xs += 5 * scale;
            } else if (type == 2) {
              font7_generate(buf[9 - m], output7);
              for (j = 0; j < 7 * scale; j++)
                for (i = 0; i < 7 * scale; i++) {
                  image[((start_ys + j) * xr + start_xs - i) * 3] =
                      (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[0];
                  image[((start_ys + j) * xr + start_xs - i) * 3 + 1] =
                      (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[1];
                  image[((start_ys + j) * xr + start_xs - i) * 3 + 2] =
                      (double)output7[6 - (int)(j / scale)][(int)(i / scale)] *
                      font_color[2];
                }
              start_xs += 7 * scale;
            }
          }
          for (i = start_xs + 1; i < start_xs + 5; i++)
            for (j = 0; j < 3; j++)
              image[(start_ys * xr + i) * 3 + j] = font_color[j];
        }
      }
    }
  }
  return;
}


x86 assembly (clang, -O0):
<generate_color_bar>:
push   %rbp
mov    %rsp,%rbp
sub    $0x340,%rsp
mov    0x40(%rbp),%rax
mov    0x38(%rbp),%eax
mov    0x30(%rbp),%eax
mov    0x28(%rbp),%rax
mov    0x20(%rbp),%eax
mov    0x18(%rbp),%eax
mov    0x10(%rbp),%rax
mov    %edi,-0x4(%rbp)
movsd  %xmm0,-0x10(%rbp)
mov    %esi,-0x14(%rbp)
mov    %edx,-0x18(%rbp)
mov    %ecx,-0x1c(%rbp)
mov    %r8d,-0x20(%rbp)
mov    %r9d,-0x24(%rbp)
movsd  %xmm1,-0x30(%rbp)
movsd  %xmm2,-0x38(%rbp)
movsd  %xmm3,-0x40(%rbp)
movsd  %xmm4,-0x48(%rbp)
cmpl   $0x1,-0x4(%rbp)
jne    11fc <generate_color_bar+0x9c>
movsd  -0x10(%rbp),%xmm1
cvttsd2si -0x10(%rbp),%eax
cvtsi2sd %eax,%xmm0
subsd  %xmm0,%xmm1
movsd  0x1e2c(%rip),%xmm0
ucomisd %xmm1,%xmm0
jbe    11ed <generate_color_bar+0x8d>
movl   $0x1,-0x274(%rbp)
jmp    11f7 <generate_color_bar+0x97>
movl   $0x2,-0x274(%rbp)
jmp    11fc <generate_color_bar+0x9c>
cmpl   $0x1,-0x14(%rbp)
jne    1ddd <generate_color_bar+0xc7d>
cmpl   $0x0,-0x4(%rbp)
jne    121c <generate_color_bar+0xbc>
movl   $0xa,-0x5c(%rbp)
jmp    134d <generate_color_bar+0x1ed>
cmpl   $0x1,-0x4(%rbp)
jne    1348 <generate_color_bar+0x1e8>
cmpl   $0x1,-0x274(%rbp)
jne    12b2 <generate_color_bar+0x152>
movl   $0x19,-0x5c(%rbp)
cmpl   $0x1,-0x18(%rbp)
jne    124b <generate_color_bar+0xeb>
movl   $0x28,-0x5c(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x1db8(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     12ad <generate_color_bar+0x14d>
movsd  -0x10(%rbp),%xmm0
movsd  0x1d99(%rip),%xmm1
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
imul   $0x14,%eax,%eax
add    $0x19,%eax
mov    %eax,-0x5c(%rbp)
cmpl   $0x1,-0x18(%rbp)
jne    12a8 <generate_color_bar+0x148>
movsd  -0x10(%rbp),%xmm0
movsd  0x1d71(%rip),%xmm1
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
imul   $0x14,%eax,%eax
add    $0x28,%eax
mov    %eax,-0x5c(%rbp)
jmp    12ad <generate_color_bar+0x14d>
jmp    1343 <generate_color_bar+0x1e3>
cmpl   $0x2,-0x274(%rbp)
jne    133e <generate_color_bar+0x1de>
movl   $0x23,-0x5c(%rbp)
cmpl   $0x1,-0x18(%rbp)
jne    12d7 <generate_color_bar+0x177>
movl   $0x37,-0x5c(%rbp)
movsd  -0x10(%rbp),%xmm0
movsd  0x1d2c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jb     1339 <generate_color_bar+0x1d9>
movsd  -0x10(%rbp),%xmm0
movsd  0x1d0d(%rip),%xmm1
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
imul   $0x1e,%eax,%eax
add    $0x23,%eax
mov    %eax,-0x5c(%rbp)
cmpl   $0x1,-0x18(%rbp)
jne    1334 <generate_color_bar+0x1d4>
movsd  -0x10(%rbp),%xmm0
movsd  0x1ce5(%rip),%xmm1
subsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
imul   $0x1e,%eax,%eax
add    $0x37,%eax
mov    %eax,-0x5c(%rbp)
jmp    1339 <generate_color_bar+0x1d9>
jmp    133e <generate_color_bar+0x1de>
jmp    1343 <generate_color_bar+0x1e3>
jmp    1348 <generate_color_bar+0x1e8>
jmp    134d <generate_color_bar+0x1ed>
mov    -0x24(%rbp),%eax
sub    $0x14,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
add    $0xa,%eax
mov    %eax,-0x60(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x14,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
imul   $0x5,%eax,%eax
add    -0x60(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x5c(%rbp),%eax
add    $0xa,%eax
mov    %eax,-0x64(%rbp)
mov    -0x68(%rbp),%eax
sub    -0x60(%rbp),%eax
cvtsi2sd %eax,%xmm1
movsd  0x1c75(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
cmpl   $0x1,-0x1c(%rbp)
jne    149d <generate_color_bar+0x33d>
mov    -0x60(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x68(%rbp),%eax
jge    1498 <generate_color_bar+0x338>
movsd  -0xa8(%rbp),%xmm0
ff
mov    -0x50(%rbp),%eax
sub    -0x60(%rbp),%eax
cvtsi2sd %eax,%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x38(%rbp),%xmm2
subsd  -0x30(%rbp),%xmm2
movsd  -0x30(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x80(%rbp),%xmm0
lea    -0xa0(%rbp),%rdi
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
mov    0x20(%rbp),%esi
mov    0x28(%rbp),%rdx
mov    0x30(%rbp),%ecx
mov    0x18(%rbp),%r8d
mov    $0x3,%al
call   1060 <value_to_rgb@plt>
mov    -0x5c(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x64(%rbp),%eax
jge    1485 <generate_color_bar+0x325>
movl   $0x0,-0x54(%rbp)
cmpl   $0x3,-0x54(%rbp)
jge    1472 <generate_color_bar+0x312>
movslq -0x54(%rbp),%rax
movsd  -0xa0(%rbp,%rax,8),%xmm0
ff ff
mov    0x40(%rbp),%rax
mov    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    -0x54(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x54(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x54(%rbp)
jmp    1431 <generate_color_bar+0x2d1>
jmp    1477 <generate_color_bar+0x317>
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    141e <generate_color_bar+0x2be>
jmp    148a <generate_color_bar+0x32a>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    13af <generate_color_bar+0x24f>
jmp    149d <generate_color_bar+0x33d>
cmpl   $0x1,-0x4(%rbp)
jne    1dd8 <generate_color_bar+0xc78>
cvttsd2si -0x10(%rbp),%eax
mov    %eax,-0x74(%rbp)
movl   $0x0,-0x54(%rbp)
cmpl   $0x2,-0x54(%rbp)
jge    1932 <generate_color_bar+0x7d2>
cmpl   $0x0,-0x54(%rbp)
jne    1526 <generate_color_bar+0x3c6>
movsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
cmpl   $0x1,-0x274(%rbp)
jne    14fc <generate_color_bar+0x39c>
mov    -0x60(%rbp),%eax
sub    $0x4,%eax
cvttsd2si -0x10(%rbp),%ecx
imul   $0x5,%ecx,%ecx
sub    %ecx,%eax
mov    %eax,-0x6c(%rbp)
jmp    1521 <generate_color_bar+0x3c1>
cmpl   $0x2,-0x274(%rbp)
jne    151c <generate_color_bar+0x3bc>
mov    -0x60(%rbp),%eax
sub    $0x4,%eax
cvttsd2si -0x10(%rbp),%ecx
imul   $0x7,%ecx,%ecx
sub    %ecx,%eax
mov    %eax,-0x6c(%rbp)
jmp    1521 <generate_color_bar+0x3c1>
jmp    154b <generate_color_bar+0x3eb>
cmpl   $0x1,-0x54(%rbp)
jne    1546 <generate_color_bar+0x3e6>
movsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
mov    -0x68(%rbp),%eax
add    $0x4,%eax
mov    %eax,-0x6c(%rbp)
jmp    154b <generate_color_bar+0x3eb>
movl   $0xa,-0x70(%rbp)
lea    -0x130(%rbp),%rdi
movsd  -0xb0(%rbp),%xmm0
ff
lea    0x1ab0(%rip),%rsi
mov    $0x1,%al
call   1070 <sprintf@plt>
movl   $0x0,-0x58(%rbp)
cmpl   $0xa,-0x58(%rbp)
jge    191f <generate_color_bar+0x7bf>
cmpl   $0x1,-0x274(%rbp)
jne    1746 <generate_color_bar+0x5e6>
mov    $0x9,%eax
sub    -0x58(%rbp),%eax
cltq
movsbl -0x130(%rbp,%rax,1),%edi
ff
lea    -0x1a0(%rbp),%rsi
mov    $0x0,%al
call   1030 <font5_generate@plt>
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
imul   $0x5,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    1737 <generate_color_bar+0x5d7>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
imul   $0x5,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    1724 <generate_color_bar+0x5c4>
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x290(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x290(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x288(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x288(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x280(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x280(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    15ca <generate_color_bar+0x46a>
jmp    1729 <generate_color_bar+0x5c9>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    15b4 <generate_color_bar+0x454>
imul   $0x5,-0x74(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
jmp    190c <generate_color_bar+0x7ac>
cmpl   $0x2,-0x274(%rbp)
jne    1907 <generate_color_bar+0x7a7>
mov    $0x9,%eax
sub    -0x58(%rbp),%eax
cltq
movsbl -0x130(%rbp,%rax,1),%edi
ff
lea    -0x270(%rbp),%rsi
mov    $0x0,%al
call   1050 <font7_generate@plt>
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
imul   $0x7,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    18fd <generate_color_bar+0x79d>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
imul   $0x7,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    18ea <generate_color_bar+0x78a>
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2a8(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2a8(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2a0(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2a0(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x298(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x298(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    1790 <generate_color_bar+0x630>
jmp    18ef <generate_color_bar+0x78f>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    177a <generate_color_bar+0x61a>
imul   $0x7,-0x74(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
jmp    190c <generate_color_bar+0x7ac>
jmp    1911 <generate_color_bar+0x7b1>
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
jmp    1576 <generate_color_bar+0x416>
jmp    1924 <generate_color_bar+0x7c4>
mov    -0x54(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x54(%rbp)
jmp    14b6 <generate_color_bar+0x356>
cmpl   $0x1,-0x18(%rbp)
jne    1dd3 <generate_color_bar+0xc73>
xorps  %xmm0,%xmm0
ucomisd -0x30(%rbp),%xmm0
jbe    1dce <generate_color_bar+0xc6e>
movsd  -0x38(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    1dce <generate_color_bar+0xc6e>
xorps  %xmm0,%xmm0
subsd  -0x30(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
subsd  -0x30(%rbp),%xmm1
divsd  %xmm1,%xmm0
mov    -0x68(%rbp),%eax
sub    -0x60(%rbp),%eax
cvtsi2sd %eax,%xmm2
cvtsi2sdl -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x6c(%rbp)
movl   $0xa,-0x70(%rbp)
movb   $0x30,-0x130(%rbp)
movb   $0x2e,-0x12f(%rbp)
movb   $0x30,-0x12e(%rbp)
movl   $0x0,-0x58(%rbp)
cmpl   $0x3,-0x58(%rbp)
jge    1d5c <generate_color_bar+0xbfc>
cmpl   $0x1,-0x274(%rbp)
jne    1b83 <generate_color_bar+0xa23>
mov    $0x2,%eax
sub    -0x58(%rbp),%eax
cltq
movsbl -0x130(%rbp,%rax,1),%edi
ff
lea    -0x1a0(%rbp),%rsi
mov    $0x0,%al
call   1030 <font5_generate@plt>
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
imul   $0x5,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    1b74 <generate_color_bar+0xa14>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
imul   $0x5,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    1b61 <generate_color_bar+0xa01>
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2c0(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2c0(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2b8(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2b8(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2b0(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2b0(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    1a07 <generate_color_bar+0x8a7>
jmp    1b66 <generate_color_bar+0xa06>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    19f1 <generate_color_bar+0x891>
imul   $0x5,-0x74(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
jmp    1d49 <generate_color_bar+0xbe9>
cmpl   $0x2,-0x274(%rbp)
jne    1d44 <generate_color_bar+0xbe4>
mov    $0x2,%eax
sub    -0x58(%rbp),%eax
cltq
movsbl -0x130(%rbp,%rax,1),%edi
ff
lea    -0x270(%rbp),%rsi
mov    $0x0,%al
call   1050 <font7_generate@plt>
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
imul   $0x7,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    1d3a <generate_color_bar+0xbda>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
imul   $0x7,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    1d27 <generate_color_bar+0xbc7>
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2d8(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2d8(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2d0(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2d0(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2c8(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2c8(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    1bcd <generate_color_bar+0xa6d>
jmp    1d2c <generate_color_bar+0xbcc>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    1bb7 <generate_color_bar+0xa57>
imul   $0x7,-0x74(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
jmp    1d49 <generate_color_bar+0xbe9>
jmp    1d4e <generate_color_bar+0xbee>
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
jmp    19b3 <generate_color_bar+0x853>
mov    -0x70(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x5c(%rbp),%eax
jge    1dc9 <generate_color_bar+0xc69>
movl   $0x0,-0x50(%rbp)
cmpl   $0x3,-0x50(%rbp)
jge    1db6 <generate_color_bar+0xc56>
mov    0x10(%rbp),%rax
movslq -0x50(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    -0x50(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    1d75 <generate_color_bar+0xc15>
jmp    1dbb <generate_color_bar+0xc5b>
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    1d62 <generate_color_bar+0xc02>
jmp    1dce <generate_color_bar+0xc6e>
jmp    1dd3 <generate_color_bar+0xc73>
jmp    1dd8 <generate_color_bar+0xc78>
jmp    2ace <generate_color_bar+0x196e>
cmpl   $0x2,-0x14(%rbp)
jne    2ac9 <generate_color_bar+0x1969>
cmpl   $0x0,-0x4(%rbp)
jne    1dfd <generate_color_bar+0xc9d>
movl   $0xa,-0x5c(%rbp)
jmp    1e51 <generate_color_bar+0xcf1>
cmpl   $0x1,-0x4(%rbp)
jne    1e4c <generate_color_bar+0xcec>
cvttsd2si -0x10(%rbp),%eax
mov    %eax,-0x74(%rbp)
cmpl   $0x1,-0x274(%rbp)
jne    1e2b <generate_color_bar+0xccb>
imul   $0x2d,-0x74(%rbp),%eax
add    $0xf,%eax
mov    %eax,-0x5c(%rbp)
jmp    1e47 <generate_color_bar+0xce7>
cmpl   $0x2,-0x274(%rbp)
jne    1e42 <generate_color_bar+0xce2>
imul   $0x3f,-0x74(%rbp),%eax
add    $0xf,%eax
mov    %eax,-0x5c(%rbp)
jmp    1e47 <generate_color_bar+0xce7>
jmp    1e4c <generate_color_bar+0xcec>
jmp    1e51 <generate_color_bar+0xcf1>
mov    -0x24(%rbp),%eax
sub    $0x14,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
add    $0xa,%eax
mov    %eax,-0x60(%rbp)
mov    -0x24(%rbp),%eax
sub    $0x14,%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
imul   $0x5,%eax,%eax
add    -0x60(%rbp),%eax
mov    %eax,-0x68(%rbp)
mov    -0x5c(%rbp),%eax
add    $0xa,%eax
mov    %eax,-0x64(%rbp)
mov    -0x68(%rbp),%eax
sub    -0x60(%rbp),%eax
cvtsi2sd %eax,%xmm1
movsd  0x1171(%rip),%xmm0
divsd  %xmm1,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
cmpl   $0x1,-0x1c(%rbp)
jne    1f77 <generate_color_bar+0xe17>
mov    -0x60(%rbp),%eax
mov    %eax,-0x50(%rbp)
mov    -0x50(%rbp),%eax
cmp    -0x68(%rbp),%eax
jge    1f72 <generate_color_bar+0xe12>
mov    -0x50(%rbp),%eax
sub    -0x60(%rbp),%eax
cvtsi2sd %eax,%xmm0
mov    -0x68(%rbp),%eax
sub    -0x60(%rbp),%eax
cvtsi2sd %eax,%xmm1
divsd  %xmm1,%xmm0
movsd  %xmm0,-0x80(%rbp)
movsd  -0x80(%rbp),%xmm0
lea    -0xa0(%rbp),%rdi
mov    0x18(%rbp),%esi
mov    $0x1,%al
call   1080 <value2_to_rgb@plt>
mov    -0x5c(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x64(%rbp),%eax
jge    1f5f <generate_color_bar+0xdff>
movl   $0x0,-0x54(%rbp)
cmpl   $0x3,-0x54(%rbp)
jge    1f4c <generate_color_bar+0xdec>
movslq -0x54(%rbp),%rax
movsd  -0xa0(%rbp,%rax,8),%xmm0
ff ff
mov    0x40(%rbp),%rax
mov    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    -0x54(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x54(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x54(%rbp)
jmp    1f0b <generate_color_bar+0xdab>
jmp    1f51 <generate_color_bar+0xdf1>
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    1ef8 <generate_color_bar+0xd98>
jmp    1f64 <generate_color_bar+0xe04>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    1eb3 <generate_color_bar+0xd53>
jmp    1f77 <generate_color_bar+0xe17>
cmpl   $0x1,-0x4(%rbp)
jne    2ac4 <generate_color_bar+0x1964>
cvttsd2si -0x10(%rbp),%eax
mov    %eax,-0x74(%rbp)
movl   $0x0,-0x54(%rbp)
mov    -0x54(%rbp),%eax
cmp    0x38(%rbp),%eax
jge    2613 <generate_color_bar+0x14b3>
cmpl   $0x0,-0x54(%rbp)
je     2002 <generate_color_bar+0xea2>
mov    -0x54(%rbp),%eax
mov    0x38(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
je     2002 <generate_color_bar+0xea2>
mov    0x38(%rbp),%eax
sub    $0x1,%eax
cvtsi2sd %eax,%xmm1
movsd  0x103f(%rip),%xmm0
divsd  %xmm1,%xmm0
cvtsi2sdl -0x54(%rbp),%xmm1
mulsd  %xmm1,%xmm0
movsd  -0x30(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm2
mov    0x20(%rbp),%edi
mov    0x28(%rbp),%rsi
mov    0x30(%rbp),%edx
mov    $0x3,%al
call   1040 <rgb_to_value@plt>
cvtsi2sd %eax,%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
jmp    2046 <generate_color_bar+0xee6>
cmpl   $0x0,-0x54(%rbp)
jne    201e <generate_color_bar+0xebe>
movsd  -0x40(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
jmp    2041 <generate_color_bar+0xee1>
mov    -0x54(%rbp),%eax
mov    0x38(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jne    203c <generate_color_bar+0xedc>
movsd  -0x48(%rbp),%xmm0
movsd  %xmm0,-0xb0(%rbp)
ff
jmp    2041 <generate_color_bar+0xee1>
jmp    2046 <generate_color_bar+0xee6>
cmpl   $0x1,-0x274(%rbp)
jne    20a1 <generate_color_bar+0xf41>
mov    -0x60(%rbp),%eax
mov    -0x68(%rbp),%ecx
sub    -0x60(%rbp),%ecx
cvtsi2sd %ecx,%xmm0
mov    0x38(%rbp),%ecx
sub    $0x1,%ecx
cvtsi2sd %ecx,%xmm1
divsd  %xmm1,%xmm0
cvtsi2sdl -0x54(%rbp),%xmm1
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
add    %ecx,%eax
mov    %eax,-0x2dc(%rbp)
imul   $0x5,-0x74(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x2dc(%rbp),%eax
sub    %ecx,%eax
mov    %eax,-0x6c(%rbp)
jmp    20fc <generate_color_bar+0xf9c>
cmpl   $0x2,-0x274(%rbp)
jne    20f7 <generate_color_bar+0xf97>
mov    -0x60(%rbp),%eax
mov    -0x68(%rbp),%ecx
sub    -0x60(%rbp),%ecx
cvtsi2sd %ecx,%xmm0
mov    0x38(%rbp),%ecx
sub    $0x1,%ecx
cvtsi2sd %ecx,%xmm1
divsd  %xmm1,%xmm0
cvtsi2sdl -0x54(%rbp),%xmm1
mulsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
add    %ecx,%eax
mov    %eax,-0x2e0(%rbp)
imul   $0x7,-0x74(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
mov    %eax,%ecx
mov    -0x2e0(%rbp),%eax
sub    %ecx,%eax
mov    %eax,-0x6c(%rbp)
jmp    20fc <generate_color_bar+0xf9c>
movl   $0xa,-0x70(%rbp)
lea    -0x130(%rbp),%rdi
movsd  -0xb0(%rbp),%xmm0
ff
lea    0xeff(%rip),%rsi
mov    $0x1,%al
call   1070 <sprintf@plt>
movl   $0x0,-0x58(%rbp)
cmpl   $0xa,-0x58(%rbp)
jge    252b <generate_color_bar+0x13cb>
cmpl   $0x1,-0x274(%rbp)
jne    2322 <generate_color_bar+0x11c2>
mov    $0x9,%eax
sub    -0x58(%rbp),%eax
cltq
movsbl -0x130(%rbp,%rax,1),%edi
ff
lea    -0x1a0(%rbp),%rsi
mov    $0x0,%al
call   1030 <font5_generate@plt>
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
imul   $0x5,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    22e8 <generate_color_bar+0x1188>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
imul   $0x5,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    22d5 <generate_color_bar+0x1175>
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2f8(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2f8(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2f0(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2f0(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x2e8(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x2e8(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    217b <generate_color_bar+0x101b>
jmp    22da <generate_color_bar+0x117a>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    2165 <generate_color_bar+0x1005>
imul   $0x5,-0x74(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
movsd  -0xb0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     231d <generate_color_bar+0x11bd>
cmpl   $0x9,-0x58(%rbp)
jne    231d <generate_color_bar+0x11bd>
imul   $0x5,-0x74(%rbp),%ecx
mov    -0x70(%rbp),%eax
sub    %ecx,%eax
mov    %eax,-0x70(%rbp)
jmp    2518 <generate_color_bar+0x13b8>
cmpl   $0x2,-0x274(%rbp)
jne    2513 <generate_color_bar+0x13b3>
mov    $0x9,%eax
sub    -0x58(%rbp),%eax
cltq
movsbl -0x130(%rbp,%rax,1),%edi
ff
lea    -0x270(%rbp),%rsi
mov    $0x0,%al
call   1050 <font7_generate@plt>
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
imul   $0x7,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    24d9 <generate_color_bar+0x1379>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
imul   $0x7,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    24c6 <generate_color_bar+0x1366>
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x310(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x310(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x308(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x308(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x300(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x300(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    236c <generate_color_bar+0x120c>
jmp    24cb <generate_color_bar+0x136b>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    2356 <generate_color_bar+0x11f6>
imul   $0x7,-0x74(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
movsd  -0xb0(%rbp),%xmm0
ff
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jb     250e <generate_color_bar+0x13ae>
cmpl   $0x9,-0x58(%rbp)
jne    250e <generate_color_bar+0x13ae>
imul   $0x7,-0x74(%rbp),%ecx
mov    -0x70(%rbp),%eax
sub    %ecx,%eax
mov    %eax,-0x70(%rbp)
jmp    2513 <generate_color_bar+0x13b3>
jmp    2518 <generate_color_bar+0x13b8>
jmp    251d <generate_color_bar+0x13bd>
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
jmp    2127 <generate_color_bar+0xfc7>
cmpl   $0x0,-0x54(%rbp)
je     2600 <generate_color_bar+0x14a0>
mov    -0x54(%rbp),%eax
mov    0x38(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
je     2600 <generate_color_bar+0x14a0>
cmpl   $0x1,-0x274(%rbp)
jne    256a <generate_color_bar+0x140a>
imul   $0x5,-0x74(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
jmp    258e <generate_color_bar+0x142e>
cmpl   $0x2,-0x274(%rbp)
jne    2589 <generate_color_bar+0x1429>
imul   $0x7,-0x74(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
add    -0x6c(%rbp),%eax
mov    %eax,-0x6c(%rbp)
jmp    258e <generate_color_bar+0x142e>
mov    -0x5c(%rbp),%eax
mov    %eax,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
cmp    -0x64(%rbp),%eax
jge    25fb <generate_color_bar+0x149b>
movl   $0x0,-0x50(%rbp)
cmpl   $0x3,-0x50(%rbp)
jge    25e8 <generate_color_bar+0x1488>
mov    0x10(%rbp),%rax
movslq -0x50(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    -0x50(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    25a7 <generate_color_bar+0x1447>
jmp    25ed <generate_color_bar+0x148d>
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    2594 <generate_color_bar+0x1434>
jmp    2600 <generate_color_bar+0x14a0>
jmp    2605 <generate_color_bar+0x14a5>
mov    -0x54(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x54(%rbp)
jmp    1f90 <generate_color_bar+0xe30>
cmpl   $0x1,-0x18(%rbp)
jne    2abf <generate_color_bar+0x195f>
xorps  %xmm0,%xmm0
ucomisd -0x30(%rbp),%xmm0
jbe    2aba <generate_color_bar+0x195a>
movsd  -0x38(%rbp),%xmm0
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
jbe    2aba <generate_color_bar+0x195a>
xorps  %xmm0,%xmm0
subsd  -0x30(%rbp),%xmm0
movsd  -0x38(%rbp),%xmm1
subsd  -0x30(%rbp),%xmm1
divsd  %xmm1,%xmm0
mov    -0x68(%rbp),%eax
sub    -0x60(%rbp),%eax
cvtsi2sd %eax,%xmm2
cvtsi2sdl -0x60(%rbp),%xmm1
mulsd  %xmm2,%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%eax
mov    %eax,-0x6c(%rbp)
movl   $0xa,-0x70(%rbp)
lea    -0x130(%rbp),%rdi
lea    0x992(%rip),%rsi
xorps  %xmm0,%xmm0
mov    $0x1,%al
call   1070 <sprintf@plt>
movl   $0x0,-0x58(%rbp)
cmpl   $0xa,-0x58(%rbp)
jge    2a40 <generate_color_bar+0x18e0>
cmpl   $0x1,-0x274(%rbp)
jne    2867 <generate_color_bar+0x1707>
mov    $0x9,%eax
sub    -0x58(%rbp),%eax
cltq
movsbl -0x130(%rbp,%rax,1),%edi
ff
lea    -0x1a0(%rbp),%rsi
mov    $0x0,%al
call   1030 <font5_generate@plt>
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
imul   $0x5,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    2858 <generate_color_bar+0x16f8>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
imul   $0x5,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    2845 <generate_color_bar+0x16e5>
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x328(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x328(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x320(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x320(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x4,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x1a0(%rbp),%rax
imul   $0x14,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x318(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x318(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    26eb <generate_color_bar+0x158b>
jmp    284a <generate_color_bar+0x16ea>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    26d5 <generate_color_bar+0x1575>
imul   $0x5,-0x74(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
jmp    2a2d <generate_color_bar+0x18cd>
cmpl   $0x2,-0x274(%rbp)
jne    2a28 <generate_color_bar+0x18c8>
mov    $0x9,%eax
sub    -0x58(%rbp),%eax
cltq
movsbl -0x130(%rbp,%rax,1),%edi
ff
lea    -0x270(%rbp),%rsi
mov    $0x0,%al
call   1050 <font7_generate@plt>
movl   $0x0,-0x50(%rbp)
mov    -0x50(%rbp),%eax
imul   $0x7,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    2a1e <generate_color_bar+0x18be>
movl   $0x0,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
imul   $0x7,-0x74(%rbp),%ecx
cmp    %ecx,%eax
jge    2a0b <generate_color_bar+0x18ab>
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x340(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x340(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  (%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x338(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x338(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x8(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x1,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    $0x6,%eax
sub    %ecx,%eax
movslq %eax,%rcx
lea    -0x270(%rbp),%rax
imul   $0x1c,%rcx,%rcx
add    %rcx,%rax
mov    %rax,-0x330(%rbp)
mov    -0x4c(%rbp),%eax
cltd
idivl  -0x74(%rbp)
mov    %eax,%ecx
mov    -0x330(%rbp),%rax
movslq %ecx,%rcx
cvtsi2sdl (%rax,%rcx,4),%xmm0
mov    0x10(%rbp),%rax
mulsd  0x10(%rax),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
add    -0x50(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x70(%rbp),%ecx
sub    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    $0x2,%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    28b1 <generate_color_bar+0x1751>
jmp    2a10 <generate_color_bar+0x18b0>
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    289b <generate_color_bar+0x173b>
imul   $0x7,-0x74(%rbp),%eax
add    -0x70(%rbp),%eax
mov    %eax,-0x70(%rbp)
jmp    2a2d <generate_color_bar+0x18cd>
jmp    2a32 <generate_color_bar+0x18d2>
mov    -0x58(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x58(%rbp)
jmp    2697 <generate_color_bar+0x1537>
mov    -0x70(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
mov    -0x70(%rbp),%ecx
add    $0x5,%ecx
cmp    %ecx,%eax
jge    2ab5 <generate_color_bar+0x1955>
movl   $0x0,-0x50(%rbp)
cmpl   $0x3,-0x50(%rbp)
jge    2aa2 <generate_color_bar+0x1942>
mov    0x10(%rbp),%rax
movslq -0x50(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
mov    0x40(%rbp),%rax
mov    -0x6c(%rbp),%ecx
imul   -0x20(%rbp),%ecx
add    -0x4c(%rbp),%ecx
imul   $0x3,%ecx,%ecx
add    -0x50(%rbp),%ecx
movslq %ecx,%rcx
movsd  %xmm0,(%rax,%rcx,8)
mov    -0x50(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x50(%rbp)
jmp    2a61 <generate_color_bar+0x1901>
jmp    2aa7 <generate_color_bar+0x1947>
mov    -0x4c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x4c(%rbp)
jmp    2a49 <generate_color_bar+0x18e9>
jmp    2aba <generate_color_bar+0x195a>
jmp    2abf <generate_color_bar+0x195f>
jmp    2ac4 <generate_color_bar+0x1964>
jmp    2ac9 <generate_color_bar+0x1969>
jmp    2ace <generate_color_bar+0x196e>
add    $0x340,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<generate_color_bar>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x2b8,%rsp
movsd  %xmm4,0xb8(%rsp)
movsd  %xmm3,0xb0(%rsp)
movsd  %xmm2,0x38(%rsp)
movsd  %xmm1,0x40(%rsp)
mov    %r8,0x28(%rsp)
mov    %edx,0x30(%rsp)
cmp    $0x1,%edi
jne    11c3 <generate_color_bar+0x63>
cvttpd2dq %xmm0,%xmm1
cvtdq2pd %xmm1,%xmm2
movapd %xmm0,%xmm1
subsd  %xmm2,%xmm1
movsd  0x1e4b(%rip),%xmm2
ucomisd %xmm1,%xmm2
seta   0x2(%rsp)
setbe  0x3(%rsp)
mov    0x320(%rsp),%r13
mov    0x2f0(%rsp),%r12
cmp    $0x2,%esi
je     122e <generate_color_bar+0xce>
cmp    $0x1,%esi
jne    253f <generate_color_bar+0x13df>
mov    $0xa,%esi
cmp    $0x1,%edi
jne    1297 <generate_color_bar+0x137>
testb  $0x1,0x2(%rsp)
je     1259 <generate_color_bar+0xf9>
cmpl   $0x1,0x30(%rsp)
mov    $0x28,%eax
mov    $0x19,%esi
cmove  %eax,%esi
ucomisd 0x1e00(%rip),%xmm0
jb     1297 <generate_color_bar+0x137>
movsd  0x1dfa(%rip),%xmm1
addsd  %xmm0,%xmm1
cvttsd2si %xmm1,%eax
lea    (%rax,%rax,4),%eax
lea    (%rsi,%rax,4),%esi
jmp    1297 <generate_color_bar+0x137>
mov    $0xa,%ebp
cmp    $0x1,%edi
jne    19b1 <generate_color_bar+0x851>
cvttsd2si %xmm0,%eax
testb  $0x1,0x2(%rsp)
je     19a0 <generate_color_bar+0x840>
lea    (%rax,%rax,8),%eax
lea    (%rax,%rax,4),%ebp
add    $0xf,%ebp
jmp    19b1 <generate_color_bar+0x851>
testb  $0x1,0x3(%rsp)
je     1297 <generate_color_bar+0x137>
cmpl   $0x1,0x30(%rsp)
mov    $0x37,%eax
mov    $0x23,%esi
cmove  %eax,%esi
ucomisd 0x1d96(%rip),%xmm0
jb     1297 <generate_color_bar+0x137>
movsd  0x1d94(%rip),%xmm1
addsd  %xmm0,%xmm1
cvttsd2si %xmm1,%eax
mov    %eax,%edx
shl    $0x5,%edx
sub    %eax,%edx
sub    %eax,%edx
add    %edx,%esi
mov    %edi,0x1c(%rsp)
movapd %xmm0,0x60(%rsp)
mov    %rsi,0x78(%rsp)
lea    -0x14(%r9),%eax
cltq
imul   $0x66666667,%rax,%rax
mov    %rax,%rdx
shr    $0x3f,%rdx
sar    $0x22,%rax
lea    (%rax,%rdx,1),%esi
add    %edx,%eax
add    $0xa,%eax
mov    %rsi,0x50(%rsp)
lea    (%rsi,%rsi,4),%edx
xorps  %xmm0,%xmm0
cvtsi2sd %edx,%xmm0
movsd  %xmm0,0x48(%rsp)
mov    %eax,0x18(%rsp)
add    %eax,%edx
mov    %edx,0x58(%rsp)
cmp    $0x1,%ecx
jne    13f8 <generate_color_bar+0x298>
cmp    $0x1e,%r9d
jl     13f8 <generate_color_bar+0x298>
movsd  0x1d08(%rip),%xmm0
divsd  0x48(%rsp),%xmm0
movsd  %xmm0,0x10(%rsp)
movsd  0x38(%rsp),%xmm0
subsd  0x40(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
mov    0x18(%rsp),%r15d
mov    %r15d,%eax
mov    0x28(%rsp),%rcx
imul   %ecx,%eax
mov    0x78(%rsp),%rdx
add    %edx,%eax
lea    (%rax,%rax,2),%ebp
lea    (%rcx,%rcx,2),%eax
mov    %eax,0x4(%rsp)
lea    0x9(%rdx),%ebx
lea    -0x1(%rdx),%eax
mov    %eax,0x20(%rsp)
nopl   0x0(%rax)
movslq %ebp,%rax
mov    %r15d,%ecx
sub    0x18(%rsp),%ecx
xorps  %xmm0,%xmm0
cvtsi2sd %ecx,%xmm0
lea    0x0(,%rax,8),%r14
add    %r13,%r14
mulsd  0x10(%rsp),%xmm0
mulsd  0x8(%rsp),%xmm0
movsd  0x40(%rsp),%xmm1
addsd  %xmm1,%xmm0
lea    0xc0(%rsp),%rdi
movsd  0x38(%rsp),%xmm2
mov    0x300(%rsp),%esi
mov    0x308(%rsp),%rdx
mov    0x310(%rsp),%ecx
mov    0x2f8(%rsp),%r8d
mov    $0x3,%al
call   1060 <value_to_rgb@plt>
mov    0x20(%rsp),%eax
nopl   0x0(%rax)
mov    0xd0(%rsp),%rcx
mov    %rcx,0x10(%r14)
movapd 0xc0(%rsp),%xmm0
movupd %xmm0,(%r14)
add    $0x18,%r14
add    $0x1,%eax
cmp    %ebx,%eax
jl     13c0 <generate_color_bar+0x260>
add    $0x1,%r15d
add    0x4(%rsp),%ebp
cmp    0x58(%rsp),%r15d
jl     1350 <generate_color_bar+0x1f0>
cmpl   $0x1,0x1c(%rsp)
movapd 0x60(%rsp),%xmm0
jne    253f <generate_color_bar+0x13df>
cvttsd2si %xmm0,%r15d
addl   $0x4,0x58(%rsp)
lea    0x0(,%r15,8),%ecx
mov    %r15d,%eax
sub    %ecx,%eax
mov    0x50(%rsp),%rbp
mov    %ebp,%esi
add    $0x6,%esi
lea    (%r15,%r15,4),%edx
sub    %edx,%esi
mov    %esi,0x80(%rsp)
sub    %r15d,%ecx
cmp    $0x2,%ecx
mov    $0x1,%edi
mov    %ecx,0x8(%rsp)
cmovge %ecx,%edi
mov    $0x1,%r14d
cmp    $0x2,%edx
mov    %edx,0x4(%rsp)
cmovge %edx,%r14d
lea    0x6(%rbp,%rax,1),%eax
mov    %eax,0x34(%rsp)
mov    0x28(%rsp),%rax
lea    (%rax,%rax,2),%r9d
mov    $0x1,%cl
xor    %eax,%eax
mov    %rdi,0x60(%rsp)
mov    %r9d,0x10(%rsp)
jmp    1492 <generate_color_bar+0x332>
nopl   0x0(%rax,%rax,1)
mov    $0x1,%al
testb  $0x1,0x1c(%rsp)
mov    $0x0,%ecx
je     170d <generate_color_bar+0x5ad>
mov    %ecx,0x1c(%rsp)
testb  $0x1,0x3(%rsp)
mov    0x50(%rsp),%edx
cmovne 0x34(%rsp),%edx
mov    0x80(%rsp),%ecx
movsd  0xb8(%rsp),%xmm0
test   $0x1,%al
cmovne 0x58(%rsp),%ecx
jne    14c6 <generate_color_bar+0x366>
movsd  0xb0(%rsp),%xmm0
testb  $0x1,0x2(%rsp)
cmovne %ecx,%edx
test   $0x1,%al
cmovne %ecx,%edx
lea    0x170(%rsp),%rdi
lea    0x1b46(%rip),%rsi
mov    $0x1,%al
mov    %edx,%ebx
call   1070 <sprintf@plt>
mov    0x28(%rsp),%rax
mov    %ebx,0x50(%rsp)
imul   %ebx,%eax
mov    %rax,0x20(%rsp)
mov    $0xa,%ebx
xor    %ebp,%ebp
jmp    1526 <generate_color_bar+0x3c6>
cs nopw 0x0(%rax,%rax,1)
nop
mov    %r10,%rbx
mov    %r11,%rbp
add    %eax,%ebx
add    $0x1,%rbp
cmp    $0xa,%rbp
je     1480 <generate_color_bar+0x320>
lea    0x170(%rsp),%rax
sub    %rbp,%rax
movsbl 0x9(%rax),%edi
testb  $0x1,0x2(%rsp)
je     1620 <generate_color_bar+0x4c0>
lea    0x100(%rsp),%rsi
xor    %eax,%eax
call   1030 <font5_generate@plt>
mov    0x4(%rsp),%eax
test   %r15d,%r15d
mov    0x10(%rsp),%r9d
jle    1516 <generate_color_bar+0x3b6>
mov    %rbp,%r11
mov    0x20(%rsp),%rax
mov    %rbx,%r10
add    %ebx,%eax
lea    (%rax,%rax,2),%r8d
xor    %ecx,%ecx
mov    %ecx,%eax
cltd
idiv   %r15d
mov    $0x4,%edx
sub    %eax,%edx
movslq %edx,%rbp
mov    %r8d,%ebx
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
nop
mov    %esi,%eax
cltd
idiv   %r15d
cltq
lea    0x0(,%rbp,4),%rdx
add    %rbp,%rdx
lea    0x100(%rsp,%rdx,4),%rdx
xorps  %xmm0,%xmm0
cvtsi2sdl (%rdx,%rax,4),%xmm0
movsd  (%r12),%xmm1
mulsd  %xmm0,%xmm1
movslq %ebx,%rbx
movsd  %xmm1,0x0(%r13,%rbx,8)
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
lea    0x1(%rbx),%eax
cltq
movsd  %xmm1,0x0(%r13,%rax,8)
mulsd  0x10(%r12),%xmm0
lea    0x2(%rbx),%eax
cltq
movsd  %xmm0,0x0(%r13,%rax,8)
add    $0x1,%rsi
add    $0xfffffffd,%ebx
cmp    %rsi,%r14
jne    1590 <generate_color_bar+0x430>
add    $0x1,%ecx
add    %r9d,%r8d
cmp    %r14d,%ecx
jne    1570 <generate_color_bar+0x410>
mov    0x4(%rsp),%eax
jmp    1510 <generate_color_bar+0x3b0>
cs nopw 0x0(%rax,%rax,1)
nop
lea    0x1f0(%rsp),%rsi
xor    %eax,%eax
call   1050 <font7_generate@plt>
mov    0x8(%rsp),%eax
test   %r15d,%r15d
mov    0x60(%rsp),%rdi
mov    0x10(%rsp),%r9d
jle    1516 <generate_color_bar+0x3b6>
mov    %rbp,%r11
mov    0x20(%rsp),%rax
mov    %rbx,%r10
add    %ebx,%eax
lea    (%rax,%rax,2),%r8d
xor    %ecx,%ecx
nopl   0x0(%rax)
mov    %ecx,%eax
cltd
idiv   %r15d
mov    $0x6,%edx
sub    %eax,%edx
movslq %edx,%rbp
mov    %r8d,%ebx
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
nop
mov    %esi,%eax
cltd
idiv   %r15d
cltq
lea    0x0(,%rbp,8),%rdx
add    %rbp,%rdx
lea    (%rdx,%rdx,2),%rdx
add    %rbp,%rdx
add    %rsp,%rdx
add    $0x1f0,%rdx
xorps  %xmm0,%xmm0
cvtsi2sdl (%rdx,%rax,4),%xmm0
movsd  (%r12),%xmm1
mulsd  %xmm0,%xmm1
movslq %ebx,%rbx
movsd  %xmm1,0x0(%r13,%rbx,8)
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
lea    0x1(%rbx),%eax
cltq
movsd  %xmm1,0x0(%r13,%rax,8)
mulsd  0x10(%r12),%xmm0
lea    0x2(%rbx),%eax
cltq
movsd  %xmm0,0x0(%r13,%rax,8)
add    $0x1,%rsi
add    $0xfffffffd,%ebx
cmp    %rsi,%rdi
jne    1680 <generate_color_bar+0x520>
add    $0x1,%ecx
add    %r9d,%r8d
cmp    %edi,%ecx
jne    1660 <generate_color_bar+0x500>
mov    0x8(%rsp),%eax
jmp    1510 <generate_color_bar+0x3b0>
cmpl   $0x1,0x30(%rsp)
jne    253f <generate_color_bar+0x13df>
xorpd  %xmm0,%xmm0
ucomisd 0x40(%rsp),%xmm0
jbe    253f <generate_color_bar+0x13df>
movsd  0x38(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jbe    253f <generate_color_bar+0x13df>
xorpd  %xmm0,%xmm0
movsd  0x40(%rsp),%xmm2
subsd  %xmm2,%xmm0
movsd  0x38(%rsp),%xmm1
subsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
xorps  %xmm1,%xmm1
cvtsi2sdl 0x18(%rsp),%xmm1
mulsd  0x48(%rsp),%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ecx
movw   $0x2e30,0x170(%rsp)
movb   $0x30,0x172(%rsp)
30
mov    0x28(%rsp),%rax
imul   %eax,%ecx
mov    %rcx,0x20(%rsp)
lea    (%rax,%rax,2),%r9d
mov    $0xa,%eax
xor    %ebp,%ebp
mov    %r9d,0x10(%rsp)
jmp    17b1 <generate_color_bar+0x651>
nopl   0x0(%rax)
add    %r11d,%eax
add    $0x1,%rbp
cmp    $0x3,%rbp
je     236e <generate_color_bar+0x120e>
mov    %eax,%ebx
lea    0x170(%rsp),%rax
sub    %rbp,%rax
movsbl 0x2(%rax),%edi
testb  $0x1,0x2(%rsp)
je     18b0 <generate_color_bar+0x750>
lea    0x100(%rsp),%rsi
xor    %eax,%eax
call   1030 <font5_generate@plt>
mov    0x4(%rsp),%eax
test   %r15d,%r15d
mov    0x10(%rsp),%r9d
mov    %rbx,%r11
jle    17a0 <generate_color_bar+0x640>
mov    %rbp,%r8
mov    0x20(%rsp),%rax
add    %r11d,%eax
lea    (%rax,%rax,2),%edi
xor    %ecx,%ecx
nopl   (%rax)
mov    %ecx,%eax
cltd
idiv   %r15d
mov    $0x4,%edx
sub    %eax,%edx
movslq %edx,%rbp
mov    %edi,%ebx
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    %esi,%eax
cltd
idiv   %r15d
cltq
lea    0x0(,%rbp,4),%rdx
add    %rbp,%rdx
lea    0x100(%rsp,%rdx,4),%rdx
xorps  %xmm0,%xmm0
cvtsi2sdl (%rdx,%rax,4),%xmm0
movsd  (%r12),%xmm1
mulsd  %xmm0,%xmm1
movslq %ebx,%rbx
movsd  %xmm1,0x0(%r13,%rbx,8)
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
lea    0x1(%rbx),%eax
cltq
movsd  %xmm1,0x0(%r13,%rax,8)
mulsd  0x10(%r12),%xmm0
lea    0x2(%rbx),%eax
cltq
movsd  %xmm0,0x0(%r13,%rax,8)
add    $0x1,%rsi
add    $0xfffffffd,%ebx
cmp    %rsi,%r14
jne    1820 <generate_color_bar+0x6c0>
add    $0x1,%ecx
add    %r9d,%edi
cmp    %r14d,%ecx
jne    1800 <generate_color_bar+0x6a0>
mov    0x4(%rsp),%eax
mov    %r8,%rbp
jmp    17a0 <generate_color_bar+0x640>
nopl   0x0(%rax,%rax,1)
lea    0x1f0(%rsp),%rsi
xor    %eax,%eax
call   1050 <font7_generate@plt>
mov    0x8(%rsp),%eax
test   %r15d,%r15d
mov    0x60(%rsp),%rdi
mov    0x10(%rsp),%r9d
mov    %rbx,%r11
jle    17a0 <generate_color_bar+0x640>
mov    %rbp,%r10
mov    0x20(%rsp),%rax
add    %r11d,%eax
lea    (%rax,%rax,2),%r8d
xor    %ecx,%ecx
nopw   0x0(%rax,%rax,1)
mov    %ecx,%eax
cltd
idiv   %r15d
mov    $0x6,%edx
sub    %eax,%edx
movslq %edx,%rbp
mov    %r8d,%ebx
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
nop
mov    %esi,%eax
cltd
idiv   %r15d
cltq
lea    0x0(,%rbp,8),%rdx
add    %rbp,%rdx
lea    (%rdx,%rdx,2),%rdx
add    %rbp,%rdx
add    %rsp,%rdx
add    $0x1f0,%rdx
xorps  %xmm0,%xmm0
cvtsi2sdl (%rdx,%rax,4),%xmm0
movsd  (%r12),%xmm1
mulsd  %xmm0,%xmm1
movslq %ebx,%rbx
movsd  %xmm1,0x0(%r13,%rbx,8)
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
lea    0x1(%rbx),%eax
cltq
movsd  %xmm1,0x0(%r13,%rax,8)
mulsd  0x10(%r12),%xmm0
lea    0x2(%rbx),%eax
cltq
movsd  %xmm0,0x0(%r13,%rax,8)
add    $0x1,%rsi
add    $0xfffffffd,%ebx
cmp    %rsi,%rdi
jne    1910 <generate_color_bar+0x7b0>
add    $0x1,%ecx
add    %r9d,%r8d
cmp    %edi,%ecx
jne    18f0 <generate_color_bar+0x790>
mov    0x8(%rsp),%eax
mov    %r10,%rbp
jmp    17a0 <generate_color_bar+0x640>
testb  $0x1,0x3(%rsp)
je     19b1 <generate_color_bar+0x851>
mov    %eax,%ebp
shl    $0x6,%ebp
sub    %eax,%ebp
add    $0xf,%ebp
mov    %edi,0x1c(%rsp)
movapd %xmm0,0x60(%rsp)
lea    -0x14(%r9),%eax
cltq
imul   $0x66666667,%rax,%rax
mov    %rax,%rdx
shr    $0x3f,%rdx
sar    $0x22,%rax
lea    (%rax,%rdx,1),%esi
add    %edx,%eax
add    $0xa,%eax
mov    %eax,0x18(%rsp)
lea    (%rsi,%rsi,4),%eax
mov    %rbp,0x10(%rsp)
add    $0xa,%ebp
mov    %eax,0x8(%rsp)
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x80(%rsp)
cmp    $0x1,%ecx
jne    1ab4 <generate_color_bar+0x954>
cmp    $0x1e,%r9d
jl     1ab4 <generate_color_bar+0x954>
mov    0x18(%rsp),%r14d
add    %r14d,0x8(%rsp)
mov    %r14d,%eax
mov    0x28(%rsp),%rcx
imul   %ecx,%eax
add    0x10(%rsp),%eax
lea    (%rax,%rax,2),%ebx
lea    (%rcx,%rcx,2),%eax
mov    %eax,0x4(%rsp)
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movslq %ebx,%rax
lea    0x0(,%rax,8),%r15
add    %r13,%r15
mov    %r14d,%eax
sub    0x18(%rsp),%eax
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
divsd  0x80(%rsp),%xmm0
lea    0xc0(%rsp),%rdi
mov    0x2f8(%rsp),%esi
mov    $0x1,%al
call   1080 <value2_to_rgb@plt>
mov    0x10(%rsp),%rax
mov    0xd0(%rsp),%rcx
mov    %rcx,0x10(%r15)
movapd 0xc0(%rsp),%xmm0
movupd %xmm0,(%r15)
add    $0x1,%eax
add    $0x18,%r15
cmp    %ebp,%eax
jl     1a80 <generate_color_bar+0x920>
add    $0x1,%r14d
add    0x4(%rsp),%ebx
cmp    0x8(%rsp),%r14d
jl     1a40 <generate_color_bar+0x8e0>
cmpl   $0x1,0x1c(%rsp)
movapd 0x60(%rsp),%xmm0
jne    253f <generate_color_bar+0x13df>
mov    0x318(%rsp),%eax
cvttsd2si %xmm0,%ebx
test   %eax,%eax
jle    2094 <generate_color_bar+0xf34>
mov    0x318(%rsp),%eax
add    $0xffffffff,%eax
mov    %eax,0x34(%rsp)
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  0x1513(%rip),%xmm1
divsd  %xmm0,%xmm1
movsd  %xmm1,0xf0(%rsp)
movsd  0x80(%rsp),%xmm1
lea    0x0(,%rbx,8),%edx
sub    %ebx,%edx
mov    %edx,%eax
shr    $0x1f,%eax
add    %edx,%eax
sar    %eax
mov    0x18(%rsp),%ecx
mov    %ecx,%esi
sub    %eax,%esi
mov    %esi,0x8c(%rsp)
lea    (%rbx,%rbx,4),%esi
mov    %esi,%eax
shr    $0x1f,%eax
add    %esi,%eax
sar    %eax
sub    %eax,%ecx
mov    %ecx,0x94(%rsp)
mov    0x2(%rsp),%al
not    %al
movzbl %al,%eax
and    $0x1,%eax
add    %eax,%eax
add    $0x5,%eax
imul   %ebx,%eax
mov    %eax,%ecx
shr    $0x1f,%ecx
add    %eax,%ecx
sar    %ecx
mov    %ecx,0x90(%rsp)
cmp    $0x2,%edx
mov    $0x1,%r15d
mov    %edx,0x20(%rsp)
cmovge %edx,%r15d
mov    $0x1,%r14d
cmp    $0x2,%esi
mov    %esi,0x60(%rsp)
cmovge %esi,%r14d
divsd  %xmm0,%xmm1
movsd  %xmm1,0xa8(%rsp)
movslq 0x10(%rsp),%rax
movslq %ebp,%rcx
mov    %rcx,0x78(%rsp)
lea    0x1(%rax),%rdx
cmp    %rcx,%rdx
cmovle %rcx,%rdx
lea    0x18(%r12),%rcx
mov    %rcx,0xe8(%rsp)
mov    %rdx,0xe0(%rsp)
sub    %rax,%rdx
mov    %rdx,0xa0(%rsp)
and    $0xfffffffffffffffe,%rdx
mov    %rax,0x48(%rsp)
mov    %rdx,0x98(%rsp)
add    %rdx,%rax
mov    %rax,0xd8(%rsp)
mov    0x28(%rsp),%rax
lea    (%rax,%rax,2),%eax
mov    %eax,0x4(%rsp)
lea    0x10(%r13),%rax
mov    %rax,0xf8(%rsp)
xor    %ebp,%ebp
jmp    1c27 <generate_color_bar+0xac7>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    0x50(%rsp),%r8d
add    $0x1,%ebp
mov    0x318(%rsp),%eax
cmp    %eax,%ebp
je     2094 <generate_color_bar+0xf34>
movsd  0xb0(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
test   %ebp,%ebp
mov    %ebp,0x1c(%rsp)
je     1ca3 <generate_color_bar+0xb43>
movsd  0xb8(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
cmp    0x34(%rsp),%ebp
je     1ca3 <generate_color_bar+0xb43>
xorps  %xmm0,%xmm0
cvtsi2sd %ebp,%xmm0
mulsd  0xf0(%rsp),%xmm0
movsd  0x40(%rsp),%xmm1
movsd  0x38(%rsp),%xmm2
mov    0x300(%rsp),%edi
mov    0x308(%rsp),%rsi
mov    0x310(%rsp),%edx
mov    $0x3,%al
mov    %r8d,%ebp
call   1040 <rgb_to_value@plt>
mov    %ebp,%r8d
mov    0x1c(%rsp),%ebp
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
movsd  %xmm0,0x8(%rsp)
testb  $0x1,0x2(%rsp)
je     1cd0 <generate_color_bar+0xb70>
xorps  %xmm0,%xmm0
cvtsi2sd %ebp,%xmm0
mulsd  0xa8(%rsp),%xmm0
cvttsd2si %xmm0,%r8d
add    0x94(%rsp),%r8d
jmp    1cf4 <generate_color_bar+0xb94>
nopl   0x0(%rax)
testb  $0x1,0x3(%rsp)
je     1cf4 <generate_color_bar+0xb94>
xorps  %xmm0,%xmm0
cvtsi2sd %ebp,%xmm0
mulsd  0xa8(%rsp),%xmm0
cvttsd2si %xmm0,%r8d
add    0x8c(%rsp),%r8d
lea    0x170(%rsp),%rdi
lea    0x1325(%rip),%rsi
movsd  0x8(%rsp),%xmm0
mov    $0x1,%al
mov    %r8d,%ebp
call   1070 <sprintf@plt>
mov    0x28(%rsp),%rax
mov    %ebp,0x50(%rsp)
imul   %ebp,%eax
mov    %rax,0x58(%rsp)
mov    $0xa,%ebp
xor    %esi,%esi
jmp    1d67 <generate_color_bar+0xc07>
nopl   (%rax)
mov    %r10,%rbp
mov    0x10(%rsp),%rsi
cmp    $0x9,%rsi
mov    %eax,%ecx
mov    $0x0,%edx
cmove  %edx,%ecx
movsd  0x8(%rsp),%xmm0
ucomisd 0x12cc(%rip),%xmm0
cmovb  %eax,%ecx
add    %ecx,%ebp
add    $0x1,%rsi
cmp    $0xa,%rsi
je     1f50 <generate_color_bar+0xdf0>
lea    0x170(%rsp),%rax
mov    %rsi,0x10(%rsp)
sub    %rsi,%rax
movsbl 0x9(%rax),%edi
testb  $0x1,0x2(%rsp)
je     1e70 <generate_color_bar+0xd10>
lea    0x100(%rsp),%rsi
xor    %eax,%eax
call   1030 <font5_generate@plt>
mov    0x60(%rsp),%eax
test   %ebx,%ebx
mov    0x4(%rsp),%r9d
jle    1d33 <generate_color_bar+0xbd3>
mov    0x58(%rsp),%rax
mov    %rbp,%r10
add    %ebp,%eax
lea    (%rax,%rax,2),%r8d
xor    %ecx,%ecx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    %ecx,%eax
cltd
idiv   %ebx
mov    $0x4,%edx
sub    %eax,%edx
movslq %edx,%rbp
mov    %r8d,%edi
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    %esi,%eax
cltd
idiv   %ebx
cltq
lea    0x0(,%rbp,4),%rdx
add    %rbp,%rdx
lea    0x100(%rsp,%rdx,4),%rdx
xorps  %xmm0,%xmm0
cvtsi2sdl (%rdx,%rax,4),%xmm0
movsd  (%r12),%xmm1
mulsd  %xmm0,%xmm1
movslq %edi,%rdi
movsd  %xmm1,0x0(%r13,%rdi,8)
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
lea    0x1(%rdi),%eax
cltq
movsd  %xmm1,0x0(%r13,%rax,8)
mulsd  0x10(%r12),%xmm0
lea    0x2(%rdi),%eax
cltq
movsd  %xmm0,0x0(%r13,%rax,8)
add    $0x1,%rsi
add    $0xfffffffd,%edi
cmp    %rsi,%r14
jne    1de0 <generate_color_bar+0xc80>
add    $0x1,%ecx
add    %r9d,%r8d
cmp    %r14d,%ecx
jne    1dc0 <generate_color_bar+0xc60>
mov    0x60(%rsp),%eax
jmp    1d30 <generate_color_bar+0xbd0>
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
lea    0x1f0(%rsp),%rsi
xor    %eax,%eax
call   1050 <font7_generate@plt>
mov    0x20(%rsp),%eax
test   %ebx,%ebx
mov    0x4(%rsp),%r9d
jle    1d33 <generate_color_bar+0xbd3>
mov    0x58(%rsp),%rax
mov    %rbp,%r10
add    %ebp,%eax
lea    (%rax,%rax,2),%r8d
xor    %ecx,%ecx
mov    %ecx,%eax
cltd
idiv   %ebx
mov    $0x6,%edx
sub    %eax,%edx
movslq %edx,%rdi
mov    %r8d,%ebp
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    %esi,%eax
cltd
idiv   %ebx
cltq
lea    (%rdi,%rdi,8),%rdx
lea    (%rdx,%rdx,2),%rdx
add    %rdi,%rdx
add    %rsp,%rdx
add    $0x1f0,%rdx
xorps  %xmm0,%xmm0
cvtsi2sdl (%rdx,%rax,4),%xmm0
movsd  (%r12),%xmm1
mulsd  %xmm0,%xmm1
movslq %ebp,%rbp
movsd  %xmm1,0x0(%r13,%rbp,8)
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
lea    0x1(%rbp),%eax
cltq
movsd  %xmm1,0x0(%r13,%rax,8)
mulsd  0x10(%r12),%xmm0
lea    0x2(%rbp),%eax
cltq
movsd  %xmm0,0x0(%r13,%rax,8)
add    $0x1,%rsi
add    $0xfffffffd,%ebp
cmp    %rsi,%r15
jne    1ec0 <generate_color_bar+0xd60>
add    $0x1,%ecx
add    %r9d,%r8d
cmp    %r15d,%ecx
jne    1ea0 <generate_color_bar+0xd40>
mov    0x20(%rsp),%eax
jmp    1d30 <generate_color_bar+0xbd0>
cs nopw 0x0(%rax,%rax,1)
mov    0x1c(%rsp),%ebp
test   %ebp,%ebp
mov    0x78(%rsp),%rdi
je     1c10 <generate_color_bar+0xab0>
cmp    0x34(%rsp),%ebp
mov    0x50(%rsp),%r8d
je     1c15 <generate_color_bar+0xab5>
add    0x90(%rsp),%r8d
mov    %r8d,%eax
imul   0x28(%rsp),%eax
cltq
mov    0x48(%rsp),%rdx
cmpq   $0x2,0xa0(%rsp)
jb     2040 <generate_color_bar+0xee0>
mov    0x48(%rsp),%rcx
add    %rax,%rcx
lea    (%rcx,%rcx,2),%rcx
lea    0x0(,%rcx,8),%rcx
add    %r13,%rcx
cmp    0xe8(%rsp),%rcx
jae    1fdb <generate_color_bar+0xe7b>
mov    0xe0(%rsp),%rdx
add    %rax,%rdx
lea    (%rdx,%rdx,2),%rdx
lea    0x0(,%rdx,8),%rsi
add    %r13,%rsi
mov    0x48(%rsp),%rdx
cmp    %r12,%rsi
ja     2040 <generate_color_bar+0xee0>
mov    0x98(%rsp),%rdx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  0x10(%r12),%xmm0
movhpd (%r12),%xmm0
movupd (%r12),%xmm1
movupd 0x8(%r12),%xmm2
movupd %xmm0,0x10(%rcx)
movupd %xmm2,0x20(%rcx)
movupd %xmm1,(%rcx)
add    $0x30,%rcx
add    $0xfffffffffffffffe,%rdx
jne    1ff0 <generate_color_bar+0xe90>
mov    0xd8(%rsp),%rdx
mov    0x98(%rsp),%rcx
cmp    %rcx,0xa0(%rsp)
je     1c15 <generate_color_bar+0xab5>
add    %rdx,%rax
lea    (%rax,%rax,2),%rax
mov    0xf8(%rsp),%rcx
lea    (%rcx,%rax,8),%rax
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
movsd  (%r12),%xmm0
movsd  %xmm0,-0x10(%rax)
movsd  0x8(%r12),%xmm0
movsd  %xmm0,-0x8(%rax)
movsd  0x10(%r12),%xmm0
movsd  %xmm0,(%rax)
add    $0x1,%rdx
add    $0x18,%rax
cmp    %rdi,%rdx
jl     2060 <generate_color_bar+0xf00>
jmp    1c15 <generate_color_bar+0xab5>
cmpl   $0x1,0x30(%rsp)
jne    253f <generate_color_bar+0x13df>
xorpd  %xmm0,%xmm0
ucomisd 0x40(%rsp),%xmm0
jbe    253f <generate_color_bar+0x13df>
movsd  0x38(%rsp),%xmm1
ucomisd %xmm0,%xmm1
jbe    253f <generate_color_bar+0x13df>
xorpd  %xmm0,%xmm0
movsd  0x40(%rsp),%xmm2
subsd  %xmm2,%xmm0
movsd  0x38(%rsp),%xmm1
subsd  %xmm2,%xmm1
divsd  %xmm1,%xmm0
xorps  %xmm1,%xmm1
cvtsi2sdl 0x18(%rsp),%xmm1
mulsd  0x80(%rsp),%xmm0
addsd  %xmm1,%xmm0
cvttsd2si %xmm0,%ebp
lea    0xf2c(%rip),%rsi
lea    0x170(%rsp),%rdi
xorpd  %xmm0,%xmm0
mov    $0x1,%al
call   1070 <sprintf@plt>
lea    0x0(,%rbx,8),%eax
sub    %ebx,%eax
lea    (%rbx,%rbx,4),%ecx
cmp    $0x2,%eax
mov    $0x1,%r14d
mov    $0x1,%r15d
mov    %eax,0x60(%rsp)
cmovge %eax,%r15d
cmp    $0x2,%ecx
mov    %ecx,0x4(%rsp)
cmovge %ecx,%r14d
mov    0x28(%rsp),%rax
imul   %eax,%ebp
mov    %rbp,0x20(%rsp)
lea    (%rax,%rax,2),%eax
mov    %eax,0x8(%rsp)
mov    $0xa,%r9d
xor    %ecx,%ecx
jmp    2178 <generate_color_bar+0x1018>
nopl   0x0(%rax,%rax,1)
add    0x4(%rsp),%r9d
mov    0x10(%rsp),%rcx
add    $0x1,%rcx
cmp    $0xa,%rcx
je     2461 <generate_color_bar+0x1301>
testb  $0x1,0x2(%rsp)
je     2270 <generate_color_bar+0x1110>
lea    0x170(%rsp),%rax
mov    %rcx,0x10(%rsp)
sub    %rcx,%rax
movsbl 0x9(%rax),%edi
lea    0x100(%rsp),%rsi
xor    %eax,%eax
mov    %r9,%rbp
call   1030 <font5_generate@plt>
mov    0x8(%rsp),%r10d
mov    %rbp,%r9
test   %ebx,%ebx
jle    2160 <generate_color_bar+0x1000>
mov    0x20(%rsp),%rax
add    %r9d,%eax
lea    (%rax,%rax,2),%r8d
xor    %ecx,%ecx
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    %ecx,%eax
cltd
idiv   %ebx
mov    $0x4,%edx
sub    %eax,%edx
movslq %edx,%rbp
mov    %r8d,%edi
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    %esi,%eax
cltd
idiv   %ebx
cltq
lea    0x0(,%rbp,4),%rdx
add    %rbp,%rdx
lea    0x100(%rsp,%rdx,4),%rdx
xorps  %xmm0,%xmm0
cvtsi2sdl (%rdx,%rax,4),%xmm0
movsd  (%r12),%xmm1
mulsd  %xmm0,%xmm1
movslq %edi,%rdi
movsd  %xmm1,0x0(%r13,%rdi,8)
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
lea    0x1(%rdi),%eax
cltq
movsd  %xmm1,0x0(%r13,%rax,8)
mulsd  0x10(%r12),%xmm0
lea    0x2(%rdi),%eax
cltq
movsd  %xmm0,0x0(%r13,%rax,8)
add    $0x1,%rsi
add    $0xfffffffd,%edi
cmp    %rsi,%r14
jne    21f0 <generate_color_bar+0x1090>
add    $0x1,%ecx
add    %r10d,%r8d
cmp    %r14d,%ecx
jne    21d0 <generate_color_bar+0x1070>
jmp    2160 <generate_color_bar+0x1000>
testb  $0x1,0x3(%rsp)
je     216a <generate_color_bar+0x100a>
lea    0x170(%rsp),%rax
mov    %rcx,0x10(%rsp)
sub    %rcx,%rax
movsbl 0x9(%rax),%edi
lea    0x1f0(%rsp),%rsi
xor    %eax,%eax
mov    %r9,%rbp
call   1050 <font7_generate@plt>
mov    0x8(%rsp),%r10d
mov    %rbp,%r9
test   %ebx,%ebx
jle    2364 <generate_color_bar+0x1204>
mov    0x20(%rsp),%rax
add    %r9d,%eax
lea    (%rax,%rax,2),%r8d
xor    %ecx,%ecx
nop
mov    %ecx,%eax
cltd
idiv   %ebx
mov    $0x6,%edx
sub    %eax,%edx
movslq %edx,%rbp
mov    %r8d,%edi
xor    %esi,%esi
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
mov    %esi,%eax
cltd
idiv   %ebx
cltq
lea    0x0(,%rbp,8),%rdx
add    %rbp,%rdx
lea    (%rdx,%rdx,2),%rdx
add    %rbp,%rdx
add    %rsp,%rdx
add    $0x1f0,%rdx
xorps  %xmm0,%xmm0
cvtsi2sdl (%rdx,%rax,4),%xmm0
movsd  (%r12),%xmm1
mulsd  %xmm0,%xmm1
movslq %edi,%rdi
movsd  %xmm1,0x0(%r13,%rdi,8)
movsd  0x8(%r12),%xmm1
mulsd  %xmm0,%xmm1
lea    0x1(%rdi),%eax
cltq
movsd  %xmm1,0x0(%r13,%rax,8)
mulsd  0x10(%r12),%xmm0
lea    0x2(%rdi),%eax
cltq
movsd  %xmm0,0x0(%r13,%rax,8)
add    $0x1,%rsi
add    $0xfffffffd,%edi
cmp    %rsi,%r15
jne    22e0 <generate_color_bar+0x1180>
add    $0x1,%ecx
add    %r10d,%r8d
cmp    %r15d,%ecx
jne    22c0 <generate_color_bar+0x1160>
add    0x60(%rsp),%r9d
jmp    2165 <generate_color_bar+0x1005>
cmp    0x78(%rsp),%eax
jge    253f <generate_color_bar+0x13df>
movslq %eax,%rcx
movslq 0x20(%rsp),%rdx
movslq 0x78(%rsp),%rax
mov    %rax,%rsi
sub    %rcx,%rsi
cmp    $0x2,%rsi
jb     240f <generate_color_bar+0x12af>
lea    (%rcx,%rdx,1),%rdi
lea    (%rdi,%rdi,2),%rdi
lea    0x0(,%rdi,8),%rdi
add    %r13,%rdi
lea    0x18(%r12),%rbp
cmp    %rbp,%rdi
jae    23c7 <generate_color_bar+0x1267>
lea    (%rax,%rdx,1),%rbp
lea    0x0(%rbp,%rbp,2),%rbp
lea    0x0(,%rbp,8),%rbp
add    %r13,%rbp
cmp    %r12,%rbp
ja     240f <generate_color_bar+0x12af>
mov    %rsi,%rbx
and    $0xfffffffffffffffe,%rbx
add    %rbx,%rcx
mov    %rbx,%rbp
movsd  0x10(%r12),%xmm0
movhpd (%r12),%xmm0
movupd (%r12),%xmm1
movupd 0x8(%r12),%xmm2
movupd %xmm0,0x10(%rdi)
movupd %xmm2,0x20(%rdi)
movupd %xmm1,(%rdi)
add    $0x30,%rdi
add    $0xfffffffffffffffe,%rbp
jne    23d4 <generate_color_bar+0x1274>
cmp    %rbx,%rsi
je     253f <generate_color_bar+0x13df>
add    %rcx,%rdx
lea    (%rdx,%rdx,2),%rdx
lea    0x10(,%rdx,8),%rdx
add    %r13,%rdx
sub    %rcx,%rax
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movsd  (%r12),%xmm0
movsd  %xmm0,-0x10(%rdx)
movsd  0x8(%r12),%xmm0
movsd  %xmm0,-0x8(%rdx)
movsd  0x10(%r12),%xmm0
movsd  %xmm0,(%rdx)
add    $0x18,%rdx
add    $0xffffffffffffffff,%rax
jne    2430 <generate_color_bar+0x12d0>
jmp    253f <generate_color_bar+0x13df>
movslq %r9d,%rax
add    $0x3,%r9d
movslq 0x20(%rsp),%rcx
cmp    %r9d,%eax
cmovg  %eax,%r9d
add    $0x1,%r9d
movslq %r9d,%rdx
lea    0x1(%rax),%rsi
lea    (%rax,%rcx,1),%rdi
add    $0x1,%rdi
movsd  (%r12),%xmm0
lea    (%rdi,%rdi,2),%rdi
movsd  %xmm0,0x0(%r13,%rdi,8)
movsd  0x8(%r12),%xmm0
movsd  %xmm0,0x8(%r13,%rdi,8)
movsd  0x10(%r12),%xmm0
movsd  %xmm0,0x10(%r13,%rdi,8)
cmp    %rdx,%rsi
je     253f <generate_color_bar+0x13df>
movsd  (%r12),%xmm0
add    %rcx,%rax
lea    (%rax,%rax,2),%rax
movsd  %xmm0,0x30(%r13,%rax,8)
movsd  0x8(%r12),%xmm0
movsd  %xmm0,0x38(%r13,%rax,8)
movsd  0x10(%r12),%xmm0
movsd  %xmm0,0x40(%r13,%rax,8)
movsd  (%r12),%xmm0
movsd  %xmm0,0x48(%r13,%rax,8)
movsd  0x8(%r12),%xmm0
movsd  %xmm0,0x50(%r13,%rax,8)
movsd  0x10(%r12),%xmm0
movsd  %xmm0,0x58(%r13,%rax,8)
movsd  (%r12),%xmm0
movsd  %xmm0,0x60(%r13,%rax,8)
movsd  0x8(%r12),%xmm0
movsd  %xmm0,0x68(%r13,%rax,8)
movsd  0x10(%r12),%xmm0
movsd  %xmm0,0x70(%r13,%rax,8)
add    $0x2b8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

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

LLVM IR (-O2):
@.str = [7 x i8] c"%10.2E\00"
define void @generate_color_bar(i32 %0, double %1, i32 %2, i32 %3, i32 %4, i32 %5, i32 %6, double* %7, i32 %8, i32 %9, double* %10, i32 %11, i32 %12, double %13, double %14, double %15, double %16, double* writeonly %17) {
%19 = alloca [3 x double]
%20 = bitcast [3 x double]* %19 to i8*
%21 = alloca [128 x i8]
%22 = alloca [5 x [5 x i32]]
%23 = alloca [7 x [7 x i32]]
%24 = getelementptr inbounds [128 x i8], [128 x i8]* %21, i64 0, i64 0
%25 = bitcast [5 x [5 x i32]]* %22 to i8*
%26 = bitcast [7 x [7 x i32]]* %23 to i8*
%27 = icmp eq i32 %0, 1
br i1 %27, label %28, label %34
28: ; preds = %18
%29 = fptosi double %1 to i32
%30 = sitofp i32 %29 to double
%31 = fsub double %1, %30
%32 = fcmp olt double %31, 0x3FDFFFFFF543388F
%33 = xor i1 %32, true
br label %34
34: ; preds = %28, %18
%35 = phi i1 [ undef, %18 ], [ %32, %28 ]
%36 = phi i1 [ undef, %18 ], [ %33, %28 ]
switch i32 %2, label %841 [
i32 1, label %37
i32 2, label %393
]
37: ; preds = %34
br i1 %27, label %38, label %58
38: ; preds = %37
br i1 %35, label %39, label %48
39: ; preds = %38
%40 = icmp eq i32 %3, 1
%41 = select i1 %40, i32 40, i32 25
%42 = fcmp ult double %1, 2.000000e+00
br i1 %42, label %58, label %43
43: ; preds = %39
%44 = fadd double %1, -1.000000e+00
%45 = fptosi double %44 to i32
%46 = mul nsw i32 %45, 20
%47 = add nsw i32 %41, %46
br label %58
48: ; preds = %38
br i1 %36, label %49, label %58
49: ; preds = %48
%50 = icmp eq i32 %3, 1
%51 = select i1 %50, i32 55, i32 35
%52 = fcmp ult double %1, 2.000000e+00
br i1 %52, label %58, label %53
53: ; preds = %49
%54 = fadd double %1, -1.000000e+00
%55 = fptosi double %54 to i32
%56 = mul nsw i32 %55, 30
%57 = add nsw i32 %51, %56
br label %58
58: ; preds = %53, %43, %37, %48, %49, %39
%59 = phi i32 [ %41, %39 ], [ %51, %49 ], [ undef, %48 ], [ 10, %37 ], [ %47, %43 ], [ %57, %53 ]
%60 = add nsw i32 %6, -20
%61 = sdiv i32 %60, 10
%62 = add nsw i32 %61, 10
%63 = mul nsw i32 %61, 5
%64 = add nsw i32 %63, %62
%65 = sitofp i32 %63 to double
%66 = fdiv double 1.000000e+00, %65
%67 = icmp eq i32 %4, 1
%68 = icmp sgt i32 %6, 29
%69 = and i1 %67, %68
br i1 %69, label %70, label %104
70: ; preds = %58
%71 = fsub double %14, %13
%72 = getelementptr inbounds [3 x double], [3 x double]* %19, i64 0, i64 0
%73 = mul i32 %62, %5
%74 = add i32 %73, %59
%75 = mul i32 %74, 3
%76 = mul i32 %5, 3
%77 = add nsw i32 %59, 9
br label %78
78: ; preds = %70, %100
%79 = phi i64 [ 0, %70 ], [ %103, %100 ]
%80 = phi i32 [ %62, %70 ], [ %101, %100 ]
%81 = trunc i64 %79 to i32
%82 = mul i32 %76, %81
%83 = add i32 %75, %82
%84 = sext i32 %83 to i64
%85 = sub nsw i32 %80, %62
%86 = sitofp i32 %85 to double
%87 = fmul double %66, %86
%88 = call double @llvm.fmuladd.f64(double %87, double %71, double %13)
%89 = call i32 (double, double*, double, double, i32, double*, i32, i32, ...) bitcast (i32 (...)* @value_to_rgb to i32 (double, double*, double, double, i32, double*, i32, i32, ...)*)(double %88, double* %72, double %13, double %14, i32 %9, double* %10, i32 %11, i32 %8)
br label %90
90: ; preds = %78, %90
%91 = phi i64 [ 0, %78 ], [ %99, %90 ]
%92 = phi i32 [ %59, %78 ], [ %97, %90 ]
%93 = mul nuw nsw i64 %91, 3
%94 = add nsw i64 %93, %84
%95 = getelementptr double, double* %17, i64 %94
%96 = bitcast double* %95 to i8*
%97 = add nsw i32 %92, 1
%98 = icmp slt i32 %92, %77
%99 = add nuw nsw i64 %91, 1
br i1 %98, label %90, label %100
100: ; preds = %90
%101 = add nsw i32 %80, 1
%102 = icmp slt i32 %101, %64
%103 = add nuw nsw i64 %79, 1
br i1 %102, label %78, label %104
104: ; preds = %100, %58
br i1 %27, label %105, label %841
105: ; preds = %104
%106 = fptosi double %1 to i32
%107 = add nsw i32 %64, 4
%108 = add nsw i32 %61, 6
%109 = mul i32 %106, -7
%110 = add i32 %108, %109
%111 = mul i32 %106, -5
%112 = add i32 %108, %111
%113 = getelementptr inbounds [7 x [7 x i32]], [7 x [7 x i32]]* %23, i64 0, i64 0
%114 = mul i32 %106, 7
%115 = icmp sgt i32 %106, 0
%116 = getelementptr inbounds double, double* %7, i64 1
%117 = getelementptr inbounds double, double* %7, i64 2
%118 = getelementptr inbounds [5 x [5 x i32]], [5 x [5 x i32]]* %22, i64 0, i64 0
%119 = mul i32 %106, 5
%120 = call i32 @llvm.smax.i32(i32 %114, i32 1)
%121 = call i32 @llvm.smax.i32(i32 %119, i32 1)
%122 = zext i32 %120 to i64
%123 = zext i32 %121 to i64
br label %124
124: ; preds = %105, %224
%125 = phi i32 [ undef, %105 ], [ %131, %224 ]
%126 = phi i1 [ false, %105 ], [ true, %224 ]
%127 = phi i1 [ true, %105 ], [ false, %224 ]
%128 = select i1 %126, i1 true, i1 %35
%129 = select i1 %126, i32 %107, i32 %112
%130 = select i1 %36, i32 %110, i32 %125
%131 = select i1 %128, i32 %129, i32 %130
%132 = select i1 %126, double %16, double %15
%133 = call i32 (i8*, i8*, ...) @sprintf(i8* %24, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), double %132)
br label %134
134: ; preds = %124, %219
%135 = phi i64 [ 0, %124 ], [ %222, %219 ]
%136 = phi i32 [ 10, %124 ], [ %221, %219 ]
%137 = sub nuw nsw i64 9, %135
%138 = getelementptr inbounds [128 x i8], [128 x i8]* %21, i64 0, i64 %137
%139 = load i8, i8* %138
%140 = sext i8 %139 to i32
br i1 %35, label %141, label %180
141: ; preds = %134
%142 = call i32 (i32, [5 x i32]*, ...) bitcast (i32 (...)* @font5_generate to i32 (i32, [5 x i32]*, ...)*)(i32 %140, [5 x i32]* %118)
br i1 %115, label %143, label %219
143: ; preds = %141, %177
%144 = phi i32 [ %178, %177 ], [ 0, %141 ]
%145 = sdiv i32 %144, %106
%146 = sub nsw i32 4, %145
%147 = sext i32 %146 to i64
%148 = add nsw i32 %144, %131
%149 = mul nsw i32 %148, %5
%150 = add nsw i32 %149, %136
br label %151
151: ; preds = %143, %151
%152 = phi i64 [ 0, %143 ], [ %175, %151 ]
%153 = trunc i64 %152 to i32
%154 = sdiv i32 %153, %106
%155 = sext i32 %154 to i64
%156 = getelementptr inbounds [5 x [5 x i32]], [5 x [5 x i32]]* %22, i64 0, i64 %147, i64 %155
%157 = load i32, i32* %156
%158 = sitofp i32 %157 to double
%159 = load double, double* %7
%160 = fmul double %159, %158
%161 = sub i32 %150, %153
%162 = mul nsw i32 %161, 3
%163 = sext i32 %162 to i64
%164 = getelementptr inbounds double, double* %17, i64 %163
store double %160, double* %164
%165 = load double, double* %116
%166 = fmul double %165, %158
%167 = add nsw i32 %162, 1
%168 = sext i32 %167 to i64
%169 = getelementptr inbounds double, double* %17, i64 %168
store double %166, double* %169
%170 = load double, double* %117
%171 = fmul double %170, %158
%172 = add nsw i32 %162, 2
%173 = sext i32 %172 to i64
%174 = getelementptr inbounds double, double* %17, i64 %173
store double %171, double* %174
%175 = add nuw nsw i64 %152, 1
%176 = icmp eq i64 %175, %123
br i1 %176, label %177, label %151
177: ; preds = %151
%178 = add nuw nsw i32 %144, 1
%179 = icmp eq i32 %178, %121
br i1 %179, label %219, label %143
180: ; preds = %134
%181 = call i32 (i32, [7 x i32]*, ...) bitcast (i32 (...)* @font7_generate to i32 (i32, [7 x i32]*, ...)*)(i32 %140, [7 x i32]* %113)
br i1 %115, label %182, label %219
182: ; preds = %180, %216
%183 = phi i32 [ %217, %216 ], [ 0, %180 ]
%184 = sdiv i32 %183, %106
%185 = sub nsw i32 6, %184
%186 = sext i32 %185 to i64
%187 = add nsw i32 %183, %131
%188 = mul nsw i32 %187, %5
%189 = add nsw i32 %188, %136
br label %190
190: ; preds = %182, %190
%191 = phi i64 [ 0, %182 ], [ %214, %190 ]
%192 = trunc i64 %191 to i32
%193 = sdiv i32 %192, %106
%194 = sext i32 %193 to i64
%195 = getelementptr inbounds [7 x [7 x i32]], [7 x [7 x i32]]* %23, i64 0, i64 %186, i64 %194
%196 = load i32, i32* %195
%197 = sitofp i32 %196 to double
%198 = load double, double* %7
%199 = fmul double %198, %197
%200 = sub i32 %189, %192
%201 = mul nsw i32 %200, 3
%202 = sext i32 %201 to i64
%203 = getelementptr inbounds double, double* %17, i64 %202
store double %199, double* %203
%204 = load double, double* %116
%205 = fmul double %204, %197
%206 = add nsw i32 %201, 1
%207 = sext i32 %206 to i64
%208 = getelementptr inbounds double, double* %17, i64 %207
store double %205, double* %208
%209 = load double, double* %117
%210 = fmul double %209, %197
%211 = add nsw i32 %201, 2
%212 = sext i32 %211 to i64
%213 = getelementptr inbounds double, double* %17, i64 %212
store double %210, double* %213
%214 = add nuw nsw i64 %191, 1
%215 = icmp eq i64 %214, %122
br i1 %215, label %216, label %190
216: ; preds = %190
%217 = add nuw nsw i32 %183, 1
%218 = icmp eq i32 %217, %120
br i1 %218, label %219, label %182
219: ; preds = %216, %177, %180, %141
%220 = phi i32 [ %119, %141 ], [ %114, %180 ], [ %119, %177 ], [ %114, %216 ]
%221 = add nsw i32 %220, %136
%222 = add nuw nsw i64 %135, 1
%223 = icmp eq i64 %222, 10
br i1 %223, label %224, label %134
224: ; preds = %219
br i1 %127, label %124, label %225
225: ; preds = %224
%226 = icmp eq i32 %3, 1
br i1 %226, label %227, label %841
227: ; preds = %225
%228 = fcmp olt double %13, 0.000000e+00
%229 = fcmp ogt double %14, 0.000000e+00
%230 = and i1 %228, %229
br i1 %230, label %231, label %841
231: ; preds = %227
%232 = fsub double 0.000000e+00, %13
%233 = fsub double %14, %13
%234 = fdiv double %232, %233
%235 = sitofp i32 %62 to double
%236 = call double @llvm.fmuladd.f64(double %234, double %65, double %235)
%237 = fptosi double %236 to i32
store i8 48, i8* %24
%238 = getelementptr inbounds [128 x i8], [128 x i8]* %21, i64 0, i64 1
store i8 46, i8* %238
%239 = getelementptr inbounds [128 x i8], [128 x i8]* %21, i64 0, i64 2
store i8 48, i8* %239
%240 = zext i32 %120 to i64
%241 = zext i32 %121 to i64
br label %289
242: ; preds = %374
%243 = icmp slt i32 %376, %59
br i1 %243, label %244, label %841
244: ; preds = %242
%245 = mul nsw i32 %237, %5
%246 = sext i32 %376 to i64
%247 = sext i32 %245 to i64
%248 = sext i32 %59 to i64
%249 = sub nsw i64 %248, %246
%250 = icmp ult i64 %249, 2
br i1 %250, label %287, label %251
251: ; preds = %244
%252 = add nsw i64 %246, %247
%253 = mul nsw i64 %252, 3
%254 = getelementptr double, double* %17, i64 %253
%255 = add nsw i64 %248, %247
%256 = mul nsw i64 %255, 3
%257 = getelementptr double, double* %17, i64 %256
%258 = getelementptr double, double* %7, i64 3
%259 = icmp ult double* %254, %258
%260 = icmp ugt double* %257, %7
%261 = and i1 %259, %260
br i1 %261, label %287, label %262
262: ; preds = %251
%263 = and i64 %249, -2
%264 = add nsw i64 %263, %246
br label %265
265: ; preds = %265, %262
%266 = phi i64 [ 0, %262 ], [ %283, %265 ]
%267 = add i64 %266, %246
%268 = add nsw i64 %267, %247
%269 = mul nsw i64 %268, 3
%270 = load double, double* %7
%271 = insertelement <2 x double> poison, double %270, i64 0
%272 = shufflevector <2 x double> %271, <2 x double> poison, <2 x i32> zeroinitializer
%273 = load double, double* %116
%274 = insertelement <2 x double> poison, double %273, i64 0
%275 = shufflevector <2 x double> %274, <2 x double> poison, <2 x i32> zeroinitializer
%276 = load double, double* %117
%277 = insertelement <2 x double> poison, double %276, i64 0
%278 = getelementptr inbounds double, double* %17, i64 %269
%279 = bitcast double* %278 to <6 x double>*
%280 = shufflevector <2 x double> %272, <2 x double> %275, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%281 = shufflevector <2 x double> %277, <2 x double> poison, <4 x i32> <i32 0, i32 0, i32 undef, i32 undef>
%282 = shufflevector <4 x double> %280, <4 x double> %281, <6 x i32> <i32 0, i32 2, i32 4, i32 1, i32 3, i32 5>
store <6 x double> %282, <6 x double>* %279
%283 = add nuw i64 %266, 2
%284 = icmp eq i64 %283, %263
br i1 %284, label %285, label %265
285: ; preds = %265
%286 = icmp eq i64 %249, %263
br i1 %286, label %841, label %287
287: ; preds = %251, %244, %285
%288 = phi i64 [ %246, %251 ], [ %246, %244 ], [ %264, %285 ]
br label %379
289: ; preds = %231, %374
%290 = phi i64 [ 0, %231 ], [ %377, %374 ]
%291 = phi i32 [ 10, %231 ], [ %376, %374 ]
%292 = sub nuw nsw i64 2, %290
%293 = getelementptr inbounds [128 x i8], [128 x i8]* %21, i64 0, i64 %292
%294 = load i8, i8* %293
%295 = sext i8 %294 to i32
br i1 %35, label %296, label %335
296: ; preds = %289
%297 = call i32 (i32, [5 x i32]*, ...) bitcast (i32 (...)* @font5_generate to i32 (i32, [5 x i32]*, ...)*)(i32 %295, [5 x i32]* %118)
br i1 %115, label %298, label %374
298: ; preds = %296, %332
%299 = phi i32 [ %333, %332 ], [ 0, %296 ]
%300 = sdiv i32 %299, %106
%301 = sub nsw i32 4, %300
%302 = sext i32 %301 to i64
%303 = add nsw i32 %299, %237
%304 = mul nsw i32 %303, %5
%305 = add nsw i32 %304, %291
br label %306
306: ; preds = %298, %306
%307 = phi i64 [ 0, %298 ], [ %330, %306 ]
%308 = trunc i64 %307 to i32
%309 = sdiv i32 %308, %106
%310 = sext i32 %309 to i64
%311 = getelementptr inbounds [5 x [5 x i32]], [5 x [5 x i32]]* %22, i64 0, i64 %302, i64 %310
%312 = load i32, i32* %311
%313 = sitofp i32 %312 to double
%314 = load double, double* %7
%315 = fmul double %314, %313
%316 = sub i32 %305, %308
%317 = mul nsw i32 %316, 3
%318 = sext i32 %317 to i64
%319 = getelementptr inbounds double, double* %17, i64 %318
store double %315, double* %319
%320 = load double, double* %116
%321 = fmul double %320, %313
%322 = add nsw i32 %317, 1
%323 = sext i32 %322 to i64
%324 = getelementptr inbounds double, double* %17, i64 %323
store double %321, double* %324
%325 = load double, double* %117
%326 = fmul double %325, %313
%327 = add nsw i32 %317, 2
%328 = sext i32 %327 to i64
%329 = getelementptr inbounds double, double* %17, i64 %328
store double %326, double* %329
%330 = add nuw nsw i64 %307, 1
%331 = icmp eq i64 %330, %241
br i1 %331, label %332, label %306
332: ; preds = %306
%333 = add nuw nsw i32 %299, 1
%334 = icmp eq i32 %333, %121
br i1 %334, label %374, label %298
335: ; preds = %289
%336 = call i32 (i32, [7 x i32]*, ...) bitcast (i32 (...)* @font7_generate to i32 (i32, [7 x i32]*, ...)*)(i32 %295, [7 x i32]* %113)
br i1 %115, label %337, label %374
337: ; preds = %335, %371
%338 = phi i32 [ %372, %371 ], [ 0, %335 ]
%339 = sdiv i32 %338, %106
%340 = sub nsw i32 6, %339
%341 = sext i32 %340 to i64
%342 = add nsw i32 %338, %237
%343 = mul nsw i32 %342, %5
%344 = add nsw i32 %343, %291
br label %345
345: ; preds = %337, %345
%346 = phi i64 [ 0, %337 ], [ %369, %345 ]
%347 = trunc i64 %346 to i32
%348 = sdiv i32 %347, %106
%349 = sext i32 %348 to i64
%350 = getelementptr inbounds [7 x [7 x i32]], [7 x [7 x i32]]* %23, i64 0, i64 %341, i64 %349
%351 = load i32, i32* %350
%352 = sitofp i32 %351 to double
%353 = load double, double* %7
%354 = fmul double %353, %352
%355 = sub i32 %344, %347
%356 = mul nsw i32 %355, 3
%357 = sext i32 %356 to i64
%358 = getelementptr inbounds double, double* %17, i64 %357
store double %354, double* %358
%359 = load double, double* %116
%360 = fmul double %359, %352
%361 = add nsw i32 %356, 1
%362 = sext i32 %361 to i64
%363 = getelementptr inbounds double, double* %17, i64 %362
store double %360, double* %363
%364 = load double, double* %117
%365 = fmul double %364, %352
%366 = add nsw i32 %356, 2
%367 = sext i32 %366 to i64
%368 = getelementptr inbounds double, double* %17, i64 %367
store double %365, double* %368
%369 = add nuw nsw i64 %346, 1
%370 = icmp eq i64 %369, %240
br i1 %370, label %371, label %345
371: ; preds = %345
%372 = add nuw nsw i32 %338, 1
%373 = icmp eq i32 %372, %120
br i1 %373, label %374, label %337
374: ; preds = %371, %332, %335, %296
%375 = phi i32 [ %119, %296 ], [ %114, %335 ], [ %119, %332 ], [ %114, %371 ]
%376 = add nsw i32 %375, %291
%377 = add nuw nsw i64 %290, 1
%378 = icmp eq i64 %377, 3
br i1 %378, label %242, label %289
379: ; preds = %287, %379
%380 = phi i64 [ %391, %379 ], [ %288, %287 ]
%381 = add nsw i64 %380, %247
%382 = mul nsw i64 %381, 3
%383 = load double, double* %7
%384 = getelementptr inbounds double, double* %17, i64 %382
store double %383, double* %384
%385 = load double, double* %116
%386 = add nsw i64 %382, 1
%387 = getelementptr inbounds double, double* %17, i64 %386
store double %385, double* %387
%388 = load double, double* %117
%389 = add nsw i64 %382, 2
%390 = getelementptr inbounds double, double* %17, i64 %389
store double %388, double* %390
%391 = add nsw i64 %380, 1
%392 = icmp eq i64 %391, %248
br i1 %392, label %841, label %379
393: ; preds = %34
br i1 %27, label %394, label %403
394: ; preds = %393
%395 = fptosi double %1 to i32
br i1 %35, label %396, label %399
396: ; preds = %394
%397 = mul nsw i32 %395, 45
%398 = add nsw i32 %397, 15
br label %403
399: ; preds = %394
br i1 %36, label %400, label %403
400: ; preds = %399
%401 = mul nsw i32 %395, 63
%402 = add nsw i32 %401, 15
br label %403
403: ; preds = %393, %399, %400, %396
%404 = phi i32 [ %398, %396 ], [ %402, %400 ], [ undef, %399 ], [ 10, %393 ]
%405 = add nsw i32 %6, -20
%406 = sdiv i32 %405, 10
%407 = add nsw i32 %406, 10
%408 = mul nsw i32 %406, 5
%409 = add nsw i32 %408, %407
%410 = add nsw i32 %404, 10
%411 = sitofp i32 %408 to double
%412 = icmp eq i32 %4, 1
%413 = icmp sgt i32 %6, 29
%414 = and i1 %412, %413
br i1 %414, label %415, label %446
415: ; preds = %403
%416 = getelementptr inbounds [3 x double], [3 x double]* %19, i64 0, i64 0
%417 = mul i32 %407, %5
%418 = add i32 %417, %404
%419 = mul i32 %418, 3
%420 = mul i32 %5, 3
br label %421
421: ; preds = %415, %442
%422 = phi i64 [ 0, %415 ], [ %445, %442 ]
%423 = phi i32 [ %407, %415 ], [ %443, %442 ]
%424 = trunc i64 %422 to i32
%425 = mul i32 %420, %424
%426 = add i32 %419, %425
%427 = sext i32 %426 to i64
%428 = sub nsw i32 %423, %407
%429 = sitofp i32 %428 to double
%430 = fdiv double %429, %411
%431 = call i32 (double, double*, i32, ...) bitcast (i32 (...)* @value2_to_rgb to i32 (double, double*, i32, ...)*)(double %430, double* %416, i32 %8)
br label %432
432: ; preds = %421, %432
%433 = phi i64 [ 0, %421 ], [ %441, %432 ]
%434 = phi i32 [ %404, %421 ], [ %439, %432 ]
%435 = mul nuw nsw i64 %433, 3
%436 = add nsw i64 %435, %427
%437 = getelementptr double, double* %17, i64 %436
%438 = bitcast double* %437 to i8*
%439 = add nsw i32 %434, 1
%440 = icmp slt i32 %439, %410
%441 = add nuw nsw i64 %433, 1
br i1 %440, label %432, label %442
442: ; preds = %432
%443 = add nsw i32 %423, 1
%444 = icmp slt i32 %443, %409
%445 = add nuw nsw i64 %422, 1
br i1 %444, label %421, label %446
446: ; preds = %442, %403
br i1 %27, label %447, label %841
447: ; preds = %446
%448 = fptosi double %1 to i32
%449 = icmp sgt i32 %12, 0
br i1 %449, label %450, label %664
450: ; preds = %447
%451 = add nsw i32 %12, -1
%452 = sitofp i32 %451 to double
%453 = fdiv double 1.000000e+00, %452
%454 = fdiv double %411, %452
%455 = mul i32 %448, 7
%456 = sdiv i32 %455, -2
%457 = add i32 %407, %456
%458 = mul i32 %448, 5
%459 = sdiv i32 %458, -2
%460 = add i32 %407, %459
%461 = getelementptr inbounds [7 x [7 x i32]], [7 x [7 x i32]]* %23, i64 0, i64 0
%462 = icmp sgt i32 %448, 0
%463 = getelementptr inbounds double, double* %7, i64 1
%464 = getelementptr inbounds double, double* %7, i64 2
%465 = getelementptr inbounds [5 x [5 x i32]], [5 x [5 x i32]]* %22, i64 0, i64 0
%466 = select i1 %35, i32 5, i32 7
%467 = mul nsw i32 %466, %448
%468 = sdiv i32 %467, 2
%469 = call i32 @llvm.smax.i32(i32 %455, i32 1)
%470 = call i32 @llvm.smax.i32(i32 %458, i32 1)
%471 = sext i32 %404 to i64
%472 = sext i32 %410 to i64
%473 = zext i32 %469 to i64
%474 = zext i32 %470 to i64
%475 = add nsw i64 %471, 1
%476 = call i64 @llvm.smax.i64(i64 %475, i64 %472)
%477 = getelementptr double, double* %7, i64 3
%478 = add nsw i64 %471, 1
%479 = call i64 @llvm.smax.i64(i64 %478, i64 %472)
%480 = sub i64 %479, %471
%481 = icmp ult i64 %480, 2
%482 = and i64 %480, -2
%483 = add i64 %482, %471
%484 = icmp eq i64 %480, %482
br label %485
485: ; preds = %450, %660
%486 = phi i32 [ undef, %450 ], [ %661, %660 ]
%487 = phi i32 [ 0, %450 ], [ %662, %660 ]
%488 = icmp eq i32 %487, 0
br i1 %488, label %496, label %489
489: ; preds = %485
%490 = icmp eq i32 %487, %451
br i1 %490, label %496, label %491
491: ; preds = %489
%492 = sitofp i32 %487 to double
%493 = fmul double %453, %492
%494 = call i32 (double, double, double, i32, double*, i32, ...) bitcast (i32 (...)* @rgb_to_value to i32 (double, double, double, i32, double*, i32, ...)*)(double %493, double %13, double %14, i32 %9, double* %10, i32 %11)
%495 = sitofp i32 %494 to double
br label %496
496: ; preds = %489, %485, %491
%497 = phi double [ %495, %491 ], [ %15, %485 ], [ %16, %489 ]
br i1 %35, label %498, label %503
498: ; preds = %496
%499 = sitofp i32 %487 to double
%500 = fmul double %454, %499
%501 = fptosi double %500 to i32
%502 = add i32 %460, %501
br label %509
503: ; preds = %496
br i1 %36, label %504, label %509
504: ; preds = %503
%505 = sitofp i32 %487 to double
%506 = fmul double %454, %505
%507 = fptosi double %506 to i32
%508 = add i32 %457, %507
br label %509
509: ; preds = %503, %504, %498
%510 = phi i32 [ %502, %498 ], [ %508, %504 ], [ %486, %503 ]
%511 = call i32 (i8*, i8*, ...) @sprintf(i8* %24, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), double %497)
%512 = fcmp oge double %497, 0.000000e+00
br label %513
513: ; preds = %509, %598
%514 = phi i64 [ 0, %509 ], [ %604, %598 ]
%515 = phi i32 [ 10, %509 ], [ %603, %598 ]
%516 = sub nuw nsw i64 9, %514
%517 = getelementptr inbounds [128 x i8], [128 x i8]* %21, i64 0, i64 %516
%518 = load i8, i8* %517
%519 = sext i8 %518 to i32
br i1 %35, label %520, label %559
520: ; preds = %513
%521 = call i32 (i32, [5 x i32]*, ...) bitcast (i32 (...)* @font5_generate to i32 (i32, [5 x i32]*, ...)*)(i32 %519, [5 x i32]* %465)
br i1 %462, label %522, label %598
522: ; preds = %520, %556
%523 = phi i32 [ %557, %556 ], [ 0, %520 ]
%524 = sdiv i32 %523, %448
%525 = sub nsw i32 4, %524
%526 = sext i32 %525 to i64
%527 = add nsw i32 %523, %510
%528 = mul nsw i32 %527, %5
%529 = add nsw i32 %528, %515
br label %530
530: ; preds = %522, %530
%531 = phi i64 [ 0, %522 ], [ %554, %530 ]
%532 = trunc i64 %531 to i32
%533 = sdiv i32 %532, %448
%534 = sext i32 %533 to i64
%535 = getelementptr inbounds [5 x [5 x i32]], [5 x [5 x i32]]* %22, i64 0, i64 %526, i64 %534
%536 = load i32, i32* %535
%537 = sitofp i32 %536 to double
%538 = load double, double* %7
%539 = fmul double %538, %537
%540 = sub i32 %529, %532
%541 = mul nsw i32 %540, 3
%542 = sext i32 %541 to i64
%543 = getelementptr inbounds double, double* %17, i64 %542
store double %539, double* %543
%544 = load double, double* %463
%545 = fmul double %544, %537
%546 = add nsw i32 %541, 1
%547 = sext i32 %546 to i64
%548 = getelementptr inbounds double, double* %17, i64 %547
store double %545, double* %548
%549 = load double, double* %464
%550 = fmul double %549, %537
%551 = add nsw i32 %541, 2
%552 = sext i32 %551 to i64
%553 = getelementptr inbounds double, double* %17, i64 %552
store double %550, double* %553
%554 = add nuw nsw i64 %531, 1
%555 = icmp eq i64 %554, %474
br i1 %555, label %556, label %530
556: ; preds = %530
%557 = add nuw nsw i32 %523, 1
%558 = icmp eq i32 %557, %470
br i1 %558, label %598, label %522
559: ; preds = %513
%560 = call i32 (i32, [7 x i32]*, ...) bitcast (i32 (...)* @font7_generate to i32 (i32, [7 x i32]*, ...)*)(i32 %519, [7 x i32]* %461)
br i1 %462, label %561, label %598
561: ; preds = %559, %595
%562 = phi i32 [ %596, %595 ], [ 0, %559 ]
%563 = sdiv i32 %562, %448
%564 = sub nsw i32 6, %563
%565 = sext i32 %564 to i64
%566 = add nsw i32 %562, %510
%567 = mul nsw i32 %566, %5
%568 = add nsw i32 %567, %515
br label %569
569: ; preds = %561, %569
%570 = phi i64 [ 0, %561 ], [ %593, %569 ]
%571 = trunc i64 %570 to i32
%572 = sdiv i32 %571, %448
%573 = sext i32 %572 to i64
%574 = getelementptr inbounds [7 x [7 x i32]], [7 x [7 x i32]]* %23, i64 0, i64 %565, i64 %573
%575 = load i32, i32* %574
%576 = sitofp i32 %575 to double
%577 = load double, double* %7
%578 = fmul double %577, %576
%579 = sub i32 %568, %571
%580 = mul nsw i32 %579, 3
%581 = sext i32 %580 to i64
%582 = getelementptr inbounds double, double* %17, i64 %581
store double %578, double* %582
%583 = load double, double* %463
%584 = fmul double %583, %576
%585 = add nsw i32 %580, 1
%586 = sext i32 %585 to i64
%587 = getelementptr inbounds double, double* %17, i64 %586
store double %584, double* %587
%588 = load double, double* %464
%589 = fmul double %588, %576
%590 = add nsw i32 %580, 2
%591 = sext i32 %590 to i64
%592 = getelementptr inbounds double, double* %17, i64 %591
store double %589, double* %592
%593 = add nuw nsw i64 %570, 1
%594 = icmp eq i64 %593, %473
br i1 %594, label %595, label %569
595: ; preds = %569
%596 = add nuw nsw i32 %562, 1
%597 = icmp eq i32 %596, %469
br i1 %597, label %598, label %561
598: ; preds = %595, %556, %559, %520
%599 = phi i32 [ %458, %520 ], [ %455, %559 ], [ %458, %556 ], [ %455, %595 ]
%600 = icmp eq i64 %514, 9
%601 = select i1 %512, i1 %600, i1 false
%602 = select i1 %601, i32 0, i32 %599
%603 = add nsw i32 %602, %515
%604 = add nuw nsw i64 %514, 1
%605 = icmp eq i64 %604, 10
br i1 %605, label %606, label %513
606: ; preds = %598
%607 = icmp eq i32 %487, %451
%608 = select i1 %488, i1 true, i1 %607
br i1 %608, label %660, label %609
609: ; preds = %606
%610 = add nsw i32 %510, %468
%611 = mul nsw i32 %610, %5
%612 = sext i32 %611 to i64
br i1 %481, label %644, label %613
613: ; preds = %609
%614 = add nsw i64 %471, %612
%615 = mul nsw i64 %614, 3
%616 = getelementptr double, double* %17, i64 %615
%617 = add i64 %476, %612
%618 = mul nsw i64 %617, 3
%619 = getelementptr double, double* %17, i64 %618
%620 = icmp ult double* %616, %477
%621 = icmp ugt double* %619, %7
%622 = and i1 %620, %621
br i1 %622, label %644, label %623
623: ; preds = %613, %623
%624 = phi i64 [ %641, %623 ], [ 0, %613 ]
%625 = add i64 %624, %471
%626 = add nsw i64 %625, %612
%627 = mul nsw i64 %626, 3
%628 = load double, double* %7
%629 = insertelement <2 x double> poison, double %628, i64 0
%630 = shufflevector <2 x double> %629, <2 x double> poison, <2 x i32> zeroinitializer
%631 = load double, double* %463
%632 = insertelement <2 x double> poison, double %631, i64 0
%633 = shufflevector <2 x double> %632, <2 x double> poison, <2 x i32> zeroinitializer
%634 = load double, double* %464
%635 = insertelement <2 x double> poison, double %634, i64 0
%636 = getelementptr inbounds double, double* %17, i64 %627
%637 = bitcast double* %636 to <6 x double>*
%638 = shufflevector <2 x double> %630, <2 x double> %633, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%639 = shufflevector <2 x double> %635, <2 x double> poison, <4 x i32> <i32 0, i32 0, i32 undef, i32 undef>
%640 = shufflevector <4 x double> %638, <4 x double> %639, <6 x i32> <i32 0, i32 2, i32 4, i32 1, i32 3, i32 5>
store <6 x double> %640, <6 x double>* %637
%641 = add nuw i64 %624, 2
%642 = icmp eq i64 %641, %482
br i1 %642, label %643, label %623
643: ; preds = %623
br i1 %484, label %660, label %644
644: ; preds = %613, %609, %643
%645 = phi i64 [ %471, %613 ], [ %471, %609 ], [ %483, %643 ]
br label %646
646: ; preds = %644, %646
%647 = phi i64 [ %658, %646 ], [ %645, %644 ]
%648 = add nsw i64 %647, %612
%649 = mul nsw i64 %648, 3
%650 = load double, double* %7
%651 = getelementptr inbounds double, double* %17, i64 %649
store double %650, double* %651
%652 = load double, double* %463
%653 = add nsw i64 %649, 1
%654 = getelementptr inbounds double, double* %17, i64 %653
store double %652, double* %654
%655 = load double, double* %464
%656 = add nsw i64 %649, 2
%657 = getelementptr inbounds double, double* %17, i64 %656
store double %655, double* %657
%658 = add nsw i64 %647, 1
%659 = icmp slt i64 %658, %472
br i1 %659, label %646, label %660
660: ; preds = %646, %643, %606
%661 = phi i32 [ %510, %606 ], [ %610, %643 ], [ %610, %646 ]
%662 = add nuw i32 %487, 1
%663 = icmp eq i32 %662, %12
br i1 %663, label %664, label %485
664: ; preds = %660, %447
%665 = icmp eq i32 %3, 1
br i1 %665, label %666, label %841
666: ; preds = %664
%667 = fcmp olt double %13, 0.000000e+00
%668 = fcmp ogt double %14, 0.000000e+00
%669 = and i1 %667, %668
br i1 %669, label %670, label %841
670: ; preds = %666
%671 = fsub double 0.000000e+00, %13
%672 = fsub double %14, %13
%673 = fdiv double %671, %672
%674 = sitofp i32 %407 to double
%675 = call double @llvm.fmuladd.f64(double %673, double %411, double %674)
%676 = fptosi double %675 to i32
%677 = call i32 (i8*, i8*, ...) @sprintf(i8* %24, i8* dereferenceable(1) getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i64 0, i64 0), double 0.000000e+00)
%678 = getelementptr inbounds [7 x [7 x i32]], [7 x [7 x i32]]* %23, i64 0, i64 0
%679 = mul i32 %448, 7
%680 = icmp sgt i32 %448, 0
%681 = getelementptr inbounds double, double* %7, i64 1
%682 = getelementptr inbounds double, double* %7, i64 2
%683 = getelementptr inbounds [5 x [5 x i32]], [5 x [5 x i32]]* %22, i64 0, i64 0
%684 = mul i32 %448, 5
%685 = call i32 @llvm.smax.i32(i32 %679, i32 1)
%686 = call i32 @llvm.smax.i32(i32 %684, i32 1)
%687 = zext i32 %685 to i64
%688 = zext i32 %686 to i64
br label %709
689: ; preds = %803
%690 = mul nsw i32 %676, %5
%691 = add i32 %804, 3
%692 = sext i32 %804 to i64
%693 = sext i32 %690 to i64
%694 = call i32 @llvm.smax.i32(i32 %804, i32 %691)
%695 = add i32 %694, 1
%696 = sext i32 %695 to i64
%697 = add nsw i64 %692, 1
%698 = add nsw i64 %697, %693
%699 = mul nsw i64 %698, 3
%700 = load double, double* %7
%701 = getelementptr inbounds double, double* %17, i64 %699
store double %700, double* %701
%702 = load double, double* %681
%703 = add nsw i64 %699, 1
%704 = getelementptr inbounds double, double* %17, i64 %703
store double %702, double* %704
%705 = load double, double* %682
%706 = add nsw i64 %699, 2
%707 = getelementptr inbounds double, double* %17, i64 %706
store double %705, double* %707
%708 = icmp eq i64 %697, %696
br i1 %708, label %841, label %807
709: ; preds = %670, %803
%710 = phi i64 [ 0, %670 ], [ %805, %803 ]
%711 = phi i32 [ 10, %670 ], [ %804, %803 ]
br i1 %35, label %712, label %757
712: ; preds = %709
%713 = sub nuw nsw i64 9, %710
%714 = getelementptr inbounds [128 x i8], [128 x i8]* %21, i64 0, i64 %713
%715 = load i8, i8* %714
%716 = sext i8 %715 to i32
%717 = call i32 (i32, [5 x i32]*, ...) bitcast (i32 (...)* @font5_generate to i32 (i32, [5 x i32]*, ...)*)(i32 %716, [5 x i32]* %683)
br i1 %680, label %718, label %755
718: ; preds = %712, %752
%719 = phi i32 [ %753, %752 ], [ 0, %712 ]
%720 = sdiv i32 %719, %448
%721 = sub nsw i32 4, %720
%722 = sext i32 %721 to i64
%723 = add nsw i32 %719, %676
%724 = mul nsw i32 %723, %5
%725 = add nsw i32 %724, %711
br label %726
726: ; preds = %718, %726
%727 = phi i64 [ 0, %718 ], [ %750, %726 ]
%728 = trunc i64 %727 to i32
%729 = sdiv i32 %728, %448
%730 = sext i32 %729 to i64
%731 = getelementptr inbounds [5 x [5 x i32]], [5 x [5 x i32]]* %22, i64 0, i64 %722, i64 %730
%732 = load i32, i32* %731
%733 = sitofp i32 %732 to double
%734 = load double, double* %7
%735 = fmul double %734, %733
%736 = sub i32 %725, %728
%737 = mul nsw i32 %736, 3
%738 = sext i32 %737 to i64
%739 = getelementptr inbounds double, double* %17, i64 %738
store double %735, double* %739
%740 = load double, double* %681
%741 = fmul double %740, %733
%742 = add nsw i32 %737, 1
%743 = sext i32 %742 to i64
%744 = getelementptr inbounds double, double* %17, i64 %743
store double %741, double* %744
%745 = load double, double* %682
%746 = fmul double %745, %733
%747 = add nsw i32 %737, 2
%748 = sext i32 %747 to i64
%749 = getelementptr inbounds double, double* %17, i64 %748
store double %746, double* %749
%750 = add nuw nsw i64 %727, 1
%751 = icmp eq i64 %750, %688
br i1 %751, label %752, label %726
752: ; preds = %726
%753 = add nuw nsw i32 %719, 1
%754 = icmp eq i32 %753, %686
br i1 %754, label %755, label %718
755: ; preds = %752, %712
%756 = add nsw i32 %711, %684
br label %803
757: ; preds = %709
br i1 %36, label %758, label %803
758: ; preds = %757
%759 = sub nuw nsw i64 9, %710
%760 = getelementptr inbounds [128 x i8], [128 x i8]* %21, i64 0, i64 %759
%761 = load i8, i8* %760
%762 = sext i8 %761 to i32
%763 = call i32 (i32, [7 x i32]*, ...) bitcast (i32 (...)* @font7_generate to i32 (i32, [7 x i32]*, ...)*)(i32 %762, [7 x i32]* %678)
br i1 %680, label %764, label %801
764: ; preds = %758, %798
%765 = phi i32 [ %799, %798 ], [ 0, %758 ]
%766 = sdiv i32 %765, %448
%767 = sub nsw i32 6, %766
%768 = sext i32 %767 to i64
%769 = add nsw i32 %765, %676
%770 = mul nsw i32 %769, %5
%771 = add nsw i32 %770, %711
br label %772
772: ; preds = %764, %772
%773 = phi i64 [ 0, %764 ], [ %796, %772 ]
%774 = trunc i64 %773 to i32
%775 = sdiv i32 %774, %448
%776 = sext i32 %775 to i64
%777 = getelementptr inbounds [7 x [7 x i32]], [7 x [7 x i32]]* %23, i64 0, i64 %768, i64 %776
%778 = load i32, i32* %777
%779 = sitofp i32 %778 to double
%780 = load double, double* %7
%781 = fmul double %780, %779
%782 = sub i32 %771, %774
%783 = mul nsw i32 %782, 3
%784 = sext i32 %783 to i64
%785 = getelementptr inbounds double, double* %17, i64 %784
store double %781, double* %785
%786 = load double, double* %681
%787 = fmul double %786, %779
%788 = add nsw i32 %783, 1
%789 = sext i32 %788 to i64
%790 = getelementptr inbounds double, double* %17, i64 %789
store double %787, double* %790
%791 = load double, double* %682
%792 = fmul double %791, %779
%793 = add nsw i32 %783, 2
%794 = sext i32 %793 to i64
%795 = getelementptr inbounds double, double* %17, i64 %794
store double %792, double* %795
%796 = add nuw nsw i64 %773, 1
%797 = icmp eq i64 %796, %687
br i1 %797, label %798, label %772
798: ; preds = %772
%799 = add nuw nsw i32 %765, 1
%800 = icmp eq i32 %799, %685
br i1 %800, label %801, label %764
801: ; preds = %798, %758
%802 = add nsw i32 %711, %679
br label %803
803: ; preds = %755, %801, %757
%804 = phi i32 [ %756, %755 ], [ %802, %801 ], [ %711, %757 ]
%805 = add nuw nsw i64 %710, 1
%806 = icmp eq i64 %805, 10
br i1 %806, label %689, label %709
807: ; preds = %689
%808 = add nsw i64 %692, 2
%809 = add nsw i64 %808, %693
%810 = mul nsw i64 %809, 3
%811 = load double, double* %7
%812 = getelementptr inbounds double, double* %17, i64 %810
store double %811, double* %812
%813 = load double, double* %681
%814 = add nsw i64 %810, 1
%815 = getelementptr inbounds double, double* %17, i64 %814
store double %813, double* %815
%816 = load double, double* %682
%817 = add nsw i64 %810, 2
%818 = getelementptr inbounds double, double* %17, i64 %817
store double %816, double* %818
%819 = add nsw i64 %692, 3
%820 = add nsw i64 %819, %693
%821 = mul nsw i64 %820, 3
%822 = load double, double* %7
%823 = getelementptr inbounds double, double* %17, i64 %821
store double %822, double* %823
%824 = load double, double* %681
%825 = add nsw i64 %821, 1
%826 = getelementptr inbounds double, double* %17, i64 %825
store double %824, double* %826
%827 = load double, double* %682
%828 = add nsw i64 %821, 2
%829 = getelementptr inbounds double, double* %17, i64 %828
store double %827, double* %829
%830 = add nsw i64 %692, 4
%831 = add nsw i64 %830, %693
%832 = mul nsw i64 %831, 3
%833 = load double, double* %7
%834 = getelementptr inbounds double, double* %17, i64 %832
store double %833, double* %834
%835 = load double, double* %681
%836 = add nsw i64 %832, 1
%837 = getelementptr inbounds double, double* %17, i64 %836
store double %835, double* %837
%838 = load double, double* %682
%839 = add nsw i64 %832, 2
%840 = getelementptr inbounds double, double* %17, i64 %839
store double %838, double* %840
br label %841
841: ; preds = %379, %285, %689, %807, %242, %34, %664, %666, %446, %104, %227, %225
ret void
}