user: Demonstrate the C code that generates the assembly output below:

```asm
<state_machine>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  mov    %rdi,%r14
  mov    %rsi,%r12
  mov    %rdi,%rbp
  mov    $0x0,%ebx
  lea    D4(%rip),%r13
L1232:
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L1284
  cmp    %r12,%rbp
  jae    L401
  mov    0x0(%rbp),%rbx
L1284:
  add    $0x1,%rbp
  mov    %ebx,%eax
  cmp    $0x43,%bl
  ja     L1232
L869:
  sub    $0x22,%eax
  cmp    $0x21,%al
  ja     L1232
  movzbl %al,%eax
  movslq 0x0(%r13,%rax,4),%rax
  add    %r13,%rax
  notrack jmp *%rax
L1120:
  mov    %rax,%rbp
  jmp    L1232
L1962:
  mov    %rax,%rbp
  jmp    L1708
L1049:
  mov    %rax,%rbp
  jmp    L1708
L1607:
  mov    %rax,%rbp
  jmp    L1708
L1796:
  mov    %rax,%rbp
  jmp    L1708
L1528:
  mov    %rax,%rbp
  jmp    L1708
L1494:
  mov    %rax,%rbp
  jmp    L1708
L1398:
  mov    %rax,%rbp
  jmp    L1708
L1488:
  mov    %rax,%rbp
  jmp    L1708
L1647:
  mov    %rax,%rbp
  jmp    L1708
L1146:
  mov    %rax,%rbp
  jmp    L1708
L1503:
  mov    %rax,%rbp
  jmp    L1708
L952:
  mov    %rax,%rbp
  jmp    L1708
L144:
  mov    %rax,%rbp
  jmp    L1708
L1243:
  mov    %rax,%rbp
  jmp    L1708
L965:
  mov    %rax,%rbp
  jmp    L1708
L1140:
  mov    %rax,%rbp
  jmp    L1708
L1777:
  mov    %rax,%rbp
  jmp    L1708
L1988:
  mov    %rax,%rbp
  jmp    L1708
L1843:
  mov    %rax,%rbp
  jmp    L1708
L1571:
  mov    %rax,%rbp
  jmp    L1708
L974:
  mov    %rax,%rbp
  jmp    L1708
L1431:
  mov    %rax,%rbp
  jmp    L1708
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L1404
  cmp    %rbp,%r12
  jbe    L401
  mov    0x0(%rbp),%rbx
L1404:
  add    $0x1,%rbp
  cmp    $0x2f,%bl
  je     L1519
  cmp    $0x2a,%bl
  je     L765
L1708:
  mov    %ebx,%eax
  cmp    $0x43,%bl
  jbe    L869
  jmp    L1232
  lea    0x2(%r14),%rax
  cmp    %rax,%rbp
  jae    L1734
L523:
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L1625
  cmp    %rbp,%r12
  jbe    L401
  mov    0x0(%rbp),%rbx
L1625:
  lea    0x1(%rbp),%rax
  cmp    $0x4f,%bl
  jne    L1988
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1736
  cmp    %rax,%r12
  jbe    L401
  mov    0x1(%rbp),%rbx
L1736:
  lea    0x2(%rbp),%rax
  cmp    $0x4e,%bl
  jne    L1843
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1828
  cmp    %rax,%r12
  jbe    L401
  mov    0x2(%rbp),%rbx
L1828:
  lea    0x3(%rbp),%rax
  cmp    $0x46,%bl
  jne    L1571
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L368
  cmp    %rax,%r12
  jbe    L401
  mov    0x3(%rbp),%rbx
L368:
  lea    0x4(%rbp),%rax
  cmp    $0x49,%bl
  jne    L974
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L826
  cmp    %rax,%r12
  jbe    L401
  mov    0x4(%rbp),%rbx
L826:
  lea    0x5(%rbp),%rax
  cmp    $0x47,%bl
  jne    L1431
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1384
  cmp    %rax,%r12
  jbe    L401
  mov    0x5(%rbp),%rbx
L1384:
  add    $0x6,%rbp
  cmp    $0x5f,%bl
  jne    L1708
  mov    %rbp,%r15
L1041:
  shr    $0x8,%rbx
  test   $0x7,%r15b
  jne    L716
  cmp    %r12,%r15
  jae    L401
  mov    (%r15),%rbx
L716:
  add    $0x1,%r15
  movzbl %bl,%edi
  call   <isalnum@plt>
  cmp    $0x5f,%bl
  je     L1041
  test   %rax,%rax
  jne    L1041
  mov    %r15,%rsi
  sub    %rbp,%rsi
  sub    $0x1,%esi
  mov    %rbp,%rdi
  call   <use_config@plt>
  mov    %r15,%rbp
  jmp    L1708
L559:
  mov    %rax,%rbp
L1519:
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L922
  cmp    %r12,%rbp
  jae    L401
  mov    0x0(%rbp),%rbx
L922:
  lea    0x1(%rbp),%rax
  cmp    $0xa,%bl
  je     L1120
  cmp    $0x5c,%bl
  jne    L559
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L238
  cmp    %rax,%r12
  jbe    L401
  mov    0x1(%rbp),%rbx
L238:
  add    $0x2,%rbp
  jmp    L1519
L765:
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L811
  cmp    %r12,%rbp
  jae    L401
  mov    0x0(%rbp),%rbx
L811:
  add    $0x1,%rbp
  jmp    L1065
L290:
  add    $0x1,%rbp
  cmp    $0x2f,%bl
  je     L1232
L1065:
  cmp    $0x2a,%bl
  jne    L765
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L290
  cmp    %r12,%rbp
  jae    L401
  mov    0x0(%rbp),%rbx
  jmp    L290
  mov    %rbp,%rax
  jmp    L842
L652:
  mov    %rbp,%rax
L842:
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L97
  cmp    %r12,%rax
  jae    L401
  mov    (%rax),%rbx
L97:
  lea    0x1(%rax),%rbp
  cmp    $0x27,%bl
  je     L1232
  cmp    $0x5c,%bl
  jne    L652
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L1682
  cmp    %rbp,%r12
  jbe    L401
  mov    0x1(%rax),%rbx
L1682:
  add    $0x2,%rax
  jmp    L842
  mov    %rbp,%rax
  jmp    L458
L13:
  mov    %rbp,%rax
L458:
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1291
  cmp    %r12,%rax
  jae    L401
  mov    (%rax),%rbx
L1291:
  lea    0x1(%rax),%rbp
  cmp    $0x22,%bl
  je     L1232
  cmp    $0x5c,%bl
  jne    L13
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L846
  cmp    %rbp,%r12
  jbe    L401
  mov    0x1(%rax),%rbx
L846:
  add    $0x2,%rax
  jmp    L458
  mov    %rbp,%rax
  jmp    L1719
L1852:
  mov    %rbp,%rax
L1719:
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1788
  cmp    %r12,%rax
  jae    L401
  mov    (%rax),%rbx
L1788:
  lea    0x1(%rax),%rbp
  cmp    $0x9,%bl
  je     L1852
  cmp    $0x20,%bl
  je     L1852
  cmp    $0x69,%bl
  je     L524
  cmp    $0x64,%bl
  je     L1957
  cmp    $0x75,%bl
  jne    L1708
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L1832
  cmp    %rbp,%r12
  jbe    L401
  mov    0x0(%rbp),%rbx
L1832:
  add    $0x2,%rax
  cmp    $0x6e,%bl
  jne    L1146
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1821
  cmp    %rax,%r12
  jbe    L401
  mov    0x1(%rbp),%rbx
L1821:
  lea    0x2(%rbp),%rax
  cmp    $0x64,%bl
  jne    L1503
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1310
  cmp    %rax,%r12
  jbe    L401
  mov    0x2(%rbp),%rbx
L1310:
  lea    0x3(%rbp),%rax
  cmp    $0x65,%bl
  jne    L952
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1443
  cmp    %rax,%r12
  jbe    L401
  mov    0x3(%rbp),%rbx
L1443:
  add    $0x4,%rbp
  cmp    $0x66,%bl
  jne    L1708
L1656:
  mov    %rbp,%rax
  jmp    L1800
L524:
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L1117
  cmp    %rbp,%r12
  jbe    L401
  mov    0x0(%rbp),%rbx
L1117:
  add    $0x2,%rax
  cmp    $0x6e,%bl
  jne    L1962
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1290
  cmp    %rax,%r12
  jbe    L401
  mov    0x1(%rbp),%rbx
L1290:
  lea    0x2(%rbp),%rax
  cmp    $0x63,%bl
  jne    L1049
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1567
  cmp    %rax,%r12
  jbe    L401
  mov    0x2(%rbp),%rbx
L1567:
  lea    0x3(%rbp),%rax
  cmp    $0x6c,%bl
  jne    L1607
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1667
  cmp    %rax,%r12
  jbe    L401
  mov    0x3(%rbp),%rbx
L1667:
  lea    0x4(%rbp),%rax
  cmp    $0x75,%bl
  jne    L1796
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L74
  cmp    %rax,%r12
  jbe    L401
  mov    0x4(%rbp),%rbx
L74:
  lea    0x5(%rbp),%rax
  cmp    $0x64,%bl
  jne    L1528
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L534
  cmp    %rax,%r12
  jbe    L401
  mov    0x5(%rbp),%rbx
L534:
  add    $0x6,%rbp
  mov    %rbp,%rdx
  cmp    $0x65,%bl
  jne    L1708
  jmp    L336
L1957:
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L693
  cmp    %rbp,%r12
  jbe    L401
  mov    0x0(%rbp),%rbx
L693:
  add    $0x2,%rax
  cmp    $0x65,%bl
  jne    L1494
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L1825
  cmp    %rax,%r12
  jbe    L401
  mov    0x1(%rbp),%rbx
L1825:
  lea    0x2(%rbp),%rax
  cmp    $0x66,%bl
  jne    L1398
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L901
  cmp    %rax,%r12
  jbe    L401
  mov    0x2(%rbp),%rbx
L901:
  lea    0x3(%rbp),%rax
  cmp    $0x69,%bl
  jne    L1488
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L2015
  cmp    %rax,%r12
  jbe    L401
  mov    0x3(%rbp),%rbx
L2015:
  lea    0x4(%rbp),%rax
  cmp    $0x6e,%bl
  jne    L1647
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L87
  cmp    %rax,%r12
  jbe    L401
  mov    0x4(%rbp),%rbx
L87:
  add    $0x5,%rbp
  cmp    $0x65,%bl
  jne    L1708
  jmp    L1656
L1059:
  mov    %rsi,%rdx
L336:
  shr    $0x8,%rbx
  test   $0x7,%dl
  jne    L1679
  cmp    %r12,%rdx
  jae    L401
  mov    (%rdx),%rbx
L1679:
  lea    0x1(%rdx),%rsi
  cmp    $0x9,%bl
  je     L1059
  cmp    $0x20,%bl
  je     L1059
  cmp    $0x22,%bl
  je     L1480
  cmp    $0x3c,%bl
  je     L108
  mov    %rsi,%rbp
  jmp    L1708
L1480:
  mov    %rsi,%rax
  jmp    L1637
L1277:
  cmp    %r12,%rax
  jae    L401
  mov    (%rax),%rbx
L1123:
  lea    0x1(%rax),%rbp
  cmp    $0xa,%bl
  je     L1232
  cmp    $0x22,%bl
  je     L1112
  mov    %rbp,%rax
L1637:
  test   $0x7,%al
  je     L1277
  shr    $0x8,%rbx
  jmp    L1123
L1112:
  sub    %rdx,%rax
  lea    -0x1(%rax),%edx
  mov    $0x0,%edi
  call   <handle_include@plt>
  jmp    L1232
L108:
  mov    %rsi,%rax
  jmp    L31
L720:
  cmp    %r12,%rax
  jae    L401
  mov    (%rax),%rbx
L896:
  lea    0x1(%rax),%rbp
  cmp    $0xa,%bl
  je     L1232
  cmp    $0x3e,%bl
  je     L1616
  mov    %rbp,%rax
L31:
  test   $0x7,%al
  je     L720
  shr    $0x8,%rbx
  jmp    L896
L1616:
  sub    %rdx,%rax
  lea    -0x1(%rax),%edx
  mov    $0x1,%edi
  call   <handle_include@plt>
  jmp    L1232
L591:
  mov    %rbp,%rax
L1800:
  shr    $0x8,%rbx
  test   $0x7,%al
  jne    L355
  cmp    %r12,%rax
  jae    L401
  mov    (%rax),%rbx
L355:
  lea    0x1(%rax),%rbp
  cmp    $0x9,%bl
  je     L591
  cmp    $0x20,%bl
  je     L591
  cmp    $0x43,%bl
  jne    L1708
  test   $0x7,%bpl
  je     L1103
  shr    $0x8,%rbx
L267:
  add    $0x2,%rax
  cmp    $0x4f,%bl
  jne    L144
  test   $0x7,%al
  je     L467
  shr    $0x8,%rbx
L1768:
  lea    0x2(%rbp),%rax
  cmp    $0x4e,%bl
  jne    L1243
  test   $0x7,%al
  je     L1899
  shr    $0x8,%rbx
L154:
  lea    0x3(%rbp),%rax
  cmp    $0x46,%bl
  jne    L965
  test   $0x7,%al
  je     L52
  shr    $0x8,%rbx
L1758:
  lea    0x4(%rbp),%rax
  cmp    $0x49,%bl
  jne    L1140
  test   $0x7,%al
  je     L1266
  shr    $0x8,%rbx
L84:
  lea    0x5(%rbp),%rax
  cmp    $0x47,%bl
  jne    L1777
  test   $0x7,%al
  je     L1994
  shr    $0x8,%rbx
L1128:
  add    $0x6,%rbp
  cmp    $0x5f,%bl
  jne    L1708
L1860:
  shr    $0x8,%rbx
  test   $0x7,%bpl
  jne    L1136
  cmp    %r12,%rbp
  jae    L401
  mov    0x0(%rbp),%rbx
L1136:
  add    $0x1,%rbp
  movzbl %bl,%edi
  call   <isalnum@plt>
  cmp    $0x5f,%bl
  je     L1860
  test   %rax,%rax
  jne    L1860
  jmp    L1708
L1103:
  cmp    %rbp,%r12
  jbe    L401
  mov    0x0(%rbp),%rbx
  jmp    L267
L467:
  cmp    %rax,%r12
  jbe    L401
  mov    0x1(%rbp),%rbx
  jmp    L1768
L1899:
  cmp    %rax,%r12
  jbe    L401
  mov    0x2(%rbp),%rbx
  jmp    L154
L52:
  cmp    %rax,%r12
  jbe    L401
  mov    0x3(%rbp),%rbx
  jmp    L1758
L1266:
  cmp    %rax,%r12
  jbe    L401
  mov    0x4(%rbp),%rbx
  jmp    L84
L1994:
  cmp    %rax,%r12
  jbe    L401
  mov    0x5(%rbp),%rbx
  jmp    L1128
L1734:
  movzbl -0x2(%rbp),%edi
  call   <isalnum@plt>
  test   %rax,%rax
  jne    L1232
  cmpb   $0x5f,-0x2(%rbp)
  jne    L523
  jmp    L1232
L401:
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
void state_machine(const char *map, const char *end) {
  const char *next = map;
  const char *map_dot;
  unsigned long __buf = 0;
  for (;;) {
  start : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
  __start:
    if (((unsigned char)__buf) > ((('/') > ((('\'') > ((('"') > ((('#') > ('C') ? ('#') : ('C'))) ? ('"') : ((('#') > ('C') ? ('#') : ('C'))))) ? ('\'') : ((('"') > ((('#') > ('C') ? ('#') : ('C'))) ? ('"') : ((('#') > ('C') ? ('#') : ('C'))))))) ? ('/') : ((('\'') > ((('"') > ((('#') > ('C') ? ('#') : ('C'))) ? ('"') : ((('#') > ('C') ? ('#') : ('C'))))) ? ('\'') : ((('"') > ((('#') > ('C') ? ('#') : ('C'))) ? ('"') : ((('#') > ('C') ? ('#') : ('C'))))))))))
      goto start;
    if (((unsigned char)__buf) < ((('/') < ((('\'') < ((('"') < ((('#') < ('C') ? ('#') : ('C'))) ? ('"') : ((('#') < ('C') ? ('#') : ('C'))))) ? ('\'') : ((('"') < ((('#') < ('C') ? ('#') : ('C'))) ? ('"') : ((('#') < ('C') ? ('#') : ('C'))))))) ? ('/') : ((('\'') < ((('"') < ((('#') < ('C') ? ('#') : ('C'))) ? ('"') : ((('#') < ('C') ? ('#') : ('C'))))) ? ('\'') : ((('"') < ((('#') < ('C') ? ('#') : ('C'))) ? ('"') : ((('#') < ('C') ? ('#') : ('C'))))))))))
      goto start;
    if (((unsigned char)__buf) == '/')
      goto slash;
    if (((unsigned char)__buf) == '\'')
      goto squote;
    if (((unsigned char)__buf) == '"')
      goto dquote;
    if (((unsigned char)__buf) == '#')
      goto pound;
    if (((unsigned char)__buf) == 'C')
      goto cee;
    goto start;
  slash_slash : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == '\n')
      goto start;
    if (((unsigned char)__buf) != '\\')
      goto slash_slash;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    goto slash_slash;
  slash : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == '/')
      goto slash_slash;
    if (((unsigned char)__buf) != '*')
      goto __start;
  slash_star_dot_star : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
  __slash_star_dot_star:
    if (((unsigned char)__buf) != '*')
      goto slash_star_dot_star;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != '/')
      goto __slash_star_dot_star;
    goto start;
  squote : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == '\'')
      goto start;
    if (((unsigned char)__buf) != '\\')
      goto squote;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    goto squote;
  dquote : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == '"')
      goto start;
    if (((unsigned char)__buf) != '\\')
      goto dquote;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    goto dquote;
  pound : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == ' ')
      goto pound;
    if (((unsigned char)__buf) == '\t')
      goto pound;
    if (((unsigned char)__buf) == 'i')
      goto pound_i;
    if (((unsigned char)__buf) == 'd')
      goto pound_d;
    if (((unsigned char)__buf) == 'u')
      goto pound_u;
    goto __start;
  pound_i : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) != 'n')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'c')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'l')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'u')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'd')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'e')
      goto __start;
    goto pound_include;
  pound_include : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == ' ')
      goto pound_include;
    if (((unsigned char)__buf) == '\t')
      goto pound_include;
    map_dot = next;
    if (((unsigned char)__buf) == '"')
      goto pound_include_dquote;
    if (((unsigned char)__buf) == '<')
      goto pound_include_langle;
    goto __start;
  pound_include_dquote : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == '\n')
      goto start;
    if (((unsigned char)__buf) != '"')
      goto pound_include_dquote;
    handle_include(0, map_dot, next - map_dot - 1);
    goto start;
  pound_include_langle : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == '\n')
      goto start;
    if (((unsigned char)__buf) != '>')
      goto pound_include_langle;
    handle_include(1, map_dot, next - map_dot - 1);
    goto start;
  pound_d : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) != 'e')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'f')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'i')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'n')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'e')
      goto __start;
    goto pound_define_undef;
  pound_u : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) != 'n')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'd')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'e')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'f')
      goto __start;
    goto pound_define_undef;
  pound_define_undef : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (((unsigned char)__buf) == ' ')
      goto pound_define_undef;
    if (((unsigned char)__buf) == '\t')
      goto pound_define_undef;
    if (((unsigned char)__buf) != 'C')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'O')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'N')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'F')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'I')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'G')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != '_')
      goto __start;
    map_dot = next;
  pound_define_undef_CONFIG_word : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (isalnum(((unsigned char)__buf)) || ((unsigned char)__buf) == '_')
      goto pound_define_undef_CONFIG_word;
    goto __start;
  cee:
    if (next >= map + 2 && (isalnum((int)next[-2]) || next[-2] == '_'))
      goto start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'O')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'N')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'F')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'I')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != 'G')
      goto __start;
    {
      (__buf >>= 8);
      if ((unsigned long)next % sizeof(unsigned long) == 0) {
        if (next >= end)
          break;
        __buf = *(unsigned long *)next;
      }
      next++;
    }
    if (((unsigned char)__buf) != '_')
      goto __start;
    map_dot = next;
  cee_CONFIG_word : {
    (__buf >>= 8);
    if ((unsigned long)next % sizeof(unsigned long) == 0) {
      if (next >= end)
        break;
      __buf = *(unsigned long *)next;
    }
    next++;
  }
    if (isalnum(((unsigned char)__buf)) || ((unsigned char)__buf) == '_')
      goto cee_CONFIG_word;
    use_config(map_dot, next - map_dot - 1);
    goto __start;
  }
}
```