user: 请将以下的汇编代码转换成C语言代码:

```asm
<get_comp_point>:
  endbr64
  comisd D495(%rip),%xmm0
  lea    D115(%rip),%rax
  ja     L139
  pxor   %xmm1,%xmm1
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D111(%rip),%xmm1
  lea    D605(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D565(%rip),%xmm1
  lea    D168(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D261(%rip),%xmm1
  lea    D447(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D209(%rip),%xmm1
  lea    D651(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D6(%rip),%xmm1
  lea    D438(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D355(%rip),%xmm1
  lea    D185(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D632(%rip),%xmm1
  lea    D157(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D645(%rip),%xmm1
  lea    D426(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D548(%rip),%xmm1
  lea    D345(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D576(%rip),%xmm1
  lea    D570(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D334(%rip),%xmm1
  lea    D34(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D546(%rip),%xmm1
  lea    D514(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D48(%rip),%xmm1
  lea    D101(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D402(%rip),%xmm1
  lea    D238(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D114(%rip),%xmm1
  lea    D444(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D327(%rip),%xmm1
  lea    D659(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D249(%rip),%xmm1
  lea    D580(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D584(%rip),%xmm1
  lea    D484(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D382(%rip),%xmm1
  lea    D385(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D661(%rip),%xmm1
  lea    D347(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D412(%rip),%xmm1
  lea    D154(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D2(%rip),%xmm1
  lea    D267(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D526(%rip),%xmm1
  lea    D449(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D374(%rip),%xmm1
  lea    D457(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D574(%rip),%xmm1
  lea    D242(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D511(%rip),%xmm1
  lea    D45(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D470(%rip),%xmm1
  lea    D343(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D42(%rip),%xmm1
  lea    D370(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D666(%rip),%xmm1
  lea    D502(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D307(%rip),%xmm1
  lea    D262(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D275(%rip),%xmm1
  lea    D248(%rip),%rax
  comisd %xmm0,%xmm1
  ja     L139
  movsd  D202(%rip),%xmm1
  lea    D421(%rip),%rax
  lea    D605(%rip),%rdx
  comisd %xmm0,%xmm1
  cmovbe %rdx,%rax
L139:
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D495
data_type: f64[2]
name: retrieve_data
arguments: data_tag: D115
data_type: string
name: retrieve_data
arguments: data_tag: D111
data_type: f64
name: retrieve_data
arguments: data_tag: D605
data_type: string
name: retrieve_data
arguments: data_tag: D565
data_type: f64
name: retrieve_data
arguments: data_tag: D168
data_type: string
name: retrieve_data
arguments: data_tag: D261
data_type: f64
name: retrieve_data
arguments: data_tag: D447
data_type: string
name: retrieve_data
arguments: data_tag: D209
data_type: f64
name: retrieve_data
arguments: data_tag: D651
data_type: string
name: retrieve_data
arguments: data_tag: D6
data_type: f64
name: retrieve_data
arguments: data_tag: D438
data_type: string
name: retrieve_data
arguments: data_tag: D355
data_type: f64
name: retrieve_data
arguments: data_tag: D185
data_type: string
name: retrieve_data
arguments: data_tag: D632
data_type: f64
name: retrieve_data
arguments: data_tag: D157
data_type: string
name: retrieve_data
arguments: data_tag: D645
data_type: f64
name: retrieve_data
arguments: data_tag: D426
data_type: string
name: retrieve_data
arguments: data_tag: D548
data_type: f64
name: retrieve_data
arguments: data_tag: D345
data_type: string
name: retrieve_data
arguments: data_tag: D576
data_type: f64
name: retrieve_data
arguments: data_tag: D570
data_type: string
name: retrieve_data
arguments: data_tag: D334
data_type: f64
name: retrieve_data
arguments: data_tag: D34
data_type: string
name: retrieve_data
arguments: data_tag: D546
data_type: f64
name: retrieve_data
arguments: data_tag: D514
data_type: string
name: retrieve_data
arguments: data_tag: D48
data_type: f64
name: retrieve_data
arguments: data_tag: D101
data_type: string
name: retrieve_data
arguments: data_tag: D402
data_type: f64
name: retrieve_data
arguments: data_tag: D238
data_type: string
name: retrieve_data
arguments: data_tag: D114
data_type: f64
name: retrieve_data
arguments: data_tag: D444
data_type: string
name: retrieve_data
arguments: data_tag: D327
data_type: f64
name: retrieve_data
arguments: data_tag: D659
data_type: string
name: retrieve_data
arguments: data_tag: D249
data_type: f64
name: retrieve_data
arguments: data_tag: D580
data_type: string
name: retrieve_data
arguments: data_tag: D584
data_type: f64
name: retrieve_data
arguments: data_tag: D484
data_type: string
name: retrieve_data
arguments: data_tag: D382
data_type: f64
name: retrieve_data
arguments: data_tag: D385
data_type: string
name: retrieve_data
arguments: data_tag: D661
data_type: f64
name: retrieve_data
arguments: data_tag: D347
data_type: string
name: retrieve_data
arguments: data_tag: D412
data_type: f64
name: retrieve_data
arguments: data_tag: D154
data_type: string
name: retrieve_data
arguments: data_tag: D2
data_type: f64
name: retrieve_data
arguments: data_tag: D267
data_type: string
name: retrieve_data
arguments: data_tag: D526
data_type: f64
name: retrieve_data
arguments: data_tag: D449
data_type: string
name: retrieve_data
arguments: data_tag: D374
data_type: f64
name: retrieve_data
arguments: data_tag: D457
data_type: string
name: retrieve_data
arguments: data_tag: D574
data_type: f64
name: retrieve_data
arguments: data_tag: D242
data_type: string
name: retrieve_data
arguments: data_tag: D511
data_type: f64
name: retrieve_data
arguments: data_tag: D45
data_type: string
name: retrieve_data
arguments: data_tag: D470
data_type: f64
name: retrieve_data
arguments: data_tag: D343
data_type: string
name: retrieve_data
arguments: data_tag: D42
data_type: f64
name: retrieve_data
arguments: data_tag: D370
data_type: string
name: retrieve_data
arguments: data_tag: D666
data_type: f64
name: retrieve_data
arguments: data_tag: D502
data_type: string
name: retrieve_data
arguments: data_tag: D307
data_type: f64
name: retrieve_data
arguments: data_tag: D262
data_type: string
name: retrieve_data
arguments: data_tag: D275
data_type: f64
name: retrieve_data
arguments: data_tag: D248
data_type: string
name: retrieve_data
arguments: data_tag: D202
data_type: f64
name: retrieve_data
arguments: data_tag: D421
data_type: string

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

tool: D115: X

tool: D111: 5.63

tool: D605: N

tool: D565: 16.88

tool: D168: NbE

tool: D261: 28.13

tool: D447: NNE

tool: D209: 39.38

tool: D651: NEbN

tool: D6: 50.63

tool: D438: NE

tool: D355: 61.88

tool: D185: NEbE

tool: D632: 73.13

tool: D157: ENE

tool: D645: 84.38

tool: D426: EbN

tool: D548: 95.63

tool: D345: E

tool: D576: 106.88

tool: D570: EbS

tool: D334: 118.13

tool: D34: ESE

tool: D546: 129.38

tool: D514: SEbE

tool: D48: 140.63

tool: D101: SE

tool: D402: 151.88

tool: D238: SEbS

tool: D114: 163.13

tool: D444: SSE

tool: D327: 174.38

tool: D659: SbE

tool: D249: 185.63

tool: D580: S

tool: D584: 196.88

tool: D484: SbW

tool: D382: 208.13

tool: D385: SSW

tool: D661: 219.38

tool: D347: SWbS

tool: D412: 230.63

tool: D154: SW

tool: D2: 241.88

tool: D267: SWbW

tool: D526: 253.13

tool: D449: WSW

tool: D374: 264.38

tool: D457: WbS

tool: D574: 275.63

tool: D242: W

tool: D511: 286.88

tool: D45: WbN

tool: D470: 298.13

tool: D343: WNW

tool: D42: 309.38

tool: D370: NWbW

tool: D666: 320.63

tool: D502: NW

tool: D307: 331.88

tool: D262: NWbN

tool: D275: 343.13

tool: D248: NNW

tool: D202: 354.38

tool: D421: 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";
}
```