user: Translate the below assembly code into C programming language:

```asm
<ieee_p_2592010699_sub_13958647593941510554_503743352>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x280,%rsp
  mov    %rdi,-0x258(%rbp)
  mov    %rsi,-0x260(%rbp)
  mov    %rdx,-0x268(%rbp)
  mov    %rcx,-0x270(%rbp)
  mov    %r8,-0x278(%rbp)
  mov    %r9,-0x280(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x270(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x1c0(%rbp)
  mov    -0x1c0(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x248(%rbp)
  lea    -0xf0(%rbp),%rax
  mov    %rax,-0x1b8(%rbp)
  mov    -0x1b8(%rbp),%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  movl   $0x1,(%rax)
  mov    -0x1b8(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  mov    -0x248(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x1b8(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  movl   $0x1,(%rax)
  mov    -0x248(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x244(%rbp)
  mov    -0x244(%rbp),%eax
  mov    %eax,-0x240(%rbp)
  addl   $0x1,-0x240(%rbp)
  mov    -0x1b8(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  mov    -0x240(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x280(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x240(%rbp)
  lea    -0xe0(%rbp),%rax
  mov    %rax,-0x1a8(%rbp)
  mov    -0x1a8(%rbp),%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1a0(%rbp),%rax
  movl   $0x1,(%rax)
  mov    -0x1a8(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1a0(%rbp),%rax
  mov    -0x240(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x1a8(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1a0(%rbp),%rax
  movl   $0x1,(%rax)
  mov    -0x240(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x23c(%rbp)
  mov    -0x23c(%rbp),%eax
  mov    %eax,-0x238(%rbp)
  addl   $0x1,-0x238(%rbp)
  mov    -0x1a8(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1a0(%rbp),%rax
  mov    -0x238(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x270(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1a0(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x238(%rbp)
  mov    -0x238(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x234(%rbp)
  mov    -0x234(%rbp),%eax
  mov    %eax,-0x230(%rbp)
  addl   $0x1,-0x230(%rbp)
  mov    -0x270(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x198(%rbp)
  mov    -0x198(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x22c(%rbp)
  lea    -0xd0(%rbp),%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x190(%rbp),%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x188(%rbp),%rax
  movl   $0x1,(%rax)
  mov    -0x190(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x188(%rbp),%rax
  mov    -0x22c(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x190(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x188(%rbp),%rax
  movl   $0x1,(%rax)
  mov    -0x22c(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x24c(%rbp)
  mov    -0x24c(%rbp),%eax
  mov    %eax,-0x228(%rbp)
  addl   $0x1,-0x228(%rbp)
  mov    -0x190(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x188(%rbp),%rax
  mov    -0x228(%rbp),%edx
  mov    %edx,(%rax)
  lea    -0x90(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x258(%rbp),%rax
  add    $0xf38,%rax
  mov    %rax,-0x180(%rbp)
  mov    -0x188(%rbp),%rax
  add    $0x58,%rax
  mov    %rax,-0x178(%rbp)
  mov    -0x178(%rbp),%rax
  mov    -0x180(%rbp),%rdx
  mov    %rdx,(%rax)
  mov    -0x230(%rbp),%eax
  lea    0x8(%rax),%rdx
  mov    $0x10,%eax
  sub    $0x1,%rax
  add    %rdx,%rax
  mov    $0x10,%edi
  mov    $0x0,%edx
  div    %rdi
  imul   $0x10,%rax,%rax
  mov    %rax,%rcx
  and    $0xfffffffffffff000,%rcx
  mov    %rsp,%rdx
  sub    %rcx,%rdx
L44:
  cmp    %rdx,%rsp
  je     L29
  sub    $0x1000,%rsp
  orq    $0x0,0xff8(%rsp)
  jmp    L44
L29:
  mov    %rax,%rdx
  and    $0xfff,%edx
  sub    %rdx,%rsp
  mov    %rax,%rdx
  and    $0xfff,%edx
  test   %rdx,%rdx
  je     L35
  and    $0xfff,%eax
  sub    $0x8,%rax
  add    %rsp,%rax
  orq    $0x0,(%rax)
L35:
  mov    %rsp,%rax
  add    $0xf,%rax
  shr    $0x4,%rax
  shl    $0x4,%rax
  mov    %rax,-0x170(%rbp)
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  mov    %rax,-0x168(%rbp)
  mov    -0x168(%rbp),%rax
  mov    -0x170(%rbp),%rdx
  mov    %rdx,(%rax)
  lea    -0xd0(%rbp),%rdx
  mov    -0x170(%rbp),%rcx
  mov    -0x180(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <xsi_type_set_default_value@plt>
  mov    -0x188(%rbp),%rax
  add    $0x40,%rax
  mov    %rax,-0x160(%rbp)
  mov    -0x160(%rbp),%rax
  lea    -0xd0(%rbp),%rdx
  mov    %rdx,(%rax)
  mov    -0x188(%rbp),%rax
  add    $0x50,%rax
  mov    %rax,-0x158(%rbp)
  mov    -0x158(%rbp),%rax
  mov    -0x230(%rbp),%edx
  mov    %edx,(%rax)
  lea    -0xc0(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x150(%rbp)
  cmpq   $0x0,-0x268(%rbp)
  setne  %al
  mov    %al,-0x24f(%rbp)
  cmpb   $0x1,-0x24f(%rbp)
  je     L18
  nop
L36:
  lea    -0xc0(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x148(%rbp)
  mov    -0x148(%rbp),%rax
  mov    -0x270(%rbp),%rdx
  mov    %rdx,(%rax)
  lea    -0xc0(%rbp),%rax
  add    $0x14,%rax
  mov    %rax,-0x140(%rbp)
  cmpq   $0x0,-0x278(%rbp)
  setne  %al
  mov    %al,-0x24e(%rbp)
  cmpb   $0x1,-0x24e(%rbp)
  je     L122
  nop
L34:
  lea    -0xc0(%rbp),%rax
  add    $0x1c,%rax
  mov    %rax,-0x138(%rbp)
  mov    -0x138(%rbp),%rax
  mov    -0x280(%rbp),%rdx
  mov    %rdx,(%rax)
  mov    -0x270(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x130(%rbp)
  mov    -0x130(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x228(%rbp)
  mov    -0x280(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x128(%rbp)
  mov    -0x128(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x224(%rbp)
  mov    -0x228(%rbp),%eax
  cmp    -0x224(%rbp),%eax
  setne  %al
  mov    %al,-0x24d(%rbp)
  cmpb   $0x0,-0x24d(%rbp)
  jne    L17
  nop
  lea    -0xd0(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x1c0(%rbp)
  mov    -0x1c0(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x244(%rbp)
  lea    -0xd0(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x1b8(%rbp)
  mov    -0x1b8(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x23c(%rbp)
  lea    -0xd0(%rbp),%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x234(%rbp)
  mov    -0x234(%rbp),%eax
  mov    %eax,-0x24c(%rbp)
  mov    -0x23c(%rbp),%eax
  mov    %eax,-0x220(%rbp)
L111:
  mov    -0x220(%rbp),%eax
  imul   -0x244(%rbp),%eax
  mov    %eax,-0x21c(%rbp)
  mov    -0x24c(%rbp),%eax
  imul   -0x244(%rbp),%eax
  mov    %eax,-0x218(%rbp)
  mov    -0x218(%rbp),%eax
  cmp    -0x21c(%rbp),%eax
  jle    L20
  nop
  jmp    L93
L113:
  nop
L93:
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  mov    %rax,-0x1c0(%rbp)
  mov    -0x1c0(%rbp),%rax
  mov    (%rax),%rax
  mov    %rax,-0x1b8(%rbp)
  lea    -0xd0(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x1c0(%rbp)
  mov    -0x1c0(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x248(%rbp)
  mov    -0x248(%rbp),%eax
  mov    %eax,%edi
  mov    $0x0,%eax
  call   <xsi_get_transient_memory@plt>
  cltq
  mov    %rax,-0xf8(%rbp)
  mov    -0x248(%rbp),%edx
  mov    -0x1b8(%rbp),%rcx
  mov    -0xf8(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <memcpy@plt>
  lea    -0xd0(%rbp),%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x244(%rbp)
  lea    -0xd0(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x1a8(%rbp)
  mov    -0x1a8(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x23c(%rbp)
  lea    -0xd0(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1a0(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x234(%rbp)
  mov    -0x260(%rbp),%rax
  mov    %rax,-0x198(%rbp)
  mov    -0x198(%rbp),%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x190(%rbp),%rax
  mov    -0x244(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x198(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x190(%rbp),%rax
  mov    -0x23c(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x198(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x190(%rbp),%rax
  mov    -0x234(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x23c(%rbp),%eax
  sub    -0x244(%rbp),%eax
  mov    %eax,-0x24c(%rbp)
  mov    -0x24c(%rbp),%eax
  imul   -0x234(%rbp),%eax
  mov    %eax,-0x240(%rbp)
  addl   $0x1,-0x240(%rbp)
  mov    -0x198(%rbp),%rax
  add    $0xc,%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x190(%rbp),%rax
  mov    -0x240(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0xf8(%rbp),%rax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L68
  jmp    L102
L18:
  nop
  mov    -0x150(%rbp),%rax
  mov    -0x268(%rbp),%rdx
  mov    %rdx,(%rax)
  jmp    L36
L122:
  nop
  mov    -0x140(%rbp),%rax
  mov    -0x278(%rbp),%rdx
  mov    %rdx,(%rax)
  jmp    L34
L17:
  nop
  nop
  mov    -0x258(%rbp),%rax
  add    $0x1f5e,%rax
  mov    %rax,-0x120(%rbp)
  mov    -0x120(%rbp),%rax
  mov    $0x3,%edx
  mov    $0x40,%esi
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <xsi_report@plt>
  nop
  jmp    L93
L20:
  nop
  mov    -0x258(%rbp),%rax
  add    $0x580,%rax
  mov    %rax,-0x1a8(%rbp)
  mov    -0x1a8(%rbp),%rax
  mov    (%rax),%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x268(%rbp),%rax
  mov    %rax,-0x1a8(%rbp)
  lea    -0xf0(%rbp),%rax
  mov    %rax,-0x198(%rbp)
  mov    -0x198(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x214(%rbp)
  lea    -0xf0(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x190(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x210(%rbp)
  mov    -0x24c(%rbp),%eax
  sub    -0x214(%rbp),%eax
  mov    %eax,-0x20c(%rbp)
  mov    -0x20c(%rbp),%eax
  imul   -0x210(%rbp),%eax
  mov    %eax,-0x248(%rbp)
  lea    -0xf0(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x180(%rbp)
  mov    -0x180(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x208(%rbp)
  mov    -0x24c(%rbp),%ecx
  mov    -0x210(%rbp),%edx
  mov    -0x208(%rbp),%esi
  mov    -0x214(%rbp),%eax
  mov    %eax,%edi
  mov    $0x0,%eax
  call   <xsi_vhdl_check_range_of_index@plt>
  mov    -0x248(%rbp),%eax
  mov    %eax,-0x240(%rbp)
  mov    -0x240(%rbp),%eax
  mov    %eax,-0x238(%rbp)
  mov    -0x238(%rbp),%edx
  mov    -0x1a8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x178(%rbp)
  mov    -0x178(%rbp),%rax
  movzbl (%rax),%eax
  mov    %al,-0x24f(%rbp)
  movzbl -0x24f(%rbp),%eax
  mov    %eax,-0x204(%rbp)
  mov    -0x204(%rbp),%eax
  mov    %eax,-0x230(%rbp)
  mov    -0x230(%rbp),%edx
  mov    %edx,%eax
  shl    $0x3,%eax
  add    %edx,%eax
  mov    %eax,-0x22c(%rbp)
  mov    -0x278(%rbp),%rax
  mov    %rax,-0x168(%rbp)
  lea    -0xe0(%rbp),%rax
  mov    %rax,-0x160(%rbp)
  mov    -0x160(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x200(%rbp)
  lea    -0xe0(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x158(%rbp)
  mov    -0x158(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x1fc(%rbp)
  mov    -0x24c(%rbp),%eax
  sub    -0x200(%rbp),%eax
  mov    %eax,-0x1f8(%rbp)
  mov    -0x1f8(%rbp),%eax
  imul   -0x1fc(%rbp),%eax
  mov    %eax,-0x228(%rbp)
  lea    -0xe0(%rbp),%rax
  add    $0x4,%rax
  mov    %rax,-0x130(%rbp)
  mov    -0x130(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x1f4(%rbp)
  mov    -0x24c(%rbp),%ecx
  mov    -0x1fc(%rbp),%edx
  mov    -0x1f4(%rbp),%esi
  mov    -0x200(%rbp),%eax
  mov    %eax,%edi
  mov    $0x0,%eax
  call   <xsi_vhdl_check_range_of_index@plt>
  mov    -0x228(%rbp),%eax
  mov    %eax,-0x224(%rbp)
  mov    -0x224(%rbp),%eax
  mov    %eax,-0x1f0(%rbp)
  mov    -0x1f0(%rbp),%edx
  mov    -0x168(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x128(%rbp)
  mov    -0x128(%rbp),%rax
  movzbl (%rax),%eax
  mov    %al,-0x24e(%rbp)
  movzbl -0x24e(%rbp),%eax
  mov    %eax,-0x1ec(%rbp)
  mov    -0x1ec(%rbp),%eax
  mov    %eax,-0x1e8(%rbp)
  mov    -0x22c(%rbp),%edx
  mov    -0x1e8(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1e4(%rbp)
  mov    -0x1e4(%rbp),%eax
  mov    %eax,-0x1e0(%rbp)
  mov    -0x1e0(%rbp),%eax
  mov    %eax,-0x1dc(%rbp)
  mov    -0x1dc(%rbp),%edx
  mov    -0x1a0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x120(%rbp)
  mov    -0x120(%rbp),%rax
  movzbl (%rax),%eax
  mov    %al,-0x24d(%rbp)
  mov    -0x188(%rbp),%rax
  add    $0x38,%rax
  mov    %rax,-0x118(%rbp)
  mov    -0x118(%rbp),%rax
  mov    (%rax),%rax
  mov    %rax,-0x110(%rbp)
  lea    -0xd0(%rbp),%rax
  mov    %rax,-0x118(%rbp)
  mov    -0x118(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x1d8(%rbp)
  lea    -0xd0(%rbp),%rax
  add    $0x8,%rax
  mov    %rax,-0x108(%rbp)
  mov    -0x108(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x1d4(%rbp)
  mov    -0x24c(%rbp),%eax
  sub    -0x1d8(%rbp),%eax
  mov    %eax,-0x1d0(%rbp)
  mov    -0x1d0(%rbp),%eax
  imul   -0x1d4(%rbp),%eax
  mov    %eax,-0x1cc(%rbp)
  mov    -0x1cc(%rbp),%eax
  mov    %eax,-0x1c8(%rbp)
  mov    -0x1c8(%rbp),%eax
  mov    %eax,-0x1c4(%rbp)
  mov    -0x1c4(%rbp),%edx
  mov    -0x110(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x100(%rbp)
  mov    -0x100(%rbp),%rax
  movzbl -0x24d(%rbp),%edx
  mov    %dl,(%rax)
  mov    -0x24c(%rbp),%eax
  cmp    -0x220(%rbp),%eax
  je     L113
  nop
  mov    -0x24c(%rbp),%edx
  mov    -0x244(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x23c(%rbp)
  mov    -0x23c(%rbp),%eax
  mov    %eax,-0x24c(%rbp)
  jmp    L111
L102:
  call   <__stack_chk_fail@plt>
L68:
  leave
  ret
```

assistant: ```c
char *ieee_p_2592010699_sub_13958647593941510554_503743352(char *t1, char *t2, char *t3, char *t4, char *t5, char *t6) {
  char t7[128];
  char t8[40];
  char t9[16];
  char t16[16];
  char t23[16];
  char *t0;
  char *t10;
  unsigned int t11;
  char *t12;
  char *t13;
  int t14;
  unsigned int t15;
  char *t17;
  char *t18;
  int t19;
  unsigned int t20;
  int t21;
  unsigned int t22;
  char *t24;
  unsigned int t25;
  char *t26;
  char *t27;
  int t28;
  unsigned int t29;
  char *t30;
  char *t31;
  char *t32;
  char *t33;
  char *t34;
  char *t35;
  char *t36;
  unsigned char t37;
  char *t38;
  char *t39;
  unsigned char t40;
  char *t41;
  char *t42;
  char *t43;
  unsigned int t44;
  unsigned char t45;
  char *t46;
  char *t47;
  int t48;
  int t49;
  int t50;
  int t51;
  int t52;
  int t53;
  int t54;
  int t55;
  int t56;
  int t57;
  int t58;
  int t59;
  unsigned int t60;
  int t61;
  unsigned int t62;
  unsigned int t63;
  unsigned int t64;
  unsigned int t65;
  char *t66;
  int t67;
  char *t68;
  int t69;
  int t70;
  unsigned int t71;
  unsigned int t72;
  unsigned int t73;
  char *t74;
LAB0:
  t10 = (t4 + 12U);
  t11 = *((unsigned int *)t10);
  t12 = (t9 + 0U);
  t13 = (t12 + 0U);
  *((int *)t13) = 1;
  t13 = (t12 + 4U);
  *((unsigned int *)t13) = t11;
  t13 = (t12 + 8U);
  *((int *)t13) = 1;
  t14 = (t11 - 1);
  t15 = (t14 * 1);
  t15 = (t15 + 1);
  t13 = (t12 + 12U);
  *((unsigned int *)t13) = t15;
  t13 = (t6 + 12U);
  t15 = *((unsigned int *)t13);
  t17 = (t16 + 0U);
  t18 = (t17 + 0U);
  *((int *)t18) = 1;
  t18 = (t17 + 4U);
  *((unsigned int *)t18) = t15;
  t18 = (t17 + 8U);
  *((int *)t18) = 1;
  t19 = (t15 - 1);
  t20 = (t19 * 1);
  t20 = (t20 + 1);
  t18 = (t17 + 12U);
  *((unsigned int *)t18) = t20;
  t18 = (t4 + 12U);
  t20 = *((unsigned int *)t18);
  t21 = (t20 - 1);
  t22 = (t21 * 1);
  t22 = (t22 + 1);
  t22 = (t22 * 1U);
  t24 = (t4 + 12U);
  t25 = *((unsigned int *)t24);
  t26 = (t23 + 0U);
  t27 = (t26 + 0U);
  *((int *)t27) = 1;
  t27 = (t26 + 4U);
  *((unsigned int *)t27) = t25;
  t27 = (t26 + 8U);
  *((int *)t27) = 1;
  t28 = (t25 - 1);
  t29 = (t28 * 1);
  t29 = (t29 + 1);
  t27 = (t26 + 12U);
  *((unsigned int *)t27) = t29;
  t27 = (t7 + 4U);
  t30 = (t1 + 3896);
  t31 = (t27 + 88U);
  *((char **)t31) = t30;
  t32 = (char *)alloca(t22);
  t33 = (t27 + 56U);
  *((char **)t33) = t32;
  xsi_type_set_default_value(t30, t32, t23);
  t34 = (t27 + 64U);
  *((char **)t34) = t23;
  t35 = (t27 + 80U);
  *((unsigned int *)t35) = t22;
  t36 = (t8 + 4U);
  t37 = (t3 != 0);
  if (t37 == 1)
    goto LAB3;
LAB2:
  t38 = (t8 + 12U);
  *((char **)t38) = t4;
  t39 = (t8 + 20U);
  t40 = (t5 != 0);
  if (t40 == 1)
    goto LAB5;
LAB4:
  t41 = (t8 + 28U);
  *((char **)t41) = t6;
  t42 = (t4 + 12U);
  t29 = *((unsigned int *)t42);
  t43 = (t6 + 12U);
  t44 = *((unsigned int *)t43);
  t45 = (t29 != t44);
  if (t45 != 0)
    goto LAB6;
LAB8:
  t10 = (t23 + 8U);
  t14 = *((int *)t10);
  t12 = (t23 + 4U);
  t19 = *((int *)t12);
  t13 = (t23 + 0U);
  t21 = *((int *)t13);
  t28 = t21;
  t48 = t19;
LAB11:
  t49 = (t48 * t14);
  t50 = (t28 * t14);
  if (t50 <= t49)
    goto LAB12;
LAB14:
LAB7:
  t10 = (t27 + 56U);
  t12 = *((char **)t10);
  t10 = (t23 + 12U);
  t11 = *((unsigned int *)t10);
  t11 = (t11 * 1U);
  t0 = xsi_get_transient_memory(t11);
  memcpy(t0, t12, t11);
  t13 = (t23 + 0U);
  t14 = *((int *)t13);
  t17 = (t23 + 4U);
  t19 = *((int *)t17);
  t18 = (t23 + 8U);
  t21 = *((int *)t18);
  t24 = (t2 + 0U);
  t26 = (t24 + 0U);
  *((int *)t26) = t14;
  t26 = (t24 + 4U);
  *((int *)t26) = t19;
  t26 = (t24 + 8U);
  *((int *)t26) = t21;
  t28 = (t19 - t14);
  t15 = (t28 * t21);
  t15 = (t15 + 1);
  t26 = (t24 + 12U);
  *((unsigned int *)t26) = t15;
LAB1:
  return t0;
LAB3:
  *((char **)t36) = t3;
  goto LAB2;
LAB5:
  *((char **)t39) = t5;
  goto LAB4;
LAB6:
  if ((unsigned char)0 == 0)
    goto LAB9;
LAB10:
  goto LAB7;
LAB9:
  t46 = (t1 + 8030);
  xsi_report(t46, 64U, (unsigned char)3);
  goto LAB10;
LAB12:
  t17 = (t1 + 1408U);
  t18 = *((char **)t17);
  t17 = (t3 + 0);
  t24 = (t9 + 0U);
  t51 = *((int *)t24);
  t26 = (t9 + 8U);
  t52 = *((int *)t26);
  t53 = (t28 - t51);
  t11 = (t53 * t52);
  t30 = (t9 + 4U);
  t54 = *((int *)t30);
  xsi_vhdl_check_range_of_index(t51, t54, t52, t28);
  t15 = (1U * t11);
  t20 = (0 + t15);
  t31 = (t17 + t20);
  t37 = *((unsigned char *)t31);
  t55 = (t37 - 0);
  t22 = (t55 * 1);
  t25 = (t22 * 9U);
  t33 = (t5 + 0);
  t34 = (t16 + 0U);
  t56 = *((int *)t34);
  t35 = (t16 + 8U);
  t57 = *((int *)t35);
  t58 = (t28 - t56);
  t29 = (t58 * t57);
  t42 = (t16 + 4U);
  t59 = *((int *)t42);
  xsi_vhdl_check_range_of_index(t56, t59, t57, t28);
  t44 = (1U * t29);
  t60 = (0 + t44);
  t43 = (t33 + t60);
  t40 = *((unsigned char *)t43);
  t61 = (t40 - 0);
  t62 = (t61 * 1);
  t63 = (t25 + t62);
  t64 = (1U * t63);
  t65 = (0 + t64);
  t46 = (t18 + t65);
  t45 = *((unsigned char *)t46);
  t47 = (t27 + 56U);
  t66 = *((char **)t47);
  t47 = (t23 + 0U);
  t67 = *((int *)t47);
  t68 = (t23 + 8U);
  t69 = *((int *)t68);
  t70 = (t28 - t67);
  t71 = (t70 * t69);
  t72 = (1U * t71);
  t73 = (0 + t72);
  t74 = (t66 + t73);
  *((unsigned char *)t74) = t45;
LAB13:
  if (t28 == t48)
    goto LAB14;
LAB15:
  t19 = (t28 + t14);
  t28 = t19;
  goto LAB11;
LAB16:;
}
```