user: 请从给定的汇编指令推导出C源代码:

```asm
<test_example_main>:
  endbr64
  push   %r13
  mov    $0x1,%r9d
  mov    $0x1bd,%ecx
  lea    D11(%rip),%r13
  push   %r12
  lea    D39(%rip),%r12
  lea    D57(%rip),%r8
  mov    %r13,%rsi
  push   %rbp
  lea    D10(%rip),%rbp
  mov    %r12,%rdx
  mov    %rbp,%rdi
  sub    $0x40,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x38(%rsp)
  lea    D95(%rip),%rax
  mov    %rax,(%rsp)
  lea    D5(%rip),%rax
  mov    %rax,0x8(%rsp)
  lea    D118(%rip),%rax
  mov    %rax,0x10(%rsp)
  lea    D98(%rip),%rax
  mov    %rax,0x18(%rsp)
  lea    D64(%rip),%rax
  mov    %rax,0x20(%rsp)
  lea    D47(%rip),%rax
  mov    %rax,0x28(%rsp)
  call   <_expect_string@plt>
  mov    $0x1be,%ecx
  mov    %r12,%rdx
  mov    %r13,%rsi
  mov    $0x1,%r9d
  lea    D28(%rip),%r8
  mov    %rbp,%rdi
  call   <_expect_string@plt>
  mov    $0x1bf,%ecx
  mov    %r12,%rdx
  mov    %r13,%rsi
  mov    $0x1,%r9d
  lea    D117(%rip),%r8
  mov    %rbp,%rdi
  call   <_expect_string@plt>
  mov    $0x1c0,%ecx
  mov    %r12,%rdx
  mov    %r13,%rsi
  mov    $0x1,%r9d
  lea    D24(%rip),%r8
  mov    %rbp,%rdi
  call   <_expect_string@plt>
  mov    %rsp,%rsi
  mov    $0x6,%edi
  call   <example_main@plt>
  xor    %esi,%esi
  mov    $0x1c2,%ecx
  mov    %r12,%rdx
  mov    %rax,%rdi
  call   <_assert_int_equal@plt>
  mov    0x38(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L7
  add    $0x40,%rsp
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
L7:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: label: D11
data_type: string
name: unpack_data
arguments: label: D39
data_type: string
name: unpack_data
arguments: label: D57
data_type: string
name: unpack_data
arguments: label: D10
data_type: string
name: unpack_data
arguments: label: D95
data_type: string
name: unpack_data
arguments: label: D5
data_type: string
name: unpack_data
arguments: label: D118
data_type: string
name: unpack_data
arguments: label: D98
data_type: string
name: unpack_data
arguments: label: D64
data_type: string
name: unpack_data
arguments: label: D47
data_type: string
name: unpack_data
arguments: label: D28
data_type: string
name: unpack_data
arguments: label: D117
data_type: string
name: unpack_data
arguments: label: D24
data_type: string

tool: D11: temporary_buffer

tool: D39: /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: D57: 1


tool: D10: example_test_printf

tool: D95: example

tool: D5: 1

tool: D118: +

tool: D98: 3

tool: D64: *

tool: D47: 10

tool: D28:   + 3 = 4


tool: D117:   * 10 = 40


tool: D24: = 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);
}
```