user: 这段汇编代码用C语言表示是什么样的:

```asm
<PyramidFilterSplinel2>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %rdi,-0x8(%rbp)
  mov    %rsi,-0x10(%rbp)
  mov    %rdx,-0x18(%rbp)
  mov    %rcx,-0x20(%rbp)
  mov    %r8,-0x28(%rbp)
  cmpq   $0x3,-0x28(%rbp)
  je     L91
  cmpq   $0x3,-0x28(%rbp)
  jg     L81
  cmpq   $0x2,-0x28(%rbp)
  je     L30
  cmpq   $0x2,-0x28(%rbp)
  jg     L81
  cmpq   $0x0,-0x28(%rbp)
  je     L24
  cmpq   $0x1,-0x28(%rbp)
  je     L11
  jmp    L81
L24:
  mov    -0x10(%rbp),%rax
  movq   $0x1,(%rax)
  mov    -0x20(%rbp),%rax
  movq   $0x1,(%rax)
  jmp    L56
L11:
  mov    -0x8(%rbp),%rax
  movsd  D178(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movsd  D353(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x10,%rax
  movsd  D239(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x18,%rax
  movsd  D361(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x20,%rax
  movsd  D473(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x28,%rax
  movsd  D264(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x30,%rax
  movsd  D160(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x38,%rax
  movsd  D66(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x40,%rax
  movsd  D341(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  movq   $0x9,(%rax)
  mov    -0x18(%rbp),%rax
  movsd  D472(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  D348(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x20(%rbp),%rax
  movq   $0x2,(%rax)
  jmp    L56
L30:
  mov    -0x8(%rbp),%rax
  movsd  D143(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movsd  D460(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x10,%rax
  movsd  D534(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x18,%rax
  movsd  D199(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x20,%rax
  movsd  D593(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x28,%rax
  movsd  D393(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x30,%rax
  movsd  D559(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x38,%rax
  movsd  D317(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x40,%rax
  movsd  D154(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x48,%rax
  movsd  D387(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x50,%rax
  movsd  D356(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x58,%rax
  movsd  D558(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x60,%rax
  movsd  D231(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x68,%rax
  movsd  D29(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x70,%rax
  movsd  D575(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x78,%rax
  movsd  D386(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  movq   $0x10,(%rax)
  mov    -0x18(%rbp),%rax
  movsd  D472(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  D287(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  D474(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  D240(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  D422(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  D202(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x20(%rbp),%rax
  movq   $0xa,(%rax)
  jmp    L56
L91:
  mov    -0x8(%rbp),%rax
  movsd  D459(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x8,%rax
  movsd  D516(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x10,%rax
  movsd  D336(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x18,%rax
  movsd  D84(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x20,%rax
  movsd  D109(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x28,%rax
  movsd  D32(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x30,%rax
  movsd  D380(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x38,%rax
  movsd  D92(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x40,%rax
  movsd  D452(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x48,%rax
  movsd  D458(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x50,%rax
  movsd  D340(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x58,%rax
  movsd  D147(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x60,%rax
  movsd  D56(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x68,%rax
  movsd  D496(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x70,%rax
  movsd  D587(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x78,%rax
  movsd  D57(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  movsd  D390(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x88,%rax
  movsd  D384(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x90,%rax
  movsd  D423(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8(%rbp),%rax
  add    $0x98,%rax
  movsd  D54(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x10(%rbp),%rax
  movq   $0x14,(%rax)
  mov    -0x18(%rbp),%rax
  movsd  D472(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x8,%rax
  movsd  D388(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x10,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x18,%rax
  movsd  D165(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x20,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x28,%rax
  movsd  D134(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x30,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x38,%rax
  movsd  D545(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x40,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x48,%rax
  movsd  D5(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x50,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x18(%rbp),%rax
  add    $0x58,%rax
  movsd  D65(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x20(%rbp),%rax
  movq   $0xc,(%rax)
  jmp    L56
L81:
  mov    -0x10(%rbp),%rax
  movq   $0xffffffffffffffff,(%rax)
  mov    -0x20(%rbp),%rax
  movq   $0xffffffffffffffff,(%rax)
  nop
L56:
  nop
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D178
type_guessed: f64
name: disassemble_data
arguments: data_tag: D353
type_guessed: f64
name: disassemble_data
arguments: data_tag: D239
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D361
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D473
type_guessed: f64
name: disassemble_data
arguments: data_tag: D264
type_guessed: f64
name: disassemble_data
arguments: data_tag: D160
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D66
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D341
type_guessed: f64
name: disassemble_data
arguments: data_tag: D472
type_guessed: f64
name: disassemble_data
arguments: data_tag: D348
type_guessed: f64
name: disassemble_data
arguments: data_tag: D143
type_guessed: f64
name: disassemble_data
arguments: data_tag: D460
type_guessed: f64
name: disassemble_data
arguments: data_tag: D534
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D199
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D593
type_guessed: f64
name: disassemble_data
arguments: data_tag: D393
type_guessed: f64
name: disassemble_data
arguments: data_tag: D559
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D317
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D154
type_guessed: f64
name: disassemble_data
arguments: data_tag: D387
type_guessed: f64
name: disassemble_data
arguments: data_tag: D356
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D558
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D231
type_guessed: f64
name: disassemble_data
arguments: data_tag: D29
type_guessed: f64
name: disassemble_data
arguments: data_tag: D575
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D386
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D287
type_guessed: f64
name: disassemble_data
arguments: data_tag: D474
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D240
type_guessed: f64
name: disassemble_data
arguments: data_tag: D422
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D202
type_guessed: f64
name: disassemble_data
arguments: data_tag: D459
type_guessed: f64
name: disassemble_data
arguments: data_tag: D516
type_guessed: f64
name: disassemble_data
arguments: data_tag: D336
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D84
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D109
type_guessed: f64
name: disassemble_data
arguments: data_tag: D32
type_guessed: f64
name: disassemble_data
arguments: data_tag: D380
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D92
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D452
type_guessed: f64
name: disassemble_data
arguments: data_tag: D458
type_guessed: f64
name: disassemble_data
arguments: data_tag: D340
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D147
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D56
type_guessed: f64
name: disassemble_data
arguments: data_tag: D496
type_guessed: f64
name: disassemble_data
arguments: data_tag: D587
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D57
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D390
type_guessed: f64
name: disassemble_data
arguments: data_tag: D384
type_guessed: f64
name: disassemble_data
arguments: data_tag: D423
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D54
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D388
type_guessed: f64
name: disassemble_data
arguments: data_tag: D165
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D134
type_guessed: f64
name: disassemble_data
arguments: data_tag: D545
type_guessed: byte[8]
name: disassemble_data
arguments: data_tag: D5
type_guessed: f64
name: disassemble_data
arguments: data_tag: D65
type_guessed: byte[8]

tool: D178: 0.707107

tool: D353: 0.292893

tool: {"D239": [0xc9,0xc8,0x59,0xd8,0xd3,0x0e,0xbf,0xbf]}

tool: {"D361": [0x7b,0xa0,0x15,0x18,0xb2,0xba,0xa9,0xbf]}

tool: D473: 0.0208153

tool: D264: 0.00862197

tool: {"D160": [0xb2,0xba,0x17,0x90,0xa4,0x41,0x6d,0xbf]}

tool: {"D66": [0xb3,0x04,0xbe,0x47,0xa2,0x3c,0x58,0xbf]}

tool: D341: 0.000612745

tool: D472: 1

tool: D348: 0.5

tool: D143: 0.617317

tool: D460: 0.310754

tool: {"D534": [0x68,0x48,0xcb,0x37,0x91,0x4f,0xb8,0xbf]}

tool: {"D199": [0x29,0xa3,0xdb,0x5c,0x46,0xfb,0xb5,0xbf]}

tool: D593: 0.0529153

tool: D393: 0.0362437

tool: {"D559": [0x28,0x26,0x14,0xc7,0x26,0x9e,0x98,0xbf]}

tool: {"D317": [0x5a,0x4f,0x08,0x78,0x2d,0x7c,0x90,0xbf]}

tool: D154: 0.0107498

tool: D387: 0.00718418

tool: {"D356": [0x7a,0xa3,0x1c,0xed,0x34,0xa9,0x73,0xbf]}

tool: {"D558": [0xf9,0x64,0x07,0x8d,0x47,0x46,0x6a,0xbf]}

tool: D231: 0.00214306

tool: D29: 0.00143195

tool: {"D575": [0xb9,0x60,0xba,0x5a,0x38,0x5a,0x4f,0xbf]}

tool: {"D386": [0xe4,0x6b,0xe3,0x10,0xf0,0xf2,0x44,0xbf]}

tool: D287: 0.585786

tool: {"D474": [0x7b,0xa0,0x15,0x18,0xb2,0xba,0xb9,0xbf]}

tool: D240: 0.0172439

tool: {"D422": [0x27,0x4c,0x5a,0xe9,0x9c,0x3c,0x68,0xbf]}

tool: D202: 0.000507614

tool: D459: 0.596797

tool: D516: 0.313287

tool: {"D336": [0xf5,0x8d,0x9e,0x11,0x5b,0x30,0xb5,0xbf]}

tool: {"D84": [0xc9,0xce,0x36,0x92,0x5f,0x9a,0xb7,0xbf]}

tool: D109: 0.0540288

tool: D32: 0.0436996

tool: {"D380": [0xda,0x1a,0xb6,0xd2,0x10,0xfa,0x9e,0xbf]}

tool: {"D92": [0xc1,0x40,0x6b,0xd9,0xb5,0x18,0x97,0xbf]}

tool: D452: 0.0162251

tool: D458: 0.0118738

tool: {"D340": [0xd3,0x39,0x16,0x46,0x40,0xa6,0x81,0xbf]}

tool: {"D147": [0xdd,0xf4,0xe3,0x06,0xae,0xb8,0x79,0xbf]}

tool: D56: 0.00456713

tool: D496: 0.00332464

tool: {"D587": [0x38,0x6b,0xae,0xa2,0x58,0xd1,0x63,0xbf]}

tool: {"D57": [0xe3,0xc0,0x2f,0x1e,0x73,0xd8,0x5c,0xbf]}

tool: D390: 0.00128128

tool: D384: 0.000932349

tool: {"D423": [0xc4,0xec,0xcd,0xbe,0xde,0x3c,0x46,0xbf]}

tool: {"D54": [0x2b,0x3c,0xb6,0x05,0x4e,0x2d,0x40,0xbf]}

tool: D388: 0.600481

tool: {"D165": [0x90,0x66,0x2c,0x9a,0xce,0x4e,0xc0,0xbf]}

tool: D134: 0.034138

tool: {"D545": [0x63,0x64,0xc9,0x1c,0xcb,0xbb,0x82,0xbf]}

tool: D5: 0.002451

tool: {"D65": [0x74,0xf1,0x7a,0xda,0x28,0x85,0x45,0xbf]}

assistant: ```c
extern void PyramidFilterSplinel2(double g[], long *ng, double *h, long *nh, long Order) {
  switch (Order) {
  case 0L:
    *ng = 1L;
    *nh = 1L;
    break;
  case 1L:
    g[0] = 0.707107;
    g[1] = 0.292893;
    g[2] = -0.12132;
    g[3] = -0.0502525;
    g[4] = 0.0208153;
    g[5] = 0.00862197;
    g[6] = -0.00357134;
    g[7] = -0.0014793;
    g[8] = 0.000612745;
    *ng = 9L;
    h[0] = 1.;
    h[1] = 0.5;
    *nh = 2L;
    break;
  case 2L:
    g[0] = 0.617317;
    g[1] = 0.310754;
    g[2] = -0.0949641;
    g[3] = -0.0858654;
    g[4] = 0.0529153;
    g[5] = 0.0362437;
    g[6] = -0.0240408;
    g[7] = -0.0160987;
    g[8] = 0.0107498;
    g[9] = 0.00718418;
    g[10] = -0.00480004;
    g[11] = -0.00320734;
    g[12] = 0.00214306;
    g[13] = 0.00143195;
    g[14] = -0.0009568;
    g[15] = -0.000639312;
    *ng = 16L;
    h[0] = 1.;
    h[1] = 0.585786;
    h[2] = 0;
    h[3] = -0.100505;
    h[4] = 0;
    h[5] = 0.0172439;
    h[6] = 0;
    h[7] = -0.00295859;
    h[8] = 0;
    h[9] = 0.000507614;
    *nh = 10L;
    break;
  case 3L:
    g[0] = 0.596797;
    g[1] = 0.313287;
    g[2] = -0.0827691;
    g[3] = -0.0921993;
    g[4] = 0.0540288;
    g[5] = 0.0436996;
    g[6] = -0.0302508;
    g[7] = -0.0225552;
    g[8] = 0.0162251;
    g[9] = 0.0118738;
    g[10] = -0.00861788;
    g[11] = -0.00627964;
    g[12] = 0.00456713;
    g[13] = 0.00332464;
    g[14] = -0.00241916;
    g[15] = -0.00176059;
    g[16] = 0.00128128;
    g[17] = 0.000932349;
    g[18] = -0.000678643;
    g[19] = -0.000493682;
    *ng = 20L;
    h[0] = 1.;
    h[1] = 0.600481;
    h[2] = 0;
    h[3] = -0.127405;
    h[4] = 0;
    h[5] = 0.034138;
    h[6] = 0;
    h[7] = -0.00914725;
    h[8] = 0;
    h[9] = 0.002451;
    h[10] = 0;
    h[11] = -0.000656743;
    *nh = 12L;
    break;
  default:
    *ng = -1L;
    *nh = -1L;
    break;
  }
}
```