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

```asm
<test_example_main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x50,%rsp
  mov    %rdi,-0x48(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    D82(%rip),%rax
  mov    %rax,-0x40(%rbp)
  lea    D52(%rip),%rax
  mov    %rax,-0x38(%rbp)
  lea    D46(%rip),%rax
  mov    %rax,-0x30(%rbp)
  lea    D0(%rip),%rax
  mov    %rax,-0x28(%rbp)
  lea    D24(%rip),%rax
  mov    %rax,-0x20(%rbp)
  lea    D122(%rip),%rax
  mov    %rax,-0x18(%rbp)
  mov    $0x1,%r9d
  lea    D159(%rip),%r8
  mov    $0x1bd,%ecx
  lea    D210(%rip),%rax
  mov    %rax,%rdx
  lea    D73(%rip),%rax
  mov    %rax,%rsi
  lea    D200(%rip),%rax
  mov    %rax,%rdi
  call   <_expect_string@plt>
  mov    $0x1,%r9d
  lea    D141(%rip),%r8
  mov    $0x1be,%ecx
  lea    D210(%rip),%rax
  mov    %rax,%rdx
  lea    D73(%rip),%rax
  mov    %rax,%rsi
  lea    D200(%rip),%rax
  mov    %rax,%rdi
  call   <_expect_string@plt>
  mov    $0x1,%r9d
  lea    D226(%rip),%r8
  mov    $0x1bf,%ecx
  lea    D210(%rip),%rax
  mov    %rax,%rdx
  lea    D73(%rip),%rax
  mov    %rax,%rsi
  lea    D200(%rip),%rax
  mov    %rax,%rdi
  call   <_expect_string@plt>
  mov    $0x1,%r9d
  lea    D172(%rip),%r8
  mov    $0x1c0,%ecx
  lea    D210(%rip),%rax
  mov    %rax,%rdx
  lea    D73(%rip),%rax
  mov    %rax,%rsi
  lea    D200(%rip),%rax
  mov    %rax,%rdi
  call   <_expect_string@plt>
  lea    -0x40(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x6,%edi
  call   <example_main@plt>
  mov    %rax,%rdi
  mov    $0x1c2,%ecx
  lea    D210(%rip),%rax
  mov    %rax,%rdx
  mov    $0x0,%esi
  call   <_assert_int_equal@plt>
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L0
  call   <__stack_chk_fail@plt>
L0:
  leave
  ret
```

tool_calls: name: unpack_data
arguments: data_tag: D82
type_guessed: string
name: unpack_data
arguments: data_tag: D52
type_guessed: string
name: unpack_data
arguments: data_tag: D46
type_guessed: string
name: unpack_data
arguments: data_tag: D0
type_guessed: string
name: unpack_data
arguments: data_tag: D24
type_guessed: string
name: unpack_data
arguments: data_tag: D122
type_guessed: string
name: unpack_data
arguments: data_tag: D159
type_guessed: string
name: unpack_data
arguments: data_tag: D210
type_guessed: string
name: unpack_data
arguments: data_tag: D73
type_guessed: string
name: unpack_data
arguments: data_tag: D200
type_guessed: string
name: unpack_data
arguments: data_tag: D141
type_guessed: string
name: unpack_data
arguments: data_tag: D226
type_guessed: string
name: unpack_data
arguments: data_tag: D172
type_guessed: string

tool: D82: example

tool: D52: 1

tool: D46: +

tool: D0: 3

tool: D24: *

tool: D122: 10

tool: D159: 1


tool: D210: /scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/jhrozek/cmocka/refs/heads/master/example/calculator_test.c

tool: D73: temporary_buffer

tool: D200: example_test_printf

tool: D141:   + 3 = 4


tool: D226:   * 10 = 40


tool: D172: = 40


assistant: ```c
void test_example_main(void **state) {
  const char *args[] = {
      "example", "1", "+", "3", "*", "10",
  };
  (void)state;
  _expect_string("example_test_printf", "temporary_buffer", "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/jhrozek/cmocka/refs/heads/master/example/calculator_test.c", 445, (const char *)("1\n"), 1);
  _expect_string("example_test_printf", "temporary_buffer", "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/jhrozek/cmocka/refs/heads/master/example/calculator_test.c", 446, (const char *)("  + 3 = 4\n"), 1);
  _expect_string("example_test_printf", "temporary_buffer", "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/jhrozek/cmocka/refs/heads/master/example/calculator_test.c", 447, (const char *)("  * 10 = 40\n"), 1);
  _expect_string("example_test_printf", "temporary_buffer", "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/jhrozek/cmocka/refs/heads/master/example/calculator_test.c", 448, (const char *)("= 40\n"), 1);
  _assert_int_equal(((unsigned long long)((size_t)(example_main((sizeof(args) / sizeof((args)[0])), (char **)args)))), ((unsigned long long)((size_t)(0))), "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/jhrozek/cmocka/refs/heads/master/example/calculator_test.c", 450);
}
```