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

```asm
<main>:
  endbr64
  push   %r13
  mov    $0x8,%edi
  lea    D30(%rip),%r13
  push   %r12
  lea    D62(%rip),%r12
  push   %rbp
  lea    D16(%rip),%rbp
  call   <tap_plan@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  mov    %r12,%rcx
  mov    %rbp,%rdi
  mov    $0xb,%esi
  mov    %eax,%edx
  lea    D26(%rip),%r12
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  mov    %r12,%rcx
  mov    %rbp,%rdi
  mov    $0xc,%esi
  mov    %eax,%edx
  lea    D81(%rip),%r12
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  mov    %r12,%rcx
  mov    %rbp,%rdi
  mov    $0xd,%esi
  lea    D39(%rip),%r12
  mov    %eax,%edx
  call   <_tap_ok@plt>
  mov    %r12,%rdi
  mov    $0x1,%esi
  call   <globdir_str_is_pattern@plt>
  lea    D86(%rip),%rcx
  mov    %rbp,%rdi
  mov    $0xe,%esi
  mov    %eax,%edx
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r13,%rdi
  call   <globdir_str_is_pattern@plt>
  xor    %edx,%edx
  mov    %r13,%rcx
  mov    %rbp,%rdi
  test   %eax,%eax
  mov    $0x10,%esi
  sete   %dl
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  xor    %edx,%edx
  mov    %r12,%rcx
  mov    %rbp,%rdi
  test   %eax,%eax
  lea    D87(%rip),%r12
  mov    $0x11,%esi
  sete   %dl
  call   <_tap_ok@plt>
  xor    %esi,%esi
  mov    %r12,%rdi
  call   <globdir_str_is_pattern@plt>
  xor    %edx,%edx
  mov    %r12,%rcx
  mov    %rbp,%rdi
  test   %eax,%eax
  mov    $0x12,%esi
  sete   %dl
  call   <_tap_ok@plt>
  mov    %r12,%rdi
  mov    $0x1,%esi
  call   <globdir_str_is_pattern@plt>
  xor    %edx,%edx
  mov    %rbp,%rdi
  mov    $0x13,%esi
  test   %eax,%eax
  lea    D85(%rip),%rcx
  sete   %dl
  call   <_tap_ok@plt>
  pop    %rbp
  xor    %eax,%eax
  pop    %r12
  pop    %r13
  jmp    10b0 <tap_finish@plt>
```

tool_calls: name: parse_data
arguments: data_tag: D30
type_guessed: string
name: parse_data
arguments: data_tag: D62
type_guessed: string
name: parse_data
arguments: data_tag: D16
type_guessed: string
name: parse_data
arguments: data_tag: D26
type_guessed: string
name: parse_data
arguments: data_tag: D81
type_guessed: string
name: parse_data
arguments: data_tag: D39
type_guessed: string
name: parse_data
arguments: data_tag: D86
type_guessed: string
name: parse_data
arguments: data_tag: D87
type_guessed: string
name: parse_data
arguments: data_tag: D85
type_guessed: string

tool: D30: foo

tool: D62: foo*

tool: D16: /scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c

tool: D26: foo?

tool: D81: fo[o]

tool: D39: foo\*

tool: D86: foo\* (NOESCAPE)

tool: D87: foo\

tool: D85: foo\ (NOESCAPE)

assistant: ```c
int main(void) {
  tap_plan(8);
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 11, globdir_str_is_pattern("foo*", 0), "foo*");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 12, globdir_str_is_pattern("foo?", 0), "foo?");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 13, globdir_str_is_pattern("fo[o]", 0), "fo[o]");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 14, globdir_str_is_pattern("foo\\*", 1), "foo\\* (NOESCAPE)");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 16, !globdir_str_is_pattern("foo", 0), "foo");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 17, !globdir_str_is_pattern("foo\\*", 0), "foo\\*");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 18, !globdir_str_is_pattern("foo\\", 0), "foo\\");
  _tap_ok("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/andrewgregory/pacutils/refs/heads/master/ext/globdir.c/t/10-is_pattern.c", 19, !globdir_str_is_pattern("foo\\", 1), "foo\\ (NOESCAPE)");
  return tap_finish();
}
```