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

```asm
<Ten90CprNl>:
  endbr64
  pxor   %xmm1,%xmm1
  comisd %xmm0,%xmm1
  jbe    L34
  xorpd  D110(%rip),%xmm0
L34:
  movsd  D462(%rip),%xmm1
  mov    $0x3b,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D116(%rip),%xmm1
  mov    $0x3a,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D448(%rip),%xmm1
  mov    $0x39,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D431(%rip),%xmm1
  mov    $0x38,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D276(%rip),%xmm1
  mov    $0x37,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D387(%rip),%xmm1
  mov    $0x36,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D185(%rip),%xmm1
  mov    $0x35,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D31(%rip),%xmm1
  mov    $0x34,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D341(%rip),%xmm1
  mov    $0x33,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D579(%rip),%xmm1
  mov    $0x32,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D86(%rip),%xmm1
  mov    $0x31,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D270(%rip),%xmm1
  mov    $0x30,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D57(%rip),%xmm1
  mov    $0x2f,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D566(%rip),%xmm1
  mov    $0x2e,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D543(%rip),%xmm1
  mov    $0x2d,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D103(%rip),%xmm1
  mov    $0x2c,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D247(%rip),%xmm1
  mov    $0x2b,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D111(%rip),%xmm1
  mov    $0x2a,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D100(%rip),%xmm1
  mov    $0x29,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D498(%rip),%xmm1
  mov    $0x28,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D293(%rip),%xmm1
  mov    $0x27,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D490(%rip),%xmm1
  mov    $0x26,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D588(%rip),%xmm1
  mov    $0x25,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D71(%rip),%xmm1
  mov    $0x24,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D17(%rip),%xmm1
  mov    $0x23,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D504(%rip),%xmm1
  mov    $0x22,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D443(%rip),%xmm1
  mov    $0x21,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D260(%rip),%xmm1
  mov    $0x20,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D522(%rip),%xmm1
  mov    $0x1f,%eax
  comisd %xmm0,%xmm1
  ja     L386
  movsd  D353(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L228
  movsd  D130(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L383
  movsd  D318(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L280
  movsd  D358(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L131
  movsd  D510(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L475
  movsd  D212(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L454
  movsd  D278(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L61
  movsd  D303(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L52
  movsd  D411(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L565
  movsd  D138(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L419
  movsd  D348(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L253
  movsd  D526(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L575
  movsd  D406(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L229
  movsd  D340(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L247
  movsd  D344(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L37
  movsd  D333(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L177
  movsd  D4(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L23
  movsd  D81(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L393
  movsd  D414(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L498
  movsd  D256(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L123
  movsd  D386(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L476
  movsd  D547(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L205
  movsd  D338(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L157
  movsd  D573(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L405
  movsd  D7(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L129
  movsd  D49(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L423
  movsd  D69(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L148
  movsd  D255(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L303
  movsd  D368(%rip),%xmm1
  xor    %eax,%eax
  comisd %xmm0,%xmm1
  seta   %al
  add    $0x1,%eax
  ret
L303:
  mov    $0x3,%eax
L386:
  ret
L228:
  mov    $0x1e,%eax
  ret
L454:
  mov    $0x19,%eax
  ret
L475:
  mov    $0x1a,%eax
  ret
L131:
  mov    $0x1b,%eax
  ret
L280:
  mov    $0x1c,%eax
  ret
L383:
  mov    $0x1d,%eax
  ret
L148:
  mov    $0x4,%eax
  ret
L423:
  mov    $0x5,%eax
  ret
L61:
  mov    $0x18,%eax
  ret
L565:
  mov    $0x16,%eax
  ret
L52:
  mov    $0x17,%eax
  ret
L129:
  mov    $0x6,%eax
  ret
L405:
  mov    $0x7,%eax
  ret
L157:
  mov    $0x8,%eax
  ret
L205:
  mov    $0x9,%eax
  ret
L476:
  mov    $0xa,%eax
  ret
L123:
  mov    $0xb,%eax
  ret
L498:
  mov    $0xc,%eax
  ret
L393:
  mov    $0xd,%eax
  ret
L23:
  mov    $0xe,%eax
  ret
L177:
  mov    $0xf,%eax
  ret
L37:
  mov    $0x10,%eax
  ret
L247:
  mov    $0x11,%eax
  ret
L229:
  mov    $0x12,%eax
  ret
L575:
  mov    $0x13,%eax
  ret
L253:
  mov    $0x14,%eax
  ret
L419:
  mov    $0x15,%eax
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D110
datatype: byte[16]
name: disassemble_data
arguments: tag: D462
datatype: f64
name: disassemble_data
arguments: tag: D116
datatype: f64
name: disassemble_data
arguments: tag: D448
datatype: f64
name: disassemble_data
arguments: tag: D431
datatype: f64
name: disassemble_data
arguments: tag: D276
datatype: f64
name: disassemble_data
arguments: tag: D387
datatype: f64
name: disassemble_data
arguments: tag: D185
datatype: f64
name: disassemble_data
arguments: tag: D31
datatype: f64
name: disassemble_data
arguments: tag: D341
datatype: f64
name: disassemble_data
arguments: tag: D579
datatype: f64
name: disassemble_data
arguments: tag: D86
datatype: f64
name: disassemble_data
arguments: tag: D270
datatype: f64
name: disassemble_data
arguments: tag: D57
datatype: f64
name: disassemble_data
arguments: tag: D566
datatype: f64
name: disassemble_data
arguments: tag: D543
datatype: f64
name: disassemble_data
arguments: tag: D103
datatype: f64
name: disassemble_data
arguments: tag: D247
datatype: f64
name: disassemble_data
arguments: tag: D111
datatype: f64
name: disassemble_data
arguments: tag: D100
datatype: f64
name: disassemble_data
arguments: tag: D498
datatype: f64
name: disassemble_data
arguments: tag: D293
datatype: f64
name: disassemble_data
arguments: tag: D490
datatype: f64
name: disassemble_data
arguments: tag: D588
datatype: f64
name: disassemble_data
arguments: tag: D71
datatype: f64
name: disassemble_data
arguments: tag: D17
datatype: f64
name: disassemble_data
arguments: tag: D504
datatype: f64
name: disassemble_data
arguments: tag: D443
datatype: f64
name: disassemble_data
arguments: tag: D260
datatype: f64
name: disassemble_data
arguments: tag: D522
datatype: f64
name: disassemble_data
arguments: tag: D353
datatype: f64
name: disassemble_data
arguments: tag: D130
datatype: f64
name: disassemble_data
arguments: tag: D318
datatype: f64
name: disassemble_data
arguments: tag: D358
datatype: f64
name: disassemble_data
arguments: tag: D510
datatype: f64
name: disassemble_data
arguments: tag: D212
datatype: f64
name: disassemble_data
arguments: tag: D278
datatype: f64
name: disassemble_data
arguments: tag: D303
datatype: f64
name: disassemble_data
arguments: tag: D411
datatype: f64
name: disassemble_data
arguments: tag: D138
datatype: f64
name: disassemble_data
arguments: tag: D348
datatype: f64
name: disassemble_data
arguments: tag: D526
datatype: f64
name: disassemble_data
arguments: tag: D406
datatype: f64
name: disassemble_data
arguments: tag: D340
datatype: f64
name: disassemble_data
arguments: tag: D344
datatype: f64
name: disassemble_data
arguments: tag: D333
datatype: f64
name: disassemble_data
arguments: tag: D4
datatype: f64
name: disassemble_data
arguments: tag: D81
datatype: f64
name: disassemble_data
arguments: tag: D414
datatype: f64
name: disassemble_data
arguments: tag: D256
datatype: f64
name: disassemble_data
arguments: tag: D386
datatype: f64
name: disassemble_data
arguments: tag: D547
datatype: f64
name: disassemble_data
arguments: tag: D338
datatype: f64
name: disassemble_data
arguments: tag: D573
datatype: f64
name: disassemble_data
arguments: tag: D7
datatype: f64
name: disassemble_data
arguments: tag: D49
datatype: f64
name: disassemble_data
arguments: tag: D69
datatype: f64
name: disassemble_data
arguments: tag: D255
datatype: f64
name: disassemble_data
arguments: tag: D368
datatype: f64

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

tool: D462: 10.4704713

tool: D116: 14.82817437

tool: D448: 18.18626357

tool: D431: 21.02939493

tool: D276: 23.54504487

tool: D387: 25.82924707

tool: D185: 27.9389871

tool: D31: 29.91135686

tool: D341: 31.77209708

tool: D579: 33.53993436

tool: D86: 35.22899598

tool: D270: 36.85025108

tool: D57: 38.41241892

tool: D566: 39.92256684

tool: D543: 41.38651832

tool: D103: 42.80914012

tool: D247: 44.19454951

tool: D111: 45.54626723

tool: D100: 46.86733252

tool: D498: 48.16039128

tool: D293: 49.42776439

tool: D490: 50.67150166

tool: D588: 51.89342469

tool: D71: 53.09516153

tool: D17: 54.27817472

tool: D504: 55.44378444

tool: D443: 56.59318756

tool: D260: 57.72747354

tool: D522: 58.84763776

tool: D353: 59.95459277

tool: D130: 61.04917774

tool: D318: 62.13216659

tool: D358: 63.20427479

tool: D510: 64.26616523

tool: D212: 65.3184531

tool: D278: 66.36171008

tool: D303: 67.39646774

tool: D411: 68.42322022

tool: D138: 69.44242631

tool: D348: 70.45451075

tool: D526: 71.45986473

tool: D406: 72.45884545

tool: D340: 73.45177442

tool: D344: 74.43893416

tool: D333: 75.42056257

tool: D4: 76.39684391

tool: D81: 77.36789461

tool: D414: 78.33374083

tool: D256: 79.29428225

tool: D386: 80.24923213

tool: D547: 81.19801349

tool: D338: 82.13956981

tool: D573: 83.07199445

tool: D7: 83.99173563

tool: D49: 84.89166191

tool: D69: 85.75541621

tool: D255: 86.53536998

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