#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef uintptr_t x9;
typedef uintptr_t x8;
typedef uintptr_t x7;
typedef uintptr_t x65;
typedef uintptr_t x63;
typedef uintptr_t x61;
typedef uintptr_t x6;
typedef uintptr_t x59;
typedef uintptr_t x57;
typedef uintptr_t x55;
typedef uintptr_t x53;
typedef uintptr_t x51;
typedef uintptr_t x5;
typedef uintptr_t x47;
typedef uintptr_t x45;
typedef uintptr_t x43;
typedef uintptr_t x41;
typedef uintptr_t x4;
typedef uintptr_t x39;
typedef uintptr_t x37;
typedef uintptr_t x35;
typedef uintptr_t x33;
typedef uintptr_t x31;
typedef uintptr_t x3;
typedef uintptr_t x29;
typedef uintptr_t x27;
typedef uintptr_t x25;
typedef uintptr_t x24;
typedef uintptr_t x2;
typedef uintptr_t x11;
typedef uintptr_t x10;
typedef uintptr_t x1;
typedef uintptr_t x0;
typedef int /*<<< orphan*/ out0;
typedef int /*<<< orphan*/ in1;
typedef int /*<<< orphan*/ in0;

/* Variables and functions */
uintptr_t _br2_load(int /*<<< orphan*/, int);
int /*<<< orphan*/ _br2_store(int /*<<< orphan*/, uintptr_t, int);
void internal_fiat_p384_sub(uintptr_t out0, uintptr_t in0, uintptr_t in1) {
  uintptr_t x12, x13, x0, x14, x1, x25, x15, x2, x27, x16, x3, x29, x17, x4,
      x31, x18, x5, x33, x19, x6, x35, x20, x7, x37, x21, x8, x39, x22, x9, x41,
      x23, x10, x43, x11, x45, x24, x26, x28, x51, x30, x53, x32, x55, x34, x57,
      x36, x59, x38, x61, x40, x63, x42, x65, x44, x46, x47, x48, x49, x50, x52,
      x54, x56, x58, x60, x62, x64, x66, x67, x68, x69, x70, x71, x72, x73, x74,
      x75, x76, x77, x78, x79;
  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((in0) + ((uintptr_t)28ULL), sizeof(uintptr_t));
  x8 = _br2_load((in0) + ((uintptr_t)32ULL), sizeof(uintptr_t));
  x9 = _br2_load((in0) + ((uintptr_t)36ULL), sizeof(uintptr_t));
  x10 = _br2_load((in0) + ((uintptr_t)40ULL), sizeof(uintptr_t));
  x11 = _br2_load((in0) + ((uintptr_t)44ULL), sizeof(uintptr_t));
  x12 = _br2_load((in1) + ((uintptr_t)0ULL), sizeof(uintptr_t));
  x13 = _br2_load((in1) + ((uintptr_t)4ULL), sizeof(uintptr_t));
  x14 = _br2_load((in1) + ((uintptr_t)8ULL), sizeof(uintptr_t));
  x15 = _br2_load((in1) + ((uintptr_t)12ULL), sizeof(uintptr_t));
  x16 = _br2_load((in1) + ((uintptr_t)16ULL), sizeof(uintptr_t));
  x17 = _br2_load((in1) + ((uintptr_t)20ULL), sizeof(uintptr_t));
  x18 = _br2_load((in1) + ((uintptr_t)24ULL), sizeof(uintptr_t));
  x19 = _br2_load((in1) + ((uintptr_t)28ULL), sizeof(uintptr_t));
  x20 = _br2_load((in1) + ((uintptr_t)32ULL), sizeof(uintptr_t));
  x21 = _br2_load((in1) + ((uintptr_t)36ULL), sizeof(uintptr_t));
  x22 = _br2_load((in1) + ((uintptr_t)40ULL), sizeof(uintptr_t));
  x23 = _br2_load((in1) + ((uintptr_t)44ULL), sizeof(uintptr_t));
  x24 = (x0) - (x12);
  x25 = (x1) - (x13);
  x26 = (x25) - ((x0) < (x24));
  x27 = (x2) - (x14);
  x28 = (x27) - (((x1) < (x25)) + ((x25) < (x26)));
  x29 = (x3) - (x15);
  x30 = (x29) - (((x2) < (x27)) + ((x27) < (x28)));
  x31 = (x4) - (x16);
  x32 = (x31) - (((x3) < (x29)) + ((x29) < (x30)));
  x33 = (x5) - (x17);
  x34 = (x33) - (((x4) < (x31)) + ((x31) < (x32)));
  x35 = (x6) - (x18);
  x36 = (x35) - (((x5) < (x33)) + ((x33) < (x34)));
  x37 = (x7) - (x19);
  x38 = (x37) - (((x6) < (x35)) + ((x35) < (x36)));
  x39 = (x8) - (x20);
  x40 = (x39) - (((x7) < (x37)) + ((x37) < (x38)));
  x41 = (x9) - (x21);
  x42 = (x41) - (((x8) < (x39)) + ((x39) < (x40)));
  x43 = (x10) - (x22);
  x44 = (x43) - (((x9) < (x41)) + ((x41) < (x42)));
  x45 = (x11) - (x23);
  x46 = (x45) - (((x10) < (x43)) + ((x43) < (x44)));
  x47 = ((uintptr_t)-1ULL) +
        ((((x11) < (x45)) + ((x45) < (x46))) == ((uintptr_t)0ULL));
  x48 = (x24) + (x47);
  x49 = ((x48) < (x24)) + (x26);
  x50 = ((x49) < (x26)) + (x28);
  x51 = ((x50) < (x28)) + (x30);
  x52 = (x51) + (x47);
  x53 = (((x51) < (x30)) + ((x52) < (x47))) + (x32);
  x54 = (x53) + ((x47) & ((uintptr_t)4294967294ULL));
  x55 = (((x53) < (x32)) + ((x54) < ((x47) & ((uintptr_t)4294967294ULL)))) +
        (x34);
  x56 = (x55) + (x47);
  x57 = (((x55) < (x34)) + ((x56) < (x47))) + (x36);
  x58 = (x57) + (x47);
  x59 = (((x57) < (x36)) + ((x58) < (x47))) + (x38);
  x60 = (x59) + (x47);
  x61 = (((x59) < (x38)) + ((x60) < (x47))) + (x40);
  x62 = (x61) + (x47);
  x63 = (((x61) < (x40)) + ((x62) < (x47))) + (x42);
  x64 = (x63) + (x47);
  x65 = (((x63) < (x42)) + ((x64) < (x47))) + (x44);
  x66 = (x65) + (x47);
  x67 = ((((x65) < (x44)) + ((x66) < (x47))) + (x46)) + (x47);
  x68 = x48;
  x69 = x49;
  x70 = x50;
  x71 = x52;
  x72 = x54;
  x73 = x56;
  x74 = x58;
  x75 = x60;
  x76 = x62;
  x77 = x64;
  x78 = x66;
  x79 = x67;
  _br2_store((out0) + ((uintptr_t)0ULL), x68, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)4ULL), x69, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)8ULL), x70, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)12ULL), x71, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)16ULL), x72, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)20ULL), x73, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)24ULL), x74, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)28ULL), x75, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)32ULL), x76, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)36ULL), x77, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)40ULL), x78, sizeof(uintptr_t));
  _br2_store((out0) + ((uintptr_t)44ULL), x79, sizeof(uintptr_t));
  return;
}


x86 assembly (clang, -O0):
<internal_fiat_p384_sub>:
push   %rbp
mov    %rsp,%rbp
sub    $0x2a0,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    %rdx,-0x18(%rbp)
mov    -0x10(%rbp),%rax
add    $0x0,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x30(%rbp)
mov    -0x10(%rbp),%rax
add    $0x4,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x40(%rbp)
mov    -0x10(%rbp),%rax
add    $0x8,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x58(%rbp)
mov    -0x10(%rbp),%rax
add    $0xc,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x70(%rbp)
mov    -0x10(%rbp),%rax
add    $0x10,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x88(%rbp)
mov    -0x10(%rbp),%rax
add    $0x14,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xa0(%rbp)
mov    -0x10(%rbp),%rax
add    $0x18,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xb8(%rbp)
mov    -0x10(%rbp),%rax
add    $0x1c,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xd0(%rbp)
mov    -0x10(%rbp),%rax
add    $0x20,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xe8(%rbp)
mov    -0x10(%rbp),%rax
add    $0x24,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x100(%rbp)
mov    -0x10(%rbp),%rax
add    $0x28,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x118(%rbp)
mov    -0x10(%rbp),%rax
add    $0x2c,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x128(%rbp)
mov    -0x18(%rbp),%rax
add    $0x0,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x20(%rbp)
mov    -0x18(%rbp),%rax
add    $0x4,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
add    $0x8,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x38(%rbp)
mov    -0x18(%rbp),%rax
add    $0xc,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x50(%rbp)
mov    -0x18(%rbp),%rax
add    $0x10,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x68(%rbp)
mov    -0x18(%rbp),%rax
add    $0x14,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x80(%rbp)
mov    -0x18(%rbp),%rax
add    $0x18,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x98(%rbp)
mov    -0x18(%rbp),%rax
add    $0x1c,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xb0(%rbp)
mov    -0x18(%rbp),%rax
add    $0x20,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xc8(%rbp)
mov    -0x18(%rbp),%rax
add    $0x24,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xe0(%rbp)
mov    -0x18(%rbp),%rax
add    $0x28,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0xf8(%rbp)
mov    -0x18(%rbp),%rax
add    $0x2c,%rax
mov    %eax,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,-0x110(%rbp)
mov    -0x30(%rbp),%rax
sub    -0x20(%rbp),%rax
mov    %rax,-0x138(%rbp)
mov    -0x40(%rbp),%rax
sub    -0x28(%rbp),%rax
mov    %rax,-0x48(%rbp)
mov    -0x48(%rbp),%rax
mov    -0x30(%rbp),%rcx
cmp    -0x138(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x140(%rbp)
mov    -0x58(%rbp),%rax
sub    -0x38(%rbp),%rax
mov    %rax,-0x60(%rbp)
mov    -0x60(%rbp),%rax
mov    -0x40(%rbp),%rcx
cmp    -0x48(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0x48(%rbp),%rdx
cmp    -0x140(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x148(%rbp)
mov    -0x70(%rbp),%rax
sub    -0x50(%rbp),%rax
mov    %rax,-0x78(%rbp)
mov    -0x78(%rbp),%rax
mov    -0x58(%rbp),%rcx
cmp    -0x60(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0x60(%rbp),%rdx
cmp    -0x148(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x158(%rbp)
mov    -0x88(%rbp),%rax
sub    -0x68(%rbp),%rax
mov    %rax,-0x90(%rbp)
mov    -0x90(%rbp),%rax
mov    -0x70(%rbp),%rcx
cmp    -0x78(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0x78(%rbp),%rdx
cmp    -0x158(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x168(%rbp)
mov    -0xa0(%rbp),%rax
sub    -0x80(%rbp),%rax
mov    %rax,-0xa8(%rbp)
mov    -0xa8(%rbp),%rax
mov    -0x88(%rbp),%rcx
cmp    -0x90(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0x90(%rbp),%rdx
cmp    -0x168(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x178(%rbp)
mov    -0xb8(%rbp),%rax
sub    -0x98(%rbp),%rax
mov    %rax,-0xc0(%rbp)
mov    -0xc0(%rbp),%rax
mov    -0xa0(%rbp),%rcx
cmp    -0xa8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0xa8(%rbp),%rdx
cmp    -0x178(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x188(%rbp)
mov    -0xd0(%rbp),%rax
sub    -0xb0(%rbp),%rax
mov    %rax,-0xd8(%rbp)
mov    -0xd8(%rbp),%rax
mov    -0xb8(%rbp),%rcx
cmp    -0xc0(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0xc0(%rbp),%rdx
cmp    -0x188(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x198(%rbp)
mov    -0xe8(%rbp),%rax
sub    -0xc8(%rbp),%rax
mov    %rax,-0xf0(%rbp)
mov    -0xf0(%rbp),%rax
mov    -0xd0(%rbp),%rcx
cmp    -0xd8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0xd8(%rbp),%rdx
cmp    -0x198(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x1a8(%rbp)
mov    -0x100(%rbp),%rax
sub    -0xe0(%rbp),%rax
mov    %rax,-0x108(%rbp)
mov    -0x108(%rbp),%rax
mov    -0xe8(%rbp),%rcx
cmp    -0xf0(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0xf0(%rbp),%rdx
cmp    -0x1a8(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x1b8(%rbp)
mov    -0x118(%rbp),%rax
sub    -0xf8(%rbp),%rax
mov    %rax,-0x120(%rbp)
mov    -0x120(%rbp),%rax
mov    -0x100(%rbp),%rcx
cmp    -0x108(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0x108(%rbp),%rdx
cmp    -0x1b8(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x1c8(%rbp)
mov    -0x128(%rbp),%rax
sub    -0x110(%rbp),%rax
mov    %rax,-0x130(%rbp)
mov    -0x130(%rbp),%rax
mov    -0x118(%rbp),%rcx
cmp    -0x120(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
mov    -0x120(%rbp),%rdx
cmp    -0x1c8(%rbp),%rdx
setb   %dl
and    $0x1,%dl
movzbl %dl,%edx
add    %edx,%ecx
movslq %ecx,%rcx
sub    %rcx,%rax
mov    %rax,-0x1d0(%rbp)
mov    -0x128(%rbp),%rax
cmp    -0x130(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x130(%rbp),%rcx
cmp    -0x1d0(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
cmp    $0x0,%rax
sete   %al
and    $0x1,%al
movzbl %al,%eax
cltq
add    $0xffffffffffffffff,%rax
mov    %rax,-0x1d8(%rbp)
mov    -0x138(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x1e0(%rbp)
mov    -0x1e0(%rbp),%rax
cmp    -0x138(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
cltq
add    -0x140(%rbp),%rax
mov    %rax,-0x1e8(%rbp)
mov    -0x1e8(%rbp),%rax
cmp    -0x140(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
cltq
add    -0x148(%rbp),%rax
mov    %rax,-0x1f0(%rbp)
mov    -0x1f0(%rbp),%rax
cmp    -0x148(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
cltq
add    -0x158(%rbp),%rax
mov    %rax,-0x150(%rbp)
mov    -0x150(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x1f8(%rbp)
mov    -0x150(%rbp),%rax
cmp    -0x158(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x1f8(%rbp),%rcx
cmp    -0x1d8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
add    -0x168(%rbp),%rax
mov    %rax,-0x160(%rbp)
mov    -0x160(%rbp),%rax
movabs $0xfffffffe,%rcx
and    -0x1d8(%rbp),%rcx
add    %rcx,%rax
mov    %rax,-0x200(%rbp)
mov    -0x160(%rbp),%rax
cmp    -0x168(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x200(%rbp),%rcx
movabs $0xfffffffe,%rdx
and    -0x1d8(%rbp),%rdx
cmp    %rdx,%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
add    -0x178(%rbp),%rax
mov    %rax,-0x170(%rbp)
mov    -0x170(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x208(%rbp)
mov    -0x170(%rbp),%rax
cmp    -0x178(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x208(%rbp),%rcx
cmp    -0x1d8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
add    -0x188(%rbp),%rax
mov    %rax,-0x180(%rbp)
mov    -0x180(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x210(%rbp)
mov    -0x180(%rbp),%rax
cmp    -0x188(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x210(%rbp),%rcx
cmp    -0x1d8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
add    -0x198(%rbp),%rax
mov    %rax,-0x190(%rbp)
mov    -0x190(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x218(%rbp)
mov    -0x190(%rbp),%rax
cmp    -0x198(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x218(%rbp),%rcx
cmp    -0x1d8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
add    -0x1a8(%rbp),%rax
mov    %rax,-0x1a0(%rbp)
mov    -0x1a0(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x220(%rbp)
mov    -0x1a0(%rbp),%rax
cmp    -0x1a8(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x220(%rbp),%rcx
cmp    -0x1d8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
add    -0x1b8(%rbp),%rax
mov    %rax,-0x1b0(%rbp)
mov    -0x1b0(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x228(%rbp)
mov    -0x1b0(%rbp),%rax
cmp    -0x1b8(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x228(%rbp),%rcx
cmp    -0x1d8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
add    -0x1c8(%rbp),%rax
mov    %rax,-0x1c0(%rbp)
mov    -0x1c0(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x230(%rbp)
mov    -0x1c0(%rbp),%rax
cmp    -0x1c8(%rbp),%rax
setb   %al
and    $0x1,%al
movzbl %al,%eax
mov    -0x230(%rbp),%rcx
cmp    -0x1d8(%rbp),%rcx
setb   %cl
and    $0x1,%cl
movzbl %cl,%ecx
add    %ecx,%eax
cltq
add    -0x1d0(%rbp),%rax
add    -0x1d8(%rbp),%rax
mov    %rax,-0x238(%rbp)
mov    -0x1e0(%rbp),%rax
mov    %rax,-0x240(%rbp)
mov    -0x1e8(%rbp),%rax
mov    %rax,-0x248(%rbp)
mov    -0x1f0(%rbp),%rax
mov    %rax,-0x250(%rbp)
mov    -0x1f8(%rbp),%rax
mov    %rax,-0x258(%rbp)
mov    -0x200(%rbp),%rax
mov    %rax,-0x260(%rbp)
mov    -0x208(%rbp),%rax
mov    %rax,-0x268(%rbp)
mov    -0x210(%rbp),%rax
mov    %rax,-0x270(%rbp)
mov    -0x218(%rbp),%rax
mov    %rax,-0x278(%rbp)
mov    -0x220(%rbp),%rax
mov    %rax,-0x280(%rbp)
mov    -0x228(%rbp),%rax
mov    %rax,-0x288(%rbp)
mov    -0x230(%rbp),%rax
mov    %rax,-0x290(%rbp)
mov    -0x238(%rbp),%rax
mov    %rax,-0x298(%rbp)
mov    -0x8(%rbp),%rax
add    $0x0,%rax
mov    %eax,%edi
mov    -0x240(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x4,%rax
mov    %eax,%edi
mov    -0x248(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x8,%rax
mov    %eax,%edi
mov    -0x250(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0xc,%rax
mov    %eax,%edi
mov    -0x258(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x10,%rax
mov    %eax,%edi
mov    -0x260(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x14,%rax
mov    %eax,%edi
mov    -0x268(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x18,%rax
mov    %eax,%edi
mov    -0x270(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x1c,%rax
mov    %eax,%edi
mov    -0x278(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x20,%rax
mov    %eax,%edi
mov    -0x280(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x24,%rax
mov    %eax,%edi
mov    -0x288(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x28,%rax
mov    %eax,%edi
mov    -0x290(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
mov    -0x8(%rbp),%rax
add    $0x2c,%rax
mov    %eax,%edi
mov    -0x298(%rbp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
add    $0x2a0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<internal_fiat_p384_sub>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x98,%rsp
mov    %rdx,%rbp
mov    %rsi,%rbx
mov    %rdi,0x90(%rsp)
mov    %ebx,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r13
lea    0x4(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r14
lea    0x8(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r12
lea    0xc(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,(%rsp)
lea    0x10(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x78(%rsp)
lea    0x14(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x80(%rsp)
lea    0x18(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x88(%rsp)
lea    0x1c(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x18(%rsp)
lea    0x20(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x20(%rsp)
lea    0x24(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x28(%rsp)
lea    0x28(%rbx),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x30(%rsp)
add    $0x2c,%ebx
mov    %ebx,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x38(%rsp)
mov    %ebp,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x8(%rsp)
lea    0x4(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,%r15
lea    0x8(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x10(%rsp)
lea    0xc(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,%rbx
lea    0x10(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x40(%rsp)
lea    0x14(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x48(%rsp)
lea    0x18(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x50(%rsp)
lea    0x1c(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x58(%rsp)
lea    0x20(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x60(%rsp)
lea    0x24(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x68(%rsp)
lea    0x28(%rbp),%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,0x70(%rsp)
add    $0x2c,%ebp
mov    %ebp,%edi
mov    $0x8,%esi
call   1030 <_br2_load@plt>
mov    %rax,%rbp
xor    %edx,%edx
sub    %r15,%r14
setb   %dl
sub    0x8(%rsp),%r13
mov    %r14,%rax
sbb    $0x0,%rax
mov    %rax,0x8(%rsp)
xor    %ecx,%ecx
mov    (%rsp),%rsi
sub    %rbx,%rsi
setb   %cl
sub    0x10(%rsp),%r12
mov    %rsi,%rbx
mov    %rsi,%rdi
sbb    $0x0,%rbx
mov    %rbx,0x10(%rsp)
cmp    %rax,%r14
mov    %r12,%rax
sbb    %rdx,%rax
xor    %edx,%edx
cmp    %rax,%r12
setb   %dl
mov    %rbx,%r12
sub    %rdx,%r12
neg    %rdx
mov    %rdx,(%rsp)
xor    %edx,%edx
mov    0x78(%rsp),%rsi
sub    0x40(%rsp),%rsi
setb   %dl
cmp    %r12,%rdi
mov    %rsi,%r15
mov    %rsi,%rdi
sbb    %rcx,%r15
xor    %ecx,%ecx
mov    0x80(%rsp),%rsi
sub    0x48(%rsp),%rsi
setb   %cl
cmp    %r15,%rdi
mov    %rsi,%rdi
mov    %rsi,%rbx
sbb    %rdx,%rdi
xor    %edx,%edx
mov    0x88(%rsp),%rsi
sub    0x50(%rsp),%rsi
setb   %dl
cmp    %rdi,%rbx
mov    %rsi,%r11
mov    %rsi,%rbx
sbb    %rcx,%r11
xor    %ecx,%ecx
mov    0x18(%rsp),%rsi
sub    0x58(%rsp),%rsi
setb   %cl
cmp    %r11,%rbx
mov    %rsi,%r14
mov    %rsi,%rbx
sbb    %rdx,%r14
xor    %edx,%edx
mov    0x20(%rsp),%rsi
sub    0x60(%rsp),%rsi
setb   %dl
cmp    %r14,%rbx
mov    %rsi,%r8
mov    %rsi,%rbx
sbb    %rcx,%r8
xor    %ecx,%ecx
mov    0x28(%rsp),%rsi
sub    0x68(%rsp),%rsi
setb   %cl
cmp    %r8,%rbx
mov    %rsi,%r9
mov    %rsi,%rbx
sbb    %rdx,%r9
xor    %edx,%edx
mov    0x30(%rsp),%rsi
sub    0x70(%rsp),%rsi
setb   %dl
cmp    %r9,%rbx
mov    %rsi,%r10
sbb    %rcx,%r10
xor    %ebx,%ebx
mov    0x38(%rsp),%rcx
sub    %rbp,%rcx
setb   %bl
cmp    %r10,%rsi
mov    %rcx,%rsi
sbb    %rdx,%rsi
cmp    %rsi,%rcx
sbb    %rbp,%rbp
xor    %edx,%edx
cmp    %rbp,%rbx
setne  %dl
mov    %rdx,%rcx
neg    %rcx
add    %rcx,%r13
mov    %r13,0x20(%rsp)
adcq   $0x0,0x8(%rsp)
adc    $0x0,%rax
mov    %rax,0x38(%rsp)
setb   %r13b
mov    (%rsp),%rax
adc    0x10(%rsp),%rax
cmp    %rbp,%rbx
mov    $0xfffffffe,%ebx
mov    $0x0,%ebp
cmove  %rbp,%rbx
add    $0xff,%r13b
adc    %rcx,%r12
mov    %r15,%rbp
adc    $0x0,%rbp
sub    %rdx,%rax
mov    %rax,(%rsp)
xor    %eax,%eax
cmp    %r15,%rbp
setb   %al
add    %rbx,%rbp
mov    %rbp,0x30(%rsp)
adc    %rdi,%rax
xor    %ebp,%ebp
cmp    %rdi,%rax
setb   %bpl
add    %rcx,%rax
mov    %rax,0x28(%rsp)
adc    %r11,%rbp
xor    %r15d,%r15d
cmp    %r11,%rbp
setb   %r15b
add    %rcx,%rbp
adc    %r14,%r15
xor    %r13d,%r13d
cmp    %r14,%r15
setb   %r13b
add    %rcx,%r15
adc    %r8,%r13
xor    %r14d,%r14d
cmp    %r8,%r13
setb   %r14b
add    %rcx,%r13
adc    %r9,%r14
xor    %r12d,%r12d
cmp    %r9,%r14
setb   %r12b
add    %rcx,%r14
adc    %r10,%r12
xor    %eax,%eax
cmp    %r10,%r12
setb   %al
sub    %rdx,%rsi
add    %rcx,%r12
adc    %rsi,%rax
mov    %rax,0x18(%rsp)
mov    0x90(%rsp),%rbx
mov    %ebx,%edi
mov    0x20(%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x4(%rbx),%edi
mov    0x8(%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x8(%rbx),%edi
mov    0x38(%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0xc(%rbx),%edi
mov    (%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x10(%rbx),%edi
mov    0x30(%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x14(%rbx),%edi
mov    0x28(%rsp),%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x18(%rbx),%edi
mov    %rbp,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x1c(%rbx),%edi
mov    %r15,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x20(%rbx),%edi
mov    %r13,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x24(%rbx),%edi
mov    %r14,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
lea    0x28(%rbx),%edi
mov    %r12,%rsi
mov    $0x8,%edx
call   1040 <_br2_store@plt>
add    $0x2c,%ebx
mov    %ebx,%edi
mov    0x18(%rsp),%rsi
mov    $0x8,%edx
add    $0x98,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
jmp    1040 <_br2_store@plt>

LLVM IR (-O0):
define void @internal_fiat_p384_sub(i64 %0, i64 %1, i64 %2) {
%4 = alloca i64
%5 = alloca i64
%6 = alloca i64
%7 = alloca i64
%8 = alloca i64
%9 = alloca i64
%10 = alloca i64
%11 = alloca i64
%12 = alloca i64
%13 = alloca i64
%14 = alloca i64
%15 = alloca i64
%16 = alloca i64
%17 = alloca i64
%18 = alloca i64
%19 = alloca i64
%20 = alloca i64
%21 = alloca i64
%22 = alloca i64
%23 = alloca i64
%24 = alloca i64
%25 = alloca i64
%26 = alloca i64
%27 = alloca i64
%28 = alloca i64
%29 = alloca i64
%30 = alloca i64
%31 = alloca i64
%32 = alloca i64
%33 = alloca i64
%34 = alloca i64
%35 = alloca i64
%36 = alloca i64
%37 = alloca i64
%38 = alloca i64
%39 = alloca i64
%40 = alloca i64
%41 = alloca i64
%42 = alloca i64
%43 = alloca i64
%44 = alloca i64
%45 = alloca i64
%46 = alloca i64
%47 = alloca i64
%48 = alloca i64
%49 = alloca i64
%50 = alloca i64
%51 = alloca i64
%52 = alloca i64
%53 = alloca i64
%54 = alloca i64
%55 = alloca i64
%56 = alloca i64
%57 = alloca i64
%58 = alloca i64
%59 = alloca i64
%60 = alloca i64
%61 = alloca i64
%62 = alloca i64
%63 = alloca i64
%64 = alloca i64
%65 = alloca i64
%66 = alloca i64
%67 = alloca i64
%68 = alloca i64
%69 = alloca i64
%70 = alloca i64
%71 = alloca i64
%72 = alloca i64
%73 = alloca i64
%74 = alloca i64
%75 = alloca i64
%76 = alloca i64
%77 = alloca i64
%78 = alloca i64
%79 = alloca i64
%80 = alloca i64
%81 = alloca i64
%82 = alloca i64
%83 = alloca i64
%84 = alloca i64
%85 = alloca i64
%86 = alloca i64
store i64 %0, i64* %4
store i64 %1, i64* %5
store i64 %2, i64* %6
%87 = load i64, i64* %5
%88 = add i64 %87, 0
%89 = trunc i64 %88 to i32
%90 = call i64 @_br2_load(i32 %89, i32 8)
store i64 %90, i64* %9
%91 = load i64, i64* %5
%92 = add i64 %91, 4
%93 = trunc i64 %92 to i32
%94 = call i64 @_br2_load(i32 %93, i32 8)
store i64 %94, i64* %11
%95 = load i64, i64* %5
%96 = add i64 %95, 8
%97 = trunc i64 %96 to i32
%98 = call i64 @_br2_load(i32 %97, i32 8)
store i64 %98, i64* %14
%99 = load i64, i64* %5
%100 = add i64 %99, 12
%101 = trunc i64 %100 to i32
%102 = call i64 @_br2_load(i32 %101, i32 8)
store i64 %102, i64* %17
%103 = load i64, i64* %5
%104 = add i64 %103, 16
%105 = trunc i64 %104 to i32
%106 = call i64 @_br2_load(i32 %105, i32 8)
store i64 %106, i64* %20
%107 = load i64, i64* %5
%108 = add i64 %107, 20
%109 = trunc i64 %108 to i32
%110 = call i64 @_br2_load(i32 %109, i32 8)
store i64 %110, i64* %23
%111 = load i64, i64* %5
%112 = add i64 %111, 24
%113 = trunc i64 %112 to i32
%114 = call i64 @_br2_load(i32 %113, i32 8)
store i64 %114, i64* %26
%115 = load i64, i64* %5
%116 = add i64 %115, 28
%117 = trunc i64 %116 to i32
%118 = call i64 @_br2_load(i32 %117, i32 8)
store i64 %118, i64* %29
%119 = load i64, i64* %5
%120 = add i64 %119, 32
%121 = trunc i64 %120 to i32
%122 = call i64 @_br2_load(i32 %121, i32 8)
store i64 %122, i64* %32
%123 = load i64, i64* %5
%124 = add i64 %123, 36
%125 = trunc i64 %124 to i32
%126 = call i64 @_br2_load(i32 %125, i32 8)
store i64 %126, i64* %35
%127 = load i64, i64* %5
%128 = add i64 %127, 40
%129 = trunc i64 %128 to i32
%130 = call i64 @_br2_load(i32 %129, i32 8)
store i64 %130, i64* %38
%131 = load i64, i64* %5
%132 = add i64 %131, 44
%133 = trunc i64 %132 to i32
%134 = call i64 @_br2_load(i32 %133, i32 8)
store i64 %134, i64* %40
%135 = load i64, i64* %6
%136 = add i64 %135, 0
%137 = trunc i64 %136 to i32
%138 = call i64 @_br2_load(i32 %137, i32 8)
store i64 %138, i64* %7
%139 = load i64, i64* %6
%140 = add i64 %139, 4
%141 = trunc i64 %140 to i32
%142 = call i64 @_br2_load(i32 %141, i32 8)
store i64 %142, i64* %8
%143 = load i64, i64* %6
%144 = add i64 %143, 8
%145 = trunc i64 %144 to i32
%146 = call i64 @_br2_load(i32 %145, i32 8)
store i64 %146, i64* %10
%147 = load i64, i64* %6
%148 = add i64 %147, 12
%149 = trunc i64 %148 to i32
%150 = call i64 @_br2_load(i32 %149, i32 8)
store i64 %150, i64* %13
%151 = load i64, i64* %6
%152 = add i64 %151, 16
%153 = trunc i64 %152 to i32
%154 = call i64 @_br2_load(i32 %153, i32 8)
store i64 %154, i64* %16
%155 = load i64, i64* %6
%156 = add i64 %155, 20
%157 = trunc i64 %156 to i32
%158 = call i64 @_br2_load(i32 %157, i32 8)
store i64 %158, i64* %19
%159 = load i64, i64* %6
%160 = add i64 %159, 24
%161 = trunc i64 %160 to i32
%162 = call i64 @_br2_load(i32 %161, i32 8)
store i64 %162, i64* %22
%163 = load i64, i64* %6
%164 = add i64 %163, 28
%165 = trunc i64 %164 to i32
%166 = call i64 @_br2_load(i32 %165, i32 8)
store i64 %166, i64* %25
%167 = load i64, i64* %6
%168 = add i64 %167, 32
%169 = trunc i64 %168 to i32
%170 = call i64 @_br2_load(i32 %169, i32 8)
store i64 %170, i64* %28
%171 = load i64, i64* %6
%172 = add i64 %171, 36
%173 = trunc i64 %172 to i32
%174 = call i64 @_br2_load(i32 %173, i32 8)
store i64 %174, i64* %31
%175 = load i64, i64* %6
%176 = add i64 %175, 40
%177 = trunc i64 %176 to i32
%178 = call i64 @_br2_load(i32 %177, i32 8)
store i64 %178, i64* %34
%179 = load i64, i64* %6
%180 = add i64 %179, 44
%181 = trunc i64 %180 to i32
%182 = call i64 @_br2_load(i32 %181, i32 8)
store i64 %182, i64* %37
%183 = load i64, i64* %9
%184 = load i64, i64* %7
%185 = sub i64 %183, %184
store i64 %185, i64* %42
%186 = load i64, i64* %11
%187 = load i64, i64* %8
%188 = sub i64 %186, %187
store i64 %188, i64* %12
%189 = load i64, i64* %12
%190 = load i64, i64* %9
%191 = load i64, i64* %42
%192 = icmp ult i64 %190, %191
%193 = zext i1 %192 to i32
%194 = sext i32 %193 to i64
%195 = sub i64 %189, %194
store i64 %195, i64* %43
%196 = load i64, i64* %14
%197 = load i64, i64* %10
%198 = sub i64 %196, %197
store i64 %198, i64* %15
%199 = load i64, i64* %15
%200 = load i64, i64* %11
%201 = load i64, i64* %12
%202 = icmp ult i64 %200, %201
%203 = zext i1 %202 to i32
%204 = load i64, i64* %12
%205 = load i64, i64* %43
%206 = icmp ult i64 %204, %205
%207 = zext i1 %206 to i32
%208 = add nsw i32 %203, %207
%209 = sext i32 %208 to i64
%210 = sub i64 %199, %209
store i64 %210, i64* %44
%211 = load i64, i64* %17
%212 = load i64, i64* %13
%213 = sub i64 %211, %212
store i64 %213, i64* %18
%214 = load i64, i64* %18
%215 = load i64, i64* %14
%216 = load i64, i64* %15
%217 = icmp ult i64 %215, %216
%218 = zext i1 %217 to i32
%219 = load i64, i64* %15
%220 = load i64, i64* %44
%221 = icmp ult i64 %219, %220
%222 = zext i1 %221 to i32
%223 = add nsw i32 %218, %222
%224 = sext i32 %223 to i64
%225 = sub i64 %214, %224
store i64 %225, i64* %46
%226 = load i64, i64* %20
%227 = load i64, i64* %16
%228 = sub i64 %226, %227
store i64 %228, i64* %21
%229 = load i64, i64* %21
%230 = load i64, i64* %17
%231 = load i64, i64* %18
%232 = icmp ult i64 %230, %231
%233 = zext i1 %232 to i32
%234 = load i64, i64* %18
%235 = load i64, i64* %46
%236 = icmp ult i64 %234, %235
%237 = zext i1 %236 to i32
%238 = add nsw i32 %233, %237
%239 = sext i32 %238 to i64
%240 = sub i64 %229, %239
store i64 %240, i64* %48
%241 = load i64, i64* %23
%242 = load i64, i64* %19
%243 = sub i64 %241, %242
store i64 %243, i64* %24
%244 = load i64, i64* %24
%245 = load i64, i64* %20
%246 = load i64, i64* %21
%247 = icmp ult i64 %245, %246
%248 = zext i1 %247 to i32
%249 = load i64, i64* %21
%250 = load i64, i64* %48
%251 = icmp ult i64 %249, %250
%252 = zext i1 %251 to i32
%253 = add nsw i32 %248, %252
%254 = sext i32 %253 to i64
%255 = sub i64 %244, %254
store i64 %255, i64* %50
%256 = load i64, i64* %26
%257 = load i64, i64* %22
%258 = sub i64 %256, %257
store i64 %258, i64* %27
%259 = load i64, i64* %27
%260 = load i64, i64* %23
%261 = load i64, i64* %24
%262 = icmp ult i64 %260, %261
%263 = zext i1 %262 to i32
%264 = load i64, i64* %24
%265 = load i64, i64* %50
%266 = icmp ult i64 %264, %265
%267 = zext i1 %266 to i32
%268 = add nsw i32 %263, %267
%269 = sext i32 %268 to i64
%270 = sub i64 %259, %269
store i64 %270, i64* %52
%271 = load i64, i64* %29
%272 = load i64, i64* %25
%273 = sub i64 %271, %272
store i64 %273, i64* %30
%274 = load i64, i64* %30
%275 = load i64, i64* %26
%276 = load i64, i64* %27
%277 = icmp ult i64 %275, %276
%278 = zext i1 %277 to i32
%279 = load i64, i64* %27
%280 = load i64, i64* %52
%281 = icmp ult i64 %279, %280
%282 = zext i1 %281 to i32
%283 = add nsw i32 %278, %282
%284 = sext i32 %283 to i64
%285 = sub i64 %274, %284
store i64 %285, i64* %54
%286 = load i64, i64* %32
%287 = load i64, i64* %28
%288 = sub i64 %286, %287
store i64 %288, i64* %33
%289 = load i64, i64* %33
%290 = load i64, i64* %29
%291 = load i64, i64* %30
%292 = icmp ult i64 %290, %291
%293 = zext i1 %292 to i32
%294 = load i64, i64* %30
%295 = load i64, i64* %54
%296 = icmp ult i64 %294, %295
%297 = zext i1 %296 to i32
%298 = add nsw i32 %293, %297
%299 = sext i32 %298 to i64
%300 = sub i64 %289, %299
store i64 %300, i64* %56
%301 = load i64, i64* %35
%302 = load i64, i64* %31
%303 = sub i64 %301, %302
store i64 %303, i64* %36
%304 = load i64, i64* %36
%305 = load i64, i64* %32
%306 = load i64, i64* %33
%307 = icmp ult i64 %305, %306
%308 = zext i1 %307 to i32
%309 = load i64, i64* %33
%310 = load i64, i64* %56
%311 = icmp ult i64 %309, %310
%312 = zext i1 %311 to i32
%313 = add nsw i32 %308, %312
%314 = sext i32 %313 to i64
%315 = sub i64 %304, %314
store i64 %315, i64* %58
%316 = load i64, i64* %38
%317 = load i64, i64* %34
%318 = sub i64 %316, %317
store i64 %318, i64* %39
%319 = load i64, i64* %39
%320 = load i64, i64* %35
%321 = load i64, i64* %36
%322 = icmp ult i64 %320, %321
%323 = zext i1 %322 to i32
%324 = load i64, i64* %36
%325 = load i64, i64* %58
%326 = icmp ult i64 %324, %325
%327 = zext i1 %326 to i32
%328 = add nsw i32 %323, %327
%329 = sext i32 %328 to i64
%330 = sub i64 %319, %329
store i64 %330, i64* %60
%331 = load i64, i64* %40
%332 = load i64, i64* %37
%333 = sub i64 %331, %332
store i64 %333, i64* %41
%334 = load i64, i64* %41
%335 = load i64, i64* %38
%336 = load i64, i64* %39
%337 = icmp ult i64 %335, %336
%338 = zext i1 %337 to i32
%339 = load i64, i64* %39
%340 = load i64, i64* %60
%341 = icmp ult i64 %339, %340
%342 = zext i1 %341 to i32
%343 = add nsw i32 %338, %342
%344 = sext i32 %343 to i64
%345 = sub i64 %334, %344
store i64 %345, i64* %61
%346 = load i64, i64* %40
%347 = load i64, i64* %41
%348 = icmp ult i64 %346, %347
%349 = zext i1 %348 to i32
%350 = load i64, i64* %41
%351 = load i64, i64* %61
%352 = icmp ult i64 %350, %351
%353 = zext i1 %352 to i32
%354 = add nsw i32 %349, %353
%355 = sext i32 %354 to i64
%356 = icmp eq i64 %355, 0
%357 = zext i1 %356 to i32
%358 = sext i32 %357 to i64
%359 = add i64 -1, %358
store i64 %359, i64* %62
%360 = load i64, i64* %42
%361 = load i64, i64* %62
%362 = add i64 %360, %361
store i64 %362, i64* %63
%363 = load i64, i64* %63
%364 = load i64, i64* %42
%365 = icmp ult i64 %363, %364
%366 = zext i1 %365 to i32
%367 = sext i32 %366 to i64
%368 = load i64, i64* %43
%369 = add i64 %367, %368
store i64 %369, i64* %64
%370 = load i64, i64* %64
%371 = load i64, i64* %43
%372 = icmp ult i64 %370, %371
%373 = zext i1 %372 to i32
%374 = sext i32 %373 to i64
%375 = load i64, i64* %44
%376 = add i64 %374, %375
store i64 %376, i64* %65
%377 = load i64, i64* %65
%378 = load i64, i64* %44
%379 = icmp ult i64 %377, %378
%380 = zext i1 %379 to i32
%381 = sext i32 %380 to i64
%382 = load i64, i64* %46
%383 = add i64 %381, %382
store i64 %383, i64* %45
%384 = load i64, i64* %45
%385 = load i64, i64* %62
%386 = add i64 %384, %385
store i64 %386, i64* %66
%387 = load i64, i64* %45
%388 = load i64, i64* %46
%389 = icmp ult i64 %387, %388
%390 = zext i1 %389 to i32
%391 = load i64, i64* %66
%392 = load i64, i64* %62
%393 = icmp ult i64 %391, %392
%394 = zext i1 %393 to i32
%395 = add nsw i32 %390, %394
%396 = sext i32 %395 to i64
%397 = load i64, i64* %48
%398 = add i64 %396, %397
store i64 %398, i64* %47
%399 = load i64, i64* %47
%400 = load i64, i64* %62
%401 = and i64 %400, 4294967294
%402 = add i64 %399, %401
store i64 %402, i64* %67
%403 = load i64, i64* %47
%404 = load i64, i64* %48
%405 = icmp ult i64 %403, %404
%406 = zext i1 %405 to i32
%407 = load i64, i64* %67
%408 = load i64, i64* %62
%409 = and i64 %408, 4294967294
%410 = icmp ult i64 %407, %409
%411 = zext i1 %410 to i32
%412 = add nsw i32 %406, %411
%413 = sext i32 %412 to i64
%414 = load i64, i64* %50
%415 = add i64 %413, %414
store i64 %415, i64* %49
%416 = load i64, i64* %49
%417 = load i64, i64* %62
%418 = add i64 %416, %417
store i64 %418, i64* %68
%419 = load i64, i64* %49
%420 = load i64, i64* %50
%421 = icmp ult i64 %419, %420
%422 = zext i1 %421 to i32
%423 = load i64, i64* %68
%424 = load i64, i64* %62
%425 = icmp ult i64 %423, %424
%426 = zext i1 %425 to i32
%427 = add nsw i32 %422, %426
%428 = sext i32 %427 to i64
%429 = load i64, i64* %52
%430 = add i64 %428, %429
store i64 %430, i64* %51
%431 = load i64, i64* %51
%432 = load i64, i64* %62
%433 = add i64 %431, %432
store i64 %433, i64* %69
%434 = load i64, i64* %51
%435 = load i64, i64* %52
%436 = icmp ult i64 %434, %435
%437 = zext i1 %436 to i32
%438 = load i64, i64* %69
%439 = load i64, i64* %62
%440 = icmp ult i64 %438, %439
%441 = zext i1 %440 to i32
%442 = add nsw i32 %437, %441
%443 = sext i32 %442 to i64
%444 = load i64, i64* %54
%445 = add i64 %443, %444
store i64 %445, i64* %53
%446 = load i64, i64* %53
%447 = load i64, i64* %62
%448 = add i64 %446, %447
store i64 %448, i64* %70
%449 = load i64, i64* %53
%450 = load i64, i64* %54
%451 = icmp ult i64 %449, %450
%452 = zext i1 %451 to i32
%453 = load i64, i64* %70
%454 = load i64, i64* %62
%455 = icmp ult i64 %453, %454
%456 = zext i1 %455 to i32
%457 = add nsw i32 %452, %456
%458 = sext i32 %457 to i64
%459 = load i64, i64* %56
%460 = add i64 %458, %459
store i64 %460, i64* %55
%461 = load i64, i64* %55
%462 = load i64, i64* %62
%463 = add i64 %461, %462
store i64 %463, i64* %71
%464 = load i64, i64* %55
%465 = load i64, i64* %56
%466 = icmp ult i64 %464, %465
%467 = zext i1 %466 to i32
%468 = load i64, i64* %71
%469 = load i64, i64* %62
%470 = icmp ult i64 %468, %469
%471 = zext i1 %470 to i32
%472 = add nsw i32 %467, %471
%473 = sext i32 %472 to i64
%474 = load i64, i64* %58
%475 = add i64 %473, %474
store i64 %475, i64* %57
%476 = load i64, i64* %57
%477 = load i64, i64* %62
%478 = add i64 %476, %477
store i64 %478, i64* %72
%479 = load i64, i64* %57
%480 = load i64, i64* %58
%481 = icmp ult i64 %479, %480
%482 = zext i1 %481 to i32
%483 = load i64, i64* %72
%484 = load i64, i64* %62
%485 = icmp ult i64 %483, %484
%486 = zext i1 %485 to i32
%487 = add nsw i32 %482, %486
%488 = sext i32 %487 to i64
%489 = load i64, i64* %60
%490 = add i64 %488, %489
store i64 %490, i64* %59
%491 = load i64, i64* %59
%492 = load i64, i64* %62
%493 = add i64 %491, %492
store i64 %493, i64* %73
%494 = load i64, i64* %59
%495 = load i64, i64* %60
%496 = icmp ult i64 %494, %495
%497 = zext i1 %496 to i32
%498 = load i64, i64* %73
%499 = load i64, i64* %62
%500 = icmp ult i64 %498, %499
%501 = zext i1 %500 to i32
%502 = add nsw i32 %497, %501
%503 = sext i32 %502 to i64
%504 = load i64, i64* %61
%505 = add i64 %503, %504
%506 = load i64, i64* %62
%507 = add i64 %505, %506
store i64 %507, i64* %74
%508 = load i64, i64* %63
store i64 %508, i64* %75
%509 = load i64, i64* %64
store i64 %509, i64* %76
%510 = load i64, i64* %65
store i64 %510, i64* %77
%511 = load i64, i64* %66
store i64 %511, i64* %78
%512 = load i64, i64* %67
store i64 %512, i64* %79
%513 = load i64, i64* %68
store i64 %513, i64* %80
%514 = load i64, i64* %69
store i64 %514, i64* %81
%515 = load i64, i64* %70
store i64 %515, i64* %82
%516 = load i64, i64* %71
store i64 %516, i64* %83
%517 = load i64, i64* %72
store i64 %517, i64* %84
%518 = load i64, i64* %73
store i64 %518, i64* %85
%519 = load i64, i64* %74
store i64 %519, i64* %86
%520 = load i64, i64* %4
%521 = add i64 %520, 0
%522 = trunc i64 %521 to i32
%523 = load i64, i64* %75
%524 = call i32 @_br2_store(i32 %522, i64 %523, i32 8)
%525 = load i64, i64* %4
%526 = add i64 %525, 4
%527 = trunc i64 %526 to i32
%528 = load i64, i64* %76
%529 = call i32 @_br2_store(i32 %527, i64 %528, i32 8)
%530 = load i64, i64* %4
%531 = add i64 %530, 8
%532 = trunc i64 %531 to i32
%533 = load i64, i64* %77
%534 = call i32 @_br2_store(i32 %532, i64 %533, i32 8)
%535 = load i64, i64* %4
%536 = add i64 %535, 12
%537 = trunc i64 %536 to i32
%538 = load i64, i64* %78
%539 = call i32 @_br2_store(i32 %537, i64 %538, i32 8)
%540 = load i64, i64* %4
%541 = add i64 %540, 16
%542 = trunc i64 %541 to i32
%543 = load i64, i64* %79
%544 = call i32 @_br2_store(i32 %542, i64 %543, i32 8)
%545 = load i64, i64* %4
%546 = add i64 %545, 20
%547 = trunc i64 %546 to i32
%548 = load i64, i64* %80
%549 = call i32 @_br2_store(i32 %547, i64 %548, i32 8)
%550 = load i64, i64* %4
%551 = add i64 %550, 24
%552 = trunc i64 %551 to i32
%553 = load i64, i64* %81
%554 = call i32 @_br2_store(i32 %552, i64 %553, i32 8)
%555 = load i64, i64* %4
%556 = add i64 %555, 28
%557 = trunc i64 %556 to i32
%558 = load i64, i64* %82
%559 = call i32 @_br2_store(i32 %557, i64 %558, i32 8)
%560 = load i64, i64* %4
%561 = add i64 %560, 32
%562 = trunc i64 %561 to i32
%563 = load i64, i64* %83
%564 = call i32 @_br2_store(i32 %562, i64 %563, i32 8)
%565 = load i64, i64* %4
%566 = add i64 %565, 36
%567 = trunc i64 %566 to i32
%568 = load i64, i64* %84
%569 = call i32 @_br2_store(i32 %567, i64 %568, i32 8)
%570 = load i64, i64* %4
%571 = add i64 %570, 40
%572 = trunc i64 %571 to i32
%573 = load i64, i64* %85
%574 = call i32 @_br2_store(i32 %572, i64 %573, i32 8)
%575 = load i64, i64* %4
%576 = add i64 %575, 44
%577 = trunc i64 %576 to i32
%578 = load i64, i64* %86
%579 = call i32 @_br2_store(i32 %577, i64 %578, i32 8)
ret void
}

LLVM IR (-O2):
define void @internal_fiat_p384_sub(i64 %0, i64 %1, i64 %2) {
%4 = trunc i64 %1 to i32
%5 = tail call i64 @_br2_load(i32 %4, i32 8)
%6 = add i32 %4, 4
%7 = tail call i64 @_br2_load(i32 %6, i32 8)
%8 = add i32 %4, 8
%9 = tail call i64 @_br2_load(i32 %8, i32 8)
%10 = add i32 %4, 12
%11 = tail call i64 @_br2_load(i32 %10, i32 8)
%12 = add i32 %4, 16
%13 = tail call i64 @_br2_load(i32 %12, i32 8)
%14 = add i32 %4, 20
%15 = tail call i64 @_br2_load(i32 %14, i32 8)
%16 = add i32 %4, 24
%17 = tail call i64 @_br2_load(i32 %16, i32 8)
%18 = add i32 %4, 28
%19 = tail call i64 @_br2_load(i32 %18, i32 8)
%20 = add i32 %4, 32
%21 = tail call i64 @_br2_load(i32 %20, i32 8)
%22 = add i32 %4, 36
%23 = tail call i64 @_br2_load(i32 %22, i32 8)
%24 = add i32 %4, 40
%25 = tail call i64 @_br2_load(i32 %24, i32 8)
%26 = add i32 %4, 44
%27 = tail call i64 @_br2_load(i32 %26, i32 8)
%28 = trunc i64 %2 to i32
%29 = tail call i64 @_br2_load(i32 %28, i32 8)
%30 = add i32 %28, 4
%31 = tail call i64 @_br2_load(i32 %30, i32 8)
%32 = add i32 %28, 8
%33 = tail call i64 @_br2_load(i32 %32, i32 8)
%34 = add i32 %28, 12
%35 = tail call i64 @_br2_load(i32 %34, i32 8)
%36 = add i32 %28, 16
%37 = tail call i64 @_br2_load(i32 %36, i32 8)
%38 = add i32 %28, 20
%39 = tail call i64 @_br2_load(i32 %38, i32 8)
%40 = add i32 %28, 24
%41 = tail call i64 @_br2_load(i32 %40, i32 8)
%42 = add i32 %28, 28
%43 = tail call i64 @_br2_load(i32 %42, i32 8)
%44 = add i32 %28, 32
%45 = tail call i64 @_br2_load(i32 %44, i32 8)
%46 = add i32 %28, 36
%47 = tail call i64 @_br2_load(i32 %46, i32 8)
%48 = add i32 %28, 40
%49 = tail call i64 @_br2_load(i32 %48, i32 8)
%50 = add i32 %28, 44
%51 = tail call i64 @_br2_load(i32 %50, i32 8)
%52 = sub i64 %5, %29
%53 = sub i64 %7, %31
%54 = icmp ult i64 %5, %29
%55 = sext i1 %54 to i64
%56 = add i64 %53, %55
%57 = sub i64 %9, %33
%58 = icmp ult i64 %7, %31
%59 = sext i1 %58 to i64
%60 = icmp ult i64 %53, %56
%61 = sext i1 %60 to i64
%62 = add i64 %57, %59
%63 = add i64 %62, %61
%64 = sub i64 %11, %35
%65 = icmp ult i64 %9, %33
%66 = sext i1 %65 to i64
%67 = icmp ult i64 %57, %63
%68 = sext i1 %67 to i64
%69 = add i64 %64, %66
%70 = add i64 %69, %68
%71 = sub i64 %13, %37
%72 = icmp ult i64 %11, %35
%73 = sext i1 %72 to i64
%74 = icmp ult i64 %64, %70
%75 = sext i1 %74 to i64
%76 = add i64 %71, %73
%77 = add i64 %76, %75
%78 = sub i64 %15, %39
%79 = icmp ult i64 %13, %37
%80 = sext i1 %79 to i64
%81 = icmp ult i64 %71, %77
%82 = sext i1 %81 to i64
%83 = add i64 %78, %80
%84 = add i64 %83, %82
%85 = sub i64 %17, %41
%86 = icmp ult i64 %15, %39
%87 = sext i1 %86 to i64
%88 = icmp ult i64 %78, %84
%89 = sext i1 %88 to i64
%90 = add i64 %85, %87
%91 = add i64 %90, %89
%92 = sub i64 %19, %43
%93 = icmp ult i64 %17, %41
%94 = sext i1 %93 to i64
%95 = icmp ult i64 %85, %91
%96 = sext i1 %95 to i64
%97 = add i64 %92, %94
%98 = add i64 %97, %96
%99 = sub i64 %21, %45
%100 = icmp ult i64 %19, %43
%101 = sext i1 %100 to i64
%102 = icmp ult i64 %92, %98
%103 = sext i1 %102 to i64
%104 = add i64 %99, %101
%105 = add i64 %104, %103
%106 = sub i64 %23, %47
%107 = icmp ult i64 %21, %45
%108 = sext i1 %107 to i64
%109 = icmp ult i64 %99, %105
%110 = sext i1 %109 to i64
%111 = add i64 %106, %108
%112 = add i64 %111, %110
%113 = sub i64 %25, %49
%114 = icmp ult i64 %23, %47
%115 = sext i1 %114 to i64
%116 = icmp ult i64 %106, %112
%117 = sext i1 %116 to i64
%118 = add i64 %113, %115
%119 = add i64 %118, %117
%120 = sub i64 %27, %51
%121 = icmp ult i64 %25, %49
%122 = sext i1 %121 to i64
%123 = icmp ult i64 %113, %119
%124 = sext i1 %123 to i64
%125 = add i64 %120, %122
%126 = add i64 %125, %124
%127 = icmp ult i64 %27, %51
%128 = zext i1 %127 to i64
%129 = icmp ult i64 %120, %126
%130 = sext i1 %129 to i64
%131 = icmp ne i64 %128, %130
%132 = sext i1 %131 to i64
%133 = add i64 %52, %132
%134 = icmp ult i64 %133, %52
%135 = zext i1 %134 to i64
%136 = add i64 %56, %135
%137 = icmp ult i64 %136, %56
%138 = zext i1 %137 to i64
%139 = add i64 %63, %138
%140 = icmp ult i64 %139, %63
%141 = zext i1 %140 to i64
%142 = add i64 %70, %141
%143 = add i64 %142, %132
%144 = icmp ult i64 %142, %70
%145 = zext i1 %144 to i64
%146 = icmp ult i64 %143, %132
%147 = zext i1 %146 to i64
%148 = add i64 %77, %145
%149 = add i64 %148, %147
%150 = select i1 %131, i64 4294967294, i64 0
%151 = add i64 %149, %150
%152 = icmp ult i64 %149, %77
%153 = zext i1 %152 to i64
%154 = icmp ult i64 %151, %150
%155 = zext i1 %154 to i64
%156 = add i64 %84, %153
%157 = add i64 %156, %155
%158 = add i64 %157, %132
%159 = icmp ult i64 %157, %84
%160 = zext i1 %159 to i64
%161 = icmp ult i64 %158, %132
%162 = zext i1 %161 to i64
%163 = add i64 %91, %160
%164 = add i64 %163, %162
%165 = add i64 %164, %132
%166 = icmp ult i64 %164, %91
%167 = zext i1 %166 to i64
%168 = icmp ult i64 %165, %132
%169 = zext i1 %168 to i64
%170 = add i64 %98, %167
%171 = add i64 %170, %169
%172 = add i64 %171, %132
%173 = icmp ult i64 %171, %98
%174 = zext i1 %173 to i64
%175 = icmp ult i64 %172, %132
%176 = zext i1 %175 to i64
%177 = add i64 %105, %174
%178 = add i64 %177, %176
%179 = add i64 %178, %132
%180 = icmp ult i64 %178, %105
%181 = zext i1 %180 to i64
%182 = icmp ult i64 %179, %132
%183 = zext i1 %182 to i64
%184 = add i64 %112, %181
%185 = add i64 %184, %183
%186 = add i64 %185, %132
%187 = icmp ult i64 %185, %112
%188 = zext i1 %187 to i64
%189 = icmp ult i64 %186, %132
%190 = zext i1 %189 to i64
%191 = add i64 %119, %188
%192 = add i64 %191, %190
%193 = add i64 %192, %132
%194 = icmp ult i64 %192, %119
%195 = zext i1 %194 to i64
%196 = icmp ult i64 %193, %132
%197 = zext i1 %196 to i64
%198 = add i64 %126, %132
%199 = add i64 %198, %195
%200 = add i64 %199, %197
%201 = trunc i64 %0 to i32
%202 = tail call i32 @_br2_store(i32 %201, i64 %133, i32 8)
%203 = add i32 %201, 4
%204 = tail call i32 @_br2_store(i32 %203, i64 %136, i32 8)
%205 = add i32 %201, 8
%206 = tail call i32 @_br2_store(i32 %205, i64 %139, i32 8)
%207 = add i32 %201, 12
%208 = tail call i32 @_br2_store(i32 %207, i64 %143, i32 8)
%209 = add i32 %201, 16
%210 = tail call i32 @_br2_store(i32 %209, i64 %151, i32 8)
%211 = add i32 %201, 20
%212 = tail call i32 @_br2_store(i32 %211, i64 %158, i32 8)
%213 = add i32 %201, 24
%214 = tail call i32 @_br2_store(i32 %213, i64 %165, i32 8)
%215 = add i32 %201, 28
%216 = tail call i32 @_br2_store(i32 %215, i64 %172, i32 8)
%217 = add i32 %201, 32
%218 = tail call i32 @_br2_store(i32 %217, i64 %179, i32 8)
%219 = add i32 %201, 36
%220 = tail call i32 @_br2_store(i32 %219, i64 %186, i32 8)
%221 = add i32 %201, 40
%222 = tail call i32 @_br2_store(i32 %221, i64 %193, i32 8)
%223 = add i32 %201, 44
%224 = tail call i32 @_br2_store(i32 %223, i64 %200, i32 8)
ret void
}