user: Demonstrate the C code that generates the assembly output below:

```asm
<Init_Qmat_HIVw>:
  endbr64
  mov    D881(%rip),%rax
  movsd  D1201(%rip),%xmm0
  mov    %rdi,%rcx
  lea    0xa0(%rdi),%r9
  movsd  D681(%rip),%xmm3
  movsd  D994(%rip),%xmm2
  lea    0x8(%rdi),%r8
  add    $0xa8,%rcx
  mov    %rax,0x140(%rdi)
  mov    D477(%rip),%rax
  movsd  D1187(%rip),%xmm4
  movsd  D503(%rip),%xmm6
  movsd  %xmm3,0x290(%rdi)
  mov    %rax,0x1e0(%rdi)
  mov    D1129(%rip),%rax
  movsd  %xmm4,0xa0(%rdi)
  mov    %rax,0x1e8(%rdi)
  mov    D754(%rip),%rax
  movsd  %xmm2,0x148(%rdi)
  mov    %rax,0x1f0(%rdi)
  mov    D746(%rip),%rax
  movsd  %xmm0,0x298(%rdi)
  mov    %rax,0x280(%rdi)
  mov    D892(%rip),%rax
  movsd  %xmm0,0x320(%rdi)
  mov    %rax,0x288(%rdi)
  mov    D94(%rip),%rax
  movsd  %xmm0,0x338(%rdi)
  mov    %rax,0x328(%rdi)
  mov    D363(%rip),%rax
  movsd  %xmm0,0x340(%rdi)
  mov    %rax,0x330(%rdi)
  mov    D381(%rip),%rax
  mov    %rax,0x3c0(%rdi)
  mov    D640(%rip),%rax
  mov    %rax,0x3c8(%rdi)
  movsd  %xmm6,0x3d0(%rdi)
  mov    D889(%rip),%rax
  movsd  D515(%rip),%xmm1
  movsd  %xmm3,0x470(%rdi)
  mov    %rax,0x3d8(%rdi)
  mov    D170(%rip),%rax
  movsd  %xmm1,0x480(%rdi)
  mov    %rax,0x3e8(%rdi)
  mov    D955(%rip),%rax
  movsd  %xmm3,0x488(%rdi)
  mov    %rax,0x460(%rdi)
  mov    D129(%rip),%rax
  movsd  %xmm0,0x3e0(%rdi)
  mov    %rax,0x468(%rdi)
  mov    D1035(%rip),%rax
  movsd  %xmm0,0x500(%rdi)
  mov    %rax,0x478(%rdi)
  mov    D965(%rip),%rax
  movsd  %xmm0,0x520(%rdi)
  mov    %rax,0x490(%rdi)
  mov    D471(%rip),%rax
  movsd  %xmm0,0x530(%rdi)
  mov    %rax,0x508(%rdi)
  mov    D361(%rip),%rax
  movsd  %xmm0,0x538(%rdi)
  mov    %rax,0x510(%rdi)
  mov    D1102(%rip),%rax
  movsd  %xmm0,0x5a0(%rdi)
  mov    %rax,0x518(%rdi)
  mov    D684(%rip),%rax
  mov    %rax,0x528(%rdi)
  mov    D177(%rip),%rax
  mov    %rax,0x5a8(%rdi)
  mov    D769(%rip),%rax
  movsd  D1283(%rip),%xmm5
  movsd  %xmm1,0x678(%rdi)
  mov    %rax,0x5b0(%rdi)
  mov    D213(%rip),%rax
  movsd  %xmm0,0x5c0(%rdi)
  mov    %rax,0x5b8(%rdi)
  mov    D48(%rip),%rax
  movsd  %xmm5,0x5c8(%rdi)
  mov    %rax,0x5d0(%rdi)
  mov    D376(%rip),%rax
  movsd  %xmm0,0x5d8(%rdi)
  mov    %rax,0x648(%rdi)
  mov    D1250(%rip),%rax
  movsd  %xmm0,0x5e0(%rdi)
  mov    %rax,0x668(%rdi)
  mov    D180(%rip),%rax
  movsd  %xmm2,0x640(%rdi)
  mov    %rax,0x670(%rdi)
  mov    D809(%rip),%rax
  movsd  %xmm0,0x650(%rdi)
  mov    %rax,0x680(%rdi)
  mov    D534(%rip),%rax
  movsd  %xmm0,0x658(%rdi)
  mov    %rax,0x688(%rdi)
  mov    D548(%rip),%rax
  movsd  %xmm0,0x660(%rdi)
  mov    %rax,0x6e0(%rdi)
  mov    D120(%rip),%rax
  mov    %rax,0x6e8(%rdi)
  mov    D1193(%rip),%rax
  mov    %rax,0x6f0(%rdi)
  mov    D40(%rip),%rax
  movsd  D1196(%rip),%xmm3
  movsd  %xmm1,0x7b8(%rdi)
  mov    %rax,0x6f8(%rdi)
  mov    D251(%rip),%rax
  movsd  %xmm0,0x700(%rdi)
  mov    %rax,0x708(%rdi)
  mov    D953(%rip),%rax
  movsd  %xmm3,0x718(%rdi)
  mov    %rax,0x710(%rdi)
  mov    D240(%rip),%rax
  movsd  %xmm0,0x730(%rdi)
  mov    %rax,0x720(%rdi)
  mov    D898(%rip),%rax
  movsd  %xmm0,0x780(%rdi)
  mov    %rax,0x728(%rdi)
  mov    D637(%rip),%rax
  movsd  %xmm6,0x790(%rdi)
  mov    %rax,0x788(%rdi)
  mov    D869(%rip),%rax
  movsd  %xmm0,0x798(%rdi)
  mov    %rax,0x7c8(%rdi)
  mov    D454(%rip),%rax
  movsd  %xmm0,0x7a0(%rdi)
  mov    %rax,0x7d0(%rdi)
  mov    D191(%rip),%rax
  movsd  %xmm0,0x7a8(%rdi)
  mov    %rax,0x7d8(%rdi)
  mov    D1190(%rip),%rax
  movsd  %xmm0,0x7b0(%rdi)
  mov    %rax,0x820(%rdi)
  movsd  %xmm0,0x7c0(%rdi)
  movsd  %xmm0,0x828(%rdi)
  mov    D1087(%rip),%rax
  movsd  %xmm0,0x830(%rdi)
  mov    %rax,0x840(%rdi)
  mov    D717(%rip),%rax
  movsd  %xmm0,0x838(%rdi)
  mov    %rax,0x868(%rdi)
  mov    D80(%rip),%rax
  movsd  %xmm0,0x848(%rdi)
  mov    %rax,0x870(%rdi)
  mov    D688(%rip),%rax
  movsd  %xmm0,0x850(%rdi)
  mov    %rax,0x8c0(%rdi)
  mov    D1075(%rip),%rax
  movsd  %xmm0,0x858(%rdi)
  mov    %rax,0x8c8(%rdi)
  mov    D657(%rip),%rax
  movsd  %xmm0,0x860(%rdi)
  mov    %rax,0x8d0(%rdi)
  mov    D510(%rip),%rax
  movsd  %xmm0,0x878(%rdi)
  mov    %rax,0x8e8(%rdi)
  mov    D1139(%rip),%rax
  movsd  %xmm0,0x880(%rdi)
  mov    %rax,0x900(%rdi)
  mov    D1272(%rip),%rax
  movsd  %xmm0,0x8d8(%rdi)
  mov    %rax,0x910(%rdi)
  mov    D959(%rip),%rax
  movsd  %xmm0,0x8e0(%rdi)
  movsd  %xmm0,0x8f0(%rdi)
  movsd  %xmm0,0x8f8(%rdi)
  movsd  %xmm0,0x908(%rdi)
  mov    %rax,0x918(%rdi)
  mov    D988(%rip),%rax
  movsd  %xmm0,0x920(%rdi)
  mov    %rax,0x960(%rdi)
  mov    D1258(%rip),%rax
  movsd  %xmm5,0x928(%rdi)
  mov    %rax,0x968(%rdi)
  mov    D566(%rip),%rax
  movsd  %xmm2,0x988(%rdi)
  mov    %rax,0x970(%rdi)
  mov    D807(%rip),%rax
  movsd  %xmm0,0x990(%rdi)
  mov    %rax,0x978(%rdi)
  mov    D90(%rip),%rax
  movsd  %xmm0,0x9b8(%rdi)
  mov    %rax,0x980(%rdi)
  mov    D703(%rip),%rax
  mov    %rax,0x998(%rdi)
  mov    D505(%rip),%rax
  mov    %rax,0x9a0(%rdi)
  mov    D1260(%rip),%rax
  mov    %rax,0x9a8(%rdi)
  mov    D883(%rip),%rax
  mov    %rax,0x9b0(%rdi)
  mov    D1110(%rip),%rax
  mov    %rax,0x9c0(%rdi)
  mov    D806(%rip),%rax
  mov    %rax,0x9c8(%rdi)
  mov    D1007(%rip),%rax
  mov    %rax,0x9d0(%rdi)
  mov    D461(%rip),%rax
  mov    %rax,0xa00(%rdi)
  mov    D745(%rip),%rax
  mov    %rax,0xa08(%rdi)
  mov    D46(%rip),%rax
  movsd  %xmm1,0xa38(%rdi)
  movsd  D1172(%rip),%xmm1
  mov    %rax,0xa10(%rdi)
  mov    D379(%rip),%rax
  movsd  %xmm0,0xa20(%rdi)
  mov    %rax,0xa18(%rdi)
  mov    D652(%rip),%rax
  movsd  %xmm0,0xa50(%rdi)
  mov    %rax,0xa28(%rdi)
  mov    D1259(%rip),%rax
  movsd  %xmm1,0xa68(%rdi)
  mov    %rax,0xa30(%rdi)
  mov    D739(%rip),%rax
  movsd  %xmm0,0xaa0(%rdi)
  mov    %rax,0xa40(%rdi)
  mov    D621(%rip),%rax
  movsd  %xmm0,0xab0(%rdi)
  mov    %rax,0xa48(%rdi)
  mov    D200(%rip),%rax
  movsd  %xmm0,0xab8(%rdi)
  mov    %rax,0xa58(%rdi)
  mov    D1242(%rip),%rax
  mov    %rax,0xa60(%rdi)
  mov    D285(%rip),%rax
  mov    %rax,0xa70(%rdi)
  mov    D609(%rip),%rax
  mov    %rax,0xa78(%rdi)
  mov    D586(%rip),%rax
  mov    %rax,0xaa8(%rdi)
  mov    D7(%rip),%rax
  mov    %rax,0xac0(%rdi)
  mov    D651(%rip),%rax
  movsd  %xmm0,0xad0(%rdi)
  mov    %rax,0xac8(%rdi)
  mov    D163(%rip),%rax
  movsd  %xmm0,0xae0(%rdi)
  mov    %rax,0xad8(%rdi)
  mov    D51(%rip),%rax
  movsd  %xmm0,0xae8(%rdi)
  mov    %rax,0xaf0(%rdi)
  mov    D228(%rip),%rax
  movsd  %xmm0,0xaf8(%rdi)
  mov    %rax,0xb18(%rdi)
  mov    D752(%rip),%rax
  movsd  %xmm0,0xb00(%rdi)
  mov    %rax,0xb50(%rdi)
  mov    D740(%rip),%rax
  movsd  %xmm0,0xb08(%rdi)
  mov    %rax,0xb58(%rdi)
  mov    D295(%rip),%rax
  movsd  %xmm0,0xb10(%rdi)
  mov    %rax,0xb60(%rdi)
  mov    D1103(%rip),%rax
  movsd  %xmm0,0xb20(%rdi)
  mov    %rax,0xb80(%rdi)
  movsd  %xmm0,0xb40(%rdi)
  movsd  %xmm0,0xb48(%rdi)
  movsd  %xmm0,0xb68(%rdi)
  movsd  %xmm0,0xb70(%rdi)
  movsd  %xmm0,0xb78(%rdi)
  movsd  %xmm1,0xb88(%rdi)
  movsd  %xmm0,0xb90(%rdi)
  movsd  %xmm0,0xb98(%rdi)
  mov    D136(%rip),%rax
  movsd  %xmm0,0xbb0(%rdi)
  mov    %rax,0xba0(%rdi)
  mov    D518(%rip),%rax
  movsd  %xmm0,0xbc8(%rdi)
  mov    %rax,0xba8(%rdi)
  mov    D576(%rip),%rax
  movsd  %xmm3,0xbe8(%rdi)
  mov    %rax,0xbb8(%rdi)
  mov    D22(%rip),%rax
  movsd  %xmm4,0xbf0(%rdi)
  mov    %rax,0xbc0(%rdi)
  mov    D1023(%rip),%rax
  movsd  %xmm0,0xc00(%rdi)
  mov    %rax,0xbe0(%rdi)
  mov    D312(%rip),%rax
  movsd  %xmm0,0xc08(%rdi)
  mov    %rax,0xbf8(%rdi)
  mov    D134(%rip),%rax
  mov    %rax,0xc10(%rdi)
  mov    D580(%rip),%rax
  mov    %rax,0xc18(%rdi)
  mov    D726(%rip),%rax
  mov    %rax,0xc20(%rdi)
  mov    D76(%rip),%rax
  mov    %rax,0xc28(%rdi)
  mov    D893(%rip),%rax
  mov    %rax,0xc30(%rdi)
  mov    D1050(%rip),%rax
  mov    %rax,0xc38(%rdi)
  mov    D910(%rip),%rax
  mov    %rax,0xc40(%rdi)
  mov    D84(%rip),%rax
  movsd  %xmm0,0xc50(%rdi)
  mov    %rax,0xc48(%rdi)
  mov    D1095(%rip),%rax
  movsd  %xmm0,0xc60(%rdi)
  mov    %rax,0xc58(%rdi)
  mov    D1020(%rip),%rax
  movsd  %xmm0,0xc68(%rdi)
  mov    %rax,0xc70(%rdi)
  xor    %edi,%edi
  add    $0x1,%edi
  cmp    $0x14,%edi
  je     L13
  nop
L11:
  mov    %r8,%rdx
  mov    %r9,%rax
  cs nopw 0x0(%rax,%rax,1)
L27:
  movsd  (%rax),%xmm0
  add    $0x8,%rax
  add    $0xa0,%rdx
  movsd  %xmm0,-0xa0(%rdx)
  cmp    %rcx,%rax
  jne    L27
  add    $0x1,%edi
  add    $0xa0,%r9
  add    $0x8,%r8
  add    $0xa8,%rcx
  cmp    $0x14,%edi
  jne    L11
L13:
  mov    D388(%rip),%rax
  mov    %rax,(%rsi)
  mov    D1008(%rip),%rax
  mov    %rax,0x8(%rsi)
  mov    D730(%rip),%rax
  mov    %rax,0x10(%rsi)
  mov    D561(%rip),%rax
  mov    %rax,0x18(%rsi)
  mov    D966(%rip),%rax
  mov    %rax,0x20(%rsi)
  mov    D632(%rip),%rax
  mov    %rax,0x28(%rsi)
  mov    D400(%rip),%rax
  mov    %rax,0x30(%rsi)
  mov    D382(%rip),%rax
  mov    %rax,0x38(%rsi)
  mov    D252(%rip),%rax
  mov    %rax,0x40(%rsi)
  mov    D1189(%rip),%rax
  mov    %rax,0x48(%rsi)
  mov    D1169(%rip),%rax
  mov    %rax,0x50(%rsi)
  mov    D782(%rip),%rax
  mov    %rax,0x58(%rsi)
  mov    D514(%rip),%rax
  mov    %rax,0x60(%rsi)
  mov    D986(%rip),%rax
  mov    %rax,0x68(%rsi)
  mov    D502(%rip),%rax
  mov    %rax,0x70(%rsi)
  mov    D299(%rip),%rax
  mov    %rax,0x78(%rsi)
  mov    D1086(%rip),%rax
  mov    %rax,0x80(%rsi)
  mov    D645(%rip),%rax
  mov    %rax,0x88(%rsi)
  mov    D44(%rip),%rax
  mov    %rax,0x90(%rsi)
  mov    D846(%rip),%rax
  mov    %rax,0x98(%rsi)
  mov    $0x1,%eax
  ret
```

tool_calls: name: parse_data
arguments: data_label: D881
data_type: f64
name: parse_data
arguments: data_label: D1201
data_type: f64
name: parse_data
arguments: data_label: D681
data_type: f64
name: parse_data
arguments: data_label: D994
data_type: f64
name: parse_data
arguments: data_label: D477
data_type: f64
name: parse_data
arguments: data_label: D1187
data_type: f64
name: parse_data
arguments: data_label: D503
data_type: f64
name: parse_data
arguments: data_label: D1129
data_type: f64
name: parse_data
arguments: data_label: D754
data_type: f64
name: parse_data
arguments: data_label: D746
data_type: f64
name: parse_data
arguments: data_label: D892
data_type: f64
name: parse_data
arguments: data_label: D94
data_type: f64
name: parse_data
arguments: data_label: D363
data_type: f64
name: parse_data
arguments: data_label: D381
data_type: f64
name: parse_data
arguments: data_label: D640
data_type: f64
name: parse_data
arguments: data_label: D889
data_type: f64
name: parse_data
arguments: data_label: D515
data_type: f64
name: parse_data
arguments: data_label: D170
data_type: f64
name: parse_data
arguments: data_label: D955
data_type: f64
name: parse_data
arguments: data_label: D129
data_type: f64
name: parse_data
arguments: data_label: D1035
data_type: f64
name: parse_data
arguments: data_label: D965
data_type: f64
name: parse_data
arguments: data_label: D471
data_type: f64
name: parse_data
arguments: data_label: D361
data_type: f64
name: parse_data
arguments: data_label: D1102
data_type: f64
name: parse_data
arguments: data_label: D684
data_type: f64
name: parse_data
arguments: data_label: D177
data_type: f64
name: parse_data
arguments: data_label: D769
data_type: f64
name: parse_data
arguments: data_label: D1283
data_type: f64
name: parse_data
arguments: data_label: D213
data_type: f64
name: parse_data
arguments: data_label: D48
data_type: f64
name: parse_data
arguments: data_label: D376
data_type: f64
name: parse_data
arguments: data_label: D1250
data_type: f64
name: parse_data
arguments: data_label: D180
data_type: f64
name: parse_data
arguments: data_label: D809
data_type: f64
name: parse_data
arguments: data_label: D534
data_type: f64
name: parse_data
arguments: data_label: D548
data_type: f64
name: parse_data
arguments: data_label: D120
data_type: f64
name: parse_data
arguments: data_label: D1193
data_type: f64
name: parse_data
arguments: data_label: D40
data_type: f64
name: parse_data
arguments: data_label: D1196
data_type: f64
name: parse_data
arguments: data_label: D251
data_type: f64
name: parse_data
arguments: data_label: D953
data_type: f64
name: parse_data
arguments: data_label: D240
data_type: f64
name: parse_data
arguments: data_label: D898
data_type: f64
name: parse_data
arguments: data_label: D637
data_type: f64
name: parse_data
arguments: data_label: D869
data_type: f64
name: parse_data
arguments: data_label: D454
data_type: f64
name: parse_data
arguments: data_label: D191
data_type: f64
name: parse_data
arguments: data_label: D1190
data_type: f64
name: parse_data
arguments: data_label: D1087
data_type: f64
name: parse_data
arguments: data_label: D717
data_type: f64
name: parse_data
arguments: data_label: D80
data_type: f64
name: parse_data
arguments: data_label: D688
data_type: f64
name: parse_data
arguments: data_label: D1075
data_type: f64
name: parse_data
arguments: data_label: D657
data_type: f64
name: parse_data
arguments: data_label: D510
data_type: f64
name: parse_data
arguments: data_label: D1139
data_type: f64
name: parse_data
arguments: data_label: D1272
data_type: f64
name: parse_data
arguments: data_label: D959
data_type: f64
name: parse_data
arguments: data_label: D988
data_type: f64
name: parse_data
arguments: data_label: D1258
data_type: f64
name: parse_data
arguments: data_label: D566
data_type: f64
name: parse_data
arguments: data_label: D807
data_type: f64
name: parse_data
arguments: data_label: D90
data_type: f64
name: parse_data
arguments: data_label: D703
data_type: f64
name: parse_data
arguments: data_label: D505
data_type: f64
name: parse_data
arguments: data_label: D1260
data_type: f64
name: parse_data
arguments: data_label: D883
data_type: f64
name: parse_data
arguments: data_label: D1110
data_type: f64
name: parse_data
arguments: data_label: D806
data_type: f64
name: parse_data
arguments: data_label: D1007
data_type: f64
name: parse_data
arguments: data_label: D461
data_type: f64
name: parse_data
arguments: data_label: D745
data_type: f64
name: parse_data
arguments: data_label: D46
data_type: f64
name: parse_data
arguments: data_label: D1172
data_type: f64
name: parse_data
arguments: data_label: D379
data_type: f64
name: parse_data
arguments: data_label: D652
data_type: f64
name: parse_data
arguments: data_label: D1259
data_type: f64
name: parse_data
arguments: data_label: D739
data_type: f64
name: parse_data
arguments: data_label: D621
data_type: f64
name: parse_data
arguments: data_label: D200
data_type: f64
name: parse_data
arguments: data_label: D1242
data_type: f64
name: parse_data
arguments: data_label: D285
data_type: f64
name: parse_data
arguments: data_label: D609
data_type: f64
name: parse_data
arguments: data_label: D586
data_type: f64
name: parse_data
arguments: data_label: D7
data_type: f64
name: parse_data
arguments: data_label: D651
data_type: f64
name: parse_data
arguments: data_label: D163
data_type: f64
name: parse_data
arguments: data_label: D51
data_type: f64
name: parse_data
arguments: data_label: D228
data_type: f64
name: parse_data
arguments: data_label: D752
data_type: f64
name: parse_data
arguments: data_label: D740
data_type: f64
name: parse_data
arguments: data_label: D295
data_type: f64
name: parse_data
arguments: data_label: D1103
data_type: f64
name: parse_data
arguments: data_label: D136
data_type: f64
name: parse_data
arguments: data_label: D518
data_type: f64
name: parse_data
arguments: data_label: D576
data_type: f64
name: parse_data
arguments: data_label: D22
data_type: f64
name: parse_data
arguments: data_label: D1023
data_type: f64
name: parse_data
arguments: data_label: D312
data_type: f64
name: parse_data
arguments: data_label: D134
data_type: f64
name: parse_data
arguments: data_label: D580
data_type: f64
name: parse_data
arguments: data_label: D726
data_type: f64
name: parse_data
arguments: data_label: D76
data_type: f64
name: parse_data
arguments: data_label: D893
data_type: f64
name: parse_data
arguments: data_label: D1050
data_type: f64
name: parse_data
arguments: data_label: D910
data_type: f64
name: parse_data
arguments: data_label: D84
data_type: f64
name: parse_data
arguments: data_label: D1095
data_type: f64
name: parse_data
arguments: data_label: D1020
data_type: f64
name: parse_data
arguments: data_label: D388
data_type: f64
name: parse_data
arguments: data_label: D1008
data_type: f64
name: parse_data
arguments: data_label: D730
data_type: f64
name: parse_data
arguments: data_label: D561
data_type: f64
name: parse_data
arguments: data_label: D966
data_type: f64
name: parse_data
arguments: data_label: D632
data_type: f64
name: parse_data
arguments: data_label: D400
data_type: f64
name: parse_data
arguments: data_label: D382
data_type: f64
name: parse_data
arguments: data_label: D252
data_type: f64
name: parse_data
arguments: data_label: D1189
data_type: f64
name: parse_data
arguments: data_label: D1169
data_type: f64
name: parse_data
arguments: data_label: D782
data_type: f64
name: parse_data
arguments: data_label: D514
data_type: f64
name: parse_data
arguments: data_label: D986
data_type: f64
name: parse_data
arguments: data_label: D502
data_type: f64
name: parse_data
arguments: data_label: D299
data_type: f64
name: parse_data
arguments: data_label: D1086
data_type: f64
name: parse_data
arguments: data_label: D645
data_type: f64
name: parse_data
arguments: data_label: D44
data_type: f64
name: parse_data
arguments: data_label: D846
data_type: f64

tool: D881: 0.617509

tool: D1201: 0.005

tool: D681: 0.0604932

tool: D994: 0.16024

tool: D477: 4.43521

tool: D1187: 0.0744808

tool: D503: 0.201526

tool: D1129: 0.0674539

tool: D754: 29.4087

tool: D746: 0.167653

tool: D892: 2.86364

tool: D94: 10.6746

tool: D363: 0.342068

tool: D381: 5.56325

tool: D640: 0.0251632

tool: D889: 12.1233

tool: D515: 0.0489798

tool: D170: 3.20656

tool: D955: 1.8685

tool: D129: 13.4379

tool: D1035: 10.3969

tool: D965: 14.7801

tool: D471: 6.84405

tool: D361: 8.59876

tool: D1102: 2.31779

tool: D684: 18.5465

tool: D177: 1.34069

tool: D769: 0.987028

tool: D1283: 0.0342252

tool: D213: 0.145124

tool: D48: 0.0390512

tool: D376: 0.586757

tool: D1250: 2.89048

tool: D180: 0.129839

tool: D809: 1.76382

tool: D534: 9.10246

tool: D548: 0.592784

tool: D120: 39.8897

tool: D1193: 10.6655

tool: D40: 0.894313

tool: D1196: 0.279425

tool: D251: 13.0705

tool: D953: 23.9626

tool: D240: 0.22406

tool: D898: 0.817481

tool: D637: 3.28652

tool: D869: 17.3064

tool: D454: 11.3839

tool: D191: 4.09564

tool: D1190: 0.597923

tool: D1087: 0.362959

tool: D717: 1.48288

tool: D80: 7.48781

tool: D688: 1.00981

tool: D1075: 0.404723

tool: D657: 0.344848

tool: D510: 3.04502

tool: D1139: 13.9444

tool: D1272: 9.83095

tool: D959: 0.111928

tool: D988: 8.5942

tool: D1258: 8.35024

tool: D566: 14.5699

tool: D807: 0.427881

tool: D90: 1.12195

tool: D703: 6.27966

tool: D505: 0.725157

tool: D1260: 0.740091

tool: D883: 6.14396

tool: D1110: 0.392575

tool: D806: 4.27939

tool: D1007: 14.249

tool: D461: 24.1422

tool: D745: 0.928203

tool: D46: 4.54206

tool: D1172: 0.114512

tool: D379: 0.630395

tool: D652: 0.203091

tool: D1259: 0.458743

tool: D739: 0.95956

tool: D621: 9.36345

tool: D200: 4.04802

tool: D1242: 7.41313

tool: D285: 4.33701

tool: D609: 6.34079

tool: D586: 5.96564

tool: D7: 5.49894

tool: D651: 0.0443298

tool: D163: 2.8258

tool: D51: 1.37031

tool: D228: 1.10156

tool: D752: 5.06475

tool: D740: 2.28154

tool: D295: 8.34835

tool: D1103: 47.4889

tool: D136: 0.579198

tool: D518: 4.12728

tool: D576: 0.933142

tool: D22: 0.490608

tool: D1023: 24.8094

tool: D312: 2.91786

tool: D134: 2.19952

tool: D580: 2.79622

tool: D726: 0.827479

tool: D76: 24.8231

tool: D893: 2.95344

tool: D1050: 0.128065

tool: D910: 14.7683

tool: D84: 2.28

tool: D1095: 0.862637

tool: D1020: 1.35482

tool: D388: 0.0377494

tool: D1008: 0.057321

tool: D730: 0.0891129

tool: D561: 0.0342034

tool: D966: 0.0240105

tool: D632: 0.0437824

tool: D400: 0.0618606

tool: D382: 0.0838496

tool: D252: 0.0156076

tool: D1189: 0.0983641

tool: D1169: 0.0577867

tool: D782: 0.0641682

tool: D514: 0.0158419

tool: D986: 0.0422741

tool: D502: 0.0458601

tool: D299: 0.0550846

tool: D1086: 0.0813774

tool: D645: 0.019597

tool: D44: 0.0205847

tool: D846: 0.0515639

assistant: ```c
int Init_Qmat_HIVw(double *daa, double *pi) {
  int i, j, naa;
  naa = 20;
  daa[1 * 20 + 0] = 0.0744808;
  daa[2 * 20 + 0] = 0.617509;
  daa[2 * 20 + 1] = 0.16024;
  daa[3 * 20 + 0] = 4.43521;
  daa[3 * 20 + 1] = 0.0674539;
  daa[3 * 20 + 2] = 29.4087;
  daa[4 * 20 + 0] = 0.167653;
  daa[4 * 20 + 1] = 2.86364;
  daa[4 * 20 + 2] = 0.0604932;
  daa[4 * 20 + 3] = 0.005;
  daa[5 * 20 + 0] = 0.005;
  daa[5 * 20 + 1] = 10.6746;
  daa[5 * 20 + 2] = 0.342068;
  daa[5 * 20 + 3] = 0.005;
  daa[5 * 20 + 4] = 0.005;
  daa[6 * 20 + 0] = 5.56325;
  daa[6 * 20 + 1] = 0.0251632;
  daa[6 * 20 + 2] = 0.201526;
  daa[6 * 20 + 3] = 12.1233;
  daa[6 * 20 + 4] = 0.005;
  daa[6 * 20 + 5] = 3.20656;
  daa[7 * 20 + 0] = 1.8685;
  daa[7 * 20 + 1] = 13.4379;
  daa[7 * 20 + 2] = 0.0604932;
  daa[7 * 20 + 3] = 10.3969;
  daa[7 * 20 + 4] = 0.0489798;
  daa[7 * 20 + 5] = 0.0604932;
  daa[7 * 20 + 6] = 14.7801;
  daa[8 * 20 + 0] = 0.005;
  daa[8 * 20 + 1] = 6.84405;
  daa[8 * 20 + 2] = 8.59876;
  daa[8 * 20 + 3] = 2.31779;
  daa[8 * 20 + 4] = 0.005;
  daa[8 * 20 + 5] = 18.5465;
  daa[8 * 20 + 6] = 0.005;
  daa[8 * 20 + 7] = 0.005;
  daa[9 * 20 + 0] = 0.005;
  daa[9 * 20 + 1] = 1.34069;
  daa[9 * 20 + 2] = 0.987028;
  daa[9 * 20 + 3] = 0.145124;
  daa[9 * 20 + 4] = 0.005;
  daa[9 * 20 + 5] = 0.0342252;
  daa[9 * 20 + 6] = 0.0390512;
  daa[9 * 20 + 7] = 0.005;
  daa[9 * 20 + 8] = 0.005;
  daa[10 * 20 + 0] = 0.16024;
  daa[10 * 20 + 1] = 0.586757;
  daa[10 * 20 + 2] = 0.005;
  daa[10 * 20 + 3] = 0.005;
  daa[10 * 20 + 4] = 0.005;
  daa[10 * 20 + 5] = 2.89048;
  daa[10 * 20 + 6] = 0.129839;
  daa[10 * 20 + 7] = 0.0489798;
  daa[10 * 20 + 8] = 1.76382;
  daa[10 * 20 + 9] = 9.10246;
  daa[11 * 20 + 0] = 0.592784;
  daa[11 * 20 + 1] = 39.8897;
  daa[11 * 20 + 2] = 10.6655;
  daa[11 * 20 + 3] = 0.894313;
  daa[11 * 20 + 4] = 0.005;
  daa[11 * 20 + 5] = 13.0705;
  daa[11 * 20 + 6] = 23.9626;
  daa[11 * 20 + 7] = 0.279425;
  daa[11 * 20 + 8] = 0.22406;
  daa[11 * 20 + 9] = 0.817481;
  daa[11 * 20 + 10] = 0.005;
  daa[12 * 20 + 0] = 0.005;
  daa[12 * 20 + 1] = 3.28652;
  daa[12 * 20 + 2] = 0.201526;
  daa[12 * 20 + 3] = 0.005;
  daa[12 * 20 + 4] = 0.005;
  daa[12 * 20 + 5] = 0.005;
  daa[12 * 20 + 6] = 0.005;
  daa[12 * 20 + 7] = 0.0489798;
  daa[12 * 20 + 8] = 0.005;
  daa[12 * 20 + 9] = 17.3064;
  daa[12 * 20 + 10] = 11.3839;
  daa[12 * 20 + 11] = 4.09564;
  daa[13 * 20 + 0] = 0.597923;
  daa[13 * 20 + 1] = 0.005;
  daa[13 * 20 + 2] = 0.005;
  daa[13 * 20 + 3] = 0.005;
  daa[13 * 20 + 4] = 0.362959;
  daa[13 * 20 + 5] = 0.005;
  daa[13 * 20 + 6] = 0.005;
  daa[13 * 20 + 7] = 0.005;
  daa[13 * 20 + 8] = 0.005;
  daa[13 * 20 + 9] = 1.48288;
  daa[13 * 20 + 10] = 7.48781;
  daa[13 * 20 + 11] = 0.005;
  daa[13 * 20 + 12] = 0.005;
  daa[14 * 20 + 0] = 1.00981;
  daa[14 * 20 + 1] = 0.404723;
  daa[14 * 20 + 2] = 0.344848;
  daa[14 * 20 + 3] = 0.005;
  daa[14 * 20 + 4] = 0.005;
  daa[14 * 20 + 5] = 3.04502;
  daa[14 * 20 + 6] = 0.005;
  daa[14 * 20 + 7] = 0.005;
  daa[14 * 20 + 8] = 13.9444;
  daa[14 * 20 + 9] = 0.005;
  daa[14 * 20 + 10] = 9.83095;
  daa[14 * 20 + 11] = 0.111928;
  daa[14 * 20 + 12] = 0.005;
  daa[14 * 20 + 13] = 0.0342252;
  daa[15 * 20 + 0] = 8.5942;
  daa[15 * 20 + 1] = 8.35024;
  daa[15 * 20 + 2] = 14.5699;
  daa[15 * 20 + 3] = 0.427881;
  daa[15 * 20 + 4] = 1.12195;
  daa[15 * 20 + 5] = 0.16024;
  daa[15 * 20 + 6] = 0.005;
  daa[15 * 20 + 7] = 6.27966;
  daa[15 * 20 + 8] = 0.725157;
  daa[15 * 20 + 9] = 0.740091;
  daa[15 * 20 + 10] = 6.14396;
  daa[15 * 20 + 11] = 0.005;
  daa[15 * 20 + 12] = 0.392575;
  daa[15 * 20 + 13] = 4.27939;
  daa[15 * 20 + 14] = 14.249;
  daa[16 * 20 + 0] = 24.1422;
  daa[16 * 20 + 1] = 0.928203;
  daa[16 * 20 + 2] = 4.54206;
  daa[16 * 20 + 3] = 0.630395;
  daa[16 * 20 + 4] = 0.005;
  daa[16 * 20 + 5] = 0.203091;
  daa[16 * 20 + 6] = 0.458743;
  daa[16 * 20 + 7] = 0.0489798;
  daa[16 * 20 + 8] = 0.95956;
  daa[16 * 20 + 9] = 9.36345;
  daa[16 * 20 + 10] = 0.005;
  daa[16 * 20 + 11] = 4.04802;
  daa[16 * 20 + 12] = 7.41313;
  daa[16 * 20 + 13] = 0.114512;
  daa[16 * 20 + 14] = 4.33701;
  daa[16 * 20 + 15] = 6.34079;
  daa[17 * 20 + 0] = 0.005;
  daa[17 * 20 + 1] = 5.96564;
  daa[17 * 20 + 2] = 0.005;
  daa[17 * 20 + 3] = 0.005;
  daa[17 * 20 + 4] = 5.49894;
  daa[17 * 20 + 5] = 0.0443298;
  daa[17 * 20 + 6] = 0.005;
  daa[17 * 20 + 7] = 2.8258;
  daa[17 * 20 + 8] = 0.005;
  daa[17 * 20 + 9] = 0.005;
  daa[17 * 20 + 10] = 1.37031;
  daa[17 * 20 + 11] = 0.005;
  daa[17 * 20 + 12] = 0.005;
  daa[17 * 20 + 13] = 0.005;
  daa[17 * 20 + 14] = 0.005;
  daa[17 * 20 + 15] = 1.10156;
  daa[17 * 20 + 16] = 0.005;
  daa[18 * 20 + 0] = 0.005;
  daa[18 * 20 + 1] = 0.005;
  daa[18 * 20 + 2] = 5.06475;
  daa[18 * 20 + 3] = 2.28154;
  daa[18 * 20 + 4] = 8.34835;
  daa[18 * 20 + 5] = 0.005;
  daa[18 * 20 + 6] = 0.005;
  daa[18 * 20 + 7] = 0.005;
  daa[18 * 20 + 8] = 47.4889;
  daa[18 * 20 + 9] = 0.114512;
  daa[18 * 20 + 10] = 0.005;
  daa[18 * 20 + 11] = 0.005;
  daa[18 * 20 + 12] = 0.579198;
  daa[18 * 20 + 13] = 4.12728;
  daa[18 * 20 + 14] = 0.005;
  daa[18 * 20 + 15] = 0.933142;
  daa[18 * 20 + 16] = 0.490608;
  daa[18 * 20 + 17] = 0.005;
  daa[19 * 20 + 0] = 24.8094;
  daa[19 * 20 + 1] = 0.279425;
  daa[19 * 20 + 2] = 0.0744808;
  daa[19 * 20 + 3] = 2.91786;
  daa[19 * 20 + 4] = 0.005;
  daa[19 * 20 + 5] = 0.005;
  daa[19 * 20 + 6] = 2.19952;
  daa[19 * 20 + 7] = 2.79622;
  daa[19 * 20 + 8] = 0.827479;
  daa[19 * 20 + 9] = 24.8231;
  daa[19 * 20 + 10] = 2.95344;
  daa[19 * 20 + 11] = 0.128065;
  daa[19 * 20 + 12] = 14.7683;
  daa[19 * 20 + 13] = 2.28;
  daa[19 * 20 + 14] = 0.005;
  daa[19 * 20 + 15] = 0.862637;
  daa[19 * 20 + 16] = 0.005;
  daa[19 * 20 + 17] = 0.005;
  daa[19 * 20 + 18] = 1.35482;
  for (i = 0; i < naa; i++)
    for (j = 0; j < i; j++)
      daa[j * naa + i] = daa[i * naa + j];
  pi[0] = 0.0377494;
  pi[1] = 0.057321;
  pi[2] = 0.0891129;
  pi[3] = 0.0342034;
  pi[4] = 0.0240105;
  pi[5] = 0.0437824;
  pi[6] = 0.0618606;
  pi[7] = 0.0838496;
  pi[8] = 0.0156076;
  pi[9] = 0.0983641;
  pi[10] = 0.0577867;
  pi[11] = 0.0641682;
  pi[12] = 0.0158419;
  pi[13] = 0.0422741;
  pi[14] = 0.0458601;
  pi[15] = 0.0550846;
  pi[16] = 0.0813774;
  pi[17] = 0.019597;
  pi[18] = 0.0205847;
  pi[19] = 0.0515639;
  return 1;
}
```