user: 这段汇编代码用C语言表示是什么样的:

```asm
<OC_mkGenericConstFuncDecs>:
  endbr64
  push   %r13
  push   %r12
  mov    %rdi,%r12
  lea    D1(%rip),%rdi
  push   %rbp
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%rbp
  call   <OC_mkIsConstFuncDec@plt>
  mov    %rbp,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%rbp
  call   <free@plt>
  mov    %r12,%rdi
  call   <free@plt>
  lea    D80(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%r12
  call   <OC_mkIsConstFuncDec@plt>
  mov    %r12,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %rbp,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%r12
  call   <free@plt>
  mov    %rbp,%rdi
  call   <free@plt>
  lea    D68(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%rbp
  call   <OC_mkIsConstFuncDec@plt>
  mov    %rbp,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%rbp
  call   <free@plt>
  mov    %r12,%rdi
  call   <free@plt>
  lea    D64(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%r12
  call   <OC_mkIsConstFuncDec@plt>
  mov    %r12,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %rbp,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%r12
  call   <free@plt>
  mov    %rbp,%rdi
  call   <free@plt>
  lea    D49(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%rbp
  call   <OC_mkIsConstFuncDec@plt>
  mov    %rbp,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%rbp
  call   <free@plt>
  mov    %r12,%rdi
  call   <free@plt>
  lea    D54(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%r12
  call   <OC_mkIsConstFuncDec@plt>
  mov    %r12,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %rbp,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%r12
  call   <free@plt>
  mov    %rbp,%rdi
  call   <free@plt>
  lea    D35(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%rbp
  call   <OC_mkIsConstFuncDec@plt>
  mov    %rbp,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%rbp
  call   <free@plt>
  mov    %r12,%rdi
  call   <free@plt>
  lea    D89(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%r12
  call   <OC_mkIsConstFuncDec@plt>
  mov    %r12,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %rbp,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%r12
  call   <free@plt>
  mov    %rbp,%rdi
  call   <free@plt>
  lea    D10(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%rbp
  call   <OC_mkIsConstFuncDec@plt>
  mov    %rbp,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r13,%rdi
  mov    %rax,%rbp
  call   <free@plt>
  mov    %r12,%rdi
  call   <free@plt>
  lea    D28(%rip),%rdi
  call   <OC_mkIsConstFuncName@plt>
  mov    %rax,%rdi
  mov    %rax,%r13
  call   <OC_mkIsConstFuncDec@plt>
  mov    %r13,%rdi
  mov    %rax,%r12
  call   <free@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <UTIL_appendStr@plt>
  mov    %r12,%rdi
  mov    %rax,%r13
  call   <free@plt>
  mov    %rbp,%rdi
  call   <free@plt>
  mov    %r13,%rax
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
```

tool_calls: name: parse_data
arguments: tag: D1
type: string
name: parse_data
arguments: tag: D80
type: string
name: parse_data
arguments: tag: D68
type: string
name: parse_data
arguments: tag: D64
type: string
name: parse_data
arguments: tag: D49
type: string
name: parse_data
arguments: tag: D54
type: string
name: parse_data
arguments: tag: D35
type: string
name: parse_data
arguments: tag: D89
type: string
name: parse_data
arguments: tag: D10
type: string
name: parse_data
arguments: tag: D28
type: string

tool: D1: genericApplyConstant

tool: D80: overloadUMinusConstant

tool: D68: overloadAbsConstant

tool: D64: overloadPlusConstant

tool: D49: overloadMinusConstant

tool: D54: overloadTimeConstant

tool: D35: overloadLTConstant

tool: D89: overloadGTConstant

tool: D10: overloadLEConstant

tool: D28: overloadGEConstant

assistant: ```c
char *OC_mkGenericConstFuncDecs(char *funcDefs) {
  char *funcName;
  char *def;
  char *text;
  funcName = OC_mkIsConstFuncName("genericApplyConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadUMinusConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadAbsConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadPlusConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadMinusConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadTimeConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadLTConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadGTConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadLEConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  funcName = OC_mkIsConstFuncName("overloadGEConstant");
  def = OC_mkIsConstFuncDec(funcName);
  free(funcName);
  text = UTIL_appendStr(funcDefs, def);
  free(def);
  free(funcDefs);
  funcDefs = text;
  return funcDefs;
}
```