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

```asm
<Ten90CprNl>:
  endbr64
  pxor   %xmm1,%xmm1
  comisd %xmm0,%xmm1
  jbe    L290
  xorpd  D394(%rip),%xmm0
L290:
  movsd  D226(%rip),%xmm1
  mov    $0x3b,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D327(%rip),%xmm1
  mov    $0x3a,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D241(%rip),%xmm1
  mov    $0x39,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D544(%rip),%xmm1
  mov    $0x38,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D474(%rip),%xmm1
  mov    $0x37,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D515(%rip),%xmm1
  mov    $0x36,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D46(%rip),%xmm1
  mov    $0x35,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D436(%rip),%xmm1
  mov    $0x34,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D413(%rip),%xmm1
  mov    $0x33,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D559(%rip),%xmm1
  mov    $0x32,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D168(%rip),%xmm1
  mov    $0x31,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D512(%rip),%xmm1
  mov    $0x30,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D457(%rip),%xmm1
  mov    $0x2f,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D19(%rip),%xmm1
  mov    $0x2e,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D346(%rip),%xmm1
  mov    $0x2d,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D300(%rip),%xmm1
  mov    $0x2c,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D344(%rip),%xmm1
  mov    $0x2b,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D145(%rip),%xmm1
  mov    $0x2a,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D3(%rip),%xmm1
  mov    $0x29,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D288(%rip),%xmm1
  mov    $0x28,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D470(%rip),%xmm1
  mov    $0x27,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D508(%rip),%xmm1
  mov    $0x26,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D171(%rip),%xmm1
  mov    $0x25,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D272(%rip),%xmm1
  mov    $0x24,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D58(%rip),%xmm1
  mov    $0x23,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D104(%rip),%xmm1
  mov    $0x22,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D51(%rip),%xmm1
  mov    $0x21,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D353(%rip),%xmm1
  mov    $0x20,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D146(%rip),%xmm1
  mov    $0x1f,%eax
  comisd %xmm0,%xmm1
  ja     L264
  movsd  D440(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L202
  movsd  D496(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L138
  movsd  D426(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L89
  movsd  D488(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L87
  movsd  D583(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L107
  movsd  D506(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L420
  movsd  D155(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L392
  movsd  D286(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L238
  movsd  D116(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L482
  movsd  D502(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L552
  movsd  D418(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L16
  movsd  D152(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L531
  movsd  D162(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L289
  movsd  D573(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L27
  movsd  D144(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L98
  movsd  D513(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L127
  movsd  D298(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L143
  movsd  D543(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L567
  movsd  D197(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L412
  movsd  D510(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L320
  movsd  D335(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L69
  movsd  D224(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L156
  movsd  D111(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L142
  movsd  D264(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L149
  movsd  D149(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L106
  movsd  D209(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L547
  movsd  D469(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L307
  movsd  D321(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L172
  movsd  D570(%rip),%xmm1
  xor    %eax,%eax
  comisd %xmm0,%xmm1
  seta   %al
  add    $0x1,%eax
  ret
L172:
  mov    $0x3,%eax
L264:
  ret
L202:
  mov    $0x1e,%eax
  ret
L420:
  mov    $0x19,%eax
  ret
L107:
  mov    $0x1a,%eax
  ret
L87:
  mov    $0x1b,%eax
  ret
L89:
  mov    $0x1c,%eax
  ret
L138:
  mov    $0x1d,%eax
  ret
L307:
  mov    $0x4,%eax
  ret
L547:
  mov    $0x5,%eax
  ret
L392:
  mov    $0x18,%eax
  ret
L482:
  mov    $0x16,%eax
  ret
L238:
  mov    $0x17,%eax
  ret
L106:
  mov    $0x6,%eax
  ret
L149:
  mov    $0x7,%eax
  ret
L142:
  mov    $0x8,%eax
  ret
L156:
  mov    $0x9,%eax
  ret
L69:
  mov    $0xa,%eax
  ret
L320:
  mov    $0xb,%eax
  ret
L412:
  mov    $0xc,%eax
  ret
L567:
  mov    $0xd,%eax
  ret
L143:
  mov    $0xe,%eax
  ret
L127:
  mov    $0xf,%eax
  ret
L98:
  mov    $0x10,%eax
  ret
L27:
  mov    $0x11,%eax
  ret
L289:
  mov    $0x12,%eax
  ret
L531:
  mov    $0x13,%eax
  ret
L16:
  mov    $0x14,%eax
  ret
L552:
  mov    $0x15,%eax
  ret
```

tool_calls: name: unpack_data
arguments: data_label: D394
data_type: byte[16]
name: unpack_data
arguments: data_label: D226
data_type: f64
name: unpack_data
arguments: data_label: D327
data_type: f64
name: unpack_data
arguments: data_label: D241
data_type: f64
name: unpack_data
arguments: data_label: D544
data_type: f64
name: unpack_data
arguments: data_label: D474
data_type: f64
name: unpack_data
arguments: data_label: D515
data_type: f64
name: unpack_data
arguments: data_label: D46
data_type: f64
name: unpack_data
arguments: data_label: D436
data_type: f64
name: unpack_data
arguments: data_label: D413
data_type: f64
name: unpack_data
arguments: data_label: D559
data_type: f64
name: unpack_data
arguments: data_label: D168
data_type: f64
name: unpack_data
arguments: data_label: D512
data_type: f64
name: unpack_data
arguments: data_label: D457
data_type: f64
name: unpack_data
arguments: data_label: D19
data_type: f64
name: unpack_data
arguments: data_label: D346
data_type: f64
name: unpack_data
arguments: data_label: D300
data_type: f64
name: unpack_data
arguments: data_label: D344
data_type: f64
name: unpack_data
arguments: data_label: D145
data_type: f64
name: unpack_data
arguments: data_label: D3
data_type: f64
name: unpack_data
arguments: data_label: D288
data_type: f64
name: unpack_data
arguments: data_label: D470
data_type: f64
name: unpack_data
arguments: data_label: D508
data_type: f64
name: unpack_data
arguments: data_label: D171
data_type: f64
name: unpack_data
arguments: data_label: D272
data_type: f64
name: unpack_data
arguments: data_label: D58
data_type: f64
name: unpack_data
arguments: data_label: D104
data_type: f64
name: unpack_data
arguments: data_label: D51
data_type: f64
name: unpack_data
arguments: data_label: D353
data_type: f64
name: unpack_data
arguments: data_label: D146
data_type: f64
name: unpack_data
arguments: data_label: D440
data_type: f64
name: unpack_data
arguments: data_label: D496
data_type: f64
name: unpack_data
arguments: data_label: D426
data_type: f64
name: unpack_data
arguments: data_label: D488
data_type: f64
name: unpack_data
arguments: data_label: D583
data_type: f64
name: unpack_data
arguments: data_label: D506
data_type: f64
name: unpack_data
arguments: data_label: D155
data_type: f64
name: unpack_data
arguments: data_label: D286
data_type: f64
name: unpack_data
arguments: data_label: D116
data_type: f64
name: unpack_data
arguments: data_label: D502
data_type: f64
name: unpack_data
arguments: data_label: D418
data_type: f64
name: unpack_data
arguments: data_label: D152
data_type: f64
name: unpack_data
arguments: data_label: D162
data_type: f64
name: unpack_data
arguments: data_label: D573
data_type: f64
name: unpack_data
arguments: data_label: D144
data_type: f64
name: unpack_data
arguments: data_label: D513
data_type: f64
name: unpack_data
arguments: data_label: D298
data_type: f64
name: unpack_data
arguments: data_label: D543
data_type: f64
name: unpack_data
arguments: data_label: D197
data_type: f64
name: unpack_data
arguments: data_label: D510
data_type: f64
name: unpack_data
arguments: data_label: D335
data_type: f64
name: unpack_data
arguments: data_label: D224
data_type: f64
name: unpack_data
arguments: data_label: D111
data_type: f64
name: unpack_data
arguments: data_label: D264
data_type: f64
name: unpack_data
arguments: data_label: D149
data_type: f64
name: unpack_data
arguments: data_label: D209
data_type: f64
name: unpack_data
arguments: data_label: D469
data_type: f64
name: unpack_data
arguments: data_label: D321
data_type: f64
name: unpack_data
arguments: data_label: D570
data_type: f64

tool: {"D394": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]}

tool: D226: 10.4704713

tool: D327: 14.82817437

tool: D241: 18.18626357

tool: D544: 21.02939493

tool: D474: 23.54504487

tool: D515: 25.82924707

tool: D46: 27.9389871

tool: D436: 29.91135686

tool: D413: 31.77209708

tool: D559: 33.53993436

tool: D168: 35.22899598

tool: D512: 36.85025108

tool: D457: 38.41241892

tool: D19: 39.92256684

tool: D346: 41.38651832

tool: D300: 42.80914012

tool: D344: 44.19454951

tool: D145: 45.54626723

tool: D3: 46.86733252

tool: D288: 48.16039128

tool: D470: 49.42776439

tool: D508: 50.67150166

tool: D171: 51.89342469

tool: D272: 53.09516153

tool: D58: 54.27817472

tool: D104: 55.44378444

tool: D51: 56.59318756

tool: D353: 57.72747354

tool: D146: 58.84763776

tool: D440: 59.95459277

tool: D496: 61.04917774

tool: D426: 62.13216659

tool: D488: 63.20427479

tool: D583: 64.26616523

tool: D506: 65.3184531

tool: D155: 66.36171008

tool: D286: 67.39646774

tool: D116: 68.42322022

tool: D502: 69.44242631

tool: D418: 70.45451075

tool: D152: 71.45986473

tool: D162: 72.45884545

tool: D573: 73.45177442

tool: D144: 74.43893416

tool: D513: 75.42056257

tool: D298: 76.39684391

tool: D543: 77.36789461

tool: D197: 78.33374083

tool: D510: 79.29428225

tool: D335: 80.24923213

tool: D224: 81.19801349

tool: D111: 82.13956981

tool: D264: 83.07199445

tool: D149: 83.99173563

tool: D209: 84.89166191

tool: D469: 85.75541621

tool: D321: 86.53536998

tool: D570: 87

assistant: ```c
int Ten90CprNl(double lat) {
  if (lat < 0)
    lat = -lat;
  if (lat < 10.47047130)
    return 59;
  if (lat < 14.82817437)
    return 58;
  if (lat < 18.18626357)
    return 57;
  if (lat < 21.02939493)
    return 56;
  if (lat < 23.54504487)
    return 55;
  if (lat < 25.82924707)
    return 54;
  if (lat < 27.93898710)
    return 53;
  if (lat < 29.91135686)
    return 52;
  if (lat < 31.77209708)
    return 51;
  if (lat < 33.53993436)
    return 50;
  if (lat < 35.22899598)
    return 49;
  if (lat < 36.85025108)
    return 48;
  if (lat < 38.41241892)
    return 47;
  if (lat < 39.92256684)
    return 46;
  if (lat < 41.38651832)
    return 45;
  if (lat < 42.80914012)
    return 44;
  if (lat < 44.19454951)
    return 43;
  if (lat < 45.54626723)
    return 42;
  if (lat < 46.86733252)
    return 41;
  if (lat < 48.16039128)
    return 40;
  if (lat < 49.42776439)
    return 39;
  if (lat < 50.67150166)
    return 38;
  if (lat < 51.89342469)
    return 37;
  if (lat < 53.09516153)
    return 36;
  if (lat < 54.27817472)
    return 35;
  if (lat < 55.44378444)
    return 34;
  if (lat < 56.59318756)
    return 33;
  if (lat < 57.72747354)
    return 32;
  if (lat < 58.84763776)
    return 31;
  if (lat < 59.95459277)
    return 30;
  if (lat < 61.04917774)
    return 29;
  if (lat < 62.13216659)
    return 28;
  if (lat < 63.20427479)
    return 27;
  if (lat < 64.26616523)
    return 26;
  if (lat < 65.31845310)
    return 25;
  if (lat < 66.36171008)
    return 24;
  if (lat < 67.39646774)
    return 23;
  if (lat < 68.42322022)
    return 22;
  if (lat < 69.44242631)
    return 21;
  if (lat < 70.45451075)
    return 20;
  if (lat < 71.45986473)
    return 19;
  if (lat < 72.45884545)
    return 18;
  if (lat < 73.45177442)
    return 17;
  if (lat < 74.43893416)
    return 16;
  if (lat < 75.42056257)
    return 15;
  if (lat < 76.39684391)
    return 14;
  if (lat < 77.36789461)
    return 13;
  if (lat < 78.33374083)
    return 12;
  if (lat < 79.29428225)
    return 11;
  if (lat < 80.24923213)
    return 10;
  if (lat < 81.19801349)
    return 9;
  if (lat < 82.13956981)
    return 8;
  if (lat < 83.07199445)
    return 7;
  if (lat < 83.99173563)
    return 6;
  if (lat < 84.89166191)
    return 5;
  if (lat < 85.75541621)
    return 4;
  if (lat < 86.53536998)
    return 3;
  if (lat < 87.00000000)
    return 2;
  else
    return 1;
}
```