user: 请从给定的汇编指令推导出C源代码:

```asm
<init_ellipse_data>:
  endbr64
  movabs $0x3fc2010640800000,%rcx
  push   %rbx
  mov    (%rdi),%rdx
  mov    %rdi,%rax
  movabs $0x3f800000bfff7728,%rsi
  movabs $0x3ff101d03f64a479,%rdi
  movabs $0xbfff5e3c40400000,%r11
  movabs $0x3f800000bffedb88,%r10
  movabs $0xbfff8aa23f7f4e85,%r9
  mov    %rcx,(%rdx)
  movabs $0xbffff6283f7f1c28,%rcx
  movabs $0x3f800000bffcb5a5,%r8
  movabs $0xbfffdf0440800000,%rbx
  mov    %rsi,0x8(%rdx)
  movabs $0x3f8000003f78e828,%rsi
  mov    %rcx,0x10(%rdx)
  movabs $0x3f800000bffa61f0,%rcx
  mov    %rsi,0x18(%rdx)
  movabs $0xbffffdd83f755d9c,%rsi
  mov    %rdi,0x20(%rdx)
  movabs $0x3f800000bd86f338,%rdi
  mov    %rcx,0x28(%rdx)
  movabs $0x3e8645d23eca93b8,%rcx
  mov    %rsi,0x30(%rdx)
  movabs $0x3f800000bfe85065,%rsi
  mov    %rdi,0x38(%rdx)
  movabs $0xbfffe9323f7b856d,%rdi
  mov    %rcx,0x40(%rdx)
  mov    0x8(%rax),%rdx
  movabs $0x3f67793c3f57f1d6,%rcx
  mov    %r11,(%rdx)
  mov    %r10,0x8(%rdx)
  mov    %rdi,0x20(%rdx)
  mov    %rsi,0x28(%rdx)
  mov    %rcx,0x30(%rdx)
  mov    %r9,0x10(%rdx)
  mov    %r8,0x18(%rdx)
  mov    0x10(%rax),%rdx
  mov    %rbx,(%rdx)
  movabs $0x3f800000bfff5194,%rbx
  mov    %rbx,0x8(%rdx)
  movabs $0xbffdfddd3f7f0afe,%rbx
  mov    %rbx,0x10(%rdx)
  movabs $0x3f800000bffd8952,%rbx
  mov    %rbx,0x18(%rdx)
  movabs $0xbffff5723f7d9c89,%rbx
  mov    %rbx,0x20(%rdx)
  movabs $0x3f800000bffd62ee,%rbx
  mov    %rbx,0x28(%rdx)
  movabs $0xbff9c6413f7b6748,%rbx
  mov    %rbx,0x30(%rdx)
  movabs $0x3f800000bffb8a22,%rbx
  mov    %rbx,0x38(%rdx)
  movabs $0x3c648e3d3f78af96,%rbx
  mov    %rbx,0x40(%rdx)
  mov    0x18(%rax),%rdx
  movabs $0xbfff033940400000,%rbx
  mov    %rbx,(%rdx)
  movabs $0x3f800000bffec39d,%rbx
  mov    %rbx,0x8(%rdx)
  movabs $0xbffe13893f7ec92d,%rbx
  mov    %rbx,0x10(%rdx)
  movabs $0x3f800000bffcfed1,%rbx
  mov    %rbx,0x18(%rdx)
  movabs $0x3f8000003f7aaf2f,%rbx
  mov    %rbx,0x20(%rdx)
  mov    $0xbf7b5774,%ebx
  mov    %rbx,0x28(%rdx)
  movabs $0x3ab7c7ab00000000,%rbx
  mov    %rbx,0x30(%rdx)
  mov    0x20(%rax),%rdx
  movabs $0xbff5618740400000,%rbx
  mov    %rbx,(%rdx)
  movabs $0x3f800000bff69665,%rbx
  mov    %rbx,0x8(%rdx)
  movabs $0xbff1484b3f7d9abb,%rbx
  mov    %rbx,0x10(%rdx)
  movabs $0x3f800000bff4628b,%rbx
  mov    %rbx,0x18(%rdx)
  movabs $0xbfbb0ce73f74ce44,%rbx
  mov    %rbx,0x20(%rdx)
  movabs $0x3f7fffffbff0e98a,%rbx
  mov    %rbx,0x28(%rdx)
  movabs $0x3be8b87c3f64ebb6,%rbx
  mov    %rbx,0x30(%rdx)
  mov    0x28(%rax),%rdx
  movabs $0xbffacdfc40800000,%rbx
  mov    %rbx,(%rdx)
  movabs $0x3f800000bffeb9c8,%rbx
  mov    %rbx,0x8(%rdx)
  movabs $0xbfffd5333f7e43c9,%rbx
  mov    %rbx,0x10(%rdx)
  movabs $0x3f800000bffbe69b,%rbx
  mov    %rbx,0x18(%rdx)
  movabs $0xbfebfbe03f7c0cb9,%rbx
  mov    %rbx,0x20(%rdx)
  movabs $0x3f800000bffc1d9b,%rbx
  mov    %rbx,0x28(%rdx)
  movabs $0xbffff5363f797cb6,%rbx
  mov    %rbx,0x30(%rdx)
  movabs $0x3f800000bff9e51a,%rbx
  mov    %rbx,0x38(%rdx)
  movabs $0x3b3513533f767d05,%rbx
  mov    %rbx,0x40(%rdx)
  mov    0x30(%rax),%rdx
  mov    %r11,(%rdx)
  mov    %rdi,0x20(%rdx)
  movabs $0x3f800000bffa8bbc,%rdi
  mov    %rsi,0x28(%rdx)
  movabs $0xbfff097940800000,%rsi
  mov    %rcx,0x30(%rdx)
  movabs $0xbf9fa1953f7a2651,%rcx
  mov    %r10,0x8(%rdx)
  mov    %r9,0x10(%rdx)
  mov    %r8,0x18(%rdx)
  mov    0x38(%rax),%rdx
  mov    %rsi,(%rdx)
  movabs $0x3f800000bfcddc5c,%rsi
  mov    %rdi,0x8(%rdx)
  movabs $0xbfffc8a23f6a31cb,%rdi
  mov    %rcx,0x10(%rdx)
  movabs $0x3f800000bfecf721,%rcx
  mov    %rsi,0x18(%rdx)
  movabs $0x3d088a703f639c11,%rsi
  mov    %rdi,0x20(%rdx)
  movabs $0x3f800000bfd2175b,%rdi
  mov    %rcx,0x28(%rdx)
  movabs $0x3c0f481f3f4a25e0,%rcx
  mov    %rsi,0x30(%rdx)
  movabs $0xbffeae0f3f800000,%rsi
  mov    %rdi,0x38(%rdx)
  sub    $0x1f7df3,%rdi
  mov    %rcx,0x40(%rdx)
  mov    0x40(%rax),%rdx
  movabs $0x3f3f845a3f16e4f5,%rcx
  mov    %rsi,(%rdx)
  movabs $0xbfffb07e40c00000,%rsi
  mov    %rdi,0x8(%rdx)
  add    $0x4c2604,%rdi
  mov    %rcx,0x10(%rdx)
  mov    0x48(%rax),%rdx
  movabs $0xbfdf7fa03f7ecb83,%rcx
  mov    0x50(%rax),%rax
  mov    %rsi,(%rdx)
  movabs $0x3f800000bfed3eb4,%rsi
  mov    %rdi,0x8(%rdx)
  movabs $0xbfffcd263f7a2acc,%rdi
  mov    %rcx,0x10(%rdx)
  movabs $0x3f800000bffca3fd,%rcx
  mov    %rsi,0x18(%rdx)
  movabs $0xbfceee013f7b065f,%rsi
  mov    %rdi,0x20(%rdx)
  movabs $0x3f800000bfeba213,%rdi
  mov    %rcx,0x28(%rdx)
  movabs $0xbffff7913f6e543a,%rcx
  mov    %rsi,0x30(%rdx)
  movabs $0x3f800000bff74d47,%rsi
  mov    %rdi,0x38(%rdx)
  movabs $0xbee160413f72403c,%rdi
  mov    %rcx,0x40(%rdx)
  movabs $0x3f7fffffbfeee759,%rcx
  mov    %rsi,0x48(%rdx)
  movabs $0x39ea9a203f68a1a2,%rsi
  mov    %rdi,0x50(%rdx)
  movabs $0xbfe4233f41000000,%rdi
  mov    %rcx,0x58(%rdx)
  movabs $0x3f800000bfff37ab,%rcx
  mov    %rsi,0x60(%rdx)
  movabs $0xbfffc4143f7f43a8,%rsi
  mov    %rdi,(%rax)
  movabs $0x3f800000bfedd28e,%rdi
  mov    %rcx,0x8(%rax)
  movabs $0xbfdb8a023f7b8686,%rcx
  mov    %rsi,0x10(%rax)
  movabs $0x3f800000bffe015e,%rsi
  mov    %rdi,0x18(%rax)
  movabs $0xbfffd3043f7d08fd,%rdi
  mov    %rcx,0x20(%rax)
  movabs $0x3f800000bfec207b,%rcx
  mov    %rsi,0x28(%rax)
  movabs $0xbfab4cf63f719950,%rsi
  mov    %rdi,0x30(%rax)
  movabs $0x3f800000bffae8ba,%rdi
  mov    %rcx,0x38(%rax)
  movabs $0xbfffee993f77991a,%rcx
  mov    %rsi,0x40(%rax)
  movabs $0x3f800000bfed2da8,%rsi
  mov    %rdi,0x48(%rax)
  movabs $0x3f8000003f68ad20,%rdi
  mov    %rcx,0x50(%rax)
  mov    $0xbff39b1b,%ecx
  mov    %rsi,0x58(%rax)
  movabs $0xbf8000003f6c3ca5,%rsi
  mov    %rdi,0x60(%rax)
  movabs $0x396c6a7900000000,%rdi
  mov    %rcx,0x68(%rax)
  mov    %rsi,0x70(%rax)
  movq   $0x0,0x78(%rax)
  mov    %rdi,0x80(%rax)
  pop    %rbx
  ret
```

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;
}
```