user: Please show me the C implementation that matches the assembly code listed below:

```asm
<fk2mtg>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x40,%rsp
  movss  %xmm0,-0x24(%rbp)
  mov    %edi,-0x28(%rbp)
  mov    %rsi,-0x30(%rbp)
  mov    %rdx,-0x38(%rbp)
  pxor   %xmm1,%xmm1
  cvtss2sd -0x24(%rbp),%xmm1
  movsd  D197(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x24(%rbp)
  movss  -0x24(%rbp),%xmm0
  cvttss2si %xmm0,%eax
  mov    %eax,%edi
  call   <sin@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x10(%rbp)
  movss  -0x24(%rbp),%xmm0
  cvttss2si %xmm0,%eax
  mov    %eax,%edi
  call   <cos@plt>
  movd   %xmm0,%eax
  mov    %eax,-0xc(%rbp)
  movss  -0x24(%rbp),%xmm0
  addss  %xmm0,%xmm0
  cvttss2si %xmm0,%eax
  mov    %eax,%edi
  call   <sin@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x8(%rbp)
  movss  -0x24(%rbp),%xmm0
  addss  %xmm0,%xmm0
  cvttss2si %xmm0,%eax
  mov    %eax,%edi
  call   <cos@plt>
  movd   %xmm0,%eax
  mov    %eax,-0x4(%rbp)
  movl   $0x0,-0x14(%rbp)
  jmp    L214
L172:
  mov    -0x30(%rbp),%rax
  add    $0x48,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  cvtss2sd %xmm0,%xmm0
  movsd  D147(%rip),%xmm1
  divsd  %xmm1,%xmm0
  mov    -0x30(%rbp),%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  cvtss2sd %xmm1,%xmm1
  movsd  D169(%rip),%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x30(%rbp),%rax
  add    $0x30,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mulss  -0x4(%rbp),%xmm1
  movss  D55(%rip),%xmm2
  divss  %xmm2,%xmm1
  cvtss2sd %xmm1,%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L214:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L172
  movl   $0x0,-0x14(%rbp)
  jmp    L186
L238:
  mov    -0x30(%rbp),%rax
  add    $0x50,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  cvtss2sd %xmm0,%xmm0
  movsd  D147(%rip),%xmm1
  divsd  %xmm1,%xmm0
  mov    -0x30(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  cvtss2sd %xmm1,%xmm1
  movsd  D169(%rip),%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x30(%rbp),%rax
  add    $0x38,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mulss  -0x4(%rbp),%xmm1
  movss  D55(%rip),%xmm2
  divss  %xmm2,%xmm1
  cvtss2sd %xmm1,%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L186:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L238
  movl   $0x0,-0x14(%rbp)
  jmp    L318
L178:
  mov    -0x30(%rbp),%rax
  add    $0x40,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mulss  -0x8(%rbp),%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  D55(%rip),%xmm1
  divss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L318:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L178
  movl   $0x0,-0x14(%rbp)
  jmp    L162
L330:
  mov    -0x30(%rbp),%rax
  add    $0x30,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0x8(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L162:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L330
  movl   $0x0,-0x14(%rbp)
  jmp    L358
L206:
  mov    -0x30(%rbp),%rax
  add    $0x38,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x20,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0x8(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L358:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L206
  movl   $0x0,-0x14(%rbp)
  jmp    L263
L69:
  mov    -0x30(%rbp),%rax
  add    $0x40,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x28,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0x4(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L263:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L69
  movl   $0x0,-0x14(%rbp)
  jmp    L248
L255:
  mov    -0x30(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x30,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L248:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L255
  movl   $0x0,-0x14(%rbp)
  jmp    L210
L173:
  mov    -0x30(%rbp),%rax
  add    $0x20,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x38,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L210:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L173
  movl   $0x0,-0x14(%rbp)
  jmp    L27
L159:
  mov    -0x30(%rbp),%rax
  add    $0x28,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x40,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0x10(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L27:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L159
  movl   $0x0,-0x14(%rbp)
  jmp    L283
L112:
  mov    -0x30(%rbp),%rax
  add    $0x48,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  cvtss2sd %xmm0,%xmm0
  movsd  D147(%rip),%xmm1
  divsd  %xmm1,%xmm0
  mov    -0x30(%rbp),%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  cvtss2sd %xmm1,%xmm1
  movsd  D169(%rip),%xmm3
  movapd %xmm1,%xmm2
  divsd  %xmm3,%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  mov    -0x30(%rbp),%rax
  add    $0x30,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  -0x4(%rbp),%xmm0
  movss  D55(%rip),%xmm2
  divss  %xmm2,%xmm0
  cvtss2sd %xmm0,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x48,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L283:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L112
  movl   $0x0,-0x14(%rbp)
  jmp    L155
L129:
  mov    -0x30(%rbp),%rax
  add    $0x50,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  cvtss2sd %xmm0,%xmm0
  movsd  D147(%rip),%xmm1
  divsd  %xmm1,%xmm0
  mov    -0x30(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  cvtss2sd %xmm1,%xmm1
  movsd  D169(%rip),%xmm3
  movapd %xmm1,%xmm2
  divsd  %xmm3,%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  mov    -0x30(%rbp),%rax
  add    $0x38,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  -0x4(%rbp),%xmm0
  movss  D55(%rip),%xmm2
  divss  %xmm2,%xmm0
  cvtss2sd %xmm0,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x50,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L155:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L129
  movl   $0x0,-0x14(%rbp)
  jmp    L70
L0:
  mov    -0x38(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x58,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L70:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L0
  movl   $0x0,-0x14(%rbp)
  jmp    L338
L13:
  mov    -0x30(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x60,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0x10(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L338:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L13
  movl   $0x0,-0x14(%rbp)
  jmp    L36
L215:
  mov    -0x30(%rbp),%rax
  add    $0x20,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  D243(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x68,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0x10(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L36:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L215
  movl   $0x0,-0x14(%rbp)
  jmp    L241
L99:
  mov    -0x30(%rbp),%rax
  add    $0x28,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x70,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  mulss  -0xc(%rbp),%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L241:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L99
  movl   $0x0,-0x14(%rbp)
  jmp    L228
L292:
  mov    -0x30(%rbp),%rax
  add    $0x48,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x30(%rbp),%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  add    $0x78,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  D116(%rip),%xmm1
  divss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L228:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L292
  movl   $0x0,-0x14(%rbp)
  jmp    L126
L7:
  mov    -0x30(%rbp),%rax
  add    $0x50,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x30(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm1,%xmm0
  mov    -0x38(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  movss  D116(%rip),%xmm1
  divss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L126:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L7
  movl   $0x0,-0x14(%rbp)
  jmp    L71
L279:
  mov    -0x38(%rbp),%rax
  add    $0x88,%rax
  mov    (%rax),%rdx
  mov    -0x14(%rbp),%eax
  cltq
  shl    $0x2,%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x14(%rbp)
L71:
  mov    -0x14(%rbp),%eax
  cmp    -0x28(%rbp),%eax
  jl     L279
  nop
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D197
type: byte[8]
name: retrieve_data
arguments: data_tag: D147
type: f64
name: retrieve_data
arguments: data_tag: D169
type: f64
name: retrieve_data
arguments: data_tag: D55
type: byte[4]
name: retrieve_data
arguments: data_tag: D243
type: byte[4]
name: retrieve_data
arguments: data_tag: D116
type: byte[4]

tool: {"D197": [0x11,0xdd,0x52,0xa2,0x46,0xdf,0x91,0x3f]}

tool: D147: 3

tool: D169: 6

tool: {"D55": [0x00,0x00,0x00,0x40]}

tool: {"D243": [0x00,0x00,0x00,0x80]}

tool: {"D116": [0x00,0x00,0x40,0x40]}

assistant: ```c
void fk2mtg(float az, int npt, float *fk[12], float *mt[18]) {
  int i;
  float sa, ca, sa2, ca2;
  az = az * 1.745329252e-2;
  sa = sin(az);
  ca = cos(az);
  sa2 = sin(2 * az);
  ca2 = cos(2 * az);
  for (i = 0; i < npt; i++)
    mt[0][i] = fk[9][i] / 3. - fk[0][i] / 6. - fk[6][i] * ca2 / 2;
  for (i = 0; i < npt; i++)
    mt[1][i] = fk[10][i] / 3. - fk[1][i] / 6. - fk[7][i] * ca2 / 2;
  for (i = 0; i < npt; i++)
    mt[2][i] = -fk[8][i] * sa2 / 2;
  for (i = 0; i < npt; i++)
    mt[3][i] = -fk[6][i] * sa2;
  for (i = 0; i < npt; i++)
    mt[4][i] = -fk[7][i] * sa2;
  for (i = 0; i < npt; i++)
    mt[5][i] = fk[8][i] * ca2;
  for (i = 0; i < npt; i++)
    mt[6][i] = -fk[3][i] * ca;
  for (i = 0; i < npt; i++)
    mt[7][i] = -fk[4][i] * ca;
  for (i = 0; i < npt; i++)
    mt[8][i] = -fk[5][i] * sa;
  for (i = 0; i < npt; i++)
    mt[9][i] = fk[9][i] / 3. - fk[0][i] / 6. + fk[6][i] * ca2 / 2;
  for (i = 0; i < npt; i++)
    mt[10][i] = fk[10][i] / 3. - fk[1][i] / 6. + fk[7][i] * ca2 / 2;
  for (i = 0; i < npt; i++)
    mt[11][i] = -mt[2][i];
  for (i = 0; i < npt; i++)
    mt[12][i] = -fk[3][i] * sa;
  for (i = 0; i < npt; i++)
    mt[13][i] = -fk[4][i] * sa;
  for (i = 0; i < npt; i++)
    mt[14][i] = fk[5][i] * ca;
  for (i = 0; i < npt; i++)
    mt[15][i] = (fk[9][i] + fk[0][i]) / 3.;
  for (i = 0; i < npt; i++)
    mt[16][i] = (fk[10][i] + fk[1][i]) / 3.;
  for (i = 0; i < npt; i++)
    mt[17][i] = 0.;
  return;
}
```