user: What would the C source look like for the assembly code provided here?

```asm
<reb_string_for_particle_error>:
  endbr64
  cmp    $0xe,%edi
  ja     L8
  mov    %edi,%edi
  lea    D149(%rip),%rdx
  movslq (%rdx,%rdi,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  lea    D107(%rip),%rax
  ret
  lea    D24(%rip),%rax
  ret
  lea    D70(%rip),%rax
  ret
  lea    D140(%rip),%rax
  ret
  lea    D152(%rip),%rax
  ret
  lea    D15(%rip),%rax
  ret
  lea    D93(%rip),%rax
  ret
  lea    D34(%rip),%rax
  ret
  lea    D143(%rip),%rax
  ret
  lea    D35(%rip),%rax
  ret
  lea    D67(%rip),%rax
  ret
  lea    D110(%rip),%rax
  ret
  lea    D117(%rip),%rax
  ret
  lea    D115(%rip),%rax
  ret
L8:
  lea    D109(%rip),%rax
  ret
```

tool_calls: name: parse_data
arguments: tag: D107
datatype: string
name: parse_data
arguments: tag: D24
datatype: string
name: parse_data
arguments: tag: D70
datatype: string
name: parse_data
arguments: tag: D140
datatype: string
name: parse_data
arguments: tag: D152
datatype: string
name: parse_data
arguments: tag: D15
datatype: string
name: parse_data
arguments: tag: D93
datatype: string
name: parse_data
arguments: tag: D34
datatype: string
name: parse_data
arguments: tag: D143
datatype: string
name: parse_data
arguments: tag: D35
datatype: string
name: parse_data
arguments: tag: D67
datatype: string
name: parse_data
arguments: tag: D110
datatype: string
name: parse_data
arguments: tag: D117
datatype: string
name: parse_data
arguments: tag: D115
datatype: string
name: parse_data
arguments: tag: D109
datatype: string

tool: D107: Cannot set e exactly to 1.

tool: D24: Eccentricity must be greater than or equal to zero.

tool: D70: Bound orbit (a > 0) must have e < 1.

tool: D140: Unbound orbit (a < 0) must have e > 1.

tool: D152: Unbound orbit can't have f beyond the range allowed by the asymptotes set by the hyperbola.

tool: D15: Primary has no mass.

tool: D93: Cannot mix Pal coordinates (h,k,ix,iy) with certain orbital elements (e, inc, Omega, omega, pomega, f, M, E, theta, T). Use longitude l to indicate the phase.

tool: D34: Cannot pass cartesian coordinates and orbital elements (incl primary) at the same time.

tool: D143: Need to pass reb_simulation object when initializing particle with orbital elements.

tool: D35: Need to pass either semi-major axis or orbital period to initialize particle using orbital elements.

tool: D67: Need to pass either semi-major axis or orbital period, but not both.

tool: D110: (ix, iy) coordinates are not valid. Squared sum exceeds 4.

tool: D117: Cannot pass both (omega, pomega) together.

tool: D115: Can only pass one longitude/anomaly in the set (f, M, E, l, theta, T).

tool: D109: An unknown error occured during reb_add_fmt().

assistant: ```c
const char *reb_string_for_particle_error(int err) {
  if (err == 1)
    return "Cannot set e exactly to 1.";
  if (err == 2)
    return "Eccentricity must be greater than or equal to zero.";
  if (err == 3)
    return "Bound orbit (a > 0) must have e < 1.";
  if (err == 4)
    return "Unbound orbit (a < 0) must have e > 1.";
  if (err == 5)
    return "Unbound orbit can't have f beyond the range allowed by the asymptotes set by the hyperbola.";
  if (err == 6)
    return "Primary has no mass.";
  if (err == 7)
    return "Cannot mix Pal coordinates (h,k,ix,iy) with certain orbital elements (e, inc, Omega, omega, pomega, f, M, E, theta, T). Use longitude l to indicate the phase.";
  if (err == 8)
    return "Cannot pass cartesian coordinates and orbital elements (incl primary) at the same time.";
  if (err == 9)
    return "Need to pass reb_simulation object when initializing particle with orbital elements.";
  if (err == 10)
    return "Need to pass either semi-major axis or orbital period to initialize particle using orbital elements.";
  if (err == 11)
    return "Need to pass either semi-major axis or orbital period, but not both.";
  if (err == 12)
    return "(ix, iy) coordinates are not valid. Squared sum exceeds 4.";
  if (err == 13)
    return "Cannot pass both (omega, pomega) together.";
  if (err == 14)
    return "Can only pass one longitude/anomaly in the set (f, M, E, l, theta, T).";
  return "An unknown error occured during reb_add_fmt().";
}
```