int xml_combining_char(int c) {
  if (c <= 0x0b43) {
    if (c <= 0x0983) {
      if (c <= 0x0670) {
        if (c <= 0x05b9) {
          if (c <= 0x0361) {
            if (c <= 0x0345) {
              return (c >= 0x0300 && c <= 0x0345);
            } else {
              return (c >= 0x0360 && c <= 0x0361);
            }
          } else {
            if (c <= 0x0486) {
              return (c >= 0x0483 && c <= 0x0486);
            } else {
              if (c <= 0x05a1) {
                return (c >= 0x0591 && c <= 0x05a1);
              } else {
                return (c >= 0x05a3 && c <= 0x05b9);
              }
            }
          }
        } else {
          if (c <= 0x05c2) {
            if (c <= 0x05bd) {
              return (c >= 0x05bb && c <= 0x05bd);
            } else {
              if (c <= 0x05bf) {
                return (c == 0x05bf);
              } else {
                return (c >= 0x05c1 && c <= 0x05c2);
              }
            }
          } else {
            if (c <= 0x05c4) {
              return (c == 0x05c4);
            } else {
              if (c <= 0x0652) {
                return (c >= 0x064b && c <= 0x0652);
              } else {
                return (c == 0x0670);
              }
            }
          }
        }
      } else {
        if (c <= 0x0903) {
          if (c <= 0x06e4) {
            if (c <= 0x06dc) {
              return (c >= 0x06d6 && c <= 0x06dc);
            } else {
              if (c <= 0x06df) {
                return (c >= 0x06dd && c <= 0x06df);
              } else {
                return (c >= 0x06e0 && c <= 0x06e4);
              }
            }
          } else {
            if (c <= 0x06e8) {
              return (c >= 0x06e7 && c <= 0x06e8);
            } else {
              if (c <= 0x06ed) {
                return (c >= 0x06ea && c <= 0x06ed);
              } else {
                return (c >= 0x0901 && c <= 0x0903);
              }
            }
          }
        } else {
          if (c <= 0x094d) {
            if (c <= 0x093c) {
              return (c == 0x093c);
            } else {
              if (c <= 0x094c) {
                return (c >= 0x093e && c <= 0x094c);
              } else {
                return (c == 0x094d);
              }
            }
          } else {
            if (c <= 0x0954) {
              return (c >= 0x0951 && c <= 0x0954);
            } else {
              if (c <= 0x0963) {
                return (c >= 0x0962 && c <= 0x0963);
              } else {
                return (c >= 0x0981 && c <= 0x0983);
              }
            }
          }
        }
      }
    } else {
      if (c <= 0x0a3f) {
        if (c <= 0x09cd) {
          if (c <= 0x09bf) {
            if (c <= 0x09bc) {
              return (c == 0x09bc);
            } else {
              if (c <= 0x09be) {
                return (c == 0x09be);
              } else {
                return (c == 0x09bf);
              }
            }
          } else {
            if (c <= 0x09c4) {
              return (c >= 0x09c0 && c <= 0x09c4);
            } else {
              if (c <= 0x09c8) {
                return (c >= 0x09c7 && c <= 0x09c8);
              } else {
                return (c >= 0x09cb && c <= 0x09cd);
              }
            }
          }
        } else {
          if (c <= 0x0a02) {
            if (c <= 0x09d7) {
              return (c == 0x09d7);
            } else {
              if (c <= 0x09e3) {
                return (c >= 0x09e2 && c <= 0x09e3);
              } else {
                return (c == 0x0a02);
              }
            }
          } else {
            if (c <= 0x0a3c) {
              return (c == 0x0a3c);
            } else {
              if (c <= 0x0a3e) {
                return (c == 0x0a3e);
              } else {
                return (c == 0x0a3f);
              }
            }
          }
        }
      } else {
        if (c <= 0x0abc) {
          if (c <= 0x0a4d) {
            if (c <= 0x0a42) {
              return (c >= 0x0a40 && c <= 0x0a42);
            } else {
              if (c <= 0x0a48) {
                return (c >= 0x0a47 && c <= 0x0a48);
              } else {
                return (c >= 0x0a4b && c <= 0x0a4d);
              }
            }
          } else {
            if (c <= 0x0a71) {
              return (c >= 0x0a70 && c <= 0x0a71);
            } else {
              if (c <= 0x0a83) {
                return (c >= 0x0a81 && c <= 0x0a83);
              } else {
                return (c == 0x0abc);
              }
            }
          }
        } else {
          if (c <= 0x0acd) {
            if (c <= 0x0ac5) {
              return (c >= 0x0abe && c <= 0x0ac5);
            } else {
              if (c <= 0x0ac9) {
                return (c >= 0x0ac7 && c <= 0x0ac9);
              } else {
                return (c >= 0x0acb && c <= 0x0acd);
              }
            }
          } else {
            if (c <= 0x0b03) {
              return (c >= 0x0b01 && c <= 0x0b03);
            } else {
              if (c <= 0x0b3c) {
                return (c == 0x0b3c);
              } else {
                return (c >= 0x0b3e && c <= 0x0b43);
              }
            }
          }
        }
      }
    }
  } else {
    if (c <= 0x0e31) {
      if (c <= 0x0c4d) {
        if (c <= 0x0bc8) {
          if (c <= 0x0b57) {
            if (c <= 0x0b48) {
              return (c >= 0x0b47 && c <= 0x0b48);
            } else {
              if (c <= 0x0b4d) {
                return (c >= 0x0b4b && c <= 0x0b4d);
              } else {
                return (c >= 0x0b56 && c <= 0x0b57);
              }
            }
          } else {
            if (c <= 0x0b83) {
              return (c >= 0x0b82 && c <= 0x0b83);
            } else {
              if (c <= 0x0bc2) {
                return (c >= 0x0bbe && c <= 0x0bc2);
              } else {
                return (c >= 0x0bc6 && c <= 0x0bc8);
              }
            }
          }
        } else {
          if (c <= 0x0c03) {
            if (c <= 0x0bcd) {
              return (c >= 0x0bca && c <= 0x0bcd);
            } else {
              if (c <= 0x0bd7) {
                return (c == 0x0bd7);
              } else {
                return (c >= 0x0c01 && c <= 0x0c03);
              }
            }
          } else {
            if (c <= 0x0c44) {
              return (c >= 0x0c3e && c <= 0x0c44);
            } else {
              if (c <= 0x0c48) {
                return (c >= 0x0c46 && c <= 0x0c48);
              } else {
                return (c >= 0x0c4a && c <= 0x0c4d);
              }
            }
          }
        }
      } else {
        if (c <= 0x0cd6) {
          if (c <= 0x0cc4) {
            if (c <= 0x0c56) {
              return (c >= 0x0c55 && c <= 0x0c56);
            } else {
              if (c <= 0x0c83) {
                return (c >= 0x0c82 && c <= 0x0c83);
              } else {
                return (c >= 0x0cbe && c <= 0x0cc4);
              }
            }
          } else {
            if (c <= 0x0cc8) {
              return (c >= 0x0cc6 && c <= 0x0cc8);
            } else {
              if (c <= 0x0ccd) {
                return (c >= 0x0cca && c <= 0x0ccd);
              } else {
                return (c >= 0x0cd5 && c <= 0x0cd6);
              }
            }
          }
        } else {
          if (c <= 0x0d48) {
            if (c <= 0x0d03) {
              return (c >= 0x0d02 && c <= 0x0d03);
            } else {
              if (c <= 0x0d43) {
                return (c >= 0x0d3e && c <= 0x0d43);
              } else {
                return (c >= 0x0d46 && c <= 0x0d48);
              }
            }
          } else {
            if (c <= 0x0d4d) {
              return (c >= 0x0d4a && c <= 0x0d4d);
            } else {
              if (c <= 0x0d57) {
                return (c == 0x0d57);
              } else {
                return (c == 0x0e31);
              }
            }
          }
        }
      }
    } else {
      if (c <= 0x0f3f) {
        if (c <= 0x0ecd) {
          if (c <= 0x0eb1) {
            if (c <= 0x0e3a) {
              return (c >= 0x0e34 && c <= 0x0e3a);
            } else {
              if (c <= 0x0e4e) {
                return (c >= 0x0e47 && c <= 0x0e4e);
              } else {
                return (c == 0x0eb1);
              }
            }
          } else {
            if (c <= 0x0eb9) {
              return (c >= 0x0eb4 && c <= 0x0eb9);
            } else {
              if (c <= 0x0ebc) {
                return (c >= 0x0ebb && c <= 0x0ebc);
              } else {
                return (c >= 0x0ec8 && c <= 0x0ecd);
              }
            }
          }
        } else {
          if (c <= 0x0f37) {
            if (c <= 0x0f19) {
              return (c >= 0x0f18 && c <= 0x0f19);
            } else {
              if (c <= 0x0f35) {
                return (c == 0x0f35);
              } else {
                return (c == 0x0f37);
              }
            }
          } else {
            if (c <= 0x0f39) {
              return (c == 0x0f39);
            } else {
              if (c <= 0x0f3e) {
                return (c == 0x0f3e);
              } else {
                return (c == 0x0f3f);
              }
            }
          }
        }
      } else {
        if (c <= 0x0fb7) {
          if (c <= 0x0f95) {
            if (c <= 0x0f84) {
              return (c >= 0x0f71 && c <= 0x0f84);
            } else {
              if (c <= 0x0f8b) {
                return (c >= 0x0f86 && c <= 0x0f8b);
              } else {
                return (c >= 0x0f90 && c <= 0x0f95);
              }
            }
          } else {
            if (c <= 0x0f97) {
              return (c == 0x0f97);
            } else {
              if (c <= 0x0fad) {
                return (c >= 0x0f99 && c <= 0x0fad);
              } else {
                return (c >= 0x0fb1 && c <= 0x0fb7);
              }
            }
          }
        } else {
          if (c <= 0x20e1) {
            if (c <= 0x0fb9) {
              return (c == 0x0fb9);
            } else {
              if (c <= 0x20dc) {
                return (c >= 0x20d0 && c <= 0x20dc);
              } else {
                return (c == 0x20e1);
              }
            }
          } else {
            if (c <= 0x302f) {
              return (c >= 0x302a && c <= 0x302f);
            } else {
              if (c <= 0x3099) {
                return (c == 0x3099);
              } else {
                return (c == 0x309a);
              }
            }
          }
        }
      }
    }
  }
}


x86 assembly (clang, -O0):
<xml_combining_char>:
push   %rbp
mov    %rsp,%rbp
mov    %edi,-0x8(%rbp)
cmpl   $0xb43,-0x8(%rbp)
jg     1aa3 <xml_combining_char+0x9a3>
cmpl   $0x983,-0x8(%rbp)
jg     1600 <xml_combining_char+0x500>
cmpl   $0x670,-0x8(%rbp)
jg     136d <xml_combining_char+0x26d>
cmpl   $0x5b9,-0x8(%rbp)
jg     125a <xml_combining_char+0x15a>
cmpl   $0x361,-0x8(%rbp)
jg     11b3 <xml_combining_char+0xb3>
cmpl   $0x345,-0x8(%rbp)
jg     1184 <xml_combining_char+0x84>
xor    %eax,%eax
cmpl   $0x300,-0x8(%rbp)
mov    %al,-0x9(%rbp)
jl     1174 <xml_combining_char+0x74>
cmpl   $0x345,-0x8(%rbp)
setle  %al
mov    %al,-0x9(%rbp)
mov    -0x9(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0x360,-0x8(%rbp)
mov    %al,-0xa(%rbp)
jl     11a3 <xml_combining_char+0xa3>
cmpl   $0x361,-0x8(%rbp)
setle  %al
mov    %al,-0xa(%rbp)
mov    -0xa(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x486,-0x8(%rbp)
jg     11ef <xml_combining_char+0xef>
xor    %eax,%eax
cmpl   $0x483,-0x8(%rbp)
mov    %al,-0xb(%rbp)
jl     11df <xml_combining_char+0xdf>
cmpl   $0x486,-0x8(%rbp)
setle  %al
mov    %al,-0xb(%rbp)
mov    -0xb(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x5a1,-0x8(%rbp)
jg     122b <xml_combining_char+0x12b>
xor    %eax,%eax
cmpl   $0x591,-0x8(%rbp)
mov    %al,-0xc(%rbp)
jl     121b <xml_combining_char+0x11b>
cmpl   $0x5a1,-0x8(%rbp)
setle  %al
mov    %al,-0xc(%rbp)
mov    -0xc(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0x5a3,-0x8(%rbp)
mov    %al,-0xd(%rbp)
jl     124a <xml_combining_char+0x14a>
cmpl   $0x5b9,-0x8(%rbp)
setle  %al
mov    %al,-0xd(%rbp)
mov    -0xd(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x5c2,-0x8(%rbp)
jg     12f6 <xml_combining_char+0x1f6>
cmpl   $0x5bd,-0x8(%rbp)
jg     12a3 <xml_combining_char+0x1a3>
xor    %eax,%eax
cmpl   $0x5bb,-0x8(%rbp)
mov    %al,-0xe(%rbp)
jl     1293 <xml_combining_char+0x193>
cmpl   $0x5bd,-0x8(%rbp)
setle  %al
mov    %al,-0xe(%rbp)
mov    -0xe(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x5bf,-0x8(%rbp)
jg     12c7 <xml_combining_char+0x1c7>
cmpl   $0x5bf,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0x5c1,-0x8(%rbp)
mov    %al,-0xf(%rbp)
jl     12e6 <xml_combining_char+0x1e6>
cmpl   $0x5c2,-0x8(%rbp)
setle  %al
mov    %al,-0xf(%rbp)
mov    -0xf(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x5c4,-0x8(%rbp)
jg     131a <xml_combining_char+0x21a>
cmpl   $0x5c4,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x652,-0x8(%rbp)
jg     1356 <xml_combining_char+0x256>
xor    %eax,%eax
cmpl   $0x64b,-0x8(%rbp)
mov    %al,-0x10(%rbp)
jl     1346 <xml_combining_char+0x246>
cmpl   $0x652,-0x8(%rbp)
setle  %al
mov    %al,-0x10(%rbp)
mov    -0x10(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x670,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x903,-0x8(%rbp)
jg     14d5 <xml_combining_char+0x3d5>
cmpl   $0x6e4,-0x8(%rbp)
jg     142e <xml_combining_char+0x32e>
cmpl   $0x6dc,-0x8(%rbp)
jg     13c3 <xml_combining_char+0x2c3>
xor    %eax,%eax
cmpl   $0x6d6,-0x8(%rbp)
mov    %al,-0x11(%rbp)
jl     13b3 <xml_combining_char+0x2b3>
cmpl   $0x6dc,-0x8(%rbp)
setle  %al
mov    %al,-0x11(%rbp)
mov    -0x11(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x6df,-0x8(%rbp)
jg     13ff <xml_combining_char+0x2ff>
xor    %eax,%eax
cmpl   $0x6dd,-0x8(%rbp)
mov    %al,-0x12(%rbp)
jl     13ef <xml_combining_char+0x2ef>
cmpl   $0x6df,-0x8(%rbp)
setle  %al
mov    %al,-0x12(%rbp)
mov    -0x12(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0x6e0,-0x8(%rbp)
mov    %al,-0x13(%rbp)
jl     141e <xml_combining_char+0x31e>
cmpl   $0x6e4,-0x8(%rbp)
setle  %al
mov    %al,-0x13(%rbp)
mov    -0x13(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x6e8,-0x8(%rbp)
jg     146a <xml_combining_char+0x36a>
xor    %eax,%eax
cmpl   $0x6e7,-0x8(%rbp)
mov    %al,-0x14(%rbp)
jl     145a <xml_combining_char+0x35a>
cmpl   $0x6e8,-0x8(%rbp)
setle  %al
mov    %al,-0x14(%rbp)
mov    -0x14(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x6ed,-0x8(%rbp)
jg     14a6 <xml_combining_char+0x3a6>
xor    %eax,%eax
cmpl   $0x6ea,-0x8(%rbp)
mov    %al,-0x15(%rbp)
jl     1496 <xml_combining_char+0x396>
cmpl   $0x6ed,-0x8(%rbp)
setle  %al
mov    %al,-0x15(%rbp)
mov    -0x15(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0x901,-0x8(%rbp)
mov    %al,-0x16(%rbp)
jl     14c5 <xml_combining_char+0x3c5>
cmpl   $0x903,-0x8(%rbp)
setle  %al
mov    %al,-0x16(%rbp)
mov    -0x16(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x94d,-0x8(%rbp)
jg     1559 <xml_combining_char+0x459>
cmpl   $0x93c,-0x8(%rbp)
jg     1506 <xml_combining_char+0x406>
cmpl   $0x93c,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x94c,-0x8(%rbp)
jg     1542 <xml_combining_char+0x442>
xor    %eax,%eax
cmpl   $0x93e,-0x8(%rbp)
mov    %al,-0x17(%rbp)
jl     1532 <xml_combining_char+0x432>
cmpl   $0x94c,-0x8(%rbp)
setle  %al
mov    %al,-0x17(%rbp)
mov    -0x17(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x94d,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x954,-0x8(%rbp)
jg     1595 <xml_combining_char+0x495>
xor    %eax,%eax
cmpl   $0x951,-0x8(%rbp)
mov    %al,-0x18(%rbp)
jl     1585 <xml_combining_char+0x485>
cmpl   $0x954,-0x8(%rbp)
setle  %al
mov    %al,-0x18(%rbp)
mov    -0x18(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x963,-0x8(%rbp)
jg     15d1 <xml_combining_char+0x4d1>
xor    %eax,%eax
cmpl   $0x962,-0x8(%rbp)
mov    %al,-0x19(%rbp)
jl     15c1 <xml_combining_char+0x4c1>
cmpl   $0x963,-0x8(%rbp)
setle  %al
mov    %al,-0x19(%rbp)
mov    -0x19(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0x981,-0x8(%rbp)
mov    %al,-0x1a(%rbp)
jl     15f0 <xml_combining_char+0x4f0>
cmpl   $0x983,-0x8(%rbp)
setle  %al
mov    %al,-0x1a(%rbp)
mov    -0x1a(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa3f,-0x8(%rbp)
jg     1810 <xml_combining_char+0x710>
cmpl   $0x9cd,-0x8(%rbp)
jg     172d <xml_combining_char+0x62d>
cmpl   $0x9bf,-0x8(%rbp)
jg     1686 <xml_combining_char+0x586>
cmpl   $0x9bc,-0x8(%rbp)
jg     164b <xml_combining_char+0x54b>
cmpl   $0x9bc,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x9be,-0x8(%rbp)
jg     166f <xml_combining_char+0x56f>
cmpl   $0x9be,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x9bf,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x9c4,-0x8(%rbp)
jg     16c2 <xml_combining_char+0x5c2>
xor    %eax,%eax
cmpl   $0x9c0,-0x8(%rbp)
mov    %al,-0x1b(%rbp)
jl     16b2 <xml_combining_char+0x5b2>
cmpl   $0x9c4,-0x8(%rbp)
setle  %al
mov    %al,-0x1b(%rbp)
mov    -0x1b(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x9c8,-0x8(%rbp)
jg     16fe <xml_combining_char+0x5fe>
xor    %eax,%eax
cmpl   $0x9c7,-0x8(%rbp)
mov    %al,-0x1c(%rbp)
jl     16ee <xml_combining_char+0x5ee>
cmpl   $0x9c8,-0x8(%rbp)
setle  %al
mov    %al,-0x1c(%rbp)
mov    -0x1c(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0x9cb,-0x8(%rbp)
mov    %al,-0x1d(%rbp)
jl     171d <xml_combining_char+0x61d>
cmpl   $0x9cd,-0x8(%rbp)
setle  %al
mov    %al,-0x1d(%rbp)
mov    -0x1d(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa02,-0x8(%rbp)
jg     17b1 <xml_combining_char+0x6b1>
cmpl   $0x9d7,-0x8(%rbp)
jg     175e <xml_combining_char+0x65e>
cmpl   $0x9d7,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x9e3,-0x8(%rbp)
jg     179a <xml_combining_char+0x69a>
xor    %eax,%eax
cmpl   $0x9e2,-0x8(%rbp)
mov    %al,-0x1e(%rbp)
jl     178a <xml_combining_char+0x68a>
cmpl   $0x9e3,-0x8(%rbp)
setle  %al
mov    %al,-0x1e(%rbp)
mov    -0x1e(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa02,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa3c,-0x8(%rbp)
jg     17d5 <xml_combining_char+0x6d5>
cmpl   $0xa3c,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa3e,-0x8(%rbp)
jg     17f9 <xml_combining_char+0x6f9>
cmpl   $0xa3e,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa3f,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xabc,-0x8(%rbp)
jg     1960 <xml_combining_char+0x860>
cmpl   $0xa4d,-0x8(%rbp)
jg     18d1 <xml_combining_char+0x7d1>
cmpl   $0xa42,-0x8(%rbp)
jg     1866 <xml_combining_char+0x766>
xor    %eax,%eax
cmpl   $0xa40,-0x8(%rbp)
mov    %al,-0x1f(%rbp)
jl     1856 <xml_combining_char+0x756>
cmpl   $0xa42,-0x8(%rbp)
setle  %al
mov    %al,-0x1f(%rbp)
mov    -0x1f(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa48,-0x8(%rbp)
jg     18a2 <xml_combining_char+0x7a2>
xor    %eax,%eax
cmpl   $0xa47,-0x8(%rbp)
mov    %al,-0x20(%rbp)
jl     1892 <xml_combining_char+0x792>
cmpl   $0xa48,-0x8(%rbp)
setle  %al
mov    %al,-0x20(%rbp)
mov    -0x20(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xa4b,-0x8(%rbp)
mov    %al,-0x21(%rbp)
jl     18c1 <xml_combining_char+0x7c1>
cmpl   $0xa4d,-0x8(%rbp)
setle  %al
mov    %al,-0x21(%rbp)
mov    -0x21(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa71,-0x8(%rbp)
jg     190d <xml_combining_char+0x80d>
xor    %eax,%eax
cmpl   $0xa70,-0x8(%rbp)
mov    %al,-0x22(%rbp)
jl     18fd <xml_combining_char+0x7fd>
cmpl   $0xa71,-0x8(%rbp)
setle  %al
mov    %al,-0x22(%rbp)
mov    -0x22(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xa83,-0x8(%rbp)
jg     1949 <xml_combining_char+0x849>
xor    %eax,%eax
cmpl   $0xa81,-0x8(%rbp)
mov    %al,-0x23(%rbp)
jl     1939 <xml_combining_char+0x839>
cmpl   $0xa83,-0x8(%rbp)
setle  %al
mov    %al,-0x23(%rbp)
mov    -0x23(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xabc,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xacd,-0x8(%rbp)
jg     1a14 <xml_combining_char+0x914>
cmpl   $0xac5,-0x8(%rbp)
jg     19a9 <xml_combining_char+0x8a9>
xor    %eax,%eax
cmpl   $0xabe,-0x8(%rbp)
mov    %al,-0x24(%rbp)
jl     1999 <xml_combining_char+0x899>
cmpl   $0xac5,-0x8(%rbp)
setle  %al
mov    %al,-0x24(%rbp)
mov    -0x24(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xac9,-0x8(%rbp)
jg     19e5 <xml_combining_char+0x8e5>
xor    %eax,%eax
cmpl   $0xac7,-0x8(%rbp)
mov    %al,-0x25(%rbp)
jl     19d5 <xml_combining_char+0x8d5>
cmpl   $0xac9,-0x8(%rbp)
setle  %al
mov    %al,-0x25(%rbp)
mov    -0x25(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xacb,-0x8(%rbp)
mov    %al,-0x26(%rbp)
jl     1a04 <xml_combining_char+0x904>
cmpl   $0xacd,-0x8(%rbp)
setle  %al
mov    %al,-0x26(%rbp)
mov    -0x26(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xb03,-0x8(%rbp)
jg     1a50 <xml_combining_char+0x950>
xor    %eax,%eax
cmpl   $0xb01,-0x8(%rbp)
mov    %al,-0x27(%rbp)
jl     1a40 <xml_combining_char+0x940>
cmpl   $0xb03,-0x8(%rbp)
setle  %al
mov    %al,-0x27(%rbp)
mov    -0x27(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xb3c,-0x8(%rbp)
jg     1a74 <xml_combining_char+0x974>
cmpl   $0xb3c,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xb3e,-0x8(%rbp)
mov    %al,-0x28(%rbp)
jl     1a93 <xml_combining_char+0x993>
cmpl   $0xb43,-0x8(%rbp)
setle  %al
mov    %al,-0x28(%rbp)
mov    -0x28(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xe31,-0x8(%rbp)
jg     1ffb <xml_combining_char+0xefb>
cmpl   $0xc4d,-0x8(%rbp)
jg     1d68 <xml_combining_char+0xc68>
cmpl   $0xbc8,-0x8(%rbp)
jg     1c25 <xml_combining_char+0xb25>
cmpl   $0xb57,-0x8(%rbp)
jg     1b7e <xml_combining_char+0xa7e>
cmpl   $0xb48,-0x8(%rbp)
jg     1b13 <xml_combining_char+0xa13>
xor    %eax,%eax
cmpl   $0xb47,-0x8(%rbp)
mov    %al,-0x29(%rbp)
jl     1b03 <xml_combining_char+0xa03>
cmpl   $0xb48,-0x8(%rbp)
setle  %al
mov    %al,-0x29(%rbp)
mov    -0x29(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xb4d,-0x8(%rbp)
jg     1b4f <xml_combining_char+0xa4f>
xor    %eax,%eax
cmpl   $0xb4b,-0x8(%rbp)
mov    %al,-0x2a(%rbp)
jl     1b3f <xml_combining_char+0xa3f>
cmpl   $0xb4d,-0x8(%rbp)
setle  %al
mov    %al,-0x2a(%rbp)
mov    -0x2a(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xb56,-0x8(%rbp)
mov    %al,-0x2b(%rbp)
jl     1b6e <xml_combining_char+0xa6e>
cmpl   $0xb57,-0x8(%rbp)
setle  %al
mov    %al,-0x2b(%rbp)
mov    -0x2b(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xb83,-0x8(%rbp)
jg     1bba <xml_combining_char+0xaba>
xor    %eax,%eax
cmpl   $0xb82,-0x8(%rbp)
mov    %al,-0x2c(%rbp)
jl     1baa <xml_combining_char+0xaaa>
cmpl   $0xb83,-0x8(%rbp)
setle  %al
mov    %al,-0x2c(%rbp)
mov    -0x2c(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xbc2,-0x8(%rbp)
jg     1bf6 <xml_combining_char+0xaf6>
xor    %eax,%eax
cmpl   $0xbbe,-0x8(%rbp)
mov    %al,-0x2d(%rbp)
jl     1be6 <xml_combining_char+0xae6>
cmpl   $0xbc2,-0x8(%rbp)
setle  %al
mov    %al,-0x2d(%rbp)
mov    -0x2d(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xbc6,-0x8(%rbp)
mov    %al,-0x2e(%rbp)
jl     1c15 <xml_combining_char+0xb15>
cmpl   $0xbc8,-0x8(%rbp)
setle  %al
mov    %al,-0x2e(%rbp)
mov    -0x2e(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xc03,-0x8(%rbp)
jg     1cc1 <xml_combining_char+0xbc1>
cmpl   $0xbcd,-0x8(%rbp)
jg     1c6e <xml_combining_char+0xb6e>
xor    %eax,%eax
cmpl   $0xbca,-0x8(%rbp)
mov    %al,-0x2f(%rbp)
jl     1c5e <xml_combining_char+0xb5e>
cmpl   $0xbcd,-0x8(%rbp)
setle  %al
mov    %al,-0x2f(%rbp)
mov    -0x2f(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xbd7,-0x8(%rbp)
jg     1c92 <xml_combining_char+0xb92>
cmpl   $0xbd7,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xc01,-0x8(%rbp)
mov    %al,-0x30(%rbp)
jl     1cb1 <xml_combining_char+0xbb1>
cmpl   $0xc03,-0x8(%rbp)
setle  %al
mov    %al,-0x30(%rbp)
mov    -0x30(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xc44,-0x8(%rbp)
jg     1cfd <xml_combining_char+0xbfd>
xor    %eax,%eax
cmpl   $0xc3e,-0x8(%rbp)
mov    %al,-0x31(%rbp)
jl     1ced <xml_combining_char+0xbed>
cmpl   $0xc44,-0x8(%rbp)
setle  %al
mov    %al,-0x31(%rbp)
mov    -0x31(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xc48,-0x8(%rbp)
jg     1d39 <xml_combining_char+0xc39>
xor    %eax,%eax
cmpl   $0xc46,-0x8(%rbp)
mov    %al,-0x32(%rbp)
jl     1d29 <xml_combining_char+0xc29>
cmpl   $0xc48,-0x8(%rbp)
setle  %al
mov    %al,-0x32(%rbp)
mov    -0x32(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xc4a,-0x8(%rbp)
mov    %al,-0x33(%rbp)
jl     1d58 <xml_combining_char+0xc58>
cmpl   $0xc4d,-0x8(%rbp)
setle  %al
mov    %al,-0x33(%rbp)
mov    -0x33(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xcd6,-0x8(%rbp)
jg     1ed0 <xml_combining_char+0xdd0>
cmpl   $0xcc4,-0x8(%rbp)
jg     1e29 <xml_combining_char+0xd29>
cmpl   $0xc56,-0x8(%rbp)
jg     1dbe <xml_combining_char+0xcbe>
xor    %eax,%eax
cmpl   $0xc55,-0x8(%rbp)
mov    %al,-0x34(%rbp)
jl     1dae <xml_combining_char+0xcae>
cmpl   $0xc56,-0x8(%rbp)
setle  %al
mov    %al,-0x34(%rbp)
mov    -0x34(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xc83,-0x8(%rbp)
jg     1dfa <xml_combining_char+0xcfa>
xor    %eax,%eax
cmpl   $0xc82,-0x8(%rbp)
mov    %al,-0x35(%rbp)
jl     1dea <xml_combining_char+0xcea>
cmpl   $0xc83,-0x8(%rbp)
setle  %al
mov    %al,-0x35(%rbp)
mov    -0x35(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xcbe,-0x8(%rbp)
mov    %al,-0x36(%rbp)
jl     1e19 <xml_combining_char+0xd19>
cmpl   $0xcc4,-0x8(%rbp)
setle  %al
mov    %al,-0x36(%rbp)
mov    -0x36(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xcc8,-0x8(%rbp)
jg     1e65 <xml_combining_char+0xd65>
xor    %eax,%eax
cmpl   $0xcc6,-0x8(%rbp)
mov    %al,-0x37(%rbp)
jl     1e55 <xml_combining_char+0xd55>
cmpl   $0xcc8,-0x8(%rbp)
setle  %al
mov    %al,-0x37(%rbp)
mov    -0x37(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xccd,-0x8(%rbp)
jg     1ea1 <xml_combining_char+0xda1>
xor    %eax,%eax
cmpl   $0xcca,-0x8(%rbp)
mov    %al,-0x38(%rbp)
jl     1e91 <xml_combining_char+0xd91>
cmpl   $0xccd,-0x8(%rbp)
setle  %al
mov    %al,-0x38(%rbp)
mov    -0x38(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xcd5,-0x8(%rbp)
mov    %al,-0x39(%rbp)
jl     1ec0 <xml_combining_char+0xdc0>
cmpl   $0xcd6,-0x8(%rbp)
setle  %al
mov    %al,-0x39(%rbp)
mov    -0x39(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xd48,-0x8(%rbp)
jg     1f84 <xml_combining_char+0xe84>
cmpl   $0xd03,-0x8(%rbp)
jg     1f19 <xml_combining_char+0xe19>
xor    %eax,%eax
cmpl   $0xd02,-0x8(%rbp)
mov    %al,-0x3a(%rbp)
jl     1f09 <xml_combining_char+0xe09>
cmpl   $0xd03,-0x8(%rbp)
setle  %al
mov    %al,-0x3a(%rbp)
mov    -0x3a(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xd43,-0x8(%rbp)
jg     1f55 <xml_combining_char+0xe55>
xor    %eax,%eax
cmpl   $0xd3e,-0x8(%rbp)
mov    %al,-0x3b(%rbp)
jl     1f45 <xml_combining_char+0xe45>
cmpl   $0xd43,-0x8(%rbp)
setle  %al
mov    %al,-0x3b(%rbp)
mov    -0x3b(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xd46,-0x8(%rbp)
mov    %al,-0x3c(%rbp)
jl     1f74 <xml_combining_char+0xe74>
cmpl   $0xd48,-0x8(%rbp)
setle  %al
mov    %al,-0x3c(%rbp)
mov    -0x3c(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xd4d,-0x8(%rbp)
jg     1fc0 <xml_combining_char+0xec0>
xor    %eax,%eax
cmpl   $0xd4a,-0x8(%rbp)
mov    %al,-0x3d(%rbp)
jl     1fb0 <xml_combining_char+0xeb0>
cmpl   $0xd4d,-0x8(%rbp)
setle  %al
mov    %al,-0x3d(%rbp)
mov    -0x3d(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xd57,-0x8(%rbp)
jg     1fe4 <xml_combining_char+0xee4>
cmpl   $0xd57,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xe31,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf3f,-0x8(%rbp)
jg     223b <xml_combining_char+0x113b>
cmpl   $0xecd,-0x8(%rbp)
jg     2158 <xml_combining_char+0x1058>
cmpl   $0xeb1,-0x8(%rbp)
jg     20b1 <xml_combining_char+0xfb1>
cmpl   $0xe3a,-0x8(%rbp)
jg     205e <xml_combining_char+0xf5e>
xor    %eax,%eax
cmpl   $0xe34,-0x8(%rbp)
mov    %al,-0x3e(%rbp)
jl     204e <xml_combining_char+0xf4e>
cmpl   $0xe3a,-0x8(%rbp)
setle  %al
mov    %al,-0x3e(%rbp)
mov    -0x3e(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xe4e,-0x8(%rbp)
jg     209a <xml_combining_char+0xf9a>
xor    %eax,%eax
cmpl   $0xe47,-0x8(%rbp)
mov    %al,-0x3f(%rbp)
jl     208a <xml_combining_char+0xf8a>
cmpl   $0xe4e,-0x8(%rbp)
setle  %al
mov    %al,-0x3f(%rbp)
mov    -0x3f(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xeb1,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xeb9,-0x8(%rbp)
jg     20ed <xml_combining_char+0xfed>
xor    %eax,%eax
cmpl   $0xeb4,-0x8(%rbp)
mov    %al,-0x40(%rbp)
jl     20dd <xml_combining_char+0xfdd>
cmpl   $0xeb9,-0x8(%rbp)
setle  %al
mov    %al,-0x40(%rbp)
mov    -0x40(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xebc,-0x8(%rbp)
jg     2129 <xml_combining_char+0x1029>
xor    %eax,%eax
cmpl   $0xebb,-0x8(%rbp)
mov    %al,-0x41(%rbp)
jl     2119 <xml_combining_char+0x1019>
cmpl   $0xebc,-0x8(%rbp)
setle  %al
mov    %al,-0x41(%rbp)
mov    -0x41(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xec8,-0x8(%rbp)
mov    %al,-0x42(%rbp)
jl     2148 <xml_combining_char+0x1048>
cmpl   $0xecd,-0x8(%rbp)
setle  %al
mov    %al,-0x42(%rbp)
mov    -0x42(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf37,-0x8(%rbp)
jg     21dc <xml_combining_char+0x10dc>
cmpl   $0xf19,-0x8(%rbp)
jg     21a1 <xml_combining_char+0x10a1>
xor    %eax,%eax
cmpl   $0xf18,-0x8(%rbp)
mov    %al,-0x43(%rbp)
jl     2191 <xml_combining_char+0x1091>
cmpl   $0xf19,-0x8(%rbp)
setle  %al
mov    %al,-0x43(%rbp)
mov    -0x43(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf35,-0x8(%rbp)
jg     21c5 <xml_combining_char+0x10c5>
cmpl   $0xf35,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf37,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf39,-0x8(%rbp)
jg     2200 <xml_combining_char+0x1100>
cmpl   $0xf39,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf3e,-0x8(%rbp)
jg     2224 <xml_combining_char+0x1124>
cmpl   $0xf3e,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf3f,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xfb7,-0x8(%rbp)
jg     238b <xml_combining_char+0x128b>
cmpl   $0xf95,-0x8(%rbp)
jg     22fc <xml_combining_char+0x11fc>
cmpl   $0xf84,-0x8(%rbp)
jg     2291 <xml_combining_char+0x1191>
xor    %eax,%eax
cmpl   $0xf71,-0x8(%rbp)
mov    %al,-0x44(%rbp)
jl     2281 <xml_combining_char+0x1181>
cmpl   $0xf84,-0x8(%rbp)
setle  %al
mov    %al,-0x44(%rbp)
mov    -0x44(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf8b,-0x8(%rbp)
jg     22cd <xml_combining_char+0x11cd>
xor    %eax,%eax
cmpl   $0xf86,-0x8(%rbp)
mov    %al,-0x45(%rbp)
jl     22bd <xml_combining_char+0x11bd>
cmpl   $0xf8b,-0x8(%rbp)
setle  %al
mov    %al,-0x45(%rbp)
mov    -0x45(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xf90,-0x8(%rbp)
mov    %al,-0x46(%rbp)
jl     22ec <xml_combining_char+0x11ec>
cmpl   $0xf95,-0x8(%rbp)
setle  %al
mov    %al,-0x46(%rbp)
mov    -0x46(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xf97,-0x8(%rbp)
jg     2320 <xml_combining_char+0x1220>
cmpl   $0xf97,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0xfad,-0x8(%rbp)
jg     235c <xml_combining_char+0x125c>
xor    %eax,%eax
cmpl   $0xf99,-0x8(%rbp)
mov    %al,-0x47(%rbp)
jl     234c <xml_combining_char+0x124c>
cmpl   $0xfad,-0x8(%rbp)
setle  %al
mov    %al,-0x47(%rbp)
mov    -0x47(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
xor    %eax,%eax
cmpl   $0xfb1,-0x8(%rbp)
mov    %al,-0x48(%rbp)
jl     237b <xml_combining_char+0x127b>
cmpl   $0xfb7,-0x8(%rbp)
setle  %al
mov    %al,-0x48(%rbp)
mov    -0x48(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x20e1,-0x8(%rbp)
jg     240f <xml_combining_char+0x130f>
cmpl   $0xfb9,-0x8(%rbp)
jg     23bc <xml_combining_char+0x12bc>
cmpl   $0xfb9,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x20dc,-0x8(%rbp)
jg     23f8 <xml_combining_char+0x12f8>
xor    %eax,%eax
cmpl   $0x20d0,-0x8(%rbp)
mov    %al,-0x49(%rbp)
jl     23e8 <xml_combining_char+0x12e8>
cmpl   $0x20dc,-0x8(%rbp)
setle  %al
mov    %al,-0x49(%rbp)
mov    -0x49(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x20e1,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x302f,-0x8(%rbp)
jg     244b <xml_combining_char+0x134b>
xor    %eax,%eax
cmpl   $0x302a,-0x8(%rbp)
mov    %al,-0x4a(%rbp)
jl     243b <xml_combining_char+0x133b>
cmpl   $0x302f,-0x8(%rbp)
setle  %al
mov    %al,-0x4a(%rbp)
mov    -0x4a(%rbp),%al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x3099,-0x8(%rbp)
jg     246f <xml_combining_char+0x136f>
cmpl   $0x3099,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
jmp    2481 <xml_combining_char+0x1381>
cmpl   $0x309a,-0x8(%rbp)
sete   %al
and    $0x1,%al
movzbl %al,%eax
mov    %eax,-0x4(%rbp)
mov    -0x4(%rbp),%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<xml_combining_char>:
cmp    $0xb43,%edi
jg     1151 <xml_combining_char+0x51>
cmp    $0x983,%edi
jg     1194 <xml_combining_char+0x94>
cmp    $0x670,%edi
jg     120a <xml_combining_char+0x10a>
cmp    $0x5b9,%edi
jg     12c8 <xml_combining_char+0x1c8>
cmp    $0x361,%edi
jg     13f8 <xml_combining_char+0x2f8>
cmp    $0x345,%edi
jg     158e <xml_combining_char+0x48e>
cmp    $0x300,%edi
setge  %al
movzbl %al,%eax
ret
cmp    $0xe31,%edi
ja     11cf <xml_combining_char+0xcf>
cmp    $0xc4d,%edi
ja     122d <xml_combining_char+0x12d>
cmp    $0xbc8,%edi
ja     12eb <xml_combining_char+0x1eb>
cmp    $0xb57,%edi
ja     140f <xml_combining_char+0x30f>
cmp    $0xb48,%edi
ja     1599 <xml_combining_char+0x499>
cmp    $0xb47,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xa3f,%edi
ja     125c <xml_combining_char+0x15c>
cmp    $0x9cd,%edi
ja     130e <xml_combining_char+0x20e>
cmp    $0x9bf,%edi
ja     1426 <xml_combining_char+0x326>
cmp    $0x9bc,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0x9bd,%edi
jmp    180c <xml_combining_char+0x70c>
cmp    $0xf3f,%edi
ja     1299 <xml_combining_char+0x199>
cmp    $0xecd,%edi
ja     133d <xml_combining_char+0x23d>
cmp    $0xeb1,%edi
ja     144b <xml_combining_char+0x34b>
cmp    $0xe3a,%edi
ja     15b0 <xml_combining_char+0x4b0>
cmp    $0xe34,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x903,%edi
ja     1360 <xml_combining_char+0x260>
cmp    $0x6e4,%edi
ja     1462 <xml_combining_char+0x362>
cmp    $0x6d6,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xcd6,%edi
ja     1383 <xml_combining_char+0x283>
cmp    $0xcc4,%edi
ja     1479 <xml_combining_char+0x379>
cmp    $0xc56,%edi
ja     15c7 <xml_combining_char+0x4c7>
cmp    $0xc55,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xabc,%edi
ja     13a6 <xml_combining_char+0x2a6>
cmp    $0xa4d,%edi
ja     1490 <xml_combining_char+0x390>
mov    $0x1,%al
cmp    $0xa43,%edi
jb     1802 <xml_combining_char+0x702>
cmp    $0xa48,%edi
ja     1765 <xml_combining_char+0x665>
cmp    $0xa47,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xfb7,%edi
ja     13c9 <xml_combining_char+0x2c9>
cmp    $0xf95,%edi
ja     14a7 <xml_combining_char+0x3a7>
cmp    $0xf84,%edi
ja     15de <xml_combining_char+0x4de>
cmp    $0xf71,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x5c2,%edi
ja     14ca <xml_combining_char+0x3ca>
cmp    $0x5bd,%edi
ja     15f5 <xml_combining_char+0x4f5>
cmp    $0x5bb,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xc03,%edi
ja     14ed <xml_combining_char+0x3ed>
cmp    $0xbcd,%edi
ja     160c <xml_combining_char+0x50c>
cmp    $0xbca,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xa02,%edi
ja     1504 <xml_combining_char+0x404>
cmp    $0x9d7,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0x9e3,%edi
ja     1770 <xml_combining_char+0x670>
cmp    $0x9e2,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xf37,%edi
ja     151b <xml_combining_char+0x41b>
cmp    $0xf19,%edi
ja     1623 <xml_combining_char+0x523>
cmp    $0xf18,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x94d,%edi
ja     1532 <xml_combining_char+0x432>
cmp    $0x93c,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0x93d,%edi
jmp    180c <xml_combining_char+0x70c>
cmp    $0xd48,%edi
ja     1549 <xml_combining_char+0x449>
cmp    $0xd03,%edi
ja     163a <xml_combining_char+0x53a>
cmp    $0xd02,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xacd,%edi
ja     1560 <xml_combining_char+0x460>
cmp    $0xac5,%edi
ja     1651 <xml_combining_char+0x551>
cmp    $0xabe,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x20e1,%edi
ja     1577 <xml_combining_char+0x477>
cmp    $0xfb9,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0x20dc,%edi
ja     177b <xml_combining_char+0x67b>
cmp    $0x20d0,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x486,%edi
ja     1668 <xml_combining_char+0x568>
cmp    $0x483,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xb83,%edi
ja     167f <xml_combining_char+0x57f>
cmp    $0xb82,%edi
jmp    1819 <xml_combining_char+0x719>
mov    $0x1,%al
cmp    $0x9c5,%edi
jb     1802 <xml_combining_char+0x702>
cmp    $0x9c8,%edi
ja     1783 <xml_combining_char+0x683>
cmp    $0x9c7,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xeb9,%edi
ja     1696 <xml_combining_char+0x596>
cmp    $0xeb4,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x6e8,%edi
ja     16ad <xml_combining_char+0x5ad>
cmp    $0x6e7,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xcc8,%edi
ja     16c4 <xml_combining_char+0x5c4>
cmp    $0xcc6,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xa71,%edi
ja     16db <xml_combining_char+0x5db>
cmp    $0xa70,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xf97,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0xfad,%edi
ja     178e <xml_combining_char+0x68e>
cmp    $0xf99,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x5c4,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0x652,%edi
ja     1799 <xml_combining_char+0x699>
cmp    $0x64b,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xc44,%edi
ja     16f2 <xml_combining_char+0x5f2>
cmp    $0xc3e,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xa3c,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0xa3d,%edi
jmp    180c <xml_combining_char+0x70c>
cmp    $0xf39,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0xf3e,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x954,%edi
ja     1709 <xml_combining_char+0x609>
cmp    $0x951,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xd4d,%edi
ja     1720 <xml_combining_char+0x620>
cmp    $0xd4a,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xb03,%edi
ja     1737 <xml_combining_char+0x637>
cmp    $0xb01,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x302f,%edi
ja     174e <xml_combining_char+0x64e>
cmp    $0x302a,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x360,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xb4d,%edi
ja     17a1 <xml_combining_char+0x6a1>
cmp    $0xb4b,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xe4e,%edi
ja     17a9 <xml_combining_char+0x6a9>
cmp    $0xe47,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xc83,%edi
ja     17b1 <xml_combining_char+0x6b1>
cmp    $0xc82,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xf8b,%edi
ja     17b9 <xml_combining_char+0x6b9>
cmp    $0xf86,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x5bf,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0x5c0,%edi
jmp    180c <xml_combining_char+0x70c>
cmp    $0xbd7,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0xc01,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xf35,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0xf37,%edi
jmp    17ff <xml_combining_char+0x6ff>
cmp    $0xd43,%edi
ja     17c1 <xml_combining_char+0x6c1>
cmp    $0xd3e,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xac9,%edi
ja     17c9 <xml_combining_char+0x6c9>
cmp    $0xac7,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x5a1,%edi
ja     17d1 <xml_combining_char+0x6d1>
cmp    $0x591,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xbc2,%edi
ja     17d9 <xml_combining_char+0x6d9>
cmp    $0xbbe,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xebc,%edi
ja     17e1 <xml_combining_char+0x6e1>
cmp    $0xebb,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x6ed,%edi
ja     17e9 <xml_combining_char+0x6e9>
cmp    $0x6ea,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xccd,%edi
ja     17f1 <xml_combining_char+0x6f1>
cmp    $0xcca,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xa83,%edi
ja     17f9 <xml_combining_char+0x6f9>
cmp    $0xa81,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xc48,%edi
ja     1806 <xml_combining_char+0x706>
cmp    $0xc46,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x963,%edi
ja     1813 <xml_combining_char+0x713>
cmp    $0x962,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xd57,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0xe31,%edi
jmp    17ff <xml_combining_char+0x6ff>
cmp    $0xb3c,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0xb3d,%edi
jmp    180c <xml_combining_char+0x70c>
cmp    $0x3099,%edi
jbe    17ff <xml_combining_char+0x6ff>
cmp    $0x309a,%edi
jmp    17ff <xml_combining_char+0x6ff>
cmp    $0xa4b,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xa02,%edi
jmp    17ff <xml_combining_char+0x6ff>
cmp    $0x20e1,%edi
jmp    17ff <xml_combining_char+0x6ff>
cmp    $0x9cb,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xfb1,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x670,%edi
jmp    17ff <xml_combining_char+0x6ff>
cmp    $0xb56,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xeb1,%edi
jmp    17ff <xml_combining_char+0x6ff>
cmp    $0xcbe,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xf90,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xd46,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xaca,%edi
jmp    180c <xml_combining_char+0x70c>
cmp    $0x5a2,%edi
jmp    180c <xml_combining_char+0x70c>
cmp    $0xbc6,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xec8,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0x901,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xcd5,%edi
jmp    1819 <xml_combining_char+0x719>
cmp    $0xabc,%edi
sete   %al
movzbl %al,%eax
ret
cmp    $0xc49,%edi
setne  %al
movzbl %al,%eax
ret
cmp    $0x981,%edi
setae  %al
movzbl %al,%eax
ret

LLVM IR (-O0):
define i32 @xml_combining_char(i32 %0) {
%2 = alloca i32
%3 = alloca i32
store i32 %0, i32* %3
%4 = load i32, i32* %3
%5 = icmp sle i32 %4, 2883
br i1 %5, label %6, label %492
6: ; preds = %1
%7 = load i32, i32* %3
%8 = icmp sle i32 %7, 2435
br i1 %8, label %9, label %257
9: ; preds = %6
%10 = load i32, i32* %3
%11 = icmp sle i32 %10, 1648
br i1 %11, label %12, label %126
12: ; preds = %9
%13 = load i32, i32* %3
%14 = icmp sle i32 %13, 1465
br i1 %14, label %15, label %72
15: ; preds = %12
%16 = load i32, i32* %3
%17 = icmp sle i32 %16, 865
br i1 %17, label %18, label %39
18: ; preds = %15
%19 = load i32, i32* %3
%20 = icmp sle i32 %19, 837
br i1 %20, label %21, label %30
21: ; preds = %18
%22 = load i32, i32* %3
%23 = icmp sge i32 %22, 768
br i1 %23, label %24, label %27
24: ; preds = %21
%25 = load i32, i32* %3
%26 = icmp sle i32 %25, 837
br label %27
27: ; preds = %24, %21
%28 = phi i1 [ false, %21 ], [ %26, %24 ]
%29 = zext i1 %28 to i32
store i32 %29, i32* %2
br label %995
30: ; preds = %18
%31 = load i32, i32* %3
%32 = icmp sge i32 %31, 864
br i1 %32, label %33, label %36
33: ; preds = %30
%34 = load i32, i32* %3
%35 = icmp sle i32 %34, 865
br label %36
36: ; preds = %33, %30
%37 = phi i1 [ false, %30 ], [ %35, %33 ]
%38 = zext i1 %37 to i32
store i32 %38, i32* %2
br label %995
39: ; preds = %15
%40 = load i32, i32* %3
%41 = icmp sle i32 %40, 1158
br i1 %41, label %42, label %51
42: ; preds = %39
%43 = load i32, i32* %3
%44 = icmp sge i32 %43, 1155
br i1 %44, label %45, label %48
45: ; preds = %42
%46 = load i32, i32* %3
%47 = icmp sle i32 %46, 1158
br label %48
48: ; preds = %45, %42
%49 = phi i1 [ false, %42 ], [ %47, %45 ]
%50 = zext i1 %49 to i32
store i32 %50, i32* %2
br label %995
51: ; preds = %39
%52 = load i32, i32* %3
%53 = icmp sle i32 %52, 1441
br i1 %53, label %54, label %63
54: ; preds = %51
%55 = load i32, i32* %3
%56 = icmp sge i32 %55, 1425
br i1 %56, label %57, label %60
57: ; preds = %54
%58 = load i32, i32* %3
%59 = icmp sle i32 %58, 1441
br label %60
60: ; preds = %57, %54
%61 = phi i1 [ false, %54 ], [ %59, %57 ]
%62 = zext i1 %61 to i32
store i32 %62, i32* %2
br label %995
63: ; preds = %51
%64 = load i32, i32* %3
%65 = icmp sge i32 %64, 1443
br i1 %65, label %66, label %69
66: ; preds = %63
%67 = load i32, i32* %3
%68 = icmp sle i32 %67, 1465
br label %69
69: ; preds = %66, %63
%70 = phi i1 [ false, %63 ], [ %68, %66 ]
%71 = zext i1 %70 to i32
store i32 %71, i32* %2
br label %995
72: ; preds = %12
%73 = load i32, i32* %3
%74 = icmp sle i32 %73, 1474
br i1 %74, label %75, label %103
75: ; preds = %72
%76 = load i32, i32* %3
%77 = icmp sle i32 %76, 1469
br i1 %77, label %78, label %87
78: ; preds = %75
%79 = load i32, i32* %3
%80 = icmp sge i32 %79, 1467
br i1 %80, label %81, label %84
81: ; preds = %78
%82 = load i32, i32* %3
%83 = icmp sle i32 %82, 1469
br label %84
84: ; preds = %81, %78
%85 = phi i1 [ false, %78 ], [ %83, %81 ]
%86 = zext i1 %85 to i32
store i32 %86, i32* %2
br label %995
87: ; preds = %75
%88 = load i32, i32* %3
%89 = icmp sle i32 %88, 1471
br i1 %89, label %90, label %94
90: ; preds = %87
%91 = load i32, i32* %3
%92 = icmp eq i32 %91, 1471
%93 = zext i1 %92 to i32
store i32 %93, i32* %2
br label %995
94: ; preds = %87
%95 = load i32, i32* %3
%96 = icmp sge i32 %95, 1473
br i1 %96, label %97, label %100
97: ; preds = %94
%98 = load i32, i32* %3
%99 = icmp sle i32 %98, 1474
br label %100
100: ; preds = %97, %94
%101 = phi i1 [ false, %94 ], [ %99, %97 ]
%102 = zext i1 %101 to i32
store i32 %102, i32* %2
br label %995
103: ; preds = %72
%104 = load i32, i32* %3
%105 = icmp sle i32 %104, 1476
br i1 %105, label %106, label %110
106: ; preds = %103
%107 = load i32, i32* %3
%108 = icmp eq i32 %107, 1476
%109 = zext i1 %108 to i32
store i32 %109, i32* %2
br label %995
110: ; preds = %103
%111 = load i32, i32* %3
%112 = icmp sle i32 %111, 1618
br i1 %112, label %113, label %122
113: ; preds = %110
%114 = load i32, i32* %3
%115 = icmp sge i32 %114, 1611
br i1 %115, label %116, label %119
116: ; preds = %113
%117 = load i32, i32* %3
%118 = icmp sle i32 %117, 1618
br label %119
119: ; preds = %116, %113
%120 = phi i1 [ false, %113 ], [ %118, %116 ]
%121 = zext i1 %120 to i32
store i32 %121, i32* %2
br label %995
122: ; preds = %110
%123 = load i32, i32* %3
%124 = icmp eq i32 %123, 1648
%125 = zext i1 %124 to i32
store i32 %125, i32* %2
br label %995
126: ; preds = %9
%127 = load i32, i32* %3
%128 = icmp sle i32 %127, 2307
br i1 %128, label %129, label %198
129: ; preds = %126
%130 = load i32, i32* %3
%131 = icmp sle i32 %130, 1764
br i1 %131, label %132, label %165
132: ; preds = %129
%133 = load i32, i32* %3
%134 = icmp sle i32 %133, 1756
br i1 %134, label %135, label %144
135: ; preds = %132
%136 = load i32, i32* %3
%137 = icmp sge i32 %136, 1750
br i1 %137, label %138, label %141
138: ; preds = %135
%139 = load i32, i32* %3
%140 = icmp sle i32 %139, 1756
br label %141
141: ; preds = %138, %135
%142 = phi i1 [ false, %135 ], [ %140, %138 ]
%143 = zext i1 %142 to i32
store i32 %143, i32* %2
br label %995
144: ; preds = %132
%145 = load i32, i32* %3
%146 = icmp sle i32 %145, 1759
br i1 %146, label %147, label %156
147: ; preds = %144
%148 = load i32, i32* %3
%149 = icmp sge i32 %148, 1757
br i1 %149, label %150, label %153
150: ; preds = %147
%151 = load i32, i32* %3
%152 = icmp sle i32 %151, 1759
br label %153
153: ; preds = %150, %147
%154 = phi i1 [ false, %147 ], [ %152, %150 ]
%155 = zext i1 %154 to i32
store i32 %155, i32* %2
br label %995
156: ; preds = %144
%157 = load i32, i32* %3
%158 = icmp sge i32 %157, 1760
br i1 %158, label %159, label %162
159: ; preds = %156
%160 = load i32, i32* %3
%161 = icmp sle i32 %160, 1764
br label %162
162: ; preds = %159, %156
%163 = phi i1 [ false, %156 ], [ %161, %159 ]
%164 = zext i1 %163 to i32
store i32 %164, i32* %2
br label %995
165: ; preds = %129
%166 = load i32, i32* %3
%167 = icmp sle i32 %166, 1768
br i1 %167, label %168, label %177
168: ; preds = %165
%169 = load i32, i32* %3
%170 = icmp sge i32 %169, 1767
br i1 %170, label %171, label %174
171: ; preds = %168
%172 = load i32, i32* %3
%173 = icmp sle i32 %172, 1768
br label %174
174: ; preds = %171, %168
%175 = phi i1 [ false, %168 ], [ %173, %171 ]
%176 = zext i1 %175 to i32
store i32 %176, i32* %2
br label %995
177: ; preds = %165
%178 = load i32, i32* %3
%179 = icmp sle i32 %178, 1773
br i1 %179, label %180, label %189
180: ; preds = %177
%181 = load i32, i32* %3
%182 = icmp sge i32 %181, 1770
br i1 %182, label %183, label %186
183: ; preds = %180
%184 = load i32, i32* %3
%185 = icmp sle i32 %184, 1773
br label %186
186: ; preds = %183, %180
%187 = phi i1 [ false, %180 ], [ %185, %183 ]
%188 = zext i1 %187 to i32
store i32 %188, i32* %2
br label %995
189: ; preds = %177
%190 = load i32, i32* %3
%191 = icmp sge i32 %190, 2305
br i1 %191, label %192, label %195
192: ; preds = %189
%193 = load i32, i32* %3
%194 = icmp sle i32 %193, 2307
br label %195
195: ; preds = %192, %189
%196 = phi i1 [ false, %189 ], [ %194, %192 ]
%197 = zext i1 %196 to i32
store i32 %197, i32* %2
br label %995
198: ; preds = %126
%199 = load i32, i32* %3
%200 = icmp sle i32 %199, 2381
br i1 %200, label %201, label %224
201: ; preds = %198
%202 = load i32, i32* %3
%203 = icmp sle i32 %202, 2364
br i1 %203, label %204, label %208
204: ; preds = %201
%205 = load i32, i32* %3
%206 = icmp eq i32 %205, 2364
%207 = zext i1 %206 to i32
store i32 %207, i32* %2
br label %995
208: ; preds = %201
%209 = load i32, i32* %3
%210 = icmp sle i32 %209, 2380
br i1 %210, label %211, label %220
211: ; preds = %208
%212 = load i32, i32* %3
%213 = icmp sge i32 %212, 2366
br i1 %213, label %214, label %217
214: ; preds = %211
%215 = load i32, i32* %3
%216 = icmp sle i32 %215, 2380
br label %217
217: ; preds = %214, %211
%218 = phi i1 [ false, %211 ], [ %216, %214 ]
%219 = zext i1 %218 to i32
store i32 %219, i32* %2
br label %995
220: ; preds = %208
%221 = load i32, i32* %3
%222 = icmp eq i32 %221, 2381
%223 = zext i1 %222 to i32
store i32 %223, i32* %2
br label %995
224: ; preds = %198
%225 = load i32, i32* %3
%226 = icmp sle i32 %225, 2388
br i1 %226, label %227, label %236
227: ; preds = %224
%228 = load i32, i32* %3
%229 = icmp sge i32 %228, 2385
br i1 %229, label %230, label %233
230: ; preds = %227
%231 = load i32, i32* %3
%232 = icmp sle i32 %231, 2388
br label %233
233: ; preds = %230, %227
%234 = phi i1 [ false, %227 ], [ %232, %230 ]
%235 = zext i1 %234 to i32
store i32 %235, i32* %2
br label %995
236: ; preds = %224
%237 = load i32, i32* %3
%238 = icmp sle i32 %237, 2403
br i1 %238, label %239, label %248
239: ; preds = %236
%240 = load i32, i32* %3
%241 = icmp sge i32 %240, 2402
br i1 %241, label %242, label %245
242: ; preds = %239
%243 = load i32, i32* %3
%244 = icmp sle i32 %243, 2403
br label %245
245: ; preds = %242, %239
%246 = phi i1 [ false, %239 ], [ %244, %242 ]
%247 = zext i1 %246 to i32
store i32 %247, i32* %2
br label %995
248: ; preds = %236
%249 = load i32, i32* %3
%250 = icmp sge i32 %249, 2433
br i1 %250, label %251, label %254
251: ; preds = %248
%252 = load i32, i32* %3
%253 = icmp sle i32 %252, 2435
br label %254
254: ; preds = %251, %248
%255 = phi i1 [ false, %248 ], [ %253, %251 ]
%256 = zext i1 %255 to i32
store i32 %256, i32* %2
br label %995
257: ; preds = %6
%258 = load i32, i32* %3
%259 = icmp sle i32 %258, 2623
br i1 %259, label %260, label %361
260: ; preds = %257
%261 = load i32, i32* %3
%262 = icmp sle i32 %261, 2509
br i1 %262, label %263, label %317
263: ; preds = %260
%264 = load i32, i32* %3
%265 = icmp sle i32 %264, 2495
br i1 %265, label %266, label %284
266: ; preds = %263
%267 = load i32, i32* %3
%268 = icmp sle i32 %267, 2492
br i1 %268, label %269, label %273
269: ; preds = %266
%270 = load i32, i32* %3
%271 = icmp eq i32 %270, 2492
%272 = zext i1 %271 to i32
store i32 %272, i32* %2
br label %995
273: ; preds = %266
%274 = load i32, i32* %3
%275 = icmp sle i32 %274, 2494
br i1 %275, label %276, label %280
276: ; preds = %273
%277 = load i32, i32* %3
%278 = icmp eq i32 %277, 2494
%279 = zext i1 %278 to i32
store i32 %279, i32* %2
br label %995
280: ; preds = %273
%281 = load i32, i32* %3
%282 = icmp eq i32 %281, 2495
%283 = zext i1 %282 to i32
store i32 %283, i32* %2
br label %995
284: ; preds = %263
%285 = load i32, i32* %3
%286 = icmp sle i32 %285, 2500
br i1 %286, label %287, label %296
287: ; preds = %284
%288 = load i32, i32* %3
%289 = icmp sge i32 %288, 2496
br i1 %289, label %290, label %293
290: ; preds = %287
%291 = load i32, i32* %3
%292 = icmp sle i32 %291, 2500
br label %293
293: ; preds = %290, %287
%294 = phi i1 [ false, %287 ], [ %292, %290 ]
%295 = zext i1 %294 to i32
store i32 %295, i32* %2
br label %995
296: ; preds = %284
%297 = load i32, i32* %3
%298 = icmp sle i32 %297, 2504
br i1 %298, label %299, label %308
299: ; preds = %296
%300 = load i32, i32* %3
%301 = icmp sge i32 %300, 2503
br i1 %301, label %302, label %305
302: ; preds = %299
%303 = load i32, i32* %3
%304 = icmp sle i32 %303, 2504
br label %305
305: ; preds = %302, %299
%306 = phi i1 [ false, %299 ], [ %304, %302 ]
%307 = zext i1 %306 to i32
store i32 %307, i32* %2
br label %995
308: ; preds = %296
%309 = load i32, i32* %3
%310 = icmp sge i32 %309, 2507
br i1 %310, label %311, label %314
311: ; preds = %308
%312 = load i32, i32* %3
%313 = icmp sle i32 %312, 2509
br label %314
314: ; preds = %311, %308
%315 = phi i1 [ false, %308 ], [ %313, %311 ]
%316 = zext i1 %315 to i32
store i32 %316, i32* %2
br label %995
317: ; preds = %260
%318 = load i32, i32* %3
%319 = icmp sle i32 %318, 2562
br i1 %319, label %320, label %343
320: ; preds = %317
%321 = load i32, i32* %3
%322 = icmp sle i32 %321, 2519
br i1 %322, label %323, label %327
323: ; preds = %320
%324 = load i32, i32* %3
%325 = icmp eq i32 %324, 2519
%326 = zext i1 %325 to i32
store i32 %326, i32* %2
br label %995
327: ; preds = %320
%328 = load i32, i32* %3
%329 = icmp sle i32 %328, 2531
br i1 %329, label %330, label %339
330: ; preds = %327
%331 = load i32, i32* %3
%332 = icmp sge i32 %331, 2530
br i1 %332, label %333, label %336
333: ; preds = %330
%334 = load i32, i32* %3
%335 = icmp sle i32 %334, 2531
br label %336
336: ; preds = %333, %330
%337 = phi i1 [ false, %330 ], [ %335, %333 ]
%338 = zext i1 %337 to i32
store i32 %338, i32* %2
br label %995
339: ; preds = %327
%340 = load i32, i32* %3
%341 = icmp eq i32 %340, 2562
%342 = zext i1 %341 to i32
store i32 %342, i32* %2
br label %995
343: ; preds = %317
%344 = load i32, i32* %3
%345 = icmp sle i32 %344, 2620
br i1 %345, label %346, label %350
346: ; preds = %343
%347 = load i32, i32* %3
%348 = icmp eq i32 %347, 2620
%349 = zext i1 %348 to i32
store i32 %349, i32* %2
br label %995
350: ; preds = %343
%351 = load i32, i32* %3
%352 = icmp sle i32 %351, 2622
br i1 %352, label %353, label %357
353: ; preds = %350
%354 = load i32, i32* %3
%355 = icmp eq i32 %354, 2622
%356 = zext i1 %355 to i32
store i32 %356, i32* %2
br label %995
357: ; preds = %350
%358 = load i32, i32* %3
%359 = icmp eq i32 %358, 2623
%360 = zext i1 %359 to i32
store i32 %360, i32* %2
br label %995
361: ; preds = %257
%362 = load i32, i32* %3
%363 = icmp sle i32 %362, 2748
br i1 %363, label %364, label %428
364: ; preds = %361
%365 = load i32, i32* %3
%366 = icmp sle i32 %365, 2637
br i1 %366, label %367, label %400
367: ; preds = %364
%368 = load i32, i32* %3
%369 = icmp sle i32 %368, 2626
br i1 %369, label %370, label %379
370: ; preds = %367
%371 = load i32, i32* %3
%372 = icmp sge i32 %371, 2624
br i1 %372, label %373, label %376
373: ; preds = %370
%374 = load i32, i32* %3
%375 = icmp sle i32 %374, 2626
br label %376
376: ; preds = %373, %370
%377 = phi i1 [ false, %370 ], [ %375, %373 ]
%378 = zext i1 %377 to i32
store i32 %378, i32* %2
br label %995
379: ; preds = %367
%380 = load i32, i32* %3
%381 = icmp sle i32 %380, 2632
br i1 %381, label %382, label %391
382: ; preds = %379
%383 = load i32, i32* %3
%384 = icmp sge i32 %383, 2631
br i1 %384, label %385, label %388
385: ; preds = %382
%386 = load i32, i32* %3
%387 = icmp sle i32 %386, 2632
br label %388
388: ; preds = %385, %382
%389 = phi i1 [ false, %382 ], [ %387, %385 ]
%390 = zext i1 %389 to i32
store i32 %390, i32* %2
br label %995
391: ; preds = %379
%392 = load i32, i32* %3
%393 = icmp sge i32 %392, 2635
br i1 %393, label %394, label %397
394: ; preds = %391
%395 = load i32, i32* %3
%396 = icmp sle i32 %395, 2637
br label %397
397: ; preds = %394, %391
%398 = phi i1 [ false, %391 ], [ %396, %394 ]
%399 = zext i1 %398 to i32
store i32 %399, i32* %2
br label %995
400: ; preds = %364
%401 = load i32, i32* %3
%402 = icmp sle i32 %401, 2673
br i1 %402, label %403, label %412
403: ; preds = %400
%404 = load i32, i32* %3
%405 = icmp sge i32 %404, 2672
br i1 %405, label %406, label %409
406: ; preds = %403
%407 = load i32, i32* %3
%408 = icmp sle i32 %407, 2673
br label %409
409: ; preds = %406, %403
%410 = phi i1 [ false, %403 ], [ %408, %406 ]
%411 = zext i1 %410 to i32
store i32 %411, i32* %2
br label %995
412: ; preds = %400
%413 = load i32, i32* %3
%414 = icmp sle i32 %413, 2691
br i1 %414, label %415, label %424
415: ; preds = %412
%416 = load i32, i32* %3
%417 = icmp sge i32 %416, 2689
br i1 %417, label %418, label %421
418: ; preds = %415
%419 = load i32, i32* %3
%420 = icmp sle i32 %419, 2691
br label %421
421: ; preds = %418, %415
%422 = phi i1 [ false, %415 ], [ %420, %418 ]
%423 = zext i1 %422 to i32
store i32 %423, i32* %2
br label %995
424: ; preds = %412
%425 = load i32, i32* %3
%426 = icmp eq i32 %425, 2748
%427 = zext i1 %426 to i32
store i32 %427, i32* %2
br label %995
428: ; preds = %361
%429 = load i32, i32* %3
%430 = icmp sle i32 %429, 2765
br i1 %430, label %431, label %464
431: ; preds = %428
%432 = load i32, i32* %3
%433 = icmp sle i32 %432, 2757
br i1 %433, label %434, label %443
434: ; preds = %431
%435 = load i32, i32* %3
%436 = icmp sge i32 %435, 2750
br i1 %436, label %437, label %440
437: ; preds = %434
%438 = load i32, i32* %3
%439 = icmp sle i32 %438, 2757
br label %440
440: ; preds = %437, %434
%441 = phi i1 [ false, %434 ], [ %439, %437 ]
%442 = zext i1 %441 to i32
store i32 %442, i32* %2
br label %995
443: ; preds = %431
%444 = load i32, i32* %3
%445 = icmp sle i32 %444, 2761
br i1 %445, label %446, label %455
446: ; preds = %443
%447 = load i32, i32* %3
%448 = icmp sge i32 %447, 2759
br i1 %448, label %449, label %452
449: ; preds = %446
%450 = load i32, i32* %3
%451 = icmp sle i32 %450, 2761
br label %452
452: ; preds = %449, %446
%453 = phi i1 [ false, %446 ], [ %451, %449 ]
%454 = zext i1 %453 to i32
store i32 %454, i32* %2
br label %995
455: ; preds = %443
%456 = load i32, i32* %3
%457 = icmp sge i32 %456, 2763
br i1 %457, label %458, label %461
458: ; preds = %455
%459 = load i32, i32* %3
%460 = icmp sle i32 %459, 2765
br label %461
461: ; preds = %458, %455
%462 = phi i1 [ false, %455 ], [ %460, %458 ]
%463 = zext i1 %462 to i32
store i32 %463, i32* %2
br label %995
464: ; preds = %428
%465 = load i32, i32* %3
%466 = icmp sle i32 %465, 2819
br i1 %466, label %467, label %476
467: ; preds = %464
%468 = load i32, i32* %3
%469 = icmp sge i32 %468, 2817
br i1 %469, label %470, label %473
470: ; preds = %467
%471 = load i32, i32* %3
%472 = icmp sle i32 %471, 2819
br label %473
473: ; preds = %470, %467
%474 = phi i1 [ false, %467 ], [ %472, %470 ]
%475 = zext i1 %474 to i32
store i32 %475, i32* %2
br label %995
476: ; preds = %464
%477 = load i32, i32* %3
%478 = icmp sle i32 %477, 2876
br i1 %478, label %479, label %483
479: ; preds = %476
%480 = load i32, i32* %3
%481 = icmp eq i32 %480, 2876
%482 = zext i1 %481 to i32
store i32 %482, i32* %2
br label %995
483: ; preds = %476
%484 = load i32, i32* %3
%485 = icmp sge i32 %484, 2878
br i1 %485, label %486, label %489
486: ; preds = %483
%487 = load i32, i32* %3
%488 = icmp sle i32 %487, 2883
br label %489
489: ; preds = %486, %483
%490 = phi i1 [ false, %483 ], [ %488, %486 ]
%491 = zext i1 %490 to i32
store i32 %491, i32* %2
br label %995
492: ; preds = %1
%493 = load i32, i32* %3
%494 = icmp sle i32 %493, 3633
br i1 %494, label %495, label %765
495: ; preds = %492
%496 = load i32, i32* %3
%497 = icmp sle i32 %496, 3149
br i1 %497, label %498, label %634
498: ; preds = %495
%499 = load i32, i32* %3
%500 = icmp sle i32 %499, 3016
br i1 %500, label %501, label %570
501: ; preds = %498
%502 = load i32, i32* %3
%503 = icmp sle i32 %502, 2903
br i1 %503, label %504, label %537
504: ; preds = %501
%505 = load i32, i32* %3
%506 = icmp sle i32 %505, 2888
br i1 %506, label %507, label %516
507: ; preds = %504
%508 = load i32, i32* %3
%509 = icmp sge i32 %508, 2887
br i1 %509, label %510, label %513
510: ; preds = %507
%511 = load i32, i32* %3
%512 = icmp sle i32 %511, 2888
br label %513
513: ; preds = %510, %507
%514 = phi i1 [ false, %507 ], [ %512, %510 ]
%515 = zext i1 %514 to i32
store i32 %515, i32* %2
br label %995
516: ; preds = %504
%517 = load i32, i32* %3
%518 = icmp sle i32 %517, 2893
br i1 %518, label %519, label %528
519: ; preds = %516
%520 = load i32, i32* %3
%521 = icmp sge i32 %520, 2891
br i1 %521, label %522, label %525
522: ; preds = %519
%523 = load i32, i32* %3
%524 = icmp sle i32 %523, 2893
br label %525
525: ; preds = %522, %519
%526 = phi i1 [ false, %519 ], [ %524, %522 ]
%527 = zext i1 %526 to i32
store i32 %527, i32* %2
br label %995
528: ; preds = %516
%529 = load i32, i32* %3
%530 = icmp sge i32 %529, 2902
br i1 %530, label %531, label %534
531: ; preds = %528
%532 = load i32, i32* %3
%533 = icmp sle i32 %532, 2903
br label %534
534: ; preds = %531, %528
%535 = phi i1 [ false, %528 ], [ %533, %531 ]
%536 = zext i1 %535 to i32
store i32 %536, i32* %2
br label %995
537: ; preds = %501
%538 = load i32, i32* %3
%539 = icmp sle i32 %538, 2947
br i1 %539, label %540, label %549
540: ; preds = %537
%541 = load i32, i32* %3
%542 = icmp sge i32 %541, 2946
br i1 %542, label %543, label %546
543: ; preds = %540
%544 = load i32, i32* %3
%545 = icmp sle i32 %544, 2947
br label %546
546: ; preds = %543, %540
%547 = phi i1 [ false, %540 ], [ %545, %543 ]
%548 = zext i1 %547 to i32
store i32 %548, i32* %2
br label %995
549: ; preds = %537
%550 = load i32, i32* %3
%551 = icmp sle i32 %550, 3010
br i1 %551, label %552, label %561
552: ; preds = %549
%553 = load i32, i32* %3
%554 = icmp sge i32 %553, 3006
br i1 %554, label %555, label %558
555: ; preds = %552
%556 = load i32, i32* %3
%557 = icmp sle i32 %556, 3010
br label %558
558: ; preds = %555, %552
%559 = phi i1 [ false, %552 ], [ %557, %555 ]
%560 = zext i1 %559 to i32
store i32 %560, i32* %2
br label %995
561: ; preds = %549
%562 = load i32, i32* %3
%563 = icmp sge i32 %562, 3014
br i1 %563, label %564, label %567
564: ; preds = %561
%565 = load i32, i32* %3
%566 = icmp sle i32 %565, 3016
br label %567
567: ; preds = %564, %561
%568 = phi i1 [ false, %561 ], [ %566, %564 ]
%569 = zext i1 %568 to i32
store i32 %569, i32* %2
br label %995
570: ; preds = %498
%571 = load i32, i32* %3
%572 = icmp sle i32 %571, 3075
br i1 %572, label %573, label %601
573: ; preds = %570
%574 = load i32, i32* %3
%575 = icmp sle i32 %574, 3021
br i1 %575, label %576, label %585
576: ; preds = %573
%577 = load i32, i32* %3
%578 = icmp sge i32 %577, 3018
br i1 %578, label %579, label %582
579: ; preds = %576
%580 = load i32, i32* %3
%581 = icmp sle i32 %580, 3021
br label %582
582: ; preds = %579, %576
%583 = phi i1 [ false, %576 ], [ %581, %579 ]
%584 = zext i1 %583 to i32
store i32 %584, i32* %2
br label %995
585: ; preds = %573
%586 = load i32, i32* %3
%587 = icmp sle i32 %586, 3031
br i1 %587, label %588, label %592
588: ; preds = %585
%589 = load i32, i32* %3
%590 = icmp eq i32 %589, 3031
%591 = zext i1 %590 to i32
store i32 %591, i32* %2
br label %995
592: ; preds = %585
%593 = load i32, i32* %3
%594 = icmp sge i32 %593, 3073
br i1 %594, label %595, label %598
595: ; preds = %592
%596 = load i32, i32* %3
%597 = icmp sle i32 %596, 3075
br label %598
598: ; preds = %595, %592
%599 = phi i1 [ false, %592 ], [ %597, %595 ]
%600 = zext i1 %599 to i32
store i32 %600, i32* %2
br label %995
601: ; preds = %570
%602 = load i32, i32* %3
%603 = icmp sle i32 %602, 3140
br i1 %603, label %604, label %613
604: ; preds = %601
%605 = load i32, i32* %3
%606 = icmp sge i32 %605, 3134
br i1 %606, label %607, label %610
607: ; preds = %604
%608 = load i32, i32* %3
%609 = icmp sle i32 %608, 3140
br label %610
610: ; preds = %607, %604
%611 = phi i1 [ false, %604 ], [ %609, %607 ]
%612 = zext i1 %611 to i32
store i32 %612, i32* %2
br label %995
613: ; preds = %601
%614 = load i32, i32* %3
%615 = icmp sle i32 %614, 3144
br i1 %615, label %616, label %625
616: ; preds = %613
%617 = load i32, i32* %3
%618 = icmp sge i32 %617, 3142
br i1 %618, label %619, label %622
619: ; preds = %616
%620 = load i32, i32* %3
%621 = icmp sle i32 %620, 3144
br label %622
622: ; preds = %619, %616
%623 = phi i1 [ false, %616 ], [ %621, %619 ]
%624 = zext i1 %623 to i32
store i32 %624, i32* %2
br label %995
625: ; preds = %613
%626 = load i32, i32* %3
%627 = icmp sge i32 %626, 3146
br i1 %627, label %628, label %631
628: ; preds = %625
%629 = load i32, i32* %3
%630 = icmp sle i32 %629, 3149
br label %631
631: ; preds = %628, %625
%632 = phi i1 [ false, %625 ], [ %630, %628 ]
%633 = zext i1 %632 to i32
store i32 %633, i32* %2
br label %995
634: ; preds = %495
%635 = load i32, i32* %3
%636 = icmp sle i32 %635, 3286
br i1 %636, label %637, label %706
637: ; preds = %634
%638 = load i32, i32* %3
%639 = icmp sle i32 %638, 3268
br i1 %639, label %640, label %673
640: ; preds = %637
%641 = load i32, i32* %3
%642 = icmp sle i32 %641, 3158
br i1 %642, label %643, label %652
643: ; preds = %640
%644 = load i32, i32* %3
%645 = icmp sge i32 %644, 3157
br i1 %645, label %646, label %649
646: ; preds = %643
%647 = load i32, i32* %3
%648 = icmp sle i32 %647, 3158
br label %649
649: ; preds = %646, %643
%650 = phi i1 [ false, %643 ], [ %648, %646 ]
%651 = zext i1 %650 to i32
store i32 %651, i32* %2
br label %995
652: ; preds = %640
%653 = load i32, i32* %3
%654 = icmp sle i32 %653, 3203
br i1 %654, label %655, label %664
655: ; preds = %652
%656 = load i32, i32* %3
%657 = icmp sge i32 %656, 3202
br i1 %657, label %658, label %661
658: ; preds = %655
%659 = load i32, i32* %3
%660 = icmp sle i32 %659, 3203
br label %661
661: ; preds = %658, %655
%662 = phi i1 [ false, %655 ], [ %660, %658 ]
%663 = zext i1 %662 to i32
store i32 %663, i32* %2
br label %995
664: ; preds = %652
%665 = load i32, i32* %3
%666 = icmp sge i32 %665, 3262
br i1 %666, label %667, label %670
667: ; preds = %664
%668 = load i32, i32* %3
%669 = icmp sle i32 %668, 3268
br label %670
670: ; preds = %667, %664
%671 = phi i1 [ false, %664 ], [ %669, %667 ]
%672 = zext i1 %671 to i32
store i32 %672, i32* %2
br label %995
673: ; preds = %637
%674 = load i32, i32* %3
%675 = icmp sle i32 %674, 3272
br i1 %675, label %676, label %685
676: ; preds = %673
%677 = load i32, i32* %3
%678 = icmp sge i32 %677, 3270
br i1 %678, label %679, label %682
679: ; preds = %676
%680 = load i32, i32* %3
%681 = icmp sle i32 %680, 3272
br label %682
682: ; preds = %679, %676
%683 = phi i1 [ false, %676 ], [ %681, %679 ]
%684 = zext i1 %683 to i32
store i32 %684, i32* %2
br label %995
685: ; preds = %673
%686 = load i32, i32* %3
%687 = icmp sle i32 %686, 3277
br i1 %687, label %688, label %697
688: ; preds = %685
%689 = load i32, i32* %3
%690 = icmp sge i32 %689, 3274
br i1 %690, label %691, label %694
691: ; preds = %688
%692 = load i32, i32* %3
%693 = icmp sle i32 %692, 3277
br label %694
694: ; preds = %691, %688
%695 = phi i1 [ false, %688 ], [ %693, %691 ]
%696 = zext i1 %695 to i32
store i32 %696, i32* %2
br label %995
697: ; preds = %685
%698 = load i32, i32* %3
%699 = icmp sge i32 %698, 3285
br i1 %699, label %700, label %703
700: ; preds = %697
%701 = load i32, i32* %3
%702 = icmp sle i32 %701, 3286
br label %703
703: ; preds = %700, %697
%704 = phi i1 [ false, %697 ], [ %702, %700 ]
%705 = zext i1 %704 to i32
store i32 %705, i32* %2
br label %995
706: ; preds = %634
%707 = load i32, i32* %3
%708 = icmp sle i32 %707, 3400
br i1 %708, label %709, label %742
709: ; preds = %706
%710 = load i32, i32* %3
%711 = icmp sle i32 %710, 3331
br i1 %711, label %712, label %721
712: ; preds = %709
%713 = load i32, i32* %3
%714 = icmp sge i32 %713, 3330
br i1 %714, label %715, label %718
715: ; preds = %712
%716 = load i32, i32* %3
%717 = icmp sle i32 %716, 3331
br label %718
718: ; preds = %715, %712
%719 = phi i1 [ false, %712 ], [ %717, %715 ]
%720 = zext i1 %719 to i32
store i32 %720, i32* %2
br label %995
721: ; preds = %709
%722 = load i32, i32* %3
%723 = icmp sle i32 %722, 3395
br i1 %723, label %724, label %733
724: ; preds = %721
%725 = load i32, i32* %3
%726 = icmp sge i32 %725, 3390
br i1 %726, label %727, label %730
727: ; preds = %724
%728 = load i32, i32* %3
%729 = icmp sle i32 %728, 3395
br label %730
730: ; preds = %727, %724
%731 = phi i1 [ false, %724 ], [ %729, %727 ]
%732 = zext i1 %731 to i32
store i32 %732, i32* %2
br label %995
733: ; preds = %721
%734 = load i32, i32* %3
%735 = icmp sge i32 %734, 3398
br i1 %735, label %736, label %739
736: ; preds = %733
%737 = load i32, i32* %3
%738 = icmp sle i32 %737, 3400
br label %739
739: ; preds = %736, %733
%740 = phi i1 [ false, %733 ], [ %738, %736 ]
%741 = zext i1 %740 to i32
store i32 %741, i32* %2
br label %995
742: ; preds = %706
%743 = load i32, i32* %3
%744 = icmp sle i32 %743, 3405
br i1 %744, label %745, label %754
745: ; preds = %742
%746 = load i32, i32* %3
%747 = icmp sge i32 %746, 3402
br i1 %747, label %748, label %751
748: ; preds = %745
%749 = load i32, i32* %3
%750 = icmp sle i32 %749, 3405
br label %751
751: ; preds = %748, %745
%752 = phi i1 [ false, %745 ], [ %750, %748 ]
%753 = zext i1 %752 to i32
store i32 %753, i32* %2
br label %995
754: ; preds = %742
%755 = load i32, i32* %3
%756 = icmp sle i32 %755, 3415
br i1 %756, label %757, label %761
757: ; preds = %754
%758 = load i32, i32* %3
%759 = icmp eq i32 %758, 3415
%760 = zext i1 %759 to i32
store i32 %760, i32* %2
br label %995
761: ; preds = %754
%762 = load i32, i32* %3
%763 = icmp eq i32 %762, 3633
%764 = zext i1 %763 to i32
store i32 %764, i32* %2
br label %995
765: ; preds = %492
%766 = load i32, i32* %3
%767 = icmp sle i32 %766, 3903
br i1 %767, label %768, label %879
768: ; preds = %765
%769 = load i32, i32* %3
%770 = icmp sle i32 %769, 3789
br i1 %770, label %771, label %835
771: ; preds = %768
%772 = load i32, i32* %3
%773 = icmp sle i32 %772, 3761
br i1 %773, label %774, label %802
774: ; preds = %771
%775 = load i32, i32* %3
%776 = icmp sle i32 %775, 3642
br i1 %776, label %777, label %786
777: ; preds = %774
%778 = load i32, i32* %3
%779 = icmp sge i32 %778, 3636
br i1 %779, label %780, label %783
780: ; preds = %777
%781 = load i32, i32* %3
%782 = icmp sle i32 %781, 3642
br label %783
783: ; preds = %780, %777
%784 = phi i1 [ false, %777 ], [ %782, %780 ]
%785 = zext i1 %784 to i32
store i32 %785, i32* %2
br label %995
786: ; preds = %774
%787 = load i32, i32* %3
%788 = icmp sle i32 %787, 3662
br i1 %788, label %789, label %798
789: ; preds = %786
%790 = load i32, i32* %3
%791 = icmp sge i32 %790, 3655
br i1 %791, label %792, label %795
792: ; preds = %789
%793 = load i32, i32* %3
%794 = icmp sle i32 %793, 3662
br label %795
795: ; preds = %792, %789
%796 = phi i1 [ false, %789 ], [ %794, %792 ]
%797 = zext i1 %796 to i32
store i32 %797, i32* %2
br label %995
798: ; preds = %786
%799 = load i32, i32* %3
%800 = icmp eq i32 %799, 3761
%801 = zext i1 %800 to i32
store i32 %801, i32* %2
br label %995
802: ; preds = %771
%803 = load i32, i32* %3
%804 = icmp sle i32 %803, 3769
br i1 %804, label %805, label %814
805: ; preds = %802
%806 = load i32, i32* %3
%807 = icmp sge i32 %806, 3764
br i1 %807, label %808, label %811
808: ; preds = %805
%809 = load i32, i32* %3
%810 = icmp sle i32 %809, 3769
br label %811
811: ; preds = %808, %805
%812 = phi i1 [ false, %805 ], [ %810, %808 ]
%813 = zext i1 %812 to i32
store i32 %813, i32* %2
br label %995
814: ; preds = %802
%815 = load i32, i32* %3
%816 = icmp sle i32 %815, 3772
br i1 %816, label %817, label %826
817: ; preds = %814
%818 = load i32, i32* %3
%819 = icmp sge i32 %818, 3771
br i1 %819, label %820, label %823
820: ; preds = %817
%821 = load i32, i32* %3
%822 = icmp sle i32 %821, 3772
br label %823
823: ; preds = %820, %817
%824 = phi i1 [ false, %817 ], [ %822, %820 ]
%825 = zext i1 %824 to i32
store i32 %825, i32* %2
br label %995
826: ; preds = %814
%827 = load i32, i32* %3
%828 = icmp sge i32 %827, 3784
br i1 %828, label %829, label %832
829: ; preds = %826
%830 = load i32, i32* %3
%831 = icmp sle i32 %830, 3789
br label %832
832: ; preds = %829, %826
%833 = phi i1 [ false, %826 ], [ %831, %829 ]
%834 = zext i1 %833 to i32
store i32 %834, i32* %2
br label %995
835: ; preds = %768
%836 = load i32, i32* %3
%837 = icmp sle i32 %836, 3895
br i1 %837, label %838, label %861
838: ; preds = %835
%839 = load i32, i32* %3
%840 = icmp sle i32 %839, 3865
br i1 %840, label %841, label %850
841: ; preds = %838
%842 = load i32, i32* %3
%843 = icmp sge i32 %842, 3864
br i1 %843, label %844, label %847
844: ; preds = %841
%845 = load i32, i32* %3
%846 = icmp sle i32 %845, 3865
br label %847
847: ; preds = %844, %841
%848 = phi i1 [ false, %841 ], [ %846, %844 ]
%849 = zext i1 %848 to i32
store i32 %849, i32* %2
br label %995
850: ; preds = %838
%851 = load i32, i32* %3
%852 = icmp sle i32 %851, 3893
br i1 %852, label %853, label %857
853: ; preds = %850
%854 = load i32, i32* %3
%855 = icmp eq i32 %854, 3893
%856 = zext i1 %855 to i32
store i32 %856, i32* %2
br label %995
857: ; preds = %850
%858 = load i32, i32* %3
%859 = icmp eq i32 %858, 3895
%860 = zext i1 %859 to i32
store i32 %860, i32* %2
br label %995
861: ; preds = %835
%862 = load i32, i32* %3
%863 = icmp sle i32 %862, 3897
br i1 %863, label %864, label %868
864: ; preds = %861
%865 = load i32, i32* %3
%866 = icmp eq i32 %865, 3897
%867 = zext i1 %866 to i32
store i32 %867, i32* %2
br label %995
868: ; preds = %861
%869 = load i32, i32* %3
%870 = icmp sle i32 %869, 3902
br i1 %870, label %871, label %875
871: ; preds = %868
%872 = load i32, i32* %3
%873 = icmp eq i32 %872, 3902
%874 = zext i1 %873 to i32
store i32 %874, i32* %2
br label %995
875: ; preds = %868
%876 = load i32, i32* %3
%877 = icmp eq i32 %876, 3903
%878 = zext i1 %877 to i32
store i32 %878, i32* %2
br label %995
879: ; preds = %765
%880 = load i32, i32* %3
%881 = icmp sle i32 %880, 4023
br i1 %881, label %882, label %946
882: ; preds = %879
%883 = load i32, i32* %3
%884 = icmp sle i32 %883, 3989
br i1 %884, label %885, label %918
885: ; preds = %882
%886 = load i32, i32* %3
%887 = icmp sle i32 %886, 3972
br i1 %887, label %888, label %897
888: ; preds = %885
%889 = load i32, i32* %3
%890 = icmp sge i32 %889, 3953
br i1 %890, label %891, label %894
891: ; preds = %888
%892 = load i32, i32* %3
%893 = icmp sle i32 %892, 3972
br label %894
894: ; preds = %891, %888
%895 = phi i1 [ false, %888 ], [ %893, %891 ]
%896 = zext i1 %895 to i32
store i32 %896, i32* %2
br label %995
897: ; preds = %885
%898 = load i32, i32* %3
%899 = icmp sle i32 %898, 3979
br i1 %899, label %900, label %909
900: ; preds = %897
%901 = load i32, i32* %3
%902 = icmp sge i32 %901, 3974
br i1 %902, label %903, label %906
903: ; preds = %900
%904 = load i32, i32* %3
%905 = icmp sle i32 %904, 3979
br label %906
906: ; preds = %903, %900
%907 = phi i1 [ false, %900 ], [ %905, %903 ]
%908 = zext i1 %907 to i32
store i32 %908, i32* %2
br label %995
909: ; preds = %897
%910 = load i32, i32* %3
%911 = icmp sge i32 %910, 3984
br i1 %911, label %912, label %915
912: ; preds = %909
%913 = load i32, i32* %3
%914 = icmp sle i32 %913, 3989
br label %915
915: ; preds = %912, %909
%916 = phi i1 [ false, %909 ], [ %914, %912 ]
%917 = zext i1 %916 to i32
store i32 %917, i32* %2
br label %995
918: ; preds = %882
%919 = load i32, i32* %3
%920 = icmp sle i32 %919, 3991
br i1 %920, label %921, label %925
921: ; preds = %918
%922 = load i32, i32* %3
%923 = icmp eq i32 %922, 3991
%924 = zext i1 %923 to i32
store i32 %924, i32* %2
br label %995
925: ; preds = %918
%926 = load i32, i32* %3
%927 = icmp sle i32 %926, 4013
br i1 %927, label %928, label %937
928: ; preds = %925
%929 = load i32, i32* %3
%930 = icmp sge i32 %929, 3993
br i1 %930, label %931, label %934
931: ; preds = %928
%932 = load i32, i32* %3
%933 = icmp sle i32 %932, 4013
br label %934
934: ; preds = %931, %928
%935 = phi i1 [ false, %928 ], [ %933, %931 ]
%936 = zext i1 %935 to i32
store i32 %936, i32* %2
br label %995
937: ; preds = %925
%938 = load i32, i32* %3
%939 = icmp sge i32 %938, 4017
br i1 %939, label %940, label %943
940: ; preds = %937
%941 = load i32, i32* %3
%942 = icmp sle i32 %941, 4023
br label %943
943: ; preds = %940, %937
%944 = phi i1 [ false, %937 ], [ %942, %940 ]
%945 = zext i1 %944 to i32
store i32 %945, i32* %2
br label %995
946: ; preds = %879
%947 = load i32, i32* %3
%948 = icmp sle i32 %947, 8417
br i1 %948, label %949, label %972
949: ; preds = %946
%950 = load i32, i32* %3
%951 = icmp sle i32 %950, 4025
br i1 %951, label %952, label %956
952: ; preds = %949
%953 = load i32, i32* %3
%954 = icmp eq i32 %953, 4025
%955 = zext i1 %954 to i32
store i32 %955, i32* %2
br label %995
956: ; preds = %949
%957 = load i32, i32* %3
%958 = icmp sle i32 %957, 8412
br i1 %958, label %959, label %968
959: ; preds = %956
%960 = load i32, i32* %3
%961 = icmp sge i32 %960, 8400
br i1 %961, label %962, label %965
962: ; preds = %959
%963 = load i32, i32* %3
%964 = icmp sle i32 %963, 8412
br label %965
965: ; preds = %962, %959
%966 = phi i1 [ false, %959 ], [ %964, %962 ]
%967 = zext i1 %966 to i32
store i32 %967, i32* %2
br label %995
968: ; preds = %956
%969 = load i32, i32* %3
%970 = icmp eq i32 %969, 8417
%971 = zext i1 %970 to i32
store i32 %971, i32* %2
br label %995
972: ; preds = %946
%973 = load i32, i32* %3
%974 = icmp sle i32 %973, 12335
br i1 %974, label %975, label %984
975: ; preds = %972
%976 = load i32, i32* %3
%977 = icmp sge i32 %976, 12330
br i1 %977, label %978, label %981
978: ; preds = %975
%979 = load i32, i32* %3
%980 = icmp sle i32 %979, 12335
br label %981
981: ; preds = %978, %975
%982 = phi i1 [ false, %975 ], [ %980, %978 ]
%983 = zext i1 %982 to i32
store i32 %983, i32* %2
br label %995
984: ; preds = %972
%985 = load i32, i32* %3
%986 = icmp sle i32 %985, 12441
br i1 %986, label %987, label %991
987: ; preds = %984
%988 = load i32, i32* %3
%989 = icmp eq i32 %988, 12441
%990 = zext i1 %989 to i32
store i32 %990, i32* %2
br label %995
991: ; preds = %984
%992 = load i32, i32* %3
%993 = icmp eq i32 %992, 12442
%994 = zext i1 %993 to i32
store i32 %994, i32* %2
br label %995
995: ; preds = %991, %987, %981, %968, %965, %952, %943, %934, %921, %915, %906, %894, %875, %871, %864, %857, %853, %847, %832, %823, %811, %798, %795, %783, %761, %757, %751, %739, %730, %718, %703, %694, %682, %670, %661, %649, %631, %622, %610, %598, %588, %582, %567, %558, %546, %534, %525, %513, %489, %479, %473, %461, %452, %440, %424, %421, %409, %397, %388, %376, %357, %353, %346, %339, %336, %323, %314, %305, %293, %280, %276, %269, %254, %245, %233, %220, %217, %204, %195, %186, %174, %162, %153, %141, %122, %119, %106, %100, %90, %84, %69, %60, %48, %36, %27
%996 = load i32, i32* %2
ret i32 %996
}

LLVM IR (-O2):
define i32 @xml_combining_char(i32 %0) {
%2 = icmp slt i32 %0, 2884
br i1 %2, label %3, label %165
3: ; preds = %1
%4 = icmp slt i32 %0, 2436
br i1 %4, label %5, label %83
5: ; preds = %3
%6 = icmp slt i32 %0, 1649
br i1 %6, label %7, label %49
7: ; preds = %5
%8 = icmp slt i32 %0, 1466
br i1 %8, label %9, label %27
9: ; preds = %7
%10 = icmp slt i32 %0, 866
br i1 %10, label %11, label %17
11: ; preds = %9
%12 = icmp slt i32 %0, 838
br i1 %12, label %13, label %15
13: ; preds = %11
%14 = icmp sgt i32 %0, 767
br label %351
15: ; preds = %11
%16 = icmp ugt i32 %0, 863
br label %351
17: ; preds = %9
%18 = icmp ult i32 %0, 1159
br i1 %18, label %19, label %21
19: ; preds = %17
%20 = icmp ugt i32 %0, 1154
br label %351
21: ; preds = %17
%22 = icmp ult i32 %0, 1442
br i1 %22, label %23, label %25
23: ; preds = %21
%24 = icmp ugt i32 %0, 1424
br label %351
25: ; preds = %21
%26 = icmp ne i32 %0, 1442
br label %351
27: ; preds = %7
%28 = icmp ult i32 %0, 1475
br i1 %28, label %29, label %39
29: ; preds = %27
%30 = icmp ult i32 %0, 1470
br i1 %30, label %31, label %33
31: ; preds = %29
%32 = icmp ugt i32 %0, 1466
br label %351
33: ; preds = %29
%34 = icmp ult i32 %0, 1472
br i1 %34, label %35, label %37
35: ; preds = %33
%36 = icmp eq i32 %0, 1471
br label %351
37: ; preds = %33
%38 = icmp ne i32 %0, 1472
br label %351
39: ; preds = %27
%40 = icmp ult i32 %0, 1477
br i1 %40, label %41, label %43
41: ; preds = %39
%42 = icmp eq i32 %0, 1476
br label %351
43: ; preds = %39
%44 = icmp ult i32 %0, 1619
br i1 %44, label %45, label %47
45: ; preds = %43
%46 = icmp ugt i32 %0, 1610
br label %351
47: ; preds = %43
%48 = icmp eq i32 %0, 1648
br label %351
49: ; preds = %5
%50 = icmp ult i32 %0, 2308
br i1 %50, label %51, label %65
51: ; preds = %49
%52 = icmp ult i32 %0, 1765
br i1 %52, label %53, label %55
53: ; preds = %51
%54 = icmp ugt i32 %0, 1749
br label %351
55: ; preds = %51
%56 = icmp ult i32 %0, 1769
br i1 %56, label %57, label %59
57: ; preds = %55
%58 = icmp ugt i32 %0, 1766
br label %351
59: ; preds = %55
%60 = icmp ult i32 %0, 1774
br i1 %60, label %61, label %63
61: ; preds = %59
%62 = icmp ugt i32 %0, 1769
br label %351
63: ; preds = %59
%64 = icmp ugt i32 %0, 2304
br label %351
65: ; preds = %49
%66 = icmp ult i32 %0, 2382
br i1 %66, label %67, label %73
67: ; preds = %65
%68 = icmp ult i32 %0, 2365
br i1 %68, label %69, label %71
69: ; preds = %67
%70 = icmp eq i32 %0, 2364
br label %351
71: ; preds = %67
%72 = icmp ne i32 %0, 2365
br label %351
73: ; preds = %65
%74 = icmp ult i32 %0, 2389
br i1 %74, label %75, label %77
75: ; preds = %73
%76 = icmp ugt i32 %0, 2384
br label %351
77: ; preds = %73
%78 = icmp ult i32 %0, 2404
br i1 %78, label %79, label %81
79: ; preds = %77
%80 = icmp ugt i32 %0, 2401
br label %351
81: ; preds = %77
%82 = icmp ugt i32 %0, 2432
br label %351
83: ; preds = %3
%84 = icmp ult i32 %0, 2624
br i1 %84, label %85, label %121
85: ; preds = %83
%86 = icmp ult i32 %0, 2510
br i1 %86, label %87, label %103
87: ; preds = %85
%88 = icmp ult i32 %0, 2496
br i1 %88, label %89, label %95
89: ; preds = %87
%90 = icmp ult i32 %0, 2493
br i1 %90, label %91, label %93
91: ; preds = %89
%92 = icmp eq i32 %0, 2492
br label %351
93: ; preds = %89
%94 = icmp ne i32 %0, 2493
br label %351
95: ; preds = %87
%96 = icmp ult i32 %0, 2501
br i1 %96, label %351, label %97
97: ; preds = %95
%98 = icmp ult i32 %0, 2505
br i1 %98, label %99, label %101
99: ; preds = %97
%100 = icmp ugt i32 %0, 2502
br label %351
101: ; preds = %97
%102 = icmp ugt i32 %0, 2506
br label %351
103: ; preds = %85
%104 = icmp ult i32 %0, 2563
br i1 %104, label %105, label %115
105: ; preds = %103
%106 = icmp ult i32 %0, 2520
br i1 %106, label %107, label %109
107: ; preds = %105
%108 = icmp eq i32 %0, 2519
br label %351
109: ; preds = %105
%110 = icmp ult i32 %0, 2532
br i1 %110, label %111, label %113
111: ; preds = %109
%112 = icmp ugt i32 %0, 2529
br label %351
113: ; preds = %109
%114 = icmp eq i32 %0, 2562
br label %351
115: ; preds = %103
%116 = icmp ult i32 %0, 2621
br i1 %116, label %117, label %119
117: ; preds = %115
%118 = icmp eq i32 %0, 2620
br label %351
119: ; preds = %115
%120 = icmp ne i32 %0, 2621
br label %351
121: ; preds = %83
%122 = icmp ult i32 %0, 2749
br i1 %122, label %123, label %143
123: ; preds = %121
%124 = icmp ult i32 %0, 2638
br i1 %124, label %125, label %133
125: ; preds = %123
%126 = icmp ult i32 %0, 2627
br i1 %126, label %351, label %127
127: ; preds = %125
%128 = icmp ult i32 %0, 2633
br i1 %128, label %129, label %131
129: ; preds = %127
%130 = icmp ugt i32 %0, 2630
br label %351
131: ; preds = %127
%132 = icmp ugt i32 %0, 2634
br label %351
133: ; preds = %123
%134 = icmp ult i32 %0, 2674
br i1 %134, label %135, label %137
135: ; preds = %133
%136 = icmp ugt i32 %0, 2671
br label %351
137: ; preds = %133
%138 = icmp ult i32 %0, 2692
br i1 %138, label %139, label %141
139: ; preds = %137
%140 = icmp ugt i32 %0, 2688
br label %351
141: ; preds = %137
%142 = icmp eq i32 %0, 2748
br label %351
143: ; preds = %121
%144 = icmp ult i32 %0, 2766
br i1 %144, label %145, label %155
145: ; preds = %143
%146 = icmp ult i32 %0, 2758
br i1 %146, label %147, label %149
147: ; preds = %145
%148 = icmp ugt i32 %0, 2749
br label %351
149: ; preds = %145
%150 = icmp ult i32 %0, 2762
br i1 %150, label %151, label %153
151: ; preds = %149
%152 = icmp ugt i32 %0, 2758
br label %351
153: ; preds = %149
%154 = icmp ne i32 %0, 2762
br label %351
155: ; preds = %143
%156 = icmp ult i32 %0, 2820
br i1 %156, label %157, label %159
157: ; preds = %155
%158 = icmp ugt i32 %0, 2816
br label %351
159: ; preds = %155
%160 = icmp ult i32 %0, 2877
br i1 %160, label %161, label %163
161: ; preds = %159
%162 = icmp eq i32 %0, 2876
br label %351
163: ; preds = %159
%164 = icmp ne i32 %0, 2877
br label %351
165: ; preds = %1
%166 = icmp ult i32 %0, 3634
br i1 %166, label %167, label %261
167: ; preds = %165
%168 = icmp ult i32 %0, 3150
br i1 %168, label %169, label %215
169: ; preds = %167
%170 = icmp ult i32 %0, 3017
br i1 %170, label %171, label %193
171: ; preds = %169
%172 = icmp ult i32 %0, 2904
br i1 %172, label %173, label %183
173: ; preds = %171
%174 = icmp ult i32 %0, 2889
br i1 %174, label %175, label %177
175: ; preds = %173
%176 = icmp ugt i32 %0, 2886
br label %351
177: ; preds = %173
%178 = icmp ult i32 %0, 2894
br i1 %178, label %179, label %181
179: ; preds = %177
%180 = icmp ugt i32 %0, 2890
br label %351
181: ; preds = %177
%182 = icmp ugt i32 %0, 2901
br label %351
183: ; preds = %171
%184 = icmp ult i32 %0, 2948
br i1 %184, label %185, label %187
185: ; preds = %183
%186 = icmp ugt i32 %0, 2945
br label %351
187: ; preds = %183
%188 = icmp ult i32 %0, 3011
br i1 %188, label %189, label %191
189: ; preds = %187
%190 = icmp ugt i32 %0, 3005
br label %351
191: ; preds = %187
%192 = icmp ugt i32 %0, 3013
br label %351
193: ; preds = %169
%194 = icmp ult i32 %0, 3076
br i1 %194, label %195, label %205
195: ; preds = %193
%196 = icmp ult i32 %0, 3022
br i1 %196, label %197, label %199
197: ; preds = %195
%198 = icmp ugt i32 %0, 3017
br label %351
199: ; preds = %195
%200 = icmp ult i32 %0, 3032
br i1 %200, label %201, label %203
201: ; preds = %199
%202 = icmp eq i32 %0, 3031
br label %351
203: ; preds = %199
%204 = icmp ugt i32 %0, 3072
br label %351
205: ; preds = %193
%206 = icmp ult i32 %0, 3141
br i1 %206, label %207, label %209
207: ; preds = %205
%208 = icmp ugt i32 %0, 3133
br label %351
209: ; preds = %205
%210 = icmp ult i32 %0, 3145
br i1 %210, label %211, label %213
211: ; preds = %209
%212 = icmp ugt i32 %0, 3141
br label %351
213: ; preds = %209
%214 = icmp ne i32 %0, 3145
br label %351
215: ; preds = %167
%216 = icmp ult i32 %0, 3287
br i1 %216, label %217, label %239
217: ; preds = %215
%218 = icmp ult i32 %0, 3269
br i1 %218, label %219, label %229
219: ; preds = %217
%220 = icmp ult i32 %0, 3159
br i1 %220, label %221, label %223
221: ; preds = %219
%222 = icmp ugt i32 %0, 3156
br label %351
223: ; preds = %219
%224 = icmp ult i32 %0, 3204
br i1 %224, label %225, label %227
225: ; preds = %223
%226 = icmp ugt i32 %0, 3201
br label %351
227: ; preds = %223
%228 = icmp ugt i32 %0, 3261
br label %351
229: ; preds = %217
%230 = icmp ult i32 %0, 3273
br i1 %230, label %231, label %233
231: ; preds = %229
%232 = icmp ugt i32 %0, 3269
br label %351
233: ; preds = %229
%234 = icmp ult i32 %0, 3278
br i1 %234, label %235, label %237
235: ; preds = %233
%236 = icmp ugt i32 %0, 3273
br label %351
237: ; preds = %233
%238 = icmp ugt i32 %0, 3284
br label %351
239: ; preds = %215
%240 = icmp ult i32 %0, 3401
br i1 %240, label %241, label %251
241: ; preds = %239
%242 = icmp ult i32 %0, 3332
br i1 %242, label %243, label %245
243: ; preds = %241
%244 = icmp ugt i32 %0, 3329
br label %351
245: ; preds = %241
%246 = icmp ult i32 %0, 3396
br i1 %246, label %247, label %249
247: ; preds = %245
%248 = icmp ugt i32 %0, 3389
br label %351
249: ; preds = %245
%250 = icmp ugt i32 %0, 3397
br label %351
251: ; preds = %239
%252 = icmp ult i32 %0, 3406
br i1 %252, label %253, label %255
253: ; preds = %251
%254 = icmp ugt i32 %0, 3401
br label %351
255: ; preds = %251
%256 = icmp ult i32 %0, 3416
br i1 %256, label %257, label %259
257: ; preds = %255
%258 = icmp eq i32 %0, 3415
br label %351
259: ; preds = %255
%260 = icmp eq i32 %0, 3633
br label %351
261: ; preds = %165
%262 = icmp ult i32 %0, 3904
br i1 %262, label %263, label %305
263: ; preds = %261
%264 = icmp ult i32 %0, 3790
br i1 %264, label %265, label %287
265: ; preds = %263
%266 = icmp ult i32 %0, 3762
br i1 %266, label %267, label %277
267: ; preds = %265
%268 = icmp ult i32 %0, 3643
br i1 %268, label %269, label %271
269: ; preds = %267
%270 = icmp ugt i32 %0, 3635
br label %351
271: ; preds = %267
%272 = icmp ult i32 %0, 3663
br i1 %272, label %273, label %275
273: ; preds = %271
%274 = icmp ugt i32 %0, 3654
br label %351
275: ; preds = %271
%276 = icmp eq i32 %0, 3761
br label %351
277: ; preds = %265
%278 = icmp ult i32 %0, 3770
br i1 %278, label %279, label %281
279: ; preds = %277
%280 = icmp ugt i32 %0, 3763
br label %351
281: ; preds = %277
%282 = icmp ult i32 %0, 3773
br i1 %282, label %283, label %285
283: ; preds = %281
%284 = icmp ugt i32 %0, 3770
br label %351
285: ; preds = %281
%286 = icmp ugt i32 %0, 3783
br label %351
287: ; preds = %263
%288 = icmp ult i32 %0, 3896
br i1 %288, label %289, label %299
289: ; preds = %287
%290 = icmp ult i32 %0, 3866
br i1 %290, label %291, label %293
291: ; preds = %289
%292 = icmp ugt i32 %0, 3863
br label %351
293: ; preds = %289
%294 = icmp ult i32 %0, 3894
br i1 %294, label %295, label %297
295: ; preds = %293
%296 = icmp eq i32 %0, 3893
br label %351
297: ; preds = %293
%298 = icmp eq i32 %0, 3895
br label %351
299: ; preds = %287
%300 = icmp ult i32 %0, 3898
br i1 %300, label %301, label %303
301: ; preds = %299
%302 = icmp eq i32 %0, 3897
br label %351
303: ; preds = %299
%304 = icmp ugt i32 %0, 3901
br label %351
305: ; preds = %261
%306 = icmp ult i32 %0, 4024
br i1 %306, label %307, label %329
307: ; preds = %305
%308 = icmp ult i32 %0, 3990
br i1 %308, label %309, label %319
309: ; preds = %307
%310 = icmp ult i32 %0, 3973
br i1 %310, label %311, label %313
311: ; preds = %309
%312 = icmp ugt i32 %0, 3952
br label %351
313: ; preds = %309
%314 = icmp ult i32 %0, 3980
br i1 %314, label %315, label %317
315: ; preds = %313
%316 = icmp ugt i32 %0, 3973
br label %351
317: ; preds = %313
%318 = icmp ugt i32 %0, 3983
br label %351
319: ; preds = %307
%320 = icmp ult i32 %0, 3992
br i1 %320, label %321, label %323
321: ; preds = %319
%322 = icmp eq i32 %0, 3991
br label %351
323: ; preds = %319
%324 = icmp ult i32 %0, 4014
br i1 %324, label %325, label %327
325: ; preds = %323
%326 = icmp ugt i32 %0, 3992
br label %351
327: ; preds = %323
%328 = icmp ugt i32 %0, 4016
br label %351
329: ; preds = %305
%330 = icmp ult i32 %0, 8418
br i1 %330, label %331, label %341
331: ; preds = %329
%332 = icmp ult i32 %0, 4026
br i1 %332, label %333, label %335
333: ; preds = %331
%334 = icmp eq i32 %0, 4025
br label %351
335: ; preds = %331
%336 = icmp ult i32 %0, 8413
br i1 %336, label %337, label %339
337: ; preds = %335
%338 = icmp ugt i32 %0, 8399
br label %351
339: ; preds = %335
%340 = icmp eq i32 %0, 8417
br label %351
341: ; preds = %329
%342 = icmp ult i32 %0, 12336
br i1 %342, label %343, label %345
343: ; preds = %341
%344 = icmp ugt i32 %0, 12329
br label %351
345: ; preds = %341
%346 = icmp ult i32 %0, 12442
br i1 %346, label %347, label %349
347: ; preds = %345
%348 = icmp eq i32 %0, 12441
br label %351
349: ; preds = %345
%350 = icmp eq i32 %0, 12442
br label %351
351: ; preds = %303, %119, %93, %71, %53, %125, %95, %349, %347, %343, %339, %337, %333, %327, %325, %321, %317, %315, %311, %301, %297, %295, %291, %285, %283, %279, %275, %273, %269, %259, %257, %253, %249, %247, %243, %237, %235, %231, %227, %225, %221, %213, %211, %207, %203, %201, %197, %191, %189, %185, %181, %179, %175, %163, %161, %157, %153, %151, %147, %141, %139, %135, %131, %129, %117, %113, %111, %107, %101, %99, %91, %81, %79, %75, %69, %63, %61, %57, %47, %45, %41, %37, %35, %31, %25, %23, %19, %15, %13
%352 = phi i1 [ %14, %13 ], [ %16, %15 ], [ %20, %19 ], [ %24, %23 ], [ %26, %25 ], [ %32, %31 ], [ %36, %35 ], [ %38, %37 ], [ %42, %41 ], [ %46, %45 ], [ %48, %47 ], [ %58, %57 ], [ %62, %61 ], [ %64, %63 ], [ %70, %69 ], [ %76, %75 ], [ %80, %79 ], [ %82, %81 ], [ %92, %91 ], [ %100, %99 ], [ %102, %101 ], [ %108, %107 ], [ %112, %111 ], [ %114, %113 ], [ %118, %117 ], [ %130, %129 ], [ %132, %131 ], [ %136, %135 ], [ %140, %139 ], [ %142, %141 ], [ %148, %147 ], [ %152, %151 ], [ %154, %153 ], [ %158, %157 ], [ %162, %161 ], [ %164, %163 ], [ %176, %175 ], [ %180, %179 ], [ %182, %181 ], [ %186, %185 ], [ %190, %189 ], [ %192, %191 ], [ %198, %197 ], [ %202, %201 ], [ %204, %203 ], [ %208, %207 ], [ %212, %211 ], [ %214, %213 ], [ %222, %221 ], [ %226, %225 ], [ %228, %227 ], [ %232, %231 ], [ %236, %235 ], [ %238, %237 ], [ %244, %243 ], [ %248, %247 ], [ %250, %249 ], [ %254, %253 ], [ %258, %257 ], [ %260, %259 ], [ %270, %269 ], [ %274, %273 ], [ %276, %275 ], [ %280, %279 ], [ %284, %283 ], [ %286, %285 ], [ %292, %291 ], [ %296, %295 ], [ %298, %297 ], [ %302, %301 ], [ %312, %311 ], [ %316, %315 ], [ %318, %317 ], [ %322, %321 ], [ %326, %325 ], [ %328, %327 ], [ %334, %333 ], [ %338, %337 ], [ %340, %339 ], [ %344, %343 ], [ %348, %347 ], [ %350, %349 ], [ true, %95 ], [ true, %125 ], [ %54, %53 ], [ %72, %71 ], [ %94, %93 ], [ %120, %119 ], [ %304, %303 ]
%353 = zext i1 %352 to i32
ret i32 %353
}