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

```asm
<death_female_raw>:
  endbr64
  push   %r15
  mov    %r8d,%r15d
  push   %r14
  mov    %ecx,%r14d
  push   %r13
  mov    %edx,%r13d
  push   %r12
  mov    %esi,%r12d
  push   %rbp
  mov    %edi,%ebp
  push   %rbx
  movslq %r9d,%rbx
  sub    $0xb8,%rsp
  movsd  %xmm2,0x10(%rsp)
  movsd  %xmm3,0x8(%rsp)
  movsd  %xmm1,0x18(%rsp)
  mov    %fs:0x28,%rax
  mov    %rax,0xa8(%rsp)
  xor    %eax,%eax
  mov    D180(%rip),%rax
  movq   $0x0,0x50(%rsp)
  movq   $0x0,0x58(%rsp)
  mov    %rax,0x60(%rsp)
  mov    D276(%rip),%rax
  movq   $0x0,0x20(%rsp)
  mov    %rax,0x68(%rsp)
  mov    D89(%rip),%rax
  mov    %rax,0x70(%rsp)
  mov    D133(%rip),%rax
  mov    %rax,0x78(%rsp)
  mov    D28(%rip),%rax
  mov    %rax,0x80(%rsp)
  mov    D219(%rip),%rax
  mov    %rax,0x88(%rsp)
  mov    D279(%rip),%rax
  mov    %rax,0x90(%rsp)
  mov    D178(%rip),%rax
  mov    %rax,0x98(%rsp)
  mov    D139(%rip),%rax
  mov    %rax,0x28(%rsp)
  mov    D126(%rip),%rax
  divsd  D87(%rip),%xmm0
  movsd  D15(%rip),%xmm1
  mov    %rax,0x30(%rsp)
  mov    D149(%rip),%rax
  mov    %rax,0x38(%rsp)
  mov    D206(%rip),%rax
  mov    %rax,0x40(%rsp)
  call   <pow@plt>
  pxor   %xmm1,%xmm1
  subsd  D269(%rip),%xmm0
  movslq 0xf8(%rsp),%rax
  mulsd  D144(%rip),%xmm0
  addsd  0x50(%rsp,%rbx,8),%xmm1
  addsd  0x20(%rsp,%rax,8),%xmm1
  movsd  0x18(%rsp),%xmm4
  subsd  D123(%rip),%xmm4
  movsd  0x10(%rsp),%xmm2
  subsd  D277(%rip),%xmm2
  mulsd  D16(%rip),%xmm2
  movsd  0x8(%rsp),%xmm3
  addsd  D25(%rip),%xmm3
  addsd  %xmm1,%xmm0
  movsd  D145(%rip),%xmm1
  mulsd  D243(%rip),%xmm3
  mulsd  %xmm4,%xmm1
  addsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  mulsd  D34(%rip),%xmm0
  addsd  %xmm1,%xmm2
  pxor   %xmm1,%xmm1
  cvtsi2sd %ebp,%xmm1
  mulsd  D260(%rip),%xmm1
  addsd  %xmm2,%xmm3
  addsd  %xmm3,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r13d,%xmm1
  mulsd  D74(%rip),%xmm1
  addsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  mulsd  D114(%rip),%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r15d,%xmm1
  mulsd  D132(%rip),%xmm1
  addsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0xf0(%rsp),%xmm0
  mulsd  D241(%rip),%xmm0
  addsd  %xmm1,%xmm0
  mov    0xa8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L5
  add    $0xb8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L5:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D180
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D276
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D89
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D133
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D28
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D219
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D279
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D178
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D139
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D126
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D87
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D15
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D149
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D206
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D269
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D144
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D123
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D277
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D16
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D25
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D145
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D243
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D34
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D260
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D74
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D114
datatype: byte[8]
name: extract_symbolic_data
arguments: data_tag: D132
datatype: f64
name: extract_symbolic_data
arguments: data_tag: D241
datatype: byte[8]

tool: {"D180": [0xe8,0x31,0x28,0x0d,0xce,0x9c,0xe8,0xbf]}

tool: {"D276": [0x7f,0xe3,0x42,0x7f,0x11,0xcf,0xde,0xbf]}

tool: {"D89": [0x39,0xc1,0x99,0xbc,0x6d,0x47,0xe5,0xbf]}

tool: {"D133": [0x1f,0x7c,0x71,0x0c,0x7f,0x61,0xef,0xbf]}

tool: {"D28": [0x4f,0xca,0x99,0x2e,0xbb,0x87,0xe8,0xbf]}

tool: {"D219": [0x0f,0x1d,0xeb,0x3b,0x1f,0xb6,0xd3,0xbf]}

tool: {"D279": [0x2f,0xda,0xa8,0x3e,0x38,0xbc,0xf1,0xbf]}

tool: {"D178": [0x22,0xb4,0xa4,0xab,0x49,0x22,0xef,0xbf]}

tool: D139: 0.23433109014098005

tool: D126: 0.5870690502658261

tool: {"D87": [0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x40]}

tool: {"D15": [0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x3f]}

tool: D149: 0.796446020307202

tool: D206: 1.0533145224303277

tool: D269: 1.605074524879456

tool: {"D144": [0x9a,0x46,0x21,0x0f,0x2c,0xaf,0xbb,0xbf]}

tool: D123: 3.70583987236023

tool: D277: 129.82359313964844

tool: {"D16": [0xd8,0x7e,0x47,0x76,0x5e,0x52,0x4b,0xbf]}

tool: D25: 0.301369071006775

tool: D145: 0.027317832090910966

tool: D243: 0.03663041847730991

tool: D34: 0.46670789784824235

tool: D260: 0.5484061247122409

tool: D74: 1.0288138959180866

tool: {"D114": [0xaa,0xcd,0x65,0xb2,0xfa,0xa0,0xa9,0xbf]}

tool: D132: 0.6543819525425484

tool: {"D241": [0x74,0x32,0x79,0x04,0x68,0xa0,0xdd,0xbf]}

assistant: ```c
double death_female_raw(int b_AF, int b_ra, int b_renal, int b_treatedhyp, int b_type2, double bmi, int ethrisk, int fh_cvd, double rati, double sbp, int smoke_cat, double town) {
  double a;
  double bmi_1;
  double Iethrisk[10] = {0, 0, -0.7691412217114335100000000, -0.4813884489809012200000000, -0.6649693187337454300000000, -0.9806514018090445300000000, -0.7665687475367323200000000, -0.3079908452168220200000000, -1.1084520766868413000000000, -0.9729355194482460800000000};
  double Ismoke[5] = {0, 0.2343310901409800500000000, 0.5870690502658261200000000, 0.7964460203072020200000000, 1.0533145224303277000000000};
  double dbmi = bmi;
  dbmi = dbmi / 10;
  bmi_1 = pow(dbmi, .5);
  bmi_1 = bmi_1 - 1.605074524879456;
  rati = rati - 3.705839872360230;
  sbp = sbp - 129.823593139648440;
  town = town - -0.301369071006775;
  a = 0;
  a += Iethrisk[ethrisk];
  a += Ismoke[smoke_cat];
  a += bmi_1 * -0.1081416642130314200000000;
  a += rati * 0.0273178320909109660000000;
  a += sbp * -0.0008337937584279265700000;
  a += town * 0.0366304184773099120000000;
  a += b_AF * 0.5484061247122409300000000;
  a += b_ra * 0.4667078978482423500000000;
  a += b_renal * 1.0288138959180866000000000;
  a += b_treatedhyp * -0.0500562994738190240000000;
  a += b_type2 * 0.6543819525425483800000000;
  a += fh_cvd * -0.4629154246984292800000000;
  return a;
}
```