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

```asm
<mat4f_LoadOrtho>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  movss  %xmm0,-0x24(%rbp)
  movss  %xmm1,-0x28(%rbp)
  movss  %xmm2,-0x2c(%rbp)
  movss  %xmm3,-0x30(%rbp)
  movss  %xmm4,-0x34(%rbp)
  movss  %xmm5,-0x38(%rbp)
  mov    %rdi,-0x40(%rbp)
  movss  -0x28(%rbp),%xmm0
  subss  -0x24(%rbp),%xmm0
  movss  %xmm0,-0x18(%rbp)
  movss  -0x30(%rbp),%xmm0
  subss  -0x2c(%rbp),%xmm0
  movss  %xmm0,-0x14(%rbp)
  movss  -0x38(%rbp),%xmm0
  subss  -0x34(%rbp),%xmm0
  movss  %xmm0,-0x10(%rbp)
  movss  -0x28(%rbp),%xmm0
  addss  -0x24(%rbp),%xmm0
  movss  D37(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  -0x28(%rbp),%xmm1
  subss  -0x24(%rbp),%xmm1
  divss  %xmm1,%xmm0
  movss  %xmm0,-0xc(%rbp)
  movss  -0x30(%rbp),%xmm0
  addss  -0x2c(%rbp),%xmm0
  movss  D37(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  -0x30(%rbp),%xmm1
  subss  -0x2c(%rbp),%xmm1
  divss  %xmm1,%xmm0
  movss  %xmm0,-0x8(%rbp)
  movss  -0x38(%rbp),%xmm0
  addss  -0x34(%rbp),%xmm0
  movss  D37(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  -0x38(%rbp),%xmm1
  subss  -0x34(%rbp),%xmm1
  divss  %xmm1,%xmm0
  movss  %xmm0,-0x4(%rbp)
  movss  D34(%rip),%xmm0
  divss  -0x18(%rbp),%xmm0
  mov    -0x40(%rbp),%rax
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x4,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x8,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0xc,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x10,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x14,%rax
  movss  D34(%rip),%xmm0
  divss  -0x14(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x18,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x1c,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x20,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x24,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x28,%rax
  movss  D1(%rip),%xmm0
  divss  -0x10(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x2c,%rax
  pxor   %xmm0,%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x30,%rax
  movss  -0xc(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x34,%rax
  movss  -0x8(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x38,%rax
  movss  -0x4(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x40(%rbp),%rax
  add    $0x3c,%rax
  movss  D58(%rip),%xmm0
  movss  %xmm0,(%rax)
  nop
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: label: D37
data_type: byte[4]
name: disassemble_data
arguments: label: D34
data_type: byte[4]
name: disassemble_data
arguments: label: D1
data_type: byte[4]
name: disassemble_data
arguments: label: D58
data_type: byte[4]

tool: {"D37": [0x00,0x00,0x00,0x80]}

tool: {"D34": [0x00,0x00,0x00,0x40]}

tool: {"D1": [0x00,0x00,0x00,0xc0]}

tool: {"D58": [0x00,0x00,0x80,0x3f]}

assistant: ```c
void mat4f_LoadOrtho(float left, float right, float bottom, float top, float near, float far, float *mout) {
  float r_l = right - left;
  float t_b = top - bottom;
  float f_n = far - near;
  float tx = -(right + left) / (right - left);
  float ty = -(top + bottom) / (top - bottom);
  float tz = -(far + near) / (far - near);
  mout[0] = 2.0f / r_l;
  mout[1] = 0.0f;
  mout[2] = 0.0f;
  mout[3] = 0.0f;
  mout[4] = 0.0f;
  mout[5] = 2.0f / t_b;
  mout[6] = 0.0f;
  mout[7] = 0.0f;
  mout[8] = 0.0f;
  mout[9] = 0.0f;
  mout[10] = -2.0f / f_n;
  mout[11] = 0.0f;
  mout[12] = tx;
  mout[13] = ty;
  mout[14] = tz;
  mout[15] = 1.0f;
}
```