user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<EquationNeedsFields>:
  endbr64
  push   %rbp
  xor    %eax,%eax
  mov    %rdi,%rbp
  call   <EQ_field_active@plt>
  mov    %rax,%r8
  xor    %eax,%eax
  test   %r8,%r8
  je     L169
  pop    %rbp
  ret
  nopl   0x0(%rax,%rax,1)
L169:
  lea    D187(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D14(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  je     L132
L140:
  mov    $0x1,%eax
  pop    %rbp
  ret
  nop
L132:
  lea    D194(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D181(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D157(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D117(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D169(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D162(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D107(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D122(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D23(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D164(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D188(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D15(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D48(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D83(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D184(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D138(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  lea    D118(%rip),%rsi
  mov    %rbp,%rdi
  call   <strstr@plt>
  test   %rax,%rax
  jne    L140
  mov    %rbp,%rdi
  lea    D99(%rip),%rsi
  call   <strstr@plt>
  pop    %rbp
  test   %rax,%rax
  setne  %al
  movzbl %al,%eax
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D187
type_guessed: string
name: extract_symbolic_data
arguments: tag: D14
type_guessed: string
name: extract_symbolic_data
arguments: tag: D194
type_guessed: string
name: extract_symbolic_data
arguments: tag: D181
type_guessed: string
name: extract_symbolic_data
arguments: tag: D157
type_guessed: string
name: extract_symbolic_data
arguments: tag: D117
type_guessed: string
name: extract_symbolic_data
arguments: tag: D169
type_guessed: string
name: extract_symbolic_data
arguments: tag: D162
type_guessed: string
name: extract_symbolic_data
arguments: tag: D107
type_guessed: string
name: extract_symbolic_data
arguments: tag: D122
type_guessed: string
name: extract_symbolic_data
arguments: tag: D23
type_guessed: string
name: extract_symbolic_data
arguments: tag: D164
type_guessed: string
name: extract_symbolic_data
arguments: tag: D188
type_guessed: string
name: extract_symbolic_data
arguments: tag: D15
type_guessed: string
name: extract_symbolic_data
arguments: tag: D48
type_guessed: string
name: extract_symbolic_data
arguments: tag: D83
type_guessed: string
name: extract_symbolic_data
arguments: tag: D184
type_guessed: string
name: extract_symbolic_data
arguments: tag: D138
type_guessed: string
name: extract_symbolic_data
arguments: tag: D118
type_guessed: string
name: extract_symbolic_data
arguments: tag: D99
type_guessed: string

tool: D187: \frac

tool: D14: \sum

tool: D194: \int

tool: D181: \iint

tool: D157: \iiint

tool: D117: \prod

tool: D169: \begin{array}

tool: D162: \left

tool: D107: \right

tool: D122: \root

tool: D23: \sqrt

tool: D164: \over

tool: D188: \stackrel

tool: D15: _

tool: D48: ^

tool: D83: \dfrac

tool: D184: \lim

tool: D138: \liminf

tool: D118: \limsup

tool: D99: \overline

assistant: ```c
int EquationNeedsFields(char *eq) {
  if (EQ_field_active())
    return 0;
  if (strstr(eq, "\\frac"))
    return 1;
  if (strstr(eq, "\\sum"))
    return 1;
  if (strstr(eq, "\\int"))
    return 1;
  if (strstr(eq, "\\iint"))
    return 1;
  if (strstr(eq, "\\iiint"))
    return 1;
  if (strstr(eq, "\\prod"))
    return 1;
  if (strstr(eq, "\\begin{array}"))
    return 1;
  if (strstr(eq, "\\left"))
    return 1;
  if (strstr(eq, "\\right"))
    return 1;
  if (strstr(eq, "\\root"))
    return 1;
  if (strstr(eq, "\\sqrt"))
    return 1;
  if (strstr(eq, "\\over"))
    return 1;
  if (strstr(eq, "\\stackrel"))
    return 1;
  if (strstr(eq, "_") || strstr(eq, "^"))
    return 1;
  if (strstr(eq, "\\dfrac"))
    return 1;
  if (strstr(eq, "\\lim"))
    return 1;
  if (strstr(eq, "\\liminf"))
    return 1;
  if (strstr(eq, "\\limsup"))
    return 1;
  if (strstr(eq, "\\overline"))
    return 1;
  return 0;
}
```