user: What is the c source code of the assembly code below?

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xf0,%rsp
  mov    %edi,-0xe4(%rbp)
  mov    %rsi,-0xf0(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movq   $0x0,-0x50(%rbp)
  movq   $0x0,-0x48(%rbp)
  movq   $0x0,-0x40(%rbp)
  movq   $0x0,-0x38(%rbp)
  movq   $0x0,-0x30(%rbp)
  movq   $0x0,-0x28(%rbp)
  movq   $0x0,-0x20(%rbp)
  movq   $0x0,-0x18(%rbp)
  movl   $0x989680,-0xe0(%rbp)
  movl   $0x0,-0xdc(%rbp)
  jmp    L63
L15:
  movl   $0x0,-0xd8(%rbp)
  jmp    L54
L74:
  mov    $0x0,%eax
  call   <rand@plt>
  mov    -0xd8(%rbp),%ecx
  mov    -0xdc(%rbp),%edx
  shl    $0x2,%rdx
  add    %rcx,%rdx
  mov    %eax,-0xd0(%rbp,%rdx,4)
  mov    $0x0,%eax
  call   <rand@plt>
  mov    -0xd8(%rbp),%ecx
  mov    -0xdc(%rbp),%edx
  shl    $0x2,%rdx
  add    %rcx,%rdx
  mov    %eax,-0x90(%rbp,%rdx,4)
  addl   $0x1,-0xd8(%rbp)
L54:
  cmpl   $0x3,-0xd8(%rbp)
  jbe    L74
  addl   $0x1,-0xdc(%rbp)
L63:
  cmpl   $0x3,-0xdc(%rbp)
  jbe    L15
  cmpl   $0x1,-0xe4(%rbp)
  jle    L48
  mov    -0xf0(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <atoi@plt>
  mov    %eax,-0xe0(%rbp)
L48:
  movl   $0x0,-0xd4(%rbp)
  jmp    L56
L4:
  mov    -0x50(%rbp),%ecx
  mov    -0xd0(%rbp),%edx
  mov    -0x90(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x50(%rbp)
  mov    -0x50(%rbp),%ecx
  mov    -0xcc(%rbp),%edx
  mov    -0x80(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x50(%rbp)
  mov    -0x50(%rbp),%ecx
  mov    -0xc8(%rbp),%edx
  mov    -0x70(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x50(%rbp)
  mov    -0x50(%rbp),%ecx
  mov    -0xc4(%rbp),%edx
  mov    -0x60(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x50(%rbp)
  mov    -0x4c(%rbp),%ecx
  mov    -0xd0(%rbp),%edx
  mov    -0x8c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x4c(%rbp)
  mov    -0x4c(%rbp),%ecx
  mov    -0xcc(%rbp),%edx
  mov    -0x7c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x4c(%rbp)
  mov    -0x4c(%rbp),%ecx
  mov    -0xc8(%rbp),%edx
  mov    -0x6c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x4c(%rbp)
  mov    -0x4c(%rbp),%ecx
  mov    -0xc4(%rbp),%edx
  mov    -0x5c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x4c(%rbp)
  mov    -0x48(%rbp),%ecx
  mov    -0xd0(%rbp),%edx
  mov    -0x88(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x48(%rbp),%ecx
  mov    -0xcc(%rbp),%edx
  mov    -0x78(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x48(%rbp),%ecx
  mov    -0xc8(%rbp),%edx
  mov    -0x68(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x48(%rbp),%ecx
  mov    -0xc4(%rbp),%edx
  mov    -0x58(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x44(%rbp),%ecx
  mov    -0xd0(%rbp),%edx
  mov    -0x84(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x44(%rbp)
  mov    -0x44(%rbp),%ecx
  mov    -0xcc(%rbp),%edx
  mov    -0x74(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x44(%rbp)
  mov    -0x44(%rbp),%ecx
  mov    -0xc8(%rbp),%edx
  mov    -0x64(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x44(%rbp)
  mov    -0x44(%rbp),%ecx
  mov    -0xc4(%rbp),%edx
  mov    -0x54(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x44(%rbp)
  mov    -0x40(%rbp),%ecx
  mov    -0xc0(%rbp),%edx
  mov    -0x90(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x40(%rbp)
  mov    -0x40(%rbp),%ecx
  mov    -0xbc(%rbp),%edx
  mov    -0x80(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x40(%rbp)
  mov    -0x40(%rbp),%ecx
  mov    -0xb8(%rbp),%edx
  mov    -0x70(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x40(%rbp)
  mov    -0x40(%rbp),%ecx
  mov    -0xb4(%rbp),%edx
  mov    -0x60(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x40(%rbp)
  mov    -0x3c(%rbp),%ecx
  mov    -0xc0(%rbp),%edx
  mov    -0x8c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x3c(%rbp)
  mov    -0x3c(%rbp),%ecx
  mov    -0xbc(%rbp),%edx
  mov    -0x7c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x3c(%rbp)
  mov    -0x3c(%rbp),%ecx
  mov    -0xb8(%rbp),%edx
  mov    -0x6c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x3c(%rbp)
  mov    -0x3c(%rbp),%ecx
  mov    -0xb4(%rbp),%edx
  mov    -0x5c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x3c(%rbp)
  mov    -0x38(%rbp),%ecx
  mov    -0xc0(%rbp),%edx
  mov    -0x88(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x38(%rbp)
  mov    -0x38(%rbp),%ecx
  mov    -0xbc(%rbp),%edx
  mov    -0x78(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x38(%rbp)
  mov    -0x38(%rbp),%ecx
  mov    -0xb8(%rbp),%edx
  mov    -0x68(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x38(%rbp)
  mov    -0x38(%rbp),%ecx
  mov    -0xb4(%rbp),%edx
  mov    -0x58(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x38(%rbp)
  mov    -0x34(%rbp),%ecx
  mov    -0xc0(%rbp),%edx
  mov    -0x84(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x34(%rbp),%ecx
  mov    -0xbc(%rbp),%edx
  mov    -0x74(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x34(%rbp),%ecx
  mov    -0xb8(%rbp),%edx
  mov    -0x64(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x34(%rbp),%ecx
  mov    -0xb4(%rbp),%edx
  mov    -0x54(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x30(%rbp),%ecx
  mov    -0xb0(%rbp),%edx
  mov    -0x90(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x30(%rbp)
  mov    -0x30(%rbp),%ecx
  mov    -0xac(%rbp),%edx
  mov    -0x80(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x30(%rbp)
  mov    -0x30(%rbp),%ecx
  mov    -0xa8(%rbp),%edx
  mov    -0x70(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x30(%rbp)
  mov    -0x30(%rbp),%ecx
  mov    -0xa4(%rbp),%edx
  mov    -0x60(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x30(%rbp)
  mov    -0x2c(%rbp),%ecx
  mov    -0xb0(%rbp),%edx
  mov    -0x8c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x2c(%rbp)
  mov    -0x2c(%rbp),%ecx
  mov    -0xac(%rbp),%edx
  mov    -0x7c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x2c(%rbp)
  mov    -0x2c(%rbp),%ecx
  mov    -0xa8(%rbp),%edx
  mov    -0x6c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x2c(%rbp)
  mov    -0x2c(%rbp),%ecx
  mov    -0xa4(%rbp),%edx
  mov    -0x5c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x2c(%rbp)
  mov    -0x28(%rbp),%ecx
  mov    -0xb0(%rbp),%edx
  mov    -0x88(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x28(%rbp)
  mov    -0x28(%rbp),%ecx
  mov    -0xac(%rbp),%edx
  mov    -0x78(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x28(%rbp)
  mov    -0x28(%rbp),%ecx
  mov    -0xa8(%rbp),%edx
  mov    -0x68(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x28(%rbp)
  mov    -0x28(%rbp),%ecx
  mov    -0xa4(%rbp),%edx
  mov    -0x58(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x28(%rbp)
  mov    -0x24(%rbp),%ecx
  mov    -0xb0(%rbp),%edx
  mov    -0x84(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x24(%rbp)
  mov    -0x24(%rbp),%ecx
  mov    -0xac(%rbp),%edx
  mov    -0x74(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x24(%rbp)
  mov    -0x24(%rbp),%ecx
  mov    -0xa8(%rbp),%edx
  mov    -0x64(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x24(%rbp)
  mov    -0x24(%rbp),%ecx
  mov    -0xa4(%rbp),%edx
  mov    -0x54(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x24(%rbp)
  mov    -0x20(%rbp),%ecx
  mov    -0xa0(%rbp),%edx
  mov    -0x90(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x20(%rbp)
  mov    -0x20(%rbp),%ecx
  mov    -0x9c(%rbp),%edx
  mov    -0x80(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x20(%rbp)
  mov    -0x20(%rbp),%ecx
  mov    -0x98(%rbp),%edx
  mov    -0x70(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x20(%rbp)
  mov    -0x20(%rbp),%ecx
  mov    -0x94(%rbp),%edx
  mov    -0x60(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x20(%rbp)
  mov    -0x1c(%rbp),%ecx
  mov    -0xa0(%rbp),%edx
  mov    -0x8c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x1c(%rbp)
  mov    -0x1c(%rbp),%ecx
  mov    -0x9c(%rbp),%edx
  mov    -0x7c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x1c(%rbp)
  mov    -0x1c(%rbp),%ecx
  mov    -0x98(%rbp),%edx
  mov    -0x6c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x1c(%rbp)
  mov    -0x1c(%rbp),%ecx
  mov    -0x94(%rbp),%edx
  mov    -0x5c(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x1c(%rbp)
  mov    -0x18(%rbp),%ecx
  mov    -0xa0(%rbp),%edx
  mov    -0x88(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x18(%rbp)
  mov    -0x18(%rbp),%ecx
  mov    -0x9c(%rbp),%edx
  mov    -0x78(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x18(%rbp)
  mov    -0x18(%rbp),%ecx
  mov    -0x98(%rbp),%edx
  mov    -0x68(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x18(%rbp)
  mov    -0x18(%rbp),%ecx
  mov    -0x94(%rbp),%edx
  mov    -0x58(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x18(%rbp)
  mov    -0x14(%rbp),%ecx
  mov    -0xa0(%rbp),%edx
  mov    -0x84(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x14(%rbp)
  mov    -0x14(%rbp),%ecx
  mov    -0x9c(%rbp),%edx
  mov    -0x74(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x14(%rbp)
  mov    -0x14(%rbp),%ecx
  mov    -0x98(%rbp),%edx
  mov    -0x64(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x14(%rbp)
  mov    -0x14(%rbp),%ecx
  mov    -0x94(%rbp),%edx
  mov    -0x54(%rbp),%eax
  imul   %edx,%eax
  add    %ecx,%eax
  mov    %eax,-0x14(%rbp)
  addl   $0x1,-0xd4(%rbp)
L56:
  mov    -0xd4(%rbp),%eax
  cmp    %eax,-0xe0(%rbp)
  ja     L4
  lea    -0x50(%rbp),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <print_matriu@plt>
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L23
  call   <__stack_chk_fail@plt>
L23:
  leave
  ret
```

assistant: ```c
int main(int argc, char *argv[]) {
  int A[4][4], B[4][4], C[4][4] = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}};
  unsigned int n_iter = 10000000, i, j;
  for (i = 0; i < 4; i++) {
    for (j = 0; j < 4; j++) {
      A[i][j] = rand();
      B[i][j] = rand();
    }
  }
  if (argc > 1) {
    n_iter = atoi(argv[1]);
  }
  ({
    int iter;
    int i, j, k;
    for (iter = 0; iter < (n_iter); iter++) {
      ({
        ({
          ({
            (C)[(0)][(0)] = (C)[(0)][(0)] + (A)[(0)][0] * (B)[0][(0)];
            (C)[(0)][(0)] = (C)[(0)][(0)] + (A)[(0)][1] * (B)[1][(0)];
            (C)[(0)][(0)] = (C)[(0)][(0)] + (A)[(0)][2] * (B)[2][(0)];
            (C)[(0)][(0)] = (C)[(0)][(0)] + (A)[(0)][3] * (B)[3][(0)];
          });
          ({
            (C)[(0)][(1)] = (C)[(0)][(1)] + (A)[(0)][0] * (B)[0][(1)];
            (C)[(0)][(1)] = (C)[(0)][(1)] + (A)[(0)][1] * (B)[1][(1)];
            (C)[(0)][(1)] = (C)[(0)][(1)] + (A)[(0)][2] * (B)[2][(1)];
            (C)[(0)][(1)] = (C)[(0)][(1)] + (A)[(0)][3] * (B)[3][(1)];
          });
          ({
            (C)[(0)][(2)] = (C)[(0)][(2)] + (A)[(0)][0] * (B)[0][(2)];
            (C)[(0)][(2)] = (C)[(0)][(2)] + (A)[(0)][1] * (B)[1][(2)];
            (C)[(0)][(2)] = (C)[(0)][(2)] + (A)[(0)][2] * (B)[2][(2)];
            (C)[(0)][(2)] = (C)[(0)][(2)] + (A)[(0)][3] * (B)[3][(2)];
          });
          ({
            (C)[(0)][(3)] = (C)[(0)][(3)] + (A)[(0)][0] * (B)[0][(3)];
            (C)[(0)][(3)] = (C)[(0)][(3)] + (A)[(0)][1] * (B)[1][(3)];
            (C)[(0)][(3)] = (C)[(0)][(3)] + (A)[(0)][2] * (B)[2][(3)];
            (C)[(0)][(3)] = (C)[(0)][(3)] + (A)[(0)][3] * (B)[3][(3)];
          });
        });
        ({
          ({
            (C)[(1)][(0)] = (C)[(1)][(0)] + (A)[(1)][0] * (B)[0][(0)];
            (C)[(1)][(0)] = (C)[(1)][(0)] + (A)[(1)][1] * (B)[1][(0)];
            (C)[(1)][(0)] = (C)[(1)][(0)] + (A)[(1)][2] * (B)[2][(0)];
            (C)[(1)][(0)] = (C)[(1)][(0)] + (A)[(1)][3] * (B)[3][(0)];
          });
          ({
            (C)[(1)][(1)] = (C)[(1)][(1)] + (A)[(1)][0] * (B)[0][(1)];
            (C)[(1)][(1)] = (C)[(1)][(1)] + (A)[(1)][1] * (B)[1][(1)];
            (C)[(1)][(1)] = (C)[(1)][(1)] + (A)[(1)][2] * (B)[2][(1)];
            (C)[(1)][(1)] = (C)[(1)][(1)] + (A)[(1)][3] * (B)[3][(1)];
          });
          ({
            (C)[(1)][(2)] = (C)[(1)][(2)] + (A)[(1)][0] * (B)[0][(2)];
            (C)[(1)][(2)] = (C)[(1)][(2)] + (A)[(1)][1] * (B)[1][(2)];
            (C)[(1)][(2)] = (C)[(1)][(2)] + (A)[(1)][2] * (B)[2][(2)];
            (C)[(1)][(2)] = (C)[(1)][(2)] + (A)[(1)][3] * (B)[3][(2)];
          });
          ({
            (C)[(1)][(3)] = (C)[(1)][(3)] + (A)[(1)][0] * (B)[0][(3)];
            (C)[(1)][(3)] = (C)[(1)][(3)] + (A)[(1)][1] * (B)[1][(3)];
            (C)[(1)][(3)] = (C)[(1)][(3)] + (A)[(1)][2] * (B)[2][(3)];
            (C)[(1)][(3)] = (C)[(1)][(3)] + (A)[(1)][3] * (B)[3][(3)];
          });
        });
        ({
          ({
            (C)[(2)][(0)] = (C)[(2)][(0)] + (A)[(2)][0] * (B)[0][(0)];
            (C)[(2)][(0)] = (C)[(2)][(0)] + (A)[(2)][1] * (B)[1][(0)];
            (C)[(2)][(0)] = (C)[(2)][(0)] + (A)[(2)][2] * (B)[2][(0)];
            (C)[(2)][(0)] = (C)[(2)][(0)] + (A)[(2)][3] * (B)[3][(0)];
          });
          ({
            (C)[(2)][(1)] = (C)[(2)][(1)] + (A)[(2)][0] * (B)[0][(1)];
            (C)[(2)][(1)] = (C)[(2)][(1)] + (A)[(2)][1] * (B)[1][(1)];
            (C)[(2)][(1)] = (C)[(2)][(1)] + (A)[(2)][2] * (B)[2][(1)];
            (C)[(2)][(1)] = (C)[(2)][(1)] + (A)[(2)][3] * (B)[3][(1)];
          });
          ({
            (C)[(2)][(2)] = (C)[(2)][(2)] + (A)[(2)][0] * (B)[0][(2)];
            (C)[(2)][(2)] = (C)[(2)][(2)] + (A)[(2)][1] * (B)[1][(2)];
            (C)[(2)][(2)] = (C)[(2)][(2)] + (A)[(2)][2] * (B)[2][(2)];
            (C)[(2)][(2)] = (C)[(2)][(2)] + (A)[(2)][3] * (B)[3][(2)];
          });
          ({
            (C)[(2)][(3)] = (C)[(2)][(3)] + (A)[(2)][0] * (B)[0][(3)];
            (C)[(2)][(3)] = (C)[(2)][(3)] + (A)[(2)][1] * (B)[1][(3)];
            (C)[(2)][(3)] = (C)[(2)][(3)] + (A)[(2)][2] * (B)[2][(3)];
            (C)[(2)][(3)] = (C)[(2)][(3)] + (A)[(2)][3] * (B)[3][(3)];
          });
        });
        ({
          ({
            (C)[(3)][(0)] = (C)[(3)][(0)] + (A)[(3)][0] * (B)[0][(0)];
            (C)[(3)][(0)] = (C)[(3)][(0)] + (A)[(3)][1] * (B)[1][(0)];
            (C)[(3)][(0)] = (C)[(3)][(0)] + (A)[(3)][2] * (B)[2][(0)];
            (C)[(3)][(0)] = (C)[(3)][(0)] + (A)[(3)][3] * (B)[3][(0)];
          });
          ({
            (C)[(3)][(1)] = (C)[(3)][(1)] + (A)[(3)][0] * (B)[0][(1)];
            (C)[(3)][(1)] = (C)[(3)][(1)] + (A)[(3)][1] * (B)[1][(1)];
            (C)[(3)][(1)] = (C)[(3)][(1)] + (A)[(3)][2] * (B)[2][(1)];
            (C)[(3)][(1)] = (C)[(3)][(1)] + (A)[(3)][3] * (B)[3][(1)];
          });
          ({
            (C)[(3)][(2)] = (C)[(3)][(2)] + (A)[(3)][0] * (B)[0][(2)];
            (C)[(3)][(2)] = (C)[(3)][(2)] + (A)[(3)][1] * (B)[1][(2)];
            (C)[(3)][(2)] = (C)[(3)][(2)] + (A)[(3)][2] * (B)[2][(2)];
            (C)[(3)][(2)] = (C)[(3)][(2)] + (A)[(3)][3] * (B)[3][(2)];
          });
          ({
            (C)[(3)][(3)] = (C)[(3)][(3)] + (A)[(3)][0] * (B)[0][(3)];
            (C)[(3)][(3)] = (C)[(3)][(3)] + (A)[(3)][1] * (B)[1][(3)];
            (C)[(3)][(3)] = (C)[(3)][(3)] + (A)[(3)][2] * (B)[2][(3)];
            (C)[(3)][(3)] = (C)[(3)][(3)] + (A)[(3)][3] * (B)[3][(3)];
          });
        });
      });
    }
  });
  print_matriu(C);
  return 0;
}
```