user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<plotexample>:
  endbr64
  push   %r13
  lea    D135(%rip),%rdi
  lea    D444(%rip),%r13
  push   %r12
  lea    D394(%rip),%r12
  push   %rbp
  lea    D61(%rip),%rbp
  call   <printf@plt>
  lea    D433(%rip),%rdi
  call   <printf@plt>
  lea    D391(%rip),%rdi
  call   <printf@plt>
  lea    D277(%rip),%rdi
  call   <printf@plt>
  lea    D26(%rip),%rdi
  call   <printf@plt>
  lea    D390(%rip),%rdi
  call   <printf@plt>
  lea    D206(%rip),%rdi
  call   <printf@plt>
  lea    D324(%rip),%rdi
  call   <printf@plt>
  lea    D1(%rip),%rdi
  call   <printf@plt>
  lea    D392(%rip),%rdi
  call   <printf@plt>
  lea    D145(%rip),%rdi
  call   <printf@plt>
  lea    D76(%rip),%rdi
  call   <printf@plt>
  lea    D417(%rip),%rdi
  call   <printf@plt>
  lea    D269(%rip),%rdi
  call   <printf@plt>
  lea    D281(%rip),%rdi
  call   <printf@plt>
  lea    D379(%rip),%rdi
  call   <printf@plt>
  lea    D378(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D257(%rip),%rdi
  call   <printf@plt>
  lea    D6(%rip),%rdi
  call   <printf@plt>
  lea    D80(%rip),%rdi
  call   <printf@plt>
  mov    %r13,%rdi
  call   <printf@plt>
  mov    %r12,%rdi
  call   <printf@plt>
  lea    D202(%rip),%rdi
  call   <printf@plt>
  lea    D181(%rip),%rdi
  call   <printf@plt>
  lea    D91(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D275(%rip),%rdi
  call   <printf@plt>
  lea    D90(%rip),%rdi
  call   <printf@plt>
  lea    D446(%rip),%rdi
  call   <printf@plt>
  lea    D418(%rip),%rdi
  call   <printf@plt>
  lea    D343(%rip),%rdi
  call   <printf@plt>
  lea    D20(%rip),%rdi
  call   <printf@plt>
  lea    D0(%rip),%rdi
  call   <printf@plt>
  lea    D356(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D116(%rip),%rdi
  call   <printf@plt>
  lea    D253(%rip),%rdi
  call   <printf@plt>
  lea    D208(%rip),%rdi
  call   <printf@plt>
  mov    %r13,%rdi
  call   <printf@plt>
  mov    %r12,%rdi
  call   <printf@plt>
  lea    D22(%rip),%rdi
  call   <printf@plt>
  lea    D8(%rip),%rdi
  call   <printf@plt>
  lea    D138(%rip),%rdi
  call   <printf@plt>
  lea    D395(%rip),%rdi
  call   <printf@plt>
  lea    D226(%rip),%rdi
  call   <printf@plt>
  lea    D365(%rip),%rdi
  call   <printf@plt>
  lea    D59(%rip),%rdi
  call   <printf@plt>
  lea    D105(%rip),%rdi
  call   <printf@plt>
  lea    D322(%rip),%rdi
  call   <printf@plt>
  lea    D144(%rip),%rdi
  call   <printf@plt>
  pop    %rbp
  lea    D308(%rip),%rdi
  pop    %r12
  pop    %r13
  jmp    1050 <printf@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D135
type: string
name: extract_symbolic_data
arguments: data_tag: D444
type: string
name: extract_symbolic_data
arguments: data_tag: D394
type: string
name: extract_symbolic_data
arguments: data_tag: D61
type: string
name: extract_symbolic_data
arguments: data_tag: D433
type: string
name: extract_symbolic_data
arguments: data_tag: D391
type: string
name: extract_symbolic_data
arguments: data_tag: D277
type: string
name: extract_symbolic_data
arguments: data_tag: D26
type: string
name: extract_symbolic_data
arguments: data_tag: D390
type: string
name: extract_symbolic_data
arguments: data_tag: D206
type: string
name: extract_symbolic_data
arguments: data_tag: D324
type: string
name: extract_symbolic_data
arguments: data_tag: D1
type: string
name: extract_symbolic_data
arguments: data_tag: D392
type: string
name: extract_symbolic_data
arguments: data_tag: D145
type: string
name: extract_symbolic_data
arguments: data_tag: D76
type: string
name: extract_symbolic_data
arguments: data_tag: D417
type: string
name: extract_symbolic_data
arguments: data_tag: D269
type: string
name: extract_symbolic_data
arguments: data_tag: D281
type: string
name: extract_symbolic_data
arguments: data_tag: D379
type: string
name: extract_symbolic_data
arguments: data_tag: D378
type: string
name: extract_symbolic_data
arguments: data_tag: D257
type: string
name: extract_symbolic_data
arguments: data_tag: D6
type: string
name: extract_symbolic_data
arguments: data_tag: D80
type: string
name: extract_symbolic_data
arguments: data_tag: D202
type: string
name: extract_symbolic_data
arguments: data_tag: D181
type: string
name: extract_symbolic_data
arguments: data_tag: D91
type: string
name: extract_symbolic_data
arguments: data_tag: D275
type: string
name: extract_symbolic_data
arguments: data_tag: D90
type: string
name: extract_symbolic_data
arguments: data_tag: D446
type: string
name: extract_symbolic_data
arguments: data_tag: D418
type: string
name: extract_symbolic_data
arguments: data_tag: D343
type: string
name: extract_symbolic_data
arguments: data_tag: D20
type: string
name: extract_symbolic_data
arguments: data_tag: D0
type: string
name: extract_symbolic_data
arguments: data_tag: D356
type: string
name: extract_symbolic_data
arguments: data_tag: D116
type: string
name: extract_symbolic_data
arguments: data_tag: D253
type: string
name: extract_symbolic_data
arguments: data_tag: D208
type: string
name: extract_symbolic_data
arguments: data_tag: D22
type: string
name: extract_symbolic_data
arguments: data_tag: D8
type: string
name: extract_symbolic_data
arguments: data_tag: D138
type: string
name: extract_symbolic_data
arguments: data_tag: D395
type: string
name: extract_symbolic_data
arguments: data_tag: D226
type: string
name: extract_symbolic_data
arguments: data_tag: D365
type: string
name: extract_symbolic_data
arguments: data_tag: D59
type: string
name: extract_symbolic_data
arguments: data_tag: D105
type: string
name: extract_symbolic_data
arguments: data_tag: D322
type: string
name: extract_symbolic_data
arguments: data_tag: D144
type: string
name: extract_symbolic_data
arguments: data_tag: D308
type: string

tool: D135: 
file_base=example.su


tool: D444: grad=0


tool: D394: poly=0


tool: D61: x=0,500,1000,1500,2000


tool: D433: cp0=1200


tool: D391: cs0=600


tool: D277: ro0=1000


tool: D26: sizex=2000


tool: D390: sizez=2500


tool: D206: dx=5


tool: D324: dz=10



tool: D1: gradt=1


tool: D392: writeint=1


tool: D145: verbose=1



tool: D76: intt=def


tool: D417: grad=150


tool: D269: poly=2


tool: D281: cp=1800,2500,1400,2500,3000


tool: D379: cs=1200,1800,1000,1800,1200


tool: D378: ro=1000


tool: D257: z=100,400,150,500,100



tool: D6: intt=sin


tool: D80: var=50,100


tool: D202: cp=2400


tool: D181: cs=1900


tool: D91: ro=1400


tool: D275: z=800,800,900,1000,900



tool: D90: intt=rough


tool: D446: var=50,1.4,10


tool: D418: grad=50


tool: D343: poly=1


tool: D20: cp=3000,3300


tool: D0: cs=2200,2300


tool: D356: ro=1800


tool: D116: z=1400,1800,1800,1300,1500



tool: D253: intt=fract


tool: D208: var=60,30,1.6,1,1.8,10


tool: D22: cp=3800


tool: D8: cs=2600


tool: D138: ro=2100


tool: D395: x=0,2000


tool: D226: z=2100,2100



tool: D365: intt=diffr


tool: D59: cp=100


tool: D105: cs=100


tool: D322: ro=100


tool: D144: x=500,1500


tool: D308: z=1300,1800



assistant: ```c
void plotexample() {
  printf("\nfile_base=example.su\n");
  printf("cp0=1200\n");
  printf("cs0=600\n");
  printf("ro0=1000\n");
  printf("sizex=2000\n");
  printf("sizez=2500\n");
  printf("dx=5\n");
  printf("dz=10\n\n");
  printf("gradt=1\n");
  printf("writeint=1\n");
  printf("verbose=1\n\n");
  printf("intt=def\n");
  printf("grad=150\n");
  printf("poly=2\n");
  printf("cp=1800,2500,1400,2500,3000\n");
  printf("cs=1200,1800,1000,1800,1200\n");
  printf("ro=1000\n");
  printf("x=0,500,1000,1500,2000\n");
  printf("z=100,400,150,500,100\n\n");
  printf("intt=sin\n");
  printf("var=50,100\n");
  printf("grad=0\n");
  printf("poly=0\n");
  printf("cp=2400\n");
  printf("cs=1900\n");
  printf("ro=1400\n");
  printf("x=0,500,1000,1500,2000\n");
  printf("z=800,800,900,1000,900\n\n");
  printf("intt=rough\n");
  printf("var=50,1.4,10\n");
  printf("grad=50\n");
  printf("poly=1\n");
  printf("cp=3000,3300\n");
  printf("cs=2200,2300\n");
  printf("ro=1800\n");
  printf("x=0,500,1000,1500,2000\n");
  printf("z=1400,1800,1800,1300,1500\n\n");
  printf("intt=fract\n");
  printf("var=60,30,1.6,1,1.8,10\n");
  printf("grad=0\n");
  printf("poly=0\n");
  printf("cp=3800\n");
  printf("cs=2600\n");
  printf("ro=2100\n");
  printf("x=0,2000\n");
  printf("z=2100,2100\n\n");
  printf("intt=diffr\n");
  printf("cp=100\n");
  printf("cs=100\n");
  printf("ro=100\n");
  printf("x=500,1500\n");
  printf("z=1300,1800\n\n");
  return;
}
```