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

```asm
<init_ellipse_data>:
  endbr64
  mov    (%rdi),%rdx
  movaps D117(%rip),%xmm0
  mov    D42(%rip),%rcx
  movaps D403(%rip),%xmm2
  movups %xmm0,(%rdx)
  movaps D69(%rip),%xmm0
  movaps D19(%rip),%xmm1
  mov    %rcx,0x40(%rdx)
  mov    D282(%rip),%rcx
  movups %xmm0,0x10(%rdx)
  movaps D383(%rip),%xmm0
  movaps D482(%rip),%xmm3
  mov    D442(%rip),%rsi
  movups %xmm0,0x20(%rdx)
  movaps D381(%rip),%xmm0
  movups %xmm0,0x30(%rdx)
  mov    0x8(%rdi),%rdx
  movaps D366(%rip),%xmm0
  mov    %rcx,0x30(%rdx)
  movups %xmm0,0x20(%rdx)
  movups %xmm2,(%rdx)
  movups %xmm1,0x10(%rdx)
  mov    0x10(%rdi),%rdx
  movups %xmm3,(%rdx)
  movaps D249(%rip),%xmm3
  mov    %rsi,0x40(%rdx)
  movups %xmm3,0x10(%rdx)
  movaps D438(%rip),%xmm3
  movups %xmm3,0x20(%rdx)
  movaps D434(%rip),%xmm3
  movups %xmm3,0x30(%rdx)
  mov    0x18(%rdi),%rdx
  movaps D8(%rip),%xmm3
  mov    D360(%rip),%rsi
  movups %xmm3,(%rdx)
  movaps D341(%rip),%xmm3
  mov    %rsi,0x30(%rdx)
  mov    D100(%rip),%rsi
  movups %xmm3,0x10(%rdx)
  movaps D473(%rip),%xmm3
  movups %xmm3,0x20(%rdx)
  mov    0x20(%rdi),%rdx
  movaps D178(%rip),%xmm3
  movups %xmm3,(%rdx)
  movaps D461(%rip),%xmm3
  mov    %rsi,0x30(%rdx)
  mov    D163(%rip),%rsi
  movups %xmm3,0x10(%rdx)
  movaps D299(%rip),%xmm3
  movups %xmm3,0x20(%rdx)
  mov    0x28(%rdi),%rdx
  movaps D319(%rip),%xmm3
  movups %xmm3,(%rdx)
  movaps D485(%rip),%xmm3
  mov    %rsi,0x40(%rdx)
  movups %xmm3,0x10(%rdx)
  movaps D466(%rip),%xmm3
  movups %xmm3,0x20(%rdx)
  movaps D86(%rip),%xmm3
  movups %xmm3,0x30(%rdx)
  mov    0x30(%rdi),%rdx
  movups %xmm0,0x20(%rdx)
  movups %xmm2,(%rdx)
  movups %xmm1,0x10(%rdx)
  mov    %rcx,0x30(%rdx)
  mov    0x38(%rdi),%rdx
  movaps D285(%rip),%xmm0
  mov    D487(%rip),%rcx
  mov    0x50(%rdi),%rax
  movups %xmm0,(%rdx)
  movaps D190(%rip),%xmm0
  mov    %rcx,0x40(%rdx)
  mov    D471(%rip),%rcx
  movups %xmm0,0x10(%rdx)
  movaps D215(%rip),%xmm0
  movups %xmm0,0x20(%rdx)
  movaps D348(%rip),%xmm0
  movups %xmm0,0x30(%rdx)
  mov    0x40(%rdi),%rdx
  movaps D300(%rip),%xmm0
  mov    %rcx,0x10(%rdx)
  mov    D53(%rip),%rcx
  movups %xmm0,(%rdx)
  mov    0x48(%rdi),%rdx
  movaps D255(%rip),%xmm0
  movups %xmm0,(%rdx)
  movaps D235(%rip),%xmm0
  mov    %rcx,0x60(%rdx)
  movups %xmm0,0x10(%rdx)
  movaps D307(%rip),%xmm0
  movups %xmm0,0x20(%rdx)
  movaps D326(%rip),%xmm0
  movups %xmm0,0x30(%rdx)
  movaps D143(%rip),%xmm0
  movups %xmm0,0x40(%rdx)
  movaps D332(%rip),%xmm0
  movups %xmm0,0x50(%rdx)
  movaps D131(%rip),%xmm0
  mov    D281(%rip),%rdx
  movups %xmm0,(%rax)
  movaps D125(%rip),%xmm0
  mov    %rdx,0x80(%rax)
  movups %xmm0,0x10(%rax)
  movaps D212(%rip),%xmm0
  movups %xmm0,0x20(%rax)
  movaps D27(%rip),%xmm0
  movups %xmm0,0x30(%rax)
  movaps D453(%rip),%xmm0
  movups %xmm0,0x40(%rax)
  movaps D110(%rip),%xmm0
  movups %xmm0,0x50(%rax)
  movaps D200(%rip),%xmm0
  movups %xmm0,0x60(%rax)
  movaps D177(%rip),%xmm0
  movups %xmm0,0x70(%rax)
  ret
```

tool_calls: name: parse_data
arguments: label: D117
data_type: byte[16]
name: parse_data
arguments: label: D42
data_type: f32[2]
name: parse_data
arguments: label: D403
data_type: byte[16]
name: parse_data
arguments: label: D69
data_type: f32[4]
name: parse_data
arguments: label: D19
data_type: f32[4]
name: parse_data
arguments: label: D282
data_type: f32[2]
name: parse_data
arguments: label: D383
data_type: f32[4]
name: parse_data
arguments: label: D482
data_type: byte[16]
name: parse_data
arguments: label: D442
data_type: f32[2]
name: parse_data
arguments: label: D381
data_type: f32[4]
name: parse_data
arguments: label: D366
data_type: f32[4]
name: parse_data
arguments: label: D249
data_type: f32[4]
name: parse_data
arguments: label: D438
data_type: f32[4]
name: parse_data
arguments: label: D434
data_type: f32[4]
name: parse_data
arguments: label: D8
data_type: byte[16]
name: parse_data
arguments: label: D360
data_type: byte[8]
name: parse_data
arguments: label: D341
data_type: f32[4]
name: parse_data
arguments: label: D100
data_type: f32[2]
name: parse_data
arguments: label: D473
data_type: f32[4]
name: parse_data
arguments: label: D178
data_type: byte[16]
name: parse_data
arguments: label: D461
data_type: f32[4]
name: parse_data
arguments: label: D163
data_type: f32[2]
name: parse_data
arguments: label: D299
data_type: f32[4]
name: parse_data
arguments: label: D319
data_type: byte[16]
name: parse_data
arguments: label: D485
data_type: f32[4]
name: parse_data
arguments: label: D466
data_type: f32[4]
name: parse_data
arguments: label: D86
data_type: f32[4]
name: parse_data
arguments: label: D285
data_type: byte[16]
name: parse_data
arguments: label: D487
data_type: f32[2]
name: parse_data
arguments: label: D190
data_type: f32[4]
name: parse_data
arguments: label: D471
data_type: f32[2]
name: parse_data
arguments: label: D215
data_type: f32[4]
name: parse_data
arguments: label: D348
data_type: f32[4]
name: parse_data
arguments: label: D300
data_type: f32[4]
name: parse_data
arguments: label: D53
data_type: f32[2]
name: parse_data
arguments: label: D255
data_type: byte[16]
name: parse_data
arguments: label: D235
data_type: f32[4]
name: parse_data
arguments: label: D307
data_type: f32[4]
name: parse_data
arguments: label: D326
data_type: f32[4]
name: parse_data
arguments: label: D143
data_type: f32[4]
name: parse_data
arguments: label: D332
data_type: f32[4]
name: parse_data
arguments: label: D131
data_type: byte[16]
name: parse_data
arguments: label: D281
data_type: byte[8]
name: parse_data
arguments: label: D125
data_type: f32[4]
name: parse_data
arguments: label: D212
data_type: f32[4]
name: parse_data
arguments: label: D27
data_type: f32[4]
name: parse_data
arguments: label: D453
data_type: f32[4]
name: parse_data
arguments: label: D110
data_type: f32[4]
name: parse_data
arguments: label: D200
data_type: f32[4]
name: parse_data
arguments: label: D177
data_type: f32[4]

tool: {"D117": [0x00,0x00,0x80,0x40,0x06,0x01,0xc2,0x3f,0x28,0x77,0xff,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D42": [0.3956582546234131,0.26225143671035767]}

tool: {"D403": [0x00,0x00,0x40,0x40,0x3c,0x5e,0xff,0xbf,0x88,0xdb,0xfe,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D69": [0.996523380279541,-1.999699592590332,0.972292423248291,1.0]}

tool: {"D19": [0.9972918629646301,-1.9964182376861572,-1.9742933511734009,1.0]}

tool: {"D282": [0.8435338735580444,0.904193639755249]}

tool: {"D383": [0.8931346535682678,1.8828678131103516,-1.9561138153076172,1.0]}

tool: {"D482": [0x00,0x00,0x80,0x40,0x04,0xdf,0xff,0xbf,0x94,0x51,0xff,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D442": [0.9714292287826538,0.013949927873909473]}

tool: {"D381": [0.9584596157073975,-1.999934196472168,-0.06589359045028687,1.0]}

tool: {"D366": [0.982504665851593,-1.9993040561676025,-1.8149534463882446,1.0]}

tool: {"D249": [0.996261477470398,-1.9843097925186157,-1.9807531833648682,1.0]}

tool: {"D438": [0.9906697869300842,-1.9996778964996338,-1.979581594467163,1.0]}

tool: {"D434": [0.9820446968078613,-1.9513627290725708,-1.9651529788970947,1.0]}

tool: {"D8": [0x00,0x00,0x40,0x40,0x39,0x03,0xff,0xbf,0x9d,0xc3,0xfe,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D360": [0x00,0x00,0x00,0x00,0xab,0xc7,0xb7,0x3a]}

tool: {"D341": [0.9952571988105774,-1.9849711656570435,-1.9765263795852661,1.0]}

tool: {"D100": [0.8942216634750366,0.00710207037627697]}

tool: {"D473": [0.9792355895042419,1.0,-0.9818031787872314,0.0]}

tool: {"D178": [0x00,0x00,0x40,0x40,0x87,0x61,0xf5,0xbf,0x65,0x96,0xf6,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D461": [0.990642249584198,-1.8850187063217163,-1.9092572927474976,1.0]}

tool: {"D163": [0.9628451466560364,0.0027629926335066557]}

tool: {"D299": [0.9562723636627197,-1.4613312482833862,-1.882127046585083,0.9999999403953552]}

tool: {"D319": [0x00,0x00,0x80,0x40,0xfc,0xcd,0xfa,0xbf,0xc8,0xb9,0xfe,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D485": [0.9932218194007874,-1.998693823814392,-1.9679750204086304,1.0]}

tool: {"D466": [0.9845691323280334,-1.8436241149902344,-1.9696534872055054,1.0]}

tool: {"D86": [0.9745591878890991,-1.9996707439422607,-1.9523041248321533,1.0]}

tool: {"D285": [0x00,0x00,0x80,0x40,0x79,0x09,0xff,0xbf,0xbc,0x8b,0xfa,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D487": [0.7896404266357422,0.008745222352445126]}

tool: {"D190": [0.9771471619606018,-1.247118592262268,-1.6082873344421387,1.0]}

tool: {"D471": [0.58943110704422,0.7481132745742798]}

tool: {"D215": [0.9148222804069519,-1.9983103275299072,-1.8512917757034302,1.0]}

tool: {"D348": [0.8891001343727112,0.03333514928817749,-1.6413377523422241,1.0]}

tool: {"D300": [1.0,-1.9896868467330933,-1.3953065872192383,1.0]}

tool: {"D53": [0.9087163209915161,0.0004474679008126259]}

tool: {"D255": [0x00,0x00,0xc0,0x40,0x7e,0xb0,0xff,0xbf,0x6c,0xbf,0xfe,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D235": [0.9952928423881531,-1.7460823059082031,-1.8534760475158691,1.0]}

tool: {"D307": [0.9772155284881592,-1.998448133468628,-1.9737545251846313,1.0]}

tool: {"D326": [0.9805659651756287,-1.6166383028030396,-1.8408836126327515,1.0]}

tool: {"D143": [0.930972695350647,-1.9997426271438599,-1.932045817375183,1.0]}

tool: {"D332": [0.9462926387786865,-0.4401874840259552,-1.866435170173645,0.9999999403953552]}

tool: {"D131": [0x00,0x00,0x00,0x41,0x3f,0x23,0xe4,0xbf,0xab,0x37,0xff,0xbf,0x00,0x00,0x80,0x3f]}

tool: {"D281": [0x00,0x00,0x00,0x00,0x79,0x6a,0x6c,0x39]}

tool: {"D125": [0.9971261024475098,-1.998171329498291,-1.8579881191253662,1.0]}

tool: {"D212": [0.9825214147567749,-1.715149164199829,-1.9844167232513428,1.0]}

tool: {"D27": [0.9884184002876282,-1.9986271858215332,-1.8447412252426147,1.0]}

tool: {"D453": [0.9437456130981445,-1.3382861614227295,-1.9602272510528564,1.0]}

tool: {"D110": [0.9671798944473267,-1.9994689226150513,-1.8529558181762695,1.0]}

tool: {"D200": [0.9088916778564453,1.0,-1.9031709432601929,0.0]}

tool: {"D177": [0.9228003621101379,-1.0,0.0,0.0]}

assistant: ```c
void init_ellipse_data(float **a) {
  a[0][0] = 4;
  a[0][1] = 1.5156562;
  a[0][2] = -1.9958239;
  a[0][3] = 1;
  a[0][4] = 0.9965234;
  a[0][5] = -1.9996996;
  a[0][6] = 0.97229244;
  a[0][7] = 1;
  a[0][8] = 0.89313463;
  a[0][9] = 1.8828678;
  a[0][10] = -1.9561138;
  a[0][11] = 1;
  a[0][12] = 0.95845959;
  a[0][13] = -1.9999342;
  a[0][14] = -0.065893592;
  a[0][15] = 1;
  a[0][16] = 0.39565826;
  a[0][17] = 0.26225143;
  a[1][0] = 3;
  a[1][1] = -1.9950633;
  a[1][2] = -1.9910746;
  a[1][3] = 1;
  a[1][4] = 0.99729187;
  a[1][5] = -1.9964182;
  a[1][6] = -1.9742933;
  a[1][7] = 1;
  a[1][8] = 0.98250468;
  a[1][9] = -1.999304;
  a[1][10] = -1.8149534;
  a[1][11] = 1;
  a[1][12] = 0.84353385;
  a[1][13] = 0.90419364;
  a[2][0] = 4;
  a[2][1] = -1.9989934;
  a[2][2] = -1.9946771;
  a[2][3] = 1;
  a[2][4] = 0.99626146;
  a[2][5] = -1.9843098;
  a[2][6] = -1.9807532;
  a[2][7] = 1;
  a[2][8] = 0.99066977;
  a[2][9] = -1.9996779;
  a[2][10] = -1.9795816;
  a[2][11] = 1;
  a[2][12] = 0.9820447;
  a[2][13] = -1.9513627;
  a[2][14] = -1.965153;
  a[2][15] = 1;
  a[2][16] = 0.97142923;
  a[2][17] = 0.013949928;
  a[3][0] = 3;
  a[3][1] = -1.9922858;
  a[3][2] = -1.9903447;
  a[3][3] = 1;
  a[3][4] = 0.99525722;
  a[3][5] = -1.9849712;
  a[3][6] = -1.9765264;
  a[3][7] = 1;
  a[3][8] = 0.97923558;
  a[3][9] = 1;
  a[3][10] = -0.98180316;
  a[3][11] = 0;
  a[3][12] = 0;
  a[3][13] = 0.0014021298;
  a[4][0] = 3;
  a[4][1] = -1.9170388;
  a[4][2] = -1.9264647;
  a[4][3] = 1;
  a[4][4] = 0.99064223;
  a[4][5] = -1.8850187;
  a[4][6] = -1.9092573;
  a[4][7] = 1;
  a[4][8] = 0.95627234;
  a[4][9] = -1.4613313;
  a[4][10] = -1.8821271;
  a[4][11] = 0.99999996;
  a[4][12] = 0.89422169;
  a[4][13] = 0.0071020706;
  a[5][0] = 4;
  a[5][1] = -1.9594111;
  a[5][2] = -1.9900446;
  a[5][3] = 1;
  a[5][4] = 0.9932218;
  a[5][5] = -1.9986938;
  a[5][6] = -1.967975;
  a[5][7] = 1;
  a[5][8] = 0.98456911;
  a[5][9] = -1.8436241;
  a[5][10] = -1.9696535;
  a[5][11] = 1;
  a[5][12] = 0.9745592;
  a[5][13] = -1.9996708;
  a[5][14] = -1.9523041;
  a[5][15] = 1;
  a[5][16] = 0.96284515;
  a[5][17] = 0.0027629927;
  a[6][0] = 3;
  a[6][1] = -1.9950633;
  a[6][2] = -1.9910746;
  a[6][3] = 1;
  a[6][4] = 0.99729187;
  a[6][5] = -1.9964182;
  a[6][6] = -1.9742933;
  a[6][7] = 1;
  a[6][8] = 0.98250468;
  a[6][9] = -1.999304;
  a[6][10] = -1.8149534;
  a[6][11] = 1;
  a[6][12] = 0.84353385;
  a[6][13] = 0.90419364;
  a[7][0] = 4;
  a[7][1] = -1.9924766;
  a[7][2] = -1.9573893;
  a[7][3] = 1;
  a[7][4] = 0.97714717;
  a[7][5] = -1.2471186;
  a[7][6] = -1.6082873;
  a[7][7] = 1;
  a[7][8] = 0.91482231;
  a[7][9] = -1.9983103;
  a[7][10] = -1.8512918;
  a[7][11] = 1;
  a[7][12] = 0.88910013;
  a[7][13] = 0.033335148;
  a[7][14] = -1.6413378;
  a[7][15] = 0.99999998;
  a[7][16] = 0.78964041;
  a[7][17] = 0.0087452226;
  a[8][0] = 1;
  a[8][1] = -1.9896868;
  a[8][2] = -1.3953066;
  a[8][3] = 1;
  a[8][4] = 0.58943112;
  a[8][5] = 0.74811328;
  a[9][0] = 6;
  a[9][1] = -1.9975736;
  a[9][2] = -1.9902167;
  a[9][3] = 1;
  a[9][4] = 0.99529287;
  a[9][5] = -1.7460823;
  a[9][6] = -1.853476;
  a[9][7] = 1;
  a[9][8] = 0.97721553;
  a[9][9] = -1.9984481;
  a[9][10] = -1.9737545;
  a[9][11] = 1;
  a[9][12] = 0.98056598;
  a[9][13] = -1.6166383;
  a[9][14] = -1.8408836;
  a[9][15] = 0.99999999;
  a[9][16] = 0.93097271;
  a[9][17] = -1.9997426;
  a[9][18] = -1.9320458;
  a[9][19] = 1;
  a[9][20] = 0.94629262;
  a[9][21] = -0.44018748;
  a[9][22] = -1.8664352;
  a[9][23] = 0.99999993;
  a[9][24] = 0.90871633;
  a[9][25] = 0.00044746789;
  a[10][0] = 8;
  a[10][1] = -1.7823256;
  a[10][2] = -1.9938863;
  a[10][3] = 1;
  a[10][4] = 0.99712611;
  a[10][5] = -1.9981713;
  a[10][6] = -1.8579881;
  a[10][7] = 1;
  a[10][8] = 0.9825214;
  a[10][9] = -1.7151492;
  a[10][10] = -1.9844167;
  a[10][11] = 1;
  a[10][12] = 0.9884184;
  a[10][13] = -1.9986272;
  a[10][14] = -1.8447412;
  a[10][15] = 1;
  a[10][16] = 0.94374559;
  a[10][17] = -1.3382862;
  a[10][18] = -1.9602273;
  a[10][19] = 1;
  a[10][20] = 0.96717992;
  a[10][21] = -1.9994689;
  a[10][22] = -1.8529558;
  a[10][23] = 1;
  a[10][24] = 0.90889168;
  a[10][25] = 1;
  a[10][26] = -1.903171;
  a[10][27] = 0;
  a[10][28] = 0.92280038;
  a[10][29] = -1;
  a[10][30] = 0;
  a[10][31] = 0;
  a[10][32] = 0;
  a[10][33] = 0.00022546378;
}
```