user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<internal_fiat_p224_add>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x240,%rsp
  mov    %rdi,-0x228(%rbp)
  mov    %rsi,-0x230(%rbp)
  mov    %rdx,-0x238(%rbp)
  mov    -0x230(%rbp),%rax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x220(%rbp)
  mov    -0x230(%rbp),%rax
  add    $0x4,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x218(%rbp)
  mov    -0x230(%rbp),%rax
  add    $0x8,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x210(%rbp)
  mov    -0x230(%rbp),%rax
  add    $0xc,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x208(%rbp)
  mov    -0x230(%rbp),%rax
  add    $0x10,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x200(%rbp)
  mov    -0x230(%rbp),%rax
  add    $0x14,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1f8(%rbp)
  mov    -0x230(%rbp),%rax
  add    $0x18,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1f0(%rbp)
  mov    -0x238(%rbp),%rax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1e8(%rbp)
  mov    -0x238(%rbp),%rax
  add    $0x4,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1e0(%rbp)
  mov    -0x238(%rbp),%rax
  add    $0x8,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1d8(%rbp)
  mov    -0x238(%rbp),%rax
  add    $0xc,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1d0(%rbp)
  mov    -0x238(%rbp),%rax
  add    $0x10,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1c8(%rbp)
  mov    -0x238(%rbp),%rax
  add    $0x14,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1c0(%rbp)
  mov    -0x238(%rbp),%rax
  add    $0x18,%eax
  mov    $0x8,%esi
  mov    %eax,%edi
  call   <_br2_load@plt>
  mov    %rax,-0x1b8(%rbp)
  mov    -0x220(%rbp),%rdx
  mov    -0x1e8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x1b0(%rbp)
  mov    -0x1b0(%rbp),%rax
  cmp    -0x220(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x218(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x1a8(%rbp)
  mov    -0x1a8(%rbp),%rdx
  mov    -0x1e0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x1a0(%rbp)
  mov    -0x1a8(%rbp),%rax
  cmp    -0x218(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x1a0(%rbp),%rax
  cmp    -0x1e0(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  movslq %eax,%rdx
  mov    -0x210(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x198(%rbp)
  mov    -0x198(%rbp),%rdx
  mov    -0x1d8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x190(%rbp)
  mov    -0x198(%rbp),%rax
  cmp    -0x210(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x190(%rbp),%rax
  cmp    -0x1d8(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  movslq %eax,%rdx
  mov    -0x208(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x188(%rbp)
  mov    -0x188(%rbp),%rdx
  mov    -0x1d0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x180(%rbp)
  mov    -0x188(%rbp),%rax
  cmp    -0x208(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x180(%rbp),%rax
  cmp    -0x1d0(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  movslq %eax,%rdx
  mov    -0x200(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x178(%rbp)
  mov    -0x178(%rbp),%rdx
  mov    -0x1c8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x170(%rbp)
  mov    -0x178(%rbp),%rax
  cmp    -0x200(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x170(%rbp),%rax
  cmp    -0x1c8(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  movslq %eax,%rdx
  mov    -0x1f8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x168(%rbp)
  mov    -0x168(%rbp),%rdx
  mov    -0x1c0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x160(%rbp)
  mov    -0x168(%rbp),%rax
  cmp    -0x1f8(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x160(%rbp),%rax
  cmp    -0x1c0(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  movslq %eax,%rdx
  mov    -0x1f0(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x158(%rbp)
  mov    -0x158(%rbp),%rdx
  mov    -0x1b8(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x150(%rbp)
  mov    -0x158(%rbp),%rax
  cmp    -0x1f0(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x150(%rbp),%rax
  cmp    -0x1b8(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  cltq
  mov    %rax,-0x148(%rbp)
  mov    -0x1b0(%rbp),%rax
  sub    $0x1,%rax
  mov    %rax,-0x140(%rbp)
  mov    -0x1b0(%rbp),%rax
  cmp    -0x140(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x1a0(%rbp),%rax
  sub    %rdx,%rax
  mov    %rax,-0x138(%rbp)
  mov    -0x1a0(%rbp),%rax
  cmp    -0x138(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x190(%rbp),%rax
  sub    %rdx,%rax
  mov    %rax,-0x130(%rbp)
  movabs $0xffffffff00000001,%rdx
  mov    -0x180(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x128(%rbp)
  mov    -0x190(%rbp),%rax
  cmp    -0x130(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x128(%rbp),%rax
  sub    %rdx,%rax
  mov    %rax,-0x120(%rbp)
  movabs $0xffffffff00000001,%rdx
  mov    -0x170(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x118(%rbp)
  mov    -0x180(%rbp),%rax
  cmp    -0x128(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x128(%rbp),%rax
  cmp    -0x120(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  movslq %eax,%rdx
  mov    -0x118(%rbp),%rax
  sub    %rdx,%rax
  mov    %rax,-0x110(%rbp)
  movabs $0xffffffff00000001,%rdx
  mov    -0x160(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x108(%rbp)
  mov    -0x170(%rbp),%rax
  cmp    -0x118(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x118(%rbp),%rax
  cmp    -0x110(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  movslq %eax,%rdx
  mov    -0x108(%rbp),%rax
  sub    %rdx,%rax
  mov    %rax,-0x100(%rbp)
  movabs $0xffffffff00000001,%rdx
  mov    -0x150(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0xf8(%rbp)
  mov    -0x160(%rbp),%rax
  cmp    -0x108(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0x108(%rbp),%rax
  cmp    -0x100(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  movslq %eax,%rdx
  mov    -0xf8(%rbp),%rax
  sub    %rdx,%rax
  mov    %rax,-0xf0(%rbp)
  mov    -0x150(%rbp),%rax
  cmp    -0xf8(%rbp),%rax
  setb   %al
  movzbl %al,%edx
  mov    -0xf8(%rbp),%rax
  cmp    -0xf0(%rbp),%rax
  setb   %al
  movzbl %al,%eax
  add    %edx,%eax
  cltq
  cmp    %rax,-0x148(%rbp)
  setb   %al
  movzbl %al,%eax
  mov    %rax,-0xe8(%rbp)
  cmpq   $0x0,-0xe8(%rbp)
  jne    L91
  mov    $0x0,%eax
  jmp    L5
L91:
  mov    $0xffffffffffffffff,%rax
L5:
  mov    %rax,-0xe0(%rbp)
  mov    $0xffffffff,%eax
  xor    -0xe0(%rbp),%rax
  mov    %rax,-0xd8(%rbp)
  mov    -0x1b0(%rbp),%rax
  and    -0xe0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x140(%rbp),%rax
  and    -0xd8(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0xd0(%rbp)
  cmpq   $0x0,-0xe8(%rbp)
  jne    L129
  mov    $0x0,%eax
  jmp    L80
L129:
  mov    $0xffffffffffffffff,%rax
L80:
  mov    %rax,-0xc8(%rbp)
  mov    $0xffffffff,%eax
  xor    -0xc8(%rbp),%rax
  mov    %rax,-0xc0(%rbp)
  mov    -0x1a0(%rbp),%rax
  and    -0xc8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x138(%rbp),%rax
  and    -0xc0(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  cmpq   $0x0,-0xe8(%rbp)
  jne    L83
  mov    $0x0,%eax
  jmp    L115
L83:
  mov    $0xffffffffffffffff,%rax
L115:
  mov    %rax,-0xb0(%rbp)
  mov    $0xffffffff,%eax
  xor    -0xb0(%rbp),%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0x190(%rbp),%rax
  and    -0xb0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x130(%rbp),%rax
  and    -0xa8(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  cmpq   $0x0,-0xe8(%rbp)
  jne    L0
  mov    $0x0,%eax
  jmp    L128
L0:
  mov    $0xffffffffffffffff,%rax
L128:
  mov    %rax,-0x98(%rbp)
  mov    $0xffffffff,%eax
  xor    -0x98(%rbp),%rax
  mov    %rax,-0x90(%rbp)
  mov    -0x180(%rbp),%rax
  and    -0x98(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x120(%rbp),%rax
  and    -0x90(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x88(%rbp)
  cmpq   $0x0,-0xe8(%rbp)
  jne    L74
  mov    $0x0,%eax
  jmp    L4
L74:
  mov    $0xffffffffffffffff,%rax
L4:
  mov    %rax,-0x80(%rbp)
  mov    $0xffffffff,%eax
  xor    -0x80(%rbp),%rax
  mov    %rax,-0x78(%rbp)
  mov    -0x170(%rbp),%rax
  and    -0x80(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x110(%rbp),%rax
  and    -0x78(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x70(%rbp)
  cmpq   $0x0,-0xe8(%rbp)
  jne    L34
  mov    $0x0,%eax
  jmp    L20
L34:
  mov    $0xffffffffffffffff,%rax
L20:
  mov    %rax,-0x68(%rbp)
  mov    $0xffffffff,%eax
  xor    -0x68(%rbp),%rax
  mov    %rax,-0x60(%rbp)
  mov    -0x160(%rbp),%rax
  and    -0x68(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x100(%rbp),%rax
  and    -0x60(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x58(%rbp)
  cmpq   $0x0,-0xe8(%rbp)
  jne    L125
  mov    $0x0,%eax
  jmp    L133
L125:
  mov    $0xffffffffffffffff,%rax
L133:
  mov    %rax,-0x50(%rbp)
  mov    $0xffffffff,%eax
  xor    -0x50(%rbp),%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x150(%rbp),%rax
  and    -0x50(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xf0(%rbp),%rax
  and    -0x48(%rbp),%rax
  or     %rdx,%rax
  mov    %rax,-0x40(%rbp)
  mov    -0xd0(%rbp),%rax
  mov    %rax,-0x38(%rbp)
  mov    -0xb8(%rbp),%rax
  mov    %rax,-0x30(%rbp)
  mov    -0xa0(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x88(%rbp),%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x70(%rbp),%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x58(%rbp),%rax
  mov    %rax,-0x10(%rbp)
  mov    -0x40(%rbp),%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x228(%rbp),%rax
  mov    %eax,%ecx
  mov    -0x38(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x228(%rbp),%rax
  add    $0x4,%eax
  mov    %eax,%ecx
  mov    -0x30(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x228(%rbp),%rax
  add    $0x8,%eax
  mov    %eax,%ecx
  mov    -0x28(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x228(%rbp),%rax
  add    $0xc,%eax
  mov    %eax,%ecx
  mov    -0x20(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x228(%rbp),%rax
  add    $0x10,%eax
  mov    %eax,%ecx
  mov    -0x18(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x228(%rbp),%rax
  add    $0x14,%eax
  mov    %eax,%ecx
  mov    -0x10(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  mov    -0x228(%rbp),%rax
  add    $0x18,%eax
  mov    %eax,%ecx
  mov    -0x8(%rbp),%rax
  mov    $0x8,%edx
  mov    %rax,%rsi
  mov    %ecx,%edi
  call   <_br2_store@plt>
  nop
  leave
  ret
```

assistant: ```c
void internal_fiat_p224_add(uintptr_t out0, uintptr_t in0, uintptr_t in1) {
  uintptr_t x7, x0, x15, x1, x8, x17, x2, x9, x19, x3, x10, x21, x4, x11, x23, x5, x12, x25, x6, x13, x31, x33, x35, x27, x37, x14, x40, x28, x41, x16, x43, x29, x44, x18, x46, x30, x47, x20, x49, x32, x50, x22, x52, x34, x53, x24, x55, x36, x56, x39, x26, x58, x38, x59, x42, x45, x48, x51, x54, x57, x60, x61, x62, x63, x64, x65, x66, x67;
  x0 = _br2_load((in0) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x1 = _br2_load((in0) + ((uintptr_t)4ULL), sizeof(uintptr_t));
  x2 = _br2_load((in0) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x3 = _br2_load((in0) + ((uintptr_t)12ULL), sizeof(uintptr_t));
  x4 = _br2_load((in0) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x5 = _br2_load((in0) + ((uintptr_t)20ULL), sizeof(uintptr_t));
  x6 = _br2_load((in0) + ((uintptr_t)24ULL), sizeof(uintptr_t));
  x7 = _br2_load((in1) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x8 = _br2_load((in1) + ((uintptr_t)4ULL), sizeof(uintptr_t));
  x9 = _br2_load((in1) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x10 = _br2_load((in1) + ((uintptr_t)12ULL), sizeof(uintptr_t));
  x11 = _br2_load((in1) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x12 = _br2_load((in1) + ((uintptr_t)20ULL), sizeof(uintptr_t));
  x13 = _br2_load((in1) + ((uintptr_t)24ULL), sizeof(uintptr_t));
  x14 = (x0) + (x7);
  x15 = ((x14) < (x0)) + (x1);
  x16 = (x15) + (x8);
  x17 = (((x15) < (x1)) + ((x16) < (x8))) + (x2);
  x18 = (x17) + (x9);
  x19 = (((x17) < (x2)) + ((x18) < (x9))) + (x3);
  x20 = (x19) + (x10);
  x21 = (((x19) < (x3)) + ((x20) < (x10))) + (x4);
  x22 = (x21) + (x11);
  x23 = (((x21) < (x4)) + ((x22) < (x11))) + (x5);
  x24 = (x23) + (x12);
  x25 = (((x23) < (x5)) + ((x24) < (x12))) + (x6);
  x26 = (x25) + (x13);
  x27 = ((x25) < (x6)) + ((x26) < (x13));
  x28 = (x14) - ((uintptr_t)1ULL);
  x29 = (x16) - ((x14) < (x28));
  x30 = (x18) - ((x16) < (x29));
  x31 = (x20) - ((uintptr_t)4294967295ULL);
  x32 = (x31) - ((x18) < (x30));
  x33 = (x22) - ((uintptr_t)4294967295ULL);
  x34 = (x33) - (((x20) < (x31)) + ((x31) < (x32)));
  x35 = (x24) - ((uintptr_t)4294967295ULL);
  x36 = (x35) - (((x22) < (x33)) + ((x33) < (x34)));
  x37 = (x26) - ((uintptr_t)4294967295ULL);
  x38 = (x37) - (((x24) < (x35)) + ((x35) < (x36)));
  x39 = (x27) < ((x27) - (((x26) < (x37)) + ((x37) < (x38))));
  x40 = ((uintptr_t)-1ULL) + ((x39) == ((uintptr_t)0ULL));
  x41 = (x40) ^ ((uintptr_t)4294967295ULL);
  x42 = ((x14) & (x40)) | ((x28) & (x41));
  x43 = ((uintptr_t)-1ULL) + ((x39) == ((uintptr_t)0ULL));
  x44 = (x43) ^ ((uintptr_t)4294967295ULL);
  x45 = ((x16) & (x43)) | ((x29) & (x44));
  x46 = ((uintptr_t)-1ULL) + ((x39) == ((uintptr_t)0ULL));
  x47 = (x46) ^ ((uintptr_t)4294967295ULL);
  x48 = ((x18) & (x46)) | ((x30) & (x47));
  x49 = ((uintptr_t)-1ULL) + ((x39) == ((uintptr_t)0ULL));
  x50 = (x49) ^ ((uintptr_t)4294967295ULL);
  x51 = ((x20) & (x49)) | ((x32) & (x50));
  x52 = ((uintptr_t)-1ULL) + ((x39) == ((uintptr_t)0ULL));
  x53 = (x52) ^ ((uintptr_t)4294967295ULL);
  x54 = ((x22) & (x52)) | ((x34) & (x53));
  x55 = ((uintptr_t)-1ULL) + ((x39) == ((uintptr_t)0ULL));
  x56 = (x55) ^ ((uintptr_t)4294967295ULL);
  x57 = ((x24) & (x55)) | ((x36) & (x56));
  x58 = ((uintptr_t)-1ULL) + ((x39) == ((uintptr_t)0ULL));
  x59 = (x58) ^ ((uintptr_t)4294967295ULL);
  x60 = ((x26) & (x58)) | ((x38) & (x59));
  x61 = x42;
  x62 = x45;
  x63 = x48;
  x64 = x51;
  x65 = x54;
  x66 = x57;
  x67 = x60;
  _br2_store((out0) + ((uintptr_t)0ULL), x61, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)4ULL), x62, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x63, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)12ULL), x64, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x65, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)20ULL), x66, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x67, sizeof(uintptr_t));
  return;
}
```