user: 请将以下的汇编代码转换成C语言代码：

```asm
<_constantPropagation>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x58,%rsp
  movq   $0x4,-0xd0(%rbp)
  movq   $0x7,-0xc8(%rbp)
  movq   $0x8,-0xc0(%rbp)
  movq   $0x5,-0xb8(%rbp)
  movq   $0xb,-0xb0(%rbp)
  movq   $0x15,-0xa8(%rbp)
  mov    -0xd0(%rbp),%rdx
  mov    -0xc8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xc0(%rbp),%rdx
  mov    -0xb8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x90(%rbp)
  mov    -0xa0(%rbp),%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x88(%rbp)
  mov    -0x90(%rbp),%rax
  imul   -0x88(%rbp),%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x98(%rbp),%rax
  imul   -0x90(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  sub    -0x80(%rbp),%rax
  mov    %rax,-0x78(%rbp)
  mov    -0x90(%rbp),%rax
  imul   -0x88(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  sub    %rdx,%rax
  mov    %rax,%rcx
  mov    -0x80(%rbp),%rax
  cqto
  idivq  -0x78(%rbp)
  add    %rcx,%rax
  mov    %rax,-0x70(%rbp)
  mov    -0xb0(%rbp),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x98(%rbp),%rax
  add    %rax,%rdx
  mov    -0x90(%rbp),%rax
  add    %rdx,%rax
  sub    -0x88(%rbp),%rax
  mov    %rax,-0x68(%rbp)
  mov    -0x68(%rbp),%rax
  sub    -0x70(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  add    %rdx,%rax
  sub    -0xd0(%rbp),%rax
  sub    -0xc8(%rbp),%rax
  mov    %rax,-0x60(%rbp)
  mov    -0x80(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  add    %rdx,%rax
  sub    -0xa0(%rbp),%rax
  sub    -0x98(%rbp),%rax
  mov    %rax,-0x58(%rbp)
  mov    -0xc8(%rbp),%rax
  sub    -0xd0(%rbp),%rax
  imul   -0xb8(%rbp),%rax
  sub    -0x90(%rbp),%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x78(%rbp),%rax
  imul   -0xc0(%rbp),%rax
  imul   -0xb8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x60(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0xc8(%rbp),%rax
  imul   -0xd0(%rbp),%rax
  imul   -0xc0(%rbp),%rax
  cqto
  idivq  -0xb0(%rbp)
  sub    -0x60(%rbp),%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  add    %rax,%rdx
  mov    -0xc0(%rbp),%rax
  add    %rdx,%rax
  sub    -0x58(%rbp),%rax
  mov    %rax,-0x38(%rbp)
  mov    -0x68(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  add    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  imul   -0xd0(%rbp),%rax
  mov    %rax,%rcx
  mov    %rdx,%rax
  sub    %rcx,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0xd0(%rbp),%rax
  imul   -0xc8(%rbp),%rax
  sub    -0x80(%rbp),%rax
  sub    -0x78(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x28(%rbp),%rax
  sub    -0x40(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x48(%rbp),%rax
  imul   -0xb8(%rbp),%rax
  mov    %rax,%rcx
  mov    %rdx,%rax
  sub    %rcx,%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x60(%rbp),%rax
  sub    -0x20(%rbp),%rax
  sub    -0x28(%rbp),%rax
  sub    -0x68(%rbp),%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x58(%rbp),%rax
  imul   -0x18(%rbp),%rax
  imul   -0x38(%rbp),%rax
  sub    -0x20(%rbp),%rax
  mov    %rax,-0x10(%rbp)
  mov    -0x18(%rbp),%rax
  imul   -0x10(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x20(%rbp),%rax
  sub    %rdx,%rax
  mov    %rax,%rcx
  mov    -0x80(%rbp),%rax
  add    %rcx,%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x8(%rbp),%rax
  leave
  ret
```

assistant: ```c
long _constantPropagation() {
  long EV_a;
  long EV_b;
  long EV_c;
  long EV_d;
  long EV_e;
  long EV_f;
  long EV_g;
  long EV_h;
  long EV_i;
  long EV_j;
  long EV_k;
  long EV_l;
  long EV_m;
  long EV_n;
  long EV_o;
  long EV_p;
  long EV_q;
  long EV_r;
  long EV_s;
  long EV_t;
  long EV_u;
  long EV_v;
  long EV_w;
  long EV_x;
  long EV_y;
  long EV_z;
  EV_a = 4;
  EV_b = 7;
  EV_c = 8;
  EV_d = 5;
  EV_e = 11;
  EV_f = 21;
  EV_g = (EV_a + EV_b);
  EV_h = (EV_c + EV_d);
  EV_i = (EV_e + EV_f);
  EV_j = (EV_g + EV_h);
  EV_k = (EV_i * EV_j);
  EV_l = ((EV_e + (EV_h * EV_i)) - EV_k);
  EV_m = ((EV_h - (EV_i * EV_j)) + (EV_k / EV_l));
  EV_n = (((((EV_e + EV_f) + EV_g) + EV_h) + EV_i) - EV_j);
  EV_o = ((((EV_n - EV_m) + EV_h) - EV_a) - EV_b);
  EV_p = (((EV_k + EV_l) - EV_g) - EV_h);
  EV_q = (((EV_b - EV_a) * EV_d) - EV_i);
  EV_r = (((EV_l * EV_c) * EV_d) + EV_o);
  EV_s = ((((EV_b * EV_a) * EV_c) / EV_e) - EV_o);
  EV_t = (((EV_i + EV_k) + EV_c) - EV_p);
  EV_u = ((EV_n + EV_o) - (EV_f * EV_a));
  EV_v = (((EV_a * EV_b) - EV_k) - EV_l);
  EV_w = ((EV_v - EV_s) - (EV_r * EV_d));
  EV_x = (((EV_o - EV_w) - EV_v) - EV_n);
  EV_y = (((EV_p * EV_x) * EV_t) - EV_w);
  EV_z = ((EV_w - (EV_x * EV_y)) + EV_k);
  return EV_z;
}
```