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

```asm
<kernel>:
  endbr64
  push   %rbx
  mov    %rdi,%r8
  mov    %rsi,%r11
  lea    0x84(%rsi),%r9
  lea    0x4(%rdi),%rax
  mov    $0xf8,%r10d
  mov    $0x20,%ebx
  jmp    L10
  cs nopw 0x0(%rax,%rax,1)
L25:
  movdqu 0x7c(%rax),%xmm2
  movdqu 0x80(%rax),%xmm0
  movdqu 0x84(%rax),%xmm3
  movdqu (%rax),%xmm4
  paddd  %xmm2,%xmm0
  movdqu -0x4(%rax),%xmm6
  movdqu 0x100(%rax),%xmm5
  paddd  %xmm3,%xmm0
  movdqu 0x4(%rax),%xmm7
  movdqu 0xfc(%rax),%xmm2
  paddd  %xmm4,%xmm0
  movdqu 0x104(%rax),%xmm3
  paddd  %xmm5,%xmm0
  paddd  %xmm6,%xmm0
  paddd  %xmm7,%xmm0
  paddd  %xmm2,%xmm0
  paddd  %xmm3,%xmm0
  cvtdq2ps %xmm0,%xmm0
  cvttps2dq %xmm0,%xmm0
  movups %xmm0,(%r9)
  movdqu 0x10(%rax),%xmm6
  movdqu 0x8c(%rax),%xmm4
  movdqu 0x90(%rax),%xmm0
  movdqu 0x94(%rax),%xmm5
  movdqu 0x110(%rax),%xmm7
  paddd  %xmm4,%xmm0
  movdqu 0xc(%rax),%xmm2
  movdqu 0x14(%rax),%xmm3
  paddd  %xmm5,%xmm0
  movdqu 0x10c(%rax),%xmm4
  movdqu 0x114(%rax),%xmm5
  paddd  %xmm6,%xmm0
  paddd  %xmm7,%xmm0
  paddd  %xmm2,%xmm0
  paddd  %xmm3,%xmm0
  paddd  %xmm4,%xmm0
  paddd  %xmm5,%xmm0
  cvtdq2ps %xmm0,%xmm0
  cvttps2dq %xmm0,%xmm0
  movups %xmm0,0x10(%r9)
  movdqu 0x9c(%rax),%xmm6
  movdqu 0xa0(%rax),%xmm0
  movdqu 0xa4(%rax),%xmm7
  movdqu 0x20(%rax),%xmm2
  movdqu 0x120(%rax),%xmm3
  paddd  %xmm6,%xmm0
  movdqu 0x1c(%rax),%xmm4
  movdqu 0x24(%rax),%xmm5
  paddd  %xmm7,%xmm0
  movdqu 0x11c(%rax),%xmm6
  movdqu 0x124(%rax),%xmm7
  paddd  %xmm2,%xmm0
  paddd  %xmm3,%xmm0
  paddd  %xmm4,%xmm0
  paddd  %xmm5,%xmm0
  paddd  %xmm6,%xmm0
  paddd  %xmm7,%xmm0
  cvtdq2ps %xmm0,%xmm0
  cvttps2dq %xmm0,%xmm0
  movups %xmm0,0x20(%r9)
  movdqu 0xb0(%rax),%xmm2
  movdqu 0xac(%rax),%xmm0
  movdqu 0xb4(%rax),%xmm3
  movdqu 0x30(%rax),%xmm4
  movdqu 0x130(%rax),%xmm5
  paddd  %xmm2,%xmm0
  movdqu 0x2c(%rax),%xmm6
  movdqu 0x34(%rax),%xmm7
  paddd  %xmm3,%xmm0
  movdqu 0x12c(%rax),%xmm2
  movdqu 0x134(%rax),%xmm3
  paddd  %xmm4,%xmm0
  paddd  %xmm5,%xmm0
  paddd  %xmm6,%xmm0
  paddd  %xmm7,%xmm0
  paddd  %xmm2,%xmm0
  paddd  %xmm3,%xmm0
  cvtdq2ps %xmm0,%xmm0
  cvttps2dq %xmm0,%xmm0
  movups %xmm0,0x30(%r9)
  movdqu 0xbc(%rax),%xmm4
  movdqu 0xc0(%rax),%xmm0
  movdqu 0xc4(%rax),%xmm5
  movdqu 0x40(%rax),%xmm6
  movdqu 0x140(%rax),%xmm7
  paddd  %xmm4,%xmm0
  movdqu 0x3c(%rax),%xmm2
  movdqu 0x44(%rax),%xmm3
  paddd  %xmm5,%xmm0
  movdqu 0x13c(%rax),%xmm4
  movdqu 0x144(%rax),%xmm5
  paddd  %xmm6,%xmm0
  paddd  %xmm7,%xmm0
  paddd  %xmm2,%xmm0
  paddd  %xmm3,%xmm0
  paddd  %xmm4,%xmm0
  paddd  %xmm5,%xmm0
  cvtdq2ps %xmm0,%xmm0
  cvttps2dq %xmm0,%xmm0
  movups %xmm0,0x40(%r9)
  movdqu 0xcc(%rax),%xmm6
  movdqu 0xd0(%rax),%xmm0
  movdqu 0xd4(%rax),%xmm7
  movdqu 0x50(%rax),%xmm2
  movdqu 0x150(%rax),%xmm3
  paddd  %xmm6,%xmm0
  movdqu 0x4c(%rax),%xmm4
  movdqu 0x54(%rax),%xmm5
  paddd  %xmm7,%xmm0
  movdqu 0x14c(%rax),%xmm6
  movdqu 0x154(%rax),%xmm7
  paddd  %xmm2,%xmm0
  paddd  %xmm3,%xmm0
  paddd  %xmm4,%xmm0
  paddd  %xmm5,%xmm0
  paddd  %xmm6,%xmm0
  paddd  %xmm7,%xmm0
  cvtdq2ps %xmm0,%xmm0
  cvttps2dq %xmm0,%xmm0
  movups %xmm0,0x50(%r9)
  movdqu 0xdc(%rax),%xmm1
  movdqu 0xe0(%rax),%xmm0
  movdqu 0xe4(%rax),%xmm2
  movdqu 0x60(%rax),%xmm3
  movdqu 0x160(%rax),%xmm4
  paddd  %xmm1,%xmm0
  movdqu 0x5c(%rax),%xmm5
  movdqu 0x64(%rax),%xmm6
  paddd  %xmm2,%xmm0
  movdqu 0x15c(%rax),%xmm7
  movdqu 0x164(%rax),%xmm1
  paddd  %xmm3,%xmm0
  paddd  %xmm4,%xmm0
  paddd  %xmm5,%xmm0
  paddd  %xmm6,%xmm0
  paddd  %xmm7,%xmm0
  paddd  %xmm1,%xmm0
  cvtdq2ps %xmm0,%xmm0
  cvttps2dq %xmm0,%xmm0
  movups %xmm0,0x60(%r9)
  movq   0xec(%rax),%xmm1
  movq   0xf0(%rax),%xmm0
  paddd  %xmm1,%xmm0
  movq   0xf4(%rax),%xmm1
  paddd  %xmm1,%xmm0
  movq   0x70(%rax),%xmm1
  paddd  %xmm1,%xmm0
  movq   0x170(%rax),%xmm1
  paddd  %xmm1,%xmm0
  movq   0x6c(%rax),%xmm1
  paddd  %xmm1,%xmm0
  movq   0x74(%rax),%xmm1
  paddd  %xmm1,%xmm0
  movq   0x16c(%rax),%xmm1
  paddd  %xmm1,%xmm0
  movq   0x174(%rax),%xmm1
  paddd  %xmm1,%xmm0
  cvtdq2ps %xmm0,%xmm0
  cvttps2dq %xmm0,%xmm0
  movq   %xmm0,0x70(%r9)
L40:
  sub    $0xffffffffffffff80,%r9
  sub    $0xffffffffffffff80,%rax
  sub    $0xffffffffffffff80,%r10
  cmp    $0x3e0,%ebx
  je     L44
L10:
  mov    %r9,%rdx
  add    $0x20,%ebx
  sub    %rax,%rdx
  cmp    $0x110,%rdx
  ja     L25
  lea    -0x4(%rax),%rdi
  lea    0xfc(%rax),%rsi
  lea    -0x78(%r10),%rcx
  nopl   (%rax)
L36:
  mov    0x4(%r8,%rcx,1),%edx
  pxor   %xmm0,%xmm0
  add    (%r8,%rcx,1),%edx
  add    $0x4,%rdi
  add    0x8(%r8,%rcx,1),%edx
  add    (%rdi),%edx
  add    $0x4,%rsi
  add    (%rsi),%edx
  add    -0x4(%rdi),%edx
  add    0x4(%rdi),%edx
  add    -0x4(%rsi),%edx
  add    0x4(%rsi),%edx
  cvtsi2ss %edx,%xmm0
  cvttss2si %xmm0,%edx
  mov    %edx,0x4(%r11,%rcx,1)
  add    $0x4,%rcx
  cmp    %rcx,%r10
  jne    L36
  jmp    L40
L44:
  pop    %rbx
  ret
```

assistant: ```c
void kernel(int *g1, int *g2) {
  int x, y;
  for (y = 1; y < 32 - 1; ++y) {
    for (x = 1; x < 32 - 1; ++x) {
      float v = g1[((x) + (y)*32)] + g1[((x - 1) + (y)*32)] + g1[((x + 1) + (y)*32)] + g1[((x) + (y - 1) * 32)] + g1[((x) + (y + 1) * 32)] + g1[((x - 1) + (y - 1) * 32)] + g1[((x + 1) + (y - 1) * 32)] + g1[((x - 1) + (y + 1) * 32)] + g1[((x + 1) + (y + 1) * 32)];
      g2[((x) + (y)*32)] = v;
    }
  }
  return;
}
```