user: Converte this assembly snippet into its equivalent C code:

```asm
<ho_recognize_font_1_bet>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %rdi,-0x18(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x18(%rbp),%rax
  add    $0x88,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L70
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L382
L70:
  movsd  -0x8(%rbp),%xmm1
  movsd  D297(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L382:
  mov    -0x18(%rbp),%rax
  add    $0x98,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L82
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L209
L82:
  movsd  -0x8(%rbp),%xmm1
  movsd  D297(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L209:
  mov    -0x18(%rbp),%rax
  add    $0xb0,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L310
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L90
L310:
  movsd  -0x8(%rbp),%xmm1
  movsd  D297(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L90:
  mov    -0x18(%rbp),%rax
  add    $0x130,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L17
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L406
L17:
  movsd  -0x8(%rbp),%xmm1
  movsd  D297(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L406:
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm0
  comisd D263(%rip),%xmm0
  jbe    L343
  movsd  -0x8(%rbp),%xmm1
  movsd  D297(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L343:
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  comisd D274(%rip),%xmm0
  jbe    L396
  movsd  -0x8(%rbp),%xmm1
  movsd  D297(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L396:
  mov    -0x18(%rbp),%rax
  add    $0x308,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L173
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L108
L173:
  movsd  -0x8(%rbp),%xmm1
  movsd  D165(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L108:
  mov    -0x18(%rbp),%rax
  add    $0xf0,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L286
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L181
L286:
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm1
  movsd  D85(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L181
  movsd  -0x8(%rbp),%xmm1
  movsd  D297(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L181:
  mov    -0x18(%rbp),%rax
  add    $0x1b8,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L116
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L433
L116:
  mov    -0x18(%rbp),%rax
  add    $0x188,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L253
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L433
L253:
  mov    -0x18(%rbp),%rax
  add    $0x198,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L433
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jne    L433
  movsd  -0x8(%rbp),%xmm1
  movsd  D297(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L433:
  mov    -0x18(%rbp),%rax
  add    $0xf0,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L275
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jne    L275
  movsd  -0x8(%rbp),%xmm0
  movsd  D268(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L275:
  mov    -0x18(%rbp),%rax
  add    $0x178,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L389
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jne    L389
  mov    -0x18(%rbp),%rax
  add    $0x180,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L389
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L336
L389:
  movsd  -0x8(%rbp),%xmm0
  movsd  D268(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L336:
  mov    -0x18(%rbp),%rax
  add    $0x98,%rax
  movsd  (%rax),%xmm1
  movsd  D151(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L345
  movsd  -0x8(%rbp),%xmm0
  movsd  D165(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L345:
  mov    -0x18(%rbp),%rax
  add    $0xa0,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L162
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L190
L162:
  movsd  -0x8(%rbp),%xmm0
  movsd  D165(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L190:
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  movsd  D268(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L188
  movsd  -0x8(%rbp),%xmm0
  movsd  D268(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L188:
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  movsd  (%rax),%xmm2
  movsd  D85(%rip),%xmm1
  addsd  %xmm2,%xmm1
  comisd %xmm1,%xmm0
  jbe    L362
  movsd  -0x8(%rbp),%xmm0
  movsd  D268(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L362:
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  movsd  (%rax),%xmm1
  movsd  D268(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L65
  movsd  -0x8(%rbp),%xmm0
  movsd  D268(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L65:
  mov    -0x18(%rbp),%rax
  add    $0x178,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L204
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jne    L204
  mov    -0x18(%rbp),%rax
  add    $0x180,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L204
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L156
L204:
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  movsd  D76(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L156
  movsd  -0x8(%rbp),%xmm0
  movsd  D165(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L156:
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  comisd D32(%rip),%xmm0
  ja     L117
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm1
  movsd  D278(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L302
L117:
  movsd  -0x8(%rbp),%xmm0
  movsd  D165(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L302:
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  movsd  D151(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L388
  movsd  -0x8(%rbp),%xmm0
  movsd  D268(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L388:
  mov    -0x18(%rbp),%rax
  add    $0x60,%rax
  movsd  (%rax),%xmm0
  comisd D22(%rip),%xmm0
  jbe    L324
  movsd  -0x8(%rbp),%xmm0
  movsd  D268(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L324:
  mov    -0x18(%rbp),%rax
  add    $0x228,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  jp     L425
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm0
  je     L339
L425:
  movsd  -0x8(%rbp),%xmm0
  movsd  D165(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
L339:
  movsd  -0x8(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  pop    %rbp
  ret
```

tool_calls: name: parse_data
arguments: data_label: D297
type_guessed: f64
name: parse_data
arguments: data_label: D263
type_guessed: f64[2]
name: parse_data
arguments: data_label: D274
type_guessed: f64[2]
name: parse_data
arguments: data_label: D165
type_guessed: f64
name: parse_data
arguments: data_label: D85
type_guessed: f64
name: parse_data
arguments: data_label: D268
type_guessed: f64
name: parse_data
arguments: data_label: D151
type_guessed: f64
name: parse_data
arguments: data_label: D76
type_guessed: f64
name: parse_data
arguments: data_label: D32
type_guessed: f64[2]
name: parse_data
arguments: data_label: D278
type_guessed: f32[2]
name: parse_data
arguments: data_label: D22
type_guessed: f64

tool: D297: 0.1

tool: {"D263": [0.9,0.8]}

tool: {"D274": [0.8,0.2]}

tool: D165: 0.2

tool: D85: 0.25

tool: D268: 0.3

tool: D151: 0.5

tool: D76: 0.6

tool: {"D32": [0.57,43.0]}

tool: {"D278": [0.0,3.0859375]}

tool: D22: 0.33

assistant: ```c
double ho_recognize_font_1_bet(const double *array_in) {
  double return_value = 0.0;
  if ((array_in[17]))
    return_value += 0.1;
  if ((array_in[19]))
    return_value += 0.1;
  if ((array_in[22]))
    return_value += 0.1;
  if ((array_in[38]))
    return_value += 0.1;
  if ((array_in[8]) > 0.9)
    return_value += 0.1;
  if ((array_in[2]) > 0.8)
    return_value += 0.1;
  if ((array_in[97]))
    return_value += 0.2;
  if ((array_in[30]) && (array_in[12]) < 0.25)
    return_value += 0.1;
  if ((array_in[55]) && (array_in[49]) && !(array_in[51]))
    return_value += 0.1;
  if (!(array_in[30]))
    return_value -= 0.3;
  if ((array_in[47]) || (array_in[48]))
    return_value -= 0.3;
  if ((array_in[19]) < 0.5)
    return_value -= 0.2;
  if ((array_in[20]))
    return_value -= 0.2;
  if ((array_in[1]) < 0.3)
    return_value -= 0.3;
  if ((array_in[5]) > ((array_in[10]) + 0.25))
    return_value -= 0.3;
  if ((array_in[8]) < 0.3)
    return_value -= 0.3;
  if (((array_in[47]) || (array_in[48])) && (array_in[2]) < 0.6)
    return_value -= 0.2;
  if ((array_in[4]) > 0.57 || (array_in[4]) < 43)
    return_value -= 0.20;
  if ((array_in[2]) < 0.50)
    return_value -= 0.3;
  if ((array_in[12]) > 0.33)
    return_value -= 0.3;
  if ((array_in[69]))
    return_value -= 0.2;
  return return_value;
}
```