user: Converte this assembly snippet into its equivalent C code:

```asm
<death_female_raw>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xb8,%rsp
  mov    %edi,%r15d
  mov    %esi,%r14d
  mov    %edx,%r13d
  mov    %ecx,%r12d
  mov    %r8d,%ebp
  mov    %r9d,%ebx
  movsd  %xmm1,0x8(%rsp)
  movsd  %xmm2,0x10(%rsp)
  movsd  %xmm3,0x18(%rsp)
  mov    %fs:0x28,%rax
  mov    %rax,0xa8(%rsp)
  xor    %eax,%eax
  movq   $0x0,0x50(%rsp)
  movq   $0x0,0x58(%rsp)
  mov    D143(%rip),%rax
  mov    %rax,0x60(%rsp)
  mov    D224(%rip),%rax
  mov    %rax,0x68(%rsp)
  mov    D48(%rip),%rax
  mov    %rax,0x70(%rsp)
  mov    D252(%rip),%rax
  mov    %rax,0x78(%rsp)
  mov    D229(%rip),%rax
  mov    %rax,0x80(%rsp)
  mov    D210(%rip),%rax
  mov    %rax,0x88(%rsp)
  mov    D150(%rip),%rax
  mov    %rax,0x90(%rsp)
  mov    D173(%rip),%rax
  mov    %rax,0x98(%rsp)
  movq   $0x0,0x20(%rsp)
  mov    D180(%rip),%rax
  mov    %rax,0x28(%rsp)
  mov    D240(%rip),%rax
  mov    %rax,0x30(%rsp)
  mov    D279(%rip),%rax
  mov    %rax,0x38(%rsp)
  mov    D86(%rip),%rax
  mov    %rax,0x40(%rsp)
  divsd  D261(%rip),%xmm0
  movsd  D54(%rip),%xmm1
  call   <pow@plt>
  movapd %xmm0,%xmm1
  movslq %ebx,%rbx
  pxor   %xmm0,%xmm0
  addsd  0x50(%rsp,%rbx,8),%xmm0
  movslq 0xf8(%rsp),%rax
  addsd  0x20(%rsp,%rax,8),%xmm0
  subsd  D43(%rip),%xmm1
  mulsd  D30(%rip),%xmm1
  addsd  %xmm0,%xmm1
  movsd  0x8(%rsp),%xmm0
  subsd  D128(%rip),%xmm0
  mulsd  D76(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  0x10(%rsp),%xmm1
  subsd  D78(%rip),%xmm1
  mulsd  D64(%rip),%xmm1
  addsd  %xmm0,%xmm1
  movsd  0x18(%rsp),%xmm0
  addsd  D182(%rip),%xmm0
  mulsd  D85(%rip),%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r15d,%xmm1
  mulsd  D104(%rip),%xmm1
  addsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14d,%xmm0
  mulsd  D223(%rip),%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r13d,%xmm1
  mulsd  D87(%rip),%xmm1
  addsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2sd %r12d,%xmm0
  mulsd  D118(%rip),%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ebp,%xmm1
  mulsd  D2(%rip),%xmm1
  addsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtsi2sdl 0xf0(%rsp),%xmm0
  mulsd  D119(%rip),%xmm0
  addsd  %xmm1,%xmm0
  mov    0xa8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L8
  add    $0xb8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L8:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D143
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D224
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D48
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D252
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D229
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D210
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D150
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D173
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D180
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D240
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D279
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D86
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D261
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D54
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D43
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D30
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D128
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D76
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D78
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D64
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D182
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D85
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D104
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D223
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D87
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D118
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_tag: D2
type_guessed: f64
name: extract_symbolic_data
arguments: data_tag: D119
type_guessed: byte[8]

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

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

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

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

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

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

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

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

tool: D180: 0.23433109014098005

tool: D240: 0.5870690502658261

tool: D279: 0.796446020307202

tool: D86: 1.0533145224303277

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

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

tool: D43: 1.605074524879456

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

tool: D128: 3.70583987236023

tool: D76: 0.027317832090910966

tool: D78: 129.82359313964844

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

tool: D182: 0.301369071006775

tool: D85: 0.03663041847730991

tool: D104: 0.5484061247122409

tool: D223: 0.46670789784824235

tool: D87: 1.0288138959180866

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

tool: D2: 0.6543819525425484

tool: {"D119": [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;
}
```