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

```asm
<get_comp_point>:
  endbr64
  comisd D50(%rip),%xmm0
  lea    D272(%rip),%rax
  ja     L242
  pxor   %xmm1,%xmm1
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D438(%rip),%xmm1
  lea    D130(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D436(%rip),%xmm1
  lea    D184(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D308(%rip),%xmm1
  lea    D412(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D45(%rip),%xmm1
  lea    D303(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D140(%rip),%xmm1
  lea    D516(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D336(%rip),%xmm1
  lea    D243(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D146(%rip),%xmm1
  lea    D24(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D109(%rip),%xmm1
  lea    D381(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D174(%rip),%xmm1
  lea    D239(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D19(%rip),%xmm1
  lea    D613(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D170(%rip),%xmm1
  lea    D427(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D561(%rip),%xmm1
  lea    D245(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D460(%rip),%xmm1
  lea    D12(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D498(%rip),%xmm1
  lea    D175(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D79(%rip),%xmm1
  lea    D421(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D492(%rip),%xmm1
  lea    D333(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D369(%rip),%xmm1
  lea    D188(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D423(%rip),%xmm1
  lea    D401(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D485(%rip),%xmm1
  lea    D185(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D55(%rip),%xmm1
  lea    D464(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D451(%rip),%xmm1
  lea    D653(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D553(%rip),%xmm1
  lea    D86(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D607(%rip),%xmm1
  lea    D284(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D147(%rip),%xmm1
  lea    D410(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D115(%rip),%xmm1
  lea    D349(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D623(%rip),%xmm1
  lea    D397(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D555(%rip),%xmm1
  lea    D512(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D72(%rip),%xmm1
  lea    D35(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D213(%rip),%xmm1
  lea    D8(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D237(%rip),%xmm1
  lea    D309(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D494(%rip),%xmm1
  lea    D231(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L242
  movsd  D277(%rip),%xmm1
  lea    D599(%rip),%rax
  lea    D130(%rip),%rdx
  comisd %xmm0,%xmm1
  cmovbe %rdx,%rax
L242:
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D50
datatype: f64[2]
name: extract_symbolic_data
arguments: label: D272
datatype: string
name: extract_symbolic_data
arguments: label: D438
datatype: f64
name: extract_symbolic_data
arguments: label: D130
datatype: string
name: extract_symbolic_data
arguments: label: D436
datatype: f64
name: extract_symbolic_data
arguments: label: D184
datatype: string
name: extract_symbolic_data
arguments: label: D308
datatype: f64
name: extract_symbolic_data
arguments: label: D412
datatype: string
name: extract_symbolic_data
arguments: label: D45
datatype: f64
name: extract_symbolic_data
arguments: label: D303
datatype: string
name: extract_symbolic_data
arguments: label: D140
datatype: f64
name: extract_symbolic_data
arguments: label: D516
datatype: string
name: extract_symbolic_data
arguments: label: D336
datatype: f64
name: extract_symbolic_data
arguments: label: D243
datatype: string
name: extract_symbolic_data
arguments: label: D146
datatype: f64
name: extract_symbolic_data
arguments: label: D24
datatype: string
name: extract_symbolic_data
arguments: label: D109
datatype: f64
name: extract_symbolic_data
arguments: label: D381
datatype: string
name: extract_symbolic_data
arguments: label: D174
datatype: f64
name: extract_symbolic_data
arguments: label: D239
datatype: string
name: extract_symbolic_data
arguments: label: D19
datatype: f64
name: extract_symbolic_data
arguments: label: D613
datatype: string
name: extract_symbolic_data
arguments: label: D170
datatype: f64
name: extract_symbolic_data
arguments: label: D427
datatype: string
name: extract_symbolic_data
arguments: label: D561
datatype: f64
name: extract_symbolic_data
arguments: label: D245
datatype: string
name: extract_symbolic_data
arguments: label: D460
datatype: f64
name: extract_symbolic_data
arguments: label: D12
datatype: string
name: extract_symbolic_data
arguments: label: D498
datatype: f64
name: extract_symbolic_data
arguments: label: D175
datatype: string
name: extract_symbolic_data
arguments: label: D79
datatype: f64
name: extract_symbolic_data
arguments: label: D421
datatype: string
name: extract_symbolic_data
arguments: label: D492
datatype: f64
name: extract_symbolic_data
arguments: label: D333
datatype: string
name: extract_symbolic_data
arguments: label: D369
datatype: f64
name: extract_symbolic_data
arguments: label: D188
datatype: string
name: extract_symbolic_data
arguments: label: D423
datatype: f64
name: extract_symbolic_data
arguments: label: D401
datatype: string
name: extract_symbolic_data
arguments: label: D485
datatype: f64
name: extract_symbolic_data
arguments: label: D185
datatype: string
name: extract_symbolic_data
arguments: label: D55
datatype: f64
name: extract_symbolic_data
arguments: label: D464
datatype: string
name: extract_symbolic_data
arguments: label: D451
datatype: f64
name: extract_symbolic_data
arguments: label: D653
datatype: string
name: extract_symbolic_data
arguments: label: D553
datatype: f64
name: extract_symbolic_data
arguments: label: D86
datatype: string
name: extract_symbolic_data
arguments: label: D607
datatype: f64
name: extract_symbolic_data
arguments: label: D284
datatype: string
name: extract_symbolic_data
arguments: label: D147
datatype: f64
name: extract_symbolic_data
arguments: label: D410
datatype: string
name: extract_symbolic_data
arguments: label: D115
datatype: f64
name: extract_symbolic_data
arguments: label: D349
datatype: string
name: extract_symbolic_data
arguments: label: D623
datatype: f64
name: extract_symbolic_data
arguments: label: D397
datatype: string
name: extract_symbolic_data
arguments: label: D555
datatype: f64
name: extract_symbolic_data
arguments: label: D512
datatype: string
name: extract_symbolic_data
arguments: label: D72
datatype: f64
name: extract_symbolic_data
arguments: label: D35
datatype: string
name: extract_symbolic_data
arguments: label: D213
datatype: f64
name: extract_symbolic_data
arguments: label: D8
datatype: string
name: extract_symbolic_data
arguments: label: D237
datatype: f64
name: extract_symbolic_data
arguments: label: D309
datatype: string
name: extract_symbolic_data
arguments: label: D494
datatype: f64
name: extract_symbolic_data
arguments: label: D231
datatype: string
name: extract_symbolic_data
arguments: label: D277
datatype: f64
name: extract_symbolic_data
arguments: label: D599
datatype: string

tool: {"D50": [360.0,5.63]}

tool: D272: X

tool: D438: 5.63

tool: D130: N

tool: D436: 16.88

tool: D184: NbE

tool: D308: 28.13

tool: D412: NNE

tool: D45: 39.38

tool: D303: NEbN

tool: D140: 50.63

tool: D516: NE

tool: D336: 61.88

tool: D243: NEbE

tool: D146: 73.13

tool: D24: ENE

tool: D109: 84.38

tool: D381: EbN

tool: D174: 95.63

tool: D239: E

tool: D19: 106.88

tool: D613: EbS

tool: D170: 118.13

tool: D427: ESE

tool: D561: 129.38

tool: D245: SEbE

tool: D460: 140.63

tool: D12: SE

tool: D498: 151.88

tool: D175: SEbS

tool: D79: 163.13

tool: D421: SSE

tool: D492: 174.38

tool: D333: SbE

tool: D369: 185.63

tool: D188: S

tool: D423: 196.88

tool: D401: SbW

tool: D485: 208.13

tool: D185: SSW

tool: D55: 219.38

tool: D464: SWbS

tool: D451: 230.63

tool: D653: SW

tool: D553: 241.88

tool: D86: SWbW

tool: D607: 253.13

tool: D284: WSW

tool: D147: 264.38

tool: D410: WbS

tool: D115: 275.63

tool: D349: W

tool: D623: 286.88

tool: D397: WbN

tool: D555: 298.13

tool: D512: WNW

tool: D72: 309.38

tool: D35: NWbW

tool: D213: 320.63

tool: D8: NW

tool: D237: 331.88

tool: D309: NWbN

tool: D494: 343.13

tool: D231: NNW

tool: D277: 354.38

tool: D599: NbW

assistant: ```c
const char *get_comp_point(double v) {
  if (v > 360.0 || v < 0.0)
    return "X";
  if (v < 5.63)
    return "N";
  if (v < 16.88)
    return "NbE";
  if (v < 28.13)
    return "NNE";
  if (v < 39.38)
    return "NEbN";
  if (v < 50.63)
    return "NE";
  if (v < 61.88)
    return "NEbE";
  if (v < 73.13)
    return "ENE";
  if (v < 84.38)
    return "EbN";
  if (v < 95.63)
    return "E";
  if (v < 106.88)
    return "EbS";
  if (v < 118.13)
    return "ESE";
  if (v < 129.38)
    return "SEbE";
  if (v < 140.63)
    return "SE";
  if (v < 151.88)
    return "SEbS";
  if (v < 163.13)
    return "SSE";
  if (v < 174.38)
    return "SbE";
  if (v < 185.63)
    return "S";
  if (v < 196.88)
    return "SbW";
  if (v < 208.13)
    return "SSW";
  if (v < 219.38)
    return "SWbS";
  if (v < 230.63)
    return "SW";
  if (v < 241.88)
    return "SWbW";
  if (v < 253.13)
    return "WSW";
  if (v < 264.38)
    return "WbS";
  if (v < 275.63)
    return "W";
  if (v < 286.88)
    return "WbN";
  if (v < 298.13)
    return "WNW";
  if (v < 309.38)
    return "NWbW";
  if (v < 320.63)
    return "NW";
  if (v < 331.88)
    return "NWbN";
  if (v < 343.13)
    return "NNW";
  if (v < 354.38)
    return "NbW";
  return "N";
}
```