user: 下面的汇编指令对应的C源代码是什么：

```asm
<test_primitive_exprs>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D24(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  je     L259
  mov    $0x91,%edi
  call   <fail_test@plt>
L259:
  lea    D7(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  je     L54
  mov    $0x92,%edi
  call   <fail_test@plt>
L54:
  lea    D244(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  je     L227
  mov    $0x93,%edi
  call   <fail_test@plt>
L227:
  lea    D94(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  je     L218
  mov    $0x94,%edi
  call   <fail_test@plt>
L218:
  lea    D142(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  je     L89
  mov    $0x95,%edi
  call   <fail_test@plt>
L89:
  lea    D112(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L158
  mov    $0x96,%edi
  call   <fail_test@plt>
L158:
  lea    D178(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L129
  mov    $0x97,%edi
  call   <fail_test@plt>
L129:
  lea    D103(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L65
  mov    $0x98,%edi
  call   <fail_test@plt>
L65:
  lea    D86(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L241
  mov    $0x99,%edi
  call   <fail_test@plt>
L241:
  lea    D2(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L160
  mov    $0x9a,%edi
  call   <fail_test@plt>
L160:
  lea    D235(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L93
  mov    $0x9b,%edi
  call   <fail_test@plt>
L93:
  lea    D124(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L50
  mov    $0x9c,%edi
  call   <fail_test@plt>
L50:
  lea    D150(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L210
  mov    $0x9d,%edi
  call   <fail_test@plt>
L210:
  lea    D232(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L75
  mov    $0x9e,%edi
  call   <fail_test@plt>
L75:
  lea    D180(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L26
  mov    $0x9f,%edi
  call   <fail_test@plt>
L26:
  lea    D146(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L69
  mov    $0xa0,%edi
  call   <fail_test@plt>
L69:
  lea    D31(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L233
  mov    $0xa1,%edi
  call   <fail_test@plt>
L233:
  lea    D157(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L9
  mov    $0xa2,%edi
  call   <fail_test@plt>
L9:
  lea    D170(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L8
  mov    $0xa3,%edi
  call   <fail_test@plt>
L8:
  lea    D119(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L211
  mov    $0xa4,%edi
  call   <fail_test@plt>
L211:
  lea    D27(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L68
  mov    $0xa5,%edi
  call   <fail_test@plt>
L68:
  lea    D213(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L100
  mov    $0xa6,%edi
  call   <fail_test@plt>
L100:
  lea    D237(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L74
  mov    $0xa7,%edi
  call   <fail_test@plt>
L74:
  lea    D21(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L181
  mov    $0xa8,%edi
  call   <fail_test@plt>
L181:
  lea    D51(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L37
  mov    $0xa9,%edi
  call   <fail_test@plt>
L37:
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <run@plt>
  test   %rax,%rax
  jne    L221
  mov    $0xaa,%edi
  call   <fail_test@plt>
L221:
  nop
  pop    %rbp
  ret
```

tool_calls: name: read_data
arguments: label: D24
type: string
name: read_data
arguments: label: D7
type: string
name: read_data
arguments: label: D244
type: string
name: read_data
arguments: label: D94
type: string
name: read_data
arguments: label: D142
type: string
name: read_data
arguments: label: D112
type: string
name: read_data
arguments: label: D178
type: string
name: read_data
arguments: label: D103
type: string
name: read_data
arguments: label: D86
type: string
name: read_data
arguments: label: D2
type: string
name: read_data
arguments: label: D235
type: string
name: read_data
arguments: label: D124
type: string
name: read_data
arguments: label: D150
type: string
name: read_data
arguments: label: D232
type: string
name: read_data
arguments: label: D180
type: string
name: read_data
arguments: label: D146
type: string
name: read_data
arguments: label: D31
type: string
name: read_data
arguments: label: D157
type: string
name: read_data
arguments: label: D170
type: string
name: read_data
arguments: label: D119
type: string
name: read_data
arguments: label: D27
type: string
name: read_data
arguments: label: D213
type: string
name: read_data
arguments: label: D237
type: string
name: read_data
arguments: label: D21
type: string
name: read_data
arguments: label: D51
type: string
name: read_data
arguments: label: D210
type: string

tool: D24: test/progs/primitive_expr_basic.b

tool: D7: test/progs/primitive_expr_ops.b

tool: D244: test/progs/primitive_expr_conv.b

tool: D94: test/progs/primitive_expr_time.b

tool: D142: test/progs/primitive_expr_str_index.b

tool: D112: test/progs/primitive_expr_not_string_err.b

tool: D178: test/progs/primitive_expr_not_real_err.b

tool: D103: test/progs/primitive_expr_eq_err.b

tool: D86: test/progs/primitive_expr_neq_err.b

tool: D2: test/progs/primitive_expr_and_err.b

tool: D235: test/progs/primitive_expr_or_err.b

tool: D124: test/progs/primitive_expr_gt_err.b

tool: D150: test/progs/primitive_expr_lt_err.b

tool: D232: test/progs/primitive_expr_sum_err.b

tool: D180: test/progs/primitive_expr_sub_err.b

tool: D146: test/progs/primitive_expr_mul_err.b

tool: D31: test/progs/primitive_expr_div_err.b

tool: D157: test/progs/primitive_expr_unknown_func_err.b

tool: D170: test/progs/primitive_expr_conv_str_to_int_err.b

tool: D119: test/progs/primitive_expr_conv_str_to_real_err.b

tool: D27: test/progs/primitive_expr_conv_str_to_long_err.b

tool: D213: test/progs/primitive_expr_conv_param_err.b

tool: D237: test/progs/primitive_expr_time_int_err.b

tool: D21: test/progs/primitive_expr_str_index_param_missing_err.b

tool: D51: test/progs/primitive_expr_str_index_param_one_type_err.b

tool: D210: test/progs/primitive_expr_str_index_param_two_type_err.b

assistant: ```c
void test_primitive_exprs() {
  do {
    if (run("test/progs/"
            "primitive_expr_basic.b"))
      fail_test(145);
    ;
  } while (0);
  do {
    if (run("test/progs/"
            "primitive_expr_ops.b"))
      fail_test(146);
    ;
  } while (0);
  do {
    if (run("test/progs/"
            "primitive_expr_conv.b"))
      fail_test(147);
    ;
  } while (0);
  do {
    if (run("test/progs/"
            "primitive_expr_time.b"))
      fail_test(148);
    ;
  } while (0);
  do {
    if (run("test/progs/"
            "primitive_expr_str_index.b"))
      fail_test(149);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_not_string_err.b"))
      fail_test(150);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_not_real_err.b"))
      fail_test(151);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_eq_err.b"))
      fail_test(152);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_neq_err.b"))
      fail_test(153);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_and_err.b"))
      fail_test(154);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_or_err.b"))
      fail_test(155);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_gt_err.b"))
      fail_test(156);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_lt_err.b"))
      fail_test(157);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_sum_err.b"))
      fail_test(158);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_sub_err.b"))
      fail_test(159);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_mul_err.b"))
      fail_test(160);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_div_err.b"))
      fail_test(161);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_unknown_func_err.b"))
      fail_test(162);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_conv_str_to_int_err.b"))
      fail_test(163);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_conv_str_to_real_err.b"))
      fail_test(164);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_conv_str_to_long_err.b"))
      fail_test(165);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_conv_param_err.b"))
      fail_test(166);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_time_int_err.b"))
      fail_test(167);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_str_index_param_missing_err.b"))
      fail_test(168);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_str_index_param_one_type_err.b"))
      fail_test(169);
    ;
  } while (0);
  do {
    if (!run("test/progs/"
             "primitive_expr_str_index_param_two_type_err.b"))
      fail_test(170);
    ;
  } while (0);
}
```