#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 scalar_t__ uint8_t;
typedef int uint64_t;

/* Variables and functions */
int UINT8_C(int);
void fiat_secp256k1_to_bytes(uint8_t out1[32], const uint64_t arg1[4]) {
  uint64_t x1;
  uint64_t x2;
  uint64_t x3;
  uint64_t x4;
  uint8_t x5;
  uint64_t x6;
  uint8_t x7;
  uint64_t x8;
  uint8_t x9;
  uint64_t x10;
  uint8_t x11;
  uint64_t x12;
  uint8_t x13;
  uint64_t x14;
  uint8_t x15;
  uint64_t x16;
  uint8_t x17;
  uint8_t x18;
  uint8_t x19;
  uint64_t x20;
  uint8_t x21;
  uint64_t x22;
  uint8_t x23;
  uint64_t x24;
  uint8_t x25;
  uint64_t x26;
  uint8_t x27;
  uint64_t x28;
  uint8_t x29;
  uint64_t x30;
  uint8_t x31;
  uint8_t x32;
  uint8_t x33;
  uint64_t x34;
  uint8_t x35;
  uint64_t x36;
  uint8_t x37;
  uint64_t x38;
  uint8_t x39;
  uint64_t x40;
  uint8_t x41;
  uint64_t x42;
  uint8_t x43;
  uint64_t x44;
  uint8_t x45;
  uint8_t x46;
  uint8_t x47;
  uint64_t x48;
  uint8_t x49;
  uint64_t x50;
  uint8_t x51;
  uint64_t x52;
  uint8_t x53;
  uint64_t x54;
  uint8_t x55;
  uint64_t x56;
  uint8_t x57;
  uint64_t x58;
  uint8_t x59;
  uint8_t x60;
  x1 = (arg1[3]);
  x2 = (arg1[2]);
  x3 = (arg1[1]);
  x4 = (arg1[0]);
  x5 = (uint8_t)(x4 & UINT8_C(0xff));
  x6 = (x4 >> 8);
  x7 = (uint8_t)(x6 & UINT8_C(0xff));
  x8 = (x6 >> 8);
  x9 = (uint8_t)(x8 & UINT8_C(0xff));
  x10 = (x8 >> 8);
  x11 = (uint8_t)(x10 & UINT8_C(0xff));
  x12 = (x10 >> 8);
  x13 = (uint8_t)(x12 & UINT8_C(0xff));
  x14 = (x12 >> 8);
  x15 = (uint8_t)(x14 & UINT8_C(0xff));
  x16 = (x14 >> 8);
  x17 = (uint8_t)(x16 & UINT8_C(0xff));
  x18 = (uint8_t)(x16 >> 8);
  x19 = (uint8_t)(x3 & UINT8_C(0xff));
  x20 = (x3 >> 8);
  x21 = (uint8_t)(x20 & UINT8_C(0xff));
  x22 = (x20 >> 8);
  x23 = (uint8_t)(x22 & UINT8_C(0xff));
  x24 = (x22 >> 8);
  x25 = (uint8_t)(x24 & UINT8_C(0xff));
  x26 = (x24 >> 8);
  x27 = (uint8_t)(x26 & UINT8_C(0xff));
  x28 = (x26 >> 8);
  x29 = (uint8_t)(x28 & UINT8_C(0xff));
  x30 = (x28 >> 8);
  x31 = (uint8_t)(x30 & UINT8_C(0xff));
  x32 = (uint8_t)(x30 >> 8);
  x33 = (uint8_t)(x2 & UINT8_C(0xff));
  x34 = (x2 >> 8);
  x35 = (uint8_t)(x34 & UINT8_C(0xff));
  x36 = (x34 >> 8);
  x37 = (uint8_t)(x36 & UINT8_C(0xff));
  x38 = (x36 >> 8);
  x39 = (uint8_t)(x38 & UINT8_C(0xff));
  x40 = (x38 >> 8);
  x41 = (uint8_t)(x40 & UINT8_C(0xff));
  x42 = (x40 >> 8);
  x43 = (uint8_t)(x42 & UINT8_C(0xff));
  x44 = (x42 >> 8);
  x45 = (uint8_t)(x44 & UINT8_C(0xff));
  x46 = (uint8_t)(x44 >> 8);
  x47 = (uint8_t)(x1 & UINT8_C(0xff));
  x48 = (x1 >> 8);
  x49 = (uint8_t)(x48 & UINT8_C(0xff));
  x50 = (x48 >> 8);
  x51 = (uint8_t)(x50 & UINT8_C(0xff));
  x52 = (x50 >> 8);
  x53 = (uint8_t)(x52 & UINT8_C(0xff));
  x54 = (x52 >> 8);
  x55 = (uint8_t)(x54 & UINT8_C(0xff));
  x56 = (x54 >> 8);
  x57 = (uint8_t)(x56 & UINT8_C(0xff));
  x58 = (x56 >> 8);
  x59 = (uint8_t)(x58 & UINT8_C(0xff));
  x60 = (uint8_t)(x58 >> 8);
  out1[0] = x5;
  out1[1] = x7;
  out1[2] = x9;
  out1[3] = x11;
  out1[4] = x13;
  out1[5] = x15;
  out1[6] = x17;
  out1[7] = x18;
  out1[8] = x19;
  out1[9] = x21;
  out1[10] = x23;
  out1[11] = x25;
  out1[12] = x27;
  out1[13] = x29;
  out1[14] = x31;
  out1[15] = x32;
  out1[16] = x33;
  out1[17] = x35;
  out1[18] = x37;
  out1[19] = x39;
  out1[20] = x41;
  out1[21] = x43;
  out1[22] = x45;
  out1[23] = x46;
  out1[24] = x47;
  out1[25] = x49;
  out1[26] = x51;
  out1[27] = x53;
  out1[28] = x55;
  out1[29] = x57;
  out1[30] = x59;
  out1[31] = x60;
}


x86 assembly (clang, -O0):
<fiat_secp256k1_to_bytes>:
push   %rbp
mov    %rsp,%rbp
sub    $0x250,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x10(%rbp),%rax
mov    0xc(%rax),%eax
mov    %eax,-0x14(%rbp)
mov    -0x10(%rbp),%rax
mov    0x8(%rax),%eax
mov    %eax,-0x18(%rbp)
mov    -0x10(%rbp),%rax
mov    0x4(%rax),%eax
mov    %eax,-0x1c(%rbp)
mov    -0x10(%rbp),%rax
mov    (%rax),%eax
mov    %eax,-0x20(%rbp)
mov    -0x20(%rbp),%eax
mov    %eax,-0x250(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x250(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x28(%rbp)
mov    -0x20(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
mov    %eax,-0x24c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x24c(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x38(%rbp)
mov    -0x2c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x3c(%rbp)
mov    -0x3c(%rbp),%eax
mov    %eax,-0x248(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x248(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x48(%rbp)
mov    -0x3c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x4c(%rbp)
mov    -0x4c(%rbp),%eax
mov    %eax,-0x244(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x244(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x58(%rbp)
mov    -0x4c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x5c(%rbp)
mov    -0x5c(%rbp),%eax
mov    %eax,-0x240(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x240(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x68(%rbp)
mov    -0x5c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x6c(%rbp)
mov    -0x6c(%rbp),%eax
mov    %eax,-0x23c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x23c(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x78(%rbp)
mov    -0x6c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x7c(%rbp)
mov    -0x7c(%rbp),%eax
mov    %eax,-0x238(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x238(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x88(%rbp)
mov    -0x7c(%rbp),%eax
sar    $0x8,%eax
cltq
mov    %rax,-0x90(%rbp)
mov    -0x1c(%rbp),%eax
mov    %eax,-0x234(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x234(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x98(%rbp)
mov    -0x1c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x9c(%rbp)
mov    -0x9c(%rbp),%eax
mov    %eax,-0x230(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x230(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0xa8(%rbp)
mov    -0x9c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xac(%rbp)
mov    -0xac(%rbp),%eax
mov    %eax,-0x22c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x22c(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0xb8(%rbp)
mov    -0xac(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xbc(%rbp)
mov    -0xbc(%rbp),%eax
mov    %eax,-0x228(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x228(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0xc8(%rbp)
mov    -0xbc(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xcc(%rbp)
mov    -0xcc(%rbp),%eax
mov    %eax,-0x224(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x224(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0xd8(%rbp)
mov    -0xcc(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xdc(%rbp)
mov    -0xdc(%rbp),%eax
mov    %eax,-0x220(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x220(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0xe8(%rbp)
mov    -0xdc(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0xec(%rbp)
mov    -0xec(%rbp),%eax
mov    %eax,-0x21c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x21c(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0xf8(%rbp)
mov    -0xec(%rbp),%eax
sar    $0x8,%eax
cltq
mov    %rax,-0x100(%rbp)
mov    -0x18(%rbp),%eax
mov    %eax,-0x218(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x218(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x108(%rbp)
mov    -0x18(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x10c(%rbp)
mov    -0x10c(%rbp),%eax
mov    %eax,-0x214(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x214(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x118(%rbp)
mov    -0x10c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x11c(%rbp)
mov    -0x11c(%rbp),%eax
mov    %eax,-0x210(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x210(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x128(%rbp)
mov    -0x11c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x12c(%rbp)
mov    -0x12c(%rbp),%eax
mov    %eax,-0x20c(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x20c(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x138(%rbp)
mov    -0x12c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x13c(%rbp)
mov    -0x13c(%rbp),%eax
mov    %eax,-0x208(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x208(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x148(%rbp)
mov    -0x13c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x14c(%rbp)
mov    -0x14c(%rbp),%eax
mov    %eax,-0x204(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x204(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x158(%rbp)
mov    -0x14c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x15c(%rbp)
mov    -0x15c(%rbp),%eax
mov    %eax,-0x200(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x200(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x168(%rbp)
mov    -0x15c(%rbp),%eax
sar    $0x8,%eax
cltq
mov    %rax,-0x170(%rbp)
mov    -0x14(%rbp),%eax
mov    %eax,-0x1fc(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1fc(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x178(%rbp)
mov    -0x14(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x17c(%rbp)
mov    -0x17c(%rbp),%eax
mov    %eax,-0x1f8(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1f8(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x188(%rbp)
mov    -0x17c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x18c(%rbp)
mov    -0x18c(%rbp),%eax
mov    %eax,-0x1f4(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1f4(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x198(%rbp)
mov    -0x18c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x19c(%rbp)
mov    -0x19c(%rbp),%eax
mov    %eax,-0x1f0(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1f0(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x1a8(%rbp)
mov    -0x19c(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x1ac(%rbp)
mov    -0x1ac(%rbp),%eax
mov    %eax,-0x1ec(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1ec(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x1b8(%rbp)
mov    -0x1ac(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x1bc(%rbp)
mov    -0x1bc(%rbp),%eax
mov    %eax,-0x1e8(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1e8(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x1c8(%rbp)
mov    -0x1bc(%rbp),%eax
sar    $0x8,%eax
mov    %eax,-0x1cc(%rbp)
mov    -0x1cc(%rbp),%eax
mov    %eax,-0x1e4(%rbp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    %eax,%ecx
mov    -0x1e4(%rbp),%eax
and    %ecx,%eax
cltq
mov    %rax,-0x1d8(%rbp)
mov    -0x1cc(%rbp),%eax
sar    $0x8,%eax
cltq
mov    %rax,-0x1e0(%rbp)
mov    -0x28(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,(%rax)
mov    -0x38(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x8(%rax)
mov    -0x48(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x10(%rax)
mov    -0x58(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x18(%rax)
mov    -0x68(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x20(%rax)
mov    -0x78(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x28(%rax)
mov    -0x88(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x30(%rax)
mov    -0x90(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x38(%rax)
mov    -0x98(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x40(%rax)
mov    -0xa8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x48(%rax)
mov    -0xb8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x50(%rax)
mov    -0xc8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x58(%rax)
mov    -0xd8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x60(%rax)
mov    -0xe8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x68(%rax)
mov    -0xf8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x70(%rax)
mov    -0x100(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x78(%rax)
mov    -0x108(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x80(%rax)
mov    -0x118(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x88(%rax)
mov    -0x128(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x90(%rax)
mov    -0x138(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0x98(%rax)
mov    -0x148(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xa0(%rax)
mov    -0x158(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xa8(%rax)
mov    -0x168(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xb0(%rax)
mov    -0x170(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xb8(%rax)
mov    -0x178(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xc0(%rax)
mov    -0x188(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xc8(%rax)
mov    -0x198(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xd0(%rax)
mov    -0x1a8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xd8(%rax)
mov    -0x1b8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xe0(%rax)
mov    -0x1c8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xe8(%rax)
mov    -0x1d8(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xf0(%rax)
mov    -0x1e0(%rbp),%rcx
mov    -0x8(%rbp),%rax
mov    %rcx,0xf8(%rax)
add    $0x250,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<fiat_secp256k1_to_bytes>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xd8,%rsp
mov    %rdi,%r13
mov    0xc(%rsi),%r15d
mov    0x8(%rsi),%r14d
mov    (%rsi),%ebx
mov    0x4(%rsi),%r12d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0xd0(%rsp)
mov    %ebx,%ebp
sar    $0x8,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
cltq
mov    %rax,0xc8(%rsp)
mov    %ebx,%ebp
sar    $0x10,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
cltq
mov    %rax,0xc0(%rsp)
mov    %ebx,%ebp
sar    $0x18,%ebp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebp,%eax
cltq
mov    %rax,0xb8(%rsp)
sar    $0x1f,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0xb0(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0xa8(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0xa0(%rsp)
movslq %ebx,%rax
mov    %rax,0x98(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
cltq
mov    %rax,0x90(%rsp)
mov    %r12d,%ebx
sar    $0x8,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0x88(%rsp)
mov    %r12d,%ebx
sar    $0x10,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0x80(%rsp)
mov    %r12d,%ebx
sar    $0x18,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0x78(%rsp)
sar    $0x1f,%r12d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
cltq
mov    %rax,0x70(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
cltq
mov    %rax,0x68(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r12d,%eax
cltq
mov    %rax,0x60(%rsp)
movslq %r12d,%rax
mov    %rax,0x58(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
cltq
mov    %rax,0x50(%rsp)
mov    %r14d,%ebx
sar    $0x8,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0x48(%rsp)
mov    %r14d,%ebx
sar    $0x10,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0x40(%rsp)
mov    %r14d,%ebx
sar    $0x18,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0x38(%rsp)
sar    $0x1f,%r14d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
cltq
mov    %rax,0x30(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
cltq
mov    %rax,0x28(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r14d,%eax
cltq
mov    %rax,0x20(%rsp)
movslq %r14d,%rax
mov    %rax,0x18(%rsp)
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
cltq
mov    %rax,0x10(%rsp)
mov    %r15d,%ebx
sar    $0x8,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
cltq
mov    %rax,0x8(%rsp)
mov    %r15d,%ebx
sar    $0x10,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
movslq %eax,%r14
mov    %r15d,%ebx
sar    $0x18,%ebx
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %ebx,%eax
movslq %eax,%rbx
sar    $0x1f,%r15d
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
movslq %eax,%rbp
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
and    %r15d,%eax
movslq %eax,%r12
mov    $0xff,%edi
call   1030 <UINT8_C@plt>
mov    0xd0(%rsp),%rcx
mov    %rcx,0x0(%r13)
mov    0xc8(%rsp),%rcx
mov    %rcx,0x8(%r13)
mov    0xc0(%rsp),%rcx
mov    %rcx,0x10(%r13)
mov    0xb8(%rsp),%rcx
mov    %rcx,0x18(%r13)
mov    0xb0(%rsp),%rcx
mov    %rcx,0x20(%r13)
mov    0xa8(%rsp),%rcx
mov    %rcx,0x28(%r13)
mov    0xa0(%rsp),%rcx
mov    %rcx,0x30(%r13)
mov    0x98(%rsp),%rcx
mov    %rcx,0x38(%r13)
mov    0x90(%rsp),%rcx
mov    %rcx,0x40(%r13)
mov    0x88(%rsp),%rcx
mov    %rcx,0x48(%r13)
mov    0x80(%rsp),%rcx
mov    %rcx,0x50(%r13)
mov    0x78(%rsp),%rcx
mov    %rcx,0x58(%r13)
mov    0x70(%rsp),%rcx
mov    %rcx,0x60(%r13)
mov    0x68(%rsp),%rcx
mov    %rcx,0x68(%r13)
mov    0x60(%rsp),%rcx
mov    %rcx,0x70(%r13)
mov    0x58(%rsp),%rcx
mov    %rcx,0x78(%r13)
mov    0x50(%rsp),%rcx
mov    %rcx,0x80(%r13)
mov    0x48(%rsp),%rcx
mov    %rcx,0x88(%r13)
mov    0x40(%rsp),%rcx
mov    %rcx,0x90(%r13)
mov    0x38(%rsp),%rcx
mov    %rcx,0x98(%r13)
mov    0x30(%rsp),%rcx
mov    %rcx,0xa0(%r13)
mov    0x28(%rsp),%rcx
mov    %rcx,0xa8(%r13)
mov    0x20(%rsp),%rcx
mov    %rcx,0xb0(%r13)
mov    0x18(%rsp),%rcx
mov    %rcx,0xb8(%r13)
mov    0x10(%rsp),%rcx
mov    %rcx,0xc0(%r13)
mov    0x8(%rsp),%rcx
mov    %rcx,0xc8(%r13)
mov    %r14,0xd0(%r13)
mov    %rbx,0xd8(%r13)
mov    %rbp,0xe0(%r13)
mov    %r12,0xe8(%r13)
and    %r15d,%eax
cltq
mov    %rax,0xf0(%r13)
movslq %r15d,%rax
mov    %rax,0xf8(%r13)
add    $0xd8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @fiat_secp256k1_to_bytes(i64* %0, i32* %1) {
%3 = alloca i64*
%4 = alloca i32*
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i64
%10 = alloca i32
%11 = alloca i64
%12 = alloca i32
%13 = alloca i64
%14 = alloca i32
%15 = alloca i64
%16 = alloca i32
%17 = alloca i64
%18 = alloca i32
%19 = alloca i64
%20 = alloca i32
%21 = alloca i64
%22 = alloca i64
%23 = alloca i64
%24 = alloca i32
%25 = alloca i64
%26 = alloca i32
%27 = alloca i64
%28 = alloca i32
%29 = alloca i64
%30 = alloca i32
%31 = alloca i64
%32 = alloca i32
%33 = alloca i64
%34 = alloca i32
%35 = alloca i64
%36 = alloca i64
%37 = alloca i64
%38 = alloca i32
%39 = alloca i64
%40 = alloca i32
%41 = alloca i64
%42 = alloca i32
%43 = alloca i64
%44 = alloca i32
%45 = alloca i64
%46 = alloca i32
%47 = alloca i64
%48 = alloca i32
%49 = alloca i64
%50 = alloca i64
%51 = alloca i64
%52 = alloca i32
%53 = alloca i64
%54 = alloca i32
%55 = alloca i64
%56 = alloca i32
%57 = alloca i64
%58 = alloca i32
%59 = alloca i64
%60 = alloca i32
%61 = alloca i64
%62 = alloca i32
%63 = alloca i64
%64 = alloca i64
store i64* %0, i64** %3
store i32* %1, i32** %4
%65 = load i32*, i32** %4
%66 = getelementptr inbounds i32, i32* %65, i64 3
%67 = load i32, i32* %66
store i32 %67, i32* %5
%68 = load i32*, i32** %4
%69 = getelementptr inbounds i32, i32* %68, i64 2
%70 = load i32, i32* %69
store i32 %70, i32* %6
%71 = load i32*, i32** %4
%72 = getelementptr inbounds i32, i32* %71, i64 1
%73 = load i32, i32* %72
store i32 %73, i32* %7
%74 = load i32*, i32** %4
%75 = getelementptr inbounds i32, i32* %74, i64 0
%76 = load i32, i32* %75
store i32 %76, i32* %8
%77 = load i32, i32* %8
%78 = call i32 @UINT8_C(i32 255)
%79 = and i32 %77, %78
%80 = sext i32 %79 to i64
store i64 %80, i64* %9
%81 = load i32, i32* %8
%82 = ashr i32 %81, 8
store i32 %82, i32* %10
%83 = load i32, i32* %10
%84 = call i32 @UINT8_C(i32 255)
%85 = and i32 %83, %84
%86 = sext i32 %85 to i64
store i64 %86, i64* %11
%87 = load i32, i32* %10
%88 = ashr i32 %87, 8
store i32 %88, i32* %12
%89 = load i32, i32* %12
%90 = call i32 @UINT8_C(i32 255)
%91 = and i32 %89, %90
%92 = sext i32 %91 to i64
store i64 %92, i64* %13
%93 = load i32, i32* %12
%94 = ashr i32 %93, 8
store i32 %94, i32* %14
%95 = load i32, i32* %14
%96 = call i32 @UINT8_C(i32 255)
%97 = and i32 %95, %96
%98 = sext i32 %97 to i64
store i64 %98, i64* %15
%99 = load i32, i32* %14
%100 = ashr i32 %99, 8
store i32 %100, i32* %16
%101 = load i32, i32* %16
%102 = call i32 @UINT8_C(i32 255)
%103 = and i32 %101, %102
%104 = sext i32 %103 to i64
store i64 %104, i64* %17
%105 = load i32, i32* %16
%106 = ashr i32 %105, 8
store i32 %106, i32* %18
%107 = load i32, i32* %18
%108 = call i32 @UINT8_C(i32 255)
%109 = and i32 %107, %108
%110 = sext i32 %109 to i64
store i64 %110, i64* %19
%111 = load i32, i32* %18
%112 = ashr i32 %111, 8
store i32 %112, i32* %20
%113 = load i32, i32* %20
%114 = call i32 @UINT8_C(i32 255)
%115 = and i32 %113, %114
%116 = sext i32 %115 to i64
store i64 %116, i64* %21
%117 = load i32, i32* %20
%118 = ashr i32 %117, 8
%119 = sext i32 %118 to i64
store i64 %119, i64* %22
%120 = load i32, i32* %7
%121 = call i32 @UINT8_C(i32 255)
%122 = and i32 %120, %121
%123 = sext i32 %122 to i64
store i64 %123, i64* %23
%124 = load i32, i32* %7
%125 = ashr i32 %124, 8
store i32 %125, i32* %24
%126 = load i32, i32* %24
%127 = call i32 @UINT8_C(i32 255)
%128 = and i32 %126, %127
%129 = sext i32 %128 to i64
store i64 %129, i64* %25
%130 = load i32, i32* %24
%131 = ashr i32 %130, 8
store i32 %131, i32* %26
%132 = load i32, i32* %26
%133 = call i32 @UINT8_C(i32 255)
%134 = and i32 %132, %133
%135 = sext i32 %134 to i64
store i64 %135, i64* %27
%136 = load i32, i32* %26
%137 = ashr i32 %136, 8
store i32 %137, i32* %28
%138 = load i32, i32* %28
%139 = call i32 @UINT8_C(i32 255)
%140 = and i32 %138, %139
%141 = sext i32 %140 to i64
store i64 %141, i64* %29
%142 = load i32, i32* %28
%143 = ashr i32 %142, 8
store i32 %143, i32* %30
%144 = load i32, i32* %30
%145 = call i32 @UINT8_C(i32 255)
%146 = and i32 %144, %145
%147 = sext i32 %146 to i64
store i64 %147, i64* %31
%148 = load i32, i32* %30
%149 = ashr i32 %148, 8
store i32 %149, i32* %32
%150 = load i32, i32* %32
%151 = call i32 @UINT8_C(i32 255)
%152 = and i32 %150, %151
%153 = sext i32 %152 to i64
store i64 %153, i64* %33
%154 = load i32, i32* %32
%155 = ashr i32 %154, 8
store i32 %155, i32* %34
%156 = load i32, i32* %34
%157 = call i32 @UINT8_C(i32 255)
%158 = and i32 %156, %157
%159 = sext i32 %158 to i64
store i64 %159, i64* %35
%160 = load i32, i32* %34
%161 = ashr i32 %160, 8
%162 = sext i32 %161 to i64
store i64 %162, i64* %36
%163 = load i32, i32* %6
%164 = call i32 @UINT8_C(i32 255)
%165 = and i32 %163, %164
%166 = sext i32 %165 to i64
store i64 %166, i64* %37
%167 = load i32, i32* %6
%168 = ashr i32 %167, 8
store i32 %168, i32* %38
%169 = load i32, i32* %38
%170 = call i32 @UINT8_C(i32 255)
%171 = and i32 %169, %170
%172 = sext i32 %171 to i64
store i64 %172, i64* %39
%173 = load i32, i32* %38
%174 = ashr i32 %173, 8
store i32 %174, i32* %40
%175 = load i32, i32* %40
%176 = call i32 @UINT8_C(i32 255)
%177 = and i32 %175, %176
%178 = sext i32 %177 to i64
store i64 %178, i64* %41
%179 = load i32, i32* %40
%180 = ashr i32 %179, 8
store i32 %180, i32* %42
%181 = load i32, i32* %42
%182 = call i32 @UINT8_C(i32 255)
%183 = and i32 %181, %182
%184 = sext i32 %183 to i64
store i64 %184, i64* %43
%185 = load i32, i32* %42
%186 = ashr i32 %185, 8
store i32 %186, i32* %44
%187 = load i32, i32* %44
%188 = call i32 @UINT8_C(i32 255)
%189 = and i32 %187, %188
%190 = sext i32 %189 to i64
store i64 %190, i64* %45
%191 = load i32, i32* %44
%192 = ashr i32 %191, 8
store i32 %192, i32* %46
%193 = load i32, i32* %46
%194 = call i32 @UINT8_C(i32 255)
%195 = and i32 %193, %194
%196 = sext i32 %195 to i64
store i64 %196, i64* %47
%197 = load i32, i32* %46
%198 = ashr i32 %197, 8
store i32 %198, i32* %48
%199 = load i32, i32* %48
%200 = call i32 @UINT8_C(i32 255)
%201 = and i32 %199, %200
%202 = sext i32 %201 to i64
store i64 %202, i64* %49
%203 = load i32, i32* %48
%204 = ashr i32 %203, 8
%205 = sext i32 %204 to i64
store i64 %205, i64* %50
%206 = load i32, i32* %5
%207 = call i32 @UINT8_C(i32 255)
%208 = and i32 %206, %207
%209 = sext i32 %208 to i64
store i64 %209, i64* %51
%210 = load i32, i32* %5
%211 = ashr i32 %210, 8
store i32 %211, i32* %52
%212 = load i32, i32* %52
%213 = call i32 @UINT8_C(i32 255)
%214 = and i32 %212, %213
%215 = sext i32 %214 to i64
store i64 %215, i64* %53
%216 = load i32, i32* %52
%217 = ashr i32 %216, 8
store i32 %217, i32* %54
%218 = load i32, i32* %54
%219 = call i32 @UINT8_C(i32 255)
%220 = and i32 %218, %219
%221 = sext i32 %220 to i64
store i64 %221, i64* %55
%222 = load i32, i32* %54
%223 = ashr i32 %222, 8
store i32 %223, i32* %56
%224 = load i32, i32* %56
%225 = call i32 @UINT8_C(i32 255)
%226 = and i32 %224, %225
%227 = sext i32 %226 to i64
store i64 %227, i64* %57
%228 = load i32, i32* %56
%229 = ashr i32 %228, 8
store i32 %229, i32* %58
%230 = load i32, i32* %58
%231 = call i32 @UINT8_C(i32 255)
%232 = and i32 %230, %231
%233 = sext i32 %232 to i64
store i64 %233, i64* %59
%234 = load i32, i32* %58
%235 = ashr i32 %234, 8
store i32 %235, i32* %60
%236 = load i32, i32* %60
%237 = call i32 @UINT8_C(i32 255)
%238 = and i32 %236, %237
%239 = sext i32 %238 to i64
store i64 %239, i64* %61
%240 = load i32, i32* %60
%241 = ashr i32 %240, 8
store i32 %241, i32* %62
%242 = load i32, i32* %62
%243 = call i32 @UINT8_C(i32 255)
%244 = and i32 %242, %243
%245 = sext i32 %244 to i64
store i64 %245, i64* %63
%246 = load i32, i32* %62
%247 = ashr i32 %246, 8
%248 = sext i32 %247 to i64
store i64 %248, i64* %64
%249 = load i64, i64* %9
%250 = load i64*, i64** %3
%251 = getelementptr inbounds i64, i64* %250, i64 0
store i64 %249, i64* %251
%252 = load i64, i64* %11
%253 = load i64*, i64** %3
%254 = getelementptr inbounds i64, i64* %253, i64 1
store i64 %252, i64* %254
%255 = load i64, i64* %13
%256 = load i64*, i64** %3
%257 = getelementptr inbounds i64, i64* %256, i64 2
store i64 %255, i64* %257
%258 = load i64, i64* %15
%259 = load i64*, i64** %3
%260 = getelementptr inbounds i64, i64* %259, i64 3
store i64 %258, i64* %260
%261 = load i64, i64* %17
%262 = load i64*, i64** %3
%263 = getelementptr inbounds i64, i64* %262, i64 4
store i64 %261, i64* %263
%264 = load i64, i64* %19
%265 = load i64*, i64** %3
%266 = getelementptr inbounds i64, i64* %265, i64 5
store i64 %264, i64* %266
%267 = load i64, i64* %21
%268 = load i64*, i64** %3
%269 = getelementptr inbounds i64, i64* %268, i64 6
store i64 %267, i64* %269
%270 = load i64, i64* %22
%271 = load i64*, i64** %3
%272 = getelementptr inbounds i64, i64* %271, i64 7
store i64 %270, i64* %272
%273 = load i64, i64* %23
%274 = load i64*, i64** %3
%275 = getelementptr inbounds i64, i64* %274, i64 8
store i64 %273, i64* %275
%276 = load i64, i64* %25
%277 = load i64*, i64** %3
%278 = getelementptr inbounds i64, i64* %277, i64 9
store i64 %276, i64* %278
%279 = load i64, i64* %27
%280 = load i64*, i64** %3
%281 = getelementptr inbounds i64, i64* %280, i64 10
store i64 %279, i64* %281
%282 = load i64, i64* %29
%283 = load i64*, i64** %3
%284 = getelementptr inbounds i64, i64* %283, i64 11
store i64 %282, i64* %284
%285 = load i64, i64* %31
%286 = load i64*, i64** %3
%287 = getelementptr inbounds i64, i64* %286, i64 12
store i64 %285, i64* %287
%288 = load i64, i64* %33
%289 = load i64*, i64** %3
%290 = getelementptr inbounds i64, i64* %289, i64 13
store i64 %288, i64* %290
%291 = load i64, i64* %35
%292 = load i64*, i64** %3
%293 = getelementptr inbounds i64, i64* %292, i64 14
store i64 %291, i64* %293
%294 = load i64, i64* %36
%295 = load i64*, i64** %3
%296 = getelementptr inbounds i64, i64* %295, i64 15
store i64 %294, i64* %296
%297 = load i64, i64* %37
%298 = load i64*, i64** %3
%299 = getelementptr inbounds i64, i64* %298, i64 16
store i64 %297, i64* %299
%300 = load i64, i64* %39
%301 = load i64*, i64** %3
%302 = getelementptr inbounds i64, i64* %301, i64 17
store i64 %300, i64* %302
%303 = load i64, i64* %41
%304 = load i64*, i64** %3
%305 = getelementptr inbounds i64, i64* %304, i64 18
store i64 %303, i64* %305
%306 = load i64, i64* %43
%307 = load i64*, i64** %3
%308 = getelementptr inbounds i64, i64* %307, i64 19
store i64 %306, i64* %308
%309 = load i64, i64* %45
%310 = load i64*, i64** %3
%311 = getelementptr inbounds i64, i64* %310, i64 20
store i64 %309, i64* %311
%312 = load i64, i64* %47
%313 = load i64*, i64** %3
%314 = getelementptr inbounds i64, i64* %313, i64 21
store i64 %312, i64* %314
%315 = load i64, i64* %49
%316 = load i64*, i64** %3
%317 = getelementptr inbounds i64, i64* %316, i64 22
store i64 %315, i64* %317
%318 = load i64, i64* %50
%319 = load i64*, i64** %3
%320 = getelementptr inbounds i64, i64* %319, i64 23
store i64 %318, i64* %320
%321 = load i64, i64* %51
%322 = load i64*, i64** %3
%323 = getelementptr inbounds i64, i64* %322, i64 24
store i64 %321, i64* %323
%324 = load i64, i64* %53
%325 = load i64*, i64** %3
%326 = getelementptr inbounds i64, i64* %325, i64 25
store i64 %324, i64* %326
%327 = load i64, i64* %55
%328 = load i64*, i64** %3
%329 = getelementptr inbounds i64, i64* %328, i64 26
store i64 %327, i64* %329
%330 = load i64, i64* %57
%331 = load i64*, i64** %3
%332 = getelementptr inbounds i64, i64* %331, i64 27
store i64 %330, i64* %332
%333 = load i64, i64* %59
%334 = load i64*, i64** %3
%335 = getelementptr inbounds i64, i64* %334, i64 28
store i64 %333, i64* %335
%336 = load i64, i64* %61
%337 = load i64*, i64** %3
%338 = getelementptr inbounds i64, i64* %337, i64 29
store i64 %336, i64* %338
%339 = load i64, i64* %63
%340 = load i64*, i64** %3
%341 = getelementptr inbounds i64, i64* %340, i64 30
store i64 %339, i64* %341
%342 = load i64, i64* %64
%343 = load i64*, i64** %3
%344 = getelementptr inbounds i64, i64* %343, i64 31
store i64 %342, i64* %344
ret void
}

LLVM IR (-O2):
define void @fiat_secp256k1_to_bytes(i64* writeonly %0, i32* nocapture %1) {
%3 = getelementptr inbounds i32, i32* %1, i64 3
%4 = load i32, i32* %3
%5 = getelementptr inbounds i32, i32* %1, i64 2
%6 = load i32, i32* %5
%7 = getelementptr inbounds i32, i32* %1, i64 1
%8 = load i32, i32* %7
%9 = load i32, i32* %1
%10 = tail call i32 @UINT8_C(i32 255)
%11 = and i32 %10, %9
%12 = sext i32 %11 to i64
%13 = ashr i32 %9, 8
%14 = tail call i32 @UINT8_C(i32 255)
%15 = and i32 %14, %13
%16 = sext i32 %15 to i64
%17 = ashr i32 %9, 16
%18 = tail call i32 @UINT8_C(i32 255)
%19 = and i32 %18, %17
%20 = sext i32 %19 to i64
%21 = ashr i32 %9, 24
%22 = tail call i32 @UINT8_C(i32 255)
%23 = and i32 %22, %21
%24 = sext i32 %23 to i64
%25 = ashr i32 %9, 31
%26 = tail call i32 @UINT8_C(i32 255)
%27 = and i32 %26, %25
%28 = sext i32 %27 to i64
%29 = tail call i32 @UINT8_C(i32 255)
%30 = and i32 %29, %25
%31 = sext i32 %30 to i64
%32 = tail call i32 @UINT8_C(i32 255)
%33 = and i32 %32, %25
%34 = sext i32 %33 to i64
%35 = sext i32 %25 to i64
%36 = tail call i32 @UINT8_C(i32 255)
%37 = and i32 %36, %8
%38 = sext i32 %37 to i64
%39 = ashr i32 %8, 8
%40 = tail call i32 @UINT8_C(i32 255)
%41 = and i32 %40, %39
%42 = sext i32 %41 to i64
%43 = ashr i32 %8, 16
%44 = tail call i32 @UINT8_C(i32 255)
%45 = and i32 %44, %43
%46 = sext i32 %45 to i64
%47 = ashr i32 %8, 24
%48 = tail call i32 @UINT8_C(i32 255)
%49 = and i32 %48, %47
%50 = sext i32 %49 to i64
%51 = ashr i32 %8, 31
%52 = tail call i32 @UINT8_C(i32 255)
%53 = and i32 %52, %51
%54 = sext i32 %53 to i64
%55 = tail call i32 @UINT8_C(i32 255)
%56 = and i32 %55, %51
%57 = sext i32 %56 to i64
%58 = tail call i32 @UINT8_C(i32 255)
%59 = and i32 %58, %51
%60 = sext i32 %59 to i64
%61 = sext i32 %51 to i64
%62 = tail call i32 @UINT8_C(i32 255)
%63 = and i32 %62, %6
%64 = sext i32 %63 to i64
%65 = ashr i32 %6, 8
%66 = tail call i32 @UINT8_C(i32 255)
%67 = and i32 %66, %65
%68 = sext i32 %67 to i64
%69 = ashr i32 %6, 16
%70 = tail call i32 @UINT8_C(i32 255)
%71 = and i32 %70, %69
%72 = sext i32 %71 to i64
%73 = ashr i32 %6, 24
%74 = tail call i32 @UINT8_C(i32 255)
%75 = and i32 %74, %73
%76 = sext i32 %75 to i64
%77 = ashr i32 %6, 31
%78 = tail call i32 @UINT8_C(i32 255)
%79 = and i32 %78, %77
%80 = sext i32 %79 to i64
%81 = tail call i32 @UINT8_C(i32 255)
%82 = and i32 %81, %77
%83 = sext i32 %82 to i64
%84 = tail call i32 @UINT8_C(i32 255)
%85 = and i32 %84, %77
%86 = sext i32 %85 to i64
%87 = sext i32 %77 to i64
%88 = tail call i32 @UINT8_C(i32 255)
%89 = and i32 %88, %4
%90 = sext i32 %89 to i64
%91 = ashr i32 %4, 8
%92 = tail call i32 @UINT8_C(i32 255)
%93 = and i32 %92, %91
%94 = sext i32 %93 to i64
%95 = ashr i32 %4, 16
%96 = tail call i32 @UINT8_C(i32 255)
%97 = and i32 %96, %95
%98 = sext i32 %97 to i64
%99 = ashr i32 %4, 24
%100 = tail call i32 @UINT8_C(i32 255)
%101 = and i32 %100, %99
%102 = sext i32 %101 to i64
%103 = ashr i32 %4, 31
%104 = tail call i32 @UINT8_C(i32 255)
%105 = and i32 %104, %103
%106 = sext i32 %105 to i64
%107 = tail call i32 @UINT8_C(i32 255)
%108 = and i32 %107, %103
%109 = sext i32 %108 to i64
%110 = tail call i32 @UINT8_C(i32 255)
%111 = and i32 %110, %103
%112 = sext i32 %111 to i64
%113 = sext i32 %103 to i64
store i64 %12, i64* %0
%114 = getelementptr inbounds i64, i64* %0, i64 1
store i64 %16, i64* %114
%115 = getelementptr inbounds i64, i64* %0, i64 2
store i64 %20, i64* %115
%116 = getelementptr inbounds i64, i64* %0, i64 3
store i64 %24, i64* %116
%117 = getelementptr inbounds i64, i64* %0, i64 4
store i64 %28, i64* %117
%118 = getelementptr inbounds i64, i64* %0, i64 5
store i64 %31, i64* %118
%119 = getelementptr inbounds i64, i64* %0, i64 6
store i64 %34, i64* %119
%120 = getelementptr inbounds i64, i64* %0, i64 7
store i64 %35, i64* %120
%121 = getelementptr inbounds i64, i64* %0, i64 8
store i64 %38, i64* %121
%122 = getelementptr inbounds i64, i64* %0, i64 9
store i64 %42, i64* %122
%123 = getelementptr inbounds i64, i64* %0, i64 10
store i64 %46, i64* %123
%124 = getelementptr inbounds i64, i64* %0, i64 11
store i64 %50, i64* %124
%125 = getelementptr inbounds i64, i64* %0, i64 12
store i64 %54, i64* %125
%126 = getelementptr inbounds i64, i64* %0, i64 13
store i64 %57, i64* %126
%127 = getelementptr inbounds i64, i64* %0, i64 14
store i64 %60, i64* %127
%128 = getelementptr inbounds i64, i64* %0, i64 15
store i64 %61, i64* %128
%129 = getelementptr inbounds i64, i64* %0, i64 16
store i64 %64, i64* %129
%130 = getelementptr inbounds i64, i64* %0, i64 17
store i64 %68, i64* %130
%131 = getelementptr inbounds i64, i64* %0, i64 18
store i64 %72, i64* %131
%132 = getelementptr inbounds i64, i64* %0, i64 19
store i64 %76, i64* %132
%133 = getelementptr inbounds i64, i64* %0, i64 20
store i64 %80, i64* %133
%134 = getelementptr inbounds i64, i64* %0, i64 21
store i64 %83, i64* %134
%135 = getelementptr inbounds i64, i64* %0, i64 22
store i64 %86, i64* %135
%136 = getelementptr inbounds i64, i64* %0, i64 23
store i64 %87, i64* %136
%137 = getelementptr inbounds i64, i64* %0, i64 24
store i64 %90, i64* %137
%138 = getelementptr inbounds i64, i64* %0, i64 25
store i64 %94, i64* %138
%139 = getelementptr inbounds i64, i64* %0, i64 26
store i64 %98, i64* %139
%140 = getelementptr inbounds i64, i64* %0, i64 27
store i64 %102, i64* %140
%141 = getelementptr inbounds i64, i64* %0, i64 28
store i64 %106, i64* %141
%142 = getelementptr inbounds i64, i64* %0, i64 29
store i64 %109, i64* %142
%143 = getelementptr inbounds i64, i64* %0, i64 30
store i64 %112, i64* %143
%144 = getelementptr inbounds i64, i64* %0, i64 31
store i64 %113, i64* %144
ret void
}